@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap');

:root {
  --background: oklch(0.975 0.006 205);
  --foreground: oklch(0.19 0.022 224);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.19 0.022 224);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.19 0.022 224);
  --primary: oklch(0.52 0.105 195);
  --primary-foreground: oklch(0.99 0 0);
  --secondary: oklch(0.92 0.014 205);
  --secondary-foreground: oklch(0.24 0.025 220);
  --muted: oklch(0.94 0.01 210);
  --muted-foreground: oklch(0.47 0.02 220);
  --accent: oklch(0.61 0.12 192);
  --accent-foreground: oklch(0.99 0 0);
  --destructive: oklch(0.58 0.22 28);
  --destructive-foreground: oklch(0.99 0 0);
  --border: oklch(0.87 0.012 210);
  --input: oklch(0.87 0.012 210);
  --ring: oklch(0.52 0.105 195);
  --chart-1: oklch(0.52 0.105 195);
  --chart-2: oklch(0.36 0.055 222);
  --chart-3: oklch(0.68 0.06 190);
  --chart-4: oklch(0.76 0.035 210);
  --chart-5: oklch(0.48 0.06 205);
  --sidebar: oklch(0.22 0.025 222);
  --sidebar-foreground: oklch(0.97 0.006 205);
  --sidebar-primary: oklch(0.58 0.12 195);
  --sidebar-primary-foreground: oklch(0.99 0 0);
  --sidebar-accent: oklch(0.29 0.035 220);
  --sidebar-accent-foreground: oklch(0.99 0 0);
  --sidebar-border: oklch(0.36 0.025 220);
  --sidebar-ring: oklch(0.58 0.12 195);
  --radius: .3rem;
  --font-sans: "Manrope", system-ui, -apple-system, sans-serif;
  --font-display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --ink: #12252d;
  --deep: #0a1b22;
  --teal: #087f8d;
  --teal-bright: #10a0ad;
  --steel: #dce5e6;
  --mist: #f1f5f4;
  --paper: #fbfcfb;
}

* { box-sizing: border-box; border-color: var(--border); }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-sans); line-height: 1.6; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; display: block; }
.shell { width: min(1220px, calc(100% - 48px)); margin-inline: auto; }

.topbar { background: var(--deep); color: #c7d4d6; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.topbar-inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; }
.topbar-inner > div { display: flex; gap: 28px; }
.topbar a { display: inline-flex; align-items: center; gap: 7px; transition: color .2s; }
.topbar svg { width: 14px; height: 14px; }
.topbar a:hover { color: white; }
.site-header { background: rgba(251,252,251,.96); border-bottom: 1px solid #d7e0e1; position: sticky; top: 0; z-index: 50; backdrop-filter: blur(12px); }
.header-inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; }
.logo-link { display:inline-flex; align-items:center; }
.header-logo { width: min(250px, 52vw); height: auto; display:block; }
.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark { width: 58px; height: 38px; background: var(--teal); color: #fff; display: grid; place-items: center; font-family: var(--font-display); font-weight: 700; letter-spacing: -.02em; transform: skew(-9deg); }
.brand > div:last-child { display: flex; flex-direction: column; line-height: 1.05; }
.brand strong { font-family: var(--font-display); font-size: 20px; letter-spacing: .04em; }
.brand span { font-size: 8px; letter-spacing: .18em; margin-top: 3px; color: #63757b; }
.desktop-nav { display: flex; align-items: center; gap: 26px; }
.desktop-nav > a:not(.nav-quote) { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; position: relative; padding: 32px 0; }
.desktop-nav > a:not(.nav-quote)::after { content:""; position:absolute; left:0; right:100%; bottom:22px; height:2px; background:var(--teal); transition:right .25s; }
.desktop-nav > a:hover::after, .desktop-nav > a.active::after { right:0; }
.nav-quote { background: var(--teal); color: white; display: flex; align-items: center; gap: 12px; padding: 14px 18px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; transition: background .2s, transform .2s; }
.nav-quote:hover { background: #096e79; transform: translateY(-2px); }
.menu-button { display: none; border: 0; background: transparent; padding: 10px; color: var(--ink); }
.mobile-nav { display: none; }
.mobile-nav[hidden], .menu-button [hidden] { display: none !important; }

.hero { min-height: 690px; position: relative; display: flex; align-items: center; overflow: hidden; color: white; background: var(--deep); }
.hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-shade { position:absolute; inset:0; background: linear-gradient(90deg, rgba(5,22,28,.97) 0%, rgba(5,22,28,.87) 35%, rgba(5,22,28,.2) 72%, rgba(5,22,28,.08)); }
.hero-inner { position: relative; z-index: 2; padding: 80px 0 110px; }
.eyebrow { display: flex; align-items: center; gap: 12px; color: var(--teal-bright); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 22px; }
.eyebrow > span { width: 34px; height: 1px; background: currentColor; }
.hero h1, .page-hero h1 { font-family: var(--font-display); text-transform: uppercase; letter-spacing: -.025em; line-height: .95; margin: 0; }
.hero h1 { font-size: clamp(64px, 7.3vw, 105px); max-width: 850px; }
.hero h1 em { color: #a9c7ca; font-style: normal; font-weight: 500; }
.hero p { max-width: 665px; color: #c9d7d9; font-size: 18px; line-height: 1.7; margin: 30px 0 36px; }
.button-row { display: flex; gap: 14px; flex-wrap: wrap; }
.button { min-height: 50px; padding: 0 21px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid transparent; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; transition: transform .2s, background .2s, border-color .2s, color .2s; }
.button:hover { transform: translateY(-2px); }
.button.primary { background: var(--teal); color: white; }
.button.primary:hover { background: #096e79; }
.button.ghost { border-color: rgba(255,255,255,.35); color: white; }
.button.ghost:hover { border-color: white; background: rgba(255,255,255,.08); }
.button.light { background: white; color: var(--ink); }
.button.light:hover { background: #dff0f0; }
.hero-index { position:absolute; z-index:2; right: max(24px, calc((100vw - 1220px)/2)); bottom: 40px; font-family:var(--font-display); font-size:14px; letter-spacing:.12em; color:#b5c7c9; }
.hero-index span { color: var(--teal-bright); margin: 0 8px; }

.trust-strip { background: var(--teal); color: white; }
.trust-grid { display:grid; grid-template-columns: repeat(4,1fr); }
.trust-grid > div { padding: 25px 28px; border-left: 1px solid rgba(255,255,255,.22); display:flex; flex-direction:column; }
.trust-grid > div:last-child { border-right: 1px solid rgba(255,255,255,.22); }
.trust-grid strong { font-family:var(--font-display); font-size:25px; letter-spacing:.04em; }
.trust-grid span { font-size:10px; text-transform:uppercase; letter-spacing:.11em; opacity:.8; }
.section { padding: 110px 0; }
.section.pale { background: var(--mist); }
.section.dark, .dark { background: var(--deep); color:white; }
.section-head.split { display:grid; grid-template-columns: 1.45fr .65fr; gap: 80px; align-items:end; margin-bottom: 58px; }
h2 { font-family:var(--font-display); text-transform:uppercase; letter-spacing:-.01em; line-height:1.05; }
.section-head h2, .intro-grid h2, .feature-copy h2, .quality-callout h2, .cta-inner h2, .material-layout h2, .company-story h2 { font-size:clamp(42px,5vw,68px); margin:0; }
.section-head p { margin:0; color:#5b6e73; line-height:1.8; }
.dark .section-head p { color:#a9b9bc; }
.capability-list { border-top: 1px solid #cbd6d7; }
.capability-row { display:grid; grid-template-columns:70px .7fr 1.35fr 36px; gap:28px; align-items:center; padding:25px 12px; border-bottom:1px solid #cbd6d7; transition:background .2s, padding .2s; }
.capability-row:hover { background:white; padding-inline:24px; }
.capability-row > span { font-family:var(--font-display); color:var(--teal); }
.capability-row h3 { font-family:var(--font-display); text-transform:uppercase; font-size:28px; margin:0; }
.capability-row p { margin:0; font-size:13px; color:#5d6f73; }
.capability-row svg { color:var(--teal); }
.inline-link { display:flex; justify-content:flex-end; margin-top:28px; }
.inline-link a, .text-link { display:inline-flex; align-items:center; gap:10px; font-size:12px; text-transform:uppercase; letter-spacing:.08em; font-weight:700; color:var(--teal); }
.dark-feature { background:#10272f; color:white; padding:110px 0; }
.dark-feature-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:90px; align-items:center; }
.feature-image { position:relative; }
.feature-image img { width:100%; aspect-ratio:4/3; object-fit:cover; filter:saturate(.8) contrast(1.05); }
.feature-image::before { content:""; position:absolute; left:-16px; top:-16px; width:32%; height:45%; border-left:2px solid var(--teal-bright); border-top:2px solid var(--teal-bright); z-index:1; }
.feature-image > span { position:absolute; bottom:0; left:0; padding:12px 18px; background:var(--teal); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.feature-copy h2 { margin:0 0 24px; }
.feature-copy > p { color:#afc0c3; font-size:16px; line-height:1.8; }
.feature-copy ul { list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; margin:30px 0; }
.feature-copy li { display:flex; gap:10px; align-items:center; font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
.feature-copy li svg { color:var(--teal-bright); width:17px; }
.text-link svg { width:18px; }
.proof-grid { display:grid; grid-template-columns:1.4fr .6fr; gap:80px; }
.proof-main > h2 { font-size:clamp(42px,5vw,68px); margin:0 0 48px; max-width:850px; }
.proof-photo { display:grid; grid-template-columns:1.1fr .9fr; background:white; border:1px solid #d6e0e1; }
.proof-photo img { width:100%; height:330px; object-fit:cover; }
.proof-photo > div { padding:38px; display:flex; flex-direction:column; justify-content:center; }
.proof-photo span, .index-label { color:var(--teal); font-size:10px; text-transform:uppercase; letter-spacing:.13em; font-weight:700; }
.proof-photo strong { font-family:var(--font-display); text-transform:uppercase; font-size:33px; line-height:1.05; margin:14px 0 26px; }
.proof-photo a { display:flex; align-items:center; gap:8px; color:var(--teal); font-size:11px; text-transform:uppercase; letter-spacing:.07em; font-weight:700; }
.industry-panel { border-top:3px solid var(--teal); display:flex; flex-direction:column; }
.industry-panel .index-label { padding:20px 0; }
.industry-panel a { border-top:1px solid #ced8d9; padding:20px 5px; display:flex; justify-content:space-between; font-family:var(--font-display); font-size:24px; text-transform:uppercase; transition:color .2s, padding .2s; }
.industry-panel a:hover { color:var(--teal); padding-left:12px; }
.quality-callout { background:#e1eaeb; padding:80px 0; }
.quality-callout-inner { display:grid; grid-template-columns:90px 1fr auto; gap:42px; align-items:center; }
.quality-icon { width:90px; height:90px; background:var(--teal); color:white; display:grid; place-items:center; }
.quality-icon svg { width:42px; height:42px; }
.quality-callout h2 { font-size:50px; margin:0; }
.quality-callout p { max-width:800px; color:#50636a; }
.cta-band { background:var(--teal); color:white; padding:85px 0; }
.cta-inner { display:grid; grid-template-columns:1.4fr .6fr; align-items:center; gap:80px; }
.cta-inner .eyebrow { color:#bfecee; }
.cta-inner h2 { margin:0; font-size:66px; }
.cta-inner > div:last-child p { opacity:.85; margin:0 0 24px; }

.page-hero { min-height:410px; background:var(--deep); color:white; display:flex; align-items:end; position:relative; overflow:hidden; }
.page-hero.with-image { min-height:520px; }
.page-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.page-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,20,26,.96),rgba(4,20,26,.55) 62%,rgba(4,20,26,.25)); }
.page-hero-inner { position:relative; z-index:2; padding:90px 0; }
.page-hero h1 { font-size:clamp(58px,7vw,98px); max-width:920px; }
.page-hero p { max-width:750px; font-size:18px; color:#bdcccf; margin:28px 0 0; }
.intro-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; align-items:start; }
.intro-grid h2 { margin:0; }
.intro-grid > p, .intro-grid > div > p { font-size:18px; color:#53666b; line-height:1.8; margin:0; }
.dark .intro-grid p { color:#adbdc0; }
.capability-details { background:white; }
.cap-detail { display:grid; grid-template-columns:90px 1fr .8fr; gap:50px; padding:70px 0; border-top:1px solid #d3ddde; align-items:center; }
.cap-detail:last-child { border-bottom:1px solid #d3ddde; }
.cap-num { font-family:var(--font-display); font-size:20px; color:var(--teal); align-self:start; }
.cap-detail h2 { font-size:48px; margin:0 0 18px; }
.cap-detail p { color:#566a6f; line-height:1.8; }
.fact-pills { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.fact-pills span { background:var(--mist); padding:8px 11px; font-size:9px; text-transform:uppercase; letter-spacing:.08em; color:#5b6c71; }
.cap-visual img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.note-card { background:white; padding:36px; display:grid; grid-template-columns:60px 1fr auto; gap:25px; align-items:center; border-left:4px solid var(--teal); }
.note-card > svg { width:40px; height:40px; color:var(--teal); }
.note-card h3 { font-family:var(--font-display); text-transform:uppercase; font-size:28px; margin:0; }
.note-card p { margin:5px 0 0; color:#5c6e72; }
.material-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.material-layout h2 { margin:0 0 25px; }
.large-copy { font-size:19px; line-height:1.85; color:#52666b; }
.material-layout .button { margin-top:25px; }
.material-facts > div { border-top:1px solid #cad6d7; padding:28px 0; display:grid; grid-template-columns:50px 140px 1fr; gap:22px; }
.material-facts span { color:var(--teal); font-family:var(--font-display); }
.material-facts h3 { margin:0; font-family:var(--font-display); text-transform:uppercase; font-size:24px; }
.material-facts p { margin:0; color:#5a6d71; font-size:13px; }
.verify-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.verify-grid > div { border:1px solid #30434a; padding:38px; }
.verify-grid svg { color:var(--teal-bright); width:32px; height:32px; }
.verify-grid h3 { font-family:var(--font-display); font-size:27px; text-transform:uppercase; }
.verify-grid p { color:#a9b9bc; }
.industry-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:#ccd8d9; border:1px solid #ccd8d9; }
.industry-card { background:var(--paper); padding:48px; min-height:300px; transition:background .2s, color .2s; }
.industry-card > span { color:var(--teal); font-family:var(--font-display); }
.industry-card h2 { font-size:46px; margin:28px 0 14px; }
.industry-card p { color:#5c6e73; max-width:510px; }
.industry-card a { display:inline-flex; gap:8px; align-items:center; color:var(--teal); text-transform:uppercase; letter-spacing:.06em; font-size:11px; font-weight:700; margin-top:24px; }
.industry-card:hover { background:#eef4f3; }
.dark-link { margin-top:25px; }
.quality-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:50px; }
.cert-card { border:1px solid #cdd8d9; padding:45px; display:grid; grid-template-columns:190px 1fr; gap:40px; align-items:center; }
.cert-card img { max-height:190px; max-width:190px; object-fit:contain; }
.cert-card span { font-size:10px; color:var(--teal); text-transform:uppercase; letter-spacing:.12em; font-weight:700; }
.cert-card h2 { font-size:42px; margin:12px 0; }
.cert-card p { color:#566a6f; }
.quality-links { background:var(--deep); color:white; padding:36px; }
.quality-links h3 { font-family:var(--font-display); text-transform:uppercase; font-size:26px; margin-top:0; }
.quality-links a { display:grid; grid-template-columns:26px 1fr 20px; gap:12px; align-items:center; padding:20px 0; border-top:1px solid #32474e; font-size:12px; }
.quality-links a:hover { color:#70d5da; }
.quality-process { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.quality-process h2 { font-size:60px; margin:0 0 25px; }
.quality-process > div p { color:#afbec1; }
.quality-process ol { list-style:none; padding:0; margin:0; }
.quality-process li { display:grid; grid-template-columns:55px 1fr; gap:22px; padding:24px 0; border-top:1px solid #31444b; }
.quality-process li > span { color:var(--teal-bright); font-family:var(--font-display); }
.quality-process h3 { margin:0; font-family:var(--font-display); text-transform:uppercase; font-size:25px; }
.quality-process li p { color:#9fafb3; margin:5px 0 0; font-size:13px; }
.equipment-list { display:grid; gap:55px; }
.equipment-list article { display:grid; grid-template-columns:.4fr 1fr; gap:70px; border-top:3px solid var(--ink); padding-top:28px; }
.equipment-head h2 { font-size:48px; margin:0; }
.equipment-head span { color:var(--teal); font-size:11px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
.equipment-list ul { list-style:none; padding:0; margin:0; }
.equipment-list li { display:flex; align-items:center; gap:10px; border-bottom:1px solid #d3dddd; padding:16px 0; font-size:14px; }
.equipment-list li svg { width:15px; color:var(--teal); }
.facility-split { display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:center; }
.facility-split > img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.facility-split h2 { font-size:58px; margin:0 0 22px; }
.warning-note { border-left:3px solid var(--teal); padding-left:20px; margin-top:30px; }
.warning-note strong { text-transform:uppercase; letter-spacing:.08em; font-size:10px; color:var(--teal); }
.warning-note p { font-size:12px; color:#607277; }
.work-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:55px 35px; }
.work-grid figure { margin:0; }
.work-grid figure > div { position:relative; overflow:hidden; }
.work-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .45s; }
.work-grid figure:hover img { transform:scale(1.025); }
.work-grid figure > div span { position:absolute; left:0; bottom:0; background:var(--teal); color:white; padding:9px 13px; font-family:var(--font-display); }
.work-grid h2 { font-size:30px; margin:18px 0 5px; }
.work-grid p { color:#607176; font-size:13px; margin:0; }
.company-story { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.company-story h2 { margin:0 0 25px; }
.company-photo { position:relative; }
.company-photo img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.company-photo span { position:absolute; right:0; bottom:0; background:var(--deep); color:white; padding:13px 18px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.value-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #cbd7d8; border-left:1px solid #cbd7d8; }
.value-grid > div { padding:34px; border-right:1px solid #cbd7d8; border-bottom:1px solid #cbd7d8; }
.value-grid span { color:var(--teal); font-family:var(--font-display); }
.value-grid h3 { font-family:var(--font-display); text-transform:uppercase; font-size:28px; margin:22px 0 10px; }
.value-grid p { color:#5b6d72; font-size:13px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; }
.contact-card { border:1px solid #ced9da; padding:38px; min-height:330px; display:flex; flex-direction:column; align-items:flex-start; }
.contact-card > span { color:var(--teal); font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; margin-bottom:32px; }
.contact-card > a:not(.button) { display:flex; align-items:center; gap:10px; margin-bottom:15px; font-family:var(--font-display); font-size:25px; }
.contact-card > a:not(.button):hover { color:var(--teal); }
.contact-card h2 { font-size:34px; margin:0 0 12px; }
.contact-card p { color:#617277; }
.accent-card { background:var(--teal); color:white; border-color:var(--teal); }
.accent-card > span, .accent-card p { color:white; opacity:.85; }
.accent-card .button { margin-top:auto; }
.location-band { background:#e3ebeb; padding:70px 0; }
.location-band .shell { display:flex; align-items:center; gap:25px; }
.location-band svg { color:var(--teal); width:45px; height:45px; }
.location-band .shell > div { display:flex; flex-direction:column; }
.location-band span { color:var(--teal); font-size:10px; letter-spacing:.12em; font-weight:700; }
.location-band strong { font-family:var(--font-display); text-transform:uppercase; font-size:28px; }
.location-band small { color:#697b7f; }
.quote-section { background:var(--mist); }
.quote-layout { display:grid; grid-template-columns:.36fr .64fr; gap:50px; align-items:start; }
.quote-aside { background:var(--deep); color:white; padding:38px; position:sticky; top:110px; }
.quote-aside h2 { font-size:36px; margin-top:0; }
.quote-aside ul { list-style:none; padding:0; margin:30px 0; }
.quote-aside li { display:flex; gap:10px; padding:11px 0; border-top:1px solid #30434a; font-size:12px; }
.quote-aside li svg { width:16px; color:var(--teal-bright); }
.direct-contact { background:#142f38; padding:22px; display:flex; flex-direction:column; }
.direct-contact span { font-size:9px; text-transform:uppercase; letter-spacing:.1em; color:#94aaae; margin-bottom:8px; }
.direct-contact a { color:white; font-size:13px; margin:3px 0; }
.rfq-form { background:white; padding:48px; border:1px solid #d5dfe0; }
.form-intro { margin:0 0 28px; padding-top:45px; border-top:1px solid #d5dfe0; }
.form-intro:first-child { padding-top:0; border-top:0; }
.form-intro span { color:var(--teal); font-size:10px; letter-spacing:.12em; font-weight:700; }
.form-intro h2 { font-size:34px; margin:8px 0 0; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-bottom:44px; }
.rfq-form label { display:flex; flex-direction:column; gap:8px; font-size:11px; text-transform:uppercase; letter-spacing:.05em; font-weight:700; color:#4f6267; }
.rfq-form input, .rfq-form select, .rfq-form textarea { border:1px solid #c9d5d6; background:#fbfcfc; padding:13px 14px; color:var(--ink); outline:none; transition:border .2s, box-shadow .2s; text-transform:none; letter-spacing:normal; font-weight:400; }
.rfq-form input:focus, .rfq-form select:focus, .rfq-form textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(8,127,141,.12); }
.full { grid-column:1/-1; }
.upload-demo { border:1px dashed #9fb4b7; padding:28px; display:flex; gap:18px; align-items:flex-start; margin:24px 0; background:#f6f9f8; }
.upload-demo svg { color:var(--teal); flex:0 0 auto; }
.upload-demo > div { display:flex; flex-direction:column; }
.upload-demo strong { font-size:13px; }
.upload-demo span { font-size:11px; color:#62757a; margin-top:5px; }
.upload-demo input { margin-top:14px; width:100%; }
.submit-button { border:0; }
.form-note { font-size:10px; color:#738287; }
.form-alert { border-left:4px solid var(--destructive); background:#fff5f3; color:#7f2415; padding:18px 22px; margin-bottom:30px; }
.form-alert strong { display:block; margin-bottom:8px; }
.form-alert ul { margin:0; padding-left:20px; }
.honeypot { position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.success-state { text-align:center; padding:80px 20px; display:flex; flex-direction:column; align-items:center; }
.success-state > svg { width:60px; height:60px; color:var(--teal); }
.success-state h2 { font-size:45px; margin:20px 0 5px; }
.success-state p { color:#5e7074; max-width:560px; }
.success-state .button { margin-top:20px; }
.text-button { border:0; background:transparent; color:var(--teal); text-decoration:underline; margin-top:15px; cursor:pointer; }
.not-found { min-height:70vh; display:grid; place-items:center; text-align:center; background:var(--mist); }
.not-found span { font-family:var(--font-display); font-size:120px; color:var(--teal); line-height:1; }
.not-found h1 { font-family:var(--font-display); text-transform:uppercase; font-size:50px; margin:0; }

footer { background:#08181e; color:#bccacc; padding-top:75px; }
.footer-main { display:grid; grid-template-columns:1.25fr .65fr .75fr .85fr; gap:70px; padding-bottom:60px; }
.footer-logo-link { display:inline-flex; align-items:center; margin-bottom:18px; }
.footer-logo { width:min(250px, 100%); height:auto; filter:brightness(0) invert(1); }
footer .brand-mark { background:var(--teal); }
footer .brand strong { color:white; }
footer .brand span { color:#82989d; }
.footer-brand > p { max-width:300px; font-size:13px; margin:25px 0; }
.footer-cert { display:flex; gap:12px; align-items:center; color:white; font-size:12px; margin-top:18px; }
.footer-cert svg { color:var(--teal-bright); }
.footer-cert small { color:#7f959a; font-size:8px; }
footer h3 { color:white; font-family:var(--font-display); text-transform:uppercase; letter-spacing:.05em; margin:0 0 22px; font-size:19px; }
.footer-main > div:not(.footer-brand) { display:flex; flex-direction:column; gap:11px; font-size:12px; }
.footer-main a:hover { color:white; }
.footer-main p { margin:0; }
.footer-bottom { border-top:1px solid #26393f; padding:20px 0; display:flex; justify-content:space-between; font-size:8px; letter-spacing:.06em; text-transform:uppercase; color:#6f858a; }

@media (max-width: 1060px) {
  .desktop-nav { gap:16px; }
  .desktop-nav > a:not(.nav-quote) { font-size:10px; }
  .nav-quote { padding:12px; }
  .proof-grid, .quality-grid { grid-template-columns:1fr; }
  .industry-panel { display:grid; grid-template-columns:repeat(2,1fr); }
  .industry-panel .index-label { grid-column:1/-1; }
  .industry-panel a:nth-of-type(odd) { margin-right:20px; }
  .quality-callout-inner { grid-template-columns:70px 1fr; }
  .quality-callout .button { grid-column:2; justify-self:start; }
  .contact-grid { grid-template-columns:1fr 1fr; }
  .accent-card { grid-column:1/-1; min-height:260px; }
  .value-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 880px) {
  .shell { width:min(100% - 36px, 720px); }
  .topbar { display:none; }
  .header-inner { min-height:72px; }
  .header-logo { width:min(220px, 58vw); }
  .desktop-nav { display:none; }
  .menu-button { display:block; }
  .mobile-nav { display:flex; flex-direction:column; position:absolute; left:0; right:0; top:72px; background:var(--paper); padding:18px; border-bottom:1px solid #d3dddd; box-shadow:0 20px 40px rgba(9,30,36,.12); }
  .mobile-nav > a:not(.button) { display:flex; align-items:center; justify-content:space-between; padding:14px 8px; border-bottom:1px solid #dfe7e7; font-family:var(--font-display); text-transform:uppercase; font-size:21px; }
  .mobile-nav .button { margin-top:16px; }
  .hero { min-height:650px; align-items:end; }
  .hero-shade { background:linear-gradient(0deg,rgba(5,22,28,.97),rgba(5,22,28,.68) 72%,rgba(5,22,28,.22)); }
  .hero-inner { padding:90px 0 85px; }
  .hero h1 { font-size:clamp(56px,13vw,78px); }
  .hero p { font-size:15px; max-width:560px; }
  .hero-index { display:none; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-grid > div { border-bottom:1px solid rgba(255,255,255,.22); }
  .section { padding:80px 0; }
  .section-head.split, .dark-feature-grid, .intro-grid, .material-layout, .quality-process, .facility-split, .company-story, .cta-inner { grid-template-columns:1fr; gap:45px; }
  .section-head.split { margin-bottom:40px; }
  .capability-row { grid-template-columns:50px 1fr 24px; gap:15px; }
  .capability-row p { grid-column:2; }
  .capability-row svg { grid-row:1/3; grid-column:3; }
  .proof-photo { grid-template-columns:1fr; }
  .proof-photo img { height:auto; aspect-ratio:4/3; }
  .quality-callout-inner { grid-template-columns:1fr; }
  .quality-icon { width:70px; height:70px; }
  .quality-callout .button { grid-column:1; }
  .page-hero, .page-hero.with-image { min-height:440px; }
  .page-hero h1 { font-size:clamp(54px,11vw,82px); }
  .page-hero-inner { padding:70px 0; }
  .cap-detail { grid-template-columns:55px 1fr; gap:25px; }
  .cap-visual { grid-column:2; }
  .industry-grid, .work-grid { grid-template-columns:1fr; }
  .cert-card { grid-template-columns:140px 1fr; }
  .equipment-list article { grid-template-columns:1fr; gap:22px; }
  .quote-layout { grid-template-columns:1fr; }
  .quote-aside { position:static; }
  .footer-main { grid-template-columns:1fr 1fr; gap:45px; }
  .footer-brand { grid-column:1/-1; }
}

@media (max-width: 560px) {
  .shell { width:calc(100% - 28px); }
  .brand-mark { width:51px; height:34px; }
  .header-logo { width:min(190px, 62vw); }
  .brand strong { font-size:17px; }
  .hero { min-height:610px; }
  .hero h1 { font-size:53px; }
  .hero p { margin:22px 0 28px; }
  .button-row .button { width:100%; }
  .trust-grid > div { padding:19px 14px; }
  .trust-grid strong { font-size:20px; }
  .trust-grid span { font-size:8px; }
  .section { padding:62px 0; }
  .section-head h2, .intro-grid h2, .feature-copy h2, .quality-callout h2, .material-layout h2, .company-story h2 { font-size:39px; }
  .capability-row { padding:20px 0; }
  .capability-row h3 { font-size:24px; }
  .capability-row p { font-size:11px; }
  .feature-copy ul { grid-template-columns:1fr; }
  .proof-main > h2, .cta-inner h2 { font-size:42px; }
  .proof-photo > div { padding:26px; }
  .industry-panel { grid-template-columns:1fr; }
  .industry-panel .index-label { grid-column:auto; }
  .industry-panel a:nth-of-type(odd) { margin-right:0; }
  .quality-callout { padding:60px 0; }
  .cta-band { padding:65px 0; }
  .page-hero, .page-hero.with-image { min-height:400px; }
  .page-hero h1 { font-size:48px; }
  .page-hero p { font-size:15px; }
  .cap-detail { grid-template-columns:1fr; }
  .cap-detail > * { grid-column:1; }
  .cap-detail h2 { font-size:38px; }
  .note-card { grid-template-columns:1fr; }
  .material-facts > div { grid-template-columns:35px 1fr; }
  .material-facts p { grid-column:2; }
  .verify-grid { grid-template-columns:1fr; }
  .industry-card { padding:30px; min-height:260px; }
  .industry-card h2 { font-size:38px; }
  .cert-card { grid-template-columns:1fr; padding:28px; }
  .cert-card img { max-height:130px; }
  .quality-process h2, .facility-split h2 { font-size:43px; }
  .value-grid { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; }
  .accent-card { grid-column:auto; }
  .contact-card { min-height:280px; padding:30px; }
  .location-band .shell { align-items:flex-start; }
  .location-band strong { font-size:23px; }
  .rfq-form { padding:25px 18px; }
  .form-grid { grid-template-columns:1fr; }
  .form-grid .full { grid-column:1; }
  .footer-main { grid-template-columns:1fr; }
  .footer-brand { grid-column:auto; }
  .footer-bottom { flex-direction:column; gap:8px; }
}

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