/* ===============================================================
   MT GROUP — COMPANY PAGES
   Components shared by the company pages (About, Regions, Team, Media,
   Contact, Why MT Group, Corporate Strategy, Careers, News), on top of
   base.css. Generated from site-upload/*.html in source order; do not
   hand-edit rules here without re-checking the static pages.
   Loaded only on pages that use a company block (handle "mt-company").
   =============================================================== */
.skip-link { position:absolute; left:-9999px; top:8px; z-index:300; background:var(--amber-500); color:var(--blue-900); font-family:var(--font-display); font-weight:800; font-size:13px; letter-spacing:.06em; text-transform:uppercase; padding:10px 16px; }
.skip-link:focus { left:8px; }
:focus-visible { outline:2px solid var(--amber-500); outline-offset:3px; }
.nav-links a[aria-current="page"] { color:var(--amber-500); }
.page-hero { position:relative; min-height:max(92vh,700px); display:flex; align-items:flex-end; color:var(--white); overflow:hidden; background:linear-gradient(135deg,#001a3d 0%,#002250 100%); }
.page-hero-bg { position:absolute; inset:0; z-index:0; overflow:hidden; background:#001a3d center/cover no-repeat; }
.page-hero-bg video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.page-hero-bg::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,5,20,.88) 0%,rgba(0,10,30,.62) 55%,rgba(0,10,30,.34) 100%), linear-gradient(0deg,rgba(0,20,52,.6) 0%,transparent 45%); }
.page-hero--map .page-hero-bg { background:#001a3d; }
.page-hero--map .page-hero-bg::before { content:""; position:absolute; inset:0; z-index:2; pointer-events:none; background: radial-gradient(900px 480px at 78% 55%, rgba(248,182,43,.08), transparent 62%), url("../img/world-dotmap-dark.svg") right 4% center / min(1000px,88%) auto no-repeat; }
.page-hero--map .page-hero-bg::after { z-index:1; background:linear-gradient(90deg,rgba(0,26,61,.94) 0%,rgba(0,26,61,.78) 55%,rgba(0,26,61,.62) 100%); }
.page-hero-inner { position:relative; z-index:1; max-width:var(--container); width:100%; margin:0 auto; padding:160px 32px 104px; }
.crumb { font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-bottom:30px; }
.crumb a { color:rgba(255,255,255,.72); transition:color .2s; }
.crumb a:hover { color:var(--amber-500); }
.crumb .sep { margin:0 10px; opacity:.45; }
.crumb .here { color:var(--amber-500); }
.page-hero h1 { font-family:var(--font-display); font-weight:900; font-size:clamp(40px,5.6vw,78px); line-height:.98; letter-spacing:-.005em; text-transform:uppercase; max-width:920px; margin-bottom:28px; }
.page-hero h1 .accent { color:var(--amber-500); display:block; }
.page-hero--wide h1 { max-width:1200px; }
.page-hero .lede { font-size:20px; line-height:1.55; color:rgba(255,255,255,.82); max-width:700px; margin-bottom:40px; }
.hero-ctas { display:flex; gap:14px; flex-wrap:wrap; }
.section--ink { background:var(--ink-900); color:var(--white); }
.section--soft { background:var(--ink-50); }
.section-head .eyebrow { display:block; margin-bottom:16px; }
.section-head .rule-accent { margin:22px 0 0; }
.section-head--dark p { color:rgba(255,255,255,.7); }
.section-head--wide { max-width:860px; }
.eyebrow--blue { color:var(--blue-600); }
.eyebrow--dark { color:var(--amber-600); }
.lead-lg { font-size:19px; line-height:1.65; color:var(--ink-500); }
.on-dark .lead-lg { color:rgba(255,255,255,.78); }
.stats--page .stat-value { font-size:44px; }
.stats--page .stat-value .unit { font-size:26px; }
.stats--3 .stats-grid { grid-template-columns:repeat(3,1fr); }
@media (max-width:1080px) {
  .stats--3 .stats-grid { grid-template-columns:1fr; gap:36px; }
}
.mission-grid { display:grid; grid-template-columns:5fr 7fr; gap:80px; align-items:start; }
.mission-statement { font-family:var(--font-display); font-weight:800; font-size:clamp(28px,3vw,42px); line-height:1.12; text-transform:uppercase; color:var(--blue-900); border-left:4px solid var(--amber-500); padding-left:28px; }
.mission-support { margin-top:28px; padding-left:32px; font-size:19px; line-height:1.65; color:var(--ink-500); max-width:640px; }
.diff-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.diff-card { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-top:3px solid var(--amber-500); padding:30px 24px 28px; min-height:250px; display:flex; flex-direction:column; transition:transform .28s cubic-bezier(.16,1,.3,1), background .28s; }
.diff-card:hover { transform:translateY(-6px); background:rgba(255,255,255,.055); }
.diff-card .diff-ico { width:46px; height:46px; color:var(--amber-500); opacity:.9; margin-bottom:22px; }
.diff-num { font-family:var(--font-mono); font-size:12px; color:var(--steel-400); letter-spacing:.08em; margin-bottom:12px; }
.diff-card p { font-size:16px; line-height:1.5; color:rgba(255,255,255,.9); }
.about-content--tight .proof-list { margin-bottom:0; }
.kicker { font-family:var(--font-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-500); margin-bottom:22px; display:flex; align-items:center; gap:14px; }
.kicker::before { content:""; width:32px; height:2px; background:var(--amber-500); }
.steps { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--ink-100); margin-bottom:72px; }
.steps--3 { grid-template-columns:repeat(3,1fr); margin-bottom:0; }
.step { padding:28px 28px 8px 0; }
.step + .step { padding-left:28px; border-left:1px solid var(--ink-100); }
.step-num { font-family:var(--font-mono); color:var(--amber-600); font-size:12px; letter-spacing:.08em; }
.step-name { font-family:var(--font-display); font-weight:800; font-size:24px; line-height:1.1; text-transform:uppercase; color:var(--blue-900); margin-top:12px; }
.landmark { display:grid; grid-template-columns:auto 1fr; gap:72px; align-items:center; }
.landmark-figure { font-family:var(--font-display); font-weight:900; text-transform:uppercase; line-height:.88; }
.landmark-figure .big { display:block; font-size:clamp(72px,10vw,148px); color:var(--blue-900); letter-spacing:-.01em; }
.landmark-figure .big span { color:var(--amber-500); }
.landmark-figure .tag { display:block; margin-top:18px; font-family:var(--font-mono); font-weight:500; font-size:12px; letter-spacing:.14em; color:var(--ink-500); }
.landmark-copy p { font-size:20px; line-height:1.6; color:var(--ink-800); max-width:640px; }
.closing { background:var(--blue-900); color:var(--white); text-align:center; padding:120px 0; position:relative; overflow:hidden; }
.closing::before { content:""; position:absolute; inset:0; background:radial-gradient(900px 400px at 50% 0%, rgba(248,182,43,.08), transparent 65%); }
.closing .container { position:relative; }
.closing .rule-accent { margin:0 auto 32px; }
.closing p { font-family:var(--font-display); font-weight:800; font-size:clamp(26px,3.2vw,44px); line-height:1.15; text-transform:uppercase; max-width:1000px; margin:0 auto; }
.closing p em { font-style:normal; color:var(--amber-500); }
.facility-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.facility { background:var(--white); border:1px solid var(--ink-100); border-top:3px solid var(--amber-500); display:flex; flex-direction:column; }
.facility-photo { position:relative; aspect-ratio:16/7; background-color:#001a3d; background-size:cover; background-position:center; overflow:hidden; }
.facility-photo::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,26,61,.72) 0%,rgba(0,26,61,.15) 45%,rgba(0,26,61,0) 70%); }
.facility-photo .map-tag { position:absolute; left:20px; bottom:16px; font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.88); }
.facility-photo .map-tag::before { content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--amber-500); margin-right:10px; box-shadow:0 0 10px rgba(248,182,43,.9); vertical-align:1px; }
.facility-body { padding:36px 36px 40px; display:flex; flex-direction:column; flex:1; }
.facility-body h2 { font-family:var(--font-display); font-weight:900; font-size:clamp(30px,3vw,44px); line-height:1.02; text-transform:uppercase; color:var(--ink-900); margin:12px 0 0; }
.facility-body p { color:var(--ink-500); font-size:17px; line-height:1.65; margin-top:20px; }
.spec-list { list-style:none; margin-top:auto; padding-top:32px; }
.spec-list li { display:flex; justify-content:space-between; gap:24px; padding:12px 0; border-top:1px solid var(--ink-100); font-family:var(--font-mono); font-size:12.5px; letter-spacing:.03em; }
.spec-list li:last-child { border-bottom:1px solid var(--ink-100); }
.spec-list .k { color:var(--ink-500); text-transform:uppercase; letter-spacing:.08em; flex:0 0 auto; }
.spec-list .v { color:var(--blue-900); text-align:right; }
.globe-map .pin-halo { transform-box:fill-box; transform-origin:center; }
.globe-legend--5 { grid-template-columns:repeat(5,1fr); }
@media (max-width:1080px) {
  .globe-legend--5 { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:640px) {
  .globe-legend--5 { grid-template-columns:repeat(2,1fr); }
}
.profiles { display:grid; grid-template-columns:repeat(2,1fr); gap:32px; }
.profile { display:grid; grid-template-columns:230px 1fr; background:var(--white); border:1px solid var(--ink-100); border-top:3px solid var(--amber-500); }
.stat-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.stat-card { background:var(--white); border:1px solid var(--ink-100); border-top:3px solid var(--amber-500); padding:36px 32px 32px; }
.stat-card .v { font-family:var(--font-display); font-weight:900; font-size:64px; line-height:1; color:var(--blue-900); letter-spacing:-.01em; }
.stat-card .v span { color:var(--amber-500); font-size:40px; margin-left:2px; }
.stat-card .l { margin-top:16px; font-family:var(--font-display); font-weight:700; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-500); }
@media (max-width:1080px) {
  .stat-cards { grid-template-columns:1fr; }
}
.profile-photo { position:relative; min-height:320px; background:linear-gradient(160deg,var(--blue-800),var(--blue-900)); display:flex; align-items:flex-end; justify-content:center; overflow:hidden; }
.profile-photo svg { width:78%; height:auto; color:rgba(255,255,255,.14); margin-bottom:-6%; }
.profile-photo::before, .profile-photo::after { content:""; position:absolute; width:22px; height:22px; border:2px solid var(--amber-500); }
.profile-photo::before { top:14px; left:14px; border-right:0; border-bottom:0; }
.profile-photo::after { bottom:14px; right:14px; border-left:0; border-top:0; }
.profile-body { padding:32px 32px 34px; display:flex; flex-direction:column; }
.profile-role { font-family:var(--font-mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--amber-600); margin-top:10px; }
.profile-name { font-family:var(--font-display); font-weight:900; font-size:28px; line-height:1.05; text-transform:uppercase; color:var(--ink-900); }
.profile-body p { margin-top:18px; color:var(--ink-500); font-size:16px; line-height:1.6; }
.profiles--stack { grid-template-columns:1fr; }
.people { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.person { display:flex; flex-direction:column; background:var(--white); border:1px solid var(--ink-100); border-top:3px solid var(--amber-500); }
.person .profile-photo { min-height:0; aspect-ratio:5/4; }
.person .profile-body { padding:24px 26px 28px; }
.person .profile-name { font-size:24px; }
.person .profile-role { margin-top:10px; line-height:1.5; }
@media (max-width:1080px) {
  .people { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px) {
  .people { grid-template-columns:1fr; }
  .person .profile-photo { aspect-ratio:16/10; }
}
.chips { display:flex; flex-wrap:wrap; gap:12px; margin-top:56px; }
.chip { font-family:var(--font-display); font-weight:700; font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--blue-900); border:1.5px solid var(--ink-100); padding:14px 22px; background:var(--white); transition:border-color .25s; }
.chip:hover { border-color:var(--amber-500); }
.play { position:absolute; z-index:2; width:72px; height:72px; border-radius:50%; background:var(--amber-500); display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 8px rgba(248,182,43,.22); transition:transform .25s, box-shadow .25s; }
.play::before { content:""; margin-left:5px; border-style:solid; border-width:11px 0 11px 18px; border-color:transparent transparent transparent var(--blue-900); }
.vcard:hover .play { transform:scale(1.08); box-shadow:0 0 0 12px rgba(248,182,43,.2); }
.vcard-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.16,1,.3,1); }
.vcard:hover .vcard-thumb img { transform:scale(1.04); }
.vmeta { font-family:var(--font-mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--amber-500); margin-bottom:12px; }
.vgrid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:20px; }
.vcard { display:block; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-top:3px solid var(--amber-500); transition:transform .28s cubic-bezier(.16,1,.3,1), background .28s; cursor:pointer; }
.vcard:hover { transform:translateY(-6px); background:rgba(255,255,255,.055); }
.vcard-thumb { position:relative; aspect-ratio:16/10; overflow:hidden; background:#000; }
.vcard-thumb::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,8,24,.55),transparent 55%); }
.vcard .play { width:52px; height:52px; left:50%; top:50%; margin:-26px 0 0 -26px; box-shadow:0 0 0 6px rgba(248,182,43,.22); }
.vcard .play::before { border-width:8px 0 8px 13px; margin-left:4px; }
.vcard-body { padding:22px 22px 26px; }
.vcard-body h3 { font-family:var(--font-display); font-weight:800; font-size:19px; line-height:1.1; text-transform:uppercase; color:var(--white); margin-top:2px; }
.vcard-body p { margin-top:10px; font-size:14px; line-height:1.55; color:rgba(255,255,255,.7); }
.vgrid--2 { grid-template-columns:repeat(2,1fr); gap:28px; margin-top:0; }
.vgrid--2 .vcard-thumb { aspect-ratio:16/9; }
.vgrid--2 .vcard .play { width:84px; height:84px; margin:-42px 0 0 -42px; box-shadow:0 0 0 9px rgba(248,182,43,.22); }
.vgrid--2 .vcard .play::before { border-width:13px 0 13px 21px; margin-left:6px; }
.vgrid--2 .vcard-body { padding:30px 32px 34px; }
.vgrid--2 .vcard-body h3 { font-size:clamp(24px,2.4vw,32px); }
.vgrid--2 .vcard-body p { font-size:16.5px; }
.gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.gtile { position:relative; display:block; overflow:hidden; aspect-ratio:4/3; background:#001a3d; cursor:zoom-in; }
.gtile img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.16,1,.3,1); }
.gtile:hover img { transform:scale(1.05); }
.gtile::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,8,24,.78),transparent 45%); opacity:.9; transition:opacity .3s; }
.gtile figcaption { position:absolute; z-index:1; left:18px; right:18px; bottom:14px; font-family:var(--font-mono); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--white); }
.gtile figcaption b { color:var(--amber-500); font-weight:500; margin-right:10px; }
.gnote { font-family:var(--font-mono); font-size:12px; letter-spacing:.06em; color:var(--ink-400); margin-top:24px; }
.events { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.event { background:var(--white); border:1px solid var(--ink-100); border-top:3px solid var(--amber-500); padding:28px 26px; }
.event-date { font-family:var(--font-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--amber-600); }
.event h3 { font-family:var(--font-display); font-weight:800; font-size:22px; text-transform:uppercase; color:var(--ink-900); margin:10px 0 8px; }
.event p { color:var(--ink-500); font-size:15px; }
.lightbox { position:fixed; inset:0; z-index:400; background:rgba(0,10,26,.94); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:56px 24px 40px; }
.lightbox[hidden] { display:none; }
.lightbox-stage { width:min(1240px,100%); max-height:78vh; display:flex; justify-content:center; }
.lightbox-stage video, .lightbox-stage img { max-width:100%; max-height:78vh; background:#000; }
.lightbox-caption { margin-top:18px; font-family:var(--font-mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.7); text-align:center; }
.lightbox-close { position:absolute; top:14px; right:20px; width:44px; height:44px; background:transparent; border:1px solid rgba(255,255,255,.4); color:#fff; font-size:26px; line-height:1; cursor:pointer; border-radius:2px; }
.lightbox-close:hover { border-color:var(--amber-500); color:var(--amber-500); }
.cert-strip--3 .cert-badge { flex:0 1 260px; min-width:0; padding:26px 20px; }
.cta-band .cta-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
#enquiry { scroll-margin-top:96px; }
.contact-grid { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:72px; align-items:start; }
.contact-main .section-head { margin-bottom:44px; max-width:none; }
.enq-group { margin:0 0 44px; }
.enq-group .kicker { margin-bottom:24px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:22px 24px; }
.field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.field--full { grid-column:1 / -1; }
.field > label { font-family:var(--font-display); font-weight:700; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--blue-900); }
.field > label .req { color:var(--amber-600); margin-left:4px; }
.field > label .opt { font-family:var(--font-mono); font-weight:400; font-size:11px; letter-spacing:.06em; text-transform:none; color:var(--ink-400); margin-left:8px; }
.field input, .field select, .field textarea { width:100%; font-family:var(--font-sans); font-size:16px; line-height:1.4; color:var(--ink-900); background:var(--white); border:1.5px solid #c9d0d8; border-radius:2px; padding:14px 16px; transition:border-color .2s, box-shadow .2s; }
.field input::placeholder, .field textarea::placeholder { color:var(--ink-400); }
.field input:hover, .field select:hover, .field textarea:hover { border-color:var(--steel-500); }
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color:var(--amber-500); box-shadow:0 0 0 3px rgba(248,182,43,.3); }
.field select { appearance:none; -webkit-appearance:none; padding-right:46px; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none' stroke='%23002250' stroke-width='2'%3E%3Cpath d='M1 1l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 18px center; }
.field textarea { min-height:168px; resize:vertical; }
.field input[type="file"] { padding:11px 12px; font-size:14.5px; color:var(--ink-500); cursor:pointer; }
.field input[type="file"]::file-selector-button { font-family:var(--font-display); font-weight:800; font-size:12px; letter-spacing:.08em; text-transform:uppercase; background:var(--blue-900); color:var(--white); border:0; border-radius:2px; padding:10px 16px; margin-right:14px; cursor:pointer; }
.hint { font-size:13.5px; line-height:1.45; color:var(--ink-500); }
.enq-form.was-validated .field :invalid { border-color:#c8433d; }
.enq-form.was-validated .field :invalid:focus { box-shadow:0 0 0 3px rgba(200,67,61,.22); }
.consent { display:flex; gap:14px; align-items:flex-start; font-size:15px; line-height:1.5; color:var(--ink-500); margin-top:4px; }
.consent input { flex:0 0 auto; width:20px; height:20px; margin-top:2px; accent-color:var(--amber-500); cursor:pointer; }
.consent a { color:var(--blue-600); text-decoration:underline; text-underline-offset:3px; }
.form-foot { display:flex; align-items:center; gap:14px 28px; flex-wrap:wrap; margin-top:32px; }
.form-note { font-family:var(--font-mono); font-size:12px; letter-spacing:.06em; color:var(--ink-400); }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.enq-done { border:1px solid var(--ink-100); border-top:3px solid var(--amber-500); background:var(--ink-50); padding:44px 40px 46px; }
.enq-done:focus { outline:none; }
.enq-done h3 { font-family:var(--font-display); font-weight:900; font-size:clamp(28px,3vw,38px); line-height:1.05; text-transform:uppercase; color:var(--blue-900); margin:12px 0 18px; }
.enq-done p { font-size:17px; line-height:1.6; color:var(--ink-500); max-width:560px; }
.enq-done .proto-note { margin-top:26px; font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--amber-600); }
.contact-aside { position:sticky; top:112px; display:flex; flex-direction:column; gap:24px; }
.aside-card { position:relative; overflow:hidden; background:var(--blue-900); color:var(--white); border-top:3px solid var(--amber-500); padding:36px 34px 38px; }
.aside-card::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(520px 260px at 100% 0%, rgba(248,182,43,.10), transparent 65%); }
.aside-card > * { position:relative; }
.aside-card h3 { font-family:var(--font-display); font-weight:800; font-size:22px; line-height:1.1; text-transform:uppercase; margin-top:12px; }
.aside-card p { margin-top:14px; font-size:16px; line-height:1.6; color:rgba(255,255,255,.75); }
.direct-list { list-style:none; margin-top:26px; }
.direct-list li { padding:16px 0; border-top:1px solid rgba(255,255,255,.14); }
.direct-list li:last-child { padding-bottom:0; }
.direct-list .k { display:block; font-family:var(--font-mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--amber-500); margin-bottom:6px; }
.direct-list .v { font-family:var(--font-display); font-weight:700; font-size:19px; line-height:1.3; color:var(--white); overflow-wrap:anywhere; }
.direct-list a.v { transition:color .2s; }
.direct-list a.v:hover { color:var(--amber-500); }
.aside-card--light { background:var(--white); color:var(--ink-900); border:1px solid var(--ink-100); border-top:3px solid var(--amber-500); }
.aside-card--light::before { display:none; }
.aside-card--light h3 { color:var(--blue-900); }
.aside-card--light p { color:var(--ink-500); }
.checklist { list-style:none; margin-top:22px; }
.checklist li { position:relative; padding:12px 0 12px 26px; border-top:1px solid var(--ink-100); font-size:16px; line-height:1.45; color:var(--ink-800); }
.checklist li::before { content:""; position:absolute; left:2px; top:20px; width:9px; height:9px; background:var(--amber-500); }
.diff-grid--3 { grid-template-columns:repeat(3,1fr); }
.diff-grid--3 .diff-card { min-height:0; }
.diff-grid--3 .diff-card h3 { font-family:var(--font-display); font-weight:800; font-size:22px; line-height:1.1; text-transform:uppercase; color:var(--white); margin-bottom:12px; }
.diff-grid--3 .diff-card p { font-size:16.5px; color:rgba(255,255,255,.78); }
.facility--compact .facility-body { padding:30px 32px 34px; }
.facility--compact .facility-body h3 { font-family:var(--font-display); font-weight:900; font-size:clamp(28px,2.6vw,38px); line-height:1.02; text-transform:uppercase; color:var(--ink-900); margin:12px 0 0; }
.facility--compact .facility-body p { margin-top:16px; }
.facility--compact .spec-list { padding-top:26px; }
.text-link { display:inline-flex; align-items:center; gap:8px; margin-top:26px; font-family:var(--font-display); font-weight:800; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--blue-600); transition:color .2s; }
.text-link::after { content:"\2192"; font-size:15px; }
.text-link:hover { color:var(--amber-600); }
@media (max-width:1080px) {
  .contact-grid { grid-template-columns:1fr; gap:56px; }
  .contact-aside { position:static; }
  .diff-grid--3 { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .field-row { grid-template-columns:1fr; }
  .enq-done { padding:32px 24px 34px; }
  .aside-card { padding:30px 24px 32px; }
  .form-foot .btn { width:100%; justify-content:center; }
}
@media (max-width:1180px) {
  .diff-grid { grid-template-columns:repeat(3,1fr); }
  .vgrid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:1080px) {
  .mission-grid { grid-template-columns:1fr; gap:36px; }
  .facility-grid { grid-template-columns:1fr; }
  .profiles { grid-template-columns:1fr; }
  .landmark { grid-template-columns:1fr; gap:32px; }
  .steps { grid-template-columns:repeat(2,1fr); }
  .steps .step:nth-child(3) { padding-left:0; border-left:0; }
  .steps .step:nth-child(n+3) { border-top:1px solid var(--ink-100); margin-top:20px; }
  .steps--3 { grid-template-columns:1fr; }
  .steps--3 .step, .steps--3 .step + .step { padding-left:0; border-left:0; }
  .steps--3 .step + .step { border-top:1px solid var(--ink-100); margin-top:20px; }
  .gallery { grid-template-columns:repeat(2,1fr); }
  .events { grid-template-columns:1fr; }
}
.about-content { min-width:0; }
@media (max-width:720px) {
  .hero-ctas .btn { white-space:normal; width:100%; justify-content:center; text-align:center; padding:16px 20px; font-size:14px; }
  .about-content h2 { font-size:clamp(28px,8vw,38px); }
  .page-hero { min-height:max(84vh,640px); }
  .page-hero-inner { padding:130px 24px 72px; }
  .page-hero .lede { font-size:18px; }
  .section { padding:88px 0; }
  .diff-grid { grid-template-columns:1fr; }
  .diff-card { min-height:0; }
  .profile { grid-template-columns:1fr; }
  .profile-photo { min-height:260px; }
  .profile-body { padding:26px 24px 30px; }
  .facility-body { padding:28px 24px 32px; }
  .spec-list li { flex-direction:column; gap:4px; }
  .spec-list .v { text-align:left; }
  .steps { grid-template-columns:1fr; }
  .steps .step, .steps .step + .step { padding-left:0; border-left:0; }
  .steps .step + .step { border-top:1px solid var(--ink-100); margin-top:20px; }
  .vgrid { grid-template-columns:1fr; }
  .gallery { grid-template-columns:1fr; }
  .closing { padding:88px 0; }
  .mission-statement { padding-left:20px; }
  .mission-support { padding-left:24px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation:none !important; transition:none !important; }
  html { scroll-behavior:auto; }
  .page-hero-bg video { display:none; }
}
.mt-todo{border:2px dashed var(--amber-500);background:#fff8e8;padding:20px 24px;margin:0 0 28px;color:var(--ink-700,#2a3442);font-size:15px;line-height:1.55}
.mt-todo b{display:block;font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-600);margin-bottom:6px}
.mt-todo ul{margin:8px 0 0 18px}
.mt-todo li{margin:3px 0}
.section--ink .mt-todo{background:rgba(248,182,43,.08);color:#e6edf5}
.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.news-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--ink-100);text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}
.news-card:hover{border-color:var(--amber-500);transform:translateY(-2px)}
.news-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--ink-50)}
.news-card .nc-body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.nc-meta{display:flex;gap:12px;align-items:center;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-500)}
.nc-tag{background:var(--blue-900);color:#fff;padding:3px 8px;font-size:11px}
.nc-tag--event{background:var(--amber-500);color:var(--blue-900)}
.news-card h3{font-family:var(--font-display);font-weight:800;font-size:22px;line-height:1.15;text-transform:uppercase;color:var(--blue-900)}
.news-card p{color:var(--ink-500);font-size:15.5px;line-height:1.55}
.nc-more{margin-top:auto;font-family:var(--font-display);font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-600)}
.events{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.event{background:var(--white);border:1px solid var(--ink-100);border-top:3px solid var(--amber-500);padding:28px 26px}
.event-date{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-600)}
.event h3{font-family:var(--font-display);font-weight:800;font-size:22px;text-transform:uppercase;color:var(--ink-900);margin:10px 0 8px}
.event p{color:var(--ink-500);font-size:15px;line-height:1.55}
.event--todo{border:2px dashed var(--amber-500);background:#fff8e8}
.story{padding:72px 0;border-top:1px solid var(--ink-100)}
.story:first-of-type{border-top:0}
.story-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:start}
.story h2{font-family:var(--font-display);font-weight:900;font-size:clamp(28px,3vw,40px);line-height:1.05;text-transform:uppercase;color:var(--blue-900);margin:12px 0 22px}
.story p{font-size:17px;line-height:1.65;color:var(--ink-600,#3c4858);margin:0 0 16px;max-width:62ch}
.story-facts{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--ink-100)}
.story-facts li{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--ink-100);font-size:15px;color:var(--ink-500)}
.story-facts b{flex:0 0 150px;font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-900);padding-top:2px}
.story-gallery{display:grid;gap:14px}
.story-gallery img{width:100%;display:block;border:1px solid var(--ink-100)}
.story-gallery figcaption{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);margin-top:6px}
.back-top{display:inline-block;margin-top:18px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-600)}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card-plain{background:var(--white);border:1px solid var(--ink-100);border-top:3px solid var(--amber-500);padding:28px 26px}
.card-plain .k{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-600)}
.card-plain h3{font-family:var(--font-display);font-weight:800;font-size:21px;line-height:1.15;text-transform:uppercase;color:var(--blue-900);margin:10px 0 10px}
.card-plain p{color:var(--ink-500);font-size:15.5px;line-height:1.55}
.card-plain--todo{border:2px dashed var(--amber-500);background:#fff8e8}
.job{background:var(--white);border:1px solid var(--ink-100);border-left:4px solid var(--amber-500);padding:34px 36px}
.job-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap}
.job h3{font-family:var(--font-display);font-weight:900;font-size:clamp(24px,2.4vw,30px);line-height:1.1;text-transform:uppercase;color:var(--blue-900)}
.job-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.job-tags span{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink-100);padding:5px 10px;color:var(--ink-500)}
.job-cols{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:28px}
.job-cols h4{font-family:var(--font-display);font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-900);margin-bottom:12px}
.job-cols ul{margin:0 0 0 18px;color:var(--ink-500);font-size:15.5px;line-height:1.6}
.job-cols li{margin:4px 0}
.statement{font-family:var(--font-display);font-weight:800;font-size:clamp(26px,2.8vw,36px);line-height:1.15;color:var(--blue-900);text-transform:none;max-width:30ch}
.statement-note{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);margin-top:14px}
.split2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:56px;align-items:start}
.why-row{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,1fr);gap:32px;padding:36px 0;border-top:1px solid rgba(255,255,255,.15)}
.why-row:last-child{border-bottom:1px solid rgba(255,255,255,.15)}
.why-num{font-family:var(--font-display);font-weight:900;font-size:44px;line-height:1;color:var(--amber-500)}
.why-row h3{font-family:var(--font-display);font-weight:800;font-size:22px;line-height:1.2;text-transform:uppercase;color:#fff}
.why-proof{list-style:none;margin:0;padding:0}
.why-proof li{position:relative;padding:0 0 10px 20px;color:#c9d5e3;font-size:15.5px;line-height:1.55}
.why-proof li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:2px;background:var(--amber-500)}
@media (max-width:900px){.news-grid,.events,.cards3,.cards4,.story-inner,.job-cols,.split2{grid-template-columns:1fr}.story-inner{gap:28px}.why-row{grid-template-columns:1fr;gap:12px}.job{padding:26px 22px}}
.section--process-video{position:relative;overflow:hidden;background:#001a3d;color:#fff;border-top:3px solid var(--amber-500)}
.process-bg{position:absolute;inset:0;z-index:0;background:#001a3d center/cover no-repeat}
.process-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.process-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,26,61,.93) 0%,rgba(0,26,61,.84) 50%,rgba(0,26,61,.66) 100%)}
.section--process-video .container{position:relative;z-index:1}
.section--process-video .kicker{color:rgba(255,255,255,.75)}
.section--process-video .steps{border-top-color:rgba(255,255,255,.2)}
.section--process-video .step{border-color:rgba(255,255,255,.2)}
.section--process-video .step-num{color:var(--amber-500)}
.section--process-video .step-name{color:#fff}
@media (prefers-reduced-motion:reduce){.process-bg video{display:none}}
