:root {
  --ease-out: cubic-bezier(.23, 1, .32, 1);
  --ease-in-out: cubic-bezier(.77, 0, .175, 1);
  --violet: #6B3FD9;
  --violet-ink: #5129B3;
  --ink: #1c1c1e;
  --muted: #595963;
}
html { scroll-behavior: smooth; scrollbar-color: #9182b1 #f4f5f7; }
body { margin: 0; background: #16141f; }
::selection { background: var(--violet); color: #fff; }
a { color: var(--violet-ink); text-underline-offset: 3px; }
a:hover { color: #3b1d8c; }
button, input, select { font: inherit; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
:where(a, button, input, select):focus-visible { outline: 3px solid var(--violet); outline-offset: 4px; }
section[id], [id="accessibility"], [id="using-this-website"] { scroll-margin-top: 32px; }
#main:focus, #request-sent-title:focus { outline: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: 12px; z-index: 10; padding: 14px 20px; border-radius: 10px; background: #fff; color: var(--violet-ink); transform: translateY(-160%); font-family: sans-serif; }
.skip-link:focus { transform: none; }
.ico { fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.glass { backdrop-filter: blur(20px) saturate(170%); -webkit-backdrop-filter: blur(20px) saturate(170%); }
.grad-text { color: var(--violet-ink); }
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  .grad-text { background: linear-gradient(100deg,#0b829b 0%,#3F74E6 42%,#6B3FD9 88%); -webkit-background-clip: text; background-clip: text; color: transparent; }
}
/* Occasional feedback: short, interruptible transitions. Keyboard actions stay instant. */
.btn { transition: transform 160ms var(--ease-out), opacity 160ms ease; }
.btn:active:not(:disabled) { transform: scale(.97); }
.btn:disabled { opacity: .65; cursor: wait; }
.arr { display: inline-block; transition: transform 160ms var(--ease-out); }
.navlink { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; }
a, .navlink, .footlink { transition: color 160ms ease; }
.footlink { min-height: 44px !important; overflow-wrap: anywhere; }
@media (hover: hover) and (pointer: fine) {
  .btn:hover:not(:disabled) { opacity: .9; }
  a:hover .arr { transform: translateX(3px); }
  .navlink:hover { color: var(--violet-ink) !important; }
  .footlink:hover { color: #fff !important; }
  .field:hover { border-color: #97929f; }
}
/* One entrance per page view. No continuous drifting or scroll-linked text movement. */
.rise { animation: rise 450ms var(--ease-out) both; }
@keyframes rise { from { opacity: 0; transform: translateY(8px); } }
.r1 { animation-delay: 0ms; }.r2 { animation-delay: 50ms; }.r3 { animation-delay: 100ms; }.r4 { animation-delay: 150ms; }.r5 { animation-delay: 200ms; }
.s0 { animation-delay: 250ms; }.s1 { animation-delay: 300ms; }.s2 { animation-delay: 350ms; }.s3 { animation-delay: 400ms; }.s4 { animation-delay: 450ms; }.s5 { animation-delay: 500ms; }
.reveal-ready { transition: opacity 450ms var(--ease-out), transform 450ms var(--ease-out); }
.reveal-ready:not(.is-visible) { opacity: 0; transform: translateY(8px); }
.sv-open.reveal-ready { opacity: 1; transform: none; transition: clip-path 600ms var(--ease-in-out); }
.sv-open.reveal-ready:not(.is-visible) { clip-path: inset(0 0 12% 0 round 28px); }
.sv-open.reveal-ready.is-visible { clip-path: inset(0 0 0 0 round 28px); }
.reveal-ready:focus-within { opacity: 1; transform: none; clip-path: none; transition: none; }
.section-inner { max-width: 1160px; margin: 0 auto; }
.section-heading { max-width: 670px; margin-bottom: 36px; }
.eyebrow { margin: 0 0 14px; font: 600 13px/1.5 'DM Sans', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--violet-ink); }
.section-heading h2, .session-copy h2 { margin: 0; font-size: clamp(32px, 3.8vw, 48px); font-weight: 650; line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
.section-lede { margin: 20px 0 0; max-width: 580px; font: 17px/1.6 'DM Sans', sans-serif; color: #3c3c43; text-wrap: pretty; }
.care-section { padding: 0 clamp(20px, 5vw, 48px) 104px; background: #fff; }
.care-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.care-card { padding: 28px; border: 1px solid #e5dff0; border-radius: 24px; background: linear-gradient(145deg,#fcfbff,#f3eefd); display: flex; flex-direction: column; align-items: flex-start; }
.care-card:nth-child(2) { background: linear-gradient(145deg,#fcfeff,#eaf6f8); border-color: #dcecef; }
.care-card:nth-child(3) { background: linear-gradient(145deg,#fff,#f4f5f7); border-color: #e6e6eb; }
.care-number { color: var(--violet-ink); font: italic 30px/1 'Newsreader', Georgia, serif; margin-bottom: 30px; }
.care-card h3 { font-size: 23px; line-height: 1.16; font-weight: 600; letter-spacing: -.025em; margin: 0; }
.care-card p { font: 16px/1.6 'DM Sans', sans-serif; color: #3c3c43; margin: 16px 0 24px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 15px; line-height: 1.4; font-weight: 600; text-decoration: none; }
.care-card .text-link { margin-top: auto; }
.session-section { padding: 0 clamp(20px, 5vw, 48px) 40px; background: #fff; }
.session-panel { max-width: 1160px; margin: auto; box-sizing: border-box; border-radius: 28px; padding: clamp(28px, 5vw, 64px); display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; color: #fff; background: radial-gradient(95% 120% at 95% -10%,rgba(122,57,232,.5),transparent 58%),radial-gradient(60% 90% at 0 100%,rgba(32,199,223,.13),transparent 60%),#1b1825; }
.session-copy > p:not(.eyebrow) { font: 17px/1.6 'DM Sans', sans-serif; color: #e0dce9; margin: 22px 0; }
.session-panel .eyebrow { color: #d3c5f4; }
.session-cta { min-height: 50px; padding: 0 22px; display: inline-flex; align-items: center; gap: 20px; border-radius: 999px; background: #fff; color: var(--ink); text-decoration: none; font-weight: 600; }
.session-copy .session-note { font-size: 14px !important; color: #c2bccc !important; }
.session-note a { color: #eee8ff; }
.session-guide { border: 1px solid #ffffff29; border-radius: 24px; background: #ffffff0d; padding: clamp(22px, 3vw, 32px); }
.session-symbol { display: grid; place-items: center; width: 60px; height: 60px; background: #e9e1fa; color: var(--violet-ink); border-radius: 18px; margin-bottom: 28px; }
.session-guide h3 { font-size: 26px; font-weight: 600; letter-spacing: -.02em; line-height: 1.2; margin: 0 0 26px; }
.session-guide ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; }
.session-guide li { display: flex; align-items: flex-start; gap: 12px; }
.session-guide li > span { flex: none; width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid #ffffff45; border-radius: 50%; font-size: 12px; }
.session-guide strong { font-size: 15px; font-weight: 600; }
.session-guide li p { font: 14px/1.55 'DM Sans', sans-serif; color: #d0cadb; margin: 5px 0 0; }
.clinician-credentials { margin: 0; color: var(--violet-ink); font: 600 14px/1.5 'DM Sans', sans-serif; }
.coverage-card { padding: clamp(22px, 3vw, 32px); border: 1px solid #e4ddec; border-radius: 24px; background: #fbfaff; }
.coverage-card h3 { font-size: 22px; letter-spacing: -.02em; margin: 0 0 14px; }
.coverage-card p { color: #3c3c43; font: 15.5px/1.6 'DM Sans', sans-serif; margin: 0; }
.coverage-types { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.coverage-types li { padding: 8px 12px; background: #fff; border: 1px solid #e4ddec; border-radius: 999px; font: 500 13px/1.4 'DM Sans', sans-serif; }
.coverage-note { padding-top: 18px; border-top: 1px solid #e4ddec; margin-top: 18px; }
.coverage-note h4 { font-size: 16px; margin: 0 0 6px; }
.coverage-card .text-link { margin-top: 18px; }
.contact-email { font-size: 18px; overflow-wrap: anywhere; }
.contact-note { margin: -12px 0 0; max-width: 350px; color: var(--muted); font: 14px/1.6 'DM Sans', sans-serif; }
.contact-location { display: flex; gap: 12px; padding-top: 28px; margin-top: 12px; border-top: 1px solid #d9d3e3; }
.contact-location strong { font-size: 15px; font-weight: 600; }
.contact-location p { font: 14px/1.6 'DM Sans', sans-serif; color: var(--muted); margin: 6px 0 0; max-width: 300px; }
.location-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--violet); margin-top: 6px; flex: none; }
.request-form { min-width: 0; border-radius: 24px; background: #ffffffd9; border: 1px solid #fff; box-shadow: 0 1px 2px #0000000a,0 30px 60px -34px #28145a73; padding: clamp(22px, 3vw, 32px); display: grid; }
.req-fields, .req-done { grid-area: 1/1; min-width: 0; transition: opacity 200ms var(--ease-out), transform 200ms var(--ease-out); }
.req-fields { margin: 0; padding: 0; border: 0; min-inline-size: 0; display: flex; flex-direction: column; gap: 16px; }
.request-form h3 { font-size: 23px; font-weight: 650; letter-spacing: -.02em; margin: 0; }
.form-intro { color: var(--muted); font: 14px/1.5 'DM Sans', sans-serif; margin: -6px 0 4px; }
.form-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.form-field label { color: #3c3c43; font-size: 14px; font-weight: 600; }
.form-field label span { font-weight: 400; color: var(--muted); }
.field { width: 100%; min-width: 0; height: 48px; box-sizing: border-box; padding: 0 14px; border: 1px solid #bfbac7; border-radius: 12px; background: #fff; color: var(--ink); font: 16px 'DM Sans', sans-serif; }
.field:focus-visible { outline: 3px solid #6b3fd94d; outline-offset: 2px; border-color: var(--violet); }
.field-hint { font: 13px/1.5 'DM Sans', sans-serif; color: var(--muted); margin: 0; }
.form-disclosure { font: 13px/1.6 'DM Sans', sans-serif; color: var(--muted); margin: 2px 0 0; }
.request-submit { min-height: 54px; padding: 12px 20px; display: flex; justify-content: center; align-items: center; gap: 12px; border: 0; border-radius: 999px; background: var(--violet); color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; box-shadow: 0 14px 30px -14px #3c1e8cb3; }
.request-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.req-done { visibility: hidden; opacity: 0; transform: translateY(8px); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 18px; }
.req-done > p:not(.eyebrow) { margin: 0; color: #3c3c43; font: 16px/1.6 'DM Sans', sans-serif; max-width: 350px; }
.req-done .eyebrow { margin: 6px 0 -6px; }
.req-check { width: 64px; height: 64px; border-radius: 50%; background: #1F7A57; color: #fff; display: grid; place-items: center; }
.req-done .receipt-line { font-size: 12px !important; color: var(--muted) !important; overflow-wrap: anywhere; }
.is-sent .req-fields { visibility: hidden; opacity: 0; pointer-events: none; }
.is-sent .req-done { visibility: visible; opacity: 1; transform: none; }
.form-status, .form-fallback { grid-column: 1; font: 14px/1.5 'DM Sans', sans-serif; color: #3c3c43; margin: 16px 0 0; }
.form-status:empty { display: none; }
.form-status[data-state="error"] { color: #9c2535; padding: 12px; background: #fff0f2; border: 1px solid #edb9c1; border-radius: 10px; }
.crisis-link { color: #fff; }
footer :focus-visible, .session-panel :focus-visible { outline-color: #bba4f0; }
/* Hero stage: one width (--S) drives the photos, copy, steps and room scene so the composition never changes.
   --S is the smaller of the window width less gutters and what fits the window height, and never under 760px; landing.js trims it further when the content still runs past the fold. */
.hero{--g:clamp(20px,4.5vw,64px);--S:min(1560px,calc(100vw - 2 * var(--g)),max(760px,calc((100svh - 72px) / .96)));--logo:clamp(76px,calc(var(--S) * .121),190px);--photo:calc(var(--S) * .227);--h1:max(30px,calc(var(--S) * .0545));--p:max(15px,calc(var(--S) * .0137));--strip:max(700px,calc(var(--S) * .6));--scene:var(--S)}
.hero-stage{position:relative;box-sizing:border-box;width:var(--S);margin:0 auto;padding-top:calc(var(--S) * .018);flex:0 0 auto;display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(18px,calc(var(--S) * .025),36px)}
.hero-mid{display:grid;grid-template-columns:var(--photo) minmax(0,1fr) var(--photo);align-items:center;width:100%}
.hero-photo{position:relative}
.hero-photo-r{top:calc(var(--S) * .025)}
.hero-photo-frame{overflow:clip;border-radius:max(20px,calc(var(--S) * .02));aspect-ratio:4/5;background:#e9e7ee;box-shadow:0 1px 2px rgba(0,0,0,.06),0 44px 70px -36px rgba(40,20,90,.6)}
.hero-photo-frame img{display:block;width:100%;height:100%;object-fit:cover}
.hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center;gap:calc(var(--S) * .027)}
.hero-headline{display:flex;flex-direction:column;align-items:center;gap:2px}
.hero-h1{margin:0;font-size:var(--h1);font-weight:650;line-height:1.02;letter-spacing:-.04em}
.hero-lede{margin:calc(var(--S) * .018) 0 0;max-width:max(390px,calc(var(--S) * .4));font-family:'DM Sans',sans-serif;font-size:var(--p);line-height:1.55;color:#3c3c43;text-wrap:pretty}
.hero-actions{display:flex;flex-direction:column;align-items:center;gap:calc(var(--S) * .01)}
.hero-cta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px calc(var(--S) * .017)}
.hero-cta{display:inline-flex;align-items:center;gap:10px;box-sizing:border-box;min-height:max(44px,calc(var(--S) * .04));padding:0 max(22px,calc(var(--S) * .02));border-radius:999px;background:#6B3FD9;color:#fff;text-decoration:none;font-size:max(15.5px,calc(var(--S) * .0132));font-weight:600;box-shadow:0 14px 30px -14px rgba(60,30,140,.7)}
a.hero-cta:hover{color:#fff}
.hero-signin{display:inline-flex;align-items:center;min-height:44px;font-size:max(15px,calc(var(--S) * .0125));font-weight:600;text-underline-offset:4px}
.hero-note{margin:0;font-family:'DM Sans',sans-serif;font-size:max(13px,calc(var(--S) * .0102));color:#6e6e73}
.hero-pair{display:none;justify-content:center;align-items:flex-start;width:100%}
/* The referral panel fills the purposeful gap; the stage never distributes spare viewport height. */
.hero-comp { position: relative; z-index: 2; display: flex; align-items: center; gap: 16px; align-self: center; box-sizing: border-box; width: min(760px, 100%); padding: 15px 20px; border: 1px solid #d9cdf1; border-radius: 20px; background: linear-gradient(105deg, #ffffffd9, #f5efffd9); box-shadow: 0 6px 24px -18px #5129b340; }
.hero-comp-icon { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border: 1px solid #e2d6fa; border-radius: 14px; background: #f3eefd; color: var(--violet-ink); }
.hero-comp-copy { flex: 1; min-width: 0; }
.hero-comp-copy p { margin: 0 0 4px; color: var(--violet-ink); font: 600 11px/1.4 'DM Sans', sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.hero-comp-copy h2 { margin: 0; color: var(--ink); font-size: clamp(17px, calc(var(--S) * .018), 21px); font-weight: 600; line-height: 1.25; letter-spacing: -.025em; }
.hero-comp-copy h2 span { color: #7d6c99; font-family: 'Newsreader', Georgia, serif; font-style: italic; font-weight: 400; padding: 0 2px; }
.hero-comp-link { display: inline-flex; align-items: center; gap: 10px; flex: none; min-height: 44px; padding-left: 20px; border-left: 1px solid #e0d6ef; color: var(--violet-ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.hero-foot{display:flex;flex-direction:column;align-items:center;width:100%}
.hero-strip{position:relative;z-index:2;width:var(--strip);max-width:100%}
.hero-strip ol{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:calc(var(--S) * .011);align-items:center}
.step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:calc(var(--S) * .0065);padding:calc(var(--S) * .016) 6px calc(var(--S) * .013);border-radius:max(14px,calc(var(--S) * .0145));background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.8);box-shadow:0 1px 2px rgba(0,0,0,.04),0 12px 30px -16px rgba(40,20,90,.3)}
.step-ico{width:max(30px,calc(var(--S) * .03));aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#F3EEFD;color:#5129B3}
.step-ico svg{width:50%;height:50%}
.step strong{font-size:max(13.5px,calc(var(--S) * .0125));font-weight:600;letter-spacing:-.01em}
.step small{white-space:nowrap;font-family:'DM Sans',sans-serif;font-size:max(11.5px,calc(var(--S) * .0097));font-weight:500;color:#6e6e73}
.step-mid{padding:calc(var(--S) * .02) 6px calc(var(--S) * .017);border-radius:max(16px,calc(var(--S) * .016));background:#fff;border-color:rgba(107,63,217,.35);box-shadow:0 0 0 4px rgba(107,63,217,.08),0 22px 44px -18px rgba(60,30,140,.45);transform:translateY(calc(var(--S) * -.005))}
.step-mid .step-ico{width:max(36px,calc(var(--S) * .036));background:#6B3FD9;color:#fff}
.step-mid strong{font-size:max(14.5px,calc(var(--S) * .0133));font-weight:650}
.step-mid small{font-weight:600;color:#5129B3}
.hero-scene{position:relative;z-index:1;width:100%;margin-top:calc(-1 * clamp(calc(var(--S) * .02),calc(var(--S) * .056 - (var(--strip) - var(--S) * .6) * .25),100px));padding-bottom:calc(var(--S) * .01);pointer-events:none}
.hero-scene img{display:block;width:var(--scene);max-width:none;height:auto;margin-left:50%;transform:translateX(-50%);filter:drop-shadow(0 24px 30px rgba(60,30,140,.10))}
@media (max-width:980px){
.hero{--S:calc(100vw - 2 * var(--g));--logo:clamp(96px,22vw,150px);--h1:clamp(34px,8.4vw,64px);--p:16.5px;--strip:100%;--scene:max(560px,100vw)}
.hero-stage{padding-top:18px;gap:26px}
.hero-mid{grid-template-columns:minmax(0,1fr)}
.hero-side{display:none}
.hero-pair{display:flex}
.hero-copy{gap:22px}
.hero-lede{margin-top:14px;max-width:600px}
.hero-actions{gap:12px}
.hero-cta{min-height:52px;padding:0 24px;font-size:16.5px}
.hero-signin{font-size:16px}
.hero-note{font-size:14px}
.hero-strip ol{grid-template-columns:repeat(auto-fit,minmax(min(132px,100%),1fr));gap:12px}
.step{gap:8px;padding:16px 10px 14px;border-radius:18px}
.step-ico{width:40px}
.step-mid .step-ico{width:46px}
.step strong{font-size:16px}
.step small{font-size:12.5px}
.step-mid{padding:22px 10px 20px;border-radius:20px}
.step-mid strong{font-size:17px}
.hero-scene{margin-top:-12px;padding-bottom:20px}
}
/* Navigation remains visible at every width; no hidden mobile-only menu. */
@media (max-width: 1240px) {
  .nav { grid-template-columns: auto 1fr !important; align-items: center !important; row-gap: 10px; }
  .nav-brand { grid-column: 1; grid-row: 1; }
  .nav-links { grid-column: 1/-1; grid-row: 2; justify-content: center; flex-wrap: wrap; gap: 8px 24px !important; }
  .nav-actions { grid-column: 2; grid-row: 1; }
}
@media (max-width: 900px) {
  .care-grid { grid-template-columns: 1fr; }
  .care-card { padding: 26px; }
  .care-number { margin-bottom: 18px; }
  .session-panel { grid-template-columns: 1fr; }
  .session-copy { max-width: 560px; }
  .hero-strip ol { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
  .step strong { font-size: 12px; }
  .step small { font-size: 11px; }
  .step-mid strong { font-size: 13px; }
  .step { padding: 12px 4px; }
  .step-mid { padding: 18px 4px; }
}
@media (max-width: 600px) {
  .nav { grid-template-columns: 1fr !important; justify-items: center; row-gap: 10px; }
  .nav-brand { grid-column: 1; grid-row: 1; }
  .nav-brand img { width: 100px !important; }
  .nav-actions { grid-column: 1; grid-row: 2; justify-self: center !important; justify-content: center !important; gap: 8px !important; }
  .nav-actions a { font-size: 13px !important; padding: 0 13px !important; }
  .nav-links { grid-column: 1; grid-row: 3; column-gap: 18px !important; row-gap: 0 !important; }
  .navlink { font-size: 13px !important; }
  .hero-stage { padding-top: 16px; }
  .hero-comp { flex-wrap: wrap; column-gap: 12px; row-gap: 8px; padding: 16px; }
  .hero-comp-icon { width: 38px; height: 38px; border-radius: 12px; }
  .hero-comp-copy h2 { font-size: 18px; }
  .hero-comp-copy p { font-size: 10px; }
  .hero-comp-link { margin-left: 50px; padding: 0; border: 0; min-height: 44px; }

  .hero-strip ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .step-mid { grid-column: 1/-1; grid-row: 2; padding: 14px; }
  .step { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 6px; }
  .step small { flex-basis: 100%; }
  .step-ico, .step-mid .step-ico { width: 30px; }
  .step strong, .step-mid strong { font-size: 14px; }
  .step small { font-size: 12px; }
  .strip-line { display: none; }
  .hero-scene { margin-top: 0; }
  main > section:not(#request) { padding-top: 64px !important; padding-bottom: 64px !important; }
  #faq h2 { padding-top: 0 !important; border-top: 0 !important; }
  #request > div:last-child { padding-top: 64px !important; padding-bottom: 64px !important; }
  .session-panel { padding: 28px 22px; border-radius: 24px; }
  .session-guide { padding: 22px; }
  .session-copy h2 { font-size: 32px; }
  .session-section { padding-left: 12px !important; padding-right: 12px !important; }
  .clinician-card { align-items: flex-start !important; }
  .clinician-card img { width: 112px !important; height: 140px !important; }
}
@media (prefers-reduced-transparency: reduce) {
  .glass { backdrop-filter: none; -webkit-backdrop-filter: none; background: #fff !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .rise { animation: none; }
  .reveal-ready, .req-done, .req-fields { transform: none !important; transition: opacity 160ms ease; }
  .sv-open.reveal-ready { clip-path: none !important; transition: none; }
  .btn:active, a:hover .arr { transform: none; }
  .btn, .arr { transition: opacity 160ms ease; }
}
html.keyboard-nav { scroll-behavior: auto; }
html.keyboard-nav *, html.keyboard-nav *::before, html.keyboard-nav *::after { animation: none !important; transition: none !important; }
html.keyboard-nav .btn:active { transform: none; }
.info-page { background: #fbfbfd; color: var(--ink); font-family: 'Instrument Sans', -apple-system, BlinkMacSystemFont, sans-serif; -webkit-font-smoothing: antialiased; }
.info-header { max-width: 1000px; margin: auto; padding: 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.info-header img { display: block; object-fit: contain; }
.info-content { max-width: 700px; margin: 36px auto 80px; padding: 0 24px; }
.info-content h1 { font-size: clamp(40px, 7vw, 64px); line-height: 1.04; letter-spacing: -.04em; margin: 0 0 20px; }
.info-content p { font: 16px/1.75 'DM Sans', sans-serif; color: #3c3c43; overflow-wrap: anywhere; }
.info-content .eyebrow { color: var(--violet-ink); font-size: 13px; }
.info-content .info-lede { font-size: 20px; line-height: 1.5; }
.info-content > section { padding: 32px 0; border-bottom: 1px solid #e5e1eb; }
.info-content h2 { font-size: 25px; line-height: 1.2; letter-spacing: -.02em; margin: 0 0 20px; }
.info-content section p:last-child { margin-bottom: 0; }
.info-crisis { padding: 24px; background: #f3eefd; border-radius: 18px; margin: 36px 0 24px; }
.info-crisis p { margin-bottom: 0; }
.info-footer { padding: 24px; border-top: 1px solid #e5e1eb; text-align: center; color: var(--muted); font-size: 13px; }
@media (min-width: 981px) {
  .hero-cta-row { width: max-content; }
  .hero-side { align-self: start; margin-top: calc(var(--S) * .065); }
  .hero-scene { padding-bottom: 4px; }
}
/* Short laptop windows keep the same three-part composition at a denser scale. */
@media (min-width: 981px) and (max-height: 900px) {
  .hero { --logo: 64px; --h1: clamp(34px, calc(var(--S) * .043), 44px); --p: 14px; --photo: calc(var(--S) * .21); --scene: calc(var(--S) * .82); --strip: 660px; }
  .nav { grid-template-columns: 1fr auto 1fr !important; align-items: start !important; padding-top: 10px !important; column-gap: 16px !important; row-gap: 0; }
  .nav-brand { grid-column: 2; grid-row: 1; }
  .nav-links { grid-column: 1; grid-row: 1; justify-content: flex-start; gap: 0 18px !important; }
  .navlink { font-size: 13px !important; }
  .nav-actions { grid-column: 3; grid-row: 1; flex-wrap: nowrap !important; }
  .nav-actions a { white-space: nowrap; font-size: 13px !important; padding: 0 13px !important; }
  .hero-stage { padding-top: 10px; gap: 10px; }
  .hero-side { margin-top: 0; }
  .hero-photo > .glass { transform: scale(.82); transform-origin: bottom left; }
  .hero-insurance { bottom: 90px !important; }
  .hero-copy { gap: 12px; }
  .hero-lede { margin-top: 12px; }
  .hero-actions { gap: 6px; }
  .hero-comp { padding: 10px 16px; }
  .hero-comp-copy h2 { font-size: 17px; }
  .step { padding-top: 8px; padding-bottom: 8px; }
  .step-mid { padding-top: 12px; padding-bottom: 10px; }
  .hero-scene { margin-top: -34px; padding-bottom: 4px; }
}
