:root{--ink:#142221;--dark:#101c1c;--muted:#657270;--teal:#49d4c4;--teal-dark:#08786d;--paper:#f4f5f1;--line:#d7ddd8;--white:#fff;--radius:4px;color-scheme:light;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--teal-dark);outline-offset:4px}img{max-width:100%;display:block;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.035em;font-weight:500}h1{font-size:clamp(2.8rem,5.8vw,5.7rem)}h2{font-size:clamp(2.2rem,4.2vw,3.7rem)}h3{font-size:1.65rem}p{line-height:1.65}p+p{margin-top:1em}[hidden]{display:none!important}.container{width:min(1320px,calc(100% - 100px));margin-inline:auto}.section{padding:100px 0}.eyebrow{font-size:.72rem;letter-spacing:.15em;font-weight:700;text-transform:uppercase;margin-bottom:24px;color:var(--teal-dark)}.muted{color:var(--muted);font-size:.9rem}.button-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;border:1px solid var(--teal);background:var(--teal);color:var(--ink);padding:17px 24px;font-size:.9rem;font-weight:600;border-radius:var(--radius);min-height:54px;transition:background .15s}.button:hover{background:#7ae3d5}.button-outline{background:transparent;border-color:var(--line)}.button-outline:hover{background:#e4eee8}.button-small{min-height:40px;padding:10px 16px;font-size:.8rem}.text-link{display:inline-flex;gap:20px;align-items:center;padding:10px 0;border-bottom:1px solid currentColor;font-weight:600;font-size:.9rem}.skip-link{position:absolute;top:-100px;left:20px;background:var(--teal);padding:12px;z-index:100}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:30;background:rgba(244,245,241,.97);border-bottom:1px solid var(--line)}.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{font-size:48px;line-height:1;font-weight:800;letter-spacing:-.12em;color:var(--teal-dark);padding-right:3px}.brand-word{font-size:20px;font-weight:700;letter-spacing:.11em;line-height:1.1}.brand-word>span{display:block;max-width:245px;font-size:9px;font-weight:400;letter-spacing:.005em;margin-top:5px;line-height:1.3}.site-nav{display:flex;align-items:center;gap:23px;font-size:.8rem}.site-nav a:hover,.site-nav a.active{color:var(--teal-dark)}.nav-services{position:relative}.nav-dropdown{border:0;background:none;color:inherit;font:inherit;padding:20px 0}.nav-menu{position:absolute;top:100%;left:-20px;width:285px;padding:12px;background:var(--paper);border:1px solid var(--line);box-shadow:0 15px 30px #11222215}.nav-menu a{display:block;padding:12px}.menu-toggle{display:none;background:none;border:0;gap:12px;font-size:.8rem}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:6%;padding-top:48px;padding-bottom:65px;align-items:center;min-height:740px}.hero-copy{padding-bottom:15px}.hero-tagline{font-weight:600;font-size:1.15rem;margin-top:26px;max-width:440px}.hero-description{max-width:445px;font-size:.92rem;color:var(--muted);margin-top:17px}.hero-photo{height:620px;position:relative;overflow:hidden;background:#b2b3ac}.hero-photo>img{width:100%;height:100%;object-position:center 52%}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 52%,#0a151bdd)}.hero-photo figcaption{position:absolute;z-index:1;bottom:28px;left:28px;right:25px;color:#fff;display:grid;gap:5px;font-size:.8rem}.hero-photo figcaption strong{font-size:1.4rem;font-weight:500;letter-spacing:-.02em}.photo-index{font-size:.64rem;letter-spacing:.16em;color:var(--teal);margin-bottom:8px}.photo-corner{position:absolute;top:20px;right:20px;width:50px;height:50px;border-top:2px solid var(--teal);border-right:2px solid var(--teal)}.hero-credentials{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid var(--line);margin-top:50px;padding-top:22px}.hero-credentials strong{font-size:1.4rem;display:block;font-weight:500}.hero-credentials span{display:block;font-size:.72rem;color:var(--muted);max-width:245px;line-height:1.5;margin-top:5px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:50px}.section-heading>p{max-width:420px;font-size:.95rem;color:var(--muted)}.directions{border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr)}.service-item{position:relative;border:1px solid var(--line);margin-right:-1px;margin-bottom:-1px;padding:30px 28px 60px;min-height:260px}.service-index{font-size:.7rem;color:var(--teal-dark);font-weight:700;display:block;margin-bottom:26px}.service-item h3{max-width:300px;font-size:1.5rem}.service-item p{font-size:.88rem;color:var(--muted);margin-top:16px;max-width:280px}.service-arrow{position:absolute;right:25px;bottom:20px;font-size:1.6rem}.service-item:hover{background:#e9eeea}.pool-feature{background:var(--dark);color:#fff;padding:70px 0}.pool-feature-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:9%;align-items:center}.pool-feature .eyebrow{color:var(--teal)}.pool-feature h2{font-size:clamp(2.5rem,4.9vw,4.2rem)}.pool-feature p:not(.eyebrow){color:#bac6c3;max-width:510px;margin-top:28px;font-size:.95rem}.pool-feature .button{margin-top:35px}.pool-feature-photo{height:430px;overflow:hidden}.pool-feature-photo img{height:100%;width:100%;object-position:center 64%}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:50px}.process-grid article{border-top:1px solid var(--line);padding-top:22px}.process-number{font-size:.8rem;color:var(--teal-dark);display:block;margin-bottom:35px}.process-grid h3{font-size:1.4rem;min-height:2.4em}.process-grid p{font-size:.9rem;color:var(--muted);margin-top:15px}.work-section{background:#e9ede8}.case-study{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.case-hero{height:460px;overflow:hidden}.case-hero img{width:100%;height:460px;object-position:center 58%}.case-copy h3{font-size:2.4rem;max-width:440px;margin-bottom:25px}.case-copy p{font-size:.95rem;color:var(--muted)}.case-boundary{padding-left:17px;border-left:2px solid var(--teal-dark);font-size:.82rem!important;margin-top:22px}.case-copy .text-link{margin-top:25px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}.gallery img{height:320px;width:100%}.gallery figcaption{font-size:.8rem;color:var(--muted);padding-top:12px}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:8%}.contact-grid>div>p:not(.eyebrow){max-width:390px;margin-top:25px}.contact-grid h2{max-width:470px}.phone-link{display:block;font-size:1.5rem;font-weight:500;letter-spacing:-.02em;margin-top:30px}.contact-grid .text-link{display:flex;width:max-content;margin-top:8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid .full{grid-column:1/-1}label{display:grid;gap:7px;font-size:.8rem;font-weight:600}input,select,textarea{border:1px solid #c9d2ca;border-radius:var(--radius);width:100%;min-width:0;padding:12px;background:#fff;color:var(--ink);font-size:.95rem;font-weight:400}input,select{min-height:48px}textarea{resize:vertical;min-height:110px}.file-field{border:1px dashed #9daea1;padding:18px;background:#eef1eb}.file-field input{background:none;border:0;padding:0;font-size:.8rem;min-height:30px}.file-field small{font-size:.7rem;font-weight:400;color:var(--muted)}input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--teal-dark);flex-shrink:0}.consent,.check-label{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:.75rem;margin-top:22px;line-height:1.5}.consent a{text-decoration:underline}.honeypot{position:absolute;left:-10000px;height:0;overflow:hidden}.form-submit{margin-top:25px}.form-error{background:#fcece6;color:#982f1b;border-left:3px solid #982f1b;padding:12px 15px;font-size:.87rem;margin-top:20px}.field-error{border-color:#ad463a}.enquiry-result{padding:35px;background:#e0efe6;border:1px solid #bdd9c8}.enquiry-result h3{margin-bottom:15px}.enquiry-result .reference{font-size:1.2rem;font-weight:700;margin-block:15px}.site-footer{background:var(--dark);color:#eef5ef;padding-top:70px}.site-footer .brand-mark{color:var(--teal)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8%;padding-bottom:60px}.footer-grid p{max-width:310px;font-size:.85rem;color:#a9b9b4;margin-top:23px}.footer-links,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:13px;font-size:.82rem}.footer-contact .phone-link{margin-top:0}.footer-bottom{border-top:1px solid #33413f;padding:22px 0;display:flex;gap:30px;font-size:.65rem;color:#afbfba;align-items:center}.footer-bottom span{margin-right:auto}.cookie-open{color:inherit;background:none;border:0;padding:0;font-size:inherit}.floating-wa{position:fixed;right:24px;bottom:24px;z-index:25;width:56px;height:56px;background:var(--teal);border:1px solid #101c1c33;display:grid;place-items:center;border-radius:50%;box-shadow:0 4px 15px #0002}.floating-wa svg{width:27px;height:27px;fill:var(--ink)}.cookie-dialog{max-width:520px;width:calc(100% - 32px);border:1px solid var(--line);padding:35px;background:var(--paper);color:var(--ink);border-radius:4px}.cookie-dialog::backdrop{background:#112222aa}.cookie-dialog h2{font-size:1.9rem;margin-bottom:20px}.cookie-dialog p{font-size:.9rem}.cookie-dialog a{display:block;margin-top:22px;text-decoration:underline;font-size:.8rem}.dialog-close{position:absolute;right:12px;top:8px;background:none;border:0;font-size:24px}.page-intro{padding-top:90px;padding-bottom:80px}.page-intro h1{max-width:1100px}.intro-text{font-size:1.15rem;max-width:810px;margin-top:35px;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:35px;align-items:center}.intro-grid>p{font-size:1.05rem;color:var(--muted)}.intro-grid .button-row{margin-top:0}.detail-section{padding:70px 0;background:#e9ede8}.detail-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:12%}.detail-list{list-style:none;padding:0;margin:0}.detail-list li{display:flex;gap:25px;padding:20px 0;border-bottom:1px solid #cad3c9}.detail-list li:first-child{padding-top:0}.detail-list span{font-size:.7rem;color:var(--teal-dark);padding-top:5px}.prose{max-width:900px;padding-bottom:100px;font-size:1rem}.prose p{margin-bottom:25px}.calculator-section{background:#e8eee8;padding:70px 0 90px}.calculator-intro{max-width:780px}.calculator-intro p:not(.eyebrow){margin-top:20px;color:var(--muted);font-size:.95rem}.scenario-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:35px}.scenario-card{padding:25px;text-align:left;background:var(--paper);border:1px solid #c9d6cd;color:var(--ink);position:relative;display:flex;flex-direction:column;gap:16px;min-height:260px;border-radius:4px}.scenario-card:hover,.scenario-card.selected{background:var(--dark);color:#fff;border-color:var(--dark)}.scenario-number{font-size:.7rem;color:var(--teal-dark)}.scenario-card:hover .scenario-number,.scenario-card.selected .scenario-number{color:var(--teal)}.scenario-card strong{font-size:1.2rem;line-height:1.2;font-weight:500}.scenario-card>span:nth-child(3){font-size:.8rem;line-height:1.6;opacity:.75;padding-bottom:20px}.scenario-arrow{position:absolute;bottom:15px;right:20px;font-size:1.4rem}.wizard{max-width:1000px;margin:40px auto 0;background:var(--paper);padding:40px;border:1px solid #cbd7cc;border-radius:4px}.wizard-header{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:.8rem;margin-bottom:16px;color:var(--muted)}.wizard-progress{height:3px;background:#d7ddd6;margin-bottom:30px}.wizard-progress span{height:3px;background:var(--teal-dark);display:block}.wizard h3{font-size:2rem;margin-bottom:30px}.wizard .form-grid{gap:22px}.wizard .button-row{justify-content:space-between}.wizard-change{border:0;background:none;color:var(--teal-dark);text-decoration:underline;font-size:.75rem}.wizard .check-label{margin-top:15px}.option-group{border:1px solid var(--line);padding:20px;margin:0;border-radius:4px;grid-column:1/-1}.option-group legend{font-size:.8rem;font-weight:600;padding-inline:5px}.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.option-group label{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:400}.estimate-box{background:#e2ece2;border:1px solid #becfbe;padding:25px;margin-bottom:25px}.estimate-box h3{margin-bottom:15px;font-size:1.6rem}.estimate-range{font-size:2rem;letter-spacing:-.04em;font-weight:600;margin-bottom:10px}.estimate-box p{font-size:.85rem}.geometry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.geometry-grid>div{border-top:1px solid #bbcbbb;padding-top:10px}.geometry-grid span{display:block;font-size:.65rem;color:var(--muted)}.geometry-grid strong{font-size:1.15rem;font-weight:500}.summary-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 24px;margin:20px 0 30px}.summary-list>div{border-bottom:1px solid var(--line);padding:9px 0}.summary-list dt{font-size:.7rem;color:var(--muted)}.summary-list dd{margin:3px 0 0;font-size:.85rem;overflow-wrap:anywhere}.small-note{font-size:.75rem;color:var(--muted);margin-top:15px}.status-pill{font-size:.65rem;background:#e5eee4;color:#175645;padding:5px 10px;border-radius:20px;white-space:nowrap}.admin-shell{width:min(1400px,calc(100% - 60px));margin:auto;padding:35px 0 80px}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 30px;background:var(--dark);color:#fff}.admin-header .brand-mark{color:var(--teal)}.admin-header nav{display:flex;gap:15px;align-items:center}.admin-header button{background:none;border:1px solid #647670;color:#fff;padding:7px 15px;border-radius:4px}.admin-nav{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:20px;margin:25px 0}.admin-nav button{border:1px solid var(--line);padding:10px 16px;background:#fff;border-radius:4px;font-size:.85rem}.admin-nav button.active{background:var(--dark);color:#fff}.admin-login{max-width:510px;margin:70px auto;padding:35px;border:1px solid var(--line);background:#fff}.admin-login h1{font-size:2rem;margin-bottom:20px}.admin-login p{font-size:.88rem;margin-bottom:25px;color:var(--muted)}.admin-login label{margin-bottom:15px}.notice{padding:18px 22px;border-left:3px solid var(--teal-dark);background:#e1eee5;font-size:.86rem;margin-bottom:25px}.admin-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:25px 0}.admin-toolbar input{max-width:350px}.admin-toolbar select{max-width:230px}.table-scroll{overflow-x:auto;max-width:100%}.data-table{width:100%;border-collapse:collapse;font-size:.8rem}.data-table th{text-align:left;background:#e6ebe4;padding:13px 10px;font-size:.72rem;font-weight:600;white-space:nowrap}.data-table td{border-bottom:1px solid var(--line);padding:15px 10px;vertical-align:top;overflow-wrap:anywhere;max-width:360px}.data-table input{min-width:90px;min-height:38px;padding:8px;font-size:.8rem}.data-table .number{white-space:nowrap;text-align:right}.admin-link{background:none;border:0;color:var(--teal-dark);text-decoration:underline;padding:0;font-size:inherit;text-align:left}.admin-panel{background:#fff;border:1px solid var(--line);padding:30px;margin-bottom:25px;border-radius:4px}.admin-panel h2{font-size:1.8rem;margin-bottom:25px}.admin-panel h3{font-size:1.2rem;margin:25px 0 15px}.admin-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.admin-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:25px 0}.admin-stat{padding:25px;background:#fff;border:1px solid var(--line);border-radius:4px}.admin-stat strong{display:block;font-size:2rem;line-height:1.2;margin-bottom:10px}.admin-stat span{font-size:.8rem;color:var(--muted)}.admin-rates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.rate-card{border:1px solid var(--line);padding:22px;background:#fff}.rate-card h3{font-size:1.2rem;margin-bottom:18px}.rate-card .form-grid{gap:10px}.rate-card label{font-size:.7rem}.save-message{font-size:.8rem;color:var(--teal-dark);margin-top:15px}.admin-contact{display:grid;gap:9px;font-size:.9rem}.admin-contact a{color:var(--teal-dark);text-decoration:underline}.estimate-totals{margin-top:25px;max-width:540px;margin-left:auto}.estimate-totals>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.85rem}.quote-list{display:flex;gap:15px;flex-direction:column;font-size:.8rem;margin-top:20px}.quote-list>div{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.attachment-list{display:flex;flex-direction:column;gap:10px;font-size:.8rem}.attachment-list a{color:var(--teal-dark);text-decoration:underline}.admin-feedback{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--dark);color:#fff;padding:15px 25px;z-index:60;border:1px solid var(--teal);max-width:90%;font-size:.9rem}.admin-page-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.admin-page-actions h1{font-size:2rem}.long-text{white-space:pre-wrap;overflow-wrap:anywhere}.unit{color:var(--muted);font-size:.8rem}
@media(min-width:1500px){.hero{min-height:780px}.hero-photo{height:680px}}@media(max-width:1150px){.container{width:calc(100% - 60px)}.site-nav{gap:15px;font-size:.73rem}.brand-word{font-size:17px}.brand-word>span{max-width:185px;font-size:8px}.hero{gap:5%;min-height:650px}.hero-photo{height:560px}.hero-credentials{margin-top:30px}.hero-credentials strong{font-size:1.2rem}.hero .button{padding:14px 17px;font-size:.8rem}.hero h1{font-size:4.3rem}.scenario-card{padding:20px}.gallery img{height:260px}}
@media(max-width:920px){.menu-toggle{display:inline-flex}.header-inner{height:80px}.site-nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:25px 30px;border-bottom:1px solid var(--line);font-size:.95rem}.site-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:18px}.nav-dropdown{padding:0}.nav-menu{position:static;box-shadow:none;border:0;margin-top:10px;width:100%;padding:0}.nav-menu a{font-size:.85rem}.hero h1{font-size:3.5rem}.hero-photo{height:560px}.hero-description{font-size:.86rem}.hero-tagline{font-size:1rem}.section{padding:75px 0}.service-item{padding:25px 20px 55px}.service-item h3{font-size:1.2rem}.section-heading{gap:35px}.pool-feature-grid{gap:7%}.pool-feature-photo{height:380px}.process-grid{gap:25px}.case-copy h3{font-size:2rem}.contact-grid{gap:5%}.scenario-grid{grid-template-columns:repeat(2,1fr)}.scenario-card{min-height:210px}.admin-rates-grid{grid-template-columns:1fr}.admin-detail-grid{grid-template-columns:1fr}.admin-stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){html{scroll-padding-top:80px}.container{width:calc(100% - 36px)}.header-inner{height:74px}.site-nav{top:74px}.brand-mark{font-size:40px}.brand-word{font-size:16px}.brand-word>span{font-size:8px;max-width:210px}.hero{grid-template-columns:1fr;padding-top:38px;gap:35px;padding-bottom:45px;min-height:0}.hero h1{font-size:clamp(2.8rem,12vw,4rem);max-width:560px}.hero .eyebrow{font-size:.62rem;margin-bottom:20px}.hero-tagline{max-width:350px}.hero-description{font-size:.9rem;max-width:500px}.hero .button-row{gap:10px;margin-top:24px}.hero .button{min-height:49px;font-size:.78rem;padding:13px 17px;gap:13px}.hero-credentials{margin-top:28px;padding-top:18px;grid-template-columns:1fr 1.3fr}.hero-credentials strong{font-size:1.13rem}.hero-photo{height:420px}.hero-photo img{object-position:center 55%}.hero-photo figcaption{bottom:23px;left:22px}.hero-photo figcaption strong{font-size:1.25rem}.section{padding:60px 0}.eyebrow{margin-bottom:18px;font-size:.65rem}h2{font-size:2.4rem}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-heading>.text-link{margin-top:20px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-item{min-height:230px;padding:22px 18px 55px}.service-index{margin-bottom:25px}.service-item h3{font-size:1.15rem;letter-spacing:-.025em}.service-item p{font-size:.75rem;margin-top:12px}.pool-feature{padding:40px 0}.pool-feature-grid{grid-template-columns:1fr;gap:30px}.pool-feature-photo{height:260px;order:2}.pool-feature h2{font-size:2.65rem}.pool-feature p:not(.eyebrow){font-size:.9rem;margin-top:22px}.pool-feature .button{margin-top:25px}.process-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.process-grid article{display:grid;grid-template-columns:40px 1fr;gap:0 12px}.process-number{grid-row:1/3;margin:0;padding-top:3px}.process-grid h3{min-height:0;font-size:1.4rem}.process-grid p{grid-column:2;font-size:.88rem;margin-top:10px}.case-study{grid-template-columns:1fr;gap:30px}.case-hero,.case-hero img{height:320px}.case-copy h3{font-size:2rem}.case-copy p{font-size:.9rem}.gallery{grid-template-columns:repeat(2,1fr);gap:15px}.gallery img{height:230px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-grid h2{max-width:500px}.contact-grid>div>p:not(.eyebrow){font-size:.9rem;margin-top:20px}.form-grid{gap:16px}.form-grid>label{font-size:.73rem}input,select,textarea{font-size:16px;padding:11px}.form-grid>label:not(.full){grid-column:1/-1}.footer-grid{grid-template-columns:1fr;gap:40px;padding-bottom:40px}.site-footer{padding-top:45px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:16px}.footer-contact{gap:15px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:80px}.footer-bottom span{grid-column:1/-1}.floating-wa{width:50px;height:50px;right:16px;bottom:16px}.page-intro{padding-top:45px;padding-bottom:50px}.page-intro h1{font-size:2.8rem}.intro-text{font-size:1rem;margin-top:25px}.intro-grid{grid-template-columns:1fr;gap:25px;margin-top:25px}.intro-grid>p{font-size:.95rem}.intro-grid .button{font-size:.8rem;padding:14px 17px}.detail-grid{grid-template-columns:1fr;gap:30px}.detail-grid h2{font-size:2rem}.detail-list li{font-size:.9rem;gap:20px}.detail-section{padding:45px 0}.prose{font-size:.9rem;padding-bottom:60px}.calculator-section{padding:45px 0 60px}.calculator-intro p:not(.eyebrow){font-size:.87rem}.scenario-grid{gap:10px;margin-top:25px}.scenario-card{padding:18px;gap:12px;min-height:235px}.scenario-card strong{font-size:1rem}.scenario-card>span:nth-child(3){font-size:.75rem}.wizard{padding:23px 18px;margin-top:25px}.wizard h3{font-size:1.7rem;margin-bottom:25px}.wizard-header{font-size:.72rem}.wizard .form-grid{gap:18px}.option-grid{grid-template-columns:1fr}.option-group{padding:15px}.option-group label{font-size:.83rem}.geometry-grid{grid-template-columns:1fr;gap:10px}.geometry-grid>div{display:flex;justify-content:space-between;align-items:center;gap:15px}.summary-list{grid-template-columns:1fr}.estimate-box{padding:20px}.estimate-range{font-size:1.7rem}.wizard .button-row .button{font-size:.82rem;padding:13px 18px;min-height:48px}.enquiry-result{padding:25px}.cookie-dialog{padding:30px 22px}.cookie-dialog .button-row{gap:10px}.cookie-dialog .button{font-size:.78rem;padding:12px 15px}.admin-shell{width:calc(100% - 30px);padding-top:20px}.admin-header{padding:15px;flex-wrap:wrap;gap:15px}.admin-header .brand-word>span{display:none}.admin-header nav{font-size:.75rem}.admin-login{margin:30px 15px;padding:25px}.admin-panel{padding:20px}.admin-panel h2{font-size:1.55rem}.admin-stat{padding:18px}.admin-nav{gap:6px;margin:20px 0}.admin-nav button{padding:9px 12px;font-size:.75rem}.admin-page-actions{flex-wrap:wrap;gap:12px}.admin-page-actions h1{font-size:1.7rem}.admin-toolbar input,.admin-toolbar select{max-width:none}.rate-card{padding:18px}.estimate-totals>div{font-size:.75rem}.admin-feedback{width:max-content}.data-table td{max-width:230px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

progress.wizard-progress{display:block;width:100%;height:3px;border:0;appearance:none;background:#d7ddd6}progress.wizard-progress::-webkit-progress-bar{background:#d7ddd6}progress.wizard-progress::-webkit-progress-value{background:var(--teal-dark)}progress.wizard-progress::-moz-progress-bar{background:var(--teal-dark)}

/* Project photos: native touch scrolling, full-frame images, no autoplay. */
.case-study{margin-bottom:40px;min-width:0;align-items:start}.case-hero{min-width:0;overflow:hidden}.photo-carousel{min-width:0;width:100%}.carousel-track{display:flex;width:100%;min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-x:contain;touch-action:pan-x pan-y;outline-offset:-3px}.carousel-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;margin:0;background:#101918;color:#fff}.carousel-slide>a{display:block;height:440px}.case-hero .carousel-slide img{display:block;width:100%;height:100%;object-fit:contain}.carousel-slide figcaption{padding:18px 22px;min-height:72px;font-size:14px;line-height:1.5}.carousel-controls{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:12px}.carousel-controls button{display:grid;place-items:center;min-height:46px;min-width:46px;border:1px solid var(--line);background:transparent;color:inherit;font-size:22px;border-radius:50%;cursor:pointer}.carousel-controls button:disabled{opacity:.3;cursor:default}.carousel-counter{font-size:13px;letter-spacing:.02em}.carousel-thumbs{display:flex;gap:10px;overflow-x:auto;padding:3px 0 7px;scrollbar-width:thin}.carousel-thumbs button{flex:0 0 78px;height:70px;background:#101918;border:2px solid transparent;padding:3px;cursor:pointer}.carousel-thumbs button[aria-current]{border-color:var(--teal,#2cd9c5)}.case-hero .carousel-thumbs img{width:100%;height:100%;object-fit:cover;display:block}.carousel-hint{margin:6px 0 0}.portfolio-admin-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.portfolio-project-button{display:flex;flex-direction:column;gap:10px;text-align:left;border:1px solid var(--line);padding:20px;background:#fff;color:#152321;cursor:pointer;border-radius:10px;min-width:0}.portfolio-project-button.active{border-color:#169b8c;box-shadow:0 0 0 1px #169b8c}.portfolio-language-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.portfolio-language-grid fieldset{border:1px solid var(--line);padding:16px;border-radius:8px;min-width:0}.portfolio-language-grid legend{font-weight:700;padding:0 8px}.portfolio-language-grid label{margin-bottom:16px}.portfolio-photo-editors{display:grid;gap:24px}.portfolio-admin-photo{display:block;width:100%;max-height:320px;object-fit:contain;background:#101918;margin-bottom:24px;border-radius:6px}.portfolio-project-button strong,.portfolio-project-button span{overflow-wrap:anywhere}
@media(max-width:920px){.portfolio-language-grid{grid-template-columns:1fr}.portfolio-admin-list{grid-template-columns:repeat(2,minmax(0,1fr))}.carousel-slide>a{height:360px}}
@media(max-width:700px){.carousel-slide>a{height:330px}.carousel-slide figcaption{min-height:92px;font-size:13px;padding:16px}.carousel-thumbs button{flex-basis:65px;height:60px}.case-copy{padding-top:24px}.portfolio-admin-list{grid-template-columns:1fr}.carousel-track{scroll-padding:0}.case-study{margin-bottom:48px}}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-item{min-width:0}.service-item h3{overflow-wrap:anywhere}
@media(max-width:700px){.service-grid{grid-template-columns:1fr}.service-item{min-height:190px;padding:24px 22px 52px}.service-item h3{font-size:1.35rem}.service-item p{font-size:.9rem;max-width:100%}}

/* Language controls stay in the header, outside the collapsible navigation. */
.header-inner{gap:20px}
.site-nav{margin-left:auto}
.header-actions,.admin-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.language-switch{display:flex;align-items:center;gap:4px;flex-shrink:0;padding:3px;border:1px solid var(--line);border-radius:6px;background:#e9eeea;white-space:nowrap}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:40px;padding:0 8px;border:1px solid #bdcbc3;border-radius:4px;background:var(--white);color:var(--ink);font-size:.72rem;font-weight:700;line-height:1;text-decoration:none}
.language-switch a:hover{background:#dcece4;border-color:var(--teal-dark)}
.language-switch a.active{background:var(--teal-dark);border-color:var(--teal-dark);color:var(--white)}
.language-switch a.active:hover{background:#06665d}
.admin-header{position:sticky;top:0;z-index:30}
.admin-header .language-switch{gap:4px;background:#1b2a28;border-color:#526860}
.admin-header .language-switch a{background:transparent;color:#fff;border-color:#738b80}
.admin-header .language-switch a:hover{background:#31463f}
.admin-header .language-switch a.active{background:var(--teal);color:var(--ink);border-color:var(--teal)}
@media(max-width:1150px){.header-inner{gap:14px}.site-nav{gap:12px}.header-actions{gap:8px}}
@media(max-width:920px){.header-actions{margin-left:auto;gap:10px}.site-nav{margin-left:0}.menu-toggle{align-items:center;justify-content:center;width:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:4px;font-size:21px;line-height:1}.language-switch a{min-width:36px;min-height:44px;padding-inline:6px}}
@media(max-width:700px){.header-inner{gap:10px}.header-actions{gap:8px}}
@media(max-width:600px){.admin-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px}.admin-header-actions{display:contents}.admin-header .brand{grid-column:1;grid-row:1}.admin-header .language-switch{grid-column:2;grid-row:1}.admin-header #admin-logout{grid-column:1/-1;justify-self:end;min-height:40px}}
@media(max-width:420px){.site-header .header-inner{width:calc(100% - 24px);height:68px;gap:6px}.site-header .site-nav{top:68px;padding-inline:12px}.header-actions{gap:6px}.site-header .brand,.admin-header .brand{gap:6px}.site-header .brand-mark,.admin-header .brand-mark{font-size:32px}.site-header .brand-word,.admin-header .brand-word{font-size:12px;letter-spacing:.08em}.site-header .brand-word>span,.admin-header .brand-word>span{display:none}.language-switch{gap:3px}.language-switch a{min-width:32px;padding-inline:4px;font-size:.7rem}.menu-toggle{width:38px}.admin-header .language-switch{gap:3px}}


/* Keep the invitation actionable in the first viewport, including long RU copy. */
.hero h1{font-size:clamp(2rem,4vw,3.5rem)}
/* Prominent calculator invitation inside the home hero. The whole card is one link. */
.hero .calculator-promo{
  display:block;position:relative;overflow:hidden;isolation:isolate;
  margin:25px 0 0;padding:24px 25px 22px;
  background:linear-gradient(120deg,#fffaf3 0%,#f2f0eb 100%);
  border:1px solid #d6c7b8;border-left:6px solid #af462f;border-radius:14px;
  box-shadow:0 15px 35px rgba(23,35,38,.12);
  color:#19282b;text-decoration:none;max-width:650px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.hero .calculator-promo:after{
  content:"";position:absolute;right:-88px;top:-115px;width:240px;height:240px;
  border:1px solid rgba(175,70,47,.12);border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 38px rgba(175,70,47,.045),0 0 0 80px rgba(175,70,47,.025);
}
.hero .calculator-promo>*{position:relative;z-index:1}
.hero .calculator-promo-overline{
  display:flex;gap:12px;align-items:center;justify-content:space-between;
  font-size:.66rem;font-weight:800;line-height:1.45;letter-spacing:.105em;
  color:#87412e;
}
.hero .calculator-promo-overline-icon{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;
  width:38px;height:38px;border:1px solid #d3ad9e;border-radius:11px;
  font-size:1.26rem;color:#944329;letter-spacing:normal;background:#fff5ec;
}
.hero .calculator-promo-title{
  display:block;font-size:clamp(1.45rem,2.4vw,2.05rem);font-weight:750;
  line-height:1.12;letter-spacing:-.035em;margin:10px 0 0;
  color:#19282b;max-width:22ch;overflow-wrap:break-word;
}
.hero .calculator-promo-text{
  display:block;color:#425152;max-width:47ch;margin-top:12px;
  font-size:.91rem;line-height:1.52;
}
.hero .calculator-promo-action{
  display:inline-flex;align-items:center;justify-content:space-between;gap:24px;
  min-height:60px;max-width:100%;padding:14px 18px;
  margin-top:20px;border-radius:8px;background:#a7432c;
  color:#fff;font-size:1rem;font-weight:750;line-height:1.3;
  box-shadow:0 8px 20px rgba(135,51,29,.14);
}
.hero .calculator-promo-arrow{font-size:1.55rem;font-weight:400;line-height:1;flex:none}
.hero .calculator-promo-note{display:block;font-size:.75rem;color:#616b69;line-height:1.45;margin-top:13px}
.hero .calculator-promo:hover{
  transform:translateY(-3px);border-color:#bd745e;
  box-shadow:0 21px 42px rgba(23,35,38,.16);
}
.hero .calculator-promo:hover .calculator-promo-action{background:#8e3523}
.hero .calculator-promo:focus-visible{
  outline:3px solid #1b5965;outline-offset:4px;
  box-shadow:0 0 0 7px #f4f5f1,0 18px 36px rgba(23,35,38,.18);
}
.hero .calculator-promo + .button-row{margin-top:18px}
@media(max-width:700px){
  .hero .calculator-promo{margin-top:22px;padding:21px 19px;border-left-width:5px}
  .hero .calculator-promo-title{font-size:clamp(1.48rem,6.2vw,1.86rem)}
  .hero .calculator-promo-action{width:100%;margin-top:18px;min-height:60px}
}
@media(max-width:420px){
  .hero .calculator-promo{padding:18px 15px}
  .hero .calculator-promo-overline{font-size:.61rem;letter-spacing:.07em}
  .hero .calculator-promo-overline-icon{width:32px;height:32px;flex-basis:32px}
}
@media(prefers-reduced-motion:reduce){
  .hero .calculator-promo{transition:none}
  .hero .calculator-promo:hover{transform:none}
}

/* Desktop: the existing invitation takes the hero photograph's right column. */
@media(min-width:921px){
  .hero{display:block}
  .hero-copy{display:grid;grid-template-columns:1fr 1.08fr;column-gap:6%;grid-template-areas:"intro promo" "contact promo" "credentials promo";align-items:start}
  .hero-intro{grid-area:intro;min-width:0}
  .hero-copy>.calculator-promo{grid-area:promo;align-self:center;width:100%;margin:0;top:-28px;padding:30px 28px 26px}
  .hero-copy>.calculator-promo .calculator-promo-title{font-size:clamp(1.65rem,2.5vw,2.2rem)}
  .hero-copy>.calculator-promo .calculator-promo-action{min-height:64px;font-size:1.05rem}
  .hero-copy>.button-row{grid-area:contact}
  .hero-copy>.hero-credentials{grid-area:credentials}
  .hero>.hero-photo{display:none}
}
