.display-page{min-height:100svh;color:var(--color-foam);background:#062f36;grid-template-rows:auto 1fr auto;display:grid;position:relative;overflow:hidden}.display-backdrop{background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--color-primary) 35%, transparent), transparent 35%), radial-gradient(circle at 80% 10%, color-mix(in srgb, var(--color-secondary) 22%, transparent), transparent 28%), linear-gradient(180deg, #0a3d46, #06262c 60%, #0b3430);position:absolute;inset:0}.display-top,.display-stage,.display-controls{z-index:1;position:relative}.display-top{justify-content:space-between;align-items:baseline;gap:1rem;padding:1.25rem 1.5rem .5rem;display:flex}.display-brand{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:650}.display-game{color:color-mix(in srgb, var(--color-foam) 75%, var(--color-sand));letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;font-weight:600}.display-stage{place-items:center;padding:1rem 1.25rem 1.25rem;display:grid}.display-status{text-align:center;max-width:28rem;color:color-mix(in srgb, var(--color-foam) 82%, var(--color-sand));font-size:1.25rem;line-height:1.5}.display-status.error{color:#ffc7b8}.display-figure{justify-items:center;gap:1rem;width:min(100%,56rem);margin:0;animation:.45s fadeIn;display:grid}.display-figure img{object-fit:contain;background:#00000040;border-radius:1rem;width:min(100%,56rem);max-height:min(68svh,42rem);box-shadow:0 24px 60px #0006}.display-figure figcaption{min-height:2.5rem;font-family:var(--font-display);letter-spacing:-.02em;color:color-mix(in srgb, var(--color-foam) 78%, var(--color-sand));font-size:clamp(1.6rem,4vw,2.6rem);font-weight:600}.display-figure figcaption.revealed{color:#ffe1c8}.display-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;padding:.75rem 1.25rem 1.5rem;display:flex}.display-controls button{appearance:none;border:1px solid color-mix(in srgb, var(--color-foam) 28%, transparent);background:color-mix(in srgb, var(--color-foam) 10%, transparent);min-height:2.75rem;color:var(--color-foam);cursor:pointer;border-radius:999px;padding:.7rem 1.15rem;font-weight:600}.display-controls button:disabled{opacity:.4;cursor:not-allowed}.display-controls .reveal-btn{background:var(--color-secondary);border-color:#0000}.display-count{width:100%;color:color-mix(in srgb, var(--color-foam) 68%, var(--color-sand));justify-items:center;gap:.2rem;margin:.35rem 0 0;font-size:.92rem;display:grid}.display-count span{letter-spacing:.04em;font-size:.8rem}.book-gift{background:radial-gradient(circle at 12% 70%, color-mix(in srgb, var(--color-tertiary) 10%, transparent), transparent 30%), linear-gradient(180deg, transparent, color-mix(in srgb, var(--color-sand-deep) 35%, transparent))}.food{background:radial-gradient(circle at 88% 30%, color-mix(in srgb, var(--color-secondary) 12%, transparent), transparent 32%), linear-gradient(180deg, color-mix(in srgb, var(--color-primary-soft) 45%, transparent), transparent)}.guess-who{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--color-primary-soft) 45%, transparent) 40%, transparent)}.guess-who-grid{gap:2rem;display:grid}.guess-form{gap:1.1rem;max-width:32rem;padding:0;display:grid}.guess-form label{color:var(--color-primary-deep);gap:.55rem;font-weight:600;display:grid}.guess-form input[type=text]{border:1px solid color-mix(in srgb, var(--color-primary) 28%, transparent);background:color-mix(in srgb, var(--color-foam) 92%, white);width:100%;min-height:3rem;color:var(--color-ink);border-radius:.9rem;padding:.8rem 1rem}.guess-form input[type=text]:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary) 45%, white);outline-offset:2px}.photo-label input[type=file]{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.photo-drop{border:1.5px dashed color-mix(in srgb, var(--color-primary) 45%, transparent);border-radius:var(--radius);background:linear-gradient(180deg, color-mix(in srgb, var(--color-foam) 88%, white), color-mix(in srgb, var(--color-sand) 70%, white));min-height:12rem;color:color-mix(in srgb, var(--color-ink) 70%, white);text-align:center;cursor:pointer;place-items:center;padding:1rem;font-weight:500;display:grid;overflow:hidden}.photo-drop img{object-fit:cover;border-radius:calc(var(--radius) - .35rem);width:100%;height:12rem}.form-message{margin:0;line-height:1.5}.form-message.success{color:var(--color-tertiary-deep)}.form-message.error{color:var(--color-secondary-deep)}@media (width>=860px){.guess-who-grid{grid-template-columns:1fr 1fr;align-items:start;gap:3rem}}.hero{min-height:100svh;color:var(--color-foam);align-items:end;display:grid;position:relative;overflow:clip}.hero-media{position:absolute;inset:0}.hero-media img{object-fit:cover;object-position:center center;width:100%;height:100%}.hero-veil{background:linear-gradient(180deg, color-mix(in srgb, var(--color-primary-deep) 18%, transparent) 0%, transparent 34%), linear-gradient(0deg, color-mix(in srgb, var(--color-primary-deep) 78%, black) 8%, transparent 62%), radial-gradient(circle at 70% 20%, color-mix(in srgb, var(--color-secondary) 18%, transparent), transparent 30%);position:absolute;inset:0}.leaf{background:linear-gradient(145deg, color-mix(in srgb, var(--color-tertiary) 80%, white), var(--color-tertiary-deep));opacity:.42;filter:blur(.4px);border-radius:70% 0 65% 10%;width:7rem;height:7rem;animation:9s ease-in-out infinite sway;position:absolute}.leaf-a{bottom:18%;left:-1.5rem}.leaf-b{opacity:.28;width:5rem;height:5rem;animation-duration:11s;top:14%;right:6%}.leaf-c{opacity:.2;width:9rem;height:9rem;animation-duration:13s;bottom:28%;right:-1rem}.hero-content{z-index:1;width:min(100%, var(--content));margin:0 auto;padding:clamp(5rem,14vw,8rem) 1.25rem 4rem;position:relative}.hero-brand{font-family:var(--font-display);letter-spacing:-.04em;text-wrap:balance;text-shadow:0 18px 40px #00000059;font-size:clamp(2.8rem,9vw,6.2rem);font-weight:650;line-height:.92}.hero-title{max-width:16ch;font-family:var(--font-body);color:color-mix(in srgb, var(--color-foam) 92%, var(--color-sand));margin-top:1rem;font-size:clamp(1.15rem,2.6vw,1.55rem);font-weight:500;line-height:1.35}.hero-welcome{max-width:34rem;color:color-mix(in srgb, var(--color-foam) 84%, var(--color-sand));margin-top:1rem;font-size:1.05rem;line-height:1.65}@media (width>=900px){.hero{align-items:center}.hero-content{padding-top:0;padding-bottom:0}}.hosts{padding-bottom:clamp(4rem,9vw,6.5rem)}.host-list{gap:1.5rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.host-list h3{font-family:var(--font-display);color:var(--color-primary-deep);font-size:clamp(1.5rem,3vw,2rem)}.host-list p{color:color-mix(in srgb, var(--color-ink) 70%, white);margin-top:.25rem}@media (width>=760px){.host-list{grid-template-columns:repeat(3,1fr);gap:2rem}}.raffle{background:radial-gradient(circle at 10% 20%, color-mix(in srgb, var(--color-tertiary) 12%, transparent), transparent 28%), linear-gradient(180deg, color-mix(in srgb, var(--color-sand-deep) 40%, transparent), transparent)}.raffle-rule{border-left:4px solid var(--color-secondary);background:color-mix(in srgb, var(--color-foam) 80%, white);color:var(--color-primary-deep);font-family:var(--font-display);margin-top:1.75rem;padding:.85rem 1.2rem;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:600;display:inline-block}.prize-list{gap:1.25rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.prize h3{font-family:var(--font-display);color:var(--color-tertiary-deep);margin-bottom:.35rem;font-size:1.45rem}.prize p{max-width:36rem;color:color-mix(in srgb, var(--color-ink) 75%, white);line-height:1.55}.prize.featured h3{color:var(--color-secondary-deep)}@media (width>=760px){.prize-list{grid-template-columns:1.2fr .8fr;gap:2rem}}.registry{background:radial-gradient(circle at 80% 20%, color-mix(in srgb, var(--color-primary) 12%, transparent), transparent 30%), linear-gradient(180deg, color-mix(in srgb, var(--color-foam) 50%, transparent), transparent)}.registry-links .btn[aria-disabled=true]{cursor:default;opacity:.85}.registry-links .btn[aria-disabled=true]:hover{background:color-mix(in srgb, var(--color-foam) 88%, white);transform:none}.site-footer{border-top:1px solid color-mix(in srgb, var(--color-primary) 16%, transparent);background:color-mix(in srgb, var(--color-primary-deep) 92%, black);color:color-mix(in srgb, var(--color-foam) 88%, var(--color-sand));padding:2rem 1.25rem 2.75rem}.footer-inner{gap:.45rem;display:grid}.footer-inner p{line-height:1.5}.footer-note{color:color-mix(in srgb, var(--color-foam) 70%, var(--color-sand));font-size:.95rem}.theme-reason{background:radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--color-secondary) 14%, transparent), transparent 55%), linear-gradient(165deg, color-mix(in srgb, var(--color-foam) 70%, var(--color-sand)) 0%, color-mix(in srgb, var(--color-primary-soft) 55%, var(--color-sand)) 100%)}.theme-reason-inner{text-align:center;max-width:42rem}.theme-reason .section-title{color:var(--color-tertiary-deep)}.theme-placeholder{border:0;border-top:1px solid color-mix(in srgb, var(--color-secondary) 35%, transparent);border-bottom:1px solid color-mix(in srgb, var(--color-secondary) 35%, transparent);background:0 0;margin:1.75rem auto 0;padding:1.5rem 1.35rem}.theme-placeholder p{font-family:var(--font-display);letter-spacing:-.01em;color:color-mix(in srgb, var(--color-primary-deep) 88%, var(--color-secondary));text-wrap:pretty;font-size:clamp(1.25rem,3.2vw,1.75rem);font-style:italic;font-weight:500;line-height:1.55}.when-where{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--color-primary-soft) 55%, transparent)), url(/images/bird.jpg) right 8% / min(34vw, 22rem) no-repeat}.when-where-grid{gap:2rem;display:grid}.when-where-details{gap:1rem;display:grid}.detail-block{border:1.5px solid color-mix(in srgb, var(--color-primary) 28%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--color-foam) 78%, white);max-width:34rem;color:inherit;padding:1.15rem 1.25rem 1.05rem;text-decoration:none;transition:border-color .18s,background-color .18s,transform .18s,box-shadow .18s;display:block}.detail-block:hover{border-color:color-mix(in srgb, var(--color-secondary) 55%, transparent);background:var(--color-foam);box-shadow:0 10px 24px var(--shadow);transform:translateY(-1px)}.detail-block:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary) 55%, white);outline-offset:3px}.detail-block h3{color:var(--color-tertiary-deep);font-family:var(--font-display);margin-bottom:.45rem;font-size:1.35rem;font-weight:600}.detail-block p{color:color-mix(in srgb, var(--color-ink) 80%, white);line-height:1.6}.detail-block strong{color:var(--color-primary-deep)}.detail-hint{color:var(--color-primary);letter-spacing:.06em;text-transform:uppercase;margin-top:.85rem;font-size:.85rem;font-weight:600;display:inline-block}@media (width>=860px){.when-where-grid{grid-template-columns:1.1fr .9fr;align-items:end;gap:3rem}}@media (width<=720px){.when-where{background-image:none}}:root{--color-primary:#1a7a84;--color-primary-deep:#0b4f5c;--color-primary-soft:#d5eef0;--color-secondary:#dc4a3c;--color-secondary-deep:#ba3830;--color-tertiary:#1f8f3a;--color-tertiary-deep:#156b2a;--color-sand:#f3ebe0;--color-sand-deep:#e4d5c1;--color-ink:#1c2a2e;--color-foam:#fffaf4;--shadow:color-mix(in srgb, var(--color-primary-deep) 18%, transparent);--font-display:"Fraunces", "Palatino Linotype", Palatino, serif;--font-body:"Outfit", "Avenir Next", "Segoe UI", sans-serif;--radius:1.25rem;--content:70rem;color:var(--color-ink);background:var(--color-sand);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--color-primary) 16%, transparent), transparent 28%), radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--color-secondary) 14%, transparent), transparent 24%), linear-gradient(180deg, #eaf6f4 0%, var(--color-sand) 38%, #efe4d4 100%);min-width:320px;color:var(--color-ink);margin:0}img{max-width:100%;display:block}a{color:inherit}button,input,label{font:inherit}h1,h2,h3,p{margin:0}#root{min-height:100vh}.skip-link{z-index:20;background:var(--color-foam);color:var(--color-primary-deep);border-radius:999px;padding:.65rem 1rem;text-decoration:none;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}.section{padding:clamp(3.5rem,8vw,6rem) 1.25rem;position:relative}.section-inner{width:min(100%, var(--content));margin:0 auto}.section-kicker{color:var(--color-primary);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.85rem;font-size:.85rem;font-weight:600;display:inline-block}.section-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-primary-deep);font-size:clamp(2rem,5vw,3.4rem);font-weight:560;line-height:1.05}.section-copy{max-width:38rem;color:color-mix(in srgb, var(--color-ink) 78%, white);margin-top:1rem;font-size:1.08rem;line-height:1.65}.btn{appearance:none;background:var(--color-secondary);min-height:3rem;color:var(--color-foam);letter-spacing:.01em;cursor:pointer;box-shadow:0 12px 28px var(--shadow);border:0;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.8rem 1.35rem;font-weight:600;text-decoration:none;transition:transform .18s,background-color .18s,box-shadow .18s;display:inline-flex}.btn:hover{background:var(--color-secondary-deep);transform:translateY(-1px)}.btn:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary) 55%, white);outline-offset:3px}.btn-secondary{background:color-mix(in srgb, var(--color-foam) 88%, white);color:var(--color-primary-deep);box-shadow:none;border:1px solid color-mix(in srgb, var(--color-primary) 24%, transparent)}.btn-secondary:hover{background:var(--color-foam)}.btn-row{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.reveal{opacity:0;animation:.8s cubic-bezier(.22,1,.36,1) forwards rise;transform:translateY(1.25rem)}.reveal-delay-1{animation-delay:.12s}.reveal-delay-2{animation-delay:.24s}.reveal-delay-3{animation-delay:.36s}@keyframes rise{to{opacity:1;transform:translateY(0)}}@keyframes drift{0%,to{transform:translate(0,0)rotate(-2deg)}50%{transform:translateY(10px)rotate(2deg)}}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-delay-1,.reveal-delay-2,.reveal-delay-3{opacity:1;animation:none;transform:none}.btn:hover,.leaf,.hero-parallax{animation:none!important;transform:none!important}}
