:root {
  --brand: #143f57;
  --brand-dark: #0e3144;
  --brand-deep: #092534;
  --brand-light: #78a6bb;
  --warm: #b76338;
  --ink: #15252c;
  --muted: #647078;
  --paper: #f3f6f5;
  --paper-2: #e6ecee;
  --white: #fff;
  --line: rgba(20, 63, 87, .18);
  --line-strong: rgba(20, 63, 87, .34);
  --max: 1240px;
  --sans: "Source Sans 3", "Avenir Next", "Segoe UI", sans-serif;
  --display: "Barlow Condensed", "Arial Narrow", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.62; -webkit-font-smoothing: antialiased; }
body::selection { background: var(--brand); color: white; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
.container { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.section-pad { padding: 128px 0; }
.skip-link { position: fixed; z-index: 100; left: 1rem; top: -5rem; padding: .75rem 1rem; background: white; color: var(--brand); }
.skip-link:focus { top: 1rem; }

.site-header { position: relative; z-index: 20; width: 100%; color: white; background: var(--brand); border-bottom: 1px solid rgba(255,255,255,.18); }
.nav-wrap { height: 68px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; }
.brand-logo { display: block; width: auto; object-fit: contain; }
.brand-logo-header { height: 44px; max-width: 162px; }
.desktop-nav { display: flex; align-items: center; gap: 40px; font-size: 13px; font-weight: 600; letter-spacing: .025em; }
.desktop-nav a { position: relative; opacity: .76; transition: opacity .2s; }
.desktop-nav a::after { content: ""; position: absolute; right: 0; bottom: -10px; left: 0; height: 1px; background: #fff; transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.desktop-nav a:hover { opacity: 1; }
.desktop-nav a:hover::after { transform: scaleX(1); }
.nav-actions, .language-switch { display: flex; align-items: center; }
.nav-actions { gap: 24px; }
.language-switch { gap: 7px; font-size: 12px; font-weight: 700; }
.language-switch span { opacity: .3; }
.lang-btn { min-width: 27px; padding: 6px 2px; border: 0; color: white; background: transparent; cursor: pointer; opacity: .46; }
.lang-btn.active { opacity: 1; border-bottom: 1px solid white; }

.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 58px; padding: 0 25px; border: 1px solid var(--brand); border-radius: 0; background: var(--brand); color: white; font-size: 13px; font-weight: 700; letter-spacing: .025em; cursor: pointer; transition: color .2s, background .2s, border-color .2s, transform .2s; }
.button:hover { border-color: var(--brand-dark); background: var(--brand-dark); transform: translateY(-2px); }
.button:focus-visible, a:focus-visible, .lang-btn:focus-visible { outline: 3px solid rgba(183,99,56,.38); outline-offset: 3px; }
.button-small { min-height: 44px; padding: 0 18px; font-size: 12px; }
.site-header .button { border-color: #fff; background: #fff; color: var(--brand); }
.site-header .button:hover { border-color: #eaded1; background: #eaded1; }

.hero { position: relative; min-height: 680px; padding: 62px 0 0; overflow: hidden; background: var(--paper); border-bottom: 1px solid var(--line); }
.hero::after { content: ""; position: absolute; top: 0; right: 0; width: 34%; height: 5px; background: var(--warm); pointer-events: none; }
.hero-grid { position: absolute; inset: 0; opacity: .42; background-image: linear-gradient(rgba(20,63,87,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(20,63,87,.08) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to right, transparent 2%, black 48%, black); }
.hero-layout { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; min-height: 500px; }
.hero-copy { padding: 25px 0 52px; }
.eyebrow { margin: 0 0 22px; display: flex; align-items: center; gap: 11px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.eyebrow > span:first-child:empty { width: 30px; height: 2px; background: var(--warm); }
.hero h1, .section-head h2, .products-copy h2, .quote-copy h2, .contact-top h2, .intro-copy h2 { margin: 0; font-family: var(--display); font-weight: 600; letter-spacing: -.025em; line-height: .92; }
.hero h1 { max-width: 700px; color: var(--ink); font-size: clamp(64px, 7.2vw, 104px); }
h1 em, h2 em { color: var(--brand); font-family: inherit; font-style: normal; font-weight: 600; }
.hero-lead { max-width: 590px; margin: 30px 0 36px; color: #53636b; font-size: 18px; line-height: 1.7; }
.hero-actions { display: flex; align-items: center; gap: 32px; }
.hero-actions .button { box-shadow: 7px 7px 0 rgba(183,99,56,.18); }
.text-link { display: inline-flex; gap: 8px; align-items: center; padding-bottom: 3px; border-bottom: 1px solid currentColor; color: var(--brand); font-size: 13px; font-weight: 700; }
.text-link::after { content: "↓"; }
.text-link.dark::after { content: "↗"; }
.text-link.dark { margin-top: 32px; }

.hero-visual { position: relative; height: 500px; margin-left: 34px; border: 1px solid var(--line-strong); background: rgba(230,236,238,.82); }
.hero-visual::before { content: ""; position: absolute; z-index: 1; top: -1px; right: -1px; width: 74px; height: 8px; background: var(--brand); }
.hero-visual svg { width: 100%; height: 100%; }
.visual-label, .visual-spec { position: absolute; z-index: 2; left: 24px; right: 24px; display: flex; justify-content: space-between; color: #62727a; font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.visual-label { top: 18px; }
.visual-label span:first-child { color: var(--warm); }
.visual-spec { bottom: 18px; padding-top: 12px; border-top: 1px solid var(--line); }
.dimension-lines { opacity: .42; }
.hero-strip { position: relative; z-index: 2; height: 76px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); color: #617179; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.hero-strip i { width: 4px; height: 4px; background: var(--warm); }

.industrial-film { position: relative; padding: 26px 0 34px; overflow: hidden; background: var(--paper); }
.industrial-film-media { position: relative; height: clamp(280px, 26vw, 380px); overflow: hidden; background: var(--brand-deep); clip-path: polygon(0 9%, 100% 0, 100% 84%, 0 100%); isolation: isolate; }
.industrial-film-media::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(9,37,52,.72) 0%, rgba(20,63,87,.4) 30%, rgba(9,37,52,.08) 65%, rgba(9,37,52,.28) 100%); pointer-events: none; }
.industrial-film-video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 52%; }
.industrial-film-frame { position: absolute; z-index: 2; inset: 0; width: min(calc(100% - 48px), var(--max)); margin-inline: auto; border-left: 1px solid rgba(255,255,255,.38); border-right: 1px solid rgba(255,255,255,.38); pointer-events: none; }
.industrial-film-frame::before, .industrial-film-frame::after { content: ""; position: absolute; left: 0; width: 76px; height: 2px; background: var(--warm); }
.industrial-film-frame::before { top: 40px; }
.industrial-film-frame::after { bottom: 44px; }

.section-number { color: var(--brand); font-size: 10px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.intro { position: relative; background: #dfe9ed; border-top: 1px solid rgba(20,63,87,.2); border-bottom: 1px solid rgba(20,63,87,.2); }
.intro::before { content: ""; position: absolute; top: 0; left: 0; width: 31%; height: 6px; background: var(--warm); }
.intro-grid { display: grid; grid-template-columns: .65fr 2fr .8fr; gap: 58px; align-items: start; }
.intro-copy h2 { max-width: 790px; color: var(--brand); font-size: clamp(54px, 5.8vw, 78px); }
.intro-copy p { max-width: 710px; margin: 34px 0 0; color: #56666e; font-size: 18px; }
.intro-note { margin-top: 8px; padding: 26px; border: 1px solid var(--line-strong); background: rgba(255,255,255,.48); }
.note-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 42px; border: 1px solid var(--warm); color: var(--warm); font-family: var(--display); font-size: 18px; font-weight: 700; }
.intro-note p { margin: 0; color: #5d6c73; font-size: 13px; }
.intro-photo { position: relative; grid-column: 2 / -1; height: clamp(280px, 30vw, 410px); margin: 28px 0 0; overflow: hidden; border: 1px solid var(--line-strong); clip-path: polygon(0 0, 100% 7%, 100% 100%, 0 93%); }
.intro-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,63,87,.28), transparent 45%, rgba(183,99,56,.12)); pointer-events: none; }
.intro-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 54%; }

.manufacturing { background: #e6ecee; color: var(--ink); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.manufacturing .section-number, .manufacturing .eyebrow { color: var(--brand); }
.section-head { display: grid; grid-template-columns: .65fr 2.8fr; gap: 58px; margin-bottom: 68px; }
.section-head > div:first-child { display: flex; align-items: flex-start; gap: 30px; }
.section-head h2 { color: var(--brand); font-size: clamp(62px, 7vw, 94px); }
.section-head p:not(.eyebrow) { max-width: 650px; margin: 25px 0 0; color: #58686f; font-size: 17px; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line-strong); border-left: 1px solid var(--line-strong); }
.service-card { position: relative; min-height: 240px; padding: 25px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; border-right: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); background: #dfe7e9; transition: background .2s, transform .2s; isolation: isolate; }
.service-card::before { content: ""; position: absolute; z-index: -2; inset: 0; background-image: url("assets/service-horizontal.jpg"); background-size: cover; background-position: center; filter: grayscale(.18) contrast(1.08) hue-rotate(8deg); opacity: .68; transition: opacity .25s, transform .35s; }
.service-card::after { content: ""; position: absolute; z-index: -1; inset: 0; background: rgba(223,231,233,.64); }
.service-card:nth-child(2)::before { background-image: url("assets/service-turning.jpg"); background-position: 45% center; }
.service-card:nth-child(3)::before { background-image: url("assets/service-milling.jpg"); background-position: 55% center; }
.service-card:nth-child(4)::before { background-image: url("assets/service-drilling.jpg"); background-position: center; }
.service-card:nth-child(5)::before { background-image: url("assets/service-welding.jpg"); background-position: 62% center; }
.service-card:nth-child(6)::before { background-image: url("assets/service-repairs.jpg"); background-position: center; }
.service-card:nth-child(7)::before { background-image: url("assets/service-plasma.jpg"); background-position: 54% center; }
.service-card:nth-child(8)::before { background-image: url("assets/service-heavy-repair.jpg"); background-position: 58% center; }
.service-card:hover { z-index: 1; background: white; transform: translateY(-3px); }
.service-card:hover::before { opacity: .82; transform: scale(1.025); }
.service-card.featured { grid-column: span 2; grid-row: span 2; min-height: 480px; background: var(--brand); color: white; }
.service-card.featured::before { background-size: cover; background-position: center; opacity: .76; }
.service-card.featured::after { background: rgba(20,63,87,.64); }
.service-card.wide { grid-column: span 2; flex-direction: row; align-items: flex-end; justify-content: flex-start; gap: 28px; }
.card-index { position: absolute; top: 22px; left: 24px; color: #7d8a90; font-size: 10px; letter-spacing: .12em; }
.featured .card-index { color: #a8c0cb; }
.service-card h3 { max-width: 340px; margin: 0; font-family: var(--display); font-size: 26px; font-weight: 600; line-height: 1.05; }
.service-card.featured h3 { font-size: 40px; }
.service-card p { max-width: 380px; margin: 12px 0 0; color: #68767d; font-size: 13px; }
.service-card.featured p { color: #c8d7dd; }
.service-symbol { margin-bottom: auto; align-self: flex-end; color: var(--warm); font-size: 34px; font-weight: 200; }
.machine-icon { position: absolute; top: 58px; left: 50%; width: 190px; height: 190px; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.28); border-radius: 50%; }
.machine-icon::before, .machine-icon::after { content: ""; position: absolute; background: rgba(255,255,255,.2); }
.machine-icon::before { width: 1px; height: 230px; top: -20px; left: 50%; }
.machine-icon::after { height: 1px; width: 230px; left: -20px; top: 50%; }
.machine-icon span { position: absolute; inset: 33px; border: 18px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(255,255,255,.55), 0 0 0 1px rgba(255,255,255,.16); }
.machine-icon i { position: absolute; inset: 72px; border-radius: 50%; background: var(--warm); }
.cad-callout { margin-top: 48px; padding: 32px 38px; display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 30px; border: 1px solid var(--brand); background: var(--brand); color: white; }
.cad-icon { width: 76px; height: 76px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.45); background: repeating-linear-gradient(45deg, rgba(255,255,255,.05) 0 2px, transparent 2px 8px); color: white; font-family: var(--display); font-size: 16px; font-weight: 700; }
.cad-callout .eyebrow { margin: 0 0 8px; color: #b8ccd5; }
.cad-callout h3 { margin: 0; font-family: var(--display); font-size: 29px; font-weight: 600; line-height: 1.1; }
.button-light { border-color: white; background: white; color: var(--brand); }
.button-light:hover { border-color: #e8ddd1; background: #e8ddd1; color: var(--brand); }

.products { background: #e7eef1; }
.products-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 120px; align-items: start; }
.products-copy { position: sticky; top: 50px; }
.products-copy h2 { margin-top: 38px; color: var(--ink); font-size: clamp(56px, 6.1vw, 82px); }
.products-copy p { max-width: 510px; margin: 30px 0 0; color: #5d6c73; }
.products-photo { position: relative; height: 245px; margin: 40px 0 0; overflow: hidden; border: 1px solid var(--line-strong); clip-path: polygon(0 0, 94% 0, 100% 14%, 100% 100%, 0 100%); }
.products-photo::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 -54px 70px rgba(20,63,87,.18); pointer-events: none; }
.products-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 62%; filter: contrast(1.03) saturate(.9); }
.product-list { border-top: 1px solid var(--line-strong); }
.product-list > div { min-height: 94px; padding: 0 14px; display: grid; grid-template-columns: 45px 1fr 42px; align-items: center; border-bottom: 1px solid var(--line-strong); transition: padding .2s, background .2s; }
.product-list > div:hover { padding-left: 23px; background: rgba(255,255,255,.58); }
.product-list span { color: #7c898f; font-size: 10px; }
.product-list strong { font-family: var(--display); font-size: 23px; font-weight: 600; }
.product-list i { color: var(--warm); font-size: 24px; font-style: normal; text-align: center; }

.quote { background: var(--brand); color: white; border-top: 8px solid var(--warm); }
.quote .section-number { color: #e8a27b; }
.quote-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 110px; align-items: start; }
.quote-copy { position: sticky; top: 50px; }
.quote-copy h2 { margin-top: 38px; color: white; font-size: clamp(56px, 6vw, 80px); }
.quote-copy h2 em { color: #e8a27b; }
.quote-copy > p { max-width: 480px; margin-top: 28px; color: #c5d4da; }
.quote-contact { margin-top: 62px; padding-top: 22px; display: flex; flex-direction: column; gap: 6px; border-top: 1px solid rgba(255,255,255,.3); }
.quote-contact span { color: #a9c0ca; font-size: 12px; }
.quote-contact a { color: white; font-family: var(--display); font-size: 30px; font-weight: 600; }
.quote-form { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 20px; padding: 42px; border: 1px solid var(--line-strong); background: white; box-shadow: 9px 9px 0 rgba(20,63,87,.07); }
.field { position: relative; display: flex; flex-direction: column; }
.field.full { grid-column: 1 / -1; }
.field label:not(.file-button) { margin-bottom: 7px; color: #53636a; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.field input, .field textarea, .field select { width: 100%; border: 1px solid #b9c3c7; border-radius: 0; background: #fcfbf8; color: var(--ink); outline: 0; transition: border-color .2s, background .2s, box-shadow .2s; }
.field input, .field select { height: 54px; padding: 0 15px; }
.field textarea { min-height: 130px; padding: 14px 15px; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--brand); background: white; box-shadow: 0 0 0 3px rgba(20,63,87,.1); }
.field select { appearance: none; -webkit-appearance: none; padding-right: 52px; cursor: pointer; background-color: #f7f4ed; background-image: linear-gradient(45deg, transparent 50%, var(--brand) 50%), linear-gradient(135deg, var(--brand) 50%, transparent 50%), linear-gradient(to left, var(--line-strong), var(--line-strong)); background-position: calc(100% - 22px) 24px, calc(100% - 16px) 24px, calc(100% - 48px) 0; background-size: 6px 6px, 6px 6px, 1px 100%; background-repeat: no-repeat; font-weight: 600; }
.field select:hover { border-color: var(--brand); background-color: white; }
.field select option { background: white; color: var(--ink); }
.file-field { padding: 22px; border: 1px dashed #93a4ab; background: #f5f2eb; }
.file-field input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.file-button { display: flex; align-items: center; gap: 12px; cursor: pointer; font-size: 13px; }
.file-button span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--warm); color: var(--warm); font-size: 20px; line-height: 1; }
.file-field p { margin: 7px 0 0 42px; color: #738087; font-size: 11px; }
.honeypot { display: none !important; }
.submit-button { grid-column: 1 / -1; width: 100%; min-height: 62px; }
.submit-button:disabled { cursor: wait; opacity: .62; transform: none; }
.form-note { grid-column: 1 / -1; margin: -9px 0 0; color: #7a878d; font-size: 10px; text-align: center; }
.form-status { display: none; grid-column: 1 / -1; margin: 0; padding: 12px 14px; font-size: 12px; font-weight: 650; text-align: center; }
.form-status.visible { display: block; }
.form-status.success { background: #e1ebe2; color: #285832; }
.form-status.error { background: #f2dfd7; color: #8a3824; }

.contact { background: #dfe8eb; }
.contact-top { display: grid; grid-template-columns: .65fr 2.8fr; gap: 58px; margin-bottom: 82px; }
.contact-top h2 { max-width: 840px; color: var(--brand); font-size: clamp(60px, 7vw, 94px); }
.contact-grid { display: grid; grid-template-columns: 1.15fr 1.15fr 1fr .8fr; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.contact-grid > div { min-height: 190px; padding: 28px 25px; border-right: 1px solid var(--line-strong); }
.contact-grid > div:first-child { padding-left: 0; }
.contact-grid > div:last-child { border-right: 0; }
.contact-grid span { display: block; margin-bottom: 34px; color: #748188; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.contact-grid a, .contact-grid strong { display: block; color: var(--brand); font-family: var(--display); font-size: 26px; font-weight: 600; }
.contact-grid small { display: block; margin-top: 2px; color: #69777e; font-size: 12px; }
.contact-grid address, .contact-grid p { margin: 0; color: #42535b; font-size: 14px; font-style: normal; }

footer { padding: 38px 0; background: var(--brand); color: white; border-top: 6px solid var(--warm); }
.footer-inner { display: flex; align-items: center; justify-content: space-between; }
.brand-logo-footer { height: 82px; max-width: 210px; }
.footer-inner p, .back-top { color: #c4d3da; font-size: 11px; }
.back-top { text-transform: uppercase; letter-spacing: .11em; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 980px) {
  .section-pad { padding: 96px 0; }
  .desktop-nav { display: none; }
  .hero { min-height: auto; }
  .hero-layout { grid-template-columns: 1fr; }
  .hero-copy { padding: 50px 0 76px; }
  .hero-visual { height: 470px; margin: 0 0 45px; }
  .intro-grid { grid-template-columns: 1fr 2.2fr; }
  .intro-note { grid-column: 2; }
  .intro-photo { grid-column: 1 / -1; }
  .section-head { grid-template-columns: 1fr; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .service-card.featured { grid-column: span 2; }
  .products-layout, .quote-layout { gap: 60px; }
  .contact-grid { grid-template-columns: 1fr 1fr; }
  .contact-grid > div { border-bottom: 1px solid var(--line-strong); }
  .contact-grid > div:nth-child(2) { border-right: 0; }
}

@media (max-width: 720px) {
  .container { width: min(calc(100% - 32px), var(--max)); }
  .section-pad { padding: 76px 0; }
  .nav-wrap { height: 60px; }
  .brand-logo-header { height: 38px; max-width: 136px; }
  .nav-actions { gap: 13px; }
  .header-cta { display: none; }
  .hero { padding-top: 42px; }
  .hero::after { top: 0; width: 42%; height: 4px; }
  .hero-grid { inset: 0; background-size: 48px 48px; }
  .hero-copy { padding: 28px 0 58px; }
  .hero h1 { font-size: clamp(58px, 18vw, 78px); }
  .hero-lead { font-size: 16px; }
  .hero-actions { align-items: stretch; flex-direction: column; gap: 22px; }
  .hero-actions .button { width: 100%; }
  .hero-actions .text-link { align-self: flex-start; }
  .hero-visual { height: 350px; }
  .hero-strip { height: auto; padding: 26px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
  .hero-strip i { display: none; }
  .industrial-film { padding: 18px 0 24px; }
  .industrial-film-media { height: 244px; clip-path: polygon(0 8%, 100% 0, 100% 87%, 0 100%); }
  .industrial-film-video { object-position: 52% 50%; }
  .industrial-film-frame { width: calc(100% - 32px); }
  .industrial-film-frame::before { top: 28px; }
  .industrial-film-frame::after { bottom: 30px; }
  .intro-grid, .products-layout, .quote-layout, .contact-top { grid-template-columns: 1fr; gap: 36px; }
  .intro-copy h2, .products-copy h2, .quote-copy h2, .contact-top h2 { font-size: 56px; }
  .intro-copy p { font-size: 16px; }
  .intro-note { grid-column: auto; }
  .intro-photo { grid-column: auto; height: 250px; margin-top: 8px; }
  .note-icon { margin-bottom: 20px; }
  .section-head { margin-bottom: 42px; }
  .section-head > div:first-child { justify-content: space-between; }
  .section-head h2 { font-size: 64px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card, .service-card.featured, .service-card.wide { grid-column: auto; min-height: 210px; }
  .service-card.featured { min-height: 410px; }
  .service-card.wide { align-items: flex-end; }
  .cad-callout { padding: 26px; grid-template-columns: 1fr; }
  .cad-callout .button { width: 100%; }
  .products-copy, .quote-copy { position: static; }
  .products-photo { height: 220px; }
  .product-list > div { min-height: 82px; padding: 0 4px; grid-template-columns: 34px 1fr 32px; }
  .product-list strong { font-size: 19px; }
  .quote-form { grid-template-columns: 1fr; padding: 27px 20px; box-shadow: 6px 6px 0 rgba(20,63,87,.07); }
  .field.full, .submit-button, .form-note { grid-column: auto; }
  .contact-top { margin-bottom: 46px; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-grid > div, .contact-grid > div:first-child { min-height: 145px; padding: 25px 0; border-right: 0; }
  .contact-grid span { margin-bottom: 19px; }
  .footer-inner { flex-wrap: wrap; gap: 22px; }
  .brand-logo-footer { height: 70px; max-width: 180px; }
  .footer-inner p { order: 3; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  * { animation: none !important; }
}

/* Editorial industrial direction */
body { background:#f4f4f0; color:#12242c; }
.section-pad { padding:140px 0; }
.site-header { position:absolute; z-index:20; background:linear-gradient(to bottom,rgba(5,24,33,.92),transparent); border:0; }
.nav-wrap { height:84px; border-bottom:1px solid rgba(255,255,255,.28); }
.brand-logo-header { height:54px; }
.site-header .button { border-color:rgba(255,255,255,.65); background:transparent; color:white; }
.site-header .button:hover { background:white; color:var(--brand); }

.hero { position:relative; min-height:940px; padding:0; color:white; background:var(--brand-deep); border:0; clip-path:polygon(0 0,100% 0,100% 94%,0 100%); }
.hero::after,.hero-grid { display:none; }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,25,35,.93) 0%,rgba(8,36,49,.72) 43%,rgba(8,36,49,.18) 78%),linear-gradient(0deg,rgba(4,22,30,.62),transparent 45%); }
.hero-layout { position:relative; z-index:2; display:flex; align-items:center; min-height:790px; padding-top:100px; }
.hero .reveal { opacity:1; transform:none; }
.hero-copy { width:min(760px,72%); padding:60px 0 80px; }
.hero .eyebrow { color:#d7e2e5; }
.hero h1 { color:white; font-size:clamp(78px,9vw,132px); line-height:.82; letter-spacing:-.035em; }
.hero h1 em { color:#f0a071; }
.hero-lead { max-width:610px; color:#d3dfe3; font-size:19px; }
.hero-actions .button { box-shadow:none; }
.hero-actions .button.button-warm { border-color:#c66d3f; background:#c66d3f; }
.hero-actions .button.button-warm:hover { border-color:#e08a58; background:#e08a58; }
.hero .text-link { color:white; }
.hero-strip { position:absolute; z-index:2; right:0; bottom:40px; left:0; height:44px; display:flex; align-items:center; justify-content:flex-start; gap:clamp(28px,5vw,82px); color:#d6e1e4; border:0; }
.hero-strip i { display:none; }
.hero-strip span { display:inline-flex; align-items:center; gap:10px; white-space:nowrap; }
.hero-strip span::before { content:""; width:5px; height:5px; flex:0 0 5px; background:#e88752; }

.intro { overflow:visible; background:#f4f4f0; border:0; }
.intro::before { z-index:3; top:0; width:42%; height:10px; transform:rotate(-1.7deg); transform-origin:left center; }
.intro-grid { grid-template-columns:.42fr 1.6fr .7fr; gap:64px; }
.intro-copy h2 { color:var(--brand); font-size:clamp(66px,7vw,100px); }
.intro-copy p { color:#4c5e66; font-size:19px; }
.intro-note { margin:0; padding:32px; border:0; border-left:4px solid var(--warm); background:white; }
.intro-photo { position:relative; grid-column:1/-1; height:clamp(350px,34vw,500px); margin:68px 0 -185px; overflow:hidden; clip-path:polygon(0 0,100% 0,100% 86%,7% 100%,0 100%); border:0; background:var(--brand-deep); }
.intro-photo::before { content:""; position:absolute; z-index:2; inset:0; background:linear-gradient(90deg,rgba(7,28,38,.58),transparent 48%),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:auto,64px 64px,64px 64px; pointer-events:none; }
.intro-photo::after { content:""; position:absolute; z-index:3; top:0; left:0; width:38%; height:8px; background:var(--warm); pointer-events:none; }
.intro-photo img { position:relative; z-index:1; display:block; width:100%; height:100%; object-fit:cover; object-position:center 54%; }
.intro-photo-rail { position:absolute; z-index:4; top:0; bottom:14%; left:0; width:210px; padding:42px 28px 32px; display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.32); color:white; background:rgba(20,63,87,.78); font-family:var(--sans); font-style:normal; }
.intro-photo-rail span,.intro-photo-rail i { font-size:9px; font-weight:700; letter-spacing:.17em; font-style:normal; }
.intro-photo-rail strong { margin-top:auto; font-family:var(--display); font-size:54px; font-weight:600; letter-spacing:-.02em; }
.intro-photo-rail i { margin-top:10px; color:#b8cbd3; }

.manufacturing { padding-top:275px; color:white; background:var(--brand-deep); border:0; }
.manufacturing .section-number,.manufacturing .eyebrow { color:#94b1bd; }
.section-head h2 { color:white; font-size:clamp(72px,8vw,112px); }
.section-head p:not(.eyebrow) { color:#adc0c8; }
.service-grid { gap:12px; border:0; }
.service-card { min-height:270px; border:0; background:#163e52; color:white; }
.service-card::before { z-index:-2; opacity:.9; filter:saturate(.75) contrast(1.08); }
.service-card::after { z-index:-1; background:linear-gradient(0deg,rgba(7,28,38,.94),rgba(20,63,87,.45)); }
.service-card:hover { background:#163e52; transform:translateY(-5px); }
.service-card:hover::before { opacity:1; }
.service-card.featured { min-height:552px; }
.service-card.featured::before { opacity:.95; }
.service-card.featured::after { background:linear-gradient(0deg,rgba(7,28,38,.96),rgba(20,63,87,.18)); }
.service-card h3 { font-size:32px; }
.service-card:nth-child(8) h3 { font-size:27px; }
.service-card.featured h3 { font-size:50px; }
.service-card p,.service-card.featured p { color:#c4d2d7; }
.service-symbol { color:#f09b6b; }
.machine-icon { display:none; }
.cad-callout { margin-top:12px; border:0; background:#c66d3f; }
.cad-callout .eyebrow { color:#ffe2d2; }

.products { background:#f4f4f0; }
.products-layout { grid-template-columns:1.05fr .95fr; gap:90px; }
.products-copy h2 { font-size:clamp(66px,7vw,98px); }
.products-photo { height:360px; clip-path:polygon(0 0,92% 0,100% 18%,100% 100%,0 100%); border:0; }
.product-list { padding:20px 34px; border:0; background:white; box-shadow:16px 16px 0 #dce5e7; }
.product-list > div { min-height:96px; border-color:#cbd7db; }
.product-list > div:hover { background:#e8eff1; }

.quote { color:white; background:#123e54; border:0; clip-path:polygon(0 5%,100% 0,100% 100%,0 100%); }
.quote-layout { padding-top:45px; }
.quote-form { border:0; background:#f8f8f5; box-shadow:14px 14px 0 #c66d3f; }
.quote-copy h2 { font-size:clamp(64px,7vw,96px); }
.quote-copy h2 em { color:#f0a071; }

.contact { color:white; background:#071c26; }
.contact-top { display:block; margin-bottom:92px; }
.contact-top .section-number { display:block; margin-bottom:42px; }
.contact-top h2 { max-width:1180px; color:white; font-size:clamp(60px,6.4vw,92px); line-height:.93; }
.contact .section-number { color:#f0a071; }
.contact-grid { border-color:rgba(255,255,255,.25); }
.contact-grid > div { border-color:rgba(255,255,255,.2); }
.contact-grid span { color:#8fa8b2; }
.contact-grid a,.contact-grid strong { color:white; }
.contact-grid small,.contact-grid address,.contact-grid p { color:#b7c7cd; }
footer { border-top:8px solid #c66d3f; background:#071c26; }

@media (max-width:980px) {
  .hero { min-height:900px; }
  .hero-copy { width:90%; }
  .intro-grid { grid-template-columns:1fr 2fr; }
  .intro-note { grid-column:2; }
  .intro-photo { grid-column:1/-1; }
  .manufacturing { padding-top:280px; }
}
@media (max-width:720px) {
  .section-pad { padding:88px 0; }
  .nav-wrap { height:68px; }
  .brand-logo-header { height:44px; }
  .hero { min-height:840px; clip-path:polygon(0 0,100% 0,100% 97%,0 100%); }
  .hero-shade { background:linear-gradient(90deg,rgba(5,25,35,.92),rgba(8,36,49,.5)); }
  .hero-layout { min-height:680px; padding-top:76px; }
  .hero-copy { width:100%; padding:40px 0 160px; }
  .hero h1 { font-size:clamp(64px,20vw,86px); }
  .hero-lead { font-size:16px; }
  .hero-strip { bottom:28px; height:auto; display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; }
  .hero-strip span { font-size:9px; }
  .intro-grid { grid-template-columns:1fr; gap:34px; }
  .intro::before { width:58%; transform:rotate(-3.7deg); }
  .intro-note { grid-column:auto; }
  .intro-copy h2,.products-copy h2,.quote-copy h2,.contact-top h2 { font-size:58px; }
  .contact-top { margin-bottom:54px; }
  .contact-top .section-number { margin-bottom:26px; }
  .intro-photo { height:300px; margin:40px 0 -170px; }
  .intro-photo-rail { width:128px; padding:28px 16px 24px; }
  .intro-photo-rail span { max-width:70px; line-height:1.7; }
  .intro-photo-rail strong { font-size:36px; }
  .intro-photo-rail i { display:none; }
  .manufacturing { padding-top:230px; }
  .section-head h2 { font-size:68px; }
  .service-card.featured { min-height:440px; }
  .service-card h3 { font-size:28px; }
  .service-card.featured h3 { font-size:40px; }
  .products-layout { grid-template-columns:1fr; }
  .products-photo { height:280px; }
  .product-list { padding:12px 18px; box-shadow:9px 9px 0 #dce5e7; }
  .quote { clip-path:polygon(0 2%,100% 0,100% 100%,0 100%); }
}
