@font-face {
  font-family: Montserrat;
  src: url('assets/fonts/montserrat-latin-variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --red: #e12419;
  --red-hover: #af201a;
  --blue: #4057a1;
  --blue-accent: #939fe1;
  --navy: #0c1730;
  --dark: #101a32;
  --muted: #4e5971;
  --light: #f3f5f9;
  --line: #d9deea;
  --white: #fff;
  --frame: min(1280px, calc(100% - 112px));
  --sans: Montserrat, "Helvetica Neue", Arial, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-family: var(--sans);
  color: var(--dark);
  scroll-behavior: smooth;
}
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: var(--white); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
p, h1, h2, h3 { margin: 0; }
h1, h2, h3 { text-wrap: balance; }
:focus-visible { outline: 3px solid #5879f5; outline-offset: 4px; }
[tabindex="-1"]:focus { outline: none; }
section[id], footer[id] { scroll-margin-top: 85px; }
.svg-bank { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { display: inline-block; width: 20px; height: 20px; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.wrap { width: var(--frame); margin-inline: auto; }
.skip-link { position: fixed; top: 8px; left: 8px; padding: 12px 16px; z-index: 12; background: white; transform: translateY(-140%); }
.skip-link:focus { transform: none; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 47px; border: 1px solid transparent; padding: 0 17px; white-space: nowrap; border-radius: 4px; font-weight: 700; font-size: .88rem; line-height: 1.15; transition: background .2s ease, color .2s ease; }
.button .icon { width: 17px; height: 17px; }
.button-red { background: var(--red); color: var(--white); }
.button-red:hover { background: var(--red-hover); }
.button-outline { border-color: var(--line); }
.eyebrow { display: flex; align-items: center; gap: 9px; font: 700 .73rem/1.5 var(--mono); letter-spacing: .105em; color: var(--blue); }
.eyebrow > span:first-child, .photo-tag > span { width: 8px; height: 8px; flex: 0 0 8px; background: var(--red); transform: rotate(45deg); }
.eyebrow-light { color: #d9e2ff; }

.site-header { position: sticky; z-index: 5; top: 0; background: var(--white); box-shadow: 0 1px 0 #17274c14; }
.header-inner { min-height: 84px; display: flex; align-items: center; gap: clamp(16px, 2.5vw, 36px); }
.brand { flex: none; }
.brand img { width: 163px; height: auto; }
.header-caption { padding-left: 26px; border-left: 1px solid var(--line); color: #536079; font: 700 .64rem/1.2 var(--mono); letter-spacing: .09em; }
.header-actions { margin-left: auto; display: flex; gap: 9px; align-items: center; }
.language-link { display: grid; place-items: center; min-width: 43px; min-height: 43px; border: 1px solid var(--line); border-radius: 4px; color: var(--blue); font: 700 .78rem var(--mono); }
.language-link:hover { background: var(--light); border-color: var(--blue); }
.menu-toggle { display: none; }
.has-js .menu-toggle { display: inline-flex; }
.menu-toggle { min-height: 47px; align-items: center; justify-content: center; gap: 9px; padding: 0 13px; background: white; color: var(--navy); border: 1px solid var(--line); border-radius: 4px; font-size: .88rem; font-weight: 700; white-space: nowrap; transition: border-color .2s, background .2s; }
.menu-toggle:hover { border-color: var(--blue); background: var(--light); }
.menu-toggle img { width: 25px; height: auto; transition: transform .25s ease; }
.menu-toggle:hover img { transform: translate(2px,-2px) rotate(8deg); }

.hero { min-height: clamp(600px, 78svh, 810px); display: grid; isolation: isolate; position: relative; color: var(--white); background: var(--navy); }
.hero-image, .hero-overlay { position: absolute; width: 100%; height: 100%; inset: 0; }
.hero-image { object-fit: cover; object-position: 61% 55%; z-index: -2; }
.hero-overlay { z-index: -1; background: linear-gradient(90deg, #091329 0%, #0a1428f5 17%, #0a1428d9 33%, #0a14287a 53%, #0a14280d 75%), linear-gradient(0deg, #0a1429eb, #0a142900 31%); }
.hero-inner { display: flex; flex-direction: column; justify-content: center; position: relative; padding-block: 80px 108px; }
.hero-copy { max-width: 660px; }
.hero h1 { margin: 19px 0 21px; font-size: clamp(3.7rem, 6.2vw, 6.45rem); font-weight: 750; line-height: .98; letter-spacing: -.066em; text-wrap: initial; }
.hero-description { max-width: 450px; color: #e5eafa; font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.55; }
.part-search { margin-top: 34px; max-width: 527px; }
.part-search > label { display: block; color: #f0f3fc; margin-bottom: 8px; font-size: .88rem; font-weight: 700; }
.quick-control { display: flex; align-items: center; gap: 6px; padding: 5px; border-radius: 5px; background: white; }
.quick-control input { flex: 1; min-width: 0; min-height: 44px; padding: 0 12px; border: 0; border-radius: 3px; background: transparent; color: var(--navy); font-size: 1rem; }
.quick-control input::placeholder { color: #58637a; }
.quick-control .button { min-height: 44px; }
.hero-alt { display: inline-flex; align-items: center; gap: 5px; margin-top: 13px; color: #e4eafa; font-size: .83rem; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #9ba9c7; }
.hero-alt:hover { color: white; }
.hero-alt .icon { width: 14px; height: 14px; }
.hero-links { display: flex; flex-wrap: wrap; column-gap: 21px; }
.hero-rail { position: absolute; bottom: 0; inset-inline: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #c9d7ff55; min-height: 59px; color: #d8e1f9; font: 700 .69rem/1.4 var(--mono); letter-spacing: .11em; }
.hero-rail > * { display: inline-flex; align-items: center; gap: 8px; }
.hero-rail .icon { width: 15px; height: 15px; }
.hero-scroll:hover { color: white; text-decoration: underline; text-underline-offset: 4px; }

.section { padding: clamp(70px, 8.4vw, 128px) 0; }
.capabilities { background: var(--light); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: clamp(28px, 4vw, 58px); }
.section h2, .about h2 { margin-top: 13px; font-size: clamp(2.3rem, 4.2vw, 4.5rem); line-height: 1.015; letter-spacing: -.062em; }
.section-head > p { max-width: 298px; margin-bottom: 3px; font-size: 1.02rem; line-height: 1.6; color: var(--muted); }
.cap-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.cap-card { display: flex; flex-direction: column; padding: 22px 21px 20px; background: white; border: 1px solid var(--line); border-radius: 5px; transition: border-color .2s, transform .2s; }
.cap-card:hover, .cap-card:focus-within { border-color: #7f91c9; transform: translateY(-4px); }
.cap-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 29px; }
.cap-top .icon { color: var(--blue); width: 31px; height: 31px; stroke-width: 1.35; }
.cap-top span { color: #59647a; font: 700 .69rem/1.3 var(--mono); }
.cap-card h3 { margin-bottom: 10px; font-size: clamp(1.2rem, 1.7vw, 1.58rem); line-height: 1.12; letter-spacing: -.035em; }
.cap-card p { margin-bottom: 23px; color: var(--muted); font-size: .92rem; line-height: 1.55; }
.cap-card a { align-self: flex-start; display: grid; place-items: center; width: 39px; height: 39px; margin-top: auto; border: 1px solid var(--line); border-radius: 50%; color: var(--blue); transition: color .2s, background .2s; }
.cap-card a:hover { background: var(--blue); color: white; }
.cap-card a .icon { width: 17px; height: 17px; }

.service-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 14px; margin-top: 18px; }
.service-details details { padding-inline: 20px; background: white; border: 1px solid var(--line); border-radius: 5px; }
.service-details summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 54px; padding-block: 10px; list-style: none; cursor: pointer; font-weight: 700; font-size: .94rem; }
.service-details summary::-webkit-details-marker { display: none; }
.service-details summary .icon { color: var(--blue); }
.service-details details[open] summary .icon { transform: rotate(45deg); }
.service-details :is(ol, ul) { display: grid; gap: 8px; margin: 0; padding: 3px 0 18px 22px; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.service-details li::marker { color: var(--blue); font-weight: 700; }

.inventory { background: white; }
.inventory-panel { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: clamp(25px, 5vw, 72px); padding: clamp(26px, 5vw, 68px); border-radius: 7px; background: var(--navy) radial-gradient(ellipse at right top, #324782, transparent 63%); color: white; }
.inventory-copy > p:not(.eyebrow) { max-width: 480px; margin-top: 16px; color: #d4ddf3; line-height: 1.65; }
.inventory-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 23px; }
.inventory-actions .text-link { margin-top: 0; }
.inventory-details { min-width: 0; padding: clamp(19px, 3vw, 31px); border: 1px solid #9fb2e64f; border-radius: 5px; background: #14264d7a; }
.inventory-details ol { display: grid; gap: 13px; margin: 15px 0 0; padding-left: 22px; color: #e1e8fc; font-size: .94rem; line-height: 1.5; }
.inventory-details li::marker { color: #b2c4ff; font: 700 .81rem var(--mono); }

.about { display: grid; grid-template-columns: 1fr 1fr; min-height: 510px; background: var(--navy); color: white; }
.about-photo { position: relative; min-height: 340px; isolation: isolate; overflow: hidden; background: #172441; }
.about-photo img { position: absolute; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.about-photo::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, #0c1730a0, transparent 36%); }
.photo-tag { position: absolute; bottom: 26px; left: max(28px, calc((100vw - 1280px)/2)); display: flex; align-items: center; gap: 11px; color: #fff; font: 700 .69rem/1.4 var(--mono); letter-spacing: .1em; }
.about-copy { max-width: 680px; align-self: center; padding: clamp(54px, 6.2vw, 90px) clamp(36px, 6vw, 100px); }
.about h2 { margin-bottom: 22px; }
.about-copy > p:not(.eyebrow) { max-width: 485px; color: #d4ddf3; font-size: 1rem; line-height: 1.67; margin-bottom: 14px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; padding-bottom: 4px; font-size: .93rem; font-weight: 700; border-bottom: 1px solid var(--blue-accent); }
.text-link:hover { border-color: white; }
.text-link .icon { width: 16px; height: 16px; }

.process-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.process-steps li { border-top: 2px solid var(--blue); padding: 18px 9px 4px 0; }
.process-steps li > span { color: var(--blue); font: 700 .76rem var(--mono); }
.process-steps h3 { margin: 10px 0 8px; font-size: 1.25rem; letter-spacing: -.03em; }
.process-steps p { color: var(--muted); font-size: .94rem; line-height: 1.55; }

.quote { background: #f5f7fc; }
.quote-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.25fr); align-items: start; gap: clamp(28px, 6vw, 100px); }
.quote-copy > p:not(.eyebrow) { max-width: 405px; margin-top: 19px; color: var(--muted); font-size: 1.05rem; line-height: 1.65; }
.quote-contact { margin-top: 34px; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; font-size: .92rem; }
.quote-contact strong { margin-bottom: 2px; }
.quote-contact a { display: flex; align-items: center; gap: 8px; color: #33488d; }
.quote-contact a:hover { text-decoration: underline; }
.quote-contact .icon { width: 16px; height: 16px; }
.online-rfq { margin-top: 20px; color: var(--blue); background: white; white-space: normal; }
.online-rfq:hover { border-color: var(--blue); }
.rfq-form { padding: clamp(18px, 3vw, 39px); background: white; border: 1px solid var(--line); border-radius: 6px; box-shadow: 0 12px 26px #17274c08; }
.form-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 22px; }
.form-heading h3 { font-size: 1.42rem; letter-spacing: -.035em; }
.form-heading span { color: var(--muted); font: 400 .69rem/1.4 var(--mono); white-space: nowrap; }
.rfq-form label { display: flex; flex-direction: column; gap: 7px; min-width: 0; color: var(--dark); font-size: .82rem; font-weight: 700; }
.rfq-form input:not([type=checkbox]), .rfq-form select, .rfq-form textarea { display: block; width: 100%; min-width: 0; min-height: 43px; background: #f8f9fc; color: var(--navy); border: 1px solid #ccd3e2; border-radius: 4px; padding: 8px 10px; font-weight: 400; font-size: 1rem; }
.rfq-form :is(input,textarea)::placeholder { color: #596681; opacity: 1; }
.rfq-form textarea { resize: vertical; line-height: 1.35; }
.part-line { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.65fr) minmax(0,1fr); gap: 12px; }
.part-line-extra { margin-top: 12px; grid-template-columns: minmax(0,1.2fr) minmax(0,.65fr) minmax(0,1fr) 36px; }
.remove-part { align-self: end; height: 43px; padding: 0; border: 1px solid var(--line); background: white; color: var(--blue); border-radius: 4px; }
.remove-part:hover { background: var(--light); }
.remove-part .icon { width: 16px; height: 16px; }
.add-part { display: none; }
.has-js .add-part { display: inline-flex; }
.add-part { align-items: center; gap: 5px; margin: 10px 0 0; padding: 5px 0; border: 0; color: #33488d; background: transparent; font-size: .82rem; font-weight: 700; }
.add-part:hover { text-decoration: underline; }
.add-part .icon { width: 16px; height: 16px; }
.form-divider { height: 1px; background: var(--line); margin: 19px 0; }
.form-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 15px 12px; }
.field-full { grid-column: 1/-1; }
.rfq-form .urgent { flex-direction: row; align-items: flex-start; gap: 8px; margin: 17px 0 19px; line-height: 1.45; }
.urgent input { width: 17px; height: 17px; flex: 0 0 17px; margin: 0; accent-color: var(--blue); }
.form-submit { display: flex; align-items: center; gap: 12px; }
.form-submit p, .rfq-result p { color: var(--muted); font-size: .78rem; line-height: 1.45; }
.rfq-result { margin-top: 14px; padding: 13px; border: 1px solid var(--line); border-left: 3px solid var(--blue); background: var(--light); }
.rfq-result a, .rfq-result button { margin: 9px 12px 0 0; color: #33488d; font: 700 .8rem var(--sans); text-decoration: underline; text-underline-offset: 2px; }
.rfq-result button { border: 0; background: transparent; padding: 0; }

.site-footer { background: #091328; color: #dce5fa; }
.footer-grid { display: grid; grid-template-columns: 1fr .7fr 1fr; gap: 28px; padding: 52px 0 44px; }
.footer-brand img { width: 147px; height: auto; }
.footer-brand p { margin-top: 13px; font-size: .82rem; }
.footer-grid h2 { margin: 7px 0 14px; color: white; font-size: .91rem; }
.footer-grid a { display: block; width: fit-content; margin-top: 8px; font-size: .88rem; overflow-wrap: anywhere; }
.footer-grid a:hover, .footer-rail a:hover { text-decoration: underline; text-underline-offset: 3px; }
.footer-grid address { font-size: .88rem; font-style: normal; line-height: 1.55; }
.footer-rail { display: flex; justify-content: space-between; align-items: center; gap: 14px; min-height: 58px; border-top: 1px solid #ced9ff33; color: #c1cce4; font-size: .75rem; }
.footer-rail a { white-space: nowrap; }
.footer-rail .icon { width: 14px; height: 14px; }

.flight-menu { inset: 0; padding: 0; margin: auto; width: min(920px, calc(100% - 40px)); max-width: none; max-height: calc(100dvh - 32px); color: white; background: var(--navy); border: 1px solid #7588c1; border-radius: 7px; box-shadow: 0 28px 110px #030714b3; }
.flight-menu::backdrop { background: #071020bc; backdrop-filter: blur(6px); }
body:has(.flight-menu[open]) { overflow: hidden; }
.flight-menu[open] { animation: menu-arrive .36s cubic-bezier(.17,.82,.26,1) both; }
.menu-inner { position: relative; isolation: isolate; padding: clamp(22px,5vw,58px); overflow: hidden; }
.menu-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; margin-bottom: 26px; }
.menu-top h2 { font-size: clamp(2.2rem,6vw,4.2rem); letter-spacing: -.06em; line-height: 1.02; margin-top: 8px; }
.menu-close { display: grid; place-items: center; width: 43px; height: 43px; flex: 0 0 43px; border: 1px solid #a0aeda99; background: #16274c; color: white; border-radius: 50%; }
.menu-close:hover { background: var(--blue); }
.menu-links { width: min(100%, 480px); }
.menu-links a { display: grid; grid-template-columns: 29px 1fr auto; gap: 10px; align-items: center; min-height: 52px; border-top: 1px solid #8395cb69; font-size: clamp(1.13rem,2.8vw,1.72rem); font-weight: 650; letter-spacing: -.035em; transition: color .2s, padding .2s; }
.menu-links a:last-child { border-bottom: 1px solid #8395cb69; }
.menu-links a > span { color: #a9b9e7; font: 700 .72rem var(--mono); }
.menu-links a > .icon { color: #c2d1ff; margin-right: 7px; }
.menu-links a:hover { color: #e1e8ff; padding-left: 6px; }
.menu-visual { position: absolute; z-index: -1; top: 0; bottom: 0; right: 0; width: 56%; background: radial-gradient(ellipse at 60% 53%, #4055a26a, transparent 67%); pointer-events: none; }
.menu-circles { position: absolute; top: 52%; left: 61%; width: 340px; aspect-ratio: 1; transform: translate(-50%,-50%); border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 47px, #9daee32d 48px 49px); }
.menu-trail { position: absolute; height: 1px; width: 64%; top: 62%; left: 24%; background: linear-gradient(90deg, transparent, var(--red)); transform: rotate(-34deg); }
.menu-visual img { position: absolute; width: 32%; height: auto; top: 34%; left: 52%; opacity: .66; transform: rotate(54deg); }
.flight-menu[open] .menu-visual img { animation: menu-flight .7s cubic-bezier(.17,.82,.26,1) both; }
.menu-visual > span { position: absolute; bottom: 25px; right: 28px; color: #b2c1ec; font: 700 .69rem var(--mono); letter-spacing: .09em; }
@keyframes menu-arrive { from { opacity: 0; transform: translateY(14px) scale(.98); } }
@keyframes menu-flight { from { opacity: 0; transform: translate(-105px,70px) rotate(71deg) scale(.72); } }

.intro { --lockup-width: min(246px, 58vw); position: fixed; z-index: 20; inset: 0; display: grid; place-items: center; overflow: hidden; isolation: isolate; background: var(--navy); visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .24s, visibility .24s; }
.intro-pending .intro { visibility: visible; opacity: 1; pointer-events: auto; }
.intro-pending body { overflow: hidden; }
.intro-grid { position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at center,#4055a252,transparent 60%), repeating-linear-gradient(0deg, #a6b6f112 0 1px,transparent 1px 56px), repeating-linear-gradient(90deg,#a6b6f112 0 1px,transparent 1px 56px); }
.intro-track { position: absolute; z-index: -1; inset: 50% auto 0 calc(50% - var(--lockup-width) * .0013); width: 1px; background: linear-gradient(transparent, var(--red), transparent); opacity: 0; }
.intro-plane, .intro-logo { grid-area: 1/1; }
/* Match the aircraft's position and scale in the full logo's SVG viewBox. */
.intro-plane { position: relative; z-index: 1; left: calc(var(--lockup-width) * -.0013); top: calc(var(--lockup-width) * -.1452); width: calc(var(--lockup-width) * .2256); height: auto; opacity: 0; }
.intro-logo { width: var(--lockup-width); height: auto; opacity: 0; }
.intro-pending .intro-track { animation: flight-trail 1s ease-out both; }
.intro-pending .intro-plane { animation: takeoff 1.08s cubic-bezier(.24,.62,.32,1) both; }
.intro-pending .intro-logo { animation: lockup .28s .8s ease-out both; }
.intro-skip { position: absolute; bottom: 24px; right: 24px; display: inline-flex; gap: 7px; align-items: center; padding: 10px 14px; background: #1a2b53; border: 1px solid #8194cb; color: white; border-radius: 4px; font-size: .85rem; }
.intro-skip .icon { width: 15px; height: 15px; }
@keyframes takeoff {
  0% { opacity: 0; transform: translateY(62vh) scale(1.4); }
  18%, 88% { opacity: 1; }
  100% { opacity: 0; transform: translateY(0) scale(1); }
}
@keyframes flight-trail { 0%, 100% { opacity: 0; } 35% { opacity: .65; } }
@keyframes lockup { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 1050px) {
  :root { --frame: calc(100% - 72px); }
  .header-caption { display: none; }
  .cap-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cap-card { padding: 23px; }
  .cap-card h3 { font-size: 1.5rem; }
}
@media (max-width: 760px) {
  :root { --frame: calc(100% - 40px); }
  section[id], footer[id] { scroll-margin-top: 69px; }
  .header-inner { min-height: 68px; }
  .brand img { width: 137px; }
  .header-rfq { display: none; }
  .hero { min-height: 650px; }
  .hero-image { object-position: 65% 48%; }
  .hero-overlay { background: linear-gradient(90deg,#091329f2 0%,#0a1428bf 46%,#0a14283b 100%),linear-gradient(0deg,#0a1429ee,#0a142900 42%); }
  .hero-inner { padding-block: 63px 99px; }
  .hero h1 { font-size: clamp(3rem, 8.4vw, 4.45rem); }
  .section-head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .section-head > p { max-width: 490px; }
  .about { grid-template-columns: 1fr; }
  .inventory-panel { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 15px; }
  .about-photo { min-height: min(72vw,400px); }
  .about-copy { padding: 50px 20px 59px; }
  .photo-tag { left: 20px; }
  .quote-grid { grid-template-columns: minmax(0,1fr); }
  .quote-contact { margin-top: 22px; }
  .menu-visual { opacity: .48; width: 80%; }
  .menu-visual > span { display: none; }
}
@media (max-width: 460px) {
  .header-inner { gap: 7px; }
  .header-actions { gap: 6px; }
  .brand img { width: 113px; }
  .language-link { min-width: 36px; }
  .menu-toggle { padding-inline: 8px; gap: 5px; }
  .menu-toggle img { width: 21px; }
  .hero { min-height: max(640px, calc(100svh - 68px)); }
  .hero-image { object-position: 71% center; }
  .hero-overlay { background: linear-gradient(90deg,#091329e8,#0a142879 100%),linear-gradient(0deg,#0a1429ec,transparent 45%); }
  .hero h1 { font-size: clamp(2.7rem, 10.3vw, 3.55rem); }
  .quick-control { display: grid; padding: 5px; }
  .quick-control input { min-height: 43px; }
  .quick-control .button { width: 100%; }
  .hero-rail { font-size: .61rem; letter-spacing: .05em; }
  .cap-grid { grid-template-columns: 1fr; }
  .service-details { grid-template-columns: 1fr; }
  .cap-card { padding: 20px; }
  .cap-top { margin-bottom: 16px; }
  .cap-card p { margin-bottom: 15px; }
  .part-line { grid-template-columns: minmax(0,.68fr) minmax(0,1fr); }
  .part-line label:first-child { grid-column: 1/-1; }
  .part-line-extra { grid-template-columns: minmax(0,.68fr) minmax(0,1fr) 31px; }
  .form-fields { grid-template-columns: 1fr; }
  .form-submit { align-items: flex-start; flex-direction: column; }
  .inventory-actions .button { white-space: normal; }
  .footer-grid { grid-template-columns: 1fr; gap: 23px; }
}
@media (max-width: 360px) {
  .brand img { width: 99px; }
  .menu-toggle { font-size: .8rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0ms !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .intro { display: none; }
}
