@font-face {
  font-family:"Golos Text"; font-style:normal; font-weight:400 800; font-display:swap;
  src:url("assets/fonts/golos-text-cyrillic-variable.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family:"Golos Text"; font-style:normal; font-weight:400 800; font-display:swap;
  src:url("assets/fonts/golos-text-latin-variable.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root {
  --red:#c8102e; --red-dark:#a20d25; --blue:#17659c; --blue-bright:#187cb9;
  --navy:#202b36; --navy-dark:#17212a; --ink:#20272e; --graphite:#303942;
  --muted:#566470; --line:#dde3e8; --line-dark:#bdc8d1;
  --paper:#f5f7f8; --paper-blue:#eff5f9; --white:#fff;
  --page-width:1360px; --page-gutter:32px;
  --page-inset:max(var(--page-gutter), calc((100% - var(--page-width)) / 2));
  --shadow-sm:0 4px 16px #202b3609; --shadow-md:0 12px 32px #202b3614;
  color:var(--ink); font-family:"Golos Text",Arial,"Helvetica Neue",sans-serif; font-synthesis:none;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-height,88px) + 20px); }
body { margin:0; color:var(--ink); background:white; font-size:16px; line-height:1.55; overflow-wrap:anywhere; }
body.nav-open { overflow:hidden; }
body.photo-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button,input,select,textarea { font:inherit; }
button,a,summary,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button,summary { cursor:pointer; }
h1,h2,h3,h4,p { margin:0 0 16px; }
h1,h2,h3,h4 { text-wrap:balance; line-height:1.18; letter-spacing:0; overflow-wrap:anywhere; }
h1 { font-size:56px; } h2 { font-size:36px; } h3 { font-size:22px; } h4 { font-size:18px; }
[hidden] { display:none !important; }
:where(a,button,summary,input,select,textarea):focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.skip-link { position:fixed; z-index:100; top:8px; left:8px; padding:12px 18px; background:white; color:var(--ink); transform:translateY(-160%); }
.skip-link:focus { transform:none; }
main:focus { outline:0; }
.eyebrow { margin:0 0 14px; color:var(--red); font-size:13px; font-weight:700; text-transform:uppercase; line-height:1.4; }
.button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:10px; padding:12px 20px; border:1px solid transparent; border-radius:4px; font-weight:700; font-size:15px; line-height:1.4; text-align:center; cursor:pointer; transition:background-color 150ms,border-color 150ms; }
.button:disabled { cursor:wait; opacity:.65; }
.button-red { background:var(--red); color:white; }
.button-red:hover { background:var(--red-dark); }
.button-dark { background:var(--navy); color:white; }
.button-dark:hover { background:var(--blue); }
.button-light { border-color:#ffffff70; background:#ffffff0b; color:white; }
.button-light:hover { background:#ffffff20; }
.text-link { display:inline-flex; min-height:44px; align-items:center; gap:10px; color:var(--blue); font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.site-header { position:sticky; top:0; z-index:70; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:26px; min-height:88px; padding:14px var(--page-inset); border-bottom:1px solid var(--line); background:white; }
.site-header.is-scrolled { box-shadow:var(--shadow-sm); }
.brand { display:inline-flex; width:256px; min-width:0; align-items:center; }
.brand-logo { width:100%; height:auto; }
.nav { display:flex; flex-wrap:wrap; min-width:0; justify-content:center; align-items:center; gap:4px 18px; font-size:14px; font-weight:700; }
.nav a { display:flex; min-height:44px; align-items:center; border-bottom:2px solid transparent; }
.nav a:hover,.nav a.is-active { border-bottom-color:var(--red); color:var(--red); }
.nav .nav-fallback-close { display:none; }
.header-actions { display:flex; align-items:center; gap:20px; }
.phone-link { font-size:16px; font-weight:700; white-space:nowrap; }
.nav-toggle { display:none; width:44px; height:44px; flex:0 0 44px; align-items:center; justify-content:center; padding:0; background:white; border:1px solid var(--line); border-radius:4px; color:var(--ink); }
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after { position:relative; display:block; width:20px; height:2px; background:currentColor; }
.nav-toggle span::before,.nav-toggle span::after { position:absolute; content:""; left:0; transition:transform 150ms; }
.nav-toggle span::before { top:-6px; } .nav-toggle span::after { top:6px; }
.site-header.is-open .nav-toggle span { background:transparent; }
.site-header.is-open .nav-toggle span::before { top:0; transform:rotate(45deg); }
.site-header.is-open .nav-toggle span::after { top:0; transform:rotate(-45deg); }
.hero { position:relative; isolation:isolate; background:var(--navy-dark); color:white; overflow:hidden; }
.hero-media,.hero-image,.hero-overlay { position:absolute; inset:0; width:100%; height:100%; }
.hero-media { z-index:-3; } .hero-image { object-fit:cover; object-position:50% 53%; }
.hero-overlay { z-index:-2; background:linear-gradient(90deg,#101b24ed 0%,#101b24d9 30%,#101b24b3 46%,#101b2445 66%,#101b240a 100%); }
.hero-inner { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:stretch; width:min(var(--page-width),calc(100% - var(--page-gutter) * 2)); min-height:520px; margin:auto; padding:44px 0 24px; }
.hero-copy { width:min(630px,60%); } .hero h1 { margin-bottom:20px; font-size:52px; }
.hero .eyebrow { color:white; font-size:14px; } .hero-capacity { display:block; }
.lead { font-size:23px; line-height:1.4; font-weight:400; }
.hero-detail { max-width:520px; color:#f0f4f7; font-size:16px; margin:14px 0 0; }
.hero-disclosure { max-width:460px; margin-top:22px; border-top:1px solid #ffffff60; }
.hero-disclosure > summary { min-height:50px; padding:8px 0; color:white; font-size:15px; }
.hero-disclosure > summary::after { color:white; border-color:#ffffff75; }
.hero-disclosure > summary:hover { color:white; }
.hero-disclosure > summary:hover::after { background:#ffffff1c; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.hero-caption { align-self:flex-end; max-width:100%; margin:20px 0 0; padding:5px 12px; border-left:3px solid var(--red); background:#17212acc; font-size:13px; }
.hero :focus-visible { outline-color:white; }
label { display:grid; min-width:0; gap:7px; margin-bottom:16px; color:var(--graphite); font-size:15px; font-weight:600; line-height:1.4; }
input,select,textarea { width:100%; min-width:0; min-height:48px; border:1px solid var(--line-dark); border-radius:4px; padding:11px 12px; background:white; color:var(--ink); font-size:16px; font-weight:400; transition:border-color 150ms,box-shadow 150ms; }
input:hover,select:hover,textarea:hover { border-color:#8598a7; }
input:focus-visible,select:focus-visible,textarea:focus-visible { border-color:var(--blue); outline:2px solid #17659c45; outline-offset:1px; }
.lead-form :is(input,select,textarea)[aria-invalid="true"] { border-color:var(--red); }
input[type=checkbox],input[type=radio] { width:19px; height:19px; min-height:19px; padding:0; margin:2px 0 0; flex:0 0 19px; accent-color:var(--red); }
textarea { resize:vertical; line-height:1.5; } ::placeholder { color:#6a7782; opacity:1; }
.form-note { min-height:21px; margin:12px 0 0; color:var(--muted); font-size:14px; font-weight:400; line-height:1.5; }
.form-note.is-success { color:#176641; } .form-note.is-error { color:var(--red-dark); }
.form-privacy { margin:0; color:var(--muted); font-size:13px; font-weight:400; line-height:1.5; }
.form-privacy a { color:var(--blue); text-decoration:underline; text-underline-offset:2px; }
.form-trap { position:fixed !important; top:-10000px !important; left:-10000px !important; width:1px !important; height:1px !important; min-height:0 !important; opacity:0 !important; pointer-events:none !important; }
.trust-strip { display:grid; grid-template-columns:1fr 1.6fr 1fr 1fr; padding:0 var(--page-inset); border-bottom:1px solid var(--line); background:white; }
.trust-strip > div { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:28px 24px; border-right:1px solid var(--line); }
.trust-strip > div:first-child { padding-left:0; } .trust-strip > div:last-child { border:0; padding-right:0; }
.trust-strip strong { display:block; font-size:28px; color:var(--ink); line-height:1.2; }
.trust-strip span { display:block; margin-top:6px; color:var(--muted); font-size:14px; }
.quick-request-section { display:grid; grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr); gap:40px; padding:48px var(--page-inset); border-bottom:1px solid var(--line); background:white; }
.quick-request-copy h2 { font-size:32px; margin-bottom:12px; }
.quick-request-copy > p:last-child { max-width:390px; margin:0; color:var(--muted); }
.quick-request-form { display:grid; min-width:0; gap:16px; padding-left:36px; border-left:1px solid var(--line); }
.quick-request-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 20px; }
.quick-request-fields label { margin:0; }
.quick-request-description { grid-column:1 / -1; }
.quick-request-description textarea { min-height:84px; }
.quick-request-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px 22px; }
.quick-request-actions .button { min-width:190px; }
.quick-request-follow-up { min-width:0; align-self:center; padding-left:36px; border-left:3px solid #287c56; }
.quick-request-follow-up h3 { margin-bottom:8px; font-size:24px; }
.quick-request-follow-up p { max-width:650px; margin-bottom:18px; color:var(--muted); }
.quick-request-form > .form-note { margin:0; }
.quick-request-form > .form-note:empty { display:none; }
.trust-catalog-button { align-self:flex-start; padding:0; margin-top:6px; min-height:32px; color:var(--blue); background:none; font-size:14px; }
.trust-catalog-button:hover { color:var(--red); background:none; }
.trust-model-links { display:flex; flex-wrap:wrap; gap:0 12px; margin-top:8px; }
.trust-model-links a { display:inline-flex; min-height:28px; align-items:center; color:var(--blue); font-size:13px; font-weight:700; }
.section { width:min(var(--page-width),calc(100% - var(--page-gutter) * 2)); margin:0 auto; padding:64px 0; }
.section-head { display:grid; grid-template-columns:170px minmax(0,1.2fr) minmax(0,.85fr); gap:24px; align-items:start; margin-bottom:32px; }
.section-head .eyebrow { margin:8px 0 0; border-top:2px solid var(--red); padding-top:12px; }
.section-head h2 { margin:0; }
.section-head > p:last-child:not(.eyebrow) { color:var(--muted); margin:4px 0 0; }
.section-head:has(> :last-child:nth-child(2)) { grid-template-columns:170px minmax(0,1fr); }
.market-section { padding-bottom:48px; } .market-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.market-card { min-width:0; padding:20px 0 0; border-top:1px solid var(--line); }
.market-card > span { display:block; color:var(--blue); font-size:14px; font-weight:700; margin-bottom:14px; }
.market-card h3 { font-size:20px; } .market-card p { margin:0; color:var(--muted); font-size:15px; }
.service-band { width:100%; padding:48px var(--page-inset); background:var(--paper); border-block:1px solid var(--line); }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-items:start; }
.service-detail { min-width:0; border-top:1px solid var(--line-dark); }
.service-detail > summary { display:grid; grid-template-columns:24px minmax(0,1fr) 32px; gap:14px; min-height:92px; padding:14px 0; }
.service-icon { color:var(--red); font-size:13px; font-weight:700; }
.service-grid h3 { font-size:20px; margin:0; text-wrap:initial; } .service-grid p { color:var(--muted); margin:0; padding:0 0 8px 38px; font-size:15px; }
.technical-note { margin:0 0 24px; padding:14px 18px; border-left:3px solid var(--blue); background:var(--paper-blue); color:var(--muted); font-size:15px; }
.technical-note strong { color:var(--ink); }
.fleet-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 24px; margin-bottom:24px; }
.fleet-view-switch { display:flex; padding:4px; border:1px solid var(--line); border-radius:5px; background:var(--paper); }
.fleet-view-switch button { min-height:40px; padding:8px 16px; border:0; border-radius:3px; background:transparent; font-size:15px; font-weight:700; color:var(--muted); }
.fleet-view-switch button[aria-selected="true"] { background:var(--navy); color:white; }
.filter-bar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin:0; }
.fleet-table-scroll { position:relative; overflow:auto; border-block:1px solid var(--line-dark); overscroll-behavior-x:contain; scrollbar-color:var(--line-dark) var(--paper); }
.fleet-table-scroll:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.fleet-table { width:100%; min-width:760px; border-collapse:separate; border-spacing:0; text-align:left; font-variant-numeric:tabular-nums; }
.fleet-table th,.fleet-table td { padding:18px 20px; border-bottom:1px solid var(--line); vertical-align:middle; }
.fleet-table thead th { background:var(--paper); color:var(--muted); font-size:13px; font-weight:600; line-height:1.4; overflow-wrap:normal; }
.fleet-table thead th:first-child { width:30%; }
.fleet-table tbody th { font-size:16px; font-weight:700; }
.fleet-table tbody th a { display:flex; align-items:center; gap:16px; min-height:64px; }
.fleet-table tbody th a:hover { color:var(--red); }
.fleet-table tbody th img { width:64px; height:64px; flex:none; object-fit:contain; background:white; }
.fleet-table tbody td { font-size:16px; white-space:nowrap; }
.fleet-table tbody tr:last-child > * { border-bottom:0; }
.fleet-table tbody tr:hover > *,.fleet-table tbody tr:focus-within > * { background:var(--paper-blue); }
.fleet-table .fleet-table-request { min-height:44px; padding:10px 16px; color:var(--red); border-color:var(--line-dark); background:white; }
.fleet-table .fleet-table-request:hover { border-color:var(--red); background:var(--red); color:white; }
.fleet-comparison-note { margin:16px 0 0; max-width:850px; font-size:13px; color:var(--muted); }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.filter-row { display:flex; gap:4px; padding:4px; border:1px solid var(--line); background:var(--paper); border-radius:5px; }
.filter-row:has(button:disabled) { display:none; }
.filter-button { min-height:40px; min-width:70px; border:1px solid transparent; border-radius:3px; background:transparent; padding:8px 15px; color:var(--muted); font-weight:700; font-size:15px; }
.filter-button:hover { color:var(--blue); } .filter-button.is-active { color:white; background:var(--blue); }
.filter-status { color:var(--muted); font-size:14px; margin:0; }
.fleet-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:stretch; }
.crane-card,.fleet-cta { min-width:0; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:white; }
.crane-card { position:relative; display:flex; flex-direction:column; transition:border-color 150ms,box-shadow 150ms; }
.crane-card:hover { border-color:#90a9bb; box-shadow:var(--shadow-md); } .crane-card.is-hidden { display:none; }
.crane-photo-link { position:relative; display:block; background:var(--paper); }
.crane-photo-link img { width:100%; height:auto; aspect-ratio:16 / 10; object-fit:contain; }
.crane-photo-link:focus-visible { outline-offset:-4px; }
.photo-zoom { position:absolute; right:14px; bottom:14px; display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--line); border-radius:4px; background:white; color:var(--blue); box-shadow:var(--shadow-sm); }
.crane-photo-link:hover .photo-zoom { background:var(--blue); color:white; border-color:var(--blue); }
.icon { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.icon-button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--line-dark); border-radius:4px; background:white; color:var(--ink); }
.icon-button:hover { color:var(--blue); border-color:var(--blue); background:var(--paper-blue); }
.photo-dialog { width:min(1160px,calc(100% - 48px)); height:min(900px,calc(100dvh - 48px)); max-width:none; max-height:none; padding:0; border:0; border-radius:6px; color:var(--ink); background:white; box-shadow:0 20px 80px #0005; overscroll-behavior:contain; }
.photo-dialog[open] { display:grid; grid-template-rows:max-content minmax(min-content,1fr) max-content; }
.photo-dialog::backdrop { background:#151b23c9; }
.photo-toolbar { position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; min-height:77px; padding:16px 84px 16px 24px; border-bottom:1px solid var(--line); }
.photo-toolbar h2 { flex:1 1 12ch; min-width:0; margin:0; font-size:22px; text-wrap:initial; }
.photo-counter { color:var(--muted); font-size:14px; white-space:nowrap; }
.photo-toolbar .icon-button { position:absolute; top:16px; right:24px; }
.photo-viewer { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:12px; min-height:0; padding:16px; background:var(--paper); }
.photo-stage { position:relative; display:grid; place-items:center; grid-column:2; grid-row:1; min-width:0; min-height:144px; height:100%; }
.photo-stage img { position:absolute; inset:0; width:100%; height:100%; min-height:0; object-fit:contain; }
.photo-stage > a { text-align:center; }
.photo-previous { grid-column:1; grid-row:1; } .photo-next { grid-column:3; grid-row:1; }
.photo-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 24px; border-top:1px solid var(--line); }
.photo-footer p { margin:0; color:var(--muted); font-size:14px; }
.photo-footer .button { flex:0 0 auto; }
.crane-photo-zcc750 { object-position:50% 68%; } .crane-photo-full { object-position:50% 100%; }
.crane-catalog-photo { position:relative; margin:0; }
.crane-catalog-photo img { width:100%; height:auto; aspect-ratio:16 / 10; object-fit:contain; object-position:center bottom; }
.crane-catalog-photo figcaption { position:absolute; bottom:0; left:0; padding:4px 10px; background:white; color:var(--muted); font-size:11px; line-height:1.5; }
.crane-card-body { display:flex; flex-direction:column; gap:16px; flex:1; padding:22px; }
.crane-card-body > div:first-child { display:flex; flex-direction:column; gap:6px; min-height:58px; }
.crane-card h3 { margin:0; font-size:23px; text-wrap:initial; }
.crane-card-body > div:first-child > span { color:var(--blue); font-weight:700; font-size:14px; }
.spec-list { margin:0; border-top:1px solid var(--line); }
.spec-list > div { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; min-height:46px; padding:10px 0; border-bottom:1px solid var(--line); }
.spec-list dt { font-size:14px; color:var(--muted); } .spec-list dd { margin:0; color:var(--ink); font-size:16px; font-weight:700; white-space:nowrap; }
.crane-card-body > a { display:flex; min-height:44px; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; color:var(--blue); font-size:15px; font-weight:700; }
.crane-card-body > a::after { content:"\2192"; font-size:22px; }
.crane-card-body > .crane-doc-link { margin-top:0; border-top:1px solid var(--line); padding-top:10px; font-size:15px; }
.crane-card-body > .crane-doc-link + a { margin-top:0; }
.fleet-cta { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:16px; padding:32px; background:var(--paper-blue); border-top:3px solid var(--blue); }
.fleet-cta h3 { font-size:30px; margin:0; } .fleet-cta p { color:var(--muted); margin:0; }
.fleet-cta .eyebrow { color:var(--blue); margin:0; } .fleet-phone { display:flex; min-height:44px; align-items:center; color:var(--blue); font-weight:700; }
.quote-strip { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:24px; padding:32px var(--page-inset); background:var(--paper-blue); border-block:1px solid var(--line); }
.quote-strip h2 { font-size:28px; margin:0; } .quote-strip .eyebrow { margin-bottom:8px; }
.calculator-section { padding:36px var(--page-inset); background:var(--paper-blue); border-bottom:1px solid var(--line); }
.calculator-section > .eyebrow { margin-bottom:12px; }
.calculator-disclosure > summary { gap:32px; }
.calculator-disclosure > summary h2 { max-width:900px; margin:0; font-size:30px; text-wrap:initial; }
.calculator-disclosure > summary::after { width:44px; height:44px; flex-basis:44px; }
.calculator-layout { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.2fr); gap:64px; align-items:start; padding-top:32px; }
.calculator-copy > p:not(.eyebrow) { color:var(--muted); }
.calculator-copy > p:last-child { margin-bottom:0; }
.calc-result { border-left:3px solid var(--blue); background:#ffffffa6; padding:16px 20px; margin:0; }
.calc-result span { color:var(--blue); font-size:13px; font-weight:700; }
.calc-result strong { display:block; font-size:21px; line-height:1.3; margin-top:6px; } .calc-result p { color:var(--muted); margin:10px 0 0; font-size:15px; }
.calc-panel { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; min-width:0; }
.calc-panel > .text-link { justify-self:start; }
.calculator-fallback { justify-self:start; align-self:start; }
.calc-parameters { min-width:0; border:0; padding:0 0 22px; margin:0; border-bottom:1px solid var(--line); }
.calc-parameters legend { margin-bottom:14px; font-weight:700; font-size:18px; }
.calc-parameter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.calc-parameter-grid label { margin:0; align-content:end; } .calc-parameter-grid input { font-weight:700; }
.process-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; margin:0; padding:0; list-style:none; align-items:start; }
.process-list li { border-top:2px solid var(--line); min-width:0; }
.process-list summary { display:grid; grid-template-columns:minmax(0,1fr) 32px; gap:12px; align-content:start; min-height:138px; padding:18px 0; }
.process-list .process-number { display:block; grid-column:1; color:var(--red); font-weight:700; font-size:14px; }
.process-list summary::after { grid-column:2; grid-row:1; align-self:start; }
.process-list h3 { grid-column:1 / -1; font-size:18px; margin:0; text-wrap:initial; } .process-list p { color:var(--muted); font-size:15px; margin:0; padding:0 0 16px; }
.process-list a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.checklist-section { display:grid; grid-template-columns:minmax(0,.6fr) minmax(0,1.2fr); gap:64px; border-top:1px solid var(--line); }
.checklist-copy > p:last-child { color:var(--muted); } .checklist-grid { display:grid; gap:0; }
.checklist-grid article { display:grid; grid-template-columns:30px minmax(0,.8fr) minmax(0,1.2fr); gap:14px; padding:18px 0; border-bottom:1px solid var(--line); }
.checklist-grid article:first-child { padding-top:0; } .checklist-grid span { color:var(--red); font-size:13px; font-weight:700; }
.checklist-grid strong { font-size:17px; line-height:1.4; } .checklist-grid p { margin:0; color:var(--muted); font-size:15px; }
.projects-section { display:grid; grid-template-columns:minmax(0,.48fr) minmax(0,1fr); gap:48px; align-items:center; padding:48px var(--page-inset); background:var(--paper); border-block:1px solid var(--line); }
.project-image { min-width:0; } .project-image img { width:100%; height:auto; aspect-ratio:3 / 4; object-fit:contain; }
.project-copy { min-width:0; } .project-copy > p:not(.eyebrow) { color:var(--muted); }
.region-grid { display:flex; flex-wrap:wrap; gap:0 22px; margin:22px 0; }
.region-grid span { display:flex; gap:8px; align-items:center; padding:6px 0; font-size:14px; }
.region-grid span::before { width:4px; height:4px; background:var(--blue); content:""; }
.field-photo-strip { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.field-photo-strip img { width:100%; height:auto; aspect-ratio:4 / 3; object-fit:contain; }
.reading-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.reading-card { min-width:0; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:white; transition:border-color 150ms; }
.reading-card:hover { border-color:var(--blue); }
.reading-card-image { display:block; background:var(--paper); border-bottom:1px solid var(--line); }
.reading-card-image img { width:100%; height:auto; aspect-ratio:16 / 9; object-fit:contain; }
.reading-card-body { display:flex; flex:1; flex-direction:column; padding:24px; }
.reading-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; color:var(--blue); font-size:13px; font-weight:700; margin-bottom:14px; }
.reading-meta span { color:var(--muted); font-weight:400; }
.reading-card h3 { font-size:23px; line-height:1.3; text-wrap:initial; }
.reading-card h3 a:hover { color:var(--blue); text-decoration:underline; text-underline-offset:4px; }
.reading-card-body > p:not(.reading-meta) { font-size:16px; line-height:1.6; color:var(--muted); margin-bottom:18px; }
.reading-card-body > .text-link { margin-top:auto; align-self:flex-start; font-size:15px; }
.reading-preview { border-bottom:1px solid var(--line); }
.reading-preview-footer { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-top:24px; }
.reading-preview-footer p { margin:0; color:var(--muted); font-size:15px; }
.faq-section { display:grid; grid-template-columns:.65fr 1.2fr; gap:64px; } .faq-section .section-head { display:block; margin:0; }
.faq-section .eyebrow { border:0; padding:0; margin-bottom:16px; } .faq-grid { display:grid; align-content:start; }
.faq-grid details { border-bottom:1px solid var(--line); padding:18px 0; } .faq-grid details:first-child { border-top:1px solid var(--line); }
summary { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:44px; list-style:none; color:var(--ink); font-size:17px; font-weight:700; }
summary > * { min-width:0; }
summary::-webkit-details-marker { display:none; }
summary::after { display:grid; place-items:center; width:32px; height:32px; flex:0 0 32px; border:1px solid var(--line-dark); border-radius:4px; content:"+"; color:var(--blue); font-size:24px; line-height:1; font-weight:400; }
summary:hover { color:var(--blue); }
summary:hover::after { background:var(--paper-blue); border-color:var(--blue); }
details[open] > summary::after { content:"\2212"; } .faq-grid details p { color:var(--muted); margin:14px 32px 0 0; font-size:15px; }
.request-section { display:grid; gap:32px; padding:64px var(--page-inset); border-top:1px solid var(--line); background:var(--paper); }
.request-copy { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.52fr); gap:8px 56px; }
.request-copy .eyebrow,.request-copy h2,.request-copy > p { grid-column:1; margin-bottom:0; }
.request-copy > p:not(.eyebrow) { max-width:760px; color:var(--muted); }
.contact-card { display:grid; grid-column:2; grid-row:1 / span 3; gap:6px; align-content:center; padding-left:28px; border-left:3px solid var(--red); }
.contact-card strong { color:var(--muted); font-size:14px; }
.contact-card a { color:var(--blue); font-size:20px; font-weight:700; overflow-wrap:anywhere; } .contact-card span { color:var(--muted); font-size:14px; }
.request-form { min-width:0; width:100%; padding:32px; background:white; border-top:3px solid var(--red); }
.detailed-request { display:grid; gap:26px; counter-reset:form-section; }
.request-related { margin:0; padding:12px 16px; border-left:3px solid var(--blue); background:var(--paper-blue); color:var(--ink); font-size:14px; }
.selected-crane { display:flex; gap:16px; align-items:center; justify-content:space-between; padding:14px 18px; background:var(--paper-blue); border-left:3px solid var(--blue); }
.selected-crane div { display:grid; gap:4px; } .selected-crane span { color:var(--muted); font-size:13px; }
.selected-crane strong { font-size:18px; } .selected-crane button { width:44px; height:44px; flex:0 0 44px; border:1px solid var(--line); border-radius:4px; background:white; color:var(--ink); font-size:24px; }
.required-note { justify-self:end; color:var(--muted); font-size:13px; margin:-6px 0; } .required-mark,.required-note span { color:var(--red); }
.form-section { display:grid; grid-template-columns:230px minmax(0,1fr); min-width:0; gap:16px 32px; padding:0 0 24px; border-bottom:1px solid var(--line); counter-increment:form-section; }
.form-section > :not(h3) { grid-column:2; }
.form-section > h3 { align-self:start; padding-top:4px; }
.request-order-main { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1fr); gap:18px; }
.request-order-meta { display:grid; gap:18px; align-content:start; }
.request-order-main label { align-content:start; }
.request-order-main textarea { min-height:112px; }
.request-work-details { border-top:1px solid var(--line); }
.request-work-details > summary { min-height:52px; padding:10px 0; font-size:15px; }
.parameter-help > summary { min-height:44px; font-size:14px; color:var(--blue); }
.parameter-help > summary::after { width:28px; height:28px; flex-basis:28px; font-size:21px; }
.parameter-help dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding:16px; margin:12px 0 0; background:var(--paper-blue); font-size:14px; }
.parameter-help dt { color:var(--ink); font-weight:700; margin-bottom:6px; }
.parameter-help dd { margin:0; color:var(--muted); }
.form-section:last-of-type { border:0; padding-bottom:0; }
.request-options { border-block:1px solid var(--line); }
.request-option + .request-option { border-top:1px solid var(--line); }
.request-option > summary { min-height:60px; padding:16px 0; font-size:17px; }
.request-option > summary:hover { color:var(--blue); }
.request-option[open] > summary { color:var(--blue); }
.request-option-body { display:grid; gap:20px; padding:4px 0 24px; }
.request-full { border-block:1px solid var(--line); }
.request-full > summary { font-size:18px; }
.request-full-body { display:grid; gap:26px; padding:20px 0 26px; }
.request-contact-section { padding-bottom:0; border:0; }
.request-contact-section .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .request-option-body label,.detailed-request > label { margin-bottom:0; }
.cargo-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:20px; }
.cargo-fields > label { display:flex; flex-direction:column; }
.form-section h3 { display:flex; gap:12px; align-items:flex-start; margin:0; font-size:18px; }
.form-section h3::before { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; background:var(--paper-blue); color:var(--blue); font-size:12px; content:counter(form-section,decimal-leading-zero); }
.form-section h4 { margin:0; font-size:17px; } .form-section label { margin-bottom:0; }
.form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.form-grid label { display:flex; flex-direction:column; } .form-grid label > :last-child { margin-top:auto; }
.checkbox-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 20px; }
.checkbox { display:flex; align-items:flex-start; gap:10px; margin:0; font-size:14px; font-weight:400; }
.choice-fieldset { min-width:0; border:0; padding:0; margin:0; }
.choice-fieldset > legend { color:var(--muted); font-size:15px; font-weight:600; margin-bottom:14px; }
.boom-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.boom-card { display:grid; grid-template-columns:minmax(90px,.55fr) minmax(0,1fr); gap:16px; padding:20px; border:1px solid var(--line); border-radius:4px; background:#fafbfc; }
.boom-card:has(input:checked) { border-color:var(--blue); background:var(--paper-blue); }
.boom-choice { display:flex; gap:10px; align-items:center; grid-column:1 / -1; font-size:16px; }
.boom-card img { width:100%; height:150px; object-fit:contain; mix-blend-mode:multiply; }
.boom-fields { display:grid; align-content:center; gap:18px; }
.measure-field { display:grid; grid-template-columns:minmax(0,1fr) 76px auto; align-items:center; gap:8px; font-size:14px; }
.measure-field input { padding:8px; } .measure-field input::placeholder { color:transparent; }
.measure-field em,.measure-inline em { font-style:normal; color:var(--muted); font-size:14px; }
.load-diagram { display:grid; gap:18px; padding:20px 0; border-block:1px solid var(--line); }
.diagram-inputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.diagram-inputs label { display:grid; align-content:start; gap:8px; font-size:15px; }
.measure-inline { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; }
.measure-inline input { font-weight:400; } .diagram-inputs small { color:var(--muted); font-size:14px; font-weight:400; line-height:1.5; }
.detailed-request > .button { justify-self:start; min-width:230px; } .detailed-request > .form-note { margin-top:-16px; }
.site-footer { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto; gap:56px; padding:40px var(--page-inset); border-top:4px solid var(--red); background:var(--navy-dark); color:white; }
.site-footer img { width:250px; height:auto; margin-bottom:18px; } .site-footer p { max-width:390px; color:#bac5cd; font-size:14px; margin:0; }
.site-footer nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 22px; font-size:14px; }
.site-footer a { display:inline-flex; min-width:0; align-items:center; min-height:34px; overflow-wrap:anywhere; } .site-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.site-footer :focus-visible { outline-color:white; } .footer-contact { display:grid; align-content:start; gap:8px; }
.footer-contact a:first-child { font-size:19px; font-weight:700; } .mobile-contact-bar { display:none; }
body.nav-open .mobile-contact-bar,body.photo-open .mobile-contact-bar { display:none; }
.legal-body { background:var(--paper); }
.legal-header,.legal-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px var(--page-inset); background:white; }
.legal-page { width:min(1000px,calc(100% - var(--page-gutter) * 2)); margin:auto; padding:48px 0; }
.legal-content { border-top:3px solid var(--red); background:white; padding:40px; } .legal-content h1 { font-size:42px; }
.legal-updated,.legal-content section p { color:var(--muted); } .legal-content section { border-top:1px solid var(--line); padding-top:24px; margin-top:28px; }
.legal-content section h2 { font-size:24px; } .legal-contact a { color:var(--blue); } .legal-footer { background:var(--navy-dark); color:white; }
.error-page { display:grid; min-height:100vh; place-items:center; padding:24px; background:var(--paper); }
.error-page main { width:min(620px,100%); padding:40px; border-top:3px solid var(--red); background:white; }
.error-page img { width:260px; height:auto; margin-bottom:32px; } .error-page h1 { font-size:42px; } .error-page p { color:var(--muted); }
@media (min-width:1200px) {
  .crane-card { flex-flow:row wrap; }
  .crane-card > .crane-photo-link,.crane-catalog-photo { flex:1 1 13em; min-width:0; min-height:340px; height:auto; aspect-ratio:4 / 3; border-right:1px solid var(--line); }
  .crane-catalog-photo > .crane-photo-link { height:100%; }
  .crane-card .crane-photo-link img { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; object-position:center; }
  .crane-card-body { flex:1.23 1 16em; min-width:0; padding:22px; gap:18px; }
  .crane-card-body > div:first-child { min-height:64px; }
  .crane-card h3 { font-size:22px; }
  .fleet-cta { padding:32px 38px; }
  .fleet-cta h3 { max-width:460px; }
  .fleet-cta p { max-width:440px; }
}
@media (min-width:1700px) {
  :root { --page-width:1504px; }
  .hero-inner { min-height:530px; } .hero-copy { width:680px; } .hero h1 { font-size:56px; }
}
@media (max-width:1360px) {
  .site-header { grid-template-columns:auto auto 1fr; gap:18px; } .nav-toggle { display:flex; }
  .header-actions { justify-self:end; }
  .nav { display:none; position:absolute; top:100%; left:0; right:0; padding:20px var(--page-gutter); background:white; border-bottom:1px solid var(--line); box-shadow:var(--shadow-md); max-height:calc(100dvh - 90px); overflow:auto; }
  .site-header.is-open .nav,.site-header:not(.has-nav-script) .nav:target { display:grid; gap:6px; justify-content:stretch; } .nav a { padding:8px 0; }
  .site-header:not(.has-nav-script) .nav:target .nav-fallback-close { display:flex; justify-content:center; width:44px; justify-self:end; border:1px solid var(--line); border-radius:4px; }
}
@media (max-width:1240px) {
  .section-head { grid-template-columns:140px 1fr; gap:16px 24px; }
  .section-head > p:last-child:not(.eyebrow) { grid-column:2; } .section-head .eyebrow { grid-row:1 / span 2; }
  .boom-card { grid-template-columns:1fr; } .boom-card img { height:140px; }
  .process-list { gap:18px; } .process-list h3 { font-size:18px; }
  .checklist-section,.faq-section { gap:32px; } .calculator-layout { gap:32px; grid-template-columns:.7fr 1fr; }
  .form-section { grid-template-columns:190px minmax(0,1fr); gap:16px 24px; }
  .site-footer { gap:28px; }
}
@media (max-width:960px) {
  .reading-grid { gap:16px; }
  .reading-card-body { padding:18px; }
  .reading-card h3 { font-size:20px; }
  :root { --page-gutter:24px; }
  .hero-copy { width:68%; } .hero h1 { font-size:48px; } .hero-inner { min-height:520px; }
  .hero-overlay { background:linear-gradient(90deg,#101b24ed,#101b2499 65%,#101b243b); }
  .quick-request-section { grid-template-columns:1fr; gap:24px; padding-block:36px; }
  .quick-request-form,.quick-request-follow-up { padding:22px 0 0; border-left:0; border-top:1px solid var(--line); }
  .trust-strip { grid-template-columns:repeat(2,minmax(0,1fr)); } .trust-strip > div { padding:24px; }
  .trust-strip > div:nth-child(2n) { border-right:0; } .trust-strip > div:nth-child(3) { padding-left:0; }
  .trust-strip > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .fleet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; } .market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-grid { gap:18px; }
  .service-detail > summary { grid-template-columns:1fr 32px; gap:10px; }
  .service-detail .service-icon { grid-column:1; }
  .service-detail h3 { grid-column:1; }
  .service-detail > summary::after { grid-column:2; grid-row:1 / span 2; align-self:start; }
  .service-grid p { padding-left:0; }
  .calculator-layout { grid-template-columns:1fr; }
  .calculator-copy { max-width:680px; }
  .process-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
  .checklist-section { grid-template-columns:1fr; } .checklist-copy { max-width:680px; }
  .projects-section { gap:28px; grid-template-columns:.7fr 1fr; }
  .project-copy h2 { font-size:30px; }
  .request-copy { gap:12px 28px; grid-template-columns:1fr .65fr; } .contact-card { padding-left:20px; }
  .contact-card a { font-size:18px; } .request-form { padding:24px; }
  .form-grid,.checkbox-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .form-section { grid-template-columns:1fr; }
  .form-section > :not(h3) { grid-column:1; }
  .site-footer { grid-template-columns:1fr 1fr; } .footer-contact { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:16px 32px; }
}
@media (max-width:680px) {
  .reading-grid { grid-template-columns:1fr; gap:20px; }
  .reading-preview-footer { align-items:flex-start; flex-direction:column; gap:8px; }
  :root { --page-gutter:20px; }
  html { scroll-padding-top:calc(var(--header-height,72px) + 18px); scroll-padding-bottom:96px; }
  body { padding-bottom:calc(72px + env(safe-area-inset-bottom)); } .legal-body,.error-page { padding-bottom:0; }
  h1 { font-size:38px; } h2 { font-size:29px; } h3 { font-size:21px; }
  .site-header { min-height:72px; padding-block:12px; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
  .brand { width:min(230px,100%); } .nav-toggle { grid-column:2; } .header-actions { display:none; }
  .nav { max-height:calc(100dvh - 150px); }
  .hero-inner { min-height:480px; padding:30px 0 18px; } .hero-copy { width:100%; max-width:490px; }
  .hero h1 { font-size:36px; max-width:390px; } .hero .eyebrow { font-size:12px; }
  .hero-image { object-position:center 62%; } .hero-overlay { background:linear-gradient(90deg,#101b24dd,#101b2499); }
  .lead { font-size:21px; max-width:310px; } .hero-detail { font-size:16px; max-width:370px; }
  .hero-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:20px; } .hero-actions .button { padding-inline:10px; font-size:14px; }
  .hero-disclosure { margin-top:18px; }
  .hero-caption { align-self:flex-start; font-size:12px; }
  .quick-request-section { padding-block:34px; }
  .quick-request-copy h2 { font-size:27px; }
  .quick-request-fields,.quick-request-actions { grid-template-columns:1fr; }
  .quick-request-actions .button,.quick-request-follow-up .button { width:100%; }
  .quick-request-follow-up { padding-top:20px; }
  .trust-strip > div { padding:22px 16px; } .trust-strip strong { font-size:23px; } .trust-strip span { font-size:13px; }
  .trust-model-links { display:none; } .trust-catalog-button { min-height:44px; font-size:13px; text-align:left; }
  .section { padding-block:44px; }
  .section-head,.section-head:has(> :last-child:nth-child(2)) { grid-template-columns:1fr; gap:12px; margin-bottom:24px; }
  .section-head .eyebrow { grid-column:1; grid-row:auto; width:fit-content; margin:0; padding-top:10px; }
  .section-head > p:last-child:not(.eyebrow) { grid-column:1; margin:0; font-size:15px; }
  .market-grid { gap:20px; } .market-card h3 { font-size:18px; } .market-card p { font-size:14px; }
  .service-band { padding-block:40px; } .service-grid { grid-template-columns:1fr; gap:22px; }
  .service-grid { gap:0; }
  .service-detail > summary { grid-template-columns:24px minmax(0,1fr) 32px; min-height:76px; gap:12px; }
  .service-detail h3 { grid-column:2; font-size:18px; }
  .service-detail > summary::after { grid-column:3; grid-row:1; align-self:center; }
  .service-grid p { font-size:15px; padding:0 0 20px 36px; }
  .technical-note { font-size:14px; padding:14px; } .technical-note strong { display:block; margin-bottom:5px; }
  .fleet-toolbar { align-items:stretch; flex-direction:column; gap:12px; }
  .fleet-view-switch button { flex:1; }
  .filter-bar { flex-direction:column; align-items:stretch; gap:10px; }
  .fleet-table { min-width:660px; }
  .fleet-table th,.fleet-table td { padding:14px 12px; }
  .fleet-table thead th:first-child { width:140px; min-width:140px; }
  .fleet-table tr > :first-child { position:sticky; left:0; z-index:1; background:white; border-right:1px solid var(--line); }
  .fleet-table thead tr > :first-child { background:var(--paper); }
  .fleet-table tbody th a { flex-direction:column; align-items:flex-start; gap:6px; font-size:14px; line-height:1.35; }
  .fleet-table tbody th img { width:52px; height:44px; }
  .filter-row { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
  .filter-button { min-width:0; min-height:42px; padding:8px 4px; font-size:14px; } .filter-status { font-size:13px; }
  .fleet-grid { grid-template-columns:1fr; }
  .crane-card { display:grid; grid-template-columns:120px minmax(0,1fr); grid-template-rows:180px auto auto; }
  .crane-card > .crane-photo-link,.crane-catalog-photo { grid-column:1; grid-row:1; }
  .crane-card .crane-photo-link { height:100%; }
  .crane-card .crane-photo-link img { height:100%; aspect-ratio:auto; object-position:center; }
  .crane-card .photo-zoom { width:32px; height:32px; right:8px; bottom:8px; }
  .crane-card-body { display:contents; }
  .crane-card-body > div:first-child { grid-column:2; grid-row:1; min-height:0; padding:18px 16px; justify-content:center; }
  .crane-card h3 { font-size:22px; overflow-wrap:anywhere; }
  .crane-card .spec-list { grid-column:1 / -1; margin:16px 18px 0; }
  .crane-card-body > a { grid-column:1 / -1; margin:0; padding:12px 18px; min-height:56px; }
  .crane-catalog-photo figcaption { font-size:10px; padding:3px 6px; }
  .photo-dialog { width:calc(100% - 16px); height:calc(100dvh - 24px); }
  .photo-toolbar { gap:8px 10px; min-height:69px; padding:12px 66px 12px 12px; } .photo-toolbar h2 { font-size:18px; }
  .photo-toolbar .icon-button { top:12px; right:12px; }
  .photo-viewer { grid-template-columns:1fr 1fr; grid-template-rows:minmax(min-content,1fr) auto; gap:10px; padding:10px; }
  .photo-stage { grid-column:1 / -1; }
  .photo-previous { grid-row:2; justify-self:start; } .photo-next { grid-column:2; grid-row:2; justify-self:end; }
  .photo-footer { flex-direction:column; align-items:stretch; gap:12px; padding:14px; }
  .photo-footer .button { width:100%; }
  .fleet-cta { padding:28px 24px; } .fleet-cta h3 { font-size:27px; }
  .quote-strip { grid-template-columns:1fr; padding-block:28px; gap:18px; } .quote-strip h2 { font-size:26px; }
  .quote-strip .button { justify-self:start; } .calculator-section { padding-block:30px; }
  .calculator-disclosure > summary { gap:20px; }
  .calculator-disclosure > summary h2 { font-size:24px; }
  .calculator-disclosure > summary::after { width:36px; height:36px; flex-basis:36px; }
  .calculator-layout { gap:24px; padding-top:24px; }
  .calc-result { padding:16px 18px; }
  .calc-parameter-grid { grid-template-columns:1fr; gap:14px; }
  .calc-parameter-grid label { display:grid; grid-template-columns:1fr 100px; align-items:center; gap:16px; }
  .process-list { grid-template-columns:1fr; gap:0; }
  .process-list li { padding:0; border-top-width:1px; }
  .process-list summary { grid-template-columns:24px minmax(0,1fr) 32px; min-height:76px; gap:14px; align-items:center; align-content:center; padding:16px 0; }
  .process-list h3 { grid-column:2; font-size:18px; }
  .process-list summary::after { grid-column:3; grid-row:1; align-self:center; }
  .process-list p { padding-left:38px; }
  .checklist-section { gap:16px; }
  .checklist-grid article { grid-template-columns:25px 1fr; gap:8px 12px; }
  .checklist-grid p { grid-column:2; } .checklist-grid strong { font-size:17px; }
  .projects-section { grid-template-columns:1fr; gap:26px; padding-block:32px; } .project-image { width:100%; max-width:420px; justify-self:center; }
  .project-copy h2 { font-size:29px; } .region-grid { gap:0 18px; margin-block:16px; }
  .faq-section { grid-template-columns:1fr; gap:24px; } .faq-section .section-head { margin:0; }
  .faq-grid summary { font-size:16px; min-height:44px; } .faq-grid details p { margin-right:0; }
  .request-section { padding-block:44px; gap:26px; } .request-copy { grid-template-columns:1fr; gap:14px; }
  .contact-card { grid-column:1; grid-row:auto; margin-top:10px; padding-left:18px; }
  .request-form { padding:24px 18px; margin-inline:-6px; width:calc(100% + 12px); } .detailed-request { gap:24px; }
  .form-section { gap:16px; padding-bottom:24px; } .form-section h3 { font-size:18px; }
  .request-order-main { grid-template-columns:1fr; }
  .parameter-help dl { grid-template-columns:1fr; gap:16px; }
  .form-grid,.request-contact-section .form-grid,.checkbox-grid,.boom-layout,.diagram-inputs,.cargo-fields { grid-template-columns:1fr; } .boom-layout { gap:14px; }
  .boom-card { padding:16px; grid-template-columns:92px minmax(0,1fr); gap:12px; } .boom-fields { gap:12px; }
  .measure-field { grid-template-columns:minmax(0,1fr) 62px auto; gap:6px; font-size:13px; } .boom-card img { height:148px; }
  .diagram-inputs { gap:18px; }
  .diagram-inputs label { grid-template-columns:minmax(0,1fr) 108px; align-items:center; }
  .diagram-inputs small { grid-column:1 / -1; } .load-diagram { padding-block:18px; }
  .detailed-request > .button { min-width:0; width:100%; }
  .site-footer { grid-template-columns:1fr; gap:28px; padding-block:32px; } .site-footer nav { font-size:14px; }
  .footer-contact { display:grid; gap:4px; }
  .mobile-contact-bar { position:fixed; bottom:0; left:0; right:0; z-index:65; display:grid; grid-template-columns:1fr 1.45fr; align-items:center; gap:12px; padding:10px var(--page-gutter) calc(10px + env(safe-area-inset-bottom)); background:white; border-top:1px solid var(--line); box-shadow:0 -3px 12px #202b3608; }
  .mobile-contact-bar > a:first-child { display:flex; min-height:46px; align-items:center; justify-content:center; color:var(--blue); font-weight:700; font-size:15px; }
  .mobile-contact-bar .button { min-height:46px; padding:10px 12px; font-size:14px; }
  .legal-header { padding:16px; } .legal-header .brand { width:180px; } .legal-header .button { font-size:13px; padding:10px; }
  .legal-page { padding-block:24px; } .legal-content { padding:24px 20px; }
  .legal-content h1 { font-size:32px; overflow-wrap:anywhere; } .legal-content section h2 { font-size:23px; }
  .legal-footer { flex-wrap:wrap; padding:22px 20px; } .error-page main { padding:28px 22px; } .error-page h1 { font-size:34px; }
}
@media (max-width:380px) {
  :root { --page-gutter:16px; }
  .hero h1 { font-size:32px; }
  .market-grid { grid-template-columns:1fr; } .boom-card { grid-template-columns:1fr; } .boom-card img { height:140px; }
  .measure-field { grid-template-columns:1fr 78px auto; font-size:14px; } .calc-panel { grid-template-columns:1fr; }
}
@media (forced-colors:active) {
  .nav-toggle span,.nav-toggle span::before,.nav-toggle span::after { background:none; border-top:2px solid currentColor; }
  .site-header.is-open .nav-toggle span { border-top:0; }
  .nav a.is-active { text-decoration:underline; text-underline-offset:4px; }
  .filter-button[aria-pressed="true"] { forced-color-adjust:none; background:Highlight; color:HighlightText; border-color:Highlight; outline-color:Highlight; text-decoration:underline; text-underline-offset:4px; }
  .photo-dialog { outline:2px solid CanvasText; }
  .lead-form :is(input,select,textarea)[aria-invalid="true"] { border-style:dashed; }
  .boom-card img { mix-blend-mode:normal; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }
}
