/* ITSAC Medical — medical-specific LAYOUT, site teal color, dark theme. Layers over itsac.css */
/* hero stays from itsac.css (.hero.lt) but medical uses its own sections below */

/* ===== benefits (3 value props) ===== */
.medpage .mben{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.medpage .mben .b{background:#FFFFFF;border:1px solid #E2E8F0;border-radius:18px;padding:30px;transition:transform .25s,box-shadow .25s}
.medpage .mben .b:hover{transform:translateY(-6px);box-shadow:0 26px 54px -22px rgba(10,27,42,.28)}
.medpage .mben .b .ic{width:54px;height:54px;border-radius:15px;background:rgba(20,184,196,.12);color:#0E7C86;display:flex;align-items:center;justify-content:center;font-size:25px;margin-bottom:16px}
.medpage .mben .b h3{font-size:20px;font-weight:700;color:#0A1B2A;margin-bottom:8px;letter-spacing:-.3px}
.medpage .mben .b p{font-size:14.5px;line-height:1.6;color:#64748B}

/* ===== services split rows (medical signature, alternating) ===== */
.medpage .msvc{display:flex;flex-direction:column;gap:24px;margin-top:46px}
.medpage .msvc .row{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#FFFFFF;border:1px solid #E2E8F0;border-radius:22px;overflow:hidden;transition:box-shadow .3s,border-color .3s}
.medpage .msvc .row:hover{border-color:rgba(20,184,196,.45);box-shadow:0 26px 56px -24px rgba(10,27,42,.3)}
.medpage .msvc .row .txt{padding:40px 38px;align-self:center}
.medpage .msvc .row .num{font-family:var(--mono);font-size:12px;letter-spacing:1.5px;color:#0E7C86}
.medpage .msvc .row .txt h3{font-size:25px;font-weight:700;color:#0A1B2A;margin:12px 0 12px;letter-spacing:-.4px}
.medpage .msvc .row .txt p{font-size:15px;line-height:1.7;color:#475569}
.medpage .msvc .row .txt ul{list-style:none;margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}
.medpage .msvc .row .txt li{font-size:12px;font-family:var(--mono);color:#0E7C86;background:rgba(20,184,196,.09);border:1px solid rgba(20,184,196,.25);border-radius:999px;padding:5px 13px}
.medpage .msvc .row .pic{min-height:300px;background:#DCE4EC;overflow:hidden;position:relative}
.medpage .msvc .row .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.medpage .msvc .row:hover .pic img{transform:scale(1.05)}
.medpage .msvc .row.rev .txt{order:2}
.medpage .msvc .row.rev .pic{order:1}

/* ===== stat band (dark teal) ===== */
.medpage .mstats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:10px}
.medpage .mstats .s{text-align:center;padding:22px}
.medpage .mstats .s b{font-family:var(--mono);font-weight:500;font-size:clamp(34px,4vw,48px);color:#14B8C4;display:block;line-height:1;text-shadow:0 0 24px rgba(20,184,196,.4)}
.medpage .mstats .s span{font-size:14px;color:#9FB3C4;margin-top:10px;display:block}

/* ===== care pillars ribbon ===== */
.medpage .carestrip{background:linear-gradient(135deg,#0F2436,#0C1E2E);border-top:1px solid rgba(20,184,196,.22);border-bottom:1px solid rgba(20,184,196,.22)}
.medpage .carestrip .wrap{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:46px 32px}
.medpage .carestrip .cp{display:flex;gap:14px;align-items:flex-start}
.medpage .carestrip .cp .ic{width:46px;height:46px;flex:none;border-radius:14px;background:rgba(20,184,196,.13);border:1px solid rgba(20,184,196,.35);display:flex;align-items:center;justify-content:center;font-size:22px}
.medpage .carestrip .cp b{display:block;font-size:15.5px;color:#F7FAFC;margin-bottom:3px}
.medpage .carestrip .cp span{font-size:13px;line-height:1.5;color:#9FB3C4}

/* ===== process timeline (vertical medical style, distinct from home horizontal) ===== */
.medpage .mtl{max-width:820px;margin:46px auto 0;position:relative}
.medpage .mtl::before{content:'';position:absolute;left:27px;top:10px;bottom:10px;width:2px;background:linear-gradient(180deg,#0E7C86,rgba(20,184,196,.15))}
.medpage .mtl .step{position:relative;padding:0 0 34px 74px}
.medpage .mtl .step:last-child{padding-bottom:0}
.medpage .mtl .step .dot{position:absolute;left:0;top:0;width:56px;height:56px;border-radius:50%;background:#0F2436;border:1px solid rgba(20,184,196,.4);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:16px;color:#14B8C4;z-index:1}
.medpage .mtl .step h3{font-size:20px;font-weight:700;color:#F7FAFC;margin-bottom:6px;letter-spacing:-.3px}
.medpage .mtl .step p{font-size:14.5px;line-height:1.65;color:#9FB3C4;max-width:60ch}

/* ===== testimonials (big quote medical style) ===== */
.medpage .mtest{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;margin-top:46px}
.medpage .mtest .big{background:linear-gradient(150deg,#14B8C4,#0E7C86);color:#04222B;border-radius:24px;padding:46px;display:flex;flex-direction:column;justify-content:space-between}
.medpage .mtest .big q{font-size:25px;font-weight:600;line-height:1.4;letter-spacing:-.4px;quotes:'\201C' '\201D'}
.medpage .mtest .big .who{display:flex;align-items:center;gap:14px;margin-top:30px}
.medpage .mtest .big .who img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:2px solid rgba(4,34,43,.25)}
.medpage .mtest .big .who b{display:block;font-size:15px;font-weight:700}
.medpage .mtest .big .who span{font-size:12.5px;opacity:.8}
.medpage .mtest .col{display:flex;flex-direction:column;gap:20px}
.medpage .mtest .col .t{background:rgba(255,255,255,.03);border:1px solid rgba(20,184,196,.2);border-radius:20px;padding:28px}
.medpage .mtest .col .t q{font-size:16px;line-height:1.55;color:#F7FAFC;quotes:'\201C' '\201D'}
.medpage .mtest .col .t .who{margin-top:18px;display:flex;align-items:center;gap:12px}
.medpage .mtest .col .t .who img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.medpage .mtest .col .t .who b{display:block;font-size:13.5px;font-weight:600;color:#F7FAFC}
.medpage .mtest .col .t .who span{font-size:12px;color:#8FA3B5}

/* ===== FAQ accordion (medical signature) ===== */
.medpage .mfaq{max-width:800px;margin:46px auto 0}
.medpage .mfaq details{background:#FFFFFF;border:1px solid #E2E8F0;border-radius:16px;margin-bottom:14px;overflow:hidden;transition:border-color .2s}
.medpage .mfaq details[open]{border-color:rgba(20,184,196,.45)}
.medpage .mfaq summary{padding:22px 26px;font-size:18px;font-weight:600;color:#0A1B2A;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;letter-spacing:-.2px}
.medpage .mfaq summary::-webkit-details-marker{display:none}
.medpage .mfaq summary::after{content:'+';font-size:26px;font-weight:400;color:#14B8C4;transition:transform .25s;flex:none;line-height:1}
.medpage .mfaq details[open] summary::after{transform:rotate(45deg)}
.medpage .mfaq details p{padding:0 26px 24px;font-size:15px;line-height:1.7;color:#475569}

/* ===== heartbeat divider ===== */
.medpage .hbdiv{position:relative;height:64px;overflow:hidden}
.medpage .hbdiv svg{position:absolute;top:50%;left:0;width:100%;height:44px;transform:translateY(-50%)}
.medpage .hbdiv polyline{fill:none;stroke:rgba(20,184,196,.4);stroke-width:2;stroke-dasharray:1400;stroke-dashoffset:1400;filter:drop-shadow(0 0 5px rgba(20,184,196,.5));animation:medHb 4s ease-out forwards}
@keyframes medHb{to{stroke-dashoffset:0}}

/* section intros reuse itsac eyebrow/h2 but center option */
.medpage .mhead{max-width:660px}
.medpage .mhead.ctr{margin-left:auto;margin-right:auto;text-align:center}
.medpage .mhead h2{color:#0A1B2A;margin-top:14px}
.medpage .sd .mhead h2,.medpage .sd2 .mhead h2{color:#F7FAFC}
.medpage .mhead p{margin-top:14px;font-size:16px;line-height:1.6;color:#64748B}
.medpage .sd .mhead p,.medpage .sd2 .mhead p{color:#9FB3C4}

@media(max-width:900px){.medpage .mben,.medpage .mstats{grid-template-columns:1fr 1fr}.medpage .msvc .row,.medpage .msvc .row.rev{grid-template-columns:1fr}.medpage .msvc .row.rev .txt{order:2}.medpage .msvc .row.rev .pic{order:1}.medpage .msvc .row .pic{min-height:240px}.medpage .mtest{grid-template-columns:1fr}.medpage .carestrip .wrap{grid-template-columns:1fr 1fr;gap:20px}}
@media(max-width:560px){.medpage .mben,.medpage .mstats,.medpage .carestrip .wrap{grid-template-columns:1fr}.medpage .mtl .step{padding-left:64px}}
@media(prefers-reduced-motion:reduce){.medpage .hbdiv polyline{animation:none;stroke-dashoffset:0}}

/* ---- medical pro polish ---- */
/* reveal system (works with .mrv added in JS/markup) */
.medpage .mrv{opacity:0;transform:translateY(30px) scale(.98);filter:blur(8px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1),filter .8s ease}
.medpage .mrv.in{opacity:1;transform:none;filter:blur(0)}
/* benefit cards: number badge + accent top */
.medpage .mben .b{position:relative;overflow:hidden}
.medpage .mben .b::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#14B8C4,transparent);opacity:0;transition:opacity .3s}
.medpage .mben .b:hover::before{opacity:1}
.medpage .mben .b .ic{transition:transform .3s,background .3s}
.medpage .mben .b:hover .ic{transform:scale(1.08) rotate(-4deg);background:rgba(20,184,196,.18)}
/* split rows: number watermark + arrow reveal */
.medpage .msvc .row .txt h3{position:relative}
.medpage .msvc .row .txt{position:relative}
.medpage .msvc .row .txt::after{content:attr(data-n);position:absolute;top:22px;right:30px;font-family:var(--mono);font-size:64px;font-weight:500;color:rgba(20,184,196,.06);line-height:1;pointer-events:none}
.medpage .msvc .row .pic::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 60%,rgba(20,184,196,.12));opacity:0;transition:opacity .4s;pointer-events:none}
.medpage .msvc .row:hover .pic::after{opacity:1}
/* stat band: subtle divider between stats + glow pulse */
.medpage .mstats{position:relative}
.medpage .mstats .s{position:relative}
.medpage .mstats .s:not(:last-child)::after{content:'';position:absolute;right:0;top:22%;bottom:22%;width:1px;background:rgba(20,184,196,.15)}
@media(max-width:900px){.medpage .mstats .s::after{display:none!important}}
.medpage .mstats .s b{transition:text-shadow .4s}
.medpage .mstats .s:hover b{text-shadow:0 0 34px rgba(20,184,196,.7)}
/* care pillars: hover lift */
.medpage .carestrip .cp{padding:14px;border-radius:14px;transition:background .25s,transform .25s}
.medpage .carestrip .cp:hover{background:rgba(20,184,196,.06);transform:translateY(-3px)}
.medpage .carestrip .cp:hover .ic{background:rgba(20,184,196,.22)}
/* timeline: active step highlight on scroll */
.medpage .mtl .step .dot{transition:color .4s,border-color .4s,box-shadow .4s,background .4s}
.medpage .mtl.go .step .dot{color:#14B8C4;border-color:#14B8C4;box-shadow:0 0 0 5px rgba(20,184,196,.1),0 0 22px rgba(20,184,196,.4);background:#0A2430}
.medpage .mtl.go .step:nth-child(1) .dot{transition-delay:.1s}
.medpage .mtl.go .step:nth-child(2) .dot{transition-delay:.35s}
.medpage .mtl.go .step:nth-child(3) .dot{transition-delay:.6s}
.medpage .mtl.go .step:nth-child(4) .dot{transition-delay:.85s}
/* faq: smooth answer reveal */
.medpage .mfaq details{transition:box-shadow .25s}
.medpage .mfaq details[open]{box-shadow:0 16px 40px -24px rgba(20,184,196,.4)}
.medpage .mfaq details p{animation:medFaq .35s ease}
@keyframes medFaq{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* big testimonial: quote mark flourish */
.medpage .mtest .big{position:relative;overflow:hidden}
.medpage .mtest .big::before{content:'\201C';position:absolute;top:-10px;right:24px;font-size:160px;font-family:Georgia,serif;color:rgba(4,34,43,.12);line-height:1;pointer-events:none}
/* hero image polish: subtle border glow */
.medpage .heroimg{box-shadow:0 40px 90px -34px rgba(10,27,42,.5),0 0 0 1px rgba(20,184,196,.15)}
/* section headings: refined */
.medpage .mhead h2{letter-spacing:-.6px;line-height:1.12}
/* pro icon sizing */
.medpage .carestrip .cp .ic svg{width:24px;height:24px}
.medpage .mben .b .ic svg{width:26px;height:26px}
