/* EMSCULPT NEO design for Square Mile Clinic (Ravi, 30 Sep 2026): his app/globals.css ported without Tailwind */
/* 1. base: the part of Tailwind's preflight his rules were written against */
*,::before,::after,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}
html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent}
hr{height:0;color:inherit;border-top-width:1px}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
b,strong{font-weight:bolder}
small{font-size:80%}
ol,ul,menu{list-style:none}
img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
button,input,select,optgroup,textarea{font:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:transparent;border-radius:0}
::placeholder{opacity:1;color:currentColor}
@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}
button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}
[hidden]:where(:not([hidden=until-found])){display:none!important}
/* 2. Ravi's rules, in his order */
:root{--background:#08131f;--foreground:#f5f9ff;--card:#101f30;--card-foreground:#f5f9ff;--popover:#101f30;--popover-foreground:#f5f9ff;--primary:#009fdd;--primary-foreground:#fff;--secondary:#14283c;--secondary-foreground:#f5f9ff;--muted:#152535;--muted-foreground:#aebecf;--accent:#164361;--accent-foreground:#fff;--border:#294055;--input:#496075;--ring:#45caff;--radius:.5rem;--cyan:#12b6f0;--pink:#d33087;--navy:#08131f;--ink:#ecf5ff}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:var(--navy);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}
button,input{font:inherit}
a{color:inherit;text-decoration:none}
button,a{touch-action:manipulation}
button{cursor:pointer}
button:disabled{opacity:.55;cursor:wait}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-weight:400;letter-spacing:-.045em;line-height:1.1}
h2{font-size:clamp(34px,4vw,60px)}
em{font-style:normal;color:var(--cyan)}
button,a,input{outline-offset:5px}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #6cdbff}
.skip{position:fixed;left:20px;top:-70px;background:white;color:#08131f;padding:10px;z-index:99}
.skip:focus{top:10px}
.announcement{background:#050c13;border-bottom:1px solid #142c3d;display:flex;justify-content:space-between;padding:8px 5%;font-size:11px;letter-spacing:.14em;color:#92b1c7}
.announcement>span:last-child{letter-spacing:.03em;color:#aebecf}
.header{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:8px 5%;min-height:108px;background:#091522}
.brand{display:flex;align-items:center;gap:14px}
.brand img{width:154px;height:91px;object-fit:contain}
.brand>span{font-size:10px;letter-spacing:.3em;writing-mode:vertical-rl;color:#7bacc8;border-left:1px solid #254356;padding-left:9px}
.nav{display:flex;gap:28px;font-size:14px;color:#c8d9e7}
.nav a:hover{color:var(--cyan)}
.button,.primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:49px;border:1px solid #25b8ed;border-radius:4px;background:linear-gradient(110deg,#007cae,#00a9df);color:white;padding:13px 23px;font-size:14px;font-weight:600;transition:box-shadow .25s,transform .25s}
.button:hover,.primary:hover{box-shadow:0 0 28px #009fdd55;transform:translateY(-2px)}
.menu-button{display:none}
.top-consultation{padding:0 5% 18px;background:#091522}
.consultation-box{background:linear-gradient(#edf8ff,#edf8ff) padding-box,linear-gradient(90deg,#70d5fb,#7c88e2,#cd65a4,#70d5fb) border-box;background-size:100% 100%,300% 100%;border:1.5px solid transparent;border-radius:7px;padding:13px 19px 9px;color:#132c43;animation:borderFlow 9s ease infinite}
.quick-form{display:grid;grid-template-columns:1fr 1.05fr 1.4fr 1.2fr auto;gap:0 17px;align-items:center}
.quick-heading h2{font-size:18px;letter-spacing:-.02em}
.quick-heading p{font-size:12px;color:#42657c;margin-top:5px}
.quick-field label{display:block;font-size:12px;color:#3d5b70;margin-bottom:4px}
.quick-field input{height:39px;width:100%;border:1px solid #c4d9e8;background:#fff;border-radius:4px;font-size:14px;padding:8px 10px;color:#132c43}
.quick-submit{min-height:39px;align-self:end;padding:9px 20px}
.quick-notice{grid-column:2/-1;font-size:11px;color:#466579;margin-top:4px}
.quick-notice a{text-decoration:underline}
.eyebrow{display:block;color:#5fccf3;font-size:12px;font-weight:500;letter-spacing:.17em;margin-bottom:23px}
.hero{min-height:645px;position:relative;isolation:isolate;overflow:hidden;background:#060f18}
.hero-athlete{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:60% 39%;z-index:-3}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#07111be8 0%,#07111bc7 27%,#07111b00 62%),linear-gradient(0deg,#071420 0%,transparent 22%);z-index:-2}
.hero-copy{padding:60px 6% 55px;max-width:780px}
.hero h1{font-size:clamp(58px,6.1vw,91px);line-height:1.01;letter-spacing:-.055em;font-weight:550}
.hero h1>span{color:#24b6ef;text-shadow:0 0 40px #168fe52b}
.hero-copy>p{max-width:350px;font-size:17px;line-height:1.8;color:#c0d4e3;margin:26px 0}
.hero-actions{display:flex;gap:22px;align-items:center}
.watch{display:flex;gap:10px;align-items:center;font-size:13px;color:#fff}
.watch>span{display:grid;place-items:center;width:37px;height:37px;border:1px solid #6a92aa;border-radius:50%;transition:background .2s}
.watch:hover>span{background:#009fdd}
.hero-proof{display:flex;align-items:center;gap:23px;margin-top:45px}
.hero-proof>span{font-size:17px;letter-spacing:.06em}
.hero-proof small{display:block;font-size:10px;letter-spacing:0;color:#97b6c9}
.hero-proof>b{font-size:16px;font-weight:400;color:#328fbb}
.hero-tag{position:absolute;bottom:60px;right:6%;display:flex;flex-direction:column;text-align:right;letter-spacing:.2em;font-size:12px}
.hero-tag strong{font-size:16px;letter-spacing:.06em;margin:6px 0}
.hero-tag small{font-size:9px;letter-spacing:0;color:#a6c4d5}
.benefit-ribbon{display:grid;grid-template-columns:repeat(4,1fr);padding:23px 6%;background:#0b2135;border-block:1px solid #193b54;gap:20px}
.benefit-ribbon>span{display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px;color:#b9d5e8}
.benefit-ribbon svg{color:#36b7e7}
.section{padding:88px 6%}
.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:45px}
.section-heading>p{max-width:350px;color:#9ab0c2;font-size:16px}
.benefits{background:#091827}
.benefit-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.benefit-card{padding:29px 27px 24px;text-align:left;border:1px solid #294458;border-top:2px solid #557791;background:linear-gradient(145deg,#122a40,#0a1a2a);border-radius:4px;transition:transform .3s,border-color .3s;display:flex;flex-direction:column}
.benefit-card:hover{transform:translateY(-5px);border-color:#39bfe9}
.benefit-card.fat{border-top-color:#c92377}
.benefit-card.muscle{border-top-color:#009fdd}
.card-number{font-size:11px;letter-spacing:.16em;color:#64c8ef}
.fat .card-number{color:#f58fbd}
.benefit-card h3{font-size:28px;margin:35px 0 16px;letter-spacing:-.04em}
.benefit-card p{font-size:15px;line-height:1.8;color:#abc0d0;margin-bottom:28px}
.card-link{display:flex;align-items:center;justify-content:space-between;font-size:13px;border-top:1px solid #284052;padding-top:20px;margin-top:auto;color:#cbeafb}
.fat .card-link{color:#f5bdd8}
.body-section{background:radial-gradient(ellipse at 48% 55%,#112850 0%,#071420 65%);padding-bottom:45px;overflow:hidden}
.body-section .section-heading{margin-bottom:35px}
.map-instructions{max-width:280px;color:#9fb8ca;font-size:15px}
.tour{display:inline-flex;align-items:center;gap:9px;color:#58caff;border:1px solid #2a4d69;border-radius:30px;padding:8px 14px;margin-top:16px;font-size:12px}
.body-explorer{display:grid;grid-template-columns:.83fr 1.85fr 1.08fr;align-items:center;gap:24px}
.area-navigation{display:flex;flex-direction:column}
.area-navigation button{display:flex;align-items:center;gap:13px;border-bottom:1px solid #203345;background:transparent;text-align:left;padding:15px 12px;color:#cbd9e3;border-radius:3px;transition:background .3s}
.area-navigation button>span{font-size:11px;color:#5985a0;width:18px}
.area-navigation button>div{font-size:15px;flex:1}
.area-navigation small{display:block;font-size:11px;color:#7699b0;margin-top:2px}
.area-navigation svg{opacity:.6}
.area-navigation button.active{background:linear-gradient(90deg,#084d73,#103049);border-color:#2b91bb;box-shadow:inset 3px 0 #0bb8fa}
.area-navigation button.active>span{color:#58d1ff}
.area-navigation button.active small{color:#a8d7ef}
.body-visual{position:relative;width:100%;aspect-ratio:1035/1519}
.body-visual>img{width:100%;height:100%;object-fit:contain;display:block;-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 97%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 97%,transparent);mask-composite:intersect}
.body-point{position:absolute;transform:translate(-50%,-50%);width:9.1%;height:auto;aspect-ratio:1;border-radius:50%;background:transparent;border:2px solid #84dfff80;box-shadow:0 0 0 3px #08b3ff14;padding:0;cursor:pointer;transition:border-color .2s,box-shadow .2s,background-color .2s}
.body-point:hover{border-color:#84dfff}
.body-point.selected{background:#ffffff59;border-color:#fff;box-shadow:0 0 0 4px #00bafa,0 0 26px #00bafacc;animation:pointPulse 2s infinite}
.area-details{background:#0f2235db;border:1px solid #274a64;border-radius:6px;padding:26px 23px;box-shadow:0 15px 50px #0002}
.area-detail-inner{animation:appear .35s ease}
.detail-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#56bee9;letter-spacing:.06em}
.area-details h3{font-size:37px;margin:25px 0 15px}
.area-details h4{font-size:19px;line-height:1.4;letter-spacing:-.02em}
.area-details p{font-size:14px;line-height:1.8;color:#9eb7c9;margin-top:17px}
.area-details ul{list-style:none;padding:0;margin:23px 0}
.area-details li{display:flex;gap:9px;font-size:13px;line-height:1.7;margin:10px 0;color:#d2e3ef}
.area-details li svg{flex-shrink:0;color:#32c4ff;margin-top:4px}
.goal-label{font-size:10px;letter-spacing:.12em;color:#79a1bd;border-top:1px solid #25435a;padding-top:20px;margin-top:25px}
.goal-options{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}
.goal-options button{font-size:10px;border:1px solid #315675;border-radius:3px;padding:6px 8px;color:#a7c6da}
.goal-options button.active{background:#0a85b7;color:white;border-color:#1dc6ff}
.area-details .goal-response{font-size:12px;line-height:1.65;min-height:57px;color:#94adc0}
.area-details .button{width:100%;font-size:13px;margin-top:18px;padding:12px 9px}
.results-note{display:block;font-size:10px;color:#7194ad;margin-top:13px;line-height:1.7}
.map-controls{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #25435a;margin-top:24px;padding-top:17px;font-size:11px;color:#7ca6c1}
.map-controls button{border:1px solid #294c64;padding:5px;border-radius:3px}
.map-controls button:hover{background:#174462}
.map-caption{text-align:center;font-size:11px;color:#7292a8;margin-top:25px}
.technology{display:grid;grid-template-columns:1fr 1.05fr;gap:8%;align-items:center;background:#f4faff;color:#0b253c}
.technology .eyebrow{color:#147eac}
.technology em{color:#0085be}
.tech-tabs{display:flex;margin:35px 0 25px;border-bottom:1px solid #bbd9e9;gap:20px}
.tech-tabs button{padding:10px 0 13px;color:#536e81;font-size:14px;border-bottom:3px solid transparent}
.tech-tabs button.active{border-color:#009fdd;color:#006b9c}
.tech-tabs button.fat{border-color:#c92377;color:#9f2361}
.tech-description{min-height:210px;animation:appear .3s}
.tech-tag{font-size:11px;letter-spacing:.13em;color:#007bb1}
.tech-tag.pink{color:#b3286f}
.tech-description h3{font-size:29px;margin:15px 0}
.tech-description p{font-size:16px;line-height:1.85;color:#526f83}
.source-link{font-size:11px;color:#58778c;border-bottom:1px solid #97b6c9;padding-bottom:3px}
.tech-visual{border-radius:8px;overflow:hidden;position:relative;background:#102c46;min-height:400px}
.tech-visual>img{height:400px;width:100%;object-fit:cover;display:block;animation:appear .3s}
.video-play{position:absolute;left:50%;bottom:23px;transform:translateX(-50%);background:#081c32e8;display:flex;align-items:center;gap:12px;border:1px solid #4282a9;border-radius:50px;padding:13px 20px;white-space:nowrap;color:white;font-size:13px}
.video-play:hover{background:#007ab2}
.human-section{display:grid;grid-template-columns:1fr 1fr;background:#0b2036;align-items:center;gap:0}
.human-section>img{width:100%;height:550px;object-fit:cover}
.human-section>div{padding:60px 12%}
.human-section p{margin:25px 0;color:#b4cbdb;line-height:1.85}
.human-section small{display:block;font-size:10px;color:#7493aa;margin-top:27px;max-width:320px}
.experience{background:#07121d}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.steps article{border-top:1px solid #29485f;padding-top:26px}
.steps article>span{font-size:43px;color:#267299;letter-spacing:-.045em}
.steps h3{font-size:27px;margin:23px 0 15px}
.steps p{font-size:15px;color:#9bb4c7;line-height:1.8}
.offers{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12%;background:radial-gradient(at 15% 80%,#093965,#081b31 60%)}
.offers>div>p{color:#9fbdd2;margin-top:26px;max-width:430px}
.price-match{display:flex;gap:15px;padding-top:28px;margin-top:32px;border-top:1px solid #264960;max-width:430px}
.price-match>svg{color:#32c4ff;flex-shrink:0;margin-top:4px}
.price-match p strong{display:block;font-size:17px;font-weight:400}
.price-match p span{display:block;font-size:13px;color:#8cacbf;margin-top:9px}
.offer-card{background:#102b43;border:1px solid #275b7c;border-radius:7px;padding:38px}
.offer-card h3{font-size:40px}
.offer-card p{font-size:17px;color:#b5cddb;margin:23px 0}
.offer-card ul{list-style:none;padding:0;margin:27px 0}
.offer-card li{font-size:14px;margin:11px 0;display:flex;gap:10px}
.offer-card li svg{color:#2ebffa}
.offer-card .button{width:100%}
.offer-card small{display:block;font-size:11px;color:#83a3ba;margin-top:17px;line-height:1.8}
.faq{display:grid;grid-template-columns:1fr 1.45fr;gap:9%;background:#081725}
.faq-list summary{font-size:16px;line-height:1.5;padding:23px 0;font-weight:400;text-align:left;letter-spacing:0}
.faq-answer{font-size:15px;color:#9bb6c9;line-height:1.85}
.location{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:center;background:#102538}
.location p{max-width:380px;color:#9dbace;margin:27px 0}
.address-card{padding-left:45px;border-left:1px solid #385c75}
.address-card svg{color:#5ecfff;margin-bottom:20px}
.address-card h3{font-size:28px;margin-bottom:20px}
.address-card address{font-style:normal;font-size:16px;line-height:1.9;color:#b0c7d6;margin-bottom:20px}
.text-link{font-size:14px;color:#60d3ff;border-bottom:1px solid #26799f;padding-bottom:3px}
footer{background:#25272b;color:#cdbda9;padding:45px 6% 25px}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:30px}
.by{font:italic 15px Georgia,serif}
.clinic-lockup{display:flex;align-items:center;gap:17px}
.clinic-lockup>img{width:70px;height:95px;object-fit:contain}
.clinic-lockup>span{font:23px/1.2 Georgia,serif;letter-spacing:.12em;display:flex;flex-direction:column;text-align:center;color:#e6d8c5}
.clinic-lockup strong{font:11px Arial,sans-serif;letter-spacing:.5em;margin:9px 0}
.clinic-lockup small{font:9px Arial,sans-serif;letter-spacing:.2em}
.footer-main>p{font-size:23px;line-height:1.4}
.footer-main>p>span{color:#918980}
.footer-main address{font-style:normal;font-size:14px;line-height:1.8;color:#b9b0a9}
.footer-bottom{display:flex;gap:25px;margin-top:40px;border-top:1px solid #4a4848;padding-top:22px;font-size:11px;color:#a69c94;flex-wrap:wrap}
.footer-bottom>span:last-child{margin-left:auto}
.footer-bottom a{text-decoration:underline}
.video-dialog{max-width:900px;width:90vw;padding:24px}
.video-dialog video{width:100%;max-height:70vh;background:#000;border-radius:4px}
@keyframes borderFlow{50%{background-position:0 0,100% 0}}
@keyframes pointPulse{50%{box-shadow:0 0 0 7px #00bafab3,0 0 38px #00bafa}}
@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1650px){
  .section{padding-inline:max(6%,calc((100% - 1450px)/2))}
  .body-visual{max-width:720px;justify-self:center}
  .hero-copy{padding-left:max(6vw,calc((100vw - 1450px)/2))}
  /* his 780px border-box max-width shrank the text to ~70px at 2560: keep the 1440 text width as the padding grows */
  .hero-copy{max-width:calc(607px + max(6vw,calc((100vw - 1450px)/2)) + 6vw)}
}
@media(max-width:1150px){
  .nav{gap:18px}
  .header-cta{padding-inline:15px}
  .quick-form{column-gap:12px}
  .quick-heading h2{font-size:16px}
  .quick-submit{font-size:12px;padding:9px 13px}
  .hero-copy{max-width:650px}
  .hero h1{font-size:72px}
  .hero-athlete{object-position:62% 50%}
  .hero-tag{right:4%;font-size:10px}
  .section{padding-inline:5%}
  .body-explorer{grid-template-columns:.8fr 1.5fr 1fr;gap:15px}
  .area-details{padding:22px 16px}
  .area-details h3{font-size:30px}
  .area-details h4{font-size:18px}
  .area-navigation button{padding:14px 8px;gap:9px}
  .area-navigation button>div{font-size:14px}
  .area-navigation small{font-size:10px}
  .benefit-card{padding:25px 22px}
  .benefit-card h3{font-size:25px}
  .technology{gap:5%}
  .human-section>div{padding:40px 9%}
  .human-section h2{font-size:43px}
  .offer-card{padding:30px}
}
@media(max-width:850px){
  .announcement>span:last-child{display:none}
  .announcement{justify-content:center}
  .header-cta{display:none}
  .header{min-height:90px}
  .brand img{height:75px;width:128px}
  .brand>span{font-size:9px}
  .quick-form{grid-template-columns:repeat(3,1fr)}
  .quick-heading{grid-column:1/3;display:flex;gap:12px;align-items:baseline;margin-bottom:11px}
  .quick-field{grid-row:2}
  .quick-submit{grid-row:1;grid-column:3;margin-bottom:10px;align-self:center}
  .quick-notice{grid-column:1/-1}
  .hero{min-height:625px}
  .hero-copy{padding-top:55px}
  .hero h1{font-size:67px}
  .hero-copy>p{max-width:300px}
  .hero-athlete{object-position:65% 50%;opacity:.75}
  .hero-shade{background:linear-gradient(90deg,#07111bf0,#07111b55 65%),linear-gradient(0deg,#071420,transparent 40%)}
  .hero-tag{display:none}
  .hero-proof{gap:18px}
  .benefit-ribbon{grid-template-columns:1fr 1fr;gap:18px}
  .section{padding:65px 5%}
  .section-heading{gap:30px}
  .section-heading>p{max-width:290px;font-size:14px}
  .benefit-cards{gap:12px}
  .benefit-card{padding:22px 17px}
  .benefit-card h3{font-size:24px;margin-top:25px}
  .benefit-card p{font-size:14px}
  .card-link{font-size:11px;gap:10px}
  .body-explorer{grid-template-columns:1.5fr 1fr}
  .area-navigation{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:20px}
  .area-navigation button{padding:10px;gap:7px;border:1px solid #243d51}
  .area-navigation small,.area-navigation svg{display:none}
  .area-navigation button>div{font-size:12px}
  .area-navigation button>span{font-size:9px;width:auto}
  .body-visual{grid-column:1}
  .area-details{grid-column:2}
  .technology{grid-template-columns:1fr;gap:30px}
  .tech-description{min-height:150px}
  .tech-visual,.tech-visual>img{height:380px;min-height:380px}
  .human-section>img{height:460px}
  .human-section h2{font-size:36px}
  .human-section p{font-size:15px}
  .human-section>div{padding:35px 8%}
  .steps{gap:20px}
  .steps h3{font-size:23px}
  .steps p{font-size:14px}
  .offers{gap:7%}
  .offer-card h3{font-size:32px}
  .faq{grid-template-columns:1fr;gap:30px}
  .footer-main{flex-wrap:wrap}
  .footer-main address{width:100%;border-top:1px solid #4a4848;padding-top:22px}
  .footer-bottom>span:last-child{margin-left:0}
}
@media(max-width:600px){
  .header{position:relative;padding:5px 5%}
  .menu-button{display:block;background:none;border:1px solid #2c485d;padding:8px;border-radius:3px}
  .nav{display:none;position:absolute;top:85px;left:0;right:0;z-index:30;background:#0b2134;padding:25px;border-block:1px solid #2a4c65}
  .nav.open{display:flex;flex-wrap:wrap;gap:20px}
  .quick-form{grid-template-columns:1fr 1fr;column-gap:10px}
  .quick-heading{grid-column:1/-1}
  .quick-field{grid-row:auto;margin-bottom:8px}
  .quick-field:has(input[type=tel]){grid-column:1}
  .quick-submit{grid-row:3;grid-column:2;align-self:end;margin-bottom:8px;min-height:39px}
  .consultation-box{padding:12px}
  .quick-notice{font-size:10px;line-height:1.6}
  .top-consultation{padding-bottom:15px}
  .hero{min-height:655px}
  .hero-athlete{object-position:68% 50%;opacity:.72}
  .hero-shade{background:linear-gradient(90deg,#07111be6,#07111b30),linear-gradient(0deg,#07111b 0%,transparent 75%)}
  .hero-copy{padding:45px 6% 30px}
  .hero .eyebrow{font-size:10px;max-width:220px;margin-bottom:24px}
  .hero h1{font-size:58px;line-height:1.02}
  .hero-copy>p{max-width:265px;font-size:16px;line-height:1.7;margin:25px 0}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:18px}
  .hero-proof{margin-top:35px}
  .hero-proof>span{font-size:15px}
  .hero-proof small{font-size:9px}
  .hero-proof{gap:14px}
  .benefit-ribbon{padding:20px 5%;gap:17px 10px}
  .benefit-ribbon>span{font-size:11px;gap:7px;justify-content:flex-start}
  .benefit-ribbon svg{width:16px}
  .section{padding:55px 6%}
  .section-heading{display:block;margin-bottom:30px}
  .section-heading>p{max-width:none;margin-top:22px;font-size:15px}
  .eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:19px}
  .benefit-cards{grid-template-columns:1fr;gap:13px}
  .benefit-card{padding:25px}
  .benefit-card h3{font-size:28px;margin:20px 0 15px}
  .benefit-card p{font-size:15px;margin-bottom:18px}
  .card-link{font-size:13px}
  .map-instructions{max-width:none;font-size:14px;margin-top:22px}
  .tour{margin-top:14px}
  .body-explorer{grid-template-columns:1fr;gap:15px}
  .area-navigation{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:4px}
  .area-navigation button{min-height:46px;padding:9px 7px;gap:5px}
  .area-navigation button>div{font-size:11px}
  .area-navigation button>span{font-size:9px}
  .body-visual{grid-column:1;max-width:480px;justify-self:center;margin-block:5px}
  .area-details{grid-column:1;padding:26px}
  .area-details h3{font-size:35px}
  .area-details h4{font-size:21px}
  .area-details p{font-size:15px}
  .area-details li{font-size:14px}
  .goal-label{font-size:11px}
  .goal-options button{font-size:12px;padding:8px 12px}
  .area-details .goal-response{font-size:13px;min-height:40px}
  .results-note{font-size:11px}
  .area-details .button{font-size:14px}
  .map-caption{font-size:10px;line-height:1.8}
  .tech-description{min-height:220px}
  .tech-tabs{margin-top:28px}
  .tech-tabs button{font-size:13px}
  .tech-description h3{font-size:28px}
  .tech-visual,.tech-visual>img{height:280px;min-height:280px}
  .source-link{font-size:10px}
  .human-section{grid-template-columns:1fr}
  .human-section>img{height:330px}
  .human-section>div{padding:40px 6%}
  .human-section h2{font-size:39px}
  .steps{grid-template-columns:1fr 1fr;gap:25px}
  .steps article>span{font-size:36px}
  .steps h3{margin-top:15px}
  .offers{grid-template-columns:1fr;gap:35px}
  .offer-card{padding:28px}
  .offers>div>p{font-size:15px}
  .offer-card h3{font-size:34px}
  .offer-card p{font-size:16px}
  .faq-list summary{font-size:15px}
  .faq-answer{font-size:14px}
  .location{grid-template-columns:1fr;gap:38px}
  .address-card{border-left:0;border-top:1px solid #385c75;padding:30px 0 0}
  .footer-main>p{display:none}
  .footer-bottom{gap:16px}
  .video-dialog{padding:18px}
}
/* 3. pieces his React components drew: the FAQ <details>, the video <dialog>, menu and tour icons */
.faq-list details{border-bottom:1px solid}
.faq-list details:last-child{border-bottom:0}
.faq-list summary{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-radius:6px;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:hover{text-decoration:underline}
.faq-list summary:focus-visible{outline:3px solid #6cdbff}
.faq-list summary h3{font-size:inherit;line-height:inherit;letter-spacing:0}
.faq-list summary svg{flex-shrink:0;color:var(--muted-foreground);transform:translateY(2px);transition:transform .2s}
.faq-list details[open] summary svg{transform:translateY(2px) rotate(180deg)}
.faq-answer{overflow:hidden}
.faq-answer p{padding-bottom:16px}
.video-dialog{position:fixed;inset:0;margin:auto;gap:16px;max-height:calc(100% - 2rem);overflow:auto;border:1px solid;border-radius:8px;background:var(--background);color:var(--ink);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}
.video-dialog[open]{display:grid;animation:dialogIn .2s ease-out}
.video-dialog::backdrop{background:#00000080}
.video-dialog>p{font-size:14px;line-height:1.43;color:var(--muted-foreground)}
.dialog-close{position:absolute;top:16px;right:16px;border-radius:2px;opacity:.7;transition:opacity .2s}
.dialog-close:hover{opacity:1}
@keyframes dialogIn{from{opacity:0;transform:scale(.95)}}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}
.menu-button .i-close,.tour .i-pause{display:none}
.menu-button[aria-expanded=true] .i-open,.tour.touring .i-play{display:none}
.menu-button[aria-expanded=true] .i-close,.tour.touring .i-pause{display:block}
/* 4. fleet pieces on his palette: CRM error box, contact links, skip link of the lib pages */
form.quick-form .alert-danger{grid-column:2/-1;margin-top:10px}
address a{transition:color .2s}
address a:hover{color:var(--cyan)}
.skip-link{position:fixed;left:20px;top:-70px;background:white;color:#08131f;padding:10px;z-index:99}
.skip-link:focus{top:10px}
/* 5. privacy, patient safety and 404 pages (lib markup) */
.page-hero{padding:88px 6% 40px;background:#091827}
.page-hero h1{font-size:clamp(40px,5vw,72px);line-height:1.04;letter-spacing:-.05em;font-weight:550}
.page-hero>p:not(.eyebrow){max-width:560px;margin-top:22px;color:#9ab0c2}
.page-hero .hero-actions{margin-top:34px;flex-wrap:wrap}
.prose-section{padding:20px 6% 88px;background:#091827}
.prose{max-width:820px;color:#b4cbdb;font-size:16px;line-height:1.85;overflow-wrap:break-word}
.prose>*+*{margin-top:16px}
.prose h2{font-size:clamp(26px,2.6vw,34px);color:#ecf5ff;margin-top:44px}
.prose h3{font-size:21px;line-height:1.3;letter-spacing:-.02em;color:#ecf5ff;margin-top:30px}
.prose ul{list-style:disc;padding-left:22px}
.prose li+li{margin-top:6px}
.prose a{color:#60d3ff;text-decoration:underline;text-underline-offset:3px}
.prose strong{color:#ecf5ff}
.prose em{font-style:italic;color:inherit}
.prose hr{border-color:#294055;margin-block:36px}
.prose-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:36px}
.prose .primary{color:#fff;text-decoration:none}
.prose .text-button{text-decoration:none}
.text-button{font-size:14px;color:#60d3ff;border-bottom:1px solid #26799f;padding-bottom:3px}
.action-arrow{flex-shrink:0}
/* 6. the fleet cookie banner (partial unchanged) on his palette: body-prefixed to outrank its inline style */
body #cookie-banner{background:#0b2134;color:#cfe0ec;border-top:1px solid #2a4c65;box-shadow:0 -16px 48px #00000066;font:400 14px/1.75 Arial,Helvetica,sans-serif}
body #cookie-banner p{color:#b4cbdb}
body #cookie-banner a{color:#60d3ff}
body #cookie-banner button{border-radius:4px;font:600 14px/1.4 Arial,Helvetica,sans-serif}
body #cookie-banner #deny-btn{background:transparent;color:#ecf5ff;border:1px solid #315675}
body #cookie-banner #deny-btn:hover{background:#174462}
body #cookie-banner #accept-all-btn,body #cookie-banner #accept-selected-btn{background:linear-gradient(110deg,#007cae,#00a9df);color:#fff;border:1px solid #25b8ed}
body #cookie-banner #accept-all-btn:hover,body #cookie-banner #accept-selected-btn:hover{box-shadow:0 0 28px #009fdd55;border-color:#25b8ed}
body #cookie-banner .more a{color:#9fb8ca}
body #cookie-banner .more a:hover{color:#60d3ff}
body #cookie-banner .toggle-container{color:#cfe0ec}
body #cookie-banner .toggle{background:#294055}
body #cookie-banner .toggle:checked{background:#009fdd}
body #cookie-banner .toggle:focus-visible{outline-color:#6cdbff}
@media(min-width:1650px){
  .page-hero,.prose-section{padding-inline:max(6%,calc((100% - 1450px)/2))}
}
@media(max-width:850px){
  form.quick-form .alert-danger{grid-column:1/-1}
}
@media(max-width:600px){
  .page-hero{padding:55px 6% 30px}
  .prose-section{padding:10px 6% 55px}
  .prose{font-size:15px}
  body #cookie-banner{font-size:13px}
}
/* the area name inside the Discuss button flows with its text (the button lays its children out as flex items) */
.button [data-area-name]{display:contents}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
