@font-face {
    font-family: "Manrope";
    src: url("../fonts/manrope-cyrillic-wght-normal.woff2") format("woff2");
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
    font-family: "Manrope";
    src: url("../fonts/manrope-latin-wght-normal.woff2") format("woff2");
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}
:root {
    --white:#fff;
    --ink:#24282b;
    --muted:#60686e;
    --subtle:#778087;
    --orange:#f45b16;
    --action:#c9470c;
    --action-hover:#a83708;
    --surface:#f4f5f5;
    --line:#e1e4e5;
    --gutter:clamp(20px,4.4vw,78px);
    --section:clamp(68px,7.3vw,112px);
    --radius:4px;
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:112px; }
body { margin:0; background:var(--white); color:var(--ink); font-family:"Manrope",Arial,sans-serif; font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased; }
[hidden] { display:none!important; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; text-underline-offset:5px; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:disabled { cursor:wait; opacity:.6; }
input,select,textarea { min-width:0; }
button,summary { color:inherit; }
:focus-visible { outline:3px solid var(--orange); outline-offset:5px; }
::selection { background:#ffe0cc; color:#24282b; }
h1,h2,h3,h4,p,figure { margin:0; }
h1,h2,h3,h4 { font-weight:700; line-height:1.15; }
h1 { font-size:clamp(42px,4.45vw,68px); letter-spacing:-.045em; line-height:1.06; font-weight:750; }
h2 { font-size:clamp(32px,3vw,46px); letter-spacing:-.035em; }
h3 { font-size:25px; letter-spacing:-.025em; }
h4 { font-size:19px; letter-spacing:-.015em; }
ul,ol { margin:0; padding:0; list-style:none; }
.container { width:calc(100% - var(--gutter)*2); max-width:1380px; margin-inline:auto; }
.section { padding-block:var(--section); position:relative; }
.anchor { display:block; position:absolute; top:0; }
.icon { width:22px; height:22px; flex:0 0 22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.button { display:inline-flex; min-height:54px; padding:15px 23px; align-items:center; justify-content:center; gap:22px; background:var(--action); color:#fff; border:1px solid transparent; border-radius:var(--radius); font-size:15px; line-height:1.4; font-weight:650; transition:background .18s,color .18s,border-color .18s; }
.button:hover { background:var(--action-hover); }
.button--dark { background:var(--ink); }
.button--dark:hover { background:#41484d; }
.button--outline,.button--ghost { color:var(--action); border-color:var(--action); background:transparent; }
.button--outline:hover,.button--ghost:hover { color:#fff; background:var(--action); }
.button--light-outline { color:#fff; border-color:#bcc1c4; background:transparent; }
.button--light-outline:hover { color:var(--ink); background:#fff; }
.text-link { display:inline-flex; align-items:center; width:fit-content; gap:16px; font-size:15px; line-height:1.5; font-weight:650; padding-block:5px; border-bottom:1px solid currentColor; transition:color .18s; }
.text-link:hover { color:var(--action); }
.text-link--accent { color:var(--action); }
.text-link--accent:hover { color:#902e07; }
.skip-link { position:fixed; top:-90px; left:20px; z-index:100; background:var(--ink); color:#fff; padding:12px 20px; }
.skip-link:focus { top:14px; }
.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.97); border-bottom:1px solid var(--line); }
.header-inner { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:13px; flex-shrink:0; }
.brand-mark { width:46px; height:56px; object-fit:contain; }
.brand-copy { display:flex; flex-direction:column; line-height:1.2; }
.brand-copy strong { font-size:21px; font-weight:800; letter-spacing:-.035em; white-space:nowrap; }
.brand-copy>span { font-size:11px; margin-top:5px; letter-spacing:.035em; color:var(--muted); }
.site-nav { display:flex; align-items:center; gap:clamp(18px,2.3vw,38px); }
.site-nav a { font-size:15px; line-height:1.4; padding-block:14px; transition:color .18s; }
.site-nav a:hover { color:var(--action); }
.header-cta { min-height:48px; padding:12px 23px; }
.nav-toggle { display:none; padding:10px; border:0; width:44px; height:44px; background:transparent; }
.nav-toggle span { display:block; width:24px; height:2px; margin:6px 0; background:var(--ink); transition:transform .2s; }
.hero { padding-top:22px; }
.hero-grid { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:20px; min-height:620px; }
.hero-copy { padding-block:55px; position:relative; z-index:2; }
.hero-lead { max-width:565px; font-size:18px; line-height:1.65; margin-top:28px; color:#444d52; }
.hero-actions { display:flex; align-items:center; gap:26px; flex-wrap:wrap; margin-top:32px; }
.hero-actions .button { white-space:nowrap; }
.hero-note { font-size:14px; line-height:1.55; color:var(--muted); margin-top:28px; max-width:440px; }
.floor-model { min-width:0; position:relative; padding-bottom:18px; }
.floor-stage { aspect-ratio:1.1; position:relative; width:100%; isolation:isolate; }
.floor-poster { width:100%; height:100%; object-fit:contain; position:absolute; inset:0; transition:opacity .2s; }
.floor-canvas { position:absolute; inset:0; }
.floor-canvas canvas { display:block; width:100%; height:100%; }
.css-floor-world { position:absolute; left:50%; top:68%; transform:translate(-50%,-50%) rotateX(60deg) rotateZ(45deg); transform-style:preserve-3d; }
.css-floor-layer { position:absolute; inset:0; transform-style:preserve-3d; }
.css-floor-face { position:absolute; backface-visibility:hidden; background-color:var(--material); background-image:var(--texture); background-size:var(--texture-size,110px 110px); }
.css-floor-face--top { inset:0; transform:translateZ(var(--layer-height)); box-shadow:inset 0 0 1px #fff6; }
.css-floor-face--front { width:100%; height:var(--layer-height); top:100%; left:0; transform-origin:top; transform:translateZ(var(--layer-height)) rotateX(-90deg); filter:brightness(.86); }
.css-floor-face--right { width:var(--layer-height); height:100%; left:100%; top:0; transform-origin:left; transform:translateZ(var(--layer-height)) rotateY(90deg); filter:brightness(.72); }
.css-floor-layer--base { --material:#8c8476; --texture:url('../img/texture-gravel.svg'); --texture-size:130px 130px; }
.css-floor-layer--concrete { --material:#d6d5d0; --texture:url('../img/texture-concrete.svg'); --texture-size:140px 140px; }
.css-floor-layer--primer { --material:#83878a; --texture:none; }
.css-floor-layer--finish { --material:#f45b16; --texture:linear-gradient(135deg,#ffffff12,#ffa16a28 48%,#ea450a33); --texture-size:100% 100%; }
.css-floor-layer--finish .css-floor-face--top { box-shadow:inset 0 0 2px #ffc78e,0 0 0 .3px #f97c36; }
.css-floor-shadow { position:absolute; width:70%; height:18%; left:15%; top:76%; border-radius:50%; background:radial-gradient(ellipse,#29231c26,transparent 68%); filter:blur(8px); }
.floor-model.is-ready .floor-poster { opacity:0; pointer-events:none; }
.floor-controls { display:flex; align-items:center; justify-content:center; gap:9px; margin-top:-4px; position:relative; z-index:3; }
.floor-switch { display:flex; border:1px solid var(--line); border-radius:4px; overflow:hidden; }
.floor-switch button { font-size:13px; font-weight:600; line-height:1.4; min-height:39px; border:0; padding:10px 17px; background:white; color:var(--muted); }
.floor-switch button[aria-pressed="true"] { background:var(--ink); color:white; }
.floor-replay { border:1px solid var(--line); background:#fff; color:var(--muted); border-radius:4px; width:40px; height:40px; display:flex; align-items:center; justify-content:center; }
.floor-replay:hover { color:var(--action); }
.floor-replay .icon { width:18px; height:18px; }
.floor-caption { text-align:center; color:var(--muted); font-size:12px; line-height:1.5; max-width:400px; margin:12px auto 0; padding-inline:10px; }
.floor-legend { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px 15px; font-size:11px; line-height:1.5; margin-top:12px; min-height:16px; }
.floor-model.is-ready .floor-legend[hidden] { display:flex !important; visibility:hidden; }
.floor-legend span { display:inline-flex; align-items:center; gap:5px; }
.swatch { display:inline-block; width:8px; height:8px; }
.swatch--finish { background:var(--orange); }.swatch--primer { background:#626769; }.swatch--concrete { background:#c1c3c0; }.swatch--base { background:#877863; }
.service-rail { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-rail a { min-height:96px; display:flex; align-items:center; justify-content:space-between; padding:22px 28px; gap:15px; font-size:18px; font-weight:650; transition:color .18s,background .18s; }
.service-rail a:first-child { padding-left:0; }.service-rail a:last-child { padding-right:0; }
.service-rail a+a { border-left:1px solid var(--line); }
.service-rail a:hover { color:var(--action); }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:46px; }
.section-heading>p { color:var(--muted); max-width:420px; font-size:16px; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:27px; }
.service-item { display:flex; flex-direction:column; align-items:flex-start; min-width:0; scroll-margin-top:110px; }
.service-item+.service-item { padding-left:27px; border-left:1px solid var(--line); }
.section-number { font-size:13px; font-weight:500; color:var(--subtle); line-height:1.4; }
.service-item>img { aspect-ratio:1.96; width:100%; object-fit:cover; margin-top:13px; }
.service-item h3 { margin:21px 0 13px; }
.service-item>p { font-size:15px; color:var(--muted); line-height:1.7; }
.service-item ul { width:100%; margin-top:23px; margin-bottom:24px; font-size:14px; }
.service-item li { border-bottom:1px solid var(--line); padding-block:8px; }
.service-item .text-link { margin-top:auto; }
.service-help { background:var(--surface); margin-top:48px; padding:26px 28px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.service-help p { display:grid; gap:4px; font-size:15px; }.service-help strong { font-size:18px; }.service-help p span { color:var(--muted); }
.service-help .text-link { flex-shrink:0; }
.examples { border-top:1px solid var(--line); padding-top:96px; }
.examples-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-bottom:35px; }
.examples-heading>p { max-width:470px; color:var(--muted); font-size:16px; }
.direction-tabs { display:flex; gap:34px; border-bottom:1px solid var(--line); margin-bottom:34px; overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; }
.direction-tabs a { display:block; flex-shrink:0; padding:17px 0 18px; border-bottom:2px solid transparent; font-size:16px; line-height:1.5; margin-bottom:-1px; }
.direction-tabs a[aria-selected="true"] { color:var(--action); border-color:var(--orange); font-weight:700; }
.direction-tabs a:hover { color:var(--action); }
.direction-panel { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr); gap:44px; align-items:start; }
.direction-panels:not(.is-enhanced) .direction-panel+.direction-panel { margin-top:60px; }
.direction-media>img,.comparison { width:100%; aspect-ratio:1.35; object-fit:cover; }
.direction-media figcaption { color:var(--muted); font-size:12px; line-height:1.55; margin-top:12px; }
.direction-category { text-transform:uppercase; letter-spacing:.075em; color:var(--subtle); font-size:11px; font-weight:650; margin:2px 0 18px; }
.direction-copy h3 { font-size:31px; line-height:1.25; max-width:440px; }
.direction-copy dl { margin:26px 0 16px; }
.direction-copy dl>div { border-top:1px solid var(--line); padding:18px 0; display:grid; grid-template-columns:73px minmax(0,1fr); gap:20px; font-size:14px; line-height:1.7; }
.direction-copy dt { font-weight:700; }.direction-copy dd { margin:0; color:#4f585e; }
.direction-uses { color:var(--muted); font-size:12px; line-height:1.8; margin-bottom:22px; }
.direction-copy .button { font-size:14px; padding:14px 20px; }
.comparison { position:relative; overflow:hidden; --split:50%; }
.comparison>img,.comparison-before img { width:100%; height:100%; object-fit:cover; }
.comparison-before { position:absolute; inset:0; clip-path:inset(0 calc(100% - var(--split)) 0 0); }
.comparison input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; z-index:3; }
.comparison:focus-within { outline:3px solid var(--orange); outline-offset:4px; }
.comparison-line { position:absolute; left:var(--split); top:0; bottom:0; width:2px; background:white; pointer-events:none; transform:translateX(-1px); }
.comparison-line span { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:42px; height:42px; border-radius:50%; display:grid; place-content:center; background:#fff; color:var(--ink); box-shadow:0 3px 15px #0002; }
.comparison-label { position:absolute; top:17px; left:17px; padding:4px 11px; background:#fff; font-size:12px; }.comparison-label--after { left:auto; right:17px; background:var(--ink); color:white; }
.guarantee { background:var(--ink); color:#fff; }
.guarantee-grid { display:grid; grid-template-columns:1fr 1.35fr; gap:clamp(60px,8vw,130px); }
.guarantee-heading h2 { font-size:clamp(36px,3.2vw,50px); line-height:1.15; }
.guarantee-heading>p { border-top:2px solid var(--orange); padding-top:29px; margin-top:35px; max-width:385px; font-size:18px; line-height:1.6; color:#d5dadd; }
.guarantee-heading .button { margin-top:35px; }
.guarantee-list li { display:grid; grid-template-columns:35px 1fr; gap:25px; padding:25px 0; border-top:1px solid #4a5155; }
.guarantee-list li:first-child { padding-top:0; border:0; }
.guarantee-list li>span { font-size:20px; color:var(--orange); font-weight:650; line-height:1.3; }
.guarantee-list h3 { font-size:23px; }.guarantee-list p { margin-top:11px; color:#c3c9cd; font-size:15px; line-height:1.7; }
.guarantee-footnote { margin-top:46px; border-top:1px solid #4a5155; padding-top:25px; color:#b8c0c5; font-size:13px; line-height:1.7; max-width:100%; }
.process-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(40px,6vw,96px); }
.process h2 { margin-bottom:30px; }
.step-list li { display:grid; grid-template-columns:38px 1fr; gap:20px; border-bottom:1px solid var(--line); padding:23px 0; }
.step-list li>span { font-size:17px; color:var(--action); line-height:1.5; font-weight:650; }
.step-list h3 { font-size:23px; }.step-list p { color:var(--muted); font-size:15px; line-height:1.7; margin-top:8px; }
.process-media { padding-top:4px; }
.process-media img { width:100%; aspect-ratio:1.05; object-fit:cover; object-position:50% 50%; }
.process-media figcaption { font-size:19px; font-weight:700; line-height:1.4; margin-top:18px; }
.zones-note { background:var(--surface); padding:27px 30px; margin-top:30px; }
.zones-note h3 { font-size:18px; }.zones-note p { font-size:14px; color:var(--muted); margin-top:10px; }
.cost { margin-top:64px; border-top:1px solid var(--line); padding-top:30px; }
.cost-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:30px; }
.cost-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:27px; }
.cost-grid>div+div { border-left:1px solid var(--line); padding-left:27px; }
.cost-grid h4 { margin:9px 0; }.cost-grid p { font-size:14px; color:var(--muted); }
.floor-guide { border-top:1px solid var(--line); }
.guide-grid { display:grid; grid-template-columns:minmax(250px,.65fr) minmax(0,1.4fr); gap:85px; align-items:start; }
.guide-nav { position:sticky; top:123px; }
.guide-nav h2 { font-size:35px; line-height:1.2; }
.guide-nav nav { display:grid; margin-top:28px; }
.guide-nav nav a { padding:11px 0 11px 18px; border-left:2px solid var(--line); font-size:14px; color:var(--muted); line-height:1.5; }
.guide-nav nav a:hover { color:var(--action); border-color:var(--orange); }
.guide-content { max-width:820px; }
.guide-content h3 { font-size:24px; line-height:1.35; margin-bottom:17px; }
.guide-content p { font-size:16px; line-height:1.8; color:#4d565c; margin-bottom:18px; }
.guide-content article { margin-top:43px; }
.guide-intro { border-bottom:1px solid var(--line); padding-bottom:23px; }
.guide-content .text-link { margin-top:3px; }
.faq { margin-top:50px; }.faq>h3 { margin-bottom:22px; font-size:30px; }
.faq details { border-top:1px solid var(--line); }.faq details:last-child { border-bottom:1px solid var(--line); }
.faq summary { display:flex; align-items:center; justify-content:space-between; cursor:pointer; gap:20px; padding:23px 0; font-size:17px; font-weight:650; line-height:1.45; list-style:none; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary svg { width:20px; height:20px; flex:0 0 20px; fill:none; stroke:currentColor; stroke-width:1.7; transition:transform .2s; }
.faq details[open] summary svg { transform:rotate(180deg); color:var(--action); }
.faq details p { margin:0; padding:0 25px 24px 0; font-size:15px; }
.enquiry { background:var(--surface); }
.enquiry-grid { display:grid; grid-template-columns:1fr 1.07fr; gap:clamp(50px,7vw,110px); align-items:start; }
.enquiry-copy>p { max-width:440px; font-size:18px; color:var(--muted); margin-top:24px; }
.enquiry-results { margin-top:36px; max-width:480px; }
.enquiry-results li { display:flex; gap:25px; align-items:flex-start; padding:22px 0; border-top:1px solid #d4dadd; }
.enquiry-results li>span { color:var(--action); font-size:14px; padding-top:3px; }
.enquiry-results strong { font-size:19px; font-weight:650; }.enquiry-results p { margin-top:5px; color:var(--muted); font-size:14px; }
.enquiry-copy .enquiry-contact { font-size:15px; margin-top:24px; }.enquiry-contact a { font-size:22px; color:var(--ink); font-weight:700; }
.lead-form { background:#fff; padding:32px; position:relative; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px 20px; }
.lead-form label { display:block; font-size:14px; line-height:1.5; font-weight:600; }
.lead-form label>span[aria-hidden] { color:var(--action); }
.lead-form input:not([type="checkbox"]):not([type="file"]),.lead-form select,.lead-form textarea { display:block; width:100%; border:1px solid #cbd1d5; border-radius:2px; color:var(--ink); background:#fff; padding:12px 13px; margin-top:9px; min-height:49px; font-size:15px; line-height:1.5; font-weight:400; }
.lead-form input::placeholder,.lead-form textarea::placeholder { color:#76818a; opacity:1; }
.lead-form textarea { resize:vertical; min-height:102px; }
.form-task { margin-top:23px; }
.lead-form .file-label { margin-top:20px; cursor:pointer; position:relative; }
.file-label>span { display:inline-flex; align-items:center; gap:9px; font-size:14px; font-weight:500; border-bottom:1px dashed #aab2b8; padding-bottom:4px; }
.file-label .icon { width:18px; height:18px; flex-basis:18px; }
.file-label input { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; margin:0; padding:0; border:0; }
.file-label:focus-within>span { outline:2px solid var(--orange); outline-offset:5px; }
.file-label small { font-size:11px; font-weight:400; display:block; margin-top:8px; color:var(--muted); overflow-wrap:anywhere; }
.lead-form .consent { display:flex; align-items:flex-start; gap:11px; margin-top:24px; font-size:12px; font-weight:400; line-height:1.6; color:var(--muted); }
.consent input { flex-shrink:0; width:17px; height:17px; margin:2px 0 0; accent-color:var(--action); }
.consent a { text-decoration:underline; }
.form-submit { width:100%; margin-top:22px; }
.form-status { font-size:14px; color:var(--action); margin-top:12px; }.form-status:empty { display:none; }
.form-footnote { color:var(--muted); font-size:11px; margin-top:12px; line-height:1.6; }
.honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.site-footer { padding:42px 0 22px; }
.footer-main { display:flex; align-items:center; justify-content:space-between; gap:35px; padding-bottom:32px; }
.footer-nav { display:flex; flex-wrap:wrap; align-items:center; gap:20px; font-size:13px; }
.footer-nav a:hover,.footer-bottom a:hover { color:var(--action); }
.footer-contact { display:grid; gap:7px; font-size:14px; font-weight:650; }
.footer-contact a { display:inline-flex; align-items:center; gap:12px; }
.footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:15px 30px; border-top:1px solid var(--line); padding-top:22px; font-size:11px; color:var(--muted); }
.footer-bottom a { text-decoration:underline; }
.flash { margin-top:22px; padding:18px 24px; background:#fff2e8; border-left:3px solid var(--action); font-size:15px; }
.text-main,.utility-main { padding:90px 0; }
.text-document { max-width:900px; }
.text-document h1,.utility-main h1 { font-size:48px; margin-bottom:30px; }
.text-document h2 { font-size:26px; margin:30px 0 12px; }
.text-document p { margin-bottom:18px; font-size:16px; }
.document-note { padding:20px; background:var(--surface); }
.utility-grid { max-width:850px; }.utility-number { color:var(--action); display:block; margin-bottom:20px; }
.utility-cube { display:none; }
@media(min-width:1700px) { .hero-grid { min-height:670px; }.hero-copy h1 { font-size:70px; } }
@media(max-width:1199px) {
    .header-inner { gap:20px; }.brand-copy strong { font-size:18px; }.brand-mark { width:40px; height:47px; }
    .site-nav { gap:22px; }.site-nav a { font-size:14px; }.header-cta { padding-inline:15px; font-size:13px; }
    .hero-grid { min-height:560px; }.hero-lead { font-size:16px; }.hero-actions { gap:18px; }.hero-actions .button { padding-inline:17px; font-size:14px; }.hero-actions .text-link { font-size:14px; }
    .hero-copy { padding-block:38px; }.hero-note { font-size:13px; }.floor-caption { font-size:11px; }
    .service-rail a { font-size:16px; padding-inline:21px; min-height:82px; }
    .service-grid { gap:22px; }.service-item+.service-item { padding-left:22px; }.service-item h3 { font-size:22px; }
    .direction-panel { gap:30px; grid-template-columns:1.25fr 1fr; }.direction-copy h3 { font-size:28px; }.direction-copy dl>div { grid-template-columns:65px 1fr; gap:12px; padding:14px 0; font-size:13px; }
    .direction-media>img,.comparison { aspect-ratio:1.1; }.guarantee-grid { gap:50px; }.guarantee-list h3 { font-size:21px; }
    .guide-grid { gap:48px; grid-template-columns:.65fr 1.35fr; }.guide-nav h2 { font-size:29px; }.lead-form { padding:25px; }
    .footer-main { flex-wrap:wrap; }.footer-nav { gap:18px; }
}
@media(max-width:959px) {
    .header-inner { min-height:78px; flex-wrap:wrap; padding-block:12px; }.header-cta { margin-left:auto; }.site-nav { order:4; width:100%; justify-content:center; padding-bottom:7px; }
    .js-menu .site-nav { display:none; }.js-menu .site-nav.is-open { display:flex; }.js-menu .nav-toggle { display:block; }
    .hero-grid { min-height:0; grid-template-columns:1fr 1fr; gap:12px; }.hero-copy h1 { font-size:45px; }.hero-copy h1 br { display:none; }
    .hero-actions { gap:20px; }.floor-stage { aspect-ratio:.95; }.floor-model { padding-bottom:8px; }
    .service-rail a { font-size:14px; padding-inline:16px; }.service-rail .icon { width:18px; flex-basis:18px; }
    .section-heading { gap:35px; }.section-heading>p { max-width:330px; font-size:15px; }.section-heading h2 { font-size:35px; }
    .service-item>p { font-size:14px; }.service-item ul { font-size:12px; }.service-item h3 { font-size:20px; }.service-item .text-link { font-size:13px; gap:10px; }
    .examples-heading { gap:35px; }.examples-heading>p { max-width:350px; font-size:15px; }
    .direction-tabs { gap:26px; }.direction-tabs a { font-size:14px; }.direction-panel { grid-template-columns:1fr; gap:25px; }.direction-media>img,.comparison { aspect-ratio:1.7; }
    .direction-copy h3 { max-width:650px; font-size:30px; }.direction-copy dl>div { font-size:15px; grid-template-columns:85px 1fr; }.direction-category { margin-bottom:10px; }
    .guarantee-grid { grid-template-columns:1fr; gap:40px; }.guarantee-heading h2 { max-width:640px; font-size:42px; }.guarantee-heading h2 br { display:none; }
    .guarantee-heading>p { max-width:620px; }.guarantee-list { max-width:100%; }.guarantee-list li { padding-block:25px; }
    .process-grid { gap:32px; }.process h2 { font-size:32px; }.step-list h3 { font-size:20px; }.step-list p { font-size:14px; }
    .process-media img { aspect-ratio:.8; }.zones-note { padding:23px; }.cost-grid { grid-template-columns:repeat(2,1fr); gap:25px; }.cost-grid>div:nth-child(3) { border-left:0; padding-left:0; }
    .guide-grid { grid-template-columns:1fr; gap:35px; }.guide-nav { position:static; }.guide-nav h2 { font-size:36px; }.guide-nav h2 br { display:none; }.guide-nav nav { display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:23px; }.guide-nav nav a { padding:4px 0; border:0; border-bottom:1px solid var(--line); }
    .enquiry-grid { grid-template-columns:1fr; gap:40px; }.enquiry-copy>p { max-width:650px; }.enquiry-results { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; max-width:none; }.enquiry-results li { gap:12px; }.enquiry-results strong { font-size:16px; }.enquiry-results p { font-size:13px; }
    .lead-form { max-width:760px; width:100%; }.footer-main { align-items:flex-start; }.footer-nav { max-width:350px; }
}
@media(max-width:639px) {
    :root { --gutter:20px; --section:62px; }
    html { scroll-padding-top:95px; }body { font-size:16px; }
    h1 { font-size:41px; letter-spacing:-.035em; }h2 { font-size:31px; letter-spacing:-.03em; }h3 { font-size:22px; }
    .header-inner { min-height:72px; gap:12px; padding-block:10px; }.brand-mark { width:35px; height:44px; }.brand { gap:10px; }.brand-copy strong { font-size:17px; }.brand-copy>span { font-size:10px; margin-top:4px; }.header-cta { display:none; }.nav-toggle { margin-left:auto; }.site-nav { gap:0; justify-content:space-between; }.site-nav a { font-size:13px; padding:12px 3px; }
    .hero { padding-top:18px; }.hero-grid { display:flex; flex-direction:column; gap:0; align-items:stretch; }.hero-copy { padding:23px 0 0; }.hero-copy h1 { font-size:clamp(30px,10.5vw,41px); line-height:1.08; max-width:450px; }.hero-copy h1 br { display:initial; }
    .hero-lead { font-size:16px; margin-top:20px; line-height:1.65; max-width:480px; }.hero-actions { margin-top:26px; gap:20px; }.hero-actions .button { font-size:14px; padding:15px 19px; min-height:52px; }.hero-actions .text-link { font-size:14px; }.hero-note { margin-top:19px; font-size:12px; }
    .floor-model { width:100%; max-width:430px; margin:0 auto; padding-bottom:20px; }.floor-stage { aspect-ratio:1.25; }.floor-controls { margin-top:-5px; }.floor-switch button { font-size:12px; padding:9px 14px; min-height:36px; }.floor-replay { width:37px; height:37px; }.floor-caption { max-width:320px; font-size:12px; }.floor-legend { font-size:11px; gap:10px; }
    .service-rail { grid-template-columns:1fr; }.service-rail a { min-height:63px; padding:16px 0; font-size:16px; }.service-rail a+a { border-left:0; border-top:1px solid var(--line); }
    .section-heading { display:block; margin-bottom:32px; }.section-heading h2 { font-size:32px; }.section-heading>p { margin-top:19px; max-width:470px; font-size:15px; }
    .service-grid { grid-template-columns:1fr; gap:35px; }.service-item+.service-item { border-left:0; padding:30px 0 0; border-top:1px solid var(--line); }.service-item>img { aspect-ratio:1.9; }.service-item h3 { font-size:25px; margin-top:19px; }.service-item>p { font-size:15px; }.service-item ul { font-size:14px; margin-top:19px; margin-bottom:20px; }.service-item .text-link { font-size:15px; }
    .service-help { margin-top:35px; padding:24px; display:block; }.service-help .text-link { margin-top:17px; font-size:14px; }.service-help strong { font-size:17px; }.service-help p { font-size:14px; }
    .examples { padding-top:62px; }.examples-heading { display:block; margin-bottom:22px; }.examples-heading>p { margin-top:18px; max-width:470px; font-size:15px; }
    .direction-tabs { gap:25px; margin-right:calc(-1 * var(--gutter)); padding-right:20px; margin-bottom:25px; }.direction-tabs a { padding-top:14px; font-size:14px; }.direction-panel { gap:23px; }.direction-media>img,.comparison { aspect-ratio:1.3; }.direction-media figcaption { font-size:12px; }.direction-copy h3 { font-size:28px; }.direction-copy dl { margin-top:22px; }.direction-copy dl>div { grid-template-columns:62px 1fr; gap:17px; font-size:14px; padding:16px 0; }.direction-copy .button { width:100%; }.direction-category { font-size:10px; }
    .guarantee-heading h2 { font-size:clamp(28px,9.2vw,36px); }.guarantee-heading h2 br { display:initial; }.guarantee-heading>p { font-size:16px; margin-top:26px; padding-top:22px; }.guarantee-heading .button { margin-top:24px; }.guarantee-grid { gap:42px; }.guarantee-list li { gap:16px; grid-template-columns:30px 1fr; padding:24px 0; }.guarantee-list li>span { font-size:17px; }.guarantee-list h3 { font-size:21px; }.guarantee-list p { font-size:14px; }.guarantee-footnote { font-size:12px; margin-top:25px; }
    .process-grid { grid-template-columns:1fr; gap:32px; }.process h2 { font-size:32px; margin-bottom:15px; }.process h2 br { display:none; }.step-list li { gap:14px; grid-template-columns:30px 1fr; padding:23px 0; }.step-list h3 { font-size:21px; }.step-list p { font-size:14px; }.process-media img { aspect-ratio:1.2; }.process-media figcaption { font-size:18px; }.zones-note { margin-top:24px; padding:23px; }
    .cost { margin-top:38px; padding-top:25px; }.cost-heading { display:block; margin-bottom:26px; }.cost-heading .text-link { margin-top:17px; }.cost-grid { gap:25px 18px; }.cost-grid>div+div { padding-left:18px; }.cost-grid h4 { font-size:17px; }.cost-grid p { font-size:13px; }
    .guide-nav h2 { font-size:31px; }.guide-nav nav { gap:10px 18px; }.guide-nav nav a { font-size:12px; }.guide-content h3 { font-size:23px; }.guide-content p { font-size:16px; line-height:1.8; margin-bottom:17px; }.guide-content article { margin-top:33px; }.guide-intro { padding-bottom:10px; }
    .faq { margin-top:38px; }.faq>h3 { font-size:28px; }.faq summary { font-size:16px; padding-block:21px; gap:16px; }.faq details p { font-size:14px; padding-right:0; }
    .enquiry-grid { gap:28px; }.enquiry-copy>p { font-size:16px; margin-top:20px; }.enquiry-results { display:block; margin-top:27px; }.enquiry-results li { gap:22px; padding:20px 0; }.enquiry-results strong { font-size:18px; }.enquiry-results p { font-size:14px; }.enquiry-copy .enquiry-contact { font-size:14px; margin-top:16px; }
    .lead-form { padding:24px 20px; margin-inline:-4px; width:calc(100% + 8px); }.form-grid { grid-template-columns:1fr; gap:19px; }.lead-form label { font-size:14px; }.lead-form input:not([type="checkbox"]):not([type="file"]),.lead-form textarea,.lead-form select { font-size:16px; padding:12px; }.lead-form .consent { font-size:12px; }.form-footnote { font-size:12px; }
    .site-footer { padding-top:33px; }.footer-main { display:grid; gap:27px; padding-bottom:28px; }.footer-nav { gap:13px 22px; font-size:13px; }.footer-bottom { display:grid; gap:13px; font-size:11px; }
    .text-main,.utility-main { padding:48px 0; }.text-document h1,.utility-main h1 { font-size:33px; }
}
@media(prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { transition-duration:0s!important; animation-duration:0s!important; }
}
