*,*::before,*::after{box-sizing:border-box}
html{font-size:75%;scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:1.125rem;line-height:1.7;color:#293026;background:#f4e4cc;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{margin:0;color:#2e3d2c;font-family:"Fraunces",Georgia,serif;font-weight:500;line-height:1.12;letter-spacing:-.012em}
p{margin:0 0 1.1em}
a{color:#a75f3d}
a:hover{color:#2e3d2c}
.skip-link{position:fixed;top:10px;left:10px;z-index:40;padding:10px 16px;border-radius:999px;color:#f7f2e7;background:#2e3d2c;text-decoration:none;transform:translateY(-160%);transition:transform .2s ease}
.skip-link:focus{color:#f7f2e7;transform:translateY(0)}
.site-head{position:sticky;top:0;z-index:30;border-top:1px solid #2e3d2c;border-bottom:1px solid rgba(51,64,52,.12);background:rgba(248,241,228,.96);backdrop-filter:blur(14px)}
.head-in{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:32px;max-width:1200px;min-height:90px;margin:0 auto;padding:8px 32px}
.brand{display:flex;align-items:center;gap:13px;color:#213b31;text-decoration:none;transition:transform .2s ease}
.brand:hover{color:#213b31;transform:translateY(-1px)}
.brand img{display:block;width:68px;height:68px;object-fit:contain;mix-blend-mode:multiply}
.brand-name{font-size:1.12rem;font-weight:700;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap}
.head-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(18px,2.2vw,31px)}
.head-nav a,.mobile-menu a{color:#213b31;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-decoration:none;text-transform:uppercase}
.navlink{position:relative;padding:10px 0;white-space:nowrap}
.navlink::after{position:absolute;right:0;bottom:3px;left:0;height:1.5px;background:#c66f47;content:"";transform:scaleX(0);transform-origin:right;transition:transform .2s ease}
.navlink:hover::after,.navlink:focus-visible::after,.navlink.current::after{transform:scaleX(1);transform-origin:left}
.head-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #344934;border-radius:999px;color:#f7f2e7!important;background:#344934;font-weight:700;text-decoration:none;transition:background .2s ease,color .2s ease,transform .2s ease}
.head-cta{padding:12px 22px;border-color:#c66f47;background:#c66f47;white-space:nowrap}
.head-cta:hover,.head-cta:focus-visible{border-color:#a95837;color:#f7f2e7!important;background:#a95837;transform:translateY(-2px)}
.btn:hover,.btn:focus-visible{color:#344934!important;background:#e8d39f;transform:translateY(-2px)}
.mobile-menu{display:none;position:relative;justify-self:end}
.mobile-menu summary{display:flex;align-items:center;gap:10px;padding:12px 0;color:#344934;font-size:.84rem;font-weight:700;letter-spacing:.12em;list-style:none;text-transform:uppercase;cursor:pointer}
.mobile-menu summary::-webkit-details-marker{display:none}
.menu-lines,.menu-lines::before,.menu-lines::after{display:block;width:22px;height:1.5px;background:#344934;transition:transform .2s ease}
.menu-lines{position:relative}
.menu-lines::before,.menu-lines::after{position:absolute;left:0;content:""}
.menu-lines::before{transform:translateY(-6px)}
.menu-lines::after{transform:translateY(6px)}
.mobile-menu[open] .menu-lines{background:transparent}
.mobile-menu[open] .menu-lines::before{transform:rotate(45deg)}
.mobile-menu[open] .menu-lines::after{transform:rotate(-45deg)}
.mobile-menu-panel{position:absolute;top:calc(100% + 8px);right:0;width:min(320px,calc(100vw - 36px));padding:18px;border:1px solid rgba(51,64,52,.18);border-radius:16px;background:#f7f2e7;box-shadow:0 20px 46px -28px rgba(35,49,35,.65)}
.mobile-menu-panel a{display:block;padding:11px 10px;border-radius:9px}
.mobile-menu-panel a:hover,.mobile-menu-panel a:focus-visible,.mobile-menu-panel a[aria-current="page"]{color:#2e3d2c;background:rgba(169,186,162,.24)}
.mobile-menu-panel .head-cta{display:flex;margin-top:10px;color:#f7f2e7!important}
.wrap{max-width:1040px;margin:0 auto;padding:0 28px}
section{position:relative;padding:112px 0;scroll-margin-top:96px}
.page-head{padding:105px 0 118px;background:radial-gradient(circle at 80% 18%,rgba(227,164,94,.3),transparent 30%),linear-gradient(180deg,rgba(255,253,247,.36),rgba(244,228,204,0))}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 18px;color:#806044;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.eyebrow::before{width:34px;height:1px;background:currentColor;content:""}
.page-h1{max-width:10ch;font-size:clamp(3.1rem,6.5vw,5.8rem)}
.page-h1 em,.h2 em{color:#a75f3d;font-weight:400}
.page-sub,.lead,.intro{max-width:67ch;color:#485043;font-size:clamp(1.08rem,2vw,1.27rem)}
.page-sub{margin-top:30px}
.h2{font-size:clamp(2.25rem,4.3vw,3.9rem)}
.mw16{max-width:16ch}
.mw18{max-width:18ch}
.intro,.lead{margin-top:24px}
.tint-peach{background:linear-gradient(180deg,rgba(230,180,110,.42),rgba(230,180,110,.17))}
.tint-sage{background:linear-gradient(180deg,rgba(169,186,162,.34),rgba(169,186,162,.13))}
.tint-clay{background:linear-gradient(135deg,rgba(195,122,83,.19),rgba(232,204,153,.36))}
.paths{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.path{position:relative;min-height:380px;padding:46px 40px;border:1px solid rgba(51,64,52,.16);border-radius:170px 170px 24px 24px;overflow:hidden}
.path::before{position:absolute;inset:0;z-index:0;content:"";opacity:.72}
.path.branch::before{background:radial-gradient(circle at 75% 12%,rgba(255,246,196,.88),transparent 25%),linear-gradient(160deg,#e6d59d,#adc1a4)}
.path.root{color:#e9e4d5;border-color:rgba(255,255,255,.14)}
.path.root::before{background:radial-gradient(circle at 20% 20%,rgba(165,119,77,.38),transparent 30%),linear-gradient(160deg,#4b5140,#263326)}
.path>*{position:relative;z-index:1}
.path h3{max-width:13ch;margin:52px 0 20px;font-size:clamp(2rem,3.2vw,2.9rem)}
.path.root h3{color:#f2ebda}
.path p{margin:0}
.dir,.ptag{position:absolute;top:30px;font-size:.69rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.dir{left:40px}
.ptag{right:40px;padding:4px 10px;border:1px solid currentColor;border-radius:999px}
.paths-note{max-width:60ch;margin:32px auto 0;color:#5b5e50;font-family:"Fraunces",serif;font-size:1.1rem;font-style:italic;text-align:center}
.tree-info{padding:0;background:#f7f2e7}
.tree-wrap{display:grid;grid-template-rows:auto auto auto;max-width:none;padding:0}
.tree-zone{padding:100px max(28px,calc((100vw - 920px)/2))}
.tree-light{background:radial-gradient(circle at 84% 14%,rgba(255,240,166,.75),transparent 28%),linear-gradient(150deg,#dde0b5,#abc1a6)}
.tree-dark{color:#d8ddcf;background:radial-gradient(circle at 15% 20%,rgba(170,112,74,.32),transparent 27%),linear-gradient(150deg,#3d493b,#1f2b22)}
.tree-eb{display:block;margin-bottom:15px;color:#6c5139;font-size:.72rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.tree-h{max-width:15ch;font-size:clamp(2.6rem,5vw,4.7rem)}
.tree-sub{max-width:57ch;margin-top:22px;color:#485043;font-size:1.12rem}
.light{color:#f0ebdd}
.tree-nodes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:920px;margin-top:44px}
.tree-node{display:flex;flex-direction:column;min-height:150px;padding:26px;border:1px solid rgba(51,64,52,.2);border-radius:18px;background:rgba(255,255,255,.24)}
.tree-node b{font-family:"Fraunces",serif;font-size:1.45rem;font-weight:500}
.tree-node span{margin-top:8px;font-size:.94rem;line-height:1.5}
.tree-node.dark{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.055)}
.tn-idx{color:#d6a870;font-size:.72rem!important;font-weight:700;letter-spacing:.12em}
.tree-mid{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 30px;padding:26px;background:#b66f49;color:#fff8ea;text-align:center}
.tree-here{font-family:"Fraunces",serif;font-size:1.45rem}
.tree-note{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.body-p{max-width:70ch;color:#454c40;font-size:1.08rem}
.mtb{margin-top:24px}
.prose{max-width:72ch}
.prose p{color:#454c40}
details:not(.mobile-menu){max-width:760px;margin-top:32px;border-top:1px solid rgba(51,64,52,.2);border-bottom:1px solid rgba(51,64,52,.2);padding:0}
details:not(.mobile-menu) summary{padding:18px 2px;color:#344934;font-weight:700;cursor:pointer}
details:not(.mobile-menu) p{padding:0 2px}
.moves{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.move{padding:30px 28px;border-top:3px solid #b06a45;background:rgba(255,255,255,.19)}
.idx{display:block;margin-bottom:30px;color:#a75f3d;font-size:.74rem;font-weight:700;letter-spacing:.17em}
.move h3,.part-card h3{font-size:1.8rem}
.move p,.part-card p{margin:14px 0 0;color:#4e5448;font-size:.96rem}
.parts-body{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.parts-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:20px;margin-top:40px}
.part-card{min-height:230px;padding:32px;border:1px solid rgba(51,64,52,.16);border-radius:20px;background:rgba(247,242,231,.38)}
.cta-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:36px}
.btn,.ghost{padding:14px 23px}
.ghost{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(51,64,52,.35);border-radius:999px;color:#344934;font-weight:700;text-decoration:none;transition:background .2s ease,transform .2s ease}
.ghost:hover,.ghost:focus-visible{color:#344934;background:rgba(247,242,231,.54);transform:translateY(-2px)}
.foot{padding:64px 0;color:#d7ddcf;background:#263226}
.foot-in{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:50px;max-width:1100px;margin:0 auto;padding:0 28px}
.foot h3{margin-bottom:12px;color:#f1ead9;font-size:1.65rem}
.foot p{margin:0;color:#c6cdbf;font-size:.94rem}
.foot-col{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.foot a{color:#e2c39b;text-decoration:none}
.foot a:hover,.foot a:focus-visible{color:#fff7e8}
@media(max-width:1050px){.head-in{grid-template-columns:auto 1fr}.head-nav{display:none}.mobile-menu{display:block}}
@media(max-width:1000px){.path{padding-right:30px;padding-left:30px}.dir{left:30px}.ptag{right:30px}}
@media(max-width:860px){section{padding:76px 0}.head-in{min-height:78px;padding:6px 24px;grid-template-columns:auto 1fr}.brand{width:auto;gap:10px}.brand img{width:58px;height:58px}.brand-name{font-size:.96rem}.head-nav{display:none}.mobile-menu{display:block}.page-head{padding:74px 0 86px}.paths,.moves,.parts-grid,.parts-body{grid-template-columns:1fr}.path{min-height:0;border-radius:110px 110px 22px 22px}.tree-zone{padding-top:76px;padding-bottom:76px}.tree-nodes{grid-template-columns:1fr}.foot-in{grid-template-columns:1fr 1fr}.foot-col:first-child{grid-column:1/-1}}
@media(max-width:520px){body{font-size:17px}.wrap{padding:0 22px}.head-in{padding-right:18px;padding-left:18px}.page-h1{font-size:clamp(2.65rem,14vw,3.75rem)}.path{padding:42px 25px 34px;border-radius:78px 78px 18px 18px}.path h3{margin-top:64px}.dir{left:25px}.ptag{top:62px;right:auto;left:25px}.tree-zone{padding-right:22px;padding-left:22px}.moves{gap:14px}.foot-in{grid-template-columns:1fr;gap:32px}.foot-col:first-child{grid-column:auto}.cta-row{flex-direction:column;align-items:stretch}.cta-row a{text-align:center}}
@media(max-width:440px){.brand-name{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* About Chloe page */
.about-page .about-hero{padding:84px 0 108px;background:radial-gradient(circle at 13% 12%,rgba(255,246,196,.66),transparent 26%),linear-gradient(180deg,rgba(255,253,247,.34),rgba(244,228,204,0))}
.about-page .about-hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(330px,.72fr);align-items:center;gap:clamp(50px,8vw,105px);max-width:1180px;margin:0 auto;padding:0 32px}
.about-page .page-h1{max-width:9ch;font-size:clamp(2.65rem,5.4vw,4.75rem)}
.about-page .page-sub{margin-top:20px}
.about-page .who-post-line{max-width:54ch;margin:18px 0 0;color:#6a4d38;font-size:.82rem;font-weight:700;letter-spacing:.08em;line-height:1.5;text-transform:uppercase}
.about-page .about-portrait{position:relative;overflow:hidden;border-radius:220px 220px 20px 20px;aspect-ratio:4/5;background:#d7c5aa;box-shadow:0 28px 62px -34px rgba(41,48,38,.56)}
.about-page .about-portrait::after{position:absolute;inset:0;border:1px solid rgba(51,64,52,.16);border-radius:inherit;content:"";pointer-events:none}
.about-page .about-portrait img{display:block;width:100%;height:100%;object-fit:cover}
.about-page .story{max-width:900px!important;margin:0 auto!important;border:0!important}
.about-page .story summary{position:relative;display:grid;gap:5px;padding:30px 70px 30px 34px!important;border:1px solid rgba(51,64,52,.2);border-radius:22px;background:rgba(247,242,231,.58);list-style:none;box-shadow:0 22px 45px -38px rgba(35,49,35,.72)}
.about-page .story summary::-webkit-details-marker{display:none}
.about-page .story summary::after{position:absolute;top:50%;right:30px;width:18px;height:18px;border-right:2px solid #a75f3d;border-bottom:2px solid #a75f3d;content:"";transform:translateY(-65%) rotate(45deg);transition:transform .2s ease}
.about-page .story[open] summary::after{transform:translateY(-35%) rotate(225deg)}
.about-page .story-eb{color:#806044;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.about-page .story-title{color:#2e3d2c;font-family:"Fraunces",Georgia,serif;font-size:clamp(1.55rem,3vw,2.25rem);font-weight:500}
.about-page .story-hint{color:#596254;font-size:.85rem;font-weight:500}
.about-page .story-body{max-width:760px;margin:0 auto;padding:42px 18px 10px}
.about-page .story-body p{padding:0!important;color:#454c40}
.about-page .story-first::first-letter{float:left;margin:7px 9px 0 0;color:#a75f3d;font-family:"Fraunces",Georgia,serif;font-size:4.2rem;line-height:.72}
.about-page .restore-lead{margin:40px 0 14px!important;color:#2e3d2c!important;font-family:"Fraunces",Georgia,serif;font-size:1.35rem;font-weight:500}
.about-page .tags-fun{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.about-page .tags-fun li{padding:9px 14px;border:1px solid rgba(51,64,52,.24);border-radius:999px;color:#40503f;background:rgba(255,253,247,.42);font-size:.86rem;font-weight:600}
.about-page .restore{margin-top:22px!important;font-family:"Fraunces",Georgia,serif;font-style:italic}
.about-page .creds{max-width:980px;margin:0 auto}
.about-page .creds-lead{max-width:24ch;color:#2e3d2c;font-family:"Fraunces",Georgia,serif;font-size:clamp(1.7rem,3.2vw,2.45rem);line-height:1.18}
.about-page .creds-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:42px}
.about-page .cred-card{position:relative;display:flex;flex-direction:column;min-height:220px;padding:28px 26px;border:1px solid rgba(51,64,52,.16);border-radius:20px;background:rgba(255,253,247,.42)}
.about-page .cred-card.ongoing{background:rgba(169,186,162,.24)}
.about-page .cred-year{display:inline-flex;align-items:center;align-self:flex-start;justify-content:center;min-width:54px;height:30px;padding:0 10px;border-radius:999px;color:#f7f2e7;background:#4a6243;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.about-page .cred-card b{margin-top:34px;color:#2e3d2c;font-family:"Fraunces",Georgia,serif;font-size:1.3rem;font-weight:500;line-height:1.18}
.about-page .cred-sub{margin-top:10px;color:#586054;font-size:.9rem;line-height:1.5}
.about-page .cred-flag{align-self:flex-start;margin-top:auto;padding-top:18px;color:#a75f3d;font-size:.69rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.about-page .creds-sub-lead{margin:50px 0 18px;color:#2e3d2c;font-family:"Fraunces",Georgia,serif;font-size:1.35rem}
.about-page .creds-tags li{border-radius:12px}
.about-page .creds-tags i{display:block;color:#6d7569;font-family:"Hanken Grotesk",sans-serif;font-size:.76rem;font-style:normal;font-weight:500}
.about-page .who-cred{margin-top:28px;color:#62695e;font-size:.85rem;font-weight:600;letter-spacing:.06em}
.about-page .koko{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(44px,7vw,86px)}
.about-page .koko-photo{overflow:hidden;min-height:440px;border:1px solid rgba(51,64,52,.18);border-radius:190px 190px 18px 18px;background:#a9baa2;box-shadow:0 26px 56px -36px rgba(35,49,35,.68)}
.about-page .koko-photo img{display:block;width:100%;height:100%;min-height:440px;object-fit:cover;object-position:50% 0}
.about-page .koko-name{font-size:clamp(2.2rem,4vw,3.25rem)}
.about-page .koko-role{margin:8px 0 10px;color:#654b39;font-family:"Fraunces",Georgia,serif;font-size:1.15rem;font-style:italic}
.about-page .koko-badge{display:inline-flex;padding:7px 11px;border-radius:999px;color:#f7f2e7;background:#a75f3d;font-size:.67rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.about-page .koko .lead{margin-top:24px}
.about-page .about-close{background:linear-gradient(145deg,#b86f49,#8f5339);text-align:center}
.about-page .about-close .h2{max-width:17ch;margin:0 auto;color:#fff8ea;font-size:clamp(1.95rem,3.8vw,3.1rem)}
.about-page .about-close .cta-row{justify-content:center}
.about-page .about-close .btn{border-color:#f1d39e;color:#344934!important;background:#f1d39e}
.about-page .about-close .ghost{border-color:rgba(255,248,234,.6);color:#fff8ea}
.about-page .about-close .ghost:hover,.about-page .about-close .ghost:focus-visible{color:#344934;background:#fff8ea}
@media(max-width:860px){.about-page .about-hero{padding:64px 0 82px}.about-page .about-hero-grid,.about-page .koko{grid-template-columns:1fr}.about-page .about-hero-grid{padding:0 24px}.about-page .about-portrait{width:min(500px,100%);margin:0 auto}.about-page .creds-cards{grid-template-columns:1fr}.about-page .cred-card{min-height:0}.about-page .koko-photo{width:min(430px,100%);min-height:400px;margin:0 auto}.about-page .koko-photo img{min-height:400px}}
@media(max-width:520px){.about-page .about-hero-grid{padding:0 22px}.about-page .page-h1{font-size:clamp(2.35rem,12vw,3.25rem)}.about-page .story summary{padding:25px 58px 25px 23px!important}.about-page .story summary::after{right:23px}.about-page .story-body{padding-right:2px;padding-left:2px}.about-page .koko-photo,.about-page .koko-photo img{min-height:340px}.about-page .creds-lead{font-size:1.65rem}}

/* Approach page */
.approach-page .hero{padding:84px 0 108px;background:radial-gradient(circle at 14% 8%,rgba(255,246,196,.66),transparent 25%),linear-gradient(180deg,rgba(255,253,247,.34),rgba(244,228,204,0))}
.approach-page .hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(340px,.76fr);align-items:center;gap:clamp(50px,8vw,108px);max-width:1180px;margin:0 auto;padding:0 32px}
.approach-page .hero-eb{margin:0 0 18px;color:#806044;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.approach-page .page-h1{max-width:8.5ch}
.approach-page .artwork-frame{width:100%;margin:0}
.approach-page .arch{position:relative;overflow:hidden;border:1px solid rgba(51,64,52,.16);background:#a9baa2;box-shadow:0 34px 70px -44px rgba(35,49,35,.78)}
.approach-page .arch>img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(.94)}
.approach-page .doorway::after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(28,42,29,.84) 100%);content:""}
.approach-page .art-credit{margin:9px 8px 0;color:#666b60;font-size:.68rem;letter-spacing:.04em;text-align:right}
.approach-page .door-nav{position:absolute;right:30px;bottom:28px;left:30px;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.approach-page .door-eb{margin-bottom:4px;color:#eed2aa;font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.approach-page .door-nav a{color:#fff8ea;font-family:"Fraunces",Georgia,serif;font-size:clamp(1rem,1.8vw,1.28rem);line-height:1.2;text-decoration:none}
.approach-page .door-nav a:hover,.approach-page .door-nav a:focus-visible{color:#f0c68e;text-decoration:underline;text-underline-offset:4px}
.approach-page .split{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(44px,8vw,96px)}
.approach-page .split-r{padding-top:8px}
.approach-page .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}
.approach-page .cond{min-height:275px;padding:30px 27px;border:1px solid rgba(51,64,52,.16);border-radius:22px;background:rgba(255,253,247,.48)}
.approach-page .cond:nth-child(2){transform:translateY(26px)}
.approach-page .cond .num{display:block;margin-bottom:32px;color:#a75f3d;font-size:.7rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.approach-page .cond h3{font-size:1.7rem}
.approach-page .cond p{margin:14px 0 0;color:#51594c;font-size:.96rem}
.approach-page .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px}
.approach-page .chip{padding:11px 17px;border:1px solid rgba(51,64,52,.25);border-radius:999px;color:#344934;background:rgba(255,255,255,.18);font:600 .83rem/1 "Hanken Grotesk",sans-serif;cursor:pointer;transition:color .2s ease,background .2s ease,transform .2s ease}
.approach-page .chip:hover,.approach-page .chip:focus-visible{transform:translateY(-2px)}
.approach-page .chip[aria-selected="true"]{border-color:#344934;color:#f7f2e7;background:#344934}
.approach-page .panel{max-width:820px;min-height:134px;margin-top:22px;padding:28px 30px;border-left:4px solid #b06a45;background:rgba(255,253,247,.42)}
.approach-page .panel p{margin:0;color:#465044}
.approach-page .panel b{display:block;margin-bottom:8px;color:#2e3d2c;font-family:"Fraunces",Georgia,serif;font-size:1.45rem;font-weight:500}
.approach-page .tree-info{padding:112px 0;background:radial-gradient(circle at 88% 12%,rgba(255,240,166,.72),transparent 26%),linear-gradient(150deg,#dce0b5,#abc1a6)}
.approach-page .braid-wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.approach-page .wv-legend{display:flex;justify-content:center;gap:24px;margin:42px 0 22px}
.approach-page .wv-key{display:flex;align-items:center;gap:8px;color:#435042;font-size:.71rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.approach-page .wv-key::before{width:26px;height:3px;border-radius:999px;background:#a75f3d;content:""}
.approach-page .wv-key.dep::before{background:#405440}
.approach-page .wv{position:relative;min-height:310px;padding:26px 0}
.approach-page .wv-line{position:absolute;top:50%;right:0;left:0;height:2px;background:rgba(51,64,52,.28);transform:translateY(-50%)}
.approach-page .wv-cols{position:relative;display:grid;grid-template-columns:repeat(7,1fr);min-height:258px}
.approach-page .wv-col{position:relative;display:flex;align-items:center;justify-content:center}
.approach-page .wv-col.up{align-items:flex-start}
.approach-page .wv-col.down{align-items:flex-end}
.approach-page .wv-col button{position:relative;z-index:2;width:112px;min-height:112px;padding:14px;border:1px solid rgba(51,64,52,.28);border-radius:50%;color:#344934;background:#edf0cf;font:500 1rem/1.14 "Fraunces",Georgia,serif;cursor:pointer;box-shadow:0 12px 28px -22px rgba(35,49,35,.8);transition:transform .2s ease,background .2s ease,color .2s ease}
.approach-page .wv-col.down button{background:#5a6853;color:#f7f2e7}
.approach-page .wv-col button:hover,.approach-page .wv-col button:focus-visible,.approach-page .wv-col button[aria-selected="true"]{transform:scale(1.06);outline:3px solid rgba(176,106,69,.38);outline-offset:4px}
.approach-page .wv-stem{position:absolute;top:50%;width:1px;height:44px;background:rgba(51,64,52,.32)}
.approach-page .wv-col.up .wv-stem{transform:translateY(-100%)}
.approach-page .wv-hint{display:block;margin-top:4px;color:#586254;font-size:.75rem;text-align:center}
.approach-page .wv-panel{max-width:760px;margin:34px auto 0;padding:30px 32px;border:1px solid rgba(51,64,52,.18);border-radius:22px;background:rgba(247,242,231,.74);box-shadow:0 26px 52px -42px rgba(35,49,35,.72)}
.approach-page .wv-panel .bd-eb{display:block;color:#a75f3d;font-size:.7rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.approach-page .wv-panel>b{display:block;margin-top:7px;color:#2e3d2c;font-family:"Fraunces",Georgia,serif;font-size:1.75rem;font-weight:500}
.approach-page .wv-panel p{margin:10px 0 0;color:#485043}
.approach-page .drop-list{display:grid;gap:8px;margin:18px 0 0;padding-left:20px;color:#485043;font-size:.94rem}
.approach-page .braid-cap{max-width:60ch;margin:30px auto 0;color:#4c574a;font-family:"Fraunces",Georgia,serif;font-style:italic;text-align:center}
.approach-page .support-types{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:42px 0 34px}
.approach-page .support-types>div{padding:27px 26px;border:1px solid rgba(51,64,52,.16);border-radius:20px;background:rgba(247,242,231,.62)}
.approach-page .support-types h3{color:#a75f3d;font-style:italic;font-size:1.55rem}
.approach-page .support-types p{margin:10px 0 0;color:#51594c;font-size:.96rem}
.approach-page .mini{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:44px;border:1px solid rgba(51,64,52,.16);background:rgba(51,64,52,.14)}
.approach-page .mini>div{display:flex;flex-direction:column;gap:8px;min-height:155px;padding:26px 28px;background:rgba(247,242,231,.62)}
.approach-page .mini b{color:#2e3d2c;font-family:"Fraunces",Georgia,serif;font-size:1.38rem;font-weight:500}
.approach-page .mini span{color:#51594c;font-size:.94rem}
.approach-page .fold{max-width:none!important;margin-top:34px!important}
.approach-page .fold summary{font-family:"Fraunces",Georgia,serif;font-size:1.25rem;font-weight:500!important}
.approach-page .fold-body{padding:4px 0 24px}
.approach-page .na-list{display:grid;gap:12px 30px;margin:0;padding-left:20px;color:#4b5549;font-size:.94rem}
@media(max-width:1050px){.approach-page .hero-grid{grid-template-columns:1fr .72fr;gap:44px}.approach-page .wv-col button{width:96px;min-height:96px;font-size:.9rem}}
@media(max-width:860px){.approach-page .hero{padding:64px 0 82px}.approach-page .hero-grid,.approach-page .split{grid-template-columns:1fr}.approach-page .hero-grid{padding:0 24px}.approach-page .artwork-frame{width:min(520px,100%);margin:0 auto}.approach-page .grid-3,.approach-page .support-types{grid-template-columns:1fr}.approach-page .cond{min-height:0}.approach-page .cond:nth-child(2){transform:none}.approach-page .tree-info{padding:76px 0}.approach-page .wv{overflow-x:auto}.approach-page .wv-cols{min-width:820px}.approach-page .mini{grid-template-columns:1fr}.approach-page .na-list{grid-template-columns:1fr!important}}
@media(max-width:520px){.approach-page .hero-grid{padding:0 22px}.approach-page .door-nav{right:22px;bottom:22px;left:22px}.approach-page .door-nav a{font-size:1rem}.approach-page .wv-legend{align-items:flex-start;flex-direction:column;gap:8px}.approach-page .wv-panel{padding:25px 23px}.approach-page .mini>div{padding:23px 22px}}
