/* Emotional Forest — phone storefront (≤760px).
   Loaded with media="(max-width:760px)"; desktop layers are scoped to ≥761px,
   so this file is the whole phone design system, not an override layer. */

/* ── Tokens ─────────────────────────────────────────── */
:root{
 --bg:#f7f6f0;--surface:#fffefa;--surface-2:#eef1e8;--surface-3:#e4eadb;
 --ink:#2f3b34;--ink-2:#5b665f;--ink-3:#848d86;--line:#e1e5da;--line-2:#d3d9cb;
 --forest:#56744f;--forest-deep:#2f3b34;--moss:#6f8f6b;--lime:#d8e8b0;--sage:#8fae8b;--sage-2:#84a47f;--on-sage:#1e2922;--lavender:#e9e1f3;--plum:#67517b;
 --danger:#a8321f;--danger-bg:#fbefe9;--info-bg:#eef3f8;
 --sans:"Helvetica Neue",Helvetica,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
 --serif:Georgia,"Times New Roman",serif;
 --gutter:max(20px,env(safe-area-inset-left,0px));
 --r-xl:28px;--r-lg:20px;--r-md:14px;--r-sm:10px;--pill:999px;
 --head:56px;--safe-b:env(safe-area-inset-bottom,0px);
 --shadow-1:0 1px 2px #2f3b340a,0 2px 8px #2f3b340d;
 --shadow-2:0 8px 30px #2f3b3418,0 2px 6px #2f3b340f;
 --ease:cubic-bezier(.22,.65,.3,1);--spring:cubic-bezier(.32,1.25,.5,1);
}

/* ── Reset & base ───────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--head) + 64px);background:var(--bg)}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;overflow-x:clip;min-height:100svh}
body.efm-has-bar{padding-bottom:calc(84px + var(--safe-b))}
img,svg,video{max-width:100%;height:auto}
svg{flex:none}
a{color:inherit;text-decoration:none;touch-action:manipulation}
button,input,select,textarea{font:inherit;color:inherit;touch-action:manipulation}
button{cursor:pointer}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0}
h1,h2,h3,h4{font-weight:500;text-wrap:balance;overflow-wrap:break-word}
p,li,dd,td{overflow-wrap:break-word}
em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--moss);outline-offset:3px;border-radius:6px}
::selection{background:var(--lime);color:var(--forest-deep)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-80px;z-index:200;background:var(--surface);color:var(--ink);padding:12px 16px;border-radius:var(--r-sm);box-shadow:var(--shadow-2)}
.skip-link:focus{top:calc(10px + env(safe-area-inset-top,0px))}
.container{width:auto;max-width:none;margin-left:var(--gutter);margin-right:max(20px,env(safe-area-inset-right,0px))}
main{display:block;min-width:0}
main section,main article{min-width:0}

/* ── Type ───────────────────────────────────────────── */
.eyebrow,.efm-kicker,.goal-kicker,.goal-product-label,.flow-label,.module-number,.product-number,.cover-edition,.art-index{font:600 11px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--moss)}
.eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:14px}
h1{font-size:clamp(40px,11.6vw,52px);line-height:1.02;letter-spacing:-.045em;color:var(--ink)}
h2{font-size:clamp(30px,8.4vw,38px);line-height:1.06;letter-spacing:-.035em}
h3{font-size:20px;line-height:1.25;letter-spacing:-.015em}
h1 em,h2 em{color:var(--moss);letter-spacing:-.03em}
.section-heading,.shop-section-heading{display:grid;gap:14px;margin-bottom:24px}
.section-heading>p,.section-heading .heading-aside>p,.shop-section-heading>p{color:var(--ink-2);font-size:15px;line-height:1.6}
.heading-aside{display:grid;gap:14px}

/* ── Buttons & links ────────────────────────────────── */
.button,.woocommerce .button,button.button,a.button,input.button,#place_order{
 display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 24px;border:0;border-radius:var(--pill);
 background:var(--sage);color:var(--on-sage);font:500 15px/1.25 var(--sans);letter-spacing:-.005em;text-align:center;white-space:normal;
 box-shadow:0 1px 0 #ffffff59 inset,0 6px 18px -6px #5f7f5a59;transition:transform .18s var(--ease),background-color .18s,box-shadow .18s;cursor:pointer;-webkit-appearance:none;appearance:none}
.button:active,#place_order:active{transform:scale(.97);background:var(--sage-2);box-shadow:0 2px 8px #5f7f5a26}
.button svg{width:18px;height:18px;transition:transform .2s var(--ease)}
.button[disabled],.button.disabled,button[disabled]{opacity:.5;cursor:not-allowed;box-shadow:none}
.button.efm-button-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}
.text-link,.forest-inline-link,.goal-explorer-footer a,.refund-note{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:500;color:var(--forest);text-decoration:underline;text-decoration-color:#56744f40;text-underline-offset:5px}
.text-link svg,.forest-inline-link svg,.goal-explorer-footer a svg{width:18px;height:18px}
.page-content a:not(.button),.woocommerce-privacy-policy-text a,.ef-payment-notice a,.woocommerce-terms-and-conditions-checkbox-text a{color:var(--forest);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#56744f55}

/* ── Header ─────────────────────────────────────────── */
.km-header{position:sticky;top:0;z-index:60;padding-top:env(safe-area-inset-top,0px);background:#f7f6f0cc;-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid transparent;transition:transform .32s var(--ease),border-color .2s,background-color .2s}
.km-header.is-scrolled{border-bottom-color:#2f3b3414;background:#f7f6f0e6}
.km-header.is-tucked{transform:translateY(-100%)}
.admin-bar .km-header{top:46px}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--head)}
.brand{display:inline-flex;align-items:center;min-height:44px}
.brand-wordmark{font:400 23px/1 var(--serif);letter-spacing:-.04em;color:var(--ink);white-space:nowrap}
.brand-wordmark em{color:var(--ink)}
.brand-period{color:var(--moss)}
.desktop-nav{display:none!important}
.mobile-nav{display:flex;flex-direction:column;padding:0 0 12px}/* only shown without JS */
.mobile-nav a{display:flex;align-items:center;min-height:44px;border-top:1px solid var(--line)}
.header-actions{display:flex;align-items:center;gap:6px}
.cart-nav,.menu-toggle,.efm-icon-button{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink);transition:background-color .15s,transform .15s var(--ease)}
.cart-nav:active,.menu-toggle:active,.efm-icon-button:active{background:var(--surface-3);transform:scale(.92)}
.menu-toggle svg path{stroke-width:1.5;stroke-linecap:round}
.km-cart-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--pill);background:var(--sage);color:var(--on-sage);font:600 10.5px/1 var(--sans);font-variant-numeric:tabular-nums}
.cart-nav .km-cart-count{position:absolute;top:5px;right:3px;box-shadow:0 0 0 2px var(--bg)}
.cart-nav[data-count="0"] .km-cart-count{background:var(--surface-3);color:var(--ink-2)}
.km-cart-count.is-bumped{animation:efm-bump .5s var(--spring)}
@keyframes efm-bump{40%{transform:scale(1.35)}}

/* ── Menu sheet ─────────────────────────────────────── */
.efm-menu{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);padding:env(safe-area-inset-top,0px) max(20px,env(safe-area-inset-right,0px)) calc(24px + var(--safe-b)) var(--gutter)}
.efm-menu.is-open{animation:efm-sheet-in .34s var(--ease) both}
.efm-menu.is-closing{animation:efm-sheet-out .2s ease-in both}
@keyframes efm-sheet-in{from{opacity:0;transform:translateY(-12px)}}
@keyframes efm-sheet-out{to{opacity:0;transform:translateY(-8px)}}
.efm-menu-top{display:flex;align-items:center;justify-content:space-between;height:var(--head);flex:none}
.efm-menu-brand{font:400 23px/1 var(--serif);letter-spacing:-.04em}
.efm-menu-brand span{color:var(--moss)}
.efm-menu-links{display:grid;margin-top:12px;border-top:1px solid var(--line)}
.efm-menu-links a{display:grid;grid-template-columns:34px 1fr 22px;align-items:center;gap:6px;min-height:68px;border-bottom:1px solid var(--line);font:400 27px/1.15 var(--serif);letter-spacing:-.03em}
.efm-menu.is-open .efm-menu-links a{animation:efm-rise .44s var(--ease) both}
.efm-menu.is-open .efm-menu-links a:nth-child(2){animation-delay:.03s}.efm-menu.is-open .efm-menu-links a:nth-child(3){animation-delay:.06s}.efm-menu.is-open .efm-menu-links a:nth-child(4){animation-delay:.09s}.efm-menu.is-open .efm-menu-links a:nth-child(5){animation-delay:.12s}
@keyframes efm-rise{from{opacity:0;transform:translateY(10px)}}
.efm-menu-index{font:500 11px/1 var(--sans);letter-spacing:.08em;color:var(--ink-3)}
.efm-menu-links a svg{color:var(--ink-3);transition:transform .2s var(--ease)}
.efm-menu-links a:active{color:var(--moss)}.efm-menu-links a:active svg{transform:translateX(4px)}
.efm-menu-links a[aria-current] .efm-menu-label{color:var(--moss);font-style:italic}
.efm-menu-section{margin-top:28px}
.efm-menu-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.efm-menu-chips a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:var(--pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:14px}
.efm-menu-chips a:active{background:var(--surface-3)}
.efm-menu-foot{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding-top:32px}
.efm-menu-tile{display:grid;gap:18px;padding:16px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;font-weight:500}
.efm-menu-tile .km-cart-count{margin-left:4px;vertical-align:1px}
.efm-menu-mail{grid-column:1/-1;display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;border-radius:var(--r-lg);background:var(--sage);color:var(--on-sage);font-size:14px}
.efm-menu-foot p{grid-column:1/-1;font-size:12px;color:var(--ink-3);text-align:center;padding-top:6px}
body.efm-locked{overflow:hidden}

/* ── Sticky purchase / checkout bar ─────────────────── */
.efm-bar{position:fixed;z-index:70;left:10px;right:10px;bottom:calc(10px + var(--safe-b));display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 18px;border-radius:var(--r-xl);background:#fffef9f0;-webkit-backdrop-filter:saturate(1.6) blur(20px);backdrop-filter:saturate(1.6) blur(20px);box-shadow:0 0 0 1px #2f3b3414,var(--shadow-2);transform:translateY(calc(100% + 24px));transition:transform .4s var(--ease),opacity .25s;opacity:0}
.efm-bar.is-visible{transform:none;opacity:1}
.efm-bar-price{display:grid;line-height:1.2;min-width:0}
.efm-bar-price small{font-size:11px;color:var(--ink-3);letter-spacing:.02em}
.efm-bar-price span,.efm-bar-price .amount{font:400 22px/1.2 var(--serif);letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.efm-bar .button{min-height:48px;padding:12px 20px;flex:none}
.efm-keyboard .efm-bar{display:none}

/* ── Notices & feedback ─────────────────────────────── */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-error,.woocommerce-info,.woocommerce-message,.woocommerce-NoticeGroup>ul{position:relative;list-style:none;margin:0 0 16px;padding:14px 48px 14px 16px;border-radius:var(--r-md);background:var(--info-bg);color:var(--ink);font-size:14px;line-height:1.55;box-shadow:inset 0 0 0 1px #2f3b3412}
.woocommerce-error{background:var(--danger-bg);color:#6b2414;box-shadow:inset 0 0 0 1px #a8321f30}
.woocommerce-error li+li{margin-top:6px}
.woocommerce-message{background:var(--surface-2)}
.woocommerce-info .button,.woocommerce-message .button{min-height:40px;padding:8px 16px;margin-top:10px;font-size:13px;display:flex;width:max-content}
.ef-notice-close{position:absolute;right:6px;top:6px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit}
.ef-notice-close-row{list-style:none}
.ef-route-progress{position:fixed;left:0;right:0;top:0;z-index:200;height:2px;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .15s}
.ef-route-progress:after{content:"";display:block;height:100%;width:40%;background:var(--moss);transform:translateX(-110%)}
.ef-route-progress.is-active{opacity:1}
.ef-route-progress.is-active:after{animation:efm-travel 1.1s ease-in-out infinite}
@keyframes efm-travel{to{transform:translateX(260%)}}
[data-ui-busy]{opacity:.55;pointer-events:none;transition:opacity .2s}

/* ── Home: hero ─────────────────────────────────────── */
.forest-hero{position:relative;padding:20px 0 8px;overflow:hidden}
.forest-hero:before{content:"";position:absolute;inset:-120px -40% auto;height:460px;background:radial-gradient(closest-side,#e2ecc9 0%,#e2ecc900 100%);pointer-events:none;z-index:-1}
.forest-hero-grid{display:grid;gap:28px}
.forest-hero-copy .eyebrow{display:inline-flex;padding:6px 12px 6px 10px;border-radius:var(--pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:10px;letter-spacing:.12em;color:var(--ink-2);margin-bottom:22px}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--moss);box-shadow:0 0 0 3px #5f7f5226;animation:efm-pulse 2.6s ease-in-out infinite}
@keyframes efm-pulse{50%{box-shadow:0 0 0 6px #5f7f5200}}
.forest-hero h1{font-size:clamp(46px,13.4vw,60px);line-height:.98;letter-spacing:-.05em}
.forest-hero h1 br{display:block}
.forest-intro{margin-top:18px;font-size:17px;line-height:1.55;color:var(--ink-2);max-width:34ch}
.hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:26px}
.hero-actions .button{width:100%;justify-content:space-between;padding-left:24px;padding-right:20px}
.hero-actions .efm-button-ghost{justify-content:center}
.hero-note{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--ink-2)}
.hero-note br{display:none}.hero-note strong{display:block;color:var(--ink);font-weight:500}
.note-star .km-spark,.explorer-flower .km-spark{width:28px;height:28px;color:var(--moss)}
.hero-bottom{display:none}
.efd-only{display:none!important}
@keyframes efm-spin{to{transform:rotate(360deg)}}
/* Hero product preview (phone): tabs, current step, outcome and product link */
.forest-art{position:relative;padding:14px;border-radius:var(--r-xl);background:radial-gradient(120% 80% at 80% 0%,#e9f1dc 0%,#eef1e8 45%,#f1edf5 100%);box-shadow:inset 0 0 0 1px #2f3b340d}
.hero-orb{display:none}
.hero-app{display:grid;gap:10px;padding:12px;border-radius:22px;background:var(--surface);box-shadow:0 0 0 1px #2f3b3412,0 18px 40px -24px #2f3b3459}
.hero-app-bar{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-3)}
.hero-app-dots{display:flex;gap:4px}.hero-app-dots i{width:7px;height:7px;border-radius:50%;background:var(--line-2)}
.hero-app-title{font-weight:600;color:var(--ink-2)}
.hero-app-tag{margin-left:auto;font-size:10px}
.hero-app-tabs{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:14px;background:var(--surface-2)}
.hero-app-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 6px;border:0;border-radius:10px;background:transparent;font-size:13px;font-weight:500;color:var(--ink-2)}
.hero-app-tabs button .product-symbol{width:18px;height:18px}
.hero-app-tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}
.hero-app-tab-ink{display:none}
.hero-app-panel{display:grid;gap:10px}
.hero-app-rail,.hero-app-inputs{display:none}
.hero-app-stage{position:relative;display:grid;padding:14px;border-radius:16px;background:var(--surface-2)}
.hero-app-detail{grid-area:1/1;display:grid;gap:6px;opacity:0;transform:translateY(6px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.hero-app-detail.is-active{opacity:1;transform:none}
.hero-app-kicker,.hero-app-label{font:600 10px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--forest)}
.hero-app-detail strong{font-size:17px;font-weight:500;line-height:1.3;color:var(--ink)}
.hero-app-detail p{font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.hero-app-progress{grid-area:2/1;height:3px;margin-top:12px;border-radius:var(--pill);background:#2f3b3414;overflow:hidden}
.hero-app-progress span{display:block;height:100%;width:25%;border-radius:inherit;background:var(--sage);transition:width .5s var(--ease)}
.hero-app-output{display:grid;gap:8px;padding:2px 4px}
.hero-app-output ul{list-style:none;display:grid;gap:6px}
.hero-app-output li{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink)}
.hero-app-output li>span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--lime);color:var(--on-sage);flex:none}
.hero-app-review{display:none}
.hero-app-product{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:16px;background:var(--lime);color:var(--on-sage)}
.hero-app-product>span:first-child{display:grid;gap:2px;font-size:14px;font-weight:500;line-height:1.3}
.hero-app-product small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.7;font-weight:600}
.hero-app-price{display:flex;align-items:center;gap:6px;font:400 19px/1 var(--serif);white-space:nowrap}
.hero-app-price svg{width:16px;height:16px}

/* Value strip → swipeable proof cards */
.value-strip{margin:28px 0 0}
.value-strip .container{display:flex;gap:10px;margin:0;padding:0 var(--gutter) 4px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter);scrollbar-width:none}
.value-strip .container::-webkit-scrollbar{display:none}
.value-strip span{flex:0 0 72%;scroll-snap-align:start;display:grid;gap:10px;padding:18px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;line-height:1.45;color:var(--ink-2)}
.value-strip b{font:500 11px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--moss)}

/* Company overview */
.company-overview{display:grid;gap:18px;margin-top:56px;margin-bottom:0}
.company-overview>div:last-child{display:grid;gap:14px;padding:22px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:15px;line-height:1.65;color:var(--ink-2)}
.availability-note{padding:12px 14px;border-radius:var(--r-sm);background:var(--surface-2);font-size:13.5px;color:var(--ink)}

/* ── Product cards (shared) ─────────────────────────── */
.catalog-section{margin-top:64px}
.product-grid{display:grid;gap:12px}
.product-card{position:relative;display:grid;grid-template-columns:76px 1fr;grid-template-areas:"vis main" "vis bottom";column-gap:14px;row-gap:10px;padding:14px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:transform .18s var(--ease),box-shadow .18s}
.product-card:active{transform:scale(.985);box-shadow:inset 0 0 0 1px var(--line-2),var(--shadow-1)}
.card-visual{grid-area:vis;position:relative;display:grid;place-items:center;align-self:start;width:76px;aspect-ratio:1;border-radius:var(--r-md);background:linear-gradient(150deg,#eef2e2,#e2e9d2);color:var(--forest);overflow:hidden}
.product-card[data-category="Educators"] .card-visual{background:linear-gradient(150deg,#eef0f7,#e1e5f0);color:#34466b}
.product-card[data-category="Career"] .card-visual{background:linear-gradient(150deg,#f6efe4,#ecdfcb);color:#6b4f2a}
.product-card[data-category="Families"] .card-visual{background:linear-gradient(150deg,#f3ebf6,#e6dcee);color:var(--plum)}
.product-card[data-category="Tutors and creators"] .card-visual{background:linear-gradient(150deg,#e7f1ee,#d6e7e1);color:#2c5c50}
.roadmap-card .card-visual{background:linear-gradient(150deg,#efeee9,#e3e1d8);color:var(--ink-2)}
.card-visual>span:not(.cover-symbol){display:none}
.cover-symbol .product-symbol{width:40px;height:40px}
.card-top{display:none}
.card-main{grid-area:main;display:grid;gap:4px;min-width:0}
.card-main .eyebrow{margin:0;font-size:10px;letter-spacing:.12em}
.card-main h3{font-size:16.5px;line-height:1.28;letter-spacing:-.01em}
.card-primary-link:after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1}
.card-description{font-size:13.5px;line-height:1.5;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-bottom{grid-area:bottom;display:flex;align-items:center;justify-content:space-between;gap:10px}
.card-bottom>div{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.card-price,.card-price .amount{font:400 19px/1.2 var(--serif);letter-spacing:-.02em;color:var(--ink)}
.price-note{font-size:11.5px;color:var(--ink-3)}
.product-grid:not(.featured-grid) .live-product-card .price-note{display:none}
.roadmap-status{font:500 12px/1.2 var(--sans);color:var(--plum);letter-spacing:0}
.card-link{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--surface-2);color:var(--forest);flex:none}
.card-link svg{width:16px;height:16px}

/* Featured → horizontal carousel of tall cards */
.featured-section .product-grid{grid-auto-flow:column;grid-auto-columns:82%;gap:12px;margin:0 calc(-1 * var(--gutter));padding:4px var(--gutter) 6px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter);scrollbar-width:none;overscroll-behavior-x:contain}
.featured-section .product-grid::-webkit-scrollbar{display:none}
.featured-section .product-card{scroll-snap-align:start;grid-template-columns:1fr;grid-template-areas:"vis" "main" "bottom";padding:10px 10px 16px;border-radius:var(--r-xl);row-gap:14px}
.featured-section .card-visual{width:100%;aspect-ratio:4/3;border-radius:calc(var(--r-xl) - 8px)}
.featured-section .card-visual>.cover-edition,.featured-section .card-visual>.cover-title,.featured-section .card-visual>.cover-orbit{display:block}
.featured-section .cover-edition{position:absolute;left:14px;top:14px;font-size:8.5px;opacity:.7;color:inherit}
.featured-section .cover-title{position:absolute;left:14px;bottom:12px;font:italic 400 22px/1.1 var(--serif);letter-spacing:-.02em}
.featured-section .cover-orbit{position:absolute;width:150%;aspect-ratio:1;left:-25%;top:-20%;border-radius:50%;border:1px solid currentColor;opacity:.12}
.featured-section .cover-symbol{display:grid;place-items:center;width:84px;height:84px;border-radius:22px;background:#ffffffb3;box-shadow:var(--shadow-1);transform:rotate(-6deg)}
.featured-section .cover-symbol .product-symbol{width:48px;height:48px}
.featured-section .card-main,.featured-section .card-bottom{padding:0 8px}
.featured-section .card-main h3{font-size:20px}
.featured-section .card-bottom{padding-top:12px;border-top:1px solid var(--line)}
.featured-section .card-bottom>div{display:grid;gap:2px}
.featured-section .card-price,.featured-section .card-price .amount{font-size:24px}
.efm-dots{display:flex;justify-content:center;gap:6px;margin-top:14px}
.efm-dots span{width:6px;height:6px;border-radius:var(--pill);background:var(--line-2);transition:width .3s var(--ease),background-color .3s}
.efm-dots span.is-active{width:20px;background:var(--sage)}

/* Catalog toolbar: sticky segmented chips */
.catalog-toolbar{position:sticky;top:calc(var(--head) + env(safe-area-inset-top,0px));z-index:30;display:grid;gap:6px;margin:0 calc(-1 * var(--gutter)) 14px;padding:10px 0;background:#f7f6f0f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:top .32s var(--ease)}
.efm-head-tucked .catalog-toolbar,.efm-head-tucked .detail-nav{top:env(safe-area-inset-top,0px)}
.category-tabs{display:flex;gap:8px;padding:0 var(--gutter);scroll-padding-inline:var(--gutter);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
.category-tabs::-webkit-scrollbar{display:none}
.filter-tab{flex:none;scroll-snap-align:start;min-height:40px;padding:0 16px;border:0;border-radius:var(--pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;font-weight:500;color:var(--ink-2);white-space:nowrap;transition:background-color .2s,color .2s,box-shadow .2s}
.filter-tab.is-active{background:var(--sage);color:var(--on-sage);box-shadow:none}
.result-count{padding:0 var(--gutter);font-size:12px;color:var(--ink-3)}
.no-script-catalog{list-style:none;display:grid;gap:8px}
.no-script-catalog a{display:flex;justify-content:space-between;padding:14px;border-radius:var(--r-md);background:var(--surface)}

/* Goal explorer */
.explorer-section{margin-top:64px;padding:48px 0;background:linear-gradient(180deg,var(--lavender) 0%,#f1ecf6 100%)}
.explorer-layout{display:grid;gap:24px}
.explorer-copy{display:grid;gap:12px}
.explorer-copy h2 br{display:inline}
.explorer-copy p:not(.eyebrow){font-size:15px;color:var(--ink-2)}
.explorer-flower,.explorer-caption{display:none}
.goal-explorer{display:grid;gap:16px;padding:16px;border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-2)}
.goal-explorer-heading{display:grid;gap:4px}
.goal-explorer-heading h2{font-size:22px;letter-spacing:-.02em}
.goal-explorer-heading p{font-size:13px;color:var(--ink-3)}
.goal-tabs{display:grid;gap:6px}
.goal-tabs button{display:grid;grid-template-columns:36px 1fr 10px;align-items:center;gap:12px;min-height:56px;padding:8px 14px 8px 8px;border:0;border-radius:var(--r-md);background:var(--surface-2);text-align:left;font-size:14.5px;font-weight:500;color:var(--ink-2);transition:background-color .2s,color .2s}
.goal-tabs button .product-symbol{width:36px;height:36px;padding:7px;border-radius:10px;background:var(--surface);color:var(--forest)}
.goal-tabs button[aria-selected=true]{background:var(--sage);color:var(--on-sage)}
.goal-tabs button[aria-selected=true] .product-symbol{background:#ffffff8c;color:var(--on-sage)}
.goal-selected-dot{width:8px;height:8px;border-radius:50%;background:transparent}
.goal-tabs button[aria-selected=true] .goal-selected-dot{background:var(--on-sage)}
.goal-panel{display:grid;gap:14px}
.goal-outcome{display:grid;gap:4px;padding-top:4px}
.goal-outcome span{font-size:12px;color:var(--ink-3)}
.goal-outcome h3{font:400 21px/1.3 var(--serif);letter-spacing:-.02em}
.goal-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:var(--r-md);background:var(--surface-2)}
.goal-steps button{display:grid;gap:2px;min-height:52px;padding:6px 4px;border:0;border-radius:var(--r-sm);background:transparent;font-size:11.5px;line-height:1.25;font-weight:500;color:var(--ink-2)}
.goal-steps button span{font-size:10px;color:var(--ink-3)}
.goal-steps button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}
.goal-stage{display:grid;gap:10px}
.goal-stage-label{font-size:13px;color:var(--ink-2)}
.goal-stage-label span{display:block;font-weight:600;color:var(--ink)}
.goal-stage-items{display:grid;gap:8px}
.goal-item{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:12px;border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--line);font-size:14px}
.goal-item p{grid-column:2/-1;font-size:13px;color:var(--ink-2);margin-top:-6px}
.goal-item-symbol{color:var(--moss)}.goal-item-symbol svg{width:24px;height:24px}
.goal-item-index{font-size:11px;color:var(--ink-3)}
.goal-product{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:16px;border-radius:var(--r-md);background:var(--lime);color:var(--on-sage)}
.goal-product>div:first-child{display:grid;gap:6px}
.goal-product-label{color:var(--forest);font-size:10px}
.goal-product-link{display:inline;font-size:16px;font-weight:500;line-height:1.3}
.goal-product-link svg{width:16px;height:16px;vertical-align:-2px;margin-left:4px}
.goal-product-link:after{content:"";position:absolute;inset:0}
.goal-product{position:relative}
.goal-license{font-size:11.5px;opacity:.75}
.goal-price,.goal-price .amount{font:400 24px/1 var(--serif);white-space:nowrap}
.goal-explorer-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;font-size:12px;color:var(--ink-3)}
.goal-explorer-footer a{font-size:13px}

/* License band */
.license-band{margin-top:64px;padding:48px 0;background:linear-gradient(180deg,#eef3e3,#e6eddb);color:var(--ink)}
.license-band-inner{display:grid;gap:22px}
.license-band .eyebrow{color:var(--forest)}
.license-band h2{color:var(--ink)}.license-band h2 em{color:var(--moss)}
.license-lead{font-size:16px;line-height:1.6;color:var(--ink-2)}
.license-points{display:grid;gap:8px;margin:20px 0 8px}
.license-points span{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 16px;border-radius:var(--r-md);background:#fffefac7;box-shadow:inset 0 0 0 1px #ffffffd9;font-size:14.5px}
.license-points span:before{content:"";width:18px;height:18px;border-radius:50%;background:var(--sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e2922' stroke-width='3'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E") center/11px no-repeat;flex:none}
.license-band .text-link{color:var(--forest)}

/* How it works → vertical timeline */
.how-section{margin-top:64px}
.steps{display:grid;gap:0;counter-reset:step}
.steps article{position:relative;display:grid;gap:6px;padding:0 0 28px 52px}
.steps article:before{content:"";position:absolute;left:17px;top:40px;bottom:4px;width:1px;background:var(--line-2)}
.steps article:last-child{padding-bottom:0}.steps article:last-child:before{display:none}
.steps article>span{position:absolute;left:0;top:0;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2);font-size:0;color:var(--forest)}
.steps article>span svg{width:18px;height:18px}
.steps h3{font-size:19px;padding-top:6px}
.steps p{font-size:14.5px;color:var(--ink-2)}

/* Roadmap */
.roadmap-section .section-heading>p{font-size:14px}
.roadmap-disclosure{border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.roadmap-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:0 16px;list-style:none;cursor:pointer;font-weight:500}
.roadmap-disclosure summary::-webkit-details-marker{display:none}
.roadmap-disclosure summary>span:last-child{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:400;color:var(--ink-3)}
.roadmap-disclosure summary b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--surface-2);transition:transform .25s var(--ease)}
.roadmap-disclosure summary b svg{width:15px;height:15px;transform:rotate(90deg)}
.roadmap-disclosure[open] summary b{transform:rotate(180deg)}
.roadmap-grid{padding:0 10px 10px}
.roadmap-grid .product-card{box-shadow:none;background:var(--surface-2)}

/* Endcap */
.forest-endcap{position:relative;display:grid;margin-top:64px;margin-bottom:56px;padding:36px 24px 30px;border-radius:var(--r-xl);background:linear-gradient(165deg,#e5edd3 0%,#eef1e4 60%,#ebe4f2 100%);overflow:hidden;text-align:left}
.endcap-copy{position:relative;z-index:1;display:grid;gap:4px}
.endcap-copy .button{margin-top:22px;width:100%;justify-content:space-between}
.endcap-art{position:absolute;right:-70px;top:-80px;width:170px;height:170px;opacity:.45}
.endcap-art>span{display:none}
.endcap-art .endcap-arch{display:block;width:100%;height:100%;border-radius:50%;border:1px solid var(--moss)}

/* ── Shop ───────────────────────────────────────────── */
.shop-hero{display:grid;gap:22px;padding-top:20px}
.shop-hero h1 br{display:block}
.shop-intro{margin-top:14px;color:var(--ink-2);font-size:16px}
.shop-promises{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.shop-promises span{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:var(--pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:12.5px;color:var(--ink-2)}
.shop-hero-art{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;border-radius:var(--r-xl);background:linear-gradient(160deg,#eef3e1,#ece6f2);overflow:hidden}
.shop-art-orbit,.shop-art-caption,.shop-guide-edition,.shop-guide-line{display:none}
.shop-guide{display:grid;justify-items:center;gap:8px;padding:16px 6px 12px;border-radius:var(--r-md);background:#ffffffb8;color:var(--forest);font-size:12px}
.shop-guide .product-symbol{width:34px;height:34px}
.shop-guide strong{font:italic 400 16px/1 var(--serif)}
.shop-catalog{margin-top:44px}

/* ── Product detail ─────────────────────────────────── */
.product-detail{padding-bottom:24px}
.breadcrumbs{display:flex;align-items:center;gap:6px;min-height:44px;font-size:13px;color:var(--ink-3);white-space:nowrap;overflow:hidden}
.breadcrumbs a{color:var(--forest);font-weight:500}
.breadcrumbs span:last-child{overflow:hidden;text-overflow:ellipsis}
.detail-hero{display:grid;gap:20px;padding-top:6px}
.detail-copy{display:grid;gap:12px}
.detail-copy .eyebrow{margin:0}
.detail-copy h1{font-size:clamp(34px,9.6vw,44px);line-height:1.04}
.detail-headline{font:400 19px/1.4 var(--serif);letter-spacing:-.01em;color:var(--ink)}
.detail-description{font-size:15px;color:var(--ink-2)}
.scope-line{display:grid;gap:2px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-2);font-size:13px}
.scope-line span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.scope-line strong{font-weight:500}
.purchase-panel{display:grid;gap:14px;padding:20px;border-radius:var(--r-xl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line),var(--shadow-1)}
.purchase-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--ink-3)}
.tier{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:var(--pill);background:var(--lime);color:var(--on-sage);font-size:11.5px;font-weight:600}
.roadmap-panel .tier{background:var(--lavender);color:var(--plum)}
.purchase-panel h2{font-size:24px}
.detail-price{display:flex;align-items:baseline;gap:8px}
.detail-price,.detail-price .amount{font:400 42px/1 var(--serif);letter-spacing:-.03em}
.detail-price>span:last-child{font:500 12px/1 var(--sans);letter-spacing:.08em;color:var(--ink-3)}
.payment-caption{font-size:13px;color:var(--ink-2)}
.purchase-includes{list-style:none;display:grid;gap:10px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.purchase-includes li{display:flex;gap:10px;font-size:14px;line-height:1.45}
.purchase-includes li:before{content:"";flex:none;width:18px;height:18px;margin-top:1px;border-radius:50%;background:var(--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23254c3b' stroke-width='3'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E") center/10px no-repeat}
.purchase-footnote{font-size:12.5px;line-height:1.55;color:var(--ink-2)}
.purchase-footnote strong{font-weight:500;color:var(--ink)}
.purchase-panel form.cart{display:grid;grid-template-columns:auto 1fr;gap:10px}
.purchase-panel form.cart .quantity{display:none}
.purchase-panel .single_add_to_cart_button,.roadmap-button{grid-column:1/-1;width:100%;min-height:56px;font-size:16px}
.refund-note{font-size:13px;min-height:36px}
.detail-visual{margin-top:28px}
.workflow-figure{display:grid;gap:14px;padding:18px;border-radius:var(--r-xl);background:linear-gradient(170deg,#eef2e2,#f3f1ea);box-shadow:inset 0 0 0 1px #2f3b340f}
.workflow-figure figcaption{display:flex;justify-content:space-between;gap:10px;font-size:13px;font-weight:500}
.workflow-figure figcaption small{font-size:11px;font-weight:400;color:var(--ink-3);white-space:nowrap}
.workflow-map{display:grid;gap:10px}
.flow-column{display:grid;gap:6px}
.flow-label{font-size:10px;margin-bottom:2px}
.flow-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface);font-size:13.5px;line-height:1.35;box-shadow:var(--shadow-1)}
.flow-inputs .flow-item{justify-content:flex-start}
.document-icon{flex:none;width:12px;height:15px;border:1.3px solid var(--moss);border-radius:2px}
.flow-item svg{color:var(--moss)}
.flow-core{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--r-md);background:var(--lime);color:var(--on-sage)}
.flow-core-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#ffffffa6;color:var(--forest)}
.flow-core-symbol .product-symbol{width:28px;height:28px}
.flow-core strong{font-size:13px;letter-spacing:.06em}
.flow-core span{margin-left:auto;font-size:12px;opacity:.75}
.flow-modules{display:flex;flex-wrap:wrap;gap:6px}
.flow-modules span{padding:6px 10px;border-radius:var(--pill);background:#ffffffa6;font-size:12px;color:var(--ink-2)}
.detail-nav{scroll-padding-inline:var(--gutter);position:sticky;top:calc(var(--head) + env(safe-area-inset-top,0px));z-index:30;display:flex;gap:4px;margin:28px calc(-1 * var(--gutter)) 0;padding:8px var(--gutter);overflow-x:auto;scrollbar-width:none;background:#f7f6f0f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:top .32s var(--ease)}
.detail-nav::-webkit-scrollbar{display:none}
.detail-nav a{flex:none;display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:var(--pill);font-size:13.5px;font-weight:500;color:var(--ink-2);transition:background-color .2s,color .2s}
.detail-nav a.is-current{background:var(--sage);color:var(--on-sage)}
.detail-section{margin-top:44px}
.detail-section .section-heading{margin-bottom:18px}
.detail-section h2{font-size:clamp(28px,7.8vw,34px)}
.detail-section h2 br{display:inline}
.modules-grid{display:grid;gap:8px}
.modules-grid article{display:grid;grid-template-columns:34px 1fr;gap:4px 12px;padding:16px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.module-number{grid-row:span 2;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--surface-2);font-size:11px;letter-spacing:.04em;color:var(--forest)}
.modules-grid h3{font-size:16px;line-height:1.35;padding-top:6px}
.modules-grid p{font-size:14px;color:var(--ink-2)}
.data-section{display:grid;gap:18px}
.data-section>div:first-child{display:grid;gap:10px}
.data-section>div:first-child>p:not(.eyebrow){font-size:14.5px;color:var(--ink-2)}
.io-panel{display:grid;gap:10px}
.io-panel>div{padding:18px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.io-panel>div:last-child{background:var(--lime);color:var(--on-sage);box-shadow:none}
.io-panel>div:last-child .eyebrow{color:var(--forest)}
.io-panel ul{list-style:none;display:grid;gap:0;margin-top:6px}
.io-panel li{padding:10px 0;border-bottom:1px solid #2f3b3414;font-size:14.5px}
.io-panel>div:last-child li{border-bottom-color:#1e29221a}
.io-panel li:last-child{border-bottom:0;padding-bottom:0}
.license-detail{display:grid;gap:18px}
.license-detail dl{display:grid;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.license-detail dl>div{display:grid;gap:3px;padding:14px 16px;border-bottom:1px solid var(--line)}
.license-detail dl>div:last-child{border-bottom:0}
.license-detail dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.license-detail dd{font-size:14.5px}
.faq-section{display:grid;gap:18px}
.faq-list{display:grid;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{position:relative;display:flex;align-items:center;min-height:60px;padding:14px 44px 14px 0;list-style:none;cursor:pointer;font-size:16px;font-weight:500;line-height:1.35}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after,.efm-foot-group summary:after{content:"";position:absolute;right:4px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d3429' stroke-width='2'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/12px no-repeat;transition:transform .25s var(--ease)}
.faq-list details[open] summary:after,.efm-foot-group[open] summary:after{transform:rotate(45deg)}
.faq-list details p{padding:0 8px 18px 0;font-size:14.5px;color:var(--ink-2)}
.related-collection{margin-top:52px}
.related-collection .section-heading{display:flex;align-items:flex-end;justify-content:space-between}
.related-collection .section-heading h2{font-size:26px}
.related-collection .text-link{font-size:13.5px;white-space:nowrap}
.related-collection .text-link svg{display:none}

/* ── Purchase journey (cart / checkout / account) ───── */
.standard-page{padding-top:16px;padding-bottom:48px}
.ef-journey-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:22px}
.ef-journey-steps li{display:grid;gap:8px;font-size:11.5px;font-weight:500;color:var(--ink-3)}
.ef-journey-steps li span{display:block;height:3px;border-radius:var(--pill);background:var(--line);font-size:0}
.ef-journey-steps li[aria-current] span,.ef-journey-steps li:has(~li[aria-current]) span{background:var(--sage)}
.ef-journey-steps li[aria-current]{color:var(--ink)}
.page-heading{display:grid;gap:6px;margin-bottom:24px}
.page-heading .eyebrow{margin-bottom:4px}
.page-heading h1{font-size:clamp(34px,9.6vw,44px)}
.ef-journey-intro{font-size:15px;color:var(--ink-2)}
.ef-assistance{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding:16px;border-radius:var(--r-lg);background:var(--surface-2);font-size:13.5px;color:var(--ink-2)}
.ef-assistance a{flex:none;font-weight:500;color:var(--forest)}

/* Tables (cart, review, orders) */
.shop_table{width:100%;border-collapse:collapse;border-spacing:0}
.shop_table th,.shop_table td{padding:0;text-align:left;vertical-align:top;font-weight:400}
.shop_table_responsive thead{display:none}
.shop_table_responsive tr{display:block}
.shop_table_responsive td{display:flex;justify-content:space-between;gap:12px}
.shop_table_responsive td[data-title]:before{content:attr(data-title);font-size:13px;color:var(--ink-3)}

/* Cart */
.woocommerce-cart-form .cart{display:block}
.woocommerce-cart-form tbody{display:grid;gap:10px}
.woocommerce-cart-form .cart_item{position:relative;display:grid!important;grid-template-columns:1fr auto;gap:10px 12px;padding:16px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.woocommerce-cart-form .cart_item td{display:block!important}
.woocommerce-cart-form .cart_item td:before{display:none}
.woocommerce-cart-form .cart_item .product-thumbnail,.woocommerce-cart-form .cart_item .product-price{display:none!important}
.woocommerce-cart-form .cart_item .product-name{grid-column:1;padding-right:36px;font-size:16px;font-weight:500;line-height:1.35}
.woocommerce-cart-form .cart_item .product-name a{color:var(--ink);text-decoration:none}
.woocommerce-cart-form .cart_item .product-name dl,.woocommerce-cart-form .cart_item .product-name .variation{display:none}
.woocommerce-cart-form .cart_item .product-remove{position:absolute;right:8px;top:8px}
.woocommerce-cart-form .cart_item .remove{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface-2);font-size:20px;line-height:1;color:var(--ink-2)}
.woocommerce-cart-form .cart_item .product-quantity{grid-column:1;grid-row:2;align-self:center}
.woocommerce-cart-form .cart_item .product-subtotal{grid-column:2;grid-row:2;align-self:center;font:400 20px/1 var(--serif)}
.quantity{display:inline-flex;align-items:center}
.quantity .qty{width:72px;min-height:44px;padding:0 10px;border:0;border-radius:var(--pill);background:var(--surface-2);text-align:center;font-size:16px;-moz-appearance:textfield}
.cart_item .actions,.woocommerce-cart-form tr:not(.cart_item){display:none}
.cart-collaterals{margin-top:16px}
.cart_totals{padding:20px;border-radius:var(--r-xl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line),var(--shadow-1)}
.cart_totals h2{font-size:20px;margin-bottom:8px;letter-spacing:-.015em}
.cart_totals table,.cart_totals tbody{display:block}
.cart_totals tr{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.cart_totals tr:last-child{border-bottom:0}
.cart_totals th{font-size:14px;color:var(--ink-2)}
.cart_totals td{display:block!important;text-align:right;font-size:14px}
.cart_totals td:before{display:none!important}
.cart_totals .order-total th{color:var(--ink);font-weight:500}
.cart_totals .order-total .amount{font:400 26px/1 var(--serif);letter-spacing:-.02em}
.cart_totals .includes_tax,.cart_totals small{display:block;font-size:11.5px;color:var(--ink-3)}
.wc-proceed-to-checkout{display:grid;gap:10px;padding-top:12px}
.wc-proceed-to-checkout .checkout-button{width:100%;min-height:56px;font-size:16px}
.cart-empty{padding:28px 20px;border-radius:var(--r-lg);background:var(--surface);text-align:center;font-size:16px}
.return-to-shop{margin-top:12px}.return-to-shop .button{width:100%}

/* Checkout */
.efm-summary{margin:0 0 18px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.efm-summary summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:0 16px;list-style:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--forest)}
.efm-summary summary::-webkit-details-marker{display:none}
.efm-summary summary span{display:inline-flex;align-items:center;gap:8px}
.efm-summary summary span svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.efm-summary[open] summary span svg{transform:rotate(180deg)}
.efm-summary summary strong{font:400 20px/1 var(--serif);color:var(--ink)}
.efm-summary-body{padding:0 16px 14px;border-top:1px solid var(--line)}
.efm-summary-body .shop_table,.efm-summary-body tbody,.efm-summary-body tfoot{display:block}
.efm-summary-body thead{display:none}
.efm-summary-body .shop_table,#order_review .shop_table{border-collapse:separate}
.efm-summary-body tr,#order_review .shop_table tr{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;box-shadow:inset 0 -1px var(--line);font-size:14px}
.efm-summary-body tr:last-child,#order_review .shop_table tr:last-child{box-shadow:none}
.efm-summary-body td,.efm-summary-body th,#order_review .shop_table td,#order_review .shop_table th{display:block;border:0;padding:0}
#order_review .product-name,.efm-summary-body .product-name{font-weight:500}
#order_review td:last-child,.efm-summary-body td:last-child{text-align:right;white-space:nowrap}
form.checkout{display:flex;flex-direction:column;gap:16px}
form.checkout .col2-set{display:grid;gap:16px}
form.checkout .col-2:not(:has(.woocommerce-shipping-fields>*,.woocommerce-additional-fields>*)){display:none}
.woocommerce-billing-fields,.woocommerce-shipping-fields:not(:empty),.woocommerce-additional-fields:not(:empty),#order_review,.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword,.woocommerce-EditAccountForm,.woocommerce-address-fields,.woocommerce-checkout-review-order{border-radius:var(--r-xl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.woocommerce-billing-fields,.woocommerce-shipping-fields:not(:empty),.woocommerce-additional-fields:not(:empty),.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword,.woocommerce-EditAccountForm,.woocommerce-address-fields{padding:20px 16px}
.woocommerce-billing-fields h3,#order_review_heading,.woocommerce-additional-fields h3,.woocommerce-shipping-fields h3{font-size:19px;letter-spacing:-.015em;margin-bottom:6px}
#order_review_heading{margin:8px 0 -6px 4px}
.ef-billing-help{font-size:13px;color:var(--ink-2);margin-bottom:14px}
.woocommerce-billing-fields__field-wrapper,.woocommerce-address-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px}
.form-row{display:grid;gap:6px;grid-column:1/-1;margin:0}
.form-row-first{grid-column:1}.form-row-last{grid-column:2}
#billing_city_field,#billing_postcode_field{grid-column:auto}
#billing_state_field{grid-column:1/-1}
.form-row label,.woocommerce-form-row label{font-size:13px;font-weight:500;color:var(--ink-2)}
.form-row label .required,.required{color:var(--danger);text-decoration:none;border:0}
.form-row .optional{font-weight:400;color:var(--ink-3)}
.woocommerce-input-wrapper{display:block}
.input-text,input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=search],select,textarea,.select2-container .select2-selection--single{
 width:100%;min-height:52px;padding:14px 14px;border:0;border-radius:var(--r-md);background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);font-size:16px;line-height:1.3;color:var(--ink);-webkit-appearance:none;appearance:none;transition:box-shadow .15s,background-color .15s}
textarea{min-height:110px}
.input-text:focus,input:focus,select:focus,textarea:focus,.select2-container--focus .select2-selection--single,.select2-container--open .select2-selection--single{outline:0;box-shadow:inset 0 0 0 2px var(--moss),0 0 0 4px #5f7f521f}
.woocommerce-invalid .input-text,.woocommerce-invalid select,.woocommerce-invalid .select2-selection{box-shadow:inset 0 0 0 1.5px var(--danger)}
.woocommerce-validated .input-text{box-shadow:inset 0 0 0 1px var(--line-2)}
::placeholder{color:#9aa39b}
select,.select2-container .select2-selection--single{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2355635a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center/16px no-repeat;padding-right:40px}
.select2-container{width:100%!important;display:block}
.select2-container .select2-selection--single{display:flex;align-items:center;height:auto}
.select2-selection__rendered{padding:0!important;color:var(--ink)!important;line-height:1.3!important}
.select2-selection__arrow{display:none}
.select2-dropdown{border:0;border-radius:var(--r-md);background:#fff;box-shadow:0 0 0 1px var(--line-2),var(--shadow-2);overflow:hidden;z-index:130}
.select2-search--dropdown{padding:8px}
.select2-search__field{min-height:44px!important;border-radius:var(--r-sm)!important}
.select2-results__options{max-height:46vh;overflow-y:auto;list-style:none}
.select2-results__option{padding:12px 14px;font-size:15px}
.select2-results__option--highlighted,.select2-results__option[aria-selected=true]{background:var(--surface-2)}
.select2-hidden-accessible{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
#order_review{padding:6px 16px 16px}
#order_review .shop_table{display:block;margin-bottom:6px}
#order_review .shop_table thead{display:none}
#order_review .shop_table tbody,#order_review .shop_table tfoot{display:block}
#order_review .product-quantity{font-weight:400;color:var(--ink-3)}
#order_review .order-total .amount,.efm-summary-body .order-total .amount{font:400 22px/1 var(--serif)}
#payment{display:grid;gap:14px;padding-top:8px}
.wc_payment_methods{list-style:none;display:grid;gap:8px}
.wc_payment_method{border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--line-2);overflow:hidden;background:#fff}
.wc_payment_method:has(>input:checked){box-shadow:inset 0 0 0 2px var(--sage)}
.wc_payment_method>input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.wc_payment_method>label{position:relative;display:flex;align-items:center;gap:10px;min-height:56px;padding:12px 14px 12px 46px;font-size:15px;font-weight:500;cursor:pointer}
.wc_payment_method>label:before{content:"";position:absolute;left:14px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line-2);background:#fff;transition:box-shadow .15s}
.wc_payment_method>input:checked+label:before{box-shadow:inset 0 0 0 6px var(--sage)}
.wc_payment_method>input:focus-visible+label{outline:2px solid var(--moss);outline-offset:-4px}
.wc_payment_method>label img{max-height:22px;width:auto;margin-left:auto}
.payment_box{padding:0 14px 14px;font-size:13.5px;color:var(--ink-2)}
.payment_box fieldset{border:0;padding:0;margin:0}
.wc-stripe-upe-element,.wc-stripe-elements-field{min-height:44px;margin-top:4px}
#wc-stripe-express-checkout-element{margin:0 0 4px}
#wc-stripe-express-checkout-button-separator{text-align:center;font-size:11px;letter-spacing:.1em;color:var(--ink-3);margin:10px 0}
#wc-stripe-express-checkout__order-attribution-inputs{display:none}
input#wc-stripe-hidden-style-input{width:1px!important;max-width:1px!important;min-width:0!important;padding:0!important;pointer-events:none}
.place-order{display:grid;gap:14px;padding-top:4px}
.woocommerce-privacy-policy-text,.ef-payment-notice{font-size:12.5px;line-height:1.6;color:var(--ink-2)}
.woocommerce-terms-and-conditions{margin:4px 0;padding:14px;border-radius:var(--r-md);background:var(--surface-2);font-size:13px}
.woocommerce-terms-and-conditions h2{font-size:15px;margin:12px 0 4px}
.woocommerce-form__label-for-checkbox,.woocommerce-form-login__rememberme{position:relative;display:flex!important;align-items:flex-start;gap:12px;font-size:14px!important;font-weight:400!important;color:var(--ink)!important;line-height:1.5;cursor:pointer}
input[type=checkbox]{flex:none;width:22px;height:22px;margin:0;border-radius:6px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line-2);-webkit-appearance:none;appearance:none;display:grid;place-items:center;transition:background-color .15s,box-shadow .15s}
input[type=checkbox]:checked{background:var(--sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e2922' stroke-width='3'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat;box-shadow:none}
#place_order{width:100%;min-height:58px;font-size:16.5px}
.blockUI.blockOverlay{border-radius:inherit;background:#fffef9!important;opacity:.6!important}
.woocommerce-NoticeGroup-checkout{order:-1}
.woocommerce-form-coupon-toggle,.checkout_coupon{display:none}

/* Checkout loader */
.ef-checkout-loader{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:32px;background:var(--bg);text-align:center;transition:opacity .2s}
.ef-checkout-loader.is-leaving{opacity:0;pointer-events:none}
.ef-checkout-loader h1{margin:24px 0 10px;font:400 30px/1.15 var(--serif);letter-spacing:-.03em}
.ef-checkout-loader p{font-size:15px;color:var(--ink-2)}
.ef-checkout-loader-ring{display:inline-block;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);border-top-color:var(--sage);animation:efm-spin .9s linear infinite}
.ef-checkout-loader.has-error .ef-checkout-loader-ring{animation:none;border-color:#c8b98f}
.ef-checkout-loader-actions{display:grid;gap:8px;justify-items:center;margin-top:26px}

/* Order received */
.woocommerce-order{display:grid;gap:16px}
.woocommerce-thankyou-order-received{padding:16px;border-radius:var(--r-lg);background:var(--surface-2);font-size:15px;font-weight:500}
.woocommerce-order-overview{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:1px;border-radius:var(--r-lg);background:var(--line);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.woocommerce-order-overview li{display:grid;gap:4px;padding:14px;background:var(--surface);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.woocommerce-order-overview li strong{font-size:14.5px;letter-spacing:0;text-transform:none;color:var(--ink);font-weight:500;overflow-wrap:anywhere}
.woocommerce-order-details,.woocommerce-customer-details,.woocommerce-order-downloads{padding:18px 16px;border-radius:var(--r-xl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.woocommerce-order-details__title,.woocommerce-column__title,.woocommerce-order-downloads__title{font-size:19px;margin-bottom:10px}
.woocommerce-table--order-details,.woocommerce-table--order-details tbody,.woocommerce-table--order-details tfoot{display:block}
.woocommerce-table--order-details thead{display:none}
.woocommerce-table--order-details tr{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.woocommerce-table--order-details .wc-item-meta{list-style:none;margin-top:6px;font-size:12px;color:var(--ink-2)}
.woocommerce-table--order-details .wc-item-meta p{display:inline}
.woocommerce-customer-details address{font-style:normal;font-size:14px;line-height:1.7}
.woocommerce-order-downloads table,.woocommerce-MyAccount-downloads{display:block}
.woocommerce-order-downloads tbody,.woocommerce-MyAccount-downloads tbody{display:grid;gap:10px}
.woocommerce-order-downloads tr,.woocommerce-MyAccount-downloads tr{display:grid;gap:6px;padding:12px;border-radius:var(--r-md);background:var(--surface-2)}

/* Account */
.woocommerce-account .page-content>.woocommerce{display:grid;gap:18px}
.woocommerce-MyAccount-navigation ul{list-style:none;display:flex;gap:6px;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter) 2px;overflow-x:auto;scrollbar-width:none}
.woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none}
.woocommerce-MyAccount-navigation a{display:inline-flex;align-items:center;min-height:40px;padding:0 15px;border-radius:var(--pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;white-space:nowrap}
.woocommerce-MyAccount-navigation .is-active a{background:var(--sage);color:var(--on-sage);box-shadow:none}
.woocommerce-MyAccount-content{display:grid;gap:14px;font-size:15px;color:var(--ink-2)}
.woocommerce-MyAccount-content a:not(.button){color:var(--forest);text-decoration:underline;text-underline-offset:3px}
.woocommerce-orders-table tbody{display:grid;gap:10px}
.woocommerce-orders-table tr{display:grid!important;gap:8px;padding:14px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.woocommerce-orders-table td,.woocommerce-orders-table th{display:flex!important;justify-content:space-between;gap:10px;font-size:14px}
.woocommerce-orders-table td:before{content:attr(data-title);color:var(--ink-3);font-size:13px}
.woocommerce-orders-table .button{min-height:40px;padding:8px 16px;font-size:13px}
.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword,.woocommerce-EditAccountForm{display:grid;gap:14px}
.u-columns,#customer_login{display:grid;gap:16px}
#customer_login h2{font-size:22px;margin-bottom:10px}
.woocommerce-form-login__submit,.woocommerce-form-register__submit,.woocommerce-Button{width:100%}
.lost_password{font-size:14px}
.woocommerce-form-row{display:grid;gap:6px}
.password-input{position:relative;display:block}
.show-password-input{position:absolute;right:6px;top:50%;width:40px;height:40px;margin-top:-20px;border:0;border-radius:50%;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2355635a' stroke-width='1.6'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/20px no-repeat}
fieldset{border:0;padding:0;margin:0;display:grid;gap:12px}
legend{font-size:17px;font-weight:500;margin-bottom:8px}

/* ── Content pages ──────────────────────────────────── */
.standard-page:not(.ef-journey) .page-heading{padding-bottom:20px;border-bottom:1px solid var(--line)}
.standard-page:not(.ef-journey) .page-content{display:grid;gap:14px;font-size:16px;line-height:1.7;color:var(--ink-2)}
.standard-page:not(.ef-journey) .page-content h2{margin-top:22px;font-size:25px;line-height:1.15;color:var(--ink)}
.standard-page:not(.ef-journey) .page-content h3{margin-top:12px;font-size:18px;color:var(--ink)}
.standard-page:not(.ef-journey) .page-content strong{color:var(--ink);font-weight:500}
.standard-page:not(.ef-journey) .page-content ul,.standard-page:not(.ef-journey) .page-content ol{padding-left:20px;display:grid;gap:6px}
.info-lead{font:400 20px/1.45 var(--serif);letter-spacing:-.01em;color:var(--ink)}
.info-grid{display:grid;gap:10px}
.info-grid>*{padding:16px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.company-facts{display:grid;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.company-facts>div,.company-facts dt{padding:12px 16px 0}
.company-facts dd{padding:2px 16px 12px;border-bottom:1px solid var(--line);color:var(--ink)}
.company-facts dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.standard-page:not(.ef-journey) .page-content blockquote{padding:14px 16px;border-left:3px solid var(--moss);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--surface-2);color:var(--ink)}
.standard-page:not(.ef-journey) .page-content table{width:100%;display:block;overflow-x:auto;border-collapse:collapse;font-size:14px}
.standard-page:not(.ef-journey) .page-content :is(th,td){padding:10px;border-bottom:1px solid var(--line);text-align:left}
.error404 .standard-page{display:grid;gap:16px;padding-top:48px;padding-bottom:64px}
.error404 .standard-page .button{width:100%;margin-top:12px}

/* ── Footer ─────────────────────────────────────────── */
.km-footer{margin-top:24px;padding:40px 0 calc(28px + var(--safe-b));background:var(--surface);border-top:1px solid var(--line);font-size:14px;color:var(--ink-2)}
body.efm-has-bar .km-footer{padding-bottom:calc(28px + var(--safe-b))}
.footer-main{display:grid;gap:28px}
.footer-company{display:grid;gap:12px;line-height:1.6}
.footer-company .brand-wordmark{font-size:26px}
.footer-company p{font-size:13px}
.footer-company strong{color:var(--ink);font-weight:500}
.footer-company>a:last-child{display:inline-flex;align-items:center;min-height:44px;font-weight:500;color:var(--forest)}
.footer-links{display:grid;border-top:1px solid var(--line)}
.footer-links>div{display:grid;border-bottom:1px solid var(--line);padding:6px 0 10px}
.footer-links span{padding:14px 0 6px;font:600 11px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.footer-links a{display:flex;align-items:center;min-height:44px;color:var(--ink)}
.footer-bottom{display:grid;gap:4px;margin-top:24px;font-size:12px;color:var(--ink-3)}

/* ── Reveal motion (JS adds .efm-reveal only when motion is allowed) ── */
.efm-reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.efm-reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
 .efm-reveal{opacity:1;transform:none}
}

/* Small phones */
@media(max-width:359px){
 h1{font-size:36px}.forest-hero h1{font-size:40px}
 .product-card{grid-template-columns:60px 1fr}.card-visual{width:60px}
 .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr}
 .form-row-first,.form-row-last{grid-column:1/-1}
}

/* ── Information architecture: light → deep ───────────
   Home answers one question and routes to a direction; the direction (shop filtered)
   lists systems; the product page carries the detail, folded into sections. */

/* Level 1 · Home */
body.home main{display:flex;flex-direction:column}
body.home .forest-hero{order:1}
body.home .featured-section{order:2}
body.home .how-section{order:3}
body.home .value-strip{order:4}
body.home .company-overview{order:5}
body.home .roadmap-section{order:6}
body.home .explorer-section,body.home #products,body.home .license-band,body.home .forest-endcap{display:none}
.forest-hero .forest-intro,.forest-hero .hero-actions,.forest-hero .hero-note,.forest-hero .forest-art{display:none}
.forest-hero{padding:18px 0 4px}
.forest-hero .eyebrow{margin-bottom:18px}
.forest-hero h1{font-size:clamp(44px,12.6vw,56px)}
.efm-hook{margin-top:14px}
.efm-hook-lead{font-size:16.5px;line-height:1.5;color:var(--ink-2);max-width:32ch}
.efm-hook-q{margin:30px 0 12px;font:400 22px/1.2 var(--serif);letter-spacing:-.02em;color:var(--ink)}
.efm-goals{list-style:none;display:grid;gap:8px}
.efm-goals a{display:grid;grid-template-columns:46px 1fr 28px;align-items:center;gap:14px;min-height:72px;padding:12px 14px 12px 12px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:transform .18s var(--ease),box-shadow .18s,background-color .18s}
.efm-goals a:active{transform:scale(.98);background:var(--surface-2)}
.efm-goal-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--surface-2);color:var(--forest)}
.efm-goals li:nth-child(2) .efm-goal-icon{background:#eef0f7;color:#46587d}
.efm-goals li:nth-child(3) .efm-goal-icon{background:#f6efe4;color:#7a5c33}
.efm-goals li:nth-child(4) .efm-goal-icon{background:#f3ebf6;color:var(--plum)}
.efm-goals li:nth-child(5) .efm-goal-icon{background:#e7f1ee;color:#2c5c50}
.efm-goal-icon .product-symbol{width:28px;height:28px}
.efm-goal-text{display:grid;gap:3px;min-width:0}
.efm-goal-text strong{font-size:16px;font-weight:500;line-height:1.25;color:var(--ink)}
.efm-goal-text small{font-size:12.5px;color:var(--ink-3)}
.efm-goal-text .amount{font:inherit}
.efm-goal-go{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-2);color:var(--forest)}
.efm-goal-go svg{width:14px;height:14px}
.efm-goals a:active .efm-goal-go{background:var(--sage);color:var(--on-sage)}
.efm-hook-all{display:inline-flex;align-items:center;gap:8px;min-height:48px;margin-top:6px;font-size:14.5px;font-weight:500;color:var(--forest)}
.efm-hook-all svg{width:16px;height:16px}
body.home .featured-section{margin-top:44px}
body.home .featured-section .heading-aside>p{display:none}
body.home .how-section{margin-top:52px}
body.home .how-section .section-heading>p{display:none}
body.home .value-strip{margin-top:48px}
body.home .company-overview{margin-top:48px;gap:12px}
body.home .company-overview h2{font-size:26px}
body.home .company-overview>div:last-child>p:first-child{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
body.home .company-overview .availability-note{display:none}
body.home .roadmap-section{margin-top:40px;margin-bottom:48px}
body.home .roadmap-section .section-heading{display:none}

/* Level 2 · Direction (shop) */
.shop-hero{gap:0;padding-top:14px}
.shop-hero h1{font-size:clamp(34px,9.6vw,42px)}
.shop-intro{font-size:15px;margin-top:10px}
.shop-hero-art,.shop-promises{display:none}
.shop-catalog{margin-top:20px}
.shop-catalog .shop-section-heading{display:none}

/* Level 3 · Product: summary first, detail folded */
.detail-visual,.detail-nav{display:none}
.efm-fold{margin-top:0!important;border-bottom:1px solid var(--line)}
.efm-fold:first-of-type{margin-top:28px!important;border-top:1px solid var(--line)}
.efm-fold-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:64px;padding:12px 0;border:0;background:none;text-align:left;font:500 17px/1.3 var(--sans);color:var(--ink)}
.efm-fold-toggle small{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--ink-3)}
.efm-fold-toggle i{flex:none;width:26px;height:26px;border-radius:50%;background:var(--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f3b34' stroke-width='2'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/12px no-repeat;transition:transform .25s var(--ease)}
.efm-fold.is-open .efm-fold-toggle i{transform:rotate(45deg)}
.efm-fold-body{padding-bottom:22px}
.efm-fold:not(.is-open) .efm-fold-body{display:none}
.efm-fold .section-heading h2,.efm-fold>div:first-child h2,.efm-fold .eyebrow{display:none}
.efm-fold .section-heading{margin-bottom:12px}
.related-collection .product-grid{scroll-padding-inline:var(--gutter);grid-auto-flow:column;grid-auto-columns:84%;margin:0 calc(-1 * var(--gutter));padding:4px var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.related-collection .product-grid::-webkit-scrollbar{display:none}
.related-collection .product-card{scroll-snap-align:start}

/* Footer: two compact link columns */
.footer-links{grid-template-columns:1fr 1fr;column-gap:16px}
.footer-links>div{padding-bottom:8px}
.footer-links a{min-height:40px;font-size:13.5px}
.footer-links span{font-size:10px;letter-spacing:.12em}

/* Direction header (shop filtered from the home chooser) */
.has-direction .shop-hero{display:none}
.efm-direction{display:grid;gap:6px;padding-top:6px}
.efm-direction-back{display:inline-flex;align-items:center;gap:6px;width:max-content;min-height:40px;font-size:13.5px;font-weight:500;color:var(--forest)}
.efm-direction-back svg{width:14px;height:14px;transform:scaleX(-1)}
.efm-direction h1{font-size:clamp(32px,9vw,40px)}
.efm-direction p{font-size:15px;color:var(--ink-2)}
.has-direction .shop-catalog{margin-top:18px}
.has-direction .category-tabs{display:none}
.has-direction .catalog-toolbar{position:static;padding:0;margin-bottom:10px;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.has-direction .result-count,.has-direction .card-main .eyebrow{display:none}
@media(max-width:359px){.forest-hero .eyebrow{font-size:8.5px;letter-spacing:.08em}}
