:root{--ink:#0b1733;--paper:#f3f5f2;--white:#fff;--signal:#ff6433;--aqua:#2dd4bf;--muted:#5e6778;--line:rgba(11,23,51,.18);--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.65}
a{color:inherit}
.skip{position:fixed;top:-5rem;left:1rem;z-index:99;background:#fff;padding:.7rem 1rem}
.skip:focus{top:1rem}
.header{position:sticky;top:0;z-index:20;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:0 max(4vw,calc((100vw - var(--max))/2));background:rgba(243,245,242,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.brand{display:inline-flex;align-items:center;gap:.18rem;text-decoration:none;letter-spacing:-.02em}
.brand>span{display:grid;place-items:center;width:34px;height:34px;margin-right:.55rem;background:var(--ink);color:#fff;font-weight:800}
.brand em{margin-left:.7rem;color:var(--signal);font:600 .7rem IBM Plex Mono,monospace;letter-spacing:.12em}
.header nav{display:flex;align-items:center;gap:1.8rem}
.header nav a{font-size:.86rem;font-weight:800;text-decoration:none}
.menu{display:none;border:1px solid var(--ink);padding:.55rem .7rem;background:transparent;font:700 .82rem Manrope}
.home-main{max-width:var(--max);margin:auto;border-inline:1px solid var(--line)}
.home-intro{min-height:390px;padding:clamp(4rem,8vw,7rem) clamp(1.3rem,6vw,5rem) 3rem;background:var(--ink);color:#fff;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:42px 42px}
.kicker{margin:0 0 1.4rem;color:var(--aqua);font:600 .75rem IBM Plex Mono,monospace;letter-spacing:.13em;text-transform:uppercase}
.home h1{max-width:900px;margin:0 0 1.6rem;font-size:clamp(3.2rem,8vw,7.2rem);line-height:.91;letter-spacing:-.075em}
.home h1 i{color:var(--signal);font-style:normal}
.home-intro>p:last-child{max-width:680px;margin:0;color:#b4bdcc;font-size:1.08rem}
.audience-grid{display:grid;grid-template-columns:repeat(5,1fr);background:#fff}
.audience-grid>a{min-height:360px;display:flex;flex-direction:column;padding:1.6rem;border-bottom:1px solid var(--line);text-decoration:none;transition:.2s}
.audience-grid>a+a{border-left:1px solid var(--line)}
.audience-grid>a:hover,.audience-grid>a:focus-visible{background:var(--signal);transform:translateY(-5px)}
.audience-grid span{color:var(--signal);font:600 .75rem IBM Plex Mono}
.audience-grid>a:hover span{color:var(--ink)}
.audience-grid h2{margin:3rem 0 1rem;font-size:clamp(1.35rem,2.4vw,2.2rem);line-height:1.05;letter-spacing:-.045em}
.audience-grid p{color:var(--muted);font-size:.86rem}
.audience-grid b{margin-top:auto;font-size:.78rem}
.page-main{max-width:var(--max);margin:auto;background:#fff;border-inline:1px solid var(--line)}
.crumbs{padding:1rem clamp(1.3rem,4vw,3rem);border-bottom:1px solid var(--line);font:500 .72rem IBM Plex Mono,monospace;color:var(--muted)}
.crumbs ol{display:flex;gap:.6rem;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.crumbs li+li:before{content:"/";margin-right:.6rem}
.crumbs a{text-decoration:none}
.topic-hero{display:grid;grid-template-columns:1.15fr .85fr;min-height:520px}
.hero-copy{padding:clamp(3.5rem,7vw,6.5rem) clamp(1.3rem,5vw,4.5rem)}
.hero-copy h1{max-width:800px;margin:0 0 1.5rem;font-size:clamp(2.8rem,6vw,5.8rem);line-height:.94;letter-spacing:-.068em}
.hero-copy h1 i{color:var(--signal);font-style:normal}
.lead{max-width:700px;color:#465064;font-size:1.1rem}
.hero-map{display:grid;align-content:center;gap:.7rem;padding:3rem;background:var(--ink);color:#fff}
.hero-map .node{padding:1rem;border:1px solid rgba(255,255,255,.25);font-size:.84rem}
.hero-map .node.active{background:var(--signal);color:var(--ink);border-color:var(--signal);font-weight:800}
.hero-map .flow{height:24px;margin-left:28px;border-left:1px solid var(--aqua)}
.content{padding:clamp(4rem,7vw,7rem) clamp(1.3rem,7vw,6.5rem);border-top:1px solid var(--line)}
.content.narrow{max-width:900px}
.content h2{max-width:850px;margin:0 0 1.5rem;font-size:clamp(2rem,4vw,3.8rem);line-height:1.03;letter-spacing:-.052em}
.content h3{margin-top:2rem;font-size:1.25rem}
.content p,.content li{max-width:760px;color:var(--muted)}
.fact-grid,.link-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.fact-grid>div,.link-grid>a{padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.fact-grid b{display:block;margin-bottom:.55rem;color:var(--ink)}
.fact-grid p{margin:0;font-size:.86rem}
.link-grid>a{min-height:210px;display:flex;flex-direction:column;text-decoration:none}
.link-grid span{color:var(--signal);font:600 .7rem IBM Plex Mono}
.link-grid h3{margin:2.2rem 0 .7rem}
.link-grid p{font-size:.84rem}
.link-grid b{margin-top:auto;font-size:.78rem}
.link-grid>a:hover{background:var(--ink);color:#fff}
.link-grid>a:hover p{color:#b4bdcc}
.process{display:grid;grid-template-columns:repeat(4,1fr);margin-top:3rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.process>div{padding:1.3rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.process span{color:var(--signal);font:600 .72rem IBM Plex Mono}
.process b{display:block;margin:1.4rem 0 .5rem}
.process p{font-size:.8rem;margin:0}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{padding:1.2rem 0;cursor:pointer;font-weight:800}
.faq details p{padding:0 1rem 1rem 0}
.cta{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;padding:clamp(3rem,6vw,5rem);background:var(--signal)}
.cta h2{margin:0;font-size:clamp(2rem,4vw,4rem);line-height:1}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.2rem;background:var(--ink);color:#fff;text-decoration:none;font-weight:800}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.contact-grid a{min-height:280px;display:flex;flex-direction:column;padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none}
.contact-grid span{color:var(--signal);font:600 .72rem IBM Plex Mono}
.contact-grid h2{margin:3rem 0 .7rem;font-size:2rem}
.contact-grid b{margin-top:auto}
.contact-grid a:hover{background:var(--ink);color:#fff}
.contact-grid a:hover p{color:#b4bdcc}
footer{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr auto;gap:2rem;align-items:center;padding:2rem 3rem;background:#fff;border:1px solid var(--line)}
footer p{margin:0;color:var(--muted);font-size:.8rem}
footer div{display:flex;gap:1rem}
footer div a{font-size:.75rem}
.tag{display:inline-flex;margin:.35rem .35rem 0 0;padding:.35rem .55rem;border:1px solid var(--line);font:500 .72rem IBM Plex Mono}
.notice{padding:1rem 1.2rem;border-left:4px solid var(--signal);background:var(--paper);color:var(--ink)!important}
.meta{color:var(--signal);font:600 .72rem IBM Plex Mono;letter-spacing:.1em;text-transform:uppercase}

@media(max-width:900px){.audience-grid{grid-template-columns:1fr 1fr}
.audience-grid>a{min-height:280px;border-left:0!important;border-right:1px solid var(--line)}
.topic-hero{grid-template-columns:1fr}
.hero-map{min-height:330px}
.fact-grid,.link-grid{grid-template-columns:1fr 1fr}
.process{grid-template-columns:1fr 1fr}
.contact-grid{grid-template-columns:1fr}
.contact-grid a{min-height:220px}
footer{grid-template-columns:1fr}
.header nav{display:none;position:absolute;top:75px;left:0;right:0;flex-direction:column;align-items:stretch;padding:1rem;background:var(--paper);border-bottom:1px solid var(--line)}
.header nav.open{display:flex}
.header nav a{padding:.8rem}
.menu{display:block}
}

@media(max-width:580px){.brand em{display:none}
.audience-grid{grid-template-columns:1fr}
.audience-grid>a{min-height:240px}
.fact-grid,.link-grid,.process{grid-template-columns:1fr}
.cta{grid-template-columns:1fr}
.hero-map{padding:1.3rem}
.content{padding-block:4rem}
.home-intro{min-height:330px}
footer{padding:2rem 1.3rem}
footer div{flex-wrap:wrap}
}

.logo-brand{display:inline-flex;align-items:center}
.logo-brand img{display:block;width:168px;height:auto;max-height:54px;object-fit:contain}
.home-main{overflow:hidden}
.basics{padding:clamp(4rem,7vw,6.5rem) clamp(1.3rem,5vw,4.5rem);border-top:1px solid var(--line);background:var(--paper)}
.basics-head{display:grid;grid-template-columns:1fr 2.3fr;gap:2rem;align-items:start;margin-bottom:3rem}
.basics-head h2{margin:0;font-size:clamp(2.2rem,4.8vw,4.5rem);line-height:1;letter-spacing:-.06em}
.basics-head>p:last-child{grid-column:2;max-width:720px;color:var(--muted)}
.basics-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.basics-grid>a{min-height:230px;display:flex;flex-direction:column;padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;text-decoration:none}
.basics-grid h3{margin:0 0 .8rem;font-size:1.3rem}
.basics-grid p{color:var(--muted);font-size:.86rem}
.basics-grid b{margin-top:auto;font-size:.78rem}
.basics-grid>a:hover{background:var(--ink);color:#fff}
.basics-grid>a:hover p{color:#b4bdcc}
.faq-home{background:#fff}
.faq-home .faq{max-width:900px;margin-left:auto}
.faq-home summary{font-size:1rem}
.faq-home details p{margin:0}
.audience-grid h2{margin-top:1rem}
.keyword-note{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.5rem}
.keyword-note span{padding:.35rem .55rem;border:1px solid var(--line);font:500 .7rem IBM Plex Mono,monospace}
.source-note{font-size:.76rem;color:var(--muted)}

@media(max-width:900px){.basics-head{grid-template-columns:1fr}
.basics-head>p:last-child{grid-column:1}
.basics-grid{grid-template-columns:1fr 1fr}
.faq-home .faq{margin-left:0}
}

@media(max-width:580px){.logo-brand img{width:145px}
.basics-grid{grid-template-columns:1fr}
.basics{padding-block:4rem}
}

.site-footer{display:grid;grid-template-columns:minmax(260px,1fr) minmax(420px,1.4fr);gap:3rem;align-items:start;padding:2.6rem 3rem}
.site-footer .footer-brand-block,.site-footer .footer-nav{display:grid;gap:1.2rem}
.site-footer .footer-brand-block p{max-width:420px}
.site-footer .footer-links,.site-footer .social-links{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem}
.site-footer .footer-links{padding-bottom:1.1rem;border-bottom:1px solid var(--line)}
.site-footer .footer-links a{font-size:.78rem;font-weight:800}
.site-footer .social-links a{display:inline-flex;align-items:center;gap:.45rem;font-size:.75rem;text-decoration:none}
.site-footer .social-links span{display:grid;place-items:center;min-width:28px;height:28px;padding:0 .3rem;border:1px solid var(--ink);font:700 .65rem IBM Plex Mono,monospace}
.site-footer .social-links a:hover span{background:var(--ink);color:#fff}
.contact-hero{display:grid;grid-template-columns:1.08fr .92fr;min-height:570px;background:var(--ink);color:#fff}
.contact-hero>div:first-child{padding:clamp(4rem,7vw,6.5rem) clamp(1.3rem,5vw,4.5rem)}
.contact-hero h1{margin:0 0 1.7rem;font-size:clamp(3.5rem,7.2vw,7rem);line-height:.9;letter-spacing:-.075em}
.contact-hero h1 i{color:var(--signal);font-style:normal}
.contact-hero .lead{color:#b4bdcc}
.ten-second{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4rem);background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:42px 42px;border-left:1px solid rgba(255,255,255,.18)}
.timer{display:flex;flex-direction:column;margin-bottom:2rem}
.timer strong{color:var(--aqua);font:600 clamp(3rem,7vw,6rem)/1 IBM Plex Mono,monospace}
.timer span{color:#b4bdcc;font:500 .75rem IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.12em}
.timer-step{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1rem;border-top:1px solid rgba(255,255,255,.2);font-size:.8rem}
.timer-step span{color:#b4bdcc}
.timer-step.active{background:var(--signal);color:var(--ink);border-color:var(--signal)}
.timer-step.active span{color:var(--ink)}
.contact-grid.enhanced a{position:relative;overflow:hidden}
.contact-grid.enhanced a:after{content:"↗";position:absolute;right:1.5rem;top:1.2rem;color:var(--signal);font-size:1.5rem}
.contact-context{padding:clamp(4rem,7vw,6rem) clamp(1.3rem,6vw,5rem);border-top:1px solid var(--line)}
.contact-context h2{font-size:clamp(2.2rem,5vw,4.5rem);line-height:1;letter-spacing:-.06em}
.legal-hero{min-height:280px;background:var(--ink);color:#fff}
.legal-copy h2{margin-top:3rem;font-size:1.6rem;letter-spacing:-.03em}
.legal-copy h2:first-child{margin-top:0}
.legal-copy strong{color:var(--ink)}

@media(max-width:900px){.site-footer{grid-template-columns:1fr}
.contact-hero{grid-template-columns:1fr}
.ten-second{border-left:0;border-top:1px solid rgba(255,255,255,.18)}
}

@media(max-width:580px){.site-footer{padding:2rem 1.3rem}
.timer-step{grid-template-columns:1fr}
.contact-hero h1{font-size:clamp(3.2rem,15vw,5rem)}
}

@media(prefers-reduced-motion:reduce){*{transition:none!important}
html{scroll-behavior:auto}
}

.logo-brand{display:inline-flex;align-items:center;text-decoration:none}
.logo-brand img{display:block;width:235px;height:auto;max-height:56px;object-fit:contain}
.site-footer .logo-brand img{width:265px;max-height:64px}
.basics-gateway{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;padding:clamp(2.5rem,5vw,4rem) clamp(1.3rem,5vw,4.5rem);background:#fff;border-top:1px solid var(--line)}
.basics-gateway h2{margin:0 0 .65rem;font-size:clamp(2.2rem,4.5vw,4rem);line-height:1;letter-spacing:-.055em}
.basics-gateway p:last-child{max-width:720px;margin-bottom:0;color:var(--muted)}
.site-footer .social-links a{padding:.48rem .72rem;border:1px solid transparent;color:#fff;font-weight:800;transition:transform .2s ease,filter .2s ease}
.site-footer .social-links a:hover{transform:translateY(-2px);filter:brightness(1.06)}
.site-footer .social-links a:nth-child(1){background:linear-gradient(135deg,#833ab4,#fd1d1d 55%,#fcb045)}
.site-footer .social-links a:nth-child(2){background:#0a66c2}
.site-footer .social-links a:nth-child(3){background:#000}
.site-footer .social-links a:nth-child(4){background:#25d366;color:#082b17}
.site-footer .social-links span{border-color:currentColor;color:inherit}
.site-footer .social-links a:hover span{background:transparent;color:inherit}

@media(max-width:640px){.logo-brand img{width:190px}
.site-footer .logo-brand img{width:220px}
.basics-gateway{grid-template-columns:1fr;align-items:start}
}

.anchor-nav{position:sticky;top:74px;z-index:20;display:flex;gap:.5rem;overflow-x:auto;padding:.8rem clamp(1.3rem,5vw,4.5rem);background:rgba(255,255,255,.96);border-block:1px solid var(--line);backdrop-filter:blur(10px)}
.anchor-nav a{flex:0 0 auto;padding:.45rem .7rem;border:1px solid var(--line);font:700 .72rem IBM Plex Mono,monospace;text-decoration:none}
.anchor-nav a:hover{background:var(--ink);color:#fff}
.content[id]{scroll-margin-top:145px}

@media(max-width:580px){.anchor-nav{top:70px;padding-inline:1.3rem}
}

.contact-form-section{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,6rem);padding:clamp(4rem,7vw,6.5rem) clamp(1.3rem,6vw,5rem);border-top:1px solid var(--line);background:#fff}
.form-intro h2{margin:0 0 1.2rem;font-size:clamp(2.2rem,4.5vw,4.4rem);line-height:1;letter-spacing:-.055em}
.form-intro>p:not(.kicker){color:var(--muted)}
.contact-aside{display:grid;gap:.35rem;margin-top:2.2rem;padding-top:1.3rem;border-top:1px solid var(--line)}
.contact-aside a{font-size:.9rem}
.contact-form{display:grid;gap:1.25rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-form label,.contact-form legend{font-weight:800;font-size:.83rem}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:.42rem;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);padding:.85rem .9rem;font:500 1rem/1.4 Manrope,Arial,sans-serif}
.contact-form textarea{resize:vertical;min-height:150px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid rgba(45,212,191,.35);border-color:var(--ink)}
.contact-form fieldset{margin:0;padding:1rem;border:1px solid var(--line)}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem 1rem;margin-top:.45rem}
.choice-grid label{display:flex;align-items:flex-start;gap:.55rem;font-weight:600}
.choice-grid input,.privacy-check input{flex:0 0 auto;width:18px;height:18px;margin:.15rem 0 0;accent-color:var(--signal)}
.privacy-check{display:flex;align-items:flex-start;gap:.7rem;font-weight:600!important}
.privacy-check span{color:var(--muted)}
.form-submit{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:.5rem}
.form-submit button{border:0;cursor:pointer;font:800 .9rem Manrope}
.form-submit p{margin:0;color:var(--muted);font-size:.75rem}
.form-status-success{color:#08775f!important}
.form-status-error{color:#b22b12!important}

@media(max-width:900px){.contact-form-section{grid-template-columns:1fr}
.form-intro{max-width:700px}
}

@media(max-width:580px){.form-row,.choice-grid{grid-template-columns:1fr}
.form-submit{align-items:stretch}
.form-submit .button{width:100%}
}

.site-footer .social-links{gap:.65rem}
.site-footer .social-links a{padding:.48rem .82rem .48rem .5rem;border-radius:999px;box-shadow:0 5px 14px rgba(11,23,51,.12);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}
.site-footer .social-links a:hover{box-shadow:0 8px 20px rgba(11,23,51,.18)}
.site-footer .social-links span{width:30px;min-width:30px;height:30px;padding:0;border-radius:50%;background:rgba(255,255,255,.12)}
.site-footer .social-links a:hover span{background:rgba(255,255,255,.2)}

.intent-hub{padding:clamp(3.5rem,7vw,6rem) clamp(1.3rem,5vw,4.5rem);border-top:1px solid var(--line);background:#fff}
.intent-head{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.5fr);gap:1rem 3rem;align-items:start}
.intent-head .kicker{grid-row:1 / 3}
.intent-head h2{margin:0;font-size:clamp(2.2rem,4.5vw,4rem);line-height:1;letter-spacing:-.055em}
.intent-head p:last-child{max-width:680px;margin:0;color:var(--muted)}
.intent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2.6rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.intent-grid a{position:relative;padding:1.1rem 3rem 1.1rem 1.2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:800;text-decoration:none}
.intent-grid a:after{content:"→";position:absolute;right:1.2rem;color:var(--signal)}
.intent-grid a:hover{background:var(--ink);color:#fff}
@media(max-width:700px){.intent-head{grid-template-columns:1fr}
.intent-head .kicker{grid-row:auto}
.intent-grid{grid-template-columns:1fr}
}

/* Compact MSV3 wordmark in black, red and gold. */
.logo-brand img{width:150px;height:60px;max-height:none;object-fit:contain}
.site-footer .logo-brand img{width:175px;height:70px;max-height:none}
@media(max-width:640px){.logo-brand img{width:130px;height:52px}
.site-footer .logo-brand img{width:150px;height:60px}
}

/* Long hospital-pharmacy heading: reserve enough measure before the process map. */
@media(min-width:901px){.hospital-hero{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr)}
.hospital-hero .hero-copy{min-width:0;padding-inline:clamp(1.3rem,3.5vw,3rem)}
.hospital-hero .hero-copy h1{max-width:100%;font-size:clamp(2.8rem,4.6vw,4.8rem);letter-spacing:-.06em}
.hospital-hero .hero-map{padding-inline:clamp(1.5rem,3vw,3rem)}
}
