:root{
  /* Color */
  --ink:#111417;
  --ink-2:#2f393c;
  --muted:#465255;
  --paper:#ffffff;
  --warm:#fbfaf7;
  --soft:#f2f4f3;
  --dark:#18262b;
  --dark-2:#102126;
  --dark-text:#e6f0f0;
  --turq:#004f54;
  --turq-hover:#003d41;
  --turq-bright:#6be1e4;
  --turq-pale:#e9f5f4;
  --line:#bfc8c5;
  --line-dark:#52656b;
  --focus:#2f9ea3;
  --warning-bg:#fff4cf;
  --warning-line:#9b7a12;
  --warning-ink:#3d2f00;

  /* Layout */
  --max:1180px;
  --content-measure:720px;
  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:24px;
  --shadow:0 16px 48px rgba(17,20,23,.10);
  --header-h:96px;
  --gutter:56px;

  /* 8px-derived spacing scale */
  --s-1:8px;
  --s-2:12px;
  --s-3:16px;
  --s-4:24px;
  --s-5:32px;
  --s-6:48px;
  --s-7:64px;
  --s-8:80px;
  --s-9:96px;
  --s-10:120px;

  /* Typography */
  --body:20px;
  --body-mobile:18px;
  --small:16px;
  --nav:18px;
  --button:18px;
  --lead:24px;
  --lead-mobile:20px;
  --h3:28px;
  --h2:clamp(42px,4.1vw,64px);
  --h1:clamp(52px,5.5vw,84px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--s-3))}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Poppins',Arial,sans-serif;
  font-size:var(--body);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
main{display:block}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{touch-action:manipulation}

:focus-visible{
  outline:4px solid var(--focus);
  outline-offset:4px;
  border-radius:6px;
}

.skip-link{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:999;
  background:var(--ink);
  color:#fff;
  padding:var(--s-2) var(--s-3);
  font-size:var(--small);
  font-weight:700;
  text-decoration:none;
}
.skip-link:focus{left:var(--s-3);top:var(--s-3)}

.container{
  width:min(var(--max),calc(100% - (2 * var(--gutter))));
  margin-inline:auto;
}

/* Typography */
.eyebrow{
  margin:0 0 var(--s-2);
  color:var(--turq);
  font-size:var(--small);
  line-height:1.35;
  font-weight:700;
  letter-spacing:.075em;
  text-transform:uppercase;
}
h1,h2,h3{
  margin:0;
  color:inherit;
  line-height:1.12;
  letter-spacing:-.025em;
}
h1{font-size:var(--h1);max-width:15ch}
h2{font-size:var(--h2);max-width:18ch}
h3{font-size:var(--h3);line-height:1.2;letter-spacing:-.015em}
p{margin:0}
p+p{margin-top:var(--s-4)}
.lead{
  max-width:42rem;
  font-size:var(--lead);
  line-height:1.55;
  color:var(--ink-2);
}
.muted{color:var(--muted)}
.hero-subhead{font-size:clamp(34px,3.5vw,56px);max-width:16ch;margin-top:var(--s-2)}
.section-heading{margin-bottom:var(--s-6)}
.section-heading h2+*{margin-top:var(--s-4)}
.section-heading .lead{margin-top:var(--s-4)}
.flow>*+*{margin-top:var(--s-4)}

/* Header / navigation */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  min-height:var(--header-h);
  background:rgba(255,255,255,.98);
  border-bottom:1px solid #dfe4e2;
  backdrop-filter:blur(14px);
}
.nav-wrap{
  min-height:var(--header-h);
  display:flex;
  align-items:center;
  gap:var(--s-5);
}
.brand{flex:0 0 auto;display:inline-flex;align-items:center;min-height:48px;text-decoration:none}
.brand img{width:224px;height:auto}
.nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:var(--s-4);
  font-size:var(--nav);
  font-weight:600;
}
.nav>a:not(.btn){
  min-height:48px;
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  padding:var(--s-2) 2px var(--s-1);
  border-bottom:3px solid transparent;
  white-space:nowrap;
}
.nav>a:not(.btn):hover,.nav>a[aria-current='page']{border-color:var(--turq)}
.menu-button{
  display:none;
  margin-left:auto;
  min-width:54px;
  min-height:54px;
  background:#fff;
  border:2px solid var(--ink);
  border-radius:var(--radius-sm);
  padding:var(--s-2) var(--s-3);
  color:var(--ink);
  font-size:var(--nav);
  font-weight:700;
  cursor:pointer;
}

/* Buttons / statuses */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--s-2);
  min-height:56px;
  padding:14px var(--s-4);
  border:2px solid var(--turq);
  border-radius:999px;
  background:var(--turq);
  color:#fff;
  font-size:var(--button);
  line-height:1.2;
  font-weight:700;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
}
.btn:hover{background:var(--turq-hover);border-color:var(--turq-hover)}
.btn.secondary{background:transparent;color:var(--turq)}
.btn.secondary:hover{background:var(--turq);color:#fff}
.btn.on-dark{background:transparent;border-color:#fff;color:#fff}
.btn.on-dark:hover{background:#fff;color:var(--dark)}
.waitlist{
  display:inline-flex;
  align-items:center;
  gap:var(--s-2);
  color:var(--turq);
  font-size:var(--nav);
  line-height:1.35;
  font-weight:600;
}
.waitlist::before{
  content:'';
  width:17px;
  height:17px;
  flex:0 0 17px;
  border:2px solid currentColor;
  border-radius:50%;
}
.waitlist.on-dark{color:#fff}

/* Sections / layout */
.hero{padding:var(--s-9) 0;background:var(--warm)}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);
  gap:var(--s-8);
  align-items:center;
}
.hero .lead{margin-top:var(--s-4)}
.hero .actions{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;margin-top:var(--s-5)}
.section{padding:var(--s-9) 0}
.section.dark{background:var(--dark);color:#fff}
.section.dark .eyebrow{color:var(--turq-bright)}
.section.dark p,.section.dark .muted{color:var(--dark-text)}
.section.pale{background:var(--turq-pale)}
.section.soft{background:var(--soft)}
.centered{text-align:center}
.centered h1,.centered h2,.centered .lead,.centered .quote{margin-left:auto;margin-right:auto}

.split{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:var(--s-8);
  align-items:start;
}
.split.center{align-items:center}
.split.reverse>:first-child{order:2}
.split.reverse>:last-child{order:1}
.split>div>h2{margin-bottom:var(--s-4)}
.split>div>.lead{margin-bottom:var(--s-4)}

.page-hero{padding:var(--s-8) 0}
.page-hero .container{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.76fr);
  gap:var(--s-8);
  align-items:start;
}
.page-hero h1{font-size:clamp(50px,5vw,76px)}
.page-hero .lead{margin-top:var(--s-4)}
.page-hero .btn{margin-top:var(--s-5)}

/* Media */
.media-placeholder,
.portrait-placeholder,
.map-placeholder,
.ba,
.service-card .media-mini{
  background:linear-gradient(135deg,#e1e6e4,#f5f6f5);
  border:1px solid #cbd4d1;
  color:#334144;
}
.media-placeholder{
  aspect-ratio:4/3;
  min-height:0;
  border-radius:var(--radius-lg);
  display:grid;
  place-items:center;
  padding:var(--s-5);
  text-align:center;
  position:relative;
  overflow:hidden;
}
.hero .media-placeholder{aspect-ratio:16/10}
.media-placeholder.video{aspect-ratio:16/9}
.media-placeholder.dark{
  background:linear-gradient(135deg,#22343a,#15262b);
  border-color:#35494f;
  color:#eef6f6;
}
.media-placeholder .play{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  margin:0 auto var(--s-3);
  border:3px solid currentColor;
  border-radius:50%;
}
.media-placeholder .play::after{content:'▶';font-size:21px;margin-left:3px}
.media-placeholder strong{display:block;font-size:var(--body);line-height:1.35}
.media-placeholder small{display:block;max-width:32rem;margin-top:var(--s-2);font-size:var(--small);line-height:1.5}
.portrait-placeholder{
  aspect-ratio:4/5;
  min-height:0;
  border-radius:var(--radius-lg);
  display:grid;
  place-items:center;
  padding:var(--s-5);
  text-align:center;
}
.portrait-note{margin-top:var(--s-2);font-size:var(--small);line-height:1.5;color:var(--muted)}

/* Open feature/value systems: fewer boxes */
.three-up,.four-up{
  display:grid;
  gap:0;
  background:transparent;
  border:0;
  border-radius:0;
  overflow:visible;
}
.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}
.four-up{grid-template-columns:repeat(4,minmax(0,1fr))}
.feature{
  padding:0 var(--s-5);
  background:transparent;
  border-left:1px solid var(--line);
}
.feature:first-child{padding-left:0;border-left:0}
.feature:last-child{padding-right:0}
.dark .feature{background:transparent;color:#fff;border-color:var(--line-dark)}
.feature .num{
  width:48px;
  height:48px;
  display:inline-grid;
  place-items:center;
  margin-bottom:var(--s-4);
  border:2px solid var(--turq);
  border-radius:50%;
  color:var(--turq);
  font-size:var(--small);
  font-weight:700;
}
.dark .feature .num{color:var(--turq-bright);border-color:var(--turq-bright)}
.feature h3{margin-bottom:var(--s-3)}
.feature p{font-size:var(--body);line-height:1.55;color:var(--ink-2)}
.dark .feature p{color:var(--dark-text)}
.component-group{margin-top:var(--s-6)}

.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.value{
  padding:var(--s-4) var(--s-5);
  background:transparent;
  border-left:1px solid var(--line);
  border-top:4px solid var(--turq);
}
.value:first-child{padding-left:0;border-left:0}
.value:last-child{padding-right:0}
.value h3{margin-bottom:var(--s-3)}
.value p{font-size:var(--body);line-height:1.55;color:var(--ink-2)}

/* Lists / process */
.rule-list{list-style:none;padding:0;margin:var(--s-5) 0 0}
.rule-list.flush-top{margin-top:0}
.rule-list li{padding:var(--s-4) 0;border-top:1px solid var(--line);font-size:var(--body);line-height:1.55}
.rule-list li:first-child{border-top:0;padding-top:0}
.rule-list strong{display:block;margin-bottom:var(--s-1);font-size:24px;line-height:1.3}
.process-rail{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:var(--s-3);
  margin-top:var(--s-7);
  position:relative;
}
.process-rail::before{
  content:'';
  position:absolute;
  left:8%;
  right:8%;
  top:25px;
  height:2px;
  background:#6c9999;
}
.process-step{position:relative;text-align:center;padding-top:72px}
.process-step .bubble{
  position:absolute;
  top:0;
  left:50%;
  z-index:2;
  transform:translateX(-50%);
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--turq);
  color:#fff;
  font-size:18px;
  font-weight:700;
}
.process-step h3{font-size:23px;margin-bottom:var(--s-2)}
.process-step p{font-size:19px;line-height:1.5;color:var(--ink-2)}
.process-actions{margin-top:var(--s-6)}

/* Proof / stories */
.quote{max-width:29ch;font-size:clamp(30px,2.5vw,40px);line-height:1.45;font-weight:600}
.quote-centered{margin-inline:auto}
.quote-attrib{margin-top:var(--s-3);font-size:18px;color:#dce8e8}
.story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--s-8);align-items:start}
.story-beats{display:grid;gap:0}
.story-beat{padding:var(--s-4) 0;border-top:1px solid var(--line-dark)}
.story-beat:first-child{border-top:0;padding-top:0}
.story-beat strong{display:block;margin-bottom:var(--s-1);color:var(--turq-bright);font-size:var(--small);letter-spacing:.06em;text-transform:uppercase}
.story-beat p{margin:0;font-size:20px;color:var(--dark-text)}
.story-beats.light .story-beat{border-color:var(--line)}
.story-beats.light .story-beat strong{color:var(--turq)}
.story-beats.light .story-beat p{color:var(--ink-2)}
.story-beats.spaced{margin-top:var(--s-5)}

.before-after{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3)}
.ba{aspect-ratio:4/3;min-height:0;border-radius:var(--radius-md);display:grid;place-items:center;position:relative;color:#334144;font-size:var(--body);font-weight:700;text-transform:uppercase}
.ba::before{content:attr(data-label);position:absolute;top:var(--s-3);left:var(--s-3);padding:var(--s-1) var(--s-2);border-radius:999px;background:#fff;color:var(--ink);font-size:var(--small);line-height:1.25}

/* CTA / cards / services */
.cta-panel{padding:var(--s-6);background:var(--turq-pale);border-radius:var(--radius-lg)}
.cta-panel h2{margin-bottom:var(--s-4)}
.cta-row{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;margin-top:var(--s-5)}
.next-step-card{margin:var(--s-5) 0 0;padding:var(--s-4);background:#fff;border-radius:var(--radius-md)}
.next-step-card .eyebrow{margin-bottom:var(--s-2)}
.next-step-card p{margin:0}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4)}
.cards.spaced{margin-top:var(--s-5)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--s-5);box-shadow:none}
.card h3{margin-bottom:var(--s-3)}
.card p{font-size:var(--body);line-height:1.55;color:var(--ink-2)}
.service-card .media-mini{aspect-ratio:16/9;height:auto;margin:0 0 var(--s-4);border-radius:var(--radius-sm);display:grid;place-items:center;font-size:var(--body);font-weight:600}
.service-card ul{padding-left:1.4rem;font-size:var(--body)}
.service-card li+li{margin-top:var(--s-1)}
.rule-divider{border:0;border-top:1px solid var(--line);margin:var(--s-5) 0}

/* Forms */
.fit-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}
.field{display:grid;gap:var(--s-2)}
.field.full{grid-column:1/-1}
.field label{font-size:18px;line-height:1.45;font-weight:600}
.field input,.field select,.field textarea{
  width:100%;
  min-height:58px;
  padding:14px var(--s-3);
  border:2px solid #657477;
  border-radius:var(--radius-sm);
  background:#fff;
  color:var(--ink);
  font-size:18px;
  line-height:1.4;
}
.field textarea{min-height:170px;resize:vertical}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.check{display:flex;align-items:flex-start;gap:var(--s-2);min-height:48px;padding:var(--s-2);font-size:18px;line-height:1.45}
.check input{width:24px;height:24px;flex:0 0 24px;margin-top:1px;accent-color:var(--turq)}
.form-note{padding:var(--s-3) var(--s-4);border-radius:var(--radius-sm);background:var(--turq-pale);font-size:var(--small);line-height:1.55}
.form-message{margin-top:var(--s-3);font-size:var(--small)}

/* FAQ */
.faq{display:grid;gap:var(--s-2);max-width:900px}
.faq details{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}
.faq summary{position:relative;list-style:none;min-height:58px;padding:var(--s-3) 56px var(--s-3) var(--s-4);font-size:20px;line-height:1.45;font-weight:600;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:var(--s-4);top:50%;transform:translateY(-50%);font-size:28px;line-height:1;color:var(--turq)}
.faq details[open] summary::after{content:'−'}
.faq details p{padding:0 var(--s-4) var(--s-4);font-size:18px;line-height:1.6;color:var(--ink-2)}

/* Service area / map */
.service-area{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-7);align-items:start}
.map-placeholder{aspect-ratio:4/3;min-height:0;border-radius:var(--radius-md);display:grid;place-items:center;padding:var(--s-5);font-size:var(--body);font-weight:600;text-align:center}

/* Footer */
.site-footer{background:var(--dark-2);color:#fff;padding:var(--s-7) 0 var(--s-4)}
.footer-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:var(--s-7)}
.footer-logo{filter:invert(1);width:224px}
.footer-tagline{max-width:30rem;margin-top:var(--s-4);color:#dbe5e5;font-size:18px;line-height:1.6}
.footer-grid h3{font-size:22px;margin-bottom:var(--s-3)}
.footer-links{display:grid;gap:var(--s-2);font-size:18px}
.footer-links a{min-height:44px;display:flex;align-items:center;color:#eef6f6;text-decoration:none}
.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-meta{display:flex;gap:var(--s-3);justify-content:space-between;flex-wrap:wrap;margin-top:var(--s-6);padding-top:var(--s-4);border-top:1px solid #405258;color:#cbd6d6;font-size:16px;line-height:1.5}

/* Legal pages */
.legal{max-width:780px;margin:auto}
.legal h1{max-width:none}
.legal h2{max-width:none;margin-top:var(--s-7);font-size:36px;line-height:1.2}
.legal h2+p,.legal h2+ul{margin-top:var(--s-4)}
.legal p,.legal li{font-size:20px;line-height:1.7}
.legal ul{padding-left:1.4rem}
.legal li+li{margin-top:var(--s-2)}
.draft-note{margin-top:var(--s-5);padding:var(--s-3) var(--s-4);border:1px solid var(--warning-line);border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning-ink);font-size:var(--small);line-height:1.55}

[id]{scroll-margin-top:calc(var(--header-h) + var(--s-3))}
.mobile-only{display:none}

/* Intermediate/tablet: move to mobile nav before desktop header gets cramped. */
@media(max-width:1120px){
  :root{--gutter:32px;--header-h:88px}
  .nav{display:none;position:absolute;top:var(--header-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:var(--s-1);padding:var(--s-3) var(--gutter) var(--s-4);background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .nav.open{display:flex}
  .nav>a:not(.btn){width:100%;min-height:52px;padding:var(--s-2) 0;border-bottom:0}
  .nav>a[aria-current='page']{color:var(--turq);text-decoration:underline;text-underline-offset:5px}
  .nav .btn{width:100%;margin-top:var(--s-1)}
  .menu-button{display:inline-flex;align-items:center;justify-content:center}
  .nav-wrap{min-height:var(--header-h)}
  .brand img{width:216px}

  .hero-grid,.page-hero .container,.split,.story-grid,.service-area{grid-template-columns:1fr;gap:var(--s-6)}
  .page-hero .container{align-items:start}
  .hero-grid .media-placeholder{max-width:760px}
  .split.reverse>:first-child,.split.reverse>:last-child{order:initial}
  .three-up,.four-up,.value-grid{grid-template-columns:1fr}
  .feature,.value{padding:var(--s-4) 0;border-left:0;border-top:1px solid var(--line)}
  .feature:first-child,.value:first-child{border-top:0;padding-top:0}
  .feature:last-child,.value:last-child{padding-bottom:0}
  .dark .feature{border-color:var(--line-dark)}
  .cards{grid-template-columns:1fr}
  .process-rail{grid-template-columns:1fr;margin-top:var(--s-6);gap:0}
  .process-rail::before{top:25px;bottom:25px;left:25px;width:2px;height:auto;right:auto}
  .process-step{text-align:left;padding:0 0 var(--s-5) 84px;min-height:104px}
  .process-step:last-child{padding-bottom:0;min-height:52px}
  .process-step .bubble{left:0;top:0;transform:none}
  .process-step h3{font-size:24px;margin:4px 0 var(--s-2)}
  .process-step p{font-size:18px}
  .fit-form,.check-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:var(--s-6)}
  .footer-grid>div:first-child{grid-column:1/-1}
}

@media(max-width:720px){
  :root{--gutter:20px;--header-h:80px;--body:18px}
  body{font-size:var(--body-mobile);line-height:1.65}
  .nav{top:var(--header-h);padding-inline:var(--gutter)}
  .nav-wrap{min-height:var(--header-h);gap:var(--s-3)}
  .brand img{width:194px}
  .menu-button{min-width:52px;min-height:52px;font-size:17px}

  h1{font-size:clamp(46px,13vw,64px);max-width:13ch}
  h2{font-size:clamp(36px,10vw,50px)}
  h3{font-size:26px}
  .hero-subhead{font-size:clamp(30px,8vw,42px)}
  .lead{font-size:var(--lead-mobile)}
  .eyebrow{font-size:16px}

  .hero,.page-hero{padding:var(--s-7) 0}
  .section{padding:var(--s-7) 0}
  .hero-grid,.page-hero .container,.split,.story-grid,.service-area{gap:var(--s-5)}
  .hero-grid .media-placeholder{order:-1}
  .media-placeholder,.portrait-placeholder,.map-placeholder{border-radius:var(--radius-md)}
  .hero .media-placeholder{aspect-ratio:4/3}
  .portrait-placeholder{aspect-ratio:4/5}

  .btn{width:100%;min-height:58px;font-size:18px}
  .hero .actions,.cta-row{display:grid;grid-template-columns:1fr;align-items:stretch;gap:var(--s-3)}
  .waitlist{font-size:16px}
  .cta-panel{padding:var(--s-4)}
  .feature p,.value p,.card p,.service-card ul{font-size:18px}
  .rule-list strong{font-size:22px}
  .rule-list li{font-size:18px}
  .before-after{grid-template-columns:1fr}
  .ba{aspect-ratio:4/3}
  .faq summary{font-size:19px;padding-left:var(--s-3)}
  .faq details p{font-size:18px;padding-left:var(--s-3);padding-right:var(--s-3)}
  .field label,.field input,.field select,.field textarea,.check{font-size:18px}
  .footer-grid{grid-template-columns:1fr;gap:var(--s-5)}
  .footer-grid>div:first-child{grid-column:auto}
  .footer-logo{width:210px}
  .footer-links{font-size:18px}
  .footer-meta{font-size:16px}
  .legal h2{font-size:32px}
  .legal p,.legal li{font-size:18px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* =========================================================
   Batch 2 — Home + About page compositions
   ========================================================= */

/* Home: hero */
.page-home .home-hero{padding:var(--s-8) 0}
.page-home .home-hero .hero-grid{
  grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);
  gap:var(--s-8);
  align-items:center;
}
.page-home .home-hero-copy{max-width:620px}
.page-home .home-hero h1{max-width:11ch}
.page-home .home-hero .hero-subhead{max-width:14ch;margin-top:var(--s-2)}
.page-home .home-hero .lead{max-width:36rem;margin-top:var(--s-4)}
.page-home .home-hero .actions{margin-top:var(--s-5)}
.page-home .home-hero-media{aspect-ratio:16/10;min-height:0}

/* Home: philosophy */
.page-home .home-philosophy{padding-block:var(--s-9)}
.page-home .home-section-intro{max-width:880px;margin-inline:auto;margin-bottom:var(--s-7)}
.page-home .home-section-intro h2{max-width:15ch;margin-inline:auto}
.page-home .home-section-intro .lead{max-width:42rem;margin:var(--s-4) auto 0}
.page-home .home-benefits{align-items:stretch}
.page-home .home-benefits .feature{padding-inline:var(--s-6)}
.page-home .home-benefits .feature:first-child{padding-left:0}
.page-home .home-benefits .feature:last-child{padding-right:0}
.page-home .home-benefits .feature h3{min-height:2.4em}
.page-home .home-benefits .feature p{max-width:28rem}

/* Home: real life */
.page-home .home-real-life-grid{
  grid-template-columns:minmax(420px,.95fr) minmax(0,1.05fr);
  align-items:center;
}
.page-home .home-real-life-grid .media-placeholder{aspect-ratio:4/3}
.page-home .home-real-life-copy{max-width:570px;justify-self:end}
.page-home .home-real-life-copy h2{max-width:13ch}
.page-home .home-real-life-copy .lead{margin-top:var(--s-4);max-width:34rem}
.page-home .home-real-life-copy .rule-list{margin-top:var(--s-5)}
.page-home .home-real-life-copy .rule-list li{padding-block:var(--s-4)}

/* Home: process */
.page-home .home-process .process-heading{max-width:860px;margin-bottom:0}
.page-home .home-process .process-heading h2{max-width:18ch}
.page-home .home-process .process-heading .lead{max-width:46rem}
.page-home .home-process .process-rail{margin-top:var(--s-6)}
.page-home .home-process .process-step h3{font-size:24px}
.page-home .home-process .process-step p{font-size:19px;max-width:13rem;margin-inline:auto}
.page-home .home-process .process-actions{display:flex;justify-content:flex-start}

/* Home: ongoing */
.page-home .home-ongoing-grid{
  grid-template-columns:minmax(390px,.86fr) minmax(0,1.14fr);
  align-items:center;
}
.page-home .home-ongoing-media{aspect-ratio:4/3;max-width:520px}
.page-home .home-ongoing-copy{max-width:620px;justify-self:end}
.page-home .home-ongoing-copy h2{max-width:12ch}
.page-home .home-ongoing-copy .lead{max-width:38rem;margin-top:var(--s-4)}
.page-home .supporting-skill{margin-top:var(--s-5);padding-top:var(--s-5);border-top:1px solid var(--line)}
.page-home .supporting-skill h3{margin-bottom:var(--s-3)}
.page-home .supporting-skill>p:last-child{max-width:38rem}

/* Home: proof */
.page-home .home-proof-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  gap:var(--s-8);
  align-items:center;
}
.page-home .home-proof h2{max-width:13ch}
.page-home .proof-intro{max-width:36rem;margin-top:var(--s-4);font-size:20px;line-height:1.6;color:var(--dark-text)}
.page-home .home-proof .story-beats{margin-top:var(--s-5)}
.page-home .home-proof .story-beat{padding-block:var(--s-3)}
.page-home .home-proof-media{aspect-ratio:4/3}

/* Home: fit close — deliberately open, not another card stack */
.page-home .home-fit{padding-block:var(--s-9)}
.page-home .home-fit-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  gap:var(--s-8);
  align-items:center;
}
.page-home .home-fit-main h2{max-width:13ch}
.page-home .home-fit-main .lead{max-width:42rem;margin-top:var(--s-4)}
.page-home .home-fit-next{padding-left:var(--s-6);border-left:1px solid var(--line)}
.page-home .home-fit-next .eyebrow{margin-bottom:var(--s-3)}
.page-home .home-fit-next p:last-child{font-size:20px;line-height:1.65;color:var(--ink-2)}

/* About: hero */
.page-about .about-hero{padding:var(--s-8) 0 var(--s-9)}
.page-about .about-hero-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.72fr);
  gap:var(--s-8);
  align-items:start;
}
.page-about .about-hero-copy{padding-top:var(--s-3);max-width:720px}
.page-about .about-hero h1{max-width:13ch;font-size:clamp(50px,4.8vw,74px)}
.page-about .about-hero .lead{max-width:40rem;margin-top:var(--s-5)}
.page-about .about-hero-actions{margin-top:var(--s-5)}
.page-about .about-portrait{width:min(100%,430px);justify-self:end}

/* About: why */
.page-about .about-why-grid{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:start;
}
.page-about .about-why-heading h2{max-width:14ch}
.page-about .about-why-heading .lead{max-width:32rem;margin-top:var(--s-4)}
.page-about .about-why-copy{padding-top:36px;max-width:610px;justify-self:end}
.page-about .about-why-copy p{font-size:20px;line-height:1.7}

/* About: values */
.page-about .about-values-heading{max-width:760px;margin-bottom:var(--s-7)}
.page-about .about-values-heading h2{max-width:12ch}
.page-about .about-values-heading .lead{max-width:40rem}
.page-about .about-value-grid{align-items:stretch}
.page-about .about-value-grid .value{padding:var(--s-4) var(--s-6) 0}
.page-about .about-value-grid .value:first-child{padding-left:0}
.page-about .about-value-grid .value:last-child{padding-right:0}
.page-about .about-value-grid .value h3{font-size:28px}

/* About: community */
.page-about .about-community-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
  align-items:center;
}
.page-about .about-community-media{aspect-ratio:16/9;max-width:560px;justify-self:end}
.page-about .about-community-copy{max-width:600px}
.page-about .about-community-copy h2{max-width:13ch}
.page-about .about-community-copy .lead{margin-top:var(--s-4);max-width:34rem}
.page-about .about-community-copy>p:last-child{margin-top:var(--s-4);max-width:36rem}

/* About: proof */
.page-about .about-proof-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:var(--s-8);
  align-items:center;
}
.page-about .about-proof h2{max-width:14ch}
.page-about .testimonial-placeholder{padding-left:var(--s-6);border-left:1px solid var(--line-dark)}
.page-about .testimonial-label{margin:0 0 var(--s-3);color:var(--turq-bright);font-size:16px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.page-about .testimonial-copy{max-width:31rem;font-size:clamp(26px,2.2vw,36px);line-height:1.45;font-weight:600;color:#fff}

/* About: fit close */
.page-about .about-fit{padding-block:var(--s-9)}
.page-about .about-fit-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  gap:var(--s-8);
  align-items:center;
}
.page-about .about-fit-grid h2{max-width:14ch}
.page-about .about-fit-grid .lead{max-width:40rem;margin-top:var(--s-4)}
.page-about .about-fit-note{padding-left:var(--s-6);border-left:1px solid var(--line)}
.page-about .about-fit-note p:last-child{font-size:20px;line-height:1.65;color:var(--ink-2)}

@media(max-width:1120px){
  .page-home .home-hero .hero-grid,
  .page-home .home-real-life-grid,
  .page-home .home-ongoing-grid,
  .page-home .home-proof-grid,
  .page-home .home-fit-grid,
  .page-about .about-hero-grid,
  .page-about .about-why-grid,
  .page-about .about-community-grid,
  .page-about .about-proof-grid,
  .page-about .about-fit-grid{
    grid-template-columns:1fr;
    gap:var(--s-6);
  }

  .page-home .home-hero-copy,
  .page-home .home-real-life-copy,
  .page-home .home-ongoing-copy,
  .page-about .about-hero-copy,
  .page-about .about-why-copy,
  .page-about .about-community-copy{
    max-width:760px;
    justify-self:start;
  }
  .page-home .home-hero-media,
  .page-home .home-ongoing-media,
  .page-home .home-proof-media,
  .page-about .about-portrait,
  .page-about .about-community-media{
    max-width:760px;
    justify-self:start;
  }
  .page-home .home-fit-next,
  .page-about .testimonial-placeholder,
  .page-about .about-fit-note{
    padding-left:0;
    padding-top:var(--s-5);
    border-left:0;
    border-top:1px solid var(--line);
  }
  .page-about .testimonial-placeholder{border-color:var(--line-dark)}
  .page-about .about-why-copy{padding-top:0}
}

@media(max-width:720px){
  .page-home .home-hero,
  .page-about .about-hero{padding-block:var(--s-6)}

  .page-home .home-hero .hero-grid,
  .page-home .home-real-life-grid,
  .page-home .home-ongoing-grid,
  .page-home .home-proof-grid,
  .page-home .home-fit-grid,
  .page-about .about-hero-grid,
  .page-about .about-why-grid,
  .page-about .about-community-grid,
  .page-about .about-proof-grid,
  .page-about .about-fit-grid{gap:var(--s-5)}

  .page-home .home-hero-media{order:-1;min-height:0;aspect-ratio:4/3}
  .page-home .home-hero h1{max-width:12ch}
  .page-home .home-section-intro{margin-bottom:var(--s-5)}
  .page-home .home-benefits .feature{padding:var(--s-4) 0}
  .page-home .home-benefits .feature h3{min-height:0}
  .page-home .home-process .process-rail{margin-top:var(--s-5)}
  .page-home .home-process .process-step p{max-width:none;margin-inline:0;font-size:18px}
  .page-home .home-fit-next,
  .page-about .about-fit-note{padding-top:var(--s-4)}

  .page-about .about-portrait{order:-1;width:100%;max-width:460px}
  .page-about .about-hero-copy{padding-top:0}
  .page-about .about-values-heading{margin-bottom:var(--s-5)}
  .page-about .about-value-grid .value{padding:var(--s-4) 0}
  .page-about .about-community-media{max-width:none;width:100%}
  .page-about .testimonial-copy{font-size:28px}
}

/* =========================================================
   Batch 3 — How It Works + Work With Me compositions
   ========================================================= */

/* ---------- How It Works ---------- */
.page-process .process-hero{padding:var(--s-8) 0 var(--s-9)}
.page-process .process-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(400px,.82fr);
  gap:var(--s-8);
  align-items:center;
}
.page-process .process-hero-copy{max-width:720px}
.page-process .process-hero h1{max-width:12ch;font-size:clamp(50px,4.8vw,76px)}
.page-process .process-hero .lead{max-width:40rem;margin-top:var(--s-5)}
.page-process .process-hero-actions{margin-top:var(--s-5)}
.page-process .process-hero-media{aspect-ratio:16/9;max-width:600px;justify-self:end}

.page-process .process-steps-section{padding-block:var(--s-9)}
.page-process .process-heading{max-width:860px}
.page-process .process-heading h2{max-width:17ch}
.page-process .process-heading .lead{max-width:46rem;margin-top:var(--s-4)}
.page-process .process-page-rail{margin-top:var(--s-6)}
.page-process .process-page-rail .process-step h3{font-size:24px}
.page-process .process-page-rail .process-step p{font-size:19px;line-height:1.55;max-width:13rem;margin-inline:auto}

.page-process .process-start-grid{
  grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr);
  gap:var(--s-8);
  align-items:center;
}
.page-process .process-start-media{aspect-ratio:4/3;max-width:560px}
.page-process .process-start-copy{max-width:660px;justify-self:end}
.page-process .process-start-copy h2{max-width:13ch}
.page-process .process-start-copy .lead{max-width:37rem;margin-top:var(--s-4)}
.page-process .process-start-list{margin-top:var(--s-5)}
.page-process .process-start-list li{padding-block:var(--s-4)}

.page-process .process-expect-heading{max-width:820px;margin-bottom:var(--s-7)}
.page-process .process-expect-heading h2{max-width:13ch}
.page-process .process-expect-heading .lead{max-width:42rem;margin-top:var(--s-4)}
.page-process .process-expect-grid .feature{padding-inline:var(--s-6)}
.page-process .process-expect-grid .feature:first-child{padding-left:0}
.page-process .process-expect-grid .feature:last-child{padding-right:0}
.page-process .process-expect-grid .feature h3{font-size:27px}
.page-process .process-expect-grid .feature p{font-size:20px}

.page-process .process-proof-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);
  gap:var(--s-8);
  align-items:center;
}
.page-process .process-proof-copy{max-width:620px}
.page-process .process-proof-copy h2{max-width:13ch}
.page-process .process-proof-copy .lead{max-width:35rem;margin-top:var(--s-4)}
.page-process .process-story-beats{margin-top:var(--s-5)}
.page-process .process-story-beats .story-beat{padding-block:var(--s-3)}
.page-process .process-story-beats .story-beat strong{font-size:16px}
.page-process .process-story-beats .story-beat p{font-size:20px}
.page-process .process-before-after{align-self:center}

.page-process .process-faq-grid{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:var(--s-8);
  align-items:start;
}
.page-process .process-faq-heading{position:sticky;top:calc(var(--header-h) + var(--s-5));max-width:480px}
.page-process .process-faq-heading h2{max-width:11ch}
.page-process .process-faq-heading .lead{max-width:29rem;margin-top:var(--s-4)}
.page-process .process-faq{max-width:760px;justify-self:end;width:100%}

.page-process .process-fit-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  gap:var(--s-8);
  align-items:center;
}
.page-process .process-fit-grid h2{max-width:13ch}
.page-process .process-fit-grid .lead{max-width:40rem;margin-top:var(--s-4)}
.page-process .process-fit-action{padding-left:var(--s-6);border-left:1px solid var(--line)}
.page-process .process-fit-action>p:not(.eyebrow){font-size:20px;line-height:1.65;color:var(--ink-2)}
.page-process .process-fit-action .btn{margin-top:var(--s-5)}
.page-process .process-fit-action .waitlist{display:flex;margin-top:var(--s-4)}

/* ---------- Work With Me ---------- */
.page-work .work-hero{padding:var(--s-8) 0 var(--s-9)}
.page-work .work-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(410px,.84fr);
  gap:var(--s-8);
  align-items:center;
}
.page-work .work-hero-copy{max-width:720px}
.page-work .work-hero h1{max-width:13ch;font-size:clamp(50px,4.8vw,76px)}
.page-work .work-hero .lead{max-width:41rem;margin-top:var(--s-5)}
.page-work .work-hero-actions{margin-top:var(--s-5)}
.page-work .work-hero-media{aspect-ratio:4/3;max-width:580px;justify-self:end}

.page-work .work-services-heading{max-width:900px;margin-bottom:var(--s-7)}
.page-work .work-services-heading h2{max-width:15ch}
.page-work .work-services-heading .lead{max-width:43rem;margin-top:var(--s-4)}
.page-work .work-service-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);
}
.page-work .work-service{
  display:grid;
  grid-template-columns:minmax(180px,.72fr) minmax(0,1.28fr);
  gap:var(--s-5);
  padding:var(--s-6) var(--s-6) var(--s-6) 0;
  border-bottom:1px solid var(--line);
}
.page-work .work-service:nth-child(even){padding-left:var(--s-6);padding-right:0;border-left:1px solid var(--line)}
.page-work .work-service .media-mini{
  aspect-ratio:4/3;
  min-height:0;
  display:grid;
  place-items:center;
  padding:var(--s-3);
  border:1px solid #cbd4d1;
  border-radius:var(--radius-sm);
  background:linear-gradient(135deg,#e1e6e4,#f5f6f5);
  color:#334144;
  font-size:18px;
  line-height:1.4;
  font-weight:600;
  text-align:center;
}
.page-work .service-number{margin:0 0 var(--s-2);color:var(--turq);font-size:16px;font-weight:700;letter-spacing:.08em}
.page-work .work-service h3{font-size:28px;margin-bottom:var(--s-3)}
.page-work .work-service p:not(.service-number){font-size:20px;line-height:1.55;color:var(--ink-2)}
.page-work .work-service ul{margin:var(--s-4) 0 0;padding-left:1.4rem;font-size:19px;line-height:1.55}
.page-work .work-service li+li{margin-top:var(--s-2)}

.page-work .work-fit-grid{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:var(--s-8);
  align-items:start;
}
.page-work .work-fit-copy{max-width:580px}
.page-work .work-fit-copy h2{max-width:13ch}
.page-work .work-fit-copy .lead{max-width:34rem;margin-top:var(--s-4)}
.page-work .work-fit-points{display:grid;gap:0}
.page-work .work-fit-point{display:grid;grid-template-columns:52px 1fr;gap:var(--s-4);padding:var(--s-4) 0;border-top:1px solid var(--line-dark)}
.page-work .work-fit-point:first-child{padding-top:0;border-top:0}
.page-work .work-fit-point>span{
  width:46px;height:46px;display:grid;place-items:center;border:2px solid var(--turq-bright);border-radius:50%;
  color:var(--turq-bright);font-size:16px;font-weight:700;
}
.page-work .work-fit-point h3{font-size:25px;margin-bottom:var(--s-2);color:#fff}
.page-work .work-fit-point p{font-size:20px;line-height:1.55;color:var(--dark-text)}

.page-work .work-results-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);
  gap:var(--s-8);
  align-items:center;
}
.page-work .work-results-copy{max-width:620px}
.page-work .work-results-copy h2{max-width:13ch}
.page-work .work-results-copy .lead{max-width:36rem;margin-top:var(--s-4)}
.page-work .work-story-beats{margin-top:var(--s-5)}
.page-work .work-story-beats .story-beat{padding-block:var(--s-3)}
.page-work .work-story-beats .story-beat p{font-size:20px}

.page-work .work-engagement-grid{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  gap:var(--s-8);
  align-items:center;
}
.page-work .work-engagement-copy{max-width:700px}
.page-work .work-engagement-copy h2{max-width:13ch}
.page-work .work-engagement-copy .lead{max-width:41rem;margin-top:var(--s-4)}
.page-work .work-engagement-copy>p:last-child{margin-top:var(--s-4);font-size:20px;line-height:1.65;color:var(--ink-2)}
.page-work .work-practical-support{padding-left:var(--s-6);border-left:1px solid var(--line)}
.page-work .work-practical-support h3{font-size:30px;margin-bottom:var(--s-3)}
.page-work .work-practical-support>p:last-child{font-size:20px;line-height:1.65;color:var(--ink-2)}

.page-work .work-availability-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:var(--s-8);
  align-items:center;
}
.page-work .work-availability-grid h2{max-width:14ch}
.page-work .work-availability-copy{padding-left:var(--s-6);border-left:1px solid var(--line-dark)}
.page-work .work-availability-copy .lead{max-width:36rem}
.page-work .work-availability-copy .waitlist{margin-top:var(--s-5)}

.page-work .work-cta-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:var(--s-8);
  align-items:center;
}
.page-work .work-cta-grid h2{max-width:13ch}
.page-work .work-cta-grid .lead{max-width:39rem;margin-top:var(--s-4)}
.page-work .work-cta-action{padding-left:var(--s-6);border-left:1px solid var(--line)}
.page-work .work-cta-action>p:not(.eyebrow){font-size:20px;line-height:1.65;color:var(--ink-2)}
.page-work .work-cta-action .btn{margin-top:var(--s-5)}

@media(max-width:1120px){
  .page-process .process-hero-grid,
  .page-process .process-start-grid,
  .page-process .process-proof-grid,
  .page-process .process-faq-grid,
  .page-process .process-fit-grid,
  .page-work .work-hero-grid,
  .page-work .work-fit-grid,
  .page-work .work-results-grid,
  .page-work .work-engagement-grid,
  .page-work .work-availability-grid,
  .page-work .work-cta-grid{
    grid-template-columns:1fr;
    gap:var(--s-6);
  }

  .page-process .process-hero-copy,
  .page-process .process-start-copy,
  .page-process .process-proof-copy,
  .page-work .work-hero-copy,
  .page-work .work-fit-copy,
  .page-work .work-results-copy,
  .page-work .work-engagement-copy{
    max-width:760px;
    justify-self:start;
  }

  .page-process .process-hero-media,
  .page-process .process-start-media,
  .page-work .work-hero-media{
    max-width:760px;
    justify-self:start;
  }

  .page-process .process-faq-heading{position:static;max-width:760px}
  .page-process .process-faq{justify-self:start;max-width:820px}
  .page-process .process-fit-action,
  .page-work .work-practical-support,
  .page-work .work-availability-copy,
  .page-work .work-cta-action{
    padding-left:0;
    padding-top:var(--s-5);
    border-left:0;
    border-top:1px solid var(--line);
  }
  .page-work .work-availability-copy{border-color:var(--line-dark)}

  .page-work .work-service-grid{grid-template-columns:1fr}
  .page-work .work-service,
  .page-work .work-service:nth-child(even){
    padding:var(--s-5) 0;
    border-left:0;
  }
}

@media(max-width:720px){
  .page-process .process-hero,
  .page-work .work-hero{padding-block:var(--s-6)}

  .page-process .process-hero-grid,
  .page-process .process-start-grid,
  .page-process .process-proof-grid,
  .page-process .process-faq-grid,
  .page-process .process-fit-grid,
  .page-work .work-hero-grid,
  .page-work .work-fit-grid,
  .page-work .work-results-grid,
  .page-work .work-engagement-grid,
  .page-work .work-availability-grid,
  .page-work .work-cta-grid{gap:var(--s-5)}

  .page-process .process-hero-media,
  .page-work .work-hero-media{order:-1;max-width:none;width:100%;aspect-ratio:4/3}

  .page-process .process-page-rail .process-step p{font-size:18px;max-width:none;margin-inline:0}
  .page-process .process-expect-heading{margin-bottom:var(--s-5)}
  .page-process .process-expect-grid .feature{padding:var(--s-4) 0}
  .page-process .process-before-after,
  .page-work .work-before-after{grid-template-columns:1fr}

  .page-work .work-services-heading{margin-bottom:var(--s-5)}
  .page-work .work-service,
  .page-work .work-service:nth-child(even){grid-template-columns:1fr;padding:var(--s-5) 0}
  .page-work .work-service .media-mini{max-width:none;width:100%;aspect-ratio:16/9}
  .page-work .work-fit-point{grid-template-columns:44px 1fr;gap:var(--s-3)}
  .page-work .work-fit-point>span{width:40px;height:40px}
  .page-work .work-fit-point h3{font-size:23px}
  .page-work .work-fit-point p{font-size:18px}
  .page-work .work-practical-support,
  .page-work .work-availability-copy,
  .page-work .work-cta-action,
  .page-process .process-fit-action{padding-top:var(--s-4)}
}


/* =========================================================
   Batch 4 — Contact, fit flow, legal templates & interactions
   ========================================================= */
.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;
}

/* Contact */
.page-contact .contact-hero{padding:var(--s-8) 0 var(--s-9);background:var(--warm)}
.page-contact .contact-hero-grid{
  display:grid;grid-template-columns:minmax(0,1.04fr) minmax(420px,.86fr);gap:var(--s-8);align-items:center;
}
.page-contact .contact-hero-copy{max-width:720px}
.page-contact .contact-hero h1{max-width:12ch;font-size:clamp(50px,5vw,76px)}
.page-contact .contact-hero .lead{max-width:42rem;margin-top:var(--s-5)}
.page-contact .contact-hero .waitlist{margin-top:var(--s-5)}
.page-contact .contact-hero-media{max-width:570px;justify-self:end;aspect-ratio:4/3}

.page-contact .contact-fit-section{padding-block:var(--s-9)}
.page-contact .contact-fit-grid{
  display:grid;grid-template-columns:minmax(0,.76fr) minmax(520px,1.24fr);gap:var(--s-8);align-items:start;
}
.page-contact .contact-fit-intro{position:sticky;top:calc(var(--header-h) + var(--s-5));max-width:520px}
.page-contact .contact-fit-intro h2{max-width:12ch}
.page-contact .contact-fit-intro .lead{margin-top:var(--s-4);max-width:33rem}
.page-contact .fit-principles{margin-top:var(--s-6);border-top:1px solid var(--line)}
.page-contact .fit-principles>div{display:grid;gap:var(--s-1);padding:var(--s-4) 0;border-bottom:1px solid var(--line)}
.page-contact .fit-principles strong{font-size:22px;line-height:1.3}
.page-contact .fit-principles span{font-size:18px;line-height:1.55;color:var(--ink-2)}

.page-contact .contact-form{display:grid;grid-template-columns:1fr;gap:0;max-width:760px;justify-self:end;width:100%}
.page-contact .form-section{min-inline-size:0;margin:0;padding:var(--s-5) 0;border:0;border-top:1px solid var(--line)}
.page-contact .form-section:first-of-type{padding-top:0;border-top:0}
.page-contact .form-section legend{width:100%;padding:0 0 var(--s-4);font-size:26px;line-height:1.25;font-weight:700;color:var(--ink)}
.page-contact .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4)}
.page-contact .form-section>.field+.field{margin-top:var(--s-4)}
.page-contact .form-help{margin:calc(-1 * var(--s-2)) 0 var(--s-3);font-size:16px;color:var(--muted)}
.page-contact .check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2) var(--s-4)}
.page-contact .check{align-items:center;min-height:56px;padding:var(--s-2) var(--s-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}
.page-contact .check:has(input:checked){border-color:var(--turq);box-shadow:inset 0 0 0 1px var(--turq);background:#f8fcfc}
.page-contact .field textarea{min-height:150px}
.page-contact .form-submit-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s-4);align-items:center;padding-top:var(--s-5);border-top:1px solid var(--line)}
.page-contact .form-submit-row .btn{min-width:210px}
.page-contact .form-privacy{font-size:16px;line-height:1.55;color:var(--muted)}
.page-contact .form-message{padding:var(--s-3) var(--s-4);border-radius:var(--radius-sm);background:#fff;border:1px solid var(--line);font-size:16px;line-height:1.55;color:var(--ink)}

.page-contact .contact-flow-heading{max-width:850px}
.page-contact .contact-flow-heading h2{max-width:14ch}
.page-contact .contact-flow-heading .lead{max-width:43rem}
.page-contact .contact-flow{list-style:none;margin:var(--s-7) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative}
.page-contact .contact-flow::before{content:'';position:absolute;left:5%;right:5%;top:24px;height:2px;background:#72999a}
.page-contact .contact-flow li{position:relative;padding:70px var(--s-3) 0;text-align:center}
.page-contact .contact-flow li>span{position:absolute;z-index:2;top:0;left:50%;transform:translateX(-50%);width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:var(--turq);color:#fff;font-size:18px;font-weight:700}
.page-contact .contact-flow h3{font-size:23px;margin-bottom:var(--s-2)}
.page-contact .contact-flow p{font-size:19px;line-height:1.55;color:var(--ink-2)}

.page-contact .contact-area-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.8fr);gap:var(--s-8);align-items:center}
.page-contact .contact-area-grid h2{max-width:12ch}
.page-contact .contact-area-grid .lead{margin-top:var(--s-4);max-width:39rem;color:var(--dark-text)}
.page-contact .contact-map{background:linear-gradient(135deg,#22343a,#15262b);border-color:#51646a;color:#eef6f6;aspect-ratio:4/3}
.page-contact .contact-faq-grid{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:var(--s-8);align-items:start}
.page-contact .contact-faq-heading{position:sticky;top:calc(var(--header-h) + var(--s-5));max-width:440px}
.page-contact .contact-faq-heading h2{max-width:10ch}
.page-contact .contact-faq-grid .faq{max-width:780px;justify-self:end;width:100%}

/* Legal */
.page-legal .legal-section{padding:var(--s-8) 0 var(--s-9)}
.page-legal .legal{max-width:760px;margin-inline:auto}
.page-legal .legal h1{max-width:12ch;font-size:clamp(48px,5vw,72px)}
.page-legal .legal>.lead{margin-top:var(--s-4);max-width:40rem}
.page-legal .draft-note{margin:var(--s-6) 0 0;padding:var(--s-4);font-size:16px;line-height:1.6}
.page-legal .draft-note strong{display:block;margin-bottom:var(--s-1);font-size:18px}
.page-legal .legal-block{padding-top:var(--s-7)}
.page-legal .legal-block h2{margin:0 0 var(--s-4);font-size:36px;line-height:1.2}
.page-legal .legal-block p{font-size:20px;line-height:1.75;color:var(--ink-2)}

@media(max-width:1120px){
  .page-contact .contact-hero-grid,
  .page-contact .contact-fit-grid,
  .page-contact .contact-area-grid,
  .page-contact .contact-faq-grid{grid-template-columns:1fr;gap:var(--s-6)}
  .page-contact .contact-hero-copy,.page-contact .contact-fit-intro{max-width:760px}
  .page-contact .contact-hero-media{max-width:760px;justify-self:start}
  .page-contact .contact-fit-intro,.page-contact .contact-faq-heading{position:static}
  .page-contact .contact-form,.page-contact .contact-faq-grid .faq{justify-self:start;max-width:820px}
  .page-contact .contact-flow{grid-template-columns:1fr;margin-top:var(--s-6)}
  .page-contact .contact-flow::before{left:25px;right:auto;top:25px;bottom:25px;width:2px;height:auto}
  .page-contact .contact-flow li{min-height:104px;padding:0 0 var(--s-5) 82px;text-align:left}
  .page-contact .contact-flow li:last-child{min-height:52px;padding-bottom:0}
  .page-contact .contact-flow li>span{left:0;top:0;transform:none}
  .page-contact .contact-flow h3{padding-top:4px}
}

@media(max-width:720px){
  .page-contact .contact-hero{padding-block:var(--s-6)}
  .page-contact .contact-hero-grid{gap:var(--s-5)}
  .page-contact .contact-hero-media{order:-1;width:100%;aspect-ratio:4/3}
  .page-contact .contact-fit-section{padding-block:var(--s-7)}
  .page-contact .fit-principles{margin-top:var(--s-5)}
  .page-contact .fit-principles strong{font-size:21px}
  .page-contact .fit-principles span{font-size:18px}
  .page-contact .form-section{padding-block:var(--s-4)}
  .page-contact .form-section legend{font-size:24px;padding-bottom:var(--s-3)}
  .page-contact .form-grid,.page-contact .check-grid{grid-template-columns:1fr}
  .page-contact .form-submit-row{grid-template-columns:1fr;align-items:stretch}
  .page-contact .form-submit-row .btn{width:100%}
  .page-contact .form-privacy,.page-contact .form-message{font-size:16px}
  .page-contact .contact-flow li{padding-left:76px}
  .page-contact .contact-flow p{font-size:18px}
  .page-contact .contact-area-grid,.page-contact .contact-faq-grid{gap:var(--s-5)}
  .page-contact .contact-map{aspect-ratio:16/10}

  .page-legal .legal-section{padding:var(--s-7) 0}
  .page-legal .legal h1{font-size:clamp(44px,12vw,58px)}
  .page-legal .legal-block{padding-top:var(--s-6)}
  .page-legal .legal-block h2{font-size:32px}
  .page-legal .legal-block p{font-size:18px;line-height:1.75}
}


/* FINAL REMEDIATION START */
.media-photo{margin:0;width:100%;overflow:hidden;border-radius:var(--radius-md);background:#e5e8e6;min-height:0}
.media-photo img{display:block;width:100%;height:100%;object-fit:cover}
.media-contain{background:#101415}.media-contain img{object-fit:contain}
.media-portrait{aspect-ratio:4/5}
.home-hero-media{aspect-ratio:16/10}.home-real-life-media{aspect-ratio:4/3}.home-ongoing-media{aspect-ratio:4/5}
.about-portrait{aspect-ratio:4/5}.about-community-media{aspect-ratio:4/3}
.process-hero-media,.process-start-media{aspect-ratio:4/3}
.work-hero-media{aspect-ratio:4/5}.contact-hero-media{aspect-ratio:4/3}
.media-mini.media-real{overflow:hidden;aspect-ratio:16/9;border-radius:var(--radius-sm);background:#e5e8e6}
.media-mini.media-real img{width:100%;height:100%;object-fit:cover}
.ba-image{padding:0;overflow:hidden;background:#e5e8e6}
.ba-image img{display:block;width:100%;height:100%;object-fit:cover}
.success-definition{padding:var(--s-6);border-left:4px solid var(--turq-bright)}
.success-definition .testimonial-copy{font-size:24px;line-height:1.55;color:var(--dark-text)}
.service-area-note{align-self:center;padding:var(--s-6);border:1px solid var(--line-dark);border-radius:var(--radius-md);background:rgba(255,255,255,.04)}
.service-area-note h3{font-size:28px;margin-bottom:var(--s-3)}
.service-area-note p{font-size:20px;line-height:1.6;color:var(--dark-text)}
.service-area-note p+p{margin-top:var(--s-3)}

.process-step p,.page-home .home-process .process-step p,.page-process .process-page-rail .process-step p,
.faq details p,.page-work .work-service ul,.page-contact .contact-flow p,.page-contact .fit-principles span{font-size:20px}
.page-contact .fit-principles strong{font-size:22px}

@media(min-width:1121px){
  .process-step h3{min-height:58px;display:flex;align-items:flex-start;justify-content:center}
  .page-contact .contact-fit-grid{display:grid;grid-template-columns:.86fr 1.14fr;column-gap:var(--s-8);row-gap:var(--s-6);align-items:start}
  .page-contact .contact-fit-intro{grid-column:1;grid-row:1}
  .page-contact .contact-form{grid-column:2;grid-row:1 / span 2}
  .page-contact .contact-fit-principles{grid-column:1;grid-row:2;margin-top:0}
}
@media(max-width:1120px){
  .process-step h3{min-height:0;display:block}
  .page-contact .contact-fit-grid{display:grid;grid-template-columns:1fr}
  .page-contact .contact-fit-intro{grid-row:1}
  .page-contact .contact-form{grid-row:2}
  .page-contact .contact-fit-principles{grid-row:3;margin-top:var(--s-5)}
}
@media(max-width:720px){
  .process-step p,.page-home .home-process .process-step p,.page-process .process-page-rail .process-step p,
  .faq details p,.page-work .work-service ul,.page-contact .contact-flow p,.page-contact .fit-principles span{font-size:18px}
  .page-contact .contact-hero-media{display:none}
  .page-contact .contact-hero{padding-top:var(--s-5);padding-bottom:var(--s-6)}
  .page-contact .contact-fit-section{padding-top:var(--s-6)}
  .success-definition{padding:var(--s-4)}
  .success-definition .testimonial-copy{font-size:20px}
}
/* FINAL REMEDIATION END */
