:root {
  --ink: #0c2631;
  --deep: #003f58;
  --blue: #00668b;
  --sky: #70b7e5;
  --pale: #dff2fb;
  --paper: #f5f7f6;
  --white: #fff;
  --line: rgba(12, 38, 49, .15);
  --muted: #5c6d74;
  --shadow: 0 30px 80px rgba(0, 44, 61, .14);
  --radius: 24px;
  --container: min(1380px, calc(100vw - 72px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Montserrat", "Arial", sans-serif; line-height: 1.5; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img, video { max-width: 100%; display: block; }
button { color: inherit; }

.site-header { position: fixed; z-index: 50; left: 0; right: 0; top: 0; height: 86px; padding: 0 36px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 36px; color: white; border-bottom: 1px solid rgba(255,255,255,.2); transition: .3s ease; }
.site-header.is-scrolled { height: 72px; color: var(--ink); background: rgba(245,247,246,.93); border-color: var(--line); backdrop-filter: blur(18px); }
.brand { display: flex; align-items: center; gap: 14px; min-width: 215px; }
.brand img { width: 152px; height: auto; filter: brightness(0) invert(1); }
.site-header.is-scrolled .brand img { filter: none; }
.brand span { font-size: 10px; line-height: 1.2; text-transform: uppercase; letter-spacing: .08em; max-width: 90px; opacity: .72; }
.desktop-nav { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2.2vw, 38px); font-size: 14px; }
.desktop-nav a { position: relative; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 1px; background: currentColor; transition: .25s; }
.desktop-nav a:hover::after { right: 0; }
.header-contact { display: flex; align-items: center; gap: 22px; font-size: 14px; white-space: nowrap; }
.header-cta { padding: 12px 18px; border: 1px solid currentColor; border-radius: 999px; }
.menu-button, .mobile-menu { display: none; }

.hero { min-height: 860px; height: 100svh; position: relative; color: white; overflow: hidden; background: var(--deep); }
.hero-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.03); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,38,55,.93) 0%, rgba(0,45,64,.74) 43%, rgba(0,45,64,.12) 72%), linear-gradient(0deg, rgba(0,24,34,.66), transparent 55%); }
.mesh-glow { position: absolute; right: -12vw; top: -20vw; width: 52vw; aspect-ratio: 1; border: 1px solid rgba(112,183,229,.55); transform: rotate(45deg); box-shadow: 0 0 140px rgba(112,183,229,.18) inset; }
.hero-content { position: absolute; z-index: 2; left: max(36px, calc((100vw - 1380px)/2)); bottom: 188px; width: min(830px, calc(100vw - 72px)); }
.eyebrow { margin: 0 0 22px; color: var(--blue); font-size: 12px; letter-spacing: .17em; font-weight: 700; }
.eyebrow.light { color: #bfeaff; }
.hero h1 { margin: 0; max-width: 900px; font-size: clamp(52px, 5.5vw, 90px); line-height: .95; letter-spacing: -.045em; font-weight: 600; }
.hero-copy { margin: 28px 0 34px; max-width: 680px; font-size: 20px; line-height: 1.5; color: rgba(255,255,255,.82); }
.button { display: inline-flex; min-height: 56px; padding: 0 26px; align-items: center; justify-content: center; border-radius: 999px; border: 0; font-size: 15px; font-weight: 700; cursor: pointer; transition: transform .2s, background .2s, color .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--sky); color: #072d3c; }
.button-primary:hover { background: white; }
.button-light { background: white; color: var(--deep); }
.hero-proof { position: absolute; z-index: 2; bottom: 0; left: 0; right: 0; min-height: 118px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.25); backdrop-filter: blur(12px); background: rgba(0,38,55,.28); padding-left: max(36px, calc((100vw - 1380px)/2)); padding-right: max(36px, calc((100vw - 1380px)/2)); }
.hero-proof div { padding: 28px 0; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(255,255,255,.22); }
.hero-proof div + div { padding-left: 38px; }
.hero-proof div:last-child { border-right: 0; }
.hero-proof strong { font-size: 18px; font-weight: 600; }
.hero-proof span { color: rgba(255,255,255,.6); font-size: 13px; }

.section { width: var(--container); margin: 0 auto; padding: 140px 0; }
.section-heading { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .65fr); align-items: end; gap: 70px; margin-bottom: 64px; }
.section-heading h2, .volume-copy h2, .production-intro h2, .expertise-copy h2, .quiz-copy h2, .certificate-copy h2, .final-copy h2 { margin: 0; font-size: clamp(42px, 4.6vw, 72px); line-height: 1.02; letter-spacing: -.04em; font-weight: 600; }
.section-heading > p { margin: 0; color: var(--muted); font-size: 17px; max-width: 500px; }

.calculator-section { padding-bottom: 110px; }
.calculator-heading { margin-bottom: 42px; }
.scenario-tabs { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-bottom: 0; border-radius: 24px 24px 0 0; overflow: hidden; background: white; }
.scenario-card { appearance: none; min-height: 180px; padding: 26px; text-align: left; border: 0; border-right: 1px solid var(--line); background: white; cursor: pointer; display: flex; flex-direction: column; transition: .25s; }
.scenario-card:last-child { border-right: 0; }
.scenario-card > span { color: var(--blue); font-size: 12px; letter-spacing: .1em; }
.scenario-card strong { margin-top: auto; font-size: 20px; line-height: 1.2; }
.scenario-card small { margin-top: 7px; color: var(--muted); }
.scenario-card.is-active { color: white; background: var(--deep); }
.scenario-card.is-active span, .scenario-card.is-active small { color: #bce8ff; }
.open-form { overflow: hidden; border-radius: 0 0 24px 24px; background: white; box-shadow: var(--shadow); }
.form-step { display: grid; grid-template-columns: 105px 1fr; border-top: 1px solid var(--line); }
.step-number { padding: 34px; color: var(--blue); font-size: 13px; letter-spacing: .1em; border-right: 1px solid var(--line); }
.form-content { padding: 38px 44px 46px; }
.form-content h3 { margin: 0 0 28px; font-size: 26px; font-weight: 600; }
.form-grid, .final-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.form-grid label, .final-form label { display: flex; flex-direction: column; gap: 9px; color: #40565f; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.form-grid input, .form-grid select, .form-grid textarea, .final-form input, .final-form select, .final-form textarea { width: 100%; padding: 15px 17px; border-radius: 12px; border: 1px solid var(--line); background: #f8faf9; color: var(--ink); text-transform: none; letter-spacing: 0; outline: none; transition: border .2s, box-shadow .2s; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus, .final-form input:focus, .final-form select:focus, .final-form textarea:focus { border-color: var(--sky); box-shadow: 0 0 0 4px rgba(112,183,229,.14); }
.form-grid textarea, .final-form textarea { resize: vertical; }
.span-2 { grid-column: 1 / -1; }
.input-combo { display: grid; grid-template-columns: 1fr 112px; }
.input-combo input { border-radius: 12px 0 0 12px; }
.input-combo select { border-radius: 0 12px 12px 0; border-left: 0; }
.service-checks { margin: 24px 0 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.service-checks legend { width: 100%; margin-bottom: 6px; color: #40565f; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.service-checks label { cursor: pointer; }
.service-checks input { position: absolute; opacity: 0; }
.service-checks span { display: block; padding: 11px 15px; border: 1px solid var(--line); border-radius: 999px; font-size: 14px; }
.service-checks input:checked + span { background: var(--deep); border-color: var(--deep); color: white; }
.file-field { position: relative; justify-content: center; min-height: 76px; padding: 14px 17px; border: 1px dashed rgba(0,102,139,.35); border-radius: 12px; cursor: pointer; background: #f7fbfd; }
.file-field input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.file-field span { color: var(--muted); font-size: 12px; text-transform: none; letter-spacing: 0; font-weight: 400; }
.form-submit-row { margin-top: 25px; display: flex; align-items: center; gap: 24px; }
.form-submit-row p { margin: 0; color: var(--muted); font-size: 12px; max-width: 450px; }
.form-success { margin-top: 18px; padding: 14px 18px; border-radius: 12px; background: #e8f7ef; color: #1d6341; font-size: 14px; }

.applications-section { padding-top: 90px; }
.application-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.application-card { position: relative; grid-column: span 4; min-height: 330px; padding: 26px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; color: white; background: var(--deep); border-radius: var(--radius); isolation: isolate; }
.application-card::before, .case-card::before { content: ""; position: absolute; inset: 0; z-index: -2; background: repeating-linear-gradient(135deg, rgba(112,183,229,.32) 0 3px, transparent 3px 32px), linear-gradient(155deg, #0b8bb2, #002d40 72%); transform: scale(1.03); }
.application-card::after, .case-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(0,25,35,.95) 5%, rgba(0,40,58,.08) 74%); }
.application-card.featured { grid-column: span 6; min-height: 430px; }
.application-card.compact { grid-column: span 4; min-height: 280px; background: white; color: var(--ink); border: 1px solid var(--line); }
.application-card.compact::before { background: linear-gradient(135deg, rgba(112,183,229,.14), transparent 45%), repeating-linear-gradient(60deg, transparent 0 28px, rgba(0,102,139,.06) 28px 30px); }
.application-card.compact::after { display: none; }
.application-card.accent { background: var(--sky); border: 0; }
.app-facade::before { background: repeating-linear-gradient(90deg, transparent 0 38px, rgba(112,183,229,.42) 38px 42px), linear-gradient(135deg, #4aa7d5, #002c40 70%); }
.app-fence::before { background: repeating-linear-gradient(45deg, rgba(112,183,229,.4) 0 4px, transparent 4px 34px), repeating-linear-gradient(-45deg, rgba(112,183,229,.25) 0 4px, transparent 4px 34px), #004b68; }
.app-floor::before { background: repeating-linear-gradient(125deg, rgba(255,255,255,.18) 0 6px, transparent 6px 30px), linear-gradient(130deg, #60747a, #071e28); }
.card-index { font-size: 12px; letter-spacing: .12em; opacity: .75; }
.application-card h3 { margin: 0 0 8px; font-size: 28px; line-height: 1.05; }
.application-card p { margin: 0 0 20px; max-width: 420px; color: rgba(255,255,255,.7); }
.application-card.compact p { color: var(--muted); }
.application-card button { appearance: none; padding: 0 0 5px; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer; font-weight: 700; }

.volume-section { width: 100%; padding: 120px max(36px, calc((100vw - 1380px)/2)); display: grid; grid-template-columns: 1.05fr .95fr; gap: 100px; color: white; background: var(--deep); }
.volume-copy > p:not(.eyebrow) { max-width: 650px; color: rgba(255,255,255,.68); font-size: 17px; }
.volume-steps { margin: 42px 0 24px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.25); }
.volume-steps span { padding: 20px 12px 0 0; color: rgba(255,255,255,.42); font-size: 13px; }
.volume-steps span.is-current { color: white; border-top: 3px solid var(--sky); margin-top: -2px; }
.volume-note { font-size: 12px !important; }
.volume-control { align-self: center; padding: 42px; border-radius: 24px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); }
.volume-control label { display: flex; justify-content: space-between; gap: 30px; margin-bottom: 24px; }
.volume-control input[type="range"] { width: 100%; accent-color: var(--sky); }
.range-labels { display: flex; justify-content: space-between; color: rgba(255,255,255,.45); font-size: 11px; }
.price-result { margin: 35px 0 26px; padding: 24px 0; display: flex; flex-direction: column; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.price-result span, .price-result small { color: rgba(255,255,255,.5); }
.price-result strong { margin: 7px 0; font-size: 26px; }

.material-rail { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: white; }
.material-rail button { appearance: none; min-height: 250px; padding: 26px; display: flex; align-items: flex-start; flex-direction: column; text-align: left; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: transparent; cursor: pointer; }
.material-rail button:nth-child(4n) { border-right: 0; }
.material-rail button:nth-last-child(-n+4) { border-bottom: 0; }
.material-rail i { width: 100%; height: 72px; margin-bottom: auto; border-radius: 8px; background: linear-gradient(125deg, #a8b0b2, #edf1f2 45%, #677277); }
.material-rail i.stainless { background: linear-gradient(125deg, #53616a, #f6f8fa 45%, #9eaaaf); }
.material-rail i.zinc { background: linear-gradient(125deg, #8c9996, #e9f0e9 45%, #748a82); }
.material-rail i.aluminum { background: linear-gradient(125deg, #d7dfe4, #fff 45%, #a6b1b6); }
.material-rail i.copper { background: linear-gradient(125deg, #6f321c, #dc8b55 45%, #8a4328); }
.material-rail i.brass { background: linear-gradient(125deg, #6a5518, #e0c66c 45%, #8d7421); }
.material-rail i.titanium { background: linear-gradient(125deg, #46525e, #a7c3cc 45%, #6c5577); }
.material-rail i.other { background: linear-gradient(125deg, var(--deep), var(--sky) 45%, #8ca6af); }
.material-rail strong { margin-top: 22px; font-size: 20px; }
.material-rail span { margin-top: 7px; color: var(--muted); font-size: 13px; }

.services-section { padding-top: 80px; }
.service-list { border-top: 1px solid var(--line); }
.service-list article { min-height: 150px; display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 30px; border-bottom: 1px solid var(--line); }
.service-list article > span { color: var(--blue); font-size: 12px; }
.service-list h3 { margin: 0; font-size: 32px; }
.service-list p { margin: 6px 0 0; color: var(--muted); }
.service-list button, .text-link { appearance: none; padding: 10px 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--blue); font-weight: 700; cursor: pointer; }
.service-list button.is-added { color: #26704a; }

.production-section { padding: 130px max(36px, calc((100vw - 1380px)/2)); color: white; background: #071e28; }
.production-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: end; margin-bottom: 54px; }
.production-intro .eyebrow, .production-intro h2 { grid-column: 1; }
.production-intro h2 { margin-top: -16px; }
.production-intro > p:last-child { grid-column: 2; grid-row: 1 / 3; align-self: end; color: rgba(255,255,255,.65); font-size: 17px; }
.video-frame { position: relative; overflow: hidden; border-radius: 28px; background: #00141d; box-shadow: 0 45px 100px rgba(0,0,0,.25); }
.video-frame video { width: 100%; aspect-ratio: 16/8; object-fit: cover; }
.video-caption { position: absolute; left: 20px; bottom: 20px; padding: 13px 17px; display: flex; flex-direction: column; border-radius: 10px; background: rgba(0,29,41,.74); backdrop-filter: blur(12px); pointer-events: none; }
.video-caption small { color: rgba(255,255,255,.55); }
.media-placeholders { margin-top: 18px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.media-placeholders div { min-height: 170px; padding: 22px; display: flex; flex-direction: column; justify-content: flex-end; border: 1px dashed rgba(112,183,229,.42); border-radius: 18px; background: repeating-linear-gradient(135deg, rgba(112,183,229,.04) 0 8px, transparent 8px 22px); }
.media-placeholders span { margin-bottom: auto; color: var(--sky); font-size: 11px; }
.media-placeholders small { color: rgba(255,255,255,.45); }

.expertise-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; }
.expertise-copy > p:not(.eyebrow) { color: var(--muted); font-size: 17px; }
.expertise-copy ul { margin: 34px 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); list-style: none; border-top: 1px solid var(--line); }
.expertise-copy li { padding: 15px 0; border-bottom: 1px solid var(--line); color: var(--muted); }
.expertise-copy li span { display: inline-flex; width: 35px; color: var(--blue); font-weight: 700; }
.cell-diagram { min-height: 620px; display: grid; place-items: center; overflow: hidden; border-radius: 30px; background: var(--deep); color: rgba(112,183,229,.33); }
.cell-diagram svg { width: 100%; }

.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.case-card { position: relative; min-height: 560px; padding: 24px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; color: white; border-radius: var(--radius); isolation: isolate; }
.case-b::before { background: repeating-linear-gradient(90deg, transparent 0 48px, rgba(255,255,255,.18) 48px 52px), linear-gradient(135deg, #3d7c90, #092b38 70%); }
.case-c::before { background: repeating-linear-gradient(45deg, rgba(112,183,229,.23) 0 4px, transparent 4px 32px), #204957; }
.case-label { align-self: flex-start; padding: 9px 13px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.case-bottom h3 { margin: 0 0 24px; font-size: 30px; line-height: 1.08; }
.case-bottom dl { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.32); }
.case-bottom dl div { padding-top: 16px; }
.case-bottom dt { color: rgba(255,255,255,.5); font-size: 10px; text-transform: uppercase; }
.case-bottom dd { margin: 4px 0 0; }

.quiz-section { padding: 120px max(36px, calc((100vw - 1380px)/2)); display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; color: white; background: var(--blue); }
.quiz-copy > p:not(.eyebrow) { color: rgba(255,255,255,.68); }
.quiz-progress { width: 100%; height: 3px; margin: 38px 0 10px; background: rgba(255,255,255,.22); }
.quiz-progress span { display: block; width: 20%; height: 100%; background: var(--sky); transition: .3s; }
.quiz-copy small { color: rgba(255,255,255,.55); }
.quiz-panel { min-height: 430px; position: relative; padding: 44px; border-radius: 24px; background: white; color: var(--ink); }
.quiz-step { display: none; }
.quiz-step.is-active { display: block; }
.quiz-step h3, .quiz-result h3 { margin: 0 0 30px; font-size: 30px; }
.quiz-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.quiz-options button { appearance: none; min-height: 72px; padding: 14px 18px; text-align: left; border: 1px solid var(--line); border-radius: 12px; background: #f7f9f8; cursor: pointer; }
.quiz-options button:hover { border-color: var(--sky); background: #eef8fc; }
.quiz-back { appearance: none; cursor: pointer; }
.quiz-back:disabled { opacity: .35; }
.quiz-result > p { color: var(--blue); text-transform: uppercase; letter-spacing: .1em; font-size: 11px; font-weight: 700; }

.certificate-section { display: grid; grid-template-columns: .72fr 1.28fr; gap: 90px; align-items: center; }
.certificate-image { padding: 28px; border-radius: 24px; background: white; box-shadow: var(--shadow); }
.certificate-image img { max-height: 620px; margin: auto; object-fit: contain; }
.certificate-copy p { color: var(--muted); font-size: 17px; }
.certificate-copy ul { margin: 30px 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.certificate-copy li { padding: 15px 0; border-bottom: 1px solid var(--line); }

.process-section { padding-top: 80px; }
.process-list { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; border-top: 1px solid var(--line); }
.process-list li { min-height: 250px; padding: 28px 26px 28px 0; border-right: 1px solid var(--line); }
.process-list li + li { padding-left: 26px; }
.process-list span { display: block; margin-bottom: 70px; color: var(--blue); font-size: 12px; }
.process-list strong { font-size: 24px; }
.process-list p { color: var(--muted); }

.final-section { padding: 120px max(36px, calc((100vw - 1380px)/2)); display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; color: white; background: #051c25; }
.final-copy > p:not(.eyebrow) { color: rgba(255,255,255,.65); font-size: 17px; }
.final-contact { margin-top: 40px; display: flex; flex-direction: column; gap: 10px; font-size: 20px; }
.final-form { padding: 40px; align-self: start; border-radius: 24px; background: white; color: var(--ink); }
.final-form .button { align-self: end; }
.form-disclaimer { margin: 0; color: var(--muted); font-size: 11px; }

.site-footer { padding: 48px max(36px, calc((100vw - 1380px)/2)); display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; gap: 40px; background: #00131b; color: rgba(255,255,255,.7); border-top: 1px solid rgba(255,255,255,.12); }
.footer-brand img { filter: brightness(0) invert(1); }
.site-footer p { margin: 0; font-size: 13px; }
.site-footer > div:last-child { display: flex; flex-direction: column; justify-self: end; text-align: right; }

[hidden] { display: none !important; }

@media (max-width: 1100px) {
  :root { --container: min(100% - 44px, 1000px); }
  .desktop-nav, .header-contact .header-cta { display: none; }
  .site-header { grid-template-columns: auto 1fr auto; padding: 0 22px; }
  .header-contact { justify-self: end; }
  .menu-button { width: 44px; height: 44px; display: grid; place-content: center; gap: 7px; border: 0; border-radius: 50%; background: rgba(255,255,255,.14); }
  .menu-button span { display: block; width: 20px; height: 1px; background: currentColor; }
  .mobile-menu { position: fixed; z-index: 49; top: 72px; left: 0; right: 0; padding: 24px; display: none; flex-direction: column; gap: 18px; color: var(--ink); background: var(--paper); border-bottom: 1px solid var(--line); }
  .mobile-menu.is-open { display: flex; }
  .hero { min-height: 760px; }
  .scenario-tabs { grid-template-columns: repeat(2, 1fr); }
  .scenario-card:nth-child(2) { border-right: 0; }
  .scenario-card:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .application-card, .application-card.compact { grid-column: span 6; }
  .volume-section, .quiz-section, .final-section { grid-template-columns: 1fr; gap: 58px; }
  .material-rail { grid-template-columns: repeat(2, 1fr); }
  .material-rail button:nth-child(2n) { border-right: 0; }
  .material-rail button:nth-last-child(-n+4) { border-bottom: 1px solid var(--line); }
  .material-rail button:nth-last-child(-n+2) { border-bottom: 0; }
  .production-intro { grid-template-columns: 1fr; }
  .production-intro > p:last-child { grid-column: 1; grid-row: auto; }
  .expertise-section, .certificate-section { grid-template-columns: 1fr; }
  .case-grid { grid-template-columns: 1fr 1fr; }
  .case-card:last-child { grid-column: 1 / -1; min-height: 420px; }
  .process-list { grid-template-columns: repeat(2, 1fr); }
  .process-list li:nth-child(2) { border-right: 0; }
  .site-footer { grid-template-columns: 1fr 1fr; }
  .site-footer p { display: none; }
}

@media (max-width: 720px) {
  :root { --container: calc(100% - 28px); --radius: 18px; }
  .site-header { height: 70px; }
  .brand img { width: 132px; }
  .brand span, .header-contact { display: none; }
  .hero { min-height: 720px; height: 100svh; }
  .hero-shade { background: linear-gradient(0deg, rgba(0,27,39,.97) 12%, rgba(0,40,57,.74) 70%, rgba(0,40,57,.25)); }
  .hero-content { left: 20px; right: 20px; bottom: 202px; width: auto; }
  .hero h1 { font-size: clamp(42px, 12vw, 58px); }
  .hero-copy { margin: 22px 0 26px; font-size: 16px; }
  .hero-proof { min-height: 150px; grid-template-columns: 1fr; padding: 14px 20px; }
  .hero-proof div, .hero-proof div + div { min-height: 41px; padding: 4px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.14); flex-direction: row; justify-content: space-between; align-items: center; }
  .hero-proof div:last-child { border: 0; }
  .hero-proof strong { font-size: 14px; }
  .hero-proof span { font-size: 11px; }
  .section { padding: 90px 0; }
  .section-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 38px; }
  .section-heading h2, .volume-copy h2, .production-intro h2, .expertise-copy h2, .quiz-copy h2, .certificate-copy h2, .final-copy h2 { font-size: 42px; }
  .section-heading > p { font-size: 15px; }
  .scenario-tabs { grid-template-columns: 1fr; border-radius: 18px 18px 0 0; }
  .scenario-card { min-height: 125px; border-right: 0; border-bottom: 1px solid var(--line); }
  .form-step { grid-template-columns: 1fr; }
  .step-number { padding: 20px 22px; border-right: 0; border-bottom: 1px solid var(--line); }
  .form-content { padding: 26px 20px 34px; }
  .form-grid, .final-form { grid-template-columns: 1fr; }
  .span-2 { grid-column: auto; }
  .form-submit-row { align-items: flex-start; flex-direction: column; }
  .application-grid { grid-template-columns: 1fr; }
  .application-card, .application-card.compact, .application-card.featured { grid-column: 1; min-height: 310px; }
  .application-card.compact { min-height: 250px; }
  .volume-section, .production-section, .quiz-section, .final-section { padding: 90px 20px; }
  .volume-steps { grid-template-columns: 1fr; border-top: 0; }
  .volume-steps span { padding: 12px 0; border-top: 1px solid rgba(255,255,255,.2); }
  .volume-control { padding: 25px 20px; }
  .material-rail { grid-template-columns: 1fr; }
  .material-rail button { min-height: 210px; border-right: 0 !important; border-bottom: 1px solid var(--line) !important; }
  .material-rail button:last-child { border-bottom: 0 !important; }
  .service-list article { padding: 24px 0; grid-template-columns: 40px 1fr; }
  .service-list article button { grid-column: 2; justify-self: start; }
  .video-frame video { aspect-ratio: 4/3; }
  .video-caption { display: none; }
  .media-placeholders { grid-template-columns: 1fr 1fr; }
  .media-placeholders div { min-height: 145px; }
  .cell-diagram { min-height: 410px; }
  .expertise-copy ul { grid-template-columns: 1fr; }
  .case-grid { grid-template-columns: 1fr; }
  .case-card, .case-card:last-child { grid-column: auto; min-height: 480px; }
  .quiz-panel { min-height: 500px; padding: 28px 20px; }
  .quiz-options { grid-template-columns: 1fr; }
  .quiz-back { left: 20px; }
  .certificate-image { padding: 14px; }
  .process-list { grid-template-columns: 1fr; }
  .process-list li, .process-list li + li { min-height: 180px; padding: 22px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .process-list span { margin-bottom: 35px; }
  .final-form { padding: 24px 20px; }
  .site-footer { padding: 36px 20px; grid-template-columns: 1fr; }
  .site-footer > div:last-child { justify-self: start; text-align: left; }
}

/* Deferred project gallery. */
.projects-gallery {
  display: flex;
  min-height: calc(100vh - 72px);
  min-height: calc(100svh - 72px);
  margin-top: clamp(3rem, 5vw, 5rem);
  padding-top: clamp(2rem, 3.5vh, 3rem);
  padding-bottom: clamp(2rem, 3.5vh, 3rem);
  flex-direction: column;
  justify-content: center;
  border-top: 1px solid rgba(31, 40, 36, .16);
}

.projects-gallery-head {
  margin-bottom: clamp(1.25rem, 2.2vh, 1.8rem);
  text-align: center;
}

.projects-gallery-head h2 {
  max-width: 23ch;
  margin: 0 auto;
  color: var(--ink);
  font-size: clamp(2.25rem, 3.5vw, 3.35rem);
  line-height: 1;
  letter-spacing: 0;
}

.projects-gallery-head .eyebrow { margin-bottom: .75rem; }

.projects-gallery-controls {
  position: absolute;
  z-index: 3;
  inset: 0;
  pointer-events: none;
}

.projects-gallery-controls button {
  position: absolute;
  top: 50%;
  width: 3.25rem;
  height: 3.25rem;
  border: 1px solid rgba(255, 255, 255, .72);
  color: #fff;
  background: rgba(15, 22, 19, .62);
  font-size: 1.3rem;
  cursor: pointer;
  pointer-events: auto;
  transform: translateY(-50%);
  backdrop-filter: blur(5px);
  transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.projects-gallery-prev { left: 1.25rem; }
.projects-gallery-next { right: 1.25rem; }

.projects-gallery-controls button:hover {
  color: #fff;
  background: #b86b3c;
  border-color: #b86b3c;
}

.projects-gallery-controls output {
  position: absolute;
  left: 50%;
  bottom: 1rem;
  min-width: 4.8rem;
  padding: .55rem .75rem;
  color: #fff;
  background: rgba(15, 22, 19, .68);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-align: center;
  transform: translateX(-50%);
  backdrop-filter: blur(5px);
}

.projects-gallery-stage {
  position: relative;
  overflow: hidden;
  height: clamp(23rem, 55vh, 38rem);
  min-height: 0;
  background: #d9dfda;
}

.projects-gallery-stage img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: opacity .22s ease;
}

.projects-gallery-stage.is-loading img { opacity: .45; }

.projects-gallery-loader {
  position: absolute;
  top: 50%;
  left: 50%;
  display: none;
  width: 2.25rem;
  height: 2.25rem;
  margin: -1.125rem;
  border: 2px solid rgba(255, 255, 255, .42);
  border-top-color: #fff;
  border-radius: 50%;
  animation: projects-loader .8s linear infinite;
}

.projects-gallery-stage.is-loading .projects-gallery-loader { display: block; }

@keyframes projects-loader { to { transform: rotate(360deg); } }

.projects-gallery-thumbs {
  display: flex;
  gap: .65rem;
  margin-top: .75rem;
  padding-bottom: .4rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}

.projects-gallery-thumbs button {
  position: relative;
  flex: 0 0 clamp(7.5rem, 11vw, 10rem);
  overflow: hidden;
  padding: 0;
  aspect-ratio: 1.6;
  border: 2px solid transparent;
  background: #d9dfda;
  cursor: pointer;
  scroll-snap-align: start;
}

.projects-gallery-thumbs button::after {
  position: absolute;
  inset: 0;
  content: "";
  background: rgba(16, 22, 19, .23);
  transition: opacity .2s ease;
}

.projects-gallery-thumbs button:hover::after,
.projects-gallery-thumbs button.is-active::after { opacity: 0; }
.projects-gallery-thumbs button.is-active { border-color: #b86b3c; }

.projects-gallery-thumbs img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 720px) {
  .projects-gallery {
    min-height: calc(100svh - 66px);
    margin-top: 2.5rem;
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
  }
  .projects-gallery-head { margin-bottom: 1.15rem; }
  .projects-gallery-head h2 { max-width: 18ch; font-size: clamp(1.75rem, 7.6vw, 2.15rem); line-height: 1.02; }
  .projects-gallery-stage { height: clamp(16rem, 44svh, 24rem); }
  .projects-gallery-controls button { width: 3rem; height: 3rem; }
  .projects-gallery-prev { left: .65rem; }
  .projects-gallery-next { right: .65rem; }
  .projects-gallery-controls output { bottom: .65rem; }
  .projects-gallery-thumbs button { flex-basis: 6.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
}

/* Visual system inherited from the separate facade landing:
   warm editorial background, carbon sections and copper actions. */
:root {
  --ink: #111413;
  --deep: #101514;
  --blue: #c98043;
  --sky: #d59052;
  --pale: #efe6d6;
  --paper: #eee6d8;
  --white: #f8f3e9;
  --line: rgba(17, 20, 19, .18);
  --muted: #6a685f;
  --shadow: 0 24px 70px rgba(18, 15, 10, .16);
  --radius: 4px;
  --container: min(1240px, calc(100vw - 80px));
}

body { background: var(--paper); color: var(--ink); font-family: "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif; }
.site-header { height: 76px; padding: 0 34px; background: rgba(12,16,15,.34); border-color: rgba(226,197,161,.28); }
.site-header.is-scrolled { height: 68px; color: #f5eddf; background: rgba(14,18,17,.96); border-color: rgba(226,197,161,.18); }
.brand img, .site-header.is-scrolled .brand img, .footer-brand img { filter: none; }
.brand span { color: #c8b8a2; }
.desktop-nav { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
.header-cta { padding: 11px 18px; color: #171b19; background: var(--sky); border-color: var(--sky); border-radius: 2px; }

.hero { min-height: 790px; background: #0b100f; }
.hero-media { filter: grayscale(.72) sepia(.48) saturate(.72) brightness(.65) contrast(1.15); }
.hero-shade { background: linear-gradient(90deg, rgba(8,12,11,.97) 0%, rgba(11,15,14,.76) 47%, rgba(11,15,14,.14) 76%), linear-gradient(0deg, rgba(7,10,9,.88), transparent 56%); }
.mesh-glow { right: -18vw; top: -24vw; border-color: rgba(213,144,82,.42); box-shadow: 0 0 160px rgba(213,144,82,.1) inset; }
.hero-content { bottom: 176px; width: min(800px, calc(100vw - 72px)); }
.eyebrow, .eyebrow.light { color: var(--sky); font-size: 11px; letter-spacing: .13em; }
.hero h1 { max-width: 780px; font-size: clamp(58px, 6.2vw, 96px); line-height: .86; text-transform: uppercase; letter-spacing: -.055em; font-weight: 900; }
.hero-copy { max-width: 620px; font-size: 16px; color: rgba(248,243,233,.72); }
.button { min-height: 52px; border-radius: 2px; text-transform: uppercase; letter-spacing: .035em; font-size: 12px; }
.button-primary { color: #141715; background: var(--sky); }
.button-primary:hover { color: #f8f3e9; background: #a9632e; }
.button-light { color: #141715; background: var(--paper); }
.hero-proof { min-height: 104px; background: rgba(12,16,15,.8); border-color: rgba(226,197,161,.25); backdrop-filter: blur(8px); }
.hero-proof div { padding: 23px 0; border-color: rgba(226,197,161,.2); }
.hero-proof strong { text-transform: uppercase; font-size: 14px; letter-spacing: .025em; }
.hero-proof span { color: rgba(248,243,233,.46); }

.section { padding: 112px 0; }
.section:nth-of-type(2n + 3) { background: transparent; }
.section-heading { grid-template-columns: 1.25fr .55fr; margin-bottom: 50px; gap: 90px; }
.section-heading h2, .volume-copy h2, .production-intro h2, .expertise-copy h2, .quiz-copy h2, .certificate-copy h2, .final-copy h2 { font-size: clamp(48px, 5vw, 74px); line-height: .88; text-transform: uppercase; letter-spacing: -.055em; font-weight: 900; }
.section-heading > p { font-size: 14px; }

.calculator-section { width: 100%; padding-left: max(40px, calc((100vw - 1240px)/2)); padding-right: max(40px, calc((100vw - 1240px)/2)); background: #e8decd; }
.scenario-tabs { border-radius: 3px 3px 0 0; background: #f7f1e6; }
.scenario-card { min-height: 150px; padding: 22px; background: #f7f1e6; }
.scenario-card strong { text-transform: uppercase; font-size: 17px; line-height: 1.05; }
.scenario-card.is-active { color: #151816; background: var(--sky); }
.scenario-card.is-active span, .scenario-card.is-active small { color: rgba(21,24,22,.65); }
.open-form { border-radius: 0 0 3px 3px; background: #f7f1e6; box-shadow: 0 22px 55px rgba(41,31,20,.15); }
.form-content h3 { text-transform: uppercase; font-size: 24px; font-weight: 900; }
.form-grid input, .form-grid select, .form-grid textarea, .final-form input, .final-form select, .final-form textarea { border-radius: 2px; background: #eee6d9; border-color: rgba(17,20,19,.2); }
.service-checks span { border-radius: 2px; background: #eee6d9; }
.service-checks input:checked + span { color: #f7f1e6; background: #121716; border-color: #121716; }
.file-field { border-radius: 2px; background: #eee6d9; border-color: rgba(201,128,67,.55); }

.applications-section { padding-top: 110px; }
.application-grid { gap: 12px; }
.application-card { border-radius: 3px; min-height: 310px; background: #101514; }
.application-card::before, .case-card::before { background: repeating-linear-gradient(135deg, rgba(213,144,82,.21) 0 2px, transparent 2px 28px), linear-gradient(155deg, #5c4938, #101514 70%); filter: grayscale(.18) sepia(.28); }
.application-card::after, .case-card::after { background: linear-gradient(0deg, rgba(8,12,11,.97) 5%, rgba(10,14,13,.12) 76%); }
.application-card.compact { color: var(--ink); background: #f7f1e6; border-color: rgba(17,20,19,.16); }
.application-card.compact::before { background: repeating-linear-gradient(60deg, transparent 0 26px, rgba(201,128,67,.08) 26px 28px), linear-gradient(135deg, rgba(213,144,82,.12), transparent 50%); }
.application-card.accent { color: #141715; background: var(--sky); }
.app-facade::before { background: repeating-linear-gradient(90deg, transparent 0 38px, rgba(213,144,82,.28) 38px 41px), linear-gradient(135deg, #80654b, #111615 72%); }
.app-fence::before { background: repeating-linear-gradient(45deg, rgba(213,144,82,.25) 0 3px, transparent 3px 32px), repeating-linear-gradient(-45deg, rgba(213,144,82,.12) 0 3px, transparent 3px 32px), #262c29; }
.app-floor::before { background: repeating-linear-gradient(125deg, rgba(213,144,82,.2) 0 5px, transparent 5px 28px), linear-gradient(130deg, #5b5147, #111514); }
.application-card h3 { text-transform: uppercase; font-size: 27px; font-weight: 900; letter-spacing: -.025em; }
.application-card p { font-size: 13px; }
.application-card button { color: var(--sky); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.application-card.compact button, .application-card.accent button { color: #7b451f; }

.volume-section { padding-top: 105px; padding-bottom: 105px; color: #f8f3e9; background: #101514; }
.volume-control { border-radius: 3px; background: #252a27; border-color: rgba(213,144,82,.22); }
.volume-control input[type="range"] { accent-color: var(--sky); }
.volume-steps span.is-current { border-color: var(--sky); }
.price-result strong { color: var(--sky); text-transform: uppercase; }

.material-rail { border-radius: 3px; background: #f7f1e6; }
.material-rail button { background: #f7f1e6; }
.material-rail i { height: 58px; border-radius: 0; filter: saturate(.72) sepia(.18); }
.material-rail strong { text-transform: uppercase; font-size: 18px; font-weight: 900; }
.material-rail button:hover { background: #e3d7c4; }

.services-section { padding-top: 60px; }
.service-list h3 { text-transform: uppercase; font-weight: 900; font-size: 30px; }
.service-list button, .text-link { color: #9a5728; text-transform: uppercase; font-size: 11px; letter-spacing: .05em; }
.service-list button.is-added { color: #5b6842; }

.production-section { padding-top: 110px; padding-bottom: 110px; color: #f7f1e6; background: #101514; }
.video-frame { border-radius: 3px; box-shadow: 0 38px 90px rgba(0,0,0,.35); }
.video-frame video { filter: grayscale(.62) sepia(.4) saturate(.68) contrast(1.08); }
.video-caption { border-radius: 2px; background: rgba(14,18,17,.86); }
.media-placeholders div { min-height: 150px; border-radius: 2px; border-color: rgba(213,144,82,.4); background: repeating-linear-gradient(135deg, rgba(213,144,82,.05) 0 7px, transparent 7px 20px); }
.media-placeholders span { color: var(--sky); }

.cell-diagram { min-height: 570px; border-radius: 3px; color: rgba(213,144,82,.26); background: #101514; }
.expertise-copy li span { color: #a65e2d; }

.cases-section { width: 100%; padding-left: max(40px, calc((100vw - 1240px)/2)); padding-right: max(40px, calc((100vw - 1240px)/2)); color: #f7f1e6; background: #101514; }
.cases-section .eyebrow { color: var(--sky); }
.cases-section .section-heading > p { color: rgba(247,241,230,.5); }
.case-grid { gap: 12px; }
.case-card { min-height: 520px; border-radius: 3px; }
.case-b::before { background: repeating-linear-gradient(90deg, transparent 0 46px, rgba(213,144,82,.16) 46px 49px), linear-gradient(135deg, #645343, #121615 72%); }
.case-c::before { background: repeating-linear-gradient(45deg, rgba(213,144,82,.18) 0 3px, transparent 3px 30px), #2c302c; }
.case-bottom h3 { text-transform: uppercase; font-weight: 900; }

.quiz-section { color: #151816; background: var(--paper); border-top: 1px solid var(--line); }
.quiz-copy .eyebrow { color: #9b582a; }
.quiz-copy > p:not(.eyebrow), .quiz-copy small { color: var(--muted); }
.quiz-progress { background: rgba(17,20,19,.18); }
.quiz-progress span { background: var(--sky); }
.quiz-panel { border-radius: 3px; background: #101514; color: #f7f1e6; box-shadow: var(--shadow); }
.quiz-step h3, .quiz-result h3 { text-transform: uppercase; font-weight: 900; }
.quiz-options button { border-radius: 2px; color: #f7f1e6; background: #252a27; border-color: rgba(247,241,230,.16); }
.quiz-options button:hover { color: #151816; border-color: var(--sky); background: var(--sky); }
.quiz-back { color: var(--sky); }

.certificate-image { border-radius: 3px; background: #f7f1e6; }
.certificate-image img { filter: saturate(.8) sepia(.05); }
.certificate-copy li { text-transform: uppercase; font-size: 13px; font-weight: 700; }

.process-list strong { text-transform: uppercase; font-weight: 900; }
.process-list span { color: #a65e2d; }

.final-section { color: #f8f3e9; background: #101514; }
.final-form { border-radius: 3px; background: #f7f1e6; }
.site-footer { color: rgba(248,243,233,.65); background: #090c0b; border-color: rgba(213,144,82,.18); }

@media (max-width: 1100px) {
  :root { --container: min(100% - 44px, 1000px); }
  .menu-button { border-radius: 2px; background: var(--sky); color: #151816; }
  .mobile-menu { color: #f7f1e6; background: #101514; border-color: rgba(213,144,82,.2); }
}

@media (max-width: 720px) {
  :root { --container: calc(100% - 28px); --radius: 2px; }
  .site-header { height: 68px; padding: 0 16px; }
  .hero h1 { font-size: clamp(44px, 13vw, 60px); line-height: .86; }
  .hero-content { bottom: 190px; }
  .hero-proof { background: rgba(12,16,15,.92); }
  .section-heading h2, .volume-copy h2, .production-intro h2, .expertise-copy h2, .quiz-copy h2, .certificate-copy h2, .final-copy h2 { font-size: 44px; line-height: .9; }
  .calculator-section, .cases-section { padding-left: 14px; padding-right: 14px; }
  .application-card, .application-card.compact, .application-card.featured { border-radius: 2px; }
  .volume-section, .production-section, .quiz-section, .final-section { padding-left: 18px; padding-right: 18px; }
}

/* Exact light visual tokens from pressmesh-landing-light. */
:root {
  --ink: #1f2824;
  --deep: #1f2824;
  --blue: #9a5b34;
  --sky: #c98252;
  --pale: #edf0ec;
  --paper: #f3f5f2;
  --white: #ffffff;
  --line: rgba(31, 40, 36, .14);
  --muted: rgba(31, 40, 36, .68);
  --shadow: 0 24px 70px rgba(40, 53, 46, .16);
  --cta-gradient: linear-gradient(135deg, #c98252, #a95f37);
  --cta-gradient-hover: linear-gradient(135deg, #d28d5b, #9a5330);
}

body { color: var(--ink); background: linear-gradient(180deg, #f8faf7, #edf1ed 48%, #f8faf7); font-family: Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.site-header, .site-header.is-scrolled { height: 72px; color: var(--ink); background: rgba(248,250,247,.9); border-color: rgba(31,40,36,.12); box-shadow: 0 8px 28px rgba(40,53,46,.06); backdrop-filter: blur(18px); }
.brand { min-width: 170px; }
.brand img, .site-header.is-scrolled .brand img, .footer-brand img { width: 170px; filter: none; }
.brand span { display: none; }
.desktop-nav { color: rgba(31,40,36,.72); text-transform: none; letter-spacing: 0; font-size: 13px; }
.header-contact > a:first-child { color: rgba(31,40,36,.76); }
.header-cta { color: #fffaf5; background: var(--cta-gradient); border: 0; border-radius: 0; }

.hero { min-height: 820px; padding-top: 72px; background: #111312; }
.hero-media { filter: contrast(1.04) saturate(.82) sepia(.12) brightness(.72); }
.hero-shade { background: linear-gradient(90deg, rgba(7,8,8,.94) 0%, rgba(7,8,8,.69) 44%, rgba(7,8,8,.12) 100%), linear-gradient(0deg, rgba(11,13,13,.86) 0%, rgba(11,13,13,.22) 37%, transparent 72%); }
.mesh-glow { display: none; }
.hero-content { bottom: 170px; }
.eyebrow, .eyebrow.light { color: #ad6840; font-size: 13px; letter-spacing: 0; font-weight: 800; }
.hero h1 { max-width: 12ch; color: #fff; font-size: clamp(60px, 5.5vw, 78px); line-height: .94; letter-spacing: 0; text-shadow: 0 2px 3px rgba(0,0,0,.58), 0 10px 34px rgba(0,0,0,.32); }
.hero-copy { max-width: 700px; color: rgba(255,255,255,.94); font-size: 18px; font-weight: 600; line-height: 1.62; text-shadow: 0 2px 12px rgba(0,0,0,.62); }
.button { border-radius: 0; text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 800; }
.button-primary { color: #fffaf5; background: var(--cta-gradient); }
.button-primary:hover { color: #fffaf5; background: var(--cta-gradient-hover); }
.button-light { color: #fff; background: #26332d; }
.hero-proof { bottom: 18px; left: max(5vw, calc((100vw - 1240px)/2)); right: max(5vw, calc((100vw - 1240px)/2)); min-height: 106px; padding: 1px; color: var(--ink); background: rgba(31,40,36,.13); border: 0; gap: 1px; backdrop-filter: none; }
.hero-proof div, .hero-proof div + div { padding: 17px; background: rgba(250,252,249,.91); border: 0; }
.hero-proof strong { color: var(--ink); text-transform: none; font-size: 16px; letter-spacing: 0; }
.hero-proof span { color: rgba(31,40,36,.66); font-size: 13px; }

.section { padding: 100px 0; }
.section-heading { grid-template-columns: minmax(0,1fr) minmax(280px,.5fr); }
.section-heading h2, .volume-copy h2, .production-intro h2, .expertise-copy h2, .quiz-copy h2, .certificate-copy h2, .final-copy h2 { color: var(--ink); font-size: clamp(46px, 4.2vw, 60px); line-height: 1; letter-spacing: 0; }
.section-heading > p { color: rgba(31,40,36,.68); font-size: 15px; line-height: 1.7; }

.calculator-section { background: linear-gradient(180deg, #fbfcfa, #f0f3ef); }
.scenario-tabs { background: rgba(31,40,36,.12); border-color: rgba(31,40,36,.12); gap: 1px; }
.scenario-card { color: var(--ink); background: rgba(255,255,255,.94); border: 0; }
.scenario-card span, .scenario-card small { color: rgba(31,40,36,.62); }
.scenario-card.is-active { color: var(--ink); background: #dfe7df; box-shadow: inset 0 -4px 0 #9a5b34; }
.scenario-card.is-active span, .scenario-card.is-active small { color: rgba(31,40,36,.68); }
.open-form { background: #fff; border: 1px solid rgba(31,40,36,.12); box-shadow: 0 18px 48px rgba(40,53,46,.1); }
.form-step, .step-number { border-color: rgba(31,40,36,.12); }
.form-grid input, .form-grid select, .form-grid textarea, .final-form input, .final-form select, .final-form textarea { color: var(--ink); background: rgba(248,250,247,.94); border-color: rgba(31,40,36,.18); }
.service-checks span { color: var(--ink); background: #f4f7f3; border-color: rgba(31,40,36,.16); }
.service-checks input:checked + span { color: #fff; background: #4f6b5d; border-color: #4f6b5d; }
.file-field { background: #f4f7f3; border-color: rgba(154,91,52,.45); }

.applications-section { position: relative; isolation: isolate; overflow: hidden; }
.applications-section::after { position: absolute; z-index: -1; right: -5rem; top: 4rem; width: min(36vw, 42rem); aspect-ratio: 1168/845; content: ""; background: url("assets/dragonfly.svg") center/contain no-repeat; opacity: .08; transform: rotate(-7deg); }
.application-card { box-shadow: 0 18px 48px rgba(40,53,46,.1); }
.application-card.compact { color: var(--ink); background: #fff; border-color: rgba(31,40,36,.12); }
.application-card.accent { color: var(--ink); background: #dfe7df; }
.application-card.compact::before { background: linear-gradient(135deg, rgba(154,91,52,.08), transparent 52%), repeating-linear-gradient(60deg, transparent 0 26px, rgba(79,107,93,.06) 26px 28px); }
.application-card button { color: #e0a46b; }
.application-card.compact button, .application-card.accent button { color: #9a5b34; }

.volume-section { color: var(--ink); background: linear-gradient(180deg, #e8ede8, #f4f6f3); }
.volume-copy h2 { color: var(--ink); }
.volume-copy > p:not(.eyebrow), .volume-note { color: rgba(31,40,36,.68) !important; }
.volume-steps { border-color: rgba(31,40,36,.16); }
.volume-steps span { color: rgba(31,40,36,.45); }
.volume-steps span.is-current { color: var(--ink); border-color: #9a5b34; }
.volume-control { color: var(--ink); background: #fff; border-color: rgba(31,40,36,.14); box-shadow: var(--shadow); }
.range-labels, .price-result span, .price-result small { color: rgba(31,40,36,.52); }
.price-result { border-color: rgba(31,40,36,.14); }
.price-result strong { color: #9a5b34; text-transform: none; }

.materials-section { background: transparent; }
.material-rail { background: rgba(31,40,36,.13); border-color: rgba(31,40,36,.13); gap: 1px; }
.material-rail button { background: #fff; border: 0; }
.material-rail button:hover { background: #edf1ed; }
.material-rail strong { text-transform: none; letter-spacing: 0; }

.services-section { background: transparent; }
.service-list, .service-list article { border-color: rgba(31,40,36,.14); }
.service-list h3 { text-transform: uppercase; }
.service-list button, .text-link { color: #9a5b34; }

.production-section { color: var(--ink); background: linear-gradient(180deg, #e8ede8, #f4f6f3); }
.production-intro h2 { color: var(--ink); }
.production-intro > p:last-child { color: rgba(31,40,36,.68); }
.video-frame { background: #dfe5df; box-shadow: 0 18px 48px rgba(40,53,46,.12); }
.video-frame video { filter: none; }
.video-caption { color: #fff; background: rgba(31,40,36,.84); }
.media-placeholders div { color: var(--ink); background: rgba(255,255,255,.78); border-color: rgba(31,40,36,.2); }
.media-placeholders small { color: rgba(31,40,36,.55); }

.expertise-section { position: relative; }
.cell-diagram { color: rgba(201,130,82,.38); background: #26332d; }
.cases-section { color: var(--ink); background: #f7f9f6; }
.cases-section .section-heading h2 { color: var(--ink); }
.cases-section .section-heading > p { color: rgba(31,40,36,.68); }
.case-card { box-shadow: 0 18px 48px rgba(40,53,46,.12); }

.quiz-section { display: block; color: var(--ink); background: #dce5dd; }
.quiz-copy { width: min(1120px, 100%); margin: 0 auto 48px; text-align: center; }
.quiz-copy h2 { max-width: 1000px; margin-right: auto; margin-left: auto; font-size: clamp(34px, 3.2vw, 48px); line-height: 1.08; }
.quiz-copy h2 span { display: block; }
.quiz-copy > p:not(.eyebrow) { max-width: 720px; margin-right: auto; margin-left: auto; }
.quiz-copy .quiz-subtitle { margin-top: 16px; margin-bottom: 0; font-size: 20px; line-height: 1.45; }
.quiz-copy .quiz-progress { max-width: 680px; margin-right: auto; margin-left: auto; }
.quiz-panel { width: min(1240px, 100%); margin: 0 auto; color: var(--ink); background: #fff; border: 1px solid rgba(31,40,36,.14); }
.quiz-options button { color: var(--ink); background: #f4f7f3; border-color: rgba(31,40,36,.16); }
.quiz-options button:hover { color: #fff; background: #4f6b5d; border-color: #4f6b5d; }
.quiz-copy > p:not(.eyebrow), .quiz-copy small { color: rgba(31,40,36,.68); }
.quiz-progress { background: rgba(31,40,36,.16); }
.quiz-progress span { background: #9a5b34; }
.quiz-panel { min-height: 560px; padding-bottom: 44px; }
.quiz-step h3 { font-size: 26px; text-align: center; }
.quiz-choice-hint { margin: -16px 0 24px; color: rgba(31,40,36,.62); font-size: 14px; text-align: center; }
.quiz-options { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.quiz-options button { position: relative; text-align: center; }
.quiz-options button.is-selected { border-color: #9a5b34; box-shadow: 0 0 0 2px #9a5b34; }
.quiz-options .quiz-option-image { position: relative; display: flex; min-height: 150px; overflow: hidden; align-items: flex-end; padding: 0; color: #fff; border-color: rgba(31,40,36,.24); background: #25302b; }
.quiz-option-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.quiz-option-image span { position: relative; z-index: 1; display: block; width: 100%; padding: 34px 12px 14px; background: linear-gradient(0deg, rgba(10,14,12,.84), rgba(10,14,12,0)); font-weight: 700; }
.quiz-option-image:hover img { transform: scale(1.04); }
.quiz-material-options > button { min-height: 150px; }
.quiz-material-options .quiz-material-other { display: grid; place-items: center; padding: 42px 18px 18px; color: var(--ink); background: linear-gradient(145deg, #eef1ed, #dfe5df); font-weight: 700; }
.quiz-material-options .quiz-material-other:hover { color: #fff; background: #4f6b5d; }
.quiz-step-intro,
.quiz-contact-intro { margin: -16px 0 26px; color: rgba(31,40,36,.68); line-height: 1.55; }
.quiz-cell-options { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.quiz-cell-options button { position: relative; overflow: hidden; padding: 0; border: 1px solid rgba(31,40,36,.16); border-radius: 3px; color: var(--ink); background: #f4f7f3; text-align: left; cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .2s; }
.quiz-cell-options button:hover { border-color: #9a5b34; transform: translateY(-2px); }
.quiz-cell-options button.is-selected { border-color: #9a5b34; box-shadow: 0 0 0 2px #9a5b34; }
.quiz-cell-options img { display: block; width: 100%; aspect-ratio: 1.72; object-fit: cover; border-bottom: 1px solid rgba(31,40,36,.12); }
.quiz-cell-options span { display: block; min-height: 54px; padding: 13px 14px; font-size: 13px; line-height: 1.25; }
.quiz-cell-options b { font-size: 15px; }
.quiz-cell-options-text button {
  min-height: 6rem;
}
.quiz-cell-options-text button span {
  display: flex;
  min-height: 6rem;
  align-items: center;
  padding: 1.25rem 3.5rem 1.25rem 1.25rem;
}
.quiz-options button::after,
.quiz-cell-options button::after { position: absolute; z-index: 4; top: 10px; right: 10px; display: grid; width: 27px; height: 27px; place-items: center; content: "✓"; border: 2px solid rgba(31,40,36,.38); border-radius: 50%; color: transparent; background: rgba(255,255,255,.9); font-size: 15px; font-weight: 900; line-height: 1; transition: .2s; }
.quiz-options button.is-selected::after,
.quiz-cell-options button.is-selected::after { border-color: #9a5b34; color: #fff; background: #9a5b34; }
.quiz-navigation { display: flex; justify-content: center; gap: 12px; margin-top: 30px; }
.quiz-navigation [hidden] { display: none; }
.quiz-next { display: block; min-width: 190px; margin: 0; }
.quiz-next:disabled { opacity: .42; cursor: not-allowed; }
.quiz-back { position: static; min-width: 130px; min-height: 52px; padding: 0 22px; border: 1px solid rgba(31,40,36,.24); border-radius: 2px; color: var(--ink); background: #f4f7f3; font: inherit; font-weight: 700; cursor: pointer; }
.quiz-back:hover { border-color: #9a5b34; color: #9a5b34; }
.quiz-volume-options { width: min(900px, 100%); margin: 0 auto; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.quiz-volume-options button { display: flex; min-height: 104px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 5px; padding: 22px 48px 22px 20px; text-align: left; }
.quiz-volume-options strong { font-size: 19px; line-height: 1.15; }
.quiz-volume-options small { color: rgba(31,40,36,.58); font-size: 12px; }
.quiz-volume-options button:hover small,
.quiz-volume-options button.is-selected small { color: rgba(255,255,255,.78); }
.quiz-contact-form > label { display: grid; gap: 8px; color: rgba(31,40,36,.72); font-size: 12px; }
.quiz-contact-form input[type="text"],
.quiz-contact-form input[type="tel"],
.quiz-contact-form input[type="email"] { width: 100%; min-height: 58px; padding: 0 16px; border: 1px solid rgba(31,40,36,.2); border-radius: 2px; color: var(--ink); background: #f8faf7; font: inherit; }
.quiz-contact-form input:focus { outline: 2px solid rgba(154,91,52,.28); border-color: #9a5b34; }
.quiz-large-volume { width: min(700px, 100%); margin: 20px auto 0; padding: 15px 17px; border-left: 3px solid #9a5b34; color: rgba(31,40,36,.74); background: #f0f3ef; font-size: 14px; line-height: 1.5; }
.quiz-contact-intro { max-width: 640px; margin-right: auto; margin-left: auto; text-align: center; }
.quiz-contact-form { display: grid; gap: 18px; width: min(640px, 100%); margin: 0 auto; }
.quiz-final-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 34px; align-items: stretch; }
.quiz-final-form-card { padding: 34px; border: 1px solid rgba(31,40,36,.14); background: #f7f9f6; }
.quiz-final-form-card .eyebrow { margin-bottom: 14px; color: #9a5b34; }
.quiz-final-form-card h3 { margin-bottom: 10px; text-align: left; font-size: 28px; }
.quiz-final-form-note { margin: 0 0 24px; color: rgba(31,40,36,.62); font-size: 14px; }
.quiz-final-form-card .quiz-contact-form { width: 100%; margin: 0; }
.quiz-final-offer { display: flex; flex-direction: column; justify-content: center; padding: 42px 46px; color: #fff; background: #26332d; }
.quiz-final-offer .eyebrow { margin-bottom: 18px; color: #d7a27e; }
.quiz-final-offer h3 { max-width: 620px; margin: 0 0 20px; color: #fff; text-align: left; font-size: clamp(29px, 2.6vw, 40px); line-height: 1.08; }
.quiz-final-offer > p:not(.eyebrow) { max-width: 650px; margin: 0; color: rgba(255,255,255,.72); line-height: 1.6; }
.quiz-final-offer ul { display: grid; gap: 14px; margin: 28px 0 0; padding: 0; list-style: none; }
.quiz-final-offer li { position: relative; padding-left: 34px; line-height: 1.45; }
.quiz-final-offer li::before { position: absolute; top: .05em; left: 0; display: grid; width: 22px; height: 22px; place-items: center; content: "✓"; border-radius: 50%; color: #fff; background: #9a5b34; font-size: 12px; font-weight: 900; }
.quiz-contact-method { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 0; padding: 0; border: 0; }
.quiz-contact-method legend { margin-bottom: 8px; color: rgba(31,40,36,.72); font-size: 12px; }
.quiz-contact-method label { position: relative; cursor: pointer; }
.quiz-contact-method input { position: absolute; opacity: 0; pointer-events: none; }
.quiz-contact-method span { display: grid; place-items: center; min-height: 50px; border: 1px solid rgba(31,40,36,.2); background: #f4f7f3; font-weight: 700; }
.quiz-contact-method input:checked + span { border-color: #9a5b34; color: #fff; background: #9a5b34; }
.quiz-contact-form .button { width: 100%; }
.quiz-contact-form .form-success { padding: 14px; color: #31563f; background: #e7f2e9; font-size: 13px; }
.quiz-contact-form .consent-field { margin: 0; }

.certificate-section { position: relative; }
.certificate-section::before { position: absolute; z-index: -1; right: -3rem; bottom: -3rem; width: min(28vw, 32rem); aspect-ratio: 883/660; content: ""; background: url("assets/butterfly.svg") center/contain no-repeat; opacity: .08; }
.certificate-image { background: #fff; box-shadow: 0 18px 48px rgba(40,53,46,.1); }
.process-list, .process-list li { border-color: rgba(31,40,36,.14); }

.final-section { color: var(--ink); background: linear-gradient(180deg, #edf1ed, #f8faf7); }
.final-copy h2 { color: var(--ink); }
.final-copy > p:not(.eyebrow) { color: rgba(31,40,36,.68); }
.final-contact a { color: #4f6b5d; }
.final-form { color: var(--ink); background: #fff; border: 1px solid rgba(31,40,36,.12); box-shadow: var(--shadow); }
.site-footer { color: var(--ink); background: linear-gradient(180deg, #edf1ed, #f8faf7); border-color: rgba(31,40,36,.12); }
.site-footer > div:last-child { color: rgba(31,40,36,.72); }

@media (max-width: 1100px) {
  .menu-button { color: var(--ink); background: rgba(255,255,255,.72); border: 1px solid rgba(31,40,36,.18); }
  .mobile-menu { color: var(--ink); background: #f8faf7; border-color: rgba(31,40,36,.12); }
  .quiz-options,
  .quiz-cell-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .quiz-final-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .hero-shade { background: linear-gradient(0deg, rgba(7,8,8,.93) 10%, rgba(7,8,8,.47) 70%, rgba(7,8,8,.12)); }
  .hero-proof { left: 14px; right: 14px; bottom: 12px; }
  .hero-proof div, .hero-proof div + div { background: rgba(250,252,249,.92); }
  .applications-section::after { width: 19rem; right: -7rem; }
  .quiz-copy { margin-bottom: 34px; text-align: center; }
  .quiz-copy h2 { font-size: 34px; line-height: 1.1; }
  .quiz-copy .quiz-subtitle { font-size: 17px; }
  .quiz-step h3 { font-size: 23px; text-align: center; }
  .quiz-panel { min-height: 690px; }
  .quiz-options,
  .quiz-cell-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .quiz-cell-options span { min-height: 50px; padding: 10px; font-size: 11px; }
  .quiz-cell-options b { font-size: 13px; }
  .quiz-volume-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quiz-volume-options button { min-height: 92px; padding: 18px 42px 18px 14px; }
  .quiz-volume-options strong { font-size: 16px; }
  .quiz-final-grid { gap: 18px; }
  .quiz-final-form-card,
  .quiz-final-offer { padding: 26px 20px; }
  .quiz-final-form-card h3,
  .quiz-final-offer h3 { text-align: left; }
  .quiz-final-offer h3 { font-size: 29px; }
}

.mesh-types-section { position: relative; width: min(1240px, calc(100vw - 80px)); margin: 0 auto; padding: 72px 0 90px; }
.mesh-types-intro { display: grid; gap: 22px; margin-bottom: 18px; }
.mesh-types-intro h2 { margin: 0; color: var(--ink); font-size: clamp(52px, 5vw, 72px); line-height: .94; text-transform: uppercase; }
.product-family { padding: 26px 0; border-top: 1px solid var(--line); }
.product-family[data-product-family="TR"] { padding-top: 18px; }
.product-family:last-child { border-bottom: 1px solid var(--line); }
.product-family-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 10px; }
.product-family-head > div:first-child { display: grid; grid-template-columns: 44px auto; column-gap: 14px; align-items: baseline; }
.product-family-head span { grid-row: 1 / 3; color: #9a5b34; font-size: 12px; }
.product-family-head h3 { margin: 0; font-size: 27px; text-transform: uppercase; }
.product-family-head p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.rail-controls { display: flex; flex: 0 0 auto; gap: 7px; }
.rail-controls button { width: 40px; height: 40px; border: 1px solid rgba(31,40,36,.18); color: var(--ink); background: #fff; cursor: pointer; font-size: 19px; transition: .18s; }
.rail-controls button:hover { color: #fff; background: #4f6b5d; border-color: #4f6b5d; }
.rail-controls button:disabled { opacity: .35; cursor: default; }
.product-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(238px, 24%); gap: 10px; overflow-x: auto; padding: 0 0 8px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #9a5b34 rgba(31,40,36,.09); }
.product-card { position: relative; min-height: 255px; overflow: hidden; display: flex; flex-direction: column; scroll-snap-align: start; color: var(--ink); background: #fff; border: 1px solid rgba(31,40,36,.12); box-shadow: 0 8px 20px rgba(40,53,46,.07); text-align: left; }
.product-card-main { appearance: none; flex: 1; min-width: 0; display: flex; flex-direction: column; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; text-align: left; font: inherit; }
.product-card-image { position: relative; aspect-ratio: 1.7; overflow: hidden; background: #dfe7df; }
.product-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.product-card:hover .product-card-image img { transform: scale(1.04); }
.product-card-index { position: absolute; top: 9px; left: 9px; z-index: 1; padding: 5px 7px; color: #fff; background: rgba(31,40,36,.78); font-size: 10px; }
.product-card-body { flex: 1; padding: 11px 13px 12px; display: flex; flex-direction: column; }
.product-card-code { position: absolute; z-index: 2; right: 9px; bottom: 9px; left: 9px; width: fit-content; max-width: calc(100% - 18px); padding: 6px 9px; overflow: hidden; color: #684029; background: rgba(255, 255, 255, .96); box-shadow: 0 5px 16px rgba(31, 40, 36, .14); font-size: 10px; font-weight: 800; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.product-card h4 { margin: 0 0 4px; font-size: 17px; line-height: 1.15; }
.product-card p { margin: 0 0 7px; color: var(--muted); font-size: 11px; line-height: 1.3; }
.product-card .product-card-price-note { margin-bottom: 10px; color: var(--ink); font-size: 11px; font-weight: 700; line-height: 1.4; }
.product-card .product-card-services { margin: 0; line-height: 1.35; }
.product-card-services strong { color: var(--ink); }
.product-card-actions { display: grid; grid-template-columns: 1fr; min-height: 38px; border-top: 1px solid var(--line); }
.product-card-actions button { min-width: 0; padding: 8px 7px; border: 0; background: #fff; cursor: pointer; font: inherit; font-size: 10px; font-weight: 800; line-height: 1.15; }
.product-card-action { color: #fff; border-right: 1px solid rgba(255,255,255,.24) !important; background: #4f6b5d !important; text-align: center; }
.product-card-price { color: #fff; background: var(--cta-gradient) !important; text-align: center; }
.product-card-actions .product-card-action:hover { color: #fff; background: #3f584c !important; }
.product-card-actions .product-card-price:hover { color: #fff; background: var(--cta-gradient-hover) !important; }

.sample-modal { position: fixed; z-index: 110; inset: 0; display: grid; place-items: center; padding: 20px; overflow: hidden; }
.sample-modal-backdrop { position: fixed; inset: 0; background: rgba(24,31,27,.68); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.sample-modal-dialog { position: relative; z-index: 1; width: min(620px, 100%); max-height: calc(100svh - 40px); overflow-y: auto; padding: 30px; color: var(--ink); background: #f8faf7; box-shadow: 0 32px 100px rgba(24,31,27,.38); }
.sample-modal-close { position: absolute; top: 12px; right: 12px; width: 42px; height: 42px; border: 1px solid rgba(31,40,36,.18); color: var(--ink); background: #fff; cursor: pointer; font-size: 27px; line-height: 1; }
.sample-modal-head { padding-right: 48px; }
.sample-modal-head .eyebrow { margin-bottom: 8px; }
.sample-modal-head h2 { max-width: 12ch; margin: 0 0 9px; font-size: 36px; line-height: 1; text-transform: uppercase; }
.sample-modal-head > p:not(.eyebrow) { max-width: 52ch; margin: 0 0 12px; color: var(--muted); font-size: 13px; line-height: 1.4; }
.sample-product-code { display: inline-flex; padding: 7px 10px; color: #684029; background: #fff; box-shadow: 0 5px 16px rgba(31,40,36,.1); font-size: 11px; }
.sample-request-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 12px; margin-top: 18px; }
.sample-field { display: grid; gap: 5px; color: #40514a; font-size: 11px; font-weight: 700; }
.sample-field input,
.sample-field textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid rgba(31,40,36,.18); border-radius: 0; color: var(--ink); background: #fff; font: inherit; }
.sample-field textarea { min-height: 68px; resize: none; line-height: 1.35; }
.sample-contact-method { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 0; padding: 0; border: 0; }
.sample-contact-method legend { width: 100%; margin-bottom: 5px; color: #40514a; font-size: 11px; font-weight: 700; }
.sample-contact-method label { position: relative; cursor: pointer; }
.sample-contact-method input { position: absolute; opacity: 0; pointer-events: none; }
.sample-contact-method label span { display: grid; min-height: 46px; place-items: center; border: 1px solid rgba(31,40,36,.18); background: #fff; font-size: 12px; font-weight: 800; }
.sample-contact-method input:checked + span { color: #fff; border-color: #9a5b34; background: #9a5b34; }
.sample-note-field { grid-column: 1 / -1; }
.sample-request-form .consent-field { grid-column: 1 / -1; margin: 0; }
.sample-request-form > .button { grid-column: 1 / -1; width: 100%; min-height: 48px; }
.sample-request-form .form-success { grid-column: 1 / -1; padding: 11px 12px; color: #31563f; background: #e7f2e9; font-size: 12px; }
body.sample-modal-open,
body.callback-modal-open,
body.request-modal-open { overflow: hidden; }
[data-request-modal][hidden],
[data-callback-modal][hidden],
[data-sample-modal][hidden],
[data-product-modal][hidden],
.form-success[hidden] { display: none !important; }
.request-modal-dialog { width: min(560px, 100%); }
.callback-modal-dialog { width: min(500px, 100%); padding: 34px; }
.callback-modal-dialog .sample-modal-head h2 { max-width: none; padding-right: 34px; font-size: 30px; line-height: 1.08; white-space: nowrap; }
.callback-modal-dialog .sample-modal-head > p { max-width: 38ch; margin-bottom: 0; font-size: 14px; line-height: 1.5; }
.callback-request-form { grid-template-columns: 1fr; gap: 13px; margin-top: 20px; }
.callback-request-form > * { grid-column: 1; }

.product-modal { position: fixed; z-index: 100; inset: 0; padding: 30px; overflow-y: auto; }
.product-modal-backdrop { position: fixed; inset: 0; background: rgba(24,31,27,.64); backdrop-filter: blur(8px); }
.product-modal-dialog { position: relative; z-index: 1; width: min(1040px, 100%); margin: 5vh auto; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); color: var(--ink); background: #f8faf7; box-shadow: 0 32px 100px rgba(24,31,27,.36); }
.product-modal-close { position: absolute; z-index: 4; top: 14px; right: 14px; width: 44px; height: 44px; border: 1px solid rgba(31,40,36,.18); color: var(--ink); background: rgba(255,255,255,.88); cursor: pointer; font-size: 28px; }
.product-modal-gallery { display: grid; align-content: center; gap: 14px; padding: 26px; background: #e6ebe6; }
.product-modal-main { aspect-ratio: 1.12; overflow: hidden; background: #dfe5df; }
.product-modal-main img { width: 100%; height: 100%; object-fit: cover; }
.product-modal-thumbnails { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.product-modal-thumbnails[hidden] { display: none; }
.product-modal-thumbnails button { min-width: 0; padding: 0; overflow: hidden; border: 2px solid transparent; background: #dfe5df; cursor: pointer; }
.product-modal-thumbnails button.is-active { border-color: #a95f37; }
.product-modal-thumbnails img { width: 100%; aspect-ratio: 1.55; object-fit: cover; }
.product-modal-content { display: flex; flex-direction: column; justify-content: center; padding: 50px 44px; }
.product-modal-content h2 { max-width: 12ch; margin: 0 0 20px; font-size: clamp(32px, 3.4vw, 46px); line-height: 1.02; text-transform: uppercase; }
.product-modal-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.product-modal-detail-group { min-width: 0; padding: 13px 14px; border-left: 3px solid #9a5b34; background: rgba(255,255,255,.84); }
.product-modal-details span { display: block; margin-bottom: 8px; color: #9a5b34; font-size: 10px; font-weight: 800; line-height: 1.4; text-transform: uppercase; letter-spacing: .04em; }
.product-modal-details ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.product-modal-details li { position: relative; padding-left: 10px; color: var(--ink); font-size: 11px; line-height: 1.3; }
.product-modal-details li::before { position: absolute; top: .47em; left: 0; width: 4px; height: 4px; border-radius: 50%; background: #9a5b34; content: ""; }
.product-lead-form { display: grid; gap: 16px; }
.product-contact-method { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; border: 0; }
.product-contact-method legend { width: 100%; margin-bottom: 7px; color: #40514a; font-size: 12px; font-weight: 700; }
.product-contact-method label { position: relative; cursor: pointer; }
.product-contact-method input { position: absolute; opacity: 0; pointer-events: none; }
.product-contact-method span { display: grid; min-height: 50px; place-items: center; border: 1px solid rgba(31,40,36,.18); background: #fff; font-size: 13px; font-weight: 800; }
.product-contact-method input:checked + span { border-color: #9a5b34; color: #fff; background: #9a5b34; }
.product-contact-field { display: grid; gap: 7px; color: #40514a; font-size: 12px; font-weight: 700; }
.product-contact-field input { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid rgba(31,40,36,.18); color: var(--ink); background: #fff; font: inherit; }
.product-lead-form .button { width: 100%; }
.product-lead-form .form-success { padding: 13px; color: #31563f; background: #e7f2e9; font-size: 12px; line-height: 1.4; }
.product-sample-link { width: 100%; min-height: 46px; margin-top: 10px; border: 1px solid rgba(31,40,36,.22); color: #4f6b5d; background: transparent; cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; transition: color .18s, border-color .18s, background .18s; }
.product-sample-link:hover { color: #fff; border-color: #4f6b5d; background: #4f6b5d; }
body.product-modal-open { overflow: hidden; }

@media (max-width: 900px) {
  .mesh-types-section { width: min(100% - 44px, 1000px); }
  .product-rail { grid-auto-columns: minmax(230px, 42%); }
  .product-modal-dialog { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .mesh-types-section { width: calc(100% - 28px); padding: 60px 0 70px; }
  .mesh-types-intro { gap: 18px; margin-bottom: 14px; }
  .mesh-types-intro h2 { font-size: 48px; }
  .product-family { padding: 22px 0; }
  .product-family[data-product-family="TR"] { padding-top: 16px; }
  .product-family-head { align-items: flex-start; }
  .product-family-head > div:first-child { grid-template-columns: 32px auto; }
  .product-family-head p { grid-column: 1 / -1; padding-top: 7px; }
  .rail-controls button { width: 40px; height: 40px; }
  .product-rail { grid-auto-columns: 82%; }
  .product-modal { padding: 0; }
  .product-modal-dialog { min-height: 100svh; margin: 0; grid-template-rows: auto 1fr; }
  .product-modal-gallery { padding: 14px; }
  .product-modal-main { aspect-ratio: 1.78; }
  .product-modal-content { justify-content: flex-start; padding: 24px 18px 28px; }
  .product-modal-content h2 { max-width: 13ch; margin-bottom: 14px; font-size: 31px; }
  .product-modal-details { gap: 7px; }
  .product-modal-detail-group { padding: 10px; }
  .product-modal-details span { margin-bottom: 6px; }
  .product-modal-details li { font-size: 10px; }
  .product-lead-form { gap: 12px; }
  .product-contact-method span { min-height: 44px; }
  .product-contact-field input { min-height: 48px; }
  .sample-modal { padding: 8px; }
  .sample-modal-dialog { width: 100%; max-height: calc(100svh - 16px); padding: 20px 16px 16px; }
  .sample-modal-close { top: 8px; right: 8px; width: 38px; height: 38px; }
  .sample-modal-head { padding-right: 38px; }
  .sample-modal-head .eyebrow { margin-bottom: 5px; }
  .sample-modal-head h2 { margin-bottom: 6px; font-size: 29px; }
  .sample-modal-head > p:not(.eyebrow) { margin-bottom: 8px; font-size: 11px; line-height: 1.3; }
  .callback-modal-dialog .sample-modal-head h2 { padding-right: 0; font-size: 26px; white-space: normal; }
  .callback-modal-dialog .sample-modal-head > p { font-size: 12px; }
  .sample-product-code { padding: 6px 8px; font-size: 10px; }
  .sample-request-form { grid-template-columns: 1fr; gap: 8px; margin-top: 12px; }
  .sample-note-field,
  .sample-request-form .consent-field,
  .sample-request-form > .button,
  .sample-request-form .form-success { grid-column: 1; }
  .sample-field input,
  .sample-contact-method label span { min-height: 42px; }
  .sample-field textarea { min-height: 58px; }
  .sample-request-form > .button { min-height: 46px; }
}

/* Header, hero and footer follow the pressmesh-landing-light visual system. */
.site-header {
  position: fixed;
  z-index: 50;
  top: 0;
  right: 0;
  left: 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.5rem;
  min-height: 72px;
  height: 72px;
  padding: 0 5vw;
  color: var(--ink);
  border-bottom: 1px solid rgba(31, 40, 36, .12);
  background: rgba(248, 250, 247, .9);
  box-shadow: 0 8px 28px rgba(40, 53, 46, .06);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.header-brand {
  width: 10.625rem;
  min-width: 10.625rem;
  max-width: none;
}

.header-brand-logo,
.footer-brand-logo {
  display: block;
  width: 100%;
  height: auto;
}

.main-nav {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
  color: rgba(31, 40, 36, .72);
  font-size: .86rem;
}

.main-nav a,
.header-contact {
  transition: color 180ms ease;
}

.main-nav a:hover,
.header-contact:hover {
  color: #ad6840;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: .9rem;
}

.header-contact {
  min-width: max-content;
  color: rgba(31, 40, 36, .72);
  font-size: .9rem;
}

.mobile-quick-contacts {
  display: none;
}

.mobile-contact-link {
  display: grid;
  place-items: center;
  width: 2.45rem;
  height: 2.45rem;
  padding: 0;
  border: 1px solid rgba(31, 40, 36, .16);
  border-radius: 4px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 5px 14px rgba(31, 40, 36, .07);
  cursor: pointer;
  font: inherit;
}

.mobile-contact-phone { color: #9a5b34; }
.mobile-contact-email { color: #4f6b5d; }
.mobile-contact-request {
  color: #fffaf5;
  border-color: transparent;
  background: var(--cta-gradient);
  box-shadow: 0 6px 16px rgba(154, 91, 52, .24);
}

.mobile-contact-icon {
  display: block;
  width: 1.16rem;
  height: 1.16rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.nav-toggle,
.menu-button {
  display: none;
  width: 2.6rem;
  height: 2.6rem;
  padding: 0;
  border: 1px solid rgba(31, 40, 36, .18);
  border-radius: 0;
  background: rgba(255, 255, 255, .72);
  cursor: pointer;
}

.nav-toggle span,
.menu-button span {
  display: block;
  width: 1.2rem;
  height: 1px;
  margin: .32rem auto;
  background: var(--ink);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0 1.25rem;
  border: 1px solid rgba(224, 164, 107, .66);
  color: var(--ink);
  background: transparent;
  font-weight: 800;
  cursor: pointer;
}

.btn-primary {
  color: #fffaf5;
  border-color: transparent;
  background: var(--cta-gradient);
}

.btn-primary:hover { background: var(--cta-gradient-hover); }
.btn-small { min-height: 2.55rem; padding: 0 1rem; font-size: .78rem; }

.hero {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  height: auto;
  overflow: hidden;
  padding-top: 72px;
  color: #fff;
  background: #111312;
}

.hero-bg,
.hero-shade {
  position: absolute;
  inset: 0;
}

.contacts-section {
  display: grid;
  grid-template-columns: minmax(22rem, .82fr) minmax(0, 1.18fr);
  min-height: 36rem;
  scroll-margin-top: 72px;
  color: #fff;
  background: #1f2824;
}

.contacts-copy {
  display: flex;
  padding: clamp(3.5rem, 6vw, 6.5rem) clamp(2rem, 5vw, 5.5rem);
  flex-direction: column;
  justify-content: center;
}

.contacts-copy .eyebrow {
  margin-bottom: .8rem;
  color: #d78a55;
}

.contacts-copy h2 {
  max-width: 12ch;
  margin: 0 0 1.7rem;
  font-size: clamp(2.25rem, 3.2vw, 3.8rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.025em;
  text-transform: uppercase;
}

.contacts-copy address {
  margin: 0 0 2rem;
  color: rgba(255, 255, 255, .76);
  font-size: 1rem;
  font-style: normal;
  line-height: 1.65;
}

.contacts-list {
  display: grid;
  border-top: 1px solid rgba(255, 255, 255, .18);
}

.contacts-list > div {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  gap: 1rem;
  padding: .9rem 0;
  align-items: baseline;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.contacts-list span {
  color: rgba(255, 255, 255, .46);
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.contacts-list a,
.contacts-list strong {
  color: #fff;
  font-size: .94rem;
  font-weight: 700;
}

.contacts-list a:hover { color: #e2a06f; }

.contacts-delivery {
  margin: 1.5rem 0 0;
  color: rgba(255, 255, 255, .62);
  font-size: .86rem;
}

.contacts-map {
  position: relative;
  min-height: 36rem;
  overflow: hidden;
  background: #dfe4df;
}

.contacts-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 36rem;
  border: 0;
  filter: saturate(.72) contrast(.98);
}

.contacts-map-note {
  position: absolute;
  z-index: 2;
  right: 1.5rem;
  bottom: 1.5rem;
  display: grid;
  min-width: 15.5rem;
  gap: .15rem;
  padding: 1rem 1.2rem;
  color: #fff;
  background: rgba(31, 40, 36, .9);
  box-shadow: 0 16px 36px rgba(31, 40, 36, .24);
  pointer-events: none;
}

.contacts-map-note span { font-size: .7rem; opacity: .68; text-transform: uppercase; letter-spacing: .06em; }
.contacts-map-note strong { font-size: .9rem; }

.hero-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-image: url("media/hero-press-11s.jpg");
  background-position: center;
  background-size: cover;
  filter: contrast(1.04) saturate(.78) sepia(.06) brightness(.94);
  transform: scale(1.01);
}

.hero-shade {
  background:
    linear-gradient(90deg, rgba(7, 10, 9, .57) 0%, rgba(7, 10, 9, .48) 43%, rgba(7, 10, 9, .2) 67%, rgba(7, 10, 9, .07) 100%),
    linear-gradient(0deg, rgba(7, 10, 9, .35) 0%, rgba(7, 10, 9, .06) 44%, rgba(7, 10, 9, .02) 100%);
}

.hero-content {
  position: relative;
  z-index: 1;
  left: auto;
  right: auto;
  bottom: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 27rem);
  align-items: center;
  gap: 4rem;
  width: min(1240px, 90vw);
  min-height: calc(100vh - 192px);
  min-height: calc(100svh - 192px);
  margin: 0 auto;
  padding: 2.4rem 0 2.1rem;
}

.hero-copy {
  position: relative;
  isolation: isolate;
  width: auto;
  max-width: 47rem;
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-shadow: none;
}

.hero-copy::before {
  position: absolute;
  z-index: -1;
  inset: -1.8rem -2.2rem -1.6rem -2.4rem;
  content: "";
  background: radial-gradient(ellipse at 36% 48%, rgba(6, 9, 8, .76) 0%, rgba(6, 9, 8, .52) 50%, rgba(6, 9, 8, .18) 74%, rgba(6, 9, 8, 0) 100%);
  pointer-events: none;
}

.hero .eyebrow {
  margin: 0 0 .85rem;
  color: #efaa76;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: 0;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .5);
}

.hero h1 {
  max-width: 12.4ch;
  margin: 0 0 1.1rem;
  color: #fff;
  font-size: clamp(3.8rem, 5.2vw, 4.75rem);
  font-weight: 700;
  line-height: .94;
  letter-spacing: 0;
  text-transform: uppercase;
  text-shadow: 0 2px 3px rgba(0, 0, 0, .58), 0 10px 34px rgba(0, 0, 0, .32);
}

.hero-lead {
  position: relative;
  isolation: isolate;
  max-width: 45rem;
  margin: 0;
  color: rgba(255, 255, 255, .94);
  font-size: 1.12rem;
  font-weight: 600;
  line-height: 1.62;
  text-shadow:
    0 1px 1px rgba(0, 0, 0, .96),
    0 2px 4px rgba(0, 0, 0, .92),
    0 5px 16px rgba(0, 0, 0, .82);
}

.hero-lead-accent {
  color: var(--brand-accent);
  font-weight: 800;
}

.lead-form {
  display: grid;
  gap: .9rem;
  padding: 1.45rem;
  color: var(--ink);
  border: 1px solid rgba(31, 40, 36, .14);
  background: rgba(255, 255, 255, .92);
  box-shadow: var(--shadow);
  -webkit-backdrop-filter: blur(22px);
  backdrop-filter: blur(22px);
}

.lead-form h2 { margin: 0; font-size: 1.6rem; line-height: 1.08; text-transform: uppercase; }
.lead-form p { margin: 0; color: rgba(31, 40, 36, .66); line-height: 1.5; }
.lead-form label { display: grid; gap: .4rem; }
.lead-form label span { color: rgba(31, 40, 36, .66); font-size: .78rem; }
.hero-contact-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; align-items: end; }
.hero-contact-method { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem; margin: 0; padding: 0; border: 0; }
.hero-contact-method legend { width: 100%; margin-bottom: .4rem; color: rgba(31, 40, 36, .66); font-size: .78rem; }
.hero-contact-method label { position: relative; cursor: pointer; }
.hero-contact-method input { position: absolute; opacity: 0; pointer-events: none; }
.hero-contact-method label span { display: grid; min-height: 3.05rem; place-items: center; border: 1px solid rgba(31, 40, 36, .18); color: var(--ink); background: rgba(248, 250, 247, .94); font-size: .78rem; font-weight: 800; }
.hero-contact-method input:checked + span { color: #fff; border-color: #9a5b34; background: #9a5b34; }
.lead-form input,
.lead-form textarea,
.lead-form select {
  width: 100%;
  min-height: 3.05rem;
  padding: .82rem .95rem;
  color: var(--ink);
  border: 1px solid rgba(31, 40, 36, .18);
  border-radius: 0;
  outline: none;
  background: rgba(248, 250, 247, .94);
}

.lead-form input:focus,
.lead-form textarea:focus,
.lead-form select:focus { border-color: rgba(173, 104, 64, .86); }
.lead-form .form-note { font-size: .78rem; }
.lead-form .form-success { margin: 0; padding: .65rem .8rem; color: #315c47; background: #e6f0e8; font-size: .78rem; }

.hero-advantages {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(1240px, 90vw);
  margin: -.3rem auto 1.2rem;
  padding: 1px;
  gap: 1px;
  background: rgba(31, 40, 36, .13);
}

.hero-advantages div {
  min-height: 6.8rem;
  padding: 1.05rem;
  background: rgba(250, 252, 249, .91);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.hero-advantages strong { display: block; margin-bottom: .45rem; color: var(--ink); font-size: 1rem; }
.hero-advantages span { color: rgba(31, 40, 36, .66); font-size: .86rem; line-height: 1.45; }

.site-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(22rem, .75fr);
  gap: 4rem;
  align-items: start;
  padding: 5rem 5vw;
  color: var(--ink);
  border-top: 1px solid rgba(31, 40, 36, .12);
  background: linear-gradient(180deg, #edf1ed, #f8faf7);
}

.site-footer::before {
  position: absolute;
  z-index: 0;
  right: 41%;
  bottom: -3rem;
  width: clamp(20rem, 28vw, 34rem);
  aspect-ratio: 2539 / 2148;
  content: "";
  background: url("assets/elephant.png") center / contain no-repeat;
  opacity: .1;
  pointer-events: none;
}

.site-footer > * { position: relative; z-index: 1; }
.footer-copy { display: grid; gap: .9rem; }
.footer-copy p { max-width: 36rem; margin: 0; color: rgba(31, 40, 36, .66); line-height: 1.65; }
.footer-copy a:not(.brand) { color: #ad6840; }
.footer-brand { width: 13.5rem; max-width: 100%; }

.footer-details {
  display: grid;
  gap: .4rem;
  max-width: 32rem;
  margin-top: .35rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(31, 40, 36, .14);
}

.footer-details > strong { color: var(--ink); font-size: .95rem; }
.footer-details address { display: grid; gap: .2rem; color: rgba(31, 40, 36, .7); font-size: .9rem; font-style: normal; line-height: 1.55; }
.footer-details address span { color: rgba(31, 40, 36, .5); font-size: .75rem; font-weight: 700; text-transform: uppercase; }

.footer-copy .footer-certificate {
  display: grid;
  grid-template-columns: 4.4rem minmax(0, 1fr);
  gap: .9rem;
  align-items: center;
  width: fit-content;
  max-width: 28rem;
  margin-top: .35rem;
  color: var(--ink);
}

.footer-certificate img { width: 4.4rem; height: auto; aspect-ratio: 17 / 28; border: 1px solid rgba(31, 40, 36, .16); object-fit: cover; object-position: top; background: #fff; }
.footer-certificate > span { display: grid; gap: .22rem; }
.footer-certificate strong { color: var(--ink); font-size: .9rem; line-height: 1.35; }
.footer-certificate small { color: #9a5b34; font-size: .78rem; text-decoration: underline; text-underline-offset: .2em; }
.footer-legal-link { width: fit-content; color: #9a5b34; font-size: .9rem; text-decoration: underline; text-underline-offset: .2em; }

@media (min-width: 1121px) and (max-width: 1380px) {
  .site-header { gap: .9rem; padding-right: 2vw; padding-left: 2vw; }
  .main-nav { gap: .8rem; font-size: .78rem; }
  .header-actions { gap: .55rem; }
  .header-contact { font-size: .78rem; }
  .btn-small { padding-right: .75rem; padding-left: .75rem; }
}

@media (max-width: 1120px) {
  .site-header {
    position: sticky;
    grid-template-columns: auto auto;
    justify-content: space-between;
  }

  .hero { min-height: calc(100vh - 72px); min-height: calc(100svh - 72px); padding-top: 0; }
  .main-nav,
  .header-actions { display: none; }
  .nav-toggle,
  .menu-button { display: block; }

  .main-nav.mobile-menu.is-open {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: .55rem 5vw 1rem;
    color: var(--ink);
    border-top: 1px solid rgba(31, 40, 36, .12);
    border-bottom: 1px solid rgba(31, 40, 36, .12);
    background: rgba(248, 250, 247, .98);
    box-shadow: 0 18px 32px rgba(40, 53, 46, .12);
  }

  .main-nav.mobile-menu.is-open a { padding: .75rem 0; border-bottom: 1px solid rgba(31, 40, 36, .1); }
  .main-nav.mobile-menu.is-open a:last-child { border-bottom: 0; }
  .hero-content { grid-template-columns: 1fr; gap: 1.4rem; align-items: end; padding-top: 2rem; }
  .hero-form { max-width: 32rem; }
  .hero-advantages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
  .contacts-section { grid-template-columns: 1fr; }
  .contacts-copy { padding: 3.5rem 5vw; }
  .contacts-copy h2 { max-width: 16ch; }
  .contacts-map,
  .contacts-map iframe { min-height: 24rem; }
}

@media (max-width: 760px) {
  .site-header {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: .45rem;
    min-height: 66px;
    height: 66px;
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .header-brand { width: min(9.1rem, 100%); min-width: 0; }
  .mobile-quick-contacts { display: flex; align-items: center; gap: .32rem; }
  .hero { min-height: calc(100vh - 66px); min-height: calc(100svh - 66px); }
  .hero-bg { background-position: 62% center; }
  .hero-shade {
    background:
      linear-gradient(180deg, rgba(7, 9, 8, .39) 0%, rgba(7, 9, 8, .48) 48%, rgba(7, 9, 8, .38) 100%),
      linear-gradient(90deg, rgba(7, 9, 8, .38), rgba(7, 9, 8, .14));
  }

  .hero-content {
    width: min(100% - 2rem, 34rem);
    min-height: auto;
    padding-top: 1.15rem;
    padding-bottom: 1.2rem;
    gap: 1rem;
  }

  .hero-copy::before { inset: -1.1rem -1rem; background: radial-gradient(ellipse at 35% 50%, rgba(10, 15, 13, .64), rgba(10, 15, 13, .12) 72%, transparent); }
  .hero h1 { max-width: 12ch; margin-bottom: .85rem; font-size: 2.12rem; }
  .contacts-copy { padding: 3rem 1rem; }
  .contacts-copy h2 { margin-bottom: 1.25rem; font-size: 2rem; }
  .contacts-copy address { margin-bottom: 1.5rem; font-size: .9rem; }
  .contacts-list > div { grid-template-columns: 1fr; gap: .25rem; padding: .8rem 0; }
  .contacts-map,
  .contacts-map iframe { min-height: 20rem; }
  .contacts-map-note { right: 1rem; bottom: 1rem; left: 1rem; min-width: 0; }
  .hero-lead { font-size: .95rem; line-height: 1.45; }
  .hero-form { gap: .55rem; padding: 1rem; }
  .hero-form h2 { font-size: 1.24rem; }
  .hero-form > p:not(.form-success) { font-size: .76rem; line-height: 1.35; }
  .hero-contact-row { gap: .5rem; }
  .hero-contact-method label span { min-height: 2.62rem; }
  .hero-form input,
  .hero-form select { min-height: 2.62rem; padding: .65rem .8rem; }
  .hero-form .btn { min-height: 2.68rem; }

  .hero-advantages {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100% - 2rem, 34rem);
    margin-top: 0;
  }

  .hero-advantages div { min-height: 5.6rem; padding: .8rem; }
  .hero-advantages span { font-size: .74rem; }
  .site-footer { gap: 2.5rem; padding: 3.4rem 1rem; }
  .site-footer::before { top: 13rem; right: -9rem; bottom: auto; width: 20rem; opacity: .07; }
}

@media (max-width: 480px) {
  .hero .eyebrow { max-width: 30ch; font-size: .7rem; }
  .hero-task-field { display: none !important; }
  .hero-advantages strong { font-size: .86rem; }
  .hero-advantages span { line-height: 1.3; }
  .footer-brand { width: 11.5rem; }
}

@media (max-width: 360px) {
  .site-header { gap: .35rem; padding-right: .75rem; padding-left: .75rem; }
  .header-brand { width: 7.5rem; }
  .mobile-quick-contacts { gap: .25rem; }
  .mobile-contact-link { width: 2.25rem; height: 2.25rem; }
  .nav-toggle,
  .menu-button { width: 2.4rem; height: 2.4rem; }
}

/* Personal-data consent copied from the approved facade-site flow. */
.consent-field {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1.1rem minmax(0, 1fr);
  gap: .65rem;
  align-items: start;
  margin: .15rem 0;
}

.consent-field input[type="checkbox"] {
  width: 1.1rem;
  height: 1.1rem;
  min-height: 0;
  margin: .15rem 0 0;
  padding: 0;
  accent-color: #9a5b34;
  cursor: pointer;
}

.consent-copy { display: grid; gap: .2rem; }
.consent-copy label { display: block; color: rgba(31, 40, 36, .74); font-size: .76rem; line-height: 1.4; cursor: pointer; }

.consent-link,
.footer-legal-link {
  width: fit-content;
  margin: 0;
  padding: 0;
  border: 0;
  color: #9a5b34;
  background: transparent;
  font: inherit;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: .2em;
  cursor: pointer;
}

.consent-link { font-size: .76rem; line-height: 1.4; }
.consent-link:hover,
.footer-legal-link:hover { text-decoration-thickness: 2px; }
.final-form > .consent-field { grid-column: 1 / -1; }
.product-lead-form .consent-field { margin-top: .2rem; }

.consent-modal-shell {
  position: fixed;
  z-index: 140;
  inset: 0;
  display: none;
  place-items: center;
  padding: 2rem;
}

.consent-modal-shell.is-open { display: grid; }
.consent-modal-backdrop { position: absolute; inset: 0; background: rgba(24, 31, 27, .62); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); }

.consent-modal {
  position: relative;
  z-index: 1;
  width: min(900px, 94vw);
  max-height: 90vh;
  max-height: 90svh;
  overflow: auto;
  color: var(--ink);
  background: #f8faf7;
  box-shadow: var(--shadow);
}

.consent-modal-close {
  position: sticky;
  z-index: 2;
  top: .8rem;
  float: right;
  width: 2.75rem;
  height: 2.75rem;
  margin: .8rem .8rem -3.55rem 0;
  border: 1px solid rgba(31, 40, 36, .18);
  color: var(--ink);
  background: rgba(255, 255, 255, .92);
  font-size: 1.7rem;
  cursor: pointer;
}

.consent-modal-copy { padding: 2.4rem 3rem 3rem; }
.consent-modal-copy h2 { max-width: 24ch; margin: 0 0 1.4rem; padding-right: 2.5rem; font-size: 2.2rem; line-height: 1.05; text-transform: uppercase; }
.consent-modal-copy p,
.consent-modal-copy li { color: rgba(31, 40, 36, .76); line-height: 1.65; }
.consent-modal-copy ol { display: grid; gap: .85rem; margin: 1.4rem 0; padding-left: 1.4rem; }
.consent-modal-copy a { color: #9a5b34; text-decoration: underline; text-underline-offset: .2em; }
.consent-modal-note { padding-top: 1rem; border-top: 1px solid rgba(31, 40, 36, .14); font-weight: 700; }
.legal-modal-section + .legal-modal-section { margin-top: 2.4rem; padding-top: 2.4rem; border-top: 2px solid rgba(31, 40, 36, .16); }
.legal-modal-section h3 { margin: 0 0 1.1rem; color: var(--ink); font-size: 1.35rem; line-height: 1.2; }
.legal-modal-section h4 { margin: 1.35rem 0 .35rem; color: var(--ink); font-size: 1rem; }
.legal-modal-section p { margin: .6rem 0; }
.legal-modal-updated { margin-top: 1.5rem !important; font-size: .8rem; font-weight: 700; }
body.consent-modal-open { overflow: hidden; }

.cookie-banner-copy button {
  display: inline;
  padding: 0;
  border: 0;
  color: #9a5b34;
  background: transparent;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: .15em;
  cursor: pointer;
}

/* Real production, office and sales-team trust block. */
html,
body { max-width: 100%; overflow-x: clip; }

.final-section,
.final-copy,
.final-form { min-width: 0; }

.final-contact a { overflow-wrap: anywhere; }

.production-live {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
  scroll-margin-top: 5rem;
  color: var(--ink);
  background:
    radial-gradient(circle at 90% 8%, rgba(154, 91, 52, .1), transparent 24rem),
    linear-gradient(180deg, #e7ece7 0%, #f5f7f4 52%, #edf1ed 100%);
}

.production-live-head,
.company-people-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .65fr);
  gap: 5rem;
  align-items: end;
  margin-bottom: 3rem;
}

.production-live .eyebrow { margin: 0 0 1rem; color: #9a5b34; }
.production-live-head h2,
.company-people-head h2 {
  max-width: 13ch;
  margin: 0;
  color: var(--ink);
  font-size: clamp(2.8rem, 4.2vw, 4.6rem);
  line-height: .98;
  letter-spacing: -.045em;
  text-transform: uppercase;
}

.production-live-head > p,
.company-people-head > p {
  max-width: 35rem;
  margin: 0;
  color: rgba(31, 40, 36, .68);
  font-size: 1.03rem;
  line-height: 1.7;
}

.production-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(18rem, .65fr);
  gap: 1rem;
  align-items: stretch;
}

.production-video-card,
.production-side-gallery figure,
.production-gallery figure,
.office-card {
  position: relative;
  overflow: hidden;
  margin: 0;
  background: #26332d;
}

.production-video-card { min-height: 39rem; }
.production-video-card video { display: block; width: 100%; height: 100%; min-height: 39rem; object-fit: cover; background: #101614; }

.production-video-card figcaption,
.production-side-gallery figcaption,
.production-gallery figcaption {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  gap: .28rem;
  padding: 1.25rem 1.35rem;
  color: #fff;
  background: linear-gradient(0deg, rgba(13, 19, 16, .88), rgba(13, 19, 16, 0));
  pointer-events: none;
}

.production-video-card figcaption { grid-template-columns: 1fr auto; align-items: end; }
.production-video-card figcaption span,
.production-side-gallery figcaption strong,
.production-gallery figcaption strong { font-size: .98rem; }
.production-video-card figcaption small,
.production-side-gallery figcaption span,
.production-gallery figcaption span { color: rgba(255, 255, 255, .7); font-size: .75rem; line-height: 1.4; }

.production-side-gallery { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.production-side-gallery figure { min-height: 19rem; }
.production-side-gallery img,
.production-gallery img,
.office-card > img { width: 100%; height: 100%; object-fit: cover; }
.production-side-gallery img,
.production-gallery img { transition: transform .45s ease; }
.production-side-gallery figure:hover img,
.production-gallery figure:hover img { transform: scale(1.025); }

.production-gallery {
  display: grid;
  grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.production-gallery figure { min-height: 20rem; }
.production-gallery-wide { min-height: 20rem; }

.company-people { margin-top: 4.5rem; padding-top: 4rem; border-top: 1px solid rgba(31, 40, 36, .14); }
.managers-head { display: block; margin-bottom: 1.5rem; text-align: center; }
.managers-head h2 { max-width: none; margin-inline: auto; }
.company-people-grid { display: grid; grid-template-columns: minmax(20rem, .8fr) minmax(0, 1.2fr); gap: 1rem; }

.office-card { min-height: 34rem; color: #fff; }
.office-card::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, rgba(18, 26, 22, .9), rgba(18, 26, 22, .04) 70%); }
.office-card > div { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: 2rem; }
.office-card .eyebrow { color: #d7a27e; }
.office-card h3 { max-width: 19ch; margin: 0 0 .8rem; font-size: clamp(1.65rem, 2.3vw, 2.45rem); line-height: 1.05; }
.office-card p:not(.eyebrow) { max-width: 33rem; margin: 0; color: rgba(255, 255, 255, .68); font-size: .86rem; line-height: 1.6; }

.sales-team { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.sales-card { display: grid; grid-template-rows: minmax(17rem, 1fr) auto; min-width: 0; background: rgba(255, 255, 255, .92); border: 1px solid rgba(31, 40, 36, .12); }
.sales-photo { min-height: 17rem; overflow: hidden; background: #dfe5df; }
.sales-photo img { display: block; width: 100%; height: 100%; min-height: 17rem; object-fit: cover; object-position: 50% 38%; }
.sales-photo-mikhail img { object-position: 50% 42%; }
.sales-photo-igor img { object-position: 50% 28%; }
.sales-photo-placeholder { display: grid; place-items: center; align-content: center; gap: .7rem; min-height: 17rem; color: rgba(31, 40, 36, .64); background: linear-gradient(135deg, #d9e2db, #eef2ed); }
.sales-photo-placeholder span { display: grid; width: 5.5rem; height: 5.5rem; place-items: center; border: 1px solid rgba(31, 40, 36, .18); border-radius: 50%; color: #4f6b5d; background: rgba(255, 255, 255, .58); font-size: 2rem; font-weight: 700; }
.sales-photo-placeholder small { font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; }
.sales-card > div:last-child { min-width: 0; padding: 1.35rem; }
.sales-role { margin: 0 0 .4rem; color: #9a5b34; font-size: .67rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.sales-card h3 { margin: 0 0 .8rem; color: var(--ink); font-size: 1.45rem; }
.sales-email { display: block; width: fit-content; max-width: 100%; overflow-wrap: anywhere; color: #9a5b34; font-size: .74rem; font-weight: 700; line-height: 1.45; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.sales-email:hover { color: #4f6b5d; }

@media (max-width: 1120px) {
  .production-live-head,
  .company-people-head { grid-template-columns: 1fr; gap: 1.3rem; }
  .production-showcase { grid-template-columns: 1fr; }
  .production-video-card,
  .production-video-card video { min-height: 34rem; }
  .production-side-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
  .production-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-gallery-wide { grid-column: 1 / -1; min-height: 28rem !important; }
  .company-people-grid { grid-template-columns: 1fr; }
  .office-card { min-height: 28rem; }
}

@media (max-width: 760px) {
  .production-live { padding-top: 5rem; padding-bottom: 5rem; }
  .production-live-head h2,
  .company-people-head h2 { max-width: 15ch; font-size: 2.45rem; }
  .production-live-head > p,
  .company-people-head > p { font-size: .93rem; }
  .production-video-card,
  .production-video-card video { min-height: 31rem; }
  .production-video-card video { object-fit: contain; }
  .production-video-card figcaption { grid-template-columns: 1fr; }
  .production-side-gallery { grid-template-columns: 1fr 1fr; }
  .production-side-gallery figure { min-height: 15rem; }
  .production-side-gallery figcaption span,
  .production-gallery figcaption span { display: none; }
  .production-gallery { grid-template-columns: 1fr 1fr; }
  .production-gallery figure,
  .production-gallery-wide { min-height: 15rem !important; }
  .production-gallery-wide { grid-column: 1 / -1; min-height: 23rem !important; }
  .company-people { margin-top: 3.5rem; padding-top: 3rem; }
  .office-card { min-height: 26rem; }
  .sales-team { grid-template-columns: 1fr; }
  .sales-card { grid-template-columns: 8.5rem 1fr; grid-template-rows: none; }
  .sales-photo, .sales-photo img { min-height: 11rem; height: 100%; }
  .sales-photo-placeholder { min-height: 11rem; }
  .sales-photo-placeholder span { width: 4.3rem; height: 4.3rem; font-size: 1.55rem; }
}

@media (max-width: 480px) {
  .production-side-gallery,
  .production-gallery { grid-template-columns: 1fr; }
  .production-gallery-wide { grid-column: auto; }
  .production-side-gallery figure,
  .production-gallery figure,
  .production-gallery-wide { min-height: 18rem !important; }
  .sales-card { grid-template-columns: 7.2rem 1fr; }
  .sales-photo-placeholder small { font-size: .57rem; }
}

/* Compact production and office comparison */
.production-compact-head {
  max-width: 58rem;
  margin: 0 auto 2.6rem;
  text-align: center;
}

.production-compact-head .eyebrow { margin-bottom: .8rem; }
.production-compact-head h2 {
  max-width: 24ch;
  margin: 0 auto;
  color: var(--ink);
  font-size: clamp(2.15rem, 3.2vw, 3.1rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.035em;
  text-transform: uppercase;
}
.production-compact-head > p:last-child {
  max-width: 48rem;
  margin: 1rem auto 0;
  color: rgba(31, 40, 36, .68);
  font-size: .96rem;
  line-height: 1.6;
}

.company-locations {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
}

.production-company-copy {
  max-width: 72rem;
  margin: 1.5rem auto 0;
  padding: clamp(1.4rem, 2.4vw, 2.25rem);
  color: rgba(31, 40, 36, .78);
  background: rgba(255, 255, 255, .7);
  border: 1px solid rgba(31, 40, 36, .12);
}

.production-company-copy p {
  max-width: 70rem;
  margin: 0;
  font-size: clamp(.95rem, 1.15vw, 1.08rem);
  line-height: 1.65;
}

.production-company-copy p + p {
  margin-top: .9rem;
}

.production-company-copy p:last-child {
  color: var(--ink);
  font-weight: 650;
}

.location-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: 1rem;
  background: rgba(255, 255, 255, .88);
  border: 1px solid rgba(31, 40, 36, .13);
  box-shadow: 0 16px 40px rgba(40, 53, 46, .08);
}

.location-card-head {
  display: grid;
  grid-template-columns: 2.25rem 1fr;
  gap: .85rem;
  align-items: start;
  min-height: 3.4rem;
  padding: .3rem .2rem 1rem;
}
.location-card-head > span {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  color: #fff;
  background: #9a5b34;
  font-size: .7rem;
  font-weight: 800;
}
.location-card-head h3 { margin: 0 0 .35rem; color: var(--ink); font-size: 1.55rem; line-height: 1; }
.location-card-head p { margin: 0; color: rgba(31, 40, 36, .62); font-size: .8rem; line-height: 1.45; }

.location-video {
  position: relative;
  flex: 0 0 auto;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  margin: 0;
  background: #19221e;
}
.location-video video {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  background: #101614;
}
.location-video figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 2rem .9rem .75rem;
  color: #fff;
  background: linear-gradient(180deg, transparent, rgba(20, 29, 25, .92));
}
.location-video figcaption strong { font-size: .78rem; }
.location-video figcaption span { color: rgba(255, 255, 255, .62); font-size: .66rem; text-align: right; }

.office-gallery {
  display: block;
  flex: 0 0 auto;
  min-height: 0;
}
.office-gallery-main {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  flex: 0 0 auto;
  min-height: 0;
  padding: 0;
  cursor: zoom-in;
  background: #19221e;
  border: 0;
}
.office-gallery-main::after {
  position: absolute;
  inset: 0;
  content: "";
  border: 1px solid rgba(255, 255, 255, .28);
  pointer-events: none;
}
.office-gallery-main:focus-visible { outline: 2px solid #9a5b34; outline-offset: 2px; }
.office-gallery-main img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center 48%;
  transition: transform .3s ease;
}
.office-gallery-main:hover img,
.office-gallery-main:focus-visible img { transform: scale(1.02); }

.production-photo-strip {
  display: grid;
  grid-auto-columns: 5.25rem;
  grid-auto-flow: column;
  gap: .45rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 0 0 .35rem;
  margin-top: .7rem;
  scrollbar-color: #9a5b34 rgba(31, 40, 36, .1);
  scrollbar-width: thin;
}
.production-photo-strip::-webkit-scrollbar { height: .32rem; }
.production-photo-strip::-webkit-scrollbar-track { background: rgba(31, 40, 36, .1); }
.production-photo-strip::-webkit-scrollbar-thumb { background: #9a5b34; }
.production-photo-strip button {
  position: relative;
  overflow: hidden;
  height: 4.2rem;
  padding: 0;
  cursor: zoom-in;
  background: #dfe5df;
  border: 0;
}
.production-photo-strip button::after {
  position: absolute;
  inset: 0;
  content: "";
  border: 1px solid rgba(255, 255, 255, .38);
  pointer-events: none;
}
.production-photo-strip button:hover img,
.production-photo-strip button:focus-visible img { transform: scale(1.06); }
.production-photo-strip button:focus-visible { outline: 2px solid #9a5b34; outline-offset: 2px; }
.production-photo-strip img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
}

@media (max-width: 760px) {
  .office-gallery-main { aspect-ratio: 16 / 9; }
  .office-gallery-main img { min-height: 0; }
}

.production-lightbox[hidden] { display: none; }
.production-lightbox-open { overflow: hidden; }
.production-lightbox {
  position: fixed;
  z-index: 1600;
  inset: 0;
  display: grid;
  padding: 1.25rem;
  place-items: center;
}
.production-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(11, 15, 13, .94);
  backdrop-filter: blur(8px);
}
.production-lightbox-dialog {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(92vw, 86rem);
  height: min(88svh, 58rem);
  grid-template-columns: 3.5rem minmax(0, 1fr) 3.5rem;
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: center;
}
.production-lightbox-dialog > img {
  width: 100%;
  height: 100%;
  min-height: 0;
  grid-column: 2;
  grid-row: 1;
  object-fit: contain;
}
.production-lightbox-close,
.production-lightbox-arrow {
  display: grid;
  width: 3rem;
  height: 3rem;
  padding: 0;
  place-items: center;
  color: #fff;
  cursor: pointer;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .28);
  font: inherit;
}
.production-lightbox-close:hover,
.production-lightbox-arrow:hover { background: #9a5b34; }
.production-lightbox-close:focus-visible,
.production-lightbox-arrow:focus-visible { outline: 2px solid #d6a37e; outline-offset: 3px; }
.production-lightbox-close {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  font-size: 1.65rem;
}
.production-lightbox-prev { grid-column: 1; grid-row: 1; justify-self: start; }
.production-lightbox-next { grid-column: 3; grid-row: 1; justify-self: end; }
.production-lightbox-counter {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-self: center;
  padding-top: .8rem;
  color: rgba(255, 255, 255, .78);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
}

.office-team-compact {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
  margin-top: .7rem;
}
.office-team-compact article { min-width: 0; background: #edf1ed; border: 1px solid rgba(31, 40, 36, .1); }
.office-team-compact img { display: block; width: 100%; height: 5rem; object-fit: cover; object-position: 50% 36%; }
.office-team-compact article > div { min-width: 0; padding: .65rem; }
.office-team-compact h4 { margin: 0 0 .25rem; color: var(--ink); font-size: .82rem; }
.office-team-compact a { display: block; overflow-wrap: anywhere; color: #9a5b34; font-size: .57rem; font-weight: 700; line-height: 1.35; }

@media (max-width: 960px) {
  .company-locations {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .location-card {
    max-width: 46rem;
    width: 100%;
    height: auto;
    margin-inline: auto;
  }

  .office-gallery {
    display: block;
    flex: 0 0 auto;
    min-height: auto;
  }

  .office-gallery-main {
    height: auto;
    aspect-ratio: 16 / 9;
    flex: 0 0 auto;
  }
}

.cookie-banner {
  position: fixed;
  z-index: 200;
  right: 24px;
  bottom: 24px;
  left: 24px;
  width: min(760px, calc(100% - 48px));
  margin-left: auto;
  padding: 22px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  color: var(--brand-dark);
  background: var(--brand-white);
  border: 1px solid rgba(39, 52, 46, .18);
  box-shadow: 0 20px 60px rgba(24, 31, 27, .24);
}

.cookie-banner[hidden] { display: none; }
.cookie-banner-copy strong { display: block; margin-bottom: 5px; font-size: 18px; }
.cookie-banner-copy p { margin: 0; color: rgba(39, 52, 46, .72); font-size: 13px; line-height: 1.5; }
.cookie-banner-copy a { color: var(--brand-accent); text-decoration: underline; text-underline-offset: 3px; }
.cookie-banner-actions { display: flex; gap: 8px; }
.cookie-button { min-height: 44px; padding: 0 16px; border: 1px solid var(--brand-accent); cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; }
.cookie-button-primary { color: var(--brand-white); background: var(--brand-accent); }
.cookie-button-secondary { color: var(--brand-dark); background: var(--brand-white); }

@media (max-width: 680px) {
  .cookie-banner {
    right: 12px;
    bottom: 12px;
    left: 12px;
    width: calc(100% - 24px);
    padding: 17px;
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .cookie-banner-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .cookie-button { padding: 0 10px; }
}

.privacy-page {
  margin: 0;
  color: var(--brand-dark);
  background: #f5f6f2;
}

.privacy-header {
  min-height: 76px;
  padding: 20px max(24px, calc((100vw - 960px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: var(--brand-white);
  border-bottom: 1px solid rgba(39, 52, 46, .14);
}

.privacy-header img { display: block; }
.privacy-back { color: var(--brand-accent); font-size: 14px; font-weight: 800; }
.privacy-main { width: min(960px, calc(100% - 48px)); margin: 0 auto; padding: 72px 0 80px; }
.privacy-kicker { margin: 0 0 10px; color: var(--brand-accent); font-size: 13px; font-weight: 800; letter-spacing: .04em; }
.privacy-main h1 { max-width: none; margin: 0; font-size: clamp(38px, 6vw, 64px); line-height: 1; }
.privacy-updated { margin: 16px 0 52px; color: rgba(39, 52, 46, .62); }
.privacy-main section { padding: 30px 0; border-top: 1px solid rgba(39, 52, 46, .15); }
.privacy-main h2 { margin: 0 0 16px; font-size: clamp(24px, 3vw, 32px); line-height: 1.2; }
.privacy-main p, .privacy-main li { color: rgba(39, 52, 46, .82); font-size: 15px; line-height: 1.75; }
.privacy-main p { margin: 0 0 13px; }
.privacy-main ul { margin: 0 0 13px; padding-left: 22px; }
.privacy-main a { color: var(--brand-accent); text-decoration: underline; text-underline-offset: 3px; }
.privacy-main code { padding: 2px 5px; background: rgba(39, 52, 46, .08); }
.privacy-footer { padding: 26px max(24px, calc((100vw - 960px) / 2)); display: flex; justify-content: space-between; gap: 24px; color: rgba(39, 52, 46, .64); background: var(--brand-white); border-top: 1px solid rgba(39, 52, 46, .14); font-size: 13px; }
.privacy-footer a { color: var(--brand-accent); font-weight: 800; }

@media (max-width: 600px) {
  .privacy-header { min-height: 64px; padding: 16px 18px; }
  .privacy-header img { width: 145px; }
  .privacy-back { font-size: 12px; }
  .privacy-main { width: calc(100% - 36px); padding: 48px 0 56px; }
  .privacy-updated { margin-bottom: 36px; }
  .privacy-main section { padding: 24px 0; }
  .privacy-main p, .privacy-main li { font-size: 14px; line-height: 1.65; }
  .privacy-footer { padding: 22px 18px; }
}

@media (max-width: 560px) {
  .production-live { padding-top: 4rem; padding-bottom: 4rem; }
  .production-compact-head { margin-bottom: 1.7rem; }
  .production-compact-head h2 { max-width: 20ch; font-size: 1.9rem; line-height: 1.04; }
  .production-compact-head > p:last-child { font-size: .84rem; }
  .production-company-copy { margin-top: 1rem; padding: 1.1rem; }
  .production-company-copy p { font-size: .9rem; line-height: 1.55; }
  .location-card { padding: .65rem; }
  .location-card-head { min-height: auto; padding-bottom: .8rem; }
  .location-card-head h3 { font-size: 1.35rem; }
  .location-video figcaption { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .location-video figcaption span { text-align: left; }
  .production-photo-strip { grid-auto-columns: 4.4rem; gap: .35rem; margin-top: .55rem; }
  .production-photo-strip button { height: 3.55rem; }
  .office-team-compact { grid-template-columns: 1fr; }
  .office-team-compact article { display: grid; grid-template-columns: 4.6rem 1fr; align-items: center; }
  .office-team-compact img { height: 4.6rem; }
  .office-team-compact a { font-size: .65rem; }
}

@media (max-width: 700px) {
  .production-lightbox { padding: .65rem; }
  .production-lightbox-dialog {
    width: 100%;
    height: 88svh;
    grid-template-columns: 2.9rem minmax(0, 1fr) 2.9rem;
  }
  .production-lightbox-close,
  .production-lightbox-arrow {
    width: 2.65rem;
    height: 2.65rem;
  }
}

@media (max-width: 760px) {
  .consent-modal-shell { padding: .6rem; }
  .consent-modal { width: 100%; max-height: calc(100svh - 1.2rem); }
  .consent-modal-copy { padding: 1.2rem; }
  .consent-modal-copy h2 { padding-right: 2.6rem; font-size: 1.65rem; }
  .consent-modal-close { top: .4rem; margin: .4rem .4rem -3.15rem 0; }
}

@media (max-width: 720px) {
  .quiz-section {
    padding: 46px 12px 54px;
  }

  .quiz-copy {
    margin-bottom: 16px;
  }

  .quiz-copy h2 {
    font-size: 27px;
    line-height: 1.04;
  }

  .quiz-copy .quiz-subtitle {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.35;
  }

  .quiz-panel {
    min-height: 0;
    padding: 16px 12px 14px;
    scroll-margin-top: 74px;
  }

  .quiz-step h3 {
    margin-bottom: 15px;
    font-size: 19px;
    line-height: 1.12;
  }

  .quiz-choice-hint {
    margin: -8px 0 12px;
    font-size: 11px;
    line-height: 1.3;
  }

  .quiz-options,
  .quiz-cell-options {
    gap: 8px;
  }

  .quiz-options .quiz-option-image,
  .quiz-material-options > button {
    min-height: 100px;
  }

  .quiz-option-image span {
    padding: 24px 8px 8px;
    font-size: 12px;
    line-height: 1.15;
  }

  .quiz-material-options .quiz-material-other {
    min-height: 100px;
    padding: 34px 10px 10px;
    font-size: 12px;
  }

  .quiz-options button::after,
  .quiz-cell-options button::after {
    top: 7px;
    right: 7px;
    width: 22px;
    height: 22px;
    border-width: 1.5px;
    font-size: 12px;
  }

  .quiz-cell-options img {
    aspect-ratio: 2.15;
  }

  .quiz-cell-options span {
    min-height: 38px;
    padding: 7px 8px;
    font-size: 10px;
    line-height: 1.15;
  }

  .quiz-cell-options b {
    font-size: 11px;
  }

  .quiz-volume-options button {
    min-height: 61px;
    padding: 10px 32px 10px 10px;
  }

  .quiz-volume-options strong {
    font-size: 13px;
    line-height: 1.15;
  }

  .quiz-large-volume {
    margin-top: 10px;
    padding: 9px 11px;
    font-size: 11px;
    line-height: 1.35;
  }

  .quiz-navigation {
    gap: 8px;
    margin-top: 12px;
  }

  .quiz-next,
  .quiz-back {
    min-width: 0;
    min-height: 44px;
    flex: 1 1 0;
    padding: 0 14px;
  }

  .quiz-final-grid {
    gap: 8px;
  }

  .quiz-final-offer {
    display: block;
    padding: 12px 14px;
  }

  .quiz-final-offer .eyebrow,
  .quiz-final-offer > p:not(.eyebrow),
  .quiz-final-offer ul {
    display: none;
  }

  .quiz-final-offer h3 {
    margin: 0;
    font-size: 18px;
    line-height: 1.14;
  }

  .quiz-final-form-card {
    padding: 12px 14px;
  }

  .quiz-final-form-card .eyebrow {
    display: none;
  }

  .quiz-final-form-card h3 {
    margin-bottom: 3px;
    font-size: 20px;
    line-height: 1.12;
  }

  .quiz-final-form-note {
    margin-bottom: 8px;
    font-size: 11px;
    line-height: 1.3;
  }

  .quiz-contact-form {
    gap: 8px;
  }

  .quiz-contact-form > label {
    gap: 4px;
    font-size: 10px;
  }

  .quiz-contact-form input[type="text"],
  .quiz-contact-form input[type="tel"],
  .quiz-contact-form input[type="email"] {
    min-height: 42px;
    padding: 0 11px;
    font-size: 14px;
  }

  .quiz-contact-method {
    gap: 6px;
  }

  .quiz-contact-method legend {
    margin-bottom: 4px;
    font-size: 10px;
  }

  .quiz-contact-method span {
    min-height: 40px;
    font-size: 12px;
  }

  .quiz-contact-form .button {
    min-height: 44px;
    padding-right: 10px;
    padding-left: 10px;
    font-size: 12px;
  }

  .quiz-contact-form .consent-field {
    grid-template-columns: .95rem minmax(0, 1fr);
    gap: .45rem;
  }

  .quiz-contact-form .consent-field input[type="checkbox"] {
    width: .95rem;
    height: .95rem;
  }

  .quiz-contact-form .consent-copy {
    gap: 1px;
  }

  .quiz-contact-form .consent-copy label,
  .quiz-contact-form .consent-link {
    font-size: 10px;
    line-height: 1.22;
  }

  .quiz-panel[data-current-step="5"] .quiz-navigation {
    margin-top: 8px;
  }

  .quiz-panel[data-current-step="5"] .quiz-back {
    flex: 0 0 100%;
    min-height: 38px;
  }
}

/* Series specifications and consultation */
.product-family-specs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0 0 14px;
  padding: 1px;
  background: rgba(31, 40, 36, .13);
}

.mesh-types-specs {
  margin: 0;
}

.product-family-specs > div {
  display: grid;
  align-content: start;
  gap: 4px;
  min-width: 0;
  padding: 12px 15px;
  background: rgba(255, 255, 255, .88);
}

.product-family-specs > div > span {
  color: #9a5b34;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.product-family-specs strong {
  color: var(--ink);
  font-size: .94rem;
  font-weight: 650;
  line-height: 1.3;
}

.product-family-spec-wide {
  grid-column: span 2;
}

.catalog-consultation-section {
  padding: 42px max(40px, calc((100vw - 1240px) / 2));
  border-top: 1px solid rgba(31, 40, 36, .1);
  border-bottom: 1px solid rgba(31, 40, 36, .1);
  background: linear-gradient(135deg, #e1e9e2 0%, #f0f3ef 100%);
}

.catalog-consultation-intro {
  width: min(1240px, 100%);
  margin: 0 auto 22px;
  text-align: center;
}

.catalog-consultation-intro h3 {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: clamp(1.7rem, 2.5vw, 2.5rem);
  line-height: 1.08;
}

.catalog-consultation-intro p {
  max-width: 920px;
  margin: 0 auto;
  color: rgba(31, 40, 36, .72);
  font-size: 1.05rem;
  line-height: 1.5;
}

.series-consultation-form {
  display: grid;
  grid-template-columns: minmax(230px, 1.05fr) minmax(150px, .7fr) minmax(190px, .85fr) minmax(230px, 1fr);
  gap: 8px 10px;
  align-items: end;
  margin-top: 14px;
  padding: 14px 18px;
  border: 1px solid rgba(31, 40, 36, .14);
  border-left: 4px solid #9a5b34;
  background: linear-gradient(135deg, #e5ebe5 0%, #f3f5f1 100%);
  box-shadow: 0 16px 35px rgba(31, 40, 36, .07);
}

.catalog-consultation-section .series-consultation-form {
  width: min(1240px, 100%);
  margin: 0 auto;
  background: rgba(248, 250, 247, .9);
}

.series-consultation-copy {
  align-self: center;
  grid-column: 1;
  grid-row: 1 / span 2;
  max-width: 310px;
}

.series-consultation-copy h4 {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.12;
}

.series-consultation-copy p {
  margin: 0;
  color: rgba(31, 40, 36, .64);
  font-size: .94rem;
  line-height: 1.48;
}

.series-contact-method {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 0;
  padding: 0;
  border: 0;
}

.series-contact-method legend,
.series-name-field > span,
.series-comment-field > span,
.series-contact-field > span {
  margin-bottom: 5px;
  color: rgba(31, 40, 36, .68);
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.25;
}

.series-contact-method label {
  position: relative;
  cursor: pointer;
}

.series-contact-method input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.series-contact-method label span {
  display: grid;
  min-height: 44px;
  place-items: center;
  border: 1px solid rgba(31, 40, 36, .18);
  background: #f8faf7;
  font-size: .78rem;
  font-weight: 700;
}

.series-contact-method input:checked + span {
  color: #fff;
  border-color: #9a5b34;
  background: #9a5b34;
}

.series-contact-field {
  display: grid;
  grid-column: 4;
  grid-row: 1;
}

.series-name-field {
  display: grid;
  grid-column: 2;
  grid-row: 1;
}

.series-contact-method {
  grid-column: 3;
  grid-row: 1;
}

.series-comment-field {
  display: grid;
  grid-column: 2 / span 2;
  grid-row: 2;
}

.series-name-field input,
.series-contact-field input {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid rgba(31, 40, 36, .18);
  border-radius: 0;
  color: var(--ink);
  background: #f8faf7;
  font: inherit;
}

.series-comment-field textarea {
  width: 100%;
  min-height: 44px;
  height: 44px;
  padding: 10px 12px;
  resize: none;
  border: 1px solid rgba(31, 40, 36, .18);
  border-radius: 0;
  color: var(--ink);
  background: #f8faf7;
  font: inherit;
  line-height: 1.4;
}

.series-name-field input:focus,
.series-contact-field input:focus,
.series-comment-field textarea:focus {
  border-color: #9a5b34;
  outline: 2px solid rgba(154, 91, 52, .15);
  outline-offset: 0;
}

.series-consultation-form > .button {
  grid-column: 4;
  grid-row: 2;
  min-height: 44px;
  white-space: nowrap;
}

.series-consultation-form .consent-field {
  grid-column: 2 / -1;
  grid-row: 3;
  margin: 0;
}

.series-consultation-form .form-success {
  grid-column: 1 / -1;
  margin: 0;
}

@media (max-width: 1100px) {
  .series-consultation-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .series-consultation-copy {
    grid-column: 1 / -1;
    grid-row: auto;
    max-width: 620px;
  }

  .series-name-field,
  .series-contact-method,
  .series-contact-field,
  .series-comment-field,
  .series-consultation-form > .button {
    grid-row: auto;
  }

  .series-name-field,
  .series-contact-field {
    grid-column: 1;
  }

  .series-contact-method,
  .series-consultation-form > .button {
    grid-column: 2;
  }

  .series-comment-field {
    grid-column: 1 / -1;
  }

  .series-consultation-form .consent-field,
  .series-consultation-form .form-success {
    grid-column: 1 / -1;
    grid-row: auto;
  }

}

@media (max-width: 720px) {
  .catalog-consultation-section {
    padding: 28px 14px;
  }

  .catalog-consultation-intro {
    margin-bottom: 16px;
  }

  .catalog-consultation-intro h3 {
    font-size: 1.55rem;
  }

  .catalog-consultation-intro p {
    font-size: .96rem;
    line-height: 1.45;
  }

  .product-family-specs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 12px;
  }

  .product-family-specs > div {
    padding: 11px 12px;
  }

  .product-family-spec-wide {
    grid-column: 1 / -1;
  }

  .series-consultation-form {
    grid-template-columns: 1fr;
    margin-top: 12px;
    padding: 14px;
    gap: 8px;
  }

  .series-consultation-copy,
  .series-name-field,
  .series-contact-method,
  .series-contact-field,
  .series-comment-field,
  .series-consultation-form > .button,
  .series-consultation-form .consent-field,
  .series-consultation-form .form-success {
    grid-column: 1;
    grid-row: auto;
  }

  .series-consultation-form > .button {
    min-height: 48px;
  }

  .series-consultation-copy h4 {
    font-size: 1.3rem;
  }

  .series-consultation-copy p {
    font-size: .9rem;
    line-height: 1.45;
  }

}

@media (max-width: 480px) {
  .product-family-spec-wide {
    grid-column: 1 / -1;
  }
}

/* Unified typography system */
:root {
  --type-family: Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --type-section-title: clamp(2.25rem, 3.2vw, 2.9rem);
  --type-section-title-mobile: 1.9rem;
  --type-subtitle: 1.45rem;
  --type-body: .95rem;
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--type-family);
}

h1,
h2,
h3,
h4,
h5,
h6,
.button,
.btn {
  font-family: inherit;
}

.quiz-copy h2,
.mesh-types-intro h2,
.section-heading h2,
.production-live-head h2,
.company-people-head h2,
.certificate-copy h2 {
  max-width: 18ch;
  margin-top: 0;
  margin-bottom: 0;
  color: var(--ink);
  font-size: var(--type-section-title);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -.025em;
  text-transform: uppercase;
}

.quiz-copy h2 {
  max-width: 22ch;
}

.quiz-copy h2 span {
  font: inherit;
}

.product-family-head h3,
.quiz-step h3,
.quiz-result h3,
.application-card h3,
.office-card h3,
.quiz-final-form-card h3,
.quiz-final-offer h3,
.product-modal-content h2,
.lead-form h2,
.sales-card h3 {
  font-family: inherit;
  font-weight: 700;
  letter-spacing: -.015em;
}

.product-family-head h3,
.quiz-step h3,
.quiz-result h3 {
  font-size: var(--type-subtitle);
  line-height: 1.15;
  text-transform: none;
}

.section-heading > p,
.production-live-head > p,
.company-people-head > p,
.certificate-copy > p:not(.eyebrow),
.quiz-copy .quiz-subtitle {
  font-family: inherit;
  font-size: var(--type-body);
  line-height: 1.65;
}

.quiz-copy .quiz-subtitle strong {
  color: #a95f37;
  font-weight: 800;
}

.eyebrow,
.eyebrow.light,
.hero .eyebrow,
.production-live .eyebrow {
  font-family: inherit;
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .04em;
}

@media (max-width: 720px) {
  .quiz-copy h2,
  .mesh-types-intro h2,
  .section-heading h2,
  .production-live-head h2,
  .company-people-head h2,
  .certificate-copy h2 {
    max-width: 18ch;
    font-size: var(--type-section-title-mobile);
    line-height: 1.06;
    letter-spacing: -.02em;
  }

  .quiz-copy h2 {
    max-width: 20ch;
  }

  .product-family-head h3,
  .quiz-step h3,
  .quiz-result h3 {
    font-size: 1.18rem;
    line-height: 1.15;
  }

  .section-heading > p,
  .production-live-head > p,
  .company-people-head > p,
  .certificate-copy > p:not(.eyebrow),
  .quiz-copy .quiz-subtitle {
    font-size: .88rem;
    line-height: 1.55;
  }
}

/* Separate thank-you page */
.thanks-body {
  min-height: 100svh;
  background: #111312;
}

.thanks-page {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  background: url("media/production/production-poster.jpg") center / cover no-repeat;
}

.thanks-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7, 8, 8, .95) 0%, rgba(7, 8, 8, .7) 48%, rgba(7, 8, 8, .18) 100%),
    linear-gradient(0deg, rgba(11, 13, 13, .82) 0%, rgba(11, 13, 13, .12) 55%, transparent 100%);
}

.thanks-content {
  position: absolute;
  z-index: 1;
  right: max(36px, calc((100vw - 1240px) / 2));
  bottom: clamp(90px, 17vh, 180px);
  left: max(36px, calc((100vw - 1240px) / 2));
  color: #fff;
}

.thanks-content .eyebrow {
  margin: 0 0 18px;
  color: #c98252;
}

.thanks-content h1 {
  max-width: 14ch;
  margin: 0;
  color: #fff;
  font-size: clamp(58px, 7vw, 104px);
  font-weight: 800;
  line-height: .92;
  letter-spacing: -.035em;
  text-transform: uppercase;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .4);
}

@media (max-width: 640px) {
  .thanks-page {
    min-height: 100svh;
    background-position: 46% center;
  }

  .thanks-shade {
    background:
      linear-gradient(0deg, rgba(7, 8, 8, .95) 8%, rgba(7, 8, 8, .58) 68%, rgba(7, 8, 8, .16) 100%);
  }

  .thanks-content {
    right: 20px;
    bottom: 86px;
    left: 20px;
  }

  .thanks-content .eyebrow {
    margin-bottom: 12px;
    font-size: 12px;
  }

  .thanks-content h1 {
    max-width: 11ch;
    font-size: clamp(44px, 13vw, 64px);
    line-height: .94;
  }
}

/* Compact high-contrast quiz */
.quiz-section {
  display: flex;
  min-height: calc(100svh - 76px);
  box-sizing: border-box;
  flex-direction: column;
  gap: 0;
  justify-content: flex-start;
  padding: 28px max(32px, calc((100vw - 1360px) / 2)) 32px;
  scroll-margin-top: 76px;
  background: #eee6d8;
}

.quiz-copy {
  width: min(1000px, 100%);
  margin: 0 auto 20px;
}

.quiz-copy h2 {
  max-width: 880px;
  margin-top: 0;
  margin-bottom: 0;
  font-size: clamp(34px, 3vw, 44px);
  line-height: 1.02;
}

.quiz-copy .quiz-subtitle {
  max-width: 780px;
  margin-top: 10px;
  font-size: 16px;
  line-height: 1.4;
}

.quiz-section.is-final-step .quiz-copy {
  display: none;
}

.quiz-panel {
  width: min(1360px, 100%);
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
  box-shadow: 0 24px 70px rgba(28, 22, 16, .16);
}

.quiz-layout {
  display: grid;
  grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
  min-height: 430px;
  background: #f8f3e9;
}

.quiz-benefit {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: space-between;
  padding: 28px;
  overflow: hidden;
  color: #f8f3e9;
  background:
    linear-gradient(180deg, rgba(16, 21, 20, .90), rgba(16, 21, 20, .98)),
    url("media/production/gallery/press-production.jpg") center / cover no-repeat;
}

.quiz-benefit::after {
  position: absolute;
  right: -92px;
  bottom: -110px;
  width: 250px;
  height: 250px;
  content: "";
  border: 1px solid rgba(201, 128, 67, .28);
  transform: rotate(45deg);
}

.quiz-benefit-progress,
.quiz-benefit-copy {
  position: relative;
  z-index: 1;
}

.quiz-benefit-progress > span {
  display: block;
  margin-bottom: 11px;
  color: #d7a27e;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.quiz-benefit-track {
  height: 3px;
  overflow: hidden;
  background: rgba(248, 243, 233, .18);
}

.quiz-benefit-track i {
  display: block;
  width: 25%;
  height: 100%;
  background: #c98043;
  transition: width .25s ease;
}

.quiz-benefit-copy > p {
  margin: 0 0 10px;
  color: #d7a27e;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.quiz-benefit-copy h3 {
  max-width: 12ch;
  margin: 0 0 24px;
  color: #f8f3e9;
  font-size: 27px;
  line-height: 1.04;
}

.quiz-benefit-copy ul {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.quiz-benefit-copy li {
  position: relative;
  padding-left: 22px;
  color: rgba(248, 243, 233, .76);
  font-size: 13px;
  line-height: 1.35;
}

.quiz-benefit-copy li::before {
  position: absolute;
  top: .5em;
  left: 0;
  width: 8px;
  height: 8px;
  content: "";
  border: 2px solid #c98043;
  border-radius: 50%;
  transform: translateY(-50%);
}

.quiz-workspace {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 24px 28px 20px;
  background: #f8f3e9;
}

.quiz-step.is-active {
  flex: 1 1 auto;
}

.quiz-step h3 {
  margin-bottom: 20px;
  font-size: 25px;
  line-height: 1.1;
}

.quiz-choice-hint {
  margin: -12px 0 16px;
  font-size: 13px;
}

.quiz-options,
.quiz-cell-options {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.quiz-options .quiz-option-image,
.quiz-material-options > button {
  min-height: 0;
}

.quiz-options .quiz-option-image {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: stretch;
  color: var(--ink);
  background: #fff;
  border-color: rgba(17, 20, 19, .18);
}

.quiz-option-image img {
  position: static;
  display: block;
  width: 100%;
  aspect-ratio: 2.9;
  object-fit: cover;
}

.quiz-option-image span {
  display: flex;
  min-height: 40px;
  align-items: center;
  padding: 8px 12px;
  color: var(--ink);
  background: #fff;
  font-size: 13px;
  text-align: left;
}

.quiz-options .quiz-option-image:hover {
  color: var(--ink);
  background: #fff;
  border-color: #c98043;
}

.quiz-options .quiz-option-image:hover span {
  color: var(--ink);
  background: #f3e6d6;
}

.quiz-options button.is-selected,
.quiz-cell-options button.is-selected {
  border-color: #c98043;
  box-shadow: 0 0 0 2px #c98043;
}

.quiz-options button.is-selected::after,
.quiz-cell-options button.is-selected::after {
  border-color: #c98043;
  background: #c98043;
}

.quiz-material-options .quiz-material-other {
  min-height: 126px;
  padding: 42px 14px 14px;
  background: #eee6d8;
}

.quiz-cell-options img {
  aspect-ratio: 3.1;
}

.quiz-cell-options span {
  min-height: 38px;
  padding: 8px 10px;
}

.quiz-volume-options {
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.quiz-volume-options button {
  min-height: 76px;
  padding: 14px 42px 14px 16px;
  background: #fff;
}

.quiz-large-volume {
  margin-top: 12px;
  padding: 10px 14px;
}

.quiz-navigation {
  justify-content: flex-end;
  margin-top: 14px;
}

.quiz-next {
  min-width: 210px;
  background: #c98043;
}

.quiz-next:disabled {
  opacity: 1;
  color: rgba(17, 20, 19, .50);
  background: #e4d2be;
}

.quiz-back {
  background: transparent;
}

.quiz-panel[data-current-step="5"] .quiz-layout {
  display: block;
}

.quiz-panel[data-current-step="5"] .quiz-benefit {
  display: none;
}

.quiz-panel[data-current-step="5"] .quiz-workspace {
  padding: 18px 22px 14px;
}

.quiz-panel[data-current-step="5"] .quiz-final-grid {
  gap: 18px;
}

.quiz-panel[data-current-step="5"] .quiz-final-offer {
  padding: 24px 28px;
}

.quiz-panel[data-current-step="5"] .quiz-final-offer .eyebrow {
  margin-bottom: 10px;
}

.quiz-panel[data-current-step="5"] .quiz-final-offer h3 {
  margin-bottom: 12px;
  font-size: 30px;
}

.quiz-panel[data-current-step="5"] .quiz-final-offer > p:not(.eyebrow) {
  font-size: 13px;
  line-height: 1.42;
}

.quiz-panel[data-current-step="5"] .quiz-final-offer ul {
  gap: 7px;
  margin-top: 15px;
}

.quiz-panel[data-current-step="5"] .quiz-final-offer li {
  padding-left: 27px;
  font-size: 13px;
}

.quiz-panel[data-current-step="5"] .quiz-final-form-card {
  padding: 20px 22px;
}

.quiz-panel[data-current-step="5"] .quiz-final-form-card .eyebrow {
  display: none;
}

.quiz-panel[data-current-step="5"] .quiz-final-form-card h3 {
  margin-bottom: 4px;
  font-size: 24px;
}

.quiz-panel[data-current-step="5"] .quiz-final-form-note {
  margin-bottom: 10px;
  font-size: 12px;
}

.quiz-panel[data-current-step="5"] .quiz-contact-form {
  gap: 9px;
}

.quiz-panel[data-current-step="5"] .quiz-contact-form input[type="text"],
.quiz-panel[data-current-step="5"] .quiz-contact-form input[type="tel"],
.quiz-panel[data-current-step="5"] .quiz-contact-form input[type="email"] {
  min-height: 44px;
}

.quiz-panel[data-current-step="5"] .quiz-contact-method span {
  min-height: 42px;
}

.quiz-panel[data-current-step="5"] .quiz-contact-form .button {
  min-height: 44px;
}

.quiz-panel[data-current-step="5"] .quiz-navigation {
  margin-top: 8px;
}

@media (max-width: 900px) {
  .quiz-layout {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .quiz-benefit {
    padding: 22px;
  }

  .quiz-benefit-copy h3 {
    font-size: 23px;
  }
}

@media (max-width: 720px) {
  .quiz-section {
    min-height: calc(100svh - 72px);
    justify-content: flex-start;
    padding: 12px 10px 14px;
    scroll-margin-top: 72px;
  }

  .quiz-copy {
    margin-bottom: 10px;
  }

  .quiz-copy h2 {
    max-width: 24ch;
    font-size: clamp(23px, 7vw, 28px);
    line-height: 1.02;
  }

  .quiz-copy .quiz-subtitle {
    max-width: 42ch;
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.28;
  }

  .quiz-layout {
    display: block;
    min-height: 0;
  }

  .quiz-benefit {
    min-height: 0;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    padding: 10px 12px;
  }

  .quiz-benefit::after,
  .quiz-benefit-copy > p,
  .quiz-benefit-copy ul {
    display: none;
  }

  .quiz-benefit-progress {
    width: 42%;
    flex: 0 0 42%;
  }

  .quiz-benefit-progress > span {
    margin-bottom: 6px;
    font-size: 9px;
  }

  .quiz-benefit-copy h3 {
    max-width: none;
    margin: 0;
    font-size: 13px;
    line-height: 1.15;
  }

  .quiz-workspace {
    padding: 11px 10px 10px;
  }

  .quiz-step h3 {
    margin-bottom: 12px;
    font-size: 18px;
  }

  .quiz-choice-hint {
    margin: -6px 0 9px;
    font-size: 10px;
  }

  .quiz-options,
  .quiz-cell-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .quiz-option-image img {
    aspect-ratio: 3.05;
  }

  .quiz-option-image span {
    min-height: 30px;
    padding: 5px 7px;
    font-size: 11px;
  }

  .quiz-material-options .quiz-material-other {
    min-height: 72px;
    padding: 28px 8px 8px;
  }

  .quiz-cell-options img {
    aspect-ratio: 3.2;
  }

  .quiz-cell-options span {
    min-height: 30px;
    padding: 5px 7px;
  }

  .quiz-volume-options button {
    min-height: 54px;
    padding: 8px 30px 8px 9px;
  }

  .quiz-large-volume {
    margin-top: 7px;
    padding: 7px 9px;
    font-size: 10px;
  }

  .quiz-navigation {
    margin-top: 9px;
  }

  .quiz-next,
  .quiz-back {
    min-height: 40px;
  }

  .quiz-final-offer {
    padding: 9px 11px;
  }

  .quiz-final-offer h3 {
    font-size: 16px;
  }

  .quiz-final-form-card {
    padding: 10px 11px;
  }
}

@media (min-width: 721px) and (max-height: 820px) {
  .quiz-section {
    padding-top: 18px;
    padding-bottom: 20px;
  }

  .quiz-copy {
    margin-bottom: 14px;
  }

  .quiz-copy h2 {
    font-size: 34px;
  }

  .quiz-copy .quiz-subtitle {
    margin-top: 6px;
    font-size: 14px;
  }

  .quiz-layout {
    min-height: 394px;
  }

  .quiz-workspace {
    padding-top: 19px;
    padding-bottom: 16px;
  }

  .quiz-option-image img {
    aspect-ratio: 3.1;
  }

  .quiz-navigation {
    margin-top: 10px;
  }
}

/* Unified page rhythm, typography and five-colour palette */
:root {
  --brand-dark: #27342e;
  --brand-light: #f7f4ec;
  --brand-white: #ffffff;
  --brand-accent: #b8683c;
  --brand-muted: #e3e9e2;
  --ink: var(--brand-dark);
  --deep: var(--brand-dark);
  --blue: var(--brand-accent);
  --sky: var(--brand-accent);
  --pale: var(--brand-muted);
  --paper: var(--brand-light);
  --white: var(--brand-white);
  --line: rgba(39, 52, 46, .16);
  --muted: rgba(39, 52, 46, .68);
  --cta-gradient: var(--brand-accent);
  --cta-gradient-hover: var(--brand-dark);
  --section-space: clamp(48px, 6vw, 76px);
  --section-title: clamp(2rem, 3.4vw, 3rem);
}

body {
  color: var(--brand-dark);
  background: var(--brand-light);
  font-family: var(--type-family);
}

.button-primary,
.btn-primary,
.header-cta {
  color: var(--brand-white);
  background: var(--brand-accent);
}

.button-primary:hover,
.btn-primary:hover,
.header-cta:hover {
  color: var(--brand-white);
  background: var(--brand-dark);
}

/* One type scale for all section headings */
.quiz-copy h2,
.mesh-types-intro h2,
.catalog-consultation-intro h3,
.projects-gallery-head h2,
.production-compact-head h2,
.company-people-head h2,
.contacts-copy h2 {
  max-width: 24ch;
  margin: 0 auto;
  color: inherit;
  font-family: var(--type-family);
  font-size: var(--section-title);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.025em;
  text-align: center;
  text-transform: uppercase;
}

.quiz-copy,
.mesh-types-intro > div:first-child,
.catalog-consultation-intro,
.production-compact-head,
.company-people-head,
.contacts-copy {
  text-align: center;
}

.quiz-copy .quiz-subtitle,
.catalog-consultation-intro p {
  max-width: 58rem;
  margin-right: auto;
  margin-left: auto;
  font-family: var(--type-family);
  font-size: var(--type-body);
  line-height: 1.6;
}

.quiz-section,
.mesh-types-section,
.catalog-consultation-section,
.production-section,
.contacts-section {
  padding-top: var(--section-space);
  padding-bottom: var(--section-space);
}

/* Calm alternation between warm ivory and pale sage */
.quiz-section {
  min-height: 0;
  color: var(--brand-dark);
  background: var(--brand-light);
}

.mesh-types-section {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-top: clamp(36px, 4vw, 52px);
  padding-right: max(40px, calc((100vw - 1240px) / 2));
  padding-left: max(40px, calc((100vw - 1240px) / 2));
  color: var(--brand-dark);
  background: var(--brand-muted);
}

.catalog-consultation-section {
  color: var(--brand-dark);
  background: var(--brand-light);
}

.production-section {
  color: var(--brand-dark);
  background: var(--brand-muted);
}

.site-footer {
  padding-top: var(--section-space);
  padding-bottom: var(--section-space);
  color: var(--brand-dark);
  background: var(--brand-light);
  border-color: rgba(39, 52, 46, .16);
}

/* Quiz without the duplicate left panel */
.quiz-panel {
  width: min(1240px, 100%);
  color: var(--brand-dark);
  background: var(--brand-white);
  border: 1px solid rgba(31, 40, 36, .14);
  box-shadow: 0 18px 50px rgba(31, 40, 36, .12);
}

.quiz-layout {
  display: block;
  min-height: 0;
  background: var(--brand-white);
}

.quiz-workspace {
  width: 100%;
  max-width: none;
  background: var(--brand-white);
}

.quiz-inline-progress {
  display: grid;
  grid-template-columns: auto minmax(9rem, 16rem);
  gap: 14px;
  align-items: center;
  margin-bottom: 20px;
  color: var(--brand-accent);
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.quiz-inline-progress > div {
  height: 3px;
  overflow: hidden;
  background: var(--brand-muted);
}

.quiz-inline-progress i {
  display: block;
  width: 25%;
  height: 100%;
  background: var(--brand-accent);
  transition: width .25s ease;
}

.quiz-step h3 {
  color: var(--brand-dark);
  text-align: center;
}

.quiz-choice-hint {
  text-align: center;
}

.quiz-option-image,
.quiz-cell-options button,
.quiz-volume-options button,
.quiz-material-options .quiz-material-other {
  color: var(--brand-dark);
  background: var(--brand-white);
  border-color: rgba(31, 40, 36, .18);
}

.quiz-option-image[aria-pressed="true"],
.quiz-cell-options button[aria-pressed="true"],
.quiz-volume-options button[aria-pressed="true"],
.quiz-material-options .quiz-material-other[aria-pressed="true"] {
  border-color: var(--brand-accent);
  box-shadow: inset 0 0 0 2px var(--brand-accent);
}

.quiz-option-image[aria-pressed="true"]::after,
.quiz-cell-options button[aria-pressed="true"]::after,
.quiz-volume-options button[aria-pressed="true"]::after,
.quiz-material-options .quiz-material-other[aria-pressed="true"]::after,
.quiz-contact-method input:checked + span,
.hero-contact-method input:checked + span {
  color: var(--brand-white);
  background: var(--brand-accent);
  border-color: var(--brand-accent);
}

/* Catalogue on the dark section */
.mesh-types-intro {
  justify-items: center;
  gap: 14px;
  margin-bottom: 12px;
}

.mesh-types-intro .eyebrow {
  color: var(--brand-accent);
  text-align: center;
}

.mesh-types-intro h2,
.product-family-head h3,
.product-family-head p {
  color: var(--brand-dark);
}

.mesh-types-intro-note {
  max-width: 48rem;
  margin: 12px auto 0;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.45;
  text-align: center;
}

.mesh-types-specs {
  width: 100%;
  color: var(--brand-dark);
  background: rgba(255, 255, 255, .16);
}

.product-family-specs > div,
.product-card {
  background: var(--brand-white);
}

.product-family-specs > div > span,
.product-card-price,
.product-card-link {
  color: var(--brand-accent);
}

.product-family {
  border-color: rgba(39, 52, 46, .16);
}

.product-family-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.product-family-head > div:first-child {
  position: relative;
  display: block;
  min-width: 0;
  padding-left: 44px;
  text-align: left;
}

.product-family-head span {
  position: absolute;
  top: .35rem;
  left: 0;
  color: var(--brand-accent);
}

.product-family-head p {
  max-width: 48rem;
  margin-right: 0;
  margin-left: 0;
  text-align: left;
}

.rail-controls button {
  color: var(--brand-dark);
  background: transparent;
  border-color: rgba(39, 52, 46, .25);
}

.rail-controls button:hover {
  color: var(--brand-white);
  background: var(--brand-accent);
  border-color: var(--brand-accent);
}

/* Forms and production cards stay readable within alternating sections */
.series-consultation-form,
.catalog-consultation-section .series-consultation-form,
.location-card,
.sales-card {
  color: var(--brand-dark);
  background: var(--brand-white);
  border-color: rgba(31, 40, 36, .14);
}

.series-consultation-copy h4,
.series-consultation-copy p,
.lead-form h2 {
  text-align: center;
}

.product-card-code {
  color: var(--brand-dark);
  background: var(--brand-white);
}

.product-card-action {
  color: var(--brand-dark);
  background: var(--brand-white) !important;
  border-right: 1px solid rgba(39, 52, 46, .16) !important;
}

.product-card-actions button,
.product-card-secondary {
  color: var(--brand-dark);
  background: var(--brand-white);
}

.product-card-price {
  color: var(--brand-white) !important;
  background: var(--brand-accent) !important;
}

.product-card-actions .product-card-action:hover {
  color: var(--brand-white);
  background: var(--brand-dark) !important;
}

.product-card-actions .product-card-price:hover {
  color: var(--brand-white);
  background: var(--brand-dark) !important;
}

.lead-form,
.footer-form,
.quiz-final-form-card,
.product-modal-content,
.sample-modal-dialog,
.request-modal-dialog,
.callback-modal-dialog {
  color: var(--brand-dark);
  background: var(--brand-white);
}

.lead-form input,
.lead-form textarea,
.lead-form select,
.series-consultation-form input,
.series-consultation-form textarea,
.quiz-contact-form input,
.product-lead-form input,
.product-lead-form textarea {
  color: var(--brand-dark);
  background: var(--brand-white);
  border-color: rgba(31, 40, 36, .18);
}

.series-contact-method input:checked + span,
.product-contact-method input:checked + span {
  color: var(--brand-white);
  background: var(--brand-accent);
  border-color: var(--brand-accent);
}

.form-success {
  color: var(--brand-dark);
  background: var(--brand-muted);
}
body .form-success.form-result-error {
  color: #f5faf7;
  background: #bb6c6c;
  font-size: 13px;
}

.production-compact-head h2,
.company-people-head h2 {
  color: var(--brand-dark);
}

.company-people-head {
  display: block;
}

.production-section .eyebrow,
.company-people .eyebrow {
  color: var(--brand-accent);
  text-align: center;
}

.company-people {
  border-color: rgba(39, 52, 46, .16);
}

/* Contacts stay light and the heading remains centred */
.contacts-copy {
  padding: 0 clamp(2rem, 4vw, 4rem);
  color: var(--brand-dark);
}

.contacts-copy .eyebrow {
  color: var(--brand-accent);
  text-align: center;
}

.contacts-copy h2 {
  margin-bottom: 1.7rem;
  color: var(--brand-dark);
}

.contacts-copy address,
.contacts-delivery {
  color: rgba(31, 40, 36, .7);
}

.contacts-list {
  border-color: rgba(31, 40, 36, .18);
}

.contacts-list > div {
  border-color: rgba(31, 40, 36, .14);
}

.contacts-list span {
  color: rgba(31, 40, 36, .52);
}

.contacts-list a,
.contacts-list strong {
  color: var(--brand-dark);
}

.contacts-list a:hover {
  color: var(--brand-accent);
}

.contacts-map {
  min-height: 32rem;
  background: var(--brand-muted);
}

.contacts-map iframe {
  min-height: 32rem;
}

.contacts-map-note {
  color: var(--brand-white);
  background: var(--brand-dark);
}

.site-footer .footer-copy p,
.site-footer .footer-details address,
.site-footer .footer-details address span {
  color: rgba(39, 52, 46, .68);
}

.site-footer .footer-details,
.site-footer .footer-certificate img {
  border-color: rgba(39, 52, 46, .16);
}

.site-footer .footer-details > strong,
.site-footer .footer-certificate,
.site-footer .footer-certificate strong {
  color: var(--brand-dark);
}

.site-footer .footer-copy a:not(.brand),
.site-footer .footer-certificate small,
.site-footer .footer-legal-link {
  color: var(--brand-accent);
}

@media (min-width: 901px) {
  .product-rail {
    grid-auto-columns: calc((100% - 30px) / 4);
  }
}

@media (max-width: 720px) {
  :root {
    --section-space: 44px;
    --section-title: 1.9rem;
  }

  .quiz-section,
  .mesh-types-section,
  .catalog-consultation-section,
  .production-section,
  .contacts-section {
    padding-top: var(--section-space);
    padding-bottom: var(--section-space);
  }

  .mesh-types-section,
  .contacts-section {
    padding-right: 14px;
    padding-left: 14px;
  }

  .mesh-types-section {
    padding-top: 36px;
  }

  .quiz-copy h2,
  .mesh-types-intro h2,
  .catalog-consultation-intro h3,
  .projects-gallery-head h2,
  .production-compact-head h2,
  .company-people-head h2,
  .contacts-copy h2 {
    max-width: 22ch;
    font-size: var(--section-title);
    line-height: 1.08;
  }

  .quiz-copy {
    margin-bottom: 18px;
  }

  .quiz-workspace {
    padding: 14px 12px 12px;
  }

  .quiz-inline-progress {
    grid-template-columns: auto 1fr;
    margin-bottom: 14px;
    font-size: .68rem;
  }

  .contacts-section {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .contacts-copy {
    padding: 0;
  }

  .contacts-map,
  .contacts-map iframe {
    min-height: 24rem;
  }

  .product-family-head {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
  }

  .product-family-head > div:first-child {
    padding: 0 34px;
  }

  .rail-controls {
    justify-content: flex-end;
    margin-top: 0;
  }
}
.catalog-request-card {
  min-height: 255px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  scroll-snap-align: start;
  padding: 24px;
  color: #fff;
  background: linear-gradient(145deg, #24312b, #18211d);
  border: 1px solid rgba(154, 91, 52, 0.45);
  box-shadow: 0 8px 20px rgba(40, 53, 46, 0.12);
}

.catalog-request-card-kicker {
  color: #d79262;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.catalog-request-card p {
  margin: 10px 0 20px;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 700;
}

.catalog-request-card-button {
  width: 100%;
  min-height: 48px;
  border: 0;
  background: #b86b3b;
  color: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.catalog-request-card-button:hover {
  background: #9f5830;
}

body.catalog-request-modal-open {
  overflow: hidden;
}

[data-catalog-request-modal][hidden] {
  display: none !important;
}

@media (max-width: 720px) {
  .catalog-request-card {
    min-height: 230px;
  }
}
.form-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.form-submit-status {
  margin-top: .75rem;
  color: var(--color-text, #16352d);
  font-size: .9rem;
  line-height: 1.4;
}

.form-submit-status.is-error {
  color: #9c2f24;
}

button[type="submit"]:disabled {
  cursor: wait;
  opacity: .7;
}

/* Readable value proposition on the final quiz screen */
.quiz-panel[data-current-step="5"] .quiz-final-offer {
  justify-content: center;
  padding: clamp(1.75rem, 2.4vw, 2.5rem);
}

.quiz-panel[data-current-step="5"] .quiz-final-offer h3 {
  max-width: 24ch;
  margin-bottom: 1rem;
  color: #ffffff;
  font-size: clamp(1.85rem, 2.2vw, 2.4rem);
  line-height: 1.08;
  opacity: 1;
  text-shadow: none;
}

.quiz-panel[data-current-step="5"] .quiz-final-offer > p:not(.eyebrow) {
  max-width: 39rem;
  color: rgba(255, 255, 255, .86);
  font-size: clamp(.95rem, 1.05vw, 1.08rem);
  line-height: 1.5;
}

.quiz-panel[data-current-step="5"] .quiz-final-offer ul {
  gap: .75rem;
  margin-top: 1.35rem;
}

.quiz-panel[data-current-step="5"] .quiz-final-offer li {
  min-height: 1.6rem;
  padding-left: 2.15rem;
  color: #fff;
  font-size: clamp(.9rem, 1vw, 1rem);
  font-weight: 650;
  line-height: 1.35;
}

.quiz-panel[data-current-step="5"] .quiz-final-offer li::before {
  top: .05rem;
  width: 1.45rem;
  height: 1.45rem;
  font-size: .7rem;
}

@media (max-width: 720px) {
  .quiz-panel[data-current-step="5"] .quiz-final-offer {
    display: flex;
    padding: 1.5rem 1.25rem;
  }

  .quiz-panel[data-current-step="5"] .quiz-final-offer .eyebrow,
  .quiz-panel[data-current-step="5"] .quiz-final-offer > p:not(.eyebrow),
  .quiz-panel[data-current-step="5"] .quiz-final-offer ul {
    display: block;
  }

  .quiz-panel[data-current-step="5"] .quiz-final-offer h3 {
    margin-bottom: 1rem;
    font-size: 1.75rem;
  }

  .quiz-panel[data-current-step="5"] .quiz-final-offer > p:not(.eyebrow) {
    font-size: .95rem;
    line-height: 1.5;
  }

  .quiz-panel[data-current-step="5"] .quiz-final-offer ul {
    display: grid;
    gap: .8rem;
    margin-top: 1.35rem;
  }

  .quiz-panel[data-current-step="5"] .quiz-final-offer li {
    min-height: 1.6rem;
    padding-left: 2.2rem;
    font-size: .93rem;
  }

  .quiz-panel[data-current-step="5"] .quiz-final-offer li::before {
    width: 1.45rem;
    height: 1.45rem;
    font-size: .7rem;
  }
}

