:root{--ink:#101820;--ink-soft:#3d4a56;--orange:#eb881f;--orange-dark:#a75100;--paper:#fff;--wash:#f1f5f8;--line:#d5dde3;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font:16px/1.55 Arial,Helvetica,sans-serif}a{color:inherit}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.skip-link{background:var(--ink);color:#fff;z-index:10;padding:.7rem 1rem;position:absolute;top:0;left:-999px}.skip-link:focus{top:.75rem;left:.75rem}.wrap{width:min(calc(100% - 2.5rem),var(--max));margin-inline:auto}.eyebrow{color:var(--orange-dark);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;display:flex}.eyebrow:before{content:"";background:var(--orange);width:28px;height:3px}.section{padding:5.5rem 0}.section-muted{background:var(--wash)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:0}h1{max-width:820px;margin:.65rem 0 1rem;font-size:clamp(2.35rem,5vw,4.85rem);line-height:1.02}h2{max-width:760px;margin:.55rem 0 1rem;font-size:clamp(1.9rem,3.5vw,3rem);line-height:1.12}h3{font-size:1.2rem;line-height:1.25}.lead{max-width:690px;color:var(--ink-soft);font-size:1.14rem}.header{z-index:5;border-bottom:1px solid var(--line);background:#fffffff7;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:78px;display:flex}.brand{align-items:center;gap:.7rem;text-decoration:none;display:flex}.brand-mark{flex:none;width:45px;height:45px}.logo-name{font-size:1.12rem;font-weight:800;line-height:1;display:block}.logo-sub{color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase;margin-top:.2rem;font-size:.63rem;font-weight:700;display:block}.nav{align-items:center;gap:1.35rem;display:flex}.nav a{color:var(--ink-soft);font-size:.9rem;font-weight:700;text-decoration:none}.nav a:hover,.nav a:focus-visible,.nav a[aria-current=page]{color:var(--orange-dark)}.phone-link{background:var(--ink);color:#fff;align-items:center;padding:.65rem .9rem;font-size:.88rem;font-weight:700;text-decoration:none;display:inline-flex}.menu-button{border:1px solid var(--line);color:var(--ink);background:#fff;padding:.52rem .7rem;font-size:1.1rem;display:none}.page-hero{background:var(--wash);border-bottom:1px solid var(--line);padding:5.5rem 0 4.5rem}.page-hero-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:3.5rem;display:grid}.page-hero-image{background:#dbe3e5;height:340px;overflow:hidden}.page-hero-image img{object-fit:cover;width:100%;height:100%}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;text-align:center;cursor:pointer;justify-content:center;align-items:center;min-height:48px;padding:.72rem 1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.button:hover,.button:focus-visible{background:#27333c}.button-secondary{border-color:var(--line);color:var(--ink);background:#fff}.button-secondary:hover,.button-secondary:focus-visible{background:var(--wash)}.button-row{flex-wrap:wrap;gap:.75rem;margin-top:1.8rem;display:flex}.split{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.card-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.card{background:#fff;min-height:220px;padding:1.5rem}.card p{color:var(--ink-soft);margin-bottom:0;font-size:.92rem}.card-number{color:var(--orange-dark);margin-bottom:2.4rem;font-size:.78rem;font-weight:700;display:block}.timeline{border-top:1px solid var(--line);gap:0;display:grid}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:160px 1fr;gap:2rem;padding:1.4rem 0;display:grid}.timeline-item strong{color:var(--orange-dark);text-transform:uppercase;font-size:.82rem}.timeline-item p{color:var(--ink-soft);margin:0}.project-grid{grid-template-columns:repeat(3,1fr);gap:1.2rem;display:grid}.project{border:1px solid var(--line);background:#fff}.project-media{background:#dbe3e5;height:230px;overflow:hidden}.project-media img{object-fit:cover;width:100%;height:100%}.project:nth-child(2) img{object-position:70% 48%}.project:nth-child(3) img{object-position:24% 48%}.project-copy{padding:1.25rem}.project-meta{color:var(--orange-dark);text-transform:uppercase;margin-bottom:.45rem;font-size:.75rem;font-weight:700}.project-copy p:last-child{color:var(--ink-soft);margin-bottom:0;font-size:.9rem}.filters{flex-wrap:wrap;gap:.5rem;margin:2rem 0;display:flex}.filter{border:1px solid var(--line);color:var(--ink-soft);background:#fff;padding:.45rem .75rem;font-size:.83rem;font-weight:700}.filter[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}.quote-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}blockquote{background:#fff;flex-direction:column;justify-content:space-between;min-height:245px;margin:0;padding:1.5rem;display:flex}blockquote p{font-size:1.05rem}blockquote footer{color:var(--ink-soft);font-size:.84rem}.rating{color:var(--orange-dark);letter-spacing:.08em;font-size:1rem}.faq{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:1rem 0}summary{cursor:pointer;font-weight:700}details p{max-width:760px;color:var(--ink-soft);margin:.7rem 0 0}.contact{grid-template-columns:.82fr 1.18fr;align-items:start;gap:3rem;display:grid}.contact-details{background:var(--ink);color:#fff;padding:2rem}.contact-details h2{color:#fff}.contact-details p{color:#d4dce1}.detail-list{gap:1rem;margin-top:1.8rem;display:grid}.detail-list a{color:#fff;font-size:1.1rem;font-weight:700;text-decoration:none}.detail-list small{color:#c0cbd3;letter-spacing:.07em;text-transform:uppercase;font-size:.74rem;font-weight:700;display:block}.form-panel{border:1px solid var(--line);background:#fff;padding:2rem}.form-panel h2{font-size:1.75rem}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.field{gap:.36rem;display:grid}.field-full{grid-column:1/-1}label{letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:700}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #b8c4cc;border-radius:0;padding:.76rem .8rem}input:focus,select:focus,textarea:focus{border-color:var(--orange-dark);outline:3px solid #ffd4a8}textarea{resize:vertical;min-height:130px}.form-note{color:var(--ink-soft);margin:.9rem 0 0;font-size:.8rem}.form-status{color:#176437;min-height:1.4rem;margin:.8rem 0 0;font-weight:700}.footer{border-top:1px solid var(--line);background:var(--wash);padding:2.4rem 0}.footer-inner{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:1rem;font-size:.82rem;display:flex}.footer-nav{flex-wrap:wrap;gap:1rem;display:flex}.footer-nav a{color:var(--ink-soft)}@media (width<=900px){.nav{border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:.6rem 1.25rem 1rem;display:none;position:absolute;top:78px;left:0;right:0}.nav.open{display:flex}.nav a{padding:.75rem 0}.menu-button{display:block}.phone-link{display:none}.page-hero-grid,.split,.contact{grid-template-columns:1fr;gap:2rem}.card-grid,.project-grid,.quote-grid{grid-template-columns:1fr}.page-hero-image{aspect-ratio:16/10;height:auto}.timeline-item{grid-template-columns:1fr;gap:.3rem}}@media (width<=560px){.wrap{width:min(calc(100% - 1.5rem),var(--max))}.header-inner{min-height:68px}.nav{padding-inline:.75rem;top:68px}.brand-mark{width:40px;height:40px}.section{padding:3.75rem 0}.page-hero{padding:3.6rem 0}.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.form-panel,.contact-details{padding:1.35rem}.footer-inner{flex-direction:column;align-items:flex-start}}.brand{width:168px;text-decoration:none;display:block}.brand-logo{width:100%;height:auto;display:block}@media (width<=560px){.brand{width:138px}}.intro-splash{z-index:100;background:#fff;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.intro-splash[hidden]{display:none}.intro-stage{text-align:center;width:min(100%,760px)}.intro-theme-button{z-index:1;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.intro-meta,.intro-description{opacity:0}.intro-meta{color:#101820;letter-spacing:.1em;text-transform:uppercase;margin-top:.5rem;font-size:.84rem;font-weight:800}.intro-description{color:#3d4a56;font-size:.92rem}.intro-progress{background:#dce4e8;width:190px;height:4px;margin:1.65rem auto 0;overflow:hidden}.intro-progress-fill{transform-origin:0;background:#eb881f;width:100%;height:100%;transition:transform 4.2s linear;transform:scaleX(0)}.intro-status{color:#3d4a56;letter-spacing:.12em;text-transform:uppercase;margin-top:.45rem;font-size:.62rem;font-weight:700;transition:opacity .2s;display:block}.intro-coming-soon{color:#101820;letter-spacing:.12em;text-transform:uppercase;opacity:0;margin:1.3rem 0 0;font-size:.9rem;font-weight:800;transition:opacity .25s,transform .25s;transform:translateY(8px)}.intro-splash.is-ready .intro-status{opacity:0}.intro-splash.is-ready .intro-coming-soon{opacity:1;transform:translateY(0)}.intro-splash.is-playing .intro-meta{animation:.8s ease-out 2.8s forwards intro-rise}.intro-splash.is-playing .intro-description{animation:.8s ease-out 3.2s forwards intro-rise}@keyframes intro-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.intro-splash.is-ready .intro-meta,.intro-splash.is-ready .intro-description{opacity:1}}@media (width<=560px){.intro-theme-button{bottom:1rem}}.intro-logo{aspect-ratio:1504/453;width:100%;height:auto;display:block;overflow:visible}.intro-logo-frame{fill:none;stroke:#101820;stroke-linecap:butt;stroke-linejoin:miter;stroke-width:34px}.intro-logo-roof{fill:#101820;clip-path:inset(0 100% 0 0)}.intro-logo-frame{stroke-dasharray:1850;stroke-dashoffset:1850px}.intro-logo-chimney{fill:#101820;opacity:0}.intro-logo-word{opacity:0;transform-box:fill-box;transform-origin:0}.intro-logo-profil,.intro-logo-mont{transform:translate(-20px)}.intro-splash.is-playing .intro-logo-roof{animation:1.35s cubic-bezier(.45,0,.15,1) .25s forwards intro-reveal-roof}.intro-splash.is-playing .intro-logo-chimney{animation:.3s ease-out 1s forwards intro-chimney-in}.intro-splash.is-playing .intro-logo-frame{animation:.95s cubic-bezier(.45,0,.15,1) 1.15s forwards intro-draw-frame}.intro-splash.is-playing .intro-logo-profil{animation:.55s cubic-bezier(.16,1,.3,1) 1.45s forwards intro-word-in}.intro-splash.is-playing .intro-logo-mont{animation:.55s cubic-bezier(.16,1,.3,1) 1.72s forwards intro-word-in}@keyframes intro-reveal-roof{to{clip-path:inset(0)}}@keyframes intro-draw-frame{to{stroke-dashoffset:0}}@keyframes intro-chimney-in{to{opacity:1}}@keyframes intro-word-in{to{opacity:1;transform:translate(0)}}.calculator-hero{background:linear-gradient(135deg,#f1f5f8 0%,#fff 68%)}.calculator-coming{border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:2rem;padding:2rem 0;display:flex}.calculator-coming h2{max-width:620px;font-size:clamp(1.65rem,3vw,2.35rem)}.calculator-coming p{max-width:650px;color:var(--ink-soft);margin:0}.calculator-section{padding-top:4rem}.calculator-layout{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:start;gap:3rem;display:grid}.calculator-form{border-top:3px solid var(--orange);padding-top:1.45rem}.calculator-form-heading h2{font-size:clamp(1.65rem,3vw,2.3rem)}.calculator-fields,.calculator-dynamic-options{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.calculator-fields{margin-top:2rem}.calculator-dynamic-options{grid-column:1/-1}.calculator-option-spacer{display:block}.calculator-toggle{border-top:1px solid var(--line);color:var(--ink);letter-spacing:0;text-transform:none;align-items:center;gap:.7rem;padding-top:1.25rem;font-size:.94rem;display:flex}.calculator-toggle input{width:1.1rem;height:1.1rem;accent-color:var(--orange-dark)}.calculator-result{border:1px solid var(--ink);background:var(--ink);color:#fff;padding:1.6rem;position:sticky;top:104px}.calculator-result .eyebrow{color:#ffd09f}.calculator-result-label{color:#d4dce1;letter-spacing:.06em;text-transform:uppercase;margin:2rem 0 .35rem;font-size:.82rem;font-weight:700}.calculator-total{font-size:clamp(1.9rem,3.6vw,3.2rem);font-weight:800;line-height:1.05;display:block}.calculator-vat{color:#d4dce1;margin:.65rem 0 1.8rem;font-size:.87rem}.calculator-breakdown{border-top:1px solid #52616d;gap:.75rem;margin:0;padding-top:1rem;display:grid}.calculator-breakdown div{justify-content:space-between;gap:1rem;display:flex}.calculator-breakdown dt{color:#d4dce1;font-size:.84rem}.calculator-breakdown dd{text-align:right;margin:0;font-size:.87rem;font-weight:700}.calculator-disclaimer{color:#d4dce1;border-top:1px solid #52616d;margin:1.6rem 0 0;padding-top:1rem;font-size:.78rem}@media (width<=900px){.calculator-layout{grid-template-columns:1fr;gap:2.5rem}.calculator-result{position:static}.calculator-coming{flex-direction:column;align-items:flex-start}}@media (width<=560px){.calculator-fields,.calculator-dynamic-options{grid-template-columns:1fr}.calculator-option-spacer{display:none}.calculator-toggle{grid-column:auto}.calculator-result{padding:1.25rem}}html[data-theme=dark]{color-scheme:dark;--ink:#edf3f6;--ink-soft:#b8c5cd;--orange:#f29b3c;--orange-dark:#ffd09f;--paper:#141c21;--wash:#1d282f;--line:#3d4d56}html[data-theme=dark] .brand-logo{filter:brightness(0)invert()}html[data-theme=dark] .phone-link,html[data-theme=dark] .button{color:#101820;background:#edf3f6;border-color:#edf3f6}html[data-theme=dark] .button:hover,html[data-theme=dark] .button:focus-visible{background:#cbd8de}html[data-theme=dark] .button-secondary,html[data-theme=dark] .menu-button,html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{color:var(--ink);background:#1d282f;border-color:#52636d}html[data-theme=dark] .card,html[data-theme=dark] .project,html[data-theme=dark] blockquote,html[data-theme=dark] .form-panel,html[data-theme=dark] .testimonial-slide{background:#1d282f}html[data-theme=dark] .testimonial-controls button{color:var(--ink);border-color:var(--line);background:#1d282f}html[data-theme=dark] .testimonial-controls button:hover,html[data-theme=dark] .testimonial-controls button:focus-visible{color:#101820;background:#edf3f6}html[data-theme=dark] .calculator-result{background:#0d1418;border-color:#52636d}html[data-theme=dark] .intro-meta{color:#edf3f6}html[data-theme=dark] .intro-logo-frame,html[data-theme=dark] .intro-logo-roof,html[data-theme=dark] .intro-logo-chimney{stroke:#edf3f6;fill:#edf3f6}.theme-button{border:1px solid var(--line);background:var(--paper);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:50%;flex:none;place-items:center;font-size:1.1rem;line-height:1;display:grid}.theme-button:hover,.theme-button:focus-visible{border-color:var(--ink);background:var(--wash)}html[data-theme=dark]{--paper:#090e11;--wash:#11191e;--line:#2d3b43;--ink-soft:#aebdc5}html[data-theme=dark] .header{background:#090e11f7}html[data-theme=dark] .button-secondary,html[data-theme=dark] .menu-button,html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea,html[data-theme=dark] .testimonial-controls button,html[data-theme=dark] .card,html[data-theme=dark] .project,html[data-theme=dark] blockquote,html[data-theme=dark] .form-panel,html[data-theme=dark] .testimonial-slide{background:#11191e}html[data-theme=dark] .page-hero-image,html[data-theme=dark] .project-media,html[data-theme=dark] .service-feature-media{background:#1b272e}html[data-theme=dark] .calculator-hero{background:linear-gradient(135deg,#11191e 0%,#090e11 68%)}html[data-theme=dark] .calculator-result{background:#05090b}html[data-theme=dark] .button-secondary:hover,html[data-theme=dark] .button-secondary:focus-visible{background:#1b272e}html[data-theme=dark] .intro-splash{background:#050a0c}html[data-theme=dark] .intro-meta,html[data-theme=dark] .intro-coming-soon{color:#edf3f6}html[data-theme=dark] .intro-description,html[data-theme=dark] .intro-status{color:#b8c5cd}html[data-theme=dark] .intro-progress{background:#2d3b43}html[data-theme=dark] .intro-logo-frame{stroke:#edf3f6;fill:none}html[data-theme=dark] .intro-logo-roof,html[data-theme=dark] .intro-logo-chimney{fill:#edf3f6}html[data-theme=dark] .intro-logo-word image{filter:brightness(0)invert()}.intro-splash[data-intro-mode=coming-soon].is-ready .intro-status{opacity:0}.intro-enter{color:#fff;letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;background:#101820;border:1px solid #101820;min-width:110px;margin-top:1.3rem;padding:.65rem 1rem;font:700 .9rem Arial,Helvetica,sans-serif;transition:opacity .25s,transform .25s;transform:translateY(8px)}.intro-splash.is-ready .intro-enter{opacity:1;pointer-events:auto;transform:translateY(0)}html[data-theme=dark] .intro-enter{color:#101820;background:#edf3f6;border-color:#edf3f6}
