/*
Theme Name: SK Domik
Theme URI: https://sk-domik.ru/
Author: Project team
Description: Тема нового сайта «Домик в деревне».
Version: 0.1.11
Requires at least: 6.5
Requires PHP: 8.2
Text Domain: sk-domik
*/

:root{--ink:#172f28;--green:#1d493a;--green-2:#285948;--warm:#f6f4ed;--white:#fff;--muted:#60736a;--line:#d9ded7;--orange:#ef622f;--orange-dark:#d9491e;--radius:18px;--wrap:1220px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--warm);color:var(--ink);font:16px/1.5 Onest,Arial,sans-serif}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}p,h1,h2,h3{margin-top:0}p{margin-bottom:0}
.container{width:min(calc(100% - 48px),var(--wrap));margin-inline:auto}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden;white-space:nowrap}
.skip-link:focus{clip:auto;height:auto;width:auto;top:12px;left:12px;z-index:100;background:#fff;padding:12px}
.topbar{background:var(--green);color:#e9f1e9;font-size:12px;letter-spacing:.025em}
.topbar-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.site-header{background:#fff;border-bottom:1px solid #edf0eb}
.header-inner{min-height:82px;display:flex;align-items:center;gap:34px}
.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;line-height:.98;color:var(--ink);font-size:15px;font-weight:900;letter-spacing:-.045em;text-transform:uppercase}
.brand-mark{width:41px;height:41px;object-fit:contain;filter:brightness(0) saturate(100%) invert(36%) sepia(91%) saturate(2582%) hue-rotate(343deg) brightness(100%) contrast(89%)}
.nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:13px;font-weight:700}
.nav a:hover,.nav a:focus-visible{color:var(--orange)}
.header-phone{white-space:nowrap;font-size:14px;font-weight:800}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 21px;border:1px solid transparent;border-radius:10px;font-weight:800;font-size:13px;line-height:1.2;transition:transform .2s,background .2s,color .2s}
.button:hover{transform:translateY(-2px)}.button:focus-visible,a:focus-visible{outline:3px solid #ffb17d;outline-offset:3px}
.button-orange{background:var(--orange);color:#fff}.button-orange:hover{background:var(--orange-dark);color:#fff}
.button-outline{border-color:#cbd7cd;color:var(--ink);background:#fff}.button-outline:hover{border-color:var(--green)}
.header-cta{min-height:43px;padding-inline:16px}
.mobile-menu{display:none;border:0;background:transparent;color:var(--ink);font-size:24px;line-height:1;cursor:pointer}
.hero{background:#eef1e9;padding:46px 0 48px;overflow:hidden}
.hero-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:stretch}
.hero-copy{padding:44px 0 26px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:900;color:var(--green)}
.eyebrow:before{content:"";width:21px;height:2px;background:var(--orange)}
.hero h1{font-size:clamp(46px,5vw,76px);letter-spacing:-.068em;line-height:1.02;margin:23px 0 24px;max-width:710px}
.hero h1 em{font-style:normal;color:var(--green)}
.hero-lead{max-width:540px;font-size:17px;line-height:1.6;color:#50635b}
.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:32px}
.hero-meta{margin-top:56px;display:flex;gap:32px;align-items:center;color:#52675a;font-size:12px;font-weight:700}
.hero-meta span{display:inline-flex;gap:9px;align-items:center}.hero-meta i{width:8px;height:8px;border-radius:50%;background:var(--orange)}
.hero-media{position:relative;min-height:565px;border-radius:22px;overflow:hidden;background:#bbc9b9}
.hero-media>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.hero-photo-tag{position:absolute;bottom:18px;right:18px;background:#fffdf7ed;backdrop-filter:blur(8px);padding:10px 14px;border-radius:10px;font-size:11px;font-weight:800;color:var(--green)}
.hero-note{position:absolute;left:18px;bottom:18px;background:var(--green);color:#fff;max-width:250px;padding:17px 19px;border-radius:14px;box-shadow:0 12px 36px #071d1740}
.hero-note strong{display:block;font-size:18px;line-height:1.2;margin-bottom:5px}.hero-note small{display:block;color:#d4e5d9;font-size:11px;line-height:1.4}
.section{padding:84px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.section-heading h2{font-size:clamp(32px,3.3vw,48px);line-height:1.1;letter-spacing:-.055em;margin:14px 0 0}.section-heading p{max-width:420px;color:var(--muted);font-size:14px;line-height:1.55;padding-bottom:5px}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.category-card{position:relative;display:block;min-height:440px;border-radius:var(--radius);overflow:hidden;background:#afc0ac;color:#fff}
.category-card img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.category-card:hover img{transform:scale(1.045)}
.category-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 34%,#09261dcc 100%)}
.category-card-content{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:26px}
.category-card-number{font-size:11px;font-weight:800;letter-spacing:.18em;color:#cde2d2}
.category-card h3{font-size:30px;line-height:1.1;letter-spacing:-.04em;margin:12px 0 8px}.category-card p{font-size:13px;color:#e6f0e9;max-width:290px}
.round-arrow{position:absolute;right:25px;bottom:26px;z-index:2;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green);font-size:21px;line-height:1}
.section-soft{background:#fff}.approach-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center}
.approach-title{font-size:clamp(35px,3.5vw,50px);line-height:1.1;letter-spacing:-.055em;margin:18px 0 18px}.approach-copy{color:var(--muted);max-width:490px;line-height:1.65;margin-bottom:25px}
.approach-points{display:grid;gap:12px}.approach-point{display:flex;gap:15px;border-bottom:1px solid var(--line);padding:11px 0 17px}.approach-point b{color:var(--orange);font-size:13px}.approach-point strong{font-size:16px}.approach-point small{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.approach-image{position:relative;min-height:490px;border-radius:var(--radius);overflow:hidden}.approach-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.approach-badge{position:absolute;bottom:18px;left:18px;right:18px;padding:17px 20px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:800}
.approach-badge span{color:var(--orange);font-size:20px}
.steps{background:var(--warm)}.step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.step{padding:28px;border:1px solid #dfe6dc;border-radius:var(--radius);background:#fff;min-height:210px}.step-index{font-weight:900;font-size:13px;color:var(--orange)}.step h3{font-size:21px;line-height:1.2;margin:45px 0 9px;letter-spacing:-.035em}.step p{color:var(--muted);font-size:13px;line-height:1.55}
.contact-section{padding:75px 0;background:var(--green);color:#fff}.contact-layout{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-section .eyebrow{color:#d3e9dc}.contact-section h2{max-width:720px;font-size:clamp(33px,3.7vw,52px);letter-spacing:-.055em;line-height:1.08;margin:17px 0 14px}.contact-section p{color:#c8dbcf;font-size:14px;max-width:600px}.contact-section .button{flex-shrink:0}
.site-footer{background:#132d24;color:#dfebe1;padding:40px 0 28px}.footer-main{display:flex;justify-content:space-between;gap:25px;align-items:start}.footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:12px}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff26;margin-top:33px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#a9c1b0;font-size:11px}
.page-main{padding:70px 0 100px;min-height:60vh}.page-main h1{font-size:clamp(38px,5vw,64px);letter-spacing:-.06em;line-height:1.05}.page-main .entry-content{max-width:790px;color:#50635b}.page-main .entry-content p{margin:0 0 20px}.page-main .entry-content a{text-decoration:underline}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:25px}.breadcrumb a:hover{text-decoration:underline}
@media(max-width:1050px){.nav{gap:14px}.header-inner{gap:20px}.header-cta{display:none}.hero-layout{grid-template-columns:1fr 1fr}.hero-media{min-height:500px}.approach-grid{gap:40px}}
@media(max-width:760px){.container{width:min(calc(100% - 32px),var(--wrap))}.topbar-inner span:last-child{display:none}.header-inner{min-height:70px}.mobile-menu{display:block;margin-left:auto}.header-phone{display:none}.nav{display:none;position:absolute;left:0;right:0;top:104px;z-index:20;background:#fff;padding:18px 16px 24px;box-shadow:0 16px 25px #102b2220;flex-direction:column;align-items:flex-start;gap:16px}.nav.is-open{display:flex}.hero{padding:24px 0 34px}.hero-layout{display:flex;flex-direction:column;gap:22px}.hero-copy{padding:20px 0 0}.hero h1{font-size:clamp(41px,11vw,63px);margin:17px 0 19px}.hero-lead{font-size:15px}.hero-actions{margin-top:25px}.hero-meta{margin-top:27px;gap:18px;flex-wrap:wrap}.hero-media{min-height:390px}.section{padding:60px 0}.section-heading{display:block}.section-heading p{margin-top:14px}.category-grid{grid-template-columns:1fr;gap:12px}.category-card{min-height:350px}.approach-grid{grid-template-columns:1fr;gap:28px}.approach-image{min-height:390px}.step-grid{grid-template-columns:1fr}.step{min-height:170px}.step h3{margin-top:32px}.contact-layout{display:block}.contact-section{padding:58px 0}.contact-section .button{margin-top:25px}.footer-main,.footer-bottom{display:block}.footer-links{margin-top:24px}.footer-bottom span{display:block;margin-bottom:8px}}
@media(max-width:420px){.hero h1{font-size:42px}.hero-media{min-height:330px}.hero-note{left:12px;bottom:12px;padding:13px 15px;max-width:205px}.hero-note strong{font-size:15px}.hero-photo-tag{right:12px;bottom:12px;font-size:10px;max-width:110px}.hero-meta{font-size:11px}.button{width:100%}.hero-actions{width:100%}.category-card{min-height:320px}.category-card h3{font-size:27px}.section-heading h2{font-size:36px}}

/* Self-hosted typography and established surface colors. */
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-cyrillic.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Onest;src:url('assets/fonts/onest-cyrillic.woff2') format('woff2');font-style:normal;font-weight:400 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Onest;src:url('assets/fonts/onest-latin.woff2') format('woff2');font-style:normal;font-weight:400 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#664337;--green:#505832;--green-2:#59633a;--warm:#fff8f3;--white:#fff;--muted:#664337;--line:#e7dcd4;--orange:#f15701;--orange-dark:#d94e00;--radius:0px;--wrap:1400px}
body{background:var(--warm);color:var(--ink);font-family:Onest,Arial,sans-serif;font-size:16px;line-height:1.5}
.container{width:min(calc(100% - 70px),var(--wrap))}
.site-header{position:relative;background:var(--warm);border-bottom:1px solid var(--line)}
.header-inner{min-height:100px;gap:0}
.brand{font-family:Manrope,Onest,Arial,sans-serif;font-size:19px;line-height:1.02;letter-spacing:-.04em;color:#211c1a;gap:9px}
.brand-mark{width:55px;height:55px;filter:none}
.mobile-menu{display:inline-flex;align-items:center;gap:16px;margin-left:52px;padding:0;border:0;color:var(--ink);background:none;font-family:Manrope,Onest,Arial,sans-serif;font-size:15px;font-weight:700;text-transform:uppercase;cursor:pointer}
.mobile-menu span:first-child{font-family:Onest,Arial,sans-serif;font-size:18px;font-weight:400}
.nav{display:none;position:absolute;left:max(35px,calc((100vw - var(--wrap))/2));top:100px;z-index:30;margin:0;padding:22px 28px;background:var(--warm);box-shadow:0 20px 35px #3f261b26;flex-direction:column;align-items:flex-start;gap:16px;font-family:Manrope,Onest,Arial,sans-serif;text-transform:uppercase}
.nav.is-open{display:flex}
.header-email{margin-left:48px;font-size:15px;color:var(--ink)}
.header-email:hover,.footer-links a:hover{color:var(--orange)}
.header-socials{display:flex;align-self:stretch;margin-left:auto;border-left:1px solid var(--line)}
.header-socials a{display:grid;place-items:center;width:76px;border-right:1px solid var(--line);font-weight:900;color:var(--ink)}
.header-socials a:hover{color:var(--orange)}
.header-phone{font-family:Manrope,Onest,Arial,sans-serif;font-size:12px;margin-left:25px;color:var(--ink)}
.button{border-radius:0;min-height:48px;font-family:Manrope,Onest,Arial,sans-serif;text-transform:uppercase;font-size:12px;letter-spacing:0}
.button-orange{background:var(--orange)}.button-outline{background:transparent;border-color:var(--ink);color:var(--ink)}
.hero{padding:44px 0 0;background:var(--warm);overflow:hidden}
.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:0;align-items:start}
.hero-media{min-height:0;border-radius:0;overflow:visible;background:var(--green)}
.hero-media>img{display:block;position:relative;inset:auto;width:100%;height:500px;object-fit:cover;object-position:center}
.hero-bottom{min-height:232px;padding:48px 30px 36px;background:var(--green) url('assets/images/hero-bottom.webp') center / cover no-repeat;color:#fff}
.hero-bottom :is(h1,h2){max-width:690px;margin:0 0 12px;color:#fff;font-family:Manrope,Onest,Arial,sans-serif;font-size:36px;font-weight:700;line-height:1.15;letter-spacing:-.48px;text-transform:none}
.hero-bottom p{max-width:600px;color:#fff;font-size:16px;line-height:1.5}
.hero-bottom .button{margin-top:23px}
.hero-categories{display:flex;flex-direction:column;padding-left:40px}
.hero-categories a{position:relative;display:flex;align-items:center;min-height:67px;border-bottom:1px solid var(--line);color:var(--ink);font-family:Manrope,Onest,Arial,sans-serif;font-size:18px;font-weight:700;text-transform:uppercase;line-height:1.15}
.hero-categories a:before{content:'◢';display:inline-block;width:25px;flex-shrink:0;color:var(--ink);font:13px/1 Onest,Arial,sans-serif}
.hero-categories a:hover{color:var(--orange)}
.section{padding:90px 0}.section-soft,.steps{background:var(--warm)}
.section-heading h2,.approach-title,.contact-section h2,.page-main h1{font-family:Manrope,Onest,Arial,sans-serif;font-size:40px;line-height:1.15;font-weight:700;letter-spacing:-.48px;text-transform:none;color:var(--ink)}
.section-heading h2{margin-top:0}.section-heading p,.approach-copy,.step p,.page-main .entry-content{color:var(--ink);font-size:16px;line-height:1.6}
.eyebrow{font-family:Manrope,Onest,Arial,sans-serif;color:var(--orange);font-size:13px;letter-spacing:0}
.eyebrow:before{background:var(--orange)}
.category-grid{gap:20px}.category-card{border-radius:0;min-height:440px}.category-card:after{background:linear-gradient(180deg,transparent 35%,#3a301fe8 100%)}
.category-card-content{padding:25px}.category-card-number{font-family:Onest,Arial,sans-serif;color:#fff}.category-card h3{font-family:Manrope,Onest,Arial,sans-serif;font-size:24px;font-weight:700;text-transform:none;letter-spacing:-.4px}.category-card p{color:#fff;font-size:14px}
.round-arrow{border-radius:0;color:var(--orange)}
.approach-image{border-radius:0}.approach-badge{border-radius:0;color:var(--ink)}
.approach-point{border-color:var(--line)}.approach-point b,.approach-badge span,.step-index{color:var(--orange)}.approach-point strong,.step h3{font-family:Manrope,Onest,Arial,sans-serif;color:var(--ink);text-transform:none}.approach-point small{color:var(--ink)}
.step{background:#fff;border-color:var(--line);border-radius:0}.step h3{font-size:20px}
.contact-section{background:var(--green) url('assets/images/hero-bottom.webp') center / cover no-repeat}.contact-section h2,.contact-section .eyebrow,.contact-section p{color:#fff}
.site-footer{background:#3d2c25}.footer-bottom{color:#e9d8cb}.footer-links a{color:#fff}
.page-main{background:var(--warm)}.page-main .entry-content{max-width:800px}
@media(max-width:1050px){.header-email{margin-left:25px}.header-socials a{width:50px}.header-phone{display:none}.mobile-menu{margin-left:30px}.hero-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.hero-categories{padding-left:22px}.hero-categories a{font-size:15px}}
@media(max-width:760px){.container{width:min(calc(100% - 48px),var(--wrap))}.header-inner{min-height:125px}.brand{font-size:20px}.brand-mark{width:62px;height:62px}.mobile-menu{margin-left:auto}.mobile-menu span:last-child{display:none}.header-email,.header-socials,.header-phone{display:none}.nav{top:125px;left:0;right:0;padding:22px 24px;box-shadow:0 16px 25px #3f261b26}.hero{padding:56px 0 0}.hero-layout{display:flex;flex-direction:column;gap:0}.hero-media{width:100%}.hero-media>img{height:520px;object-position:center}.hero-bottom{padding:32px 24px;min-height:0}.hero-bottom :is(h1,h2){font-size:24px;line-height:1.15}.hero-bottom p{font-size:14px}.hero-categories{width:100%;padding:25px 0 0}.hero-categories a{font-size:16px;min-height:60px}.section{padding:65px 0}.section-heading h2,.approach-title,.contact-section h2,.page-main h1{font-size:32px}.section-heading p{font-size:14px}.category-card{min-height:330px}.category-card h3{font-size:22px}.category-card p{font-size:13px}.approach-image{min-height:390px}.step{min-height:160px}.step h3{font-size:18px}.contact-section{padding:62px 0}}
@media(max-width:420px){.container{width:calc(100% - 48px)}.hero-media>img{height:550px}.hero-bottom :is(h1,h2){font-size:24px}.hero-bottom .button{width:100%}.section-heading h2,.approach-title,.contact-section h2{font-size:30px}.category-card h3{font-size:22px}.button{width:100%}}

/* Header dimensions and original icons from the reference site. */
.site-header{position:sticky;top:0;z-index:50;background:var(--warm)}
.header-inner{min-height:125px}
.brand{width:195px;min-width:195px;gap:4px}
.brand-mark{width:55px;height:55px;flex:none}
.brand-wordmark{width:136px;height:44px;object-fit:contain}
.mobile-menu{margin-left:48px;gap:12px;font-size:15px}
.mobile-menu svg{display:block;flex:none;fill:var(--ink)}
.mobile-menu:hover,.mobile-menu:hover svg{color:var(--orange);fill:var(--orange)}
.nav{top:125px;max-height:calc(100vh - 125px);overflow:auto}
.nav-email{display:none}
.header-email{margin-left:48px;font-size:16px;line-height:1.3;letter-spacing:-.32px}
.header-socials{border-left:0}
.header-socials a{width:100px;min-width:100px;height:125px;border-color:#e5dfdb;transition:background-color .2s}
.header-socials a:first-child{border-left:1px solid #e5dfdb}
.header-socials a:hover{background:#f1570110}
.header-socials img{width:20px;height:20px;transition:transform .2s}
.header-socials a:hover img{transform:scale(1.25)}
.header-phone{margin-left:32px;font-size:28px;font-weight:700;line-height:1.3;letter-spacing:-.84px}
.header-phone:hover{color:var(--orange)}
@media(max-width:1400px){.header-inner{min-height:100px}.header-socials a{width:80px;min-width:80px;height:100px}.header-phone{font-size:23px}.mobile-menu{margin-left:30px}.header-email{margin-left:30px}.nav{top:100px;max-height:calc(100vh - 100px)}}
@media(max-width:1050px){.header-phone{display:block;font-size:20px;margin-left:18px}.header-socials a{width:60px;min-width:60px}.header-email{font-size:14px;margin-left:20px}.mobile-menu{margin-left:20px}.header-inner{gap:0}}
@media(max-width:900px){.header-email{display:none}.header-socials{margin-left:auto}.nav-email{display:block}}
@media(max-width:760px){.header-inner{min-height:0;display:flex;flex-wrap:wrap;align-content:center;justify-content:space-between;row-gap:0;padding-top:12px}.brand{order:1}.mobile-menu{order:2;display:inline-flex;margin-left:auto}.mobile-menu span:last-child{display:none}.nav{top:115px;max-height:calc(100vh - 115px)}.header-socials{order:4;display:flex;align-self:auto;margin-left:auto}.header-socials a{width:40px;min-width:40px;height:48px}.header-phone{order:3;display:block;margin-left:0;font-size:18px;letter-spacing:-.4px}.header-email{display:none}}
@media(max-width:360px){.header-phone{font-size:15px}.header-socials a{width:36px;min-width:36px}}

/* Full-width reference menu, with sections from the SEO structure. */
.nav{display:none;left:0;right:0;top:125px;max-height:calc(100vh - 125px);overflow:auto;width:100%;margin:0;padding:32px 0 0;border-top:1px solid #e5dfdb;background:#fff;box-shadow:0 23px 24px -6px #223c501c;font-family:Onest,Arial,sans-serif;text-transform:none}
.nav.is-open{display:block}
.nav-inner{display:block}
.nav-row{display:flex;align-items:center;min-height:80px;padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid #e5dfdb;gap:32px}
.nav-row:last-of-type{border-bottom:0;margin-bottom:0}
.nav-title{flex:0 0 230px;font-family:Manrope,Onest,Arial,sans-serif;font-size:24px;font-weight:700;text-transform:uppercase;line-height:1.25}
.nav-items{display:flex;align-items:center;flex-wrap:wrap;gap:16px 32px}
.nav-items a{font-size:21px;line-height:1.35}
.nav-contact{display:none}
@media(max-width:1400px){.nav{top:100px;max-height:calc(100vh - 100px)}.nav-title{flex-basis:210px;font-size:21px}.nav-items a{font-size:18px}}
@media(max-width:760px){.nav{top:115px;max-height:calc(100vh - 115px);padding:18px 0 24px;box-shadow:0 16px 25px #3f261b26}.nav-row{display:block;min-height:0;padding:14px 0 18px;margin:0}.nav-title{display:block;font-size:18px}.nav-items{display:flex;gap:12px 18px;margin-top:12px}.nav-items a{font-size:15px}.nav-contact{display:flex;flex-wrap:wrap;gap:6px 20px;padding:22px 0 0;font-size:15px}}
.section-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.section-links a{padding:12px 18px;border:1px solid var(--line);background:#fff}.section-links a:hover{border-color:var(--orange);color:var(--orange)}

/* Two-level header: logo spans contacts and always-visible navigation. */
.site-header .header-inner{display:grid;grid-template-columns:195px minmax(0,1fr);grid-template-rows:64px 58px;column-gap:28px;min-height:122px;padding:0}
.site-header .brand{grid-column:1;grid-row:1/3;align-self:center}
.site-header .header-top{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-end;min-width:0;border-bottom:1px solid var(--line)}
.site-header .header-email{margin:0 auto 0 0;font-size:15px}
.site-header .header-socials{align-self:stretch;margin:0 22px 0 12px}
.site-header .header-socials a{width:64px;min-width:64px;height:63px}
.site-header .header-phone{display:block;margin:0;font-size:23px}
.site-header .mobile-menu{display:none}
.site-header .nav{grid-column:2;grid-row:2;position:static;display:flex;align-items:stretch;width:auto;max-height:none;overflow:visible;padding:0;margin:0;border:0;background:transparent;box-shadow:none}
.nav-list,.submenu{list-style:none;margin:0;padding:0}
.nav-list{display:flex;align-items:stretch;justify-content:space-between;width:100%;gap:8px}
.nav-list>li{display:flex;align-items:center;position:relative;min-width:0}
.nav-list>.nav-mobile-contact{display:none}
.nav-list>li>a,.nav-parent>a{display:inline-flex;align-items:center;min-height:58px;font-family:Manrope,Onest,Arial,sans-serif;font-size:15px;font-weight:700;line-height:1.15;text-transform:uppercase;white-space:nowrap}
.nav-parent{display:flex;align-items:center;gap:3px}
.nav-parent button{display:grid;place-items:center;width:22px;height:32px;padding:0;border:0;background:transparent;color:var(--ink);font-size:0;cursor:pointer}
.nav-parent button::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(3px) rotate(45deg)}
.nav-parent button:hover,.nav-parent button[aria-expanded=true]{color:var(--orange)}
.submenu{display:none;position:absolute;left:-18px;top:100%;z-index:60;min-width:235px;padding:10px 0;background:#fff;box-shadow:0 12px 28px #3f261b26;border:1px solid var(--line)}
.submenu a{display:block;padding:10px 18px;font-size:15px;line-height:1.35;white-space:nowrap}
.has-submenu.is-open>.submenu{display:block}
@media(min-width:1101px){.submenu{max-height:calc(100vh - 145px);overflow-y:auto;overscroll-behavior:contain}}
.projects-menu-links{list-style:none;margin:0;padding:0}
.projects-submenu .projects-menu-title{font-family:Manrope,Onest,Arial,sans-serif;font-weight:700;white-space:normal;padding-bottom:14px;margin-bottom:4px;border-bottom:1px solid var(--line)}
@media(min-width:1101px){.site-header .nav{position:relative;top:auto;left:auto;right:auto}.nav-list>.projects-menu{position:static}.projects-submenu{left:0;right:0;min-width:0;padding:18px}.has-submenu.is-open>.projects-submenu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.projects-submenu a{padding-left:12px;padding-right:12px;white-space:normal}}
@media(max-width:1100px){.projects-menu-column+.projects-menu-column{margin-top:18px}.projects-submenu .projects-menu-title{padding-left:0}.projects-menu-links a{padding-left:12px}}
.hero-sidebar{display:flex;flex-direction:column;min-width:0}
.hero-callback{display:flex;flex-direction:column;gap:20px;margin-top:48px;padding-left:40px}
.callback-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.callback-input-wrap{display:flex;align-items:center;min-height:78px;background:#fff;padding-right:26px;color:#999}
.callback-input-wrap input{width:100%;min-width:0;height:78px;padding:0 30px;border:0;background:transparent;color:#111;font-size:18px;outline:0}
.callback-input-wrap input::placeholder{color:#999}
.callback-input-wrap:focus-within{outline:2px solid var(--orange);outline-offset:2px}
.callback-input-wrap svg{flex:none}
.hero-callback button[type=submit]{min-height:70px;border:0;background:var(--orange);color:#fff;font-family:Manrope,Onest,Arial,sans-serif;font-size:16px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer}
.hero-callback button[type=submit]:hover{background:var(--orange-dark)}
.callback-message{font-size:14px;color:var(--green)}.callback-error{color:#ad351b}
@media(max-width:1250px){.site-header .header-inner{column-gap:18px}.site-header .header-socials{margin-right:16px}.site-header .header-socials a{width:52px;min-width:52px}.site-header .header-phone{font-size:19px}.nav-list>li>a,.nav-parent>a{font-size:13px}}
@media(max-width:1100px){.site-header .header-inner{display:grid;grid-template-columns:1fr;grid-template-rows:55px 48px;row-gap:8px;min-height:0;padding-top:12px}.site-header .brand{grid-column:1;grid-row:1;align-self:start}.site-header .header-top{grid-column:1;grid-row:2;justify-content:space-between;border:0}.site-header .header-email{display:none}.site-header .header-socials{margin:0 0 0 auto}.site-header .header-socials a{width:40px;min-width:40px;height:48px}.site-header .header-phone{order:-1;font-size:18px}.site-header .mobile-menu{display:flex;position:absolute;right:24px;top:26px;margin:0}.site-header .nav{display:none;position:absolute;left:0;right:0;top:100%;grid-column:auto;grid-row:auto;width:100%;max-height:calc(100vh - 123px);overflow:auto;padding:12px 24px 24px;background:#fff;box-shadow:0 16px 25px #3f261b26}.site-header .nav.is-open{display:block}.nav-list{display:block}.nav-list>li{display:block;border-bottom:1px solid var(--line)}.nav-list>.nav-mobile-contact{display:block;border-bottom:0}.nav-list>.nav-mobile-contact a{font-family:Onest,Arial,sans-serif;font-size:15px;font-weight:400;text-transform:none}.nav-list>li>a,.nav-parent>a{min-height:54px;font-size:15px}.nav-parent{justify-content:space-between}.nav-parent button{width:44px;height:44px}.submenu{position:static;min-width:0;padding:0 0 12px 12px;border:0;box-shadow:none}.submenu a{font-size:15px;white-space:normal}.has-submenu:hover>.submenu,.has-submenu:focus-within>.submenu{display:none}.has-submenu.is-open>.submenu{display:block}}
@media(max-width:760px){.hero-sidebar{width:100%}.hero-callback{margin-top:120px;padding-left:0}.callback-input-wrap{min-height:70px}.callback-input-wrap input{height:70px}.hero-callback button[type=submit]{min-height:68px}}
@media(max-width:360px){.site-header .header-phone{font-size:15px}.site-header .header-socials a{width:30px;min-width:30px}.hero-callback button[type=submit]{font-size:14px}}

/* Built objects are the main proof; experience and terms support them. */
.facts-section{padding-top:26px}
.facts-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:42px}
.facts-section h2{max-width:800px;margin:12px 0 0;font-family:Manrope,Onest,Arial,sans-serif;font-size:clamp(30px,3.2vw,48px);font-weight:700;line-height:1.16;letter-spacing:-.02em;text-transform:none;color:var(--ink)}
.facts-link{display:inline-flex;align-items:center;gap:20px;flex-shrink:0;padding:10px 0;border-bottom:1px solid var(--ink);font-size:16px;line-height:1.4}
.facts-link span{font-size:24px;color:var(--orange)}
.facts-link:hover{color:var(--orange)}
.facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:34px 0 38px;border-top:1px solid var(--line)}
.fact{min-width:0;padding:0 32px;border-left:1px solid var(--line)}
.fact:first-child{padding-left:0;border-left:0}
.fact-number{font-family:Manrope,Onest,Arial,sans-serif;font-size:clamp(60px,7vw,100px);font-weight:700;line-height:1.05;letter-spacing:-.035em;white-space:nowrap;color:var(--orange);font-variant-numeric:tabular-nums}
.fact-number span{font-size:.62em;vertical-align:12%;margin-left:3px}
.fact p{margin:14px 0 0;font-size:20px;line-height:1.35;color:var(--ink)}
.facts-assurance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:28px 0;background:#f4e9df}
.facts-assurance-item{min-width:0;padding:0 32px;border-left:1px solid rgba(102,67,55,.16)}
.facts-assurance-item:first-child{border-left:0}
.facts-assurance-value{font-family:Manrope,Onest,Arial,sans-serif;font-size:32px;font-weight:700;line-height:1.3;color:var(--ink)}
.facts-assurance-value span{font-family:Onest,Arial,sans-serif;font-size:20px;font-weight:400}
.facts-assurance-item p{margin-top:8px;font-size:15px;line-height:1.5;color:var(--ink)}
.facts-section.is-revealed>.container{animation:facts-reveal .75s ease-out both}
@keyframes facts-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.facts-heading{display:block}.facts-link{margin-top:20px}.fact{padding-inline:24px}.fact-number{font-size:clamp(52px,7vw,76px)}.facts-assurance-item{padding-inline:24px}.facts-assurance-value{font-size:26px}.facts-assurance-value span{font-size:17px}}
@media(max-width:600px){.facts-section{padding-top:10px}.facts-heading{margin-bottom:24px}.facts-section h2{font-size:clamp(27px,7vw,36px)}.facts-link{gap:14px;font-size:14px}.facts-grid{grid-template-columns:1fr;padding:0;border-top:0}.fact,.fact:first-child{display:flex;align-items:center;gap:20px;padding:20px 0;border-left:0;border-top:1px solid var(--line)}.fact-number{flex:0 0 148px;font-size:48px}.fact p{margin:0;font-size:16px}.facts-assurance{grid-template-columns:1fr;margin-top:14px;padding:8px 22px}.facts-assurance-item,.facts-assurance-item:first-child{padding:18px 0;border-left:0}.facts-assurance-item+.facts-assurance-item{border-top:1px solid rgba(102,67,55,.16)}.facts-assurance-value{font-size:27px}.facts-assurance-value span{font-size:18px}.facts-assurance-item p{margin-top:5px}}
@media(max-width:360px){.fact-number{flex-basis:128px;font-size:42px}.fact{gap:14px}.fact p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.facts-section.is-revealed>.container{animation:none}}

/* Catalog and single project. */
.catalog-main h1,.project-main h1{max-width:1200px}
.catalog-intro{max-width:850px;margin:0 0 32px;line-height:1.6}
.catalog-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:42px;margin-top:35px}
.catalog-filters{align-self:start;border-top:1px solid var(--line)}
@media(min-width:1101px){.catalog-filters{--filter-sticky-top:139px;position:sticky;top:var(--filter-sticky-top);max-height:calc(100vh - var(--filter-sticky-top) - 16px);max-height:calc(100dvh - var(--filter-sticky-top) - 16px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.admin-bar .catalog-filters{--filter-sticky-top:171px}}
.catalog-filter-all,.catalog-filter-links a{display:block;padding:10px 12px;color:var(--ink);font-size:14px;line-height:1.35}
.catalog-filter-all{margin:8px 0;font-weight:700}
.catalog-filter-group{border-top:1px solid var(--line);padding:18px 0}
.catalog-filter-group h2{margin:0 12px 10px;color:var(--ink);font-family:Manrope,Onest,Arial,sans-serif;font-size:17px;text-transform:none;line-height:1.2}
.catalog-filter-links{display:flex;flex-wrap:wrap;gap:3px}
.catalog-filter-links a:hover,.catalog-filter-all:hover,.catalog-filter-links .is-active,.catalog-filter-all.is-active{background:var(--orange);color:#fff}
.catalog-count{margin-bottom:20px;color:var(--muted);font-size:14px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.catalog-card{min-width:0;background:#fff;border:1px solid var(--line)}
.catalog-card-image{display:grid;place-items:center;aspect-ratio:4/3;background:#e9e1d9;color:var(--ink);text-align:center;font-size:13px}
.catalog-card-image img{width:100%;height:100%;object-fit:cover}
.report-list{margin-bottom:40px}
.report-date,.report-meta{font-size:15px;opacity:.8}
.report-description{margin:28px 0;max-width:1100px}
.report-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:32px 0}
.report-gallery figure{margin:0;min-width:0}
.report-gallery a{display:block;border-radius:12px;overflow:hidden;background:#e9e1d9}
.report-gallery img{width:100%;height:auto;display:block}
.report-gallery figcaption{margin-top:8px;font-size:14px}
@media(max-width:1050px){.report-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.report-gallery{grid-template-columns:1fr;gap:16px}.report-meta{line-height:1.6}}
.catalog-card-body{padding:20px}.catalog-card h2{font-family:Manrope,Onest,Arial,sans-serif;font-size:19px;line-height:1.25;text-transform:none}
.catalog-card dl,.project-facts{margin:0}.catalog-card dl div,.project-facts div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-top:1px solid var(--line)}
.catalog-card dt,.project-facts dt{color:var(--muted)}.catalog-card dd,.project-facts dd{margin:0;font-weight:700;text-align:right}
.catalog-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;font-size:14px}
.catalog-card dl div{min-width:0;gap:6px;align-items:baseline}
.catalog-card dl dd{min-width:0;overflow-wrap:anywhere}
.catalog-empty{padding:42px;background:#fff;border:1px solid var(--line);line-height:1.6}
.catalog-pagination{display:flex;gap:12px;align-items:center;margin-top:28px}.catalog-pagination .current{color:var(--orange);font-weight:700}
.project-overview{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr);gap:35px;margin:36px 0}.project-cover img{width:100%;height:auto}
.project-media{margin-top:55px}.project-media h2{font-family:Manrope,Onest,Arial,sans-serif;font-size:28px;text-transform:none}.project-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-media-grid figure{margin:0}.project-media-grid img{width:100%;height:auto}.project-media-grid figcaption{margin-top:8px}
@media(max-width:1050px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-layout{grid-template-columns:230px minmax(0,1fr);gap:24px}}
@media(max-width:760px){.catalog-layout,.project-overview{display:block}.catalog-filters{margin-bottom:25px}.catalog-filter-group{padding:14px 0}.catalog-grid,.project-media-grid{grid-template-columns:1fr}.project-facts{margin-top:25px}}

.catalog-card-price{margin:18px 0 0;color:var(--orange);font-family:Manrope,Onest,Arial,sans-serif;font-size:19px;font-weight:700}
.project-start-price{margin:28px 0;color:var(--orange);font-family:Manrope,Onest,Arial,sans-serif;font-size:28px;font-weight:700}
.project-data{margin-top:70px}.project-data>h2{margin:0 0 28px;font-family:Manrope,Onest,Arial,sans-serif;font-size:clamp(25px,3vw,38px);line-height:1.15;text-transform:none}
.project-price-grid,.project-promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.project-price{display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-height:130px;padding:24px;background:#fff;border:1px solid var(--line)}
.project-price strong,.project-promo h3{font-family:Manrope,Onest,Arial,sans-serif;font-size:17px;line-height:1.3;text-transform:none}
.project-price span{color:var(--orange);font-family:Manrope,Onest,Arial,sans-serif;font-size:22px;font-weight:700}
.project-equipment{margin-bottom:15px;background:#fff;border:1px solid var(--line)}
.project-equipment summary{padding:24px 28px;cursor:pointer;color:var(--ink);font-family:Manrope,Onest,Arial,sans-serif;font-size:18px;font-weight:700;text-transform:uppercase}
.project-equipment[open] summary{border-bottom:1px solid var(--line)}
.project-equipment-content{padding:0 28px 28px}.project-spec-row{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}
.project-spec-row h3{margin:0;font-size:16px}.project-spec-row p{margin:0 0 9px;line-height:1.6}.project-spec-row p:last-child{margin-bottom:0}
.project-options{margin-top:38px}.project-options h3{font-family:Manrope,Onest,Arial,sans-serif;font-size:23px;text-transform:none}.project-options>p{max-width:750px;margin-bottom:20px;line-height:1.6}
.project-option-row{display:flex;justify-content:space-between;gap:25px;padding:14px 0;border-bottom:1px solid var(--line)}.project-option-row strong{white-space:nowrap;color:var(--orange)}
.promotion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.promotions-intro{max-width:1000px;margin-bottom:36px}
.promotion-card{min-width:0;background:#fff;border:1px solid var(--line);scroll-margin-top:160px}
.promotion-card:target{border-color:var(--orange)}
.promotion-card-image{width:100%;aspect-ratio:2/1;overflow:hidden}.promotion-card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.promotion-card-body{padding:24px}.promotion-card h2,.promotion-card h3{margin:0 0 14px;font-family:Manrope,Onest,Arial,sans-serif;font-size:19px;line-height:1.45;text-transform:none;overflow-wrap:anywhere}
.promotion-card p{margin:12px 0;font-size:15px;line-height:1.65}.promotion-card .promotion-benefit{color:var(--orange);font-weight:700;font-size:19px}
.promotion-scope{color:var(--green);font-weight:600}.promotion-summary{white-space:pre-line}.promotion-dates{font-weight:600}
.promotion-link{display:inline-block;margin-top:14px;color:var(--orange);text-underline-offset:4px}
.promotion-details{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.promotion-details summary{cursor:pointer;font-weight:600;line-height:1.5}.promotion-details .entry-content{margin-top:18px;font-size:15px}.promotion-details li{margin-bottom:12px}
.promotion-link:focus-visible,.promotion-details summary:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
@media(max-width:1000px) and (min-width:761px){.promotion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.promotion-grid{grid-template-columns:1fr;gap:20px}.promotion-card-body{padding:20px}.promotion-card h2,.promotion-card h3{font-size:18px}}
@media(max-width:760px){.project-data{margin-top:50px}.project-price-grid,.project-promo-grid{grid-template-columns:1fr}.project-price{min-height:0}.project-equipment summary{padding:18px;font-size:16px}.project-equipment-content{padding:0 18px 20px}.project-spec-row{grid-template-columns:1fr;gap:7px}.project-option-row{display:block}.project-option-row strong{display:block;margin-top:6px}.project-media-grid{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.project-media-grid{grid-template-columns:1fr}}

/* Project photographs: one large image and a scrollable thumbnail strip. */
.project-gallery{min-width:0;align-self:start}
.project-gallery-stage{position:relative;background:#fff;aspect-ratio:4/3;overflow:hidden}
.project-gallery-slide{display:block;width:100%;height:100%;cursor:zoom-in}
.project-gallery-slide[hidden]{display:none}
.project-gallery-slide img{width:100%;height:100%;object-fit:contain}
.project-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border:0;background:#fff;color:var(--ink);font-size:34px;line-height:1;cursor:pointer;box-shadow:0 2px 12px #0002}
.project-gallery-arrow.is-prev{left:12px}.project-gallery-arrow.is-next{right:12px}
.project-gallery-count{position:absolute;right:12px;bottom:12px;padding:5px 10px;background:#fff;color:var(--ink);font-size:13px;pointer-events:none}
.project-gallery-thumbs{position:relative;display:flex;gap:10px;margin-top:12px;padding:2px;overflow-x:auto;overscroll-behavior-x:contain}
.project-gallery-thumbs button{flex:0 0 100px;height:76px;padding:3px;border:2px solid transparent;background:#fff;cursor:pointer}
.project-gallery-thumbs button[aria-pressed=true]{border-color:var(--orange)}
.project-gallery-thumbs img{width:100%;height:100%;object-fit:cover}
.project-gallery button:focus-visible,.project-gallery-slide:focus-visible,.project-media-grid a:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.project-media-grid a{display:block;cursor:zoom-in}
@media(max-width:760px){.project-gallery-thumbs button{flex-basis:78px;height:60px}.project-gallery-arrow{width:38px;height:38px}.project-gallery-arrow.is-prev{left:8px}.project-gallery-arrow.is-next{right:8px}}

/* All house price variants beside the project slider. */
.project-facts-wrap{min-width:0}
.project-overview-prices{margin-top:24px}
.project-overview-prices h2{margin:0 0 16px;font-family:Manrope,Onest,Arial,sans-serif;font-size:20px;line-height:1.3;text-transform:none}
.project-overview-prices .project-price-grid{grid-template-columns:1fr;gap:10px}
.project-overview-prices .project-price{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;min-height:0;padding:16px 18px;gap:12px}
.project-overview-prices .project-price strong{font-size:15px}
.project-overview-prices .project-price span{font-size:22px;white-space:nowrap;text-align:right}

/* Compact enquiry form in the project summary. */
.project-callback{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.project-callback h2{margin:0 0 16px;font-family:Manrope,Onest,Arial,sans-serif;font-size:20px;line-height:1.3;text-transform:none}
.project-callback-fields{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px}
.project-callback-fields label{min-width:0}
.project-callback-fields input{width:100%;min-width:0;height:48px;padding:0 12px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:14px}
.project-callback-fields input:focus-visible,.project-callback button:focus-visible,.project-callback-consent input:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.project-callback-consent{display:grid;grid-template-columns:16px minmax(0,1fr);gap:9px;align-items:start;margin:14px 0;font-size:12px;line-height:1.5}
.project-callback-consent input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--orange)}
.project-callback-consent a{text-decoration:underline}
.project-callback button[type=submit]{width:100%;min-height:48px;padding:12px;border:0;background:var(--orange);color:#fff;font-family:Manrope,Onest,Arial,sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;cursor:pointer}
.project-callback button[type=submit]:hover{background:var(--orange-dark)}
.project-callback .callback-message{margin:14px 0 0;line-height:1.5}
@media(max-width:360px){.project-callback-fields{grid-template-columns:1fr}}

@media(max-width:1100px){.project-overview-prices .project-price{padding:14px 12px;gap:10px}.project-overview-prices .project-price strong{font-size:13px}.project-overview-prices .project-price span{font-size:18px}}

.project-services-intro{margin:22px 0 0;max-width:750px;line-height:1.6}
.project-services .project-options{margin-top:24px}
.project-services .project-options h3{font-size:18px;line-height:1.4}

/* Editorial text before and after the filtered project list. */
.catalog-seo-bottom{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.catalog-seo-text{line-height:1.7;overflow-wrap:anywhere}
.catalog-seo-text p{margin:0 0 18px}
.catalog-seo-text h2,.catalog-seo-text h3{font-family:Manrope,Onest,Arial,sans-serif;line-height:1.35;margin:28px 0 14px}
.catalog-seo-text h2{font-size:26px}.catalog-seo-text h3{font-size:21px}
.catalog-seo-text ul,.catalog-seo-text ol{padding-left:24px;margin:0 0 18px}
.catalog-seo-text li{margin:6px 0}.catalog-seo-text a{text-decoration:underline;color:var(--orange)}
.catalog-seo-text>:first-child{margin-top:0}.catalog-seo-text>:last-child{margin-bottom:0}
@media(max-width:760px){.catalog-seo-bottom{margin-top:30px;padding-top:22px}.catalog-seo-text h2{font-size:22px}.catalog-seo-text h3{font-size:18px}}

.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px;margin-top:28px}
.review-card{min-width:0}.review-video{aspect-ratio:16/9;background:#eee;overflow:hidden;border-radius:8px}
.review-video iframe{display:block;width:100%;height:100%;border:0}
.review-card h2{font-size:22px;line-height:1.4;margin:16px 0 8px}
@media(max-width:760px){.reviews-grid{grid-template-columns:1fr;gap:28px}.review-card h2{font-size:20px}}

/* Repeatable editorial blocks with an optional image on either side. */
.catalog-seo-blocks{display:grid;gap:40px}
.catalog-seo-block.has-image{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px;align-items:start}
.catalog-seo-block-text,.catalog-seo-block-image{min-width:0}
.catalog-seo-block.is-image-left{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}
.catalog-seo-block.is-image-left .catalog-seo-block-text{grid-column:2;grid-row:1}
.catalog-seo-block.is-image-left .catalog-seo-block-image{grid-column:1;grid-row:1}
.catalog-seo-block-image img{display:block;width:100%;height:auto}
@media(max-width:760px){.catalog-seo-blocks{gap:30px}.catalog-seo-block.has-image{grid-template-columns:1fr;gap:20px}.catalog-seo-block.is-image-left .catalog-seo-block-text,.catalog-seo-block.is-image-left .catalog-seo-block-image{grid-column:auto;grid-row:auto}}

/* Built objects map. */
.objects-map-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:48px;align-items:center}.objects-map-layout>.objects-map{order:1}.objects-map-copy{order:2}
.objects-map-copy h2{font-family:Manrope,Onest,Arial,sans-serif;font-size:clamp(32px,3.5vw,50px);font-weight:700;line-height:1.12;letter-spacing:-.02em;text-transform:none;color:var(--ink)}.objects-map-subtitle{margin-top:20px;color:var(--muted);max-width:390px}
.objects-map{position:relative;height:460px;min-width:0;border-radius:var(--radius);overflow:hidden;background:#e4e9e3;isolation:isolate;z-index:0}.objects-map-status{position:absolute;top:50%;left:12px;right:12px;text-align:center;z-index:800;background:#fff;padding:12px;border-radius:8px}.objects-map-status[hidden]{display:none}
.objects-pin span{display:block;width:24px;height:24px;background:var(--orange);border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 6px #172f2850}.objects-pin span:after{content:"";position:absolute;width:6px;height:6px;top:6px;left:6px;background:#fff;border-radius:50%}
.objects-map .objects-cluster{display:grid;place-items:center;background:var(--green);border:3px solid #fff;border-radius:50%;color:#fff;font-weight:700;box-shadow:0 2px 8px #172f2850}.objects-map .leaflet-popup-content a{color:var(--green);text-decoration:underline}.objects-map .leaflet-control-attribution{font-size:10px}
@media(max-width:800px){.objects-map-layout{grid-template-columns:1fr;gap:28px}.objects-map-copy{order:0}.objects-map{height:350px}.objects-map-copy h2{font-size:34px}}

/* Selected houses on the homepage. */
.home-projects-section .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.home-projects-section .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.home-projects-section .catalog-grid{grid-template-columns:1fr}}

/* Four editable reasons on the homepage. */
.home-reasons-section{border-top:1px solid var(--line)}
.home-reasons-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,100px);align-items:start}
.home-reasons-intro h2{font-family:Manrope,Onest,Arial,sans-serif;font-size:clamp(32px,3.1vw,46px);font-weight:700;line-height:1.2;letter-spacing:-.5px;text-transform:none;margin:18px 0 24px;overflow-wrap:break-word}
.home-reasons-brand{display:flex;gap:16px;align-items:center;margin-bottom:28px;font-family:Manrope,Onest,Arial,sans-serif;font-size:20px;line-height:1.35;font-weight:700;text-transform:uppercase}
.home-reasons-brand img{width:48px;height:48px;object-fit:contain;flex-shrink:0}
.home-reasons-intro>p{max-width:490px;font-size:17px;line-height:1.7;margin-bottom:28px}
.home-reasons-intro .facts-link{display:inline-flex;gap:18px;align-items:center}
.home-reasons-list{border-top:1px solid var(--line)}
.home-reason{display:grid;grid-template-columns:46px minmax(0,1fr);gap:22px;padding:28px 0;border-bottom:1px solid var(--line)}
.home-reason-icon{color:var(--orange);padding-top:2px}.home-reason-icon svg{width:40px;height:40px}
.home-reason-body{position:relative;padding-right:36px}.home-reason-index{position:absolute;right:0;top:1px;color:#b7a499;font-size:12px}
.home-reason h3{font-family:Manrope,Onest,Arial,sans-serif;font-size:22px;line-height:1.3;text-transform:none;font-weight:700;margin:0 0 12px}
.home-reason-lead{font-size:18px;line-height:1.5;margin-bottom:9px}.home-reason-detail{font-size:14px;line-height:1.65;color:#82695f}
.home-reasons-intro .facts-link:focus-visible{outline:2px solid var(--orange);outline-offset:6px}
@media(max-width:1100px){.home-reasons-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px}.home-reasons-brand{font-size:17px}.home-reason{gap:16px}.home-reason h3{font-size:19px}}
@media(max-width:760px){.home-reasons-layout{grid-template-columns:1fr;gap:34px}.home-reasons-intro h2{font-size:30px;line-height:1.22;max-width:520px}.home-reasons-brand{margin-bottom:22px;font-size:17px}.home-reasons-intro>p{font-size:15px;margin-bottom:20px}.home-reason{grid-template-columns:34px minmax(0,1fr);gap:15px;padding:24px 0}.home-reason-icon svg{width:32px;height:32px}.home-reason h3{font-size:18px;margin-bottom:10px}.home-reason-lead{font-size:16px}.home-reason-detail{font-size:14px}.home-reason-body{padding-right:22px}}
@media(max-width:360px){.home-reasons-intro h2{font-size:26px}.home-reasons-brand{font-size:15px}.home-reason h3{font-size:16px}.home-reason{gap:12px}.home-reason-body{padding-right:0}.home-reason-index{display:none}}

.home-reasons-section{scroll-margin-top:140px}

#hero-callback{scroll-margin-top:140px}

.catalog-directions-page>.section:first-of-type{padding-top:0;padding-bottom:0}

/* Universal SEO editor: shared typography and image layout with collections. */
.page-main.page-has-sections{padding-bottom:0}
.seo-editor-section{padding:0 0 40px;background:var(--warm)}
.seo-editor-section:first-of-type{padding-top:24px}
.seo-editor-section+.seo-editor-section>.container{border-top:1px solid var(--line);padding-top:40px}
.seo-editor-section:last-child{padding-bottom:80px}
.seo-editor-section .catalog-seo-text h2{font-size:22px}
@media(max-width:760px){.seo-editor-section .catalog-seo-text h2{font-size:20px}.seo-editor-section{padding-bottom:30px}.seo-editor-section+.seo-editor-section>.container{padding-top:30px}.seo-editor-section:last-child{padding-bottom:60px}}

/* Shared callback is part of the footer on every public template. */
.site-footer{padding-top:0}
.site-footer>.container{padding-top:40px}
.footer-contact .contact-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:60px}
.footer-contact-phone{display:inline-block;margin-top:12px;color:#fff;font-size:28px;font-weight:700}
.footer-contact-socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.footer-contact-socials a{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;color:var(--ink);font-size:14px}
.footer-contact-socials a:hover{color:var(--orange)}
.footer-callback{margin:0;padding:0;border:0;min-width:0;scroll-margin-top:140px}
.footer-callback .project-callback-fields input{height:60px;font-size:16px}
.footer-callback button[type=submit]{min-height:60px;font-size:16px}
.footer-callback .project-callback-consent{font-size:13px;color:#fff}
.footer-callback .callback-message{color:#fff}
@media(max-width:1100px){.footer-contact .contact-layout{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer-callback .project-callback-fields{grid-template-columns:1fr}}
@media(max-width:760px){.footer-contact .contact-layout{grid-template-columns:1fr}.footer-contact-phone{font-size:25px}.footer-contact-socials{gap:8px}.footer-contact-socials a{padding:12px}.footer-callback .project-callback-fields{grid-template-columns:1fr}}

.home-reviews-section .reviews-grid{margin-top:0}
.home-reviews-section .review-card h3{font-size:22px;line-height:1.4;margin:16px 0 0}
@media(max-width:760px){.home-reviews-section .review-card h3{font-size:20px}}

.project-promos-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.project-promos-heading h2{margin:0}.project-promos-heading .facts-link{flex-shrink:0}

/* Project calculator: shared ACF data, reference layout in the established palette. */
.calc-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:end;margin-bottom:30px}.calc-heading h2{font-family:Manrope,Onest,Arial,sans-serif;font-size:clamp(25px,3vw,40px);line-height:1.2;text-transform:none;margin:12px 0 0}.calc-heading p{font-size:14px;margin:0;max-width:440px}.calc-form{margin:0;padding:0;border:0;scroll-margin-top:145px}.calc-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);gap:30px;align-items:start}.calc-settings{min-width:0}.calc-step{border:1px solid var(--line);padding:26px;margin:0 0 18px;background:#fff;min-width:0}.calc-step legend{font-family:Manrope,Onest,Arial,sans-serif;font-size:18px;font-weight:700;padding:0 8px;text-transform:uppercase}.calc-step legend>span{color:var(--orange);margin-right:12px}.calc-field{display:block;font-size:13px}.calc-field input,.calc-field select{display:block;width:100%;min-width:0;min-height:50px;border:1px solid var(--line);padding:12px;background:var(--warm);color:var(--ink);font:inherit;margin-top:8px}.calc-equipment-choices{display:grid;gap:10px;margin-top:18px}.calc-choice{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);padding:15px;font-size:13px;cursor:pointer}.calc-choice:has(input:checked){border-color:var(--green);background:#f1f3e9}.calc-choice input,.calc-service input[type=checkbox],.project-price-choice input{accent-color:var(--green);flex-shrink:0;width:17px;height:17px;margin:2px 0}.calc-hint{font-size:12px;line-height:1.6;margin:14px 0 0;opacity:.8}.calc-foundation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.calc-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.calc-service{border:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:16px;min-width:0}.calc-service.is-selected{border-color:var(--green);background:#f5f6ee}.calc-service-label{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.5;cursor:pointer}.calc-service-label span{overflow-wrap:anywhere}.calc-service>strong{font-size:14px;color:var(--orange);margin-top:auto}.calc-quantity{font-size:12px}.calc-quantity input{width:100%;height:42px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:8px;font:inherit;margin-top:6px}.calc-more{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.calc-more summary{cursor:pointer;font-size:14px;font-weight:700}.calc-more summary span{float:right;color:var(--orange)}.calc-summary{position:sticky;top:145px;padding:30px;background:var(--green);color:#fff;min-width:0}.calc-summary-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#e4dec9}.calc-summary h3{font-family:Manrope,Onest,Arial,sans-serif;font-size:23px;line-height:1.25;text-transform:none;margin:16px 0}.calc-project-name{font-size:13px;opacity:.8}.calc-summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;font-size:12px;padding:13px 0;border-bottom:1px solid #ffffff30}.calc-summary-row strong{white-space:nowrap;font-size:13px}.calc-total{margin:24px 0 14px;display:grid;gap:8px}.calc-total>span{font-size:12px;opacity:.85}.calc-total>strong{font-family:Manrope,Onest,Arial,sans-serif;font-size:clamp(25px,2.6vw,37px);line-height:1.3;overflow-wrap:anywhere}.calc-pending{font-size:12px;color:#ede5ce}.calc-disclaimer,.calc-request-note{font-size:11px;line-height:1.6;opacity:.8}.calc-request{border-top:1px solid #ffffff30;margin-top:22px;padding-top:20px}.calc-request h4{font-size:16px;margin:0 0 14px}.calc-request .calc-field{margin-bottom:10px}.calc-request .calc-field input{background:#fff}.calc-summary .project-callback-consent{color:#fff}.calc-summary .project-callback-consent a{text-decoration:underline}.calc-summary button[type=submit]{width:100%;min-height:54px;font-size:13px;letter-spacing:.6px;display:flex;align-items:center;justify-content:space-between}.calc-mobile-bar{display:none}.project-price-choice{cursor:pointer}.project-price-choice:has(input:checked){border-color:var(--green);background:#f1f3e9}.project-price-choice strong{display:flex;align-items:center;gap:10px}.project-calc-link{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;margin-top:18px;background:var(--orange);color:#fff;font-size:14px;font-weight:700}.project-calc-link:hover{background:var(--orange-dark);color:#fff}.project-calc-intro{font-size:12px;line-height:1.6;margin-top:12px}.calc-form [hidden]{display:none!important}.calc-form input:focus-visible,.calc-form select:focus-visible,.calc-form summary:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
@media(max-width:1000px){.calc-layout{grid-template-columns:minmax(0,1fr) 320px;gap:18px}.calc-step{padding:18px}.calc-summary{padding:22px}.calc-foundation{grid-template-columns:1fr}.calc-service-grid{grid-template-columns:1fr}}
@media(max-width:760px){.calc-heading{grid-template-columns:1fr;gap:18px}.calc-heading h2{font-size:25px}.calc-layout{grid-template-columns:1fr}.calc-summary{position:static;padding:24px}.calc-step legend{font-size:15px}.calc-step{padding:18px 14px}.calc-foundation{grid-template-columns:1fr}.calc-service-grid{grid-template-columns:1fr 1fr;gap:8px}.calc-service{padding:12px}.calc-service-label{font-size:12px;gap:8px}.calc-service>strong{font-size:12px}.calc-mobile-bar:not([hidden]){display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--green);color:#fff;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -4px 20px #0002}.calc-mobile-bar small{display:block;font-size:10px}.calc-mobile-bar strong{font-size:16px}.calc-mobile-bar a{padding:12px;background:var(--orange);color:#fff;font-size:12px}.project-main{padding-bottom:85px}.calc-form{scroll-margin-top:95px}}
@media(max-width:360px){.calc-service-grid{grid-template-columns:1fr}}

.calculator-section{scroll-margin-top:150px}.admin-bar .calc-summary{top:177px}.admin-bar .calculator-section{scroll-margin-top:180px}
@media(max-width:760px){.calculator-section,.admin-bar .calculator-section{scroll-margin-top:105px}}

#calculator-result{scroll-margin-top:160px}@media(max-width:760px){#calculator-result{scroll-margin-top:135px}.calc-mobile-bar a{font-size:11px}}

/* Compact explicit quantity choice. */
.calc-quantity-options{display:grid;gap:12px}.calc-quantity-mode{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--warm);padding:3px;border:1px solid var(--line)}.calc-quantity-mode label{position:relative;display:flex;min-width:0;cursor:pointer}.calc-quantity-mode input{position:absolute;opacity:0;width:1px;height:1px}.calc-quantity-mode span{display:flex;align-items:center;justify-content:center;width:100%;min-height:36px;padding:6px;text-align:center;font-size:11px;line-height:1.3;border:1px solid transparent;color:var(--muted)}.calc-quantity-mode input:checked+span{background:var(--green);color:#fff}.calc-quantity-mode input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px}
@media(max-width:760px){.calc-quantity-mode{grid-template-columns:1fr;gap:2px}.calc-quantity-mode span{min-height:30px;padding:5px;font-size:11px}.calc-summary-row strong{white-space:normal;text-align:right;max-width:135px}}

/* Client-oriented configurator. Previous calculator styles retained for rollback. */
.config-section{scroll-margin-top:160px}.admin-bar .config-section{scroll-margin-top:185px}.config-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:end;margin-bottom:32px}.config-heading h2{font-family:Manrope,Onest,Arial,sans-serif;font-size:clamp(27px,3.2vw,42px);line-height:1.15;text-transform:none;margin:14px 0 0}.config-heading>p{font-size:14px;line-height:1.7;margin:0;max-width:400px}.config-form{padding:0;border:0;margin:0}.config-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.8fr);gap:30px;align-items:start}.config-steps{min-width:0}.config-step{min-width:0;border:1px solid var(--line);background:#fff;padding:24px;margin:0 0 22px}.config-step legend{font-family:Manrope,Onest,Arial,sans-serif;font-size:19px;font-weight:700;text-transform:uppercase;padding:0 8px}.config-step legend>span{color:var(--orange);margin-right:14px}.config-step-intro{font-size:13px;line-height:1.6;margin:0 0 20px;max-width:620px}.config-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.config-option{position:relative;cursor:pointer;min-width:0}.config-option>input{position:absolute;opacity:0;width:1px;height:1px}.config-option-body{position:relative;display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);padding:20px 30px 20px 18px;height:100%;min-height:110px;background:var(--warm);transition:background .15s,border-color .15s}.config-option-body>svg{width:64px;height:64px;margin-bottom:2px;color:var(--green)}.config-option-body>strong{font-size:15px;line-height:1.35}.config-option-body>small{font-size:12px;line-height:1.5;opacity:.8}.config-check{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:18px;height:18px;border:1px solid var(--line);border-radius:50%;font-size:11px;color:transparent}.config-option>input:checked+.config-option-body{border-color:var(--green);background:#f0f2e7}.config-option>input:checked+.config-option-body .config-check{background:var(--green);color:#fff;border-color:var(--green)}.config-option>input:focus-visible+.config-option-body{outline:2px solid var(--orange);outline-offset:2px}.config-summary{position:sticky;top:145px;padding:30px;background:var(--green);color:#fff;min-width:0}.admin-bar .config-summary{top:177px}.config-eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#e4dec9}.config-summary h3{font-family:Manrope,Onest,Arial,sans-serif;font-size:28px;margin:12px 0 24px}.config-selected>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid #ffffff30;font-size:12px}.config-selected strong{text-align:right;font-size:13px}.config-wall-label{display:block;font-size:12px;margin:20px 0}.config-wall-label select{width:100%;padding:12px;border:1px solid #ffffff60;background:transparent;color:#fff;font:inherit;margin-top:8px;min-height:46px}.config-wall-label option{color:var(--ink);background:#fff}.config-reference{padding:20px 0;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30}.config-reference>span{font-size:11px;opacity:.85}.config-reference>strong{display:block;font-family:Manrope,Onest,Arial,sans-serif;font-size:clamp(25px,2.5vw,35px);margin:8px 0}.config-reference>p{font-size:11px;line-height:1.7;margin:0;opacity:.85}.config-request{padding-top:22px}.config-request h4{font-size:16px;line-height:1.4;margin:0 0 10px}.config-request>p{font-size:12px;line-height:1.6;opacity:.85;margin-bottom:16px}.config-request>label:not(.project-callback-consent){display:block;margin:10px 0}.config-request>label>input:not([type=checkbox]){width:100%;min-width:0;height:48px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:12px;font:inherit;font-size:13px}.config-request .project-callback-consent{color:#fff;font-size:11px}.config-request .project-callback-consent a{text-decoration:underline}.config-request button[type=submit]{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:13px;letter-spacing:.5px;min-height:54px}.config-request input:focus-visible,.config-wall-label select:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
@media(max-width:1000px){.config-layout{grid-template-columns:minmax(0,1fr) 310px;gap:18px}.config-step{padding:18px}.config-option-body{padding:16px 26px 16px 12px}.config-summary{padding:24px}}
@media(max-width:760px){.config-section,.admin-bar .config-section{scroll-margin-top:130px}.config-heading{grid-template-columns:1fr;gap:16px}.config-heading h2{font-size:27px}.config-layout{grid-template-columns:1fr}.config-summary{position:static;padding:24px}.config-step{padding:18px 14px}.config-step legend{font-size:16px}.config-choice-grid{gap:8px}.config-option-body>strong{font-size:13px}.config-option-body>small{font-size:11px}.config-option-body{min-height:120px;padding:16px 22px 16px 12px}.config-option-body>svg{width:50px;height:50px}.project-main:has(.config-section){padding-bottom:40px}.config-selected>div{font-size:12px}}

.config-form [hidden]{display:none!important}

/* Reference based calculator: same typography and colours as project pages. */
.reference-main{min-width:0}
.reference-wall{display:grid;grid-template-columns:auto 1fr;gap:0 16px;align-items:start;background:#fff;border:1px solid var(--line);padding:24px;margin-bottom:16px}
.reference-step-number{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:#ecede3;color:var(--green);font-size:12px;font-weight:700}
.reference-wall h3{font-family:Manrope,Onest,Arial,sans-serif;font-size:20px;text-transform:none;margin:3px 0 8px}
.reference-wall p{font-size:13px;line-height:1.5;margin:0;color:#555}
.reference-wall-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:22px}
.reference-wall-options label,.reference-option{position:relative;display:block;cursor:pointer;min-width:0}
.reference-wall-options input,.reference-option input{position:absolute;opacity:0;width:1px;height:1px}
.reference-wall-options label>span{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:100px;background:var(--warm);border:1px solid var(--line);padding:16px;transition:.15s ease}
.reference-wall-options strong{font-size:13px;line-height:1.4}.reference-wall-options small{font-size:15px;font-weight:700;color:var(--green)}
.reference-wall-options input:checked+span,.reference-option input:checked+.reference-option-body{background:#f0f2e7;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.reference-wall-options input:focus-visible+span,.reference-option input:focus-visible+.reference-option-body{outline:2px solid var(--orange);outline-offset:2px}
.reference-cluster{background:#fff;border:1px solid var(--line);margin-bottom:12px}
.reference-cluster>summary{display:flex;align-items:center;gap:15px;padding:18px 22px;cursor:pointer;list-style:none}
.reference-cluster>summary::-webkit-details-marker{display:none}
.reference-cluster>summary strong{font-family:Manrope,Onest,Arial,sans-serif;text-transform:uppercase;font-size:17px;line-height:1.3}
.reference-cluster>summary small{margin-left:auto;font-size:12px;color:#666;white-space:nowrap}
.reference-chevron{font-size:22px;line-height:1;transform:rotate(0);transition:transform .15s}
.reference-cluster[open] .reference-chevron{transform:rotate(180deg)}
.reference-groups{border-top:1px solid var(--line);padding:5px 22px 16px}
.reference-group{border:0;border-bottom:1px solid var(--line);padding:19px 0 20px;margin:0;min-width:0}
.reference-group:last-child{border-bottom:0;padding-bottom:8px}
.reference-group legend{padding:0;margin-bottom:12px;font-size:14px;font-weight:700}
.reference-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.reference-option-body{display:flex;justify-content:space-between;align-items:center;gap:9px;min-height:58px;border:1px solid var(--line);background:var(--warm);padding:10px 12px;font-size:12px;line-height:1.4;transition:.15s ease}
.reference-option-body>span{min-width:0}.reference-option-body small{font-size:11px;color:var(--green);font-weight:700;text-align:right;white-space:nowrap}
.reference-note{font-size:11px;line-height:1.6;color:#666;margin:16px 0 0}
.reference-summary{max-height:calc(100vh - 161px);overflow-y:auto;scrollbar-width:thin}
.reference-tally>div,.reference-picked>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #ffffff30;font-size:12px;line-height:1.4}
.reference-tally strong,.reference-picked strong{white-space:nowrap}.reference-picked{max-height:170px;overflow-y:auto;margin:8px 0;scrollbar-width:thin}
.reference-picked>div{font-size:11px;padding:7px 0}
.reference-total{padding:18px 0 7px}.reference-total>span{display:block;font-size:11px;opacity:.85}.reference-total>strong{display:block;font-family:Manrope,Onest,Arial,sans-serif;font-size:clamp(25px,2.5vw,35px);line-height:1.2;margin-top:7px}
.reference-pending{font-size:11px;line-height:1.6;opacity:.85;margin:3px 0 18px}
.reference-summary .config-request{border-top:1px solid #ffffff30}
@media(max-width:1000px){.reference-wall-options{grid-template-columns:1fr}.reference-wall-options label>span{min-height:65px;flex-direction:row;align-items:center}.reference-options{grid-template-columns:1fr}.reference-summary{max-height:calc(100vh - 155px)}}
@media(max-width:760px){.reference-wall{padding:17px 14px}.reference-wall h3{font-size:17px}.reference-wall-options{margin-top:16px}.reference-cluster>summary{padding:15px 13px;gap:9px}.reference-cluster>summary strong{font-size:14px}.reference-cluster>summary small{font-size:10px}.reference-groups{padding:5px 14px 14px}.reference-summary{max-height:none;overflow:visible}.reference-option-body{font-size:12px}.reference-picked{max-height:none}}

/* Full-width editorial home hero. Its image and copy remain editable in ACF. */
.home-hero{padding:28px 0 0;background:var(--warm)}
.home-hero-stage{position:relative;display:flex;align-items:flex-end;isolation:isolate;min-height:620px;overflow:hidden;background:#3b4d3b}
.home-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%}
.home-hero-stage::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(23,32,24,.78) 0%,rgba(23,32,24,.50) 42%,rgba(23,32,24,.06) 75%),linear-gradient(0deg,rgba(16,25,19,.46),transparent 52%)}
.home-hero-content{position:relative;z-index:1;width:min(700px,100%);padding:clamp(32px,5vw,74px);color:#fff}
.home-hero-content h1,.home-hero-content h2{max-width:660px;margin:0 0 20px;color:#fff;font-family:Manrope,Onest,Arial,sans-serif;font-size:clamp(38px,4.1vw,62px);font-weight:700;line-height:1.08;letter-spacing:-.025em;text-transform:none}
.home-hero-content p{max-width:540px;margin:0;color:#fff;font-size:clamp(16px,1.25vw,19px);line-height:1.5}
.home-hero-content .button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;margin-top:32px;padding:0 25px;font-size:14px}
@media(max-width:760px){
  .home-hero{padding-top:24px}
  .home-hero-stage{min-height:630px}
  .home-hero-image{object-position:63% center}
  .home-hero-stage::after{background:linear-gradient(0deg,rgba(18,27,20,.86) 0%,rgba(18,27,20,.48) 44%,rgba(18,27,20,.04) 82%)}
  .home-hero-content{width:100%;padding:32px 24px 36px}
  .home-hero-content h1,.home-hero-content h2{font-size:clamp(30px,8vw,42px);line-height:1.12;margin-bottom:14px}
  .home-hero-content p{font-size:15px}
  .home-hero-content .button{width:auto;max-width:100%;min-height:52px;margin-top:24px;padding:0 20px;font-size:12px}
}
@media(max-width:420px){.home-hero-stage{min-height:600px}.home-hero-content{padding:28px 22px 32px}}

/* Delivery map uses the established page typography and palette. */
.page-id-19 .entry-content{max-width:none}.delivery-calculator{max-width:1100px}
.delivery-search{margin:28px 0 16px}.delivery-search label{display:block;font-size:14px;margin-bottom:8px}.delivery-search-row{display:flex;gap:12px}.delivery-search input{min-width:0;flex:1;width:100%;padding:16px;border:1px solid var(--line);background:#fff;border-radius:0;font:inherit}
.delivery-search .button,.page-main .delivery-summary .button{white-space:normal;text-decoration:none;font:inherit}.delivery-results{display:grid;gap:8px;margin-bottom:16px}.delivery-results button{text-align:left;padding:14px;background:#fff;border:1px solid var(--line);font:inherit;cursor:pointer;overflow-wrap:anywhere}.delivery-results button:hover,.delivery-results button:focus-visible{border-color:var(--orange)}
.delivery-map{height:440px;width:100%;z-index:0;background:#e5e8df}.delivery-summary{padding:24px;background:var(--green);color:#fff}.delivery-summary p{overflow-wrap:anywhere}.delivery-summary dl{display:flex;flex-wrap:wrap;gap:24px 60px;margin:0 0 22px}.delivery-summary dl[hidden]{display:none}.delivery-summary dt{font-size:13px;opacity:.8}.delivery-summary dd{margin:4px 0 0;font-size:28px;font-weight:600}.delivery-note{margin-top:20px!important;font-size:14px}
.page-id-20 .entry-content h2{font-size:clamp(24px,3vw,34px);line-height:1.2;margin:36px 0 20px}.page-id-20 .entry-content li{margin-bottom:16px}.page-id-20 .entry-content li p{margin:6px 0}
@media(max-width:600px){.delivery-map{height:350px}.delivery-search-row{flex-direction:column}.delivery-search .button{width:100%}.delivery-summary{padding:20px}.delivery-summary dl{gap:18px}.delivery-summary dd{font-size:25px}}
