/*
Theme Name: Allied Oncology Partners
Theme URI: https://alliedoncology.com/
Author: Allied Oncology Partners
Description: A responsive custom theme for Allied Oncology Partners.
Version: 1.1.1
Text Domain: allied-oncology
*/

@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600&family=Montserrat:wght@700&family=Roboto+Condensed:wght@400;500;600;700&display=swap');

:root {
  --navy: #06235e;
  --blue: #0068ae;
  --cyan: #00a1bd;
  --ink: #082464;
  --line: #c9e5f7;
  --pale: #edfaff;
  --white: #fff;
  --shadow: 0 10px 35px rgba(17, 98, 153, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  color: var(--ink);
  font-family: "Roboto Condensed", "Arial Narrow", Arial, sans-serif;
  background: #e9f8ff;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.site-shell {
  position: relative;
  overflow: clip;
  min-height: 0;
  background:
    radial-gradient(circle at 4% 12%, rgba(255,255,255,.96), transparent 24%),
    radial-gradient(circle at 93% 77%, rgba(255,255,255,.85), transparent 28%),
    linear-gradient(130deg, #d5f2ff 0%, #fafdff 49%, #d7f2ff 100%);
}
.site-shell::before,
.site-shell::after {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: .38;
}
.site-shell::before {
  width: 500px; height: 500px; right: -245px; bottom: -235px;
  background: repeating-linear-gradient(60deg, transparent 0 31px, #fff 32px 34px, transparent 35px 62px), repeating-linear-gradient(0deg, transparent 0 31px, #fff 32px 34px, transparent 35px 62px);
  clip-path: polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
}

.container { width: min(100% - 94px, 1355px); margin-inline: auto; }
.site-header { padding: 22px 10px 0; position: sticky; top: 0; z-index: 10; }
.nav-box {
  min-height: 96px;
  padding: 0 25px 0 24px;
  display: flex;
  align-items: center;
  gap: 30px;
  background: rgba(255,255,255,.95);
  border-radius: 8px;
  box-shadow: var(--shadow);
}
.brand { width: 225px; height: auto; overflow: visible; flex: 0 0 auto; display: block; }
.brand img { width: 208px; height: auto; display: block; }
.main-nav { display: flex; align-self: stretch; align-items: center; justify-content: center; gap: clamp(20px,2.7vw,42px); flex: 1; }
.main-nav a { height: 100%; display: flex; align-items: center; position: relative; font-size: 19px; color: #041c62; white-space: nowrap; }
.main-nav a.active { font-weight: 700; color: #006cba; }
.main-nav a.active::after { content:""; height: 3px; border-radius: 3px; background: #008cdc; position:absolute; bottom: 13px; left: 0; right: 0; }
.nav-actions { display:flex; gap: 16px; flex: 0 0 auto; }
.nav-actions .button:last-child { min-width: 158px; }
.button {
  display: inline-flex; min-height: 62px; min-width: 198px; padding: 14px 26px;
  align-items: center; justify-content: center; gap: 18px;
  border: 2px solid #0674bd; border-radius: 7px;
  color: #06306d; background: #fff; font-size: 21px; line-height: 1; transition: .2s ease;
}
.button:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,94,165,.18); }
.button.primary { color:#fff; border-color:#006397; background: linear-gradient(105deg,#08699c,#0060a1); }
.button .arrow { font-size: 34px; font-weight: 300; line-height: 0; margin-top: -3px; }
.menu-toggle { display: none; border: 0; background: transparent; color: var(--navy); font-size: 31px; padding: 5px; }

.page { position: relative; z-index: 1; scroll-margin-top: 112px; }
.hero { min-height: 658px; margin-top: 0; padding: 70px 0 24px; background-repeat: no-repeat; background-size: cover; background-position: center; }
.hero > .container:first-child { width: min(100% - 150px, 1298px); }
.hero--clinician { background-image: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 38%, rgba(238,250,255,.1) 70%), url("assets/hero-clinician.png"); }
.hero--partnership { background-image: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 41%, rgba(238,250,255,.18) 72%), url("assets/hero-partnership.png"); }
.hero--laboratory { background-image: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.95) 42%, rgba(235,249,255,.35) 72%), url("assets/hero-clinician.png"); background-position: center 36%; }
.hero--financial { min-height: 350px; padding-top: 35px; background-image: linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.93) 43%, rgba(225,245,255,.48) 72%), url("assets/hero-clinician.png"); background-position: center 41%; }
.eyebrow { margin: 0 0 22px; color:#0066ab; font-size: 19px; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; }
.hero-copy { max-width: 750px; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 14px; color: var(--navy); font-family: Montserrat, Arial, sans-serif; font-size: clamp(51px,5.4vw,73px); line-height: .96; letter-spacing: -.065em; font-weight: 700; }
h1 .accent { color: #0072b8; }
.lead { margin-bottom: 22px; max-width: 760px; color: #062469; font-size: 27px; line-height: 1.08; }
.lead.small { font-size: 25px; max-width: 690px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 30px; }
.page--home .hero--clinician { position: relative; isolation: isolate; background: linear-gradient(90deg, #fff 0%, #fff 45%, #e9f7ff 100%); }
.page--home .hero--clinician::after { content:""; position:absolute; z-index:0; inset:0 0 0 56.5%; background-image:url("assets/home-visual.png"); background-repeat:no-repeat; background-size:100% 100%; background-position:center; -webkit-mask-image:linear-gradient(to right,transparent 0,#000 48px); mask-image:linear-gradient(to right,transparent 0,#000 48px); pointer-events:none; }
.page--home .hero--clinician > * { position:relative; z-index:1; }
.page--home .hero-copy > .lead:not(.small) { margin-bottom:13px; font-family:Figtree,Arial,sans-serif; font-size:48px; line-height:1.04; letter-spacing:-.05em; transform:scaleX(1.12); transform-origin:left center; }
.page--home .hero-copy > .lead.small { max-width:670px; font-family:Figtree,Arial,sans-serif; font-size:25px; line-height:1.2; }
.page--home .hero-actions { margin-top:23px; }
.side-slogan { position:absolute; top: 88px; right: max(6.4vw,70px); width: 230px; color: #0e3c91; font-size: 21px; font-weight: 700; line-height: 1.36; letter-spacing: .17em; text-transform: uppercase; }
.side-slogan::after, .section-slogan::before { content:""; display:block; width: 59px; height: 3px; margin-top: 23px; background: #075696; }

.trust-bar { position: relative; z-index: 2; border-top: 1px solid rgba(255,255,255,.8); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.76); }
.trust-list { min-height: 140px; display:grid; grid-template-columns: repeat(4, 1fr); align-items:center; }
.trust-item { min-height: 72px; display:flex; align-items:center; gap: 21px; padding: 0 30px; border-right: 1px solid #80c9ef; font-size: 22px; line-height: 1.12; }
.trust-item:first-child { padding-left: 20px; }.trust-item:last-child { border:0; }
.icon { width: 78px; height: 78px; flex: 0 0 auto; color: #0278c5; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.icon--sm { width: 50px; height: 50px; }
.icon--mini { width: 30px; height: 30px; }

.statement { min-height: 116px; display:flex; align-items:center; gap: 48px; color:#0069af; font-size: 22px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.statement::before { content:""; width: 80px; height: 3px; flex: 0 0 auto; background:#0064a4; }

.cards-area { padding: 15px 0 18px; }
.card-grid { display:grid; gap: 16px; }
.card-grid--three { grid-template-columns: repeat(3,1fr); }
.card-grid--five { grid-template-columns: repeat(5,1fr); }
.card-grid--seven { grid-template-columns: repeat(7,1fr); }
.service-card, .value-card, .partner-card, .person-card, .contact-panel { background: rgba(255,255,255,.9); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 2px 10px rgba(15,106,159,.025); }
.service-card { min-height: 174px; padding: 23px 18px; display:grid; grid-template-columns: 97px 1fr; align-items:center; column-gap: 18px; }
.service-card h3, .value-card h3, .partner-card h3 { margin: 0 0 10px; color: #051e7c; font-size: 26px; line-height: .93; }
.service-card p, .value-card p, .partner-card p { margin: 0; color: #154aa6; font-size: 18px; line-height: 1.29; }
.service-card .icon { width: 80px; height:80px; }

.cta-strip { min-height: 190px; display: grid; grid-template-columns: 1fr auto; gap: 45px; align-items:center; }
.section-slogan { display:flex; align-items:center; gap:34px; color:#071e71; font-size: 26px; line-height:1.34; letter-spacing:.19em; font-weight:700; text-transform: uppercase; }
.section-slogan::before { margin:0; flex:0 0 auto; }
.cta-strip .button { min-width: 375px; }

.value-hero { padding: 33px 0 20px; min-height: 290px; position:relative; }
.value-hero h1 { max-width: 690px; font-size: clamp(48px,4.6vw,67px); }
.value-hero .lead { font-size: 25px; max-width: 790px; }
.value-card { padding: 21px 14px; min-height: 267px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.value-card .icon { width: 76px; height:76px; margin-bottom: 13px; }
.value-card h3 { font-size: 21px; line-height: .99; }
.value-card p { font-size:17px; max-width: 220px; }
.contact-panel { margin: 20px 0 24px; padding: 20px 52px 26px; display:grid; grid-template-columns: .9fr 1.15fr; column-gap: 60px; align-items:center; }
.contact-panel h2 { margin: 8px 0 16px; font-size: 50px; letter-spacing:-.04em; line-height: .92; }
.contact-panel .eyebrow { margin:0; font-size:17px; }
.contact-panel p { margin:0; font-size:21px; line-height:1.2; color:#1650a7; }
.contact-form { display:grid; grid-template-columns: 1fr 1fr; gap:8px; }
.contact-form input, .contact-form select, .contact-form textarea { width:100%; border:1px solid #a6cde9; border-radius:5px; color:#1951a5; background:rgba(255,255,255,.69); font-size:16px; padding:8px 12px; }
.contact-form input, .contact-form select { height:38px; }.contact-form textarea { grid-column:1/-1; height:66px; resize:vertical; }.contact-form .button { grid-column:1/-1; min-height:51px; font-size:19px; }.form-note { grid-column:1/-1; margin:-1px 0 0; text-align:center; color:#3e68ab; font-size:16px; }
.mobile-contact-form { display:none; }

.people-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top: 22px; }
.person-card { min-height:238px; padding:28px 34px; display:grid; grid-template-columns:112px 1fr; gap:16px; }
.person-emblem { width:88px; height:88px; display:grid; place-items:center; background:#e5f5ff; border-radius:50%; color:#0069bd; }
.person-card h2 { margin:0 0 7px; font-size:29px; line-height:1; }.person-role { margin:0 0 14px; color:#0755b8; font-size:20px; line-height:1.12; }.person-links { border-top:2px solid #cce5f7; padding-top:12px; display:grid; gap:8px; }.person-links a { display:flex; align-items:center; gap:14px; font-size:18px; color:#005ac1; }.linkedin-box { display:grid; place-items:center; width:29px; height:29px; background:#0a69c2; color:#fff; border-radius:3px; font:700 23px/1 Arial; }

.partners-hero { min-height: 366px; padding-top:58px; }
.partners-hero h1 { max-width:790px; font-size: clamp(48px,5vw,68px); }.partners-hero .lead { max-width:820px; }
.partner-card { min-height:380px; padding:25px 13px; display:flex; flex-direction:column; align-items:center; text-align:center; }.partner-card .icon{ width:84px;height:84px; margin-bottom:20px;}.partner-card h3 {font-size:23px; line-height:.98;}.partner-card p { font-size:17px; line-height:1.28; }
.partner-cards { margin-top:-18px; position:relative; z-index:3; }
.partner-cards .card-grid { gap:8px; }

.mobile-only { display:none; }
.hidden { display:none !important; }

.site-footer { background:#082852; color:#fff; }
.footer-inner { width:min(100% - 94px, 1320px); margin-inline:auto; padding:65px 0 28px; }
.footer-grid { display:grid; grid-template-columns:1.25fr .9fr .8fr; gap:clamp(48px,9vw,155px); }
.footer-brand { display:block; width:250px; height:auto; overflow:visible; margin-bottom:21px; }
.footer-brand img { display:block; width:250px; height:auto; }
.footer-copy { max-width:300px; margin:0; color:#b9c8da; font-family:Figtree,Arial,sans-serif; font-size:16px; line-height:1.52; }
.footer-heading { margin:4px 0 22px; color:#53addf; font-size:14px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.footer-contact, .footer-links { display:grid; gap:13px; font-family:Figtree,Arial,sans-serif; font-size:16px; line-height:1.35; }
.footer-contact a, .footer-links a { color:#fff; }.footer-contact address { margin:9px 0 0; color:#b9c8da; font-style:normal; line-height:1.55; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:61px; padding-top:25px; border-top:1px solid rgba(255,255,255,.18); color:#aebed2; font-family:Figtree,Arial,sans-serif; font-size:14px; }
.footer-development { color:#aebed2; white-space:nowrap; }
.footer-development a { color:#fff; }
.footer-development a:hover { text-decoration:underline; }

/* Page-specific reference-image layers. Each file contains only the photo/graphic
   area from its matching supplied mockup; primary copy remains selectable HTML. */
.page-solutions .hero--laboratory,
.page-partners .hero--clinician,
.page-financial .hero--financial,
.page-about .hero--partnership { position:relative; isolation:isolate; background:#effaff; }
.page-solutions .hero--laboratory > .container,
.page-partners .hero--clinician > .container,
.page-financial .hero--financial > .container,
.page-about .hero--partnership > .container { position:relative; z-index:1; }
.page-solutions .hero--laboratory::before,
.page-partners .hero--clinician::before,
.page-financial .hero--financial::before,
.page-about .hero--partnership::before { content:""; position:absolute; z-index:0; right:0; background-repeat:no-repeat; background-size:100% 100%; -webkit-mask-image:linear-gradient(to right,transparent 0,#000 48px); mask-image:linear-gradient(to right,transparent 0,#000 48px); pointer-events:none; }

.page-solutions .hero--laboratory { min-height:0; padding:40px 0 6px; }
.page-solutions .hero--laboratory::before { top:-9px; width:42.7%; height:398px; background-image:url("assets/solutions-visual.png"); }
.page-solutions .hero--laboratory .hero-copy { max-width:900px; }
.page-solutions .hero--laboratory h1 { font-size:64px; line-height:.96; transform:scaleX(.94); transform-origin:left top; }
.page-solutions .hero--laboratory .lead.small { margin-bottom:9px; }
.page-solutions .hero--laboratory .side-slogan { display:none; }

.page-partners .partners-hero { min-height:379px; padding-top:48px; }
.page-partners .hero--clinician::before { top:-8px; width:44.2%; height:369px; background-image:url("assets/partners-visual.png"); }
.page-partners .partners-hero .hero-copy { max-width:850px; }
.page-partners .partners-hero h1 { max-width:850px; font-size:60px; line-height:1.12; }
.page-partners .partners-hero h1 .accent { display:inline-block; transform:scaleX(.96); transform-origin:left top; }
.page-partners .partners-hero h1 { margin-bottom:20px; }
.page-partners .partners-hero .eyebrow { margin-bottom:16px; }
.page-partners .partners-hero .lead { max-width:700px; line-height:1.25; }
.page-partners .partners-hero .side-slogan { display:none; }
.page-partners .cta-strip { margin-top:22px; padding-left:72px; padding-right:128px; }
.page-partners .cta-strip .button { min-height:86px; }

.page-financial .hero--financial { min-height:0; padding:0; }
.page-financial .hero--financial::before { top:0; width:50.3%; height:275px; background-image:url("assets/financial-visual.png"); }
.page-financial .hero--financial > .value-hero { width:min(100% - 188px,1260px); min-height:275px; padding:28px 0 0; }
.page-financial .value-hero .eyebrow { margin-bottom:7px; }
.page-financial .value-hero h1 { max-width:900px; font-size:57px; line-height:.96; }
.page-financial .value-hero h1 { transform:scaleX(.9); transform-origin:left top; }
.page-financial .value-hero .lead { max-width:720px; transform:scaleX(.94); transform-origin:left top; }
.page-financial .value-hero .side-slogan { display:none; }
.page-financial .cards-area { width:min(100% - 86px,1362px); padding-top:0; padding-bottom:0; }
.page-financial .value-card { min-height:251px; }
.page-financial .contact-panel { width:min(100% - 86px,1362px); margin:20px auto 24px; padding-bottom:19px; grid-template-columns:.84fr 1.15fr; }
.page-financial .contact-panel > :first-child { align-self:start; padding-top:13px; }

.page-about .hero--partnership { min-height:0; padding-top:62px; }
.page-about .hero--partnership::before { top:-1px; width:49.6%; height:500px; background-image:url("assets/about-visual.png"); }
.page-about .hero-copy h1 { line-height:.87; transform:scaleX(.86); transform-origin:left top; }
.page-about .hero-copy .lead { max-width:650px; font-size:25px; }
.page-about .hero--partnership .side-slogan { display:none; }
.page-about .hero-actions { margin-top:39px; }
.page-about .hero-actions .button:first-child { min-width:356px; min-height:64px; }
.page-about .hero-actions .button:last-child { min-width:270px; min-height:64px; }
.page-about .people-grid { margin-top:33px; }
.page-about .trust-list { grid-template-columns:repeat(3,1fr); min-height:153px; }
.page-about .trust-item { font-size:19px; letter-spacing:.13em; text-transform:uppercase; }
.page-about .trust-item .icon { width:86px; height:86px; }

@media (max-width:880px) {
  .page-solutions .hero--laboratory::before,
  .page-partners .hero--clinician::before,
  .page-financial .hero--financial::before,
  .page-about .hero--partnership::before { display:none; }
}

@media (max-width:580px) {
  .page-financial .hero--financial { padding:28px 0 24px; }
  .page-financial .hero--financial > .value-hero { width:calc(100vw - 28px); min-height:0; padding:0; }
  .page-financial .value-hero h1 { max-width:100%; font-size:42px; line-height:.98; transform:none; }
  .page-financial .value-hero .lead { width:calc(100vw - 28px); max-width:calc(100vw - 28px); min-width:0; overflow-wrap:anywhere; font-size:19px; line-height:1.2; transform:none; }
  .page-financial .value-hero .eyebrow { margin-bottom:14px; }
  .page-financial .cards-area,
  .page-financial .contact-panel { width:calc(100vw - 28px); }
  .page-financial .value-card { min-height:0; }
}
@media (prefers-reduced-motion: no-preference) {
  .page.is-visible .hero-copy, .page.is-visible .card-grid, .page.is-visible .contact-panel, .page.is-visible .people-grid, .page.is-visible .trust-list, .page.is-visible .cta-strip, .page.is-visible .statement { animation: aop-reveal .68s ease both; }
  @keyframes aop-reveal { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
}

@media (max-width: 1180px) {
  .container { width:min(100% - 56px, 1100px); }.nav-box { gap:16px; padding-inline:18px;}.brand{width:210px;}.brand img{width:220px;}.main-nav{gap:20px}.main-nav a{font-size:17px}.nav-actions{gap:8px}.button{min-width:160px;padding:13px 18px;font-size:18px}.hero{min-height:620px}.side-slogan{right:30px}.trust-item{padding:0 15px;font-size:20px;gap:13px}.service-card{grid-template-columns:72px 1fr;padding:18px 14px}.service-card .icon{width:64px;height:64px}.service-card h3{font-size:23px}.service-card p{font-size:16px}.contact-panel{padding-inline:28px;column-gap:30px}.partner-card h3{font-size:20px}
}
@media (max-width: 880px) {
  .page-financial .hero--financial > .value-hero{width:min(100% - 34px,760px)}
  .site-header{padding:12px 12px 0}.nav-box{min-height:72px}.brand{height:64px;width:215px}.brand img{width:200px}.menu-toggle{display:block!important;position:relative;width:38px;height:38px;margin-left:auto;padding:0;border:0;font-size:0;background:linear-gradient(var(--navy),var(--navy)) center/27px 2px no-repeat}.menu-toggle::before,.menu-toggle::after{content:"";position:absolute;left:6px;width:27px;height:2px;background:var(--navy)}.menu-toggle::before{top:10px}.menu-toggle::after{bottom:10px}.main-nav,.nav-actions{display:none}.nav-box.open{align-items:flex-start;flex-wrap:wrap;padding-bottom:15px}.nav-box.open .main-nav{order:3;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0;padding-top:10px}.nav-box.open .main-nav a{height:45px;font-size:18px}.nav-box.open .main-nav a.active::after{bottom:4px}.nav-box.open .nav-actions{order:4;width:100%;display:flex}.nav-box.open .nav-actions .button{width:50%;min-width:0;min-height:46px}.container,.hero > .container:first-child{width:min(100% - 34px,760px)}.hero{min-height:auto;padding:60px 0 38px;background-position:68% center}.hero--financial{min-height:auto}.hero-copy{max-width:680px}h1{font-size:clamp(46px,8vw,63px)}.lead{font-size:23px;max-width:570px}.side-slogan{display:none}.trust-list{grid-template-columns:1fr 1fr}.trust-item{min-height:92px;border-bottom:1px solid var(--line)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(n+3){border-bottom:0}.card-grid--five{grid-template-columns:repeat(3,1fr)}.card-grid--seven{grid-template-columns:repeat(3,1fr)}.partner-card{min-height:280px}.contact-panel{grid-template-columns:1fr;gap:22px}.contact-panel h2{font-size:44px}.people-grid{grid-template-columns:1fr}.cta-strip .button{min-width:270px}.statement{min-height:120px}.value-card{min-height:235px}.partners-hero{padding-top:48px}.footer-inner{width:min(100% - 54px,760px)}.footer-grid{grid-template-columns:1.1fr 1fr;gap:44px}.footer-grid > :first-child{grid-column:1/-1}.footer-bottom{margin-top:42px}
}
@media (max-width: 580px) {
  .site-shell,.site-header{width:100%;max-width:100vw}
  .nav-box{width:calc(100vw - 24px)}
  .container,.hero > .container:first-child{width:calc(100vw - 28px)!important}
  .hero-copy,.hero-copy h1,.hero-copy .lead,.hero-actions{width:100%;max-width:100%;min-width:0}
  .page--home .hero-copy,.page--home .hero-copy .lead.small,.page--home .hero-actions,.page--home .hero-actions .button{width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px)!important}
  .page--home .hero-copy .lead.small{overflow-wrap:anywhere}
  .page--home h1{font-size:36px;letter-spacing:-.075em}
  .page-financial .hero--financial > .value-hero{width:calc(100% - 28px)}
  .container{width:calc(100% - 28px)}.nav-box{padding-inline:12px}.brand{width:170px;height:58px}.brand img{width:178px}.menu-toggle{font-size:27px}.nav-box.open .main-nav{grid-template-columns:1fr}.nav-box.open .nav-actions{flex-wrap:wrap}.nav-box.open .nav-actions .button{width:100%}.hero{padding-top:43px;padding-bottom:28px;background-image:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.86)),url("assets/hero-clinician.png")}.hero--partnership{background-image:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.85)),url("assets/hero-partnership.png")}h1{font-size:44px;line-height:.97}.eyebrow{font-size:14px;letter-spacing:.19em;margin-bottom:16px}.lead,.lead.small{font-size:21px;line-height:1.17}.hero-actions{margin-top:24px;gap:11px}.button{width:100%;min-height:54px;font-size:19px}.trust-list{display:block;padding:9px 0}.trust-item{min-height:66px;padding:8px 4px;border-right:0!important;border-bottom:1px solid var(--line)!important;font-size:19px}.trust-item:last-child{border-bottom:0!important}.trust-item .icon{width:52px;height:52px}.statement{gap:18px;min-height:100px;font-size:17px;letter-spacing:.14em}.statement::before{width:44px}.cards-area{padding-top:0}.card-grid--three,.card-grid--five,.card-grid--seven{grid-template-columns:1fr}.service-card{min-height:150px;grid-template-columns:66px 1fr;gap:11px}.service-card h3{font-size:23px}.service-card .icon{width:59px;height:59px}.service-card p{font-size:16px}.cta-strip{grid-template-columns:1fr;gap:24px;padding:30px 0;min-height:0}.section-slogan{font-size:19px;gap:16px;letter-spacing:.12em}.section-slogan::before{width:44px}.cta-strip .button{min-width:0}.value-hero{padding-top:35px}.value-hero h1{font-size:43px}.value-hero .lead{font-size:20px}.value-card{min-height:0;padding:18px}.value-card .icon{width:62px;height:62px}.value-card h3{font-size:22px}.contact-panel{margin:10px 0 18px;padding:22px 17px}.contact-panel h2{font-size:41px}.contact-panel p{font-size:19px}.contact-form{grid-template-columns:1fr}.contact-form textarea,.contact-form .button,.form-note{grid-column:1}.people-grid{margin-top:10px}.person-card{min-height:0;padding:20px;grid-template-columns:65px 1fr;gap:11px}.person-emblem{width:59px;height:59px}.person-emblem .icon{width:37px;height:37px}.person-card h2{font-size:25px}.person-role{font-size:18px}.person-links a{font-size:16px}.partners-hero h1{font-size:43px}.partner-cards{margin-top:0}.partner-card{min-height:0;padding:22px 18px}.partner-card .icon{width:65px;height:65px;margin-bottom:10px}.partner-card h3{font-size:23px}.partner-card p{font-size:17px}.footer-inner{width:calc(100% - 36px);padding:46px 0 22px}.footer-grid{grid-template-columns:1fr;gap:36px}.footer-grid > :first-child{grid-column:auto}.footer-brand{width:218px;height:80px;margin-bottom:16px}.footer-brand img{width:218px}.footer-bottom{margin-top:36px;padding-top:20px;font-size:13px}
}
@media (max-width: 1180px) {
  .page--home .hero--clinician::after { display:none; }
  .page--home .hero--clinician { background-image:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.73)),url("assets/hero-clinician.png"); background-size:cover; }
}
@media (min-width: 581px) and (max-width: 1180px) {
  .page--home .hero-copy > .lead:not(.small) { font-size:36px; }
}
@media (max-width: 580px) {
  .page--home .hero-copy > .lead:not(.small) { margin-bottom:16px; font-size:28px; line-height:1.12; transform:none; }
  .page--home .hero-copy > .lead.small { font-size:20px; line-height:1.2; }
  .page--home .hero-actions { margin-top:24px; }
  .page-solutions .hero--laboratory h1,
  .page-partners .partners-hero h1,
  .page-about .hero-copy h1 { max-width:100%; font-size:42px; line-height:.96; transform:none; }
  .page-solutions .hero--laboratory .hero-copy,
  .page-partners .partners-hero .hero-copy,
  .page-about .hero-copy { max-width:100%; }
  .page-partners .partners-hero { min-height:0; padding:42px 0 28px; }
  .page-partners .cta-strip { margin-top:0; padding-left:0; padding-right:0; }
  .page-about .hero--partnership { min-height:0; padding:42px 0 28px; }
  .page-about .hero-copy .lead { max-width:100%; font-size:21px; }
  .page-about .hero-actions .button:first-child,
  .page-about .hero-actions .button:last-child { min-width:0; }
  .page-financial .contact-panel { display:block; width:calc(100vw - 40px); margin:20px auto 24px; padding:20px 16px 19px; }
  .page-financial .contact-panel .eyebrow { margin:0 0 17px; font-size:12px; letter-spacing:.16em; }
  .page-financial .contact-panel h2 { margin:0 0 14px; font-size:22px; line-height:.97; letter-spacing:-.035em; }
  .page-financial .contact-panel > div > p:not(.eyebrow) { font-family:Figtree,Arial,sans-serif; font-size:12px; line-height:1.6; }
  .page-financial .contact-form { display:none; }
  .page-financial .mobile-contact-form { display:grid; gap:12px; margin-top:35px; }
  .page-financial .mobile-contact-form label { display:block; color:#051e4d; font:600 11px/1 Figtree,Arial,sans-serif; }
  .page-financial .mobile-contact-form label b { color:#e34d5a; }
  .page-financial .mobile-contact-form input,
  .page-financial .mobile-contact-form select,
  .page-financial .mobile-contact-form textarea { width:100%; border:1px solid #d1dce7; border-radius:5px; background:#fff; color:#16477c; font:12px/1.25 Figtree,Arial,sans-serif; padding:9px 11px; }
  .page-financial .mobile-contact-form label > input,
  .page-financial .mobile-contact-form label > select,
  .page-financial .mobile-contact-form label > textarea { display:block; margin-top:9px; }
  .page-financial .mobile-contact-form input,
  .page-financial .mobile-contact-form select { height:36px; }
  .page-financial .mobile-contact-form textarea { height:90px; resize:vertical; }
  .page-financial .mobile-contact-form .button { width:100%; min-height:32px; height:32px; padding:0 12px; border-radius:4px; font-size:12px; }
  .page-financial .mobile-contact-form .form-note { margin:5px 0 0; color:#4770a7; font:11px/1.55 Figtree,Arial,sans-serif; }
}
@media (max-width:880px) {
  .nav-box.open { display:grid; grid-template-columns:minmax(0,1fr) 38px; align-items:center; gap:0; padding-bottom:16px; }
  .nav-box.open .brand { grid-column:1; grid-row:1; }
  .nav-box.open .menu-toggle { grid-column:2; grid-row:1; }
  .nav-box.open .main-nav { grid-column:1/-1; grid-row:2; display:flex; flex-direction:column; align-items:stretch; width:100%; padding:15px 0 5px; }
  .nav-box.open .main-nav a { justify-content:flex-start; width:100%; height:auto; padding:11px 0; font-size:18px; }
  .nav-box.open .main-nav a.active::after { bottom:5px; right:auto; width:42px; }
  .nav-box.open .nav-actions { grid-column:1/-1; grid-row:3; display:grid; grid-template-columns:1fr 1fr; width:100%; gap:10px; padding-top:12px; }
  .nav-box.open .nav-actions .button { width:100%; min-width:0; min-height:48px; }
  .nav-box.open .menu-toggle { background:none; }
  .nav-box.open .menu-toggle::before { top:18px; transform:rotate(45deg); }
  .nav-box.open .menu-toggle::after { bottom:18px; transform:rotate(-45deg); }
}
@media (max-width:580px) {
  .nav-box.open .nav-actions { grid-template-columns:1fr; }
  .menu-toggle { width:36px; height:36px; border:1px solid #dce5ed!important; border-radius:4px; background:#fff!important; }
  .menu-toggle::before,
  .menu-toggle::after { left:10px; width:14px; height:1.5px; background:#0a376b; transform-origin:center; transition:top .22s ease, bottom .22s ease, transform .22s ease, opacity .16s ease, box-shadow .22s ease; }
  .menu-toggle::before { top:10px; box-shadow:0 7px 0 #0a376b, 0 14px 0 #0a376b; }
  .menu-toggle::after { top:17px; bottom:auto; opacity:0; }
  .nav-box.open { position:absolute; z-index:30; top:-12px; left:-12px; width:100vw; min-height:0; padding:25px 16px 16px; border-radius:0; background:#fff; box-shadow:0 10px 24px rgba(7,44,85,.11); }
  .nav-box.open .brand { width:150px; height:46px; }
  .nav-box.open .brand img { width:150px; }
  .nav-box.open .menu-toggle { border-color:#dce5ed!important; background:#fff!important; }
  .nav-box.open .menu-toggle::before { top:17px; box-shadow:none; transform:rotate(45deg); }
  .nav-box.open .menu-toggle::after { top:17px; opacity:1; transform:rotate(-45deg); }
  .nav-box.open .main-nav { margin-top:12px; padding:0; border-top:1px solid #edf1f5; }
  .nav-box.open .main-nav a { padding:11px 7px; border-bottom:1px solid #edf1f5; color:#092c60; font-family:Figtree,Arial,sans-serif; font-size:13px; font-weight:500; }
  .nav-box.open .main-nav a.active::after { display:none; }
  .nav-box.open .nav-actions { gap:8px; padding-top:16px; }
  .nav-box.open .nav-actions .button { min-height:43px; height:43px; border-radius:4px; font-size:13px; }
  .nav-box.open .nav-actions .button.primary { border-color:#174f89; background:#174f89; }
  .nav-box.open { animation:aop-mobile-menu-in .26s cubic-bezier(.2,.75,.25,1) both; }
  .nav-box.open.is-closing { animation:aop-mobile-menu-out .22s ease both; pointer-events:none; }
  @keyframes aop-mobile-menu-in { from { opacity:0; transform:translateY(-12px); } to { opacity:1; transform:none; } }
  @keyframes aop-mobile-menu-out { from { opacity:1; transform:none; } to { opacity:0; transform:translateY(-10px); } }
}

/* Exact mobile header and navigation behaviour from the supplied reference. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:880px) {
  .site-header { position:sticky; top:0; z-index:100; min-height:68px; padding:0; background:#fff; border-bottom:1px solid rgba(14,53,99,.08); }
  .nav-box { position:relative; width:100%; min-height:68px; padding:0 22px; display:flex; align-items:center; gap:12px; background:#fff; border-radius:0; box-shadow:none; }
  .brand { width:150px; height:auto; overflow:visible; }
  .brand img { width:150px; height:auto; }
  .menu-toggle { display:block!important; position:relative; width:46px; height:46px; margin-left:auto; padding:0; border:1.5px solid rgba(14,53,99,.14)!important; border-radius:5px; background:#fff!important; color:transparent; font-size:0!important; }
  .menu-toggle::before, .menu-toggle::after { content:none!important; display:none!important; }
  .menu-toggle-bars, .menu-toggle-bars::before, .menu-toggle-bars::after { position:absolute; left:50%; width:20px; height:2px; background:#0e3563; transform:translateX(-50%); transition:transform .18s ease, opacity .18s ease, background-color .18s ease; }
  .menu-toggle-bars { top:50%; margin-top:-1px; }
  .menu-toggle-bars::before, .menu-toggle-bars::after { content:""; }
  .menu-toggle-bars::before { top:-7px; }
  .menu-toggle-bars::after { top:7px; }
  .main-nav, .nav-actions { display:none; }
  .nav-box.open { position:absolute; z-index:30; top:0; left:0; width:100%; min-height:0; padding:0 22px 20px; display:grid; grid-template-columns:minmax(0,1fr) 46px; align-items:center; gap:0 12px; background:#fff; border-radius:0; box-shadow:0 18px 34px rgba(14,53,99,.10); animation:aop-reference-mobile-menu-in .20s cubic-bezier(.2,.75,.25,1) both; }
  .nav-box.open.is-closing { pointer-events:none; animation:aop-reference-mobile-menu-out .18s ease both; }
  .nav-box.open .brand { grid-column:1; grid-row:1; width:150px; height:auto; }
  .nav-box.open .menu-toggle { grid-column:2; grid-row:1; }
  .nav-box.open .menu-toggle-bars { background:transparent; }
  .nav-box.open .menu-toggle-bars::before { transform:translateX(-50%) translateY(7px) rotate(45deg); }
  .nav-box.open .menu-toggle-bars::after { transform:translateX(-50%) translateY(-7px) rotate(-45deg); }
  .nav-box.open .main-nav { grid-column:1/-1; grid-row:2; width:100%; display:flex; flex-direction:column; align-items:stretch; margin:0; padding:10px 0 18px; border-top:1px solid rgba(14,53,99,.08); }
  .nav-box.open .main-nav a { display:block; width:100%; height:auto; padding:13px 0; border-bottom:1px solid rgba(14,53,99,.08); color:#0e3563; font-family:Figtree,Arial,sans-serif; font-size:16px; font-weight:400; line-height:1.1; }
  .nav-box.open .main-nav a.active { color:#0e3563; font-weight:400; }
  .nav-box.open .main-nav a.active::after { display:none; }
  .nav-box.open .nav-actions { grid-column:1/-1; grid-row:3; width:100%; display:grid; grid-template-columns:1fr; gap:10px; padding:14px 0 0; border-top:1px solid rgba(14,53,99,.08); }
  .nav-box.open .nav-actions .button { width:100%; min-width:0; min-height:43px; height:43px; padding:10px 16px; border-radius:4px; font-family:Figtree,Arial,sans-serif; font-size:16px; font-weight:500; }
  .nav-box.open .nav-actions .button.primary { border-color:#174f89; background:#174f89; }
}
@keyframes aop-reference-mobile-menu-in { from { opacity:0; transform:translateY(-7px); } to { opacity:1; transform:translateY(0); } }
@keyframes aop-reference-mobile-menu-out { from { opacity:1; transform:translateY(0); } to { opacity:0; transform:translateY(-7px); } }

/* Keep supplied image crops at their native proportions on wide desktop screens.
   Below the mockup width they scale down; above it they never enlarge or distort. */
@media (min-width:1448px) {
  .page--home .hero--clinician::after { inset:auto 0 auto auto; top:50%; width:min(43.5774vw,631px); height:auto; aspect-ratio:631 / 658; transform:translateY(-50%); background-size:100% 100%; background-position:right center; }
  .page-solutions .hero--laboratory::before { width:min(42.6796vw,618px); height:auto; aspect-ratio:618 / 398; background-size:100% 100%; background-position:right top; }
  .page-partners .hero--clinician::before { width:min(44.1684vw,640px); height:auto; aspect-ratio:640 / 369; background-size:100% 100%; background-position:right top; }
  .page-financial .hero--financial::before { width:min(50.2762vw,728px); height:auto; aspect-ratio:728 / 275; background-size:100% 100%; background-position:right top; }
  .page-about .hero--partnership::before { width:min(49.5856vw,718px); height:auto; aspect-ratio:718 / 500; background-size:100% 100%; background-position:right top; }
}

/* At widths below the supplied desktop mockup, keep copy readable instead of
   allowing a fixed image crop to intrude into the heading area. */
@media (min-width:881px) and (max-width:1447px) {
  .page--home .hero--clinician::after,
  .page-solutions .hero--laboratory::before,
  .page-partners .hero--clinician::before,
  .page-financial .hero--financial::before,
  .page-about .hero--partnership::before { display:none; }
  .page--home .hero--clinician { background-image:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.73)),url("assets/hero-clinician.png"); background-size:cover; background-position:68% center; }
}

/* Dedicated contact and partnership pages. */
.form-page { position:relative; z-index:1; }
.form-page-hero { position:relative; isolation:isolate; min-height:310px; display:flex; align-items:center; padding:58px 0; overflow:hidden; background-color:#eaf8ff; background-repeat:no-repeat; background-size:cover; background-position:right center; }
.form-page-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.94) 43%,rgba(238,250,255,.28) 72%,rgba(228,246,255,.08) 100%); }
.form-page-hero--contact { background-image:url("assets/hero-clinician.png"); }
.form-page-hero--partner { min-height:220px; background-image:url("assets/hero-partnership.png"); background-position:right 44%; }
.form-page-hero .container { position:relative; }
.form-page-hero h1 { max-width:760px; margin:0; font-size:62px; line-height:.96; }
.form-page-intro { max-width:560px; margin:0; color:#092f69; font-family:Figtree,Arial,sans-serif; font-size:27px; line-height:1.25; font-weight:500; }
.inquiry-layout { width:min(100% - 94px,1120px); display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; margin:44px auto 58px; padding:42px 45px; border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.91); box-shadow:0 8px 24px rgba(15,106,159,.06); }
.inquiry-copy h2 { margin:0 0 15px; color:#06235e; font-size:38px; line-height:.98; letter-spacing:-.04em; }
.inquiry-copy > p:not(.eyebrow):not(.inquiry-details) { margin:0; color:#1b5194; font-size:19px; line-height:1.35; }
.inquiry-details { margin:26px 0 0; color:#0b5e9f; font-family:Figtree,Arial,sans-serif; font-size:16px; line-height:1.8; }
.inquiry-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; align-content:start; }
.inquiry-form label { display:grid; gap:8px; color:#09285b; font-family:Figtree,Arial,sans-serif; font-size:13px; font-weight:600; line-height:1; }
.inquiry-form label b { color:#d54758; }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea { width:100%; border:1px solid #b9d7ec; border-radius:5px; background:#fff; color:#143d75; font:400 15px/1.25 Figtree,Arial,sans-serif; }
.inquiry-form input, .inquiry-form select { height:44px; padding:10px 12px; }
.inquiry-form textarea { min-height:112px; padding:11px 12px; resize:vertical; }
.inquiry-form .inquiry-message, .inquiry-form .button, .inquiry-form .form-note { grid-column:1 / -1; }
.inquiry-form .button { min-height:52px; margin-top:4px; font-family:Figtree,Arial,sans-serif; font-size:17px; }
.inquiry-form .form-note { margin:0; color:#4770a7; font:14px/1.45 Figtree,Arial,sans-serif; text-align:center; }
@media (max-width:880px) {
  .form-page-hero { min-height:270px; padding:48px 0; }
  .form-page-hero--partner { min-height:190px; }
  .form-page-hero h1 { font-size:52px; }
  .inquiry-layout { width:min(100% - 56px,760px); grid-template-columns:1fr; gap:28px; padding:30px; }
}
@media (max-width:580px) {
  .form-page-hero { min-height:235px; padding:36px 0; background-position:66% center; }
  .form-page-hero--partner { min-height:176px; }
  .form-page-hero h1 { font-size:42px; line-height:.98; }
  .form-page-intro { max-width:285px; font-size:21px; }
  .inquiry-layout { width:calc(100% - 28px); gap:25px; margin:22px auto 28px; padding:24px 18px; }
  .inquiry-copy h2 { font-size:31px; }
  .inquiry-copy > p:not(.eyebrow):not(.inquiry-details) { font-size:17px; }
  .inquiry-form { grid-template-columns:1fr; gap:13px; }
  .inquiry-form .inquiry-message, .inquiry-form .button, .inquiry-form .form-note { grid-column:auto; }
  .inquiry-form .button { width:100%; font-size:16px; }
}

/* Contact page: use the full photographic composition and give the inquiry
   form a distinct, easy-to-scan structure. */
.form-page-hero--contact { min-height:388px; padding:66px 0; background-position:right top; }
.form-page-hero--contact::before { background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 41%,rgba(250,253,255,.74) 55%,rgba(234,248,255,.16) 72%,rgba(234,248,255,0) 100%); }
.form-page-hero--contact h1 { max-width:680px; }
.form-page-lead { max-width:595px; margin:24px 0 0; color:#17477d; font-family:Figtree,Arial,sans-serif; font-size:20px; line-height:1.42; }
.contact-area { position:relative; padding:54px 0 66px; background:linear-gradient(116deg,#edfaff 0%,#f9fdff 48%,#e6f6ff 100%); }
.contact-layout { width:min(100% - 94px,1240px); display:grid; grid-template-columns:minmax(300px,.77fr) minmax(0,1.23fr); margin:0 auto; border:1px solid #bddff3; border-radius:10px; overflow:hidden; box-shadow:0 16px 38px rgba(12,89,144,.11); }
.contact-brief { position:relative; isolation:isolate; min-height:650px; padding:49px 42px 42px; overflow:hidden; color:#fff; background:linear-gradient(155deg,#06285f 0%,#075696 54%,#057aa9 100%); }
.contact-brief::after { content:""; position:absolute; z-index:-1; width:330px; height:330px; right:-204px; bottom:-127px; border:1px solid rgba(255,255,255,.23); border-radius:50%; box-shadow:0 0 0 38px rgba(255,255,255,.04),0 0 0 77px rgba(255,255,255,.035); }
.contact-brief .eyebrow { color:#8ddaff; font-size:14px; letter-spacing:.2em; }
.contact-brief h2 { margin:0 0 21px; color:#fff; font-size:44px; line-height:.94; letter-spacing:-.055em; }
.contact-brief > p:not(.eyebrow) { max-width:350px; margin:0; color:#d6efff; font-family:Figtree,Arial,sans-serif; font-size:17px; line-height:1.5; }
.contact-benefits { display:grid; gap:19px; padding:0; margin:34px 0 32px; list-style:none; }
.contact-benefits li { display:grid; grid-template-columns:39px 1fr; align-items:center; gap:12px; color:#fff; font-family:Figtree,Arial,sans-serif; font-size:15px; line-height:1.3; }
.contact-benefits .icon { width:35px; height:35px; color:#83d4ff; stroke-width:1.75; }
.contact-direct { display:grid; gap:6px; padding-top:22px; border-top:1px solid rgba(255,255,255,.26); font-family:Figtree,Arial,sans-serif; font-size:16px; line-height:1.45; }
.contact-direct span { margin-bottom:3px; color:#9bdfff; font-size:13px; }
.contact-direct a { width:max-content; color:#fff; }
.contact-form-card { padding:47px 49px 42px; background:rgba(255,255,255,.98); }
.contact-form-heading { margin-bottom:28px; }
.contact-form-heading .eyebrow { margin-bottom:13px; font-size:14px; }
.contact-form-heading h2 { margin:0 0 11px; color:#06235e; font-size:42px; line-height:.96; letter-spacing:-.052em; }
.contact-form-heading > p:not(.eyebrow) { max-width:550px; margin:0; color:#3f6292; font-family:Figtree,Arial,sans-serif; font-size:16px; line-height:1.45; }
.contact-form-card .inquiry-form { gap:19px 16px; }
.contact-form-card .inquiry-form label { gap:9px; color:#0a3166; font-size:14px; }
.contact-form-card .inquiry-form input,
.contact-form-card .inquiry-form select,
.contact-form-card .inquiry-form textarea { border-color:#abcfe6; border-radius:5px; background:#fbfdff; box-shadow:inset 0 1px 1px rgba(12,67,120,.02); }
.contact-form-card .inquiry-form input,
.contact-form-card .inquiry-form select { height:49px; padding:12px 14px; }
.contact-form-card .inquiry-form textarea { min-height:128px; padding:13px 14px; }
.contact-form-card .inquiry-form .button { min-height:56px; margin-top:0; }
.contact-form-card .form-note { color:#5379ab; text-align:left; }
.contact-form-card .form-note b { color:#d54758; }

@media (min-width:881px) and (max-width:1180px) {
  .nav-box { gap:12px; padding-inline:14px; }
  .brand { width:165px; }
  .brand img { width:180px; }
  .main-nav { gap:12px; }
  .main-nav a { font-size:14px; }
  .nav-actions { gap:7px; }
  .nav-actions .button,
  .nav-actions .button:last-child { min-width:128px; padding-inline:12px; font-size:16px; }
}
@media (max-width:880px) {
  .form-page-hero--contact { min-height:310px; padding:48px 0; background-position:right top; }
  .form-page-hero--contact h1 { max-width:610px; }
  .contact-area { padding:34px 0 44px; }
  .contact-layout { width:min(100% - 56px,760px); grid-template-columns:1fr; }
  .contact-brief { min-height:0; padding:34px 30px; }
  .contact-form-card { padding:34px 30px; }
}
@media (max-width:580px) {
  .form-page-hero--contact { min-height:267px; padding:34px 0; background-position:right top; }
  .form-page-hero--contact::before { background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.92) 55%,rgba(255,255,255,.2) 100%); }
  .form-page-lead { max-width:280px; margin-top:18px; font-size:15px; line-height:1.35; }
  .contact-area { padding:22px 0 30px; }
  .contact-layout { width:calc(100% - 28px); }
  .contact-brief { padding:29px 18px 26px; }
  .contact-brief h2 { font-size:36px; }
  .contact-brief > p:not(.eyebrow) { font-size:16px; }
  .contact-benefits { gap:14px; margin:25px 0; }
  .contact-benefits li { grid-template-columns:32px 1fr; gap:10px; font-size:14px; }
  .contact-benefits .icon { width:29px; height:29px; }
  .contact-form-card { padding:28px 18px 25px; }
  .contact-form-heading { margin-bottom:24px; }
  .contact-form-heading h2 { font-size:33px; }
  .contact-form-card .inquiry-form { gap:15px; }
  .contact-form-card .inquiry-form input,
  .contact-form-card .inquiry-form select { height:45px; }
  .contact-form-card .inquiry-form textarea { min-height:116px; }
  .contact-form-card .form-note { text-align:center; }
}

/* Taller contact opening: the portrait is a deliberate right-hand composition,
   while the copy keeps a generous, calm reading area on the left. */
.form-page-hero--contact { min-height:530px; padding:78px 0; background-image:linear-gradient(90deg,rgba(250,253,255,1) 0%,rgba(250,253,255,.98) 40%,rgba(247,252,255,.83) 53%,rgba(232,246,255,.26) 68%,rgba(232,246,255,0) 100%),url("assets/hero-clinician.png"); background-position:right top; }
.form-page-hero--contact::before { display:none; }
.contact-hero-copy { max-width:760px; }
.form-page-hero--contact h1 { max-width:760px; font-size:64px; line-height:.93; }
.form-page-lead { max-width:555px; margin-top:27px; color:#204d81; font-size:20px; line-height:1.46; }
.contact-hero-points { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.contact-hero-points span { min-width:185px; padding:11px 15px 12px; border-left:2px solid #1380be; background:rgba(255,255,255,.72); color:#365f90; font-family:Figtree,Arial,sans-serif; font-size:13px; line-height:1.25; box-shadow:0 5px 16px rgba(12,81,129,.06); }
.contact-hero-points b { display:block; margin-bottom:3px; color:#07316a; font-size:16px; }

@media (max-width:1180px) {
  .form-page-hero--contact { min-height:485px; padding:68px 0; }
  .form-page-hero--contact h1 { max-width:660px; font-size:58px; }
}
@media (max-width:880px) {
  .form-page-hero--contact { min-height:400px; padding:51px 0; }
  .form-page-hero--contact h1 { max-width:610px; font-size:54px; }
}
@media (max-width:580px) {
  .form-page-hero--contact { min-height:350px; padding:34px 0 29px; background-image:linear-gradient(90deg,rgba(250,253,255,1) 0%,rgba(250,253,255,.96) 53%,rgba(250,253,255,.34) 100%),url("assets/hero-clinician.png"); }
  .form-page-hero--contact h1 { max-width:450px; font-size:40px; line-height:.94; }
  .form-page-lead { max-width:330px; margin-top:17px; font-size:15px; line-height:1.35; }
  .contact-hero-points { gap:8px; margin-top:19px; }
  .contact-hero-points span { min-width:0; flex:1 1 120px; padding:8px 9px; font-size:11px; }
  .contact-hero-points b { margin-bottom:2px; font-size:13px; }
}

/* Keep the complete logo—including its lower tagline—visible at every size. */
@media (max-width:580px) {
  .brand, .nav-box.open .brand, .footer-brand { height:auto; overflow:visible; }
  .footer-bottom { align-items:flex-start; flex-direction:column; }
  .footer-development { white-space:normal; }
}
