:root{color-scheme:dark;--bg:#160e1d;--panel:#2b2034;--text:#f8f2fa;--muted:#c9b9ce;--mint:#9af4d5;--lav:#dfbaff;--coral:#ffb0b8;--line:#d9b8e338;--radius:22px;font-family:"DM Sans",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:radial-gradient(ellipse at 82% 10%,#482447 0%,transparent 45%),radial-gradient(ellipse at 12% 65%,#261633 0%,transparent 45%),var(--bg);min-height:100vh;line-height:1.55}a{color:var(--mint);text-underline-offset:.22em}a:hover{color:white}button,input,select,textarea{font:inherit}img{max-width:100%;height:auto}.shell{width:min(1120px,calc(100% - 48px));margin-inline:auto}.top{background:#1b1222d6;backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.bar,.pagehead,.actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.bar{min-height:74px}.brand{font-size:1.45rem;font-weight:850;letter-spacing:-.06em;color:var(--text);text-decoration:none}.navlinks,.footer nav{display:flex;align-items:center;gap:clamp(12px,2.5vw,32px);flex-wrap:wrap}.navlinks a{font-weight:650;text-decoration:none}.navlinks a:not(.button){color:var(--text)}main{min-height:64vh;padding-block:38px 62px}.footer{border-top:1px solid var(--line);padding:30px 0 40px;display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;color:var(--muted);font-size:.89rem}.footer nav{align-content:start;justify-content:flex-end;max-width:630px;gap:12px 18px}.footer p{margin-bottom:0}.footer a:not(.brand){color:var(--muted)}
h1,h2,h3,p{margin:0 0 .75em}h1{font-size:clamp(2.1rem,5vw,4.15rem);letter-spacing:-.065em;line-height:1.01;margin-bottom:.25em;overflow-wrap:anywhere}h2{font-size:clamp(1.22rem,2vw,1.55rem);line-height:1.15;letter-spacing:-.03em}h3{font-size:1.07rem}.hero h1{font-size:clamp(3rem,6.3vw,6.3rem);line-height:.95;margin:.15em 0 .26em}.hero h1 em{color:var(--mint);font-style:normal}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--lav);font-size:.76rem;font-weight:800}.lede{font-size:clamp(1.05rem,2vw,1.3rem);color:var(--muted);max-width:42ch}.muted,small,.panel>p{color:var(--muted)}.hero{display:grid;grid-template-columns:1.13fr 1fr;align-items:center;gap:18px;min-height:470px;padding:0 0 20px}.gift{width:100%;mask-image:radial-gradient(ellipse at center,#000 50%,transparent 73%)}.hero .gift{filter:drop-shadow(0 20px 55px #ad62b831)}.gift.mini{max-width:245px;display:block;margin:auto}.hero .actions,.panel .actions{justify-content:flex-start}.actions{margin-block:12px}.grid{display:grid;gap:18px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#55415b61,#211829b3);box-shadow:0 20px 45px #09060e4a,inset 0 1px #ffffff0d;backdrop-filter:blur(14px);padding:clamp(18px,3vw,30px);min-width:0}.pagehead{margin-bottom:26px}.pagehead h1{margin-top:.13em}.section-title,.metrics{margin-block:26px 16px}.metrics strong{font-size:1.7rem;color:var(--mint)}.tile{color:var(--text);text-decoration:none;transition:transform .2s,border-color .2s}.tile:hover{transform:translateY(-3px);border-color:var(--mint)}.tile h2{margin-top:.8em}.tile p{margin-bottom:0}.pill{display:inline-block;border:1px solid #9af4d545;border-radius:999px;padding:.35em .8em;font-size:.84rem;background:#12352b6b;color:var(--mint);font-weight:700}.narrow,.prose{max-width:750px;margin:12px auto}.narrow{max-width:550px}.prose section{margin-block:24px;border-top:1px solid var(--line);padding-top:18px}.prose h1{margin-top:16px}.reveal{text-align:center}.reveal form{margin-inline:auto}.reveal-box .gift{max-width:315px;margin:auto;display:block}.reveal-box[open] .gift{animation:open .55s ease-out}.reveal-box h2{font-size:2rem;color:var(--mint)}@keyframes open{from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:none}}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;border:1px solid #fff2;background:linear-gradient(155deg,#b0ffe4,#86e5c5);color:#10281f;font-weight:800;min-height:44px;padding:.67em 1.13em;text-decoration:none;cursor:pointer;transition:filter .2s,transform .2s}button:hover,.button:hover{filter:brightness(1.1);color:#10281f;transform:translateY(-1px)}.secondary,button.secondary,.button.secondary{background:#ffffff0e;color:var(--text);border-color:var(--line)}.danger{background:var(--coral);color:#321722}.small{font-size:.85rem;min-height:40px}button:disabled{opacity:.55;cursor:not-allowed;transform:none}form:not(.wizard){display:grid;gap:13px;justify-items:start;margin-block:14px}label{display:grid;gap:6px;font-weight:650;width:100%}label.check{display:flex;align-items:center;gap:10px}input:not([type=checkbox]),select,textarea{color:var(--text);background:#160f20b8;border:1px solid var(--line);border-radius:10px;width:100%;padding:10px 12px;min-width:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#b4a2b9}input[type=checkbox]{accent-color:#82dfc0;width:18px;height:18px}.steps-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.steps-nav button{border-radius:999px;background:#24182e;color:var(--text);border-color:var(--line)}.steps-nav [aria-current=step]{background:var(--lav);color:#271334}.wizard .panel{margin-block:15px}.notice{border:1px solid #9af4d55e;background:#163d33;color:#f1fff9;border-radius:12px;padding:12px 16px;margin-bottom:20px}.notice.error{border-color:#ffb0b875;background:#4b2035;color:#ffe6ed}.notice ul{margin:0;padding-left:1.2em}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th,td{border-bottom:1px solid var(--line);padding:12px;vertical-align:top;overflow-wrap:anywhere}th{font-size:.85rem;color:var(--lav)}summary{cursor:pointer;color:var(--mint);font-weight:750;padding-block:6px}.invite-controls{min-width:min(260px,55vw);padding-block:6px}.invite-controls input{font-size:.85rem}.skip{position:absolute;left:1rem;top:1rem;transform:translateY(-200%);background:var(--bg);padding:10px;z-index:5}.skip:focus{transform:none}:focus-visible{outline:3px solid var(--mint);outline-offset:4px}[hidden]{display:none!important}
@media(max-width:750px){.shell{width:calc(100% - 32px)}main{padding-top:24px}.hero,.three,.two{grid-template-columns:1fr}.hero{gap:0;min-height:0}.hero .gift{max-width:410px;margin:auto}.hero h1{max-width:10ch}.steps{gap:12px}.navlinks{gap:12px;font-size:.89rem}.bar{min-height:62px}.footer nav{justify-content:flex-start}.pagehead{gap:8px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}th,td{padding:8px 6px}.steps-nav{gap:5px}.steps-nav button{font-size:.84rem;padding:.4em .72em}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.brand img {
    flex: none;
}

.brand-name {
    line-height: 1;
}

@media (max-width: 750px) {
    .top .brand img {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 380px) {
    .top .navlinks {
        flex: 1 1 100%;
        padding-bottom: 8px;
    }

    .top .bar {
        gap: 6px;
        padding-top: 8px;
    }
}

.hero-art {
    position: relative;
    isolation: isolate;
    display: grid;
    justify-items: center;
    align-items: center;
    min-width: 0;
    width: min(100%, 540px);
    aspect-ratio: 1.02;
    margin-inline: auto;
}

.hero-polaroids {
    position: absolute;
    inset: 4% 2% -4%;
    filter: blur(1.6px) brightness(.55) saturate(.78);
    z-index: -1;
}

.hero-polaroid {
    position: absolute;
    top: var(--top);
    left: var(--left);
    width: 30%;
    padding: 1.5% 1.5% 5%;
    border-radius: 2px;
    background: #f2e6dd;
    box-shadow: 0 8px 20px #1008118c;
    transform: rotate(var(--angle));
}

.hero-polaroid img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

.hero-polaroid:nth-child(1) { --left: 2%; --top: 9%; --angle: -12deg; }
.hero-polaroid:nth-child(2) { --left: 34%; --top: 2%; --angle: 7deg; }
.hero-polaroid:nth-child(3) { --left: 66%; --top: 10%; --angle: -6deg; }
.hero-polaroid:nth-child(4) { --left: 5%; --top: 44%; --angle: 8deg; }
.hero-polaroid:nth-child(5) { --left: 36%; --top: 39%; --angle: -9deg; }
.hero-polaroid:nth-child(6) { --left: 66%; --top: 46%; --angle: 12deg; }

.hero-art::before {
    content: "";
    position: absolute;
    inset: 60% 0 0;
    background: radial-gradient(ellipse at center, #6d3668a6, transparent 66%);
    z-index: -1;
}

.hero-art::after {
    content: "";
    position: absolute;
    bottom: 8%;
    width: 52%;
    height: 18%;
    background: radial-gradient(ellipse, #08040d9e, transparent 71%);
    z-index: -1;
}

.hero-floating-gift {
    display: block;
    width: 80%;
    filter: drop-shadow(0 20px 13px #1206198a);
    animation: gift-float 4.5s ease-in-out infinite;
}

@keyframes gift-float {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(clamp(-14px, -2vw, -8px));
    }
}

@media (max-width: 750px) {
    .hero-art {
        margin-top: 22px;
    }
}
