:root {
  --font-display: 'Instrument Serif', Georgia, serif;
  --font-body: 'Work Sans', Arial, sans-serif;
  --text-xs: clamp(.75rem,.72rem + .15vw,.875rem);
  --text-sm: clamp(.875rem,.84rem + .15vw,1rem);
  --text-base: clamp(1rem,.97rem + .15vw,1.125rem);
  --text-lg: clamp(1.2rem,1.06rem + .5vw,1.6rem);
  --text-xl: clamp(2rem,1.6rem + 1.4vw,3.25rem);
  --text-hero: clamp(2.8rem,1.7rem + 3.8vw,5.4rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
  --color-bg:#f9f6ed;--color-surface:#ffffff;--color-soft:#efeee5;--color-text:#0e5642;--color-muted:#496558;--color-line:#0e56422b;--color-accent:#ff8f08;--color-dark:#0e5642;--color-inverse:#f9f6ed;--color-wheel:#0e5642;--color-mint:#adefb1;--color-water:#98bec7;--color-on-accent:#333333;
  --radius-sm:4px;--radius-md:8px;--radius-full:999px;
}
[data-theme="dark"] {--color-bg:#192b23;--color-surface:#24372d;--color-soft:#293a30;--color-text:#f0eee4;--color-muted:#c1cbbf;--color-line:#f0eee433;--color-wheel:#86b693}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{margin:0;background:var(--color-bg);color:var(--color-text);font:400 var(--text-base)/1.65 var(--font-body)}
button,input,textarea,select{font:inherit}
a{color:inherit;text-decoration:none}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img{max-width:100%;display:block;object-fit:cover}
figure,p,h1,h2,h3,blockquote{margin:0}
p+p{margin-top:var(--space-4)}
h1,h2,.hero-promise,blockquote{font-family:var(--font-display);font-weight:400;line-height:1.06;letter-spacing:-.025em}
h1{font-size:var(--text-hero)}
h2{font-size:var(--text-xl)}
h3{font:500 var(--text-lg)/1.3 var(--font-body)}
h2 span{color:var(--color-muted)}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--color-accent);outline-offset:5px}
.shell{max-width:1280px;margin-inline:auto;padding-inline:clamp(var(--space-6),4vw,var(--space-16))}
.skip-link{position:absolute;left:var(--space-4);top:-100px;background:var(--color-text);color:var(--color-bg);padding:var(--space-3);z-index:100}.skip-link:focus{top:var(--space-4)}
.eyebrow{font-size:var(--text-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;line-height:1.5}
.tiny,.photo-caption{font-size:var(--text-xs);color:var(--color-muted);line-height:1.5}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);min-height:48px;padding:var(--space-3) var(--space-6);border:1px solid var(--color-dark);border-radius:var(--radius-full);background:var(--color-dark);color:var(--color-inverse);font:500 var(--text-sm)/1.4 var(--font-body);transition:background .2s,color .2s}
.button:hover{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}
.button:disabled{opacity:.5;cursor:not-allowed}
.button.compact{min-height:44px;padding-inline:var(--space-5)}
.button.outline{background:transparent;color:var(--color-text);border-color:var(--color-text)}
[data-theme="dark"] .button{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}
.text-link{font-size:var(--text-sm);border-bottom:1px solid var(--color-line);padding-block:var(--space-3);display:inline-block}
.text-link:hover{border-color:var(--color-text)}
.site-header{position:sticky;top:0;z-index:20;background:var(--color-bg);border-bottom:1px solid var(--color-line)}
.header-inner{min-height:90px;display:flex;align-items:center;gap:var(--space-6)}
.wordmark{width:180px;display:block;flex-shrink:0}.wordmark img{width:100%;height:auto;filter:brightness(0)}
[data-theme="dark"] .wordmark img{filter:brightness(0) invert(1)}
.header-inner nav{margin-left:auto;display:flex;align-items:center;gap:var(--space-8);font-size:var(--text-sm)}
.header-controls{order:3;display:flex;align-items:center;gap:var(--space-2)}
.theme-button,.menu-toggle,.quiet-button{border:0;background:transparent;color:var(--color-text);font-size:var(--text-sm);min-height:44px;padding:var(--space-2) var(--space-3)}
.theme-button{font-size:var(--text-lg);width:44px}
.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:var(--space-12);padding-block:var(--space-12) var(--space-16);align-items:center}
.hero-copy .eyebrow{display:flex;gap:var(--space-3);align-items:center;margin-bottom:var(--space-6)}
.accent-dot{width:8px;height:8px;background:var(--color-accent);border-radius:50%}
.hero-promise{font-size:var(--text-lg);font-family:var(--font-body);letter-spacing:0;line-height:1.45;margin-top:var(--space-6);max-width:32ch}
.hero-promise span{background:var(--color-accent);color:var(--color-on-accent);padding-inline:var(--space-1)}
.hero-intro{font-size:var(--text-sm);max-width:45ch;color:var(--color-muted);margin-top:var(--space-5)}
.actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--space-3) var(--space-5);margin-top:var(--space-6)}
.hero-photo{position:relative;padding-bottom:var(--space-6)}
.hero-photo img{width:100%;height:530px;object-position:61% 50%;border-radius:240px 240px var(--radius-sm) var(--radius-sm)}
.hero-photo figcaption{position:absolute;bottom:0;left:var(--space-6);background:var(--color-accent);color:var(--color-on-accent);font-size:var(--text-xs);padding:var(--space-3) var(--space-5)}
.wheel-section{background:var(--color-soft);padding-block:var(--space-10) var(--space-16)}
.section-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);border-bottom:1px solid var(--color-line);padding-bottom:var(--space-5);margin-bottom:var(--space-10)}
.wheel-layout{display:grid;grid-template-columns:1fr 1.04fr;gap:var(--space-12);align-items:center}
.wheel-layout:has(#wheel-results:not([hidden])){align-items:start}
.wheel-layout:has(#wheel-results:not([hidden])) .wheel-art{position:sticky;top:110px}
.wheel-copy h2{margin-bottom:var(--space-6)}
.wheel-copy h2{scroll-margin-top:110px}
.wheel-copy p{max-width:48ch}
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4) var(--space-3);margin-block:var(--space-6) var(--space-8)}
.area-tag{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}
.area-tag img{width:21px;height:21px;opacity:.8}
[data-theme="dark"] .area-tag img{filter:invert(1)}
.privacy{margin-top:var(--space-4);max-width:42ch}
.wheel-art{min-width:0;text-align:center}
.wheel-canvas-wrap{max-width:530px;margin:auto;position:relative}
canvas{display:block;width:100%;aspect-ratio:1;height:auto;scroll-margin-top:100px}
.wheel-art figcaption{font-size:var(--text-xs);color:var(--color-muted);padding-inline:var(--space-5)}
.wheel-icons{position:absolute;inset:0;pointer-events:none}
.wheel-icon{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;border-radius:var(--radius-sm);pointer-events:auto;padding:var(--space-2)}
.wheel-icon img{width:28px;height:28px;opacity:.85}
.wheel-icon:hover img,.wheel-icon[aria-pressed="true"] img{opacity:1;transform:scale(1.15)}
.wheel-icon[aria-pressed="true"]{outline:2px solid var(--color-accent);outline-offset:0}
[data-theme="dark"] .wheel-icon img{filter:invert(1)}
.wheel-area-detail{font-size:var(--text-sm);min-height:3em;max-width:40ch;margin:var(--space-3) auto 0;line-height:1.5}
.wheel-key{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2) var(--space-3);margin-block:var(--space-5);text-align:left}
.key-item{display:flex;gap:var(--space-2);align-items:center;font-size:var(--text-xs);min-height:34px}
.key-item b{font-weight:500}
.key-index{display:grid;place-items:center;width:21px;height:21px;border:1px solid var(--color-line);border-radius:50%;font-size:var(--text-xs);flex-shrink:0}
.tool-note{max-width:44ch;margin-inline:auto}
.question-progress{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}
.progress-track{height:3px;background:var(--color-line);margin-block:var(--space-3) var(--space-6)}
.progress-track span{display:block;height:100%;background:var(--color-text);transition:width .3s}
.question-context{color:var(--color-muted)}
.prompts{margin-block:var(--space-4) var(--space-6);padding-left:var(--space-5);font-size:var(--text-sm)}
.prompts li+li{margin-top:var(--space-2)}
.score-field{border:0;padding:0;margin:0}.score-field legend{font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-3)}
.score-choices{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-2)}
.score-choice{border:1px solid var(--color-line);background:var(--color-bg);color:var(--color-text);min-height:44px;border-radius:var(--radius-sm);font-size:var(--text-sm)}
.score-choice[aria-pressed="true"]{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}
.score-choice:hover{border-color:var(--color-text)}
.scale-labels{display:flex;justify-content:space-between;font-size:var(--text-xs);margin-block:var(--space-2)}
.question-actions{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-5)}
.question-actions .quiet-button{padding-left:0}
.input-label{display:block;font-size:var(--text-sm);font-weight:500;margin-block:var(--space-5) var(--space-2)}
.wheel-insights{margin-block:var(--space-6);border-block:1px solid var(--color-line);padding-block:var(--space-5)}
.insight-row{padding-block:var(--space-4)}
.insight-row h3,.small-experiment h3{font-size:var(--text-base);font-weight:600;line-height:1.4}
.insight-row p{font-size:var(--text-sm);margin-top:var(--space-2)}
.wheel-insights .tiny{margin-top:var(--space-2)}
.small-experiment{background:var(--color-bg);padding:var(--space-5);margin-top:var(--space-4);border-radius:var(--radius-sm)}
.small-experiment p{font-size:var(--text-sm);margin-top:var(--space-2)}
select,textarea{width:100%;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--text-sm);line-height:1.5}
textarea{resize:vertical}
.email-panel{border-block:1px solid var(--color-line);margin-top:var(--space-5)}
summary{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;cursor:pointer;font-size:var(--text-sm);font-weight:500;min-height:64px;list-style:none}
summary::-webkit-details-marker{display:none}
.email-panel p{font-size:var(--text-sm)}.email-panel .tiny{font-size:var(--text-xs);margin-bottom:var(--space-5)}
.checkbox-label{display:flex;gap:var(--space-3);align-items:center;font-size:var(--text-sm);margin-top:var(--space-4);min-height:44px}
.checkbox-label input{width:20px;height:20px;accent-color:var(--color-wheel)}
.email-panel .button{margin-top:var(--space-4)}
.result-actions{display:flex;justify-content:space-between;flex-wrap:wrap;margin-top:var(--space-4)}
.coaching-section{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);padding-block:var(--space-24)}
.journey-line{position:absolute;top:var(--space-3);left:clamp(var(--space-6),4vw,var(--space-16));width:min(75%,900px);height:64px;aspect-ratio:auto;pointer-events:none}
.coaching-intro h2{margin-block:var(--space-5) var(--space-6)}
.coaching-intro p:last-child{max-width:44ch;color:var(--color-muted)}
.coaching-list article{display:flex;gap:var(--space-5);padding-block:var(--space-6);border-top:1px solid var(--color-line)}
.coaching-list article:first-child{padding-top:0;border-top:0}
.item-number{color:var(--color-muted);font-size:var(--text-xs);padding-top:var(--space-1)}
.coaching-list h3{margin-bottom:var(--space-3)}
.coaching-list p{font-size:var(--text-sm);color:var(--color-muted)}
.coaching-list .text-link{margin-top:var(--space-2)}
.walking-section{background:var(--color-soft)}
.walking-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:var(--space-16);padding-block:var(--space-12)}
.walking-layout img{width:100%;height:440px}
.walking-layout h2{margin-block:var(--space-5) var(--space-6)}
.walking-layout .button{margin-top:var(--space-6)}
.about-section{display:grid;grid-template-columns:.85fr 1fr;gap:var(--space-24);align-items:center;padding-block:var(--space-24)}
.about-photo img{width:100%;height:520px;object-position:50% 55%}
.photo-caption{margin-top:var(--space-3)}
.about-copy h2{margin-block:var(--space-5) var(--space-6)}
.about-copy p{font-size:var(--text-sm);max-width:52ch}
.about-copy .eyebrow{font-size:var(--text-xs)}
.about-copy .text-link{margin-top:var(--space-5)}
.quote-section{background:var(--color-dark);color:var(--color-inverse);padding-block:var(--space-16)}
.quote-layout{display:grid;grid-template-columns:.4fr 1fr;gap:var(--space-12)}
blockquote{font-size:var(--text-xl)}
.quote-layout figcaption{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-6);font-size:var(--text-sm)}
.quote-layout figcaption img{width:48px;height:48px;border-radius:50%}
.quote-layout figcaption span{display:block;font-size:var(--text-xs);color:#d4ddcf}
.curve-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);padding-block:var(--space-20);border-bottom:1px solid var(--color-line)}
.curve-section h2{margin-top:var(--space-5)}.curve-section .button{margin-top:var(--space-6)}
.faq-section{padding-block:var(--space-16) var(--space-24)}
.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:var(--space-16);margin-top:var(--space-6)}
.faq-layout details{border-bottom:1px solid var(--color-line)}
.faq-layout details:first-child{border-top:1px solid var(--color-line)}
.faq-layout details p{font-size:var(--text-sm);padding-bottom:var(--space-6);max-width:62ch}
.faq-layout details a{text-decoration:underline}
.contact-section{background:var(--color-accent);color:var(--color-on-accent);padding-block:var(--space-16)}
.contact-section .button{background:var(--color-dark);color:var(--color-inverse);border-color:var(--color-dark)}
.contact-section .button:hover{background:var(--color-inverse);color:var(--color-dark)}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}
.contact-layout img{height:390px;width:100%;object-position:60% 50%}
.contact-section h2{font-size:var(--text-hero);margin-block:var(--space-5) var(--space-6)}
.contact-section h2 span{color:var(--color-dark)}.contact-section .button{margin-top:var(--space-6)}
footer{padding-block:var(--space-10) var(--space-6)}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8)}
.footer-top nav{display:flex;gap:var(--space-6);flex-wrap:wrap;font-size:var(--text-sm)}
.footer-bottom{display:flex;justify-content:space-between;gap:var(--space-8);font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid var(--color-line)}
.footer-bottom p+p{margin:0}.footer-bottom p:last-child{max-width:60ch}
@media(max-width:1000px){.hero-photo img{height:490px}.hero{gap:var(--space-8)}.coaching-section,.walking-layout,.about-section{gap:var(--space-10)}.hero .actions .text-link{display:block}.header-inner nav{gap:var(--space-4)}.header-inner{gap:var(--space-4)}.wordmark{width:150px}}
@media(max-width:760px){
  .shell{padding-inline:var(--space-6)}.header-inner{min-height:72px;justify-content:space-between}.wordmark{width:142px}.header-controls{order:0;margin-left:auto}.menu-toggle{display:block}
  .header-inner nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--color-bg);border-bottom:1px solid var(--color-line);padding:var(--space-4) var(--space-6);margin:0;align-items:stretch}
  .header-inner nav.open{display:flex;flex-direction:column;gap:var(--space-2)}.header-inner nav a{padding-block:var(--space-3)}
  .hero{grid-template-columns:1fr;padding-block:var(--space-8) var(--space-10);gap:var(--space-8)}.hero h1{max-width:16ch}.hero-photo img{height:350px;object-position:60% 50%;border-radius:160px 160px var(--radius-sm) var(--radius-sm)}
  .hero-intro{max-width:45ch}.hero-photo figcaption{left:var(--space-4)}.hero-promise{max-width:29ch}
  .wheel-layout,.coaching-section,.walking-layout,.about-section,.quote-layout,.curve-section,.faq-layout{grid-template-columns:1fr;gap:var(--space-8)}
  .section-top{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-8)}.section-top .tiny{max-width:14ch;text-align:right}
  .wheel-section{padding-block:var(--space-8) var(--space-10)}.wheel-art{max-width:500px;margin:auto;width:100%}.wheel-canvas-wrap{max-width:400px}
  .wheel-key{grid-template-columns:repeat(2,1fr);gap:var(--space-2) var(--space-4)}.key-item{font-size:var(--text-sm);min-height:40px}.key-item b{margin-left:auto;font-size:var(--text-xs)}.area-grid{gap:var(--space-4) var(--space-2)}.area-tag{font-size:var(--text-xs)}
  .wheel-layout:has(#wheel-results:not([hidden])) .wheel-art{grid-row:1;position:static}
  .wheel-icon img{width:24px;height:24px}
  .coaching-section{padding-block:var(--space-16)}.walking-layout{padding-block:var(--space-8)}.walking-layout img{height:300px}
  .journey-line{top:var(--space-2);width:calc(100% - var(--space-12));height:40px}
  .about-section{padding-block:var(--space-16)}.about-photo img{height:410px}.about-photo{max-width:460px}.about-copy p{font-size:var(--text-base)}
  .quote-section{padding-block:var(--space-12)}.curve-section{padding-block:var(--space-16)}.faq-section{padding-block:var(--space-12) var(--space-16)}
  .contact-section{padding-block:var(--space-12)}.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-top nav{gap:var(--space-3) var(--space-5)}.footer-top nav a{min-height:44px;display:flex;align-items:center}
  .contact-layout{grid-template-columns:1fr;gap:var(--space-8)}.contact-layout img{height:280px}
  .footer-bottom{gap:var(--space-4)}.question-progress{flex-wrap:wrap}.question-progress .quiet-button{padding:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
