@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Oswald:wght@400;500;600;700&display=swap");

:root {
  --paper: #0b0c0b;
  --paper-bright: #151714;
  --ink: #f1efe7;
  --muted: #a6a69d;
  --line: #34352f;
  --blue: #d8aa00;
  --blue-dark: #b88f00;
  --graphite: #080908;
  --radius: 0;
  --font: "Inter", "Segoe UI", Arial, sans-serif;
  --display: "Oswald", "Arial Narrow", sans-serif;
}

html, body { background: var(--paper); }
html { scrollbar-color: var(--blue) #171815; scrollbar-width: thin; }
body { color: var(--ink); }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: #171815; }
::-webkit-scrollbar-thumb { background: #857018; border: 3px solid #171815; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: var(--blue); }
::selection { color: #0b0c0b; background: #e5b900; }
:focus-visible { outline-color: #e5b900; }

.site-header { border-color: rgba(216,170,0,.3); background: rgba(8,9,8,.94); }
.header-shell { min-height: 82px; }
.brand { width: 275px; overflow: visible; }
.brand-logo { width: 250px; height: 76px; filter: none; object-position: left center; transform: scale(1.28); transform-origin: left center; }
.desktop-nav a { color: #d8d7cf; font-family: var(--display); font-size: .76rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.desktop-nav a::after { height: 2px; background: var(--blue); }
.phone-link { color: white; }
.phone-link span { color: #888981; }
.menu-button { background: var(--blue); }
.menu-button span { background: #0b0c0b; }
.mobile-menu { color: white; background: #090a09; border-color: var(--line); }

.button { min-height: 50px; color: #0a0b0a; background: var(--blue); border-color: var(--blue); border-radius: 0; font-family: var(--display); font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.button:hover { color: #0a0b0a; background: #e5b900; box-shadow: 0 14px 36px rgba(216,170,0,.15); }
.arrow-up { display: inline-block; width: .88em; height: .88em; flex: 0 0 auto; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 12 12 4M6 4h6v6' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 12 12 4M6 4h6v6' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.text-link { color: var(--blue); border-color: var(--blue); font-family: var(--display); letter-spacing: .08em; text-transform: uppercase; }
.eyebrow { display: block; margin: 0 0 1.1rem; color: var(--blue); font-family: var(--display); font-size: .7rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.section { padding-top: 6.5rem; padding-bottom: 6.5rem; }
.section-head { margin-bottom: 2.75rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.section-head h2, .calculator-preview h2, .dark-process h2, .detail-copy h2, .related-section h2 { font-family: var(--display); font-size: clamp(2.15rem,3.4vw,3.9rem); font-weight: 600; letter-spacing: -.025em; line-height: 1; text-transform: uppercase; }

.home-hero { width: 100%; height: calc(100svh - 82px); min-height: 700px; padding: 0; grid-template-columns: minmax(390px,.72fr) minmax(0,1.28fr); gap: 0; }
.hero-copy { z-index: 2; padding: clamp(3rem,5vw,6rem); background: linear-gradient(135deg,#111310,#080908); }
.hero-copy::before { content: "ТКАЧИ / НАТЯЖНЫЕ ПОТОЛКИ"; position: absolute; top: 2rem; left: clamp(3rem,5vw,6rem); color: #7e7f77; font-family: var(--display); font-size: .62rem; letter-spacing: .22em; }
.hero-copy h1 { max-width: 10.5ch; font-family: var(--display); font-size: clamp(3.15rem,4.25vw,5.15rem); font-weight: 600; line-height: .94; letter-spacing: -.025em; text-transform: uppercase; }
.hero-copy h1 em, .page-intro h1 em, .price-intro h1 em, .contacts-hero-copy h1 em { color: var(--blue); font-family: inherit; font-style: normal; font-weight: inherit; }
.hero-lead { max-width: 29rem; color: #b8b8af; font-size: .98rem; }
.hero-actions { align-items: stretch; }
.hero-proof-strip { position: absolute; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #373932; background: #0a0b0a; }
.hero-proof-strip div { min-width: 0; padding: 1rem clamp(.8rem,1.6vw,1.5rem); border-right: 1px solid #373932; }
.hero-proof-strip div:last-child { border-right: 0; }
.hero-proof-strip strong { display: block; color: var(--blue); font-family: var(--display); font-size: 1.25rem; font-weight: 600; text-transform: uppercase; }
.hero-proof-strip span { display: block; margin-top: .2rem; color: #8d8f87; font-size: .65rem; line-height: 1.25; text-transform: uppercase; }
.hero-visual { border-radius: 0; }
.hero-visual::before { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(90deg,rgba(5,6,5,.35),transparent 38%),linear-gradient(180deg,transparent 58%,rgba(4,5,4,.78)); pointer-events: none; }
.hero-tag { color: #eee; }
.hero-tag b { color: var(--blue); }
.measure-orbit { width: 126px; height: 126px; border-color: var(--blue); border-radius: 0; background: rgba(8,9,8,.68); }
.intro-strip { padding-top: 3.5rem; padding-bottom: 3.5rem; border-color: var(--line); }
.intro-strip > p { font-family: var(--display); font-size: clamp(1.5rem,2.2vw,2.25rem); font-weight: 500; text-transform: uppercase; }
.intro-stats strong { color: var(--blue); font-family: var(--display); font-weight: 600; }

.featured-grid { grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-flow: row; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.featured-card { background: #141613; }
.featured-card, .featured-card:nth-child(1), .featured-card:nth-child(5) { grid-column: auto; }
.featured-media, .featured-card:nth-child(1) .featured-media, .featured-card:nth-child(5) .featured-media { aspect-ratio: 1.48; border-radius: 0; }
.featured-media::after, .catalog-image::after, .gallery-media::after, .related-grid > a > div::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg,transparent 48%,rgba(4,5,4,.65)); pointer-events: none; }
.featured-media > span, .catalog-image > span { z-index: 2; color: #0b0c0b; background: var(--blue); border-radius: 0; font-family: var(--display); font-weight: 600; }
.featured-copy { min-height: 105px; padding: 1.25rem; border: 0; }
.featured-copy h3 { color: white; font-family: var(--display); font-size: 1.15rem; font-weight: 500; letter-spacing: .01em; text-transform: uppercase; }
.featured-copy p { color: #91928a; }
.featured-copy b { right: 1.25rem; color: var(--blue); }

.dark-process { padding-top: 7rem; padding-bottom: 7rem; color: white; background: #070807; border-top: 1px solid var(--blue); border-bottom: 1px solid var(--blue); }
.process-heading > p:last-child, .process-steps p { color: #aaa99f; }
.process-steps, .process-steps > div { border-color: #373832; }
.process-steps span { color: var(--blue); }
.process-steps h3 { font-family: var(--display); font-weight: 500; text-transform: uppercase; }
.calculator-preview-image { border-radius: 0; }
.calculator-preview-copy > p:not(.eyebrow), .philosophy > div:last-child > p:not(.eyebrow) { color: var(--muted); }
.philosophy { border-color: var(--line); }
.philosophy blockquote { color: white; font-family: var(--display); font-weight: 500; letter-spacing: -.02em; text-transform: uppercase; }
.philosophy-index { color: var(--blue); }

.page-intro, .price-intro { min-height: 43vh; padding-top: 3.25rem; padding-bottom: 3rem; border-bottom: 1px solid var(--line); }
.page-intro h1, .price-intro h1 { color: white; font-family: var(--display); font-size: clamp(3rem,4.8vw,5.5rem); font-weight: 600; letter-spacing: -.025em; line-height: .94; text-transform: uppercase; }
.page-intro > p:last-child, .price-intro > p:last-child, .price-note { color: var(--muted); }
.catalog-section { padding-top: 1rem; }
.calculator-page { padding-top: 2.5rem; }
.catalog-tools, .price-tabs { top: 82px; background: rgba(10,11,10,.96); border-color: var(--line); }
.catalog-tools { margin-bottom: .7rem; padding: .35rem 0 .65rem; }
.search-field input { height: 44px; font-size: clamp(1rem,1.35vw,1.3rem); }
.search-field b { font-size: 1.35rem; }
.filter-row { margin-top: .5rem; gap: .45rem; }
.filter-row button { padding: .48rem .8rem; }
.search-field input { color: white; border-color: #77786f; font-family: var(--display); }
.search-field input::placeholder { color: #6f7069; }
.filter-row button, .price-tabs button, .segmented button { color: #b5b5ad; border-color: #44463f; border-radius: 0; font-family: var(--display); letter-spacing: .04em; text-transform: uppercase; }
.filter-row button.active, .price-tabs button.active, .segmented button.active { color: #0b0c0b; background: var(--blue); border-color: var(--blue); }
.catalog-grid { padding-top: 1px; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.catalog-card { background: #151714; }
.catalog-card:hover { transform: none; background: #1c1e1a; }
.catalog-image { aspect-ratio: 1.28; border-radius: 0; }
.catalog-image > span { padding: .3rem .48rem; }
.catalog-card-copy { min-height: 154px; padding: 1.15rem; border: 0; }
.catalog-card-copy h2 { color: white; font-family: var(--display); font-size: 1.05rem; font-weight: 500; text-transform: uppercase; }
.catalog-card-copy p { color: #8e8f87; }
.catalog-price { left: 1.15rem; bottom: 1.1rem; }
.catalog-price strong { color: var(--blue); font-family: var(--display); font-size: 1rem; }
.catalog-card-copy b { right: 1.15rem; bottom: 1.1rem; color: var(--blue); }

.price-section { padding-top: 2rem; }
.price-card { min-height: 480px; color: white; background: #151714; border-color: #383a34; border-radius: 0; }
.price-card:hover { border-color: var(--blue); box-shadow: 0 22px 55px rgba(0,0,0,.35); }
.price-card h2 { font-family: var(--display); font-weight: 500; text-transform: uppercase; }
.price-value { border-color: #3c3e37; }
.price-value strong, .price-value span { color: var(--blue); font-family: var(--display); }
.price-card dl div { border-color: #32342e; }
.price-card dt, .price-card-top { color: #93948c; }
.price-explainer, .price-explainer > div, .price-explainer p { border-color: var(--line); }
.price-explainer h2 { font-family: var(--display); text-transform: uppercase; }

.calculator-shell { background: #141613; border-color: #3a3c35; border-radius: 0; }
.calculator-grid label:not(.toggle), .toggle { border-color: #3d3f38; border-radius: 0; }
.calculator-grid input[type="number"] { color: white; border-color: #3d3f38; }
.calculator-grid input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
.calculator-grid input[type="number"]::-webkit-inner-spin-button, .calculator-grid input[type="number"]::-webkit-outer-spin-button { margin: 0; appearance: none; -webkit-appearance: none; }
.calculator-grid label:not(.toggle) { grid-template-columns: 1fr 138px; }
.number-stepper { display: grid; grid-template-columns: 34px 1fr 34px; align-items: stretch; min-height: 42px; border-left: 1px solid #3d3f38; }
.calculator-grid .number-stepper input[type="number"] { min-width: 0; padding: .35rem .1rem; border: 0; text-align: center; }
.number-stepper button { color: var(--blue); background: transparent; border: 0; border-left: 1px solid #3d3f38; font-size: 1.25rem; line-height: 1; cursor: pointer; }
.number-stepper button:first-child { border-left: 0; border-right: 1px solid #3d3f38; }
.number-stepper button:hover { color: #0b0c0b; background: var(--blue); }
.toggle { position: relative; cursor: pointer; }
.toggle input[type="checkbox"] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.toggle input[type="checkbox"] + span { display: flex; align-items: center; gap: .8rem; }
.toggle input[type="checkbox"] + span::before { content: ""; width: 24px; height: 24px; flex: 0 0 24px; border: 2px solid #74766c; background: #0d0e0d; }
.toggle input[type="checkbox"]:checked + span::before { border-color: var(--blue); background: var(--blue); box-shadow: inset 0 0 0 5px #0d0e0d; }
.toggle input[type="checkbox"]:focus-visible + span::before { outline: 2px solid white; outline-offset: 3px; }
input[type="range"] { height: 6px; appearance: none; -webkit-appearance: none; border-radius: 999px; background: #44463f; outline: none; }
input[type="range"]::-webkit-slider-thumb { width: 21px; height: 21px; appearance: none; -webkit-appearance: none; border: 3px solid #0d0e0d; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 1px var(--blue); cursor: grab; }
input[type="range"]::-moz-range-thumb { width: 17px; height: 17px; border: 3px solid #0d0e0d; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 1px var(--blue); cursor: grab; }
.calculator-result { background: #070807; border-left: 1px solid var(--blue); }
.calculator-result > strong { color: var(--blue); font-family: var(--display); }
.result-rule { border-color: #454740; }
.result-rule span { color: var(--blue); }

.lead-form { color: white; background: #151714; border: 1px solid #3a3c35; border-radius: 0; }
.form-heading h2 { font-family: var(--display); font-size: clamp(2.1rem,3.2vw,3.7rem); font-weight: 600; letter-spacing: -.025em; line-height: 1; text-transform: uppercase; }
.form-heading > p:last-child, .form-fields label > span { color: var(--muted); }
.form-fields input:not([type="checkbox"]), .form-fields textarea { min-height: 62px; padding: 1rem 1.15rem; color: white; background: #10120f; border: 1px solid #484a42; }
.form-fields textarea { min-height: 126px; line-height: 1.5; resize: vertical; }
.form-fields input::placeholder, .form-fields textarea::placeholder { color: #777970; opacity: 1; }
.form-fields input:-webkit-autofill, .form-fields input:-webkit-autofill:hover, .form-fields input:-webkit-autofill:focus { -webkit-text-fill-color: #f1efe7; caret-color: #f1efe7; box-shadow: 0 0 0 1000px #10120f inset; transition: background-color 9999s ease-out; }
.form-fields input:focus, .form-fields textarea:focus { border-color: var(--blue); }
.consent input { accent-color: var(--blue); }
.success { color: var(--blue); }

.legal-page { min-height: 70vh; }
.legal-page > header { width: var(--container); margin: 0 auto; padding: 5rem 0 3rem; border-bottom: 1px solid var(--line); }
.legal-page h1 { max-width: 18ch; margin: 0; font-family: var(--display); font-size: clamp(2.8rem,4.5vw,5rem); line-height: .98; text-transform: uppercase; }
.legal-page > header > p:last-child { color: var(--muted); }
.legal-document { width: min(100% - 3rem,900px); margin: 0 auto; padding: 4rem 0 7rem; }
.legal-document section { padding: 0 0 2rem; margin-bottom: 2rem; border-bottom: 1px solid var(--line); }
.legal-document h2 { margin: 0 0 1rem; font-family: var(--display); font-size: clamp(1.4rem,2vw,2rem); text-transform: uppercase; }
.legal-document p { color: #c1c1b9; line-height: 1.75; }
.legal-document a { color: var(--blue); text-decoration: underline; text-underline-offset: .2em; }
.legal-back { margin-top: 3rem; }

.cookie-banner { position: fixed; z-index: 1000; right: 1.25rem; bottom: 1.25rem; left: 1.25rem; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2rem; max-width: 1180px; margin: 0 auto; padding: 1.25rem 1.4rem; color: white; background: #151714; border: 1px solid #55574e; box-shadow: 0 20px 70px rgba(0,0,0,.45); }
.cookie-banner[hidden] { display: none; }
.cookie-banner strong { font-family: var(--display); font-size: 1.2rem; text-transform: uppercase; }
.cookie-banner p { max-width: 720px; margin: .35rem 0 .25rem; color: #aaa99f; font-size: .82rem; line-height: 1.5; }
.cookie-banner a { color: var(--blue); font-size: .75rem; text-decoration: underline; }
.cookie-actions { display: flex; gap: .6rem; }
.cookie-actions button { min-height: 44px; padding: .7rem 1rem; color: white; background: transparent; border: 1px solid #55574e; font-family: var(--display); text-transform: uppercase; cursor: pointer; }
.cookie-actions .button { color: #0b0c0b; background: var(--blue); border-color: var(--blue); }

.editorial-hero { min-height: calc(100vh - 82px); padding-top: 0; grid-template-columns: .72fr 1.28fr; gap: 0 2rem; }
.breadcrumbs { border-bottom: 1px solid var(--line); color: #888981; }
.breadcrumbs b { color: white; }
.editorial-title { padding-right: 1rem; }
.editorial-title h1, .contacts-hero-copy h1, .contacts-heading h2, .legal-heading h2 { color: white; font-family: var(--display); font-size: clamp(2.8rem,4.1vw,4.7rem); font-weight: 600; letter-spacing: -.025em; line-height: .96; text-transform: uppercase; }
.editorial-title > p:not(.eyebrow), .editorial-heading > p, .contacts-heading p, .legal-heading p { color: var(--muted); }
.editorial-visual, .contacts-hero-image { border-radius: 0; }
.drawing-note { color: #0b0c0b; background: var(--blue); border: 0; border-radius: 0; font-family: var(--display); }
.editorial-content { padding-top: 4rem; padding-bottom: 4rem; gap: 4rem; border-color: var(--line); }
.editorial-content aside, .editorial-story, .editorial-story article, .detail-copy, .detail-row { border-color: var(--line); }
.editorial-heading h2 { font-family: var(--display); font-size: clamp(2.1rem,3.25vw,3.75rem); font-weight: 600; line-height: 1; text-transform: uppercase; }
.editorial-story article { min-height: 112px; }
.editorial-story article p, .detail-row p { color: #c3c3ba; }
.editorial-story article span, .detail-row span, .related-grid span { color: var(--blue); }
.product-facts { gap: 1px; background: #3a3c35; border-color: #3a3c35; }
.product-facts > div { min-height: 190px; color: white; background: #151714; }
.product-facts span { color: var(--blue); }
.product-facts strong, .related-grid h3 { font-family: var(--display); text-transform: uppercase; }
.editorial-quick-facts { display: flex; flex-wrap: wrap; gap: 0; margin-top: 2.3rem; border-top: 1px solid #393b35; border-bottom: 1px solid #393b35; }
.editorial-quick-facts span { padding: .8rem 1rem .8rem 0; margin-right: 1rem; color: #a9aa9f; font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.editorial-quick-facts span::before { content: "◆"; margin-right: .55rem; color: var(--blue); font-size: .55rem; }
.section-number { align-self: flex-start; color: var(--blue); font-family: var(--display); font-size: .72rem; letter-spacing: .12em; }
.section-head:has(.section-number) { display: grid; grid-template-columns: 3.5rem 1fr auto; gap: 1rem; align-items: end; }
.gallery-media, .related-grid > a > div { border-radius: 0; }

.contacts-hero { min-height: calc(100svh - 82px); padding-top: 0; padding-bottom: 0; gap: 0; }
.contacts-hero-copy { padding-right: 4rem; }
.contacts-hero-copy > p { color: var(--muted); }
.contacts-details, .social-contact-block, .legal-section { border-color: var(--line); }
.contact-cards, .social-contact-links { gap: 1px; background: #3a3c35; border-color: #3a3c35; }
.contact-card, .social-contact-links a { color: white; background: #151714; }
.contact-card strong, .social-contact-links strong { font-family: var(--display); }
a.contact-card:hover, .contact-card-primary, .social-contact-links a:hover { color: #0b0c0b; background: var(--blue); }
a.contact-card:hover span, a.contact-card:hover small, .contact-card-primary span, .contact-card-primary small, .social-contact-links a:hover span, .social-contact-links a:hover b { color: rgba(11,12,11,.68); }
.social-contact-links b { color: var(--blue); }
.legal-list, .legal-list > div { border-color: var(--line); }

.site-footer { color: #f2f0e8; background: #070807; border-top: 2px solid var(--blue); }
.footer-top, .footer-grid { border-color: #33352f; }
.footer-top h2 { font-family: var(--display); font-size: clamp(2.6rem,4vw,4.6rem); font-weight: 600; line-height: .98; text-transform: uppercase; }
.footer-grid b { color: var(--blue); font-family: var(--display); }
.footer-grid span, .footer-grid a, .footer-grid p, .footer-contact a:nth-child(2), .footer-contact p { color: #a0a199; }
.footer-logo { width: min(420px,100%); }

@media (max-width: 1100px) {
  .header-shell { min-height: 76px; }
  .brand { width: 225px; }
  .brand-logo { width: 215px; height: 68px; transform: scale(1.2); }
  .featured-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-hero { height: auto; min-height: 0; grid-template-columns: 1fr; }
  .hero-copy { min-height: 610px; }
  .hero-visual { min-height: 68vh; }
  .catalog-tools, .price-tabs { top: 76px; }
  .editorial-hero { min-height: 0; grid-template-columns: 1fr; gap: 0; }
  .editorial-title { min-height: 500px; }
}

@media (max-width: 700px) {
  .header-shell { min-height: 68px; }
  .brand { width: 176px; }
  .brand-logo { width: 170px; height: 60px; transform: scale(1.15); }
  .section { padding-top: 4.5rem; padding-bottom: 4.5rem; }
  .hero-copy { min-height: 520px; padding: 5.3rem 1.25rem 2.25rem; }
  .hero-copy::before { top: 2rem; left: 1.25rem; }
  .hero-copy h1 { max-width: 11ch; font-size: clamp(2.65rem,11vw,3.65rem); }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .hero-visual { min-height: 60vh; }
  .hero-proof-strip { position: static; margin: 2rem -1.25rem -2.25rem; }
  .hero-proof-strip div { padding: .8rem .6rem; }
  .hero-proof-strip strong { font-size: 1rem; }
  .hero-proof-strip span { font-size: .55rem; }
  .section-head:has(.section-number) { grid-template-columns: 2rem 1fr; }
  .section-head:has(.section-number) > .text-link { grid-column: 2; justify-self: start; }
  .measure-orbit { width: 102px; height: 102px; }
  .featured-grid { grid-template-columns: 1fr; }
  .featured-grid, .catalog-grid { gap: 1px; }
  .catalog-tools { margin-bottom: .55rem; padding-top: .25rem; }
  .search-field input { height: 42px; font-size: 1rem; }
  .featured-card, .featured-card:nth-child(1), .featured-card:nth-child(5) { background: #151714; }
  .featured-media, .featured-card:nth-child(1) .featured-media, .featured-card:nth-child(5) .featured-media { aspect-ratio: 1.2; }
  .catalog-tools, .price-tabs { top: 68px; }
  .page-intro h1, .price-intro h1 { font-size: clamp(2.65rem,11vw,3.8rem); }
  .editorial-title h1, .contacts-hero-copy h1, .contacts-heading h2, .legal-heading h2 { font-size: clamp(2.55rem,10.5vw,3.65rem); }
  .section-head h2, .calculator-preview h2, .dark-process h2, .detail-copy h2, .related-section h2, .editorial-heading h2, .form-heading h2 { font-size: clamp(2rem,9vw,3rem); }
  .footer-top h2 { font-size: clamp(2.4rem,10vw,3.4rem); }
  .cookie-banner { grid-template-columns: 1fr; gap: 1rem; right: .75rem; bottom: .75rem; left: .75rem; padding: 1rem; }
  .cookie-actions { display: grid; grid-template-columns: 1fr; }
  .cookie-actions button { width: 100%; }
  .legal-page > header { padding-top: 3rem; }
  .editorial-title { min-height: 440px; }
  .contacts-hero-copy { padding-right: .25rem; }
  .contact-card { min-height: 175px; }
  .lead-form { border-left: 0; border-right: 0; }
}
