:root {
  --ink:#1a211d; --muted:#5c665f; --paper:#f6f4ee; --surface:#fffdf8; --soft:#e9ede6;
  --brand:#2f5d3a; --brand-dark:#1c3323; --accent:#c59a48; --line:rgba(26,33,29,.15);
  --hero-overlay:linear-gradient(90deg,rgba(12,20,15,.86) 0%,rgba(12,20,15,.55) 45%,rgba(12,20,15,.08) 74%);
  --display:Georgia,"Times New Roman",serif; --sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --shadow:0 20px 60px rgba(18,34,25,.12); --radius:3px; --max:1240px; --header-h:82px;
}
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:16px; line-height:1.65; overflow-x:hidden; }
body.menu-open { overflow:hidden; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { color:inherit; }
:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.skip-link { position:fixed; z-index:999; top:10px; left:10px; padding:12px 18px; background:#fff; color:#111; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.container { width:min(var(--max),calc(100% - 48px)); margin-inline:auto; }
.section { padding:120px 0; }
.eyebrow { margin:0 0 18px; color:var(--brand); font-size:.72rem; line-height:1; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
h1,h2 { margin:0; font-family:var(--display); font-weight:400; letter-spacing:-.042em; line-height:.98; }
h1 { font-size:clamp(3.15rem,6.5vw,6.7rem); }
h2 { font-size:clamp(2.65rem,5vw,5.2rem); }
h1 em,h2 em { color:var(--brand); font-weight:400; }
.button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; gap:10px; padding:13px 23px; border:1px solid var(--brand); border-radius:var(--radius); background:var(--brand); color:#fff; font-size:.78rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; transition:background .25s,transform .25s,border-color .4s; }
.button:hover { transform:translateY(-2px); background:var(--brand-dark); border-color:var(--brand-dark); }
.button-small { min-height:44px; padding:9px 17px; font-size:.67rem; }
.text-link { display:inline-flex; align-items:center; gap:18px; padding:8px 0; border-bottom:1px solid currentColor; color:#fff; font-size:.75rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.text-link span { transition:transform .25s; }.text-link:hover span{transform:translate(3px,3px)}
.dark-link { color:var(--ink); }
.announcement { min-height:34px; display:flex; align-items:center; justify-content:center; gap:16px; padding:6px 20px; background:var(--brand-dark); color:#fff; font-size:.7rem; letter-spacing:.035em; text-align:center; }
.announcement a { padding-left:16px; border-left:1px solid rgba(255,255,255,.35); font-weight:800; }
.site-header { position:sticky; top:0; z-index:100; background:rgba(250,249,245,.95); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }
.header-shell { width:min(1420px,calc(100% - 40px)); height:var(--header-h); margin:auto; display:flex; align-items:center; gap:30px; }
.brand { display:inline-flex; align-items:center; gap:11px; flex:none; }
.brand-mark { display:inline-flex; flex:none; width:39px; height:39px; color:var(--brand); }
.brand-mark svg { display:block; width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.7; }
.brand-mark .mark-detail { stroke-width:1.5; }
.brand strong { display:block; font-family:var(--display); font-size:1.2rem; letter-spacing:.14em; line-height:1; }
.brand small { display:block; margin-top:5px; font-size:.5rem; font-weight:750; letter-spacing:.1em; white-space:nowrap; }
.brand i { color:var(--brand); font-style:normal; }
.desktop-nav { margin-left:auto; display:flex; align-items:center; gap:28px; }
.desktop-nav a { position:relative; padding:10px 0; font-size:.72rem; font-weight:750; letter-spacing:.035em; }
.desktop-nav a:after { content:""; position:absolute; right:0; bottom:6px; left:0; height:1px; background:var(--brand); transform:scaleX(0); transform-origin:right; transition:transform .25s; }
.desktop-nav a:hover:after { transform:scaleX(1); transform-origin:left; }
.menu-toggle { display:none; width:46px; height:46px; border:0; background:transparent; cursor:pointer; }
.menu-toggle span { display:block; width:24px; height:1.5px; margin:6px auto; background:currentColor; transition:.25s; }
.mobile-menu{display:none}

.hero { position:relative; min-height:calc(100svh - 116px); height:760px; overflow:hidden; color:#fff; background:#14231c; }
.hero-media,.hero-image,.hero-overlay { position:absolute; inset:0; }
.hero-image { background-size:cover; background-position:center; }
.hero-main { background-image:url("assets/images/hero.webp"); background-position:center center; }
.hero-overlay { background:var(--hero-overlay); }
.hero-content { position:relative; z-index:2; height:100%; padding:clamp(90px,12vh,140px) 0 120px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.hero-content .eyebrow { color:#d9c58c; }
.hero h1 { max-width:870px; text-shadow:0 2px 20px rgba(0,0,0,.16); }
.hero h1 em { color:#d8c080; }
.hero-copy { max-width:650px; margin:28px 0 30px; color:rgba(255,255,255,.82); font-size:1.04rem; line-height:1.75; }
.hero-actions { display:flex; align-items:center; gap:30px; }
.trust-list { display:flex; gap:28px; margin:45px 0 0; padding:0; list-style:none; }
.trust-list li { display:flex; align-items:center; gap:9px; font-size:.7rem; font-weight:750; letter-spacing:.035em; }
.trust-list li:before { content:"✓"; display:grid; place-items:center; width:20px; height:20px; border:1px solid rgba(255,255,255,.5); border-radius:50%; color:#e4ca84; font-size:.65rem; }
.scroll-cue { position:absolute; z-index:3; bottom:30px; left:50%; display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.7); transform:translateX(-50%); font-size:.58rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.scroll-cue i { font-size:1.1rem; font-style:normal; animation:down 1.8s infinite; }
.hero-note { position:absolute; z-index:3; right:3vw; bottom:28px; display:flex; align-items:center; gap:14px; max-width:280px; padding:18px 20px; border-left:1px solid rgba(255,255,255,.45); background:rgba(10,15,12,.35); backdrop-filter:blur(8px); }
.hero-note-index { font-family:var(--display); font-size:1.7rem; color:#d8c080; }.hero-note strong,.hero-note small{display:block}.hero-note strong{font-family:var(--display);font-size:1rem}.hero-note small{color:rgba(255,255,255,.7);font-size:.63rem}
@keyframes down{50%{transform:translateY(5px)}}

.section-heading { margin-bottom:65px; }.split-heading{display:grid;grid-template-columns:1.2fr .55fr;align-items:end;gap:80px}.split-heading>p{margin:0 0 8px;color:var(--muted);font-size:1rem}.centered{text-align:center}.centered h2{margin:auto}
.featured-services { display:grid; grid-template-columns:1fr 1fr 1fr; gap:18px; }
.service-card { position:relative; min-height:390px; padding:34px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; background:var(--surface); box-shadow:0 0 0 1px var(--line); transition:transform .3s,box-shadow .3s; }
.service-card:hover { z-index:1; transform:translateY(-6px); box-shadow:var(--shadow); }
.service-card .service-number { position:absolute; top:25px; left:30px; font-family:var(--display); color:var(--muted); font-size:.8rem; }
.service-card .icon { position:absolute; top:28px; right:28px; width:46px; height:46px; padding:10px; border:1px solid var(--line); color:var(--brand); }
.icon{display:inline-flex;flex:none}.icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.service-card h3 { margin:0 0 12px; font-family:var(--display); font-size:1.9rem; font-weight:400; letter-spacing:-.02em; }
.service-card p { margin:0; color:var(--muted); font-size:.88rem; line-height:1.65; }.service-card small{margin-top:20px;color:var(--brand);font-size:.61rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.process { background:var(--brand-dark); color:#fff; }.process .eyebrow{color:#d8c080}.process h2 em{color:#d8c080}
.process-list { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:70px 0 40px; padding:0; list-style:none; counter-reset:steps; }.process-list:before{content:"";position:absolute;top:28px;left:4%;right:4%;height:1px;background:rgba(255,255,255,.25)}
.process-list li{position:relative;padding:75px 24px 0 0;counter-increment:steps}.process-list li:before{content:counter(steps,decimal-leading-zero);position:absolute;z-index:1;top:0;left:0;width:56px;height:56px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:var(--brand-dark);font-family:var(--display);color:#d8c080}.process-list h3{margin:0 0 10px;font-family:var(--display);font-size:1.25rem;font-weight:400}.process-list p{margin:0;color:rgba(255,255,255,.62);font-size:.76rem;line-height:1.6}.process-note{max-width:620px;margin:50px auto 0;padding-top:28px;border-top:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.65);font-family:var(--display);font-size:1.05rem;text-align:center}
.coaching{background:var(--surface)}.coaching-grid{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(55px,9vw,130px);align-items:center}.coaching-image{position:relative}.coaching-image:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--accent);opacity:.45}.coaching-image img{position:relative;width:100%;height:670px;object-fit:cover}.image-caption{position:absolute;right:-22px;bottom:28px;padding:13px 16px;background:var(--surface);box-shadow:var(--shadow);color:var(--muted);font-size:.55rem;line-height:1.5;letter-spacing:.06em;text-transform:uppercase}.image-caption strong{color:var(--ink)}
.coaching-copy>p:not(.eyebrow){color:var(--muted);font-size:1rem}.coaching-copy h2{margin-bottom:35px}.coaching-copy blockquote{margin:38px 0 16px;padding-left:25px;border-left:2px solid var(--accent);font-family:var(--display);font-size:1.65rem;line-height:1.35}.signature span,.signature small{display:block}.signature span{font-family:var(--display)}.signature small{margin-top:4px;color:var(--muted);font-size:.55rem;letter-spacing:.09em}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.why-card{min-height:235px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s,transform .3s}.why-card:hover{background:var(--surface);transform:translateY(-3px)}.why-card .icon{width:37px;height:37px;color:var(--brand)}.why-card h3{margin:30px 0 10px;font-family:var(--display);font-size:1.25rem;font-weight:400}.why-card p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.6}
.gallery{background:var(--soft)}.gallery-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;grid-template-rows:310px 310px;gap:14px}.gallery-item{position:relative;overflow:hidden;border:0;padding:0;background:#222;cursor:zoom-in;color:#fff}.gallery-item:first-child{grid-row:1/3}.gallery-item:nth-child(4){grid-column:2/4}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.045)}.gallery-label{position:absolute;left:18px;bottom:16px;padding:7px 10px;background:rgba(15,17,15,.75);font-size:.58rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;backdrop-filter:blur(5px)}.gallery-expand{position:absolute;top:16px;right:16px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.88);color:#111;font-size:1rem}.demo-disclosure{margin:24px 0 0;color:var(--muted);font-size:.68rem;text-align:center}
.reviews{background:var(--surface)}.reviews-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:55px}.rating{text-align:right}.rating strong{display:block;font-family:var(--display);font-size:3rem;line-height:1}.rating span{color:var(--accent);letter-spacing:.15em}.rating small{display:block;margin-top:5px;color:var(--muted);font-size:.58rem;text-transform:uppercase}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{padding:32px;background:var(--paper);border-top:2px solid var(--brand)}.review-stars{color:var(--accent);font-size:.75rem;letter-spacing:.15em}.review-card blockquote{min-height:150px;margin:22px 0;font-family:var(--display);font-size:1.3rem;line-height:1.5}.review-meta{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding-top:18px}.review-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--brand-dark);color:#fff;font-family:var(--display)}.review-meta strong,.review-meta small{display:block}.review-meta strong{font-size:.72rem}.review-meta small{color:var(--muted);font-size:.59rem}

/* Nested 3-state pricing toggle (variant switcher component) */
.pricing{background:var(--surface);border:1px solid var(--line);padding:50px 40px 40px;box-shadow:var(--shadow)}
.variant-switch{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;width:min(100%,420px);margin:0 auto 45px;padding:3px;border:1px solid var(--line);border-radius:99px;background:var(--soft)}
.switch-indicator{position:absolute;top:3px;bottom:3px;left:3px;width:calc(33.33% - 3px);border-radius:99px;background:var(--brand);box-shadow:0 5px 18px rgba(0,0,0,.12);transition:transform .42s cubic-bezier(.2,.75,.25,1),width .42s}
.pricing[data-variant="annual"] .switch-indicator{transform:translateX(100%)}
.pricing[data-variant="lifetime"] .switch-indicator{transform:translateX(200%)}
.variant-switch button{position:relative;z-index:1;height:34px;border:0;border-radius:99px;background:none;color:var(--muted);cursor:pointer;font-size:.66rem;font-weight:850;letter-spacing:.035em;transition:color .3s}
.variant-switch button[aria-pressed="true"]{color:#fff}
.pricing-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.price-card{position:relative;display:flex;flex-direction:column;padding:34px;border:1px solid var(--line);background:var(--paper);transition:transform .3s,box-shadow .3s}
.price-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.price-card.featured{border:2px solid var(--brand);background:var(--surface)}
.price-card .price-tag{position:absolute;top:0;right:0;padding:6px 12px;background:var(--brand);color:#fff;font-size:.55rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.price-card h3{margin:0 0 6px;font-family:var(--display);font-size:1.4rem;font-weight:400}
.price-card .price-amount{font-family:var(--display);font-size:2.6rem;line-height:1;margin:14px 0 4px}
.price-card .price-amount small{font-size:.9rem;color:var(--muted)}
.price-card .price-desc{margin:0 0 20px;color:var(--muted);font-size:.78rem;line-height:1.6}
.price-card ul{margin:0 0 26px;padding:0;list-style:none}
.price-card li{position:relative;padding:9px 0 9px 24px;border-top:1px solid var(--line);font-size:.8rem}
.price-card li:before{content:"✓";position:absolute;left:0;color:var(--brand);font-weight:800}
.price-card .button{margin-top:auto}
.pricing-note{margin:30px 0 0;color:var(--muted);font-size:.72rem;text-align:center}

.faq{background:var(--surface)}.faq-grid{display:grid;grid-template-columns:.7fr 1.1fr;gap:100px}.faq-intro{position:sticky;top:180px;align-self:start}.faq-intro p:not(.eyebrow){max-width:390px;color:var(--muted)}.accordion-item{border-top:1px solid var(--line)}.accordion-item:last-child{border-bottom:1px solid var(--line)}.accordion-button{width:100%;min-height:80px;padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border:0;background:none;text-align:left;cursor:pointer;font-family:var(--display);font-size:1.2rem}.accordion-button span{flex:none;font-family:var(--sans);font-size:1.5rem;font-weight:250;transition:transform .25s}.accordion-button[aria-expanded="true"] span{transform:rotate(45deg)}.accordion-panel{padding:0 50px 24px 0;color:var(--muted);font-size:.88rem}.accordion-panel p{margin:0}
.contact{background:var(--brand-dark);color:#fff}.contact-shell{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}.contact .eyebrow{color:#d8c080}.contact h2 em{color:#d8c080}.contact-intro>p:not(.eyebrow){max-width:470px;color:rgba(255,255,255,.65)}.contact-details{margin:50px 0 35px}.contact-details>a,.contact-details>div{display:block;padding:16px 0;border-top:1px solid rgba(255,255,255,.18);font-family:var(--display);font-size:1.08rem}.contact-details span{display:inline-block;width:70px;color:rgba(255,255,255,.55);font-family:var(--sans);font-size:.58rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.contact-details small{margin-left:8px;color:rgba(255,255,255,.4);font-family:var(--sans);font-size:.55rem}.availability{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.75)!important;font-size:.72rem!important}.availability i{width:8px;height:8px;border-radius:50%;background:#79c08b;box-shadow:0 0 0 6px rgba(121,192,139,.12)}
.contact-form{position:relative;padding:42px;background:var(--surface);color:var(--ink);box-shadow:0 25px 70px rgba(0,0,0,.18)}.form-heading{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:30px}.form-heading span{grid-column:1/3;color:var(--brand);font-size:.6rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.form-heading strong{font-family:var(--display);font-size:2rem;font-weight:400}.form-heading small{color:var(--muted);font-size:.58rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:6px}.field-full{grid-column:1/3}.field span,.fieldset legend,fieldset legend{font-size:.62rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;min-height:49px;padding:11px 12px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink)}.field textarea{min-height:105px;resize:vertical}.field input[aria-invalid="true"],.field select[aria-invalid="true"],.consent input[aria-invalid="true"]{outline:2px solid #b52e2e}.field-error{color:#a72525;font-size:.65rem}.contact-preference{margin:18px 0;padding:0;border:0}.contact-preference legend{margin-bottom:8px}.contact-preference label{margin-right:18px;font-size:.78rem}.contact-preference input,.consent input{accent-color:var(--brand)}.consent{display:flex;align-items:flex-start;gap:10px;margin:20px 0;color:var(--muted);font-size:.7rem}.consent input{margin-top:4px}.submit-button{width:100%;margin-top:5px}.privacy-note{margin:9px 0 0;color:var(--muted);font-size:.62rem}.form-errors{color:#a72525;font-size:.72rem;margin-bottom:14px}.form-success{margin-top:18px;padding:18px;border:1px solid var(--brand);background:var(--soft);color:var(--ink);text-align:center}.form-success span{display:block;font-size:1.4rem;color:var(--brand)}.form-success strong{display:block;font-family:var(--display);font-size:1.2rem;font-weight:400}.form-success p{margin:6px 0 0;color:var(--muted);font-size:.72rem}
.footer{padding:70px 0 25px;background:#0e1712;color:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1fr 1fr;gap:60px}.footer .brand-mark{color:#d8c080}.footer-brand p{max-width:360px;color:rgba(255,255,255,.55);font-size:.75rem}.footer h3{margin:0 0 19px;color:rgba(255,255,255,.45);font-size:.62rem;letter-spacing:.11em;text-transform:uppercase}.footer-grid>div>a:not(.brand),.footer-grid>div>div>a{display:block;padding:5px 0;color:rgba(255,255,255,.75);font-size:.74rem}.footer .brand{max-width:100%}.footer-grid>div>p{color:rgba(255,255,255,.55);font-size:.72rem}.footer-bottom{margin-top:55px;padding-top:23px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;border-top:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.45);font-size:.6rem}.footer-bottom a{margin-left:16px}.footer-bottom small{flex-basis:100%;font-size:inherit}.back-top{position:fixed;z-index:80;right:20px;bottom:20px;width:46px;height:46px;border:0;border-radius:50%;background:var(--brand);color:#fff;box-shadow:0 5px 25px rgba(0,0,0,.25);cursor:pointer;opacity:0;transform:translateY(15px);pointer-events:none;transition:.3s}.back-top.visible{opacity:1;transform:none;pointer-events:auto}
.reveal{opacity:1;transform:none}.reveal-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.reveal-ready .reveal.visible{opacity:1;transform:none}
.lightbox{position:fixed;z-index:500;inset:0;display:grid;grid-template-columns:70px 1fr 70px;align-items:center;padding:40px;background:rgba(5,8,6,.95);color:#fff}
.lightbox[hidden]{display:none}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center}
.lightbox img{max-width:min(1150px,100%);max-height:78vh;object-fit:contain}
.lightbox figcaption{margin-top:13px;font-family:var(--display)}
.lightbox button{width:50px;height:50px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;font-size:1.4rem}
.lightbox-close{position:absolute;top:20px;right:20px}

@media(max-width:1100px){.desktop-nav{gap:16px}.desktop-nav a{font-size:.65rem}.header-cta{display:none}.hero-note{display:none}.featured-services{grid-template-columns:1fr 1fr}.service-card:first-child{grid-row:auto;grid-column:1/3;min-height:390px}.why-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:360px 260px 260px}.gallery-item:first-child{grid-row:1;grid-column:1/3}.gallery-item:nth-child(4){grid-column:1/3}.coaching-grid{gap:60px}.coaching-image img{height:570px}.contact-shell{gap:45px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:nth-child(2){display:none}.pricing-cards{grid-template-columns:1fr 1fr}.price-card:last-child{grid-column:1/3}}
@media(max-width:820px){:root{--header-h:68px}.container{width:min(100% - 34px,var(--max))}.section{padding:82px 0}.announcement span{display:none}.header-shell{width:calc(100% - 28px);height:var(--header-h)}.desktop-nav{display:none}.menu-toggle{display:block;margin-left:auto}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.mobile-menu{position:absolute;z-index:99;top:100%;right:0;left:0;max-height:calc(100svh - 165px);padding:22px 24px 35px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 26px 45px rgba(10,20,15,.22);overflow:auto;overscroll-behavior:contain}.mobile-menu:not([hidden]){display:block}.mobile-menu nav a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-family:var(--display);font-size:1.45rem}.mobile-menu .button{width:100%;margin:25px 0 16px}.mobile-phone{display:block;text-align:center;font-family:var(--display);font-size:1.2rem}.mobile-phone small{display:block;color:var(--muted);font-family:var(--sans);font-size:.55rem}.hero{height:760px;min-height:calc(100svh - 150px)}.hero-image{background-position:62% center}.hero-overlay{background:linear-gradient(180deg,rgba(12,20,15,.25),rgba(12,20,15,.82) 56%,rgba(12,20,15,.96))}.hero-content{justify-content:flex-end;padding-bottom:85px}.hero h1{font-size:clamp(2.8rem,10vw,4.8rem)}.hero-copy{font-size:.9rem;margin:20px 0}.trust-list{display:grid;grid-template-columns:1fr 1fr;margin-top:25px;gap:10px 20px}.scroll-cue{display:none}.split-heading{grid-template-columns:1fr;gap:25px}.process-list{grid-template-columns:1fr;gap:22px}.process-list:before{display:none}.process-list li{padding:70px 0 0}.why-grid{grid-template-columns:1fr}.why-card{min-height:0;padding:24px}.featured-services{grid-template-columns:1fr}.service-card:first-child{grid-row:auto;grid-column:auto;min-height:300px}.reviews-grid{grid-template-columns:1fr}.review-card blockquote{min-height:0}.gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,280px);gap:10px}.gallery-item:first-child,.gallery-item:nth-child(4){grid-column:auto;grid-row:auto}.coaching-grid{grid-template-columns:1fr;gap:55px}.coaching-image img{height:480px}.image-caption{right:0;bottom:24px;max-width:calc(100% - 24px)}.contact-shell{grid-template-columns:1fr;gap:45px}.faq-grid{grid-template-columns:1fr;gap:40px}.faq-intro{position:static}.accordion-panel{padding-right:0}.pricing{padding:40px 20px 30px}.pricing-cards{grid-template-columns:1fr}.price-card:last-child{grid-column:auto}.variant-switch{width:100%}}
@media(max-width:560px){.container{width:calc(100% - 28px)}.brand strong{font-size:1rem}.brand small{font-size:.42rem}.brand-mark{width:34px;height:34px}.hero{height:720px}.hero-content{padding-bottom:48px}.hero-actions{width:100%;align-items:stretch;flex-direction:column;gap:12px}.hero-actions .text-link{align-self:flex-start}.trust-list{font-size:.6rem}.featured-services{grid-template-columns:1fr}.service-card,.service-card:first-child{grid-column:auto;min-height:300px}.why-card .icon{width:26px;height:26px}.why-card h3{margin:16px 0 7px;font-size:1.02rem}.why-card p{font-size:.68rem;line-height:1.5}.gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,180px);gap:10px}.gallery-item:first-child,.gallery-item:nth-child(4){grid-column:auto;grid-row:auto}.gallery-label{left:10px;bottom:9px;padding:5px 7px;font-size:.5rem}.gallery-expand{top:9px;right:9px;width:26px;height:26px;font-size:.8rem}.coaching-image img{height:430px}.reviews-head{align-items:flex-start;flex-direction:column;gap:25px}.rating{text-align:left}.reviews-grid{grid-template-columns:1fr}.review-card blockquote{min-height:0}.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.form-heading{display:block}.form-heading span,.form-heading strong,.form-heading small{display:block}.form-heading small{margin-top:5px}.contact-form{margin-inline:-5px;padding:25px 20px}.contact-preference label{display:block;padding:5px 0}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-grid>div:nth-child(2){display:block}.footer-bottom{display:block}.footer-bottom>*{display:block;margin:10px 0}.footer-bottom a{margin:0 16px 0 0}.price-card{padding:26px 22px}.price-amount{font-size:2.2rem}.lightbox{grid-template-columns:1fr;padding:70px 12px 78px}.lightbox-prev{position:absolute;left:12px;bottom:16px}.lightbox-next{position:absolute;right:12px;bottom:16px;justify-self:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-ready .reveal{opacity:1;transform:none}}

/* --- Legal pages (privacy / terms) --- */
.legal-page { min-height: calc(100svh - var(--header-h)); background: var(--paper); }
.legal-content { max-width: 860px; }
.legal-content h1 { max-width: 760px; margin-bottom: 20px; }
.legal-content h2 { margin: 48px 0 14px; font-size: clamp(1.65rem, 3vw, 2.35rem); }
.legal-content p { color: var(--muted); }
.legal-content a:not(.button) { color: var(--brand); }
.legal-updated { padding-bottom: 28px; border-bottom: 1px solid var(--line); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.legal-content .button { margin-top: 36px; }
