:root {
  --navy-950: #050b13;
  --navy-900: #07111f;
  --navy-800: #0a1b2d;
  --navy-700: #112d46;
  --blue: #1d6fff;
  --cyan: #54d8ff;
  --ice: #eef6fb;
  --paper: #f7f8f6;
  --white: #ffffff;
  --ink: #0a1724;
  --muted: #637080;
  --line: rgba(12, 34, 54, 0.13);
  --font-display: "Manrope", sans-serif;
  --font-body: "DM Sans", sans-serif;
  --shadow: 0 24px 70px rgba(4, 18, 34, 0.15);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
.container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 1000; padding: 10px 16px; background: white; }
.skip-link:focus { top: 16px; }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  transition: background .3s ease, box-shadow .3s ease;
}
.site-header.scrolled { background: rgba(5, 11, 19, .92); backdrop-filter: blur(18px); box-shadow: 0 1px rgba(255,255,255,.08); }
.nav-shell { height: 86px; width: min(1280px, calc(100% - 48px)); margin: auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: white; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; }
.brand-mark svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linejoin: round; }
.brand-copy { display: grid; line-height: 1; letter-spacing: .08em; }
.brand-copy strong { font: 700 13px/1 var(--font-display); }
.brand-copy small { font-size: 8px; margin-top: 5px; letter-spacing: .45em; color: rgba(255,255,255,.67); }
.primary-nav { display: flex; align-items: center; gap: 32px; color: rgba(255,255,255,.8); font-size: 13px; font-weight: 600; }
.primary-nav > a:not(.button) { position: relative; padding-block: 12px; }
.primary-nav > a:not(.button)::after { content:""; position:absolute; left:0; right:100%; bottom:6px; height:1px; background:var(--cyan); transition:right .25s; }
.primary-nav > a:hover::after { right: 0; }
.nav-toggle { display: none; border: 0; background: transparent; width: 42px; height: 42px; padding: 10px; }
.nav-toggle > span:not(.sr-only) { display:block; width:22px; height:1px; margin:5px 0; background:white; transition:.25s; }

.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 20px; border-radius: 2px; padding: 0 26px; border: 1px solid transparent; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; transition: transform .2s, background .2s, box-shadow .2s; cursor: pointer; }
.button:hover { transform: translateY(-2px); }
.button-small { min-height: 42px; padding: 0 20px; color: white; border-color: rgba(255,255,255,.35); }
.button-small:hover { background: white; color: var(--navy-900); }
.button-primary { background: var(--blue); color: white; box-shadow: 0 12px 32px rgba(29,111,255,.28); }
.button-primary:hover { background: #0c62ee; }

.hero { min-height: 780px; height: 100svh; position: relative; overflow: hidden; color: white; background: var(--navy-950); display: flex; align-items: center; }
.hero-media { position:absolute; inset:0; background-image: linear-gradient(90deg, rgba(3,10,19,.95) 0%, rgba(3,12,22,.77) 44%, rgba(3,12,22,.2) 79%), linear-gradient(0deg, rgba(3,10,18,.9) 0%, transparent 44%), url("assets/osn-winglet-brand.webp"); background-size: cover; background-position: 62% center; transform: scale(1.02); animation: heroIn 1.4s ease both; }
.hero-grid { position:absolute; inset:0; opacity:.22; background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(90deg, black, transparent 75%); }
.hero::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 60% 40%, rgba(40,145,255,.14), transparent 31%); pointer-events:none; }
.hero-content { position: relative; z-index: 3; padding-top: 78px; }
.eyebrow-row { display:flex; align-items:center; gap:12px; color:#cae9ff; font:600 11px/1 var(--font-display); letter-spacing:.16em; text-transform:uppercase; }
.pulse-dot { width:7px; height:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 0 6px rgba(84,216,255,.1); animation:pulse 2s infinite; }
.hero h1 { max-width: 780px; margin: 25px 0 25px; font: 600 clamp(52px, 7.2vw, 98px)/.96 var(--font-display); letter-spacing: -.052em; }
.hero h1 em { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.74); font-style: normal; }
.hero-lead { max-width: 610px; margin: 0; color: rgba(228,239,248,.76); font-size: clamp(17px, 1.5vw, 20px); line-height: 1.65; }
.hero-actions { display:flex; align-items:center; gap:34px; margin-top:34px; }
.text-link { display:inline-flex; align-items:center; gap:12px; font-size:13px; font-weight:600; }
.text-link span:last-child { color: var(--cyan); font-size:17px; transition: transform .2s; }
.text-link:hover span:last-child { transform: translate(3px,3px); }
.hero-metrics { display:flex; gap:0; margin-top:68px; }
.hero-metrics > div { display:grid; gap:6px; min-width:160px; padding-right:36px; margin-right:36px; border-right:1px solid rgba(255,255,255,.18); }
.hero-metrics > div:last-child { border:0; }
.hero-metrics strong { font:600 16px/1 var(--font-display); }
.hero-metrics span { color:rgba(255,255,255,.5); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.flight-card { position:absolute; z-index:4; right:max(48px, calc((100vw - 1280px) / 2)); bottom:62px; width:330px; background:rgba(7,22,37,.78); border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(18px); box-shadow:var(--shadow); }
.flight-card-top,.flight-card-foot { padding:16px 19px; display:flex; justify-content:space-between; color:rgba(255,255,255,.55); font-size:9px; letter-spacing:.14em; }
.flight-card-top { border-bottom:1px solid rgba(255,255,255,.1); }
.flight-card-foot { border-top:1px solid rgba(255,255,255,.1); line-height:1.5; }
.live-status { display:flex; align-items:center; gap:6px; color:#8df2bd; }
.live-status i { width:5px; height:5px; border-radius:50%; background:#55df98; }
.flight-route { padding:24px 20px; display:grid; grid-template-columns:1fr 1.4fr 1fr; align-items:center; text-align:center; }
.flight-route > div:not(.route-line) { display:grid; gap:5px; }
.flight-route strong { font:600 19px/1 var(--font-display); }
.flight-route span { font-size:9px; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.1em; }
.route-line { height:1px; background:linear-gradient(90deg, rgba(255,255,255,.2), var(--cyan), rgba(255,255,255,.2)); position:relative; }
.route-line span { position:absolute; left:50%; top:50%; transform:translate(-50%,-52%) rotate(0); color:white; background:#10273c; padding:5px; border-radius:50%; }
.scroll-cue { position:absolute; z-index:5; bottom:34px; left:50%; width:28px; height:42px; border:1px solid rgba(255,255,255,.35); border-radius:20px; }
.scroll-cue span { position:absolute; width:3px; height:7px; border-radius:3px; background:white; top:9px; left:12px; animation:scrollCue 1.8s infinite; }

.capabilities { padding: 125px 0 0; background:var(--paper); }
.section-heading { display:grid; grid-template-columns:1.3fr .7fr; gap:70px; align-items:end; margin-bottom:58px; }
.kicker { display:block; margin-bottom:19px; color:var(--blue); font-size:10px; font-weight:700; letter-spacing:.18em; }
.section-heading h2,.assurance h2,.rfq-intro h2,.compliance-dialog h2 { margin:0; font:600 clamp(35px,4.2vw,58px)/1.08 var(--font-display); letter-spacing:-.04em; }
.section-heading p { margin:0 0 5px; color:var(--muted); font-size:16px; line-height:1.7; }
.service-explorer { display:grid; grid-template-columns:340px 1fr; min-height:560px; border:1px solid var(--line); background:white; box-shadow:0 24px 70px rgba(10,36,60,.07); }
.service-tabs { display:flex; flex-direction:column; background:#f1f3f3; border-right:1px solid var(--line); }
.service-tab { flex:1; position:relative; display:grid; grid-template-columns:34px 1fr 20px; align-items:center; gap:8px; padding:20px 25px; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; cursor:default; transition:.25s; }
.service-tab:last-child { border-bottom:0; }
.service-tab span { color:#99a3ab; font-size:10px; }
.service-tab b { font:600 15px/1.25 var(--font-display); }
.service-tab i { font-style:normal; color:#99a3ab; transition:.2s; }
.service-tab:hover,.service-tab.active { background:white; }
.service-tab.active::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--blue); }
.service-tab.active i { color:var(--blue); transform:translate(2px,-2px); }
.service-visual { min-width:0; position:relative; }
.service-panel { height:100%; display:grid; grid-template-columns:1.12fr .88fr; }
.service-image { min-height:560px; background-size:cover; background-position:center; }
.image-aog { background-image:linear-gradient(0deg,rgba(4,16,29,.24),rgba(4,16,29,.05)),url("https://images.unsplash.com/photo-1530521954074-e64f6810b32d?auto=format&fit=crop&w=1300&q=86"); }
.image-parts { background-image:linear-gradient(0deg,rgba(4,16,29,.22),rgba(4,16,29,.02)),url("https://images.unsplash.com/photo-1556388158-158ea5ccacbd?auto=format&fit=crop&w=1300&q=86"); }
.image-logistics { background-image:linear-gradient(0deg,rgba(4,16,29,.28),rgba(4,16,29,.04)),url("https://images.unsplash.com/photo-1570710891163-6d3b5c47248b?auto=format&fit=crop&w=1300&q=86"); }
.image-advisory { background-image:linear-gradient(0deg,rgba(4,16,29,.2),rgba(4,16,29,.03)),url("https://images.unsplash.com/photo-1431576901776-e539bd916ba2?auto=format&fit=crop&w=1300&q=86"); }
.service-copy { padding:48px 40px; display:flex; flex-direction:column; }
.service-number { color:var(--blue); font:600 11px/1 var(--font-display); }
.service-copy h3 { margin:28px 0 17px; font:600 28px/1.15 var(--font-display); letter-spacing:-.03em; }
.service-copy p { margin:0; color:var(--muted); line-height:1.65; font-size:14px; }
.service-copy ul { list-style:none; margin:28px 0; padding:0; border-top:1px solid var(--line); }
.service-copy li { position:relative; padding:12px 0 12px 20px; border-bottom:1px solid var(--line); font-size:12px; font-weight:600; }
.service-copy li::before { content:""; position:absolute; left:1px; top:17px; width:6px; height:6px; border:1px solid var(--blue); transform:rotate(45deg); }
.service-rfq { margin-top:auto; align-self:flex-start; border:0; padding:0; background:transparent; color:var(--blue); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.service-panel[hidden] { display:none; }

.assurance { padding:125px 0; display:grid; grid-template-columns:.8fr 1.2fr; gap:95px; align-items:center; }
.assurance-copy p { color:var(--muted); font-size:15px; line-height:1.75; margin:24px 0; }
.text-button { border:0; border-bottom:1px solid var(--ink); padding:0 0 6px; background:transparent; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.document-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.document-card { min-height:180px; padding:24px; display:flex; flex-direction:column; align-items:flex-start; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:transparent; text-align:left; cursor:default; transition:.25s; }

.doc-icon { margin-bottom:auto; width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--blue); font-size:9px; }
.document-card strong { font:600 14px/1.25 var(--font-display); }
.document-card small { margin-top:7px; color:#8b959e; font-size:8px; letter-spacing:.1em; }

.rfq-section { min-height:780px; padding:120px 0; position:relative; overflow:hidden; background:var(--navy-900); color:white; }
.rfq-backdrop { position:absolute; inset:0; opacity:.45; background:radial-gradient(circle at 12% 72%, rgba(29,111,255,.28), transparent 28%), linear-gradient(135deg, transparent 0 54%, rgba(255,255,255,.025) 54% 55%, transparent 55% 100%); }
.rfq-section::before { content:""; position:absolute; width:560px; height:560px; border:1px solid rgba(255,255,255,.05); border-radius:50%; left:-180px; top:280px; box-shadow:0 0 0 100px rgba(255,255,255,.018),0 0 0 200px rgba(255,255,255,.01); }
.rfq-layout { position:relative; z-index:1; display:grid; grid-template-columns:.78fr 1.22fr; gap:100px; align-items:start; }
.kicker-light { color:var(--cyan); }
.rfq-intro { position:sticky; top:140px; }
.rfq-intro h2 { font-size:clamp(38px,4vw,56px); }
.rfq-intro > p { max-width:430px; color:rgba(224,237,248,.62); line-height:1.75; margin:25px 0 42px; }
.contact-note { display:flex; gap:14px; align-items:center; }
.contact-icon { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; color:var(--cyan); }
.contact-note div { display:grid; gap:5px; }
.contact-note small { color:rgba(255,255,255,.45); font-size:8px; letter-spacing:.15em; }
.contact-note strong { font-size:12px; font-weight:500; }
.rfq-form { background:white; color:var(--ink); padding:42px; box-shadow:0 28px 80px rgba(0,0,0,.28); }
.form-progress { height:2px; background:#e4e9ec; margin:-42px -42px 40px; }
.form-progress span { display:block; height:100%; width:0; background:var(--blue); transition:width .3s ease; }
.form-head { display:flex; align-items:start; justify-content:space-between; margin-bottom:32px; }
.form-head > div { display:grid; gap:6px; }
.form-head span { color:#8e99a2; font-size:8px; font-weight:700; letter-spacing:.16em; }
.form-head strong { font:600 24px/1.2 var(--font-display); }
.form-step { padding:7px 9px; border:1px solid var(--line); }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px 18px; }
.field { display:grid; gap:8px; }
.field > span { font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.field input,.field select,.field textarea { width:100%; border:0; border-bottom:1px solid #cfd7dc; border-radius:0; outline:0; padding:9px 1px 11px; color:var(--ink); background:transparent; transition:border .2s; }
.field textarea { resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--blue); }
.field.invalid input,.field.invalid select { border-color:#d33b52; }
.field-error { display:none; color:#c82e46; font-size:9px; }
.field.invalid .field-error { display:block; }
.span-2 { grid-column:span 2; }
.form-actions { margin-top:30px; padding-top:25px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:20px; }
.upload-control { max-width:240px; display:grid; grid-template-columns:28px 1fr; cursor:pointer; }
.upload-control input { display:none; }
.upload-control > span { grid-row:span 2; width:24px; height:24px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--blue); }
.upload-control b { font-size:10px; }
.upload-control small { margin-top:3px; color:#8e99a2; font-size:8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.button-submit { min-width:180px; background:var(--navy-900); color:white; }
.button-submit:hover { background:var(--blue); }
.form-disclaimer { margin:22px 0 0; color:#89949e; font-size:9px; line-height:1.5; }
.form-success { grid-column:2; background:white; color:var(--ink); min-height:520px; padding:70px 50px; text-align:center; box-shadow:0 28px 80px rgba(0,0,0,.28); place-items:center; align-content:center; }
.form-success:not([hidden]) { display:grid; }
.form-success > span { width:72px; height:72px; display:grid; place-items:center; border-radius:50%; background:#e4f8ee; color:#1b9b5a; font-size:27px; }
.form-success h3 { margin:24px 0 10px; font:600 30px/1.2 var(--font-display); }
.form-success p { max-width:420px; color:var(--muted); line-height:1.65; }
.form-success button { border:0; border-bottom:1px solid var(--ink); padding:8px 0; background:transparent; cursor:pointer; }

.site-footer { background:var(--navy-950); color:white; border-top:1px solid rgba(255,255,255,.09); padding:40px 0 24px; }
.footer-grid { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:30px; }
.footer-brand .brand-mark { width:34px; height:34px; }
.footer-grid p { color:rgba(255,255,255,.48); font-size:12px; text-align:center; }
.back-top { justify-self:end; color:rgba(255,255,255,.72); font-size:11px; }
.footer-bottom { margin-top:30px; padding-top:20px; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; color:rgba(255,255,255,.34); font-size:9px; letter-spacing:.08em; }

.compliance-dialog { width:min(680px,calc(100% - 32px)); max-height:90vh; padding:54px; border:0; color:var(--ink); box-shadow:0 30px 100px rgba(0,0,0,.35); }
.compliance-dialog::backdrop { background:rgba(3,10,18,.8); backdrop-filter:blur(6px); }
.dialog-close { position:absolute; right:18px; top:14px; width:36px; height:36px; border:0; background:transparent; font-size:28px; cursor:pointer; }
.compliance-dialog h2 { font-size:38px; }
.compliance-dialog > p { color:var(--muted); line-height:1.65; }
.dialog-list { margin:28px 0; border-top:1px solid var(--line); }
.dialog-list > div { display:grid; grid-template-columns:45px 1fr; padding:15px 0; border-bottom:1px solid var(--line); }
.dialog-list b { color:var(--blue); font-size:9px; }
.dialog-list span { display:grid; gap:4px; }
.dialog-list strong { font-size:13px; }
.dialog-list small { color:var(--muted); font-size:10px; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.12s; }
.reveal-delay-2 { transition-delay:.22s; }
.reveal-delay-3 { transition-delay:.34s; }
@keyframes heroIn { from { opacity:0; transform:scale(1.08); } to { opacity:1; transform:scale(1.02); } }
@keyframes pulse { 50% { box-shadow:0 0 0 10px rgba(84,216,255,0); } }
@keyframes scrollCue { 0% { opacity:0; transform:translateY(0); } 30% { opacity:1; } 100% { opacity:0; transform:translateY(14px); } }

@media (max-width: 1020px) {
  .flight-card { display:none; }
  .hero-content { padding-right:10%; }
  .service-explorer { grid-template-columns:260px 1fr; }
  .service-panel { grid-template-columns:1fr; }
  .service-image { min-height:260px; }
  .service-copy { min-height:340px; }
  .assurance { gap:50px; }
  .rfq-layout { gap:50px; }
}

@media (max-width: 780px) {
  .container { width:min(100% - 32px, 620px); }
  .nav-shell { width:calc(100% - 32px); height:72px; }
  .nav-toggle { display:block; z-index:2; }
  .nav-toggle[aria-expanded="true"] > span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] > span:nth-child(2) { opacity:0; }
  .nav-toggle[aria-expanded="true"] > span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
  .primary-nav { position:fixed; inset:0; padding:110px 24px 40px; flex-direction:column; align-items:stretch; gap:6px; background:rgba(5,11,19,.98); transform:translateX(100%); transition:transform .3s ease; }
  .primary-nav.open { transform:none; }
  .primary-nav > a:not(.button) { padding:18px 2px; border-bottom:1px solid rgba(255,255,255,.1); font:600 22px/1.2 var(--font-display); }
  .button-small { margin-top:auto; }
  .hero { min-height:720px; height:100svh; }
  .hero-media { background-position:68% center; }
  .hero h1 { font-size:clamp(47px,14vw,68px); }
  .hero-lead { font-size:16px; max-width:520px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:22px; }
  .hero-metrics { margin-top:46px; display:grid; grid-template-columns:repeat(3,1fr); width:100%; }
  .hero-metrics > div { min-width:0; padding-right:12px; margin-right:12px; }
  .hero-metrics strong { font-size:13px; }
  .hero-metrics span { font-size:8px; line-height:1.4; }
  .scroll-cue { display:none; }
  .capabilities { padding-top:85px; }
  .section-heading { grid-template-columns:1fr; gap:18px; margin-bottom:36px; }
  .section-heading h2,.assurance h2,.rfq-intro h2 { font-size:38px; }
  .service-explorer { display:block; border:0; background:transparent; box-shadow:none; }
  .service-tabs { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); }
  .service-tab { min-height:86px; padding:14px; grid-template-columns:23px 1fr; }
  .service-tab i { display:none; }
  .service-tab:nth-child(2) { border-right:0; }
  .service-tab b { font-size:12px; }
  .service-visual { margin-top:18px; background:white; box-shadow:0 18px 45px rgba(10,36,60,.08); }
  .service-image { min-height:260px; }
  .service-copy { min-height:380px; padding:34px 28px; }
  .assurance { padding:90px 0; grid-template-columns:1fr; gap:45px; }
  .document-card { min-height:150px; padding:18px; }
  .rfq-section { padding:85px 0; }
  .rfq-layout { display:block; }
  .rfq-intro { position:relative; top:0; margin-bottom:45px; }
  .rfq-form { padding:28px 22px; }
  .form-progress { margin:-28px -22px 28px; }
  .field-grid { grid-template-columns:1fr; }
  .span-2 { grid-column:auto; }
  .form-actions { align-items:stretch; flex-direction:column; }
  .upload-control { max-width:100%; }
  .button-submit { width:100%; }
  .form-success { min-height:430px; padding:45px 25px; }
  .footer-grid { grid-template-columns:1fr; justify-items:center; text-align:center; }
  .back-top { justify-self:center; }
  .footer-bottom { gap:12px; flex-direction:column; align-items:center; text-align:center; }
  .compliance-dialog { padding:42px 25px 28px; }
  .compliance-dialog h2 { font-size:31px; }
}

@media (max-width: 420px) {
  .hero h1 { font-size:45px; }
  .hero-metrics > div { padding-right:8px; margin-right:8px; }
  .hero-metrics strong { font-size:11px; }
  .service-tabs { grid-template-columns:1fr; }
  .service-tab { min-height:64px; border-right:0; }
  .document-grid { grid-template-columns:1fr; }
  .document-card { min-height:125px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* Company details and English-only navigation */
[hidden] { display: none !important; }
section[id], div[id="assurance"] { scroll-margin-top: 100px; }
.company-contact { display: grid; gap: 20px; margin: 28px 0; }
.company-contact a { display: grid; gap: 6px; overflow-wrap: anywhere; }
.company-contact small { color: var(--cyan); font-size: 9px; letter-spacing: .14em; }
.company-contact strong { font-size: 18px; }
.company-contact address { color: #bfccd9; font-style: normal; line-height: 1.7; }
.document-card small { line-height: 1.6; font-size: 10px; letter-spacing: .03em; }
.document-grid .document-card:last-child { grid-column: 1 / -1; }
:focus-visible { outline: 2px solid #1d6fff; outline-offset: 5px; }

.inventory-section { padding: 80px 0; background: #eaf0f3; border-bottom: 1px solid var(--line); }
.inventory-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 50px; align-items: center; }
.inventory-section h2 { font: 600 clamp(30px,3.4vw,46px)/1.1 var(--font-display); letter-spacing: -.04em; margin: 0 0 18px; }
.inventory-section p { color: var(--muted); font-size: 14px; line-height: 1.7; }
.inventory-card { background: white; padding: 30px; border: 1px solid var(--line); }
.inventory-card label { display: block; font-size: 11px; font-weight: 700; margin-bottom: 12px; text-transform: uppercase; letter-spacing: .06em; }
.inventory-input-row { display: flex; gap: 12px; }
.inventory-input-row input { min-width: 0; flex: 1; width: 100%; border: 1px solid #b7c4ce; padding: 14px; border-radius: 2px; }
.inventory-input-row .button { padding: 0 16px; letter-spacing: .02em; }
.inventory-actions { display: flex; flex-wrap: wrap; gap: 20px; }
.inventory-help { font-size: 11px !important; }
.inventory-help a { color: var(--blue); text-decoration: underline; }
#inventory-term { overflow-wrap: anywhere; color: var(--ink); }
@media (max-width: 1020px) { .inventory-layout { grid-template-columns: 1fr; gap: 24px; } }
@media (max-width: 600px) { .inventory-input-row { flex-direction: column; } .inventory-card { padding: 22px; } .inventory-section { padding: 60px 0; } }

/* Original OSN logos, preserved without cropping or recoloring. */
.site-header .brand { background: transparent; padding: 3px 10px; border-radius: 0; flex-shrink: 0; position: relative; z-index: 3; }
.osn-nav-logo { display: block; width: 78px; height: 78px; object-fit: contain; }
.osn-company-logo { display: block; width: min(100%, 330px); height: auto; margin: 0 0 28px; }
.footer-brand { background: transparent; padding: 12px 18px; border-radius: 0; justify-self: start; }
.osn-footer-logo { display: block; width: 210px; height: auto; }
@media (max-width: 780px) {
 .osn-nav-logo { width: 62px; height: 62px; }
 .site-header .brand { padding: 2px 8px; }
 .footer-brand { justify-self: center; }
 .osn-company-logo { margin-inline: auto; }
}

/* Horizontal header lockup: original emblem plus legible live lettering. */
.site-header .brand { padding: 0; gap: 12px; }
.osn-header-emblem { display: block; width: 60px; height: 49px; flex: 0 0 auto; }
.osn-header-wordmark { display: grid; gap: 5px; white-space: nowrap; }
.osn-header-wordmark strong { font: 700 21px/1.1 var(--font-display); letter-spacing: .035em; color: #fff; }
.osn-header-wordmark > span { font: 700 11px/1.2 var(--font-body); letter-spacing: .34em; color: #ff9a24; }
@media (min-width: 781px) and (max-width: 1020px) { .primary-nav { gap: 18px; } }
@media (max-width: 780px) {
 .site-header .brand { padding: 0; gap: 10px; }
 .osn-header-emblem { width: 48px; height: 39px; }
 .osn-header-wordmark strong { font-size: 18px; }
 .osn-header-wordmark > span { font-size: 9px; }
}

/* Compact certificate gallery; full documents remain linked. */
.document-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.document-card { gap: 5px; padding: 12px; min-width: 0; min-height: 0; }
.certificate-preview { display: block; width: 100%; height: 100px; object-fit: contain; background: transparent; margin-bottom: 6px; }
.document-card strong { font-size: 12px; }
.document-card small { font-size: 9px; margin-top: 0; line-height: 1.4; }
.certificate-open { font-size: 9px; color: var(--blue); margin-top: auto; padding-top: 5px; }
.document-grid .document-card:last-child { grid-column: auto; }
.assurance { align-items: center; gap: 50px; }
@media (max-width: 1020px) { .document-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 780px) { .assurance { gap: 30px; } .certificate-preview { height: 90px; } }

/* Brand presence in the open right-hand hero area. */
.hero-osn-logo { position: absolute; z-index: 2; width: clamp(235px, 26vw, 380px); height: auto; right: max(35px, calc((100vw - 1280px) / 2)); top: 28%; }
.hero-content { pointer-events: none; }
.hero-content a { pointer-events: auto; }
.inventory-result-pn { font-size: 11px !important; letter-spacing: .06em; }
#inventory-status { color: var(--ink); font-weight: 700; font-size: 18px; margin: 10px 0; }
#inventory-status.in-stock { color: #147446; }
#inventory-enquiry { padding: 18px 0 5px; border-top: 1px solid var(--line); margin-top: 20px; }
.inventory-connection { margin-top: 16px; }
.inventory-aog { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 20px; display: grid; gap: 8px; }
.aog-badge { color: #ae4d00; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.inventory-aog strong { font-size: 14px; }
.inventory-aog p { margin: 0; font-size: 12px; }
.inventory-aog a { color: var(--blue); text-decoration: underline; overflow-wrap: anywhere; }
@media (min-width: 1021px) { .hero h1 { max-width: 750px; font-size: clamp(52px, 6.4vw, 88px); } }
@media (max-width: 1020px) { .hero-osn-logo { top: 95px; right: 24px; width: 165px; } .hero-content { padding-top: 145px; } }
@media (max-width: 780px) { .hero-osn-logo { width: 125px; top: 83px; right: 16px; } .hero { min-height: 800px; } .hero-content { padding-top: 165px; } }

/* Hero alignment and OSN brand-colored actions. */
@media (min-width: 1021px) {
 .hero-osn-logo { left: 75%; right: auto; transform: translateX(-50%); }
}
.hero-actions { flex-direction: row; align-items: stretch; gap: 14px; }
.hero-actions .button { min-width: 180px; min-height: 52px; text-align: center; }
.hero-actions .button-primary { background: #005bb5; border-color: #207acf; }
.hero-actions .button-primary:hover { background: #074584; }
.button-inventory { background: #ff931e; color: #07111f; border-color: #ffac4f; box-shadow: 0 10px 28px rgba(255,147,30,.2); }
.button-inventory:hover { background: #ffac4f; }
.flight-card-foot { flex-direction: column; gap: 9px; font-size: 11px; letter-spacing: .035em; }
.flight-card-foot a { color: #e5f1fc; }
.flight-card-foot a:hover { color: #ffac4f; text-decoration: underline; }
@media (max-width: 780px) {
 .hero-actions { width: 100%; gap: 10px; }
 .hero-actions .button { flex: 1; min-width: 0; padding: 10px 8px; font-size: 10px; letter-spacing: .025em; }
}

/* OSN supply categories and polished brand treatments. */
.hero-categories { margin: 15px 0 0; font-size: 13px; font-weight: 600; color: #e2edf6; line-height: 1.7; letter-spacing: .055em; }
.hero-categories span { color: #ff9c26; padding: 0 6px; }
.hero-actions .button { border-radius: 15px; border-width: 1px; }
.hero-actions .button-primary { background: linear-gradient(135deg, #137ecc 0%, #0755a0 52%, #043467 100%); border-color: #368fd1; box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 9px 24px rgba(0,64,138,.32); }
.hero-actions .button-primary:hover { background: linear-gradient(135deg, #248fdc, #064680); box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 12px 30px rgba(0,91,181,.4); }
.hero-actions .button-inventory { background: linear-gradient(135deg, #ffd067 0%, #ffa226 48%, #ef780d 100%); border-color: #ffb549; color: #07111f; box-shadow: inset 0 1px 0 rgba(255,255,255,.38), 0 9px 24px rgba(222,108,0,.25); }
.hero-actions .button-inventory:hover { background: linear-gradient(135deg, #ffdc87, #ffa333 55%, #ff891f); }
.flight-card { border-radius: 16px; overflow: hidden; }
.flight-card-foot { align-items: center; justify-content: center; padding: 16px 18px; gap: 8px; text-align: center; background: linear-gradient(145deg, rgba(32,83,125,.18), rgba(5,14,25,.28)); }
.flight-card-foot .aog-contact { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 34px; border-radius: 8px; font-size: 13px; font-weight: 500; letter-spacing: .02em; }
.aog-contact svg { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: #ffac4f; stroke-width: 1.6; stroke-linejoin: round; }
.flight-card-foot .aog-contact:hover { background: rgba(255,255,255,.06); text-decoration: none; }
@media (max-width: 780px) { .hero-categories { font-size: 11px; letter-spacing: .02em; } .hero-categories span { padding: 0 3px; } }

/* Aircraft and engine platform explorer */
.platforms{padding:100px 0 20px;border-top:1px solid #d5dee4;margin-top:90px;scroll-margin-top:100px}
.platform-section-label{font-size:18px;margin:32px 0 18px;color:#153a55}
.platform-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.platform-tabs button{border:1px solid #d0dce5;background:transparent;color:#29475c;border-radius:999px;padding:13px 20px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}
.platform-tabs button[aria-selected=true]{background:linear-gradient(135deg,#137ecc,#043467);color:white;border-color:#0755a0;box-shadow:0 5px 15px #0755a01c}
.platform-tabs button:focus-visible,.platform-list button:focus-visible{outline:3px solid #f49a27;outline-offset:3px}
.platform-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:36px;align-items:start}
.platform-panel[hidden]{display:none}
.platform-photo{margin:0;overflow:hidden;border:1px solid #d5dee4;border-radius:18px;background:#fff}
.platform-photo img{display:block;width:100%;height:300px;object-fit:contain;background:#eef2f5}
.platform-photo figcaption{padding:20px;display:grid;gap:8px}
.platform-photo strong{font-size:18px;color:#123952}.platform-photo span{font-size:14px;color:#617486}
.platform-photo small{font-size:12px;line-height:1.6;color:#5d7182}.platform-photo a{color:inherit;text-underline-offset:3px}
.platform-list{list-style:none;margin:0;padding:0;border-top:1px solid #d0dce5}
.platform-list li{border-bottom:1px solid #d0dce5}.platform-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;background:transparent;border:0;padding:15px 10px;cursor:pointer;color:#112d43;font:inherit;min-height:64px;border-radius:8px}
.platform-list button:hover{background:#e5edf3}.platform-list strong{font-size:16px;font-weight:600}.platform-list small{display:block;margin-top:4px;color:#65798a;font-size:14px;line-height:1.5}.platform-row-action{flex-shrink:0;font-size:12px;color:#0755a0;font-weight:700}.platform-row-action span{color:#e98213;font-size:20px;margin-left:8px}
.platform-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#e9eff3;border-radius:16px;padding:24px 28px;margin-top:28px}.platform-footer p{margin:0;font-size:16px;line-height:1.8;color:#526b7d}.platform-footer strong{color:#183b54}.platform-footer .button{border-radius:15px;flex-shrink:0}
@media(max-width:760px){.platforms{padding-top:60px;margin-top:60px}.platform-panel{grid-template-columns:1fr;gap:22px}.platform-photo img{height:230px}.platform-tabs{display:grid;grid-template-columns:1fr 1fr}.platform-tabs button{padding:12px 9px;font-size:14px}.platform-footer{align-items:flex-start;flex-direction:column;padding:22px}.platform-list button{padding:14px 4px}.platform-photo figcaption{padding:16px}}

/* Standalone platforms now precede capabilities. */
.platforms{margin-top:0;padding:100px 0 80px;background:var(--paper);border-top:0}
.footer-bottom a{color:inherit;text-underline-offset:4px}
@media(max-width:760px){.platforms{margin-top:0;padding:70px 0 45px}}

/* OSN blue/orange winglet artwork, without lettering. */
.hero-media{background-position:62% center}
@media(max-width:780px){.hero-media{background-position:68% center}}

.company-contact .contact-legal-name { max-width: 440px; color: #e4edf5; font-size: 12px; font-weight: 600; line-height: 1.8; letter-spacing: .055em; overflow-wrap: break-word; }

/* Brand treatment for the primary RFQ action. */
.rfq-form .form-actions { justify-content: flex-end; }
.rfq-form .button-submit { min-width: 224px; min-height: 56px; padding: 15px 20px 15px 28px; gap: 32px; justify-content: space-between; border-radius: 999px; border: 1px solid #318bd0; background: linear-gradient(120deg, #137ecc 0%, #0755a0 48%, #043467 100%); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 8px 22px rgba(4,52,103,.24); }
.rfq-form .button-submit i { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg, #ffb035, #ff830c 55%, #e85b00); color: #09213b; font-size: 18px; font-style: normal; }
.rfq-form .button-submit:hover:not(:disabled) { background: linear-gradient(120deg, #248fdc, #0755a0 55%, #043467); box-shadow: 0 10px 26px rgba(4,52,103,.32); transform: translateY(-1px); }
.rfq-form .button-submit:focus-visible { outline: 3px solid #ff951c; outline-offset: 4px; }
.rfq-form .button-submit:disabled { opacity: .6; cursor: wait; transform: none; }
@media(max-width:760px) { .rfq-form .button-submit { width: 100%; min-width: 0; } }

/* Consistent OSN section labels and three-location service coverage. */
#inventory .kicker, #platforms .kicker, #services > .container > .section-heading .kicker, #assurance .kicker, #rfq .kicker { display:flex; align-items:center; gap:12px; margin:0 0 20px; color:#0755a0; font-size:12px; line-height:1.5; font-weight:800; letter-spacing:.13em; }
#inventory .kicker::before, #platforms .kicker::before, #services > .container > .section-heading .kicker::before, #assurance .kicker::before, #rfq .kicker::before { content:""; flex:0 0 28px; height:4px; border-radius:8px; background:linear-gradient(90deg,#0755a0 0 48%,#ff941b 52% 100%); }
#rfq .kicker { color:#ffa63e; }
.hero-locations { display:flex; flex-wrap:wrap; gap:0; margin-top:25px; max-width:580px; }
.hero-locations > span { display:grid; gap:5px; padding:0 22px; border-left:2px solid #ff941b; }
.hero-locations > span:first-child { padding-left:12px; }
.hero-locations strong { font:600 18px/1.2 var(--font-display); color:#fff; }
.hero-locations small { color:#b8d3e9; font-size:11px; letter-spacing:.07em; }
.hero-location-note { margin:12px 0 0; color:#c7d9e7; font-size:12px; }
.hero-metrics { margin-top:32px; }
.capability-locations { display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; margin:0 0 24px; padding:18px 22px; border-radius:12px; background:#eaf1f6; border-left:3px solid #ff941b; color:#164774; font-size:13px; }
.capability-locations strong { font-size:10px; letter-spacing:.1em; }
.service-tab { grid-template-columns:minmax(0,1fr) 20px; cursor:pointer; padding:20px; }
.service-tab.active::before { background:linear-gradient(#137ecc,#043467 65%,#ff941b); }
.service-copy h3 { margin-top:0; }
.service-panel-advisory { grid-template-columns:1fr; background:linear-gradient(145deg,#fff,#f0f5f9); }
.service-panel-advisory .service-copy { padding:40px 45px; }
.service-type { color:#0755a0; font-size:11px; font-weight:700; letter-spacing:.06em; margin-bottom:18px; }
.service-panel-advisory .service-copy h3 { max-width:620px; font-size:32px; }
.service-copy .service-scope { font-size:12px; margin:0 0 24px; color:#536b7c; }
.technical-scope-note { color:#657583; font-size:12px; line-height:1.65; max-width:850px; margin:18px 0 0; }
.contact-other-locations { display:grid; gap:10px; color:#bfccd9; font-size:14px; }
.contact-other-locations small { text-transform:none; letter-spacing:0; font-size:12px; line-height:1.6; }
.primary-nav { gap:22px; }
@media(min-width:1101px) { .hero { min-height:920px; } }
@media(max-width:1100px) {
 .nav-toggle { display:block; z-index:2; }
 .nav-toggle[aria-expanded="true"] > span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
 .nav-toggle[aria-expanded="true"] > span:nth-child(2) { opacity:0; }
 .nav-toggle[aria-expanded="true"] > span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
 .primary-nav { position:fixed; inset:0; padding:100px 24px 30px; flex-direction:column; align-items:stretch; gap:6px; overflow-y:auto; background:rgba(5,11,19,.98); transform:translateX(100%); visibility:hidden; transition:transform .3s ease,visibility .3s; }
 .primary-nav.open { transform:none; visibility:visible; }
 .primary-nav > a:not(.button) { padding:16px 2px; border-bottom:1px solid rgba(255,255,255,.1); font:600 20px/1.2 var(--font-display); }
 .primary-nav .button-small { margin-top:20px; }
}
@media(max-width:780px) {
 .hero { height:auto; min-height:950px; padding-bottom:60px; }
 .hero-locations { gap:16px 0; }
 .hero-locations > span { padding:0 12px; }
 .hero-locations strong { font-size:15px; }
 .hero-locations small { font-size:10px; }
 .service-tabs { display:grid; grid-template-columns:1fr 1fr; }
 .service-tab { padding:15px 12px; min-width:0; }
 .service-tab b { font-size:12px; overflow-wrap:break-word; }
 .service-panel-advisory .service-copy { padding:28px 22px; }
 .service-panel-advisory .service-copy h3 { font-size:27px; }
 .capability-locations { gap:12px; padding:16px; }
 .capability-locations strong { flex-basis:100%; }
}

/* Main navigation, branded locations and illustrated advisory services */
.contact-other-locations { grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:12px; margin-top:8px; }
.location-brand-card { display:flex; align-items:center; gap:12px; padding:17px 16px; min-width:0; border:1px solid rgba(72,153,231,.42); border-bottom:3px solid #f88b19; border-radius:16px; background:linear-gradient(135deg,#153f68,#091c30); box-shadow:0 8px 24px rgba(0,0,0,.13); }
.location-brand-card svg { width:40px; height:40px; flex-shrink:0; }
.location-brand-card > span { display:grid; gap:5px; }
.location-brand-card strong { color:#fff; font-size:16px; }
.location-brand-card small { color:#ffc276; font-size:12px; }
.location-coverage { grid-column:1/-1; }
.service-panel-advisory { grid-template-columns:1fr; height:auto; }
.advisory-image { display:block; height:270px; overflow:hidden; background:#d9e4ec; }
.advisory-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
#panel-technical .advisory-image img { object-position:center 45%; }
.service-panel-advisory .service-copy { padding:30px 36px; }
.service-panel-advisory .service-copy ul { margin:20px 0; }
.service-panel-advisory .service-copy li { font-size:14px; }
.service-panel-advisory .service-type { color:#0755a0; font-size:12px; line-height:1.5; font-weight:700; margin-bottom:12px; }
.service-panel-advisory .service-rfq { margin-top:22px; }
@media(min-width:1101px) { .primary-nav { gap:18px; font-size:12px; } }
@media(max-width:780px) {
 .advisory-image { height:220px; }
 .service-panel-advisory .service-copy { padding:26px 22px; }
 .service-panel-advisory .service-copy h3 { font-size:28px; }
 .service-tab { grid-template-columns:minmax(0,1fr); }
 .service-tab b { font-size:14px; line-height:1.35; }
 .contact-other-locations { grid-template-columns:1fr; }
 .location-brand-card { padding:16px 20px; }
 .location-brand-card strong { font-size:18px; }
}

/* Expanded locations and aligned section introductions */
#platforms .section-heading, #services > .container > .section-heading { align-items:start; }
.hero-locations { display:grid; grid-template-columns:max-content max-content; gap:18px 22px; max-width:600px; }
.hero-locations > span { padding:0 12px; min-width:0; }
.german-cities { display:inline-flex; flex-wrap:wrap; align-items:center; gap:6px; }
.german-cities > span + span::before { content:"·"; margin-right:6px; color:#ff9a23; }
.hero-locations .german-cities { font-size:14px; }
.hero-location-note { line-height:1.6; }
.hero-location-note strong { color:#d7eafa; font-weight:500; }
.locations-slogan { flex-basis:100%; line-height:1.8; }
.locations-slogan > span { color:#0755a0; }
.location-germany { grid-column:1/-1; }
.location-germany .german-cities { font-size:16px; }
@media(max-width:780px) {
 .hero-locations { grid-template-columns:1fr 1fr; gap:18px 10px; }
 .hero-locations > span:nth-child(3) { grid-column:1/-1; }
 .hero-locations > span:nth-child(4) { grid-column:2; grid-row:1; }
 .hero-locations > span:nth-child(2) { grid-row:2; }
 .hero { min-height:1080px; }
 .location-germany .german-cities { font-size:14px; }
 .location-germany { padding-left:14px; padding-right:14px; gap:8px; }
}

/* Wuppertal is the principal German location */
.german-cities { display:grid; gap:6px; min-width:180px; }
.german-cities > span + span::before { content:none; }
.german-main { text-align:center; font-size:18px; font-weight:700; }
.german-subcities { display:flex; justify-content:space-between; gap:22px; font-size:12px; font-weight:500; }
.location-germany > span { flex:1; text-align:center; }
.location-germany .german-main { font-size:20px; }
.location-germany .german-subcities { color:#d8e9f7; font-size:14px; }
.hero-locations > span:has(.german-cities) > small { text-align:center; }
.capability-germany { display:grid; gap:6px; text-align:center; }
.capability-germany .german-main { font-size:15px; }
.capability-germany > small { font-size:11px; }
@media(max-width:780px) { .german-cities { min-width:0; } .hero-locations .german-cities { max-width:290px; } .hero-locations > span:has(.german-cities) > small { max-width:290px; } }

/* Match the left alignment of the other locations. */
.german-main, .location-germany > span, .capability-germany { text-align:left; }
.german-subcities { display:block; text-align:left; }
.hero-locations > span:has(.german-cities) > small { text-align:left; }

/* Responsive anchor alignment: use the actual fixed header height. */
:root { --header-height:86px; --section-space:64px; }
section[id], div[id="assurance"], .platforms { scroll-margin-top:var(--header-height); }
#top { scroll-margin-top:0; }
.site-header.scrolled { background:#080f18; backdrop-filter:none; -webkit-backdrop-filter:none; }
.inventory-section, .platforms, .assurance, .rfq-section { padding-top:var(--section-space); }
.capabilities { padding-top:var(--section-space); }
.container > *, .section-heading > *, .inventory-layout > *, .rfq-layout > *, .platform-panel > *, .service-panel > * { min-width:0; }
input, select, textarea { max-width:100%; }
.service-copy, .contact-list, .location-brand-card { overflow-wrap:anywhere; }
@media(max-width:1100px) {
 .site-header { backdrop-filter:none; -webkit-backdrop-filter:none; }
 .primary-nav { height:100vh; height:100dvh; overscroll-behavior:contain; }
 .section-heading { gap:32px; }
 .rfq-layout { gap:36px; }
}
@media(max-width:780px) {
 :root { --header-height:72px; --section-space:40px; }
 .hero { height:auto; min-height:1080px; }
 .hero-actions { flex-wrap:wrap; }
 .hero-locations { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .hero-locations > span:nth-child(n) { grid-column:auto; grid-row:auto; }
 .hero-locations .german-cities { min-width:0; }
 .hero-locations .german-subcities { font-size:12px; }
 .section-heading h2, .assurance h2, .rfq-intro h2 { font-size:clamp(30px,8vw,38px); }
 input,select,textarea { font-size:16px; }
 .platform-tabs button { white-space:normal; }
 .service-copy { min-height:0; }
}
@media(max-width:380px) {
 .hero-actions { align-items:stretch; flex-direction:column; }
 .hero-actions .button { width:100%; }
 .service-tabs { grid-template-columns:1fr; }
 .rfq-form { padding-inline:16px; }
 .form-progress { margin-inline:-16px; }
}

/* Equal city hierarchy and branded capability location cards. */
.hero-locations .german-main { font-size:inherit; font-weight:inherit; }
.location-brand-card .german-main { font-size:inherit; font-weight:inherit; }
.location-brand-card .german-cities { min-width:0; }
.location-brand-card > span { min-width:0; }
.location-germany { grid-column:auto; }
.capability-locations { display:block; }
.capability-locations .locations-slogan { display:block; margin-bottom:16px; }
.capability-location-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:stretch; }
.capability-location-cards .location-brand-card { padding:18px 14px; align-items:flex-start; }
.capability-location-cards .location-brand-card strong { font-size:16px; font-weight:700; letter-spacing:normal; }
.capability-location-cards .location-brand-card svg { width:36px; height:36px; }
.capability-location-cards .german-subcities, .contact-other-locations .german-subcities { font-size:12px; line-height:1.5; font-weight:500; }
@media(max-width:1100px) { .capability-location-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .capability-location-cards { grid-template-columns:1fr; } }

.hero-locations .german-cities { font-size:inherit; }
