:root{--paper:#FDFBF6;--cream:#F6F1E5;--sand:#EFE8D8;--ink:#12170F;--body:#3D443B;--muted:#767D71;
--green:#2F3D2A;--green-d:#1A2116;--sage:#5A6C50;--gold:#9C6A2B;--gold-lt:#DCB37A;
--line:#E1D9C6;--line2:#C7BDA6;--sp:clamp(72px,8.5vw,120px)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--body);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
font-weight:400;font-size:16.5px;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
::selection{background:var(--gold-lt);color:#12170F}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;position:relative;z-index:2}
.narrow{max-width:740px}
h1,h2,h3,h4{font-family:Inter,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);line-height:1.1;
letter-spacing:-.022em;font-weight:700}
h1{font-size:clamp(2.5rem,6vw,4.2rem);letter-spacing:-.032em}
h2{font-size:clamp(1.8rem,3.7vw,2.6rem);letter-spacing:-.026em}
h3{font-size:1.14rem;font-weight:700;letter-spacing:-.014em}
p+p{margin-top:16px}
a{color:inherit}
strong,b{font-weight:700;color:var(--ink)}
.eyebrow{display:block;font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);
font-weight:700;margin-bottom:18px}
.lead{font-size:1.14rem;max-width:48ch;font-weight:400}
.sub{color:var(--muted);font-size:.875rem}
.rule{width:50px;height:3px;background:var(--gold);margin:24px 0;border-radius:2px}
.on-dark{color:#CFD7C5}.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4{color:#F8F5EA}
.on-dark .eyebrow{color:var(--gold-lt)}.on-dark strong,.on-dark b{color:#F8F5EA}
.on-dark p{color:#CFD7C5}

/* ---------- textures ---------- */
.topo{position:relative}
.topo::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='400' viewBox='0 0 560 400'%3E%3Cg fill='none' stroke='%23A9A08A' stroke-width='1' opacity='.34'%3E%3Cpath d='M-20 330q120-70 230-24t180-70 190-42'/%3E%3Cpath d='M-20 296q124-72 236-26t176-72 188-44'/%3E%3Cpath d='M-20 262q128-74 242-28t172-74 186-46'/%3E%3Cpath d='M-20 228q132-76 248-30t168-76 184-48'/%3E%3Cpath d='M-20 194q136-78 254-32t164-78 182-50'/%3E%3Cpath d='M-20 160q140-80 260-34t160-80 180-52'/%3E%3Cpath d='M-20 126q144-82 266-36t156-82 178-54'/%3E%3Cpath d='M-20 92q148-84 272-38t152-84 176-56'/%3E%3Cpath d='M-20 58q152-86 278-40t148-86 174-58'/%3E%3C/g%3E%3C/svg%3E");
background-size:560px 400px}
.flags{position:absolute;top:0;left:0;right:0;height:46px;z-index:1;pointer-events:none;opacity:.5}
.flags svg{width:100%;height:100%;display:block}
.grain::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.55;
background-image:radial-gradient(circle at 18% 22%,rgba(156,106,43,.07),transparent 42%),
radial-gradient(circle at 82% 68%,rgba(47,61,42,.07),transparent 46%)}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:300;background:rgba(253,251,246,.94);
backdrop-filter:saturate(150%) blur(18px);border-bottom:1px solid var(--line)}
.nav .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:104px;gap:20px}
.navL{justify-self:start;display:flex;gap:28px;align-items:center}
.navR{justify-self:end;display:flex;align-items:center;gap:16px}
.logo{justify-self:center;display:flex;align-items:center;gap:16px;text-decoration:none;
will-change:transform;transition:transform .3s cubic-bezier(.2,.8,.3,1)}
.logo:hover{transform:translate3d(0,-2px,0)}
.logo img{width:66px}
.logo .t{display:block;font-weight:700;font-size:1.72rem;letter-spacing:.2em;color:var(--ink);line-height:1}
.logo .s{display:block;font-size:.8rem;letter-spacing:.44em;color:var(--gold);font-weight:700;margin-top:7px}
.navL a,.navR a:not(.btn){text-decoration:none;font-size:.885rem;font-weight:500;color:var(--body);
padding:4px 0;position:relative}
.navL a:hover,.navL a.on,.navR a:not(.btn):hover,.navR a.on{color:var(--ink)}
.navL a::before,.navR a:not(.btn)::before{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:0;
background:var(--gold);transition:width .28s cubic-bezier(.2,.8,.3,1)}
.navL a:hover::before,.navL a.on::before,.navR a:not(.btn):hover::before,.navR a.on::before{width:100%}
.burger{display:none;background:none;border:0;font-size:1.5rem;color:var(--ink);cursor:pointer;line-height:1}
.mobnav{display:none}
@media(max-width:1080px){
 .nav .wrap{grid-template-columns:auto 1fr auto;height:88px}
 .navL{display:none}
 .burger{display:block;justify-self:start}
 .logo{justify-self:center}
 .logo img{width:52px}.logo .t{font-size:1.3rem}.logo .s{font-size:.64rem;letter-spacing:.38em}
 .navR .btn{padding:11px 18px;font-size:.78rem}
 .mobnav{position:absolute;top:100%;left:0;right:0;background:var(--paper);
  border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:22px 28px;gap:18px}
 .mobnav.open{display:flex}
 .mobnav a{text-decoration:none;font-size:.95rem;font-weight:500;color:var(--body)}
 .mobnav a.on{color:var(--gold)}}
@media(max-width:560px){.logo img{width:44px}.logo .t{font-size:1.08rem;letter-spacing:.16em}
 .logo .s{font-size:.56rem;letter-spacing:.3em}.navR .btn{padding:10px 14px;font-size:.72rem}}
.btn{display:inline-block;background:var(--green);color:#F8F6ED;text-decoration:none;padding:15px 32px;
border-radius:3px;font-size:.87rem;font-weight:700;letter-spacing:.04em;border:1px solid var(--green);
cursor:pointer;font-family:inherit;position:relative;overflow:hidden;will-change:transform;
transition:transform .22s cubic-bezier(.2,.8,.3,1),box-shadow .22s,background .22s,border-color .22s}
.btn::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
background:linear-gradient(100deg,transparent,rgba(255,255,255,.3),transparent);transition:left .55s ease}
.btn:hover{background:var(--green-d);border-color:var(--green-d);transform:translate3d(0,-3px,0);
box-shadow:0 12px 26px -8px rgba(26,33,22,.55)}
.btn:hover::after{left:130%}
.btn:active{transform:translate3d(0,-1px,0)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#FFF8ED}
.btn.gold:hover{background:#82571F;border-color:#82571F;box-shadow:0 12px 26px -8px rgba(130,87,31,.6)}
.btn.ghost{background:transparent;border-color:var(--line2);color:var(--ink)}
.btn.ghost:hover{background:var(--cream);border-color:var(--ink);color:var(--ink)}
.btn.light{background:transparent;border-color:rgba(255,255,255,.5);color:#F5F2E7}
.btn.light:hover{background:rgba(255,255,255,.15);border-color:#fff;color:#fff}

.scene{position:relative;overflow:hidden}
.mtn{position:absolute;left:0;right:0;bottom:0;width:100%;height:clamp(150px,22vw,290px);z-index:1}
section{padding:var(--sp) 0;position:relative;overflow:hidden}
section.tight{padding:calc(var(--sp)*.58) 0}
.bg-cream{background:var(--cream)}.bg-sand{background:var(--sand)}.bg-green{background:var(--green)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,74px);align-items:center}
.split.wide{grid-template-columns:1.04fr .96fr}
@media(max-width:920px){.split,.split.wide{grid-template-columns:1fr}}

/* ---------- hero ---------- */
.hero{background:linear-gradient(176deg,#FCF8ED 0%,#F5EFE0 52%,#F0E9D7 100%);padding:clamp(48px,6vw,80px) 0 0}
.hero .inner{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,60px);align-items:center;
padding-bottom:clamp(40px,6vw,68px)}
@media(max-width:920px){.hero .inner{grid-template-columns:1fr}}
/* ---------- walking mascots ---------- */
.mascot-host{position:relative;overflow:hidden}
.mascot{position:absolute;left:0;height:auto;z-index:1;pointer-events:none;user-select:none;
-webkit-user-select:none;will-change:transform}
.mascot-a{width:clamp(78px,8.5vw,134px);bottom:clamp(14px,5%,78px);opacity:.15;
animation:mascotWalk 28s linear infinite}
.mascot-b{width:clamp(54px,5.6vw,90px);bottom:clamp(44px,11%,152px);opacity:.13;
animation:mascotWalkBack 38s linear infinite}
/* in the hero the mountain silhouette fills the lower band, so walk the skyline instead */
.hero .mascot-a{bottom:calc(clamp(150px,22vw,290px) * .66)}
.hero .mascot-b{bottom:calc(clamp(150px,22vw,290px) * .66 + clamp(28px,3.6vw,58px))}
@keyframes mascotWalk{
from{transform:translate3d(calc(-100% - 4vw),0,0)}
to{transform:translate3d(104vw,-54px,0)}}
@keyframes mascotWalkBack{
0%{transform:translate3d(calc(-100% - 3vw),0,0) scaleX(1)}
44%{transform:translate3d(calc(100vw - 100% - 3vw),-30px,0) scaleX(1)}
50%{transform:translate3d(calc(100vw - 100% - 3vw),-30px,0) scaleX(-1)}
94%,100%{transform:translate3d(calc(-100% - 3vw),0,0) scaleX(-1)}}
@media(max-width:699px){.mascot-b{display:none}}
@media(prefers-reduced-motion:reduce){
.mascot{animation:none}
.mascot-a{transform:translate3d(7vw,0,0)}
.mascot-b{transform:translate3d(calc(100vw - 100% - 9vw),0,0) scaleX(-1)}}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 32px}
.tags span{border:1px solid var(--line2);border-radius:100px;padding:7px 16px;font-size:.72rem;
letter-spacing:.11em;text-transform:uppercase;background:rgba(255,255,255,.66);font-weight:600;
will-change:transform;transition:transform .25s,background .25s}
.tags span:hover{transform:translate3d(0,-2px,0);background:#fff}
.cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* ---------- 3D flip pouch ---------- */
.flip{display:block;perspective:1600px;text-decoration:none;position:relative;max-width:400px;margin:0 auto}
.flipin{position:relative;transform-style:preserve-3d;will-change:transform;
transition:transform 1s cubic-bezier(.2,.8,.25,1)}
.flip:hover .flipin{transform:translate3d(0,-16px,0) rotateY(180deg) scale(1.04)}
.face{width:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;
filter:drop-shadow(0 30px 42px rgba(45,38,22,.28))}
.face.back{position:absolute;inset:0;transform:rotateY(180deg)}
.fhint{display:block;text-align:center;margin-top:20px;font-size:.705rem;letter-spacing:.2em;
text-transform:uppercase;color:var(--muted);font-weight:700;opacity:.75;transition:opacity .3s,color .3s}
.flip:hover .fhint{opacity:1;color:var(--gold)}
@media(hover:none){.flip:hover .flipin{transform:none}}

/* ---------- mushroom roll ---------- */
.rollwrap{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
padding:26px 0;position:relative;z-index:5;overflow:visible}
.roll{overflow:hidden;position:relative;
-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.rtrack{display:flex;width:max-content;will-change:transform;animation:roll 46s linear infinite}
.roll:hover .rtrack{animation-play-state:paused}
@keyframes roll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.ri{display:flex;align-items:center;gap:14px;padding:6px 34px;border-right:1px solid var(--line);
position:relative;cursor:pointer}
.ri .rt{width:56px;height:56px;border-radius:50%;overflow:hidden;flex:none;border:1px solid var(--line);
background:#fff;will-change:transform;transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s}
.ri:hover .rt{transform:scale(1.14);box-shadow:0 10px 22px -8px rgba(60,50,30,.45)}
.ri .rt img{width:100%;height:100%;object-fit:cover}
.rl b{display:block;font-family:Inter,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-size:1.04rem;color:var(--ink);font-weight:700;line-height:1.15}
.rl span{display:block;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);
font-weight:700;margin-top:4px}
.shroompop{position:fixed;width:370px;background:#fff;border:1px solid var(--line2);padding:20px;
display:flex;gap:16px;align-items:flex-start;border-radius:5px;z-index:9999;pointer-events:none;
box-shadow:0 30px 60px -20px rgba(45,38,22,.55);opacity:0;transform:translate3d(-50%,8px,0);
transition:opacity .24s ease,transform .24s cubic-bezier(.2,.8,.3,1)}
.shroompop.show{opacity:1;transform:translate3d(-50%,0,0)}
.shroompop::after{content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:12px;background:#fff;
border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);transform:translateX(-50%) rotate(45deg)}
.shroompop img{width:80px;height:80px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--line)}
.shroompop h4{font-size:1.06rem;margin-bottom:1px;font-family:Inter,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;color:var(--ink)}
.shroompop em{font-style:italic;color:var(--muted);font-size:.75rem;display:block;margin-bottom:8px}
.shroompop p{font-size:.83rem;line-height:1.56;color:var(--body);margin:0}
.shroompop .dose{display:inline-block;margin-top:9px;font-size:.685rem;letter-spacing:.13em;
text-transform:uppercase;color:var(--gold);font-weight:700}
@media(max-width:700px){.shroompop{width:260px;padding:15px;gap:12px}.shroompop img{width:56px;height:56px}.ri{padding:6px 22px}}

.strip{background:var(--green-d);padding:19px 0}
.strip .wrap{display:flex;justify-content:center;gap:clamp(18px,4vw,50px);flex-wrap:wrap;
font-size:.71rem;letter-spacing:.2em;text-transform:uppercase;color:#B4C2A6;font-weight:700}

.band{position:relative;min-height:clamp(440px,58vw,640px);display:flex;align-items:center;
background-size:cover;background-position:center 34%}
.band::after{content:"";position:absolute;inset:0;
background:linear-gradient(90deg,rgba(9,14,8,.91) 0%,rgba(9,14,8,.68) 46%,rgba(9,14,8,.14) 100%)}
.band .wrap{z-index:3;padding:76px 28px}
.band .box{max-width:560px}
@media(max-width:760px){.band::after{background:linear-gradient(180deg,rgba(9,14,8,.55),rgba(9,14,8,.94))}}

.shrooms{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:920px){.shrooms{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:520px){.shrooms{grid-template-columns:1fr}}
.sh{text-align:center;will-change:transform;transition:transform .3s cubic-bezier(.2,.8,.3,1)}
.sh:hover{transform:translate3d(0,-7px,0)}
.sh .ph{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#fff;border:1px solid var(--line);
margin-bottom:20px;transition:box-shadow .3s}
.sh:hover .ph{box-shadow:0 18px 36px -14px rgba(60,50,30,.45)}
.sh .ph img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.8,.3,1)}
.sh:hover .ph img{transform:scale(1.08)}
.sh h3{margin-bottom:3px}
.sh em{font-style:italic;color:var(--muted);font-size:.8rem;display:block;margin-bottom:10px}
.sh .ben{display:inline-block;font-size:.715rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);
font-weight:700;margin-bottom:8px}
.sh .mg{font-family:Inter,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-size:1.2rem;color:var(--ink);font-weight:700}

.facts{width:100%;border-collapse:collapse}
.facts th{text-align:left;font-size:.655rem;letter-spacing:.19em;text-transform:uppercase;color:var(--muted);
font-weight:700;padding-bottom:13px;border-bottom:2px solid var(--line2)}
.facts td{padding:13px 0;border-bottom:1px solid var(--line);font-size:.945rem}
.facts td:first-child{color:var(--ink);font-weight:600}
.facts td.ben{color:var(--sage);font-weight:600}
.facts td:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}
.facts tr.ind td:first-child{padding-left:22px;font-weight:400;color:var(--body)}
.facts tr.tot td{font-weight:700;color:var(--ink);border-bottom:none;padding-top:16px}

.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
@media(max-width:920px){.g3,.g2{grid-template-columns:1fr}}
.g3>div,.g2>div{background:var(--paper);padding:clamp(26px,3.2vw,36px);will-change:transform;
transition:background .25s,transform .25s}
.g3>div:hover,.g2>div:hover{background:#fff;transform:translate3d(0,-3px,0)}
.bg-cream .g3>div,.bg-cream .g2>div{background:var(--cream)}
.bg-sand .g3>div,.bg-sand .g2>div{background:var(--sand)}
.card{background:var(--paper);border:1px solid var(--line);padding:clamp(28px,3.2vw,38px)}
.card h3{margin-bottom:11px}.card p{font-size:.935rem}
.num{display:block;font-size:2.4rem;color:var(--gold);line-height:1;
margin-bottom:12px;letter-spacing:-.03em;font-weight:700}

/* ---------- stockists ---------- */
.stores{display:grid;gap:26px}
.store{display:grid;grid-template-columns:.92fr 1.08fr;background:var(--paper);border:1px solid var(--line);
overflow:hidden;will-change:transform;transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s}
.store:hover{transform:translate3d(0,-5px,0);box-shadow:0 22px 44px -22px rgba(50,42,24,.4)}
.store:nth-child(even){grid-template-columns:1.08fr .92fr}
.store:nth-child(even) .sph{order:2}
@media(max-width:820px){.store,.store:nth-child(even){grid-template-columns:1fr}
.store:nth-child(even) .sph{order:0}}
.sph{position:relative;min-height:290px;overflow:hidden;background:var(--sand)}
.sph img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.3,1)}
.store:hover .sph img{transform:scale(1.06)}
.sph .tagp{position:absolute;top:18px;left:18px;background:rgba(253,251,246,.95);padding:7px 14px;
font-size:.655rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:var(--green);border-radius:2px}
.sbody{padding:clamp(28px,3.4vw,42px)}
.sbody h3{font-size:1.5rem;margin-bottom:4px}
.sbody .addr{font-size:.92rem;color:var(--body);margin-bottom:16px}
.sbody .meta{display:flex;gap:22px;flex-wrap:wrap;font-size:.83rem;color:var(--muted);margin-bottom:18px}
.sbody .meta b{color:var(--ink);display:block;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;
margin-bottom:3px;font-weight:700}
.sbody p{font-size:.92rem}
.slinks{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.slinks a{font-size:.8rem;font-weight:700;letter-spacing:.05em;text-decoration:none;color:var(--gold);
border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .2s}
.slinks a:hover{border-color:var(--gold)}
.placeholder{display:flex;align-items:center;justify-content:center;height:100%;
background:linear-gradient(150deg,#EDE6D5,#E2DAC5);position:relative}
.placeholder svg{width:52%;opacity:.3;color:var(--green)}
.soon{margin-top:30px;padding:26px 30px;border:1px dashed var(--line2);display:flex;
justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:center;background:rgba(255,255,255,.45)}
.soon b{font-family:Inter,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-size:1.08rem}
.soon span{font-size:.88rem}
.soon a{color:var(--gold);font-weight:700;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.soon a:hover{border-color:var(--gold)}

figure img{border:1px solid var(--line)}
figcaption{margin-top:15px;font-size:.82rem;color:var(--muted)}
figcaption b{display:block;color:var(--ink);font-size:.685rem;letter-spacing:.17em;text-transform:uppercase;
margin-bottom:6px;font-weight:700}
.pull{font-size:1.24rem;color:var(--ink);line-height:1.5;font-weight:600;
margin-top:26px;padding-left:22px;border-left:3px solid var(--gold)}
.on-dark .pull{color:#F4F1E6;border-color:var(--gold-lt)}
.sig{margin-top:36px;padding-top:24px;border-top:1px solid var(--line2);display:flex;align-items:center;gap:16px}
.sig-mark{width:44px;height:44px;border-radius:50%;background:var(--green);color:#F2EFE3;display:flex;
align-items:center;justify-content:center;font-family:Inter,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;font-size:1.05rem;flex:none}
.sig b{display:block;font-family:Inter,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-size:1.18rem;color:var(--ink)}
.sig span{font-size:.84rem;color:var(--muted)}

.buy{border:1px solid var(--line2);padding:clamp(30px,3.6vw,44px);background:var(--paper)}
.price{font-size:2.6rem;color:var(--ink);line-height:1;letter-spacing:-.035em;font-weight:700}
.price small{font-family:Inter,sans-serif;font-size:.85rem;color:var(--muted);font-weight:500;margin-left:10px}
.spec{list-style:none;margin:28px 0 0}
.spec li{padding:11px 0;border-bottom:1px solid var(--line);font-size:.905rem;display:flex;
justify-content:space-between;gap:16px}
.spec li span:last-child{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}
.optin{margin-top:24px;border:1px solid var(--gold);background:rgba(220,179,122,.13);padding:18px 20px}
.optin label{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:.89rem}
.optin input{margin-top:4px;width:17px;height:17px;accent-color:var(--gold);flex:none;cursor:pointer}
.optin .h{font-family:Inter,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;color:var(--ink);font-size:1rem;display:block;margin-bottom:2px}
.optin .n{display:block;font-size:.79rem;color:var(--muted);margin-top:5px}
.optin input:checked ~ span .h{color:var(--gold)}

details{border-bottom:1px solid var(--line);padding:22px 0}
summary{cursor:pointer;color:var(--ink);font-size:1.06rem;font-weight:700;letter-spacing:-.012em;
list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:center;transition:color .2s}
summary:hover{color:var(--gold)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--gold);font-size:1.3rem;font-weight:300;font-family:Inter,sans-serif}
details[open] summary::after{content:"\2013"}
details p{margin-top:13px;font-size:.945rem;max-width:66ch}

.signup{text-align:center;max-width:680px;margin:0 auto}
.offer{display:inline-block;border:1px solid var(--gold-lt);color:#F4EFE0;padding:11px 26px;
font-size:.88rem;letter-spacing:.05em;border-radius:100px;background:rgba(220,179,122,.14)}
.offer b{color:var(--gold-lt);font-size:1.02rem}
.form{display:flex;gap:10px;max-width:470px;margin:26px auto 0;flex-wrap:wrap}
.form input{flex:1;min-width:230px;padding:15px 18px;border-radius:3px;border:1px solid rgba(255,255,255,.38);
background:rgba(255,255,255,.13);color:#fff;font-size:.93rem;font-family:inherit;
transition:border-color .2s,background .2s}
.form input::placeholder{color:#ACB7A0}
.form input:focus{outline:none;border-color:var(--gold-lt);background:rgba(255,255,255,.2)}
.msg{margin-top:20px;font-size:.96rem;color:var(--gold-lt);display:none;font-weight:700}
.note{font-size:.79rem;color:#96A38B;margin-top:18px}
.hikes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px;text-align:left}
@media(max-width:820px){.hikes{grid-template-columns:1fr}}
.hikes>div{border:1px solid rgba(255,255,255,.19);padding:28px;will-change:transform;
transition:background .28s,border-color .28s,transform .28s}
.hikes>div:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.38);transform:translate3d(0,-4px,0)}
.hikes h3{font-size:1.05rem;margin-bottom:9px}
.hikes p{font-size:.895rem;color:#BDC7B2}

.cp{display:flex;align-items:center;gap:18px;margin-top:30px}
.cp img{width:78px}
.cp p{font-size:.87rem;color:var(--muted);max-width:32ch}

footer{background:var(--green-d);color:#ABB89F;padding:clamp(54px,6vw,76px) 0 48px;font-size:.885rem;
position:relative;overflow:hidden}
footer .logo .t{color:#F4F2E7}footer .logo .s{color:var(--gold-lt)}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr;gap:34px}
@media(max-width:920px){.fgrid{grid-template-columns:1fr 1fr;gap:30px}}
footer h4{font-size:.685rem;letter-spacing:.19em;text-transform:uppercase;color:#F2F0E5;margin-bottom:14px;
font-weight:700;font-family:Inter,sans-serif}
footer a{display:block;text-decoration:none;color:#C0CBB5;margin-bottom:9px;font-size:.895rem;transition:color .2s}
footer a:hover{color:#fff}
.soc a{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.soc svg{width:20px;height:20px;flex:none;will-change:transform;transition:transform .25s}
.soc a:hover svg{transform:scale(1.16)}
.legal{margin-top:44px;padding-top:26px;border-top:1px solid rgba(255,255,255,.13);font-size:.75rem;
line-height:1.66;color:#93A18A;max-width:80ch}

/* ---------- brewing methods ---------- */
.brew{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,34px)}
@media(max-width:860px){.brew{grid-template-columns:1fr}}
.bw{text-align:center;padding:clamp(30px,3.4vw,42px) 26px;background:rgba(255,255,255,.62);
border:1px solid var(--line);border-radius:4px;position:relative;overflow:hidden;
will-change:transform;transition:transform .35s cubic-bezier(.2,.8,.3,1),box-shadow .35s,background .35s}
.bw:hover{transform:translate3d(0,-7px,0);background:#fff;box-shadow:0 24px 44px -22px rgba(50,42,24,.4)}
.bw .ic{width:74px;height:74px;margin:0 auto 20px;color:var(--green);position:relative}
.bw .ic svg{width:100%;height:100%;overflow:visible}
.bw h3{font-size:1.2rem;margin-bottom:9px}
.bw p{font-size:.92rem;color:var(--body);max-width:30ch;margin:0 auto}
.bw .step{display:block;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
font-weight:700;margin-bottom:12px}
.steam{opacity:0;animation:none}
.bw:hover .steam{animation:steam 2.1s ease-in-out infinite}
.bw:hover .steam:nth-of-type(2){animation-delay:.35s}
.bw:hover .steam:nth-of-type(3){animation-delay:.7s}
@keyframes steam{0%{opacity:0;transform:translate3d(0,4px,0) scaleY(.6)}
25%{opacity:.8}70%{opacity:.35}100%{opacity:0;transform:translate3d(0,-16px,0) scaleY(1.25)}}
.cube{transform-origin:center;transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.bw:hover .cube1{transform:translate3d(0,-5px,0) rotate(-14deg)}
.bw:hover .cube2{transform:translate3d(0,-8px,0) rotate(11deg)}
.bw:hover .cube3{transform:translate3d(0,-4px,0) rotate(-7deg)}
.pour{stroke-dasharray:44;stroke-dashoffset:44;transition:stroke-dashoffset .8s ease}
.bw:hover .pour{stroke-dashoffset:0}
.swirl{transform-origin:50% 62%;transition:transform .9s cubic-bezier(.3,1,.4,1)}
.bw:hover .swirl{transform:rotate(22deg)}
/* colorado proud */
.cp img{will-change:transform;transition:transform .5s cubic-bezier(.2,1.5,.4,1),filter .4s;
filter:saturate(.92)}
.cp:hover img{transform:scale(1.13) rotate(-7deg);filter:saturate(1.1)}
.cp{cursor:default}
/* ---------- checkout opt-in ---------- */
.optin{margin-top:24px;border:1px solid var(--gold);background:rgba(220,179,122,.13);padding:20px}
.optin label{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:.89rem}
.optin input[type=checkbox]{margin-top:4px;width:18px;height:18px;accent-color:var(--gold);flex:none;cursor:pointer}
.optin .h{font-family:Inter,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:700;color:var(--ink);font-size:1.02rem;display:block;margin-bottom:3px}
.optin .n{display:block;font-size:.79rem;color:var(--muted);margin-top:6px}
/* The join button is a .btn.gold - radius, weight, letter-spacing, gold fill,
   cream text, hover lift and shadow all come from there - widened to fill the
   box and centred. */
.optin .join{display:block;width:100%;margin-top:16px;text-align:center}
.optin .joinnote{display:block;font-size:.78rem;color:var(--muted);text-align:center;margin-top:10px}
/* ---------- free shipping offer ---------- */
.shipoffer{position:relative;margin-top:24px;border:1px solid var(--gold);background:var(--cream);
border-radius:3px;padding:18px;transition:background .25s,box-shadow .25s,transform .25s}
.shipoffer:hover{background:#FFFFFF;box-shadow:0 12px 28px rgba(18,23,15,.12);transform:translateY(-2px)}
.shipoffer .tag{position:absolute;top:18px;right:18px;font-size:.64rem;letter-spacing:.16em;
text-transform:uppercase;font-weight:700;color:var(--gold)}
.shipoffer b{display:block;font-family:Inter,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
font-weight:700;font-size:1.02rem;color:var(--ink);padding-right:150px}
.shipoffer .note{display:block;font-size:.86rem;line-height:1.5;color:var(--muted);margin-top:6px}
.shipoffer .note.free{color:var(--gold);font-weight:600}
@media(max-width:560px){.shipoffer .tag{position:static;display:block;margin-bottom:8px}
.shipoffer b{padding-right:0}}
/* ---------- quantity stepper ---------- */
/* One cream tile: minus, the number, plus. The number is a span, not an input -
   there is nothing to type into and nothing to focus. */
.qty{margin-top:24px}
.qty .qlbl{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
color:var(--muted);font-weight:700;margin-bottom:9px}
.qbox{display:inline-flex;align-items:stretch;background:var(--cream);border:1px solid var(--line2);
border-radius:3px;overflow:hidden}
.qstep{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:0;
background:transparent;color:var(--green);font-family:inherit;font-size:1.25rem;font-weight:600;
line-height:1;cursor:pointer;transition:background .2s,transform .12s}
.qstep:hover{background:#FFFFFF}
.qstep:active{transform:scale(.93)}
.qstep:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}
/* at the limit: dimmed, and neither hover nor click reaches it */
.qstep.off{opacity:.4;pointer-events:none}
.qnum{min-width:54px;display:flex;align-items:center;justify-content:center;
font-family:Inter,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
font-weight:600;font-size:1.05rem;color:var(--ink);-webkit-user-select:none;user-select:none}
.price s{color:var(--muted);font-size:1.5rem;font-weight:400;margin-right:10px;text-decoration-thickness:2px}
/* straight headings inside the founder story */
.storybody h2{font-weight:700;letter-spacing:-.018em;
font-size:clamp(1.4rem,2.5vw,1.85rem);line-height:1.2}

/* ---------- floating benefit badges (shop hero only) ---------- */
/* The badges live in .bfield, a pointer-transparent layer pinned to the TOP of
   the shop hero - it reaches a little above the buy panel, into the hero's own
   top padding, and stops well short of the mountain band. That fixed height is
   what keeps the badges in the upper hero area: they can never drift down over
   the specs, the checkout button or anything below the product.
   .wrap is already position:relative at z-index 2 and is the containing block,
   so the field drops to z-index 0 and the pouch and buy panel sit over it. */
.bfield{position:absolute;top:clamp(-56px,-4.4vw,-26px);left:-2.5%;right:-2.5%;
height:clamp(330px,46vw,600px);z-index:0;pointer-events:none}
@media(max-width:920px){.bfield{left:0;right:0}}
.badge-host .flip,.badge-host .buy{position:relative;z-index:2}
.bbadge{position:absolute;pointer-events:none;white-space:nowrap;border-radius:100px;
border:1px solid #9C6A2B;background:rgba(246,241,229,.7);padding:8px 16px;
font-family:Inter,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
font-size:.78rem;font-weight:700;letter-spacing:.06em;color:#2F3D2A;opacity:.55;
will-change:transform}
/* scattered across the top band: around the pouch, through the gap beside it,
   and over the buy panel - including above the product title */
.bbadge:nth-child(1){top:4%;left:3%;animation:bdriftA 19s ease-in-out -2.4s infinite}
.bbadge:nth-child(2){top:0;left:24%;animation:bdriftB 23s ease-in-out -8.1s infinite}
.bbadge:nth-child(3){top:34%;left:0;animation:bdriftC 17s ease-in-out -5.3s infinite}
.bbadge:nth-child(4){top:20%;left:41%;animation:bdriftB 21s ease-in-out -12.7s infinite}
.bbadge:nth-child(5){top:60%;left:13%;animation:bdriftA 24s ease-in-out -6.8s infinite}
.bbadge:nth-child(6){top:14%;left:48%;animation:bdriftC 16s ease-in-out -10.2s infinite}
.bbadge:nth-child(7){top:0;left:62%;animation:bdriftB 18s ease-in-out -3.6s infinite}
.bbadge:nth-child(8){top:44%;left:50%;animation:bdriftC 22s ease-in-out -14.5s infinite}
/* gentle loops - a little up and down, a little side to side */
@keyframes bdriftA{
0%,100%{transform:translate3d(0,0,0)}
25%{transform:translate3d(7px,-11px,0)}
50%{transform:translate3d(-4px,-19px,0)}
75%{transform:translate3d(-8px,-8px,0)}}
@keyframes bdriftB{
0%,100%{transform:translate3d(0,0,0)}
30%{transform:translate3d(-9px,-14px,0)}
60%{transform:translate3d(5px,-20px,0)}
85%{transform:translate3d(8px,-6px,0)}}
@keyframes bdriftC{
0%,100%{transform:translate3d(0,0,0)}
22%{transform:translate3d(6px,-16px,0)}
55%{transform:translate3d(-7px,-6px,0)}
80%{transform:translate3d(-3px,-17px,0)}}
/* four is plenty on a phone */
@media(max-width:699px){.bbadge:nth-child(4),.bbadge:nth-child(5),
.bbadge:nth-child(7),.bbadge:nth-child(8){display:none}}
/* :nth-child(n) only to match the specificity of the placement rules above,
   so the motion is genuinely switched off rather than merely overridden. */
@media(prefers-reduced-motion:reduce){.bbadge:nth-child(n){animation:none}}

/* ---------- customer reviews ---------- */
/* Stars: an empty row with a gold row on top, cut to the rating's width, so
   4.3 shows as four and a third stars. --s sets the star size. */
.stars{--r:0;--s:17px;display:inline-block;position:relative;vertical-align:middle;width:calc(var(--s)*5);height:var(--s);
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23E1D9C6' d='M12 2.2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 17.1l-6.1 3.5 1.5-6.8L2.2 9.2l6.9-.7z'/%3E%3C/svg%3E") 0 0/var(--s) var(--s) repeat-x}
.stars::after{content:"";position:absolute;inset:0;width:calc(var(--r) / 5 * 100%);
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%239C6A2B' d='M12 2.2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 17.1l-6.1 3.5 1.5-6.8L2.2 9.2l6.9-.7z'/%3E%3C/svg%3E") 0 0/var(--s) var(--s) repeat-x}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.rv-avg{display:flex;align-items:center;gap:18px}
.rv-avg .stars{--s:22px}
.rv-avg .sub{margin-top:6px}
.rv-big{font-size:clamp(2.8rem,6vw,3.6rem);font-weight:800;color:var(--ink);letter-spacing:-.04em;line-height:1}
.rv-avg-sm{margin-top:22px}
.rv-avg-sm .rv-big{font-size:2.4rem}
.rv-avg-sm .stars{--s:19px}

.rv-summary{max-width:440px;width:100%;justify-self:end}
.rv-bars{margin-top:24px;display:grid;gap:9px}
.rv-bar{display:grid;grid-template-columns:52px 1fr 30px;align-items:center;gap:12px;font-size:.8rem;font-weight:600;color:var(--body)}
.rv-track{height:8px;border-radius:8px;background:var(--sand);overflow:hidden;display:block}
.rv-track i{display:block;height:100%;background:var(--gold);border-radius:8px;transition:width .8s cubic-bezier(.2,.8,.3,1)}
.rv-n{text-align:right;color:var(--muted)}
@media(max-width:920px){.rv-summary{justify-self:stretch;max-width:none}}

.rv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;flex-wrap:wrap;margin-bottom:36px}
.rv-sort{display:flex;flex-wrap:wrap;gap:8px}
.rv-sort button{font-family:inherit;border:1px solid var(--line2);border-radius:100px;padding:8px 16px;font-size:.72rem;
letter-spacing:.09em;text-transform:uppercase;background:rgba(255,255,255,.66);font-weight:600;color:var(--body);cursor:pointer;
transition:background .2s,border-color .2s,color .2s}
.rv-sort button:hover{background:#fff;border-color:var(--ink);color:var(--ink)}
.rv-sort button.on{background:var(--green);border-color:var(--green);color:#F8F6ED}

.rv-list{display:grid;gap:16px}
.rv-grid3{grid-template-columns:repeat(3,1fr)}
@media(max-width:920px){.rv-grid3{grid-template-columns:1fr}}
.rv-item{background:var(--paper);border:1px solid var(--line);padding:clamp(22px,3vw,32px);min-width:0}
.rv-top{display:flex;align-items:center;gap:13px;margin-bottom:12px}
.rv-top b{display:block;color:var(--ink);font-size:.95rem;line-height:1.3}
.rv-top time{display:block;color:var(--muted);font-size:.78rem}
.rv-av{flex:none;width:42px;height:42px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;
background:var(--green);color:#F8F6ED;font-weight:700;font-size:1.02rem}
.rv-av img{width:100%;height:100%;object-fit:cover}
.rv-title{margin:12px 0 6px;font-size:1.04rem}
.rv-item .stars+.rv-text{margin-top:10px}
.rv-text{font-size:.94rem;white-space:pre-line;overflow-wrap:anywhere}
.rv-grid3 .rv-text{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.rv-media{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.rv-thumb{border:1px solid var(--line);padding:0;background:var(--cream);cursor:zoom-in;width:92px;height:92px;overflow:hidden;border-radius:3px}
.rv-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.rv-thumb:hover img{transform:scale(1.06)}
.rv-vid{width:100%;max-width:420px;max-height:320px;background:#000;border-radius:3px}
.rv-grid3 .rv-thumb{width:64px;height:64px}
.rv-reply{margin-top:18px;border-left:3px solid var(--gold);background:var(--cream);padding:14px 18px;font-size:.9rem}
.rv-reply b{display:block;font-size:.68rem;letter-spacing:.19em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.rv-reply p{white-space:pre-line;overflow-wrap:anywhere}
.bg-cream .rv-reply{background:var(--sand)}
.rv-empty{background:var(--paper);border:1px dashed var(--line2);padding:30px;text-align:center;color:var(--muted);grid-column:1/-1}
.rv-empty a{color:var(--gold);font-weight:700;text-decoration:none}
.rv-more{text-align:center;margin-top:30px}

/* write a review */
.rv-writewrap{align-items:start}
.rv-write h3{margin-bottom:8px}
.rv-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin-top:22px;padding:14px 18px;border-radius:3px;
border:1px solid var(--line2);background:#fff;color:#1f1f1f;font-family:inherit;font-size:.92rem;font-weight:600;cursor:pointer;
transition:box-shadow .2s,border-color .2s}
.rv-google:hover{border-color:var(--ink);box-shadow:0 8px 20px -10px rgba(26,33,22,.45)}
.rv-google svg{width:20px;height:20px}
.rv-guestbtn{width:100%;margin-top:11px;padding:14px}
.rv-who{display:flex;align-items:center;gap:13px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.rv-who b{display:block;color:var(--ink);font-size:.95rem;line-height:1.3}
.rv-who .sub{display:block;font-size:.76rem}
.rv-link{margin-left:auto;background:none;border:0;color:var(--gold);font-family:inherit;font-weight:700;font-size:.8rem;cursor:pointer;text-align:right}
.rv-field{margin-bottom:16px;border:0}
.rv-field label,.rv-field legend,.rv-label{display:block;font-size:.685rem;letter-spacing:.17em;text-transform:uppercase;color:var(--ink);
font-weight:700;margin-bottom:8px}
.rv-field label .sub,.rv-label .sub{text-transform:none;letter-spacing:0;font-weight:400}
.req{color:var(--gold)}
.rv-input{width:100%;padding:13px 15px;border-radius:3px;border:1px solid var(--line2);background:var(--cream);color:var(--ink);
font-family:inherit;font-size:16px;resize:vertical}
.rv-input:focus{outline:none;border-color:var(--gold)}
.rv-counter{display:block;text-align:right;margin-top:4px;font-size:.75rem}
.rv-rate{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rv-rate legend{float:left;width:100%}
.rv-starpick{display:inline-flex;flex-direction:row-reverse;gap:4px}
.rv-starpick input{position:absolute;opacity:0;width:1px;height:1px}
.rv-starpick label{width:36px;height:36px;margin:0;cursor:pointer;
background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23E1D9C6' d='M12 2.2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 17.1l-6.1 3.5 1.5-6.8L2.2 9.2l6.9-.7z'/%3E%3C/svg%3E") center/32px no-repeat;
transition:transform .15s}
.rv-starpick label:hover,.rv-starpick label:hover~label,.rv-starpick input:checked~label{
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%239C6A2B' d='M12 2.2l2.9 6.3 6.9.7-5.2 4.6 1.5 6.8L12 17.1l-6.1 3.5 1.5-6.8L2.2 9.2l6.9-.7z'/%3E%3C/svg%3E")}
.rv-starpick label:hover{transform:scale(1.12)}
.rv-starpick input:focus-visible+label{outline:2px solid var(--gold);outline-offset:2px;border-radius:3px}
.rv-uploads{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rv-pick{position:relative;display:flex !important;flex-direction:column;align-items:center;justify-content:center;text-align:center;
border:1px dashed var(--line2);border-radius:3px;background:var(--cream);padding:16px 10px;cursor:pointer;margin:0 !important;
text-transform:none !important;letter-spacing:0 !important;transition:border-color .2s,background .2s}
.rv-pick:hover{border-color:var(--gold);background:#fff}
.rv-pick input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.rv-pick span{font-size:.86rem;font-weight:700;color:var(--ink)}
.rv-pick small{font-size:.72rem;color:var(--muted);font-weight:400;margin-top:2px}
.rv-pick.off{opacity:.45;cursor:not-allowed}
.rv-pick.off input{cursor:not-allowed}
@media(max-width:420px){.rv-uploads{grid-template-columns:1fr}}
.rv-previews{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.rv-prev{position:relative;width:72px;height:72px;border-radius:3px;overflow:hidden;border:1px solid var(--line);background:var(--sand)}
.rv-prev img{width:100%;height:100%;object-fit:cover}
.rv-vtile{display:flex;align-items:center;justify-content:center;height:100%;font-size:.68rem;font-weight:700;color:var(--ink);text-align:center;padding:4px}
.rv-prev button{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(18,23,15,.78);
color:#fff;font-size:.9rem;line-height:22px;cursor:pointer;padding:0}
.rv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rv-err{color:#A2361F;font-size:.88rem;font-weight:600;min-height:0;margin-top:12px}
.rv-err:empty{display:none}
.rv-progress{text-align:center;margin-top:10px}
.rv-progress:empty{display:none}
.rv-thanks{text-align:center;padding:12px 0}
.rv-thanks h3{color:var(--gold);font-size:1.4rem}

/* photo viewer */
.rv-lb{position:fixed;inset:0;z-index:1000;background:rgba(12,15,10,.92);display:none;align-items:center;justify-content:center;padding:20px}
.rv-lb.open{display:flex}
.rv-lb img{max-width:min(1100px,100%);max-height:88vh;object-fit:contain;border-radius:3px}
.rv-lb button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;cursor:pointer;border-radius:50%;
width:48px;height:48px;font-size:1.9rem;line-height:1;display:flex;align-items:center;justify-content:center}
.rv-lb button:hover{background:rgba(255,255,255,.24)}
.rv-lbx{top:16px;right:16px}
.rv-lbp{left:16px;top:50%;margin-top:-24px}
.rv-lbn{right:16px;top:50%;margin-top:-24px}
.rv-lb button[hidden]{display:none}
@media(max-width:600px){.rv-lbp,.rv-lbn{top:auto;bottom:22px;margin-top:0}.rv-lbp{left:calc(50% - 60px)}.rv-lbn{right:calc(50% - 60px)}}
body.rv-noscroll{overflow:hidden}
.rv-more .btn[hidden]{display:none}

/* admin */
.ad-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:26px 0 20px}
.ad-policy{border-left:3px solid var(--gold);background:var(--cream);padding:16px 20px;font-size:.9rem;margin-top:22px}
.ad-item{position:relative}
.ad-item.hidden-review{background:#F7EFEA;border-color:#E5CFC4}
.ad-status{display:inline-block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:100px;
background:var(--sand);color:var(--sage);margin-left:auto}
.hidden-review .ad-status{background:#E9CFC4;color:#8A3A22}
.ad-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.ad-actions .btn{padding:10px 18px;font-size:.78rem}
.ad-actions select{padding:10px 12px;border-radius:3px;border:1px solid var(--line2);background:var(--cream);font-family:inherit;font-size:.85rem;color:var(--ink)}
.ad-replybox{width:100%;margin-top:12px}
.ad-replybox textarea{min-height:90px}
.ad-meta{font-size:.78rem;color:var(--muted);margin-top:4px}
#adOut[hidden]{display:none}

/* Netlify adds a "Powered by Netlify" badge to every live page through its own
   script; this keeps it from showing. */
#nl-badge-frame{display:none !important}

/* ---------- legal pages (privacy, terms) ---------- */
.doc h2{font-size:1.3rem;letter-spacing:-.016em;margin:40px 0 12px}
.doc ul{padding-left:20px;margin-top:12px}.doc li+li{margin-top:10px}
.doc a{color:var(--gold);font-weight:600}
.doc .updated{color:var(--muted);font-size:.85rem}

/* ---------- languages: switcher, first-visit pop-up, Spanish & Nepali ---------- */
/* EN | ES | NE sits in the top-right corner of the header on every screen size,
   above the Shop button, so it never competes with the menu for space. */
.nav .langsw{position:absolute;top:4px;right:28px;display:flex;align-items:center;z-index:2}
/* .navR .langsw a:not(.btn) out-ranks the header link styles (.navR a:not(.btn)) */
.navR .langsw a:not(.btn),.langsw a{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-decoration:none;color:var(--muted);
padding:2px 7px;line-height:1.2;border-radius:2px;transition:color .2s,background .2s}
.navR .langsw a:not(.btn)::before{content:none}
.langsw a+a{border-left:1px solid var(--line2)}
.navR .langsw a:not(.btn):hover,.langsw a:hover{color:var(--ink)}
.navR .langsw a.on,.langsw a.on{color:var(--gold)}
.langsw a:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.navL a,.navR a{white-space:nowrap}
/* In the open mobile menu the choice is spelled out, with room for a thumb. */
.nav .mobnav .langsw-mob{position:static;margin-top:4px;padding-top:16px;border-top:1px solid var(--line);align-self:stretch}
.mobnav .langsw-mob a{font-size:.9rem;letter-spacing:0;padding:8px 14px;color:var(--body)}
.mobnav .langsw-mob a:first-child{padding-left:0}
.mobnav .langsw-mob a.on{color:var(--gold)}
@media(max-width:1080px){.nav .langsw{top:2px;right:22px}}
@media(max-width:1240px){html:not([lang=en]) .navL{gap:20px}html:not([lang=en]) .navR{gap:12px}}

/* tagline translation under the English "Wake the Sherpa within you." */
.tagline-tr{margin-top:14px;font-size:clamp(1rem,1.6vw,1.18rem);font-weight:600;color:var(--gold);line-height:1.45}

.langpop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;
background:rgba(18,23,15,.58);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s ease}
.langpop.show{opacity:1}
.langpop-card{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold);width:100%;max-width:440px;
padding:clamp(28px,6vw,44px) clamp(22px,6vw,40px);text-align:center;box-shadow:0 30px 80px rgba(9,14,8,.35);
transform:translate3d(0,14px,0);transition:transform .35s cubic-bezier(.2,.8,.3,1);max-height:calc(100vh - 40px);overflow-y:auto}
.langpop.show .langpop-card{transform:none}
.langpop-logo{width:64px;margin:0 auto 18px}
.langpop h2{font-size:clamp(1.45rem,4.6vw,1.8rem);line-height:1.3;letter-spacing:-.016em}
.langpop h2,.langpop-note{font-family:Inter,"Noto Sans Devanagari",system-ui,sans-serif}
.langpop [lang=ne]{letter-spacing:normal;line-height:1.5}
.langpop-alt{margin-top:8px;color:var(--muted);font-size:.92rem;line-height:1.6;font-family:Inter,"Noto Sans Devanagari",system-ui,sans-serif}
.langpop-alt i{font-style:normal;margin:0 8px;color:var(--line2)}
.langpop .rule{margin:22px auto}
.langpop-btns{display:flex;flex-direction:column;gap:12px}
.langpop-btn{width:100%;padding:17px 20px;font:700 1.12rem/1.3 Inter,"Noto Sans Devanagari",system-ui,sans-serif;cursor:pointer;
background:transparent;color:var(--ink);border:1px solid var(--line2);border-radius:3px;
transition:background .2s,border-color .2s,color .2s,transform .2s}
.langpop-btn:hover{border-color:var(--ink);background:var(--cream);transform:translate3d(0,-2px,0)}
.langpop-btn.pre{background:var(--green);border-color:var(--green);color:#F8F6ED}
.langpop-btn.pre:hover{background:var(--green-d);border-color:var(--green-d)}
.langpop-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.langpop-note{margin-top:20px;font-size:.85rem;color:var(--muted);line-height:1.55}
body.langpop-open{overflow:hidden}
@media(prefers-reduced-motion:reduce){.langpop,.langpop-card{transition:none}}

/* Longer Spanish and Nepali words wrap instead of pushing the layout sideways. */
html:not([lang=en]) body{overflow-wrap:break-word}

/* Nepali: Devanagari from Noto Sans Devanagari (Latin text keeps Inter), taller
   lines so vowel marks above and below the letters are never clipped, and no
   letter-spacing, which breaks the headline bar that joins Devanagari letters. */
/* every element, including ones with their own Inter stack or an inline style */
html[lang=ne] *{font-family:Inter,"Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",sans-serif!important}
html[lang=ne] body :not(.logo *):not(.langsw a){letter-spacing:normal}
html[lang=ne] h1,html[lang=ne] h2,html[lang=ne] h3,html[lang=ne] h4{line-height:1.4}
html[lang=ne] .eyebrow{font-size:.8rem;line-height:1.5}
html[lang=ne] .rl span,html[lang=ne] .sh .ben,html[lang=ne] .sbody .meta b,html[lang=ne] figcaption b{font-size:.8rem;line-height:1.45}
html[lang=ne] .pull{line-height:1.65}
.pull .tagline-tr{display:block;margin-top:8px;font-size:1rem}
.tagline-tr[hidden]{display:none}
/* On phones the header only has room for the logo, the Shop button and EN | ES | NE;
   Quality, FAQ and Contact are in the ☰ menu. */
@media(max-width:700px){.navR>a:not(.btn){display:none}}

/* ---------- Holiday Season sale ---------- */
/* sale.js adds .sale-over to <html> once the sale has ended, and .holibar-closed
   when the visitor has closed the announcement bar. */
.sale-over .sale-only,.holibar-closed .holibar{display:none!important}
.holibar{position:relative;z-index:301;background:var(--green);color:#E9E6D8;font-size:.84rem;
line-height:1.45;text-align:center;padding:9px 52px}
.holibar p{margin:0 auto;max-width:1180px}
.holibar b{color:var(--gold-lt)}
.holibar .sep{margin:0 10px;color:var(--gold-lt)}
.holibar a{color:#F8F5EA;font-weight:600;text-decoration:underline;text-decoration-color:var(--gold-lt);
text-underline-offset:3px;white-space:nowrap}
.holibar a:hover{color:var(--gold-lt)}
.holibar-x{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:40px;height:40px;
display:flex;align-items:center;justify-content:center;background:none;border:0;border-radius:3px;
color:#E9E6D8;font-family:inherit;font-size:1.45rem;line-height:1;cursor:pointer;opacity:.8}
.holibar-x:hover{opacity:1;background:rgba(255,255,255,.08)}
.holibar-x:focus-visible{outline:2px solid var(--gold-lt);outline-offset:-2px;opacity:1}
@media(max-width:600px){
 .holibar{font-size:.8rem;padding:8px 46px 8px 16px}
 .holibar .sep{display:none}
 .holibar a{display:block;margin-top:2px;white-space:normal}}
/* the sale price; after the sale it simply becomes the price */
.price .now{color:var(--gold)}
.sale-over .now{color:inherit}
.salebadge{display:inline-block;margin-top:14px;padding:5px 12px;border-radius:999px;background:var(--cream);
border:1px solid var(--gold-lt);color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.1em;
text-transform:uppercase;line-height:1.35}
.btn s{font-weight:400;font-size:.88em;opacity:.62;margin:0 3px;text-decoration-thickness:1.5px}
.btn .now{font-size:1.1em;color:var(--gold-lt)}
.btn.ghost .now{color:var(--gold)}
.sale-over .btn .now{color:inherit;font-size:inherit}
.salenote{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.85rem;color:var(--muted)}
.salenote .salebadge{margin-top:0}
