/* =====================================================================
   iNSEQUENCE BRAND EDITORIAL SKIN  v7  (09.29.26)
   One shared stylesheet, linked LAST in <head> on the 11 public pages.
   Changes colour, surfaces, borders and shadows. The only layout changes
   are the ones Zak asked for: bordered comparison card, hidden
   decorative glows / plan connector.
   No copy, no markup, no scripts, no hero sizing, no fonts.
   ROLLBACK: redeploy the "DEPLOY ORIGINAL" folder, or delete the one
   <link ... brand-editorial.css> line per page.
   Spec + decisions: WEBSITE-STANDARDS.md section 10 "Brand editorial skin".
   ===================================================================== */

:root {
  --be-snow:   #F2F1F0;  /* Snowflake, light surfaces          */
  --be-snow2:  #E9E7E3;  /* alt band                           */
  --be-card:   #FFFFFF;  /* cards on Snowflake                 */
  --be-ink:    #1E1F20;  /* Charcoal, headings + buttons       */
  --be-ink2:   #3F4244;  /* body text                          */
  --be-ink3:   #66696B;  /* muted text (AA on Snowflake/white) */
  --be-hair:   #DAD7D2;  /* hairlines                          */
  --be-deep:   #184954;  /* Dark Teal, accent words            */
  --be-eyebrow:#006666;  /* small labels on light (AA)         */
  --be-tint:   #DFE9E9;  /* soft teal band                     */
  --be-orange: #F96815;  /* accent only, never a button fill   */
  --be-orange-text: #C2410C; /* orange for SMALL text on light (AA) */
  --be-onDark: #FFB57A;  /* small orange text on dark (AA)     */
  --be-hover:  #3A3C3E;
}

/* ---------- 1. Buttons: charcoal on light, Snowflake on dark ---------- */
.btn-primary, .btn-teal, button#submitBtn,
.nav-cta, .why-btn, .newsletter-btn, .footer-nl-btn {
  background: var(--be-ink) !important; border-color: var(--be-ink) !important; color: var(--be-snow) !important;
}
.btn-primary:hover, .btn-teal:hover, .nav-cta:hover, .why-btn:hover,
button#submitBtn:hover { background: var(--be-hover) !important; border-color: var(--be-hover) !important; }
/* plain .btn with no variant (thank-you page). Ghost/outline variants keep their own look. */
a.btn:not(.btn-outline):not(.btn-outline-white):not(.btn-outline-light):not(.btn-ghost-light):not(.btn-ghost):not(.btn-primary) {
  background: var(--be-ink); border-color: var(--be-ink); color: var(--be-snow);
}
a.btn:not(.btn-outline):not(.btn-outline-white):not(.btn-outline-light):not(.btn-ghost-light):not(.btn-ghost):not(.btn-primary):hover {
  background: var(--be-hover); border-color: var(--be-hover);
}
/* on dark surfaces the fill flips to Snowflake so it stays visible */
.hero .btn-primary, .page-hero .btn-primary, .page-header .btn-primary,
.newsletter-band .newsletter-btn, footer .footer-nl-btn, .cta-strip .btn-primary,
.why-consult .why-btn, .why-consult .btn-primary, .certification .btn-primary,
.why-cta-band .btn-primary, .pct-cta .btn-primary, .pct-hero .btn-primary,
.final-cta .btn-primary, body > .actions .btn-primary,
.nav:not(.scrolled):not(.menu-open) .nav-cta {
  background: var(--be-snow) !important; border-color: var(--be-snow) !important; color: var(--be-ink) !important;
}
.hero .btn-primary:hover, .page-hero .btn-primary:hover, .page-header .btn-primary:hover,
.newsletter-band .newsletter-btn:hover, footer .footer-nl-btn:hover, .cta-strip .btn-primary:hover,
.why-consult .why-btn:hover, .why-consult .btn-primary:hover, .certification .btn-primary:hover,
.why-cta-band .btn-primary:hover, .pct-cta .btn-primary:hover, .pct-hero .btn-primary:hover,
.final-cta .btn-primary:hover, body > .actions .btn-primary:hover,
.nav:not(.scrolled):not(.menu-open) .nav-cta:hover { background: #FFFFFF !important; border-color: #FFFFFF !important; }
/* mobile menu CTA: the page's own mobile link rule colours it teal; force readable text */
.nav-links > .nav-cta-mobile > a.nav-cta, .nav-links .nav-cta-mobile .nav-cta { color: var(--be-snow) !important; }

/* keyboard focus: a visible ring on every button (dark default rings vanish on charcoal) */
.btn:focus-visible, button:focus-visible, .nav-cta:focus-visible, .port-cell:focus-visible, .why-btn:focus-visible,
a[style*="--orange"]:focus-visible, a[onmouseout*="--orange"]:focus-visible {
  outline: 2px solid var(--be-eyebrow) !important; outline-offset: 3px !important;
}
.hero .btn:focus-visible, .page-hero .btn:focus-visible, .page-header .btn:focus-visible,
.final-cta .btn:focus-visible, .final-cta button:focus-visible, .newsletter-band button:focus-visible,
.cta-strip .btn:focus-visible, .why-consult a:focus-visible, .certification .btn:focus-visible,
.why-cta-band .btn:focus-visible, footer button:focus-visible, body > .actions .btn:focus-visible,
.why-cta-band a:focus-visible, .pct-cta a:focus-visible, .pct-hero a:focus-visible, .newsletter-band a:focus-visible {
  outline: 2px solid var(--be-onDark) !important; outline-offset: 3px !important;
}
/* over hero photos a white ring reads best */
.nav:not(.scrolled):not(.menu-open) .nav-cta:focus-visible,
.nav:not(.scrolled):not(.menu-open) .nav-burger:focus-visible,
.proj-arrow:focus-visible, .lb button:focus-visible, .lightbox button:focus-visible,
.hero .btn:focus-visible, .page-hero .btn:focus-visible, .page-header .btn:focus-visible {
  outline: 2px solid #FFFFFF !important; outline-offset: 3px !important;
}
/* tabs sit in a clipped strip: keep the ring inside */
.about-tab:focus-visible { outline-offset: -3px !important; }

/* ---------- 2. Hero overlay: softer charcoal (all four mechanisms) ---------- */
.hero-overlay,
.hero::before, .page-hero::before, .page-header::before {
  background: linear-gradient(160deg, rgba(30,31,32,0.80) 0%, rgba(30,31,32,0.45) 50%, rgba(30,31,32,0.82) 100%) !important;
}
.hero-glow, .cta-glow-1, .cta-glow-2 { display: none !important; }
.hero-stat > span, .hero-cert-text { color: rgba(255,255,255,0.78) !important; }
/* hero stats: every figure on ONE line ("$25 to 250K+"), 2x2 on tablet and phone, a touch smaller on small phones */
.hero-stat strong { white-space: nowrap !important; }
@media (min-width: 601px) and (max-width: 900px) { .hero-proof { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 400px) { .hero-stat strong { font-size: clamp(1.25rem, 6.8vw, 1.7rem) !important; } }

/* ---------- 3. Eyebrows / small labels: teal on light, light orange on dark ---------- */
.tag, .svc-eyebrow, .success-eyebrow, .creds-label, .pct-give-label, .pct-card-label,
.section-eyebrow, .card-type, .price-eyebrow, .scope-eyebrow, .why-eyebrow { color: var(--be-eyebrow) !important; }
.hero .tag, .page-hero .tag, .page-header .tag, .hero-eyebrow,
.certification .tag, .why-consult .tag, .newsletter-band .tag, .cta-strip .tag, .why-cta-band .tag,
.pct-hero .tag, .pct-cta .tag, .final-cta .tag,
.hero .section-eyebrow, .page-hero .section-eyebrow, .page-header .section-eyebrow, .final-cta .section-eyebrow,
.newsletter-band .section-eyebrow, .cta-strip .section-eyebrow, .why-consult .section-eyebrow,
.certification .section-eyebrow, .why-consult .why-eyebrow, .why-cta-band .why-eyebrow,
.newsletter-tag, .proj-more, body > .code { color: var(--be-onDark) !important; }
.guide-quote cite { color: var(--be-orange-text) !important; }

/* ---------- 4. Homepage: trust bar, problem ---------- */
.trust-bar { background: var(--be-snow2) !important; box-shadow: inset 0 -1px 0 var(--be-hair) !important; }
.trust-item { color: var(--be-ink2) !important; }
.trust-item svg { color: #008080 !important; }

.problem { background: var(--be-snow) !important; }
.problem .section-title, .problem h2 { color: var(--be-deep) !important; }
.problem-intro p { color: var(--be-ink2) !important; }
.problem-point h4 { color: var(--be-ink) !important; }
.problem-point p { color: var(--be-ink3) !important; }
.prob-icon { background: var(--be-tint) !important; color: var(--be-deep) !important; }

.guide-badge { background: var(--be-card) !important; color: var(--be-ink) !important; box-shadow: 0 0 0 1px var(--be-hair) !important; }
.guide-badge strong { color: var(--be-deep) !important; }
.guide-cred::before { background: var(--be-orange) !important; }

/* ---------- 5. Process ---------- */
.plan { background: var(--be-snow) !important; }
.plan-connector { display: none !important; }
.plan-step { background: transparent !important; border-top: 1px solid var(--be-ink); border-radius: 0 !important; box-shadow: none !important; }
.plan-num { background: var(--be-ink) !important; box-shadow: none !important; }
.plan-steps > *:nth-child(3) .plan-num { background: #008080 !important; }  /* step 2 (connector is child 1) */
.client-cam-banner { background: var(--be-tint) !important; }
.client-cam-banner p { color: var(--be-ink) !important; }
.client-cam-banner a:not(.btn) { color: var(--be-deep) !important; }
.plan-cta-note { color: var(--be-ink3) !important; }
.step-num, .phase-pill { background: var(--be-deep) !important; color: #FFFFFF !important; }

/* ---------- 6. Services + success cards (hairline via inset shadow: no size change) ---------- */
.services { background: var(--be-snow2) !important; }
.service-track { background: var(--be-card) !important; box-shadow: inset 0 0 0 1px var(--be-hair) !important; }
.svc-list li::before { background: var(--be-orange) !important; }
.success { background: var(--be-snow) !important; }
.success-card { box-shadow: 0 0 0 1px var(--be-hair) !important; background: var(--be-card); }
.success-card-body { background: var(--be-card) !important; }
.section-title { color: var(--be-deep) !important; }

/* ---------- 7. Comparison table: bordered white card ---------- */
.comparison { background: var(--be-snow) !important; }
.comparison .section-title, .comparison h2 { color: var(--be-deep) !important; }
.comparison .section-sub, .comparison p { color: var(--be-ink2) !important; }
.comp-table, .compare-table {
  background: var(--be-card) !important; box-shadow: 0 0 0 1px var(--be-hair) !important;
  border-radius: 10px !important; overflow: hidden;
}
.comp-table:hover, .compare-table:hover { box-shadow: 0 0 0 1px var(--be-hair), 0 18px 48px rgba(30,31,32,0.10) !important; }
.comp-table thead tr, .compare-table thead tr { background: var(--be-snow2) !important; }
.comp-table thead th, .compare-table thead th { box-shadow: inset 0 -1px 0 var(--be-hair); }
.comp-table thead th:first-child, .compare-table thead th:first-child { color: var(--be-ink2) !important; }
.comp-table thead th:last-child, .compare-table thead th:last-child {
  color: var(--be-deep) !important; background: var(--be-tint) !important;
}
.comp-table tbody tr, .compare-table tbody tr { border-bottom-color: var(--be-hair) !important; }
.comp-table td:first-child, .compare-table tbody td:first-child { color: var(--be-ink3) !important; }
.comp-table td:last-child, .compare-table tbody td:last-child {
  color: var(--be-deep) !important; background: rgba(0,128,128,0.05) !important;
}
.no-icon { color: #A5A9B0 !important; }
.yes-icon { color: #008080 !important; }

/* ---------- 8. Reviews ---------- */
.reviews { background: var(--be-snow2) !important; }
.review-card { background: var(--be-card) !important; box-shadow: inset 0 0 0 1px var(--be-hair) !important; }
.review-stars, .g-badge .gb-stars { color: var(--be-orange) !important; }
.g-badge { box-shadow: inset 0 0 0 1px var(--be-hair) !important; }
.reviewer-avatar { background: var(--be-tint) !important; color: var(--be-deep) !important; }
.slider-arrow { background: var(--be-card) !important; color: var(--be-ink) !important; box-shadow: inset 0 0 0 1px var(--be-ink) !important; }
.slider-arrow:hover { background: var(--be-ink) !important; color: var(--be-snow) !important; }
.slider-dot.active { background: var(--be-ink) !important; }
.rv-theme.active, .filter-btn.active { background: var(--be-deep) !important; border-color: var(--be-deep) !important; color: #FFFFFF !important; }

/* ---------- 9. Homepage portfolio: original sideways carousel (Zak, 09.29.26) ----------
   Layout, labels and arrows are the page's own. Only the arrow hover is recoloured
   (orange is never a button fill). */
.port-arrow:hover:not(:disabled) { background: var(--be-ink) !important; color: #FFFFFF !important; }
.port-cell:focus-visible { outline-offset: -3px !important; }
.port-see { color: var(--be-onDark) !important; }

/* photo lightbox arrows: dark circles so they read on any photo (homepage + aging-in-place) */
.lb .lb-prev:not(#lbPrev), .lb .lb-next:not(#lbNext) { background: rgba(30,31,32,0.72) !important; color: #FFFFFF !important; }
.lb .lb-prev:not(#lbPrev):hover, .lb .lb-next:not(#lbNext):hover, .lb .lb-close:hover { background: var(--be-ink) !important; }

/* ---------- 10. Credentials ---------- */
/* Credentials logo row: muted, as on the live site (Zak 10.06): white band, faint label, logos at 75% that sharpen on hover */
.creds { background: var(--be-card) !important; }
.creds .creds-label { color: #ccc !important; }

/* ---------- 11. Contact / consult form bands: STAY brand dark teal, more readable ---------- */
.final-cta > .container > .final-cta-inner > p, .final-cta .cta-note { color: rgba(255,255,255,0.86) !important; }
.final-cta .form-group > label:not(.radio-pill) { color: rgba(255,255,255,0.8) !important; }
.final-cta .fld-invalid > label:not(.radio-pill) { color: #FFAA96 !important; }
.contact-form .fld-invalid input, .contact-form .fld-invalid select, .contact-form .fld-invalid textarea { border: 1px solid #FF6B4A !important; }
.contact-form .fld-invalid .radio-group { outline: 1px solid #FF6B4A; outline-offset: 6px; border-radius: 8px; }
.contact-section .fld-invalid > label { color: #C0392B !important; }
.final-cta .form-group label > span[style*="opacity"] { opacity: 0.85 !important; }
.final-cta .form-group input::placeholder, .final-cta .form-group textarea::placeholder { color: rgba(255,255,255,0.66) !important; }
.final-cta .file-upload-label span { color: rgba(255,255,255,0.86) !important; }
.final-cta .form-disclaimer, .final-cta .form-disclaimer a { color: rgba(255,255,255,0.72) !important; }
.final-cta .radio-pill.active { background: var(--be-snow) !important; border-color: var(--be-snow) !important; color: var(--be-ink) !important; }
.radio-pill.active { background: var(--be-deep) !important; border-color: var(--be-deep) !important; color: #FFFFFF !important; }
.radio-pill:has(input:checked) { background: var(--be-deep) !important; border-color: var(--be-deep) !important; color: #FFFFFF !important; }
.final-cta .radio-pill.active { background: var(--be-snow) !important; border-color: var(--be-snow) !important; color: var(--be-ink) !important; }
.final-cta .radio-pill:has(input:checked) { background: var(--be-snow) !important; border-color: var(--be-snow) !important; color: var(--be-ink) !important; }
.final-cta .file-names { color: var(--be-onDark) !important; }
.final-cta .file-names .file-chip { color: #FFFFFF !important; }
/* contact page form sits on white: its privacy link was white-on-white (pre-existing bug) */
.contact-section .form-disclaimer a { color: var(--be-deep) !important; }
.contact-section .form-disclaimer { color: var(--be-ink3) !important; }

/* ---------- 12. Dark-teal feature bands stay dark: readability only ---------- */
.newsletter-sub, .cta-strip p, .why-cta-band p, .pct-cta p { color: rgba(255,255,255,0.82) !important; }
.newsletter-fine { color: rgba(255,255,255,0.72) !important; }
.newsletter-fine a { color: #FFFFFF !important; }
.newsletter-band .newsletter-row { gap: 10px; }
.newsletter-band .newsletter-input, .newsletter-band .newsletter-btn { border-radius: 4px !important; }
.newsletter-band .newsletter-input::placeholder { color: #6B6F72 !important; }
.cert-card-label { color: rgba(255,255,255,0.72) !important; }
.cert-card-desc { color: rgba(255,255,255,0.82) !important; }
.hours-card h3 { color: rgba(255,255,255,0.78) !important; }
.letter-photo-tag span { color: rgba(255,255,255,0.82) !important; }

/* ---------- 13. Small orange text and inline orange buttons ---------- */
.chk-toggle button.chk-on-bad { background: var(--be-orange-text) !important; border-color: var(--be-orange-text) !important; }
/* aging-in-place inline-styled buttons. Matched on onmouseout, which the hover script never rewrites. */
a[onmouseout*="background='var(--orange)'"] { background: var(--be-ink) !important; color: var(--be-snow) !important; }
a[onmouseout*="background='var(--orange)'"]:hover { background: var(--be-hover) !important; }
a[onmouseout*="background='transparent'"][onmouseout*="--orange"] { color: var(--be-ink) !important; border-color: var(--be-ink) !important; background: transparent !important; }
a[onmouseout*="background='transparent'"][onmouseout*="--orange"]:hover { background: var(--be-ink) !important; color: var(--be-snow) !important; }
a[style*="color:var(--orange)"]:not([style*="border"]):not([onmouseout]) { color: var(--be-orange-text) !important; }

/* ---------- 14. Footer: charcoal, readable, hover kept ---------- */
.footer-brand p, .footer-brand a, .footer-col ul li a, .footer-col p, .footer-contact p, .footer-contact a { color: rgba(255,255,255,0.72) !important; }
.footer-col p a { color: #FFFFFF !important; }
.footer-col ul li a:hover, .footer-contact a:hover, .footer-brand a:hover { color: var(--be-orange) !important; }
.footer-bottom p { color: rgba(255,255,255,0.6) !important; }
.footer-nl-input::placeholder { color: rgba(255,255,255,0.62) !important; }

/* ---------- 15. Remaining orange states and faint greys (pre-existing, fixed in the skin) ---------- */
.proj-arrow:hover { background: var(--be-ink) !important; color: #FFFFFF !important; }
.faq-q:hover { color: var(--be-orange-text) !important; }
.faq-item.open .faq-icon { background: var(--be-orange-text) !important; }
.chk-toggle button:hover { color: var(--be-orange-text) !important; border-color: var(--be-orange-text) !important; }
.chk-toggle button.chk-on-bad:hover { color: #FFFFFF !important; }
.filter-btn:not(.active):hover { color: var(--be-orange-text) !important; border-color: var(--be-orange-text) !important; }
.contact-detail-value a:hover { color: var(--be-orange-text) !important; }
.nav.scrolled .nav-links a.active { color: var(--be-orange-text) !important; }
.nav.scrolled .nav-links a:hover, .nav.menu-open .nav-links a:hover, .nav-dropdown a:hover { color: var(--be-orange-text) !important; }
.proj-arrow:focus-visible { box-shadow: 0 0 0 5px var(--be-ink) !important; }
.contact-section .file-names .file-chip:hover { color: var(--be-orange-text) !important; }
.rv-stars, .rv-gb-stars { color: var(--be-orange) !important; }
.fund-box { background: var(--be-tint) !important; border-color: #C5D6D6 !important; }
.fund-item b { color: var(--be-orange-text) !important; }
.why-consult .why-card h3 { color: var(--be-onDark) !important; }
.why-consult p[style*="rgba(255,255,255,.55)"] { color: rgba(255,255,255,0.78) !important; }
.why-cta-band .btn-outline:hover, .why-cta-band .btn-outline-light:hover { background: rgba(255,255,255,0.12) !important; }
.reviewer-sub, .rv-sub, .rev-posted, .rv-posted, .letter-sign-title, .fineprint, .card-location,
.fund-note, .phase-cost-note, .contact-detail-label { color: var(--be-ink3) !important; }
.fund-box .fund-note { color: #56595B !important; }
.form-intro, .map-section-header p { color: var(--be-ink2) !important; }
.rv-av { background: var(--be-deep) !important; }
.chk-toggle button.chk-on-good:hover { color: #FFFFFF !important; border-color: var(--be-deep) !important; }

/* ===== v7 (09.29.26) ===== */
/* Hero stat labels stay on one line at every width */
.hero-stat > span { white-space: nowrap !important; }
@media (min-width: 901px) { .hero-proof { grid-template-columns: repeat(4, auto) !important; justify-content: space-between !important; } }
@media (max-width: 420px) { .hero-proof { column-gap: 12px !important; } .hero-stat > span { font-size: clamp(0.6rem, 2.75vw, 0.7rem) !important; letter-spacing: 0.04em !important; } }
/* Section breaks: back-to-back light sections alternate white / Snowflake with a hairline between */
.problem + .guide, .comparison + .success, .comparison + .page-cta { background: var(--be-card) !important; }
.problem + .guide, .guide + .plan, .plan + .services, .services + .comparison, .comparison + .success,
.success + .reviews, .comparison + .page-cta, .problem-strip + .phases-section, .phases-section + .comparison { box-shadow: inset 0 1px 0 var(--be-hair) !important; }
/* Reviews page: real client video (YouTube Short, 9:16) above the written reviews; one pill row only */
#rvp-video .rv-short { width: min(360px, 100%); margin: 0 auto; aspect-ratio: 9 / 16; border-radius: 20px; overflow: hidden; background: var(--be-ink); box-shadow: 0 12px 30px rgba(24,73,84,.12); }
#rvp-video .rv-short iframe { width: 100%; height: 100%; border: 0; display: block; }
#rvp-video .rv-vsoon { margin: 18px 0 0 !important; }
#rvp-written { margin-top: 48px; padding-top: 48px; box-shadow: inset 0 1px 0 var(--be-hair); }
#rvp-written .rv-themes { margin-top: 0 !important; }
/* v7 s20 fixes */
/* hero keeps its original geometry now that the stats no longer wrap (text column stays 860 wide, full width below 900) */
.hero-content { width: 860px; max-width: 100%; }
.hero > .container { min-width: 0; }
@media (max-width: 600px) { .hero-proof { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; } }
@media (max-width: 400px) { .hero-stat strong { font-size: clamp(1.15rem, 6.1vw, 1.7rem) !important; } }
@media (max-width: 360px) { .hero-stat strong { font-size: 5.9vw !important; } .hero-stat > span { letter-spacing: 0.02em !important; font-size: 0.6rem !important; } }
/* reviews video: readable caption, a phone-friendly size */
#rvp-video .rv-vsoon { color: var(--be-ink3) !important; }
@media (max-width: 600px) { #rvp-video .rv-short { width: min(300px, 100%); } }
/* "eye in the sky" link on the light client-cam banner: visible underline, orange-text hover like before */
.client-cam-banner a.eots { text-decoration-color: rgba(24,73,84,.45) !important; }
.client-cam-banner a.eots:hover, .client-cam-banner a.eots:focus-visible { color: var(--be-orange-text) !important; text-decoration-color: currentColor !important; }
/* small orange text on light that the skin had missed */
.why-card-num, .lightbox-type, .done p a { color: var(--be-orange-text) !important; }
.done p a:hover { color: var(--be-deep) !important; }
.lb-see-all { background: var(--be-ink) !important; color: var(--be-snow) !important; }
.lb-see-all:hover { background: var(--be-hover) !important; }
/* homepage: "See Full Portfolio" button had no room under it once the credentials band below became Snowflake */
#portfolio + .container { padding-bottom: 72px; }
@media (max-width: 600px) { #portfolio + .container { padding-bottom: 56px; } }

/* Reviews page (Zak picked Design 1, 10.06.26): Written | Video underline tabs, topic filters as a text row, video grid with click-to-play thumbnails */
.yt-facade{position:relative;display:block;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:#1E1F20;overflow:hidden}
.yt-facade img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.yt-facade:hover img{transform:scale(1.04)}
.yt-play{position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;background:rgba(30,31,32,.82);box-shadow:0 6px 20px rgba(0,0,0,.3);transition:background .2s}
.yt-play::after{content:"";position:absolute;left:24px;top:19px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent #F2F1F0}
.yt-facade:hover .yt-play{background:#1E1F20}
.yt-facade:focus-visible{outline:3px solid #006666;outline-offset:3px}
.rv-short{aspect-ratio:9/16;border-radius:16px;overflow:hidden;background:#1E1F20;box-shadow:0 10px 26px rgba(24,73,84,.12)}
.rv-short iframe{width:100%;height:100%;border:0;display:block}
.rv-section figure{margin:0}
.rv-vtitle{font-family:var(--font-head);font-weight:700;color:#184954;font-size:.95rem;margin:14px 0 0}
.rv-vsoon{color:#66696B !important;font-size:.88rem;text-align:center;margin:32px 0 0 !important}
#rvp-written{margin:0 !important;padding:0 !important;box-shadow:none !important}
.rv-section [role=tabpanel][hidden]{display:none}
.tabs-line .tab:focus-visible{outline:2px solid #006666;outline-offset:4px}
.rv-section .vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,250px));justify-content:center;gap:36px 24px}
@media(max-width:600px){.rv-section .vgrid{grid-template-columns:repeat(auto-fit,minmax(140px,165px));gap:24px 14px}.rv-vtitle{font-size:.82rem}}
.tabs-line{display:flex;justify-content:center;gap:48px;margin:6px auto 34px;box-shadow:inset 0 -1px 0 #DAD7D2;max-width:560px}
.tabs-line .tab{background:none;border:0;padding:16px 2px;font-family:var(--font-head);font-weight:700;font-size:.92rem;letter-spacing:.14em;text-transform:uppercase;color:#66696B;cursor:pointer;box-shadow:inset 0 -2px 0 transparent;transition:color .2s,box-shadow .2s}
.tabs-line .tab span{color:#9A9C9E;margin-left:6px;font-weight:600}
.tabs-line .tab:hover{color:#1E1F20}
.tabs-line .tab.on{color:#184954;box-shadow:inset 0 -2px 0 #184954}.tabs-line .tab.on span{color:#184954}
#pane-w .rv-themes{gap:6px 26px !important;margin:0 auto 36px !important}
#pane-w .rv-theme{background:none !important;border:0 !important;border-radius:0 !important;padding:6px 0 !important;color:#66696B !important;box-shadow:none !important;letter-spacing:.08em}
#pane-w .rv-theme:hover{color:#1E1F20 !important}
#pane-w .rv-theme.active{background:none !important;color:#184954 !important;box-shadow:inset 0 -2px 0 #F96815 !important}
#pane-w .rv-theme .rv-cnt{color:inherit;opacity:.6}
@media(max-width:600px){.tabs-line{gap:32px}#pane-w .rv-themes{gap:2px 18px !important}}

/* ============ v8 (10.07.26): homepage approved by Zak ============ */
/* Credentials bar under the hero: rectangle blocks; still on load, scrolls only while hovered; swipe on phones */
.tm{padding:28px 0 !important;overflow:hidden}
.tm-view{overflow:hidden;background:var(--be-snow2,#E9E7E3);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.tm-track{list-style:none;margin:0;padding:0;display:flex;width:max-content;transform:translateX(calc(50vw - 2656px));animation:tmScroll 50s linear infinite}
@keyframes tmScroll{from{transform:translateX(calc(50vw - 2656px))}to{transform:translateX(calc(50vw - 4434px))}}
.tm:hover .tm-track{animation-play-state:paused}
.tm-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:232px;height:124px;margin-right:22px;padding:14px 16px;background:var(--be-snow2,#E9E7E3);border-radius:4px;box-shadow:inset 0 0 0 1px #D2CEC8;font-family:var(--font-head);font-weight:700;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#184954;text-align:center;line-height:1.3;transition:box-shadow .25s ease}
.tm-item:hover{box-shadow:inset 0 0 0 1px #D2CEC8,inset 0 -3px 0 #F96815}
.tm-mark{display:flex;align-items:center;justify-content:center;flex:none}
.tm-item img{height:44px;width:auto;max-width:170px;object-fit:contain;display:block;mix-blend-mode:multiply}
.tm-item img[src*="agesafe"],.tm-item img[src*="warranty"],.tm-item img[src*="renomark"],.tm-item img[src*="1ftp"]{height:56px}
.tm-item svg{width:44px;height:44px;color:#008080}

@keyframes tmScrollM{from{transform:translateX(0)}to{transform:translateX(-1316px)}}
@media(max-width:600px){.tm-track{transform:none;animation:tmScrollM 38s linear infinite}.tm{padding:18px 0 !important}.tm-item{width:176px;height:104px;font-size:.6rem;gap:9px;margin-right:12px}.tm-item img{height:36px;max-width:130px}.tm-item img[src*="agesafe"],.tm-item img[src*="warranty"],.tm-item img[src*="renomark"],.tm-item img[src*="1ftp"]{height:46px}.tm-item svg{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.tm-track{animation:none}}
/* "Does this sound familiar?": headline across, the four complaints as cards (copy untouched) */
.home-problem .section-title{font-size:clamp(2rem,3.4vw,2.9rem) !important;line-height:1.12 !important}

.home-problem .problem-grid{display:block !important}
.home-problem .problem-intro{margin-top:0 !important;padding-top:0 !important;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:64px;align-items:end}
.home-problem .problem-intro .tag,.home-problem .problem-intro .section-title{grid-column:1}
.home-problem .problem-intro p{grid-column:2;font-size:.98rem !important;line-height:1.75 !important}
.home-problem .problem-intro .tag{grid-row:1}.home-problem .problem-intro .section-title{grid-row:2 / span 2;margin-bottom:0}
.home-problem .problem-intro p:first-of-type{grid-row:2;align-self:end}.home-problem .problem-intro p:last-of-type{grid-row:3;margin-top:12px !important}
.home-problem .problem-points{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px !important;margin-top:56px}
.home-problem .problem-point{flex-direction:column;gap:16px !important;background:var(--be-card,#fff);border-radius:14px;padding:26px 24px;box-shadow:inset 0 0 0 1px var(--be-hair,#DAD7D2);transition:transform .25s ease,box-shadow .25s ease}
.home-problem .problem-point:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--be-hair,#DAD7D2),0 14px 30px rgba(24,73,84,.08)}
.home-problem .problem-point h4{font-size:1.02rem !important;line-height:1.3 !important;margin-bottom:10px !important}
.home-problem .problem-point p{font-size:.86rem !important;line-height:1.6 !important}
@media(max-width:1024px){.home-problem .problem-intro{display:block}.home-problem .problem-intro p{max-width:680px}.home-problem .problem-points{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.home-problem .problem-points{grid-template-columns:1fr;margin-top:36px}}
/* Client video stories (after What We Do) + the site-wide video lightbox (isq-video.js) */
.nv-sec{background:var(--be-card,#fff);padding:88px 0}
@media(max-width:700px){.nv-sec{padding:64px 0}}
.nv1{align-items:center}.nv1-media{position:relative !important;top:auto !important}
.nv1 .port-cell{width:100%;height:auto;aspect-ratio:4/5;flex:none}
.nv1-btn{margin-top:28px}
.nv1-more{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:56px}
.nv1-more .port-cell{height:300px;flex:none}
@media(max-width:1024px){.nv1-more{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.nv1 .port-cell{aspect-ratio:4/5;max-width:420px;margin:0 auto}.nv1-more{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.nv1-more .port-cell{flex:0 0 72%;scroll-snap-align:start}}

.nv-cell img,.nv3-img img{transform:scale(1.45);transition:transform .4s}
.nv-cell:hover img{transform:scale(1.52) !important}
.vlb{padding:64px 72px}
.vlb-frame{position:relative;background:#000;border-radius:6px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.vlb-frame.short{width:min(calc(100vw - 24px),calc(min(84vh,820px) * 9 / 16));aspect-ratio:9/16}
.vlb-frame.wide{width:min(90vw,1100px);aspect-ratio:16/9;max-height:84vh}
.vlb-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vlb-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.vlb-local{position:absolute;left:16px;right:16px;bottom:16px;background:#FFF4E5;color:#7A3E00;font:600 .8rem/1.4 var(--font-body);padding:10px 12px;border-radius:8px}
.vlb .lb-counter{white-space:nowrap;text-transform:uppercase}
@media(max-width:680px){.vlb{padding:64px 12px 56px}.vlb-frame.short{width:min(calc(100vw - 24px),calc(76vh * 9 / 16))}}
/* play mark, same orange circle language as the site's arrows */
.nv-play{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:var(--orange,#F96815);box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform .25s ease;z-index:2}
.nv-play::after{content:"";position:absolute;left:22px;top:17px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent #fff}
[data-yt]:hover .nv-play{transform:scale(1.08)}
/* a Short's thumbnail has black side bars: zoom into the middle so the picture fills the card */
.nv-cell img,.nv3-img img{transform:scale(1.45);transition:transform .4s}
.nv-cell:hover img,.nv3-card:hover .nv3-img img{transform:scale(1.52) !important}
/* Client portal band: sentence + real screenshots of the sample portal */
.client-cam-banner.pv{position:relative;margin:40px 0;border-radius:18px;overflow:hidden;padding:56px 0 56px 56px;text-align:left}
.pv1-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:center;text-align:left}
.client-cam-banner .pv-text{font-family:var(--font-head);font-weight:700;font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.45;letter-spacing:-.005em;color:var(--be-deep) !important;max-width:520px;text-align:left;margin:0}
.pv-visual{display:block;position:relative;text-decoration:none;margin-right:-90px}
.pv-win{position:relative;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 24px 60px rgba(24,73,84,.22),0 0 0 1px rgba(24,73,84,.08);transform:perspective(1600px) rotateY(-9deg) rotateX(2deg)}
.pv-bar{height:26px;background:#F2F1F0;display:flex;align-items:center;gap:6px;padding:0 12px;box-shadow:inset 0 -1px 0 #DAD7D2}
.pv-bar i{width:9px;height:9px;border-radius:50%;background:#D2CEC8}
.pv-shot{display:block;width:100%;height:auto;object-fit:cover;object-position:top center}
.pv-win .pv-shot{aspect-ratio:16/10}
.pv-phone{position:absolute;background:#1E1F20;border-radius:30px;padding:8px;box-shadow:0 26px 60px rgba(24,73,84,.3);width:150px;left:-46px;bottom:-34px;transform:rotate(-3deg)}
.pv-phone .pv-shot{border-radius:23px;aspect-ratio:390/844}
@media(max-width:900px){.client-cam-banner.pv{padding:36px 24px 56px}.pv1-grid{grid-template-columns:1fr;gap:32px;text-align:center}.client-cam-banner .pv-text{text-align:center;margin:0 auto}.pv-visual{margin:0 0 0 30px}.pv-phone{width:110px;left:-30px;bottom:-26px}}
@media(max-width:600px){.client-cam-banner .pv-text{font-size:1.08rem}}

/* Process page "The goal:" callouts as a pull quote (Zak 10.07.26, option 1) */
.phase-goal{background:none !important;border:0 !important;border-radius:0 !important;padding:8px 0 0 !important;font-style:normal !important;font-family:var(--font-head);font-weight:700;font-size:clamp(1.15rem,1.8vw,1.4rem) !important;line-height:1.45 !important;color:var(--be-deep,#184954) !important;max-width:760px}
.phase-goal .pg-k{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#C2410C;margin-bottom:12px}
.phase-goal .pg-k::after{content:"";display:block;width:36px;height:3px;border-radius:2px;background:#F96815;margin-top:10px}
/* About, Why iNSEQUENCE: four reasons, editorial (Zak 10.07.26, option 2b) */
.why-section.w2b .why-header{margin-bottom:56px}
.why-section.w2b .why-grid{background:none;border-radius:0;gap:0 72px;max-width:1040px;margin:0 auto}
.why-section.w2b .why-card{background:none;padding:32px 0 44px;box-shadow:inset 0 1px 0 #CFCBC4}
.why-section.w2b .why-card-num{font-size:.72rem !important;letter-spacing:.18em !important;color:#C2410C !important;margin-bottom:14px;font-weight:700}
.why-section.w2b .why-card h3{font-size:1.25rem;line-height:1.3;margin-bottom:12px;font-weight:800}
.why-section.w2b .why-card p{font-size:.98rem;line-height:1.75;color:#3F4244;max-width:440px}
@media(max-width:768px){.why-section.w2b .why-card{padding:26px 0 34px}}
/* Newsletter band Subscribe button: orange (Zak 10.07.26; About + Contact) */
.newsletter-band .newsletter-btn{background:#F96815 !important;color:#fff !important;border-color:#F96815 !important}
.newsletter-band .newsletter-btn:hover{background:#E05A0C !important;border-color:#E05A0C !important;color:#fff !important}
/* Contact form Send My Request: orange (10.07.26) */
.form-submit .btn-primary{background:#F96815 !important;color:#fff !important;border-color:#F96815 !important}
.form-submit .btn-primary:hover{background:#E05A0C !important;border-color:#E05A0C !important;color:#fff !important}
/* About, "Charitable Partners" label a little bigger (Zak 10.07.26) */
.pct-give .pct-give-label{font-size:.9rem !important;letter-spacing:.16em}
/* Teal buttons on renovation-process (Zak 10.07.26): hero "Book a Discovery Call" + "See the Full Client Experience" */
.btn.btn-isq-teal{background:#008080 !important;color:#fff !important;border-color:#008080 !important}
.btn.btn-isq-teal:hover{background:#006666 !important;border-color:#006666 !important;color:#fff !important}
/* Process page portal band (Zak 10.07.26): replaces the comparison table; heading "Everything About Your Project, All in One Place" */
.rp-portal{padding:104px 0;background:#184954}
.rp-pv{margin:0 !important;background:none !important;padding:0 !important;border-radius:0 !important;overflow:visible !important}
.rp-portal .pv-text{color:#F2F1F0 !important}
.rp-portal .pv-text a{color:#fff !important;text-decoration-color:#F96815 !important}
.rp-btn{margin-top:32px;background:#F2F1F0 !important;color:#1E1F20 !important;border-color:#F2F1F0 !important}
.rp-btn:hover{background:#fff !important}
.rp-portal .pv-visual{margin-right:0}
.rp-portal .pv-win{box-shadow:0 30px 70px rgba(0,0,0,.35)}
@media(max-width:900px){.rp-btn{display:inline-flex}.rp-portal .pv-visual{margin-left:30px}}
@media(max-width:600px){.rp-portal{padding:64px 0}}
.rp-portal .rp-eye{color:#FFB57A !important;margin:0 0 14px}
.rp-portal .rp-h{font-family:var(--font-head);font-weight:900;color:#fff;font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1.12;margin:0 0 22px}
.rp-or{color:#F96815}
.rp-portal .rp-h + .pv-text{font-family:var(--font-body) !important;font-weight:400 !important;font-size:1.05rem !important;line-height:1.7 !important;color:rgba(242,241,240,.85) !important}
.rp-top{text-align:center;max-width:820px;margin:0 auto 56px}.rp-top .rp-h{margin-bottom:0}
/* Client Experience: portal screenshots above the four cards (Zak 10.07.26, option A) */
.cx-win{position:relative;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 24px 60px rgba(24,73,84,.18),0 0 0 1px rgba(24,73,84,.08)}
.cx-bar{height:24px;background:#F2F1F0;display:flex;align-items:center;gap:6px;padding:0 12px;box-shadow:inset 0 -1px 0 #DAD7D2}.cx-bar i{width:8px;height:8px;border-radius:50%;background:#D2CEC8}
.cx-win img{display:block;width:100%;height:auto}
.cxa{max-width:1000px;margin:0 auto 64px;padding:0 40px 0 0}.cxa-stage{position:relative;display:block}
.cxa-ph{position:absolute;right:-40px;bottom:-36px;width:170px;background:#1E1F20;border-radius:30px;padding:8px;box-shadow:0 26px 60px rgba(24,73,84,.3)}.cxa-ph img{display:block;width:100%;height:auto;border-radius:23px}
@media(max-width:700px){.cxa{padding:0 24px 0 0;margin-bottom:48px}.cxa-ph{width:96px;right:-20px;bottom:-20px;border-radius:20px;padding:5px}.cxa-ph img{border-radius:16px}}
