/* CareViewSI landing page — Manrope headings / Inter UI */
:root{--navy:#092d55;--teal:#008f91;--ink:#0b3154;--light:#f2faff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
a:focus-visible{outline:3px solid #00b6c0;outline-offset:5px;border-radius:3px}
.container{width:min(100% - 64px,1370px);margin-inline:auto}
.site-header{background:rgba(255,255,255,.95);position:relative;z-index:2}
.header-inner{min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.brand img{display:block;width:clamp(200px,24vw,300px);height:auto}
.nav-contact{font-weight:700;font-size:15px;text-decoration:none;letter-spacing:.035em}
.nav-contact:hover,.nav-contact:focus-visible{color:var(--teal);text-decoration:underline;text-underline-offset:6px}
.hero{min-height:310px;position:relative;overflow:hidden;background:#e6f5fb}
.hero-photo{position:absolute;inset:0;background-image:url('hero-clinical.webp');background-position:center center;background-size:cover}
.hero-content{position:relative;z-index:1;padding-block:34px 32px}
.eyebrow{font-size:15px;font-weight:700;letter-spacing:.065em;color:#009b9a;margin:0 0 10px}
h1,h2{font-family:Manrope,Inter,sans-serif;color:#072d59;letter-spacing:-.045em}
h1{font-size:clamp(38px,4.5vw,69px);font-weight:800;line-height:1.02;margin:0 0 14px;max-width:650px}
.hero-description{font-size:clamp(15px,1.45vw,21px);line-height:1.43;max-width:515px;margin:0;color:#133a62}
.contact-section{position:relative;overflow:hidden;background:linear-gradient(115deg,#f9fdff 0%,#e7f6ff 100%);min-height:405px;display:flex;align-items:center}
.contact-content{position:relative;z-index:1;text-align:center;padding-block:65px 85px}
.contact-content h2{font-size:clamp(32px,4.2vw,61px);line-height:1.15;font-weight:800;margin:0 auto 19px}
.contact-content p{font-size:clamp(16px,1.55vw,21px);line-height:1.6;max-width:900px;margin:0 auto 24px;color:#173e69}
.contact-link{display:inline-flex;align-items:center;gap:12px;font-size:clamp(18px,1.7vw,25px);font-weight:700;color:#087b83;text-decoration:underline;text-decoration-color:#00b5c4;text-decoration-thickness:2px;text-underline-offset:7px}
.contact-link:hover{color:#005f70}
.contact-link span{font-size:1.35em;line-height:1}
.wave{pointer-events:none;position:absolute;width:130%;height:175px;left:-15%;bottom:-112px;border-radius:50% 50% 0 0}
.wave-one{background:rgba(117,204,245,.22);transform:rotate(-5deg)}
.wave-two{background:rgba(84,182,236,.13);bottom:-138px;transform:rotate(6deg)}
.site-footer{background:linear-gradient(110deg,#092c52,#19466f);color:#fff}
.footer-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;padding-block:17px}
.footer-identity{display:flex;align-items:center;gap:19px;font-size:13px}
.footer-brand{display:inline-flex;align-items:center;padding:5px 9px;background:#fff;border-radius:7px}
.footer-brand img{width:160px;height:auto;display:block}
.footer-divider{height:31px;width:1px;background:rgba(255,255,255,.55)}
.copyright,.footer-links{font-size:12px}
.footer-links{display:flex;gap:13px;align-items:center}
.footer-links a{text-decoration:none}
.footer-links a:hover{text-decoration:underline}
@media(max-width:800px){
 .container{width:min(100% - 36px,1370px)}
 .hero{min-height:370px}
 .hero-photo{background-position:57% center}
 .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(243,251,255,.96) 0%,rgba(243,251,255,.87) 45%,rgba(243,251,255,.12) 100%);z-index:1}
 .hero-content{z-index:2;padding-block:45px}
 .hero-description{max-width:430px}
 .contact-content{padding-block:75px 105px}
 .footer-inner{justify-content:center;text-align:center}
}
@media(max-width:520px){
 .header-inner{min-height:69px}
 .brand img{width:190px}
 .nav-contact{font-size:12px}
 .hero{min-height:435px}
 .hero-photo{background-position:60% center}
 .hero::before{background:linear-gradient(90deg,rgba(243,251,255,.98),rgba(243,251,255,.9) 65%,rgba(243,251,255,.32))}
 .eyebrow{font-size:11px}
 h1{font-size:clamp(37px,10vw,52px)}
 .hero-description{font-size:16px;max-width:310px}
 .contact-content h2{font-size:35px}
 .contact-content p{font-size:16px}
 .footer-identity{flex-wrap:wrap;justify-content:center}
 .footer-divider{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Contact panel: same open/close mechanics as the impresys site. */
.site-header,main,.site-footer{transition:margin-left 1s cubic-bezier(0.215,0.61,0.355,1)}
body.contact-panel-open{overflow:hidden}
body.contact-panel-open :is(.site-header,main,.site-footer){margin-left:-5%;transition-delay:.01s}
.contact-overlay{position:fixed;inset:0;z-index:9;background:rgba(9,45,85,.5);visibility:hidden;cursor:pointer}
body.contact-panel-open .contact-overlay{visibility:visible}
.contact-panel{position:fixed;top:0;right:0;z-index:10;width:60%;height:100%;margin-right:-100%;padding:24px clamp(18px,4vw,32px);background:var(--light);color:var(--ink);box-shadow:-12px 0 45px rgba(9,45,85,.2);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;visibility:hidden;opacity:0;transition:all 1s cubic-bezier(0.215,0.61,0.355,1)}
.contact-panel.is-open{margin-right:0;opacity:1;visibility:visible;transition:all 1s cubic-bezier(0.215,0.61,0.355,1),visibility 0s}
.contact-panel-header{display:flex;justify-content:flex-end;margin-bottom:20px}
.contact-panel-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid #bad6ed;border-radius:50%;background:#fff;color:var(--navy);font-size:30px;cursor:pointer}
.contact-panel-close:hover{background:#dff1fb}
.contact-panel-close:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
@media(max-width:780px){.contact-panel{width:100%}}
