/* ============================================================
   Jane Smith LMFT — design system
   Three themes. Each theme sets a palette AND its type pairing.
   Switch at runtime: <html data-theme="sand|clay|slate">
   ============================================================ */

/* ---------- fonts ---------- */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:300;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/newsreader@latest/latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/newsreader@latest/latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/newsreader@latest/latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/instrument-sans@latest/latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:500;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/instrument-sans@latest/latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:600;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/instrument-sans@latest/latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/lora@latest/latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:500;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/lora@latest/latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Karla';font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/karla@latest/latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Karla';font-style:normal;font-weight:500;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/karla@latest/latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Karla';font-style:normal;font-weight:600;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/karla@latest/latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Spectral';font-style:normal;font-weight:300;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/spectral@latest/latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/spectral@latest/latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Spectral';font-style:normal;font-weight:500;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/spectral@latest/latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/archivo@latest/latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/archivo@latest/latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/archivo@latest/latin-600-normal.woff2) format('woff2')}

/* ---------- theme A: Sand & moss (default) ---------- */
:root,[data-theme="sand"]{
  --bg:#faf7f1; --band:#f4efe5; --stripe:#fdfbf7;
  --ink:#2b2a26; --muted:#5a564c; --faint:#8a8170;
  --accent:#3b4a37; --accent-hover:#2c3829; --on-accent:#f2ede2;
  --footer-text:#cfc9ba; --footer-line:rgba(207,201,186,.18);
  --line:rgba(43,42,38,.12); --nav-bg:rgba(250,247,241,.94); --accent-line:rgba(59,74,55,.35);
  --img-fill:#6f6b62; --img-fill-light:#cfc7b6;
  --serif:'Newsreader',Georgia,serif; --sans:'Instrument Sans',system-ui,sans-serif;
  --display-weight:300;
}
/* ---------- theme B: Clay ---------- */
[data-theme="clay"]{
  --bg:#fbf8f5; --band:#f2ebe4; --stripe:#fdfaf7;
  --ink:#221f1c; --muted:#57504a; --faint:#8d8075;
  --accent:#8b4a30; --accent-hover:#6d3925; --on-accent:#fdf6f2;
  --footer-text:#d3c9c0; --footer-line:rgba(211,201,192,.18);
  --line:rgba(34,31,28,.12); --nav-bg:rgba(251,248,245,.94); --accent-line:rgba(139,74,48,.35);
  --img-fill:#7a6a5f; --img-fill-light:#d8cabd;
  --serif:'Lora',Georgia,serif; --sans:'Karla',system-ui,sans-serif;
  --display-weight:400;
}
/* ---------- theme C: Slate ---------- */
[data-theme="slate"]{
  --bg:#f7f8f9; --band:#ebeef1; --stripe:#fbfcfd;
  --ink:#191e25; --muted:#525a64; --faint:#88909a;
  --accent:#2c5c7d; --accent-hover:#214862; --on-accent:#f2f7fa;
  --footer-text:#c6ccd3; --footer-line:rgba(198,204,211,.18);
  --line:rgba(25,30,37,.12); --nav-bg:rgba(247,248,249,.94); --accent-line:rgba(44,92,125,.35);
  --img-fill:#6b747f; --img-fill-light:#c8cfd6;
  --serif:'Spectral',Georgia,serif; --sans:'Archivo',system-ui,sans-serif;
  --display-weight:300;
}

/* ---------- base ---------- */
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
a:hover{color:var(--accent-hover)}
h1,h2,h3{margin:0}
p{margin:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.wrap{max-width:1280px;margin:0 auto;padding:0 40px}

/* ---------- type ---------- */
.eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--faint)}
.eyebrow--tight{font-size:10.5px;letter-spacing:.14em}
.display{font-family:var(--serif);font-weight:var(--display-weight);letter-spacing:-.022em;line-height:1.05;text-wrap:balance}
.t-hero{font-size:64px;line-height:1.04}
.t-h1{font-size:52px;line-height:1.08}
.t-h2{font-family:var(--serif);font-weight:400;font-size:40px;line-height:1.16;letter-spacing:-.018em}
.t-h2-sm{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.2;letter-spacing:-.015em}
.t-h3{font-family:var(--serif);font-weight:400;font-size:29px;line-height:1.22}
.t-card{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.28}
.lead{font-size:19px;line-height:1.55;text-wrap:pretty}
.lead--sm{font-size:17px;line-height:1.68}
.body{font-size:16.5px;line-height:1.72;color:var(--muted)}
.body-sm{font-size:15.5px;line-height:1.7;color:var(--muted)}
.body-xs{font-size:14.5px;line-height:1.65;color:var(--muted)}
.meta{font-size:13.5px;line-height:1.55;color:var(--muted)}
.on-dark{color:#fff}
.on-dark-soft{color:rgba(255,255,255,.9)}
.measure-hero{max-width:19ch}
.measure-lead{max-width:46ch}
.measure-body{max-width:54ch}
.measure-body-wide{max-width:60ch}

/* ---------- buttons ---------- */
.btn{display:inline-block;text-decoration:none;border-radius:100px;font-weight:500;white-space:nowrap;transition:background-color .15s ease,color .15s ease;align-self:flex-start}
.btn--accent{background:var(--accent);color:var(--on-accent);padding:11px 19px;font-size:14px}
.btn--accent:hover{background:var(--accent-hover);color:var(--on-accent)}
.btn--accent-lg{background:var(--accent);color:var(--on-accent);padding:17px 28px;font-size:15.5px}
.btn--accent-lg:hover{background:var(--accent-hover);color:var(--on-accent)}
.btn--accent-md{background:var(--accent);color:var(--on-accent);padding:15px 24px;font-size:15px}
.btn--accent-md:hover{background:var(--accent-hover);color:var(--on-accent)}
.btn--cream{background:var(--bg);color:var(--ink);padding:17px 28px;font-size:15.5px}
.btn--cream:hover{background:#fff;color:var(--ink)}
.btn--cream-md{background:var(--bg);color:var(--ink);padding:14px 24px;font-size:15px}
.btn--cream-md:hover{background:#fff;color:var(--ink)}
.link-underline{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent-line);padding-bottom:3px;align-self:flex-start;white-space:nowrap}
.link-underline:hover{border-bottom-color:var(--accent)}
.link-plain{color:var(--accent);text-decoration:none}
.link-plain:hover{text-decoration:underline}
.link-on-dark{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:3px}
.link-on-dark:hover{color:#fff;border-bottom-color:#fff}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:var(--nav-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav__inner{max-width:1280px;margin:0 auto;padding:16px 40px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.nav__mark{display:flex;flex-direction:column;gap:1px}
.nav__name{font-family:var(--serif);font-size:19px;line-height:1.15}
.nav__cred{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--faint);white-space:nowrap}
.nav__links{display:flex;align-items:center;gap:24px;font-size:14px}
.nav__link{color:var(--muted);text-decoration:none;white-space:nowrap}
.nav__link:hover{color:var(--ink)}
.nav__link[aria-current="page"]{color:var(--ink)}

/* ---------- media / parallax ---------- */
.media{position:relative;width:100%;min-width:0;overflow:hidden;height:var(--h,480px)}
.par{position:absolute;inset:-90px 0;background:var(--img-fill)}
.par--deep{inset:-150px 0}
.par--light{background:var(--img-fill-light)}
/* Spec label burned into each placeholder so nothing is ambiguous about what
   photograph belongs where. Replace the whole .par > div with a <picture>. */
.ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px;font-size:11px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.34)}
.par--light .ph{color:rgba(0,0,0,.3)}

/* ---------- hero: overlay ---------- */
.hero{position:relative;height:640px;overflow:hidden;display:flex;align-items:flex-end}
.hero__scrim{position:relative;width:100%;background:linear-gradient(to top,rgba(30,29,26,.68),rgba(30,29,26,.5) 62%,rgba(30,29,26,.18));pointer-events:none}
.hero__inner{max-width:1280px;margin:0 auto;padding:70px 40px 56px;display:flex;flex-direction:column;gap:22px}
.pill{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:12.5px;color:var(--on-accent);background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);padding:7px 14px;border-radius:100px;width:fit-content}
.pill--light{color:var(--accent);background:var(--band);border:none}
.cta-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;pointer-events:auto}
.cta-row .btn{align-self:auto}
.cta-note{font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.82);max-width:26ch}

/* ---------- hero: split ---------- */
.hero-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:620px;border-bottom:1px solid var(--line)}
.hero-split__text{padding:84px 48px 76px;max-width:660px;margin-left:auto;width:100%;display:flex;flex-direction:column;justify-content:center;gap:22px;min-width:0}
.hero-split__media{position:relative;overflow:hidden;min-height:620px;min-width:0}

/* ---------- credential strip ---------- */
.strip{background:var(--band);border-bottom:1px solid var(--line)}
.strip__inner{max-width:1280px;margin:0 auto;padding:15px 40px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;font-size:13.5px;color:var(--muted)}
.strip__sep{color:var(--faint)}

/* ---------- sections ---------- */
.section{padding:88px 0 76px}
.section--tight{padding:72px 0 64px}
.section--head{padding:76px 0 56px}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.two-col--top{align-items:start}
.stack{display:flex;flex-direction:column;gap:22px;min-width:0}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:30px}
.section-head > *{flex:0 0 auto;white-space:nowrap}

.deflist{border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;gap:14px}
.deflist__row{display:flex;gap:16px;align-items:baseline}
.deflist__term{font-size:14.5px;font-weight:500;width:210px;flex:none}
.deflist__def{font-size:14.5px;line-height:1.6;color:var(--muted)}

.cards-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.cards-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.card{display:flex;flex-direction:column;gap:16px;min-width:0}
.card--bordered{border:1px solid var(--line);padding:28px 26px;gap:12px}
.card--filled{background:var(--bg);border:1px solid var(--line);padding:28px 26px;gap:12px}

/* quote band */
.quote-band{position:relative;height:560px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.quote-card{position:relative;background:var(--bg);padding:48px 52px;width:660px;max-width:calc(100% - 80px);display:flex;flex-direction:column;gap:18px}
.quote-card__quote{font-family:var(--serif);font-weight:var(--display-weight);font-size:31px;line-height:1.34;letter-spacing:-.01em}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.step{display:flex;flex-direction:column;gap:11px}
.step__num{font-family:var(--serif);font-size:15px;color:var(--faint)}
.step__title{font-size:17.5px;font-weight:500}

/* facts panel */
.facts{background:var(--band);border:1px solid var(--line);padding:38px 40px;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.fact{display:flex;flex-direction:column;gap:7px}
.fact__value{font-size:16px;font-weight:500}
.fact__note{font-size:13.5px;line-height:1.55;color:var(--muted)}

/* closing cta band */
.cta-band{position:relative;height:480px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
.cta-band__scrim{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:0 40px;background:rgba(30,29,26,.34);pointer-events:none}
.cta-band__title{font-family:var(--serif);font-weight:var(--display-weight);font-size:44px;line-height:1.14;letter-spacing:-.02em;color:#fff;max-width:24ch;text-wrap:balance}

/* hairline table (about: licence + education) */
.hairline{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.hairline__cell{background:var(--bg);padding:26px 24px;display:flex;flex-direction:column;gap:8px}
.hairline__value{font-size:15.5px;line-height:1.5}

/* logo placeholders */
.logo-slot{height:44px;display:flex;align-items:center;font-size:10.5px;letter-spacing:.12em;color:var(--faint)}
.badge-slot{height:54px;width:190px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:10.5px;letter-spacing:.12em;color:var(--faint)}

/* band section */
.band{background:var(--band);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* services rows */
.svc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:44px;align-items:center}
.svc--flip{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.svc__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.svc__price{text-align:right;flex:none}
.svc__price-value{font-size:18px;font-weight:500}
.svc__price-unit{font-size:12.5px;color:var(--faint)}
.svc__facts{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--muted)}

/* article index list */
.index-list{border-top:1px solid var(--line)}
.index-list__row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.index-list__row:hover{color:var(--accent)}
.index-list__title{font-family:var(--serif);font-size:21px}
.index-list__meta{font-size:13px;color:var(--faint);white-space:nowrap}

/* faq */
.faq{display:flex;flex-direction:column;min-width:0;border-top:1px solid var(--line)}
.faq__item{padding:22px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:9px}
.faq__q{font-size:18px;font-weight:600;letter-spacing:-.01em}

/* footer */
.footer{background:var(--ink);color:var(--footer-text)}
.footer__inner{max-width:1280px;margin:0 auto;padding:52px 40px 40px}
.footer__cols{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:34px;border-bottom:1px solid var(--footer-line)}
.footer__col{display:flex;flex-direction:column;gap:10px;font-size:13.5px}
.footer__name{font-family:var(--serif);font-size:19px;line-height:1.2;color:var(--on-accent)}
.footer a{color:var(--footer-text);text-decoration:none}
.footer a:hover{color:#fff;text-decoration:underline}
.footer__label{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.footer__legal{padding-top:24px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:12px;color:var(--faint)}

@media (prefers-reduced-motion:reduce){
  .par{transform:none !important}
}

/* ---------- shipped demo additions ---------- */
html{scroll-behavior:smooth;overflow-x:hidden}
.skip{position:absolute;left:12px;top:-60px;z-index:300;background:var(--accent);color:var(--on-accent);padding:12px 16px;border-radius:100px;text-decoration:none}
.skip:focus{top:12px}
.par__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
html[data-hero="overlay"] .home .hero-split{display:none}
html[data-hero="split"] .home .hero{display:none}
.nav__toggle{display:none;border:1px solid var(--line);background:transparent;color:var(--ink);width:44px;height:44px;padding:0;font:500 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.demo-switcher{position:fixed;right:20px;bottom:20px;z-index:100;background:var(--nav-bg);backdrop-filter:blur(10px);border:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:8px}
.demo-switcher__label{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.demo-switcher__options{display:flex;gap:5px;flex-wrap:wrap}
.demo-switcher button{min-height:44px;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:100px;padding:0 12px;font:500 12px/1 var(--sans);cursor:pointer}
.demo-switcher button:hover,.demo-switcher button[aria-current="true"]{background:var(--band);border-color:var(--accent-line);color:var(--ink)}
.contact{background:var(--band);border-top:1px solid var(--line)}
.contact__inner{max-width:900px;margin:0 auto;padding:76px 40px 88px}
.contact__head{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}
.contact__form{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
.contact__field{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:500}
.contact__field--wide{grid-column:1/-1}
.contact__field input,.contact__field textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:0;background:var(--bg);color:var(--ink);padding:11px 12px;font:400 16px/1.5 var(--sans)}
.contact__field textarea{min-height:132px;resize:vertical}
.contact__field input:focus,.contact__field textarea:focus{outline:2px solid var(--accent);outline-offset:2px}
.contact__check{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;color:var(--muted)}
.contact__check input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:var(--accent)}
.contact__notice{grid-column:1/-1;margin:0;color:var(--accent);font-size:14px;font-weight:500}
.card{transition:background-color .15s ease,border-color .15s ease}
.card:hover{background:var(--band);border-color:var(--accent-line)}

@media (max-width:1024px){
  .wrap{padding-left:28px;padding-right:28px}
  .nav__inner{padding-left:28px;padding-right:28px;gap:16px}
  .two-col,.svc,.svc--flip{grid-template-columns:1fr;gap:36px}
  .two-col .media,.svc .media{order:2 !important}
  .cards-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards-4,.facts,.hairline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{gap:24px}
  .t-hero{font-size:40px}
  .hero-split__text h1{font-size:40px !important}
  .hero-split__text{padding:64px 40px}
  .contact__inner{padding-left:28px;padding-right:28px}
}

@media (max-width:768px){
  .nav__inner{padding-top:10px;padding-bottom:10px;gap:12px}
  .nav__cred{display:none}
  .nav__toggle{display:block;margin-left:auto}
  .nav__links{gap:10px}
  .nav__links .nav__link{display:none}
  .nav__links.is-open{position:absolute;top:100%;left:0;right:0;background:var(--nav-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:12px 20px 18px;display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
  .nav__links.is-open .nav__link{display:flex;align-items:center;min-height:44px}
  .nav__links.is-open .btn{grid-column:1/-1;justify-self:start}
  .nav__links .btn{min-height:44px;display:flex;align-items:center}
  .hero__inner{padding-left:28px;padding-right:28px}
  .hero-split{grid-template-columns:1fr}
  .hero-split__text{max-width:none;margin:0;padding:56px 28px}
  .hero-split__media{min-height:360px;height:min(55vw,420px)}
}

@media (max-width:640px){
  .wrap{padding-left:20px;padding-right:20px}
  .nav__inner{padding-left:20px;padding-right:20px}
  .nav .btn--accent{padding:9px 13px;font-size:12.5px}
  .section{padding:60px 0 52px}
  .section--tight,.section--head{padding:52px 0}
  .t-hero{font-size:32px}
  .t-h1{font-size:40px}
  .t-h2{font-size:32px}
  .hero{height:540px !important}
  .hero__inner{padding:52px 20px 42px;gap:18px}
  .hero__inner h1{font-size:32px !important}
  .hero-split__text{padding:46px 20px}
  .hero-split__text h1{font-size:32px !important}
  .hero-split__media{height:360px;min-height:360px}
  .strip__inner{padding:14px 20px;gap:10px}
  .strip__sep{display:none}
  .cards-3,.cards-4,.facts,.hairline,.footer__cols,.steps{grid-template-columns:1fr}
  .responsive-grid{grid-template-columns:1fr !important;gap:32px !important}
  .facts{padding:28px 24px;gap:24px}
  .quote-band{height:460px}
  .quote-card{max-width:calc(100% - 40px);padding:32px 28px}
  .cta-band{height:400px}
  .cta-band__scrim{padding:0 20px}
  .cta-band__title{font-size:34px}
  .deflist__row{flex-direction:column;gap:4px}
  .deflist__term{width:auto}
  .section-head{align-items:flex-start}
  .section-head > *{white-space:normal}
  .contact__inner{padding:56px 20px 64px}
  .contact__form{grid-template-columns:1fr}
  .contact__field--wide{grid-column:auto}
  .contact__check,.contact__notice{grid-column:auto}
  .footer__inner{padding:44px 20px 32px}
  .demo-switcher{right:12px;bottom:12px;left:12px}
  .demo-switcher__options{justify-content:space-between}
  .demo-switcher button{flex:1;padding:0 8px}
}
