/* Final Owner visual pass. Never applies to About, Gallery or the three frozen Ads pages. */
body.w27-final-visual { --w27-final-ink:#142d25; --w27-final-copy:#365449; --w27-final-paper:#f8f4ea; }
body.w27-final-visual.tdscreen-homepage main #reviews .td-reviews__all { color:#fff!important; }
.w27-final-middle-copy { display:contents; }
.w27-final-middle-photo { display:none; }
body.w27-final-visual main :is(.td27-actions,.td27-hero-actions,.tdscreen-prelaunch-form__actions):has(>a[href^="tel:"]):has(>:is(a[href*="free-estimate"],button[type="submit"])) { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:.8rem; width:100%; }
body.w27-final-visual main :is(.td27-actions,.td27-hero-actions,.tdscreen-prelaunch-form__actions):has(>a[href^="tel:"]):has(>:is(a[href*="free-estimate"],button[type="submit"]))>:is(a,button) { position:relative; display:flex!important; align-items:center; justify-content:center; width:100%; min-width:0; min-height:60px!important; height:auto; padding:.85rem 2.4rem!important; border-radius:999px!important; text-align:center!important; line-height:1.3; box-sizing:border-box; margin:0!important; }
body.w27-final-visual main .td27-actions:has(>a[href^="tel:"])>a>span[aria-hidden="true"] { position:absolute; right:1.1rem; top:50%; transform:translateY(-50%); margin:0!important; }
body.w27-final-visual main .tdscreen-prelaunch-form__actions>:is(a,button)::after { content:'↗'; position:absolute; right:1.1rem; top:50%; transform:translateY(-50%); }
body.w27-final-visual main .tdscreen-prelaunch-form__actions>button { color:#092e20!important; background:linear-gradient(110deg,#beff83,#89e548)!important; }
body.w27-final-visual main .tdscreen-prelaunch-form__actions>a[href^="tel:"] { color:#073846!important; background:linear-gradient(115deg,#b1f3fb,#24bddb)!important; }
body.w27-final-visual main .tdscreen-prelaunch-form__instructions { max-width:70ch; line-height:1.65; }
body.w27-final-visual main .td-calculator__result :is(p,span,small,strong,a) { color:#f4fff5!important; opacity:1!important; }
body.w27-final-visual main .td-calculator__result { color:#f4fff5!important; }
body.w27-final-visual main .tdscreen-prelaunch-form__security { border-radius:.8rem; }
body.w27-final-visual main .tdscreen-prelaunch-form__status:empty { min-height:0; margin-top:0; padding:0; }
.w27-measure-guide { padding:clamp(1.4rem,3vw,2.5rem); background:#f8f4ea; color:#142d25; border:1px solid #d5dfd4; border-radius:1.25rem; min-width:0; }
body.w27-final-visual main .w27-measure-guide :is(h2,dt) { color:#142d25!important; }
body.w27-final-visual main .w27-measure-guide :is(p,dd) { color:#365449!important; }
body.w27-final-visual main .w27-measure-guide .td27-eyebrow { color:#69452d!important; }
.w27-measure-guide h2 { font-size:clamp(1.6rem,2.3vw,2.4rem); line-height:1.15; margin:.75rem 0 1rem; }
.w27-measure-diagram { display:block; width:100%; height:auto; max-height:360px; }
.w27-measure-key { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin:.5rem 0 1rem; }
.w27-measure-key dt { font-weight:750; font-size:.9rem; }
.w27-measure-key dd { margin:.35rem 0 0; font-size:.8rem; line-height:1.5; }
.w27-measure-help { padding-top:1rem; margin:0!important; border-top:1px solid #c9d4c6; font-size:.9rem; line-height:1.6; }
@media(min-width:1024px) {
 body.w27-final-visual:not(.tdscreen-homepage):not(.w27-final-middle-only) main :is(.td-owner-editorial,.td27-family-content,.td-service-page__body,.td27-calculator-page,.td27-calculator-guide) { width:100%!important; max-width:1480px!important; margin-inline:auto; }
 body.w27-final-visual:not(.tdscreen-homepage):not(.w27-final-middle-only) main :is(.td27-detail-section,.td-owner-content-section,.w27-proof-section,.w27-source-photos,.td-owner-service-directory,.td-service-landing-proof,.td-service-landing-faq,.td27-family-body) { max-width:none!important; width:100%; }
 body.w27-final-visual main .w27-final-wide { width:100%!important; max-width:none!important; margin-inline:0!important; }
 body.w27-final-visual main .w27-final-middle { padding:clamp(1.75rem,3.4vw,3.5rem); margin-block:1.5rem; border-radius:1.4rem; }
 body.w27-final-visual main .w27-final-photo-section { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; align-items:center; gap:clamp(2rem,4vw,4rem)!important; }
 body.w27-final-visual main .w27-final-middle-copy { display:block; min-width:0; }
 body.w27-final-visual main .w27-final-middle-photo { display:block; min-width:0; width:100%; }
 body.w27-final-visual main .w27-final-photo-section.w27-final-alternate .w27-final-middle-photo { grid-column:1; grid-row:1; }
 body.w27-final-visual main .w27-final-photo-section.w27-final-alternate .w27-final-middle-copy { grid-column:2; grid-row:1; }
 body.w27-final-visual main .w27-final-photo-section :is(h2,h3) { max-width:24ch; }
 body.w27-final-visual main .w27-final-middle-copy :is(p,ul,ol) { max-width:65ch; }
 body.w27-final-visual main .w27-final-middle-photo>img { aspect-ratio:4/3; width:100%!important; height:auto!important; max-height:480px; object-fit:cover; }
 body.w27-final-visual main .w27-final-middle-photo figcaption { color:inherit!important; opacity:1; }
 body.w27-final-visual main .w27-final-middle-photo figcaption>a { color:inherit!important; text-decoration:underline; text-underline-offset:3px; }
 body.w27-final-visual main .w27-final-middle:not(.w27-final-photo-section) { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:2rem 3rem; }
 body.w27-final-visual main .w27-final-middle:not(.w27-final-photo-section)>h2 { grid-column:1; grid-row:1/span 6; margin-top:0; }
 body.w27-final-visual main .w27-final-middle:not(.w27-final-photo-section)>:not(h2) { grid-column:2; }
 body.w27-final-visual main .w27-final-middle :is(.td27-section-copy,.td27-section-copy ul) { max-width:none; }
 body.w27-final-visual main .w27-final-middle .td27-section-copy>p { max-width:70ch; }
 body.w27-final-visual main .w27-final-middle.td27-detail-section--locations { display:block; }
 body.w27-final-visual main .w27-final-middle.td27-detail-section--locations ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
 body.w27-final-visual main .td27-calculator-tool:has(.w27-measure-guide) { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr)!important; gap:1.5rem; align-items:start; }
 body.w27-final-visual main .td27-calculator-tool>.td-calculator { grid-column:1; grid-row:1; }
 body.w27-final-visual main .td27-calculator-tool>.w27-measure-guide { grid-column:2; grid-row:1; }
 body.w27-final-visual main .td27-calculator-tool>.td-calculator-lead { grid-column:1/-1; grid-row:2; max-width:none!important; width:100%!important; padding:clamp(1.75rem,3vw,3rem); }
 body.w27-final-visual main .td27-calculator-tool>.td27-calculator-context { grid-column:1/-1; }
 body.w27-final-visual main .td27-calculator-tool .td-calculator__grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 body.w27-final-visual.td27-family-calculator main .td-calculator-lead fieldset { display:grid!important; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:1rem 3rem; }
 body.w27-final-visual main .td-calculator-lead legend { width:100%; margin-bottom:1rem; font-size:1.6rem; }
 body.w27-final-visual main .td-calculator-lead .tdscreen-prelaunch-form__instructions { grid-column:1; grid-row:1/span 3; margin:0; }
 body.w27-final-visual main .td-calculator-lead :is(.tdscreen-prelaunch-form__grid,.tdscreen-prelaunch-form__security,.tdscreen-prelaunch-form__actions) { grid-column:2; }
 body.w27-final-visual.td27-family-calculator main .td-calculator-lead .tdscreen-prelaunch-form__grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 body.w27-final-visual main .td-calculator-lead :is(.tdscreen-prelaunch-form__summary,.tdscreen-prelaunch-form__status) { grid-column:1/-1; }
 body.w27-final-visual main .td27-calculator-guide .td-owner-content-section { padding:2.5rem 3rem; }
 body.w27-final-visual main .td27-calculator-guide .td-owner-content-section>p { max-width:80ch; }
 body.w27-final-visual main .td27-family-body>p { max-width:80ch; }
 body.w27-final-visual main ul.w27-service-link-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:1101px) {
 body.w27-final-visual .td-header-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:330px; flex:0 0 330px; }
 body.w27-final-visual .td-header-actions>a { width:100%; min-width:0!important; height:56px; min-height:56px; padding:.6rem .75rem; box-sizing:border-box; justify-content:center; text-align:center; border-radius:999px; }
}
@media(min-width:768px) and (max-width:1023px) {
 body.w27-final-visual main .w27-final-wide { max-width:none!important; width:100%; }
 .w27-measure-guide { display:none; }
}
@media(max-width:767px) {
 .w27-measure-guide { display:none; }
 body.w27-final-visual main :is(.td27-actions,.td27-hero-actions,.tdscreen-prelaunch-form__actions):has(>a[href^="tel:"]):has(>:is(a[href*="free-estimate"],button[type="submit"])) { grid-template-columns:1fr; grid-auto-rows:auto; }
 body.w27-final-visual.tdscreen-homepage .td-projects--spatial .td-project-carousel__scene { min-height:0; height:clamp(490px,128vw,550px); }
 body.w27-final-visual.tdscreen-homepage .td-projects--spatial .td-project-slide { align-items:start; background:#0c382b; }
 body.w27-final-visual.tdscreen-homepage .td-projects--spatial .td-project-slide>img { position:relative; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:center; }
 body.w27-final-visual.tdscreen-homepage .td-projects--spatial .td-project-slide::after { background:none; }
 body.w27-final-visual.tdscreen-homepage .td-projects--spatial .td-project-slide__overlay { position:absolute; top:calc((100vw - 32px)*.75); padding:1.1rem 1.25rem; }
 body.w27-final-visual.tdscreen-homepage .td-projects--spatial .td-project-slide__overlay h3 { font-size:clamp(1.5rem,6vw,1.9rem); line-height:1.15; margin:.65rem 0; }
 body.w27-final-visual.tdscreen-homepage .td-projects--spatial .td-project-slide__overlay p { font-size:.94rem; line-height:1.55; margin:.5rem 0; }
}
@media(max-width:900px) {
 body.w27-final-visual.tdscreen-homepage .td-primary-nav__panel.is-menu-open,
 body.w27-final-visual.tdscreen-homepage .td-primary-nav__panel.is-menu-open .td-primary-nav__dialog { background:#f4efe3!important; color:#202923!important; }
 body.w27-final-visual.tdscreen-homepage .td-primary-nav__panel.is-menu-open :is(.wp-block-navigation-item__content,.td-menu-title,.td-primary-nav__close) { color:#202923!important; }
 body.w27-final-visual.tdscreen-homepage .td-primary-nav__panel.is-menu-open :is(.td-menu-number,.td-menu-arrow) { color:#79553b!important; }
 body.w27-final-visual.tdscreen-homepage .td-primary-nav__panel.is-menu-open :is(.td-menu-subtitle,.td-menu-trust) { color:#4d5a50!important; }
 body.w27-final-visual.tdscreen-homepage .td-primary-nav__panel.is-menu-open .wp-block-navigation-item__content { border-bottom-color:#cfc5b4; }
 body.w27-final-visual.tdscreen-homepage .td-primary-nav__panel.is-menu-open .td-mobile-cta { background:#e9dfcc!important; border-color:#c9bea9; }
 body.w27-final-visual.tdscreen-homepage .td-primary-nav__panel.is-menu-open :focus-visible { outline-color:#79553b!important; }
 body.w27-final-visual .td-mobile-cta { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
body.w27-final-visual.tdscreen-homepage .td-reviews__all { color:#fff!important; background:#14543b!important; border-color:#14543b!important; }
body.w27-final-visual.tdscreen-homepage .td-final-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
body.w27-final-visual.tdscreen-homepage .td-final-actions>a { width:100%; min-width:0; display:flex; justify-content:center; }
/* Owner requested straight service cards, including while a pointer is over them. */
body.w27-final-visual.tdscreen-homepage #services .td-service-card:hover { transform:none!important; }
@media(max-width:600px) {body.w27-final-visual.tdscreen-homepage .td-final-actions {grid-template-columns:1fr;}}

/* Scoped polish: no frozen page layout changes. */
/* Item 13 only on approved About/Gallery: preserve content and composition. */
body.w27-polish-preserved-cta :is(.td-header-actions,main .td27-actions):has(>a[href^="tel:"]):has(>a[href*="free-estimate"]) { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:.8rem; }
body.w27-polish-preserved-cta :is(.td-header-actions,main .td27-actions)>a { position:relative; display:flex!important; justify-content:center; align-items:center; width:100%; min-width:0; min-height:60px; height:auto; margin:0!important; border-radius:999px; text-align:center; padding:.8rem 2.2rem!important; line-height:1.3; box-sizing:border-box; }
body.w27-polish-preserved-cta main .td27-actions>a>span[aria-hidden="true"] { position:absolute; right:1rem; top:50%; transform:translateY(-50%); }
body.w27-polish-preserved-cta .td-mobile-cta { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.w27-polish-preserved-cta .td-mobile-cta>a { width:100%; min-width:0; }
body.w27-final-visual main .w27-roi-disclosure { color:#203c2e!important; background:#f4ecdc; padding:1.25rem 1.4rem; margin:1rem 0 0; border:1px solid #9cae99; border-left:5px solid #745035; border-radius:.75rem; font-size:1rem; line-height:1.7; opacity:1; max-width:80ch; }
body.w27-final-visual main .td-calculator__result>span { display:block; overflow-wrap:anywhere; }
@media(min-width:768px) and (max-width:1024px) {
 body.w27-final-visual main :is(.td27-actions,.tdscreen-prelaunch-form__actions):has(>a[href^="tel:"])>:is(a,button) { min-height:72px!important; height:72px!important; font-size:1rem!important; padding:.65rem 2.25rem!important; line-height:1.3; }
}
@media(max-width:767px) {
 body.w27-polish-preserved-cta main .td27-actions:has(>a[href^="tel:"]) { grid-template-columns:1fr; }
 body.w27-polish-preserved-cta main .td27-actions>a { flex:0 0 auto!important; height:60px!important; }
 body.w27-final-visual main .td27-actions:has(>a[href^="tel:"])>a { flex:0 0 auto!important; min-height:60px!important; height:60px!important; max-height:60px; }
 body.w27-final-visual .td27-estimate-page .td27-actions>a { position:relative; display:flex; align-items:center; justify-content:center; text-align:center; padding:.65rem 2.25rem!important; }
 body.w27-final-visual .td27-estimate-page .td27-actions>a>span[aria-hidden="true"] { position:absolute; right:1rem; top:50%; transform:translateY(-50%); }
 body.w27-final-visual .td27-estimate-page .td27-hero { padding-top:0; }
 body.w27-final-visual .td27-estimate-page .td27-hero-intro h1 { overflow:visible; height:auto; line-height:1.12; }
 body.w27-final-visual .td27-estimate-page .td27-hero-actions .td27-actions--form-primary { display:none!important; }
 body.w27-final-visual .td27-estimate-page .td27-hero-actions { display:block!important; margin-top:1rem; }
 body.w27-final-visual .td27-estimate-page .td27-hero-actions .td27-rating { margin:0; }
 body.w27-final-visual .td27-estimate-page .td27-estimate-form-wrap { scroll-margin-top:110px; }
 body.w27-final-visual .td27-estimate-page .tdscreen-prelaunch-form__actions>:is(a,button) { min-height:60px!important; height:60px!important; max-height:60px; font-size:.9rem; padding:.65rem 2.25rem!important; }
}

/* Free Estimate narrow tablet CTA component: preserve the surrounding layout. */
@media(min-width:767px) and (max-width:800px) {
 body.w27-final-visual .td27-estimate-page :is(.td27-actions,.tdscreen-prelaunch-form__actions):has(>a[href^="tel:"])>:is(a[href],button[type="submit"]) { position:relative; flex:0 0 auto!important; min-height:72px!important; height:72px!important; max-height:72px; min-width:0; box-sizing:border-box; padding:.65rem 2.25rem!important; line-height:1.3; white-space:normal; }
 body.w27-final-visual .td27-estimate-page .tdscreen-prelaunch-form__actions:has(>a[href^="tel:"]) { grid-template-columns:minmax(0,1fr)!important; grid-auto-rows:72px; gap:.8rem; }
}

/* Keep the close control clear of the WordPress toolbar in Owner previews. */
body.admin-bar .td-primary-nav__panel.is-menu-open .td-primary-nav__close { top:calc(1.2rem + var(--wp-admin--admin-bar--height,32px)); z-index:2; }


/* Owner request, October 6: warm beige navigation with readable, calm typography.
   This sheet is Sandbox-only and is not enqueued on the three frozen Ads pages. */
.td-site-header .td-primary-nav__panel.is-menu-open { background:var(--td-color-warm-beige,#f3eee5)!important; color:var(--td-color-ink,#142d25)!important; }
.td-primary-nav__panel.is-menu-open .td-primary-nav__dialog { color:var(--td-color-ink,#142d25); }
.td-primary-nav__panel.is-menu-open .td-primary-nav__list a { color:var(--td-color-ink,#142d25)!important; border-color:var(--td-color-warm-line,#d9d0c3)!important; padding-block:1.25rem; min-height:94px; letter-spacing:normal; text-shadow:none; transition:background-color 160ms ease; }
.td-primary-nav__panel.is-menu-open .td-menu-title { color:var(--td-color-ink,#142d25)!important; font-size:clamp(1.75rem,4.6vw,2.5rem); line-height:1.15; font-weight:700; letter-spacing:-.02em; }
.td-primary-nav__panel.is-menu-open .td-menu-subtitle { color:#3c5046!important; font-size:.9375rem; line-height:1.5; font-weight:450; letter-spacing:normal; margin-top:.45rem; }
.td-primary-nav__panel.is-menu-open :is(.td-menu-number,.td-menu-arrow) { color:#365b49!important; letter-spacing:normal; }
.td-primary-nav__panel.is-menu-open .td-menu-number { font-size:.75rem; }
.td-primary-nav__panel.is-menu-open .td-menu-trust { color:#3c5046!important; font-size:.9375rem; line-height:1.5; letter-spacing:normal; }
.td-primary-nav__panel.is-menu-open .td-primary-nav__close { color:var(--td-color-ink,#142d25)!important; background:var(--td-color-light-beige,#fcf9f3)!important; border-color:#b7b1a3!important; box-shadow:0 3px 12px rgb(20 45 37 / 6%); }
.td-primary-nav__panel.is-menu-open .td-primary-nav__list a:hover { color:var(--td-color-ink,#142d25)!important; background:#e9e0d3; }
.td-primary-nav__panel.is-menu-open :is(.td-primary-nav__list a,.td-primary-nav__close):focus-visible { outline:3px solid #365b49; outline-offset:4px; }
.td-primary-nav__panel.is-menu-open > .td-mobile-cta { background:var(--td-color-light-beige,#fcf9f3)!important; border-color:var(--td-color-warm-line,#d9d0c3)!important; box-shadow:0 -6px 22px rgb(20 45 37 / 7%); }
.td-primary-nav__panel.is-menu-open > .td-mobile-cta > a { box-shadow:0 4px 12px rgb(20 45 37 / 10%)!important; }
@media(prefers-reduced-motion:reduce) { .td-primary-nav__panel.is-menu-open .td-primary-nav__list a { transition:none; } }
