/*
Theme Name: Bellabox — WD Couverture
Author: Bellabox
Description: Site WD Couverture, Saint-Baldoph et Savoie. 27 pages, toiture 3D, carte animée et demandes de devis.
Version: 1.0.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: bellabox-wd
*/
:root{--ink:#102a43;--deep:#091c30;--blue:#185582;--accent:#73bde2;--pale:#e9f1f7;--paper:#f5f7f9;--line:#d5e0e8;--muted:#526b80;--pad:clamp(24px,5.5vw,96px);--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}img{display:block;max-width:100%}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;line-height:1.12;letter-spacing:-.05em}h1{font-size:clamp(50px,6.5vw,100px);font-weight:650}h2{font-size:clamp(38px,4.1vw,66px);font-weight:600}h3{font-size:25px;font-weight:650}h2 em,h1 em{font-style:normal;font-weight:400;color:#6287a3}p{color:var(--muted)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #39a3dc;outline-offset:5px}::selection{background:#73bde2;color:#091c30}[hidden]{display:none!important}.wrap{max-width:1600px;padding-left:var(--pad);padding-right:var(--pad);margin:auto}.section{padding-top:112px;padding-bottom:112px}.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.15em;line-height:1.6;text-transform:uppercase;margin-bottom:24px;color:#447396}.caption{font-size:12px;line-height:1.7;color:#637e92}.skip{position:fixed;top:-100px;left:20px;background:white;padding:15px;z-index:500}.skip:focus{top:10px}.topline{height:34px;background:var(--ink);color:#b9ccd9;padding:0 34px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.11em}.topline a{letter-spacing:.03em;color:#fff}.header{width:calc(100% - 64px);height:96px;max-width:1600px;margin:16px auto -112px;padding:0 26px;background:rgba(250,253,255,.97);backdrop-filter:blur(18px);display:flex;align-items:center;gap:24px;position:sticky;top:16px;z-index:60;border:1px solid #ffffff70;box-shadow:0 8px 35px #00132612;border-radius:7px;transition:height .3s,box-shadow .3s}.header.scrolled{height:80px;box-shadow:0 6px 35px #091c3025}.brand{width:184px;flex-shrink:0;line-height:1}.brand img{width:100%;height:48px;object-fit:contain}.brand>span{display:block;font-size:8px;letter-spacing:.2em;margin:2px 0 0 62px}.header nav{display:flex;align-items:center;gap:25px;margin-left:auto}.header nav a,.header nav button{font-size:12px;font-weight:600;white-space:nowrap;padding:16px 0;position:relative}.header nav a:after{content:'';position:absolute;bottom:7px;left:0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav a:hover:after{transform:scaleX(1)}#services-toggle span{padding-left:10px}.header-phone{font-weight:700;font-size:13px;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:56px;padding:15px 25px;font-size:13px;font-weight:650;border-radius:3px;line-height:1.4;transition:background .3s,transform .3s,box-shadow .3s;border:1px solid transparent;cursor:pointer}.btn span{font-size:25px;line-height:1;transition:transform .35s}.btn:hover span{transform:translate(3px,-3px)}.btn:hover{box-shadow:0 9px 24px #091c301a}.btn.primary{color:#fff;background:var(--blue)}.btn.primary:hover{background:#0a385e}.btn.outline{color:white;border-color:#ffffff65;background:#fff1}.btn.outline:hover{background:#fff2}.btn.text{padding:16px 0;border-bottom:1px solid #91aabd;border-radius:0;box-shadow:none;background:none;color:var(--ink)}.header>.btn{font-size:11px;min-height:48px;gap:18px;padding:12px 17px}.header .menu-toggle{display:none}.mega{position:absolute;top:calc(100% + 10px);left:0;right:0;background:#f8fbfd;border-radius:6px;border:1px solid #d8e4ec;box-shadow:0 25px 60px #06152633;display:grid;grid-template-columns:260px 1fr;max-height:calc(100svh - 140px);overflow:auto}.mega-intro{padding:36px;background:#e8f1f7;display:flex;flex-direction:column;align-items:flex-start}.mega-intro h2{font-size:33px;margin-bottom:20px}.mega-intro>a:not(.btn){font-size:12px;margin-top:12px}.mega-columns{padding:36px 32px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.mega-columns .eyebrow{font-size:9px;letter-spacing:.08em;margin-bottom:16px}.mega-columns a{font-size:12px;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);transition:color .2s}.mega-columns a:hover{color:#218bc0}.mega-columns a span{opacity:.5}.reading-progress{height:2px;position:fixed;top:0;left:0;right:0;z-index:80;pointer-events:none}.reading-progress i{display:block;height:100%;background:#7cc8ee;transform:scaleX(0);transform-origin:left}.hero{position:relative;min-height:820px;height:calc(100svh - 34px);max-height:1100px;isolation:isolate;background:#142e40;color:#fff;overflow:hidden;padding-top:220px;padding-bottom:160px}.hero-photo,.hero-photo img,.hero-grid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero-photo img{object-position:50% 45%;transform:scale(1.04)}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,21,36,.9),rgba(6,22,37,.52) 50%,rgba(9,28,48,.02) 85%),linear-gradient(0deg,#061929dd,transparent 40%)}.hero-grid{z-index:-1;background-image:linear-gradient(90deg,transparent calc(100% - 1px),#ffffff10 1px);background-size:25% 100%;pointer-events:none}.hero-content{width:100%}.hero-eyebrow{font-size:11px;letter-spacing:.19em;display:flex;align-items:center;gap:12px;margin-bottom:30px;color:#c6dce9}.pulse{width:7px;height:7px;border-radius:50%;background:#a1ddff;box-shadow:0 0 0 6px #a1ddff15}.hero h1{font-size:clamp(62px,6.4vw,105px);line-height:1.05;letter-spacing:-.065em;max-width:1000px;font-weight:600}.hero h1 em{color:#c2dbe9}.hero-content>p{font-size:17px;line-height:1.65;color:#e0eaf0;margin:30px 0 32px}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero .btn.primary,.cta .btn.primary{background:#eaf3f8;color:#12365d}.hero .btn.primary:hover,.cta .btn.primary:hover{background:#a6d7f1}.hero-discover{position:absolute;bottom:42px;left:var(--pad);display:flex;align-items:center;gap:20px;font-size:9px;letter-spacing:.15em}.hero-discover>span{border:1px solid #ffffff65;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:22px}.hero-discover small{display:block;letter-spacing:0;font-size:12px;color:#a6bbcb;margin-top:5px}.hero-review{position:absolute;bottom:40px;right:var(--pad);padding:17px 22px;display:flex;align-items:center;gap:17px;background:#f5f9fc;color:var(--ink);border-radius:4px;box-shadow:0 12px 35px #00122220}.google-g{font-size:30px;font-weight:800;color:#4285f4}.hero-review strong{font-size:15px}.hero-review .stars{font-size:12px;margin-left:8px}.hero-review small{display:block;font-size:10px;color:#567086;margin-top:2px}.hero-side{position:absolute;right:var(--pad);top:210px;display:flex;flex-direction:column;align-items:center;gap:15px;color:#e4eff4}.hero-side>span:first-child{writing-mode:vertical-rl;font-size:10px;letter-spacing:.1em}.hero-side strong{font-family:Manrope;font-size:60px;line-height:1;font-weight:300}.hero-side>span:last-child{font-size:10px;letter-spacing:.2em}.trust-strip{background:#e7eff5;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:28px var(--pad);gap:20px;text-align:center;font-size:12px;font-weight:500}.trust-strip span+span{border-left:1px solid #b9cddc}.intro{display:grid;grid-template-columns:1fr 3fr;gap:70px;align-items:start}.large-outline{font-family:Manrope;font-size:160px;line-height:1;font-weight:700;-webkit-text-stroke:1px #aabfce;color:transparent}.intro-copy>p{font-size:20px;max-width:860px;line-height:1.7;margin-top:35px}.intro-bottom{display:flex;gap:55px;align-items:flex-end;margin-top:30px}.intro-bottom p{font-size:15px;max-width:450px}.intro-bottom .btn{white-space:nowrap}.section-head{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end;margin-bottom:50px}.section-head>div:last-child{max-width:420px;justify-self:end}.section-head p{font-size:16px}.section-head .btn{margin-top:10px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{height:410px;position:relative;overflow:hidden;background:#0b2940;color:white;isolation:isolate;border-radius:4px;display:flex;flex-direction:column;justify-content:space-between;padding:27px}.service-card>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;z-index:-2;transition:transform .9s var(--ease)}.service-card:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#091c3080,transparent 35%,#051626ed);z-index:-1;transition:background .4s}.service-card:hover>img{transform:scale(1.08)}.card-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.card-index{border:1px solid #ffffff6b;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;margin-top:-4px}.card-bottom{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-top:auto;transform:translateY(20px);transition:transform .4s}.card-bottom h3{font-size:26px;max-width:250px}.round-arrow{flex-shrink:0;border:1px solid #ffffff75;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:23px;transition:background .3s,color .3s}.service-card>p{font-size:12px;color:#c6dcea;opacity:0;transform:translateY(15px);transition:.4s}.service-card:hover .card-bottom{transform:translateY(-9px)}.service-card:hover>p{opacity:1;transform:none}.service-card:hover .round-arrow{background:#eef7ff;color:#12365d}.roof-story{height:255svh;min-height:1850px;background:var(--deep);color:#f1f6fa;position:relative}.roof-sticky{height:100svh;min-height:760px;position:sticky;top:0;overflow:hidden;padding-top:130px;background:radial-gradient(ellipse at 30% 65%,#173b59 0%,transparent 55%),linear-gradient(120deg,#10283f,#071828)}.roof-sticky:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#87c8ee09 1px,transparent 1px),linear-gradient(90deg,#87c8ee09 1px,transparent 1px);background-size:72px 72px;pointer-events:none}.story-head{position:relative}.story-head h2{font-size:clamp(34px,3.5vw,52px)}.story-head h2 em{color:#89bddb}.story-head .eyebrow{color:#8aafc7;margin-bottom:15px}.story-head>p{position:absolute;right:var(--pad);bottom:8px;font-size:13px;color:#8eabc0}.roof-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:20px;align-items:center}.roof-view{position:relative;height:480px;min-width:0}.roof-view canvas{width:100%;height:100%;display:block;touch-action:pan-y}.technical-label{position:absolute;left:0;top:24px;font-size:9px;letter-spacing:.15em;color:#6c91ac}.roof-controls{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.roof-controls button,.tile-controls button{font-size:11px;border:1px solid #809eb043;padding:10px 13px;border-radius:3px;color:#b0c7d8;background:#09203877;transition:background .25s}.roof-controls button.active,.roof-controls button:hover{background:#e6f0f6;color:#12365d}.roof-view>.caption{display:block;text-align:center;margin-top:5px;color:#84a2b7;font-size:10px}.three-fallback{position:absolute;inset:12% 10%;width:80%;height:70%;object-fit:cover;border-radius:8px;pointer-events:none}.webgl-ready+.three-fallback{display:none}.roof-info{padding:25px 20px 25px 35px;position:relative;max-width:440px}.roof-info>#roof-number{font-size:13px;color:#79bbdf;letter-spacing:.15em}.roof-info h3{font-size:34px;line-height:1.16;margin:24px 0}.roof-info p{color:#a3bed0;font-size:15px}.text-link{font-size:13px;display:inline-block;padding:15px 0;border-bottom:1px solid #9fb6c5;font-weight:600}.roof-info .text-link{color:#cde8f7;margin-top:20px}.story-progress{height:2px;background:#b6d7ec20;margin:34px 0 16px}.story-progress i{display:block;background:#8dd8ff;height:100%;transform-origin:left;transform:scaleX(0)}.roof-info>.eyebrow{font-size:9px;color:#7299b4}.before-section{background:#e8f0f6}.comparison{position:relative;width:100%;height:640px;overflow:hidden;border-radius:5px;background:#17374b}.comparison>img,.compare-before,.compare-before img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%;max-width:none}.compare-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.comparison input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:5}.compare-line{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:white;pointer-events:none}.compare-line i{font-style:normal;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;background:#fff;color:#12365d;font-size:27px;display:grid;place-items:center;box-shadow:0 5px 24px #07182830}.before-label,.after-label{position:absolute;top:24px;padding:8px 20px;background:#061b31ab;color:#fff;font-size:12px;border:1px solid #ffffff50;border-radius:3px}.before-label{left:25px}.after-label{right:25px}.comparison:focus-within{outline:3px solid #218bc0;outline-offset:4px}.comparison-caption{display:flex;justify-content:space-between;gap:25px;font-size:11px;color:#607d92;margin-top:16px}.comparison-caption strong{font-weight:600;color:#213e55}.tile-section{background:#102e4b;color:white;padding:105px 0;overflow:hidden}.tile-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.tile-copy .eyebrow{color:#8cc4e4}.tile-copy h2 em{color:#9cc8e2}.tile-copy p{color:#b8ccd9;margin:30px 0 12px;max-width:490px}.tile-copy .text-link{color:#def0fc}.tile-copy .caption{font-size:12px;max-width:420px;color:#8fabbe}.tile-experience{height:580px;position:relative;background:radial-gradient(ellipse at 50% 35%,#284e69,#0d2a4500 70%);padding:0 15px}.tile-experience canvas{width:100%;height:390px;display:block;touch-action:pan-y}.tile-experience .three-fallback{height:330px}.tile-status{text-align:center;position:relative}.tile-status .eyebrow{font-size:8px;letter-spacing:.18em;margin-bottom:9px;color:#8cb5cf}.tile-status h3{font-size:23px}.tile-status p{font-size:12px;color:#9bb7ca;margin-top:9px}.tile-controls{display:flex;justify-content:center;gap:8px;position:relative;margin:24px 0 10px}.tile-controls button.active,.tile-controls button:hover{background:#c9e7f7;color:#12365d}.tile-experience>.caption{display:block;text-align:center;color:#789cb6;font-size:10px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}.gallery-item{padding:0;text-align:left;position:relative;overflow:hidden;border-radius:3px;isolation:isolate;background:#dce7ef;height:430px}.gallery-item:nth-child(3n+2){margin-top:45px}.gallery-item img{height:100%;width:100%;object-fit:cover;transition:transform .7s var(--ease)}.gallery-item>span{position:absolute;left:0;right:0;bottom:0;color:#fff;padding:50px 25px 25px;background:linear-gradient(transparent,#071828dd);display:grid;grid-template-columns:1fr 30px;gap:7px}.gallery-item small{font-size:9px;text-transform:uppercase;letter-spacing:.12em;grid-column:1/-1;color:#c5e0ee}.gallery-item strong{font-size:15px;font-weight:500;line-height:1.45}.gallery-item i{font-size:23px;font-style:normal;align-self:end}.gallery-item:hover img{transform:scale(1.07)}.gallery-tools{margin-bottom:45px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{border:1px solid #bfd2df;padding:11px 19px;font-size:12px;border-radius:30px;transition:.2s}.filters button.active,.filters button:hover{color:#fff;background:var(--ink);border-color:var(--ink)}#lightbox{position:fixed;width:96vw;height:94svh;max-width:1400px;max-height:none;padding:35px 35px 65px;border:0;background:#071929;overflow:hidden;color:white;border-radius:7px}#lightbox::backdrop{background:#020d18e8;backdrop-filter:blur(5px)}#lightbox img{height:100%;width:100%;object-fit:contain}#lightbox p{position:absolute;bottom:20px;left:30px;right:30px;text-align:center;color:#d7e8f2;font-size:13px}.close-lightbox{position:absolute;right:15px;top:10px;font-size:34px;background:#12304a;color:white;width:44px;height:44px;border-radius:50%;z-index:3}.review-section{background:#e9f0f5;overflow:hidden}.review-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}.review-copy>p{margin-top:30px;max-width:490px}.review-copy>.caption{font-size:11px;max-width:410px}.rating-large{display:flex;gap:30px;align-items:center;margin:32px 0 17px}.rating-large>strong{font-family:Manrope;font-size:83px;letter-spacing:-.06em;line-height:1.1;font-weight:650}.rating-large>strong>span{font-size:23px;font-weight:400;color:#68869b;letter-spacing:0;margin-left:10px}.stars{color:#e3a41a;letter-spacing:2px;font-size:19px}.rating-large p{font-size:12px;margin-top:5px}.phone-stage{position:relative;min-height:640px;display:flex;align-items:center;justify-content:center;perspective:1200px}.phone{width:312px;background:#fff;border:8px solid #1e2e3c;outline:1px solid #7991a2;box-shadow:20px 30px 60px #17374b3b,inset 0 0 0 2px #a4afbb;border-radius:46px;padding:14px 17px 26px;position:relative;transform:rotate(6deg);transition:transform .7s;z-index:2}.phone:hover,.phone:focus-within{transform:rotate(0deg)}.phone-top{display:flex;justify-content:space-between;font-size:10px;font-weight:700;align-items:center;padding:0 6px 19px}.phone-top i{display:block;width:82px;height:21px;border-radius:20px;background:#162632}.google-word{font-family:Arial,sans-serif;text-align:center;font-size:29px;letter-spacing:-1.4px;margin:4px 0 25px}.google-word b{font-weight:500}.google-word b:nth-child(1),.google-word b:nth-child(4){color:#4285f4}.google-word b:nth-child(2),.google-word b:nth-child(6){color:#ea4335}.google-word b:nth-child(3){color:#fbbc05}.google-word b:nth-child(5){color:#34a853}.phone-company img{width:85px;margin-bottom:11px}.phone-company h3{font-family:Arial,sans-serif;font-size:21px;font-weight:500;letter-spacing:-.02em}.phone-company p{font-size:11px;color:#66727d;margin:3px 0 8px}.phone-company>div{font-size:12px}.phone-company .stars{font-size:12px;margin:0 4px}.phone-company small{color:#788792}.phone-tabs{display:flex;justify-content:space-between;font-size:10px;border-bottom:1px solid #e0e5e9;margin:20px -3px 22px;color:#617082}.phone-tabs span{padding:0 3px 10px}.phone-tabs .active{color:#1a73e8;border-bottom:2px solid #1a73e8}.review-card{min-height:170px}.review-user{display:flex;gap:9px;align-items:center}.review-avatar{height:32px;width:32px;background:#577ba0;color:white;display:grid;place-items:center;border-radius:50%;font-size:11px}.review-user strong{font-family:Arial,sans-serif;font-size:12px;display:block;line-height:1.4}.review-user small{font-size:9px;color:#6d7781;display:block}.review-card>.stars{display:block;font-size:12px;margin:12px 0 7px}.review-card p{font-family:Arial,sans-serif;font-size:14px;color:#303b46;line-height:1.5}.review-card em{font-size:9px;color:#718395;display:block;margin-top:9px;font-style:normal}.review-controls{display:flex;justify-content:center;gap:10px;margin:14px 0}.review-controls button{border:1px solid #d0dce6;border-radius:50%;height:30px;width:30px;font-size:12px;color:#335c7d}.phone-link{font-size:9px;color:#1a73e8;display:block;text-align:center}.phone-home{position:absolute;bottom:9px;height:4px;background:#142c40;border-radius:4px;width:90px;left:50%;transform:translateX(-50%)}.orbit{position:absolute;border:1px solid #b1cbdc;border-radius:50%;width:550px;height:550px;transform:rotateX(52deg) rotateZ(-20deg)}.orbit-two{width:680px;height:680px;opacity:.5;transform:rotateX(62deg) rotateZ(38deg)}.floating-review{position:absolute;left:-12px;bottom:80px;transform:rotate(-9deg);z-index:3;background:#fff;box-shadow:0 12px 40px #234c6726;padding:16px 20px;border-radius:5px;color:#d79710;font-size:14px;letter-spacing:2px}.floating-review strong{font-size:10px;letter-spacing:0;color:#264760}.territory{background:#f4f7fa}.territory-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:55px;align-items:center}.map-shell{background:linear-gradient(135deg,#102e49,#071b2e);border-radius:5px;position:relative;padding:20px 22px;overflow:hidden;box-shadow:0 25px 55px #183e5617}.map-top{display:flex;justify-content:space-between;font-size:8px;color:#85aec7;letter-spacing:.12em;position:relative;z-index:2}.map-shell svg{display:block;width:100%;height:auto;overflow:visible}.department{fill:#234f70;stroke:#88b4cb;stroke-width:1.1;stroke-linejoin:round}.department.neighbor{fill:#17334b;stroke:#59778c;stroke-width:.6}.map-radius{fill:#54bbeb16;stroke:#89d8ff;stroke-width:1.2;stroke-dasharray:5 5}.map-label{fill:#8eafc3;font-size:10px;font-family:Manrope;font-weight:600;letter-spacing:2px}.town-dot{fill:#a9e2ff;stroke:#152f45;stroke-width:2}.town-hit{cursor:pointer;outline:none}.town-hit:hover .town-dot,.town-hit[aria-pressed=true] .town-dot{fill:#fff;stroke:#82d3ff;stroke-width:4}.town-hit:focus-visible{filter:drop-shadow(0 0 4px white)}.town-label{fill:#e0f1fc;font-size:9px;font-family:'DM Sans',sans-serif;paint-order:stroke;stroke:#122c44;stroke-width:3px;stroke-linejoin:round}.map-legend{display:flex;gap:22px;font-size:9px;color:#8bb3ca;align-items:center;justify-content:space-between}.map-legend i{width:6px;height:6px;border-radius:50%;background:#b4e3fd;display:inline-block;margin-right:5px}.town-panel h3{font-size:33px;margin-bottom:12px}.town-panel>p{font-size:13px}.town-panel .eyebrow{font-size:9px;margin-bottom:12px}#town-buttons{display:flex;gap:7px;flex-wrap:wrap;margin:26px 0 32px}#town-buttons button{border:1px solid #c0d2de;border-radius:20px;font-size:10px;padding:8px 13px;transition:.2s}#town-buttons button.active,#town-buttons button:hover{background:var(--ink);border-color:var(--ink);color:white}#postcode-form{border-top:1px solid var(--line);padding-top:25px}#postcode-form label{font-size:13px;font-weight:600;display:block;margin-bottom:12px}#postcode-form>div:first-of-type{display:flex;gap:5px}#postcode-form input{min-width:0;flex:1;width:50%;border:1px solid #bfd2df;border-radius:3px;padding:13px;font-size:13px;background:white}#postcode-form button[type=submit]{background:var(--ink);color:#fff;padding:10px 17px;font-size:12px;border-radius:3px}#postcode-result p,#postcode-result{font-size:12px;line-height:1.65;color:#315772}#postcode-result:not(:empty){padding:15px 0}#postcode-result button{font-size:11px;color:#176598;text-align:left;text-decoration:underline;padding:6px 0}.town-panel>.caption{font-size:10px;margin-top:15px}.map-credit{font-size:9px;color:#6e8597;margin-top:25px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-top:1px solid #c2d2df}.process-grid article{padding-top:28px}.process-grid article>span{font-family:Manrope;font-size:42px;color:#9ab5c9;line-height:1}.process-grid h3{font-size:22px;margin:28px 0 17px}.process-grid p{font-size:14px}.cta{position:relative;isolation:isolate;color:white;overflow:hidden;min-height:540px;background:#102c43;padding:100px 0}.cta-photo{position:absolute;inset:0;z-index:-3}.cta-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 55%}.cta:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#06182eee,#0a234bad)}.cta-inner{position:relative;z-index:2}.cta .eyebrow{color:#a8ccdf}.cta h2{font-size:clamp(45px,5vw,77px);letter-spacing:-.06em}.cta h2 em{color:#c4ddec}.cta p{color:#b9cddd;margin:30px 0}.cta-watermark{position:absolute;right:-30px;bottom:-85px;font-family:Manrope;font-weight:800;letter-spacing:-.1em;font-size:440px;color:#b2d6ee0c;line-height:1;pointer-events:none}footer{background:#eef3f7;padding:75px 0 0}.footer-top{display:grid;grid-template-columns:1.2fr 1.1fr 1fr 1fr;gap:50px}.footer-brand img{width:215px;margin-bottom:24px}.footer-brand p{font-family:Manrope;font-size:21px;line-height:1.45;letter-spacing:-.04em;color:#294c68}.footer-brand .eyebrow{font-size:8px;margin-top:24px}.footer-top h3{font-size:13px;letter-spacing:0;margin:12px 0 23px}.footer-top>div>a{display:block;font-size:12px;margin:10px 0}.footer-top .footer-phone{font-size:20px;font-weight:700;margin-top:0}.footer-top p:not(.footer-brand p){font-size:12px;margin-top:24px}.footer-top .btn.text{display:inline-flex;margin:10px 0 0;font-size:12px}.footer-bottom{border-top:1px solid #cfdee8;margin-top:65px;padding-top:22px;padding-bottom:24px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#5f788b}.footer-bottom>div{display:flex;align-items:center;gap:25px}.footer-bottom a:last-child{font-size:20px}.mobile-dock{display:none}.inner-hero{position:relative;isolation:isolate;background:#0c253d;min-height:710px;overflow:hidden;color:#fff;padding:195px 0 95px}.inner-image{position:absolute;inset:0 0 0 37%;z-index:-3}.inner-image img{width:100%;height:100%;object-fit:cover}.inner-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071b30 14%,#0b233beb 35%,#102b4177 70%,#112d4310);z-index:-2}.inner-hero .eyebrow{color:#a6c9df;margin:26px 0 23px}.breadcrumb{font-size:10px;color:#c4d8e4;display:flex;gap:15px}.breadcrumb span{color:#678bA4}.inner-hero h1{max-width:1000px;font-size:clamp(44px,5.2vw,78px);font-weight:550;line-height:1.12}.inner-hero p{max-width:570px;color:#c6d9e6;font-size:16px;line-height:1.7;margin:28px 0}.hero-label{position:absolute;right:25px;bottom:70px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em;color:#cadde9}.service-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:110px}.service-intro h2{font-size:42px}.service-intro p{margin-top:25px;max-width:580px}.service-intro aside{background:#e5eef5;padding:36px;border-top:3px solid #347aa6;border-radius:3px}.service-intro aside .eyebrow{font-size:10px}.service-intro ul{list-style:none;margin:0;padding:0}.service-intro li{padding:15px 0;border-bottom:1px solid #c5d8e6;font-size:14px}.service-intro li:before{content:'↗';margin-right:13px;color:#4184ae}.service-aside-foot{font-size:11px;display:block;margin-top:28px;color:#52768e}.editorial{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center;margin-bottom:95px}.editorial.reverse{grid-template-columns:1fr 1.2fr}.editorial.reverse .editorial-image{order:2}.editorial-image{height:470px;position:relative;overflow:hidden;border-radius:4px}.editorial-image img{width:100%;height:100%;object-fit:cover}.editorial-image>span{position:absolute;bottom:23px;left:25px;background:#f3f8fc;color:#284d69;font-size:10px;letter-spacing:.15em;padding:8px 13px}.editorial-copy{padding:15px 0}.editorial-copy h2{font-size:40px;max-width:500px}.editorial-copy p{margin-top:27px;max-width:520px;line-height:1.85}.faq-section{display:grid;grid-template-columns:1fr 1.25fr;gap:90px}.faq-section h2{font-size:44px}.faq-list{border-top:1px solid #bfcfdb}.faq-list details{border-bottom:1px solid #bfcfdb;padding:22px 0}.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:24px;cursor:pointer;font-size:15px;line-height:1.5;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:23px;line-height:1.2;color:#698aa1;transition:transform .3s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:14px;margin:16px 32px 0 0}.faq-wide{max-width:1150px}.service-group{margin-bottom:100px}.service-group:last-child{margin-bottom:0}.group-title{display:flex;align-items:center;gap:25px;margin-bottom:40px}.group-title>span{font-size:16px;color:#6a8ca5}.group-title h2{font-size:39px}.related{padding-top:50px}.town-editorial{max-width:850px;margin:auto}.town-editorial h2{font-size:43px;margin-bottom:30px}.town-editorial p+p{margin-top:20px}.company-layout{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.company-layout img{height:660px;width:100%;object-fit:cover;border-radius:4px}.company-layout p{margin-top:25px}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.contact-copy>a{display:block;font-size:16px;margin-top:15px}.contact-copy .contact-phone{font-family:Manrope;font-size:34px;font-weight:600;letter-spacing:-.05em;margin-top:35px}.contact-copy address{font-size:14px;color:#688397;font-style:normal;margin:26px 0}.contact-note{padding:25px;background:#e4edf4;max-width:450px;border-left:2px solid #4685ae}.contact-note h3{font-size:17px;letter-spacing:-.02em}.contact-note p{font-size:13px;margin-top:12px}.contact-copy>img{height:240px;width:100%;max-width:450px;object-fit:cover;margin-top:28px;border-radius:3px}#contact-form{background:#fff;border:1px solid #d8e4ec;padding:42px;border-radius:5px;align-self:start;box-shadow:0 20px 55px #12365d08}#contact-form label{display:block;font-size:12px;font-weight:600;margin:0 0 22px}#contact-form input,#contact-form select,#contact-form textarea{display:block;width:100%;border:1px solid #c7d7e3;background:#f7fafc;padding:13px;border-radius:3px;font-size:14px;margin-top:8px;color:#183f5c}#contact-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}#contact-form .caption{font-size:11px;font-weight:400;line-height:1.7}#contact-form .btn{margin-top:22px;width:100%}#contact-form>.caption:last-child{margin-top:20px}#contact-result:not(:empty){padding:20px;background:#edf4f9;margin-top:20px;font-size:13px}.legal{padding-top:200px;max-width:1100px;min-height:75vh}.legal h1{font-size:60px;margin-bottom:55px}.legal h2{font-size:25px;letter-spacing:-.03em;margin:35px 0 15px}.legal p{font-size:15px}.legal a{text-decoration:underline}.motion-ready .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.motion-ready .reveal.visible{opacity:1;transform:none}.motion-ready .phone-stage.reveal{transform:none}.motion-ready .gallery-item.reveal{transition-duration:.6s}.services-grid .reveal:nth-child(3n+2),.process-grid .reveal:nth-child(2){transition-delay:.08s}.services-grid .reveal:nth-child(3n+3),.process-grid .reveal:nth-child(3){transition-delay:.15s}@media(min-width:1600px){.hero-content{max-width:1600px}.hero{padding-top:250px}.roof-view{height:550px}.roof-sticky{padding-top:150px}.roof-grid{margin-top:20px}}@media(max-width:1250px){.header nav{gap:18px}.header-phone{display:none}.header{gap:20px}.brand{width:165px}.mega{grid-template-columns:220px 1fr}.mega-intro{padding:25px}.mega-columns{gap:20px;padding:30px 24px}.hero{min-height:800px}.tile-layout{gap:35px}.review-layout{gap:50px}.territory-layout{gap:32px}.roof-info{padding-left:20px}.roof-view{height:450px}.footer-top{gap:30px}.intro-bottom{gap:30px}.service-intro{gap:60px}.editorial{gap:60px}.contact-layout{gap:50px}.hero h1{font-size:76px}.hero-review{right:var(--pad)}}@media(max-width:1000px){.header{width:calc(100% - 36px);padding:0 20px;height:84px;margin-top:12px;margin-bottom:-96px;gap:18px;top:12px}.header nav{display:none}.header>.btn{margin-left:auto}.header .menu-toggle{display:flex;flex-direction:column;gap:6px;width:32px;height:44px;align-items:center;justify-content:center}.menu-toggle i{width:24px;height:1px;background:var(--ink);transition:.3s}.menu-toggle[aria-expanded=true] i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mega{grid-template-columns:1fr;max-height:calc(100svh - 115px)}.mega-intro{display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;padding:25px}.mega-intro .eyebrow{grid-column:1/-1;margin-bottom:0}.mega-intro h2{grid-row:2/5;font-size:28px;margin:5px 0}.mega-intro .btn{padding:7px 0;margin:0;min-height:35px;font-size:12px}.mega-intro>a:not(.btn){margin:0}.mega-columns{grid-template-columns:repeat(2,1fr);gap:28px 35px}.topline span:nth-child(2){display:none}.hero{padding-top:190px;min-height:790px}.hero h1{font-size:65px}.hero-review{bottom:35px}.hero-discover{bottom:45px}.hero-discover small{display:none}.hero-side{top:190px}.hero-side strong{font-size:48px}.hero-content>p{font-size:16px}.trust-strip{grid-template-columns:repeat(2,1fr);gap:18px}.trust-strip span:nth-child(3){border:0}.section{padding-top:85px;padding-bottom:85px}.intro{grid-template-columns:120px 1fr;gap:40px}.large-outline{font-size:110px}.intro-copy>p{font-size:17px}.intro-bottom{display:block}.intro-bottom .btn{margin-top:20px}.section-head{gap:35px}.services-grid{gap:16px}.service-card{height:350px;padding:22px}.card-bottom h3{font-size:22px}.round-arrow{width:36px;height:36px}.roof-story{min-height:1850px}.roof-sticky{min-height:750px;padding-top:120px}.roof-grid{grid-template-columns:1.5fr 1fr}.roof-view{height:420px}.roof-info h3{font-size:27px}.roof-info p{font-size:13px}.roof-controls{gap:5px}.roof-controls button{font-size:9px;padding:8px}.technical-label{top:15px}.tile-layout{gap:30px}.tile-copy h2{font-size:40px}.tile-experience{height:520px;padding:0}.tile-experience canvas{height:335px}.tile-controls{gap:4px}.tile-controls button{font-size:9px;padding:10px}.gallery-grid{gap:18px}.gallery-item{height:330px}.gallery-item>span{padding:40px 17px 20px}.gallery-item strong{font-size:13px}.review-layout{gap:30px}.phone{width:290px;transform:rotate(4deg)}.floating-review{left:-25px;bottom:30px}.rating-large>strong{font-size:66px}.rating-large{gap:20px}.territory-layout{grid-template-columns:1fr}.map-shell{max-width:900px}.town-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.town-panel>.eyebrow,.town-panel h3,.town-panel>p,#town-buttons{grid-column:1}.town-panel #postcode-form{grid-column:2;grid-row:1/5;padding-top:0;border:0;align-self:center}.town-panel>.caption{grid-column:2;grid-row:5}.town-panel>#town-buttons{margin-bottom:0}.process-grid{gap:22px}.process-grid p{font-size:13px}.footer-top{grid-template-columns:1.1fr 1fr;gap:40px}.footer-bottom{flex-direction:column;gap:12px}.footer-bottom>div{flex-wrap:wrap}.inner-hero{padding-top:175px;min-height:640px}.inner-hero h1{font-size:60px}.inner-hero p{max-width:520px}.service-intro{gap:40px}.service-intro h2{font-size:35px}.editorial{gap:45px}.editorial-copy h2{font-size:33px}.editorial-image{height:400px}.faq-section{gap:45px}.faq-section h2{font-size:36px}.company-layout{gap:50px}.company-layout img{height:570px}.contact-layout{gap:35px}#contact-form{padding:28px}.form-row{grid-template-columns:1fr;gap:0}.comparison{height:580px}}
@media(max-width:700px){:root{--pad:22px}body{font-size:15px}.topline{padding:0 18px;height:29px;font-size:8px;letter-spacing:.08em}.topline a{font-size:9px}.header{height:73px;padding:0 14px;margin:10px auto -83px;width:calc(100% - 28px);top:10px;border-radius:5px;gap:12px}.header.scrolled{height:67px}.brand{width:149px}.brand img{height:40px}.brand>span{font-size:6px;letter-spacing:.13em;margin-left:52px}.header>.btn{min-height:38px;padding:10px 12px;font-size:0;gap:0}.header>.btn:before{content:'Devis';font-size:11px}.header>.btn span{font-size:18px;margin-left:8px}.header .menu-toggle{width:24px}.menu-toggle i{width:21px}.mega{top:calc(100% + 8px);max-height:calc(100svh - 105px)}.mega-intro{padding:25px 20px;gap:10px 20px}.mega-intro h2{font-size:24px}.mega-intro .eyebrow{font-size:8px}.mega-intro>a:not(.btn){font-size:10px}.mega-columns{padding:25px 20px;gap:25px 22px}.mega-columns .eyebrow{font-size:8px;letter-spacing:.04em}.mega-columns a{font-size:11px;line-height:1.5}.hero{height:auto;min-height:790px;max-height:none;padding:164px 0 200px}.hero-photo img{object-position:58% center}.hero:before{background:linear-gradient(90deg,#06182bd9,#071b30a3 55%,#091e3b4d),linear-gradient(0deg,#04182f,transparent 75%)}.hero h1{font-size:clamp(44px,10vw,68px);max-width:560px;letter-spacing:-.06em;line-height:1.12}.hero-eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:22px;gap:11px}.hero-content>p{font-size:14px;line-height:1.85;margin:25px 0}.hero .actions{align-items:stretch;gap:9px;max-width:400px}.hero .btn{font-size:11px;padding:14px 17px;gap:15px;min-height:49px}.hero-side{display:none}.hero-discover{bottom:123px;font-size:8px;gap:12px;left:23px}.hero-discover>span{width:35px;height:35px;font-size:18px}.hero-review{left:22px;right:auto;bottom:31px;padding:12px 18px;gap:15px}.hero-review small{font-size:9px}.hero-review .stars{font-size:10px;letter-spacing:1px}.hero-review strong{font-size:13px}.google-g{font-size:26px}.trust-strip{padding:23px 19px;gap:15px 10px;font-size:10px;line-height:1.6}.trust-strip span{padding:0 5px}.section{padding-top:66px;padding-bottom:66px}.eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:18px}h2{font-size:36px;line-height:1.17;letter-spacing:-.045em}.intro{grid-template-columns:1fr;gap:24px}.intro-label{display:flex;justify-content:space-between;align-items:center}.intro-label .eyebrow{margin:0}.large-outline{font-size:59px}.intro-copy>p{font-size:16px;line-height:1.8;margin-top:25px}.intro-bottom p{font-size:14px}.section-head{grid-template-columns:1fr;gap:22px;margin-bottom:32px}.section-head>div:last-child{justify-self:start;max-width:530px}.section-head p{font-size:14px}.section-head .btn{margin-top:7px}.btn{font-size:12px;min-height:52px;padding:14px 21px}.btn.text{min-height:45px;padding:10px 0;gap:30px}.services-grid{grid-template-columns:1fr 1fr;gap:13px}.service-card{height:310px;padding:18px}.card-top{font-size:8px;letter-spacing:.05em}.card-index{display:none}.card-bottom{gap:10px;transform:none}.card-bottom h3{font-size:22px;line-height:1.2;letter-spacing:-.04em}.round-arrow{position:absolute;right:0;top:-49px;width:32px;height:32px;font-size:18px}.service-card>p{display:none}.service-card:hover .card-bottom{transform:none}.roof-story{height:250svh;min-height:1750px}.roof-sticky{height:100svh;min-height:735px;padding-top:108px}.story-head h2{font-size:34px}.story-head .eyebrow{font-size:8px;margin-bottom:10px}.story-head>p{position:static;font-size:11px;margin-top:11px}.roof-grid{display:flex;flex-direction:column;gap:0;padding:0 15px}.roof-view{height:305px;width:100%}.roof-controls{bottom:0;gap:4px;left:5px;right:5px}.roof-controls button{font-size:8px;padding:8px 9px}.roof-view>.caption{font-size:8px;margin-top:7px}.technical-label{font-size:7px;left:7px;top:10px}.roof-info{padding:28px 9px 15px;width:100%;max-width:550px}.roof-info>#roof-number{font-size:9px}.roof-info h3{font-size:23px;margin:9px 0}.roof-info p{font-size:11px;line-height:1.6;max-width:520px}.roof-info .text-link{font-size:10px;padding:7px 0;margin-top:5px}.story-progress{margin:17px 0 8px}.roof-info>.eyebrow{font-size:7px;margin:0}.comparison{height:540px}.comparison-caption{flex-direction:column;gap:5px;font-size:10px}.compare-line i{width:44px;height:44px;font-size:22px}.before-label,.after-label{top:16px;padding:6px 13px;font-size:10px}.before-label{left:14px}.after-label{right:14px}.tile-section{padding:65px 0}.tile-layout{grid-template-columns:1fr;gap:25px}.tile-copy h2{font-size:36px}.tile-copy p{font-size:14px;margin-top:24px}.tile-copy .caption{font-size:11px}.tile-experience{height:495px}.tile-experience canvas{height:320px}.tile-controls{gap:6px;margin:20px 0 9px}.tile-controls button{padding:9px 11px;font-size:9px}.tile-status h3{font-size:23px}.tile-status p{font-size:11px}.tile-status .eyebrow{font-size:7px}.gallery-grid{grid-template-columns:1fr 1fr;gap:13px}.gallery-item{height:290px}.gallery-item:nth-child(3n+2){margin-top:0}.gallery-item:nth-child(even){margin-top:23px}.gallery-item>span{padding:38px 13px 15px;grid-template-columns:1fr 18px;gap:5px}.gallery-item strong{font-size:11px}.gallery-item small{font-size:7px}.gallery-item i{font-size:20px}.gallery-tools{margin-bottom:27px}.filters{gap:7px}.filters button{font-size:10px;padding:9px 14px}#lightbox{height:92svh;padding:40px 10px 65px}#lightbox p{font-size:11px;bottom:22px}.review-layout{grid-template-columns:1fr;gap:40px}.review-copy>p{font-size:14px;margin-top:24px}.rating-large{margin:25px 0 14px}.rating-large>strong{font-size:70px}.rating-large .stars{font-size:17px}.review-copy>.caption{font-size:10px}.phone-stage{min-height:620px}.phone{width:290px}.floating-review{left:0;bottom:10px;padding:13px 17px;font-size:12px}.floating-review strong{font-size:9px}.orbit{width:380px;height:380px}.orbit-two{width:500px;height:500px}.map-shell{padding:18px 9px}.map-top{font-size:7px;padding:0 8px}.map-legend{font-size:7px;gap:10px;padding:0 8px}.map-shell svg{min-height:285px}.town-panel{display:block}.town-panel h3{font-size:29px}.town-panel>#town-buttons{margin:25px 0}.town-panel #postcode-form{padding-top:25px;border-top:1px solid var(--line)}.territory-layout{gap:35px}.map-credit{font-size:8px;line-height:1.7}.process-grid{grid-template-columns:1fr 1fr;gap:36px 24px}.process-grid article>span{font-size:36px}.process-grid h3{font-size:21px;margin:22px 0 13px}.process-grid p{font-size:12px}.cta{padding:75px 0;min-height:500px}.cta h2{font-size:43px}.cta p{font-size:14px;margin:24px 0}.cta .actions{align-items:stretch;gap:10px}.cta .btn{font-size:11px;gap:14px;padding:13px 18px}.cta-watermark{font-size:260px;bottom:-44px;right:-12px}footer{padding-top:60px;padding-bottom:60px}.footer-top{gap:40px 25px;grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-brand img{width:190px}.footer-brand p{font-size:23px}.footer-brand .eyebrow{margin-bottom:0}.footer-top>div:nth-child(2){grid-column:1/-1}.footer-top h3{margin:0 0 19px}.footer-top>div>a{font-size:12px;margin:9px 0}.footer-top .footer-phone{font-size:24px}.footer-bottom{margin-top:43px;font-size:8px;padding-top:20px;padding-bottom:20px}.footer-bottom>div{gap:12px 20px}.mobile-dock{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:70;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px;background:#eff5f9eb;border-top:1px solid #ccdfe9;backdrop-filter:blur(15px)}.mobile-dock a{flex:1;text-align:center;background:var(--ink);color:#fff;padding:12px 8px;border-radius:3px;font-size:10px;line-height:1.4;font-weight:600}.mobile-dock a+a{background:#d4e9f5;color:#163b59}.inner-hero{padding:150px 0 70px;min-height:660px}.inner-image{left:0;opacity:.55}.inner-image img{object-position:center}.inner-hero:before{background:linear-gradient(90deg,#061b2ce8,#102c4380),linear-gradient(0deg,#071b30bb,transparent)}.inner-hero h1{font-size:clamp(39px,10vw,62px);font-weight:550;line-height:1.16}.inner-hero p{font-size:14px;max-width:450px;margin:24px 0}.inner-hero .eyebrow{font-size:8px;margin:22px 0 20px}.inner-hero .btn{font-size:11px;padding:13px 17px;gap:15px;min-height:48px}.hero-label{display:none}.service-intro{grid-template-columns:1fr;gap:30px}.service-intro h2{font-size:34px}.service-intro p{font-size:14px}.service-intro aside{padding:28px}.editorial,.editorial.reverse{grid-template-columns:1fr;gap:25px;margin-bottom:55px}.editorial.reverse .editorial-image{order:0}.editorial-image{height:380px}.editorial-copy{padding:0}.editorial-copy h2{font-size:33px}.editorial-copy p{font-size:14px;margin-top:20px}.editorial-copy .eyebrow{font-size:8px}.faq-section{grid-template-columns:1fr;gap:32px}.faq-section h2{font-size:35px}.faq-list summary{font-size:14px}.faq-list details p{font-size:13px}.faq-list details{padding:20px 0}.group-title{gap:15px;margin-bottom:28px;align-items:flex-start}.group-title h2{font-size:31px}.group-title>span{font-size:12px;padding-top:7px}.service-group{margin-bottom:60px}.related{padding-top:25px}.town-editorial h2{font-size:34px}.town-editorial p{font-size:14px}.company-layout{grid-template-columns:1fr;gap:32px}.company-layout img{height:430px}.company-layout p{font-size:14px}.contact-layout{grid-template-columns:1fr;gap:40px}.contact-copy .contact-phone{font-size:30px}.contact-copy>a{font-size:14px}.contact-copy address{font-size:13px}#contact-form{padding:28px 22px}.legal{padding-top:160px}.legal h1{font-size:42px;overflow-wrap:anywhere}.legal h2{font-size:24px}.legal p{font-size:13px}body:has(.mega:not([hidden])) .mobile-dock{display:none}}
@media(max-width:380px){.hero h1{font-size:42px}.brand{width:131px}.header{gap:9px;padding:0 11px}.brand>span{margin-left:43px}.hero .btn{padding:12px 14px;font-size:10px;gap:11px}.services-grid{grid-template-columns:1fr}.service-card{height:340px}.card-bottom h3{font-size:29px}.round-arrow{position:static}.hero-review{padding:12px;gap:10px}.hero-review small{font-size:8px}.roof-sticky{min-height:760px}.tile-controls button{font-size:8px;padding:8px 10px}.gallery-item{height:260px}.phone{width:280px}.contact-copy .contact-phone{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.phone{transform:none}.roof-story{height:auto;min-height:0}.roof-sticky{position:relative;height:auto;min-height:760px;padding-bottom:60px}.hero-photo img{transform:none!important}}

.town-label:not(.primary){opacity:0}.town-hit[aria-pressed=true] .town-label,.town-hit:hover .town-label,.town-hit:focus-visible .town-label{opacity:1}

@media(min-width:701px) and (max-height:820px){.roof-sticky{min-height:0;padding-top:112px}.story-head h2{font-size:38px}.story-head .eyebrow{margin-bottom:10px}.roof-view{height:calc(100svh - 290px);min-height:270px}.roof-info h3{font-size:28px;margin:16px 0}.roof-info p{font-size:13px}.roof-info .text-link{margin-top:8px}.story-progress{margin-top:22px}.roof-controls{bottom:18px}.technical-label{top:13px}}
@media(max-width:700px) and (max-height:800px){.roof-sticky{min-height:0;padding-top:95px}.story-head h2{font-size:28px}.story-head .eyebrow{font-size:7px}.story-head>p{font-size:10px;margin-top:6px}.roof-view{height:250px}.roof-info{padding:25px 9px 10px}.roof-info h3{font-size:21px;margin:7px 0}.roof-info p{font-size:10px}.roof-info .text-link{font-size:9px}.story-progress{margin-top:9px}.roof-info>.eyebrow{display:none}}

.mobile-quicklinks{display:none}@media(max-width:1000px){.mobile-quicklinks{display:flex;flex-wrap:wrap;gap:12px 24px;padding:20px 25px 0;font-size:11px;font-weight:650}}

@media(max-width:700px){.roof-sticky{padding-top:100px;min-height:0}.story-head h2{font-size:30px}.roof-view{height:clamp(215px,30svh,260px)}.roof-info{padding-top:23px}.roof-info h3{font-size:22px;margin:8px 0}.roof-info .text-link{margin-top:3px}.story-progress{margin-top:12px}.roof-info>.eyebrow{display:none}}

body.admin-bar .header{top:48px}.bb-status{background:#e5f1f8;color:#183c58;padding:20px;border-left:3px solid #32789c;margin-bottom:24px}.bb-error{background:#fff0de;border-color:#c16c15}.bb-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.bb-404{padding:180px 8vw 100px;min-height:70vh}.bb-404 p{margin:30px 0}@media(max-width:782px){body.admin-bar .header{top:58px}}@media(max-width:600px){#wpadminbar{position:fixed}}
