:root{
  --navy:#1b2a6b; --navy-dk:#121c4d; --teal:#2e8590; --teal-dk:#246b74; --teal-lt:#eaf4f5;
  --gray:#555c6b; --ink:#1a2030; --line:#e2e6ee; --soft:#f5f7fa;
  --shadow:0 12px 32px -14px rgba(18,28,77,.18);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Source Sans 3","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;color:var(--ink);background:#fff;line-height:1.7;font-size:18px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--teal)}
h1,h2,h3{font-family:"Montserrat","Segoe UI",system-ui,sans-serif;color:var(--navy);line-height:1.2;font-weight:600}
h1{font-size:clamp(2.1rem,4.4vw,3.25rem);letter-spacing:-.015em}
h2{font-size:clamp(1.6rem,2.8vw,2.2rem);letter-spacing:-.01em;margin-bottom:1rem}
h3{font-size:1.15rem;margin-bottom:.45rem}
p+p{margin-top:1rem}
.wrap{width:min(1140px,100% - 48px);margin-inline:auto}
.kicker{display:block;font-family:"Montserrat",sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:.9rem}
.lead{font-size:1.18rem;color:var(--gray);max-width:58ch}
.muted{color:var(--gray)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.topbar{height:4px;background:linear-gradient(90deg,var(--navy),var(--teal))}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:92px}
.brand img{height:64px;width:auto}
.menu{display:flex;align-items:center;gap:8px;list-style:none}
.menu a{display:block;padding:8px 14px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.98rem;border-bottom:2px solid transparent}
.menu a:hover{color:var(--teal)}
.menu a[aria-current="page"]:not(.btn){color:var(--navy);border-bottom-color:var(--teal)}
.menu .btn{margin-left:12px}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;width:46px;height:46px;cursor:pointer;color:var(--navy)}
.menu-toggle svg{width:22px;height:22px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--teal);color:#fff!important;text-decoration:none;font-family:"Montserrat",sans-serif;font-weight:600;font-size:.98rem;padding:15px 28px;border-radius:6px;border:0;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--teal-dk)}
.btn.small{padding:11px 20px;font-size:.92rem}
.btn.line{background:transparent;color:var(--navy)!important;border:2px solid var(--navy);padding:13px 26px}
.btn.line:hover{background:var(--navy);color:#fff!important}
.btn.white{background:#fff;color:var(--navy)!important}
.btn.white:hover{background:var(--teal-lt)}

/* hero */
.hero{background:linear-gradient(180deg,#f4f7fb 0%,#fff 100%);border-bottom:1px solid var(--line);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding:88px 0 96px}
.hero h1{margin-bottom:1.3rem}
.hero .lead{margin-bottom:2.2rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.emblem{width:100%;max-width:440px;margin-left:auto}
.page-hero{background:linear-gradient(180deg,#f4f7fb 0%,#fff 100%);border-bottom:1px solid var(--line)}
.page-hero .wrap{padding:76px 0 64px}
.page-hero h1{max-width:22ch;margin-bottom:1.1rem}

section.block{padding:92px 0}
section.soft{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.head{max-width:720px;margin-bottom:44px}

/* panels */
.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:34px;box-shadow:var(--shadow)}
.panel.accent{border-top:4px solid var(--teal)}
.panel.navy{background:var(--navy);border:0;color:#dfe4f4}
.panel.navy h2,.panel.navy h3{color:#fff}

.checks{list-style:none;display:grid;gap:14px}
.checks li{position:relative;padding-left:34px}
.checks li::before{content:"";position:absolute;left:0;top:5px;width:20px;height:20px;border-radius:50%;background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat}
.panel.navy .checks li::before{background-color:#48b0ba}

/* study list */
.studies{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.study{padding:30px 26px;border-right:1px solid var(--line)}
.study:last-child{border-right:0}
.study .ic{width:46px;height:46px;border-radius:50%;background:var(--teal-lt);color:var(--teal);display:grid;place-items:center;margin-bottom:18px}
.study .ic svg{width:23px;height:23px}
.study p{font-size:.98rem;color:var(--gray)}

.note{margin-top:26px;padding:22px 26px;border-left:4px solid var(--teal);background:var(--teal-lt);border-radius:0 8px 8px 0}
.note a{font-weight:600}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:n}
.step{position:relative;padding-top:8px}
.step .n{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.step .n b{flex:none;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:"Montserrat",sans-serif;font-weight:600}
.step .n i{flex:1;height:2px;background:linear-gradient(90deg,var(--teal),transparent)}
.step:last-child .n i{display:none}
.step p{color:var(--gray)}

/* cta */
.cta{background:linear-gradient(120deg,var(--navy-dk),var(--navy));color:#fff}
.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding:64px 0}
.cta h2{color:#fff;margin:0}

/* form */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full,fieldset{grid-column:1/-1}
label,legend{font-weight:600;font-size:.93rem;color:var(--navy)}
.req{color:var(--teal)}
input,select,textarea{font:inherit;font-size:1rem;padding:12px 14px;border:1px solid #cfd5e0;border-radius:6px;background:#fff;color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(46,133,144,.18)}
textarea{min-height:130px;resize:vertical}
fieldset{border:0}
legend{margin-bottom:8px}
.choices{display:flex;flex-wrap:wrap;gap:10px}
.choice{display:flex;align-items:center;gap:8px;border:1px solid #cfd5e0;border-radius:6px;padding:10px 16px;cursor:pointer;font-weight:500;color:var(--ink);font-size:.98rem}
.choice input{width:auto;accent-color:var(--teal)}
.choice:has(input:checked){border-color:var(--teal);background:var(--teal-lt)}
.form-status{grid-column:1/-1;display:none;padding:16px 18px;border-radius:6px;background:var(--teal-lt);color:var(--navy);font-weight:500;white-space:pre-line}
.form-status.show{display:block}
.form-status.err{background:#fdecec;color:#8a1c1c}

/* footer */
.site-footer{background:#fff;border-top:1px solid var(--line);padding:48px 0 30px;color:var(--gray);font-size:.95rem}
.foot{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.foot img{height:60px;width:auto}
.foot ul{list-style:none;display:flex;gap:26px;flex-wrap:wrap}
.foot a{color:var(--ink);text-decoration:none;font-weight:600}
.foot a:hover{color:var(--teal)}
.copy{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);font-size:.88rem}

.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;padding:64px 0 72px}
  .emblem{max-width:340px;margin:0 auto}
  .two,.contact-grid{grid-template-columns:1fr;gap:40px}
  .studies{grid-template-columns:1fr 1fr}
  .study:nth-child(2){border-right:0}
  .study:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .steps{grid-template-columns:1fr;gap:34px}
  .step .n i{display:none}
}
@media (max-width:860px){
  .menu-toggle{display:grid;place-items:center}
  .menu{position:absolute;top:96px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:10px 24px 22px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);display:none}
  .menu.open{display:flex}
  .menu a:not(.btn){padding:14px 4px;border-bottom:1px solid var(--line)}
  .menu a[aria-current="page"]:not(.btn){border-bottom-color:var(--line);color:var(--teal)}
  .menu .btn{margin:14px 0 0}
}
@media (max-width:600px){
  body{font-size:17px}
  .wrap{width:calc(100% - 32px)}
  .nav{height:76px}.menu{top:80px}
  .brand img{height:48px}
  .studies,.form{grid-template-columns:1fr}
  .study{border-right:0!important;border-bottom:1px solid var(--line)}
  .study:last-child{border-bottom:0}
  section.block{padding:64px 0}
  .panel{padding:26px}
  .hero-grid{padding:48px 0 60px}
  .emblem{max-width:260px}
  .foot img{height:50px}
}
.hero-photo,.photo{border-radius:12px;overflow:hidden;box-shadow:0 24px 50px -22px rgba(18,28,77,.35);background:var(--soft)}
.hero-photo img,.photo img{width:100%;height:100%;object-fit:cover}
.hero-photo{aspect-ratio:4/3;position:relative}
.hero-photo::after{content:"";position:absolute;inset:0;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
@media (min-width:981px){.hero-grid{grid-template-columns:1fr 1fr}}
.hero-split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.page-hero .hero-split{padding:72px 0 80px}
.stack{display:grid;gap:24px}
.photo{min-height:100%}
@media (max-width:980px){.hero-split{grid-template-columns:1fr;gap:40px}.photo{aspect-ratio:4/3;min-height:0}}

/* ===== v4 detail ===== */
.kicker.light{color:#7fd0d8}
.hero-media{position:relative}
.hero-media .hero-photo{aspect-ratio:5/4}
.badge{position:absolute;display:flex;align-items:center;gap:12px;background:#fff;border-radius:10px;padding:14px 18px;box-shadow:0 18px 40px -16px rgba(18,28,77,.35);border:1px solid var(--line)}
.badge b{display:block;font-family:"Montserrat",sans-serif;color:var(--navy);font-size:.98rem;line-height:1.2}
.badge span:not(.bi){font-size:.86rem;color:var(--gray)}
.b1{left:-28px;bottom:36px}.b2{right:-20px;top:28px}
.bi{flex:none;width:40px;height:40px;border-radius:50%;background:var(--teal-lt);color:var(--teal);display:grid;place-items:center}
.bi svg{width:20px;height:20px}

.glance{background:var(--navy);color:#dfe4f4}
.glance-row{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;padding:34px 0}
.glance-title{color:#fff;font-size:1.25rem;margin:0;white-space:nowrap;padding-right:40px;border-right:1px solid rgba(255,255,255,.2)}
.glance ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;font-size:.95rem;line-height:1.5}
.glance li{display:flex;gap:12px;align-items:flex-start}
.glance li span{flex:none;width:34px;height:34px;border-radius:50%;background:rgba(72,176,186,.18);color:#7fd0d8;display:grid;place-items:center}
.glance li svg{width:17px;height:17px}

.media-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.photo.tall{aspect-ratio:4/5;min-height:0}
.photo.tall img{object-position:40% center}
.who{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.who>div{border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:8px;padding:18px 20px;background:#fff}
.who h3{font-size:1.02rem;margin-bottom:4px}
.who p{font-size:.95rem;color:var(--gray);line-height:1.5}
.modes{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.modes span{font-size:.9rem;font-weight:600;color:var(--navy);background:var(--teal-lt);padding:7px 14px;border-radius:999px}

.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.head-row h2{margin:0;max-width:22ch}
.textlink{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none;color:var(--teal)}
.textlink svg{width:18px;height:18px;transition:transform .2s}.textlink:hover svg{transform:translateX(3px)}
a.study{text-decoration:none;color:inherit;transition:background .2s}
a.study:hover{background:var(--teal-lt)}

.flow3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative}
.flow3::before{content:"";position:absolute;top:36px;left:12%;right:12%;border-top:2px dashed #c3ccdc;z-index:0}
.fstep{position:relative;z-index:1;background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px;box-shadow:var(--shadow)}
.fic{width:56px;height:56px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;margin:-56px 0 18px;border:6px solid #fff;box-sizing:content-box}
.fic svg{width:24px;height:24px}
.fnum{display:block;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:6px}
.fstep p{color:var(--gray)}
#how-it-works .flow3{margin-top:70px}

.feature{display:grid;grid-template-columns:1fr 1fr;background:var(--navy-dk);color:#dfe4f4}
.feature-img{min-height:560px}
.feature-img img{width:100%;height:100%;object-fit:cover}
.feature-body{padding:80px 64px;max-width:620px}
.feature-body h2{color:#fff}
.feature-body .checks{margin:24px 0 34px}
.feature-body .checks li::before{background-color:#48b0ba}
.gs{border-top:1px solid rgba(255,255,255,.15);padding-top:26px}
.gs h3{color:#fff}
.gs p{color:#bcc6e4}

.cta-photo{position:relative;color:#fff;text-align:center;background:linear-gradient(rgba(13,21,60,.86),rgba(13,21,60,.9))}
.cta-photo .wrap{padding:96px 0;max-width:760px}
.cta-photo h2{color:#fff}
.cta-photo p{color:#cfd6ee;margin:0 auto 30px;font-size:1.1rem}

.opts{display:grid;gap:14px;margin-top:28px}
.opt{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 20px}
.opt h3{font-size:1.02rem;margin:0}
.opt p{font-size:.93rem;color:var(--gray);line-height:1.4;margin-top:2px}

.tat{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tat-card{border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:10px;padding:32px;box-shadow:var(--shadow)}
.tat-card .bi{width:48px;height:48px;margin-bottom:18px}
.tat-card b{display:block;font-family:"Montserrat",sans-serif;font-size:1.5rem;color:var(--navy);margin-bottom:8px}
.tat-card p{color:var(--gray)}

@media (max-width:980px){
  .glance-row{grid-template-columns:1fr;gap:20px}
  .glance-title{border:0;padding:0}
  .glance ul{grid-template-columns:1fr 1fr}
  .media-split,.feature,.tat{grid-template-columns:1fr;gap:40px}
  .photo.tall{aspect-ratio:4/3}
  .flow3{grid-template-columns:1fr;gap:56px}.flow3::before{display:none}
  .feature{gap:0}.feature-img{min-height:0;aspect-ratio:4/3}
  .feature-body{padding:56px 24px;max-width:none}
  .b1{left:12px;bottom:12px}.b2{right:12px;top:12px}
}
@media (max-width:600px){
  .glance ul,.who{grid-template-columns:1fr}
  .badge{padding:10px 12px}.badge .bi{display:none}
  .cta-photo .wrap{padding:64px 0}
}

/* ===== v5 ===== */
.center.head{margin-inline:auto;text-align:center}
.aud{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.aud-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:40px 36px;box-shadow:var(--shadow);overflow:hidden}
.aud-card::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--navy),var(--teal))}
.aud-card .bi{width:54px;height:54px;margin-bottom:22px}.aud-card .bi svg{width:26px;height:26px}
.aud-card h3{font-size:1.35rem;margin-bottom:.8rem;line-height:1.3}
.aud-card p{color:var(--gray)}
.feature-body>p{color:#bcc6e4;margin-bottom:28px}
.feature-links{display:flex;gap:14px;flex-wrap:wrap}
.btn.ghost-w{background:transparent;border:2px solid rgba(255,255,255,.5);padding:13px 26px}
.btn.ghost-w:hover{background:rgba(255,255,255,.1)}
.cta-photo h2{font-size:clamp(1.5rem,2.8vw,2.1rem);margin-bottom:28px;line-height:1.3}

.hiw{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.hiw-media{position:relative;padding:0 40px 90px 0}
.hiw-media .hm1{aspect-ratio:4/3}
.hiw-media .hm2{position:absolute;right:0;bottom:0;width:58%;aspect-ratio:4/3;border:6px solid #fff}
.hiw-steps{list-style:none;display:grid;gap:18px;position:relative}
.hiw-steps li{display:flex;gap:20px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 26px;box-shadow:var(--shadow)}
.hn{flex:none;width:48px;height:48px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:"Montserrat",sans-serif;font-weight:600;font-size:1.1rem}
.hiw-steps h3{font-size:1.15rem}
.hiw-steps p{color:var(--gray);font-size:1rem}

.caps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cap{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:14px}
.cap p{font-weight:500;line-height:1.5}
.cap:last-child{grid-column:span 2;flex-direction:row;align-items:center;background:var(--navy);border:0}
.cap:last-child p{color:#fff}
.cap:last-child .bi{background:rgba(72,176,186,.2);color:#7fd0d8}

.form-note{grid-column:1/-1;display:flex;gap:10px;align-items:center;font-size:.95rem;color:var(--navy);background:var(--teal-lt);border-radius:6px;padding:12px 14px}
.form-note svg{width:20px;height:20px;flex:none;color:var(--teal)}
.contact-grid aside .photo{aspect-ratio:4/3}

@media (max-width:980px){
  .aud,.hiw{grid-template-columns:1fr;gap:40px}
  .caps{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .caps{grid-template-columns:1fr}.cap:last-child{grid-column:auto}
  .hiw-media{padding:0 20px 60px 0}
  .aud-card{padding:30px 24px}
  .hiw-steps li{padding:20px;gap:16px}
}
.hiw-media .photo{min-height:0}
.hiw-media .hm1{width:100%}
.feature-img img{object-position:30% center}
.hero-photo img[src*="reader-office"]{object-position:35% center}
.hiw-media .hm1{aspect-ratio:3/2}
.hiw-media .hm1 img{object-position:35% center}
.hiw-media .hm2{width:52%;aspect-ratio:612/440;background:#000}
.hiw-media .hm2 img,.photo.dop img{object-fit:contain;background:#000}
.tat-wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.photo.dop{aspect-ratio:612/440;min-height:0;background:#000}
.tat.one{grid-template-columns:1fr;gap:18px}
@media (max-width:980px){.tat-wrap{grid-template-columns:1fr;gap:36px}}
.feature.noimg{grid-template-columns:1fr;text-align:center;background:radial-gradient(700px 300px at 85% 0%,rgba(46,133,144,.35),transparent 60%),var(--navy-dk)}
.feature.noimg .feature-body{max-width:780px;margin:0 auto;padding:84px 24px}
.feature.noimg .feature-links{justify-content:center}
.media-split.solo{grid-template-columns:1fr;max-width:820px}
.media-split.solo .lead{max-width:none}
.tat-wrap{grid-template-columns:1fr}
.tat.one{grid-template-columns:1fr 1fr}
@media (max-width:760px){.tat.one{grid-template-columns:1fr}}
#services .opts,.opts{grid-template-columns:repeat(3,1fr)}
@media (max-width:760px){.opts{grid-template-columns:1fr}}
.cta-photo{background:radial-gradient(700px 320px at 15% 0%,rgba(46,133,144,.4),transparent 60%),linear-gradient(120deg,var(--navy-dk),var(--navy))}
.hiw-media{padding:0}.hiw-media .hm1{aspect-ratio:4/3}

/* ===== v6 ===== */
.cta-photo p{color:#cfd6ee;margin:0 auto 30px;font-size:1.1rem;max-width:60ch}
.cta-photo h2{margin-bottom:14px}
.aud-card.has-img{padding:0}
.aud-card.has-img .photo{border-radius:0;box-shadow:none;aspect-ratio:16/9}
.aud-card.has-img .aud-body{padding:30px 32px 34px}
.opts.stack1{grid-template-columns:1fr!important}
.media-split .photo.dop{aspect-ratio:612/440}
.about-caps{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.cap-list{background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px;box-shadow:var(--shadow);gap:16px}
.duo{display:grid;gap:18px}
.duo .photo{aspect-ratio:4/3}
.duo .photo.dop{aspect-ratio:612/440}
.hiw-media .hm1{aspect-ratio:4/3}
@media (max-width:980px){.about-caps{grid-template-columns:1fr}}
.aud-card.has-img .photo,.media-split .photo,.duo .photo,.about-caps .photo{min-height:0}
.cta-photo h2{max-width:26ch;margin-inline:auto;margin-bottom:28px}
.hero-photo.dop{background:#000}.hero-photo.dop img,.aud-card .photo.dop img{object-fit:contain;background:#000}.about-caps .photo{aspect-ratio:4/3}
/* Doppler image: always show the full image at its natural shape */
.photo.dop,.hero-photo.dop,.aud-card.has-img .photo.dop,.media-split .photo.dop,.duo .photo.dop{aspect-ratio:612/440!important;min-height:0!important;height:auto;background:#000}
.photo.dop img,.hero-photo.dop img{width:100%;height:100%;object-fit:fill!important}
.aud-card.has-img .photo{aspect-ratio:612/440}
.aud-card.has-img{padding-top:5px}
.contact-top{background:linear-gradient(180deg,#f4f7fb,#fff);padding:48px 0 8px}
.contact-top h1{font-size:clamp(1.9rem,3.6vw,2.6rem);margin-bottom:.7rem}
.contact-block{padding-top:32px}
@media (min-width:981px){.contact-grid{grid-template-columns:.8fr 1.2fr}}
.contact-grid .form{order:2}.contact-grid aside{order:1}
@media (max-width:980px){.contact-grid .form{order:1}.contact-grid aside{order:2}}

/* ===== patient version ===== */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.svc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:transform .2s}
.svc:hover{transform:translateY(-3px)}
.svc .photo{border-radius:0;box-shadow:none;aspect-ratio:612/440;min-height:0}
.svc-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.svc-body h3{font-size:1.08rem;margin:0}
.svc-body p{color:var(--gray);font-size:.97rem;line-height:1.55;flex:1}
.svc-list{display:grid;gap:28px}
.svc-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.svc-row:nth-child(even) .photo{order:2}
.svc-row .photo{aspect-ratio:612/440;min-height:0}
.svc-row .bi{width:48px;height:48px;margin-bottom:14px}
.svc-row h2{font-size:1.6rem;margin-bottom:.6rem}
.svc-row p{font-size:1.1rem}
@media (max-width:1100px){.svc-grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.svc-grid{grid-template-columns:1fr}.svc-row{grid-template-columns:1fr;gap:20px}.svc-row:nth-child(even) .photo{order:0}}
.svc .svc-body .bi{width:52px;height:52px;margin-bottom:8px}.svc .svc-body .bi svg{width:26px;height:26px}
.svc{border-top:4px solid var(--teal)}
.svc-list{grid-template-columns:1fr 1fr}
.svc-row.noimg{grid-template-columns:1fr;padding:32px;border-top:4px solid var(--teal)}
.svc-list .note{grid-column:1/-1}
.hiw.solo{grid-template-columns:1fr}
.hiw.solo .hiw-steps{grid-template-columns:repeat(3,1fr)}
.hiw.solo .hiw-steps li{flex-direction:column}
.about-caps.solo{grid-template-columns:1fr}
.about-caps.solo .cap-list{grid-template-columns:1fr 1fr;display:grid}
.contact-grid aside .photo{aspect-ratio:4/5}
.contact-grid aside .photo img{object-position:35% center}
@media (max-width:980px){.svc-list,.hiw.solo .hiw-steps,.about-caps.solo .cap-list{grid-template-columns:1fr}.contact-grid aside .photo{aspect-ratio:4/3}}

/* ===== single page ===== */
.hdr-btn{margin-left:auto}
.svc-feature{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.svc-stack{display:grid;gap:14px}
.svc-item{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:10px;padding:18px 20px}
.svc-item h3{font-size:1.08rem;margin-bottom:4px}
.svc-item p{color:var(--gray);font-size:.98rem;line-height:1.55}
.steps3{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.steps3 li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;box-shadow:var(--shadow)}
.steps3 .hn{margin-bottom:16px}
.steps3 p{color:var(--gray)}
.checks.two-col{grid-template-columns:1fr 1fr;column-gap:32px}
@media (max-width:980px){.svc-feature,.steps3,.checks.two-col{grid-template-columns:1fr}}
.fsteps{list-style:none;display:grid;gap:18px;margin-top:22px}
.fsteps li{display:flex;gap:16px}
.fsteps .hn{background:#48b0ba;color:var(--navy-dk);width:40px;height:40px;font-size:1rem}
.fsteps h3{color:#fff;font-size:1.05rem;margin-bottom:4px}
.fsteps p{color:#bcc6e4;font-size:.97rem;line-height:1.55}
.feature-img{min-height:640px}
.aud-card .bi{display:grid}
.closing{margin-top:32px;text-align:center;font-family:"Montserrat",sans-serif;font-weight:600;color:var(--navy);font-size:clamp(1.15rem,2vw,1.45rem);max-width:30ch;margin-inline:auto;line-height:1.4}
.svc-stack>h3{margin-bottom:2px}
@media (max-width:980px){.feature-img{min-height:0}}

/* ===== animated opening ===== */
.hero-anim{position:relative;overflow:hidden}
.hero-anim .hero-grid{position:relative;z-index:2}
.hero-wave{position:absolute;left:0;right:0;bottom:18px;width:100%;height:120px;z-index:1;pointer-events:none}
.hero-wave path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.hero-wave .w1{stroke:rgba(46,133,144,.14);stroke-width:2}
.hero-wave .w2{stroke:url(#none);stroke:#2e8590;stroke-width:2.5;stroke-dasharray:180 2400;stroke-dashoffset:2580;opacity:.55;animation:trace 6s linear infinite}
@keyframes trace{to{stroke-dashoffset:0}}
.sonar{position:absolute;right:-120px;top:-120px;width:520px;height:520px;z-index:0;pointer-events:none}
.sonar i{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(46,133,144,.25);animation:ping 6s ease-out infinite;opacity:0}
.sonar i:nth-child(2){animation-delay:2s}.sonar i:nth-child(3){animation-delay:4s}
@keyframes ping{0%{transform:scale(.2);opacity:.9}100%{transform:scale(1.25);opacity:0}}
.hero-anim .hero-photo{overflow:hidden}
.hero-anim .hero-photo img{animation:kb 18s ease-in-out infinite alternate;transform-origin:60% 40%}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.09)}}
.hero-anim h1,.hero-anim .lead,.hero-anim .kicker{animation:rise .9s ease both}
.hero-anim .lead{animation-delay:.2s}.hero-anim h1{animation-delay:.1s}
.hero-anim .hero-media{animation:rise 1s .25s ease both}
.hero-anim .badge.b1{animation:rise .8s .9s ease both,float 5s 2s ease-in-out infinite}
.hero-anim .badge.b2{animation:rise .8s 1.2s ease both,float 5s 3s ease-in-out infinite}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (max-width:600px){.hero-wave{height:70px;bottom:6px}.sonar{width:300px;height:300px;right:-100px;top:-80px}}
@media (prefers-reduced-motion:reduce){.hero-anim *{animation:none!important}.hero-wave .w2{display:none}}

/* ===== animated opening v2 ===== */
.hero-anim::before{content:"";position:absolute;inset:-20%;z-index:0;pointer-events:none;background:
 radial-gradient(40% 50% at 15% 20%,rgba(46,133,144,.12),transparent 70%),
 radial-gradient(35% 45% at 85% 80%,rgba(27,42,107,.10),transparent 70%);animation:drift 16s ease-in-out infinite alternate}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(4%,-3%)}}
.scanwrap{position:relative}
.scanline{position:absolute;top:0;bottom:0;left:0;width:18%;border-radius:12px;pointer-events:none;
 background:linear-gradient(90deg,transparent,rgba(72,176,186,.28),rgba(255,255,255,.35),rgba(72,176,186,.28),transparent);
 mix-blend-mode:screen;animation:scan 5.5s cubic-bezier(.45,0,.55,1) 1.2s infinite;opacity:0}
@keyframes scan{0%{left:-18%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:100%;opacity:0}}
.scanwrap .hero-photo{position:relative}

.tracker{margin-top:30px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px 16px;box-shadow:var(--shadow);max-width:520px;animation:rise .9s .5s ease both}
.tr-head{display:flex;align-items:center;gap:10px;font-family:"Montserrat",sans-serif;font-weight:600;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}
.tr-head .dot{width:9px;height:9px;border-radius:50%;background:#2e8590;box-shadow:0 0 0 0 rgba(46,133,144,.5);animation:live 1.8s infinite}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(46,133,144,.5)}100%{box-shadow:0 0 0 10px rgba(46,133,144,0)}}
.tr-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tr{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:10px 6px;border-radius:10px;color:var(--gray);transition:none}
.tr b{font-size:.86rem;font-weight:600;line-height:1.25}
.tri{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:#9aa5b8;border:2px solid var(--line)}
.tri svg{width:20px;height:20px}
.tr.s1{animation:stepOn 7.5s infinite}.tr.s1 .tri{animation:iconOn 7.5s infinite}
.tr.s2{animation:stepOn 7.5s 1.9s infinite}.tr.s2 .tri{animation:iconOn 7.5s 1.9s infinite}
.tr.s3{animation:stepOn 7.5s 3.8s infinite}.tr.s3 .tri{animation:iconOn 7.5s 3.8s infinite}
@keyframes stepOn{0%,4%{color:var(--gray);background:transparent}10%,70%{color:var(--navy);background:var(--teal-lt)}80%,100%{color:var(--gray);background:transparent}}
@keyframes iconOn{0%,4%{background:var(--soft);color:#9aa5b8;border-color:var(--line);transform:scale(1)}10%{transform:scale(1.12)}14%,70%{background:#2e8590;color:#fff;border-color:#2e8590;transform:scale(1)}80%,100%{background:var(--soft);color:#9aa5b8;border-color:var(--line)}}
.tr-bar{margin-top:14px;height:5px;border-radius:5px;background:var(--soft);overflow:hidden}
.tr-bar i{display:block;height:100%;width:0;border-radius:5px;background:linear-gradient(90deg,var(--navy),var(--teal));animation:bar 7.5s ease-in-out infinite}
@keyframes bar{0%{width:0}8%{width:12%}33%{width:45%}58%{width:100%}80%{width:100%;opacity:1}92%,100%{width:100%;opacity:0}}
@media (max-width:600px){.tr b{font-size:.78rem}.tracker{padding:16px 14px}}
@media (prefers-reduced-motion:reduce){.hero-anim::before,.scanline{display:none}.tr,.tri,.tr-bar i{animation:none!important}.tr-bar i{width:100%}}
.hero-anim .hero-grid{padding-top:64px;padding-bottom:84px}.hero-anim h1{font-size:clamp(2rem,3.9vw,3rem)}

/* ================= MODERN REFRESH ================= */
:root{--r:22px;--shadow:0 1px 2px rgba(16,24,64,.04),0 12px 40px -12px rgba(16,24,64,.14);--line:#e8ebf2;--soft:#f6f8fc}
body{font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:17px;color:#1b2133}
h1,h2,h3,.btn,.kicker,.glance-title,.tr-head,.closing,.badge b{font-family:"Plus Jakarta Sans","Inter",system-ui,sans-serif!important}
h1{font-weight:800;letter-spacing:-.035em;line-height:1.05}
h2{font-weight:800;letter-spacing:-.025em}
h3{font-weight:700;letter-spacing:-.01em}
.lead{color:#5a6275}

/* glass header */
.site-header{background:rgba(255,255,255,.72);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid rgba(20,30,80,.06)}
.topbar{display:none}
.nav{height:78px}
.brand img{height:54px}

/* pill buttons */
.btn{border-radius:999px;padding:14px 26px;font-weight:700;letter-spacing:-.005em;box-shadow:0 8px 20px -8px rgba(46,133,144,.6)}
.btn.small{padding:11px 22px;box-shadow:0 6px 16px -8px rgba(46,133,144,.7)}
.btn:hover{transform:translateY(-1px)}

/* eyebrow pills */
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;letter-spacing:.14em;background:rgba(46,133,144,.1);color:#237580;padding:7px 14px;border-radius:999px}
.kicker.light{background:rgba(127,208,216,.14);color:#8fe0e7}

/* hero */
.hero{border-bottom:0;background:radial-gradient(1200px 500px at 100% 0%,#e9f5f6 0%,transparent 60%),linear-gradient(180deg,#f7f9fd,#fff)}
.hero-anim h1{font-size:clamp(2.3rem,4.6vw,3.6rem)}
.hero-photo,.photo{border-radius:28px!important}
.hero-photo{box-shadow:0 30px 80px -30px rgba(16,24,64,.45)}
.badge{border-radius:16px;border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 40px -18px rgba(16,24,64,.4)}
.tracker{border-radius:20px;background:rgba(255,255,255,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(20,30,80,.07)}
.tr{border-radius:14px}

/* at a glance -> bento cards */
.glance{background:transparent;padding:0 0 20px;margin-top:-10px}
.glance-row{display:block;padding:0}
.glance-title{display:none}
.glance ul{grid-template-columns:repeat(4,1fr);gap:16px}
.glance li{flex-direction:column;gap:14px;background:linear-gradient(160deg,#1b2a6b,#121c4d);color:#dfe5f7;border-radius:22px;padding:24px;font-size:.98rem;line-height:1.5;box-shadow:var(--shadow)}
.glance li span{width:44px;height:44px;background:rgba(127,208,216,.15)}
.glance li svg{width:20px;height:20px}

/* sections & cards */
section.block{padding:100px 0}
section.soft{background:var(--soft);border:0}
.aud-card,.panel,.svc-item,.cap-list,.fstep,.steps3 li,.note{border-radius:22px!important}
.aud-card{padding:36px;border:1px solid var(--line);box-shadow:var(--shadow)}
.aud-card::before{display:none}
.aud-card .bi{width:52px;height:52px;background:linear-gradient(135deg,#e6f3f4,#e7ebf7)}
.panel{border:1px solid var(--line);box-shadow:var(--shadow)}
.panel.accent{border-top:1px solid var(--line)}
.panel.navy{background:linear-gradient(160deg,#1b2a6b,#121c4d)}
.svc-item{border-left:1px solid var(--line);padding:18px 22px;box-shadow:0 1px 2px rgba(16,24,64,.04);transition:transform .25s,box-shadow .25s}
.svc-item:hover{transform:translateX(4px);box-shadow:var(--shadow)}
.svc-item .bi{background:linear-gradient(135deg,#e6f3f4,#e7ebf7)}
.note{border-left:0;background:#fff;border:1px dashed #c9d3e3}
.cap-list{border:1px solid var(--line)}
.checks li::before{background-color:#2e8590}

/* feature (how it works) */
.feature{border-radius:32px;overflow:hidden;width:min(1180px,100% - 48px);margin:0 auto;box-shadow:0 40px 90px -40px rgba(16,24,64,.5)}
.feature-body{padding:64px 56px}
.fsteps li{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px}
section.feature + section{margin-top:0}

/* about image */
.photo.tall{border-radius:28px!important}
.closing{font-weight:800;letter-spacing:-.02em}

/* contact */
.contact-top{background:radial-gradient(900px 400px at 100% 0%,#e9f5f6,transparent 60%),#f7f9fd}
.form{border-radius:24px!important}
input,select,textarea{border-radius:12px;background:#f8fafc;border:1px solid #dfe4ee}
.choice{border-radius:999px}

/* footer */
.site-footer{background:#fff;border-top:1px solid var(--line)}

@media (max-width:980px){.glance ul{grid-template-columns:1fr 1fr}.feature{width:calc(100% - 32px);border-radius:24px}.feature-body{padding:40px 24px}}
@media (max-width:600px){.glance ul{grid-template-columns:1fr}.brand img{height:42px}.nav{height:68px}}

/* ===== How It Works: see-through panel over the photo ===== */
.feature{position:relative;display:block;min-height:720px;background:#0d1440}
.feature-img{position:absolute;inset:0;min-height:0!important}
.feature-img img{width:100%;height:100%;object-fit:cover;object-position:62% center}
.feature-body{position:relative;z-index:1;width:min(560px,100%);margin:0;padding:56px 48px;max-width:none;
 background:linear-gradient(135deg,rgba(18,28,77,.78),rgba(18,28,77,.55));
 backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
 border-right:1px solid rgba(255,255,255,.12);min-height:720px;display:flex;flex-direction:column;justify-content:center}
.feature-body .fsteps li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}
@media (max-width:980px){
 .feature{min-height:0}
 .feature-img{position:relative;aspect-ratio:16/9}
 .feature-img img{object-position:70% center}
 .feature-body{width:100%;min-height:0;background:linear-gradient(160deg,#1b2a6b,#121c4d);backdrop-filter:none;border:0}
}
/* more see-through */
@media (min-width:981px){
 .feature-body{background:linear-gradient(135deg,rgba(18,28,77,.55),rgba(18,28,77,.28));backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
 .feature-body h2,.feature-body h3,.feature-body p{text-shadow:0 1px 3px rgba(8,12,40,.7)}
 .feature-body .fsteps li{background:rgba(13,20,64,.35);border-color:rgba(255,255,255,.18)}
 .feature-img img{filter:brightness(1.05) contrast(1.05)}
}
.hero-photo img[src*="echo-scan"]{object-position:75% 20%}.photo img[src*="carotid-scan"]{object-position:65% 40%}
.photo.tall:has(img[src*="carotid-scan"]){aspect-ratio:920/840}.photo.tall img[src*="carotid-scan"]{object-position:center}
/* swapped photos */
.hero-photo img[src*="reader-office"]{object-position:38% 40%}
.feature-img img[src*="echo-scan"]{object-position:70% 30%}
@media (max-width:980px){.feature-img img[src*="echo-scan"]{object-position:75% 25%}}
