@font-face { font-family:Newsreader; src:url('/assets/Newsreader[opsz,wght].ttf') format('truetype'); font-style:normal; font-weight:400 700; font-display:swap; }
@font-face { font-family:Newsreader; src:url('/assets/Newsreader-Italic[opsz,wght].ttf') format('truetype'); font-style:italic; font-weight:400 700; font-display:swap; }

:root { --cream:#f4ebdd; --paper:#fdf9ef; --ink:#2a2118; --cookie:#d9a05b; --toast:#b97f3e; --red:#b8291f; --line:#d7c7b3; --shadow:rgba(77,48,22,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--cream); }
body { margin:0; color:var(--ink); background:var(--cream); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:inherit; }
.shell { width:min(1120px, calc(100% - 40px)); margin-inline:auto; }
.nav { display:flex; justify-content:space-between; align-items:center; padding:24px 0; }
.wordmark { text-decoration:none; font-family:Newsreader,serif; font-size:1.25rem; font-weight:600; letter-spacing:-.04em; }
.wordmark span { color:var(--red); }
.nav a:last-child { font-size:.92rem; font-weight:600; text-decoration:none; border-bottom:1px solid var(--ink); }
.hero { min-height:680px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(32px,7vw,104px); padding:clamp(46px,9vw,120px) 0 104px; }
.eyebrow { margin:0 0 18px; color:var(--red); font-size:.74rem; letter-spacing:.16em; font-weight:700; text-transform:uppercase; }
h1,h2 { margin:0; font-family:Newsreader,serif; font-weight:500; letter-spacing:-.05em; line-height:.94; }
h1 { max-width:620px; font-size:clamp(3.7rem,8vw,7.5rem); }
h2 { font-size:clamp(2.7rem,5vw,4.7rem); }
.lede { max-width:470px; margin:26px 0 0; font-size:clamp(1.1rem,1.6vw,1.32rem); line-height:1.5; }
.actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:32px; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:52px; padding:0 23px; border:1px solid var(--ink); border-radius:999px; background:var(--ink); color:var(--paper); text-decoration:none; font-weight:700; box-shadow:0 5px 0 #6f5540; transition:transform .18s ease, box-shadow .18s ease; }
.button:hover,.button:focus-visible { transform:translateY(-2px); box-shadow:0 7px 0 #6f5540; }
.text-link { font-weight:600; text-underline-offset:5px; }
.cookie-stage { position:relative; display:grid; place-items:center; min-height:430px; }
.cookie-stage:before { content:''; position:absolute; width:76%; aspect-ratio:1; border:1px dashed rgba(42,33,24,.18); border-radius:50%; transform:rotate(-12deg); }
.cookie-stage img { position:relative; width:min(100%,440px); filter:drop-shadow(0 32px 26px var(--shadow)); transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.cookie-stage:hover img { transform:rotate(-4deg) translateY(-10px); }
.pull-note { position:absolute; bottom:4%; font-size:.82rem; font-style:italic; transform:rotate(-3deg); }
.story { padding:110px 0; border-top:1px solid var(--line); }
.story-head { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:end; margin-bottom:56px; }
.story-head p { max-width:360px; margin:0; line-height:1.55; }
.steps { counter-reset:steps; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.step { min-height:260px; padding:28px 0 0; border-top:1px solid var(--ink); }
.step:before { counter-increment:steps; content:'0' counter(steps); display:block; color:var(--red); font-size:.75rem; font-weight:700; letter-spacing:.12em; }
.step h3 { margin:42px 0 8px; font:500 clamp(1.55rem,2.5vw,2.15rem)/1 Newsreader,serif; letter-spacing:-.04em; }
.step p { max-width:280px; margin:0; line-height:1.5; }
.trust { display:grid; place-items:center; min-height:400px; padding:80px 24px; background:var(--ink); color:var(--paper); text-align:center; }
.trust p { max-width:730px; margin:0; font:500 clamp(2.1rem,4.5vw,4.4rem)/1.04 Newsreader,serif; letter-spacing:-.045em; }
.trust em { color:#efbd79; font-style:italic; }
.closing { padding:120px 0; display:flex; justify-content:space-between; gap:40px; align-items:end; }
.closing p { max-width:360px; margin:22px 0 0; font-size:1.08rem; line-height:1.5; }
.footer { display:flex; justify-content:space-between; gap:20px; padding:28px 0 36px; border-top:1px solid var(--line); font-size:.85rem; }
.footer nav { display:flex; gap:18px; }
.legal { width:min(720px,calc(100% - 40px)); margin:0 auto; padding:80px 0; }
.legal h1 { font-size:clamp(3rem,7vw,5rem); }.legal h2 { margin-top:48px; font-size:2rem; }.legal p,.legal li { line-height:1.6; }.legal .updated { color:#665641; }
.gift { min-height:100dvh; display:grid; place-items:center; padding:28px; text-align:center; }.gift-card { width:min(490px,100%); }.gift-card img { width:220px; margin-bottom:28px; }.gift-card h1 { font-size:clamp(3rem,12vw,5.3rem); }.gift-card p { margin:24px auto 0; max-width:365px; line-height:1.55; }.gift-card .button { margin-top:26px; }.gift-card small { display:block; margin-top:26px; color:#665641; }
@media (max-width:720px) { .shell{width:min(100% - 32px,1120px)} .hero{grid-template-columns:1fr; padding-top:54px; padding-bottom:72px}.cookie-stage{min-height:330px;order:-1}.cookie-stage img{width:310px}.story{padding:74px 0}.story-head,.steps,.closing{grid-template-columns:1fr;display:grid}.steps{gap:0}.step{min-height:185px}.step h3{margin-top:28px}.trust{min-height:300px;padding:64px 24px}.closing{padding:80px 0}.footer{align-items:flex-start;flex-direction:column}.nav{padding-top:18px} }
@media (prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }
