/* ═══ RESET & TOKENS ═══ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --dark:#1a1410;--espresso:#2C1810;--brown:#6b5a45;--brown-light:#8a7a65;
  --cream:#f6f3f1;--warm:#ede8e2;--sand:#d4bfaa;
  --sage:#799b8e;--sage-deep:#3d5a4e;--sage-light:#e8efec;--sage-muted:#a8bfb5;
  --gold:#fdbb56;--gold-light:#fef6e4;--gold-muted:#e5a940;
  --terracotta:#c4623a;
  --display:'Playfair Display',Georgia,serif;
  --body:'DM Sans',sans-serif;
  --ease:cubic-bezier(0.32,0.72,0,1);
  --ease-out:cubic-bezier(0.16,1,0.3,1);
}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--espresso);background:var(--cream);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* ═══ ACCESSIBILITY UTILITIES ═══ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;top:-100%;left:1rem;z-index:10000;background:var(--espresso);color:var(--cream);padding:.75rem 1.5rem;border-radius:0 0 6px 6px;font-size:.85rem;font-weight:600;text-decoration:none;transition:top .2s}
.skip-link:focus{top:0}

/* focus-visible for all interactive elements */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.n-cta:focus-visible,.btn:focus-visible{outline-offset:4px}
.wl-form input:focus-visible{outline:2px solid var(--espresso);outline-offset:0;border-color:var(--espresso)}

/* hero pause button */
.hero-pause{position:absolute;bottom:5rem;right:2rem;z-index:4;width:2.2rem;height:2.2rem;border-radius:50%;background:rgba(246,243,241,.12);border:1px solid rgba(246,243,241,.25);color:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s var(--ease)}
.hero-pause:hover{background:rgba(246,243,241,.22)}

/* reduced motion — disables all animations for users who prefer it */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rv{opacity:1;transform:none;filter:none}
  .marq-inner{animation:none}
  html{scroll-behavior:auto}
}

/* film grain — fixed, non-scrolling, pointer-events-none */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:0.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ═══ SCROLL REVEAL — blur + translate ═══ */
.rv{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out),filter .9s var(--ease-out)}
.rv.v{opacity:1;transform:translateY(0);filter:blur(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* ═══ NAV ═══ */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 3.5rem;display:flex;justify-content:space-between;align-items:center;transition:all .7s var(--ease)}
nav.scrolled{background:rgba(246,243,241,.92);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);padding:1rem 3.5rem;border-bottom:1px solid rgba(44,24,16,.05)}
.n-logo{font-family:var(--display);font-size:1rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--espresso);text-decoration:none}
.n-links{display:flex;gap:2.8rem;align-items:center}
.n-links a{font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--brown);text-decoration:none;transition:color .4s var(--ease)}
.n-links a:hover{color:var(--espresso)}
.n-cta{background:var(--espresso)!important;color:var(--cream)!important;padding:.6rem 1.6rem;border-radius:4px;transition:all .5s var(--ease)!important}
.n-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(44,24,16,.18)}
.n-cta:active{transform:translateY(0) scale(.98)}

/* ═══ HERO ═══ */
.hero{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8rem 2rem 4rem;position:relative;overflow:hidden}
.hero-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(44,24,16,.35) 0%,rgba(44,24,16,.3) 50%,rgba(44,24,16,.4) 100%);z-index:2}
.hero-content{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;align-items:center}
.hero-logo{width:260px;height:260px;object-fit:contain;margin-bottom:2rem;filter:drop-shadow(0 8px 24px rgba(44,24,16,.3))}
.hero h1{font-family:var(--display);font-size:clamp(2.5rem,6vw,5rem);font-weight:800;color:var(--cream);line-height:1.1;letter-spacing:-.03em;margin-bottom:.6rem;text-shadow:0 6px 24px rgba(44,24,16,.5)}
.hero h1 em{font-style:italic;font-weight:400;color:var(--gold)}
.hero-tag{font-size:.75rem;font-weight:500;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:2.5rem}
.hero-sub{font-family:var(--display);font-size:clamp(.95rem,1.5vw,1.15rem);font-weight:400;color:rgba(246,243,241,.95);font-style:italic;max-width:500px;line-height:1.7;margin-bottom:3.5rem;text-shadow:0 4px 16px rgba(44,24,16,.3)}
.hero-btns{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center;margin-bottom:2rem}

/* ═══ BUTTONS ═══ */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2.4rem;font-family:var(--body);font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;border-radius:4px;transition:all .5s var(--ease)}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.98)}
.btn-dark{background:var(--espresso);color:var(--cream)}.btn-dark:hover{box-shadow:0 10px 32px rgba(44,24,16,.2)}
.btn-outline-light{background:rgba(246,243,241,.08);color:var(--cream);border:1.5px solid rgba(246,243,241,.45)}.btn-outline-light:hover{background:rgba(246,243,241,.16);border-color:rgba(246,243,241,.75);color:var(--cream)}
.btn-gold{background:var(--gold);color:var(--espresso)}.btn-gold:hover{box-shadow:0 10px 32px rgba(253,187,86,.3)}
.btn-sage{background:var(--sage);color:#fff}.btn-sage:hover{box-shadow:0 10px 32px rgba(121,155,142,.3)}

.scroll-hint{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.3;animation:bounce 2.5s ease-in-out infinite}
.scroll-hint span{font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:var(--brown-light)}
.scroll-hint div{width:1px;height:32px;background:linear-gradient(to bottom,var(--brown-light),transparent)}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(5px)}}

/* ═══ MARQUEE ═══ */
.marq{overflow:hidden;padding:1.4rem 0;border-top:1px solid rgba(44,24,16,.05);border-bottom:1px solid rgba(44,24,16,.05)}
.marq-inner{display:flex;gap:3.5rem;width:max-content;animation:marq 40s linear infinite}
.marq-inner span{font-family:var(--display);font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--espresso);white-space:nowrap;opacity:.75}
.marq-dot{width:3px;height:3px;border-radius:50%;background:var(--gold);flex-shrink:0;align-self:center}
@keyframes marq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ═══ SECTIONS ═══ */
section{padding:8rem 2rem}
.s-label{display:inline-block;font-size:.62rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;padding:.4rem 1rem;border-radius:4px;margin-bottom:1.2rem}
.s-title{font-family:var(--display);font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:700;line-height:1.06;letter-spacing:-.02em;margin-bottom:1.8rem}
.s-body{font-size:1rem;line-height:1.9;max-width:500px;color:var(--brown)}

/* ═══ TWO WORLDS ═══ */
.worlds{display:grid;grid-template-columns:1fr 1fr;min-height:85vh}
.w-card{padding:6rem 5rem;display:flex;flex-direction:column;justify-content:center}
.w-artisan{background:var(--sage-deep);color:var(--cream)}
.w-artisan .s-label{color:var(--gold);background:rgba(253,187,86,.1);border:1px solid rgba(253,187,86,.2)}
.w-artisan h2{font-family:var(--display);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;line-height:1.1;color:#f6f3f1;margin-bottom:1.4rem}
.w-artisan p{font-size:.98rem;line-height:1.9;color:rgba(246,243,241,.82);margin-bottom:2.5rem;max-width:380px}
.w-every{background:var(--gold-light)}
.w-every .s-label{color:var(--sage-deep);background:rgba(61,90,78,.08);border:1px solid rgba(61,90,78,.15)}
.w-every h2{font-family:var(--display);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;line-height:1.1;color:var(--espresso);margin-bottom:1.4rem}
.w-every p{font-size:.98rem;line-height:1.9;color:var(--brown);margin-bottom:2.5rem;max-width:380px}
.w-card .btn{width:fit-content}

/* ═══ STORY ═══ */
.story-wrap{background:var(--cream);padding:10rem 2rem}
.story{display:grid;grid-template-columns:1fr 1fr;gap:7rem;max-width:1280px;margin:0 auto;align-items:center}
.story-img{border-radius:16px;overflow:hidden;aspect-ratio:4/5;background:linear-gradient(160deg,var(--sand) 0%,var(--warm) 60%,var(--cream) 100%);position:relative}
.story-img::after{content:'';position:absolute;inset:0;border-radius:16px;border:1px solid rgba(44,24,16,.06);pointer-events:none}
.story-img::before{content:'';position:absolute;bottom:0;left:0;right:0;height:14%;background:linear-gradient(to top,var(--cream) 0%,transparent 100%);z-index:1;pointer-events:none;border-radius:0 0 16px 16px}
.story-img img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .8s var(--ease)}
.story-img:hover img{transform:scale(1.03)}
.story-img .img-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;opacity:.25}
.story-img .img-placeholder svg{width:48px;height:48px}
.story-img .img-placeholder span{font-family:var(--display);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--espresso)}
.story-text .s-label{color:var(--sage);background:rgba(121,155,142,.08);border:1px solid rgba(121,155,142,.12)}
.story-text .s-title{color:var(--espresso);font-size:clamp(2rem,4vw,3.2rem)}
.story-text .s-body{margin-bottom:1.4rem;max-width:460px}
.stats{display:flex;gap:3rem;margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid rgba(44,24,16,.06)}
.stat-n{font-family:var(--display);font-size:2.4rem;font-weight:700;color:var(--espresso);line-height:1}
.stat-l{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brown-light);margin-top:.4rem}

/* ═══ ORIGIN ═══ */
.origin{background:linear-gradient(180deg,#4a2e1e 0%,var(--espresso) 22%);padding:10rem 2rem;overflow:hidden;position:relative}
.origin::before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(253,187,86,.25),transparent)}
.origin-intro{max-width:780px;margin:0 auto 7rem;text-align:center;position:relative;z-index:1}
.origin-label{color:var(--gold);background:rgba(253,187,86,.1);border:1px solid rgba(253,187,86,.2)}
.origin-headline{font-family:var(--display);font-size:clamp(2.6rem,5.5vw,4.2rem);font-weight:800;color:var(--cream);line-height:1.08;letter-spacing:-.03em;margin-bottom:2rem}
.origin-headline em{font-style:italic;font-weight:400;color:var(--gold)}
.origin-body{font-size:1rem;line-height:1.9;color:rgba(246,243,241,.8);max-width:560px;margin:0 auto}

/* cost section header */
.origin-cost-header{text-align:center;margin-bottom:2rem}
.origin-cost-title{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;color:var(--cream);margin:.4rem auto 0;padding-bottom:1rem;border-bottom:2px solid rgba(253,187,86,.4);display:inline-block}

/* cost strip — two floating numbers, no box needed */
.origin-cost{display:flex;align-items:center;justify-content:center;gap:0;max-width:860px;margin:0 auto 3rem;position:relative;z-index:1}
.origin-cost-side{flex:1;padding:3rem 3.5rem;display:flex;flex-direction:column}
.origin-cost-right{text-align:right;align-items:flex-end}
.origin-cost-vs{font-family:var(--display);font-size:1.1rem;font-style:italic;color:rgba(246,243,241,.2);flex-shrink:0;padding:0 1rem}
.origin-cost-num{font-family:var(--display);font-size:clamp(3rem,6vw,5rem);font-weight:800;color:var(--terracotta);line-height:1;letter-spacing:-.04em;margin-bottom:.6rem}
.origin-cost-num span{font-size:1.6rem;font-weight:400;letter-spacing:0}
.origin-cost-good{color:rgba(246,243,241,.9)!important}
.origin-cost-label{font-size:.65rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(246,243,241,.72);margin-bottom:.5rem}
.origin-cost-sub{font-size:.82rem;line-height:1.7;color:rgba(246,243,241,.62);max-width:220px}
.origin-cost-right .origin-cost-sub{margin-left:auto}

/* citation */
.origin-cite{text-align:center;font-size:.65rem;color:rgba(246,243,241,.5);letter-spacing:.06em;margin:0 auto 7rem;position:relative;z-index:1;max-width:700px}

/* cards — cream on espresso, high contrast */
.origin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:1100px;margin:0 auto 7rem;position:relative;z-index:1}
.origin-card{padding:3.5rem 3.2rem;background:var(--warm);border-radius:10px;position:relative;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease);box-shadow:0 4px 24px rgba(0,0,0,.18)}
.origin-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:0;background:var(--gold);transition:height .6s var(--ease);border-radius:0 0 0 0}
.origin-card:hover::before{height:100%}
.origin-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.28)}
.origin-num{display:block;font-size:.6rem;font-weight:700;letter-spacing:.32em;color:var(--gold);margin-bottom:1.8rem;font-family:var(--body)}
.origin-card h3{font-family:var(--display);font-size:clamp(1.25rem,2vw,1.55rem);font-weight:700;color:var(--espresso);line-height:1.2;letter-spacing:-.02em;margin-bottom:1.2rem}
.origin-card p{font-size:.9rem;line-height:1.9;color:var(--brown)}
.origin-cta{text-align:center;position:relative;z-index:1}

/* ═══ WAITLIST ═══ */
.waitlist{background:var(--sand);text-align:center;padding:10rem 2rem;position:relative;overflow:hidden}
.waitlist::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(253,187,86,.1) 0%,transparent 50%);pointer-events:none}
.waitlist .s-label{color:var(--espresso);background:rgba(44,24,16,.06);border:1px solid rgba(44,24,16,.08)}
.waitlist .s-title{color:var(--espresso);max-width:500px;margin:0 auto 1.2rem}
.waitlist .s-body{color:rgba(44,24,16,.72);margin:0 auto 3.5rem;text-align:center}
.wl-form{display:flex;gap:.6rem;max-width:440px;margin:0 auto}
.wl-form input{flex:1;padding:1rem 1.3rem;border:1px solid rgba(44,24,16,.12);border-radius:4px;background:rgba(246,243,241,.5);color:var(--espresso);font-family:var(--body);font-size:.86rem;outline:none;transition:all .4s var(--ease)}
.wl-form input::placeholder{color:rgba(44,24,16,.28)}
.wl-form input:focus{border-color:var(--espresso);background:rgba(246,243,241,.8);box-shadow:0 0 0 3px rgba(44,24,16,.04)}
.wl-form button{padding:1rem 1.8rem;background:var(--espresso);color:var(--cream);border:none;border-radius:4px;font-family:var(--body);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:all .5s var(--ease)}
.wl-form button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(44,24,16,.2)}
.wl-form button:active{transform:translateY(0) scale(.98)}
.wl-note{font-size:.72rem;color:rgba(44,24,16,.58);margin-top:1.2rem}

/* ── Klaviyo embed overrides ── */
.klaviyo-form-TvU8UX{max-width:440px;margin:0 auto}
.klaviyo-form-TvU8UX [data-testid="form-component"],
.klaviyo-form-TvU8UX form{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}
.klaviyo-form-TvU8UX input[type="email"]{margin-bottom:.8rem!important}
.klaviyo-form-TvU8UX input[type="email"]{font-family:var(--body)!important;font-size:.86rem!important;color:var(--espresso)!important;background:rgba(246,243,241,.5)!important;border:1px solid rgba(44,24,16,.12)!important;border-radius:4px!important;padding:1rem 1.3rem!important;box-shadow:none!important}
.klaviyo-form-TvU8UX input[type="email"]::placeholder{color:rgba(44,24,16,.28)!important}
.klaviyo-form-TvU8UX button[type="submit"]{font-family:var(--body)!important;font-size:.72rem!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;background:var(--espresso)!important;color:var(--cream)!important;border:none!important;border-radius:4px!important;padding:1rem 1.8rem!important;cursor:pointer!important;transition:all .3s!important}
.klaviyo-form-TvU8UX button[type="submit"]:hover{transform:translateY(-2px)!important;box-shadow:0 8px 24px rgba(44,24,16,.2)!important}
/* hide the popup dismiss link */
.klaviyo-form-TvU8UX [data-testid="dismiss-button"],
.klaviyo-form-TvU8UX a[href="#"]{display:none!important}
/* headings and body text inside form */
.klaviyo-form-TvU8UX h1,.klaviyo-form-TvU8UX h2,.klaviyo-form-TvU8UX h3,.klaviyo-form-TvU8UX p{font-family:var(--body)!important;color:var(--espresso)!important}

/* ═══ PRODUCTS ═══ */
.products{background:var(--sage-light);text-align:center;padding:10rem 2rem}
.products .s-label{color:var(--sage-deep);background:rgba(61,90,78,.06);border:1px solid rgba(61,90,78,.1)}
.products .s-title{color:var(--espresso)}
.p-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:1100px;margin:4rem auto 0}
.p-shell{background:rgba(61,90,78,.04);border:1px solid rgba(61,90,78,.06);border-radius:14px;padding:5px;transition:all .6s var(--ease)}
.p-shell:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(61,90,78,.08)}
.p-shell:active{transform:translateY(-1px) scale(.99)}
.p-card{background:var(--cream);border-radius:10px;padding:2.8rem 1.6rem;text-decoration:none;color:inherit;display:block;text-align:center}
.p-icon{width:40px;height:40px;border-radius:8px;margin:0 auto 1.6rem;display:flex;align-items:center;justify-content:center}
.p-icon svg{width:20px;height:20px}
.p-card h3{font-family:var(--display);font-size:1.12rem;font-weight:600;margin-bottom:.5rem;letter-spacing:-.01em}
.p-card p{font-size:.86rem;color:var(--brown);line-height:1.7;margin-bottom:1.2rem}
.p-price{font-weight:600;color:var(--espresso);font-size:1rem}
.p-img{width:100%;aspect-ratio:1/1;border-radius:8px;overflow:hidden;margin-bottom:1.4rem;background:var(--warm)}
.p-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.p-shell:hover .p-img img{transform:scale(1.04)}
.p-fade{animation:pfade .8s var(--ease-out) both}
@keyframes pfade{from{opacity:0;transform:translateY(20px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.p-shell:nth-child(1){animation-delay:.05s}.p-shell:nth-child(2){animation-delay:.15s}.p-shell:nth-child(3){animation-delay:.25s}.p-shell:nth-child(4){animation-delay:.35s}
.p-skeleton{height:340px;border-radius:14px;background:linear-gradient(90deg,rgba(61,90,78,.04) 25%,rgba(61,90,78,.09) 50%,rgba(61,90,78,.04) 75%);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ═══ FOOTER ═══ */
footer{background:var(--espresso);color:rgba(246,243,241,.65);padding:6rem 3.5rem 2rem}
.f-top{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:3rem;max-width:1200px;margin:0 auto 5rem}
.f-brand .n-logo{color:var(--cream);font-size:.92rem;display:block;margin-bottom:1.2rem}
.f-brand p{font-size:.86rem;line-height:1.75;max-width:250px}
.f-col h4{font-size:.64rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(246,243,241,.5);margin-bottom:1.4rem}
.f-col a{display:block;font-size:.86rem;color:rgba(246,243,241,.65);text-decoration:none;margin-bottom:.7rem;transition:color .4s var(--ease)}.f-col a:hover{color:var(--cream)}
.f-privacy{color:rgba(246,243,241,.55);text-decoration:none;transition:color .3s var(--ease)}.f-privacy:hover{color:var(--cream)}
.f-cookie-prefs{background:none;border:none;padding:0;font-family:var(--body);font-size:.72rem;color:rgba(246,243,241,.55);cursor:pointer;transition:color .3s var(--ease)}.f-cookie-prefs:hover{color:var(--cream)}
.f-bottom{border-top:1px solid rgba(246,243,241,.05);padding-top:2rem;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;font-size:.72rem}

/* ═══ PRIVACY PAGE ═══ */
.policy-hero{padding:10rem 2rem 4rem;text-align:center}
.policy-hero h1{font-family:var(--display);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700;color:var(--espresso);letter-spacing:-.02em;margin-bottom:.8rem}
.policy-hero p{font-size:.86rem;color:var(--brown-light);max-width:480px;margin:0 auto}
.policy-content{max-width:720px;margin:0 auto;padding:0 2rem 8rem}
.policy-content h2{font-family:var(--display);font-size:1.4rem;font-weight:600;color:var(--espresso);margin:3rem 0 1rem;letter-spacing:-.01em}
.policy-content h2:first-of-type{margin-top:0}
.policy-content p{font-size:.95rem;line-height:1.9;color:var(--brown);margin-bottom:1.2rem}
.policy-content ul{margin:0 0 1.2rem 1.5rem;list-style:none}
.policy-content ul li{font-size:.95rem;line-height:1.9;color:var(--brown);padding-left:.8rem;position:relative;margin-bottom:.3rem}
.policy-content ul li::before{content:'';position:absolute;left:0;top:.7rem;width:4px;height:4px;border-radius:50%;background:var(--sage)}
.policy-content a{color:var(--sage-deep);text-decoration:underline;text-underline-offset:3px;transition:color .3s var(--ease)}
.policy-content a:hover{color:var(--espresso)}
.policy-content .updated{font-size:.78rem;color:var(--brown-light);padding-top:3rem;border-top:1px solid rgba(44,24,16,.06);margin-top:3rem}

/* ═══ COOKIE CONSENT ═══ */
.cookie-banner{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(120%);z-index:9998;background:var(--espresso);border:1px solid rgba(246,243,241,.1);border-radius:8px;padding:1.2rem 1.6rem;display:flex;align-items:center;gap:2rem;max-width:640px;width:calc(100% - 3rem);box-shadow:0 16px 48px rgba(0,0,0,.3);transition:transform .6s var(--ease)}
.cookie-banner.cookie-visible{transform:translateX(-50%) translateY(0)}
.cookie-text{font-size:.8rem;line-height:1.6;color:rgba(246,243,241,.85);flex:1}
.cookie-text a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;gap:.6rem;flex-shrink:0}
.cookie-btn{padding:.55rem 1.2rem;border-radius:4px;font-family:var(--body);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;transition:all .3s var(--ease)}
.cookie-decline{background:transparent;color:rgba(246,243,241,.72);border:1px solid rgba(246,243,241,.25)}.cookie-decline:hover{color:var(--cream);border-color:rgba(246,243,241,.5)}
.cookie-accept{background:var(--gold);color:var(--espresso)}.cookie-accept:hover{box-shadow:0 4px 16px rgba(253,187,86,.3)}

/* ═══ HOMEPAGE DROP WIDGET ═══ */
.artisan-drop-widget{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(246,243,241,.1)}
.hw-drop-label{font-size:.64rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,243,241,.5);margin-bottom:1rem}
.hw-cd-grid{display:flex;align-items:center;gap:.6rem;margin-bottom:1.2rem}
.hw-cd-unit{display:flex;flex-direction:column;align-items:center;gap:.3rem;background:rgba(246,243,241,.07);border:1px solid rgba(246,243,241,.1);border-radius:6px;padding:.7rem .9rem;min-width:3.4rem}
.hw-cd-unit span:first-child{font-family:var(--display);font-size:1.5rem;font-weight:700;color:var(--cream);line-height:1;letter-spacing:-.02em}
.hw-cd-unit span:last-child{font-size:.5rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,243,241,.35)}
.hw-cd-sep{font-family:var(--display);font-size:1.2rem;color:rgba(246,243,241,.15);padding-bottom:.4rem}
.hw-profile-link{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,243,241,.5);text-decoration:none;border-bottom:1px solid rgba(246,243,241,.15);padding-bottom:1px;transition:all .3s var(--ease)}
.hw-profile-link:hover{color:var(--gold);border-bottom-color:rgba(253,187,86,.4)}
.hw-live-pill{display:inline-flex;align-items:center;gap:.5rem;font-size:.64rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);background:rgba(253,187,86,.1);border:1px solid rgba(253,187,86,.2);border-radius:100px;padding:.45rem 1rem}
.hw-live-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:livepulse 1.4s ease-in-out infinite}
@keyframes livepulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}

/* ═══ DROPS PAGE ═══ */
.drop-hero{min-height:100vh;background:var(--cream);display:flex;align-items:center;justify-content:center;text-align:center;padding:10rem 2rem 8rem;position:relative;overflow:hidden;border-bottom:1px solid rgba(44,24,16,.06)}
.drop-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(121,155,142,.08) 0%,transparent 60%);pointer-events:none}
.drop-bg-num{position:absolute;font-family:var(--display);font-size:clamp(20rem,40vw,48rem);font-weight:800;color:rgba(44,24,16,.06);line-height:1;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;user-select:none;letter-spacing:-.06em}
.drop-hero.has-dog .drop-bg-num{left:28%;font-size:clamp(14rem,24vw,32rem)}
.drop-hero-inner{display:flex;align-items:center;justify-content:center;gap:5rem;max-width:1160px;width:100%}
.drop-hero-content{position:relative;z-index:2;max-width:700px}
/* Dog portrait — split layout */
.drop-hero-dog-frame{display:none;flex-direction:column;align-items:center;gap:1.2rem;flex-shrink:0;position:relative;z-index:2}
.drop-hero.has-dog .drop-hero-dog-frame{display:flex}
.drop-hero.has-dog .drop-hero-content{max-width:540px;text-align:left}
.drop-hero.has-dog .countdown-grid{justify-content:flex-start}
.drop-hero.has-dog .drop-live-state,.drop-hero.has-dog .drop-sold-state{align-items:flex-start}
.drop-hero-dog-ring{width:320px;height:320px;border-radius:50%;overflow:hidden;border:2px solid rgba(44,24,16,.1);box-shadow:0 20px 60px rgba(44,24,16,.12),0 0 0 10px rgba(44,24,16,.04)}
.drop-hero-dog-img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.drop-hero-dog-label{font-size:.6rem;font-weight:700;letter-spacing:.38em;text-transform:uppercase;color:rgba(246,243,241,.35)}
.drop-label{color:var(--sage-deep);background:rgba(61,90,78,.06);border:1px solid rgba(61,90,78,.12)}
.drop-num-tag{display:block;font-size:.6rem;font-weight:700;letter-spacing:.42em;text-transform:uppercase;color:var(--brown-light);margin-bottom:.8rem}
.drop-hero-name{font-family:var(--display);font-size:clamp(3rem,7vw,5.5rem);font-weight:800;color:var(--espresso);line-height:1.04;letter-spacing:-.04em;margin:.6rem 0 1rem}
.drop-hero-name em{font-style:italic;font-weight:400;color:var(--gold-muted)}
.drop-roast-line{font-size:.7rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--brown-light);margin-bottom:4rem}
.countdown-grid{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}
.countdown-unit{display:flex;flex-direction:column;align-items:center;gap:.6rem;min-width:5.5rem;background:#fff;border:1px solid rgba(44,24,16,.08);border-radius:10px;padding:1.8rem 1rem;box-shadow:0 4px 20px rgba(44,24,16,.05)}
.cd-num{font-family:var(--display);font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700;color:var(--espresso);line-height:1;letter-spacing:-.03em}
.cd-label{font-size:.56rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--brown-light)}
.countdown-sep{font-family:var(--display);font-size:2.5rem;color:rgba(44,24,16,.12);align-self:center;padding-bottom:.8rem}
.drop-opens-note{font-size:.78rem;color:var(--brown-light);letter-spacing:.04em;margin-top:.5rem}
.drop-opens-date{color:var(--espresso);font-weight:600}
.drop-fl-notice{display:inline-flex;align-items:center;gap:.45rem;margin-top:1rem;font-size:.74rem;font-weight:500;color:var(--brown);background:rgba(44,24,16,.04);border:1px solid rgba(44,24,16,.08);border-radius:100px;padding:.45rem 1.1rem}
.drop-fl-link{color:var(--sage-deep);text-decoration:none;border-bottom:1px solid rgba(61,90,78,.3);padding-bottom:1px;transition:all .3s var(--ease)}
.drop-fl-link:hover{border-bottom-color:var(--sage-deep)}
.drop-live-state{display:flex;flex-direction:column;align-items:center;gap:1.8rem}
.live-pill{display:inline-flex;align-items:center;gap:.6rem;font-size:.64rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--sage-deep);background:rgba(61,90,78,.08);border:1px solid rgba(61,90,78,.2);border-radius:100px;padding:.5rem 1.2rem}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--sage);animation:livepulse 1.4s ease-in-out infinite}
.drop-cta-btn{display:inline-flex;align-items:center;gap:.5rem;padding:1.2rem 3rem;background:var(--espresso);color:var(--cream);font-family:var(--body);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-radius:4px;transition:all .5s var(--ease)}
.drop-cta-btn:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(44,24,16,.18)}
.drop-cta-btn:active{transform:translateY(0) scale(.98)}
.drop-closes-note{font-size:.72rem;color:var(--brown-light);letter-spacing:.04em}
.drop-sold-state{display:flex;flex-direction:column;align-items:center;gap:1.8rem}
.sold-badge{font-size:.68rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--brown-light);border:1px solid rgba(44,24,16,.12);border-radius:100px;padding:.55rem 1.4rem}
.drop-profile{background:var(--warm);padding:8rem 2rem;border-bottom:1px solid rgba(44,24,16,.06)}
.drop-profile-inner{display:grid;grid-template-columns:1fr 1.7fr;gap:7rem;max-width:1200px;margin:0 auto;align-items:start}
.drop-stats-panel{position:sticky;top:8rem}
.drop-stats-header{margin-bottom:2.5rem}
.drop-stats-header .s-label{color:var(--espresso);background:rgba(44,24,16,.05);border:1px solid rgba(44,24,16,.08)}
.drop-stats-header h2{font-family:var(--display);font-size:clamp(1.4rem,2.5vw,1.9rem);font-weight:700;color:var(--espresso);letter-spacing:-.02em;margin-top:.5rem;line-height:1.2}
.drop-stat-list{list-style:none;border-top:1px solid rgba(44,24,16,.07)}
.drop-stat-list li{display:flex;justify-content:space-between;align-items:baseline;padding:.9rem 0;border-bottom:1px solid rgba(44,24,16,.07);gap:1rem}
.drop-stat-key{font-size:.63rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--brown-light);flex-shrink:0}
.drop-stat-val{font-family:var(--display);font-size:.95rem;font-weight:500;color:var(--espresso);text-align:right}
.drop-freshness{margin-top:2rem;padding:1.2rem 1.4rem;background:rgba(121,155,142,.07);border:1px solid rgba(121,155,142,.15);border-radius:8px;display:flex;gap:.8rem;align-items:flex-start}
.drop-freshness svg{flex-shrink:0;color:var(--sage);margin-top:2px}
.drop-freshness p{font-size:.82rem;line-height:1.65;color:var(--brown)}
.drop-freshness strong{color:var(--espresso)}
.drop-notes-eyebrow{font-size:.62rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--brown-light);margin-bottom:1.2rem}
.drop-notes-title{font-family:var(--display);font-size:clamp(2rem,3.5vw,2.8rem);font-weight:700;color:var(--espresso);line-height:1.1;letter-spacing:-.03em;margin-bottom:2rem}
.drop-notes-title em{font-style:italic;font-weight:400}
.drop-tasting{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2.5rem}
.drop-tasting-note{font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--espresso);background:rgba(253,187,86,.15);border:1px solid rgba(253,187,86,.3);border-radius:100px;padding:.38rem .9rem}
.drop-description p{font-size:1rem;line-height:1.95;color:var(--brown);margin-bottom:1.4rem}
.drop-roaster-sig{display:flex;align-items:center;gap:1rem;padding-top:2rem;border-top:1px solid rgba(44,24,16,.07);margin-top:1rem}
.drop-roaster-sig img{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--sand)}
.drop-roaster-sig-text span{display:block;font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--brown-light)}
.drop-roaster-sig-text strong{font-family:var(--display);font-size:.95rem;color:var(--espresso)}
.drop-story-section{background:rgba(121,155,142,.1);padding:8rem 2rem;text-align:center;border-top:1px solid rgba(121,155,142,.15);border-bottom:1px solid rgba(121,155,142,.15)}
.drop-story-section .s-label{color:var(--sage-deep);background:rgba(61,90,78,.07);border:1px solid rgba(61,90,78,.14)}
.drop-story-inner{max-width:620px;margin:0 auto}
.drop-story-dog{font-family:var(--display);font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--espresso);letter-spacing:-.02em;margin:.6rem 0 2rem}
.drop-story-dog em{font-style:italic;font-weight:400;color:var(--sage-deep)}
.drop-story-illus{width:160px;height:160px;border-radius:50%;background:rgba(121,155,142,.15);border:2px solid rgba(121,155,142,.2);margin:0 auto 2.5rem;display:flex;align-items:center;justify-content:center;overflow:hidden}
.drop-story-illus img{width:100%;height:100%;object-fit:cover}
.drop-story-illus-ph{color:var(--sage);opacity:.5}
.drop-story-illus-ph svg{width:40px;height:40px}
.drop-story-quote{font-family:var(--display);font-size:clamp(1rem,2vw,1.2rem);font-style:italic;color:var(--brown);line-height:1.85;margin-bottom:1.5rem;padding:0 1.5rem;position:relative}
.drop-story-quote::before{content:'\201C';position:absolute;left:0;top:-.4rem;font-size:2.8rem;color:rgba(121,155,142,.3);font-style:normal;line-height:1}
.drop-story-author{font-size:.64rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--brown-light)}
.drop-story-submit-note{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid rgba(121,155,142,.2)}
.drop-story-submit-note p{font-size:.88rem;color:var(--brown);margin-bottom:1.2rem;line-height:1.75}
.drop-archive{background:var(--cream);padding:8rem 2rem}
.drop-archive-inner{max-width:1100px;margin:0 auto}
.drop-archive-header{margin-bottom:4rem}
.drop-archive-header .s-label{color:var(--espresso);background:rgba(44,24,16,.05);border:1px solid rgba(44,24,16,.07)}
.drop-archive-header h2{font-family:var(--display);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;color:var(--espresso);letter-spacing:-.02em;margin-top:.5rem}
.drop-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.archive-card{background:#fff;border:1px solid rgba(44,24,16,.07);border-radius:12px;padding:2.2rem;transition:all .5s var(--ease)}
.archive-card:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(44,24,16,.06)}
.archive-card-num{font-size:.58rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-muted);margin-bottom:.8rem}
.archive-card-name{font-family:var(--display);font-size:1.1rem;font-weight:700;color:var(--espresso);letter-spacing:-.01em;margin-bottom:.3rem}
.archive-card-sub{font-size:.8rem;color:var(--brown-light);margin-bottom:1.2rem}
.archive-card-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.5rem}
.archive-card-tag{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brown);background:rgba(44,24,16,.04);border-radius:100px;padding:.28rem .75rem;border:1px solid rgba(44,24,16,.06)}
.archive-sold{display:inline-flex;align-items:center;gap:.4rem;font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brown-light)}
.archive-sold::before{content:'';width:6px;height:6px;border-radius:50%;background:rgba(44,24,16,.2);display:block}
.archive-empty{grid-column:1/-1;text-align:center;padding:4rem;color:var(--brown-light);font-family:var(--display);font-style:italic;font-size:1rem;opacity:.7}
.drop-notify{background:var(--sand);padding:6rem 2rem;text-align:center;border-top:1px solid rgba(44,24,16,.06)}
.drop-notify .s-label{color:var(--espresso);background:rgba(44,24,16,.06);border:1px solid rgba(44,24,16,.08)}
.drop-notify h2{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;color:var(--espresso);letter-spacing:-.02em;margin:.5rem 0 1rem}
.drop-notify p{font-size:.92rem;line-height:1.8;color:var(--brown);max-width:440px;margin:0 auto 2.5rem}
@media(max-width:900px){.drop-profile-inner{grid-template-columns:1fr;gap:4rem}.drop-stats-panel{position:static}.drop-archive-grid{grid-template-columns:1fr 1fr}.drop-hero.has-dog .drop-hero-inner{flex-direction:column-reverse;gap:3rem}.drop-hero.has-dog .drop-hero-content{text-align:center;max-width:100%}.drop-hero.has-dog .countdown-grid{justify-content:center}.drop-hero.has-dog .drop-live-state,.drop-hero.has-dog .drop-sold-state{align-items:center}.drop-hero-dog-ring{width:220px;height:220px}}
@media(max-width:600px){.countdown-grid{gap:.5rem}.countdown-unit{min-width:4rem;padding:1.2rem .6rem}.countdown-sep{font-size:1.8rem}.drop-archive-grid{grid-template-columns:1fr}.drop-profile{padding:5rem 1.5rem}}

/* ═══ MEET MOJO ═══ */
.mojo{background:var(--warm);padding:10rem 2rem}
.mojo-inner{display:grid;grid-template-columns:1fr 1.15fr;gap:7rem;max-width:1280px;margin:0 auto;align-items:center}
.mojo-img-wrap{aspect-ratio:4/5;border-radius:16px;overflow:hidden;position:relative;background:rgba(121,155,142,.1);box-shadow:0 24px 64px rgba(44,24,16,.1),0 0 0 1px rgba(44,24,16,.05)}
.mojo-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:40% top;transition:transform .8s var(--ease)}
.mojo-img-wrap:hover img{transform:scale(1.03)}
.mojo-img-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--sage);opacity:.4}
.mojo-img-placeholder svg{width:48px;height:48px}
.mojo-img-placeholder span{font-family:var(--display);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}
.mojo-label{color:var(--espresso);background:rgba(44,24,16,.06);border:1px solid rgba(44,24,16,.08)}
.mojo-headline{font-family:var(--display);font-size:clamp(2.8rem,5vw,4.2rem);font-weight:700;line-height:1.06;letter-spacing:-.03em;color:var(--espresso);margin:.4rem 0 2rem}
.mojo-headline em{font-style:italic;font-weight:400;color:var(--sage-deep)}
.mojo-text .s-body{color:var(--brown);margin-bottom:1.4rem;max-width:460px}

/* ═══ ARTISAN FEATURED STORY OVERLAY ═══ */
.w-artisan{position:relative;overflow:hidden}
.w-artisan-story-tag{display:inline-block;font-size:.58rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);opacity:.75;margin-bottom:1rem}
.w-artisan-quote{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(22,48,38,.96) 0%,rgba(22,48,38,.75) 60%,transparent 100%);padding:3rem 3.5rem 4rem;transform:translateY(100%);transition:transform .6s var(--ease);pointer-events:none}
.w-artisan:hover:not(:has(.artisan-drop-widget:hover)) .w-artisan-quote{transform:translateY(0)}
.w-artisan-quote p{font-family:var(--display);font-size:.98rem;font-style:italic;color:rgba(246,243,241,.92);line-height:1.65;max-width:340px}
.w-artisan-quote cite{display:block;font-size:.58rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:.9rem;font-style:normal}

/* ═══ SHARE YOUR STORY ═══ */
.dog-stories{background:var(--espresso);padding:10rem 2rem;text-align:center;position:relative;overflow:hidden}
.dog-stories::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(253,187,86,.07) 0%,transparent 55%);pointer-events:none}
.dog-stories .s-label{color:var(--gold);background:rgba(253,187,86,.1);border:1px solid rgba(253,187,86,.2)}
.dog-stories .s-title{color:var(--cream);max-width:560px;margin:0 auto 1.2rem}
.dog-stories .s-body{color:rgba(246,243,241,.72);margin:0 auto 3.5rem;text-align:center;max-width:520px}
.story-form{max-width:580px;margin:0 auto;text-align:left}
.story-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:.8rem}
.story-form-field{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.8rem}
.story-form-field label{font-size:.64rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(246,243,241,.5)}
.story-form-field input,.story-form-field textarea{padding:1rem 1.3rem;border:1px solid rgba(246,243,241,.12);border-radius:4px;background:rgba(246,243,241,.06);color:var(--cream);font-family:var(--body);font-size:.9rem;outline:none;transition:border-color .4s var(--ease),background .4s var(--ease),box-shadow .4s var(--ease);resize:none}
.story-form-field input::placeholder,.story-form-field textarea::placeholder{color:rgba(246,243,241,.28)}
.story-form-field input:focus,.story-form-field textarea:focus{border-color:rgba(253,187,86,.5);background:rgba(246,243,241,.09);box-shadow:0 0 0 3px rgba(253,187,86,.08);outline:2px solid var(--gold);outline-offset:-2px}
.story-form-field textarea{min-height:120px}
.story-char-row{display:flex;justify-content:flex-end;margin-top:.35rem}
.story-char{font-size:.68rem;color:rgba(246,243,241,.3);letter-spacing:.04em;transition:color .3s var(--ease)}
.story-char.warn{color:var(--gold)}
.story-file-label{font-size:.64rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(246,243,241,.5);display:block;margin-bottom:.45rem}
.story-file-note{font-size:.72rem;color:rgba(246,243,241,.32);margin-top:.3rem}
.story-form .btn-submit{width:100%;justify-content:center;margin-top:.8rem;background:var(--gold);color:var(--espresso);border:none;padding:1rem 2.4rem;font-family:var(--body);font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border-radius:4px;transition:all .5s var(--ease)}
.story-form .btn-submit:hover{box-shadow:0 10px 32px rgba(253,187,86,.25);transform:translateY(-2px)}
.story-form .btn-submit:active{transform:translateY(0) scale(.98)}
.story-success{display:none;font-family:var(--display);font-size:1.15rem;font-style:italic;color:rgba(253,187,86,.9);max-width:460px;margin:0 auto;line-height:1.75;padding:3rem 0}

/* ═══ SIP GOOD DO GOOD ═══ */
.giving{background:rgba(212,191,170,.3);padding:10rem 2rem;text-align:center;border-top:1px solid rgba(44,24,16,.05)}
.giving .s-label{color:var(--espresso);background:rgba(44,24,16,.06);border:1px solid rgba(44,24,16,.08)}
.giving-headline{font-family:var(--display);font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:700;line-height:1.06;letter-spacing:-.02em;color:var(--espresso);margin:.4rem 0 1.4rem}
.giving-body{font-size:1rem;line-height:1.9;color:var(--brown);max-width:540px;margin:0 auto 5rem}
.giving-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:860px;margin:0 auto 3rem}
.giving-stat{display:flex;flex-direction:column;align-items:center;gap:1.2rem;padding:3rem 2rem;background:rgba(246,243,241,.65);border-radius:12px;border:1px solid rgba(44,24,16,.06);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.giving-stat:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(44,24,16,.08)}
.giving-stat svg{width:36px;height:36px;color:var(--sage)}
.giving-num{font-family:var(--display);font-size:2.4rem;font-weight:700;color:var(--espresso);line-height:1}
.giving-stat-label{font-size:.64rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--brown-light)}
.giving-link{display:inline-block;margin-top:1rem;font-size:.86rem;color:var(--sage-deep);text-decoration:none;border-bottom:1px solid rgba(61,90,78,.25);padding-bottom:2px;transition:all .4s var(--ease)}
.giving-link:hover{color:var(--espresso);border-bottom-color:rgba(44,24,16,.35)}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1000px){.p-grid{grid-template-columns:1fr 1fr}.origin-grid{grid-template-columns:1fr}}
@media(max-width:900px){
  .worlds{grid-template-columns:1fr}.w-card{padding:4.5rem 2.5rem}
  .story{grid-template-columns:1fr;gap:3rem}.story-img{max-width:360px;margin:0 auto}
  .mojo-inner{grid-template-columns:1fr;gap:3rem}.mojo-img-wrap{max-width:360px;margin:0 auto}
  .story-form-row{grid-template-columns:1fr}
  .giving-stats{grid-template-columns:1fr;max-width:400px}
  .f-top{grid-template-columns:1fr 1fr}
  nav{padding:1rem 1.5rem}.n-links{gap:1rem}.n-links a:not(.n-cta){display:none}
}
@media(max-width:700px){
  .origin-cost{flex-direction:column;gap:0}
  .origin-cost-right{text-align:left}
  .origin-cost-right .origin-cost-sub{margin-left:0}
  .origin-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .hero h1{font-size:2.5rem}.hero-logo{width:180px;height:180px}
  .wl-form{flex-direction:column}.hero-btns{flex-direction:column;align-items:center}
  .f-top{grid-template-columns:1fr}.f-bottom{flex-direction:column;gap:.5rem}
  .stats{flex-direction:column;gap:1.5rem}.p-grid{grid-template-columns:1fr}
  .story-wrap{padding:5rem 1.5rem}
  .policy-hero h1{font-size:2rem}
  .policy-content{padding:0 1.5rem 5rem}
  .giving-stats{gap:1rem}
}
