:root{--bg:#11140F;--bg2:#1B1F18;--paper:#E9E8E2;--ink:#F2F0EA;--ink2:#B4B8AC;--acc:#A8CC74;--acc-ink:#11140F;--dark:#11140F;--d:'Fraunces',Georgia,serif;--t:'Outfit',system-ui,sans-serif;--e:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--t);line-height:1.6}img{max-width:100%;display:block}::selection{background:var(--acc);color:var(--acc-ink)}a,button{font:inherit}:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
body::after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.05;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:3px 3px;z-index:50}
.nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:14px 4vw;background:#11140Fe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{font-family:var(--d);font-weight:700;color:var(--ink);text-decoration:none;font-size:1.2rem;display:inline-flex;align-items:center;min-height:44px;padding:0 4px}.brand em{color:var(--acc);font-weight:400}.nav nav{display:flex;gap:18px;align-items:center}.nav a{color:var(--ink);text-decoration:none;font-size:.95rem}.nav a:hover{color:var(--acc)}.nav-cta{border:1px solid var(--acc);padding:8px 14px;border-radius:999px}.nav-cta span{background:var(--acc);color:var(--acc-ink);border-radius:999px;padding:0 7px;margin-left:4px;font-weight:600}
.btn{display:inline-block;background:var(--acc);color:var(--acc-ink);padding:14px 26px;border-radius:999px;font-weight:600;text-decoration:none;border:0;cursor:pointer;transition:transform .15s var(--e)}.btn:active{transform:scale(.97)}.btn.dark{background:var(--dark);color:var(--acc)}
.hero{position:relative;height:110vh;min-height:680px;overflow:hidden;background:#0c0e0a}.h-back{position:absolute;inset:-8% -4%}.h-back img{width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.9)}.h-scrim{position:absolute;inset:0;background:radial-gradient(ellipse 45% 40% at 12% 88%,#11140Fe6,#11140F00 100%),radial-gradient(ellipse at 30% 45%,#11140Fcc,#11140F33 70%),linear-gradient(transparent 70%,var(--bg))}
.h-title{position:absolute;left:4vw;top:16vh;margin:0;font-family:var(--d);line-height:.92}.t-solid{position:relative;z-index:2;display:block;font-size:clamp(4rem,13vw,14rem);font-weight:700;letter-spacing:-.04em;color:var(--ink);text-shadow:0 6px 30px #000a}.t-line{display:block;font-size:clamp(3rem,10vw,11rem);font-style:italic;font-weight:400;color:transparent;-webkit-text-stroke:2px var(--acc);position:relative;z-index:5;margin-left:16vw}
.plate-wrap{position:absolute;right:10vw;top:30vh;width:min(36vw,520px);aspect-ratio:1;z-index:4}.plate{position:absolute;inset:8%;border-radius:50%;overflow:hidden;border:10px solid #f4f2ec;box-shadow:0 30px 60px -20px #000c;z-index:2}.plate img{width:100%;height:100%;object-fit:cover;object-position:45% 50%;transform:scale(1.25)}.plate-shadow{position:absolute;left:12%;right:12%;bottom:-4%;height:14%;border-radius:50%;background:radial-gradient(#000d,transparent 70%);filter:blur(8px)}.ring{position:absolute;inset:-6% -14%;border:2px solid var(--acc);border-radius:50%;transform:rotateX(70deg)}.ring-back{z-index:1;clip-path:inset(0 0 50% 0);opacity:.55}.ring-front{z-index:3;clip-path:inset(50% 0 0 0)}
.h-sub{position:absolute;left:4vw;bottom:20vh;max-width:30ch;font-size:1.15rem;color:var(--ink);z-index:6;margin:0;text-shadow:0 2px 12px #000e}.hero .btn{position:absolute;left:4vw;bottom:11vh;z-index:6;border:2px solid #11140F;box-shadow:0 12px 28px -10px #000e}.h-plate{position:absolute;left:0;bottom:0;width:min(620px,72vw);height:44vh;z-index:5;pointer-events:none;background:linear-gradient(to top right,#11140Ff2,#11140Fb8 45%,#11140F00 78%)}.sugar{position:absolute;inset:0;z-index:7;pointer-events:none;background-image:radial-gradient(#fff9 1.2px,transparent 1.6px),radial-gradient(#fff6 2px,transparent 2.6px);background-size:140px 160px,230px 210px;background-position:10px 20px,70px 90px;opacity:.5}
.story{background:var(--paper);color:#1a1d17;padding:16vh 0 0}.wrap{width:min(1180px,92vw);margin:0 auto}.big{font-family:var(--d);font-size:clamp(2rem,4.6vw,4.4rem);line-height:1.08;letter-spacing:-.02em;margin:0 0 28px;max-width:20ch;font-weight:700}.big i{font-weight:400;color:#4d6d27}.story p{max-width:56ch;font-size:1.15rem;color:#3c4136;margin:0 0 12vh}
.band{overflow:hidden;background:var(--dark);color:var(--acc);padding:18px 0;font-family:var(--d);font-style:italic;font-size:clamp(1.4rem,3vw,2.4rem);white-space:nowrap}.band-in{display:inline-flex;animation:mq 30s linear infinite}.band-in span{padding-right:.4em}@keyframes mq{to{transform:translateX(-50%)}}
.lab{display:grid;grid-template-columns:1.5fr 1fr;gap:5vw;align-items:center;padding:14vh 4vw;background:var(--bg2)}.lab-fig{margin:0;overflow:hidden;border-radius:6px;clip-path:inset(0 100% 0 0);transition:clip-path 1.2s var(--e)}.lab-fig.in{clip-path:inset(0 0 0 0)}.lab-fig img{width:100%;height:auto;transform:scale(1.12)}.lab h2{font-family:var(--d);font-size:clamp(2rem,3.6vw,3.4rem);line-height:1.1;margin:0 0 20px;font-weight:400;font-style:italic;color:var(--acc)}.lab p{color:var(--ink2);font-size:1.1rem}
.counter{background:var(--bg);padding:12vh 0 4vh}.counter h2{font-family:var(--t);font-weight:600;font-size:clamp(1.8rem,3vw,2.8rem);margin:0 0 20px;letter-spacing:-.01em}.seg{display:flex;gap:10px;margin-bottom:24px}.chip{min-height:44px;padding:10px 22px;border-radius:999px;border:1px solid var(--ink2);background:transparent;color:var(--ink);cursor:pointer;transition:background .15s,color .15s,transform .12s}.chip:active{transform:scale(.97)}.chip.tap{animation:tap .35s var(--e)}@keyframes tap{40%{transform:scale(.93)}}.chip[aria-pressed=true]{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}.stage-t{position:relative;aspect-ratio:16/8;overflow:hidden;border-radius:6px;width:min(100%,1100px)}.tm{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--e),transform 1.4s var(--e);transform:scale(1.08)}.tm.on{clip-path:inset(0);transform:scale(1)}.t-cap{position:absolute;left:0;bottom:0;margin:0;padding:40px 24px 20px;width:100%;background:linear-gradient(#11140F00,#11140Ff2 70%);font-family:var(--d);font-size:clamp(1.1rem,2vw,1.6rem);text-shadow:0 2px 10px #000c}
.tray-sec{height:200vh;background:radial-gradient(ellipse at 70% 50%,#26301d,var(--bg) 65%)}.tray-pin{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:4vw;padding:80px 4vw 30px}.tray-copy h2{font-family:var(--d);font-size:clamp(2.4rem,5vw,5rem);line-height:1.05;margin:0 0 16px;font-weight:700}.accent{color:var(--acc);font-style:italic;font-weight:400}.tray-copy p{color:var(--ink2);max-width:40ch}.picks{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.pick{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 18px 6px 6px;border-radius:999px;border:1px solid #ffffff40;background:#ffffff0d;color:var(--ink);cursor:pointer;transition:transform .12s,border-color .15s}.pick img{width:40px;height:40px;border-radius:50%;object-fit:cover}.pick:hover{border-color:var(--acc)}.pick:active{transform:scale(.96)}.pick.flash{border-color:var(--acc);background:#a8cc7426}.tally{font-family:var(--d);font-size:1.3rem;color:var(--ink);margin:0}.link{background:none;border:0;color:var(--acc);text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:12px 0;min-height:44px}
.tray-stage{position:relative;aspect-ratio:1.25;width:100%;max-width:640px;justify-self:center}.tray{position:absolute;inset:10% 6%;border-radius:50%;background:radial-gradient(#f6f4ee,#d9d6cc);box-shadow:inset 0 -14px 30px #0002,0 6px 0 #c9c5b8;z-index:2;transform:rotateX(55deg) rotate(var(--rot,0deg));transform-style:preserve-3d}.tray-shadow{position:absolute;left:10%;right:10%;bottom:12%;height:22%;border-radius:50%;background:radial-gradient(#000c,transparent 70%);filter:blur(12px);z-index:1}.tray-ring{position:absolute;inset:2% -2%;border:2px dashed var(--acc);border-radius:50%;transform:rotateX(55deg)}.tray-ring.back{clip-path:inset(0 0 50% 0);opacity:.5;z-index:1}.tray-ring.front{clip-path:inset(50% 0 0 0);z-index:3}
.piece{position:absolute;width:24%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:4px solid #fff;box-shadow:0 10px 14px -6px #0009;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(calc(var(--rot,0deg)*-1)) rotateX(-55deg) scale(1);animation:drop .6s var(--e)}.piece img{width:100%;height:100%;object-fit:cover;transform:scale(1.4)}@keyframes drop{from{opacity:0;transform:translate(-50%,-150%) rotate(calc(var(--rot,0deg)*-1)) rotateX(-55deg) scale(.95)}}
.wrapup{background:var(--acc);color:var(--acc-ink);padding:10vh 0 6vh;overflow:hidden}.two{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}.close-t{font-family:var(--d);font-size:clamp(2.6rem,5.4vw,5.4rem);line-height:1.02;margin:0 0 18px;font-weight:700;letter-spacing:-.02em}#summary{font-size:1.15rem;margin:0 0 22px}form{display:grid;gap:14px;max-width:440px}label{display:grid;gap:6px;font-weight:600;font-size:.95rem}input{min-height:46px;padding:10px 14px;border-radius:8px;border:1px solid #11140F66;background:#f4f7ee;font:inherit;color:var(--acc-ink)}.msg{margin:0;font-weight:600}
.parcel{position:relative;aspect-ratio:1;max-width:460px;width:100%;justify-self:center}.p-tray{position:absolute;inset:12%;border-radius:12px;background:#f6f4ee;display:flex;flex-wrap:wrap;gap:6px;padding:10px;align-content:center;justify-content:center;box-shadow:0 30px 40px -20px #11140F99}.p-tray img{width:44%;aspect-ratio:1;object-fit:cover;border-radius:50%;border:3px solid #fff;box-shadow:0 8px 12px -6px #11140F80}.paper{position:absolute;top:14%;bottom:14%;width:38%;background:repeating-linear-gradient(45deg,#fbfaf6 0 10px,#efece4 10px 20px);box-shadow:0 10px 20px #0003;transition:transform 1s var(--e);z-index:2}.paper.l{left:12%;transform:translateX(-120%) rotate(-8deg);opacity:0}.paper.r{right:12%;transform:translateX(120%) rotate(8deg);opacity:0}.ribbon{position:absolute;background:#7a2b3a;z-index:3;transition:transform .7s var(--e) .7s}.ribbon.v{left:48%;width:4%;top:10%;bottom:10%;transform:scaleY(0)}.ribbon.h{top:48%;height:4%;left:10%;right:10%;transform:scaleX(0)}.bow{position:absolute;left:50%;top:50%;width:18%;aspect-ratio:2;transform:translate(-50%,-50%) scale(0);z-index:4;background:radial-gradient(circle at 25% 50%,#7a2b3a 30%,transparent 32%),radial-gradient(circle at 75% 50%,#7a2b3a 30%,transparent 32%);transition:transform .5s var(--e) 1.3s}.parcel.wrapped .paper{opacity:1;transform:none}.parcel.wrapped .ribbon{transform:none}.parcel.wrapped .bow{transform:translate(-50%,-50%) scale(1)}
.foot{background:var(--bg);color:var(--ink2);padding:40px 4vw;font-size:.9rem}.foot p{margin:4px 0}
.rv{opacity:0;transform:translateY(14px);transition:opacity .62s var(--e),transform .62s var(--e)}.rv.in{opacity:1;transform:none}
@media (max-width:860px){.nav nav a:not(.nav-cta){display:none}.hero{height:100vh;min-height:640px}.h-title{top:13vh}.t-solid{font-size:17vw}.t-line{font-size:14vw;margin-left:6vw}.plate-wrap{width:62vw;right:-4vw;top:40vh}.h-sub{bottom:17vh;max-width:24ch;font-size:1rem}.hero .btn{bottom:8vh}.lab,.two,.tray-pin{grid-template-columns:1fr}.lab{padding:10vh 5vw}.tray-sec{height:auto}.tray-pin{position:relative;height:auto;padding:12vh 5vw}.tray-stage{max-width:420px}.stage-t{aspect-ratio:4/5}.story{padding-top:10vh}.wrapup{padding:8vh 0 5vh}.two{gap:4vh}.parcel{max-width:260px}.h-plate{width:100%;height:40vh}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.lab-fig{clip-path:none}.tray-sec{height:auto}.tray-pin{position:relative;height:auto;min-height:100vh}}