/* Second-pass layout polish: keep the site's original identity and prioritise imagery. */
:root{--dark:#162924;--green:#244034;--accent:#d5ad55;--cream:#f7f7f3;--muted:#5c6d64}
body{font-feature-settings:"kern";-webkit-font-smoothing:antialiased}
.wrap{max-width:1280px}
header{border-bottom:1px solid #e6e8e3}
.header-inner{min-height:92px}
.brand{gap:0;flex-shrink:0}
.brand img{max-width:min(238px,34vw)!important;max-height:72px!important;width:auto;height:auto}
.brand.has-logo .brand-mark,.brand.has-logo .brand-words{display:none!important}
nav{gap:clamp(14px,1.6vw,26px);letter-spacing:.005em}
nav>a:not(.nav-quote){position:relative;padding:15px 0}
nav>a:not(.nav-quote):after{content:"";position:absolute;left:0;right:100%;bottom:9px;height:2px;background:var(--accent);transition:right .2s}
nav>a:hover:after{right:0}
.nav-quote{box-shadow:none;border-radius:5px}
.hero{min-height:min(690px,78vh);background-position:center;overflow:hidden}
.hero > .wrap{position:relative;z-index:1}
.hero h1{max-width:800px;text-wrap:balance}
.hero p{line-height:1.65}
.hero-bottom{background:#11271e77;backdrop-filter:blur(5px)}
.section{padding:85px 0}
.section-head{margin-bottom:34px;align-items:end}
.section-head p{max-width:360px;margin-bottom:4px}
h2{text-wrap:balance}
.cards{gap:24px}
.service-card{display:flex;flex-direction:column;border:1px solid #e1e7e0;border-radius:7px;box-shadow:0 8px 28px #0e251b0b;overflow:hidden}
.service-card:hover{box-shadow:0 15px 34px #0e251b20;transform:translateY(-3px)}
.card-photo{height:auto;aspect-ratio:1.56;background-color:#23483a;background-size:cover;position:relative}
.card-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 60%,#142b1d4d)}
.card-photo span{z-index:1;position:relative;font-size:10px;padding:7px 12px}
.card-content{padding:23px 25px 25px;display:flex;flex-direction:column;flex:1}
.card-content h3{font-size:21px;margin-bottom:7px}
.card-content p{min-height:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin-bottom:25px;line-height:1.6}
.card-content .text-link{margin-top:auto}
.stat{border-left:0;border-top:3px solid var(--accent);min-height:140px}
.intro{gap:clamp(40px,6vw,95px)}
.section.alt{background:#f5f7f4}
.band{background:#1c392e}
.page-hero{padding:85px 0;background:linear-gradient(125deg,#142c21,#3a5442)}
.breadcrumbs{opacity:.85;margin-top:10px}
.contact-grid{grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);align-items:start}
.contact-detail{background:#fafbf9;border-color:#e0e7df;border-radius:6px}
#enquiry{padding:28px;background:#f9faf7;border:1px solid #e1e7df;border-radius:7px}
#enquiry .field{min-width:0}
.field input,.field textarea,.field select{min-width:0}
.field label{color:#34483d}
.btn{border-radius:5px}
footer{padding-top:64px}
.footer-grid{gap:clamp(25px,5vw,70px)}
.footer-grid a:hover{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d7aa4f;outline-offset:3px}
.media-controls{display:grid;grid-template-columns:2fr 1fr;gap:10px 18px;align-items:end}
.media-controls label{grid-row:1}
.media-controls input,.media-controls select{grid-row:2;margin:0!important}
#media-gallery{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))!important;gap:12px!important}
.media-choice{border:1px solid #e4e7e0!important;background:#fff;padding:7px;border-radius:6px;min-width:0;display:flex;flex-direction:column;gap:8px;text-align:left;color:#3a4b41}
.media-choice:hover{border-color:var(--accent)!important;background:#fbf6e9}
.media-choice img{width:100%;height:105px;object-fit:cover;border-radius:3px;background:#e7ece6}
.media-choice span{font-size:11px;line-height:1.4;word-break:break-word;max-height:34px;overflow:hidden}
.media-pages{display:flex;align-items:center;justify-content:center;gap:14px;margin:20px 0 12px}
.media-pages button{border:1px solid #d1d8cf;background:#fff;padding:9px 12px;border-radius:4px}
.media-pages button:disabled{opacity:.4;cursor:default}
#match-summary{margin:10px 0 15px;color:#344b3c}
@media(max-width:950px){.header-inner{min-height:78px}nav.open{gap:4px}nav.open a{font-size:15px}.brand img{max-width:190px!important}#enquiry{padding:22px}}
@media(max-width:650px){.top-inner{justify-content:center}.hero{min-height:590px}.hero > .wrap{padding-top:80px;padding-bottom:90px}.hero h1{font-size:clamp(36px,11vw,54px)}.section{padding:58px 0}.section-head{margin-bottom:25px}.cards{gap:16px}.card-photo{aspect-ratio:1.43}.card-content{padding:21px}.card-content p{margin-bottom:19px}.stat-grid{gap:10px}.stat{min-height:120px}.contact-grid{grid-template-columns:1fr}#enquiry{padding:18px}.media-controls{grid-template-columns:1fr}.media-controls label,.media-controls input,.media-controls select{grid-row:auto}.footer-grid{gap:20px}.brand img{max-height:56px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.page-hero.photo-hero{min-height:400px;display:flex;align-items:center;background-size:cover;background-repeat:no-repeat}
.page-hero.photo-hero .wrap{width:100%}
.service-detail{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.8fr);gap:clamp(35px,8vw,100px);align-items:start}
.service-detail>.content,.service-detail .content{max-width:700px}
.service-detail>div>p{color:var(--muted);line-height:1.8}
.service-aside{border:1px solid #e1e7df;border-top:4px solid var(--accent);border-radius:5px;padding:32px;background:#fafbf8}
.service-aside h3{margin-top:14px}
.service-aside p{color:var(--muted);font-size:15px}
.service-aside .btn{margin-top:12px}
.aside-phone{display:block;margin-top:20px;font-weight:750;font-size:14px;color:var(--green)}
.menu-button{font-size:14px!important;font-weight:800;border:1px solid #e4e8e2;border-radius:5px;padding:8px 12px;white-space:nowrap}
@media(max-width:650px){.page-hero.photo-hero{min-height:310px;background-position:var(--service-mobile-position,center)!important}.service-detail{grid-template-columns:1fr;gap:22px}.service-aside{padding:24px}}

.service-editor-preview{display:block;width:min(100%,430px);height:220px;object-fit:cover;border-radius:5px;border:1px solid #dce2d9;margin:0 0 18px}


/* Welcome Homes-style visual homepage hero editor */
#hero-editor-root{margin:24px 0 25px}
.hero-original-hidden{display:none!important}
.hero-live-copy{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}
.hero-live-copy label{display:flex;flex-direction:column;gap:7px;font-weight:800;font-size:13px;color:#304b3c}
.hero-live-copy input,.hero-live-copy textarea{margin:0!important;min-width:0;background:#fbfcfa}
.hero-live-copy textarea{min-height:70px;resize:vertical}
.hero-visual-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.78fr);gap:22px;align-items:start}
.hero-device{min-width:0;border:1px solid #e0e5dd;background:#fff;border-radius:9px;padding:15px;box-shadow:0 5px 22px #1232260b}
.hero-device-top{display:flex;justify-content:space-between;align-items:start;gap:10px;padding:2px 0 13px}
.hero-device-top b{font-size:15px;display:block;color:#203a2d}
.hero-device-top small{display:block;font-size:11px;color:#6a7b70;margin-top:3px}
.hero-device-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.hero-small-button{background:#f2f5f0;border:1px solid #d6dfd3;border-radius:5px;padding:8px 10px;font-weight:750;font-size:12px;line-height:1.2;color:#254435}
.hero-small-button:hover{background:#e5eee3}
.hero-small-button:disabled{opacity:.5}
.hero-canvas{position:relative;overflow:hidden;border-radius:6px;background-color:#1f4134;background-size:cover;background-repeat:no-repeat;background-position:center;display:flex;align-items:center;cursor:grab;touch-action:none;isolation:isolate}
.hero-canvas.is-dragging{cursor:grabbing}
.hero-canvas-desktop{min-height:300px;aspect-ratio:1.78}
.hero-canvas-mobile{width:100%;min-height:360px;aspect-ratio:.66;justify-content:center}
.hero-canvas-copy{position:relative;z-index:1;padding:22px;color:white;pointer-events:none;max-width:85%}
.hero-canvas-copy>span:first-child{font-size:10px;font-weight:850;letter-spacing:.14em;color:#e4be6c}
.hero-canvas-copy h3{font-size:clamp(19px,2.6vw,37px);max-width:480px;line-height:1.1;letter-spacing:-.04em;margin:12px 0;overflow-wrap:anywhere;color:white}
.hero-canvas-copy p{font-size:12px;line-height:1.55;color:#e8f0e8;margin-bottom:16px;max-width:380px;overflow-wrap:anywhere}
.hero-preview-cta{display:inline-block;padding:9px 12px;background:#d5ad55;color:#1a3025;font-size:11px;font-weight:850}
.hero-canvas-mobile .hero-canvas-copy{text-align:center;max-width:98%;padding:16px}
.hero-canvas-mobile .hero-canvas-copy h3{font-size:clamp(18px,2vw,28px)}
.hero-canvas-mobile .hero-canvas-copy p{font-size:11px}
.hero-canvas-hint{position:absolute;z-index:2;bottom:10px;right:10px;background:#10271d99;color:white;padding:4px 8px;border-radius:3px;font-size:10px;pointer-events:none}
.hero-crop-sliders{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:17px}
.hero-crop-sliders label{font-size:12px;display:flex;justify-content:space-between;color:#384b3f;gap:8px}
.hero-crop-sliders input[type=range]{width:100%;margin:5px 0 8px;padding:0;accent-color:#af8939}
.hero-crop-sliders output{font-variant-numeric:tabular-nums;color:#516a55}
.hero-device-bottom{display:flex;justify-content:flex-end}
.hero-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:20px;padding:17px 19px;border-radius:6px;background:#f4f7f2}
.hero-editor-footer p{font-size:12px;color:#5a7061;margin:0;max-width:680px}
.hero-editor-footer .btn{flex-shrink:0}
.hero-advanced{margin-top:16px;border-bottom:1px solid #e1e7df}
.hero-advanced summary{cursor:pointer;font-size:12px;padding:10px 0;color:#5a6f60;font-weight:750}
#hero-advanced-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.hero-secondary-title{margin-top:35px!important;border-top:1px solid #e2e6df;padding-top:26px}
#settings-form{margin-bottom:15px}
#settings-form .hero-original-hidden{display:none!important}
.brand,.brand-words{min-width:0}
.brand img{object-fit:contain;flex-shrink:1}
.service-card .card-content h3{overflow-wrap:break-word}
@media(max-width:980px){
 .hero-visual-grid{grid-template-columns:1fr minmax(230px,.8fr)}
 .hero-device-top{flex-direction:column}
 .hero-device-actions{justify-content:flex-start}
 .hero-canvas-desktop{min-height:250px}
}
@media(max-width:720px){
 .hero-live-copy,.hero-visual-grid,#hero-advanced-fields{grid-template-columns:1fr}
 .hero-canvas-mobile{max-width:355px;margin:auto;min-height:400px}
 .hero-canvas-desktop{min-height:245px}
 .hero-canvas-copy{max-width:100%}
 .hero-crop-sliders{gap:12px}
 .hero-editor-footer{flex-direction:column;align-items:stretch}
 .hero-editor-footer .btn{width:100%}
 .hero-device-top{flex-direction:row}
 .admin-wrap h1{overflow-wrap:break-word}
}
@media(max-width:400px){
 .hero-device{padding:10px}
 .hero-device-top{flex-direction:column}
 .hero-crop-sliders{grid-template-columns:1fr}
 .hero-canvas-desktop{min-height:220px}
 .brand img{max-width:165px!important}
}


/* Compact, photo-led service page hero editing */
#service-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
#service-items>.item{margin:0;min-width:0;overflow:hidden}
.service-visual-head{display:flex;gap:15px;align-items:center;margin-bottom:16px}
.service-visual-photo{width:145px;height:112px;flex-shrink:0;object-fit:cover;border-radius:5px;background:#dce5dc;border:1px solid #d7e0d5}
.service-image-missing:before{content:"Image needed";width:145px;height:112px;background:#e7ebe5;color:#6b796b;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;border-radius:5px}
.service-image-missing .service-visual-photo{display:none}
.service-visual-title{min-width:0}
.service-visual-title b{display:block;font-size:17px;color:#233c2d;line-height:1.25}
.service-visual-title small{display:block;color:#718071;font-size:11px;margin-top:5px}
.service-visual-actions{margin-top:10px}
.service-crop-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}
.service-crop-control{min-width:0;background:#f8faf7;border:1px solid #e6ece4;border-radius:5px;padding:11px}
.service-crop-control b{font-size:12px;display:block;margin-bottom:8px;color:#324c36}
.service-crop-control label{display:flex;justify-content:space-between;gap:5px;font-size:11px;color:#687969}
.service-crop-control input[type=range]{padding:0;margin:4px 0 11px;accent-color:#b18c3c}
.service-crop-control output{font-size:10px;white-space:nowrap}
.service-fields-detail{margin-top:14px;border-top:1px solid #e4eae3}
.service-fields-detail summary{cursor:pointer;padding:12px 0 5px;font-size:12px;font-weight:800;color:#435d4a}
.service-fields-inner{padding:10px 0;max-width:100%}
.service-fields-inner label{display:block;margin:10px 0 2px}
.service-fields-inner input,.service-fields-inner textarea{max-width:100%}
@media(max-width:1020px){#service-items{grid-template-columns:1fr}}
@media(max-width:450px){.service-visual-photo,.service-image-missing:before{width:100px;height:90px}.service-crop-grid{grid-template-columns:1fr}}
