:root{--orange:#ff8000;--orange-dark:#b14e00;--ink:#191b1d;--charcoal:#272a2d;--muted:#65666a;--soft:#f4f5f6;--line:#dedfe1;--font:Arial,Helvetica,sans-serif;scroll-behavior:smooth;scroll-padding-top:5.5rem}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:400 1rem/1.42 var(--font);-webkit-text-size-adjust:100%}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.035em}h1{font-weight:800}h2{font-size:clamp(1.5rem,2.25vw,2rem);font-weight:750}h3{font-size:1.38rem;font-weight:700}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #0060a8;outline-offset:5px}button{cursor:pointer}.container{width:89.2%;max-width:1280px;margin-inline:auto}.icon{width:1.5rem;height:1.5rem;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:-6rem;z-index:100000;background:#fff;color:#111;padding:.75rem 1rem}.skip-link:focus{top:1rem}.eyebrow{display:flex;align-items:center;gap:.8rem;font-size:.875rem;font-weight:400;letter-spacing:0;text-transform:uppercase;line-height:1.4;margin-bottom:.5rem;color:#434549}.eyebrow:before{content:"";width:1.8rem;height:3px;background:var(--orange);flex:0 0 auto}.button{display:inline-flex;justify-content:center;align-items:center;gap:.8rem;min-height:2.9rem;padding:.6rem 1.45rem;border-radius:5px;border:1px solid transparent;font-size:1rem;font-weight:600;line-height:1.25;transition:background .16s,box-shadow .16s}.button .icon{width:1.4rem;height:1.4rem}.button-orange{background:var(--orange);color:#fff;text-shadow:0 1px 2px #87390050}.button-orange:hover{background:#e97100;box-shadow:0 3px 10px #dc69002a}.button-outline{border-color:#bfc2c5;color:var(--ink);background:#ffffffb8;box-shadow:0 1px 3px #00000005}.button-outline:hover{background:#fff;border-color:#80848a}.site-header{background:#fff;position:relative;z-index:20}.header-inner{display:flex;align-items:center;min-height:4.35rem;gap:5.8rem}.brand{display:flex;align-items:center;gap:.7rem;flex-shrink:0}.brand img{width:3.3rem;height:3.08rem}.brand span{font-size:1.0625rem;font-weight:700;line-height:1.12;letter-spacing:-.04em}.navigation{display:flex;align-items:center;gap:2.1rem;height:4.35rem}.navigation a{position:relative;display:flex;align-items:center;height:100%;font-size:.9375rem;white-space:nowrap}.navigation a:hover{color:var(--orange-dark)}.navigation .active{font-weight:700}.navigation .active:after{position:absolute;content:"";height:3px;background:var(--orange);bottom:.8rem;left:0;right:0}.menu-toggle{display:none;margin-left:auto;background:transparent;border:0;padding:.6rem;color:var(--ink)}
.hero{position:relative;isolation:isolate;min-height:27rem;overflow:hidden;background:#e8edf1}.hero-photo{position:absolute;z-index:-3;inset:0 0 0 31%;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:55% 54%}.hero-veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,#f5f6f8 0%,#f5f6f8 31%,#f5f6f8e8 39%,#f5f6f884 48%,#f5f6f800 54%);clip-path:polygon(0 0,48% 0,37% 100%,0 100%)}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-2;background:linear-gradient(90deg,#f4f5f7 0%,#f4f5f7 29%,#f4f5f720 44%,transparent 58%)}.hero-inner{position:relative;padding-block:2.65rem 2.25rem}.hero-copy{max-width:35rem}.hero .eyebrow{margin-bottom:.9rem}.hero h1{font-size:clamp(3.1rem,4.95vw,4.45rem);line-height:.985;letter-spacing:-.035em}.hero-description{font-size:clamp(1.05rem,1.6vw,1.47rem);line-height:1.16;margin-top:1.05rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.4rem}.hero-mark{position:absolute;width:14rem;left:49.5%;top:1.2rem;opacity:.55;filter:none;color-scheme:only light;pointer-events:none;z-index:-1}.hero-mark img{width:100%}.hero-ribbon{position:absolute;right:0;bottom:.7rem;width:14.5rem;padding:1rem 1.45rem 1rem 2.6rem;background:var(--orange);clip-path:polygon(13% 0,100% 0,100% 100%,0 100%);color:#fff;font-size:.9375rem;line-height:1.4;text-transform:uppercase}
.trust-bar{padding:1.45rem 0 1.35rem;background:#fff}.trust-grid{display:grid;grid-template-columns:.9fr 1fr 1.13fr 1fr}.trust-item{display:flex;align-items:flex-start;gap:1rem;padding:.1rem 1.35rem;border-left:1px solid var(--line)}.trust-item:first-child{padding-left:0;border:0}.trust-item:last-child{padding-right:0}.trust-item>.icon{height:2.2rem;width:2.2rem}.trust-item p{font-size:.9375rem;line-height:1.25}.trust-item strong{display:block;font-size:1rem;margin-bottom:.25rem}.trust-item span{display:block}
.section-soft{background:linear-gradient(105deg,#f3f4f5,#f7f8f9 65%,#f3f4f6)}.company{padding:1.3rem 0 1.55rem}.company-grid{display:grid;grid-template-columns:31% 1fr 19%;gap:3.4%;align-items:center}.company-photo{height:19rem;position:relative}.company-photo:after{content:"";position:absolute;left:-.8rem;bottom:-.65rem;width:6.1rem;height:6.7rem;border-left:5px solid var(--orange);border-bottom:5px solid var(--orange);border-radius:0 0 0 1.8rem;pointer-events:none}.company-photo img{width:100%;height:100%;object-fit:cover;border-radius:.8rem;position:relative;z-index:1}.company-copy .eyebrow{font-size:.8125rem;margin-bottom:.6rem}.company-copy h2{font-size:clamp(1.5rem,2.18vw,1.96rem)}.company-copy>p:not(.eyebrow){color:var(--muted);line-height:1.32;margin:.65rem 0 .9rem;font-size:1.0625rem}.company-rating{border-left:1px solid #d7d9db;padding:0 0 0 1.6rem;align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center}.company-rating img{width:13rem;mix-blend-mode:multiply}.side-note{font-size:1rem;text-transform:uppercase;line-height:1.35;position:relative;padding-left:3rem}.side-note:before{position:absolute;content:"";left:0;top:.45rem;height:3px;width:1.8rem;background:var(--orange)}.company-rating .side-note{margin-top:1.3rem;padding-top:1.25rem;border-top:1px solid #d8dadc;font-size:.9375rem;width:100%}.company-rating .side-note:before{top:1.7rem}
.services{padding:1.45rem 0 0}.services h2,.benefits h2{margin-bottom:.8rem}.services .eyebrow,.benefits .eyebrow{margin-bottom:.3rem}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.service-card{display:grid;grid-template-columns:44% 1fr;gap:1.8rem;padding:.6rem;background:#fff;border:1px solid #eef0f1;border-radius:.7rem;box-shadow:0 3px 12px #00000009;min-width:0}.service-image{min-height:16.65rem;overflow:hidden;border-radius:.5rem;position:relative}.service-image img{width:100%;height:100%;position:absolute;object-fit:cover}.service-image .service-image-new{object-position:13% 55%;transform:scale(1.06)}.service-image .service-image-renewal{object-position:77% 53%}.service-content{padding:.05rem .75rem .1rem 0;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.service-content h3{font-size:clamp(1.2rem,1.66vw,1.5rem);line-height:1.09;letter-spacing:-.025em}.service-content>p{color:var(--muted);line-height:1.25;margin:.65rem 0 .6rem;font-size:1rem}.check-list{list-style:none;padding:0;margin:0 0 .75rem;font-size:.9375rem;color:var(--muted);line-height:1.3}.check-list li{position:relative;padding-left:1.8rem;margin-bottom:.4rem}.check-list li:before{content:"✓";position:absolute;left:0;top:0;background:var(--orange);color:#fff;border-radius:100%;width:1.22rem;height:1.22rem;text-align:center;line-height:1.22rem;font-size:.82rem;font-weight:700}.text-link{display:inline-flex;align-items:center;gap:.45rem;color:var(--orange-dark);font-size:1.0625rem;font-weight:700;margin-top:auto;padding:.05rem 0}.text-link:hover{text-decoration:underline;text-underline-offset:.25rem}.text-link .icon{width:1.3rem;height:1.3rem}
.benefits{padding:1.45rem 0 1.2rem}.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.benefit{display:flex;align-items:flex-start;gap:1.1rem;background:#fff;border:1px solid #eff0f1;box-shadow:0 2px 10px #00000009;padding:1rem 1.15rem;border-radius:.65rem}.benefit>.icon{color:var(--orange);width:3rem;height:3rem;stroke-width:1.7}.benefit h3{font-size:1.05rem;line-height:1.18;letter-spacing:-.025em;margin:.1rem 0 .4rem}.benefit p{font-size:.9375rem;line-height:1.28;color:var(--muted)}
.contact{background:var(--charcoal);position:relative;isolation:isolate;overflow:hidden;color:#fff}.contact-image{position:absolute;inset:0 0 0 59%;z-index:-3;overflow:hidden}.contact-image>img:first-child{height:100%;width:100%;object-fit:cover;object-position:40% 50%}.contact-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#272a2d12,#272a2d20 45%,#272a2dcc 70%,#272a2dd9)}.contact-shape{position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,#26292c,#2b2e31);clip-path:polygon(0 0,63.5% 0,68.5% 100%,0 100%)}.contact-grid{position:relative;display:grid;grid-template-columns:38% 31% 1fr;min-height:16rem;padding-block:1.65rem;gap:0;align-items:center}.contact-copy .eyebrow{color:#e1e2e3;margin-bottom:.45rem}.contact h2{font-size:clamp(1.8rem,2.58vw,2.3rem);line-height:1.02;letter-spacing:-.02em}.contact-copy>p:not(.eyebrow){font-size:1.04rem;color:#e0e1e2;line-height:1.25;margin:.7rem 0 .75rem}.contact-details{font-size:1.04rem;font-style:normal;display:flex;flex-direction:column;gap:.75rem;z-index:2;padding:0 .5rem}.contact-details p,.contact-details a{display:flex;align-items:center;gap:1.45rem;line-height:1.3;overflow-wrap:anywhere}.contact-details .icon{width:1.45rem;height:1.45rem;color:var(--orange)}.contact-details p .icon{color:#fff}.contact-details strong{font-weight:600}.contact-details a:hover{text-decoration:underline;text-underline-offset:.2rem}.contact-note{justify-self:end;width:8.5rem;padding-left:0;padding-top:1.25rem;align-self:end;font-size:.9375rem}.contact-note:before{top:0;left:0}
.area{background:#fff;padding:.8rem 0 1rem;overflow:hidden}.area-grid{display:grid;grid-template-columns:39% 46% 15%;align-items:center;min-height:15rem}.area-copy{padding-right:1.2rem}.area h2{font-size:clamp(1.35rem,2.15vw,1.94rem)}.area-copy>p:not(.eyebrow){color:var(--muted);margin-top:.65rem;line-height:1.35;font-size:1rem}.area-map{position:relative;height:15rem;margin-left:-1rem;isolation:isolate}.map-background{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.map-background img{position:absolute;bottom:0;width:100%;height:166.667%;object-fit:fill;opacity:.15}.map-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-100%);padding:0;background:none;border:0;display:block;color:var(--ink);width:1.8rem;height:1.8rem;transition:color .15s}.map-pin svg{display:block;width:1.55rem;height:1.8rem;fill:var(--orange);stroke:#fff;stroke-width:.5}.map-pin span{position:absolute;top:100%;left:100%;font-size:.875rem;line-height:1.15;white-space:nowrap;transform:translate(var(--label-x),var(--label-y));text-shadow:0 1px 3px #fff,1px 0 3px #fff,-1px 0 3px #fff;background:#ffffff66}.map-pin:hover{color:var(--orange-dark);z-index:2}.map-pin:hover span{text-decoration:underline;background:#fff}.area-note{border-left:1px solid #d9dbdd;padding:1.4rem 0 1.4rem 1.85rem;margin-left:1.25rem;font-size:.875rem;align-self:stretch;display:flex;align-items:center}.area-note:before{top:28%;left:1.85rem}.site-footer{background:#25282b;color:#d4d6d7;padding:1rem 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:.8125rem}.footer-inner>a:first-child{flex-shrink:0;width:17rem}.footer-inner img{width:100%;filter:brightness(0) invert(1)}.footer-inner p{font-size:.8125rem}.footer-divider{padding:0 .8rem;color:#8c8f91}.footer-inner a:hover{color:#fff;text-decoration:underline}.footer-inner>a:last-child{white-space:nowrap}
@media(min-width:1500px){.hero{min-height:29rem}.hero-inner{padding-top:3rem}.hero-mark{left:50%;width:15.5rem}.hero-photo{left:30%}}
@media(max-width:1150px){.header-inner{gap:5rem}.navigation{gap:1.65rem}.header-inner,.navigation{min-height:3.9rem;height:3.9rem}.brand img{width:2.85rem;height:2.66rem}.brand span{font-size:.94rem}.navigation a{font-size:.875rem}.hero{min-height:24.3rem}.hero-inner{padding-block:2.4rem 1.9rem}.hero-mark{width:12rem;left:49%}.hero-copy{max-width:29rem}.hero h1{font-size:3.85rem}.hero-description{font-size:1.33rem}.hero-ribbon{width:12.5rem;font-size:.875rem}.trust-item{padding-inline:1rem;gap:.8rem}.trust-item strong{font-size:.91rem}.trust-item p{font-size:.875rem}.trust-item>.icon{width:1.8rem;height:1.8rem}.company-grid{gap:3%}.company-photo{height:17.5rem}.company-copy>p:not(.eyebrow){font-size:1rem}.company-rating{padding-left:1.5rem}.company-rating .side-note{font-size:.875rem;padding-left:2.6rem}.service-card{gap:1.3rem;grid-template-columns:44% 1fr}.service-content{padding-right:.4rem}.service-content h3{font-size:1.28rem}.service-content>p,.check-list{font-size:.94rem}.service-image{min-height:16rem}.benefit{padding:.9rem .95rem;gap:.8rem}.benefit>.icon{width:2.5rem;height:2.5rem}.benefit h3{font-size:.98rem}.benefit p{font-size:.9rem}.contact-grid{grid-template-columns:38% 34% 1fr}.contact-details{font-size:.91rem;padding-left:.25rem}.contact-details p,.contact-details a{gap:1rem}.contact h2{font-size:1.9rem}.contact-copy>p:not(.eyebrow){font-size:1rem}.contact-note{font-size:.84rem;width:7rem}.contact-shape{clip-path:polygon(0 0,65% 0,70% 100%,0 100%)}.area-map{height:14rem}.map-pin span{font-size:.8rem}.area-copy>p:not(.eyebrow){font-size:.94rem}.area-note{font-size:.82rem;padding-left:1.4rem;margin-left:1.5rem}.area-note:before{left:1.4rem}.footer-inner>a:first-child{width:15rem}.footer-inner{gap:1.5rem}.footer-inner p{max-width:30rem}.footer-divider{padding-inline:.35rem}}
@media(max-width:950px){.header-inner{gap:2.5rem}.navigation{gap:1.25rem}.hero-copy{max-width:26rem}.hero h1{font-size:3.3rem}.hero-description{font-size:1.18rem}.hero .eyebrow{font-size:.79rem}.hero{min-height:22.5rem}.button{padding:.65rem 1.1rem;font-size:.94rem}.hero-actions{gap:.6rem}.hero-ribbon{width:11rem;padding-left:2rem;font-size:.79rem}.trust-grid{grid-template-columns:1fr 1fr 1.15fr 1fr}.company-grid{grid-template-columns:31% 1fr 18%;gap:3%}.company-copy h2{font-size:1.46rem}.company-photo{height:18rem}.company-rating{padding-left:1rem}.company-rating .side-note{padding-left:0;font-size:.8rem}.company-rating .side-note:before{display:none}.company-copy .eyebrow{font-size:.75rem}.service-card{gap:1rem;grid-template-columns:40% 1fr}.service-content h3{font-size:1.15rem}.service-content>p,.check-list{font-size:.9rem}.benefits-grid{grid-template-columns:repeat(2,1fr)}.benefit{padding:1rem 1.25rem}.benefit h3{font-size:1.05rem}.benefit p{font-size:1rem}.contact-grid{grid-template-columns:45% 38% 1fr}.contact-details{font-size:.9rem}.contact-note{display:none}.contact-shape{clip-path:polygon(0 0,77% 0,82% 100%,0 100%)}.contact-image{left:69%}.area-grid{grid-template-columns:43% 57%}.area-note{display:none}.area-map{margin-left:0}.area-copy{padding-right:2rem}.footer-inner>a:first-child{width:13rem}.footer-inner p{max-width:20rem}.footer-divider{display:none}.footer-inner p>a{display:block}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Shared brand links and sizing rules. */
main,section,article,aside,address,.container,.container>*,.trust-grid>*,.service-card>*,.benefits-grid>*{min-width:0}
h1,h2,h3{overflow-wrap:anywhere;hyphens:auto}
.brand{min-width:0}
.brand span{overflow-wrap:anywhere}
.button{max-width:100%;white-space:normal}
.trust-soudal{flex-direction:row;justify-content:flex-start;align-items:center;gap:.75rem}
.trust-soudal p>span{display:flex;gap:.35rem;align-items:center}
.trust-soudal strong{font-size:.9375rem}
.trust-soudal:hover p{color:var(--orange-dark)}
.soudal-logo{position:relative;display:block;overflow:hidden;width:6rem;max-width:100%;aspect-ratio:1182 / 461;flex-shrink:0;background:#fff}
.soudal-logo img{position:absolute;display:block;width:129.94924%;max-width:none;height:auto;left:-14.97462%;top:-114.09978%}
.trust-soudal .soudal-logo{width:3.8rem}
.company-rating .partner-logo-link{display:block;width:100%;max-width:11.5rem;margin:0;border:0;padding:0}
.company-rating .partner-logo-link img{width:100%;height:auto;mix-blend-mode:normal}
.partner-logo-link:hover{opacity:.9}
.benefit a{text-decoration:underline;text-underline-offset:.18em}
.contact-details a{overflow-wrap:anywhere;word-break:normal}

/* The quote launcher stays on the right edge on every screen. */
.les-bot .les-launcher{inset:50% 0 auto auto;transform:translateY(-50%);width:3.5rem;min-height:13rem;flex-direction:column;gap:1rem;padding:1.15rem .55rem;border:1px solid #373737;border-right:0;border-radius:1.7rem 0 0 1.7rem;background:var(--charcoal);color:#ff8000;box-shadow:-3px 2px 16px #00000024}
.les-bot .les-launcher .les-launcher-label{writing-mode:vertical-rl;text-orientation:mixed;color:#ff8000;font-size:1rem}
.les-bot .les-launcher .les-mark img{filter:invert(1)}
.les-bot .les-launcher svg{color:#ff8000}
.les-bot .les-launcher:hover{background:#35393d;color:#ff8000;box-shadow:-4px 3px 20px #00000030}
.les-bot .les-launcher:focus-visible{outline:3px solid #ff8000;outline-offset:3px}

/* Product page: the same type, diagonals, photography and orange accents. */
.breadcrumbs{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.875rem;color:var(--muted);padding:1rem 0}
.breadcrumbs a{text-decoration:underline;text-underline-offset:.2em}
.product-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--soft)}
.product-hero:after{content:"";position:absolute;inset:0 0 0 58%;z-index:-1;background:#e9ecef;clip-path:polygon(22% 0,100% 0,100% 100%,0 100%)}
.product-hero-inner{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:3rem;align-items:center;padding-block:2.4rem 3.1rem}
.product-hero h1{font-size:clamp(2.4rem,4.2vw,3.75rem);line-height:1.03;max-width:13em}
.product-hero-copy>p:not(.eyebrow){font-size:1.2rem;line-height:1.45;max-width:37rem;color:var(--muted);margin:1rem 0 1.5rem}
.product-brand{padding:3rem 2.5rem;background:#fff;border-radius:.7rem;max-width:23rem;justify-self:center;width:100%;box-shadow:0 6px 24px #00000008}
.product-brand .soudal-logo{width:100%}
.product-body{padding-block:2.6rem}
.product-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2.6rem;align-items:start}
.product-overview h2{font-size:clamp(1.75rem,2.8vw,2.5rem);margin:.5rem 0 .85rem}
.product-overview>p:not(.eyebrow){line-height:1.5;color:var(--muted);margin-bottom:1.2rem}
.product-overview .check-list{font-size:1rem;line-height:1.5;margin:1.2rem 0}
.product-overview .check-list li{margin-bottom:.6rem}
.product-overview .check-list li:before{top:.15rem}
.product-source{font-size:.9375rem;line-height:1.5;color:var(--muted)}
.product-source a{text-decoration:underline;text-underline-offset:.2em}
.product-docs{background:var(--soft);border-left:3px solid var(--orange);padding:1.5rem 1.6rem;border-radius:0 .6rem .6rem 0}
.product-docs h3{font-size:1.35rem;margin-bottom:.8rem}
.product-docs p{color:var(--muted);line-height:1.5}
.product-docs a{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 0;color:var(--orange-dark);font-weight:600;border-bottom:1px solid var(--line);line-height:1.35}
.product-docs a:last-child{border:0;padding-bottom:0}
.product-docs .icon{width:1.3rem;height:1.3rem}
.product-choices{padding:2.25rem 0 2.6rem}
.product-choices h2{margin-bottom:1.25rem}
.product-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.product-choice{padding:1.5rem;background:#fff;border:1px solid #e6e8ea;border-radius:.65rem}
.product-choice .icon{width:2.5rem;height:2.5rem;color:var(--orange);margin-bottom:1rem}
.product-choice h3{font-size:1.3rem;line-height:1.2;margin-bottom:.7rem}
.product-choice p{font-size:1rem;color:var(--muted);line-height:1.5}
.product-choices .product-source{margin-top:1.3rem}
.product-services{margin-top:2rem;display:flex;align-items:center;flex-wrap:wrap;gap:1rem 2rem}
.product-services .text-link{font-size:1rem}

@media(min-width:769px) and (max-width:1100px){
  .service-card{grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}
  .service-content h3{font-size:1.22rem;line-height:1.15}
  .benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust-soudal{flex-direction:column;align-items:flex-start;gap:.45rem}
  .trust-soudal strong{display:none}
  .trust-soudal .soudal-logo{width:5.3rem}
  .product-hero-inner{gap:1.5rem}
}

@media(max-width:768px){
  :root{scroll-padding-top:1rem}
  .container{width:calc(100% - 4.75rem);max-width:38rem;margin-inline:1.25rem auto}
  .site-header .container{width:calc(100% - 2.5rem);margin-inline:auto}
  h2{font-size:1.65rem;line-height:1.15}
  h3{line-height:1.2}
  .eyebrow{font-size:.8125rem;gap:.6rem}
  .eyebrow:before{width:1.5rem}
  .button{min-height:3rem;font-size:1rem;padding:.75rem 1.1rem}
  .header-inner{height:auto;min-height:4.5rem;gap:.75rem;flex-wrap:wrap}
  .brand{max-width:calc(100% - 3.75rem);flex-shrink:1;gap:.6rem}
  .brand img{width:2.75rem;height:2.57rem;flex-shrink:0}
  .brand span{font-size:.9375rem;line-height:1.18}
  .menu-toggle{display:block;width:2.75rem;height:2.75rem;padding:.6rem;flex-shrink:0}
  .navigation{display:none;flex-basis:100%;height:auto;gap:0;padding:0 0 .9rem}
  .navigation.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .navigation a{height:auto;min-height:2.9rem;padding:.75rem .5rem;font-size:1rem;white-space:normal}
  .navigation .active:after{bottom:.35rem;left:.5rem;right:auto;width:3.4rem}

  .hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;min-height:0;padding:0;background:var(--soft);overflow:hidden}
  .hero-inner{grid-area:1 / 1;padding-block:1.75rem 2rem;position:relative}
  .hero-copy{max-width:none}
  .hero .eyebrow{font-size:.8125rem;margin-bottom:1rem}
  .hero h1{font-size:clamp(2.25rem,9.3vw,3.5rem);line-height:1.01;letter-spacing:-.04em;hyphens:none}
  .hero-description{font-size:1.125rem;line-height:1.4;margin-top:1rem;max-width:29rem}
  .hero-description br{display:none}
  .hero-actions{display:flex;gap:.75rem;margin-top:1.3rem;flex-wrap:wrap}
  .hero-actions .button{flex:1 1 11rem;font-size:1rem}
  .hero-photo{grid-area:2 / 1;position:relative;inset:auto;z-index:0;width:100%;height:clamp(12rem,48vw,19rem)}
  .hero-photo img{object-fit:cover;object-position:center 56%}
  .hero-veil,.hero:after{display:none}
  .hero-mark{grid-area:2 / 1;position:relative;inset:auto;align-self:start;justify-self:center;z-index:1;width:clamp(6rem,18vw,8.5rem);margin-top:.5rem;transform:translateX(-40%);opacity:.42;filter:drop-shadow(0 2px 3px rgba(22,56,86,.4))}
  .hero-ribbon{z-index:2;bottom:0;width:11rem;padding:.75rem 1rem .75rem 2rem;font-size:.8125rem;line-height:1.35}

  .trust-bar{padding:1.25rem 0}
  .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1rem}
  .trust-item{border:0;padding:0;gap:.65rem;align-items:flex-start}
  .trust-item:nth-child(even){border-left:1px solid var(--line);padding-left:1rem}
  .trust-item>.icon{width:1.8rem;height:1.8rem}
  .trust-item p{font-size:.875rem;line-height:1.4;min-width:0;overflow-wrap:anywhere}
  .trust-item strong{font-size:.9375rem;line-height:1.25}

  .trust-soudal{flex-direction:column;gap:.5rem;align-items:flex-start}
  .trust-soudal .soudal-logo{width:5.25rem}
  .trust-soudal p>strong{display:none}
  .trust-soudal p>span{font-size:.875rem}

  .company{padding:1.8rem 0 2rem}
  .company-grid{grid-template-columns:minmax(0,1fr);gap:1.75rem}
  .company-copy{order:0}
  .company-copy h2{font-size:1.65rem;line-height:1.18}
  .company-copy .eyebrow{font-size:.8125rem}
  .company-copy>p:not(.eyebrow){font-size:1rem;line-height:1.5;margin:.9rem 0 1rem}
  .company-photo{order:1;height:auto;aspect-ratio:1.4;margin-left:.5rem}
  .company-photo img{height:100%;object-fit:cover}
  .company-photo:after{left:-.5rem;bottom:-.5rem}
  .company-rating{order:2;flex-direction:row;border:0;border-top:1px solid var(--line);padding:1.25rem 0 0;gap:1.5rem;justify-content:space-evenly;align-items:center}
  .company-rating .partner-logo-link{width:45%;max-width:11rem;padding:0;margin:0;border:0}

  .services{padding:1.8rem 0 0}
  .services h2,.benefits h2{font-size:1.65rem;line-height:1.17;margin-bottom:1.1rem}
  .services-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .service-card{grid-template-columns:minmax(0,1fr);gap:0;padding:.6rem;overflow:hidden}
  .service-image{height:auto;min-height:0;aspect-ratio:1.85}
  .service-image img{height:100%;width:100%;object-fit:cover}
  .service-image .service-image-new{object-position:15% 52%;transform:none}
  .service-image .service-image-renewal{object-position:75% 53%}
  .service-content{padding:1.15rem .65rem .7rem;align-items:stretch}
  .service-content h3{font-size:1.4rem;line-height:1.16;letter-spacing:-.025em}
  .service-content h3 br{display:none}
  .service-content>p{font-size:1rem;line-height:1.45;margin:.75rem 0}
  .check-list{font-size:1rem;line-height:1.5;margin:.15rem 0 .6rem}
  .check-list li{margin-bottom:.5rem}
  .check-list li:before{top:.15rem}
  .text-link{font-size:1rem;min-height:2.75rem;align-self:flex-start}

  .benefits{padding:1.8rem 0}
  .benefits-grid{grid-template-columns:minmax(0,1fr);gap:.75rem}
  .benefit{display:flex;gap:1rem;padding:1.2rem}
  .benefit>.icon{width:2.6rem;height:2.6rem;margin:0}
  .benefit h3{font-size:1.1rem;line-height:1.2;margin:0 0 .45rem}
  .benefit p{font-size:1rem;line-height:1.45}

  .contact{background:var(--charcoal)}
  .contact-grid{grid-template-columns:minmax(0,1fr);min-height:0;padding:2rem 0;gap:1.75rem}
  .contact-copy{max-width:none}
  .contact h2{font-size:1.7rem;line-height:1.15}
  .contact h2 br,.contact-copy>p:not(.eyebrow) br{display:none}
  .contact-copy>p:not(.eyebrow){font-size:1rem;line-height:1.5;margin:.9rem 0 1rem}
  .contact-details{font-size:1rem;gap:1rem;padding:0}
  .contact-details p,.contact-details a{gap:.8rem;align-items:flex-start;line-height:1.45}
  .contact-details .icon{margin-top:.12rem}
  .contact-note{display:none}
  .contact-image{inset:0 0 0 35%;opacity:.32}
  .contact-image>img:first-child{object-position:40% 50%}

  .contact-shape{clip-path:none;background:linear-gradient(90deg,#272a2d 0%,#272a2de6 45%,#272a2d77 100%)}

  .area{padding:1.8rem 0 2rem;overflow:visible}
  .area-grid{grid-template-columns:minmax(0,1fr);gap:1.3rem}
  .area-copy{padding:0}
  .area h2{font-size:1.65rem;line-height:1.17}
  .area-copy>p:not(.eyebrow){font-size:1rem;line-height:1.5;margin-top:.8rem}
  .area-note{display:none}
  .area-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .65rem;height:auto;max-width:none;margin:0;width:100%;padding:1rem;background:#f7f8f9;border-radius:.7rem;overflow:hidden}
  .map-background{inset:0;opacity:.4}
  .map-background img{width:100%;height:100%;bottom:0;object-fit:cover;object-position:center 80%}
  .map-pin{position:static;transform:none;left:auto;top:auto;display:flex;align-items:center;gap:.35rem;width:auto;min-width:0;height:auto;min-height:2.75rem;padding:.25rem 0;z-index:1}
  .map-pin svg{width:1.15rem;height:1.4rem;flex-shrink:0}
  .map-pin span{position:static;transform:none;white-space:normal;overflow-wrap:anywhere;font-size:.875rem;line-height:1.4;background:none;text-shadow:none}

  .site-footer{padding:1.4rem 0}
  .footer-inner{display:flex;align-items:flex-start;flex-direction:column;gap:1rem;font-size:.875rem}
  .footer-inner>a:first-child{width:17rem;max-width:100%}
  .footer-inner p{max-width:100%;font-size:.875rem;overflow-wrap:anywhere;line-height:1.5}
  .footer-divider{display:none}
  .footer-inner p>a{display:block;margin-top:.5rem}
  .footer-inner>a:last-child{font-size:.875rem;min-height:2.75rem;display:flex;align-items:center;white-space:normal}

  .les-bot .les-launcher{width:2.75rem;min-height:11.5rem;gap:.8rem;padding:.9rem .35rem;border-radius:1.35rem 0 0 1.35rem}
  .les-bot .les-launcher .les-mark{width:1.65rem}
  .les-bot .les-launcher .les-launcher-label{font-size:.9375rem}
  .les-bot.les-floating .les-panel{width:calc(100% - 1rem);max-width:calc(100% - 1rem);right:max(.5rem,env(safe-area-inset-right));bottom:max(.5rem,env(safe-area-inset-bottom));height:min(42rem,calc(100dvh - 1rem));max-height:calc(100dvh - 1rem);border-radius:1.3rem}
  .les-bot .les-scroll{padding:1rem}
  .les-bot .les-option,.les-bot .les-input,.les-bot .les-primary{font-size:1rem}

  .breadcrumbs{font-size:.875rem;padding:.85rem 0}
  .product-hero:after{display:none}
  .product-hero-inner{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding-block:1.5rem 2rem}
  .product-hero h1{font-size:clamp(2rem,8vw,2.75rem);line-height:1.08;max-width:100%}
  .product-hero-copy>p:not(.eyebrow){font-size:1.0625rem;line-height:1.5;margin:.9rem 0 1.2rem}
  .product-brand{justify-self:start;width:11rem;max-width:100%;padding:1.15rem;border-radius:.45rem;order:-1;box-shadow:none}
  .product-body{padding-block:2rem}
  .product-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .product-overview h2{font-size:1.9rem;line-height:1.15}
  .product-docs{padding:1.25rem}
  .product-docs h3{font-size:1.25rem}
  .product-choices{padding-block:2rem}
  .product-choice-grid{grid-template-columns:minmax(0,1fr);gap:1rem}
  .product-choice{padding:1.25rem}
  .product-choice h3{font-size:1.25rem}
  .product-services{gap:.5rem;margin-top:1.4rem;align-items:flex-start;flex-direction:column}
}

@media(max-width:360px){
  .container{width:calc(100% - 4.5rem);margin-inline:1rem auto}
  .site-header .container{width:calc(100% - 2rem);margin-inline:auto}
  .brand span{font-size:.875rem}
  .brand img{width:2.45rem;height:2.28rem}
  .hero h1{font-size:2.25rem}
  .hero .eyebrow{font-size:.75rem;gap:.4rem}
  .hero .eyebrow:before{width:1rem}
  .trust-grid{gap:1rem .75rem}
  .trust-item:nth-child(even){padding-left:.75rem}
  .trust-item{gap:.5rem}
  .trust-item strong{font-size:.875rem}
  .area-map{padding:.65rem;gap:.35rem}
  .map-pin{gap:.25rem}
}

/* Service pages share the homepage's white, charcoal and orange palette. */
.service-navigation{border-bottom:1px solid var(--line);background:#fff}
.service-navigation>.container{display:flex;flex-wrap:wrap;gap:.5rem 2.5rem}
.service-navigation a{position:relative;display:flex;align-items:center;min-height:3.6rem;padding:.7rem 0;font-size:.9375rem;font-weight:600;line-height:1.3}
.service-navigation a[aria-current="page"]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--orange)}
.service-navigation a:hover{color:var(--orange-dark)}
.service-hero{position:relative;isolation:isolate;background:var(--soft);overflow:hidden}
.service-hero:after{content:"";position:absolute;z-index:-1;inset:0 0 0 49%;background:#e8ebed;clip-path:polygon(22% 0,100% 0,100% 100%,0 100%)}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3.5rem;align-items:center;padding-block:2.4rem 2.8rem}
.service-hero h1{font-size:clamp(2.5rem,4.1vw,3.7rem);line-height:1.03;max-width:12em}
.service-lead{font-size:1.15rem;line-height:1.5;color:var(--muted);margin:1.2rem 0 0;max-width:35rem}
.service-hero .hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.service-hero-visual{position:relative;margin:0;min-width:0}
.service-hero-visual img{width:100%;aspect-ratio:1.2;height:auto;object-fit:cover;object-position:52% center;border-radius:.65rem}
.service-hero-visual figcaption{position:absolute;bottom:0;left:0;right:0;padding:2.2rem 1rem .8rem;background:linear-gradient(transparent,#0009);color:#fff;font-size:.8125rem;border-radius:0 0 .65rem .65rem}
.service-section{padding-block:3.3rem}
.service-section h2,.reference-section h2{font-size:clamp(1.8rem,2.8vw,2.5rem);line-height:1.1;max-width:27em}
.section-intro{font-size:1.075rem;line-height:1.55;color:var(--muted);max-width:48rem;margin-top:1rem}
.scope-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem;margin-top:2rem}
.scope-grid>article{border-top:2px solid var(--orange);padding:1.3rem 0 .1rem}
.scope-number{display:block;color:var(--orange-dark);font-size:.875rem;font-weight:700;letter-spacing:.1em;margin-bottom:.85rem}
.scope-grid h3{font-size:1.25rem;line-height:1.2;margin-bottom:.8rem}
.scope-grid p,.work-stages p,.process-card p,.condition-grid>div>p:not(.eyebrow),.condition-note p,.material-feature p:not(.eyebrow),.environmental-grid p:not(.eyebrow){color:var(--muted);line-height:1.55}
.scope-grid .text-link{margin-top:.8rem;font-size:1rem}
.scope-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.work-stages{list-style:none;counter-reset:stage;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding:0;margin:2rem 0 0}
.work-stages li{counter-increment:stage;padding-left:3.2rem;position:relative}
.work-stages li:before{content:counter(stage,decimal-leading-zero);position:absolute;top:0;left:0;font-size:1.5rem;font-weight:700;color:var(--orange-dark)}
.work-stages h3{font-size:1.25rem;line-height:1.2;margin-bottom:.75rem}
.reference-section{padding-block:3.2rem;background:#fff}
.reference-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3.5rem;align-items:center}
.reference-grid>div>p:not(.eyebrow){color:var(--muted);line-height:1.55;margin-top:1rem;max-width:32rem}
.reference-grid .text-link{margin-top:1rem;font-size:1rem}
.reference-quote{margin:0;padding:1.5rem 0 1.5rem 2rem;border-left:3px solid var(--orange)}
.reference-quote blockquote{margin:0 0 1.2rem;font-size:clamp(1.3rem,2vw,1.75rem);font-weight:650;line-height:1.3;letter-spacing:-.025em}
.reference-quote figcaption{font-size:.9375rem;line-height:1.5;color:var(--muted)}
.material-feature{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:3.5rem;align-items:center}
.material-feature p:not(.eyebrow){margin-top:1rem}
.material-feature .text-link{margin-top:1rem;font-size:1rem}
.detail-photo{margin:0;position:relative;overflow:hidden;border-radius:.6rem}
.detail-photo img{width:100%;height:20rem;object-fit:cover;object-position:center 40%}
.detail-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:1.5rem 1rem .8rem;background:linear-gradient(transparent,#000b);color:#fff;font-size:.875rem}
.condition-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:3rem;align-items:start}
.condition-grid>div>p:not(.eyebrow){margin-top:1rem}
.condition-note{background:var(--soft);border-left:3px solid var(--orange);padding:1.5rem;border-radius:0 .6rem .6rem 0}
.condition-note h3{font-size:1.25rem;line-height:1.2;margin-bottom:1rem}
.condition-note .check-list{font-size:1rem;margin-bottom:1rem;line-height:1.5}
.condition-note .check-list li{margin-bottom:.8rem}
.photo-process{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.7rem;margin-top:2rem}
.process-card{background:#fff;border:1px solid #e4e5e7;border-radius:.7rem;overflow:hidden}
.process-card>img{width:100%;aspect-ratio:1.6;height:auto;object-fit:cover;object-position:center 43%}
.process-card>div{padding:1.5rem}
.process-card .scope-number{margin-bottom:.5rem}
.process-card h3{font-size:1.4rem;line-height:1.2;margin-bottom:.8rem}
.faq-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:3rem}
.faq-list{min-width:0;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:0}
.faq-list summary{position:relative;display:block;list-style:none;cursor:pointer;font-weight:650;line-height:1.4;padding:1.15rem 2rem 1.15rem 0;overflow-wrap:anywhere}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:.1rem;top:1rem;font-size:1.5rem;font-weight:400;color:var(--orange-dark)}
.faq-list details[open]>summary:after{content:"−"}
.faq-list summary:focus-visible{outline:3px solid #0060a8;outline-offset:3px}
.faq-list details>div{padding:0 1rem 1.2rem 0;color:var(--muted);line-height:1.55}
.faq-list .text-link{display:inline;font-size:1rem;text-decoration:underline;text-underline-offset:.2em;color:var(--orange-dark)}
.faq-list .text-link .icon{display:none}
.product-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;margin-top:1.6rem}
.product-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:.5rem;padding:1.65rem 1.4rem;background:#fff}
.product-category{font-size:.75rem;line-height:1.5;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);margin-bottom:.65rem}
.product-card h3{font-size:1.8rem;line-height:1.1;margin-bottom:1rem}
.product-card>p:not(.product-category){color:var(--muted);line-height:1.5}
.product-card .check-list{font-size:.9375rem;line-height:1.5;margin:1.2rem 0}
.product-card .check-list li{margin-bottom:.65rem}
.product-card .product-detail{font-size:.875rem;margin-bottom:1.2rem}
.product-source-link{font-size:.9375rem;line-height:1.45;color:var(--orange-dark);text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere;min-height:2.75rem;display:flex;align-items:center}
.product-card>.product-source-link{margin-top:auto;padding-top:.6rem}
.environmental-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:3rem;align-items:start}
.environmental-grid p:not(.eyebrow){margin-top:1rem}
.environmental-grid .product-source{font-size:.875rem;margin-top:1.5rem}
.environmental-note{padding:1.6rem;border-left:3px solid var(--orange);background:#fff;border-radius:0 .6rem .6rem 0}
.material-label{display:inline-flex;align-items:center;justify-content:center;font-weight:750;font-size:1.35rem;color:var(--orange);background:var(--ink);width:3.25rem;height:3.25rem;margin-bottom:1.2rem;border-radius:.4rem}
.environmental-note h3{font-size:1.3rem;line-height:1.2}
.environmental-note .product-source-link{margin-top:.9rem}

@media(min-width:769px) and (max-width:1100px){
  .service-hero-grid{gap:2rem}
  .service-hero h1{font-size:2.8rem}
  .scope-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem}
  .product-card{padding:1.4rem 1rem}
  .product-card h3{font-size:1.55rem}
  .work-stages{gap:1.5rem}
  .work-stages li{padding-left:2.7rem}
}
@media(max-width:768px){
  .service-navigation>.container{gap:0;flex-direction:column;align-items:stretch;padding-block:.4rem}
  .service-navigation a{font-size:.9375rem;min-height:2.75rem;padding:.7rem 0}
  .service-navigation a[aria-current="page"]:after{width:2rem;right:auto;height:2px;bottom:.3rem}
  .service-hero:after{display:none}
  .service-hero-grid{grid-template-columns:minmax(0,1fr);gap:1.6rem;padding-block:1.5rem 2rem}
  .service-hero h1{font-size:clamp(2rem,7.6vw,2.8rem);line-height:1.08;max-width:100%}
  .service-lead{font-size:1.0625rem;line-height:1.5;margin-top:1rem}
  .service-hero .hero-actions{margin-top:1.3rem;gap:.65rem}
  .service-hero .hero-actions .button{flex:1 1 12rem}
  .service-hero-visual img{aspect-ratio:1.45;object-position:center;border-radius:.5rem}
  .service-hero-visual figcaption{padding:1.8rem .75rem .65rem;font-size:.75rem;line-height:1.3}
  .service-section,.reference-section{padding-block:2.2rem}
  .service-section h2,.reference-section h2{font-size:1.7rem;line-height:1.15}
  .section-intro{font-size:1rem;line-height:1.55;margin-top:.9rem}
  .scope-grid,.scope-grid-three{grid-template-columns:minmax(0,1fr);gap:1.1rem;margin-top:1.5rem}
  .scope-grid>article{padding-top:1.1rem}
  .scope-number{margin-bottom:.6rem}
  .scope-grid h3{font-size:1.25rem;line-height:1.2}
  .work-stages{grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-top:1.5rem}
  .work-stages li{padding-left:2.7rem}
  .reference-grid,.material-feature,.condition-grid,.faq-layout,.environmental-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .reference-quote{padding:.5rem 0 .5rem 1.2rem}
  .reference-quote blockquote{font-size:1.3rem;line-height:1.35}
  .reference-quote figcaption{font-size:.875rem}
  .material-feature .text-link{font-size:1rem;line-height:1.4}
  .detail-photo img{height:15rem;object-position:center 40%}
  .condition-note{padding:1.2rem}
  .photo-process{grid-template-columns:minmax(0,1fr);gap:1.25rem;margin-top:1.5rem}
  .process-card>img{aspect-ratio:1.5}
  .process-card>div{padding:1.15rem}
  .process-card h3{font-size:1.3rem;line-height:1.2}
  .faq-list summary{font-size:1rem;padding-right:1.6rem}
  .faq-list details>div{font-size:1rem;padding-right:0}
  .product-catalog{grid-template-columns:minmax(0,1fr);gap:1.2rem;margin-top:1.4rem}
  .product-card{padding:1.4rem 1.2rem}
  .product-card h3{font-size:1.65rem}
  .product-card .check-list{font-size:1rem}
  .product-source-link{font-size:.9375rem}
  .environmental-note{padding:1.25rem}
}
@media(max-height:420px){
  .les-bot .les-launcher{min-height:9.25rem;gap:.45rem;padding:.6rem .35rem}
  .les-bot .les-launcher .les-mark{width:1.4rem}
}

/* Compact service facts and the original joint illustration. */
.service-fact{max-width:65rem;margin-top:1.7rem;padding-left:1rem;border-left:3px solid var(--orange);color:var(--muted);line-height:1.55}
.service-fact strong{color:var(--ink)}
.service-page .technical-source{font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:1rem;max-width:65rem}
.technical-source a{text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
.technical-source a:hover{color:var(--orange-dark)}
.maintenance-callout{margin-top:1.4rem;padding:1rem 1.15rem;border-left:3px solid var(--orange);background:var(--soft);border-radius:0 .4rem .4rem 0}
.maintenance-callout h3{font-size:1.25rem;line-height:1.25;margin-bottom:.6rem}
.maintenance-callout p{color:var(--muted);line-height:1.55}
.joint-illustration{width:100%;max-width:24rem;margin:1.25rem 0 0;padding:.85rem;background:#fff;border:1px solid var(--line);border-radius:.4rem}
.joint-illustration img{display:block;width:100%;height:auto;filter:grayscale(1)}
.joint-illustration figcaption{margin-top:.75rem;font-size:.875rem;line-height:1.45;color:var(--muted)}

/* The map and all geographic points share one fixed view box. */
.map-attribution{font-size:.75rem;line-height:1.5;color:var(--muted);text-align:right;margin-top:.4rem}
.map-attribution a{text-decoration:underline;text-underline-offset:.15em}
@media(min-width:769px){
  .area-grid{grid-template-columns:35% 53% 12%;row-gap:0}
  .area-copy{grid-column:1;grid-row:1}
  .area-map{grid-column:2;grid-row:1;width:100%;height:auto;aspect-ratio:800 / 419;margin:0;overflow:visible}
  .map-background{inset:0;overflow:hidden;opacity:1}
  .map-background img{position:static;display:block;width:100%;height:100%;object-fit:fill;opacity:1}
  .map-pin{width:1rem;height:1.25rem;transform:translate(-50%,-100%)}
  .map-pin svg{width:1rem;height:1.25rem;stroke-width:.7}
  .map-pin span{left:50%;top:100%;font-size:.8125rem;line-height:1.2;background:#fffffff0;text-shadow:0 0 3px #fff}
  .map-attribution{grid-column:2;grid-row:2}
  .area-note{grid-column:3;grid-row:1;padding-left:1rem;margin-left:.8rem;font-size:.8rem}
  .area-note:before{left:1rem}
}
@media(min-width:769px) and (max-width:950px){
  .area-grid{grid-template-columns:39% 61%}
  .area-note{display:none}
}
@media(max-width:768px){
  .area-map{aspect-ratio:auto}
  .map-background{display:none}
  .map-attribution{text-align:left;margin-top:-.8rem;font-size:.75rem}
}

@media(min-width:769px){
  .map-pin{width:.5rem;height:.5rem;transform:translate(-50%,-50%)}
  .map-pin svg{display:none}
  .map-pin:before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--orange);border:1px solid #fff;box-shadow:0 0 0 1px #ff800033}
  .map-pin span{top:50%;left:50%}
  .map-pin:hover:before,.map-pin:focus-visible:before{background:var(--ink);box-shadow:0 0 0 3px #ff800044}
}

/* Shared quote window: match the charcoal and orange edge launcher. */
.les-bot .les-header,.les-bot .les-footer{background:var(--charcoal);color:var(--orange)}
.les-bot .les-header{border-bottom:1px solid var(--orange)}
.les-bot .les-heading,.les-bot .les-close,.les-bot .les-footer a{color:var(--orange)}
.les-bot .les-header .les-mark img{filter:brightness(0) invert(1)}
.les-bot .les-close:hover{background:#3b3e41;color:var(--orange)}
.les-bot .les-footer{border-top:1px solid var(--orange)}
.les-bot .les-meter{background:var(--charcoal)}
.les-bot .les-meter-fill{background:var(--orange)}
.button-orange{color:var(--ink);text-shadow:none}

.restored-content{max-width:52rem;margin-inline:auto}

/* Keep tablet navigation and the fixed quote rail clear of the content. */
@media (min-width:769px) and (max-width:1112px){
  .container{width:calc(100% - 7.5rem);margin-inline:2rem auto}
  .site-header .container{width:calc(100% - 4rem);margin-inline:auto}
  .restored-content{margin-inline:2rem auto}
}
@media (max-width:1024px){
  .header-inner{height:auto;min-height:4.5rem;gap:.75rem;flex-wrap:wrap}
  .brand{max-width:calc(100% - 3.75rem);flex-shrink:1}
  .menu-toggle{display:none;margin-left:auto;width:2.75rem;height:2.75rem;flex-shrink:0}
  .navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex-basis:100%;height:auto;gap:0;padding:0 0 .9rem}
  .navigation a{height:auto;min-height:2.9rem;padding:.75rem .5rem;font-size:1rem;white-space:normal}
  .navigation .active:after{bottom:.35rem;left:.5rem;right:auto;width:3.4rem}
  .menu-ready .menu-toggle{display:block}
  .menu-ready .navigation:not(.is-open){display:none}
}
@media (max-width:768px){
  .restored-content{margin-inline:1.25rem auto}
}
@media (max-width:360px){
  .restored-content{margin-inline:1rem auto}
}
@media (max-height:420px){
  .les-bot .les-launcher{min-height:0;max-height:calc(100dvh - 1rem);gap:.5rem;padding:.65rem .35rem}
}
@media print{
  .les-bot,.menu-toggle,.skip-link{display:none!important}
}

/* Preserve the full company mark on narrow screens and during image loading. */
.site-header .brand img{height:auto;aspect-ratio:114 / 106.3;object-fit:contain;flex:0 0 auto}

/* Keep CTA text readable while the legacy Elementor site kit serves old posts. */
body .button.button-orange,body .button.button-orange:visited{color:#fff;text-decoration:none;text-shadow:0 1px 2px #87390050}
body .button.button-outline,body .button.button-outline:visited{color:var(--ink);text-decoration:none}
.hero-mobile-break{display:none}
@media(max-width:600px){br.hero-mobile-break{display:initial}}

/* Keep the shared theme chrome consistent on legacy Elementor content pages. */
body.elementor-kit-167 .site-header a,
body.elementor-kit-167 .contact-details a,
body.elementor-kit-167 .map-pin,
body.elementor-kit-167 .site-footer a{color:inherit;text-decoration:none}
body.elementor-kit-167 .site-header .navigation a:hover{color:var(--orange-dark)}
body.elementor-kit-167 .site-footer a:hover{color:#fff;text-decoration:underline}
