:root{--navy:#08275d;--blue:#0a397b;--royal:#1753a0;--light:#dfeaf8;--mist:#eef4fb;--ink:#102b55;--muted:#526b8c;--green:#b8de74;--line:rgba(14,59,115,.18)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--mist);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em}h1,h2{font-weight:700}section[id]{scroll-margin-top:82px}.wrap{width:min(100% - 88px,1280px);margin-inline:auto}.section-pad{padding-block:112px}.skip-link{position:absolute;left:14px;top:-60px;z-index:20;padding:12px;background:#fff;color:var(--navy)}.skip-link:focus{top:14px}:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.site-header{position:relative;z-index:10;background:#e8f1fb;border-bottom:1px solid #d1e0f2}.header-inner{height:88px;display:flex;align-items:center;gap:36px}.brand{flex:none;display:flex;align-items:center}.brand img{width:155px;height:auto}.site-nav{display:flex;align-items:center;gap:32px;margin-left:auto;font-size:14px;font-weight:700}.site-nav a:not(.nav-login){transition:color .2s}.site-nav a:hover{color:var(--royal)}.nav-login{display:none}.header-cta{background:var(--navy);color:#fff;padding:14px 18px;border-radius:4px;font-size:14px;font-weight:700;white-space:nowrap;transition:background .2s,transform .2s}.header-cta span{margin-left:13px}.header-cta:hover,.button-blue:hover{background:#1653a0;transform:translateY(-2px)}.menu-toggle{display:none}
.hero{overflow:hidden;background:var(--navy);color:#fff;position:relative}.hero::before{content:"";position:absolute;width:650px;height:650px;right:-210px;top:-280px;border:1px solid rgba(205,226,252,.13);border-radius:50%;box-shadow:0 0 0 110px rgba(205,226,252,.025),0 0 0 230px rgba(205,226,252,.02);pointer-events:none}.hero-inner{display:grid;grid-template-columns:1fr .97fr;gap:5.5%;align-items:center;min-height:670px;padding-block:70px 55px;position:relative}.hero-copy{max-width:605px;position:relative;z-index:1}.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:800;color:var(--royal);line-height:1.4;margin-bottom:24px}.eyebrow-light{color:#a8c6ed}.eyebrow-line{display:inline-block;width:22px;height:2px;background:var(--green);flex:none}.hero h1{font-size:clamp(55px,5.3vw,84px);line-height:1.035;margin-bottom:28px;max-width:690px}.hero h1 em,.method h2 em,.outcomes h2 em{font-style:normal;color:var(--green)}.hero-lead{color:#c2d4eb;font-size:18px;line-height:1.65;max-width:500px;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;border-radius:4px;padding:17px 21px;font-size:14px;font-weight:800;line-height:1.2;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:19px;font-weight:400}.button-lime{background:var(--green);color:var(--navy)}.button-lime:hover{background:#cde994}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:14px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:7px;transition:gap .2s}.text-link:hover{gap:22px}.text-link-light{color:#fff}.hero-proof{display:flex;align-items:center;gap:18px;border-top:1px solid rgba(255,255,255,.16);padding-top:24px;margin-top:49px;max-width:430px}.hero-proof strong{color:var(--green);font-size:27px;letter-spacing:-.05em;white-space:nowrap}.hero-proof span{color:#b7cce6;font-size:12px;line-height:1.45;max-width:190px}.hero-visual{position:relative;align-self:stretch;min-height:495px;margin-right:-55px}.hero-visual::before{content:"";position:absolute;left:-17px;top:22px;width:100%;height:100%;border:1px solid rgba(184,222,116,.45);pointer-events:none}.hero-visual img{width:100%;height:100%;min-height:495px;object-fit:cover;object-position:55% center;filter:saturate(.95) contrast(1.03)}.hero-visual-caption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:10px;padding:20px 23px;background:linear-gradient(0deg,rgba(4,30,74,.88),transparent);font-size:12px;font-weight:700;letter-spacing:.02em}.caption-mark{width:7px;height:7px;border-radius:50%;background:var(--green)}.hero-bottom{border-top:1px solid rgba(255,255,255,.13);height:61px;display:flex;align-items:center;gap:32px;text-transform:uppercase;letter-spacing:.19em;font-size:10px;font-weight:700;color:#8baedb}.hero-bottom span+span::before{content:"/";margin-right:32px;color:var(--green)}
.intro{background:#eaf2fb}.intro-grid{display:grid;grid-template-columns:1.15fr .7fr;gap:12%;align-items:end}.intro h2,.experience h2,.contact h2{font-size:clamp(40px,4vw,62px);line-height:1.12;margin-bottom:0}.intro h2 span,.experience h2 span,.contact h2 span{color:var(--royal)}.intro-copy{padding-bottom:7px}.intro-copy p,.experience-copy>p:not(.eyebrow),.contact-grid>div>p:not(.eyebrow){font-size:17px;line-height:1.75;color:var(--muted);margin-bottom:28px}.intro .text-link{color:var(--blue)}
.method{background:#0c3979;color:#fff}.section-heading{display:grid;grid-template-columns:1.2fr .5fr;gap:11%;align-items:end;margin-bottom:57px}.section-heading h2,.outcomes h2{font-size:clamp(40px,4vw,62px);line-height:1.13;margin-bottom:0;max-width:710px}.section-heading>p{font-size:16px;line-height:1.65;color:#bfd3ed;margin-bottom:5px}.method-list{border-top:1px solid rgba(255,255,255,.22)}.method-item{display:grid;grid-template-columns:105px 1fr 42px;align-items:center;gap:22px;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.22)}.method-number{align-self:start;padding-top:5px;color:var(--green);font-size:13px;font-weight:800;letter-spacing:.1em}.method-item h3{font-size:27px;line-height:1.15;margin-bottom:7px}.method-item p{color:#b9d0eb;font-size:14px;line-height:1.55;margin:0}.method-symbol{font-size:25px;color:var(--green);font-weight:300}
.experience{background:#dce9f8}.experience-grid{display:grid;grid-template-columns:1fr .88fr;gap:9%;align-items:center}.experience-media{position:relative;min-height:550px}.experience-media img{width:100%;height:550px;object-fit:cover;object-position:45% center}.photo-label{position:absolute;right:-18px;bottom:24px;background:var(--green);color:var(--navy);font-size:12px;font-weight:800;padding:15px 19px}.experience h2{margin-bottom:25px}.experience-copy>p:not(.eyebrow){margin-bottom:33px}.experience-points{border-top:1px solid var(--line)}.experience-points>div{display:grid;grid-template-columns:125px 1fr;gap:16px;padding:19px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.45}.experience-points strong{color:var(--blue);font-size:14px}.experience-points span{color:var(--muted)}
.outcomes{background:#092b62;color:#fff}.outcomes-grid{display:grid;grid-template-columns:1.1fr .7fr;gap:12%;align-items:end}.outcomes-copy p{color:#bfd3ed;font-size:17px;line-height:1.75;margin-bottom:30px}.button-outline{border:1px solid #8badd7;color:#fff}.button-outline:hover{background:#164582}
.contact{background:#edf4fb}.contact-grid{display:grid;grid-template-columns:1fr .68fr;gap:15%;align-items:start}.contact h2{margin-bottom:24px}.contact-grid>div>p:not(.eyebrow){max-width:560px}.button-blue{background:var(--navy);color:#fff}.contact-details{padding-top:5px}.contact-details>div{border-bottom:1px solid var(--line);padding:0 0 25px;margin-bottom:25px}.contact-details>div>span{display:block;color:var(--royal);text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800;margin-bottom:10px}.contact-details address{font-style:normal;line-height:1.55;margin-bottom:10px}.contact-details a:not(:last-child){display:block}.contact-details a{font-weight:700;line-height:1.5}.contact-details a:hover{text-decoration:underline}
.site-footer{background:#061e48;color:#d0dff1}.footer-main{padding:65px 0 55px;display:flex;justify-content:space-between;gap:30px}.footer-brand{font-size:33px;letter-spacing:-.07em;color:#fff}.footer-brand span{color:var(--green)}.footer-main p{font-size:13px;margin:10px 0 0;color:#94b0d1}.footer-main nav{display:flex;gap:30px;align-items:center;font-size:13px;font-weight:700}.footer-main nav a:hover{color:var(--green)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.15);padding:22px 0 30px;color:#8faed1;font-size:11px}
@media(max-width:1100px){.wrap{width:min(100% - 56px,1280px)}.site-nav{gap:19px}.hero-inner{gap:4%}.hero-visual{margin-right:0}.hero h1{font-size:clamp(50px,5vw,70px)}.experience-grid{gap:6%}}
@media(max-width:800px){.site-header{position:sticky;top:0}.header-inner{height:74px}.brand img{width:135px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;border:0;background:transparent;margin-left:auto;cursor:pointer}.menu-toggle span{display:block;height:2px;width:25px;background:var(--navy);transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#e8f1fb;padding:15px 28px 28px;box-shadow:0 18px 25px rgba(7,34,77,.12);flex-direction:column;align-items:stretch;gap:0;margin:0}.site-nav.is-open{display:flex}.site-nav a{padding:14px 4px;border-bottom:1px solid var(--line)}.nav-login{display:block}.header-cta{display:none}.hero-inner{grid-template-columns:1fr;padding:72px 0 48px;min-height:0;gap:45px}.hero-copy{max-width:700px}.hero-visual{min-height:390px}.hero-visual img{height:390px;min-height:0}.hero-visual::before{left:12px;top:12px}.intro-grid,.section-heading,.experience-grid,.outcomes-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.section-pad{padding-block:82px}.section-heading{margin-bottom:38px}.section-heading>p{max-width:480px}.experience-media,.experience-media img{height:460px;min-height:0}.experience-copy{max-width:650px}.contact-details{padding-top:12px}}
@media(max-width:560px){.wrap{width:min(100% - 36px,1280px)}.hero-inner{padding-top:59px;gap:37px}.hero h1{font-size:clamp(45px,12vw,61px)}.hero-lead{font-size:16px}.hero-actions{align-items:flex-start;gap:22px;flex-direction:column}.hero-proof{margin-top:36px}.hero-visual,.hero-visual img{height:285px;min-height:0}.hero-visual-caption{font-size:11px;padding:15px}.hero-bottom{gap:12px;font-size:8px;height:48px}.hero-bottom span+span::before{margin-right:12px}.section-pad{padding-block:67px}.intro h2,.experience h2,.contact h2,.section-heading h2,.outcomes h2{font-size:clamp(37px,10vw,48px)}.method-item{grid-template-columns:39px 1fr 20px;gap:11px;padding:25px 0}.method-item h3{font-size:21px}.method-item p{font-size:13px}.method-symbol{font-size:17px}.experience-media,.experience-media img{height:315px}.photo-label{right:0;bottom:0}.experience-points>div{grid-template-columns:92px 1fr}.footer-main{padding:50px 0 35px;flex-direction:column}.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:17px}.footer-bottom{flex-direction:column;gap:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.nav-login{display:inline}
.nav-contact{display:none}
@media(max-width:800px){.nav-contact{display:block}}

/* Campus digital: typography, brand and deliberate motion */
@font-face {
  font-family: Sora;
  src: url('../fonts/Sora-Variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
}
:root {
  --navy: #071d43;
  --blue: #103c78;
  --royal: #285ea4;
  --mist: #edf3fa;
  --ink: #0d2852;
  --muted: #4f6483;
  --green: #b5d98a;
  --line: rgba(16, 60, 120, .16);
}
body { font-family: Sora, Arial, sans-serif; }
h1, h2, h3 { letter-spacing: -.06em; }
.site-header {
  position: sticky;
  top: 0;
  background: var(--navy);
  border-color: rgba(214, 231, 252, .13);
  color: #eef5ff;
}
.header-inner { height: 78px; }
.brand { gap: 13px; }
.brand-name { font-size: 22px; font-weight: 800; letter-spacing: -.065em; line-height: 1; }
.brand-name span { color: var(--green); }
.site-nav { gap: 27px; font-size: 12px; font-weight: 600; }
.site-nav a:not(.nav-login) { color: #c8d9f0; }
.site-nav a:hover, .site-nav a[aria-current="location"] { color: #fff; }
.site-nav a[aria-current="location"] { box-shadow: 0 2px 0 var(--green); }
.nav-login { padding-left: 27px; border-left: 1px solid rgba(214, 231, 252, .2); }
.header-cta { background: var(--green); color: var(--navy); font-size: 12px; font-weight: 700; border-radius: 2px; }
.header-cta:hover { background: #c9e7a7; color: var(--navy); }
.hero { background: var(--navy); }
.hero::before { display: none; }
.hero-inner { min-height: 705px; gap: 6%; grid-template-columns: 1fr .95fr; padding-block: 64px 78px; }
.hero h1 { font-size: clamp(51px, 5vw, 74px); line-height: 1.11; font-weight: 700; letter-spacing: -.07em; margin-bottom: 25px; }
.hero h1 em { color: #a9d588; }
.hero-lead { font-size: 16px; line-height: 1.8; max-width: 520px; }
.eyebrow { letter-spacing: .14em; font-size: 10px; }
.button { border-radius: 2px; font-size: 12px; letter-spacing: -.02em; }
.button-lime { background: var(--green); }
.text-link { font-size: 12px; }
.hero-proof { margin-top: 48px; max-width: 410px; }
.hero-proof strong { font-size: 23px; }
.hero-visual { margin-right: -25px; min-height: 0; display: flex; flex-direction: column; align-self: center; }
.hero-visual::before { display: none; }
.hero-visual img { height: 505px; min-height: 0; object-position: 56% center; filter: saturate(.87) contrast(1.06); }
.intro { background: #e5eef9; }
.intro h2, .experience h2, .contact h2, .section-heading h2, .outcomes h2 { font-size: clamp(40px, 4.2vw, 61px); line-height: 1.16; font-weight: 650; }
.intro-copy p, .experience-copy>p:not(.eyebrow), .contact-grid>div>p:not(.eyebrow), .outcomes-copy p { font-size: 15px; line-height: 1.85; }
.method { background: #103b78; }
.method-list { counter-reset: route; }
.method-item { position: relative; grid-template-columns: 112px 1fr 42px; padding: 34px 24px 34px 0; transition: background .3s, padding-left .3s, opacity .6s, transform .6s; }
.method-item:hover { background: rgba(255,255,255,.045); padding-left: 16px; }
.method-number { font-size: 24px; font-weight: 600; letter-spacing: -.07em; line-height: 1; }
.method-item h3 { font-size: 24px; font-weight: 600; letter-spacing: -.045em; }
.method-item p { font-size: 13px; color: #b7cce8; }
.method-symbol { transition: transform .3s; }
.method-item:hover .method-symbol { transform: translate(4px, -4px); }
.experience { background: #dce8f6; }
.experience-media img { filter: saturate(.85) contrast(1.04); }
.outcomes { background: #0a2a5a; }
.contact { background: #eaf1f9; }
.footer-brand { font-size: 27px; letter-spacing: -.07em; }
section[id] { scroll-margin-top: 78px; }

@media (max-width: 1100px) {
  .site-nav { gap: 17px; }
  .nav-login { padding-left: 16px; }
  .hero-inner { gap: 4%; }
  .hero-visual { margin-right: 0; }
}
@media (max-width: 800px) {
  section[id] { scroll-margin-top: 72px; }
  .site-header { background: var(--navy); }
  .header-inner { height: 72px; }
  .menu-toggle span { background: #eef5ff; }
  .site-nav { top: 72px; background: #0b2a5a; box-shadow: 0 18px 25px rgba(7, 29, 67, .18); }
  .site-nav a { border-color: rgba(214, 231, 252, .15); }
  .site-nav a:not(.nav-login) { color: #e2ecf9; }
  .nav-login { border-left: 0; padding-left: 4px; }
  .hero-inner { grid-template-columns: 1fr; min-height: 0; gap: 42px; padding-block: 67px 58px; }
  .hero-visual img { height: 395px; min-height: 0; }
}
@media (max-width: 560px) {
  .brand-name { font-size: 20px; }
  .hero-inner { padding-top: 58px; }
  .hero h1 { font-size: clamp(42px, 11vw, 54px); line-height: 1.13; }
  .hero-lead { font-size: 14px; }
  .hero-visual img { height: 290px; }
  .intro h2, .experience h2, .contact h2, .section-heading h2, .outcomes h2 { font-size: clamp(34px, 9.4vw, 46px); }
  .method-item { grid-template-columns: 35px 1fr 15px; padding-right: 0; }
  .method-number { font-size: 15px; }
  .method-item h3 { font-size: 19px; }
  .method-item:hover { padding-left: 0; }
}
@media (prefers-reduced-motion: no-preference) {
  .hero .eyebrow, .hero h1, .hero-lead, .hero-actions, .hero-proof { animation: enter-content .75s cubic-bezier(.18,.65,.25,1) both; }
  .hero h1 { animation-delay: .1s; }
  .hero-lead { animation-delay: .2s; }
  .hero-actions { animation-delay: .3s; }
  .hero-proof { animation-delay: .42s; }
  .hero-visual { animation: reveal-photo .85s cubic-bezier(.18,.65,.25,1) .16s both; }
  .motion-ready .reveal { opacity: .94; transform: translateY(16px); }
  .motion-ready .reveal.is-visible { opacity: 1; transform: translateY(0); transition: opacity .7s ease, transform .7s cubic-bezier(.18,.65,.25,1); }
  .method-item:nth-child(2).is-visible { transition-delay: .08s; }
  .method-item:nth-child(3).is-visible { transition-delay: .16s; }
  .method-item:nth-child(4).is-visible { transition-delay: .24s; }
}
@keyframes enter-content { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes reveal-photo { from { opacity: 0; clip-path: inset(0 0 0 25%); transform: translateX(16px); } to { opacity: 1; clip-path: inset(0); transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) {
  .hero .eyebrow, .hero h1, .hero-lead, .hero-actions, .hero-proof, .hero-visual { animation: none; }
  .motion-ready .reveal { opacity: 1; transform: none; }
  .method-item:hover, .button:hover, .header-cta:hover { transform: none; }
}

.site-nav a[aria-current="page"] { color: #fff; box-shadow: 0 2px 0 var(--green); }
.academic-entry { background: #0b2c60; color: #eef5ff; }
.academic-entry-grid { display: grid; grid-template-columns: 1.12fr .8fr; gap: 10%; align-items: center; }
.academic-entry h2 { font-size: clamp(36px, 3.7vw, 55px); line-height: 1.18; margin-bottom: 25px; }
.academic-entry h2 span { color: #a9c7ec; }
.academic-entry p:not(.eyebrow) { color: #b7cbe5; font-size: 15px; line-height: 1.85; max-width: 550px; margin-bottom: 30px; }
.academic-subject-preview { border-left: 1px solid #4d709a; padding-left: 36px; }
.academic-subject-preview>div { padding: 24px 0; }
.academic-subject-preview>div+div { border-top: 1px solid rgba(255,255,255,.15); }
.academic-subject-preview span { display: block; color: var(--green); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 12px; }
.academic-subject-preview strong { font-size: 20px; line-height: 1.65; font-weight: 500; letter-spacing: -.04em; }
.campus-footer { background: #051a3a; }
.footer-invitation { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding-block: 76px; border-bottom: 1px solid #26466b; }
.footer-invitation .eyebrow { margin-bottom: 18px; }
.footer-invitation h2 { font-size: clamp(32px, 3.7vw, 54px); line-height: 1.2; color: #f2f6fc; margin: 0; }
.footer-invitation h2 span { color: #9bbce6; }
.footer-invitation .button { flex-shrink: 0; }
.footer-directory { display: grid; grid-template-columns: 1.1fr .65fr 1fr; gap: 8%; padding-block: 64px; }
.footer-logo { display: inline-flex; background: transparent; padding: 0; width: 250px; max-width: 100%; }
.footer-logo img { width: 100%; height: auto; filter: brightness(0) invert(1); opacity: .92; }
.footer-identity p { font-size: 12px; line-height: 1.8; color: #91accd; max-width: 280px; margin: 20px 0 0; }
.footer-directory h3 { color: #f0f5fc; font-size: 13px; letter-spacing: -.02em; margin-bottom: 23px; }
.footer-directory nav a, .footer-contact a { display: block; font-size: 12px; line-height: 1.7; margin-top: 12px; color: #b7cbe4; overflow-wrap: anywhere; }
.footer-directory a:hover { color: var(--green); }
.footer-contact address { font-size: 12px; line-height: 1.9; font-style: normal; color: #a4bddc; }
.campus-footer .footer-bottom { border-color: #26466b; padding-block: 25px; }
.campus-footer .footer-bottom>div { display: flex; gap: 24px; }
.footer-bottom a:hover { color: #fff; }
@media(max-width:1000px) {
  .header-inner { gap: 22px; }
  .site-nav { gap: 14px; font-size: 11px; }
  .footer-directory { gap: 5%; }
}
@media(max-width:800px) {
  .academic-entry-grid { grid-template-columns: 1fr; gap: 35px; }
  .academic-subject-preview { padding-left: 24px; }
  .footer-invitation { align-items: flex-start; flex-direction: column; padding-block: 58px; gap: 28px; }
  .footer-directory { grid-template-columns: 1fr 1fr; gap: 45px 30px; padding-block: 48px; }
  .footer-identity { grid-column: 1 / -1; display: flex; align-items: center; gap: 30px; }
  .footer-identity p { margin: 0; }
}
@media(max-width:560px) {
  .academic-entry h2 { font-size: 34px; }
  .academic-subject-preview strong { font-size: 17px; }
  .footer-identity { display: block; }
  .footer-identity p { margin-top: 20px; }
  .footer-directory { grid-template-columns: 1fr; }
  .footer-invitation h2 { font-size: 32px; }
  .campus-footer .footer-bottom>div { gap: 18px; }
}

.contact-map { margin: 72px 0 0; border: 1px solid rgba(16,60,120,.18); background: #f7faff; }
.contact-map iframe { display: block; width: 100%; height: clamp(300px, 42vw, 510px); border: 0; }
.contact-map figcaption { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 17px 21px; color: #486284; font-size: 11px; }
.contact-map figcaption a { display: inline-flex; flex: none; align-items: center; gap: 15px; color: #164e92; font-weight: 700; }
.contact-map figcaption a:hover { text-decoration: underline; }
@media(max-width:800px) { .contact-map { margin-top: 52px; } }
@media(max-width:560px) {
  .contact-map { margin-top: 42px; }
  .contact-map iframe { height: 310px; }
  .contact-map figcaption { align-items: flex-start; flex-direction: column; gap: 8px; padding: 15px 16px; }
}
