/* Topanga Detail | Bright edition — shared with every public PHP template.
   Light, editorial content, navy typography, blue and mineral-sand accents;
   the original reference-inspired dark navigation, photo hero, and fixed bars remain. */
:root{
  --bg:#f5f8fc;--panel:#fff;--panel2:#ecf4fa;--text:#102638;
  --muted:#506779;--line:#d6e2ec;--blue:#067ce6;--blue2:#0067bd;
  --warm:#94602a;--sage:#216e6b;--readable:#455f73;
  --bright-ink:#122b40;--bright-muted:#526a7c;--bright-white:#fff;
  --bright-line:#d8e4ed;--bright-blue:#086dbf;--bright-sand:#f8f2e9;
}
html{scroll-padding-top:95px}
body,body.reference-home{background:#f5f8fc;color:var(--bright-ink)}
body:before,body::before{display:none!important}
main{background:transparent}
main h1,main h2,main h3,main h4{color:#122739}
main p,main li,main small{color:inherit}
.eyebrow,.td-page-intro>.eyebrow,.td-cert{color:#086bb7!important}
.text-link{color:#075faa}
.text-link:hover,.text-link:focus-visible{color:#003d78}
.button{color:#fff;background:linear-gradient(135deg,#0987ed,#076ab7);border-color:#0c77d4}
.button.outline{color:#075fa7;border-color:#447b9f;background:#fff;box-shadow:none}
.button.outline:hover{background:#e9f4fd}
/* The same dark, compact header is used everywhere through site-header.php. */
.site-header,.ref-site-header{background:#0d161fef;color:#fff;border-bottom:1px solid #374a5d;height:91px;min-height:91px}
.site-header .brand-logo{object-fit:contain;width:260px;height:auto;max-height:78px;filter:none!important}
.site-header .ref-primary-nav a,.site-header .ref-menu-dropdown summary{color:#e8f0fa}
.site-header .ref-primary-nav a:hover,.site-header .ref-menu-dropdown summary:hover,.site-header .ref-primary-nav a.active,.site-header .ref-menu-dropdown summary.active{color:#61b6ff}
.site-header .ref-header-actions .button{color:#fff}
.site-header .ref-header-actions .button.outline{color:#fff;background:transparent;border-color:#ced7e0}
.site-header .ref-dropdown-links{background:#142232;border-color:#446078}
.site-header .ref-dropdown-links a:hover{background:#20384d;color:#8fd0ff}
/* Keep the homepage photographic hero dark for text contrast. */
.reference-home .ref-hero{color:#fff}
.reference-home .ref-hero h1,.reference-home .ref-hero p{color:#fff}
.reference-home .ref-hero .ref-kicker{color:#e1edf8}
.reference-home .ref-cert-card,.reference-home .ref-cert-card p{color:#fff}
.reference-home .ref-hero .ref-light-button{background:#fff;color:#142739;border-color:#fff}
.reference-home .ref-benefits{background:#fff;color:#152b3d;border-bottom:1px solid #d7e3ed}
.reference-home .ref-service-showcase{background:linear-gradient(#fff,#f4f9fd)}
.reference-home .ref-service-card,.reference-home .ref-service-card h3,.reference-home .ref-service-card p{color:#fff}
.reference-home .ref-suncoat,.reference-home .ref-suncoat h2,.reference-home .ref-suncoat p{color:#fff}
.reference-home .td-editorial{background:#edf5fb;color:#173149}
.reference-home .td-editorial-heading p:not(.eyebrow){color:#4b6275}
.reference-home .td-editorial .td-steps-grid article{background:#fff;color:#1d3348}
.reference-home .td-editorial .td-steps-grid p{color:#53697b}
/* Clear alternating surfaces and tighter editorial sections after the hero. */
.section,.td-before,.td-faq{padding-block:clamp(2.7rem,5.3vw,5.2rem)}
.section h2,.td-editorial h2,.td-journal-preview h2,.td-consult-band h2{color:#122b40}
.section h2 em,.td-editorial h2 em{color:#0879cb}
.section-head>p:last-child,.section p,.section .package-copy{color:#52697a}
.packages{background:#fff;border-radius:24px;margin-block:42px;padding:clamp(28px,3.5vw,52px)}
.package,.package.featured{color:#152f43;background:#f8fbfd;border:1px solid #d5e3ec;box-shadow:0 5px 23px #0e335014}
.package.featured{background:#edf6ff;border-color:#85bce7}
.package h3,.package td{color:#0e263a}
.package th{color:#4b677c}
.package .tier{color:#086ab9}
.package li{border-bottom-color:#e3ebf1;color:#254057}
.package ul{border-top-color:#d1e1eb}
.package-copy{min-height:auto}
.fineprint{color:#647789}
.story,.story-copy{color:#1d3347}
.story-copy p:not(.eyebrow){color:#475f72}
.experience{background:#0b74c9;color:#fff}
.experience b,.experience span{color:#fff!important}
.td-home-service-grid a,.td-before-grid article,.td-steps-grid article{background:#fff;color:#172f44;border:1px solid #d2e0eb;box-shadow:0 3px 18px #12345211}
.td-home-service-grid b,.td-before-grid h3,.td-steps-grid h3{color:#162e42}
.td-home-service-grid span,.td-before-grid p,.td-steps-grid p{color:#506b7e}
.td-journal-preview{background:#eaf3f9;border-color:#d1e1eb}
.td-journal-cards a{background:#fff;border-color:#cfdfeb;color:#192f43;box-shadow:0 4px 18px #0d395214}
.td-journal-cards h3{color:#162e40}
.td-journal-cards small,.td-journal-cards span{color:#076cb6}
.td-before h2,.td-faq h2,.td-faq summary{color:#153149}
.td-faq>div>p:not(.eyebrow),.td-faq details p{color:#4a6377}
.td-faq details{border-bottom-color:#cbdce8}
.td-faq details summary:hover{color:#086cbf}
.td-consult-band,.td-article-cta{background:linear-gradient(125deg,#0e436b,#0c3050);border:1px solid #4f8aa8;color:#fff}
.td-consult-band h2,.td-consult-band p,.td-article-cta h2,.td-article-cta p{color:#fff!important}
.td-consult-band .eyebrow{color:#a9d9fd!important}
.td-consult-band .text-link,.td-article-cta .text-link{color:#c1e9ff}
.booking{background:#e8f3fa;border-color:#bcd9ed;color:#20364a;margin-block:3rem;gap:2rem}
.booking>div>p:not(.eyebrow){color:#496477}
/* City / service page foundations. */
.area-page,.booking-page{color:#142d40}
.breadcrumbs,.td-breadcrumb{color:#526c7e}
.breadcrumbs a,.td-breadcrumb a{color:#086cb8}
.area-hero,.service-hero,.area-index-hero,.service-index-hero{background:linear-gradient(120deg,#f7fbfe,#eaf3fa);max-width:none;padding-inline:max(4vw,24px)}
.area-hero h1,.area-index-hero h1,.service-hero h1,.service-index-hero h1{color:#112b40}
.area-lead,.area-index-hero>p:last-of-type,.service-lead,.service-index-hero>p{color:#496579}
.area-trust{background:#e1eff8;color:#25506d;border-color:#c9dee9;font-weight:650}
.area-trust span{color:#28546c}
.area-section,.area-process,.area-faq,.related-areas{padding-block:clamp(2.5rem,4vw,4rem)}
.area-section p,.area-process p,.area-faq p,.related-areas p{color:#52697d}
.area-coverage strong{color:#133750}
.feature-grid{border-color:#d1dfeb}
.feature-grid article{background:#fff;color:#142b3f;border-color:#d1dfeb}
.feature-grid h3,.catalog-grid h3{color:#112c41}
.feature-grid p,.catalog-grid p{color:#526879}
.area-proof>div{background:#edf5fb;color:#1a3448;border-color:#cee0eb}
.area-proof span{color:#496377}
.area-proof li{border-color:#d0e0ea}
.catalog-grid article,.area-grid a,.related-areas>div a{border-color:#d4e0e8}
.area-grid small,.related-areas small{color:#5d7687}
.area-process{border-color:#d7e4ed;background:#fff}
.area-process article,.area-process article:nth-child(2){background:#f8fbfe;border-color:#d2e1ea;color:#142c40;box-shadow:0 4px 20px #143f5810}
.area-process article:nth-child(2){background:#edf6ff;border-color:#a7cdea}
.area-process h3{color:#17344a}
.area-faq>div:last-child{background:#fff;border-color:#d3e0eb}
.area-faq details,.td-article-content details{border-color:#d5e2eb}
.area-faq summary,.td-article-content summary{color:#153347}
.area-cta{background:linear-gradient(120deg,#0b385a,#0d2439 75%);border-color:#1a567a;color:#fff}
.area-cta h2,.area-cta p{color:#fff!important}
.area-cta .eyebrow{color:#9fd5fa!important}
.area-cta .button.outline,.td-consult-band .button.outline{color:#fff;border-color:#bad8eb;background:transparent}
.area-hub-intro{background:#edf5fb;border-color:#cbdde9}
/* Service hubs, related work and prices */
.service-hero-photo{border-color:#ccdce7}
.service-step-grid article,.service-related-grid a,.service-hub-card{background:#fff;color:#153249;border-color:#d2e0e9;box-shadow:0 4px 15px #10314912}
.service-step-grid article h3,.service-related-grid span,.service-hub-copy h3{color:#133048}
.service-step-grid p,.service-related-grid small,.service-hub-copy p{color:#536e7f}
.service-choice-note{background:#eaf5fb;color:#193951;border-color:#c1deed}
.service-choice-note h3{color:#13314a}
.service-choice-note p{color:#516c7d}
.service-hub-copy small,.service-hub-copy span{color:#086cb6}
.service-hub-copy h3,.td-blog-card-copy h2{color:#162e42}
.service-hub-card:hover,.service-related-grid a:hover{border-color:#389de0}
.td-rates .td-price-overflow{border-color:#d3e1e8}
.td-pricing-section,.td-form-panel,.td-side-panel{background:#fff;color:#173148;border-color:#d6e3ec;box-shadow:0 4px 22px #173d5411}
.td-price-overflow th{background:#dbeefb;color:#174e77}
.td-price-overflow th,.td-price-overflow td{border-color:#dce8ef}
.td-price-overflow td,.td-pricing-head h2{color:#143149}
.td-price-overflow td small,.td-pricing-head p,.td-disclaimer{color:#596f81}
.td-addon-cards>div{background:#f7fafc;border-color:#d3e0e9}
.td-addon-cards span,.td-cert{color:#0a659e!important}
.td-page-intro h1{color:#153048}
.td-page-intro>p,.td-pricing-head p,.td-side-panel p{color:#4d6478}
.td-form-grid label{color:#243e52}
.td-form-grid input,.td-form-grid select,.td-form-grid textarea{background:#f9fcfe;color:#173149;border-color:#b5ccdc}
.td-form-grid input:focus,.td-form-grid select:focus,.td-form-grid textarea:focus{border-color:#037cdb}
.td-consent{color:#4e6679}
#consultation-status{color:#0769b6}
#consultation-success{background:#e0f5ed;color:#1e584a;border-color:#8fcbb6}
/* Journal and articles are readable light cards rather than dark blocks */
.td-blog-grid article{background:#fff;color:#173148;border-color:#d3e0e9;box-shadow:0 5px 18px #0e395014}
.td-blog-card-copy small,.td-byline{color:#0a689f}
.td-blog-card-copy p,.td-article-content p{color:#4e667a}
.td-blog-card-copy b{color:#086bb5}
.td-article-content .td-intro{color:#263d52}
.td-article-note{background:#ecf5fa;color:#1c4057;border-color:#b9d5e5}
.td-article-note h2,.td-article-note p{color:#214058}
/* Booking wizard is a bright, compact accordion; the fixed booking strip is retained. */
.booking-page-main{padding-top:clamp(2.5rem,5vw,4rem)}
.booking-page-head h1{color:#102b40}
.booking-page-head>p:last-child{color:#516a7e}
.td-booker{color:#183246;background:#fff;border:1px solid #d1e0e9;box-shadow:0 10px 48px #0d3a5b1a}
.td-booker-progress span{color:#657a8b;border-color:#d5e3eb}
.td-booker-progress span.active{color:#076ab9;border-color:#0a80d3}
.td-booker legend,.td-field>span,.td-field{color:#1b3e59}
.td-select-hint{color:#587183;margin:0 0 1rem;font-size:.86rem}
.td-service-group,.td-book-accordion{display:block!important;border:1px solid #d6e3eb;border-radius:12px;background:#f9fbfe;margin:0 0 .75rem;padding:0;overflow:hidden}
.td-service-group[open],.td-book-accordion[open]{border-color:#93c5e6;background:#fff;box-shadow:0 3px 18px #0c569213}
.td-service-group summary,.td-book-accordion>summary{display:flex;gap:.9rem;align-items:center;cursor:pointer;list-style:none;padding:1rem 1.1rem;color:#132f44;font-weight:800;min-height:56px}
.td-service-group summary::-webkit-details-marker,.td-book-accordion>summary::-webkit-details-marker{display:none}
.td-service-group summary:focus-visible,.td-book-accordion>summary:focus-visible{outline:3px solid #0d87e7;outline-offset:-4px}
.td-group-title{flex:1;font-size:.95rem}
.td-group-meta,.td-accordion-status{margin-left:auto;color:#4c6b81;font-size:.76rem;font-weight:700;text-align:right}
.td-group-chevron{font-size:1.3rem;color:#0876c8;line-height:1;transition:transform .18s}
.td-service-group[open] .td-group-chevron,.td-book-accordion[open] .td-group-chevron{transform:rotate(180deg)}
.td-service-group.has-choice:not([open])>summary{background:#edf7ff}
.td-service-tiles{padding:0 1rem 1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.td-service-tiles label>span{background:#fff;border-color:#c7d8e4;min-height:86px;color:#122e42;padding:.8rem}
.td-service-tiles small{color:#567186}
.td-service-tiles strong{color:#0765a7}
.td-service-options input:checked+span,.td-size-options input:checked+span{background:#e5f4ff;border:2px solid #087fce;box-shadow:inset 0 0 0 1px #acd8f7}
.td-service-tiles input:focus-visible+span,.td-size-options input:focus-visible+span{outline:3px solid #0b82d8;outline-offset:2px}
.td-accordion-body{padding:0 1rem 1rem}
.td-size-options{display:flex;flex-wrap:wrap;gap:.7rem}
.td-size-options span{background:#fff;color:#214259;border-color:#c5d6e2}
.td-extra-grid label{background:#fff;color:#203c50;border-color:#cedfe8}
.td-extra-grid small{color:#54778b}
.td-addon-note{color:#526e7d;margin:.1rem 0 1rem}
.td-selection-line{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#e9f5ff;border:1px solid #c2dfef;color:#1b425a;padding:.75rem 1rem;border-radius:10px;margin:1rem 0 1.2rem;font-size:.84rem}
.td-selection-line strong{color:#075f9f;font-size:1.13rem;white-space:nowrap}
.td-fields label{color:#244458}
.td-field input,.td-fields input,.td-fields textarea{background:#fbfdff;color:#17374d;border-color:#bbd2e2}
.td-field input[type="date"]{color-scheme:light;background-color:#fff;color:#183a50;border-color:#408ac0;box-shadow:none}
.td-time{background:#fff;color:#14344b;border:1px solid #85a6bd}
.td-time:hover{background:#e6f5ff;color:#122d42}
.td-time.active{background:#087dd6;color:#fff}
.td-form-actions .button.outline{background:#fff;color:#12639e;border-color:#447caa}
.td-consent,.td-summary{color:#4b677c}
.td-summary{background:#f1f7fc;border:1px solid #d1e4ef}
.td-message{color:#a21c32}
.td-reference{color:#103b5a!important}
.td-success h3{color:#102c44}
/* Preserve sticky booking price strip's clear distinction and fixed position */
.td-price-bar{background:#f5f9fd;color:#07121c}
.td-price-bar strong{color:#142d40}
/* Dark navy footer as a stable visual anchor. */
footer{background:#0f202e;color:#e8f2fb;max-width:none;border-top:1px solid #29495e}
footer h2,footer .copyright,footer .copyright a{color:#e5eef8!important}
footer div>a,footer div>p,footer small{color:#d8e5f0}
footer .social-link{color:#eff7fc;border-color:#38556b;background:#162c3d}
footer .social-link.is-placeholder{color:#d9e5ef!important}
/* Links and form focus across the theme */
main a:focus-visible,main button:focus-visible,main summary:focus-visible{outline:3px solid #067cc9;outline-offset:3px}
@media(max-width:1360px){.site-header .brand-logo{width:235px;max-height:74px}}
@media(max-width:800px){.site-header,.ref-site-header{height:78px;min-height:78px}.site-header .brand-logo{width:215px;max-height:68px}}
@media(max-width:500px){.site-header .brand-logo{width:195px;max-height:62px}.td-selection-line{flex-direction:column;align-items:flex-start;gap:4px}.td-service-tiles{grid-template-columns:1fr}.td-booker{padding:1rem}.td-service-group summary,.td-book-accordion>summary{padding:.9rem}.td-group-meta,.td-accordion-status{max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
/* The legacy service-tile span selector also matches summary labels;
   reset those labels so accordion headings remain compact and legible. */
.td-service-group>summary>span{
  display:inline-block;min-height:0;height:auto;padding:0;margin-top:0;
  background:transparent;border:0;border-radius:0;box-shadow:none;
  color:#15384f;line-height:1.4;
}
.td-service-group>summary>.td-group-title{flex:1}
.td-service-group>summary>.td-group-meta{color:#54738a;font-size:.76rem;font-weight:700;margin-left:auto}
.td-service-group>summary>.td-group-chevron{color:#0876c8;font-size:1.3rem;line-height:1}
.booking-page-head h1{font-family:Manrope,Inter,system-ui,sans-serif}
/* Small-screen booking: keep the fixed controls but give the choices more room. */
@media(max-width:720px){
 .booking-page-main{padding-top:1.6rem;padding-bottom:182px}
 .booking-page-head{margin-bottom:1.2rem}
 .booking-page-head h1{font-size:clamp(2rem,9vw,2.9rem);margin:.2rem 0 .6rem}
 .booking-page-head>p:last-child{font-size:.9rem;line-height:1.5}
 .td-price-bar{padding:.65rem 17px .75rem;gap:.45rem;box-shadow:0 -6px 22px #16384a32}
 .td-price-bar strong{font-size:1.65rem}
 .td-price-bar small{font-size:.69rem}
 .td-price-bar p{font-size:.65rem;margin:0}
 .td-price-action{padding:.65rem .9rem;min-height:43px}
 .td-booker-progress{margin-bottom:1rem}
}
