
:root{
  --blue:#0877a7;
  --blue-dark:#0c496d;
  --blue-deep:#103d5b;
  --ink:#15384d;
  --muted:#667b88;
  --paper:#f8f7f3;
  --white:#fff;
  --line:#d9e3e8;
  --soft:#eaf3f6;
  --container:min(1180px,calc(100vw - 56px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Aptos,"Segoe UI",Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block} button,input{font:inherit}
.skip-link{position:fixed;left:14px;top:-80px;z-index:999;background:#fff;padding:12px 16px;border-radius:6px}.skip-link:focus{top:14px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(248,247,243,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(217,227,232,.78)}
.header-shell{width:var(--container);height:78px;margin:auto;display:grid;grid-template-columns:190px 1fr auto;gap:28px;align-items:center}
.brand img{width:176px;height:auto}.desktop-nav{display:flex;justify-content:center;gap:24px;font-size:14px;font-weight:650;color:#446171}
.desktop-nav a{padding:10px 0;position:relative}.desktop-nav a:after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:5px;background:var(--blue);transition:.2s}.desktop-nav a:hover:after,.desktop-nav a.is-active:after{right:0}.desktop-nav a.is-active{color:var(--blue-deep)}
.header-actions{display:flex;gap:15px;align-items:center}.quiet-contact{font-size:13px;font-weight:750}.menu-toggle,.mobile-menu{display:none}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:6px;background:var(--blue);border:1px solid var(--blue);color:#fff;font-weight:760;transition:.2s;cursor:pointer}.button:hover{background:#066b97;transform:translateY(-1px)}
.button-small{min-height:40px;padding:0 16px;font-size:13px}.button-white{background:#fff;color:var(--blue-deep);border-color:#fff}.button-white:hover{background:#eef7fa}
.text-link{display:inline-flex;gap:8px;align-items:center;font-weight:750;color:var(--blue-dark)}.text-link span{transition:.2s}.text-link:hover span{transform:translate(2px,-2px)}
.light-link{color:#fff}.eyebrow{margin:0 0 14px;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:850;color:var(--blue)}.light-eyebrow{color:#8fd3ee}
h1,h2,h3{margin-top:0;letter-spacing:-.028em;line-height:1.08}h1{font-size:clamp(42px,4.6vw,62px);font-weight:690}h2{font-size:clamp(32px,3.3vw,46px);font-weight:680}h3{font-size:23px;font-weight:700}
.home-hero{padding:76px 0 54px}.hero-shell{width:var(--container);margin:auto;display:grid;grid-template-columns:1.04fr .96fr;min-height:550px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:74px 64px 74px 0}.hero-copy h1{max-width:760px;margin-bottom:24px}.hero-lead{max-width:650px;font-size:20px;color:#5d7482;margin:0 0 30px}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.hero-media{position:relative;margin:0;min-height:550px;overflow:hidden;background:#dfe8ec}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-media:after{content:"";position:absolute;inset:auto 0 0;height:32%;background:linear-gradient(to top,rgba(7,35,50,.46),rgba(7,35,50,0));pointer-events:none}
.hero-media figcaption{position:absolute;left:28px;right:28px;bottom:24px;z-index:1;color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em;text-shadow:0 1px 12px rgba(0,0,0,.28)}
.quick-nav{width:var(--container);margin:0 auto 40px;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.quick-nav a{padding:28px 24px 30px;border-right:1px solid var(--line);min-height:118px;display:flex;flex-direction:column;justify-content:center;gap:4px}.quick-nav a:first-child{padding-left:0}.quick-nav a:last-child{border-right:0}.quick-nav strong{font-size:16px}.quick-nav small{color:var(--muted);font-size:12px}
.section{width:var(--container);margin:auto;padding:90px 0}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:84px;align-items:end}.split>p{color:var(--muted);font-size:17px;margin:0 0 8px;max-width:560px}
.specialty-preview{margin-top:50px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);column-gap:56px}.specialty-preview a{min-height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:17px}.specialty-preview span{color:#95a8b1}.section-link{margin-top:28px}
.institutional-band{background:var(--blue-deep);color:#fff}.institutional-shell{width:var(--container);margin:auto;display:grid;grid-template-columns:.7fr 1.3fr;gap:92px;padding:90px 0}.institutional-label{border-right:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;justify-content:center}.institutional-label span{text-transform:uppercase;letter-spacing:.16em;font-size:11px;opacity:.65}.institutional-label strong{font-size:clamp(76px,10vw,140px);line-height:.95;letter-spacing:-.06em;font-weight:680}.institutional-copy p:not(.eyebrow){color:rgba(255,255,255,.72);font-size:17px;max-width:680px}.institutional-copy .text-link{margin-top:16px}
.home-exams{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:start}.exams-intro p:not(.eyebrow){color:var(--muted);font-size:17px;max-width:560px}.exam-list-compact{border-top:1px solid var(--line)}.exam-list-compact a{min-height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.exam-list-compact strong{font-size:17px}.exam-list-compact span{color:#93a9b3}
.cta-band{background:var(--blue);color:#fff;padding:70px max(28px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.cta-band h2{margin-bottom:14px}.cta-band p:not(.eyebrow){margin:0;color:rgba(255,255,255,.78);font-size:17px}.cta-band-actions{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex-wrap:wrap}
.home-location{display:grid;grid-template-columns:.92fr 1.08fr;min-height:560px;background:#eef3f4}.location-copy{padding:84px max(40px,calc((100vw - 1180px)/2)) 84px max(28px,calc((100vw - 1180px)/2));display:flex;flex-direction:column;justify-content:center}.location-copy>p:not(.eyebrow,.validation-note){color:var(--muted);font-size:17px}.contact-lines{display:flex;flex-direction:column;gap:5px;margin:24px 0;font-weight:760}.validation-note{font-size:12px;color:#7c8e98;border-left:2px solid #abc2cd;padding-left:12px}.map-frame{width:100%;height:100%;min-height:500px;border:0;filter:saturate(.75) contrast(.95)}
.page-hero{padding:0;background:linear-gradient(180deg,#fff 0%,#fbfaf7 100%);border-bottom:1px solid var(--line)}.page-hero-shell{width:var(--container);margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start;padding:52px 0 48px}.page-hero-shell h1{max-width:720px;margin:0;font-size:clamp(38px,4vw,54px);line-height:1.06}.page-hero-shell>p{color:var(--muted);font-size:16px;max-width:500px;margin:30px 0 0}.page-hero + .section{padding-top:58px}.page-hero + .contact-layout{margin-top:58px}.page-hero-about .page-hero-shell,.page-hero-online .page-hero-shell{grid-template-columns:1fr .78fr}.page-hero-exams .page-hero-shell,.page-hero-contact .page-hero-shell{grid-template-columns:.9fr .8fr}
.prose-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:92px}.prose-index{display:flex;flex-direction:column;border-top:1px solid var(--line)}.prose-index span{font-size:11px;color:#7f919b;text-transform:uppercase;letter-spacing:.12em;margin-top:22px}.prose-index strong{padding:5px 0 22px;border-bottom:1px solid var(--line);font-size:17px}.prose h2{max-width:760px}.prose p{font-size:18px;color:var(--muted);max-width:760px}.prose-cta{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:34px}
.value-strip{width:var(--container);margin:0 auto 90px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.value-strip div{padding:36px 36px;border-right:1px solid var(--line)}.value-strip div:first-child{padding-left:0}.value-strip div:last-child{border-right:0}.value-strip strong{display:block;margin:0 0 8px;font-size:17px}.value-strip p{font-size:13px;color:var(--muted);margin:0}
.finder{display:grid;grid-template-columns:190px 1fr;gap:26px;align-items:center;margin-bottom:34px}.finder label{font-size:12px;font-weight:800;color:var(--blue-dark)}.finder input{height:58px;border:0;border-bottom:1px solid #adc2cc;background:transparent;font-size:18px;padding:0 4px;outline:none}.finder input:focus{border-color:var(--blue)}
.specialties-full{border-top:1px solid var(--line)}.specialty-item{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.specialty-item h3{margin:0 0 5px;font-size:22px}.specialty-item p{margin:0;color:var(--muted);font-size:14px;max-width:750px}.specialty-item>a{font-size:12px;font-weight:800;color:var(--blue-dark);white-space:nowrap}.specialty-item.is-hidden{display:none}.roomy{margin-top:34px}
.exams-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 60px}.exam-item{min-height:235px;border-top:1px solid var(--line);padding:32px 0}.exam-item p{color:var(--muted);max-width:520px}.info-band{background:var(--blue-deep);color:#fff;padding:70px max(28px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1fr 1fr;gap:80px}.info-band p{color:rgba(255,255,255,.72);font-size:17px}.info-band h2{margin-bottom:0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding-bottom:110px}.steps article{padding:34px 38px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.steps article:first-child{padding-left:0}.steps article:last-child{border-right:0}.steps h2{font-size:28px;margin:0 0 10px}.steps p{color:var(--muted);margin-bottom:0}
.booking-page{display:grid;grid-template-columns:.8fr 1.2fr;gap:84px}.booking-note p{color:var(--muted);font-size:17px;max-width:480px}.booking-form{background:#fff;padding:38px;border:1px solid var(--line);border-radius:8px}.booking-form fieldset{border:0;margin:0 0 22px;padding:0}.booking-form legend,.booking-form>label,.form-grid label{font-size:12px;font-weight:800;color:#4d6674}.segmented{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-top:9px}.segmented label{position:relative;min-height:48px;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line);font-size:12px;font-weight:720;cursor:pointer}.segmented label:last-child{border-right:0}.segmented input{position:absolute;opacity:0}.segmented label:has(input:checked){background:var(--soft);color:var(--blue-deep)}
.booking-form input[type=text],.booking-form input[type=tel]{width:100%;height:50px;margin-top:8px;border:1px solid #cbd9df;border-radius:5px;padding:0 12px;background:#fbfcfc;outline:none}.booking-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,119,167,.08)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.consent{display:flex;gap:10px;align-items:flex-start;margin:22px 0;font-size:11px!important;font-weight:500!important;line-height:1.4}.booking-form .button{width:100%}.form-help{font-size:11px;color:#82939c;text-align:center;margin:12px 0 0;line-height:1.45}
.contact-layout{width:var(--container);margin:0 auto 90px;display:grid;grid-template-columns:.8fr 1.2fr;min-height:560px}.contact-card{background:var(--blue-deep);color:#fff;padding:52px;display:flex;flex-direction:column}.contact-card>span{margin-top:24px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;opacity:.62}.contact-card>span:first-child{margin-top:0}.contact-card>a{font-size:21px;font-weight:730}.contact-card p{margin:4px 0 0;color:rgba(255,255,255,.76)}.contact-card .validation-note{margin-top:auto;color:rgba(255,255,255,.68);border-color:rgba(255,255,255,.35)}.map-frame.large{min-height:580px}
.site-footer{padding:64px max(28px,calc((100vw - 1180px)/2)) 28px;background:#fff}.footer-top{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-bottom:44px}.footer-brand img{width:188px}.footer-top p{color:var(--muted);font-size:14px;max-width:400px}.footer-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.footer-columns div{display:flex;flex-direction:column;gap:7px}.footer-columns strong{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--blue);margin-bottom:7px}.footer-columns a{font-size:13px;color:#607887}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:30px;color:#899aa3;font-size:11px}.mobile-actions{display:none}
.search-empty{color:var(--muted);font-size:14px}
@media(max-width:1050px){:root{--container:min(94vw,930px)}.desktop-nav{gap:16px}.quiet-contact{display:none}.hero-shell{grid-template-columns:1fr .9fr}.hero-copy{padding-right:40px}.split,.page-hero-shell{gap:52px}}
@media(max-width:820px){
  :root{--container:calc(100vw - 40px)}body{padding-bottom:58px}.header-shell{grid-template-columns:1fr auto;height:70px}.brand img{width:168px}.desktop-nav,.header-actions{display:none}.menu-toggle{display:flex;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px}.menu-toggle span{height:2px;background:var(--blue-deep);width:100%}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:16px 20px 24px;border-bottom:1px solid var(--line)}.mobile-menu.is-open{display:flex;flex-direction:column}.mobile-menu a:not(.button){padding:12px 3px;border-bottom:1px solid var(--line);font-weight:700}.mobile-menu .button{margin-top:16px}
  .home-hero{padding-top:42px}.hero-shell,.page-hero-shell,.split,.institutional-shell,.home-exams,.cta-band,.home-location,.prose-layout,.info-band,.booking-page,.contact-layout{grid-template-columns:1fr}.hero-copy{padding:60px 0}.hero-media{min-height:440px}.quick-nav{grid-template-columns:1fr 1fr}.quick-nav a:nth-child(2){border-right:0}.specialty-preview{grid-template-columns:1fr}.institutional-shell{gap:38px}.institutional-label{border-right:0;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:36px}.home-exams{gap:46px}.cta-band{gap:30px}.cta-band-actions{justify-content:flex-start}.home-location{min-height:auto}.map-frame{min-height:420px}.page-hero-shell{gap:14px;padding:38px 0 34px}.page-hero-shell>p{margin-top:4px;max-width:640px}.page-hero-shell h1{font-size:42px}.value-strip{grid-template-columns:1fr}.value-strip div{border-right:0;border-bottom:1px solid var(--line);padding-left:0}.value-strip div:last-child{border-bottom:0}.finder{grid-template-columns:1fr;gap:8px}.specialty-item{grid-template-columns:1fr;gap:12px}.exams-grid,.steps{grid-template-columns:1fr}.steps article{padding-left:0;border-right:0}.booking-page{gap:40px}.contact-layout{margin-bottom:0}.footer-top{grid-template-columns:1fr}.footer-columns{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column}.mobile-actions{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:#fff;border-top:1px solid var(--line);z-index:60}.mobile-actions a{height:58px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}.mobile-actions a:last-child{background:var(--blue);color:#fff}
}
@media(max-width:520px){:root{--container:calc(100vw - 30px)}h1{font-size:43px}h2{font-size:36px}.hero-copy{padding:48px 0}.hero-lead{font-size:17px}.hero-media{min-height:340px}.hero-media figcaption{left:18px;right:18px;bottom:16px}.quick-nav{grid-template-columns:1fr}.quick-nav a{border-right:0;border-bottom:1px solid var(--line);padding-left:0}.section{padding:70px 0}.institutional-shell{padding:70px 0}.institutional-label strong{font-size:90px}.page-hero-shell{padding:32px 0 30px}.page-hero-shell h1{font-size:36px}.page-hero-shell>p{font-size:15px}.segmented{grid-template-columns:1fr}.segmented label{border-right:0;border-bottom:1px solid var(--line)}.form-grid{grid-template-columns:1fr}.footer-columns{grid-template-columns:1fr}.contact-card{padding:34px 26px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
