@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Caveat:wght@500;600&display=swap');
@font-face{font-family:Satoshi;src:url('assets/fonts/satoshi-variable.woff2?v=17') format('woff2');font-weight:300 900;font-display:swap}
:root{--cream:#FAF9F6;--paper:#F3F0E9;--forest:#1F3A2A;--forest-2:#2C4A37;--gold:#C9A942;--olive:#958E59;--charcoal:#2A2A26;--white:#fff;--border:rgba(31,58,42,.16);--shadow:0 22px 55px rgba(31,58,42,.13);--display:'Playfair Display',Georgia,serif;--body:Satoshi,Arial,sans-serif;--shell:min(1240px,calc(100% - 40px));--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--cream);color:var(--charcoal);font-family:var(--body);font-size:16px;line-height:1.58;overflow-x:hidden}body.menu-open,body.modal-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{color:inherit}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:fixed;left:16px;top:-80px;z-index:10000;background:var(--forest);color:#fff;padding:12px 18px;border-radius:999px}.skip-link:focus{top:12px}.eyebrow{margin:0 0 14px;color:var(--olive);font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.display{font-family:var(--display);font-weight:500;letter-spacing:-.035em;line-height:.98}.accent{color:var(--gold);font-style:italic;font-weight:400}.section{position:relative;padding:clamp(76px,9vw,140px) 0}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,430px);gap:40px;align-items:end;margin-bottom:48px}.section-head h2,.article-hero h1,.page-hero h1{font-family:var(--display);font-size:clamp(2.7rem,6vw,5.8rem);font-weight:500;letter-spacing:-.045em;line-height:.95;margin:0}.section-head p{margin:0;color:#5e5b52;font-size:1.05rem}.btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:999px;padding:0 24px;font-size:.78rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s,box-shadow .25s}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn:focus-visible,.nav-link:focus-visible,.dropdown a:focus-visible,.icon-button:focus-visible,.chip:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(201,169,66,.65);outline-offset:3px}.btn-primary{background:var(--forest);color:#fff;box-shadow:0 10px 24px rgba(31,58,42,.18)}.btn-primary:hover{background:var(--forest-2)}.btn-secondary{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(12px)}.btn-outline{border-color:var(--forest);color:var(--forest);background:rgba(255,255,255,.6)}.icon-button{width:46px;height:46px;border-radius:50%;border:1px solid var(--border);display:inline-grid;place-items:center;background:#fff;cursor:pointer}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sprout{width:15px;height:15px;fill:none;stroke:var(--gold);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:translateX(-8px);transition:.24s var(--ease)}
.site-header{position:fixed;inset:20px 0 auto;z-index:9000;pointer-events:none}.nav-pill{position:relative;width:min(1340px,calc(100% - 36px));height:78px;margin:auto;border:1px solid rgba(255,255,255,.78);border-radius:999px;display:grid;grid-template-columns:260px 1fr auto;align-items:center;padding:0 12px 0 24px;box-shadow:0 15px 40px rgba(18,42,29,.16),inset 0 1px 1px rgba(255,255,255,.9);overflow:visible;pointer-events:auto}.nav-refraction,.nav-tint{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.nav-refraction{z-index:-2;background:rgba(255,255,255,.25);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);filter:url('#liquid-refraction')}.nav-tint{z-index:-1;background:rgba(255,255,255,.84);box-shadow:inset 0 2px 1px rgba(255,255,255,.72),inset 0 -1px 1px rgba(31,58,42,.08)}.brand{display:flex;align-items:center;gap:12px;color:var(--forest)}.brand img{width:42px;height:42px;object-fit:contain}.brand strong{display:block;font-family:var(--display);font-size:1.05rem;line-height:1;letter-spacing:.12em}.brand small{display:block;margin-top:4px;font-size:.58rem;letter-spacing:.16em}.desktop-nav{justify-self:center;display:flex;align-items:center;gap:3px}.nav-item{position:relative}.nav-link{min-height:46px;display:flex;align-items:center;gap:5px;padding:0 13px;border:0;background:transparent;color:var(--forest);font-size:.72rem;font-weight:700;letter-spacing:.075em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:transform .22s var(--ease),color .22s}.nav-link:hover{transform:translateX(5px);color:#856e21}.nav-link:hover .sprout{opacity:1;transform:translateX(0)}.dropdown{position:absolute;top:calc(100% + 12px);left:50%;width:260px;padding:12px;border:1px solid rgba(255,255,255,.82);border-radius:20px;background:rgba(250,249,246,.96);box-shadow:var(--shadow);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:.2s var(--ease)}.dropdown.mega{width:650px;display:grid;grid-template-columns:repeat(3,1fr);left:0;transform:translate(0,8px)}.nav-item:hover .dropdown,.nav-item.open .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translate(-50%,0)}.nav-item:hover .dropdown.mega,.nav-item.open .dropdown.mega,.nav-item:focus-within .dropdown.mega{transform:translate(0,0)}.dropdown a{display:flex;align-items:center;min-height:42px;border-radius:11px;padding:8px 12px;color:var(--forest);font-size:.78rem}.dropdown a::before{content:'';width:0;height:1px;background:var(--gold);margin-right:0;transition:.2s}.dropdown a:hover{background:rgba(201,169,66,.1)}.dropdown a:hover::before{width:12px;margin-right:8px}.nav-actions{display:flex;align-items:center;gap:8px}.menu-toggle{display:none}.mobile-sheet{display:none}.nav-spacer{height:118px}
.site-footer{position:relative;min-height:760px;padding:160px 0 30px;color:#fff;background:#12351f;overflow:hidden}.footer-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.92) saturate(1.08)}.site-footer::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,39,25,.04),rgba(15,39,25,.34))}.footer-foliage img{position:absolute;z-index:2;pointer-events:none;transform-origin:bottom center}.footer-foliage img:first-child{width:min(36vw,500px);left:-8%;bottom:-3%;animation:sway 7s ease-in-out infinite}.footer-foliage img:last-child{width:min(30vw,420px);right:-7%;bottom:-1%;animation:sway 8.5s ease-in-out -2s infinite reverse}.footer-card{position:relative;z-index:3;width:var(--shell);margin:auto;border:1px solid rgba(255,255,255,.45);border-radius:30px;padding:clamp(30px,5vw,64px);background:rgba(250,249,246,.82);backdrop-filter:blur(18px) saturate(1.25);color:var(--forest);box-shadow:inset 0 1px rgba(255,255,255,.7)}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:34px}.footer-intro p{max-width:310px;color:#526054}.footer-col h3{margin:0 0 18px;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--olive)}.footer-col ul{list-style:none;margin:0;padding:0}.footer-col a{display:inline-flex;padding:5px 0;font-size:.88rem}.footer-col a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;border-top:1px solid var(--border);margin-top:44px;padding-top:30px}.electric{font-family:var(--display);font-size:clamp(1.6rem,3.5vw,3.8rem);letter-spacing:.04em}.footer-tagline,.legal{font-size:.74rem;color:#5f6f61}.socials{display:flex;gap:9px}.socials a{width:42px;height:42px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center}.socials svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.legal{grid-column:1/-1;max-width:900px;margin:0}.reveal{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:none}@keyframes sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
.page-main{padding-top:118px}.page-hero{width:min(1420px,calc(100% - 32px));min-height:620px;margin:0 auto 30px;border-radius:32px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border:1px solid var(--border)}.page-hero-copy{align-self:center;padding:clamp(36px,6vw,88px)}.page-hero-copy p{max-width:580px;color:#5e5b52;font-size:1.08rem}.page-hero-media{min-height:520px;position:relative}.page-hero-media img{width:100%;height:100%;object-fit:cover}.page-hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--paper),transparent 25%)}.article{width:min(780px,calc(100% - 40px));margin:0 auto;padding:70px 0 120px}.article h2{font-family:var(--display);font-size:clamp(2rem,4vw,3.4rem);line-height:1.08;color:var(--forest);margin:56px 0 16px}.article h3{font-family:var(--display);font-size:1.5rem;color:var(--forest);margin-top:38px}.article p,.article li{color:#55564f}.article blockquote{margin:45px 0;padding:30px 34px;border-left:3px solid var(--gold);background:var(--paper);font-family:var(--display);font-size:1.45rem;color:var(--forest)}.article details{border-top:1px solid var(--border);padding:18px 0}.article details:last-child{border-bottom:1px solid var(--border)}.article summary{font-weight:700;cursor:pointer;min-height:44px}.contact-form{display:grid;gap:16px;margin-top:32px}.field{display:grid;gap:7px}.field label{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.field input,.field textarea,.newsletter input{width:100%;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--charcoal);padding:14px 16px;min-height:52px}.field textarea{min-height:150px;resize:vertical}.form-note{font-size:.8rem;color:#62645e}
.toast{position:fixed;left:50%;bottom:24px;z-index:10000;transform:translate(-50%,20px);opacity:0;max-width:calc(100% - 32px);padding:13px 20px;border-radius:999px;background:var(--forest);color:#fff;box-shadow:var(--shadow);transition:.25s var(--ease);pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.modal{position:fixed;inset:0;z-index:12000;display:none;place-items:center;padding:20px;background:rgba(19,35,24,.72);backdrop-filter:blur(8px)}.modal.open{display:grid}.modal-card{position:relative;width:min(840px,100%);border-radius:24px;background:var(--cream);padding:26px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.modal-close{position:absolute;right:14px;top:14px;z-index:2}.video-frame{aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:var(--forest);display:grid;place-items:center;color:#fff}.video-frame iframe{width:100%;height:100%;border:0}
@media(max-width:1120px){.nav-pill{grid-template-columns:1fr auto;height:70px;padding-left:18px}.desktop-nav,.nav-actions>.btn{display:none}.menu-toggle{display:grid}.mobile-sheet{position:fixed;inset:0;z-index:8990;display:block;padding:104px 20px 24px;background:rgba(250,249,246,.98);transform:translateY(-105%);transition:transform .45s var(--ease);pointer-events:auto}.mobile-sheet.open{transform:none}.mobile-sheet nav{width:min(700px,100%);margin:auto;display:grid}.mobile-sheet a,.mobile-sheet button{min-height:58px;display:flex;align-items:center;border:0;border-bottom:1px solid var(--border);background:transparent;font-family:var(--display);font-size:1.55rem;color:var(--forest);text-align:left}.mobile-sheet .mobile-sub{padding-left:24px;font-family:var(--body);font-size:.9rem}.site-header{inset-top:12px}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-intro{grid-column:1/-1}.page-hero{grid-template-columns:1fr;min-height:auto}.page-hero-media{min-height:420px}.page-hero-media::after{background:linear-gradient(180deg,var(--paper),transparent 20%)}}
@media(max-width:720px){:root{--shell:calc(100% - 28px)}.site-header{top:12px}.nav-pill{width:calc(100% - 20px);height:64px;padding:0 9px 0 14px}.brand img{width:36px;height:36px}.brand strong{font-size:.89rem}.brand small{font-size:.51rem}.nav-spacer,.page-main{padding-top:0}.page-main{padding-top:92px}.section{padding:72px 0}.section-head{grid-template-columns:1fr;gap:18px;margin-bottom:34px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.footer-bottom{grid-template-columns:1fr}.electric{font-size:2rem}.page-hero{width:calc(100% - 20px);border-radius:24px}.page-hero-copy{padding:34px 24px 26px}.page-hero-media{min-height:340px}.page-hero h1{font-size:3.2rem}.article{padding-top:45px}.site-footer{padding-top:100px;min-height:850px}.footer-card{padding:28px 22px}.footer-foliage img{width:60vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.article.article-wide{width:var(--shell)}.apothecary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}.specimen{border:1px solid var(--border);border-radius:20px;overflow:hidden;background:#fff}.specimen img{width:100%;aspect-ratio:1;object-fit:cover}.specimen div{padding:20px}.specimen h2{font-size:1.65rem;margin:0 0 5px}.specimen p{font-size:.84rem}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:36px 0}.step-card{padding:28px;border:1px solid var(--border);border-radius:18px;background:#fff}.step-card strong{color:var(--gold)}.step-card h2{font-size:1.7rem;margin:12px 0}.retreat-feature{position:relative;min-height:540px;border-radius:28px;overflow:hidden;margin:40px 0;color:#fff;display:flex;align-items:end}.retreat-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.58)}.retreat-feature>div{position:relative;z-index:2;padding:clamp(30px,6vw,70px);max-width:650px}.retreat-feature h2{color:#fff;font-size:clamp(2.8rem,6vw,5.5rem);margin:0 0 14px}.retreat-feature p{color:#fff}.policy-meta{display:flex;gap:18px;flex-wrap:wrap;padding:14px 0 24px;border-bottom:1px solid var(--border);font-size:.75rem;color:#71736b}@media(max-width:900px){.apothecary-grid{grid-template-columns:repeat(2,1fr)}.step-grid{grid-template-columns:1fr}}@media(max-width:560px){.apothecary-grid{grid-template-columns:1fr}}

/* Living global navigation and page ornament system. */
.site-header{top:0}.trust-ribbon{width:min(1120px,calc(100% - 70px));height:25px;margin:0 auto;overflow:hidden;border:1px solid rgba(255,255,255,.32);border-radius:0 0 14px 14px;background:rgba(21,52,33,.92);color:#f7edc7;pointer-events:auto}.trust-track{width:max-content;height:100%;display:flex;align-items:center;gap:20px;padding-inline:20px;font-size:.57rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;animation:trust-marquee 25s linear infinite}.trust-track i{color:var(--gold);font-style:normal}.nav-pill{margin-top:7px}.sprout{width:21px;height:21px;object-fit:contain;opacity:0;transform:translateX(-7px) rotate(-13deg);transition:opacity .24s var(--ease),transform .24s var(--ease)}.nav-link:hover .sprout,.nav-link:focus-visible .sprout{opacity:1;transform:translateX(0) rotate(0)}.dropdown.mega{width:820px;grid-template-columns:minmax(0,1fr) 235px;padding:14px;gap:14px}.mega-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start}.dropdown a::before{content:'';width:18px;height:18px;flex:0 0 18px;margin-right:0;background:url('assets/sprites/herb-icons/guayusa-sprig.webp?v=17') center/contain no-repeat;opacity:0;transform:scale(.55) rotate(-18deg);transition:.22s var(--ease)}.dropdown a:hover::before,.dropdown a:focus-visible::before{margin-right:7px;opacity:1;transform:scale(1) rotate(0)}.mega-feature{position:relative!important;min-height:250px!important;overflow:hidden;padding:0!important;align-items:flex-end!important;color:#fff!important}.mega-feature::before{display:none}.mega-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.56)}.mega-feature>span{position:relative;z-index:1;padding:18px}.mega-feature small{display:block;margin-bottom:7px;color:#efd477;font-size:.58rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.mega-feature strong{display:block;font-family:var(--display);font-size:1.35rem;line-height:1.05}.specimen img{aspect-ratio:3/4;object-fit:cover;object-position:center top;background:#eee6cf}.specimen{transition:transform .35s var(--ease),box-shadow .35s}.specimen:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
@keyframes trust-marquee{to{transform:translateX(-50%)}}
@media(max-width:1120px){.trust-ribbon{width:calc(100% - 36px)}.page-main{padding-top:128px}}
@media(max-width:720px){.site-header{top:0}.trust-ribbon{width:calc(100% - 20px);height:22px}.trust-track{font-size:.5rem;gap:14px}.nav-pill{margin-top:5px}.page-main{padding-top:108px}}

/* Retreat editorial system. */
.retreat-page{background:#eeefe8}.retreat-page-hero{min-height:760px;background:#e5e4d8}.retreat-page-hero .page-hero-copy{position:relative;z-index:2}.retreat-page-hero .page-hero-media img{filter:saturate(.9)}.retreat-manifesto{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:clamp(100px,14vw,190px) 0;display:grid;grid-template-columns:1fr 1.5fr;gap:34px 80px}.retreat-manifesto .eyebrow{grid-column:1/-1}.retreat-manifesto h2{margin:0;font-family:var(--display);font-size:clamp(3.3rem,7vw,7rem);font-weight:400;line-height:.93;letter-spacing:-.05em;color:var(--forest)}.retreat-manifesto>p:last-child{align-self:end;max-width:470px;color:#596159}.retreat-cinema{position:relative;width:min(1460px,calc(100% - 28px));min-height:760px;margin:0 auto 100px;border-radius:32px;overflow:hidden;display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;padding:clamp(30px,5vw,78px);gap:50px;color:#fff;background:linear-gradient(120deg,rgba(12,39,24,.97),rgba(12,39,24,.58)),url('assets/img/bg-waterfall.webp?v=17') center/cover}.retreat-cinema h2{font-family:var(--display);font-size:clamp(3.4rem,6vw,6.7rem);font-weight:400;line-height:.88;margin:0 0 22px}.retreat-cinema p{color:#d9e2d9}.retreat-cinema-screen{aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(255,255,255,.4);border-radius:24px;background:rgba(5,24,13,.68);box-shadow:0 28px 80px rgba(0,0,0,.34)}.retreat-cinema-screen iframe{width:100%;height:100%;border:0}.retreat-chapters{width:var(--shell);margin:0 auto 120px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.retreat-chapter{position:relative;min-height:610px;border-radius:24px;overflow:hidden;color:#fff}.retreat-chapter:nth-child(2){transform:translateY(55px)}.retreat-chapter img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.63);transition:transform .8s var(--ease)}.retreat-chapter:hover img{transform:scale(1.045)}.retreat-chapter::after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(10,34,20,.88))}.retreat-chapter span,.retreat-chapter h2{position:absolute;z-index:2;left:28px;right:28px}.retreat-chapter span{bottom:112px;color:#efd475;font-size:.65rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.retreat-chapter h2{bottom:25px;margin:0;font-family:var(--display);font-size:2.3rem;font-weight:400;line-height:1}.retreat-details{background:#f7f4eb}.retreat-details .step-card{min-height:260px}.retreat-interest{width:min(1460px,calc(100% - 28px));min-height:650px;margin:30px auto;border-radius:32px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(11,39,23,.9),rgba(11,39,23,.2)),url('assets/img/real-amazon-river-2.webp?v=17') center/cover}.retreat-interest>div{width:min(720px,90%);padding:clamp(40px,8vw,110px)}.retreat-interest h2{font-family:var(--display);font-size:clamp(3.4rem,7vw,7rem);font-weight:400;line-height:.9;margin:0 0 20px}

/* Story editorial system. */
.story-page{background:#f6f3e9}.story-page-hero{min-height:760px}.story-opening{width:min(1120px,calc(100% - 40px));margin:auto;padding:clamp(110px,15vw,210px) 0}.story-opening h2{margin:0 0 42px;font-family:var(--display);font-size:clamp(3.4rem,7vw,7.4rem);font-weight:400;line-height:.93;letter-spacing:-.05em;color:var(--forest)}.story-opening>p:last-child{max-width:650px;margin-left:auto;font-size:1.12rem;color:#5c625b}.story-mosaic{width:var(--shell);margin:0 auto 120px;display:grid;grid-template-columns:1.1fr .82fr .95fr;gap:16px;align-items:start}.story-mosaic figure{position:relative;margin:0;border-radius:22px;overflow:hidden;background:var(--forest)}.story-mosaic figure:nth-child(2){margin-top:90px}.story-mosaic figure:nth-child(3){margin-top:35px}.story-mosaic img{width:100%;height:620px;object-fit:cover;filter:saturate(.88);transition:transform .8s var(--ease)}.story-mosaic figure:hover img{transform:scale(1.04)}.story-mosaic figcaption{position:absolute;left:18px;bottom:18px;padding:8px 12px;border-radius:999px;background:rgba(250,249,246,.86);backdrop-filter:blur(10px);font-size:.65rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--forest)}.story-principles{background:#173525;color:#fff}.story-principles .section-head h2{color:#fff}.story-principles .section-head p{color:#cbd6ce}.story-ledger{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.story-ledger article{min-height:310px;padding:30px;border:1px solid rgba(255,255,255,.22);border-radius:20px;background:rgba(255,255,255,.04)}.story-ledger span{color:#efd477;font-size:.68rem;letter-spacing:.14em}.story-ledger h3{font-family:var(--display);font-size:2rem;font-weight:400;margin:45px 0 12px}.story-ledger p{color:#c4d0c7}.story-quote{position:relative;width:min(1460px,calc(100% - 28px));min-height:760px;margin:30px auto;border-radius:32px;overflow:hidden;display:flex;align-items:center;justify-content:center}.story-quote img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.48)}.story-quote blockquote{position:relative;z-index:1;width:min(1000px,86%);margin:0;text-align:center;color:#fff;font-family:var(--display);font-size:clamp(3.2rem,6.8vw,7.2rem);line-height:.94}.story-closing{width:min(1100px,calc(100% - 40px));margin:auto;padding:clamp(110px,15vw,200px) 0}.story-closing>div{max-width:820px}.story-closing h2{font-family:var(--display);font-size:clamp(3.4rem,7vw,7rem);font-weight:400;line-height:.92;color:var(--forest);margin:0 0 25px}
@media(max-width:900px){.retreat-manifesto,.retreat-cinema{grid-template-columns:1fr}.retreat-chapters{grid-template-columns:1fr}.retreat-chapter:nth-child(2){transform:none}.retreat-chapter{min-height:520px}.story-mosaic{grid-template-columns:1fr 1fr}.story-mosaic figure:nth-child(2),.story-mosaic figure:nth-child(3){margin-top:0}.story-mosaic figure:first-child{grid-column:1/-1}.story-ledger{grid-template-columns:1fr}}
@media(max-width:620px){.retreat-manifesto{grid-template-columns:1fr}.retreat-cinema{min-height:auto;padding:42px 22px}.retreat-cinema h2{font-size:3.6rem}.retreat-chapter{min-height:460px}.story-mosaic{grid-template-columns:1fr}.story-mosaic figure:first-child{grid-column:auto}.story-mosaic img{height:500px}.story-quote{min-height:590px}.story-quote blockquote{font-size:3.3rem}}

/* Cursor- and touch-reactive details. Native focus and pointer behavior remain intact. */
.btn,.icon-button{transform:translate3d(var(--mag-x,0),var(--mag-y,0),0);will-change:transform}.btn:hover{transform:translate3d(var(--mag-x,0),calc(var(--mag-y,0px) - 2px),0)}.btn:active,.icon-button:active{scale:.96}.product-card,.bowl-card,.video-card,.image-story,.retreat-chapter,.specimen,.concern-tile{transition:transform .38s var(--ease),box-shadow .38s var(--ease),background .25s,color .25s}.product-card:active,.bowl-card:active,.video-card:active,.image-story:active,.retreat-chapter:active,.specimen:active,.concern-tile:active{transform:scale(.985)}.cursor-bloom{--cursor-x:-40px;--cursor-y:-40px;position:fixed;z-index:20000;left:0;top:0;width:34px;height:34px;border:1px solid rgba(31,58,42,.42);border-radius:50%;pointer-events:none;transform:translate3d(calc(var(--cursor-x) - 50%),calc(var(--cursor-y) - 50%),0);transition:width .24s var(--ease),height .24s var(--ease),background .24s,border-color .24s;mix-blend-mode:multiply}.cursor-bloom::after{content:'';position:absolute;width:4px;height:4px;left:50%;top:50%;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%)}.cursor-bloom.is-active{width:56px;height:56px;border-color:rgba(201,169,66,.65);background:rgba(201,169,66,.08)}
@media(hover:none),(pointer:coarse){.cursor-bloom{display:none}.btn,.icon-button{transform:none}}

/* Edge-to-edge sourcing ribbon. */
.site-header .trust-ribbon{width:100%;height:27px;margin:0;border-inline:0;border-radius:0;background:rgba(21,52,33,.96)}
@media(max-width:1120px){.site-header .trust-ribbon{width:100%}}
@media(max-width:720px){.site-header .trust-ribbon{width:100%;height:22px}}

/* Two equal marquee groups keep the sourcing ribbon continuous at every width. */
.trust-track{display:flex;width:max-content;gap:0;padding:0}
.trust-group{display:flex;flex:none;align-items:center;justify-content:space-around;gap:20px;min-width:100vw;height:100%;padding-inline:20px}
@media(max-width:720px){.trust-track{gap:0}.trust-group{gap:14px;padding-inline:14px}}

/* Shared human-touch components: word popovers, brand whisper, footer hummingbird. */
[data-pop]{cursor:pointer;border-bottom:2px dotted rgba(201,169,66,.75);transition:color .22s,border-color .22s}
[data-pop]:hover,[data-pop]:focus-visible{color:#856e21;border-bottom-color:var(--gold)}
.mini-pop{position:absolute;z-index:9600;display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--border);border-radius:20px;background:var(--cream);box-shadow:0 20px 50px rgba(31,58,42,.18);opacity:0;transform:translateY(6px) scale(.94);transform-origin:top center;transition:opacity .3s var(--ease),transform .3s var(--ease);pointer-events:none}
.mini-pop.is-open{opacity:1;transform:none;pointer-events:auto}
.mini-pop-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}
.mini-pop-copy p{margin:0 0 7px;color:#4c4e46;font-size:.84rem;line-height:1.42}
.mini-pop-copy a{display:inline-flex;align-items:center;min-height:34px;color:var(--forest);font-size:.7rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}
.mini-pop-copy a:hover{color:#856e21}
.mini-pop-leaf{position:absolute;right:-9px;top:-13px;width:32px;height:32px;object-fit:contain;transform:rotate(14deg);pointer-events:none}
.brand{position:relative}
.brand[data-psst]::after{content:attr(data-psst);position:absolute;left:0;top:calc(100% + 13px);z-index:9700;width:max-content;max-width:250px;padding:10px 14px;border:1px solid var(--border);border-radius:14px;background:var(--cream);box-shadow:0 14px 34px rgba(31,58,42,.16);color:#4c4e46;font-family:var(--body);font-size:.74rem;font-weight:500;letter-spacing:0;text-transform:none;line-height:1.4;opacity:0;transform:translateY(5px);transition:opacity .3s var(--ease),transform .3s var(--ease);pointer-events:none}
.brand[data-psst]:hover::after,.brand[data-psst]:focus-visible::after{opacity:1;transform:none;transition-delay:.35s}
.footer-hummingbird{position:absolute;z-index:4;left:-150px;bottom:42%;width:clamp(70px,8vw,118px);pointer-events:none;animation:hummingbird-flit 7.5s cubic-bezier(.4,.1,.5,.9) forwards}
@keyframes hummingbird-flit{0%{transform:translate(0,0) rotate(4deg)}22%{transform:translate(28vw,-46px) rotate(-5deg)}45%{transform:translate(52vw,14px) rotate(6deg)}70%{transform:translate(78vw,-38px) rotate(-4deg)}100%{transform:translate(calc(100vw + 220px),-10px) rotate(3deg)}}
@media(prefers-reduced-motion:reduce){.footer-hummingbird{display:none}}
/* Keep the primary Shop CTA reachable on compact screens. */
@media(max-width:1120px){.nav-actions>.btn{display:inline-flex;min-height:44px;padding:0 15px;font-size:.64rem}}
@media(max-width:480px){.brand small{display:none}.nav-actions>.btn{padding:0 12px;font-size:.6rem;letter-spacing:.06em}}

:root{--display:"Fraunces","Cormorant Garamond",Georgia,serif}
.j3-title,.journey-beat h1,.journey-beat h2,.journey-final h2{font-family:var(--display)}

/* v34: mobile premium pass - touch targets + editorial rhythm */
@media(hover:none),(pointer:coarse){
.footer-col a{min-height:44px;align-items:center;padding:10px 0}
.dropdown a{min-height:46px}
.concern-ico{opacity:1!important;transform:translateY(0) scale(1)!important}
.concern-tile{padding-right:80px}
}
@media(max-width:720px){
.footer-bottom{grid-template-columns:1fr;align-items:start;gap:20px}
.socials a{width:46px;height:46px}
.footer-grid{gap:26px 18px}
.footer-col h3{margin-bottom:8px}
}

/* v100 nav search + cart */
.nav-icon-btn{width:44px;height:44px;flex:0 0 44px;border-radius:50%;border:0;background:transparent;display:inline-grid;place-items:center;cursor:pointer;color:var(--forest);position:relative;transition:background .2s,transform .2s}
.nav-icon-btn:hover{background:rgba(31,58,42,.08);transform:translateY(-1px)}
.nav-icon-btn .icon{width:21px;height:21px}
.nav-cart .cart-count{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--gold);color:#1b2a17;font-size:.6rem;font-weight:800;display:none;place-items:center;line-height:1}
.nav-search-panel{position:absolute;top:calc(100% + 10px);right:12px;left:auto;width:min(520px,calc(100% - 24px));display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.8);border-radius:16px;box-shadow:0 18px 50px rgba(18,42,29,.22);padding:10px 12px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;z-index:60}
.nav-search-panel.open{opacity:1;visibility:visible;transform:translateY(0)}
.nav-search-panel .icon{width:20px;height:20px;color:var(--forest);opacity:.6;flex:none}
.nav-search-panel input{flex:1;border:0;background:transparent;font-size:1rem;color:var(--forest);outline:none;min-width:0}
.nav-search-panel input::placeholder{color:#8a9488}
.nav-search-panel .btn{padding:9px 18px;font-size:.72rem;flex:none}
.nav-search-close{border:0;background:transparent;font-size:1.4rem;line-height:1;color:#6c766a;cursor:pointer;padding:0 4px;flex:none}
.nav-search-close:hover{color:var(--forest)}
@media(max-width:900px){.nav-icon-btn{width:44px;height:44px}.nav-pill>.brand{min-height:44px}.menu-toggle{min-width:44px;min-height:44px}.nav-search-close{width:44px;height:44px}.nav-search-panel{right:8px;width:calc(100vw - 24px)}}

/* v103: bounded editorial page navigator. */
.page-side-nav{--side-nav-line:rgba(31,58,42,.16);position:fixed;z-index:35;left:max(22px,calc(50vw - 720px));top:50%;width:190px;transform:translateY(-50%);transition:opacity .28s var(--ease),visibility .28s var(--ease),transform .28s var(--ease)}
.page-side-nav.is-shelved{opacity:0;visibility:hidden;transform:translateY(-42%);pointer-events:none}
.page-side-nav__title{margin:0 0 13px;font-size:.62rem;font-weight:750;letter-spacing:.22em;text-transform:uppercase;color:#8a9188}
.page-side-nav ul{list-style:none;margin:0;padding:0}
.page-side-nav a{position:relative;display:block;min-height:38px;padding:9px 0 9px 17px;border-left:1px solid var(--side-nav-line);color:#667068;font-family:var(--display);font-size:.9rem;line-height:1.25;text-decoration:none;transition:color .22s,border-color .22s}
.page-side-nav a::before{position:absolute;left:-1px;top:50%;width:2px;height:20px;background:var(--gold);content:"";transform:translateY(-50%) scaleY(0);transition:transform .24s var(--ease)}
.page-side-nav a:hover,.page-side-nav a:focus-visible{color:var(--forest)}
.page-side-nav a.is-active{color:#8b7020;border-left-color:transparent}
.page-side-nav a.is-active::before{transform:translateY(-50%) scaleY(1)}
.has-page-side-nav{padding-left:min(230px,15vw)}
.has-page-side-nav .kx-wrap{width:min(1120px,calc(100% - 48px))}
.has-page-side-nav [id]{scroll-margin-top:120px}
@media(max-width:1279px){
  .has-page-side-nav{padding-left:0}
  .page-side-nav{position:sticky;z-index:40;left:auto;top:106px;width:100%;transform:none;padding:10px 18px;background:rgba(250,249,246,.94);border-block:1px solid rgba(31,58,42,.1);backdrop-filter:blur(16px);overflow-x:auto;scrollbar-width:none}
  .page-side-nav::-webkit-scrollbar{display:none}
  .page-side-nav.is-shelved{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .page-side-nav__title{display:none}
  .page-side-nav ul{display:flex;gap:8px;width:max-content}
  .page-side-nav a{min-height:44px;padding:11px 15px;border:1px solid rgba(31,58,42,.15);border-radius:999px;white-space:nowrap;font-family:var(--body);font-size:.72rem;font-weight:650;letter-spacing:.03em}
  .page-side-nav a::before{display:none}
  .page-side-nav a.is-active{border-color:var(--forest);background:var(--forest);color:#fff}
}
@media(max-width:1279px){.has-page-side-nav .kx-wrap{width:min(1120px,92vw)}}
@media(max-width:720px){.page-side-nav{top:84px;padding-inline:12px}}

/* v108: narrow-phone header, brand wordmark must never collide with the search icon */
@media(max-width:480px){.nav-pill .brand{min-width:0;overflow:hidden;gap:6px}.nav-pill .brand img{width:26px;height:26px}.nav-pill .brand strong{font-size:.72rem;letter-spacing:.04em}.nav-pill .nav-actions{gap:5px}.nav-pill .nav-actions>.btn{padding:0 8px}}
@media(max-width:400px){.nav-pill .brand img{display:none}}

/* v109: with the sheet open, the nav pill (and its hamburger) must stay ABOVE
   the sheet so the menu can actually be closed on a phone; also let a tap on
   the sheet's empty backdrop close it. */
@media(max-width:1120px){.nav-pill{z-index:9020}.mobile-sheet{z-index:8990}}
@media(max-width:480px){.nav-pill .brand strong{font-size:.62rem;letter-spacing:.02em;white-space:nowrap}.nav-pill .brand small{display:none}}

/* ============ v110: mobile menu accordions + premium button polish (29 Jul) ============ */
.msheet-group{display:block}
.msheet-toggle{width:100%;justify-content:space-between;gap:12px;cursor:pointer;padding:0}
.msheet-arrow{width:20px;height:20px;flex:none;stroke:var(--gold);transition:transform .35s var(--ease)}
.msheet-group.open .msheet-toggle .msheet-arrow{transform:rotate(180deg)}
.msheet-panel{display:grid;max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}
.msheet-group.open .msheet-panel{max-height:900px;overflow-y:auto}
.msheet-panel a.mobile-sub{min-height:46px}
.msheet-panel a.mobile-sub:last-child{border-bottom:0}
.msheet-group{border-bottom:1px solid var(--border)}
.msheet-group .msheet-toggle{border-bottom:0}

/* primary buttons: soft sheen sweep + arrow nudge, site-wide */
.btn-primary{position:relative;overflow:hidden;isolation:isolate}
.btn-primary::after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-18deg);transition:left .6s var(--ease);z-index:-1}
.btn-primary:hover::after{left:125%}
@media (prefers-reduced-motion:reduce){.btn-primary::after{display:none}}
/* v110b: the open menu sheet scrolls on short viewports so lower accordions stay reachable */
.mobile-sheet{overflow-y:auto;-webkit-overflow-scrolling:touch}

/* ============ v118 (30 Jul client round) ============ */
/* 11: the logo "Psst" tooltip is hover-only. On touch devices a tap made the
   :hover state stick and the tooltip stayed open over the nav; touch gets no
   tooltip at all. */
@media(hover:none),(pointer:coarse){.brand[data-psst]::after{display:none!important}}

/* 9: shorter shared footer: tighter block padding, merged link columns
   (Explore+Learn are one column now), compact bottom row. */
.site-footer{min-height:0;padding:96px 0 26px}
.footer-grid{grid-template-columns:1.35fr repeat(3,1fr);gap:28px 30px}
.footer-col h3{margin-bottom:12px}
@media(hover:hover) and (pointer:fine){.footer-col a{padding:3px 0}}
.footer-bottom{margin-top:28px;padding-top:22px;gap:18px}
.electric{font-size:clamp(1.4rem,2.6vw,2.6rem)}
@media(max-width:1120px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.site-footer{padding-top:74px;min-height:0}.footer-grid{grid-template-columns:1fr 1fr;gap:24px 18px}}

/* v119: consent-gated Klaviyo loader and persistent preference control. */
.marketing-consent{position:fixed;z-index:10050;right:22px;bottom:22px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:22px;width:min(720px,calc(100vw - 44px));padding:22px;border:1px solid rgba(31,58,42,.18);border-radius:22px;background:rgba(250,249,246,.98);box-shadow:0 22px 70px rgba(17,39,26,.24);color:var(--forest);backdrop-filter:blur(18px)}
.marketing-consent[hidden]{display:none!important}
.marketing-consent__copy strong{display:block;margin-bottom:7px;font-family:var(--display);font-size:1.16rem}
.marketing-consent__copy p{max-width:52ch;margin:0 0 7px;color:#59645b;font-size:.9rem;line-height:1.5}
.marketing-consent__copy a{color:var(--forest);font-size:.78rem;font-weight:700;text-underline-offset:3px}
.marketing-consent__actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.marketing-consent__actions .btn{min-height:44px;padding:10px 16px;white-space:nowrap}
.kx-privacy-choice{min-height:44px;margin:0;padding:10px 0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;opacity:.9}
.kx-privacy-choice:hover,.kx-privacy-choice:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
@media(max-width:720px){.marketing-consent{right:12px;bottom:12px;grid-template-columns:1fr;gap:16px;width:calc(100vw - 24px);padding:18px}.marketing-consent__actions{justify-content:stretch}.marketing-consent__actions .btn{flex:1 1 150px}}
