/* Local fonts */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root{--ink:#15283f;--muted:#57656a;--accent:#245bb3;--accent-dark:#174387;--paper:#fff;--soft:#f2f5f8;--line:#dce3e8;--radius:5px;--wrap:1344px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:650}h2{font-size:clamp(2rem,3.6vw,3.25rem);line-height:1.17;letter-spacing:-.045em}h3{font-size:1.35rem;line-height:1.35;letter-spacing:-.025em}p{line-height:1.75}.wrap{width:min(var(--wrap),calc(100% - 96px));margin:auto}.skip-link{position:fixed;top:-80px;left:20px;background:white;padding:16px;z-index:100}.skip-link:focus{top:10px}.topline{background:var(--ink);color:#e6efec;font-size:.875rem}.topline .wrap{min-height:35px;display:flex;justify-content:space-between;align-items:center;gap:24px}.topline .place{display:flex;gap:9px;align-items:center}.topline .top-right{display:flex;gap:26px}.swiss-cross{font-size:1.1rem;color:#fb7964}.site-header{height:94px;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{flex-shrink:0;display:flex;gap:11px;align-items:center}.brand-word{font-family:'Manrope',sans-serif;font-size:2.45rem;font-weight:800;letter-spacing:-.09em;color:var(--accent);line-height:1}.brand-info{display:flex;flex-direction:column;border-left:1px solid #bdc7c3;padding-left:12px;line-height:1.3}.brand-info strong{font-family:'Manrope',sans-serif;font-size:.91rem;letter-spacing:.13em}.brand-info small{font-size:.75rem;letter-spacing:.08em;margin-top:3px}.brand img{width:178px;max-height:68px;object-fit:contain}.desktop-nav{display:flex;gap:28px;align-items:center;font-size:.9rem;font-weight:500}.desktop-nav>a,.nav-dropdown>summary{padding:20px 0;position:relative}.desktop-nav a[aria-current=page]{color:var(--accent)}.nav-dropdown{position:relative}.nav-dropdown>summary{cursor:pointer;list-style:none;display:flex;gap:7px;align-items:center}.nav-dropdown>summary::-webkit-details-marker{display:none}.nav-dropdown>summary:after{content:'⌄';font-size:1rem}.dropdown-panel{position:absolute;top:55px;left:-20px;min-width:250px;padding:12px;background:#fff;box-shadow:0 12px 40px #172d2520;border:1px solid var(--line);border-radius:var(--radius)}.dropdown-panel a{display:block;padding:10px 12px;border-radius:3px}.dropdown-panel a:hover{background:var(--soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:17px 23px;border:1px solid transparent;border-radius:3px;background:var(--accent);color:#fff;font-weight:550;font-size:.94rem;line-height:1.25;transition:background .2s,transform .2s}.btn:hover{background:var(--accent-dark);transform:translateY(-2px)}.btn.small{padding:14px 18px;white-space:nowrap;font-size:.87rem}.btn.outline{border-color:#c4d0ca;background:transparent;color:var(--ink)}.btn.outline:hover{background:#edf1ef}.btn.dark{background:var(--ink)}.icon{width:19px;height:19px;stroke:currentColor;stroke-width:1.6;fill:none;flex-shrink:0}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:3px;padding:10px}.mobile-nav{background:white;padding:20px 24px;border-bottom:1px solid var(--line)}.mobile-nav:not([hidden]){display:grid;gap:4px}.mobile-nav a{padding:12px 0}.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.14em;font-size:.77rem;font-weight:600;margin-bottom:25px}.eyebrow:before{content:'';width:25px;height:2px;background:var(--accent)}.hero{padding:46px 0 0}.hero-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:60px;align-items:center;min-height:566px}.hero-copy{padding:22px 0 30px}.hero h1{font-size:clamp(2.8rem,4.5vw,4.65rem);line-height:1.07;letter-spacing:-.059em;max-width:650px}.hero h1 em{color:var(--accent);font-style:normal}.hero .lead{margin:26px 0 29px;max-width:485px;color:var(--muted);font-size:1.02rem;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-note{display:flex;gap:9px;align-items:center;margin-top:20px;font-size:.82rem;color:var(--muted)}.hero-note .icon{width:15px;height:15px}.hero-visual{height:566px;position:relative;overflow:hidden;border-radius:4px}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}.hero-visual:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0a17159c);pointer-events:none}.photo-label{position:absolute;left:28px;right:28px;bottom:25px;color:#fff;z-index:1;display:flex;justify-content:space-between;align-items:end;gap:15px}.photo-label small{display:block;letter-spacing:.13em;font-size:.75rem;text-transform:uppercase;margin-bottom:7px}.photo-label strong{font-weight:500;font-size:1.06rem}.circle-link{width:43px;height:43px;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff70;border-radius:50%;background:#ffffff12}.hero-stamp{position:absolute;left:25px;top:25px;z-index:1;display:flex;align-items:center;gap:8px;background:#fff;padding:10px 13px;font-size:.76rem;font-weight:600;box-shadow:0 4px 15px #11251b10}.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:32px 0;gap:22px;border-bottom:1px solid var(--line);margin-top:30px}.trust-item{display:flex;align-items:center;gap:14px;padding:0 10px}.trust-item:not(:first-child){border-left:1px solid var(--line);padding-left:30px}.trust-item>.icon{width:25px;height:25px;color:var(--accent)}.trust-item strong{font-weight:550;font-size:.93rem;display:block}.trust-item span{display:block;font-size:.81rem;color:var(--muted);margin-top:4px}.section{padding:94px 0}.section.soft{background:var(--soft)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:36px}.section-heading p{color:var(--muted);max-width:420px;margin-top:16px}.section-heading .eyebrow{margin-bottom:15px}.text-link{display:inline-flex;gap:15px;align-items:center;font-size:.91rem;font-weight:550;padding-bottom:8px;border-bottom:1px solid var(--ink);white-space:nowrap}.text-link:hover{color:var(--accent);border-color:var(--accent)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.service-card{position:relative;border:1px solid var(--line);border-radius:4px;padding:32px 30px 27px;display:flex;flex-direction:column;min-height:292px;background:#fff;transition:border-color .2s,transform .2s}.service-card:hover{border-color:#b2c0b8;transform:translateY(-4px)}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:33px}.service-top .icon{width:32px;height:32px;color:var(--accent)}.service-top .number{font-size:.77rem;letter-spacing:.1em;color:#627168}.service-card h3{margin-bottom:12px;font-size:1.4rem}.service-card p{color:var(--muted);font-size:.95rem}.service-card .card-link{display:flex;align-items:center;justify-content:space-between;padding-top:26px;margin-top:auto;font-size:.87rem;font-weight:550}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.project-card{min-width:0}.project-image{height:305px;overflow:hidden;position:relative;border-radius:4px}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-card a:hover img{transform:scale(1.035)}.project-tag{position:absolute;left:17px;top:17px;background:#fff;padding:8px 11px;font-size:.75rem;font-weight:550}.project-info{padding:21px 0 0}.project-info .location{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.project-info h3{font-size:1.25rem}.project-info p{font-size:.94rem;margin-top:13px;color:var(--muted)}.project-info .text-link{margin-top:17px;font-size:.85rem}.method{background:var(--ink);color:#fff}.method .eyebrow{color:#c7d5d0}.method-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.method-head p{color:#c0cdc8;max-width:460px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:52px}.step{border-top:1px solid #ffffff35;padding-top:25px}.step-no{color:#8ebaff;font-size:.83rem;margin-bottom:22px;display:block}.step h3{font-size:1.2rem;margin-bottom:12px}.step p{font-size:.91rem;color:#bacbc2}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.area-grid p{color:var(--muted);margin-top:20px}.area-grid .text-link{margin-top:28px}.towns{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.towns span{border:1px solid var(--line);padding:9px 14px;border-radius:2px;font-size:.88rem}.local-panel{background:var(--soft);padding:45px;border-radius:4px;position:relative}.local-panel h3{font-size:1.7rem;margin-bottom:15px}.local-panel .eyebrow{margin-bottom:20px}.local-panel address{font-style:normal;color:var(--muted);line-height:1.8}.local-panel .local-call{display:block;font-size:1.75rem;letter-spacing:-.04em;font-family:'Manrope',sans-serif;margin-top:25px}.local-panel .hours{border-top:1px solid var(--line);margin-top:28px;padding-top:23px;font-size:.9rem}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-intro p{color:var(--muted);margin-top:20px}.faq-intro .text-link{margin-top:25px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{font-size:1.03rem;font-weight:500;padding:23px 34px 23px 0;cursor:pointer;list-style:none;position:relative;line-height:1.6}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:4px;top:20px;font-size:1.5rem;font-weight:400;color:var(--accent)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{padding:0 25px 23px 0;color:var(--muted);font-size:.96rem}.closing{padding:70px 0;background:#245bb3;color:#fff}.closing .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.closing h2{font-size:2.6rem}.closing p{margin-top:15px;color:#fff1ed}.closing .btn{background:#fff;color:var(--ink);white-space:nowrap}.site-footer{background:#112338;color:#d2ddd8;padding:65px 0 0}.site-footer .brand-word{color:#ff7b64}.site-footer .brand-info{border-color:#51615b}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:50px}.footer-brand p{margin-top:25px;max-width:270px;color:#a7bab2;font-size:.9rem}.footer-col h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.11em;margin-bottom:22px;color:#fff}.footer-col a{display:block;font-size:.9rem;color:#bfd0c7;margin-bottom:14px}.footer-col a:hover{color:white}.footer-col p{font-size:.89rem;color:#bfd0c7}.footer-bottom{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;font-size:.77rem;border-top:1px solid #ffffff20;margin-top:55px;padding:23px 0;color:#8fa79b}.mobile-call{display:none}.breadcrumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.82rem;margin-bottom:33px}.breadcrumbs a:hover{color:var(--accent)}.page-hero{padding:43px 0 58px;background:var(--soft)}.page-hero h1{font-size:clamp(2.4rem,4.4vw,4.1rem);line-height:1.1;letter-spacing:-.05em;max-width:930px}.page-hero .lead{max-width:720px;margin-top:25px;color:var(--muted);font-size:1.1rem}.page-hero .hero-actions{margin-top:26px}.page-hero .eyebrow{margin-bottom:18px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:90px}.prose{max-width:860px;font-size:1.03rem;line-height:1.8;overflow-wrap:anywhere}.prose h2{font-size:2rem;letter-spacing:-.03em;margin:46px 0 21px}.prose h2:first-child{margin-top:0}.prose h3{font-size:1.35rem;margin:31px 0 13px}.prose h4{font-size:1.15rem;margin:27px 0 12px}.prose p{margin-bottom:19px;color:#4b5e54}.prose a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}.prose ul,.prose ol{padding-left:22px;margin:15px 0 26px}.prose li{padding:4px 0;color:#4b5e54}.prose li p{margin:0}.prose blockquote{margin:25px 0;border-left:3px solid var(--accent);padding:4px 0 4px 23px}.prose img{border-radius:4px;margin:28px 0;max-height:550px;object-fit:cover;width:100%}.prose table{width:100%;border-collapse:collapse}.prose th,.prose td{padding:13px;border:1px solid var(--line);text-align:left;font-size:.94rem}.prose hr{border:0;border-top:1px solid var(--line);margin:35px 0}.article-aside{align-self:start;position:sticky;top:125px;padding:27px;background:var(--soft);border-top:2px solid var(--accent)}.article-aside h3{font-size:1.2rem;margin-bottom:13px}.article-aside p{font-size:.9rem;color:var(--muted);margin-bottom:20px}.article-aside .btn{width:100%;font-size:.86rem;gap:8px;padding:15px}.article-aside .aside-phone{display:block;text-align:center;font-size:1.05rem;margin-top:18px}.related-links{margin-top:26px;border-top:1px solid var(--line);padding-top:22px}.related-links a{display:block;font-size:.88rem;margin-bottom:13px;text-decoration:underline;text-underline-offset:3px}.contact-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:start}.contact-lead h2{font-size:2rem;max-width:450px}.contact-lead>p{margin-top:19px;color:var(--muted)}.contact-details{margin-top:34px;display:grid;gap:25px}.contact-row{display:flex;gap:17px}.contact-row>.icon{color:var(--accent);margin-top:3px;width:23px;height:23px}.contact-row small{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:6px}.contact-row a{font-size:1.17rem}.contact-row p{font-size:.98rem}.quote-form{background:var(--soft);padding:35px;border-radius:4px}.quote-form h2{font-size:1.65rem;margin-bottom:10px}.quote-form .form-intro{font-size:.91rem;color:var(--muted);margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:.88rem;font-weight:500}.field input,.field select,.field textarea{width:100%;border:1px solid #cad4ce;border-radius:3px;padding:13px 14px;background:white;color:var(--ink);min-height:47px;font-size:1rem}.field textarea{resize:vertical;min-height:125px}.form-note{font-size:.8rem;color:var(--muted);margin-top:18px;line-height:1.6}.quote-form .btn{width:100%;margin-top:21px}.form-status{padding:18px;background:white;border-left:3px solid var(--accent);margin-top:20px;font-size:.92rem;line-height:1.7}.form-status a{text-decoration:underline}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.blog-card{border:1px solid var(--line);border-radius:4px;padding:28px;display:flex;flex-direction:column;min-height:250px}.blog-card .eyebrow{font-size:.7rem;margin-bottom:20px}.blog-card h2{font-size:1.35rem;letter-spacing:-.025em;line-height:1.4;margin-bottom:14px}.blog-card p{font-size:.92rem;color:var(--muted);margin-bottom:25px}.blog-card .text-link{align-self:flex-start;margin-top:auto}.gallery-page{row-gap:45px}.source-note{font-size:.84rem;background:var(--soft);padding:20px 23px;border-left:2px solid var(--accent);margin:25px 0}.source-note a{text-decoration:underline}.empty-page{padding:110px 0;text-align:center}.empty-page h1{font-size:3.5rem;letter-spacing:-.05em;margin-bottom:20px}.empty-page .btn{margin-top:25px}[hidden]{display:none!important}
@media(min-width:1600px){.hero-grid{gap:75px}.hero h1{font-size:4.8rem}.hero-visual{height:610px}.hero-grid{min-height:610px}}
@media(max-width:1180px){.wrap{width:calc(100% - 64px)}.desktop-nav{gap:18px;font-size:.85rem}.desktop-nav .optional-nav{display:none}.nav-wrap{gap:20px}.hero-grid{gap:35px;grid-template-columns:1fr 1fr}.hero-visual{height:510px}.hero-grid{min-height:510px}.hero h1{font-size:3.6rem}.trust-item:not(:first-child){padding-left:20px}.trust-item{padding:0;gap:10px}.trust-item span{font-size:.77rem}.section{padding:76px 0}.footer-grid{gap:30px}.article-layout{gap:45px}.contact-layout{gap:40px}}
@media(max-width:950px){.desktop-nav{display:none}.menu-toggle{display:block}.header-actions{display:flex;align-items:center;gap:10px}.hero h1{font-size:3rem}.hero-grid{gap:28px}.hero-visual{height:460px}.hero-actions .btn{padding:15px 18px;font-size:.87rem;gap:10px}.trust-strip{grid-template-columns:repeat(2,1fr);row-gap:23px}.trust-item:nth-child(3){border-left:0;padding-left:0}.trust-item:nth-child(even){padding-left:28px}.service-card{padding:25px 22px}.service-card h3{font-size:1.23rem}.project-image{height:235px}.method-head{gap:40px}.steps{grid-template-columns:repeat(2,1fr)}.area-grid,.faq-grid{gap:40px}.local-panel{padding:30px}.footer-grid{grid-template-columns:repeat(2,1fr);row-gap:45px}.article-layout{grid-template-columns:1fr 235px;gap:32px}.article-aside{padding:22px}.blog-grid{grid-template-columns:repeat(2,1fr)}.contact-layout{grid-template-columns:1fr 1.1fr;gap:30px}.quote-form{padding:25px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.topline .top-right{display:none}.topline .wrap{justify-content:center;font-size:.75rem;min-height:31px}.site-header{height:79px}.brand-word{font-size:2.1rem}.brand-info strong{font-size:.77rem}.brand-info small{font-size:.75rem}.brand img{width:150px;max-height:57px}.header-actions>.btn{font-size:.76rem;padding:11px 13px}.header-actions>.btn .icon{display:none}.nav-wrap{gap:12px}.hero{padding-top:29px}.hero-grid{grid-template-columns:1fr;gap:22px}.hero-copy{padding:0}.hero .eyebrow{margin-bottom:22px;font-size:.75rem}.hero h1{font-size:clamp(2.8rem,9.5vw,4rem);max-width:580px}.hero .lead{font-size:.97rem;margin:20px 0 24px;max-width:540px}.hero-actions{gap:9px}.hero-actions .btn{font-size:.9rem;padding:15px 18px}.hero-note{font-size:.77rem;margin-top:16px}.hero-visual{height:390px;margin-top:12px}.hero-stamp{left:18px;top:18px}.photo-label{left:21px;right:21px;bottom:22px}.trust-strip{margin-top:24px;padding:26px 0;gap:23px 13px}.trust-item>.icon{width:22px;height:22px}.trust-item strong{font-size:.81rem}.trust-item span{font-size:.75rem}.trust-item:nth-child(even){padding-left:13px}.section{padding:60px 0}.section-heading{display:block;margin-bottom:28px}.section-heading .text-link{margin-top:25px}.eyebrow{font-size:.7rem;margin-bottom:19px}h2{font-size:2.2rem}.service-grid{grid-template-columns:1fr;gap:15px}.service-card{min-height:0;padding:27px}.service-top{margin-bottom:21px}.service-card h3{font-size:1.4rem}.service-card .card-link{padding-top:19px}.project-grid{grid-template-columns:1fr;gap:33px}.project-image{height:320px}.project-info{padding-top:18px}.project-info h3{font-size:1.35rem}.method-head{grid-template-columns:1fr;gap:22px}.steps{gap:28px 24px;margin-top:35px}.step{padding-top:20px}.step-no{margin-bottom:16px}.step h3{font-size:1.05rem}.step p{font-size:.86rem}.area-grid,.faq-grid{grid-template-columns:1fr;gap:36px}.local-panel{padding:29px}.local-panel h3{font-size:1.6rem}.faq-list summary{font-size:1rem}.closing{padding:49px 0}.closing .wrap{display:block}.closing h2{font-size:2.25rem}.closing .btn{margin-top:25px}.site-footer{padding:48px 0 72px}.footer-grid{gap:36px 25px;grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:330px;margin-top:18px}.footer-col a,.footer-col p{font-size:.85rem}.footer-col:last-child{grid-column:1/-1}.footer-bottom{display:block;margin-top:30px;font-size:.75rem}.footer-bottom span{display:block;margin-bottom:10px}.mobile-call{display:flex;position:fixed;bottom:0;left:0;right:0;padding:10px 15px;padding-bottom:max(10px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:29;gap:10px}.mobile-call a{width:50%;padding:12px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:3px;font-size:.83rem;font-weight:550}.mobile-call a:last-child{background:var(--accent);color:#fff;border-color:var(--accent)}.page-hero{padding:27px 0 39px}.breadcrumbs{margin-bottom:27px;font-size:.76rem}.page-hero h1{font-size:2.55rem}.page-hero .lead{font-size:1rem;margin-top:19px}.article-layout{display:flex;flex-direction:column;gap:38px}.article-aside{position:static;width:100%;padding:28px}.prose{font-size:1rem;max-width:100%;width:100%}.prose h2{font-size:1.65rem;margin-top:34px}.prose table{display:block;overflow:auto}.contact-layout{grid-template-columns:1fr;gap:37px}.quote-form{padding:25px}.form-grid{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr;gap:17px}.blog-card{min-height:230px}.empty-page{padding:70px 0}.empty-page h1{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.brand-mark{width:44px;height:44px;display:block;flex-shrink:0}.brand-mark img{width:44px;height:44px;max-width:none;object-fit:contain;display:block}.wordmark{display:flex;flex-direction:column;gap:3px}.wordmark strong{font-family:'Manrope',sans-serif;font-weight:800;font-size:1.08rem;letter-spacing:.025em;color:#204f9d}.wordmark small{font-size:.75rem;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:10px}.site-footer .brand-mark{display:none}.site-footer .wordmark strong{color:#fff;font-size:1.4rem}.site-footer .wordmark small{color:#aec2d7}.project-info h2{font-size:1.18rem;letter-spacing:-.025em;line-height:1.45}.project-details{margin-top:18px;font-size:.9rem}.project-details summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;color:var(--accent);padding:8px 0}.project-details p{font-size:.9rem}.project-details ul{padding-left:20px;line-height:1.7}.article-tags{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding-top:25px;margin-top:35px}.article-tags a{border:1px solid var(--line);font-size:.8rem;padding:6px 11px;text-decoration:none!important}.prose caption{text-align:left;font-size:.9rem;padding-bottom:14px;color:var(--muted)}.faq-intro>.btn{margin-top:25px}.prose h2:empty{display:none}.prose .source-note{font-size:.85rem;line-height:1.7}.project-card{scroll-margin-top:120px}html{scroll-padding-top:120px}.hero h1{font-size:clamp(2.8rem,4.15vw,4.1rem)}.hero .lead{margin-top:22px}.hero-stamp .icon{width:16px;height:16px;color:var(--accent)}.hero .eyebrow{font-size:.75rem}.accent-period{color:var(--accent)}.prose strong{font-weight:600} .prose>div:empty{display:none}
@media(min-width:1600px){.hero h1{font-size:4.5rem}}@media(max-width:950px){.hero h1{font-size:2.9rem}}@media(max-width:700px){.hero h1{font-size:clamp(2.8rem,9.4vw,4rem)}.brand{gap:6px}.brand-mark{width:36px;height:36px}.brand-mark img{width:36px;height:36px}.wordmark strong{font-size:.85rem}.wordmark small{font-size:.75rem;letter-spacing:-.035em}.header-actions{gap:7px}.header-actions>.btn{font-size:.76rem;padding:11px 10px}.menu-toggle{padding:8px}.hero-copy .eyebrow{font-size:.75rem;letter-spacing:.1em}.hero-visual{height:360px}.project-info h2{font-size:1.25rem}}@media(max-width:370px){.wordmark small{display:none}.wordmark strong{font-size:.81rem}.brand-mark{display:none}.wrap{width:calc(100% - 32px)}.hero h1{font-size:2.65rem}}

.service-card p,.project-info>p:not(.location),.step p,.faq-list details p,.blog-card p,.contact-lead>p{font-size:1rem}.prose div>p:first-child{margin-top:0}.hero .eyebrow{font-size:.75rem}.gallery-page .project-info h2{font-size:1.25rem}.project-image img{background:#e7ecf0}.faq-intro h2{font-size:clamp(1.8rem,3vw,2.6rem)}

/* WhatsApp contact and quote requests */
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:28;display:flex;align-items:center;gap:10px;padding:15px 20px;border-radius:32px;background:#156c46;color:#fff;box-shadow:0 5px 22px #11233830;font-size:.9rem;font-weight:600}.whatsapp-float:hover,.btn.whatsapp-button:hover{background:#105536}.whatsapp-contact{color:#156c46;text-decoration:underline;text-underline-offset:4px}.btn.whatsapp-button{background:#156c46;color:#fff;border-color:#156c46}.form-actions{display:grid;gap:10px;margin-top:21px}.quote-form .form-actions .btn{margin-top:0}.whatsapp-float:focus-visible,.mobile-whatsapp:focus-visible{outline:3px solid #245bb3;outline-offset:4px}
@media(max-width:700px){.whatsapp-float{display:none}.mobile-call{gap:6px;padding-left:10px;padding-right:10px}.mobile-call a{width:auto;flex:1;min-width:0;padding:12px 5px;gap:5px;font-size:.77rem;white-space:nowrap}.mobile-call a:nth-child(2){background:var(--accent);color:#fff;border-color:var(--accent)}.mobile-call a.mobile-whatsapp{background:#156c46;color:#fff;border-color:#156c46}.mobile-call .icon{width:17px;height:17px;flex-shrink:0}}
@media print{.whatsapp-float,.mobile-call{display:none!important}}

/* --- ajouts migration VPS (septembre 2026) --- */
.trap{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.social-links{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:18px}
.social-links a{display:inline!important;font-size:.85rem!important;margin:0!important;color:#bfd0c7;text-decoration:underline;text-underline-offset:3px}
.social-links a:hover{color:white}
.footer-legal{display:flex;flex-wrap:wrap;gap:6px 16px}
.footer-legal a,.link-button{color:inherit;text-decoration:underline;text-underline-offset:3px}
.link-button{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.footer-legal a:hover,.link-button:hover{color:white}
.cookie-banner{position:fixed;left:18px;bottom:18px;z-index:60;max-width:420px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);box-shadow:0 18px 50px -20px rgba(21,40,63,.45);padding:18px 20px;font-size:.92rem;line-height:1.55}
.cookie-banner p{margin:0 0 14px}
.cookie-banner a{text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-banner .btn.small{padding:9px 16px}
@media(max-width:700px){.cookie-banner{left:10px;right:10px;bottom:76px;max-width:none}}
.legal-prose table{width:100%;border-collapse:collapse;font-size:.92rem;margin:14px 0 22px}
.legal-prose th,.legal-prose td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.legal-prose th{font-weight:600;background:var(--soft)}
.form-status:focus{outline:2px solid var(--accent);outline-offset:2px}
