:root{--ink:#201b1d;--ink-2:#332b2d;--cream:#f8f4ee;--paper:#fffdf9;--sand:#e8ded2;--rose:#cf8d9d;--rose-dark:#a76577;--muted:#746b6b;--line:rgba(32,27,29,.14);--shadow:0 24px 70px rgba(25,18,20,.13)}
[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--rose-dark);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em}.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.container{width:min(100% - 40px,1160px);margin-inline:auto}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:14px 22px;border:1px solid transparent;border-radius:5px;background:var(--rose);color:var(--ink);font-size:.85rem;font-weight:800;letter-spacing:.04em;text-align:center;transition:transform .2s ease,background .2s ease,border-color .2s ease}.button:hover{transform:translateY(-2px);background:#dda6b4}.button--outline{background:transparent;border-color:currentColor;color:inherit}.button--outline:hover{background:rgba(255,255,255,.08)}.button--dark{background:var(--ink);color:white}.button--dark:hover{background:var(--ink-2)}.button.is-pending{cursor:not-allowed;opacity:.55;transform:none}.button-arrow{font-size:1.15rem;font-weight:400}.photo-slot{display:flex;align-items:center;justify-content:center;min-height:270px;border:1px dashed rgba(32,27,29,.25);background:linear-gradient(145deg,#e9dfd8,#d3c2bc);color:#6e5f60;text-align:center;background-size:cover;background-position:center}.photo-slot span{display:inline-block;padding:10px 16px;background:rgba(255,253,249,.75);border-radius:2px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.photo-slot.is-loaded span{display:none}.site-footer{padding:30px 0;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}.site-footer .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.site-footer a{text-decoration:underline;text-underline-offset:3px}@media(max-width:680px){.container{width:min(100% - 32px,1160px)}.button{width:100%}}
