@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-latin.woff2') format('woff2');font-style:normal;font-weight:100 1000;font-display:swap}
@font-face{font-family:'Montserrat';src:url('/assets/fonts/montserrat-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
/* Shared type scale: component styles never choose their own heading sizes. */
:root{
  --ink:#182f43;--body:#3b4e60;--blue:#24599b;--blue-dark:#174273;
  --paper:#f8fafc;--soft:#eef3f7;--line:#d9e2e9;--white:#fff;--muted:#586b7b;--max:1200px;
  --font-heading:'Montserrat','DM Sans',Arial,sans-serif;
  --font-body:'DM Sans',Arial,sans-serif;
  --type-h1:3.5rem;--type-h2:2.5rem;--type-h3:1.5rem;
  --type-lead:1.25rem;--type-body:1.0625rem;--type-ui:1rem;
  --type-small:.875rem;--type-caption:.75rem;--section-space:5rem;
}
body{font-family:var(--font-body);font-size:var(--type-body);line-height:1.7;font-weight:400;letter-spacing:0}
h1,h2,h3{font-family:var(--font-heading);font-weight:600;text-wrap:balance;hyphens:auto;overflow-wrap:break-word}
h1{font-size:var(--type-h1);line-height:1.15;letter-spacing:-.035em}
h2{font-size:var(--type-h2);line-height:1.22;letter-spacing:-.03em}
h3{font-size:var(--type-h3);line-height:1.35;letter-spacing:-.02em}
.lead,.section-intro,.quotes blockquote{font-size:var(--type-lead);line-height:1.6;font-weight:400;letter-spacing:-.01em}
.service-row strong{font-family:var(--font-heading);font-size:var(--type-h3);line-height:1.35;font-weight:600;letter-spacing:-.02em}
.hero-photo figcaption strong,.brand>span{font-size:var(--type-ui);line-height:1.5;font-weight:600}
.eyebrow,.note-label,.row-number,.steps li>span{font-size:var(--type-caption);font-weight:600;line-height:1.5;letter-spacing:.1em}
.muted,.hero-note,.service-row small,.assurance span,.quotes figcaption,.form-grid label,.check,.form-status,.article .muted,footer{font-size:var(--type-small);line-height:1.65}
.topline,.brand small,.hero-photo figcaption span,.footer-name span,.footer-grid small,.footer-bottom,.breadcrumbs{font-size:var(--type-caption);line-height:1.5;letter-spacing:.015em}
.header nav,.header nav>a,.button,.menu-toggle,.text-link,.guide-item span,.mobile-contact a{font-size:var(--type-small);line-height:1.5;font-weight:600;letter-spacing:0}
input,select,textarea{font-size:var(--type-ui);line-height:1.5;font-weight:400}
.phone-link,.assurance strong,.place-links>a,.scope li,.faq summary,.related a{font-size:var(--type-body);line-height:1.6}
.phone-link,.assurance strong,.faq summary,.form-grid label{font-weight:600}
.closing .phone-link,.footer-phone,.contact-details .big-phone,.footer-name{font-size:var(--type-h3);line-height:1.4;font-weight:600;letter-spacing:-.015em}
.footer-heading{font-family:var(--font-body);font-size:var(--type-small);font-weight:600;line-height:1.5}
.hero-photo figcaption span{text-transform:uppercase;letter-spacing:.08em}
.brand small{font-weight:400}
.button span,.arrow{font-size:var(--type-lead);line-height:1}
*{box-sizing:border-box}
html{scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--body);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{color:var(--blue)}
img{display:block;max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #c67722;outline-offset:5px}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{color:var(--ink);}
h1{text-wrap:balance}
h2{max-width:860px;margin-bottom:24px;text-wrap:balance}
h3{margin-bottom:16px}
p+p{margin-top:18px}
p{max-width:74ch}
em{font-style:normal;color:var(--blue)}
ul{padding-left:22px}
li+li{margin-top:12px}
.wrap{width:min(var(--max),calc(100% - 80px));margin-inline:auto}
.section{padding:var(--section-space) 0}
.soft{background:var(--soft)}
.eyebrow{color:var(--blue);text-transform:uppercase;margin-bottom:22px}
.section-intro{max-width:660px;margin-bottom:38px;}
.muted{color:var(--muted)}
.skip{position:absolute;left:16px;top:-100px;background:white;z-index:100;padding:12px 20px}
.skip:focus{top:12px}
.topline{background:var(--ink);color:#e9eef0;padding:9px 0}
.topline .wrap{display:flex;justify-content:space-between;gap:12px}
.header{background:rgba(248,250,252,.98);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:104px}
.brand{display:flex;align-items:center;gap:15px;text-decoration:none;flex-shrink:0}
.brand img{width:82px;height:auto}
.brand>span{color:var(--ink)}
.brand small{display:block;margin-top:1px}
.header nav{display:flex;align-items:center;gap:25px;}
.header nav>a{text-decoration:none;padding:10px 0}
.header nav>a.active{color:var(--blue);box-shadow:0 2px 0 var(--blue)}
.header nav .nav-cta{background:var(--blue);color:white;padding:13px 18px;border-radius:8px}
.header nav .nav-cta:hover{background:var(--blue-dark)}
.menu-toggle{border:1px solid var(--line);border-radius:8px;background:transparent;padding:9px 13px;color:var(--ink);}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;padding-top:64px;padding-bottom:68px}
.hero h1{margin-bottom:24px}
.hero-copy>.lead{margin-bottom:20px}
.hero-copy>p:not(.eyebrow):not(.lead):not(.hero-note){max-width:47ch}
.hero-photo{align-self:stretch;position:relative;min-height:480px;margin-top:7px}
.hero-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:54% center}
.hero-photo figcaption{position:absolute;left:0;bottom:0;padding:22px 26px;background:var(--ink);color:white;max-width:90%}
.hero-photo figcaption span{display:block;text-transform:uppercase;color:#c1d0d7}
.hero-photo figcaption strong{display:block;margin-top:3px;}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;background:var(--blue);border:1px solid var(--blue);color:white;text-decoration:none;padding:16px 20px;border-radius:8px;cursor:pointer;text-align:left}
.button:hover{background:var(--blue-dark);border-color:var(--blue-dark);color:white}
.button:disabled{opacity:.65;cursor:wait}
.phone-link{text-decoration:none;white-space:nowrap}
.hero-note{color:var(--muted);margin-top:17px}
.assurance{border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding:25px 0;gap:40px}
.assurance strong{display:block;color:var(--ink);}
.service-list{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
.service-row{display:flex;gap:21px;border-top:1px solid var(--line);padding:25px 0;align-items:flex-start;text-decoration:none}
.service-row:last-child{border-bottom:1px solid var(--line)}
.row-number{color:var(--muted);margin-top:4px;flex:0 0 20px}
.service-row strong{display:block;color:var(--ink)}
.service-row small{display:block;margin-top:8px;color:var(--muted)}
.service-row:hover strong{color:var(--blue)}
.arrow{margin-left:auto;color:var(--blue)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.split .lead{margin-bottom:20px}
.text-link{display:block;color:var(--blue);text-decoration:none;margin-top:24px;}
.working-note{background:var(--paper);padding:40px;border-top:4px solid var(--blue)}
.note-label{display:block;color:var(--muted);margin-bottom:25px}
.working-note ul{list-style:none;margin:28px 0 0;padding:0;}
.working-note li{padding:13px 0;border-top:1px solid var(--line);margin:0}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin:42px 0 0;padding:0}
.steps li{margin:0;padding-top:20px;border-top:1px solid var(--line)}
.steps li>span{color:var(--blue);display:block;margin-bottom:24px}
.about-band{background:#eaf0f4}
.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center}
.about-grid figure{max-width:390px}
.about-grid img{width:100%;aspect-ratio:4/4.5;object-fit:cover;object-position:center 25%}
.about-grid .lead{margin-bottom:20px}
.place-links{display:grid;grid-template-columns:repeat(4,1fr);gap:0 30px;margin-top:35px}
.place-links>a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;border-bottom:1px solid var(--line);padding:17px 0;}
.place-links>a span{color:var(--blue)}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin:35px 0 24px}
.quotes blockquote{margin:0;color:var(--ink);}
.quotes figcaption{margin-top:24px;color:var(--muted)}
.closing{padding:70px 0;background:var(--blue);color:white}
.closing .eyebrow{color:#d5e4f5}
.closing h2{color:white;margin-bottom:18px}
.closing-inner{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:center}
.closing .actions{margin-top:0;flex-direction:column;align-items:flex-start;gap:22px}
.closing .button{background:white;border-color:white;color:var(--ink)}
.closing .button:hover{background:var(--soft)}
.closing .phone-link{color:white;}
footer{background:var(--ink);color:#d7e1e5;padding:60px 0 22px;}
footer a{display:block;text-decoration:none;overflow-wrap:anywhere}
footer a:hover{color:white;text-decoration:underline}
.footer-grid{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:65px}
.footer-name{color:white;margin-bottom:20px;}
.footer-name span{display:block;margin-top:4px}
.footer-heading{color:white;margin-bottom:24px}
.footer-grid a+a{margin-top:10px}
.footer-grid p{margin-top:20px}
.footer-grid .footer-name{margin-top:0}
.footer-phone{color:white}
.footer-grid small{display:block;margin-top:15px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #46606d;margin-top:48px;padding-top:23px;}
.footer-bottom>div{display:flex;gap:22px}
.mobile-contact{display:none}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;padding-top:25px;color:var(--muted)}
.breadcrumbs>a{text-decoration:none}
.intro{padding-top:62px;padding-bottom:70px;max-width:var(--max)}
.intro>div{min-width:0}
.intro h1{max-width:960px;margin-bottom:24px}
.intro h1 em{font:inherit;}
.intro .lead{max-width:750px}
.intro.with-image{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.intro.with-image h1{overflow-wrap:anywhere}
.intro figure img{width:100%;height:440px;object-fit:cover}
.intro figure img[src*="portrait"]{object-position:center 20%;height:470px}
.intro figure img[src*="elektro"]{height:auto}
.scope{margin:0;padding:0;list-style:none}
.scope li{border-bottom:1px solid var(--line);padding:20px 0;margin:0;color:var(--ink)}
.scope li:first-child{padding-top:0}
.readable{max-width:780px;}
.readable h3{margin-top:35px}
.faq{max-width:900px}
.faq details{border-top:1px solid var(--line);padding:0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;color:var(--ink);padding:22px 35px 22px 0;}
.faq details p{padding:0 35px 23px 0;}
.related{display:flex;flex-wrap:wrap;gap:15px 32px}
.related a{color:var(--blue)}
.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;padding-bottom:95px}
.contact-details{border-top:3px solid var(--blue);padding-top:27px}
.contact-details>a{display:block;margin-top:18px;overflow-wrap:anywhere}
.contact-details .big-phone{text-decoration:none;color:var(--blue);}
.contact-details p{margin-top:24px}
.contact-details hr{border:0;border-top:1px solid var(--line);margin:30px 0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}
.form-grid label{color:var(--ink);display:block}
.form-grid label>span{color:var(--blue)}
input,select,textarea{display:block;width:100%;padding:13px 12px;border:1px solid #9aabae;border-radius:8px;background:#fff;color:var(--ink);margin-top:7px;}
textarea{resize:vertical;min-height:130px}
input::placeholder,textarea::placeholder{color:#63777d;opacity:1;}
.full{grid-column:1/-1}
.check{display:flex;align-items:flex-start;gap:12px;margin:26px 0 18px}
.check input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:var(--blue)}
form>.button{margin-top:25px}
.form-status:not(:empty){padding:16px 18px;border-left:3px solid var(--blue);background:var(--soft);margin-top:20px;}
.form-status.error{border-color:#a43826;color:#822818}
.form-status.success{border-color:#27624b;color:#214e3c}
.honey{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.legal{max-width:900px;padding-bottom:80px;}
.legal h2{margin-top:45px;}
.legal h3{margin-top:27px}
.legal p{margin-top:15px;overflow-wrap:anywhere}
.article{max-width:900px;padding:60px 0 90px}
.article h1{margin-bottom:24px}
.article header{margin-bottom:55px}
.article section{padding-top:20px;margin-bottom:35px}
.article h2{margin-bottom:18px}
.article .muted{margin-top:22px}
.guide-list{max-width:950px}
.guide-item{display:block;padding:30px 0;border-top:1px solid var(--line);text-decoration:none}
.guide-item h2{margin-bottom:14px}
.guide-item p{color:var(--body)}
.guide-item span{display:block;color:var(--blue);margin-top:20px;}

@media(min-width:1101px){.menu-toggle{display:none!important}
}

@media(max-width:1100px){.wrap{width:calc(100% - 48px)}
.header-inner{flex-wrap:wrap;gap:0;min-height:90px;padding-block:10px}
.brand img{width:70px}
.header nav{width:100%;flex-wrap:wrap;gap:14px 25px;padding:15px 0 8px}
.header nav[data-collapsible="true"]{display:none}
.header nav[data-collapsible="true"].open{display:flex}
.hero{gap:30px}
.hero-photo{min-height:460px}
.hero .actions{gap:16px}
.split{gap:45px}
.about-grid{gap:50px}
.steps{gap:24px}
.intro.with-image{gap:40px}
.contact-layout{gap:45px}
.footer-grid{gap:35px}
}

@media(max-width:760px){.wrap{width:calc(100% - 36px)}
.section{padding:var(--section-space) 0}
.topline .wrap{justify-content:center}
.topline .wrap>span+span{display:none}
.brand img{width:60px}
.brand{gap:10px}
.header-inner{min-height:78px}
.header nav{flex-direction:column;align-items:stretch;gap:0}
.header nav>a{padding:12px 0;border-bottom:1px solid var(--line)}
.header nav .nav-cta{margin-top:12px;text-align:center}
.hero{grid-template-columns:1fr;gap:35px;padding-top:38px;padding-bottom:36px}
.hero .eyebrow{margin-bottom:18px}
.hero-photo{min-height:300px;aspect-ratio:1.2;max-height:420px;margin:0}
.hero-photo>img{object-position:center}
.hero-photo figcaption{padding:17px 20px}
.assurance{grid-template-columns:1fr;gap:14px;padding:20px 0}
.assurance span{display:flex;flex-wrap:wrap;gap:0 7px;}
.actions{gap:20px;margin-top:25px}
.button{padding:15px 17px;gap:12px}
.service-list{grid-template-columns:1fr}
.service-row{padding:22px 0;gap:14px}
.split,.about-grid,.closing-inner,.contact-layout,.intro.with-image{grid-template-columns:1fr;gap:35px}
.working-note{padding:28px}
.steps{grid-template-columns:1fr 1fr;gap:32px 24px}
.steps li>span{margin-bottom:18px}
.about-grid figure{max-width:none}
.about-grid img{max-height:400px;aspect-ratio:1.05;object-position:50% 21%}
.place-links{grid-template-columns:1fr 1fr;gap:0 22px;margin-top:20px}
.quotes{grid-template-columns:1fr;gap:38px}
.closing{padding:50px 0}
.closing-inner{gap:30px}
.closing .actions{gap:20px}
.footer-grid{grid-template-columns:1fr;gap:36px}
.footer-heading{margin-bottom:15px}
.footer-grid p{max-width:46ch}
.footer-bottom{flex-direction:column;margin-top:35px;}
footer{padding-bottom:90px}
.mobile-contact{display:grid;grid-template-columns:1fr 1.25fr;position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.mobile-contact a{padding:16px 8px;text-align:center;text-decoration:none;color:var(--ink);}
.mobile-contact a+a{background:var(--blue);color:white}
.intro{padding-top:37px;padding-bottom:45px}
.intro figure img{height:300px}
.intro figure img[src*="portrait"]{height:350px;object-position:center 18%}
.breadcrumbs{padding-top:20px;gap:8px}
.contact-layout{padding-bottom:55px}
.contact-details{padding-bottom:20px}
.form-grid{grid-template-columns:1fr;gap:18px}
.article{padding-top:40px;padding-bottom:50px}
.article header{margin-bottom:30px}
}

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

@media print{.header,.topline,.mobile-contact,.closing,footer,.actions,.breadcrumbs{display:none}
.wrap{width:100%}
.section{padding:25px 0}
body{background:white;color:black;}
.hero-photo{min-height:250px}
.intro{padding:20px 0}
a{color:inherit}
}


/* Quiet surfaces, a consistent corner radius and a clear interaction state. */
.hero-photo{border-radius:12px;overflow:hidden}
.hero-photo figcaption{border-top-right-radius:12px}
.intro figure img,.about-grid img{border-radius:12px}
.working-note{border-radius:12px;border:1px solid var(--line);border-top:3px solid var(--blue);box-shadow:0 12px 32px rgba(24,47,67,.04)}
.header{box-shadow:0 4px 20px rgba(24,47,67,.025)}
.button,.nav-cta{transition:background-color .18s ease,box-shadow .18s ease}
.button:hover{box-shadow:0 4px 12px rgba(24,47,67,.12)}
.service-row>span:nth-child(2){min-width:0}
.service-row strong{hyphens:auto;overflow-wrap:break-word}
.hero-copy p,.intro p,.readable p,.article p{max-width:65ch}
.intro.with-image h1{overflow-wrap:break-word;hyphens:auto}
.contact-details h2{overflow-wrap:break-word}
.assurance strong{font-size:var(--type-body)}
.footer-grid .footer-heading{margin-top:0;margin-bottom:24px}
@media(max-width:1100px){
  :root{--type-h1:3rem;--type-h2:2.25rem;--type-h3:1.375rem}
}
@media(max-width:760px){
  :root{--type-h1:2.25rem;--type-h2:1.75rem;--type-h3:1.25rem;--type-body:1rem;--type-lead:1.125rem;--section-space:3.5rem}
  .brand small{display:none}
  .header-inner{gap:8px}
  .hero h1,.intro h1,.article h1{max-width:100%}
  .steps{grid-template-columns:1fr}
  .steps li{display:grid;grid-template-columns:28px 1fr;gap:0 12px}
  .steps li>span{grid-row:1/3;margin-top:4px;margin-bottom:0}
  .steps h3{margin-bottom:12px}
  .steps p{grid-column:2}
  .place-links>a{font-size:var(--type-small)}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{body{font-size:11pt}h1{font-size:30pt}h2{font-size:22pt}h3{font-size:15pt}}

/* Review cards: selected original reviews, no third-party widget requests. */
.reviews-section{background:var(--paper)}
.reviews-heading{text-align:center;margin-bottom:56px}
.reviews-heading h2,.reviews-heading p{margin-left:auto;margin-right:auto}
.reviews-heading .eyebrow{margin-bottom:12px}
.reviews-heading h2{margin-bottom:16px}
.reviews-widget{max-width:1000px;margin-inline:auto}
.reviews-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 4px rgba(24,47,67,.06)}
.reviews-brand{display:flex;align-items:center;gap:16px;min-width:0}
.review-google-icon{display:block;width:32px;height:32px;flex-shrink:0}
.reviews-brand-name{font-size:var(--type-body);font-weight:600;color:var(--ink);line-height:1.5}
.review-source{font-size:var(--type-small);color:var(--muted);margin-top:2px;line-height:1.5}
.reviews-carousel{position:relative;margin-top:20px}
.review-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;padding:2px 2px 12px;align-items:stretch}
.review-card{flex:0 0 calc((100% - 40px)/3);min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px 20px;box-shadow:0 3px 5px rgba(24,47,67,.07)}
.review-person{display:flex;gap:12px;align-items:center;margin-bottom:22px}
.review-person>div{min-width:0}
.review-avatar{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;border-radius:50%;background:#486a78;color:white;font-size:var(--type-ui);font-weight:500}
.avatar-1{background:#71659a}.avatar-2{background:#638446}
.review-name{font-size:var(--type-small);font-weight:600;color:var(--ink);line-height:1.45;overflow-wrap:anywhere}
.review-copy{flex:1}
.review-text{font-size:var(--type-body);line-height:1.65;color:var(--ink);overflow-wrap:break-word}
.review-text.is-collapsed{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.review-expand{background:transparent;border:0;padding:8px 0;margin-top:4px;color:var(--muted);font-size:var(--type-small);cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:3px;min-height:36px}
.review-expand:hover{color:var(--blue)}
.review-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px}
.review-stars{color:#e89b00;font-size:var(--type-h3);letter-spacing:.02em;line-height:1}
.review-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--muted);box-shadow:0 2px 4px rgba(24,47,67,.08);font-size:var(--type-h2);line-height:1;cursor:pointer}
.review-arrow:disabled{opacity:.4;cursor:default}.review-arrow:hover:not(:disabled){color:var(--blue);border-color:var(--blue)}
.review-prev{left:-52px}.review-next{right:-52px}
.review-position,.reviews-note{text-align:center;font-size:var(--type-caption);color:var(--muted);max-width:none;margin-top:16px}
.review-position:empty{display:none}
.reviews-note{margin-top:24px}
@media(max-width:1150px){.reviews-widget{max-width:calc(100% - 70px)}.review-prev{left:-46px}.review-next{right:-46px}}
@media(max-width:1000px){.review-card{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:760px){.reviews-heading{margin-bottom:32px}.reviews-widget{max-width:100%}.reviews-summary{align-items:flex-start;flex-direction:column;padding:20px;gap:18px}.reviews-summary .button{width:100%}.review-track{gap:14px}.review-card{flex-basis:100%;padding:22px}.reviews-carousel{padding-bottom:55px}.review-arrow{top:auto;bottom:0;transform:none}.review-prev{left:calc(50% - 51px)}.review-next{right:calc(50% - 51px)}.review-position{margin-top:12px}}
@media print{.review-track{display:block;overflow:visible}.review-card{break-inside:avoid;margin-bottom:16px}.review-text.is-collapsed{display:block;overflow:visible}.review-arrow,.review-expand{display:none!important}}

/* Constrain intrinsic grid/flex widths to the viewport; only reviews scroll sideways. */
html,body{max-width:100%;overflow-x:clip}
@supports not (overflow:clip){body{overflow-x:hidden}}
.wrap{min-width:0;max-width:100%}
.hero>*,.split>*,.about-grid>*,.closing-inner>*,.intro.with-image>*,.contact-layout>*,.footer-grid>*,.form-grid>*,.service-list>*,.place-links>*,.steps>*,.assurance>*{min-width:0}
.reviews-widget,.reviews-carousel,.review-track,.reviews-summary,.reviews-brand>div{min-width:0}
.review-track{width:100%;max-width:100%}
.button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.button>span{flex-shrink:0}
input,select,textarea{min-width:0;max-width:100%}
.hero h1,.intro h1,.article h1,h2,h3,.reviews-brand-name,.review-source{overflow-wrap:anywhere}
@media(max-width:760px){
  .hero,.split,.about-grid,.closing-inner,.intro.with-image,.contact-layout,.service-list,.footer-grid,.form-grid,.assurance{grid-template-columns:minmax(0,1fr)}
  .place-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .header-inner{min-width:0}
  .brand{min-width:0;max-width:100%;flex-shrink:1}
  .brand>span{min-width:0;overflow-wrap:anywhere}
  .brand img{flex-shrink:0}
  .menu-toggle{flex-shrink:0}
  .reviews-summary{max-width:100%}
  .reviews-brand{width:100%}
  .review-card{flex:0 0 100%;max-width:100%}
  .mobile-contact{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
  .mobile-contact a{min-width:0;overflow-wrap:anywhere}
}
