@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

/* Shared visual language for both generations of public-page markup. */
body.site-modern {
  --bg:#14231f; --bg-deep:#101b19; --panel:#20352c; --panel-strong:#263d32;
  --text:#edf2e9; --muted:#bacbbf; --muted-soft:#a4b9aa; --accent:#c5ed86; --accent-bright:#c5ed86;
  --ink:#edf2e9; --ink-soft:#bacbbf; --surface-light:#192a24; --surface-card:#20352c;
  --mock-bg:#14231f; --mock-bg-deep:#101b19; --mock-surface:#20352c; --mock-surface-strong:#263d32;
  --mock-ink:#edf2e9; --mock-ink-soft:#bacbbf; --mock-accent:#c5ed86; --mock-accent-strong:#d5f6a6;
  --mock-lime:#c5ed86; --mock-lime-bright:#d5f6a6; --mock-hero-bg:#101b19;
  --mock-line:#b8d0be26; --mock-line-strong:#b8d0be40; --mock-shadow:none;
  --line:#b8d0be26; --shadow:none; --radius-xl:12px; --radius-lg:10px; --radius-md:8px;
  background:#14231f!important; color:#edf2e9; font-family:Manrope,sans-serif;
}
body.site-modern::before,body.site-modern main::before {display:none!important}
body.site-modern .site-header {background:#101b19f5!important;border-bottom:1px solid #ffffff18;box-shadow:none!important}
body.site-modern .header-inner {max-width:1440px;padding-inline:40px}
body.site-modern .site-header .nav-links a {font-family:Manrope,sans-serif;letter-spacing:.06em}
body.site-modern .site-header .nav-links a[aria-current="page"] {color:#c5ed86}
body.site-modern .site-header .nav-contact .nav-reserve {background:#c5ed86!important;color:#17251e!important;border-radius:4px;box-shadow:none}
body.site-modern .nav-review {display:none!important}
body.site-modern .site-header .nav.is-collapsed {flex:0 0 auto;width:auto;margin-left:auto}
body.site-modern .site-header .nav.is-collapsed .nav-toggle {width:48px;min-width:48px;max-width:48px;height:48px;padding:0;justify-content:center;background:#20352c;border:1px solid #b8d0be50;border-radius:50%}
body.site-modern .nav.is-collapsed .nav-panel {background:#14231f!important;border:1px solid #b8d0be40;box-shadow:0 20px 60px #0005}
body.site-modern .nav.is-collapsed .nav-links a {background:#20352c;color:#edf2e9}
body.site-modern .nav.is-collapsed .nav-links a[aria-current="page"] {background:#c5ed86;color:#14231f}
body.site-modern main :is(h1,h2,h3,h4) {font-family:Manrope,sans-serif!important;letter-spacing:-.04em;overflow-wrap:anywhere;hyphens:auto}
body.site-modern:not(.page-index) main :is(h1,h2,h3,h4) {color:#edf2e9!important}
body.site-modern main h1,body.site-modern main h1>span {text-transform:none!important;font-weight:500!important}
body.site-modern .topic-hero-copy h1 {font-size:clamp(30px,4.2vw,60px);line-height:1.12;letter-spacing:-.04em}
body.site-modern main>.section {background:#14231f!important;margin-block:0!important;border:0!important}
body.site-modern main>.section:nth-child(even) {background:#192a24!important}
body.site-modern main>.section::before,body.site-modern main>.section::after {display:none!important}
body.site-modern :is(.hero-stage,.hero-shell) {background:#101b19!important;border:0;box-shadow:none;border-radius:10px}
body.site-modern .hero-shell::after {background:linear-gradient(90deg,#101b19ee,#101b19b8 60%,#101b1944)!important}
body.site-modern .hero-copy h1 {font-weight:500;line-height:1.09;letter-spacing:-.045em}
body.site-modern:not(.page-index) .hero-copy h1 {max-width:17ch;font-size:clamp(2.3rem,4.7vw,4.7rem)}
body.site-modern :is(.hero-outline,.hero-emphasis) {color:#c5ed86!important;-webkit-text-stroke:0;transform:none!important;background:none!important;box-shadow:none!important}
body.site-modern :is(.hero-lead,.hero-locations,.hero-summary,.lead,.copy,.benefits-intro) {color:#bacbbf!important}
body.site-modern :is(.hero-portrait,.image-panel) {border-radius:10px;transform:none;box-shadow:none}
body.site-modern :is(.content-card,.route-card,.process-card,.note-card,.service-card,.signal-card,.faq-item,.faq-card,.contact-form-card,.contact-info-card,.contact-details,.contact-panel,.panel,.contact-card,.analysis-card,.resource-card,.territory-card,.review-card,.pricing-card,.inclusion-card,.action-panel) {background:#20352c!important;border-color:#b8d0be26!important;border-radius:10px!important;box-shadow:none!important}
body.site-modern :is(.route-card,.content-card,.process-card,.note-card,.service-card,.signal-card,.faq-item,.faq-card,.contact-card,.analysis-card,.resource-card,.territory-card,.review-card) :is(p,li,strong,summary) {color:#d5e1d7!important}
body.site-modern :is(.content-card,.route-card,.process-card,.service-card,.signal-card,.note-card)::after {background:none!important}
body.site-modern :is(.eyebrow,.section-eyebrow,.hero-kicker,.signal-card__eyebrow,.service-card__eyebrow,.service-card__kicker,.inspector-focus__video-eyebrow,.pricing-panel__eyebrow) {color:#c5ed86!important}
body.site-modern :is(.signal-card__title,.note-card-main,.service-card__title,.pricing-panel__title,.pricing-card__price) {color:#edf2e9!important}
body.site-modern :is(.signal-card__body,.service-card__body,.faq-intro,.faq-answer,.stack-list,.stack-list li,.pricing-card__summary,.pricing-card__list,.pricing-card__tax,.contact-lead) {color:#bacbbf!important}
body.site-modern :is(.signal-card__tag,.route-meta span,.hero-tags li) {background:#c5ed8614!important;color:#d5edbc!important;border-color:#c5ed8638!important}
body.site-modern :is(.button,.hero-action) {font-family:inherit;border-radius:5px!important;box-shadow:none!important}
body.site-modern :is(.button--primary,.button--accent,.hero-action--primary) {background:#c5ed86!important;border-color:#c5ed86!important;color:#17251e!important}
body.site-modern :is(.button--ghost,.hero-action:not(.hero-action--primary)) {background:transparent!important;color:#edf2e9!important;border:1px solid #9bb29e66}
body.site-modern :is(.button--primary,.button--accent,.hero-action--primary) span {color:#17251e!important}
body.site-modern :is(.service-card__cta,.pricing-card__cta) {color:#c5ed86!important}
body.site-modern .route-card a:not(.button),body.site-modern .faq-intro a {color:#c5ed86!important}
/* Legacy page styles used light surfaces and hard-coded dark text. Keep each
   component's surface and foreground together, including interactive states. */
body.site-modern .button:not(.button--primary):not(.button--accent):not(.button--ghost) {
  background:#20352c!important;color:#edf2e9!important;border-color:#9bb29e80!important;
}
body.site-modern .button:not(.button--primary):not(.button--accent):not(.button--ghost) :is(span,strong) {color:inherit!important}
body.site-modern .button:not(.button--primary):not(.button--accent):is(:hover,:focus-visible) {background:#2b4538!important;border-color:#c5ed86!important}
body.site-modern .territory-card>span {color:#edf2e9!important}
body.site-modern .process-card>.process-step {background:#c5ed861a!important;color:#c5ed86!important;border-color:#c5ed8640!important}
body.site-modern :is(.inclusion-row,.inclusion-cta,.service-card__meta) {border-color:#b8d0be40!important}
body.site-modern .contact-choice {background:#263d32!important;border-color:#b8d0be40!important}
body.site-modern .contact-choice--primary {background:#c5ed86!important;border-color:#c5ed86!important}
body.site-modern .contact-choice--primary :is(strong,span) {color:#17251e!important}
body.site-modern :is(.service-card,.territory-card,.contact-choice):is(:hover,:focus-visible) {border-color:#c5ed86!important}
/* Filled package buttons need dark text, including visited and interactive states. */
body.site-modern .pricing-card--featured .pricing-card__cta,
body.site-modern .pricing-card--featured .pricing-card__cta:is(:visited,:hover,:focus-visible,:active),
body.site-modern .pricing-card--featured .pricing-card__cta * {color:#000!important;text-shadow:none;opacity:1}
body.site-modern .pricing-card--featured {border:1px solid #c5ed86!important}
body.site-modern .pricing-card__badge {background:#c5ed86;color:#17251e}
body.site-modern .pricing-card__kicker {color:#c5ed86!important}
body.site-modern .pricing-scope-note {color:#bacbbf;font-size:14px;line-height:1.7;max-width:76ch;margin:12px 0 24px}
body.site-modern .pricing-scope-note a {color:#c5ed86;text-decoration:underline;text-underline-offset:3px}
body.site-modern .condo-guide-card {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;padding:36px;border:1px solid #c5ed8640;background:#20352c;border-radius:10px}
body.site-modern .condo-guide-card h2 {font-size:clamp(26px,3vw,40px);line-height:1.2;max-width:24ch;margin:14px 0 20px;color:#edf2e9}
body.site-modern .condo-guide-card p {color:#bacbbf;font-size:16px;line-height:1.7}
body.site-modern .condo-guide-card a {display:block;width:fit-content;color:#c5ed86;margin-top:16px;text-decoration:underline;text-underline-offset:4px;font-size:15px}
@media(max-width:760px){body.site-modern .condo-guide-card {grid-template-columns:1fr;padding:24px;gap:18px}}
body.site-modern .pricing-panel__header h2 {white-space:normal!important;max-width:100%!important;width:auto!important;font-size:clamp(22px,2.5vw,34px)!important;line-height:1.2!important}
body.site-modern :is(.pricing-footnotes,.pricing-notes) p {color:#c5d5c7}
body.site-modern :is(.pricing-footnotes,.pricing-notes) strong {color:#edf2e9}
body.site-modern .pricing-footnotes-marquee::before,body.site-modern .pricing-footnotes-marquee::after {display:none}
body.site-modern .section--signals .container::before,body.site-modern .section--signals .container::after {display:none}
body.site-modern .faq-list details {background:#20352c;border-color:#b8d0be26;border-radius:8px}
body.site-modern .faq-list summary {color:#edf2e9}
body.site-modern .contact-form-card :is(label,.field-label,.field-hint) {color:#c9d8cc}
body.site-modern .contact-form-card :is(input,textarea,select) {background:#14231f;color:#edf2e9;border-color:#a4b9aa66}
body.site-modern .contact-form-card :is(input,textarea)::placeholder {color:#a4b9aa}
body.site-modern .contact-side-card {background:#20352c!important;border-color:#b8d0be26!important;border-radius:10px;box-shadow:none}
body.site-modern .contact-side-card :is(p,a,span,strong) {color:#c9d8cc!important}
body.site-modern .site-footer {background:#101b19!important;border-top:1px solid #ffffff18}
body.site-modern .site-footer,body.site-modern .site-footer :is(.footer-copy,.footer-credit,.footer-policy-links a) {color:#a8bcae!important}
body.site-modern .site-footer .footer-credit a {color:#c5ed86!important}
body.site-modern :is(a,button,input,summary,select):focus-visible {outline:2px solid #c5ed86;outline-offset:4px}
body.site-modern .lead-assistant {top:auto;bottom:20px;right:20px;transform:none}
body.site-modern .lead-assistant .lead-assistant__launcher.button {width:52px;min-width:52px;max-width:52px;height:52px;min-height:52px;padding:0;transform:none;opacity:1;border-radius:50%!important}
body.site-modern .lead-assistant__launcher-icon {opacity:1;transform:none}
body.site-modern .lead-assistant__launcher-label {display:none!important}

/* Contextual links replace inline video players throughout service pages. */
body.site-modern .video-link-card {display:grid;grid-template-columns:minmax(110px,.85fr) minmax(0,1fr);width:100%;min-width:0;gap:24px;align-items:center;padding:22px;background:#20352c;color:#edf2e9;border:1px solid #b8d0be30;border-radius:10px;text-decoration:none}
.video-link-card>img {width:100%;height:220px;object-fit:cover;border-radius:6px;display:block}
.video-link-card>span {display:grid;gap:14px;min-width:0}
.video-link-card small {font-size:10px;letter-spacing:.15em;color:#aebfac}
.video-link-card strong {font-size:clamp(22px,2.8vw,36px);letter-spacing:-.04em;line-height:1.15;font-weight:500}
.video-link-card>span>span {color:#c5ed86;font-size:13px}
.video-link-card:hover {border-color:#c5ed86!important}
body.site-modern .inspector-focus__video .video-link-card {grid-template-columns:1fr;padding:16px;gap:16px}
body.site-modern .inspector-focus__video .video-link-card img {height:200px}
body.site-modern .inspector-focus__video .video-link-card strong {font-size:22px}
@media(max-width:860px) {
  body.site-modern :is(.hero-stage,.hero-shell,.hero-headline-row) {display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:28px;align-items:start}
  body.site-modern :is(.hero-stage,.hero-shell) {padding:26px 20px!important;width:100%;max-width:100%}
  body.site-modern :is(.hero-stage,.hero-shell,.hero-headline-row)>* {grid-column:1!important;min-width:0;max-width:100%}
  body.site-modern :is(.hero-copy,.topic-hero-copy,.hero-copy h1,.topic-hero-copy h1) {width:100%!important;max-width:100%!important}
  body.site-modern .hero-portrait--inline {display:none!important}
  body.site-modern .hero-stage>.hero-portrait {display:block;width:100%;max-width:400px;height:300px;justify-self:center;margin:0}
}
@media(max-width:760px) {
  body.site-modern .header-inner {padding-inline:20px}
  body.site-modern:not(.page-index) .hero-copy h1 {font-size:clamp(2.15rem,8vw,3.4rem);max-width:100%}
  body.site-modern .video-link-card {grid-template-columns:1fr;padding:18px;gap:20px}
  .video-link-card>img {height:210px}
}
