/*
Theme Name: Bellabox — Artisan Toiture du Vaucluse
Author: Bellabox
Description: Thème sur mesure pour Daniel Gargowitch. Navigation par prestations, photos, animations et vues pédagogiques en 3D.
Version: 1.0.2
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: bellabox-vaucluse
*/
@import url('assets/fonts.css');
:root{--cream:#ede9df;--ink:#303b31;--muted:#6a7167;--rust:#a65132;--gold:#dbc19b;--line:rgba(48,59,49,.2);--pad:clamp(24px,5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.65 'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}body:has(.mobile-menu:not([hidden])){overflow:hidden}::selection{background:#ae6448;color:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button{border:0;background:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #b67640;outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:450;line-height:1.03;letter-spacing:-.055em}h1{font-size:clamp(55px,7.4vw,124px)}h2{font-size:clamp(42px,4.5vw,76px)}h3{font-size:32px;line-height:1.15}em{font-family:'Italiana',Georgia,serif;font-style:normal;letter-spacing:-.02em}p{color:var(--muted)}[hidden]{display:none!important}.eyebrow{display:block;font-size:10px;font-weight:550;letter-spacing:.16em;line-height:1.6}.section{padding:110px var(--pad)}.text-link{display:inline-flex;gap:34px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:9px;font-size:13px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;min-height:57px;padding:16px 23px;font-size:13px;border-radius:2px;transition:background .3s,transform .3s}.button span{font-size:24px;line-height:1}.button:hover{transform:translateY(-3px)}.light{background:var(--cream);color:var(--ink)}.light:hover{background:#fff}.dark{background:var(--ink);color:var(--cream)}.skip{position:fixed;top:-100px;left:20px;z-index:200;background:white;padding:12px}.skip:focus{top:10px}.reading-progress{height:2px;position:fixed;top:0;left:0;z-index:101;width:100%;background:var(--rust);transform:scaleX(0);transform-origin:left}.header{height:112px;padding:12px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:32px;position:absolute;top:0;left:0;width:100%;z-index:50;color:white;border-bottom:1px solid #ffffff30;transition:background .35s,color .35s,height .35s}.header.scrolled{position:fixed;background:rgba(237,233,223,.96);backdrop-filter:blur(15px);color:var(--ink);height:86px;border-color:var(--line);box-shadow:0 4px 35px #1520140c}.logo{background:white;padding:8px 12px;display:inline-block;flex-shrink:0;border-radius:2px}.logo img{width:166px;height:auto}.desktop-nav{display:flex;gap:26px;font-size:12px}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:after{content:'';position:absolute;bottom:4px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}.header-call{display:flex;align-items:center;gap:25px;font-size:13px}.header-call span{font-size:25px}.menu-toggle{display:none;width:40px;height:40px;padding:7px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:7px 0}.mobile-menu{position:fixed;inset:86px 0 0;z-index:49;background:var(--cream);padding:40px var(--pad);display:flex;flex-direction:column;gap:18px}.mobile-menu a{font-size:28px;letter-spacing:-.035em}.hero{height:max(780px,100svh);position:relative;overflow:hidden;color:white}.hero-image{position:absolute;inset:0;will-change:transform;transform:scale(1.04)}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:62% center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,27,22,.56),rgba(16,27,22,.12) 72%),linear-gradient(0deg,rgba(16,27,22,.64),transparent 40%,rgba(16,27,22,.14));pointer-events:none}.hero-content{position:absolute;left:var(--pad);right:var(--pad);top:29%;will-change:transform}.hero-content>.eyebrow{margin-bottom:30px;display:flex;align-items:center;gap:15px}.sun-icon{font-size:25px;line-height:1}.hero h1{font-size:clamp(68px,8.3vw,145px);line-height:.98;text-shadow:0 2px 28px #13221316}.hero-line{display:block}.hero h1 em{color:#f9e3c5}.hero-bottom{display:flex;align-items:center;gap:65px;margin-top:44px}.hero-bottom p{color:#fff;line-height:1.7;font-size:14px}.hero-foot{position:absolute;left:var(--pad);right:var(--pad);bottom:29px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff50;padding-top:20px;font-size:9px;letter-spacing:.08em}.hero-foot>a:first-child{display:flex;gap:32px}.hero-foot>a:first-child span{font-size:18px}.hero-foot .stars{margin-right:9px}.stars{color:#bb8750;letter-spacing:.15em}.hero-foot .stars{color:#eed3a6}.hero-enter{animation:rise .9s .2s both}.hero-line{animation:rise 1.2s .15s both}.hero-line:nth-child(2){animation-delay:.32s}@keyframes rise{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}.intro{display:grid;grid-template-columns:1fr 2.8fr;gap:7vw;padding-top:120px;padding-bottom:115px}.intro-meta{display:flex;flex-direction:column;align-items:flex-start;gap:50px}.intro-meta>.eyebrow:last-child{max-width:145px;font-size:9px}.sun-emblem{font-family:Georgia,serif;color:var(--rust);font-size:95px;line-height:1;font-weight:100}.word-reveal{font-size:clamp(33px,3.8vw,64px);line-height:1.15}.word-reveal span{opacity:.22;transition:opacity .22s}.word-reveal span.lit{opacity:1}.intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:44px;align-items:start}.intro-bottom p{font-size:13px;max-width:380px}.intro-bottom a{justify-self:end;margin-top:5px}.moving-line{overflow:hidden;border-block:1px solid var(--line);padding:16px 0;color:var(--rust)}.moving-line>div{white-space:nowrap;font-size:13px;letter-spacing:.19em;animation:marquee 42s linear infinite;width:max-content}.moving-line i{font-size:24px;font-style:normal;padding:0 45px;vertical-align:middle}@keyframes marquee{to{transform:translateX(-50%)}}.section-heading{display:grid;grid-template-columns:1fr 1.7fr 1fr;gap:40px;align-items:start;margin-bottom:65px}.section-heading>.eyebrow{margin-top:12px}.section-heading>p{align-self:end;font-size:12px;max-width:235px;padding-bottom:3px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service-card:nth-child(2){padding-top:90px}.service-card:nth-child(3){padding-top:35px}.service-photo{position:relative;height:370px;overflow:hidden}.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .9s}.service-card:first-child img{object-position:80% center}.service-card:nth-child(2) img{object-position:left center}.service-card:nth-child(3) img{object-position:85% center}.service-card:hover img{transform:scale(1.07)}.service-card .eyebrow{margin-top:25px;color:var(--rust);font-size:9px}.service-card h3{margin:12px 0 24px;font-size:clamp(27px,2.8vw,44px)}.service-card .text-link{font-size:11px}.round-arrow{position:absolute;bottom:18px;right:18px;background:var(--cream);width:43px;height:43px;border-radius:50%;display:grid;place-items:center;font-size:25px;transition:transform .3s}.service-card:hover .round-arrow{transform:rotate(45deg)}.card-index{position:absolute;top:18px;left:20px;color:#fff;font-size:12px;text-shadow:0 1px 8px #000}.material-story{height:220vh;background:#dfd9cb;position:relative}.material-sticky{height:100svh;min-height:640px;position:sticky;top:0;display:grid;grid-template-columns:43% 57%;align-items:center;padding:75px var(--pad) 35px;overflow:hidden}.material-copy{z-index:2;position:relative}.material-copy h2{font-size:clamp(40px,4.1vw,68px);margin:27px 0}.material-copy>p{font-size:13px}.material-tabs{display:flex;gap:16px;margin:35px 0 24px}.material-tabs button{display:flex;flex-direction:column;align-items:center;gap:9px;font-size:9px;padding:0 4px}.material-tabs button>span{width:24px;height:24px;background:var(--swatch);border-radius:50%;outline:1px solid transparent;outline-offset:5px;transition:outline-color .3s}.material-tabs button[aria-pressed=true]>span{outline-color:var(--ink)}.material-controls{display:flex;gap:25px;margin-bottom:25px}.material-controls button{padding:0 0 7px;border-bottom:1px solid var(--line);font-size:11px}.material-copy .fineprint{max-width:280px;font-size:9px}.tile-stage{position:relative;align-self:stretch;min-width:0}.tile-word{position:absolute;left:-2%;top:28%;font-size:clamp(100px,15vw,270px);letter-spacing:-.08em;color:#cdc5b5;line-height:1;font-weight:600;z-index:0}.tile-stage canvas{width:100%;height:100%;display:block;position:relative;z-index:1;touch-action:pan-y;cursor:grab}.tile-stage canvas:active{cursor:grabbing}.tile-fallback{position:absolute;inset:10% 0;width:100%;height:70%;object-fit:cover;z-index:1}.tile-note{position:absolute;bottom:84px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:.12em;z-index:2;pointer-events:none}.tiny-dot{display:inline-block;width:5px;height:5px;background:var(--rust);border-radius:50%;margin-right:8px}.tile-chapter{position:absolute;bottom:30px;left:20%;right:20%;z-index:3;display:grid;grid-template-columns:30px 1fr;gap:10px;font-size:9px;letter-spacing:.13em}.tile-chapter>div{grid-column:1/-1;height:1px;background:#acaa9c}.tile-chapter i{height:2px;background:var(--rust);display:block;width:0}.detail-banner{height:650px;position:relative;overflow:hidden;color:#fff}.parallax-media{width:100%;height:115%;position:absolute;top:-7.5%;left:0;object-fit:cover;will-change:transform}.detail-banner:after,.project-cta:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#132213aa,#13221308)}.detail-caption{position:absolute;left:var(--pad);top:30%;z-index:2}.detail-caption h2{margin:24px 0 35px}.image-note{position:absolute;right:var(--pad);bottom:20px;color:#fff;z-index:2;font-size:9px;letter-spacing:.07em}.reviews{background:#f5f1e8;overflow:hidden}.rating{display:flex;flex-direction:column;justify-self:end}.rating strong{font-size:62px;letter-spacing:-.06em;line-height:1.1;font-weight:450}.rating strong span{font-size:18px;letter-spacing:0;margin-left:5px}.rating>.stars{margin:8px 0;font-size:15px}.rating a{font-size:11px;border-bottom:1px solid var(--line);padding-bottom:4px}.review-carousel{overflow:hidden}.review-track{display:flex;gap:22px;transition:transform .7s cubic-bezier(.22,.68,0,1)}.review-card{flex:0 0 calc((100% - 44px)/3);background:var(--cream);padding:28px 26px 23px;min-height:320px;display:flex;flex-direction:column;border-top:1px solid #cdc5b4}.review-top{display:flex;justify-content:space-between;align-items:center}.review-top .stars{font-size:12px}.google-word{font-size:12px;letter-spacing:-.04em}.review-card blockquote{font-family:'Italiana',Georgia,serif;font-size:28px;line-height:1.15;margin:30px 0;letter-spacing:-.025em}.review-person{display:flex;gap:12px;align-items:center;margin-top:auto}.avatar{width:35px;height:35px;border-radius:50%;background:#dcd6c9;display:grid;place-items:center;font-size:10px}.review-person strong{font-size:10px;font-weight:550}.review-person small{display:block;font-size:9px;color:var(--muted)}.review-card>a{margin-top:18px;font-size:10px;align-self:flex-start;border-bottom:1px solid var(--line)}.review-controls{display:flex;justify-content:space-between;align-items:center;margin-top:26px}.review-controls p{font-size:9px}.review-controls>div{display:flex;gap:8px}.review-controls button{border:1px solid var(--line);width:38px;height:38px;border-radius:50%;font-size:17px}.review-controls button:hover{background:var(--ink);color:var(--cream)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:55px}.process-grid article{border-top:1px solid var(--line);padding-top:24px}.process-grid article>span{font-size:10px;color:var(--rust)}.process-grid h3{margin:28px 0 18px}.process-grid p{font-size:13px;max-width:320px}.project-cta{height:600px;position:relative;overflow:hidden;color:#fff}.project-cta>img{object-position:center 65%}.cta-content{position:absolute;left:var(--pad);right:var(--pad);top:24%;z-index:2}.cta-content h2{font-size:clamp(65px,7vw,120px);margin:22px 0 30px}.footer{padding:50px var(--pad) 25px;background:var(--ink);color:var(--cream)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:40px;border-bottom:1px solid #ffffff25}.footer-top>.logo img{width:160px}.footer-top p{color:#dfdecc;font-size:14px}.footer-phone{font-size:22px;letter-spacing:-.03em}.footer-links{display:flex;justify-content:space-between;gap:20px;margin-top:27px;font-size:10px;align-items:center}.footer-links button{padding:0;font-size:10px}.fineprint{font-size:10px;color:var(--muted)}.footer .fineprint{color:#bac0b2;font-size:9px;margin-top:25px}.mobile-cta{display:none}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(32px);transition:opacity .85s,transform .85s cubic-bezier(.2,.7,.2,1)}.js-motion .reveal.visible{opacity:1;transform:translateY(0)}.service-hero{height:800px;min-height:100svh;position:relative;overflow:hidden;color:#fff}.service-hero-content{position:relative;padding:180px var(--pad) 80px;max-width:1050px}.breadcrumb{display:block;font-size:10px;margin-bottom:45px;color:#eee7d9}.service-hero-content h1{margin:26px 0 30px}.service-hero-content p{color:white;max-width:480px;font-size:14px;margin-bottom:30px}.service-body{display:grid;grid-template-columns:1fr 1fr;gap:100px}.service-intro h2{margin:30px 0}.service-intro p{font-size:14px;max-width:430px}.service-list article{border-top:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:30px 1fr;gap:20px}.service-list article>span{font-size:11px;color:var(--rust)}.service-list h3{font-size:25px;margin-bottom:15px}.service-list p{font-size:13px}.service-image{position:relative;overflow:hidden;height:470px;margin:0 var(--pad)}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.faq h2{margin-top:25px}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font-size:14px}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:21px}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:13px;margin-top:18px}.other-services{padding-top:0}.other-services>div{margin-top:22px}.other-services a{font-size:32px;border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;letter-spacing:-.04em}.contact-page{padding-top:185px;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-page h1{font-size:clamp(54px,5.3vw,88px);margin:28px 0}.contact-head>p{max-width:360px;font-size:14px}.contact-phone{font-size:28px;display:block;margin:30px 0 10px;letter-spacing:-.04em}.contact-email{font-size:12px;border-bottom:1px solid var(--line)}.contact-head .area{font-size:11px;margin-top:25px}.contact-photo{height:260px;margin-top:32px;overflow:hidden}.contact-photo img{width:100%;height:100%;object-fit:cover}.contact-page~*{color:inherit}body:has(.contact-page) .header{color:var(--ink);border-color:var(--line)}form{background:#f5f1e8;padding:35px;align-self:start}form>.eyebrow{margin-bottom:25px}label{display:block;font-size:11px;margin:20px 0}input,select,textarea{display:block;margin-top:9px;border:0;border-bottom:1px solid #b9b9a9;border-radius:0;padding:12px 0;width:100%;background:transparent;color:var(--ink);font-size:14px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#85897b;font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-row label{min-width:0}form .button{width:100%;margin-top:10px}form .fineprint{font-size:10px;margin-top:17px}#form-result{white-space:pre-wrap;border-top:1px solid var(--line);margin-top:25px;padding-top:20px;font-size:12px}#mail-draft{margin-top:20px}dialog{border:0;background:var(--cream);color:var(--ink);padding:50px;width:90%;max-width:650px;max-height:85vh}dialog::backdrop{background:#18231fcc;backdrop-filter:blur(8px)}dialog h2{font-size:44px;margin:25px 0}dialog p{font-size:13px;margin:15px 0}.close-dialog{position:absolute;right:20px;top:12px;font-size:30px}
@media(min-width:1600px){.hero-content{top:30%}.service-photo{height:480px}}@media(max-width:1050px){.desktop-nav{gap:15px}.header{gap:20px}.logo img{width:140px}.header-call{font-size:12px;gap:14px}.intro{gap:40px}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p,.section-heading>.rating{grid-column:2;justify-self:start}.section-heading>.rating{flex-direction:row;align-items:center;gap:20px}.section-heading>.rating strong{font-size:42px}.service-photo{height:300px}.material-tabs{gap:10px}.material-sticky{grid-template-columns:45% 55%}.material-copy h2{font-size:42px}.service-body{gap:50px}.faq{gap:45px}.review-card{flex-basis:calc((100% - 22px)/2)}.service-hero-content{padding-top:170px}.contact-page{gap:45px}form{padding:25px}}
@media(max-width:760px){:root{--pad:24px}.section{padding:75px var(--pad)}.header,.header.scrolled{height:86px;gap:16px;padding:12px var(--pad)}.logo{padding:5px 8px}.logo img{width:122px}.desktop-nav{display:none}.header-call{margin-left:auto;font-size:11px;gap:8px}.header-call span{font-size:18px}.menu-toggle{display:block;width:28px;padding:2px}.hero{height:calc(100svh - 15px);min-height:700px}.hero-image img{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#182a226e,#182a221c),linear-gradient(0deg,#13241bdd,transparent 78%)}.hero-content{top:28%;left:24px;right:20px}.hero-content>.eyebrow{font-size:8px;letter-spacing:.13em;gap:10px;margin-bottom:23px}.hero h1{font-size:clamp(53px,10vw,76px);line-height:1.02;letter-spacing:-.06em}.hero-bottom{display:block;margin-top:26px}.hero-bottom p{font-size:12px}.hero-bottom .button{margin-top:23px;font-size:12px;min-height:52px}.hero-foot{bottom:32px;gap:15px;left:24px;right:24px;font-size:8px}.hero-foot>a:first-child{gap:9px;font-size:7px}.hero-foot>span{display:none}.hero-foot .stars{display:block;font-size:9px;margin-bottom:4px}.intro{display:block}.intro-meta{flex-direction:row;justify-content:space-between;align-items:center;gap:15px;margin-bottom:28px}.intro-meta>.eyebrow:last-child{display:none}.sun-emblem{font-size:45px}.word-reveal{font-size:36px}.intro-bottom{display:block;margin-top:30px}.intro-bottom p{font-size:13px}.intro-bottom a{margin-top:25px}.moving-line{padding:10px 0}.moving-line>div{font-size:10px}.moving-line i{font-size:18px;padding:0 23px}.section-heading{display:block;margin-bottom:35px}.section-heading>.eyebrow{margin-bottom:22px}.section-heading>p{margin-top:22px}.section-heading h2{font-size:43px}.service-grid{display:block}.service-card{display:block;margin-bottom:45px}.service-card:nth-child(n){padding-top:0}.service-photo{height:360px}.service-card h3{font-size:36px;margin-bottom:18px}.service-card:last-child{margin-bottom:0}.material-story{height:170svh;min-height:1050px}.material-sticky{display:flex;flex-direction:column;padding:110px 24px 20px;height:100svh;min-height:720px;justify-content:flex-start;align-items:stretch}.material-copy>.eyebrow{font-size:8px}.material-copy h2{font-size:36px;margin:17px 0 12px}.material-copy>p{font-size:11px}.material-tabs{margin:20px 0 15px;gap:22px}.material-tabs button{font-size:8px}.material-tabs button>span{width:18px;height:18px}.material-controls{position:absolute;right:0;bottom:38px;display:flex;flex-direction:column;gap:4px;margin:0}.material-controls button{font-size:9px;padding-bottom:4px}.material-copy .fineprint{font-size:8px;max-width:230px;margin-top:15px}.tile-stage{flex:1;min-height:270px;margin-top:5px}.tile-word{font-size:25vw;left:5%;top:24%}.tile-note{font-size:7px;bottom:24px}.tile-chapter{left:15%;right:15%;bottom:0;font-size:8px;gap:3px}.detail-banner{height:530px}.detail-banner>img{object-position:60% center}.detail-caption{top:31%}.detail-caption h2{font-size:42px}.detail-caption>.eyebrow{font-size:8px}.image-note{font-size:8px}.rating{margin-top:25px;display:flex;flex-direction:row;gap:20px;align-items:center}.rating strong{font-size:40px}.rating a{font-size:10px}.rating>.stars{font-size:10px}.review-card{flex-basis:100%;min-height:305px;padding:27px}.review-card blockquote{font-size:32px}.review-controls{align-items:flex-end;gap:20px}.review-controls p{font-size:8px;max-width:185px}.review-controls>div{gap:4px}.review-controls button{width:32px;height:32px}.process-grid{display:block;margin-top:35px}.process-grid article{margin-bottom:35px}.process-grid article:last-child{margin-bottom:0}.process-grid h3{margin:15px 0}.project-cta{height:530px}.cta-content{top:25%}.cta-content>.eyebrow{font-size:8px}.cta-content h2{font-size:62px}.footer{padding:40px 24px 100px}.footer-top{display:block}.footer-top>.logo img{width:145px}.footer-top>p{margin:25px 0}.footer-phone{font-size:25px}.footer-links{display:grid;grid-template-columns:1fr 1fr;font-size:9px}.footer-links button{text-align:left;font-size:9px}.footer .fineprint{font-size:8px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--cream);z-index:48;box-shadow:0 -5px 25px #17221515;padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px}.mobile-cta a{font-size:11px;text-align:center;padding:10px;flex:1}.mobile-cta a:first-child{background:var(--ink);color:var(--cream)}.mobile-cta a:last-child{border:1px solid var(--line)}.service-hero{height:790px;min-height:100svh}.service-hero-content{padding:120px 24px 70px}.breadcrumb{font-size:8px;margin-bottom:40px}.service-hero-content>.eyebrow{font-size:8px}.service-hero-content h1{font-size:55px;margin:28px 0}.service-hero-content p{font-size:13px;max-width:340px}.service-body{display:block}.service-intro h2{font-size:43px}.service-list{margin-top:40px}.service-image{height:350px;margin:0 24px}.faq{display:block}.faq h2{font-size:43px;margin-bottom:35px}.faq summary{font-size:13px}.other-services{padding-top:0}.other-services a{font-size:24px}.contact-page{display:block;padding-top:125px}.contact-page h1{font-size:58px}.contact-head>p{font-size:13px}.contact-photo{height:200px}.contact-page form{margin-top:40px;padding:25px 20px}.form-row{display:block}.contact-phone{font-size:26px}dialog{padding:35px 25px}.js-motion .reveal{transform:translateY(22px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-image,.parallax-media,.hero-content{transform:none!important}.word-reveal span{opacity:1!important}.js-motion .reveal{opacity:1;transform:none}.material-story{height:auto;min-height:0}.material-sticky{position:relative}.reading-progress{display:none}}
body:has(.mobile-menu:not([hidden])) .header{background:var(--cream);color:var(--ink)}
@media(max-width:760px){.hero-foot{bottom:96px}.material-sticky{top:86px;height:calc(100svh - 86px);min-height:620px;padding:28px 24px 76px}.tile-stage{min-height:240px}.tile-note{bottom:28px}.tile-chapter{bottom:0}}
@media(max-width:760px){.service-hero-content h1{font-size:46px}}
@media(max-width:760px){.material-story{scroll-margin-top:86px}}
/* V3 — photographie, contraste et matière */
:root{--cream:#fbfaf7;--ink:#192f37;--muted:#536269;--rust:#ad4727;--gold:#ddae70;--line:#192f3726;--soft:#f0f3f1}body{background:var(--cream);font-family:'DM Sans',sans-serif;font-size:15px}h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:650;letter-spacing:-.055em}h1{font-size:clamp(52px,6.2vw,102px);line-height:1.05}h2{font-size:clamp(36px,3.6vw,61px);line-height:1.1}h3{font-size:27px}em{font-family:inherit;font-style:normal;font-weight:inherit;color:var(--rust);letter-spacing:inherit}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em}.section{padding:100px var(--pad)}.button{border-radius:5px;min-height:54px;font-weight:600;font-size:12px;box-shadow:none}.primary{background:var(--rust);color:white}.primary:hover{background:#93391d}.outline-light{border:1px solid #ffffff90;color:white;background:#192f3722}.outline-light:hover{background:#ffffff20}.text-link{font-size:12px;font-weight:600;gap:20px}.fineprint{font-size:10px;line-height:1.6;color:#65747a}.stars{color:#f5b400;letter-spacing:.03em}.header{height:105px;padding-top:12px;padding-bottom:12px}.header.scrolled{background:#fbfaf7f5;height:87px}.logo{padding:6px 10px}.logo img{width:160px}.header-call{gap:12px;font-size:14px;font-weight:650}.header-call>span:last-child{font-size:14px;line-height:1.5}.header-call small{display:block;font-size:8px;letter-spacing:.1em;font-weight:500}.header-call .call-icon{font-size:26px;font-weight:400}.desktop-nav{gap:22px;font-size:11px}.hero{height:max(730px,100svh);min-height:730px}.hero-content{top:29%}.hero h1{font-size:clamp(58px,7.2vw,122px);letter-spacing:-.06em;line-height:1.02;font-weight:600}.hero h1 em{color:#ffcf9b}.hero-content>.eyebrow{margin-bottom:24px;font-size:9px;font-weight:600}.hero-content .tiny-dot{background:#ffc480;width:6px;height:6px}.hero-shade{background:linear-gradient(90deg,rgba(7,24,32,.84) 0%,rgba(7,24,32,.56) 43%,rgba(7,24,32,.08) 85%),linear-gradient(0deg,#071820bb,transparent 42%,#07182022)}.hero-bottom{display:block;margin-top:25px}.hero-bottom p{font-size:14px;line-height:1.75;max-width:520px}.hero-buttons{display:flex;gap:14px;margin-top:27px}.hero-foot{bottom:25px;padding-top:20px;gap:25px;font-size:10px;justify-content:flex-start}.hero-foot>a:first-child{display:flex;align-items:center;gap:13px;font-size:10px}.google-g{width:28px;height:28px;flex-shrink:0}.hero-foot .google-g{background:white;padding:5px;border-radius:50%;width:35px;height:35px}.hero-foot>a:nth-child(2){display:flex;flex-direction:column;border-left:1px solid #ffffff40;padding-left:28px;gap:1px}.hero-foot>a:nth-child(2)>strong{font-size:19px;line-height:1.3}.hero-foot>a:nth-child(2)>span{font-size:9px}.hero-foot>span{font-size:8px;opacity:.8;margin-left:auto}.hero-foot .scroll-down{display:grid;place-items:center;border:1px solid #ffffff60;width:42px;height:42px;border-radius:50%;font-size:21px}.trust-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px var(--pad);border-bottom:1px solid var(--line);font-size:11px;font-weight:600}.trust-strip i{font-style:normal;color:var(--rust);font-size:19px}.trust-strip>a{color:var(--rust)}.intro-v3{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.intro-photo{position:relative;height:510px;overflow:hidden;border-radius:6px}.intro-photo img{width:100%;height:100%;object-fit:cover}.intro-photo>span{position:absolute;left:24px;bottom:24px;background:var(--ink);color:white;padding:12px 17px;font-size:9px;letter-spacing:.12em}.intro-copy h2{margin:22px 0 28px}.intro-copy p{font-size:14px;margin:17px 0}.intro-copy .text-link{margin-top:13px}.services{background:var(--soft)}.section-heading{display:flex;justify-content:space-between;gap:8vw;align-items:flex-end;margin-bottom:45px}.section-heading>div:first-child{flex:1}.section-heading h2{margin-top:20px}.section-heading>p,.section-heading>div:last-child:not(:first-child){max-width:350px;font-size:13px}.section-heading>div:last-child .text-link{margin-top:20px}.visual-services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.visual-service{position:relative;min-height:480px;border-radius:7px;overflow:hidden;color:white;transform-style:preserve-3d;transition:box-shadow .5s,transform .5s}.visual-service>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform 1s,filter .6s}.service-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,22,30,.96),rgba(5,22,30,.74) 43%,rgba(5,22,30,.08) 100%)}.visual-service:hover>img,.visual-service:focus-visible>img{transform:scale(1.07)}.visual-service:hover{box-shadow:0 20px 40px #102a382a;transform:translateY(-7px)}.visual-service-top{position:absolute;top:25px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;font-size:11px}.visual-service-top .round-arrow{position:static;width:40px;height:40px;background:#ffffffee;color:var(--ink)}.visual-service-copy{position:absolute;bottom:28px;left:28px;right:28px}.visual-service-copy>.eyebrow{font-size:8px;color:#ffd1a5}.visual-service-copy h3{font-size:30px;line-height:1.15;margin:15px 0;font-weight:600}.visual-service-copy p{color:#e5ecee;font-size:12px;line-height:1.65;min-height:60px}.card-link{margin-top:23px;padding-top:15px;border-top:1px solid #ffffff50;display:flex;justify-content:space-between;font-size:11px}.comparison{aspect-ratio:16/8.6;position:relative;overflow:hidden;border-radius:8px;isolation:isolate;box-shadow:0 15px 40px #18303b12}.comparison>img,.before-layer,.before-layer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.before-layer{clip-path:inset(0 calc(100% - var(--split)) 0 0);z-index:1}.compare-label{position:absolute;top:22px;z-index:3;background:#102832d9;backdrop-filter:blur(8px);padding:8px 14px;color:white;font-size:10px;letter-spacing:.1em;border-radius:3px}.label-before{left:22px}.label-after{right:22px}.compare-divider{position:absolute;left:var(--split);top:0;bottom:0;width:2px;background:white;z-index:2;pointer-events:none}.compare-divider>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:50px;width:50px;display:grid;place-items:center;border-radius:50%;background:white;color:var(--ink);font-size:25px;box-shadow:0 0 25px #0004}.comparison>input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:ew-resize;z-index:4}.comparison:focus-within{outline:3px solid var(--rust);outline-offset:5px}.comparison-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:22px}.comparison-bottom p{font-size:10px;max-width:520px}.comparison-bottom .text-link{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.cleaning-3d{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;background:#eef2ef;align-items:center}.cleaning-copy h2{margin:22px 0}.cleaning-copy>p{max-width:425px;font-size:14px}.clean-control{margin:28px 0 25px;max-width:420px}.clean-control label{display:flex;justify-content:space-between;font-size:11px;font-weight:600;margin:0}.clean-control label strong{color:var(--rust)}input[type=range]{accent-color:var(--rust)}.clean-control input{padding:0;margin:20px 0 12px;border:0;cursor:pointer;height:5px;width:100%}.clean-control>div{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.cleaning-copy .fineprint{font-size:10px;margin-top:20px}.treatment-stage{height:510px;position:relative;border:1px solid #d3dcd5;background:radial-gradient(ellipse at 50% 40%,#fff9ef,#e0e9e3);border-radius:12px;overflow:hidden}.treatment-stage>canvas{width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab}.stage-annotation{position:absolute;top:22px;left:25px;font-size:9px;letter-spacing:.1em;z-index:1}.rotate-scene{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);border:1px solid #243f4930;padding:8px 20px;border-radius:30px;font-size:10px;background:#ffffffc9;z-index:2}.scene-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hydro{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.hydro-visual{position:relative;min-height:640px;height:100%;border-radius:8px;overflow:hidden}.hydro-visual>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:48% center}.hydro-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071f2ed9,transparent 65%)}.hydro-image-caption{position:absolute;bottom:35px;left:30px;right:30px;color:white;z-index:1}.hydro-image-caption>span{font-size:9px;letter-spacing:.15em}.hydro-image-caption strong{display:block;font-family:Manrope,sans-serif;font-size:37px;letter-spacing:-.05em;line-height:1.2;margin-top:14px}.hydro-copy h2{font-size:42px;margin:22px 0}.hydro-copy>p{font-size:13px}.hydro-switch{display:flex;gap:5px;background:#e9efee;padding:5px;border-radius:6px;margin:24px 0 0}.hydro-switch button{flex:1;padding:10px 15px;font-size:11px;border-radius:4px}.hydro-switch button[aria-pressed=true]{background:var(--ink);color:white}.hydro-stage{position:relative;height:235px;background:#f0f3ef;border-radius:0 0 8px 8px;overflow:hidden}.hydro-stage>canvas{display:block;width:100%;height:100%}.hydro-copy .hydro-status{padding:13px 16px;background:#e9efee;border-radius:5px;margin:15px 0;font-size:11px;color:var(--ink);min-height:60px}.hydro-copy .fineprint{font-size:9px}.hydro-copy .text-link{font-size:11px;margin-top:22px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-item{position:relative;overflow:hidden;border-radius:6px;padding:0;background:var(--ink);height:340px;text-align:left}.gallery-item>img{width:100%;height:100%;object-fit:cover;transition:transform .8s,opacity .6s}.gallery-item:hover>img{transform:scale(1.055);opacity:.9}.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:35px 23px 23px;background:linear-gradient(0deg,#071f2bf2,transparent);color:white}.gallery-caption small{font-size:9px;display:block;opacity:.9;margin-bottom:4px}.gallery-caption strong{font-size:14px;font-weight:500}.gallery-zoom{position:absolute;top:15px;right:15px;color:white;background:#102a39aa;backdrop-filter:blur(7px);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:20px}.gallery-preview{background:white}.gallery-filters{display:flex;gap:8px;flex-wrap:wrap;margin:32px 0}.gallery-filters button{border:1px solid var(--line);border-radius:30px;padding:8px 18px;font-size:11px}.gallery-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.gallery-page .gallery-item:nth-child(3n+2){height:400px}.gallery-source{margin-top:28px}.gallery-hero{height:640px;min-height:640px}#lightbox{padding:40px 25px 20px;background:#102631;color:white;max-width:1050px;border-radius:10px;max-height:94svh;width:95%;overflow:auto}#lightbox::backdrop{background:#06121ced;backdrop-filter:blur(12px)}#lightbox-photo{max-height:72svh;width:auto;max-width:100%;margin:auto;object-fit:contain}#lightbox-caption{font-size:14px;color:white;margin-top:15px}#lightbox>span{font-size:10px;color:#b8c7cb}.lightbox-close{position:absolute;top:3px;right:12px;font-size:30px;color:white}.zone{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;background:var(--ink);color:white;align-items:center}.zone-copy h2{margin:22px 0;color:white}.zone-copy h2 em{color:#f5b77e}.zone-copy>p{font-size:13px;color:#dce5e8;max-width:500px}.zone-cities{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.zone-cities>span{border:1px solid #ffffff35;padding:7px 12px;font-size:10px;border-radius:25px;color:#e8eef0}.zone-copy .fineprint{font-size:9px;color:#a9bcc3}.zone-panel{background:#ffffff09;border:1px solid #ffffff25;border-radius:12px;padding:28px}.zone-marker{display:flex;align-items:center;justify-content:center;gap:17px;padding:0 0 22px;border-bottom:1px solid #ffffff25}.zone-marker>span{font-size:59px;line-height:1.2;font-weight:650;letter-spacing:-.06em}.zone-marker small{max-width:70px;font-size:9px;line-height:1.6;letter-spacing:.1em;color:#ccd9de}#postcode-form{padding:0;background:none;margin:25px 0 0}#postcode-form>label{font-size:12px;color:white;margin:0 0 10px}.postcode-row{display:flex;gap:8px}.postcode-row>input{padding:13px 15px;border:1px solid #ffffff40;border-radius:5px;color:white;margin:0;min-width:0;font-size:17px;letter-spacing:.08em;background:#ffffff08}.postcode-row>input::placeholder{color:#b5c5cc}.postcode-row>.button{width:auto;margin:0;flex-shrink:0;background:var(--rust);font-size:11px;gap:20px;padding:12px 17px;color:white}.postcode-row input:focus-visible{outline-color:#ffcf9b}#commune-choice label{font-size:10px;color:white;margin-top:18px}#commune-select{background:#f8faf9;border:0;border-radius:4px;padding:10px;font-size:12px;color:var(--ink)}#zone-result{font-size:12px;line-height:1.7;color:#deecf0;margin-top:18px}#zone-result strong{display:block;font-size:17px;color:#fff;margin-bottom:4px}#zone-result[data-state=in]{border-left:3px solid #9bd3ac;padding-left:15px}#zone-result[data-state=out],#zone-result[data-state=boundary]{border-left:3px solid #ffc190;padding-left:15px}#zone-result[data-state=error]{color:#ffd2b3}#zone-contact{color:#ffcea6;margin-top:15px;font-size:11px}.google-section{background:linear-gradient(125deg,#f7f9fb,#eef3f7);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;overflow:hidden}.google-copy{max-width:450px}.google-copy h2{margin:24px 0}.google-copy>p{font-size:14px}.google-rating{display:flex;align-items:center;gap:22px;margin:30px 0}.google-rating>.google-g{height:57px;width:57px}.google-rating>div{display:grid;grid-template-columns:auto auto;gap:2px 15px;align-items:center}.google-rating strong{font-size:52px;letter-spacing:-.07em;line-height:1.1;font-weight:650}.google-rating strong>span{font-size:17px;letter-spacing:0;margin-left:5px}.google-rating .stars{font-size:17px}.google-rating small{grid-column:1/-1;font-size:11px;color:#5f6873}.google-copy>.fineprint{font-size:9px;margin-top:20px;max-width:345px}.phone-wrap{position:relative;display:flex;flex-direction:column;align-items:center;perspective:1400px}.phone{position:relative;width:330px;height:646px;border:8px solid #1c2229;border-radius:46px;background:#fff;box-shadow:3px 3px 0 1px #656a71,0 28px 60px #17303a36;transform:rotateY(-8deg) rotateZ(3deg);transition:transform .8s;overflow:hidden}.phone-wrap:hover .phone{transform:rotateY(0) rotateZ(0)}.phone-camera{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:86px;height:24px;border-radius:18px;background:#15191e;z-index:5}.phone-top{display:flex;justify-content:space-between;align-items:center;padding:16px 24px 14px;color:#1f1f1f;font-size:10px}.phone-top>span{font-size:9px}.phone-screen{padding:13px 19px 25px;color:#202124;font-family:Arial,sans-serif}.phone-google-brand{display:flex;justify-content:center;gap:8px;align-items:center;font-size:17px;color:#5f6368;border-bottom:1px solid #e8eaed;padding-bottom:13px}.phone-google-brand>.google-g{width:23px;height:23px}.phone-company{text-align:center;padding:14px 0}.phone-company>img{width:90px;height:auto;margin:auto}.phone-company h3{font-family:Arial,sans-serif;font-size:17px;letter-spacing:0;font-weight:500;line-height:1.25;margin:8px 0 5px;color:#202124}.phone-company>span{font-size:10px;color:#70757a}.phone-company>p{font-size:13px;color:#5f6368;margin-top:8px}.phone-company>p>.stars{font-size:12px}.phone-tabs{display:flex;justify-content:space-around;border-bottom:1px solid #dadce0;margin:0 -19px;padding:0 14px;font-size:11px;color:#5f6368}.phone-tabs>*{padding:10px 8px;display:block}.phone-tabs strong{color:#1967d2;font-weight:500;border-bottom:3px solid #1967d2}.phone-reviews{padding-top:20px;min-height:200px}.phone-review{animation:phonein .55s ease both}.phone-author{display:flex;align-items:center;gap:10px}.phone-author .avatar{background:#5f6d7b;color:white;width:32px;height:32px;font-size:11px}.phone-author>div{min-width:0}.phone-author strong{font-size:11px;color:#202124;font-weight:500}.phone-author>div>span{display:block;font-size:9px;color:#70757a;margin-top:3px}.phone-author>.review-dots{margin-left:auto;color:#5f6368;font-size:20px}.review-date{display:flex;gap:8px;align-items:center;margin-top:13px}.review-date .stars{font-size:12px}.review-date small{font-size:8px;color:#70757a}.phone-review blockquote{font-family:Arial,sans-serif;font-size:15px;color:#3c4043;line-height:1.5;margin:17px 0 15px;min-height:49px}.phone-review>a{font-size:10px;color:#1967d2}.phone-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e8eaed;padding-top:13px;color:#5f6368}.phone-bottom>span{font-size:9px;letter-spacing:.09em}.phone-review-controls{display:flex;gap:6px}.phone-review-controls button{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #dadce0;font-size:14px}.phone-review-controls button:hover{background:#e8f0fe;color:#1967d2}.phone-home{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);height:4px;width:95px;background:#1f1f1f;border-radius:10px}.phone-note{font-size:8px;color:#74828d;max-width:260px;text-align:center;margin-top:27px}.phone-shadow{position:absolute;bottom:20px;left:15%;right:15%;height:25px;border-radius:50%;filter:blur(15px);background:#30465324}@keyframes phonein{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.project-cta{height:540px}.project-cta:after{background:linear-gradient(90deg,#071a27eb,#071a27a3 50%,#071a2720)}.cta-content{top:24%;max-width:950px}.cta-content h2{font-size:clamp(43px,4.8vw,80px);line-height:1.1;margin:20px 0 22px}.cta-content h2 em{color:#ffce9e}.cta-content p{color:#e4ebee;font-size:13px}.cta-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:27px}.footer{background:#10242d;padding:0 var(--pad) 28px;color:#e5ecef}.footer-band{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:33px 0;border-bottom:1px solid #ffffff25}.footer-band>span{font-size:25px;letter-spacing:-.035em;font-weight:500}.footer-band>a{font-size:10px;display:flex;flex-direction:column}.footer-band strong{font-size:23px;letter-spacing:-.02em;font-weight:500}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1fr;gap:45px;padding:45px 0}.footer-grid h3{font-size:13px;font-weight:600;color:white;letter-spacing:0;margin:8px 0 23px}.footer-grid p,.footer-grid a{font-size:11px;line-height:1.8;color:#becbd1}.footer-grid p{margin:18px 0}.footer-grid>div:not(:first-child)>a{display:block;margin-bottom:13px}.footer-brand .logo{display:inline-block;background:white}.footer-brand .logo img{width:145px}.footer-brand .footer-google{display:flex;align-items:center;gap:12px;margin-top:20px}.footer-google .google-g{width:26px;height:26px;background:white;padding:4px;border-radius:50%}.footer-google>span{line-height:1.5;font-size:10px}.footer-email{overflow-wrap:anywhere}.footer-bottom{border-top:1px solid #ffffff25;padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:9px;color:#bac8cf}.footer-bottom button{font-size:9px;padding:0;color:#bac8cf}.footer .fineprint{color:#9fb1bb;font-size:8px;margin-top:19px}.service-hero{height:760px;min-height:760px}.service-hero-content{padding-top:165px;max-width:1150px}.service-hero-content h1{font-size:clamp(48px,5.5vw,90px);line-height:1.08;margin:22px 0 26px}.service-hero-content h1 em{color:#ffd0a2}.service-hero-content>p{max-width:560px;font-size:14px}.service-hero-content .breadcrumb{font-size:10px;margin-bottom:35px}.service-hero-content>.eyebrow{font-size:9px}.service-body{gap:8vw}.service-body h2{font-size:47px}.service-list h3{font-size:24px}.service-intro .text-link{margin-top:25px}.editorial-block{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding-top:55px;padding-bottom:55px}.editorial-block.reverse>.editorial-photo{order:2}.editorial-photo{position:relative;height:420px;border-radius:7px;overflow:hidden}.editorial-photo img{width:100%;height:100%;object-fit:cover}.editorial-photo>span{position:absolute;bottom:14px;left:15px;background:#102a36c9;padding:5px 10px;border-radius:2px;color:white;font-size:8px}.editorial-copy h2{font-size:35px;line-height:1.18;margin:21px 0 23px}.editorial-copy p{font-size:14px;line-height:1.85}.project-steps{background:var(--soft);margin-top:50px}.project-steps h2{margin-top:25px}.process-grid h3{font-size:23px}.process-grid article{border-color:#192f3730}.faq h2{font-size:43px}.faq summary{font-size:14px;font-weight:500}.faq p a{text-decoration:underline}.contact-page h1{font-size:64px}.contact-page>form{background:#edf2ef;border:1px solid #d8e1db;border-radius:8px}.contact-page .contact-photo{border-radius:6px}.contact-page .contact-photo img{object-position:center 45%}body:has(.contact-page) .header{background:white}.contact-page .contact-phone{font-family:Manrope,sans-serif;font-weight:650;font-size:26px}.contact-page input,.contact-page select,.contact-page textarea{border-bottom-color:#93a59e}dialog h3{font-size:23px;margin-top:25px}#legal{border-radius:8px;background:white}#legal h2{font-size:36px}#legal p{color:#435761}.mobile-cta a{font-weight:600}
@media(min-width:1450px){.visual-service{min-height:540px}.service-hero-content{max-width:1400px}}@media(max-width:1100px){.desktop-nav{gap:13px}.header{gap:18px}.header-call>span:last-child{font-size:12px}.logo img{width:140px}.intro-v3{gap:50px}.visual-services{gap:16px}.visual-service-copy{left:22px;right:22px}.visual-service-copy h3{font-size:25px}.cleaning-3d{gap:35px}.hydro{gap:40px}.hydro-copy h2{font-size:35px}.footer-grid{gap:25px;grid-template-columns:1fr 1fr}.phone{transform:rotateZ(2deg)}.section-heading{gap:35px}.hero-foot>span{display:none}.gallery-item{height:290px}.gallery-page .gallery-item:nth-child(3n+2){height:340px}}
@media(max-width:760px){.section{padding:65px 24px}.header,.header.scrolled{height:87px;padding:12px 20px}.logo img{width:121px}.header-call .call-icon{display:none}.header-call>span:last-child{font-size:11px}.header-call small{font-size:6px;letter-spacing:.04em}.hero{height:max(760px,100svh);min-height:760px}.hero-content{top:25%;left:24px;right:24px}.hero-content>.eyebrow{font-size:7px;line-height:1.7;max-width:270px;gap:9px}.hero h1{font-size:clamp(42px,10.8vw,65px);line-height:1.12}.hero h1 em{color:#ffd3aa}.hero-bottom{margin-top:24px}.hero-bottom p{font-size:12px;max-width:290px}.hero-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:22px}.hero-bottom .button{margin:0;min-height:48px;font-size:11px}.hero-foot{bottom:88px;gap:18px;align-items:center;left:24px;right:24px}.hero-foot>a:first-child{font-size:8px;gap:9px}.hero-foot .google-g{width:27px;height:27px}.hero-foot .stars{font-size:9px;display:inline;margin:0}.hero-foot>a:nth-child(2){padding-left:17px}.hero-foot>a:nth-child(2)>strong{font-size:17px}.hero-foot>a:nth-child(2)>span{font-size:7px;max-width:110px}.hero-foot .scroll-down{display:none}.trust-strip{flex-wrap:wrap;justify-content:center;gap:12px;padding:20px 24px;font-size:9px}.trust-strip i{font-size:11px}.trust-strip>a{flex-basis:100%;text-align:center;margin-top:3px}.trust-strip i:nth-of-type(3){display:none}.intro-v3{display:flex;flex-direction:column;gap:33px}.intro-photo{height:320px;width:100%}.intro-copy h2{font-size:37px}.intro-copy p{font-size:13px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:37px;margin-top:18px}.section-heading>p,.section-heading>div:last-child:not(:first-child){margin-top:20px;max-width:none;font-size:12px}.visual-services{display:block}.visual-service{display:block;min-height:445px;margin-bottom:22px}.visual-service:last-child{margin:0}.visual-service-copy h3{font-size:31px}.visual-service-copy p{font-size:12px;min-height:0}.visual-service-copy{bottom:25px;left:25px;right:25px}.visual-service-top{top:24px;left:25px;right:25px}.comparison{aspect-ratio:4/3;border-radius:5px}.compare-label{top:13px;font-size:8px;padding:6px 10px}.label-before{left:13px}.label-after{right:13px}.compare-divider>span{width:39px;height:39px;font-size:20px}.comparison-bottom{display:block;margin-top:17px}.comparison-bottom p{font-size:9px}.comparison-bottom .text-link{margin-top:16px;font-size:11px}.cleaning-3d{display:flex;flex-direction:column;gap:28px;align-items:stretch}.cleaning-copy h2{font-size:37px}.cleaning-copy>p{font-size:13px}.clean-control{margin:24px 0}.cleaning-copy .fineprint{font-size:9px}.treatment-stage{height:360px}.stage-annotation{font-size:8px;left:20px;top:18px}.hydro{display:flex;flex-direction:column;align-items:stretch;gap:32px}.hydro-visual{height:310px;min-height:310px}.hydro-image-caption{bottom:25px;left:24px}.hydro-image-caption strong{font-size:30px}.hydro-copy h2{font-size:36px}.hydro-copy>p{font-size:12px}.hydro-stage{height:240px}.hydro-switch button{font-size:10px;padding:10px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-item{height:260px;border-radius:5px}.gallery-item:first-child{grid-column:1/-1;height:320px}.gallery-caption{padding:30px 14px 15px}.gallery-caption strong{font-size:11px;line-height:1.35;display:block}.gallery-caption small{font-size:8px}.gallery-zoom{height:29px;width:29px;top:11px;right:11px;font-size:17px}.gallery-page .gallery-item:nth-child(3n+2){height:260px}.gallery-page .gallery-item:first-child{height:320px}.gallery-filters{gap:6px;margin-top:26px}.gallery-filters button{padding:7px 12px;font-size:10px}.gallery-source{font-size:9px}.zone{display:block}.zone-copy h2{font-size:36px}.zone-copy>p{font-size:12px}.zone-cities{gap:6px;margin:20px 0}.zone-cities>span{font-size:9px;padding:6px 9px}.zone-panel{margin-top:32px;padding:23px}.zone-marker>span{font-size:48px}.zone-marker small{font-size:8px}.postcode-row{gap:7px}.postcode-row>input{padding:12px;width:0;flex:1;font-size:16px}.postcode-row>.button{font-size:10px;gap:12px;padding:12px}.postcode-row>.button span{font-size:18px}.google-section{display:flex;flex-direction:column;align-items:stretch;gap:45px}.google-copy h2{font-size:37px}.google-copy>p{font-size:12px}.google-rating{margin:25px 0}.google-rating strong{font-size:45px}.google-rating .stars{font-size:15px}.phone{width:310px;height:632px;transform:rotateZ(1.5deg);border-width:7px;border-radius:42px}.phone-wrap{align-self:center;width:100%;max-width:345px}.phone-screen{padding:13px 17px 25px}.phone-tabs{margin:0 -17px}.phone-note{font-size:8px;max-width:270px}.project-cta{height:590px}.cta-content{top:19%;left:24px;right:24px}.cta-content h2{font-size:39px;line-height:1.13}.cta-content p{font-size:12px;max-width:290px}.cta-actions{gap:11px;flex-direction:column;align-items:flex-start}.cta-actions>.button{min-height:48px;font-size:11px}.cta-content .eyebrow{font-size:8px}.footer{padding:0 24px 100px}.footer-band{display:block;padding:28px 0}.footer-band>span{font-size:20px}.footer-band>a{margin-top:18px;font-size:9px}.footer-band strong{font-size:25px;margin-top:5px}.footer-grid{grid-template-columns:1fr 1fr;gap:23px;padding:33px 0}.footer-brand{grid-column:1/-1}.footer-grid h3{font-size:11px;margin-bottom:20px}.footer-grid p,.footer-grid a{font-size:10px}.footer-grid>div:nth-child(3){grid-column:1/-1;grid-row:3}.footer-grid>div:nth-child(4){grid-column:2;grid-row:2}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:13px;font-size:8px}.footer-bottom>span:first-child{grid-column:1/-1}.footer-bottom button{font-size:8px;text-align:left}.footer .fineprint{font-size:8px}.service-hero{height:780px;min-height:780px}.service-hero-content{padding:130px 24px 70px}.service-hero-content h1{font-size:40px;line-height:1.13;margin:25px 0}.service-hero-content>.eyebrow{font-size:8px}.service-hero-content .breadcrumb{font-size:8px;margin-bottom:25px}.service-hero-content>p{font-size:12px;max-width:335px}.service-hero-content .cta-actions{margin-top:25px}.service-body h2{font-size:36px}.service-list h3{font-size:22px}.editorial-block{display:flex;flex-direction:column;gap:26px;padding-top:35px;padding-bottom:35px;align-items:stretch}.editorial-block.reverse>.editorial-photo{order:0}.editorial-photo{height:290px}.editorial-copy h2{font-size:29px;margin:18px 0}.editorial-copy p{font-size:13px;line-height:1.8}.project-steps{margin-top:25px}.project-steps h2{font-size:36px}.project-steps .process-grid{margin-top:32px}.process-grid h3{font-size:23px}.faq h2{font-size:36px}.faq summary{font-size:12px}.contact-page{padding-top:130px}.contact-page h1{font-size:44px}.contact-page form{margin-top:30px}.gallery-hero{height:700px;min-height:700px}#legal h2{font-size:29px}.mobile-cta a{font-size:10px}.scene-fallback{object-position:center}}
@media(max-width:360px){.phone{width:280px;height:635px}.phone-wrap{max-width:290px}.hero h1{font-size:38px}.header .logo img{width:100px}.header-call>span:last-child{font-size:10px}.hero-content>.eyebrow{font-size:6px}.hero-foot>a:nth-child(2)>span{font-size:6px}.gallery-grid{grid-template-columns:1fr}.gallery-item,.gallery-page .gallery-item:nth-child(n){height:280px;grid-column:auto}}
@media(prefers-reduced-motion:reduce){.phone{transform:none}.visual-service:hover{transform:none}}
body:has(.contact-hero) .header:not(.scrolled){background:transparent;color:white;border-color:#ffffff30}.contact-page{padding-top:85px}.contact-page h2{font-size:51px;margin:25px 0}.contact-hero{height:680px;min-height:680px}.contact-hero~.contact-page .contact-head{align-self:start}
@media(max-width:760px){.contact-page{padding-top:65px}.contact-page h2{font-size:37px}.contact-hero{height:730px;min-height:730px}}
.hero-foot>a:first-child>span{font-size:11px;letter-spacing:0}.hero-foot>a:first-child>span .stars{font-size:13px}
@media(max-width:760px){.hero-foot>a:first-child>span{font-size:9px;line-height:1.5}.hero-foot>a:first-child>span .stars{font-size:11px}.hero-foot>a:first-child{flex-shrink:0}}
