:root { --paper:#f8f6f1; --oat:#f5e7fe; --clay:#f9f6f1; --ink:#2a1a57; --umber:#2a1a57; --umber-dark:#183425; --accent:#c84cfb; --white:#ffffff; --mist:#eadff2; --sage:#183425; --gold:#b69d49; --line:rgba(42,26,87,.14); --shadow:0 14px 30px rgba(42,26,87,.08); --support-bg:#f9f6f1; --support-card:#f5e7fe; --support-footer:#2a1a57; --support-ink:#2a1a57; --support-muted:rgba(42,26,87,.68); --support-accent:#c84cfb; --support-accent-dark:#183425; --support-line:rgba(42,26,87,.16); --support-shadow:0 18px 38px rgba(42,26,87,.12); --serif:"Instrument Serif", Georgia, serif; --sans:Inter, Arial, sans-serif; --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px; --space-8:32px; --space-10:40px; --space-12:48px; --space-16:64px; --space-20:80px; --space-24:96px; }
* { box-sizing:border-box; }
html { background:var(--paper); scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.55; }
button, input, textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button { cursor:pointer; }
h1,h2,h3,p { margin:0; }
h1,h2 { font-family:var(--serif); font-weight:400; letter-spacing:0; }
h1 em,h2 em { color:var(--accent); font-style:normal; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { align-items:center; display:grid; grid-template-columns:1fr auto 1fr; min-height:82px; padding:0 5.5vw; position:relative; z-index:10; }
.site-header nav { display:flex; gap:20px; font-size:11px; font-weight:600; }
.site-header nav a { transition:color .18s ease; }
.site-header nav a:hover { color:var(--umber); }
.brand { display:grid; place-items:center; }
.brand-mobile,.menu-toggle { display:none; }
.brand-mobile-wordmark { display:inline-block; }
.site-header > .button { justify-self:end; }
.mark { display:grid; height:36px; place-items:center; position:relative; width:36px; }
.mark i { border:1.25px solid currentColor; border-radius:50% 50% 46% 50%; height:19px; position:absolute; transform-origin:50% 100%; width:14px; }
.mark i:nth-child(1) { transform:translateY(-7px); }.mark i:nth-child(2) { transform:rotate(90deg) translateY(-7px); }.mark i:nth-child(3) { transform:rotate(180deg) translateY(-7px); }.mark i:nth-child(4) { transform:rotate(270deg) translateY(-7px); }
.mark { border:1.25px solid currentColor; border-radius:50%; font-family:var(--serif); font-size:15px; height:42px; width:42px; }
.mark b { font-weight:400; line-height:1; }
.brand { align-items:center; display:flex; gap:10px; justify-content:center; }
.brand-wordmark { display:none; font-family:var(--serif); font-size:22px; line-height:1; }
.route-home .site-header { color:var(--white); left:0; position:absolute; right:0; top:0; }
.route-home .site-header nav a:hover { color:var(--white); opacity:.78; }
.route-home .menu-toggle span { background:var(--white); }
.route-home .brand-mobile { color:var(--white); }
.route-home .mark { color:var(--white); }
.button { align-items:center; border:0; border-radius:999px; display:inline-flex; font-size:11px; font-weight:600; justify-content:center; min-height:38px; padding:10px 19px; transition:background .18s ease, color .18s ease, transform .18s ease; }
.button.primary { background:var(--umber); color:var(--white); }.button.primary:hover { background:var(--umber-dark); transform:translateY(-1px); }.button.secondary { background:var(--white); color:var(--ink); }.button:focus-visible,.site-header a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
.eyebrow,.tag,.plan { background:var(--umber); border-radius:999px; color:var(--white); display:inline-block; font-size:9px; font-weight:600; line-height:1; padding:6px 10px; }.eyebrow.light { background:rgba(255,255,255,.72); color:var(--ink); }.tag { background:var(--oat); color:var(--umber); }.plan { font-size:8px; padding:5px 8px; position:absolute; right:14px; top:-10px; }
.home-hero { color:var(--white); min-height:100dvh; overflow:hidden; position:relative; }.hero-image { background:linear-gradient(90deg,rgba(42,26,87,.78),rgba(42,26,87,.18)), url("/assets/barbier/scalp-assessment-clinic.jpg") 62% center / cover; inset:0; position:absolute; transform:scale(1.01); }.hero-content { left:max(5vw,48px); max-width:490px; position:relative; padding-top:160px; z-index:1; }.hero-content h1 { font-size:clamp(3.8rem,7vw,6.8rem); line-height:.88; margin-top:20px; }.hero-content h1 span { color:var(--accent); }.hero-content p { font-size:14px; line-height:1.45; margin:20px 0 25px; max-width:330px; }.actions { display:flex; flex-wrap:wrap; gap:10px; }.stats { bottom:72px; display:flex; gap:0; left:max(5vw,48px); position:absolute; z-index:1; }.stats span { border-right:1px solid rgba(255,255,255,.5); display:grid; font-size:11px; line-height:1.2; padding:0 25px; }.stats span:first-child { padding-left:0; }.stats span:last-child { border:0; }.stats b { font-family:var(--serif); font-size:40px; font-weight:400; }
.mane-hero .hero-image { background:linear-gradient(90deg,rgba(42,26,87,.8),rgba(42,26,87,.3),rgba(42,26,87,.04)), url("/assets/barbier/scalp-assessment-clinic.jpg") 62% center / cover; }
.mane-hero .hero-content { max-width:520px; }
.mane-hero .hero-content p { max-width:395px; }
.section { padding:120px max(6vw,24px); text-align:center; }.statement { padding-bottom:130px; padding-top:130px; }.statement h2 { font-family:var(--sans); font-size:clamp(2.1rem,4vw,4rem); line-height:1; }.statement h2 em { font-family:var(--serif); }.section > h2,.section > p { margin-left:auto; margin-right:auto; max-width:720px; }.section > h2 { font-family:var(--sans); font-size:clamp(2rem,4vw,3.7rem); line-height:1.02; margin-top:14px; }.section > h2 em { font-family:var(--serif); }.section > p { color:rgba(42,26,87,.72); font-size:12px; line-height:1.45; margin-top:11px; }.split { align-items:stretch; display:grid; grid-template-columns:1fr 1fr; }.split > img { height:100%; min-height:520px; object-fit:cover; width:100%; }.split > div { align-items:flex-start; background:var(--oat); display:flex; flex-direction:column; justify-content:center; padding:70px 11vw; }.split h2 { font-family:var(--sans); font-size:clamp(2rem,3.7vw,3.6rem); line-height:1; margin:15px 0 8px; }.split h2 em { font-family:var(--serif); }.split h3 { font-size:13px; font-weight:600; line-height:1.3; margin:0 0 20px; }.split p { font-size:11px; margin-top:12px; }.signature { font-family:var(--serif); font-size:47px; font-style:italic; line-height:1; margin-top:22px; }.areas { padding-top:110px; }.service-grid { display:grid; gap:16px; grid-template-columns:repeat(4,1fr); margin:48px auto 0; max-width:1040px; text-align:left; }.service-card { background:var(--oat); border:1px solid transparent; border-radius:12px; overflow:hidden; transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease; }.service-card:hover { border-color:rgba(42,26,87,.28); box-shadow:var(--shadow); transform:translateY(-3px); }.service-card img { aspect-ratio:1.13; object-fit:cover; width:100%; }.service-card div { padding:14px; }.service-card h3 { font-size:12px; margin-bottom:7px; }.service-card p,.service-card li { font-size:10px; line-height:1.45; }.service-card ul { margin:12px 0 0; padding-left:14px; }.service-card li + li { margin-top:4px; }.oat { background:var(--oat); }.quote-grid { display:grid; gap:14px; grid-template-columns:repeat(3,1fr); margin:40px auto 0; max-width:1080px; text-align:left; }.quote-grid blockquote { background:rgba(255,255,255,.66); border-radius:10px; font-size:11px; line-height:1.45; margin:0; min-height:132px; padding:18px; }.quote-grid cite { display:block; font-size:9px; font-style:normal; font-weight:600; margin-top:17px; }.programs { padding-bottom:100px; }.pricing { display:grid; gap:22px; grid-template-columns:repeat(2,minmax(0,360px)); justify-content:center; margin:42px auto 56px; text-align:left; }.pricing article { background:var(--oat); border-radius:12px; padding:24px 22px; position:relative; }.pricing h3 { font-size:15px; margin-bottom:2px; }.pricing strong { display:block; font-family:var(--serif); font-size:34px; font-weight:400; line-height:1; }.pricing p { font-size:10px; line-height:1.4; margin:8px 0 14px; }.pricing .button { margin-bottom:18px; }.pricing b { display:block; font-size:9px; }.pricing ul { font-size:9px; line-height:1.6; margin:6px 0 0; padding-left:13px; }.journey { display:grid; gap:25px; grid-template-columns:repeat(3,1fr); margin:0 auto 38px; max-width:840px; }.journey span { font-size:12px; font-weight:600; }.journey small { display:block; font-size:9px; font-weight:400; line-height:1.4; margin:7px auto 0; max-width:190px; }.accordion { display:grid; gap:8px; margin:0 auto; max-width:560px; text-align:left; }.accordion-item { background:var(--oat); border-radius:7px; overflow:hidden; }.accordion-item button { background:transparent; border:0; color:var(--ink); display:flex; font-size:10px; justify-content:space-between; padding:13px 15px; text-align:left; width:100%; }.accordion-item button span { font-size:18px; font-weight:400; line-height:.6; }.accordion-item p { font-size:10px; line-height:1.45; padding:0 15px 14px; }
.about-hero { background:var(--clay); display:grid; grid-template-columns:1fr 1.35fr; min-height:590px; overflow:hidden; }.about-hero > div { padding:88px 0 60px max(7vw,24px); position:relative; z-index:1; }.about-hero h1 { font-size:clamp(3.5rem,6.1vw,6.1rem); line-height:.86; margin:17px 0; }.about-hero p { font-size:11px; line-height:1.45; max-width:285px; }.about-hero p + p { margin-top:12px; }.about-hero img { align-self:end; height:100%; object-fit:cover; object-position:center top; width:100%; }.work { padding-top:110px; }.photo-cards { display:grid; gap:16px; grid-template-columns:repeat(3,1fr); margin:42px auto 0; max-width:1040px; text-align:left; }.photo-cards article { background:var(--oat); border-radius:10px; overflow:hidden; }.photo-cards img { aspect-ratio:1/.97; object-fit:cover; width:100%; }.photo-cards h3 { font-size:12px; margin:13px 14px 4px; }.photo-cards p { font-size:10px; line-height:1.4; margin:0 14px 16px; }.beliefs { padding-bottom:108px; }.belief-grid { display:grid; gap:12px; grid-template-columns:repeat(2,1fr); margin:42px auto 0; max-width:1050px; text-align:left; }.belief-grid article { background:rgba(255,255,255,.67); border-radius:9px; min-height:145px; padding:20px; }.belief-grid span,.timeline > article > span { color:var(--umber); font-family:var(--serif); font-size:34px; line-height:1; }.belief-grid h3 { font-size:12px; margin:9px 0 5px; }.belief-grid p { font-size:10px; line-height:1.42; }.training { padding-bottom:120px; }.timeline { display:grid; gap:10px; margin:38px auto 0; max-width:380px; text-align:left; }.timeline article { align-items:center; background:var(--oat); border-radius:9px; display:grid; gap:20px; grid-template-columns:68px 1fr; padding:16px 20px; }.timeline h3 { font-size:11px; }.timeline p { font-size:9px; margin:2px 0; }.timeline b { background:var(--mist); border-radius:999px; color:var(--umber); font-size:7px; padding:3px 6px; }
.page-hero { align-items:center; background:var(--oat); display:flex; flex-direction:column; justify-content:center; min-height:350px; padding:74px 24px 65px; text-align:center; }.page-hero h1 { font-size:clamp(3.5rem,7vw,6.9rem); line-height:.9; margin:17px auto 19px; max-width:860px; }.page-hero p { color:rgba(42,26,87,.7); font-size:14px; line-height:1.45; max-width:560px; }.services-detail .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:860px; }.services-detail .service-card { display:grid; grid-template-columns:1fr 1fr; }.services-detail .service-card img { aspect-ratio:auto; height:100%; }.reset > div { background:var(--clay); }.compact { padding-top:100px; }
.service-grid.expanded { grid-template-columns:repeat(3,1fr); max-width:1080px; }
.services-detail .service-grid.expanded { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:920px; }
.method-grid { display:grid; gap:12px; grid-template-columns:repeat(3,1fr); margin:44px auto 0; max-width:1040px; text-align:left; }
.method-grid article { background:rgba(255,255,255,.68); border:1px solid var(--line); border-radius:10px; min-height:170px; padding:20px; }
.method-grid span { color:var(--gold); font-family:var(--serif); font-size:34px; line-height:1; }
.method-grid h3 { font-size:12px; margin:10px 0 7px; }
.method-grid p { color:rgba(42,26,87,.68); font-size:10px; line-height:1.45; }
.course-grid { display:grid; gap:22px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:44px auto 0; max-width:1000px; text-align:left; }
.course-grid article { background:var(--white); border-radius:12px; display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; position:relative; }
.course-grid img { height:100%; object-fit:cover; width:100%; }
.course-grid div { padding:24px 24px 26px; }
.course-grid h3 { font-size:16px; margin-bottom:4px; }
.course-grid strong { display:block; font-family:var(--serif); font-size:32px; font-weight:400; line-height:1; }
.course-grid p,.course-grid li { color:rgba(42,26,87,.68); font-size:10px; line-height:1.45; }
.course-grid p { margin:9px 0 12px; }
.course-grid ul { margin:0; padding-left:15px; }
.topic-grid { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:36px auto 0; max-width:820px; }
.topic-grid span,.booking-steps span { background:var(--oat); border:1px solid var(--line); border-radius:999px; color:var(--ink); font-size:10px; font-weight:600; padding:10px 14px; }
.booking-steps { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.reset > div { background:var(--clay); }
.timeline { max-width:520px; }
.timeline article { grid-template-columns:118px 1fr; }
.filters { display:flex; flex-wrap:wrap; gap:8px; margin:42px auto 26px; max-width:1090px; text-align:left; }.filter { background:var(--oat); border:0; border-radius:999px; color:var(--ink); font-size:10px; padding:8px 15px; }.filter.active,.filter:hover { background:var(--umber); color:var(--white); }.journal-list { padding-bottom:90px; }.journal-grid { display:grid; gap:18px; grid-template-columns:repeat(3,1fr); margin:0 auto; max-width:1090px; text-align:left; }.journal-card { background:var(--oat); border-radius:12px; overflow:hidden; transition:box-shadow .18s ease,transform .18s ease; }.journal-card:hover { box-shadow:var(--shadow); transform:translateY(-3px); }.journal-card[hidden] { display:none; }.journal-card img { aspect-ratio:1.21; object-fit:cover; width:100%; }.journal-card div { padding:26px; }.journal-card h2 { font-family:var(--sans); font-size:21px; font-weight:600; line-height:1.08; margin:18px 0 15px; }.journal-card p { color:rgba(42,26,87,.65); font-size:12px; line-height:1.45; min-height:69px; }.journal-card small { color:rgba(42,26,87,.56); display:flex; font-size:10px; gap:7px; margin-top:29px; }.load-more { margin-top:38px; }.newsletter { align-items:center; background:var(--oat); border-radius:14px; display:flex; gap:28px; justify-content:space-between; margin:0 auto 100px; max-width:1090px; padding:36px 40px; }.newsletter h2 { font-family:var(--sans); font-size:26px; font-weight:600; line-height:1.1; }.newsletter p { color:rgba(42,26,87,.64); font-size:11px; margin-top:6px; }.newsletter form { align-items:center; background:var(--white); border-radius:999px; display:flex; padding:4px; position:relative; }.newsletter input { background:transparent; border:0; min-width:200px; outline:0; padding:10px 14px; }.newsletter .button { min-height:40px; }.form-note { bottom:-24px; color:var(--umber); font-size:10px; left:4px; position:absolute; white-space:nowrap; }
.article { margin:0 auto; max-width:790px; padding:80px 24px 120px; }.back-link { display:inline-block; font-size:11px; margin-bottom:50px; }.article > .tag { margin-bottom:20px; }.article h1 { font-size:clamp(3.2rem,6vw,5.5rem); line-height:.93; }.article-meta { color:rgba(42,26,87,.6); font-size:11px; margin:20px 0 42px; }.article-image { aspect-ratio:1.47; border-radius:12px; object-fit:cover; width:100%; }.article-body { margin:55px auto 0; max-width:620px; }.article-body p { font-size:16px; line-height:1.75; margin-top:20px; }.article-body h2 { font-family:var(--sans); font-size:29px; font-weight:600; line-height:1.15; margin-top:47px; }
.booking { align-items:start; display:grid; gap:90px; grid-template-columns:.8fr 1.2fr; margin:0 auto; max-width:1100px; padding:110px 24px; }.booking h2,.contact-form h2 { font-family:var(--sans); font-size:clamp(2.4rem,4vw,3.7rem); line-height:1; margin-top:15px; }.booking h2 em,.contact-form h2 em { font-family:var(--serif); }.booking p,.contact-form p { color:rgba(42,26,87,.7); font-size:12px; margin-top:15px; }.calendar { background:var(--oat); border-radius:12px; padding:26px; }.calendar header { align-items:center; display:flex; justify-content:space-between; }.calendar header button { background:none; border:0; font-size:22px; }.calendar header b { font-size:12px; }.calendar-days { display:grid; grid-template-columns:repeat(5,1fr); margin:25px 0 18px; text-align:center; }.calendar-days span { color:rgba(42,26,87,.52); font-size:10px; }.calendar-days b { color:var(--ink); font-family:var(--serif); font-size:27px; font-weight:400; }.time-slot { background:var(--white); border:1px solid transparent; border-radius:7px; display:inline-block; font-size:11px; margin:4px; padding:12px 14px; }.time-slot:hover,.time-slot:focus { border-color:var(--umber); color:var(--umber); }.calendar footer { border-top:1px solid var(--line); display:flex; font-size:11px; justify-content:space-between; margin-top:23px; padding-top:18px; }.calendar footer span { color:rgba(42,26,87,.6); }.contact-form { align-items:start; display:grid; gap:90px; grid-template-columns:.8fr 1.2fr; max-width:none; text-align:left; }.contact-form > div { max-width:410px; justify-self:end; }.contact-form form { display:grid; gap:15px; max-width:530px; position:relative; width:100%; }.contact-form label { display:grid; font-size:10px; font-weight:600; gap:6px; }.contact-form input,.contact-form textarea { background:var(--white); border:1px solid transparent; border-radius:7px; outline:0; padding:12px; resize:vertical; }.contact-form input:focus,.contact-form textarea:focus { border-color:var(--umber); }.contact-form .button { justify-self:start; }
.legal-page { margin:0 auto; max-width:840px; padding:100px 24px 130px; }.legal-page h1 { font-size:clamp(3.5rem,6vw,5.7rem); line-height:.9; margin:18px 0 65px; }.legal-page > div { max-width:680px; }.legal-page section + section { margin-top:43px; }.legal-page h2 { font-family:var(--sans); font-size:22px; font-weight:600; margin-bottom:10px; }.legal-page p { color:rgba(42,26,87,.72); font-size:15px; line-height:1.7; }.not-found { align-items:stretch; display:grid; grid-template-columns:1fr 1fr; min-height:calc(100vh - 82px); }.not-found > div { align-items:flex-start; display:flex; flex-direction:column; justify-content:center; padding:80px max(7vw,24px); }.not-found h1 { font-size:clamp(4rem,7vw,7rem); line-height:.86; margin:18px 0; }.not-found p { font-size:14px; margin-bottom:28px; max-width:350px; }.not-found img { height:100%; min-height:600px; object-fit:cover; width:100%; }
.site-footer { background:var(--oat); padding:85px max(7vw,24px) 24px; }.footer-cta { align-items:center; display:flex; flex-direction:column; text-align:center; }.footer-cta .mark { margin-bottom:16px; }.footer-cta h2 { font-family:var(--sans); font-size:clamp(2.3rem,4vw,3.8rem); line-height:.98; }.footer-cta h2 em { font-family:var(--serif); }.footer-cta p { font-size:11px; line-height:1.4; margin:12px 0 20px; }.footer-links { display:grid; gap:20px; grid-template-columns:repeat(3,140px); justify-content:center; margin:75px 0 50px; }.footer-links section { display:grid; gap:8px; font-size:10px; }.footer-links b { font-size:10px; margin-bottom:5px; }.footer-links a:hover { color:var(--umber); }.copyright { border-top:1px solid var(--line); display:flex; font-size:9px; justify-content:space-between; padding-top:20px; }
.support-finale { background:var(--support-bg); color:var(--support-ink); }
.support-finale > .eyebrow { background:var(--support-card); color:var(--support-ink); }
.support-finale h2 em,.site-footer h2 em { color:var(--support-accent); }
.support-finale > p { color:var(--support-muted); }
.support-finale .pricing article { background:var(--support-card); border:1px solid var(--support-line); box-shadow:var(--support-shadow); }
.support-finale .plan { background:var(--support-accent); color:var(--white); }
.support-finale .pricing .button.primary,.site-footer .button.primary { background:var(--support-accent); color:var(--ink); }
.support-finale .pricing .button.primary:hover,.site-footer .button.primary:hover { background:var(--support-accent-dark); }
.support-finale .button:focus-visible,.site-footer .button:focus-visible { outline-color:var(--support-accent-dark); }
.support-finale .pricing p,.support-finale .pricing li,.support-finale .journey small,.support-finale .accordion-item p { color:var(--support-muted); }
.support-finale .pricing li::marker { color:var(--support-accent); }
.support-finale .pricing b,.support-finale .journey span { color:var(--support-ink); }
.support-finale .accordion-item { background:var(--support-card); border:1px solid var(--support-line); }
.support-finale .accordion-item button { color:var(--support-ink); }
.support-finale .accordion-item button span { color:var(--support-accent); }
.site-footer { background:var(--support-footer); color:var(--white); }
.site-footer .footer-cta p,.site-footer .footer-links,.site-footer .copyright { color:rgba(255,255,255,.72); }
.site-footer .footer-links b { color:var(--white); }
.site-footer .footer-links a:hover { color:var(--support-accent); }
.site-footer .copyright { border-top-color:rgba(255,255,255,.18); }
.intro > img { object-position:left center; }
@media (max-width: 800px) { .site-header { grid-template-columns:1fr auto; min-height:66px; padding:0 22px; }.site-header nav,.site-header .brand,.site-header > .button { display:none; }.brand-mobile { align-items:center; display:flex; font-family:var(--serif); font-size:28px; gap:10px; line-height:1; }.brand-mobile .mark { flex:0 0 auto; }.menu-toggle { display:block; }.menu-toggle { background:transparent; border:0; height:34px; padding:7px 0 7px 12px; width:40px; }.menu-toggle span { background:var(--ink); display:block; height:1px; margin:5px 0; transition:transform .24s ease; width:25px; }.menu-open .site-header nav { background:var(--oat); display:flex; flex-direction:column; left:0; padding:28px 22px 36px; position:absolute; right:0; top:66px; }.menu-open .site-header nav a { font-size:16px; padding:8px 0; }.menu-open .menu-toggle span:first-child { transform:translateY(3px) rotate(45deg); }.menu-open .menu-toggle span:last-child { transform:translateY(-3px) rotate(-45deg); }.home-hero { min-height:620px; }.hero-content { left:24px; padding-top:110px; }.hero-content h1 { font-size:55px; }.stats { bottom:22px; left:24px; right:16px; }.stats span { font-size:8px; padding:0 13px; }.stats b { font-size:23px; }.section { padding:78px 24px; }.statement { padding:87px 24px; }.statement h2 { font-size:34px; }.split,.about-hero,.not-found { grid-template-columns:1fr; }.split > img { min-height:360px; order:0; }.split > div { order:1; padding:58px 24px; }.split h2 { font-size:38px; }.service-grid,.quote-grid,.journal-grid { grid-template-columns:1fr; }.service-grid { gap:14px; margin-top:32px; }.service-card { display:grid; grid-template-columns:128px 1fr; }.service-card img { aspect-ratio:auto; height:100%; min-height:150px; }.quote-grid { gap:10px; grid-template-columns:1fr; margin-top:30px; }.quote-grid blockquote { min-height:0; }.pricing { gap:14px; grid-template-columns:1fr; margin:32px auto 40px; }.journey { gap:20px; grid-template-columns:1fr; }.about-hero > div { padding:66px 24px 30px; }.about-hero h1 { font-size:54px; }.about-hero img { height:430px; }.photo-cards { grid-template-columns:1fr; }.photo-cards article { display:grid; grid-template-columns:120px 1fr; }.photo-cards img { grid-row:span 2; height:100%; }.belief-grid { grid-template-columns:1fr; }.services-detail .service-grid { grid-template-columns:1fr; }.services-detail .service-card { grid-template-columns:1fr; }.services-detail .service-card img { aspect-ratio:1.55; min-height:0; }.services-detail .service-card div { padding:20px; }.page-hero { min-height:310px; }.page-hero h1 { font-size:51px; }.journal-card div { padding:21px; }.journal-card h2 { font-size:24px; }.journal-card p { min-height:0; }.newsletter { align-items:stretch; border-radius:0; flex-direction:column; margin:0; padding:42px 24px 55px; }.newsletter form { width:100%; }.newsletter input { min-width:0; width:100%; }.article { padding:58px 24px 80px; }.article h1 { font-size:48px; }.article-body { margin-top:35px; }.article-body p { font-size:15px; }.booking,.contact-form { gap:46px; grid-template-columns:1fr; padding:75px 24px; }.contact-form { padding:75px 24px; }.contact-form > div { justify-self:start; }.legal-page { padding:75px 24px 90px; }.legal-page h1 { font-size:51px; margin-bottom:50px; }.legal-page p { font-size:14px; }.not-found > div { min-height:470px; padding:70px 24px; }.not-found img { min-height:420px; }.site-footer { padding:72px 24px 22px; }.footer-links { grid-template-columns:repeat(3,1fr); margin:57px 0 42px; }.footer-links section { font-size:9px; }.copyright { display:grid; gap:8px; }.footer-cta h2 { font-size:35px; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }

/* Entry motion: one purposeful pass per section, never a looping decoration. */
html.motion-ready [data-motion] { filter:blur(5px); opacity:0; transform:translate3d(0,28px,0); transition:opacity 620ms cubic-bezier(.16,1,.3,1),transform 620ms cubic-bezier(.16,1,.3,1),filter 620ms cubic-bezier(.16,1,.3,1); transition-delay:calc(var(--motion-order,0) * 70ms); will-change:filter,opacity,transform; }
html.motion-ready [data-motion="reveal-left"] { transform:translate3d(-36px,0,0); }
html.motion-ready [data-motion="reveal-right"] { transform:translate3d(36px,0,0); }
html.motion-ready [data-motion].is-revealed { filter:blur(0); opacity:1; transform:translate3d(0,0,0); }

html.motion-ready .home-hero .hero-content > *,html.motion-ready .home-hero .stats span { filter:blur(5px); opacity:0; transform:translate3d(0,24px,0); transition:opacity 760ms cubic-bezier(.16,1,.3,1),transform 760ms cubic-bezier(.16,1,.3,1),filter 760ms cubic-bezier(.16,1,.3,1); will-change:filter,opacity,transform; }
html.motion-ready .home-hero .hero-content > .eyebrow { transition-delay:80ms; }
html.motion-ready .home-hero .hero-content > h1 { transition-delay:150ms; }
html.motion-ready .home-hero .hero-content > p { transition-delay:250ms; }
html.motion-ready .home-hero .hero-content > .actions { transition-delay:340ms; }
html.motion-ready .home-hero .stats span:nth-child(1) { transition-delay:420ms; }
html.motion-ready .home-hero .stats span:nth-child(2) { transition-delay:480ms; }
html.motion-ready .home-hero .stats span:nth-child(3) { transition-delay:540ms; }
html.motion-ready .home-hero.is-revealed .hero-content > *,html.motion-ready .home-hero.is-revealed .stats span { filter:blur(0); opacity:1; transform:translate3d(0,0,0); }

.statement-reveal { overflow:hidden; position:relative; }
.statement-reveal h2 { display:grid; padding-bottom:24px; position:relative; }
.statement-line { display:block; overflow:hidden; }
.statement-word { display:block; }
.statement-line-mobile { display:none; }
html.motion-ready .statement-reveal .statement-word { filter:blur(8px); opacity:0; transform:translate3d(0,120%,0); transition:opacity 900ms cubic-bezier(.16,1,.3,1),transform 900ms cubic-bezier(.16,1,.3,1),filter 900ms cubic-bezier(.16,1,.3,1); will-change:filter,opacity,transform; }
html.motion-ready .statement-reveal .statement-line:nth-child(2) .statement-word { transition-delay:140ms; }
html.motion-ready .statement-reveal.is-revealed .statement-word { filter:blur(0); opacity:1; transform:translate3d(0,0,0); }
.statement-reveal h2::after { background:var(--umber); bottom:0; content:""; height:1px; left:50%; position:absolute; transform:translateX(-50%) scaleX(0); transform-origin:center; transition:transform 800ms cubic-bezier(.16,1,.3,1) 320ms; width:min(180px,40vw); }
.statement-reveal.is-revealed h2::after { transform:translateX(-50%) scaleX(1); }

@media (prefers-reduced-motion: reduce) { html.motion-ready [data-motion],html.motion-ready .home-hero .hero-content > *,html.motion-ready .home-hero .stats span,html.motion-ready .statement-reveal .statement-word { filter:none!important; opacity:1!important; transform:none!important; transition:none!important; } .statement-reveal h2::after { transform:translateX(-50%) scaleX(1); transition:none!important; } }

/* Directional reveals remain visually contained while off-screen. */
.split { overflow:clip; }
@media (max-width: 800px) { .hero-content { left:auto; margin-left:24px; max-width:calc(100% - 48px); width:calc(100% - 48px); } }

.review-grid { display:grid; gap:14px; grid-template-columns:repeat(3,1fr); margin:40px auto 0; max-width:1120px; text-align:left; }
.review-card { background:rgba(255,255,255,.72); border:1px solid var(--line); border-radius:12px; display:flex; min-height:100%; padding:22px; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.review-card:hover { border-color:rgba(42,26,87,.28); box-shadow:var(--shadow); transform:translateY(-3px); }
.review-card blockquote { display:flex; flex-direction:column; font-size:11px; height:100%; line-height:1.55; margin:0; }
.review-card p { color:var(--ink); font-size:11px; line-height:1.55; margin:0; }
.review-card cite { color:var(--umber); display:block; font-size:9px; font-style:normal; font-weight:600; margin-top:auto; padding-top:18px; }
@media (max-width: 800px) { .review-grid { gap:10px; grid-template-columns:1fr; margin-top:30px; }.review-card { padding:18px; } }

.booking-steps { align-items:stretch; display:grid; gap:8px; margin-top:22px; }
.booking-step { align-items:center; background:transparent; border:0; color:var(--ink); display:grid; font-size:10px; font-weight:600; gap:10px; grid-template-columns:28px 1fr; justify-items:start; padding:7px 0; text-align:left; }
.booking-step span { align-items:center; background:var(--oat); border:1px solid var(--line); border-radius:50%; display:grid; font-size:10px; height:28px; justify-content:center; padding:0; width:28px; }
.booking-step:hover:not(:disabled) { color:var(--accent); }
.booking-step.is-active { color:var(--umber); }
.booking-step.is-active span { background:var(--accent); border-color:var(--accent); color:var(--ink); }
.booking-step.is-complete span { background:var(--umber); border-color:var(--umber); color:var(--white); }
.booking-step:disabled { cursor:not-allowed; opacity:.48; }
.booking .calendar { background:var(--oat); padding:0; }
.booking-wizard { padding:28px; }
.booking-wizard-head { align-items:center; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; margin-bottom:27px; padding-bottom:18px; }
.booking-wizard-head .eyebrow { font-size:8px; }
.booking-progress,.booking-panel-kicker { color:rgba(42,26,87,.58); font-size:9px; font-weight:600; }
.booking-panel h3 { font-family:var(--sans); font-size:25px; font-weight:600; line-height:1.05; margin:8px 0 8px; }
.booking-panel > p { color:rgba(42,26,87,.68); font-size:11px; line-height:1.5; margin:0; max-width:510px; }
.booking-options { display:grid; gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:24px; }
.booking-option { background:var(--white); border:1px solid transparent; border-radius:9px; color:var(--ink); display:grid; gap:6px; padding:16px; text-align:left; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.booking-option strong { font-size:11px; }
.booking-option span { color:rgba(42,26,87,.68); font-size:9px; line-height:1.4; }
.booking-option:hover,.booking-option.is-selected { border-color:var(--accent); box-shadow:0 10px 24px rgba(42,26,87,.08); transform:translateY(-1px); }
.booking-option.is-selected { background:#fff8ff; }
.booking-track-picker { border-top:1px solid var(--line); margin-top:22px; padding-top:20px; }
.booking-track-picker h4 { font-family:var(--sans); font-size:16px; margin:7px 0 0; }
.booking-track-options { display:grid; gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:14px; }
.booking-track-option { background:var(--white); border:1px solid transparent; border-radius:9px; color:var(--ink); display:grid; gap:5px; padding:14px; text-align:left; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.booking-track-option strong { font-size:11px; }
.booking-track-option span { color:rgba(42,26,87,.68); font-size:9px; line-height:1.4; }
.booking-track-option:hover,.booking-track-option.is-selected { border-color:var(--accent); box-shadow:0 10px 24px rgba(42,26,87,.08); transform:translateY(-1px); }
.booking-track-option.is-selected { background:#fff8ff; }
.booking-track-picker .booking-actions { margin-top:16px; }
.booking-fields { display:grid; gap:13px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:23px; }
.booking-fields label { display:grid; font-size:10px; font-weight:600; gap:6px; }
.booking-fields label:last-child { grid-column:1 / -1; }
.booking-fields input,.booking-fields textarea { background:var(--white); border:1px solid transparent; border-radius:7px; color:var(--ink); font-size:11px; outline:0; padding:11px 12px; resize:vertical; }
.booking-fields input:focus,.booking-fields textarea:focus { border-color:var(--accent); }
.booking-actions { align-items:center; display:flex; gap:9px; justify-content:flex-end; margin-top:24px; }
.booking-actions .button { min-height:36px; }
.booking-date-grid { display:grid; gap:7px; grid-template-columns:repeat(5,1fr); margin-top:23px; }
.booking-date-grid button,.booking-time-grid button { background:var(--white); border:1px solid transparent; border-radius:7px; color:var(--ink); font-size:9px; padding:10px 7px; }
.booking-date-grid button:hover,.booking-date-grid button.is-selected,.booking-time-grid button:hover,.booking-time-grid button.is-selected { background:var(--accent); border-color:var(--accent); color:var(--ink); }
.booking-time-grid { display:flex; flex-wrap:wrap; gap:7px; margin-top:19px; }
.booking-time-grid button { padding:11px 14px; }
.booking-error { color:var(--support-accent-dark)!important; min-height:17px; padding-top:10px; }
.booking-payment { background:var(--white); border:1px solid var(--line); border-radius:9px; display:grid; gap:6px; margin-top:24px; padding:16px; }
.booking-payment strong { font-size:12px; }
.booking-payment span { color:rgba(42,26,87,.68); font-size:10px; line-height:1.45; }
.booking-check { align-items:flex-start; display:flex; font-size:10px; gap:8px; line-height:1.4; margin-top:17px; }
.booking-check input { accent-color:var(--accent); margin:2px 0 0; }
.booking-summary { display:grid; gap:10px; margin:24px 0 0; }
.booking-summary div { border-bottom:1px solid var(--line); display:flex; gap:18px; justify-content:space-between; padding-bottom:10px; }
.booking-summary dt { color:rgba(42,26,87,.58); font-size:9px; }
.booking-summary dd { font-size:10px; font-weight:600; margin:0; text-align:right; }
.booking-success { background:rgba(24,52,37,.09); border-left:3px solid var(--sage); color:var(--sage)!important; font-size:10px!important; margin-top:18px!important; max-width:none!important; padding:10px 12px; }
@media (max-width: 800px) { .booking-wizard { padding:22px 18px; }.booking-wizard-head { margin-bottom:23px; }.booking-options,.booking-fields,.booking-track-options { grid-template-columns:1fr; }.booking-fields label:last-child { grid-column:auto; }.booking-date-grid { grid-template-columns:repeat(2,1fr); }.booking-actions { justify-content:stretch; }.booking-actions .button { flex:1; }.booking-summary div { align-items:flex-start; flex-direction:column; gap:4px; }.booking-summary dd { text-align:left; } }

@media (max-width: 480px) { .route-home .stats { bottom:120px; display:flex; gap:0; left:24px; right:24px; width:auto; }.route-home .stats span { border-right:1px solid rgba(255,255,255,.45); display:grid; flex:1 1 0; font-size:10px; line-height:1.2; min-width:0; padding:0 8px; }.route-home .stats span:first-child { padding-left:0; }.route-home .stats span:last-child { border-right:0; padding-right:0; }.route-home .stats b { font-size:32px; } }

/* The reference uses a six-card orbit around the statement, not a single carousel slot. */
:root { --problem-card-width:400px; --problem-card-height:100px; --problem-card-radius:16px; --problem-card-orbit-radius:380px; --motion-card-enter:720ms; --motion-card-orbit:24s; --motion-card-start:2s; }
.statement-reveal { align-items:center; display:grid; isolation:isolate; min-height:920px; place-items:center; }
.statement-reveal h2 { font-size:clamp(2.5rem,5.7vw,5.5rem); position:relative; z-index:1; }
.statement-reveal h2::after { display:none; }
.problem-card-rotator { inset:0; pointer-events:auto; position:absolute; z-index:2; }
.problem-card-orbit { animation:problem-card-orbit var(--motion-card-orbit) linear var(--motion-card-start) infinite; animation-play-state:paused; height:0; left:50%; position:absolute; top:51%; transform-origin:0 0; width:0; }
.problem-card-slot { height:0; left:0; position:absolute; top:0; transform:rotate(var(--problem-card-angle)) translateX(var(--problem-card-orbit-radius)); transform-origin:0 0; width:0; }
.problem-card-counter { animation:problem-card-counter var(--motion-card-orbit) linear var(--motion-card-start) infinite; animation-play-state:paused; height:0; left:0; position:absolute; top:0; transform-origin:0 0; width:0; }
.problem-card-frame { height:var(--problem-card-height); left:0; position:absolute; top:0; transform:translate3d(-50%,-50%,0); width:var(--problem-card-width); }
.problem-card { align-items:stretch; background:var(--oat); border:1px solid var(--mist); border-radius:var(--problem-card-radius); display:grid; filter:none; grid-template-columns:100px minmax(0,1fr); height:100%; opacity:1; overflow:hidden; pointer-events:none; position:relative; transform:rotate(var(--problem-card-upright)); transform-origin:center; transition:filter var(--motion-card-enter) cubic-bezier(.16,1,.3,1) var(--problem-card-delay),opacity var(--motion-card-enter) cubic-bezier(.16,1,.3,1) var(--problem-card-delay); width:100%; }
.problem-card img { height:100%; object-fit:cover; width:100%; }
.problem-card p { align-self:center; font-size:1rem; font-weight:500; line-height:1.25; padding:var(--space-4) var(--space-5); text-align:left; }
.problem-card-toggle { background:var(--paper); border:1px solid var(--mist); border-radius:999px; color:var(--ink); font-size:9px; font-weight:600; opacity:0; padding:5px 8px; pointer-events:none; position:absolute; right:max(24px,5vw); top:24px; transition:opacity .18s ease; }
.problem-card-rotator:hover .problem-card-toggle,.problem-card-toggle:focus-visible { opacity:1; pointer-events:auto; }
.problem-card-toggle:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
html.motion-ready .statement-reveal .problem-card { filter:blur(8px); opacity:0; }
html.motion-ready .statement-reveal.is-revealed .problem-card { filter:blur(0); opacity:1; }
.problem-card-rotator.is-in-view:not([data-paused="true"]) .problem-card-orbit,.problem-card-rotator.is-in-view:not([data-paused="true"]) .problem-card-counter { animation-play-state:running; will-change:transform; }
@keyframes problem-card-orbit { to { transform:rotate(360deg); } }
@keyframes problem-card-counter { to { transform:rotate(-360deg); } }
@media (min-width: 801px) { .statement-reveal h2 { max-width:none; } }
@media (max-width: 800px) { .statement-reveal { --problem-card-orbit-radius:250px; min-height:820px; padding:112px 24px; }.statement-reveal h2 { font-size:40px; }.statement-line-desktop { display:none; }.statement-line-mobile { display:block; }.problem-card-orbit { top:50%; }.problem-card p { font-size:.875rem; padding:var(--space-3) var(--space-4); }.problem-card-toggle { right:12px; top:16px; } html.motion-ready .statement-reveal .statement-line-mobile .statement-word { transition-delay:0; } html.motion-ready .statement-reveal .statement-line-mobile:nth-child(4) .statement-word { transition-delay:100ms; } html.motion-ready .statement-reveal .statement-line-mobile:nth-child(5) .statement-word { transition-delay:200ms; } }
@media (prefers-reduced-motion: reduce) { .problem-card-orbit,.problem-card-counter { animation:none!important; }.problem-card { filter:none!important; opacity:1!important; transition:none!important; }.problem-card-toggle { display:none!important; } }
@media (max-width: 800px) { .brand-mobile { font-size:24px; }.mane-hero .hero-image { background-position:67% center; }.service-grid.expanded,.services-detail .service-grid.expanded,.method-grid,.course-grid { grid-template-columns:1fr; }.method-grid { margin-top:32px; }.course-grid article { grid-template-columns:1fr; }.course-grid img { aspect-ratio:1.45; min-height:0; }.course-grid div { padding:22px 20px; }.topic-grid { justify-content:flex-start; }.timeline article { grid-template-columns:88px 1fr; }.timeline > article > span { font-size:24px; }.booking-steps { display:grid; grid-template-columns:1fr; }.booking-steps span { border-radius:8px; } }
@media (max-width: 800px) { .route-home .home-hero { min-height:812px; }.route-home .site-header { min-height:66px; }.route-home .brand-mobile { color:var(--white); }.route-home .brand-mobile-wordmark { display:none; }.route-home .menu-toggle span { background:var(--white); }.route-home .hero-content { padding-top:118px; }.route-home .stats { bottom:58px; } }
@media (max-width: 480px) { .route-home .home-hero { min-height:916px; }.route-home .hero-content { margin-left:48px; max-width:calc(100% - 96px); padding-top:118px; width:calc(100% - 96px); }.route-home .actions { align-items:flex-start; flex-direction:column; gap:14px; }.route-home .actions .button { font-size:16px; min-height:64px; padding:18px 38px; }.route-home .stats { bottom:56px; display:grid; gap:26px; left:48px; right:auto; }.route-home .stats span { border-right:0; font-size:16px; padding:0; }.route-home .stats b { font-size:58px; }.route-home .eyebrow.light { font-size:14px; padding:12px 20px; } }
@media (max-width: 480px) { .route-home .stats { bottom:42px; display:flex; gap:0; left:24px; right:24px; width:auto; }.route-home .stats span { border-right:1px solid rgba(255,255,255,.45); display:grid; flex:1 1 0; font-size:10px; line-height:1.2; min-width:0; padding:0 8px; }.route-home .stats span:first-child { padding-left:0; }.route-home .stats span:last-child { border-right:0; padding-right:0; }.route-home .stats b { font-size:32px; } }
@media (max-width: 480px) { .route-home .stats { bottom:120px; } }
