/* Owner visual batch: shared presentation, isolated from Home and frozen Ads. */
body.w27-owner-batch { --w27-ink:#123b2c; --w27-copy:#36564a; --w27-paper:#fcf9f3; --w27-line:#d6dfd7; }
body.w27-owner-batch main { overflow-wrap:break-word; }
body.w27-owner-batch main :is(input,select,textarea,button) { font-size:1rem; }
body.w27-owner-batch main :is(input,select,textarea)::placeholder { color:#53685c; opacity:1; }
body.w27-owner-batch main :is(a,button,summary,input,select,textarea):focus-visible { outline:3px solid #0ca6c7; outline-offset:4px; }
body.w27-owner-batch main :is(.td27-actions,.td27-hero-actions) { gap:.8rem; }
body.w27-owner-batch main :is(.td27-actions .td27-estimate,.tdscreen-prelaunch-form__submit) { color:#092e20!important; background:linear-gradient(110deg,#beff83,#89e548)!important; }
body.w27-owner-batch main :is(.td27-call,.tdscreen-prelaunch-form__actions>a[href^="tel:"]) { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:48px; padding:.8rem 1.2rem; background:linear-gradient(115deg,#b1f3fb,#24bddb)!important; color:#073846!important; border:1px solid #7ee1f0; border-radius:100px; text-decoration:none!important; font-weight:750; line-height:1.25; }
body.w27-owner-batch main :is(.td27-actions .td27-estimate,.tdscreen-prelaunch-form__submit) { min-height:48px; }
body.w27-owner-batch :is(.tdscreen-prelaunch-form__honeypot,.tdscreen-fixture-form__honeypot) { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%)!important; }
body.w27-owner-batch main .tdscreen-prelaunch-form__security:has(.cf-turnstile) { min-height:0; padding:1rem; background:transparent!important; border:1px solid #9ab6a6; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.75rem; }
body.w27-owner-batch main .w27-security-note { margin:0!important; color:var(--w27-ink)!important; font-size:.85rem; font-weight:750; }
body.w27-owner-batch main .w27-security-note span { display:block; font-weight:400; font-size:.8rem; color:var(--w27-copy)!important; }
body.w27-owner-batch main .td27-form-card .w27-security-note { color:#f2fff4!important; }
body.w27-owner-batch main .td27-form-card .w27-security-note span { color:#d2e7d9!important; }
body.w27-owner-batch main .tdscreen-prelaunch-form__actions { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; }
body.w27-owner-batch main .tdscreen-prelaunch-form__actions>a { font-size:.95rem; }

/* Full-scale, documented real-project images. */
body.w27-owner-batch main :is(.w27-project-photo,.td27-verified-service-photo) { margin:0!important; min-width:0; }
body.w27-owner-batch main :is(.w27-project-photo,.td27-verified-service-photo)>img { width:100%!important; max-width:100%!important; height:auto!important; max-height:none; aspect-ratio:4/3; object-fit:cover; border-radius:1.2rem; background:#0c2c20; }
body.w27-owner-batch main :is(.w27-project-photo,.td27-verified-service-photo)>figcaption { display:grid; gap:.3rem; font-size:.8rem; line-height:1.5; padding:.85rem .1rem; color:#d1e6d9; }
body.w27-owner-batch main .w27-project-photo figcaption>span { text-transform:uppercase; letter-spacing:.09em; font-size:.65rem; }
body.w27-owner-batch main .w27-project-photo figcaption a { color:#b6f491; }

/* Main services: use the width, keep readable columns, strengthen proof. */
body.w27-owner-batch.td27-family-service main :is(.td-service-page__hero-grid,.td27-family-content,.td-service-page__body) { width:min(100%,1400px); max-width:1400px!important; margin-inline:auto; }
body.w27-owner-batch.td27-family-service main .td-service-page__hero-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,4vw,4rem); padding-inline:0; align-items:center; }
body.w27-owner-batch.td27-family-service main .td-service-page__hero { padding:clamp(2rem,4vw,4rem) clamp(1.25rem,4vw,4rem); }
body.w27-owner-batch.td27-family-service main .td-service-page__content { padding:1.5rem clamp(1.25rem,4vw,4rem) 3rem; }
body.w27-owner-batch.td27-family-service main .td27-detail-section { padding:clamp(1.5rem,3vw,3rem); margin-top:1.5rem; }
body.w27-owner-batch.td27-family-service main .td27-detail-section--split { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:2rem 3.5rem; }
body.w27-owner-batch.td27-family-service main .td27-section-copy { min-width:0; }
body.w27-owner-batch.td27-family-service main .td27-section-copy :is(p,ul,ol) { max-width:76ch; }
body.w27-owner-batch main .w27-proof-section { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:2rem; margin:3rem auto; padding:clamp(1.25rem,3vw,3rem); border:1px solid #315444; border-radius:1.4rem; background:#103729; }
body.w27-owner-batch main .w27-proof-section :is(h2,p) { color:#f1faf3!important; }
body.w27-owner-batch main .w27-section-intro h2 { font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.12; margin:.7rem 0 1rem; }
body.w27-owner-batch main .w27-proof-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; min-width:0; }
body.w27-owner-batch main .w27-proof-grid .w27-project-photo>img { aspect-ratio:4/3; max-height:350px; }
body.w27-owner-batch main .w27-source-photos { padding:2rem 0; }
body.w27-owner-batch main .w27-source-photos :is(img,figure) { max-width:100%; }
body.w27-owner-batch main .w27-source-photos img { display:block; width:100%; height:auto; max-height:500px; object-fit:contain; border-radius:1rem; }

/* Service areas: generous photographic opening and deliberate section rhythm. */
body.w27-owner-batch:is(.td27-family-area,.td27-family-local-service) main :is(.td-owner-editorial,.td27-family-content) { width:100%; max-width:1400px!important; }
body.w27-owner-batch.td27-family-area main .td-owner-editorial__hero { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(2rem,4vw,4rem); align-items:center; padding:2rem 0 3rem!important; }
body.w27-owner-batch.td27-family-area main .td-owner-editorial__hero>.wp-block-group { padding:0; max-width:none; margin:0; }
body.w27-owner-batch.td27-family-area main .td-owner-editorial__hero h1 { font-size:clamp(2.2rem,3.5vw,3.8rem); line-height:1.08; max-width:20ch; }
body.w27-owner-batch.td27-family-local-service main .td27-local-hero { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; gap:3rem; }
body.w27-owner-batch:is(.td27-family-area,.td27-family-local-service) main .td27-detail-section { padding:clamp(1.5rem,3vw,3rem); margin-top:1.5rem; border-radius:1.25rem; }
body.w27-owner-batch:is(.td27-family-area,.td27-family-local-service) main .td27-detail-section h2 { max-width:28ch; }
body.w27-owner-batch.td27-family-area main .td27-detail-section>p { max-width:85ch; }
body.w27-owner-batch main .td27-detail-section--locations ul { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
body.w27-owner-batch main .td27-detail-section--locations li { padding:0!important; overflow:hidden; }
body.w27-owner-batch main .td27-detail-section--locations li>a { display:flex; width:100%; padding:1rem 1.2rem; min-height:56px; text-decoration:none; font-weight:650; }
body.w27-owner-batch main .td27-detail-section--locations li>a::after { content:'↗'; margin-left:auto; padding-left:1rem; }

/* Preserve service destinations with a proper, scannable card system. */
body.w27-owner-batch main ul.w27-service-link-grid { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; padding:0!important; max-width:none!important; list-style:none; }
body.w27-owner-batch main ul.w27-service-link-grid>li { padding:0!important; background:#fff!important; border:1px solid #c8d8ce!important; border-radius:.85rem; }
body.w27-owner-batch main ul.w27-service-link-grid>li>a { display:flex; align-items:center; gap:1rem; width:100%; min-height:74px; padding:1rem 1.2rem; color:#153f2f!important; font-size:1rem; font-weight:700; text-decoration:none!important; }
body.w27-owner-batch main ul.w27-service-link-grid>li>a::after { content:'↗'; margin-left:auto; color:#23664d; }
body.w27-owner-batch main ul.w27-service-link-grid>li>a:hover { background:#edf5ec; border-radius:.85rem; }

/* Gallery: feature one real project in the opening; an editorial desktop grid. */
body.w27-owner-batch.td27-family-portfolio main .td-owner-editorial { max-width:1440px!important; }
body.w27-owner-batch.td27-family-portfolio main .td-owner-editorial__hero:has(.w27-gallery-lead) { display:block; padding:2.5rem 0!important; }
body.w27-owner-batch.td27-family-portfolio main .td-owner-editorial__hero>.wp-block-group:has(.w27-gallery-lead) { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:1rem 3rem; align-items:start; }
body.w27-owner-batch.td27-family-portfolio main .td-owner-editorial__hero>.wp-block-group> :not(figure) { grid-column:1; max-width:24ch; margin:0; }
body.w27-owner-batch.td27-family-portfolio main .td-owner-editorial__hero>.wp-block-group>h1 { font-size:clamp(2.2rem,3.4vw,3.7rem); line-height:1.1; }
body.w27-owner-batch.td27-family-portfolio main .td-owner-editorial__hero>.wp-block-group>.w27-gallery-lead { max-width:48ch; line-height:1.7; }
body.w27-owner-batch.td27-family-portfolio main .td-owner-editorial__hero>.wp-block-group>figure { grid-column:2; grid-row:1/5; }
body.w27-owner-batch.td27-family-portfolio main .wp-block-post-content { max-width:none!important; }
body.w27-owner-batch.td27-family-portfolio main .wp-block-post-content>p { max-width:80ch; margin-inline:0; }
body.w27-owner-batch.td27-family-portfolio main .td-gallery-grid { max-width:none; gap:1.5rem; }
body.w27-owner-batch.td27-family-portfolio main .td-gallery-card { overflow:hidden; border-radius:1.1rem; }
body.w27-owner-batch.td27-family-portfolio main .td-gallery-card__media img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; height:auto; }
body.w27-owner-batch.td27-family-portfolio main .td-gallery-card__copy { padding:1.4rem; }
body.w27-owner-batch.td27-family-portfolio main .td-gallery-card__copy h3 { font-size:1.25rem; line-height:1.3; }

/* Tools: preserve the opening, redesign the functional area and lower-page rhythm. */
body.w27-owner-batch.td27-family-calculator main .td27-calculator-hero { display:block; padding:1rem 0 2rem; }
body.w27-owner-batch.td27-family-calculator main .td27-calculator-intro { max-width:80ch; }
body.w27-owner-batch.td27-family-calculator main .w27-calculator-workspace { margin:1.5rem 0 3rem; }
body.w27-owner-batch.td27-family-calculator main .td27-calculator-tool { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:1.5rem; padding:clamp(1rem,2vw,2rem); border-radius:1.5rem; background:#f1eee4; border:1px solid #d7ddcf; }
body.w27-owner-batch.td27-family-calculator main .td27-calculator-tool>.td-calculator { margin:0; padding:clamp(1.25rem,2.5vw,2.5rem); border-radius:1.1rem; }
body.w27-owner-batch.td27-family-calculator main .td-calculator-lead { margin:0; padding:clamp(1.25rem,2.5vw,2.5rem); border-radius:1.1rem; background:#fff; border:1px solid #d6dfd7; }
body.w27-owner-batch.td27-family-calculator main .td-calculator-lead form { padding:0; margin:0; border:0; box-shadow:none; background:transparent; }
body.w27-owner-batch.td27-family-calculator main .td-calculator-lead fieldset { border:0; padding:0; margin:0; min-width:0; background:transparent; }
body.w27-owner-batch.td27-family-calculator main .td-calculator-lead legend { display:block; float:none; position:static; width:auto; height:auto; overflow:visible; clip-path:none; white-space:normal; font-size:1.6rem; line-height:1.2; font-weight:750; margin-bottom:1rem; padding:0; color:#123b2c; }
body.w27-owner-batch.td27-family-calculator main .td-calculator-lead .tdscreen-prelaunch-form__grid { grid-template-columns:1fr; gap:1rem; }
body.w27-owner-batch.td27-family-calculator main .td-calculator-lead .tdscreen-prelaunch-form__instructions { margin:0 0 1.2rem; color:#36564a!important; font-size:.95rem; }
body.w27-owner-batch.td27-family-calculator main .td-calculator-lead label { color:#123b2c; font-weight:700; }
body.w27-owner-batch.td27-family-calculator main .td-calculator__grid { gap:1rem; }
body.w27-owner-batch.td27-family-calculator main .td-calculator__grid :is(input,select) { min-height:50px; border:1px solid #8ba696; border-radius:.6rem; color:#123b2c!important; }
body.w27-owner-batch.td27-family-calculator main .td-calculator [data-calculate] { min-height:50px; padding:.8rem 1.3rem; border:0; border-radius:100px; background:#14543b; color:#fff; font-weight:700; }
body.w27-owner-batch.td27-family-calculator main .td-calculator__result { padding:1.5rem; border:1px solid #427c60; border-radius:1rem; background:#103d2b!important; color:#fff!important; margin-top:1.3rem; }
body.w27-owner-batch.td27-family-calculator main .td-calculator__result:not([hidden]) { display:grid; gap:.65rem; }
body.w27-owner-batch.td27-family-calculator main .td-calculator__result :is(strong,span,p,a) { color:#f0fff4!important; opacity:1; }
body.w27-owner-batch.td27-family-calculator main .td-calculator__result strong { font-size:clamp(1.4rem,2.4vw,2rem); }
body.w27-owner-batch.td27-family-calculator main .td-calculator__note { color:#36564a!important; font-size:.9rem; line-height:1.6; }
body.w27-owner-batch.td27-family-calculator main .td27-calculator-context { grid-column:1/-1; margin:0; }
body.w27-owner-batch.td27-family-calculator main .td27-calculator-guide .td-owner-content-section { margin:1.5rem 0; padding:clamp(1.5rem,3vw,3rem); background:#f8f5ed!important; border:1px solid #d5ded4; border-radius:1.2rem; color:#123b2c; }
body.w27-owner-batch.td27-family-calculator main .td27-calculator-guide .td-owner-content-section :is(h2,h3,h4,strong) { color:#123b2c!important; }
body.w27-owner-batch.td27-family-calculator main .td27-calculator-guide .td-owner-content-section :is(p,li) { color:#36564a!important; max-width:85ch; }
body.w27-owner-batch.td27-family-calculator main .td27-calculator-guide .td-owner-content-section a:not(.wp-block-button__link) { color:#17533c!important; }
body.w27-owner-batch.td27-family-calculator main .td27-calculator-guide .td-owner-content-section h2 { font-size:clamp(1.6rem,2.5vw,2.5rem); line-height:1.15; }
body.w27-owner-batch.td27-family-calculator main .td27-calculator-guide .td-owner-content-section h3 { font-size:1.3rem; }
body.w27-owner-batch.td27-family-calculator main [hidden] { display:none!important; }

@media(min-width:1100px) {
 body.w27-owner-batch.td27-family-portfolio main .td-gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body.w27-owner-batch.td27-family-portfolio main .td-gallery-card:first-child { grid-column:span 2; display:grid; grid-template-columns:1.25fr .75fr; }
 body.w27-owner-batch.td27-family-portfolio main .td-gallery-card:first-child .td-gallery-card__media { height:100%; width:100%; min-width:0; aspect-ratio:auto; }
 body.w27-owner-batch.td27-family-portfolio main .td-gallery-card:first-child .td-gallery-card__media img { height:100%; min-height:300px; }
 body.w27-owner-batch.td27-family-calculator main .td-calculator-lead .tdscreen-prelaunch-form__actions { align-items:stretch; flex-direction:column; }
}
@media(max-width:1050px) {
 body.w27-owner-batch.td27-family-calculator main .td27-calculator-tool { grid-template-columns:1fr; }
 body.w27-owner-batch main .w27-proof-section { grid-template-columns:1fr; }
 body.w27-owner-batch main ul.w27-service-link-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
 body.w27-owner-batch.td27-family-service main .td-service-page__hero-grid,
 body.w27-owner-batch.td27-family-area main .td-owner-editorial__hero,
 body.w27-owner-batch.td27-family-local-service main .td27-local-hero,
 body.w27-owner-batch.td27-family-service main .td27-detail-section--split { grid-template-columns:1fr; gap:1.5rem; }
 body.w27-owner-batch.td27-family-portfolio main .td-owner-editorial__hero>.wp-block-group:has(.w27-gallery-lead) { display:block; }
 body.w27-owner-batch.td27-family-portfolio main .td-owner-editorial__hero>.wp-block-group> :not(figure) { margin-bottom:1rem; max-width:none; }
 body.w27-owner-batch main .td27-detail-section--locations ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.w27-owner-batch main .td27-actions { display:flex; flex-wrap:wrap; }
 body.w27-owner-batch main .td27-actions>a { flex:1 1 180px; min-height:48px; }
}
@media(max-width:600px) {
 body.w27-owner-batch main :is(.w27-proof-grid,ul.w27-service-link-grid,.td27-detail-section--locations ul) { grid-template-columns:1fr; }
 body.w27-owner-batch main .tdscreen-prelaunch-form__actions { flex-direction:column; align-items:stretch; }
 body.w27-owner-batch main .tdscreen-prelaunch-form__actions>* { width:100%; }
 body.w27-owner-batch.td27-family-service main .td-service-page__hero { padding:1.5rem 1.25rem; }
 body.w27-owner-batch.td27-family-service main .td-service-page__content { padding:1rem 1.25rem 2rem; }
 body.w27-owner-batch main .td27-calculator__grid { grid-template-columns:1fr; }
 body.w27-owner-batch main .w27-security-note { flex-basis:100%; }
}
@media(prefers-reduced-motion:reduce) {body.w27-owner-batch *,body.w27-owner-batch *::before,body.w27-owner-batch *::after { scroll-behavior:auto!important; }}

/* Group gallery copy into one column so the photograph cannot stretch its text rows. */
body.w27-owner-batch.td27-family-portfolio main .td-owner-editorial__hero>.wp-block-group:has(.w27-gallery-intro) { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:3rem; }
body.w27-owner-batch.td27-family-portfolio main .td-owner-editorial__hero>.wp-block-group>.w27-gallery-intro { max-width:none!important; width:100%; min-width:0; }
body.w27-owner-batch.td27-family-portfolio main .w27-gallery-intro>* { margin:0 0 1.25rem; }
body.w27-owner-batch.td27-family-portfolio main .w27-gallery-intro h1 { font-size:clamp(2.2rem,3.4vw,3.7rem); line-height:1.1; }
body.w27-owner-batch.td27-family-portfolio main .td-owner-editorial__hero:has(.w27-gallery-intro) { padding:1.75rem 0 2.5rem!important; }
body.w27-owner-batch.td27-family-portfolio main .td-owner-editorial__hero>.wp-block-group:has(.w27-gallery-intro)>figure { grid-column:2; grid-row:auto; }
body.w27-owner-batch.td27-family-calculator main :is(.td-owner-editorial,.td27-calculator-page,.td27-calculator-guide,.td27-calculator-guide>.entry-content) { max-width:1400px!important; width:100%; }
body.w27-owner-batch.td27-family-calculator main .td27-calculator-guide .td-owner-content-section { max-width:none!important; }
body.w27-owner-batch.td27-family-calculator main .td27-calculator-tool:has(>.td-calculator-lead[hidden]) { grid-template-columns:1fr; }
body.w27-owner-batch.td27-family-calculator main .td27-calculator-tool:has(>.td-calculator-lead[hidden]) .td-calculator__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:800px) {
 body.w27-owner-batch.td27-family-portfolio main .td-owner-editorial__hero>.wp-block-group:has(.w27-gallery-intro) { grid-template-columns:1fr; gap:1.25rem; }
 body.w27-owner-batch.td27-family-portfolio main .td-owner-editorial__hero>.wp-block-group:has(.w27-gallery-intro)>figure { grid-column:1; }
 body.w27-owner-batch.td27-family-calculator main .td27-calculator-tool:has(>.td-calculator-lead[hidden]) .td-calculator__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 body.w27-owner-batch.td27-family-calculator main .td27-calculator-tool:has(>.td-calculator-lead[hidden]) .td-calculator__grid { grid-template-columns:1fr; }
}

body.w27-owner-batch main .td-service-illustration-note { color:#36564a!important; }
body.w27-owner-batch.td27-family-contact main figcaption { color:#d1e6d9!important; }
body.w27-owner-batch.td27-family-calculator main .td27-calculator-page--roi .td-calculator { background:#fff!important; color:#123b2c!important; border-color:#c8d8ce; border-radius:1.25rem; padding:clamp(1.5rem,3vw,3rem); }
body.w27-owner-batch.td27-family-calculator main .td27-calculator-page--roi .td-calculator :is(h2,h3,label) {color:#123b2c!important;}
body.w27-owner-batch.td27-family-calculator main .td27-calculator-page--roi .td-calculator .td-calculator__eyebrow {color:#23583e!important;}
body.w27-owner-batch.td27-family-calculator main .w27-calculator-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; max-width:none!important; margin:1.5rem 0; }
body.w27-owner-batch.td27-family-calculator main .w27-calculator-benefit { padding:1.5rem; background:#f8f5ed; border:1px solid #d5ded4; border-radius:1.1rem; }
body.w27-owner-batch.td27-family-calculator main .w27-calculator-benefit :is(h3,p) { color:#123b2c!important; }
body.w27-owner-batch.td27-family-calculator main .w27-step-number { display:inline-flex; width:2.5rem; height:2.5rem; align-items:center; justify-content:center; background:#14543b; color:#fff; border-radius:50%; font-weight:750; }
@media(max-width:800px) {body.w27-owner-batch.td27-family-calculator main .w27-calculator-benefits {grid-template-columns:1fr;}}
