/*
Theme Name: Wright's Renovations
Theme URI: https://wrights-renovations.com/
Description: Kadence child theme for Wright's Renovations. Carries the WRI design token foundation (the --wri-* variables below) as the single source of truth, plus a thin override layer for the handful of rules Kadence cannot produce natively. Kadence Global Settings do the heavy lifting; this file stays small on purpose.
Author: Wright's Renovations
Author URI: https://wrights-renovations.com/
Template: kadence
Version: 1.5.4
Text Domain: wrights-renovations
*/

/* ============================================================
   WRI design tokens: the canonical foundation (Aug 2026)
   Single source of truth. 110 tokens.
   Sections and templates reference these tokens, never
   hard-coded hex, so a brand change happens in one place.
   ============================================================ */

:root{
  /* Brand color */
  --wri-ink:#192733; --wri-ink-2:#22323F; --wri-ink-3:#2D3E4C;
  --wri-dark-matter:#192733; --wri-eclipse:#101B24; --wri-galaxy:#22323F;
  --wri-paper:#FFFFFF; --wri-white:var(--wri-paper);
  --wri-oatmilk:#FEF4EA; --wri-chapati:#F7F2EA;
  --wri-solaris:#FF5C35; --wri-solaris-access:#C13D1B; --wri-solaris-hover:#A8341A;
  --wri-solaris-active:#8F2C14; --wri-solaris-soft:#FFF1EC;
  --wri-solaris-tint:rgba(255,92,53,0.10); --wri-solaris-glow:rgba(255,92,53,0.28);
  --wri-accessible-orange:var(--wri-solaris-access);
  /* Text */
  --wri-text:#3F4658; --wri-text-muted:#5A6472; --wri-text-soft:#5F6B78;
  /* Neutrals + surfaces */
  --wri-line:#E6E8EC; --wri-line-strong:#CFD5DC;
  --wri-bg-card:#F4F4F7; --wri-bg-chip:#EEF1F4; --wri-bg-soft:#FAFAFC; --wri-satellite:#E3E5E8;
  --wri-constellation:#6E8598; --wri-milky-way:#B6C7D6; --wri-nebula:#99AFC4;
  /* On dark */
  --wri-on-dark:#FEF4EA; --wri-on-dark-body:rgba(254,244,234,0.78);
  --wri-on-dark-muted:rgba(254,244,234,0.60); --wri-on-dark-line:rgba(254,244,234,0.14);
  --wri-overlay-dark:rgba(25,39,51,0.62);
  --wri-dk-heading:var(--wri-on-dark); --wri-dk-body:var(--wri-on-dark-body); --wri-dk-muted:var(--wri-on-dark-muted);
  /* Semantic */
  --wri-danger:#A32020; --wri-info:#1F5FA8; --wri-success:#1F7A4D; --wri-warning:#8A5A12;
  /* Type */
  --wri-sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --wri-serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --wri-mono:'DM Mono','SF Mono','Roboto Mono',Consolas,monospace;
  --wri-fs-xs:0.75rem; --wri-fs-sm:0.875rem; --wri-fs-base:1rem; --wri-fs-lg:1.125rem;
  --wri-fs-xl:1.25rem; --wri-fs-2xl:1.5rem; --wri-fs-3xl:1.875rem; --wri-fs-4xl:2.25rem; --wri-fs-5xl:3rem;
  --wri-fw-normal:400; --wri-fw-medium:500; --wri-fw-semibold:600; --wri-fw-bold:700;
  --wri-lh-tight:1.1; --wri-lh-snug:1.3; --wri-lh-normal:1.55; --wri-lh-relaxed:1.75;
  --wri-tr-tight:-0.028em; --wri-tr-snug:-0.015em; --wri-tr-label:0.08em;
  /* Spacing */
  --wri-s-1:4px; --wri-s-2:8px; --wri-s-3:12px; --wri-s-4:16px; --wri-s-5:20px; --wri-s-6:24px;
  --wri-s-7:32px; --wri-s-8:40px; --wri-s-9:48px; --wri-s-10:64px; --wri-s-11:80px; --wri-s-12:96px;
  --wri-s-13:120px; --wri-s-14:160px; --wri-pad:clamp(20px,5vw,56px);
  /* Radii */
  --wri-r-xs:4px; --wri-r-sm:8px; --wri-r-md:12px; --wri-r-lg:16px; --wri-r-xl:20px;
  --wri-r-2xl:24px; --wri-r-3xl:32px; --wri-r-full:9999px;
  /* Shadows */
  --wri-sh-xs:0 1px 2px rgba(25,39,51,0.04);
  --wri-sh-sm:0 1px 3px rgba(25,39,51,0.06),0 2px 6px rgba(25,39,51,0.03);
  --wri-sh-md:0 4px 8px rgba(25,39,51,0.06),0 8px 24px rgba(25,39,51,0.05);
  --wri-sh-lg:0 8px 16px rgba(25,39,51,0.06),0 20px 48px rgba(25,39,51,0.06);
  --wri-sh-xl:0 16px 32px rgba(25,39,51,0.08),0 48px 96px rgba(25,39,51,0.08);
  --wri-sh-cta:0 4px 14px rgba(193,61,27,0.28); --wri-sh-cta-lg:0 8px 24px rgba(193,61,27,0.34);
  --wri-sh-glow:0 0 0 3px rgba(255,92,53,0.24);
  /* Layout + motion */
  --wri-container:1290px; --wri-container-wide:1480px; --wri-container-narrow:880px; --wri-container-tight:640px;
  --wri-nav-h:80px; --wri-nav-h-mobile:64px;
  --wri-d-fast:120ms; --wri-d-base:240ms; --wri-d-slow:400ms; --wri-d-slower:600ms;
  --wri-ease:cubic-bezier(0.2,0.7,0.2,1); --wri-ease-out:cubic-bezier(0,0,0.2,1); --wri-ease-spring:cubic-bezier(0.34,1.56,0.64,1);
}

/* ============================================================
   House-rule guards
   Sentence-style casing everywhere. Googlebot renders
   text-transform to the SERP, so uppercase never ships.
   ============================================================ */

h1, h2, h3, h4, h5, h6,
.entry-title, .site-title {
  text-transform: none;
}

/* ============================================================
   Component overrides (thin layer)
   Only rules Kadence Global Settings cannot produce natively.
   Header override set (seven groups) lands here after the
   header is rebuilt in the Kadence Header Builder.
   ============================================================ */

/* Sentence-style casing for meta elements Kadence uppercases by default */
.entry-taxonomies,
.entry-taxonomies .category-links,
.post-navigation-sub small,
a.post-more-link {
  text-transform: none;
}


/* ============================================================
   Header override set (trimmed, Aug 8 2026)
   Only rules the Kadence Header Builder cannot produce natively.
   Native settings carry: nav and dropdown typography and colors,
   dropdown surface and width, logo width, row heights, sticky,
   drawer background. No !important outside print.
   ============================================================ */

/* 1. Container and sticky */
#masthead { border-bottom: 1px solid var(--wri-line); transition: box-shadow var(--wri-d-base) var(--wri-ease); }
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner { backdrop-filter: saturate(180%) blur(12px); background: rgba(255,255,255,0.96); }

/* 2. Logo */
.site-branding { padding: 6px 8px; }
.site-branding a.brand img { transition: opacity var(--wri-d-fast) var(--wri-ease); }
.site-branding a.brand:hover img { opacity: 0.85; }

/* 3. Main menu */
.main-navigation .primary-menu-container > ul > li.menu-item > a { padding: 8px 14px; letter-spacing: -0.005em; border-radius: var(--wri-r-sm); transition: color var(--wri-d-fast) var(--wri-ease), background var(--wri-d-fast) var(--wri-ease); }
.header-navigation[class*="header-navigation-style-underline"] .header-menu-container.primary-menu-container > ul > li > a::after { display: none; }

/* 4. Dropdowns */
.header-navigation .header-menu-container ul ul.sub-menu,
.header-navigation .header-menu-container ul ul.submenu { overflow: visible; border: 1px solid var(--wri-line); box-shadow: var(--wri-sh-lg); padding: 8px; }
/* Invisible hover bridge: covers the pointer dead zone between the nav pill and the panel, so reaching the dropdown never depends on fade timing. Receives events only while the panel is visible. */
.header-navigation .header-menu-container ul ul.sub-menu::before,
.header-navigation .header-menu-container ul ul.submenu::before { content: ""; position: absolute; left: 0; right: 0; top: -24px; height: 24px; }
.header-navigation .header-menu-container ul ul li.menu-item > a { padding: 10px 14px; letter-spacing: -0.005em; border-radius: var(--wri-r-sm); transition: background var(--wri-d-fast) var(--wri-ease), color var(--wri-d-fast) var(--wri-ease); }
.header-navigation .header-menu-container > ul > li.menu-item-has-children:last-child > ul.sub-menu { left: auto; right: 0; }

/* 5. Mobile toggle and drawer */
.mobile-toggle-open-container .menu-toggle-open,
.mobile-toggle-open-container .menu-toggle-open:focus { color: var(--wri-ink); padding: 8px 12px; background: transparent; border: 1px solid var(--wri-line); border-radius: var(--wri-r-sm); transition: background var(--wri-d-fast) var(--wri-ease), border-color var(--wri-d-fast) var(--wri-ease); }
.mobile-toggle-open-container .menu-toggle-open:hover,
.mobile-toggle-open-container .menu-toggle-open:focus-visible { background: var(--wri-bg-soft); border-color: var(--wri-ink); color: var(--wri-ink); }
.mobile-toggle-open-container .menu-toggle-open .menu-toggle-icon { font-size: 26px; }
#mobile-drawer .drawer-inner { color: var(--wri-oatmilk); background: var(--wri-dark-matter); }
#mobile-drawer .drawer-overlay { backdrop-filter: blur(4px); background: rgba(16,27,36,0.55); }
#mobile-drawer .drawer-header .drawer-toggle { color: var(--wri-oatmilk); padding: 0.6em 0.5em; }
.mobile-navigation ul li { font-size: var(--wri-fs-lg); line-height: 1.2; }
.mobile-navigation ul li a { padding: 14px 0; }
.mobile-navigation ul li > a,
.mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap,
.mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap > a { color: rgba(254,244,234,0.88); letter-spacing: -0.005em; }
.mobile-navigation ul li > a:hover,
.mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap > a:hover,
.mobile-navigation ul li.current-menu-item > a,
.mobile-navigation ul li.current-menu-item.menu-item-has-children > .drawer-nav-drop-wrap,
.mobile-navigation ul li.current-menu-item.menu-item-has-children > .drawer-nav-drop-wrap > a { color: var(--wri-milky-way); }
.mobile-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap,
.mobile-navigation ul li:not(.menu-item-has-children) a { border-bottom: 1px solid var(--wri-on-dark-line); }
.mobile-navigation:not(.drawer-navigation-parent-toggle-true) ul li.menu-item-has-children .drawer-nav-drop-wrap button { border-left: 1px solid var(--wri-on-dark-line); }

/* 6. Hero pages and print */
body:has(.wrp-hero) .site-header { border-bottom: 0; }
body:has(.wrp-hero) .entry-header.page-title { margin-bottom: 0; }
body:has(.wrp-hero) #masthead,
body:has(.wrp-hero) .site-header-row-container-inner,
body:has(.wrp-hero) .site-main-header-wrap { border-top: 0; box-shadow: none; }
body:has(.wrp-hero) .site-main-header-inner-wrap,
body:has(.wrp-hero) .site-header-main-section-left,
body:has(.wrp-hero) .site-header-main-section-right,
body:has(.wrp-hero) .site-header-item { align-items: center; }
body:has(.wrp-hero) .site-branding { padding-top: 0; padding-bottom: 0; display: flex; align-items: center; }
@media print { #masthead, .site-header, .wr-footer, .site-footer, .wri-sticky-cta, .wri-back-top, .wri-reading-progress, #wpadminbar { display: none !important; } }


/* ============================================================
   Footer component (Aug 8 2026)
   The footer content lives in a Kadence Element hooked before
   the native footer; the native bottom bar carries the legal
   line. Token-driven. The old invisible-hover bug is explicitly
   not carried over: links are ink-3, hover Solaris Access.
   ============================================================ */
.wri-footer { background: var(--wri-paper); border-top: 1px solid var(--wri-line); padding: var(--wri-s-11) var(--wri-pad) 0; }
.wri-footer-cta { background: var(--wri-oatmilk); border-radius: var(--wri-r-3xl); max-width: var(--wri-container); margin: 0 auto; padding: clamp(40px, 7vw, 96px) var(--wri-pad); text-align: center; }
.wri-footer-cta h2 { font-size: clamp(1.875rem, 3.6vw, 3rem); line-height: var(--wri-lh-tight); letter-spacing: var(--wri-tr-tight); margin: 0 0 var(--wri-s-4); }
.wri-eyebrow { font-family: var(--wri-mono); font-size: var(--wri-fs-xs); font-weight: var(--wri-fw-medium); letter-spacing: var(--wri-tr-label); color: var(--wri-solaris-access); margin: 0 0 var(--wri-s-3); }
.wri-footer-cta-sub { color: var(--wri-text-muted); font-size: var(--wri-fs-lg); max-width: 620px; margin: 0 auto var(--wri-s-7); }
.wri-footer .wp-block-buttons { display: flex; justify-content: center; gap: var(--wri-s-4); flex-wrap: wrap; }
.wri-footer .wp-block-button__link { font-family: var(--wri-sans); font-size: var(--wri-fs-sm); font-weight: var(--wri-fw-semibold); border-radius: var(--wri-r-full); padding: 14px 28px; background: var(--wri-solaris-access); color: var(--wri-paper); border: 1.5px solid var(--wri-solaris-access); box-shadow: var(--wri-sh-cta); text-decoration: none; transition: background var(--wri-d-base) var(--wri-ease), border-color var(--wri-d-base) var(--wri-ease), box-shadow var(--wri-d-base) var(--wri-ease), transform var(--wri-d-fast) var(--wri-ease); }
.wri-footer .wp-block-button__link:hover { background: var(--wri-solaris-hover); border-color: var(--wri-solaris-hover); color: var(--wri-paper); transform: translateY(-1px); box-shadow: var(--wri-sh-cta-lg); }
.wri-footer .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button {
  border-width: 1.5px;
  padding: 14px 28px; background: transparent; color: var(--wri-ink); border-color: var(--wri-line-strong); box-shadow: none; }
.wri-footer .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button:hover { background: var(--wri-bg-soft); border-color: var(--wri-ink); color: var(--wri-ink); transform: none; box-shadow: none; }
.wri-footer-grid { max-width: var(--wri-container); margin: 0 auto; padding: var(--wri-s-10) 0 var(--wri-s-9); gap: var(--wri-s-8); }
.wri-footer-heading { font-family: var(--wri-mono); font-size: var(--wri-fs-xs); font-weight: var(--wri-fw-medium); letter-spacing: var(--wri-tr-label); color: var(--wri-text-muted); margin: 0 0 var(--wri-s-4); }
.wri-footer-links { list-style: none; padding: 0; margin: 0; }
.wri-footer-links li { margin: 0 0 var(--wri-s-3); }
.wri-footer-links a { color: var(--wri-ink-3); font-size: var(--wri-fs-sm); text-decoration: none; transition: color var(--wri-d-fast) var(--wri-ease); }
.wri-footer-links a:hover { color: var(--wri-solaris-access); }
.wri-footer-brand img { max-width: 200px; height: auto; }
.wri-footer-brand .wp-block-image { margin: 0 0 var(--wri-s-4); }
.wri-footer-brand p { color: var(--wri-text-muted); font-size: var(--wri-fs-sm); line-height: var(--wri-lh-normal); margin: 0 0 var(--wri-s-4); }
.wri-footer-brand a { color: var(--wri-ink-3); text-decoration: none; }
.wri-footer-brand a:hover { color: var(--wri-solaris-access); }
p.wri-footer-tagline { color: var(--wri-ink); font-weight: var(--wri-fw-semibold); }
.wri-footer-trust { font-size: var(--wri-fs-xs); }
.site-footer { background: var(--wri-paper); }
.site-footer .footer-html { font-size: var(--wri-fs-xs); color: var(--wri-text-muted); }
.site-footer .footer-html a { color: var(--wri-ink-3); }


/* =============================================================
   Component layer (Aug 8 2026)
   Reusable token-driven classes, applied via the editor's
   Additional CSS class field. The default solid button is
   Kadence-native (Customizer button settings own it); this layer
   adds only what Kadence cannot produce: the quiet outline
   variant, branded focus rings, cards, section rhythm, dark
   surfaces, and widow guards. Everything references --wri-*
   tokens; no hard-coded hex.
   ============================================================= */

/* 1. Outline buttons, site-wide. Quiet secondary action: ink label,
   hairline border, soft lift on hover. Border-aware padding keeps
   the height identical to the native solid button. */
.wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button {
  background: transparent;
  color: var(--wri-ink);
  border: 1.5px solid var(--wri-line-strong);
  padding: calc(0.4em - 1.5px) 1em;
  box-shadow: none;
}
.wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button:hover {
  background: var(--wri-bg-soft);
  border-color: var(--wri-ink);
  color: var(--wri-ink);
  box-shadow: none;
}

/* 2. Focus rings. Nothing on the site brands the UA default ring.
   Vivid Solaris is canon for focus rings and glows. */
:is(.wp-block-button__link, .kb-button, .button, button):focus-visible {
  outline: 2px solid var(--wri-solaris);
  outline-offset: 2px;
  box-shadow: var(--wri-sh-glow), var(--wri-sh-cta);
}
:is(.wri-footer, .wri-card, .wri-dark) a:focus-visible {
  outline: 2px solid var(--wri-solaris);
  outline-offset: 2px;
  border-radius: var(--wri-r-xs);
}

/* 3. Cards. Base card, a soft fill variant, a feature elevation,
   and an opt-in hover lift for cards that act as links. */
.wri-card {
  background: var(--wri-paper);
  border: 1px solid var(--wri-line);
  border-radius: var(--wri-r-xl);
  padding: var(--wri-s-7);
  box-shadow: var(--wri-sh-sm);
}
.wri-card > :first-child { margin-top: 0; }
.wri-card > :last-child { margin-bottom: 0; }
.wri-card--soft { background: var(--wri-bg-soft); border-color: transparent; box-shadow: none; }
.wri-card--feature { border-radius: var(--wri-r-2xl); padding: var(--wri-s-8); box-shadow: var(--wri-sh-md); }
.wri-card--lift { transition: transform var(--wri-d-fast) var(--wri-ease), box-shadow var(--wri-d-base) var(--wri-ease); }
.wri-card--lift:hover { transform: translateY(-2px); box-shadow: var(--wri-sh-md); }

/* 4. Section rhythm. Vertical padding scales with the viewport;
   horizontal padding matches the site gutter. Kadence rows keep
   their own max-width; these classes own spacing and surface. */
.wri-section { padding: clamp(48px, 8vw, 96px) var(--wri-pad); }
.wri-section--tight { padding-block: clamp(32px, 5vw, 64px); }
.wri-section--hero { padding-block: clamp(64px, 10vw, 120px); }
.wri-section--soft { background: var(--wri-bg-soft); }
.wri-section--oatmilk { background: var(--wri-oatmilk); }

/* 5. Dark surfaces. One meaning, never inverted: dark background,
   light text. No orange text on dark, per the July 2026 brand rule. */
.wri-dark { background: var(--wri-dark-matter); color: var(--wri-on-dark-body); }
.wri-dark :is(h1, h2, h3, h4, h5, h6) { color: var(--wri-dk-heading); }
.wri-dark .wri-eyebrow { color: var(--wri-on-dark-muted); }
.wri-dark a:not(.wp-block-button__link):not(.kb-button) { color: var(--wri-on-dark); text-decoration-color: var(--wri-on-dark-line); text-underline-offset: 3px; }
.wri-dark a:not(.wp-block-button__link):not(.kb-button):hover { text-decoration-color: var(--wri-on-dark); }
.wri-dark .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button {
  color: var(--wri-on-dark);
  border-color: var(--wri-on-dark-line);
}
.wri-dark .wp-block-button.is-style-outline > .wp-block-button__link.wp-element-button:hover {
  background: rgba(254, 244, 234, 0.08);
  border-color: var(--wri-on-dark);
  color: var(--wri-on-dark);
}
.wri-dark .wri-card { background: var(--wri-galaxy); border-color: var(--wri-on-dark-line); box-shadow: none; }

/* 6. Widow guards. Headings balance their lines; ledes rag better. */
h1, h2, h3, .wri-balance { text-wrap: balance; }
.wri-pretty, .wri-footer-cta-sub { text-wrap: pretty; }


/* ============================================================
   Page title band (Aug 9 2026)
   Native Kadence "above content" page title styled as a
   contained Oatmilk card, matching the footer CTA band
   geometry. Shown on pages with per-page title enabled
   (the de-Elementorized service pages).
   ============================================================ */
.page-hero-section { padding: var(--wri-s-6) var(--wri-pad) 0; }
.page-hero-section .entry-hero-container-inner { background: var(--wri-oatmilk); max-width: var(--wri-container); margin: 0 auto; border-radius: var(--wri-r-3xl); padding: clamp(40px, 6vw, 72px) var(--wri-pad); }
.page-hero-section .hero-container { max-width: none; padding: 0; }
.page-hero-section .entry-title { font-size: clamp(2rem, 4.2vw, 3rem); line-height: var(--wri-lh-tight); letter-spacing: var(--wri-tr-tight); color: var(--wri-ink); margin: 0; text-align: center; }

/* ============================================================
   Lead capture band (Aug 9 2026)
   Kadence Element hooked before the footer element on service
   pages (category-scoped). HubSpot form in a card on a soft
   section; the Oatmilk footer CTA band follows it.
   ============================================================ */
.wri-lead-band { border-top: 1px solid var(--wri-line); text-align: center; }
.wri-lead-band h2 { font-size: clamp(1.5rem, 2.8vw, 2.25rem); line-height: var(--wri-lh-tight); letter-spacing: var(--wri-tr-snug); margin: 0 0 var(--wri-s-4); }
.wri-lead-band .wri-lead-sub { color: var(--wri-text-muted); max-width: 560px; margin: 0 auto var(--wri-s-7); }
.wri-lead-band .wri-card { max-width: 720px; margin: 0 auto; text-align: left; }


/* ============================================================
   Sidebar lead form (Aug 9 2026)
   Native-built quote form in the page sidebar (widget area
   sidebar-secondary), submitting to the HubSpot Forms API.
   Card and focus canon come from the component layer; this
   block owns fields, consent, submit, and sticky behavior.
   ============================================================ */
.sidebar-slug-sidebar-secondary .sidebar-inner-wrap { position: sticky; top: calc(var(--wri-nav-h) + var(--wri-s-6)); }
.wri-side-form .wri-side-form-title { font-size: var(--wri-fs-2xl); line-height: var(--wri-lh-tight); letter-spacing: var(--wri-tr-snug); margin: 0 0 var(--wri-s-3); }
.wri-side-form .wri-side-form-sub { color: var(--wri-text-muted); font-size: var(--wri-fs-sm); margin: 0 0 var(--wri-s-5); }
.wri-form { display: grid; gap: var(--wri-s-4); margin: 0; }
.wri-field label { display: block; font-size: var(--wri-fs-sm); font-weight: var(--wri-fw-medium); color: var(--wri-ink-3); margin: 0 0 var(--wri-s-1); }
.wri-field input, .wri-field textarea { display: block; width: 100%; font-family: var(--wri-sans); font-size: var(--wri-fs-sm); line-height: 1.4; color: var(--wri-text); background: var(--wri-paper); border: 1px solid var(--wri-line-strong); border-radius: var(--wri-r-sm); padding: 10px 12px; transition: border-color var(--wri-d-fast) var(--wri-ease), box-shadow var(--wri-d-fast) var(--wri-ease); }
.wri-field input:focus, .wri-field textarea:focus { outline: none; border-color: var(--wri-solaris); box-shadow: var(--wri-sh-glow); }
.wri-field input::placeholder, .wri-field textarea::placeholder { color: var(--wri-text-soft); opacity: 0.75; }
.wri-field .wri-invalid { border-color: var(--wri-danger); }
.wri-consent { display: flex; gap: var(--wri-s-2); align-items: flex-start; }
.wri-consent input { flex: none; width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--wri-solaris-access); }
.wri-consent label { font-size: var(--wri-fs-xs); color: var(--wri-text-muted); line-height: var(--wri-lh-snug); }
.wri-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.wri-form-submit { display: block; width: 100%; font-family: var(--wri-sans); font-size: var(--wri-fs-sm); font-weight: var(--wri-fw-semibold); color: var(--wri-paper); background: var(--wri-solaris-access); border: 1.5px solid var(--wri-solaris-access); border-radius: var(--wri-r-full); padding: 13px 24px; cursor: pointer; box-shadow: var(--wri-sh-cta); transition: background var(--wri-d-base) var(--wri-ease), border-color var(--wri-d-base) var(--wri-ease), box-shadow var(--wri-d-base) var(--wri-ease), transform var(--wri-d-fast) var(--wri-ease); }
.wri-form-submit:hover { background: var(--wri-solaris-hover); border-color: var(--wri-solaris-hover); transform: translateY(-1px); box-shadow: var(--wri-sh-cta-lg); }
.wri-form-submit:disabled { opacity: 0.6; cursor: default; transform: none; box-shadow: var(--wri-sh-cta); }
.wri-form-status { font-size: var(--wri-fs-xs); color: var(--wri-text-muted); margin: 0; min-height: 1.2em; }
.wri-form-fineprint { font-size: var(--wri-fs-xs); color: var(--wri-text-muted); line-height: var(--wri-lh-snug); margin: var(--wri-s-4) 0 0; }
.wri-form-fineprint a { color: var(--wri-ink-3); }
@media (max-width: 1024px) { .sidebar-slug-sidebar-secondary .sidebar-inner-wrap { position: static; } .sidebar-slug-sidebar-secondary .wri-side-form { max-width: 560px; margin: 0 auto; } }


/* ============================================================
   Featured-image hero (Aug 9 2026)
   Pages with a real featured image (body class set by the
   child theme hook; junk images denylisted) show it behind
   the dark ink overlay with a light title. Pages without one
   keep the plain Oatmilk band above.
   ============================================================ */
body.wri-hero-has-img .page-hero-section .entry-hero-container-inner { background-image: linear-gradient(var(--wri-overlay-dark), var(--wri-overlay-dark)), var(--wri-hero-img); background-size: cover; background-position: center; }
body.wri-hero-has-img .page-hero-section .entry-title { color: var(--wri-oatmilk); }


/* ============================================================
   8. Contact page (Track 2 rebuild, page 596). First of the 19
   Elementor-to-Kadence redesigns; pattern source is the approved
   preview (claude/wri-contact-preview.html in the Growth project).
   Reuses the shared layers above: wri-section, wri-card, wri-eyebrow,
   wri-form, wri-field, wri-consent, wri-form-submit, wri-form-status,
   wri-form-fineprint. Everything page-specific is namespaced wri-ct-.
   ============================================================ */

.wri-ct-hero { padding: clamp(48px, 7vw, 88px) var(--wri-pad) clamp(32px, 4vw, 48px); }
.wri-ct-hero-inner { max-width: var(--wri-container-narrow); margin: 0 auto; text-align: center; }
.wri-ct-hero h1 { font-size: clamp(2.1rem, 4.4vw, 3.4rem); line-height: var(--wri-lh-tight); margin: 0 0 var(--wri-s-4); }
.wri-ct-lede { font-size: var(--wri-fs-lg); color: var(--wri-text-muted); max-width: 620px; margin: 0 auto; }
.wri-ct-lede a { color: var(--wri-solaris-access); }

.wri-ct-grid { max-width: var(--wri-container); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--wri-s-8); align-items: start; }
.wri-ct-formcard h2 { font-size: 1.5rem; margin: 0 0 var(--wri-s-2); }
.wri-ct-formsub { color: var(--wri-text-muted); font-size: var(--wri-fs-sm); margin: 0 0 var(--wri-s-6); }
.wri-ct-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--wri-s-4); }
.wri-ct-req { color: var(--wri-solaris-access); }
.wri-ct-form textarea { min-height: 120px; resize: vertical; }
.wri-ct-submit { width: auto; justify-self: start; padding: 14px 32px; }
.wri-ct-hp { display: none; }

.wri-ct-railblock { margin: 0 0 var(--wri-s-7); }
.wri-ct-railhead { font-family: var(--wri-mono); font-size: var(--wri-fs-xs); font-weight: var(--wri-fw-medium); letter-spacing: var(--wri-tr-label); color: var(--wri-text-muted); margin: 0 0 var(--wri-s-4); }
.wri-ct-railblock p { margin: 0 0 var(--wri-s-3); font-size: var(--wri-fs-sm); }
.wri-ct-railblock a { color: var(--wri-ink-3); text-decoration: underline; text-decoration-color: var(--wri-line-strong); text-underline-offset: 3px; transition: color var(--wri-d-fast) var(--wri-ease); }
.wri-ct-railblock a:hover { color: var(--wri-solaris-access); }
.wri-ct-tel { font-family: var(--wri-serif); font-size: 1.6rem; font-weight: var(--wri-fw-bold); color: var(--wri-ink); }
.wri-ct-railblock a.wri-ct-tel { text-decoration: none; }
.wri-ct-railblock a.wri-ct-tel:hover { color: var(--wri-solaris-access); }
.wri-ct-step { display: flex; gap: var(--wri-s-4); margin: 0 0 var(--wri-s-5); }
.wri-ct-dot { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--wri-solaris); margin-top: 7px; box-shadow: 0 0 0 4px var(--wri-solaris-soft); }
.wri-ct-step h3 { font-family: var(--wri-sans); font-size: var(--wri-fs-base); font-weight: var(--wri-fw-semibold); color: var(--wri-ink); margin: 0 0 4px; }
.wri-ct-step p { margin: 0; font-size: var(--wri-fs-sm); color: var(--wri-text-muted); }
.wri-ct-trust { font-size: 13px; color: var(--wri-text-muted); line-height: 1.7; }

.wri-ct-statgrid { max-width: var(--wri-container); margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--wri-s-5); }
.wri-ct-stat { background: var(--wri-paper); border: 1px solid var(--wri-line); border-radius: var(--wri-r-xl); padding: var(--wri-s-6); text-align: center; }
.wri-ct-stat b { display: block; font-family: var(--wri-mono); font-weight: var(--wri-fw-medium); font-size: 1.7rem; color: var(--wri-ink); margin: 0 0 4px; }
.wri-ct-stat span { font-size: 13px; color: var(--wri-text-muted); }

.wri-ct-quote { padding-top: 0; }
.wri-ct-quoteinner { max-width: var(--wri-container-narrow); margin: 0 auto; text-align: center; }
.wri-ct-quoteinner blockquote { border: none; padding: 0; font-family: var(--wri-serif); font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: var(--wri-lh-snug); color: var(--wri-ink-2); margin: 0 0 var(--wri-s-5); }
.wri-ct-quoteinner figcaption { font-family: var(--wri-mono); font-size: var(--wri-fs-xs); letter-spacing: var(--wri-tr-label); color: var(--wri-text-muted); }

.wri-ct-hero a:focus-visible, .wri-ct-rail a:focus-visible { outline: 2px solid var(--wri-solaris); outline-offset: 2px; border-radius: var(--wri-r-xs); }

/* The site footer's CTA band points at the contact page; this page
   must not end by linking to itself. Element 9122 is a single element
   (band plus grid), so the exclusion is CSS-scoped to this page rather
   than an element display rule. */
body.page-id-596 .wri-footer-cta { display: none; }

@media (max-width: 880px) {
  .wri-ct-grid { grid-template-columns: 1fr; }
  .wri-ct-statgrid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .wri-ct-row { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .wri-ct-railblock a, .wri-ct-submit { transition: none; }
}


/* ===== WRI projects pattern CSS, site-wide enqueue. Moved out of per-page inline styles on Aug 17, 2026. Do not edit by hand; regenerate from the pattern. ===== */
/* ==========================================================================
   Wright's Renovations | Historic Home Renovations page
   WPCode snippet (Site Wide Header, Auto Insert). Label: wri-hist
   Pairs with the Kadence Custom HTML block of the same name.
   References the Customizer v4.0 --wri-* tokens; never redefines them.
   Fallbacks are provided so the block survives if a token is missing.
   Labels stay sentence case in the HTML; case is never transformed in CSS
   (Googlebot renders transformed case into the SERP).
   ========================================================================== */

.wri-hist{
  --h-serif:var(--wri-serif,'Playfair Display',Georgia,serif);
  --h-sans:var(--wri-sans,'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif);
  --h-mono:var(--wri-mono,'DM Mono','SF Mono',Consolas,monospace);
  --h-ink:var(--wri-ink,#192733);
  --h-eclipse:var(--wri-eclipse,#101B24);
  --h-galaxy:var(--wri-galaxy,#22323F);
  --h-paper:var(--wri-paper,#FFFFFF);
  --h-oat:var(--wri-oatmilk,#FEF4EA);
  --h-chapati:var(--wri-chapati,#F7F2EA);
  --h-solaris:var(--wri-solaris,#FF5C35);
  --h-access:var(--wri-solaris-access,#C13D1B);
  --h-hover:var(--wri-solaris-hover,#A8341A);
  --h-soft:var(--wri-solaris-soft,#FFF1EC);
  --h-text:var(--wri-text,#3F4658);
  --h-muted:var(--wri-text-muted,#5A6472);
  --h-line:var(--wri-line,#E6E8EC);
  --h-line2:var(--wri-line-strong,#CFD5DC);
  --h-bgsoft:var(--wri-bg-soft,#FAFAFC);
  --h-ondark:var(--wri-on-dark,#FEF4EA);
  --h-ondark-body:var(--wri-on-dark-body,rgba(254,244,234,0.78));
  --h-ondark-line:var(--wri-on-dark-line,rgba(254,244,234,0.14));
  --h-container:var(--wri-container,1290px);
  --h-narrow:820px;
  --h-ease:var(--wri-ease,cubic-bezier(0.2,0.7,0.2,1));
  color:var(--h-text);
  font-family:var(--h-sans);
  font-size:1.0625rem;
  line-height:1.6;
}

/* Layout ------------------------------------------------------------------ */
.wri-hist .wri-hist-sec{padding:clamp(56px,7vw,104px) 0}
.wri-hist .wri-hist-wrap{max-width:var(--h-container);margin:0 auto;padding:0 clamp(20px,5vw,56px)}
.wri-hist .wri-hist-narrow{max-width:var(--h-narrow)}
.wri-hist .wri-hist-fb{width:100vw;margin-left:calc(50% - 50vw)}
.wri-hist .wri-hist-soft{background:var(--h-bgsoft)}
.wri-hist .wri-hist-oat{background:var(--h-oat)}
.wri-hist .wri-hist-intro{max-width:68ch}
.wri-hist .wri-hist-intro h2{margin-bottom:1rem}

/* Type -------------------------------------------------------------------- */
.wri-hist h1,.wri-hist h2,.wri-hist h3,.wri-hist .wri-hist-h1,.wri-hist .wri-hist-hero-sub,.wri-hist .wri-hist-tile-title{
  font-family:var(--h-serif);color:var(--h-ink);font-weight:600;line-height:1.15;letter-spacing:-0.015em;
}
.wri-hist .wri-hist-h1{font-size:clamp(2.4rem,5.2vw,3.5rem);max-width:15ch;margin:0 0 .6rem}
.wri-hist h2{font-size:clamp(1.85rem,3.4vw,2.5rem);margin:0 0 .4rem}
.wri-hist h3{font-size:clamp(1.2rem,1.9vw,1.45rem)}
.wri-hist p{margin:0 0 1.1em;max-width:68ch}
.wri-hist .wri-hist-lead{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--h-muted);max-width:56ch}
.wri-hist .wri-hist-gap{margin-top:2rem}
.wri-hist .wri-hist-kicker{font-family:var(--h-mono);font-size:0.8rem;letter-spacing:0.02em;color:var(--h-access);margin-bottom:1rem;display:block}
.wri-hist a{color:var(--h-access);text-decoration:none;border-bottom:1px solid rgba(193,61,27,0.28);transition:color var(--h-ease) 200ms,border-color var(--h-ease) 200ms}
.wri-hist a:hover{color:var(--h-hover);border-color:var(--h-hover)}
.wri-hist strong{color:var(--h-ink);font-weight:600}
.wri-hist img{max-width:100%;display:block;height:auto}

/* Buttons (element + children + every state, all !important) --------------- */
.wri-hist .wri-hist-btn,
.wri-hist .wri-hist-btn:link,
.wri-hist .wri-hist-btn:visited{
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  font-family:var(--h-sans)!important;font-weight:600!important;font-size:1rem!important;
  padding:15px 30px!important;border-radius:9999px!important;border:1px solid transparent!important;
  text-decoration:none!important;cursor:pointer!important;line-height:1.1!important;
  transition:transform var(--h-ease) 200ms,box-shadow var(--h-ease) 200ms,background var(--h-ease) 200ms,color var(--h-ease) 200ms!important;
}
.wri-hist .wri-hist-btn span{color:inherit!important}
.wri-hist .wri-hist-btn-primary,
.wri-hist .wri-hist-btn-primary:link,
.wri-hist .wri-hist-btn-primary:visited{background:var(--h-access)!important;color:#fff!important;border-color:var(--h-access)!important;box-shadow:0 4px 14px rgba(193,61,27,0.28)!important}
.wri-hist .wri-hist-btn-primary:hover,
.wri-hist .wri-hist-btn-primary:active,
.wri-hist .wri-hist-btn-primary:focus{background:var(--h-hover)!important;color:#fff!important;border-color:var(--h-hover)!important;transform:translateY(-1px)!important;box-shadow:0 8px 24px rgba(193,61,27,0.34)!important}
.wri-hist .wri-hist-btn-ghost,
.wri-hist .wri-hist-btn-ghost:link,
.wri-hist .wri-hist-btn-ghost:visited{background:transparent!important;color:var(--h-ink)!important;border-color:var(--h-line2)!important}
.wri-hist .wri-hist-btn-ghost:hover,
.wri-hist .wri-hist-btn-ghost:active,
.wri-hist .wri-hist-btn-ghost:focus{background:var(--h-ink)!important;color:#fff!important;border-color:var(--h-ink)!important;transform:translateY(-1px)!important}
.wri-hist .wri-hist-btn-on-dark,
.wri-hist .wri-hist-btn-on-dark:link,
.wri-hist .wri-hist-btn-on-dark:visited{color:var(--h-ondark)!important;border-color:var(--h-ondark-line)!important}
.wri-hist .wri-hist-btn-on-dark:hover,
.wri-hist .wri-hist-btn-on-dark:active,
.wri-hist .wri-hist-btn-on-dark:focus{background:var(--h-ondark)!important;color:var(--h-ink)!important;border-color:var(--h-ondark)!important}
.wri-hist .wri-hist-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:2rem}

/* Dark sections: win specificity over the auto-detector (snippet 6721/6719/6720) */
.wri-hist .wri-hist-dark{background:var(--h-eclipse);color:var(--h-ondark-body)}
.wri-hist .wri-hist-dark.wri-hist-dark :is(h1,h2,h3,.wri-hist-h1,.wri-hist-hero-sub){color:var(--h-ondark)!important}
.wri-hist .wri-hist-dark.wri-hist-dark :is(p,li,figcaption,.wri-hist-lead){color:var(--h-ondark-body)!important}
.wri-hist .wri-hist-dark.wri-hist-dark a:not(.wri-hist-btn):not(.wri-hist-chip){color:var(--h-solaris)!important;border-color:rgba(255,92,53,0.4)!important}
.wri-hist .wri-hist-dark.wri-hist-dark a:not(.wri-hist-btn):not(.wri-hist-chip):hover{color:#fff!important;border-color:#fff!important}
.wri-hist .wri-hist-dark.wri-hist-dark strong{color:var(--h-ondark)!important}

/* Hero -------------------------------------------------------------------- */
.wri-hist .wri-hist-hero{position:relative;overflow:hidden}
.wri-hist .wri-hist-hero::after{content:"";position:absolute;top:-30%;right:-8%;width:55%;height:120%;background:radial-gradient(circle,rgba(255,92,53,0.14),transparent 62%);pointer-events:none}
.wri-hist .wri-hist-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(32px,5vw,64px);align-items:center;padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
.wri-hist .wri-hist-hero-sub{font-weight:600;font-size:clamp(1.9rem,3.6vw,2.7rem);max-width:20ch;margin:.2rem 0 1.2rem;letter-spacing:-0.015em;line-height:1.15}
.wri-hist .wri-hist-hero-figure{margin:0}
.wri-hist .wri-hist-hero-figure img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:24px;border:1px solid var(--h-ondark-line);box-shadow:0 20px 48px rgba(0,0,0,0.35)}
.wri-hist .wri-hist-styles{grid-column:1 / -1;border-top:1px solid var(--h-ondark-line);margin-top:clamp(28px,4vw,44px);padding-top:clamp(24px,3vw,36px)}
.wri-hist .wri-hist-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:1.1rem}
.wri-hist .wri-hist-chip,
.wri-hist .wri-hist-chip:link,
.wri-hist .wri-hist-chip:visited{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 20px;border-radius:12px;background:rgba(254,244,234,0.05);border:1px solid var(--h-ondark-line);color:var(--h-ondark);font-weight:600;text-decoration:none}
.wri-hist .wri-hist-chip:hover{background:rgba(255,92,53,0.14);border-color:rgba(255,92,53,0.4);transform:translateY(-2px);color:#fff}
.wri-hist .wri-hist-arrow{color:var(--h-solaris);font-family:var(--h-mono)}
@media(max-width:860px){.wri-hist .wri-hist-hero-grid{grid-template-columns:1fr}.wri-hist .wri-hist-hero-figure{order:-1}}

/* Figures ----------------------------------------------------------------- */
.wri-hist .wri-hist-figure{margin:2rem 0 0}
.wri-hist .wri-hist-figure img{width:100%;border-radius:20px;border:1px solid var(--h-line);box-shadow:0 4px 8px rgba(25,39,51,0.06),0 8px 24px rgba(25,39,51,0.05)}
.wri-hist .wri-hist-figure figcaption{font-family:var(--h-mono);font-size:0.78rem;color:var(--h-muted);margin-top:.7rem;letter-spacing:0.02em}

/* Scope cards ------------------------------------------------------------- */
.wri-hist .wri-hist-scope-h{margin-bottom:.4rem}
.wri-hist .wri-hist-scope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:1.4rem}
.wri-hist .wri-hist-scope-item{padding:22px;border-radius:16px;background:var(--h-oat);border:1px solid rgba(193,61,27,0.12)}
.wri-hist .wri-hist-scope-item .wri-hist-era{font-family:var(--h-mono);font-size:0.85rem;font-weight:500;color:var(--h-access);letter-spacing:0.02em;display:block;margin-bottom:.5rem}
.wri-hist .wri-hist-scope-item p{margin:0;font-size:0.98rem;color:var(--h-text)}

/* Era tiles --------------------------------------------------------------- */
.wri-hist .wri-hist-era-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:2rem}
.wri-hist .wri-hist-era-tile{background:var(--h-paper);border:1px solid var(--h-line);border-radius:20px;padding:28px;box-shadow:0 1px 3px rgba(25,39,51,0.06);transition:box-shadow var(--h-ease) 240ms,transform var(--h-ease) 240ms}
.wri-hist .wri-hist-era-tile:hover{box-shadow:0 8px 24px rgba(25,39,51,0.08);transform:translateY(-2px)}
.wri-hist .wri-hist-num{font-family:var(--h-mono);font-size:0.9rem;color:var(--h-access)}
.wri-hist .wri-hist-tile-title{font-size:1.3rem;margin:.4rem 0 .1rem}
.wri-hist .wri-hist-span{font-family:var(--h-mono);font-size:0.8rem;color:var(--h-muted);letter-spacing:0.02em}
.wri-hist .wri-hist-era-tile p{font-size:0.98rem;margin:.9rem 0 1.1rem}
.wri-hist .wri-hist-status{font-size:0.9rem;color:var(--h-muted);font-style:italic}
.wri-hist .wri-hist-details{margin-top:2.4rem}
.wri-hist .wri-hist-detail{padding-top:1.6rem;margin-top:1.6rem;border-top:1px solid var(--h-line)}
.wri-hist .wri-hist-detail:first-child{border-top:0;margin-top:0;padding-top:0}

/* Feature list ------------------------------------------------------------ */
.wri-hist .wri-hist-features{list-style:none;margin:1.4rem 0;padding:0;display:grid;gap:14px;max-width:70ch}
.wri-hist .wri-hist-features li{position:relative;padding-left:34px;font-size:1.02rem}
.wri-hist .wri-hist-features li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:9999px;background:var(--h-soft);border:1px solid rgba(193,61,27,0.3)}
.wri-hist .wri-hist-features li::after{content:"";position:absolute;left:7px;top:8px;width:6px;height:10px;border:solid var(--h-access);border-width:0 2px 2px 0;transform:rotate(45deg)}

/* Steps (dark) ------------------------------------------------------------ */
.wri-hist .wri-hist-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:2rem 0}
.wri-hist .wri-hist-step{padding:24px;border-radius:16px;background:var(--h-galaxy);border:1px solid var(--h-ondark-line)}
.wri-hist .wri-hist-n{font-family:var(--h-mono);font-size:1.6rem;color:var(--h-solaris);display:block;margin-bottom:.5rem}
.wri-hist .wri-hist-step p{margin:0;font-size:0.98rem}

/* Estimate ---------------------------------------------------------------- */
.wri-hist .wri-hist-estimate{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:1.6rem}
.wri-hist .wri-hist-col{padding:24px;border-radius:16px;background:var(--h-paper);border:1px solid var(--h-line);border-top:3px solid var(--h-access);box-shadow:0 1px 3px rgba(25,39,51,0.06)}
.wri-hist .wri-hist-colh{font-family:var(--h-mono);font-size:0.82rem;letter-spacing:0.02em;color:var(--h-access);display:block;margin-bottom:.6rem}
.wri-hist .wri-hist-col p{margin:0;font-size:0.98rem}

/* Seasons ----------------------------------------------------------------- */
.wri-hist .wri-hist-seasons{list-style:none;padding:0;display:grid;gap:12px;margin-top:1.4rem;max-width:72ch}
.wri-hist .wri-hist-seasons li{padding:18px 22px;border-radius:12px;background:var(--h-chapati);border-left:3px solid var(--h-access);font-size:1rem}

/* Counties ---------------------------------------------------------------- */
.wri-hist .wri-hist-county-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:1.8rem}
.wri-hist .wri-hist-county,
.wri-hist .wri-hist-county:link,
.wri-hist .wri-hist-county:visited{display:block;padding:18px 22px;border-radius:12px;background:var(--h-paper);border:1px solid var(--h-line);color:var(--h-ink);font-weight:600;text-align:center;text-decoration:none;box-shadow:0 1px 3px rgba(25,39,51,0.06);transition:transform var(--h-ease) 200ms,border-color var(--h-ease) 200ms,color var(--h-ease) 200ms}
.wri-hist .wri-hist-county:hover{transform:translateY(-2px);border-color:var(--h-access);color:var(--h-access)}

/* Final CTA --------------------------------------------------------------- */
.wri-hist .wri-hist-cta{text-align:center}
.wri-hist .wri-hist-cta-inner{max-width:760px}
.wri-hist .wri-hist-cta h2{margin-bottom:1rem}
.wri-hist .wri-hist-cta .wri-hist-lead{margin-left:auto;margin-right:auto}
.wri-hist .wri-hist-cta .wri-hist-cta-row{justify-content:center}

/* Accessibility ----------------------------------------------------------- */
.wri-hist a:focus-visible,
.wri-hist .wri-hist-btn:focus-visible,
.wri-hist .wri-hist-chip:focus-visible,
.wri-hist .wri-hist-county:focus-visible{outline:2px solid var(--h-solaris);outline-offset:2px;border-radius:4px}
@media(prefers-reduced-motion:reduce){.wri-hist *{transition:none!important}}

/* House-type line icons (base64 SVG, KSES-safe) */
.wri-hist .wri-hist-ico{display:inline-block;width:22px;height:22px;background-size:contain;background-repeat:no-repeat;background-position:center;flex:0 0 auto}
.wri-hist .wri-hist-ico-foursquare{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkVGNEVBIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTEgMjIgTDI0IDEzIEwzNyAyMiIvPjxwYXRoIGQ9Ik0xNSAyMiBWNDAgSDMzIFYyMiIvPjxwYXRoIGQ9Ik0xMiAzNCBIMzYiLz48cGF0aCBkPSJNMTcgMzQgVjQwIE0zMSAzNCBWNDAiLz48cmVjdCB4PSIxOC41IiB5PSIyNiIgd2lkdGg9IjQiIGhlaWdodD0iNCIvPjxyZWN0IHg9IjI1LjUiIHk9IjI2IiB3aWR0aD0iNCIgaGVpZ2h0PSI0Ii8+PHBhdGggZD0iTTggNDEgSDQwIi8+PC9zdmc+")}
.wri-hist .wri-hist-ico-farmhouse{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkVGNEVBIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTQgMjEgTDI0IDkgTDM0IDIxIi8+PHBhdGggZD0iTTE3IDIxIFY0MCBIMzEgVjIxIi8+PHBhdGggZD0iTTI4IDE1IFYxMCBIMzAuNSBWMTciLz48cGF0aCBkPSJNMTQgMzMgSDM0Ii8+PHBhdGggZD0iTTE5IDMzIFY0MCBNMjkgMzMgVjQwIi8+PHBhdGggZD0iTTggNDEgSDQwIi8+PC9zdmc+")}
.wri-hist .wri-hist-ico-colonial{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkVGNEVBIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNOSAyMCBMMjQgMTIgTDM5IDIwIi8+PHBhdGggZD0iTTEyIDIwIFY0MCBIMzYgVjIwIi8+PHBhdGggZD0iTTIxLjUgNDAgVjMxIEgyNi41IFY0MCIvPjxyZWN0IHg9IjE1IiB5PSIyNCIgd2lkdGg9IjQiIGhlaWdodD0iNC41Ii8+PHJlY3QgeD0iMjkiIHk9IjI0IiB3aWR0aD0iNCIgaGVpZ2h0PSI0LjUiLz48cGF0aCBkPSJNOCA0MSBINDAiLz48L3N2Zz4=")}
.wri-hist .wri-hist-ico-craftsman{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkVGNEVBIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNyAyMiBMMjQgMTUgTDQxIDIyIi8+PHBhdGggZD0iTTEzIDIyIFY0MCBIMzUgVjIyIi8+PHBhdGggZD0iTTEzIDMwIEgzNSIvPjxwYXRoIGQ9Ik0xNyA0MCBMMTguNSAzMCBNMzEgNDAgTDI5LjUgMzAiLz48cmVjdCB4PSIxOSIgeT0iMjQiIHdpZHRoPSIxMCIgaGVpZ2h0PSIzLjUiLz48cGF0aCBkPSJNOCA0MSBINDAiLz48L3N2Zz4=")}
.wri-hist .wri-hist-ico-tudor{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkVGNEVBIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTQgMjQgVjQwIEgzNCBWMjQiLz48cGF0aCBkPSJNMTIgMjQgSDIwIi8+PHBhdGggZD0iTTIxIDI0IEwzMCA4IEwzOSAyNCIvPjxwYXRoIGQ9Ik0yNyAxNCBIMzMgTTMwIDEwIFYyMiIvPjxyZWN0IHg9IjE3IiB5PSIyOCIgd2lkdGg9IjMuNSIgaGVpZ2h0PSI4Ii8+PHBhdGggZD0iTTggNDEgSDQwIi8+PC9zdmc+")}
.wri-hist .wri-hist-ico-victorian{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkVGNEVBIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTEgMjAgTDE1IDcgTDE5IDIwIi8+PHBhdGggZD0iTTEzIDIwIFY0MCBIMTcgVjIwIi8+PHBhdGggZD0iTTE5IDI0IEwyOCAxMyBMMzcgMjQiLz48cGF0aCBkPSJNMjEgMjQgVjQwIEgzNSBWMjQiLz48cGF0aCBkPSJNMTMgMzQgSDM1Ii8+PHJlY3QgeD0iMjQiIHk9IjI3IiB3aWR0aD0iNCIgaGVpZ2h0PSI1Ii8+PHBhdGggZD0iTTggNDEgSDQwIi8+PC9zdmc+")}
.wri-hist .wri-hist-chip{justify-content:flex-start}
.wri-hist .wri-hist-chip-label{flex:1 1 auto}

/* Chip label fix: prevent one-word wrap widow on longer style names */
.wri-hist .wri-hist-chip{padding:14px 16px;gap:9px}
.wri-hist .wri-hist-ico{width:20px;height:20px}
.wri-hist .wri-hist-chip-label{white-space:nowrap}

/* Historic styles band: big-icon cards ------------------------------------ */
.wri-hist .wri-hist-styles-band{background:var(--h-oat)}
.wri-hist .wri-hist-style-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;margin-top:2rem}
.wri-hist .wri-hist-style-card,.wri-hist .wri-hist-style-card:link,.wri-hist .wri-hist-style-card:visited{display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:var(--h-paper);border:1px solid var(--h-line);border-radius:20px;padding:30px;box-shadow:0 1px 3px rgba(25,39,51,0.06);text-decoration:none;transition:box-shadow var(--h-ease) 240ms,transform var(--h-ease) 240ms,border-color var(--h-ease) 240ms}
.wri-hist .wri-hist-style-card:hover{box-shadow:0 8px 24px rgba(25,39,51,0.09);transform:translateY(-3px);border-color:var(--h-access)}
.wri-hist .wri-hist-style-badge{width:84px;height:84px;border-radius:20px;background:var(--h-soft);display:flex;align-items:center;justify-content:center;border:1px solid rgba(193,61,27,0.14)}
.wri-hist .wri-hist-style-ico{width:50px;height:50px;background-size:contain;background-repeat:no-repeat;background-position:center;display:block}
.wri-hist .wri-hist-style-name{font-family:var(--h-serif);font-size:1.35rem;font-weight:600;color:var(--h-ink);letter-spacing:-0.01em}
.wri-hist .wri-hist-style-desc{font-size:0.98rem;color:var(--h-muted);margin:0;max-width:32ch}
.wri-hist .wri-hist-style-more{margin-top:4px;font-family:var(--h-mono);font-size:0.85rem;letter-spacing:0.02em;color:var(--h-access)}
.wri-hist .wri-hist-style-card:hover .wri-hist-style-more{color:var(--h-hover)}
.wri-hist .wri-hist-style-card:focus-visible{outline:2px solid var(--h-solaris);outline-offset:3px}
.wri-hist .wri-hist-ico2-foursquare{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzEzRDFCIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTExIDIyIEwyNCAxMyBMMzcgMjIiLz48cGF0aCBkPSJNMTUgMjIgVjQwIEgzMyBWMjIiLz48cGF0aCBkPSJNMTIgMzQgSDM2Ii8+PHBhdGggZD0iTTE3IDM0IFY0MCBNMzEgMzQgVjQwIi8+PHJlY3QgeD0iMTguNSIgeT0iMjYiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiLz48cmVjdCB4PSIyNS41IiB5PSIyNiIgd2lkdGg9IjQiIGhlaWdodD0iNCIvPjxwYXRoIGQ9Ik04IDQxIEg0MCIvPjwvc3ZnPg==")}
.wri-hist .wri-hist-ico2-farmhouse{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzEzRDFCIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE0IDIxIEwyNCA5IEwzNCAyMSIvPjxwYXRoIGQ9Ik0xNyAyMSBWNDAgSDMxIFYyMSIvPjxwYXRoIGQ9Ik0yOCAxNSBWMTAgSDMwLjUgVjE3Ii8+PHBhdGggZD0iTTE0IDMzIEgzNCIvPjxwYXRoIGQ9Ik0xOSAzMyBWNDAgTTI5IDMzIFY0MCIvPjxwYXRoIGQ9Ik04IDQxIEg0MCIvPjwvc3ZnPg==")}
.wri-hist .wri-hist-ico2-colonial{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzEzRDFCIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTkgMjAgTDI0IDEyIEwzOSAyMCIvPjxwYXRoIGQ9Ik0xMiAyMCBWNDAgSDM2IFYyMCIvPjxwYXRoIGQ9Ik0yMS41IDQwIFYzMSBIMjYuNSBWNDAiLz48cmVjdCB4PSIxNSIgeT0iMjQiIHdpZHRoPSI0IiBoZWlnaHQ9IjQuNSIvPjxyZWN0IHg9IjI5IiB5PSIyNCIgd2lkdGg9IjQiIGhlaWdodD0iNC41Ii8+PHBhdGggZD0iTTggNDEgSDQwIi8+PC9zdmc+")}
.wri-hist .wri-hist-ico2-craftsman{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzEzRDFCIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTcgMjIgTDI0IDE1IEw0MSAyMiIvPjxwYXRoIGQ9Ik0xMyAyMiBWNDAgSDM1IFYyMiIvPjxwYXRoIGQ9Ik0xMyAzMCBIMzUiLz48cGF0aCBkPSJNMTcgNDAgTDE4LjUgMzAgTTMxIDQwIEwyOS41IDMwIi8+PHJlY3QgeD0iMTkiIHk9IjI0IiB3aWR0aD0iMTAiIGhlaWdodD0iMy41Ii8+PHBhdGggZD0iTTggNDEgSDQwIi8+PC9zdmc+")}
.wri-hist .wri-hist-ico2-tudor{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzEzRDFCIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE0IDI0IFY0MCBIMzQgVjI0Ii8+PHBhdGggZD0iTTEyIDI0IEgyMCIvPjxwYXRoIGQ9Ik0yMSAyNCBMMzAgOCBMMzkgMjQiLz48cGF0aCBkPSJNMjcgMTQgSDMzIE0zMCAxMCBWMjIiLz48cmVjdCB4PSIxNyIgeT0iMjgiIHdpZHRoPSIzLjUiIGhlaWdodD0iOCIvPjxwYXRoIGQ9Ik04IDQxIEg0MCIvPjwvc3ZnPg==")}
.wri-hist .wri-hist-ico2-victorian{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzEzRDFCIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTExIDIwIEwxNSA3IEwxOSAyMCIvPjxwYXRoIGQ9Ik0xMyAyMCBWNDAgSDE3IFYyMCIvPjxwYXRoIGQ9Ik0xOSAyNCBMMjggMTMgTDM3IDI0Ii8+PHBhdGggZD0iTTIxIDI0IFY0MCBIMzUgVjI0Ii8+PHBhdGggZD0iTTEzIDM0IEgzNSIvPjxyZWN0IHg9IjI0IiB5PSIyNyIgd2lkdGg9IjQiIGhlaWdodD0iNSIvPjxwYXRoIGQ9Ik04IDQxIEg0MCIvPjwvc3ZnPg==")}

/* ============================================================
   Footer expansion (Aug 10 2026)
   Adds the five-column services mega-row and reworks the lower
   row into brand + service area + company. Reuses the existing
   footer type, link, heading, button and CTA styles already in
   the child theme. Token-driven, no !important, responsive to
   360px. Append this directly beneath the existing "Footer
   component (Aug 8 2026)" block in the child theme stylesheet.
   ============================================================ */

/* Services mega-row: five service categories, one grid row */
.wri-footer .wri-footer-services {
  max-width: var(--wri-container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--wri-s-8);
  padding: var(--wri-s-10) 0 var(--wri-s-9);
  border-bottom: 1px solid var(--wri-line);
}

/* Lower row: brand block sits wider than the two link columns */
.wri-footer .wri-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr);
}

/* Kadence/core columns default to flex with an inline basis; in a grid
   container basis is ignored, and min-width:0 lets long labels wrap
   instead of forcing overflow. */
.wri-footer .wri-footer-services > .wp-block-column,
.wri-footer .wri-footer-grid > .wp-block-column {
  min-width: 0;
  flex-basis: auto;
}

/* Denser layout: headings sit a touch closer to their list */
.wri-footer .wri-footer-services .wri-footer-heading { margin-bottom: var(--wri-s-4); }

/* Tablet: services fold to three across, lower row to two with the
   brand block spanning the full width above them. */
@media (max-width: 1024px) {
  .wri-footer .wri-footer-services {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: var(--wri-s-9);
  }
  .wri-footer .wri-footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .wri-footer .wri-footer-grid > .wri-footer-brand { grid-column: 1 / -1; }
}

/* Small tablet / large phone: services two across */
@media (max-width: 680px) {
  .wri-footer .wri-footer-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Phone: everything stacks to a single readable column */
@media (max-width: 420px) {
  .wri-footer .wri-footer-services,
  .wri-footer .wri-footer-grid { grid-template-columns: 1fr; }
}


/* ============================================================
   Footer legal bar (Aug 10 2026)
   Sits in the native Kadence footer bottom row. Copyright and
   builder license on the left, legal links on the right; centers
   and stacks on small screens. Token-driven, no !important.
   ============================================================ */
.wri-legal { max-width: var(--wri-container); margin: 0 auto; padding: var(--wri-s-5) var(--wri-pad); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--wri-s-3) var(--wri-s-6); border-top: 1px solid var(--wri-line); }
.wri-legal-copy { margin: 0; font-size: var(--wri-fs-xs); color: var(--wri-text-muted); }
.wri-legal-links { list-style: none; display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; }
.wri-legal-links li { display: flex; align-items: center; }
.wri-legal-links li + li::before { content: "\00b7"; margin: 0 var(--wri-s-4); color: var(--wri-line-strong); }
.wri-legal-links a { font-size: var(--wri-fs-xs); color: var(--wri-ink-3); text-decoration: none; transition: color var(--wri-d-fast) var(--wri-ease); }
.wri-legal-links a:hover { color: var(--wri-solaris-access); }
@media (max-width: 640px) { .wri-legal { justify-content: center; text-align: center; } .wri-legal-links { justify-content: center; } }

/* WPCode snippet: Wright's hero 3D styles
   Location: Site Wide Header, Auto Insert. Purge Rocket.net and Cloudflare after saving.
   Namespace: .wri-hero3d-*. References --wri-* tokens with safe fallbacks; never redefines them. */

.wri-hero3d-track{
  --wh-ink: var(--wri-ink, #101314);
  --wh-oat: var(--wri-oatmilk, #F5F0E8);
  --wh-oat-dim: rgba(245,240,232,.64);
  --wh-oat-faint: rgba(245,240,232,.38);
  --wh-solaris: var(--wri-solaris, #FF5C35);
  --wh-line: rgba(245,240,232,.13);
  --wh-serif: 'Playfair Display', Georgia, serif;
  --wh-sans: 'DM Sans', system-ui, sans-serif;
  --wh-mono: 'DM Mono', ui-monospace, monospace;

  /* full bleed out of the Kadence content column */
  width:100vw;
  margin-left:calc(50% - 50vw);
  height:620vh;
  position:relative;
  background:var(--wh-ink);
}
.wri-hero3d-stage{
  position:sticky;top:0;height:100vh;height:100svh;
  overflow:hidden;
  background:var(--wh-ink);
}
.wri-hero3d-scene{
  position:absolute;inset:0;width:100%;height:100%;display:block;
}
.wri-hero3d-track.wri-no3d .wri-hero3d-scene{display:none}
.wri-hero3d-track.wri-no3d .wri-hero3d-stage{
  background:radial-gradient(120% 90% at 70% 55%, #1b2023 0%, var(--wh-ink) 62%);
}

/* legibility scrims over the canvas */
.wri-hero3d-scrim{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg, rgba(16,19,20,.92) 0%, rgba(16,19,20,.55) 34%, rgba(16,19,20,0) 60%);
}
.wri-hero3d-scrim-b{position:absolute;inset:auto 0 0 0;height:22vh;pointer-events:none;
  background:linear-gradient(180deg, rgba(16,19,20,0) 0%, rgba(16,19,20,.72) 100%);
}
.wri-hero3d-scrim-r{position:absolute;inset:0 0 0 auto;width:26vw;pointer-events:none;
  background:linear-gradient(270deg, rgba(16,19,20,.6) 0%, rgba(16,19,20,0) 100%);
}

/* hero copy */
.wri-hero3d-copy{
  position:absolute;z-index:4;
  left:clamp(20px,4.5vw,64px);
  top:50%;transform:translateY(-50%);
  max-width:min(560px,44vw);
}
.wri-hero3d .wri-hero3d-eyebrow{
  font-family:var(--wh-mono);font-size:clamp(12px,.95vw,14px);letter-spacing:.14em;
  color:var(--wh-solaris);display:flex;align-items:center;gap:12px;margin:0 0 22px;
}
.wri-hero3d .wri-hero3d-eyebrow::before{content:"";width:34px;height:1px;background:var(--wh-solaris);flex:none}
.wri-hero3d .wri-hero3d-h{
  font-family:var(--wh-serif);font-weight:700;
  font-size:clamp(40px,4.6vw,68px);line-height:1.04;letter-spacing:-.015em;
  text-wrap:balance;margin:0 0 22px;padding:0;
}
.wri-hero3d .wri-hero3d-accent{color:var(--wh-solaris);font-style:italic}
.wri-hero3d .wri-hero3d-sub{
  font-family:var(--wh-sans);
  font-size:clamp(15.5px,1.2vw,18px);line-height:1.65;
  max-width:46ch;text-wrap:pretty;margin:0 0 34px;
}
.wri-hero3d-ctas{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 34px}

/* buttons: !important on element and children across every state, per the build rules */
.wri-hero3d a.wri-hero3d-btn,
.wri-hero3d a.wri-hero3d-btn:link,
.wri-hero3d a.wri-hero3d-btn:visited{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--wh-sans)!important;font-weight:600!important;font-size:15.5px!important;line-height:1!important;
  padding:17px 26px;border-radius:8px;text-decoration:none!important;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.wri-hero3d a.wri-hero3d-btn:focus-visible{outline:2px solid var(--wh-solaris);outline-offset:3px}
.wri-hero3d a.wri-hero3d-btn--solid,
.wri-hero3d a.wri-hero3d-btn--solid:link,
.wri-hero3d a.wri-hero3d-btn--solid:visited,
.wri-hero3d a.wri-hero3d-btn--solid:hover,
.wri-hero3d a.wri-hero3d-btn--solid:active,
.wri-hero3d a.wri-hero3d-btn--solid:focus{
  background:var(--wh-solaris)!important;color:#180B06!important;border:none!important;
}
.wri-hero3d a.wri-hero3d-btn--solid:hover{background:#FF6E4B!important;transform:translateY(-2px)}
.wri-hero3d a.wri-hero3d-btn--solid span,
.wri-hero3d a.wri-hero3d-btn--solid:hover span,
.wri-hero3d a.wri-hero3d-btn--solid:active span,
.wri-hero3d a.wri-hero3d-btn--solid:focus span{color:#180B06!important}
.wri-hero3d a.wri-hero3d-btn--solid::after{content:"\2192";font-family:var(--wh-mono);font-size:15px;color:#180B06!important}
.wri-hero3d a.wri-hero3d-btn--ghost,
.wri-hero3d a.wri-hero3d-btn--ghost:link,
.wri-hero3d a.wri-hero3d-btn--ghost:visited,
.wri-hero3d a.wri-hero3d-btn--ghost:active,
.wri-hero3d a.wri-hero3d-btn--ghost:focus{
  border:1px solid rgba(245,240,232,.28)!important;color:var(--wh-oat)!important;background:transparent!important;
}
.wri-hero3d a.wri-hero3d-btn--ghost:hover{border-color:var(--wh-oat)!important;background:transparent!important;color:var(--wh-oat)!important;transform:translateY(-2px)}
.wri-hero3d a.wri-hero3d-btn--ghost span,
.wri-hero3d a.wri-hero3d-btn--ghost:hover span,
.wri-hero3d a.wri-hero3d-btn--ghost:active span,
.wri-hero3d a.wri-hero3d-btn--ghost:focus span{color:var(--wh-oat)!important}

.wri-hero3d .wri-hero3d-proof{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 0;
  font-family:var(--wh-mono);font-size:12.5px;letter-spacing:.02em;margin:0;
}
.wri-hero3d .wri-hero3d-proof span{white-space:nowrap}
.wri-hero3d .wri-hero3d-proof span+span::before{content:"\00B7";margin:0 12px;color:var(--wh-solaris)}

/* phase rail */
.wri-hero3d-rail{
  position:absolute;z-index:4;right:clamp(20px,4vw,56px);top:50%;transform:translateY(-50%);
  display:flex;gap:20px;align-items:stretch;
}
.wri-hero3d-railline{width:2px;border-radius:2px;background:rgba(245,240,232,.12);position:relative;overflow:hidden}
.wri-hero3d-railfill{position:absolute;top:0;left:0;width:100%;height:0%;background:var(--wh-solaris)}
.wri-hero3d-rail ul{list-style:none;display:flex;flex-direction:column;justify-content:space-between;gap:26px;margin:0;padding:0}
.wri-hero3d-rail li{max-width:230px;opacity:.42;transition:opacity .35s ease;margin:0}
.wri-hero3d-rail li.wri-on{opacity:1}
.wri-hero3d .wri-hero3d-raillabel{
  display:flex;align-items:center;gap:10px;
  font-family:var(--wh-mono);font-size:13px;letter-spacing:.12em;
}
.wri-hero3d .wri-hero3d-raillabel::before{content:"";width:7px;height:7px;border-radius:50%;background:rgba(245,240,232,.3);flex:none;transition:background .3s}
.wri-hero3d-rail li.wri-on .wri-hero3d-raillabel::before{background:var(--wh-solaris);box-shadow:0 0 12px rgba(255,92,53,.7)}
.wri-hero3d .wri-hero3d-raillabel, .wri-hero3d .wri-hero3d-railcap{text-shadow:0 1px 14px rgba(16,19,20,.95), 0 0 4px rgba(16,19,20,.8)}
.wri-hero3d .wri-hero3d-railcap{
  display:block;font-family:var(--wh-sans);font-size:13.5px;line-height:1.5;
  max-height:0;overflow:hidden;transition:max-height .45s ease, margin .45s ease;text-wrap:pretty;
}
.wri-hero3d-rail li.wri-on .wri-hero3d-railcap{max-height:80px;margin-top:8px}

/* mobile caption */
.wri-hero3d-mcap{
  position:absolute;z-index:4;left:20px;right:20px;bottom:64px;display:none;
  font-family:var(--wh-sans);font-size:14px;line-height:1.5;text-wrap:balance;
}
.wri-hero3d .wri-hero3d-mcap b{display:block;font-family:var(--wh-mono);font-weight:500;font-size:12px;letter-spacing:.14em;color:var(--wh-solaris);margin:0 0 6px}

/* scroll cue */
.wri-hero3d-cue{
  position:absolute;z-index:4;left:50%;bottom:26px;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:10px;
  font-family:var(--wh-mono);font-size:12px;letter-spacing:.14em;
  transition:opacity .5s ease;
}
.wri-hero3d-cueline{width:1px;height:34px;background:var(--wh-line);position:relative;overflow:hidden}
.wri-hero3d-cueline::after{
  content:"";position:absolute;top:-40%;left:0;width:100%;height:40%;
  background:var(--wh-solaris);animation:wriHero3dCue 1.8s ease-in-out infinite;
}
@keyframes wriHero3dCue{0%{top:-40%}70%,100%{top:110%}}
.wri-hero3d-cue.wri-gone{opacity:0}

/* dark-section guard: double-class specificity beats the auto-detector, buttons excluded */
.wri-hero3d.wri-hero3d .wri-hero3d-h,
.wri-hero3d.wri-hero3d .wri-hero3d-h span{color:var(--wh-oat)!important}
.wri-hero3d.wri-hero3d .wri-hero3d-accent{color:var(--wh-solaris)!important}
.wri-hero3d.wri-hero3d .wri-hero3d-sub,
.wri-hero3d.wri-hero3d .wri-hero3d-railcap,
.wri-hero3d.wri-hero3d .wri-hero3d-mcap span{color:var(--wh-oat-dim)!important}
.wri-hero3d.wri-hero3d .wri-hero3d-eyebrow{color:var(--wh-solaris)!important}
.wri-hero3d.wri-hero3d .wri-hero3d-proof,
.wri-hero3d.wri-hero3d .wri-hero3d-proof span,
.wri-hero3d.wri-hero3d .wri-hero3d-cue,
.wri-hero3d.wri-hero3d .wri-hero3d-cue span{color:var(--wh-oat-faint)!important}
.wri-hero3d.wri-hero3d .wri-hero3d-raillabel{color:var(--wh-oat)!important}

/* selection */
.wri-hero3d ::selection{background:var(--wh-solaris);color:var(--wh-ink)}

/* responsive */
@media (max-width:960px){
  .wri-hero3d-copy{max-width:min(560px,58vw)}
  .wri-hero3d-rail{display:none}
  .wri-hero3d-mcap{display:block}
}
@media (max-width:680px){
  .wri-hero3d-track{height:560vh}
  .wri-hero3d-copy{
    left:20px;right:20px;max-width:none;top:auto;bottom:20vh;transform:none;
  }
  .wri-hero3d-scrim{background:linear-gradient(0deg, rgba(16,19,20,.94) 0%, rgba(16,19,20,.55) 42%, rgba(16,19,20,.08) 68%)}
  .wri-hero3d .wri-hero3d-h{font-size:clamp(34px,10vw,44px)}
  .wri-hero3d .wri-hero3d-sub{font-size:15px;margin-bottom:24px}
  .wri-hero3d-ctas{margin-bottom:20px}
  .wri-hero3d a.wri-hero3d-btn,
  .wri-hero3d a.wri-hero3d-btn:link,
  .wri-hero3d a.wri-hero3d-btn:visited{padding:15px 20px;font-size:14.5px!important}
  .wri-hero3d-mcap{bottom:auto;top:24px}
  .wri-hero3d-cue{bottom:16px}
}

@media (prefers-reduced-motion:reduce){
  .wri-hero3d *, .wri-hero3d *::before, .wri-hero3d *::after{animation:none!important;transition:none!important}
  .wri-hero3d-cue{display:none}
}

/* Basement finishing page (2545) fixes.
   1. Hero background -> pure white (was the warm off-white --wri-seam).
   2. Rooms grid: the "most common" style tag used #FF5C35 (~3:1 on white,
      fails WCAG AA). Switch to the accessible orange #C13D1B (5.3:1).
   3. Remove the duplicate generic bottom CTA ("Transform your basement into
      extraordinary living space"), keeping the bespoke "Ready to use the room
      you already own?" CTA above it. The removed block is the only
      section.wr-hero on this page; the real hero is .wri-bf__hero, so it is
      not affected. Note: that block also carried a second H1, so removing it
      from source would also clear a duplicate-H1 SEO issue. */
body.page-id-2545 .wri-bf__hero{background:#ffffff !important;}

body.page-id-2545 .wri-bf__room-tag{color:#C13D1B !important;-webkit-text-fill-color:#C13D1B !important;}

body.page-id-2545 .entry-content section.wr-hero{display:none !important;}
/* /reviews/ (Elementor post 3423): the hero <h1> and the review-wall <h2>
   have a max-width but their intended margin:auto is defeated by a global
   heading-rhythm rule (margin: 0 0 var(--wri-s-5)) loaded later in the
   Customizer. The extra .wri-rv ancestor here raises specificity so the
   auto margins win regardless of load order. Re-centers both headings. */
.wri-rv .wri-rv__hero h1,
.wri-rv .wri-rv__wall-head h2 {
  margin-left: auto;
  margin-right: auto;
}
.wri-icchip .wri-ic{
  display:inline-block;
  width:22px; height:22px;
  flex:0 0 22px;
  margin-right:8px;
  vertical-align:middle;
  background-color:var(--wri-accessible-orange, #C13D1B);
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center;  mask-position:center;
  -webkit-mask-size:contain;     mask-size:contain;
}
.wri-ic--hammer  { -webkit-mask-image:url("…hammer.svg");   mask-image:url("…hammer.svg"); }
.wri-ic--ruler   { -webkit-mask-image:url("…ruler.svg");    mask-image:url("…ruler.svg"); }
.wri-ic--hardhat { -webkit-mask-image:url("…hardhat.svg");  mask-image:url("…hardhat.svg"); }
.wri-ic--shield  { -webkit-mask-image:url("…shield.svg");   mask-image:url("…shield.svg"); }
.wri-ic--calendar{ -webkit-mask-image:url("…calendar.svg"); mask-image:url("…calendar.svg"); }
.wri-ic--key     { -webkit-mask-image:url("…key.svg");      mask-image:url("…key.svg"); }
/* =========================================================================
   Wright's Renovations  ~  Ann Arbor city hub
   WPCode snippet: Site Wide Header, Auto Insert, page slug rule: /mi/ann-arbor/
   Namespace: .wri-aa    Design system: Solaris tokens (Customizer v4.0)
   July 2026 orange-on-dark rule: no orange on Dark Matter. Dark accents use
   Nebula / Milky Way. Dark primary button is Oatmilk fill, Dark Matter label.
   ========================================================================= */

:root{
  --wri-dark-matter:#192733;
  --wri-eclipse:#213343;
  --wri-solaris:#FF5C35;
  --wri-solaris-access:#C13D1B;
  --wri-oatmilk:#FEF4EA;
  --wri-chapati:#FCEAD7;
  --wri-constellation:#EAF0F6;
  --wri-satellite:#DBE4ED;
  --wri-milky-way:#B6C7D6;
  --wri-nebula:#99AFC4;
  --wri-ink:#0C1620;
  --wri-body:#384656;
  --wri-hairline:rgba(25,39,51,.12);
  --wri-hairline-dark:rgba(254,244,234,.14);
  --wri-shadow-1:0 1px 2px rgba(12,22,32,.04),0 8px 24px rgba(12,22,32,.06);
  --wri-shadow-2:0 2px 4px rgba(12,22,32,.06),0 24px 48px rgba(12,22,32,.10);
  --wri-radius-sm:4px;
  --wri-radius-md:8px;
  --wri-radius-lg:14px;
  --wri-serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --wri-sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --wri-mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --wri-max:1200px;
  --wri-pad-x:clamp(20px,5vw,48px);
  --wri-pad-y:clamp(64px,9vw,128px);
}

.wri-aa *,.wri-aa *::before,.wri-aa *::after{box-sizing:border-box;}

.wri-aa{
  font-family:var(--wri-sans);
  color:var(--wri-ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.wri-aa img{max-width:100%;height:auto;display:block;}

.wri-aa a{
  color:var(--wri-solaris-access);
  text-decoration:none;
  border-bottom:1px solid rgba(193,61,27,.28);
  transition:border-color 160ms ease,color 160ms ease;
}
.wri-aa a:hover,.wri-aa a:focus-visible{border-bottom-color:var(--wri-solaris-access);}
.wri-aa a:focus-visible{outline:2px solid var(--wri-solaris);outline-offset:3px;border-radius:2px;}

.wri-aa p{margin:0 0 1em;font-size:clamp(16px,1.06vw + 0.3rem,18px);color:var(--wri-body);}
.wri-aa p:last-child{margin-bottom:0;}
.wri-aa h2,.wri-aa h3{
  font-family:var(--wri-serif);
  color:var(--wri-ink);
  letter-spacing:-0.01em;
  line-height:1.12;
  margin:0 0 0.6em;
  font-weight:600;
  text-wrap:balance;
}

.wri-aa__wrap{
  max-width:var(--wri-max);
  margin-left:auto;margin-right:auto;
  padding-left:var(--wri-pad-x);padding-right:var(--wri-pad-x);
}

.wri-aa__eyebrow{
  font-family:var(--wri-mono);
  font-size:12px;
  letter-spacing:.18em;
  color:var(--wri-solaris-access);
  margin:0 0 20px;
  display:inline-flex;align-items:center;gap:10px;
}
.wri-aa__eyebrow::before{content:"";width:28px;height:2px;background:var(--wri-solaris);}

/* skip link */
.wri-aa__skip{
  position:absolute;left:-9999px;top:0;
  background:var(--wri-ink);color:var(--wri-oatmilk);
  padding:10px 16px;border-radius:0 0 var(--wri-radius-md) 0;
  border-bottom:none;z-index:50;
}
.wri-aa__skip:focus{left:0;}

/* icons (base64 background-image, no percent-encoded hex) */
.wri-aa__ic{
  display:inline-block;width:22px;height:22px;
  background-repeat:no-repeat;background-position:center;background-size:contain;
  flex:0 0 auto;
}
.wri-aa__ic--kitchen{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzEzRDFCIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSIzIiB5PSI0IiB3aWR0aD0iMTgiIGhlaWdodD0iMTYiIHJ4PSIyIi8+PGNpcmNsZSBjeD0iOC41IiBjeT0iOS41IiByPSIxLjUiLz48Y2lyY2xlIGN4PSIxNS41IiBjeT0iOS41IiByPSIxLjUiLz48bGluZSB4MT0iMyIgeTE9IjE0IiB4Mj0iMjEiIHkyPSIxNCIvPjwvc3ZnPg==");}
.wri-aa__ic--bath{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzEzRDFCIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNOSA2IDYuNSAzLjVhMS41IDEuNSAwIDAgMC0xLS41QzQuNyAzIDQgMy43IDQgNC41VjE3YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtNSIvPjxsaW5lIHgxPSIxMCIgeTE9IjUiIHgyPSI4IiB5Mj0iNyIvPjxsaW5lIHgxPSIyIiB5MT0iMTIiIHgyPSIyMiIgeTI9IjEyIi8+PGxpbmUgeDE9IjciIHkxPSIxOSIgeDI9IjciIHkyPSIyMSIvPjxsaW5lIHgxPSIxNyIgeTE9IjE5IiB4Mj0iMTciIHkyPSIyMSIvPjwvc3ZnPg==");}
.wri-aa__ic--basement{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzEzRDFCIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cG9seWdvbiBwb2ludHM9IjEyIDIgMiA3IDEyIDEyIDIyIDcgMTIgMiIvPjxwb2x5bGluZSBwb2ludHM9IjIgMTcgMTIgMjIgMjIgMTciLz48cG9seWxpbmUgcG9pbnRzPSIyIDEyIDEyIDE3IDIyIDEyIi8+PC9zdmc+");}
.wri-aa__ic--addition{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzEzRDFCIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIyIi8+PGxpbmUgeDE9IjEyIiB5MT0iOCIgeDI9IjEyIiB5Mj0iMTYiLz48bGluZSB4MT0iOCIgeTE9IjEyIiB4Mj0iMTYiIHkyPSIxMiIvPjwvc3ZnPg==");}
.wri-aa__ic--deck{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzEzRDFCIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMyAyMVYxMGw5LTYgOSA2djExIi8+PHBhdGggZD0iTTMgMTRoMTgiLz48cGF0aCBkPSJNOCAyMXYtNSIvPjxwYXRoIGQ9Ik0xNiAyMXYtNSIvPjwvc3ZnPg==");}
.wri-aa__ic--whole{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzEzRDFCIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iNyIgaGVpZ2h0PSI3IiByeD0iMSIvPjxyZWN0IHg9IjE0IiB5PSIzIiB3aWR0aD0iNyIgaGVpZ2h0PSI3IiByeD0iMSIvPjxyZWN0IHg9IjE0IiB5PSIxNCIgd2lkdGg9IjciIGhlaWdodD0iNyIgcng9IjEiLz48cmVjdCB4PSIzIiB5PSIxNCIgd2lkdGg9IjciIGhlaWdodD0iNyIgcng9IjEiLz48L3N2Zz4=");}
.wri-aa__ic--commercial{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzEzRDFCIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNiAyMlY0YTIgMiAwIDAgMSAyLTJoOGEyIDIgMCAwIDEgMiAydjE4WiIvPjxwYXRoIGQ9Ik02IDEySDRhMiAyIDAgMCAwLTIgMnY2YTIgMiAwIDAgMCAyIDJoMiIvPjxwYXRoIGQ9Ik0xOCA5aDJhMiAyIDAgMCAxIDIgMnY5YTIgMiAwIDAgMS0yIDJoLTIiLz48bGluZSB4MT0iMTAiIHkxPSI2IiB4Mj0iMTQiIHkyPSI2Ii8+PGxpbmUgeDE9IjEwIiB5MT0iMTAiIHgyPSIxNCIgeTI9IjEwIi8+PGxpbmUgeDE9IjEwIiB5MT0iMTQiIHgyPSIxNCIgeTI9IjE0Ii8+PC9zdmc+");}
.wri-aa__ic--check{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzEzRDFCIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIvPjxwb2x5bGluZSBwb2ludHM9IjguNSAxMiAxMSAxNC41IDE1LjUgOSIvPjwvc3ZnPg==");}
.wri-aa__ic--pin{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzEzRDFCIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjEgMTBjMCA3LTkgMTMtOSAxM3MtOS02LTktMTNhOSA5IDAgMCAxIDE4IDB6Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMCIgcj0iMyIvPjwvc3ZnPg==");}
.wri-aa__ic--chevron{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMTkyNzMzIiBzdHJva2Utd2lkdGg9IjEuNyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSIvPjwvc3ZnPg==");}

/* =========================================================================
   Buttons  (!important on element and children across every state)
   ========================================================================= */
.wri-aa .wri-aa__btn,
.wri-aa a.wri-aa__btn,
.wri-aa button.wri-aa__btn{
  display:inline-flex !important;align-items:center !important;gap:10px !important;
  padding:15px 26px !important;border:1px solid transparent !important;border-radius:999px !important;
  font-family:var(--wri-sans) !important;font-size:15px !important;font-weight:600 !important;
  line-height:1 !important;letter-spacing:-0.005em !important;cursor:pointer !important;
  text-decoration:none !important;min-height:48px !important;
  transition:transform 160ms ease,background-color 160ms ease,color 160ms ease,box-shadow 160ms ease,border-color 160ms ease !important;
}

/* primary on light: ink fill, oatmilk label; hover accessible orange */
.wri-aa .wri-aa__btn--primary,
.wri-aa .wri-aa__btn--primary:link,
.wri-aa .wri-aa__btn--primary:visited{
  background-color:var(--wri-ink) !important;color:var(--wri-oatmilk) !important;border-color:var(--wri-ink) !important;
}
.wri-aa .wri-aa__btn--primary:hover,
.wri-aa .wri-aa__btn--primary:focus,
.wri-aa .wri-aa__btn--primary:active,
.wri-aa .wri-aa__btn--primary:focus-visible{
  background-color:var(--wri-solaris-access) !important;color:var(--wri-oatmilk) !important;
  border-color:var(--wri-solaris-access) !important;box-shadow:0 8px 24px rgba(193,61,27,.25) !important;
  transform:translateY(-1px) !important;
}
.wri-aa .wri-aa__btn--primary > *{color:var(--wri-oatmilk) !important;}

/* ghost on light */
.wri-aa .wri-aa__btn--ghost,
.wri-aa .wri-aa__btn--ghost:link,
.wri-aa .wri-aa__btn--ghost:visited{
  background-color:transparent !important;color:var(--wri-ink) !important;border-color:rgba(25,39,51,.28) !important;
}
.wri-aa .wri-aa__btn--ghost:hover,
.wri-aa .wri-aa__btn--ghost:focus,
.wri-aa .wri-aa__btn--ghost:active,
.wri-aa .wri-aa__btn--ghost:focus-visible{
  background-color:var(--wri-ink) !important;color:var(--wri-oatmilk) !important;border-color:var(--wri-ink) !important;
  transform:translateY(-1px) !important;
}
.wri-aa .wri-aa__btn--ghost > *{color:inherit !important;}

/* primary on dark: Oatmilk fill, Dark Matter label (July 2026 rule, no orange) */
.wri-aa .wri-aa__btn--on-dark,
.wri-aa .wri-aa__btn--on-dark:link,
.wri-aa .wri-aa__btn--on-dark:visited{
  background-color:var(--wri-oatmilk) !important;color:var(--wri-dark-matter) !important;border-color:var(--wri-oatmilk) !important;
}
.wri-aa .wri-aa__btn--on-dark:hover,
.wri-aa .wri-aa__btn--on-dark:focus,
.wri-aa .wri-aa__btn--on-dark:active,
.wri-aa .wri-aa__btn--on-dark:focus-visible{
  background-color:var(--wri-chapati) !important;color:var(--wri-dark-matter) !important;border-color:var(--wri-chapati) !important;
  transform:translateY(-1px) !important;box-shadow:0 8px 24px rgba(0,0,0,.28) !important;
}
.wri-aa .wri-aa__btn--on-dark > *{color:var(--wri-dark-matter) !important;}

/* ghost on dark: oatmilk label and border; hover oatmilk fill (no orange) */
.wri-aa .wri-aa__btn--ghost-dark,
.wri-aa .wri-aa__btn--ghost-dark:link,
.wri-aa .wri-aa__btn--ghost-dark:visited{
  background-color:transparent !important;color:var(--wri-oatmilk) !important;border-color:rgba(254,244,234,.32) !important;
}
.wri-aa .wri-aa__btn--ghost-dark:hover,
.wri-aa .wri-aa__btn--ghost-dark:focus,
.wri-aa .wri-aa__btn--ghost-dark:active,
.wri-aa .wri-aa__btn--ghost-dark:focus-visible{
  background-color:var(--wri-oatmilk) !important;color:var(--wri-dark-matter) !important;border-color:var(--wri-oatmilk) !important;
  transform:translateY(-1px) !important;
}
.wri-aa .wri-aa__btn--ghost-dark > *{color:inherit !important;}
.wri-aa .wri-aa__btn--ghost-dark:hover > *{color:var(--wri-dark-matter) !important;}

.wri-aa .wri-aa__btn .wri-aa__arrow{
  display:inline-block;width:8px;height:8px;
  border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;
  transform:rotate(45deg);transition:transform 160ms ease;
}
.wri-aa .wri-aa__btn:hover .wri-aa__arrow{transform:rotate(45deg) translate(2px,-2px);}

/* =========================================================================
   Hero
   ========================================================================= */
.wri-aa__hero{
  padding-top:clamp(40px,6vw,88px);
  padding-bottom:var(--wri-pad-y);
  background:
    radial-gradient(1200px 400px at 85% 8%,rgba(255,92,53,.06),transparent 60%),
    linear-gradient(180deg,var(--wri-oatmilk) 0%,#ffffff 100%);
  border-bottom:1px solid var(--wri-hairline);
}

.wri-aa__hero-grid{
  display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;
}
.wri-aa__hero-title{
  font-family:var(--wri-serif);font-weight:600;
  font-size:clamp(38px,5.1vw,68px);line-height:1.03;letter-spacing:-0.02em;margin:0 0 24px;
}
.wri-aa__hero-title em{font-style:italic;color:var(--wri-solaris-access);font-weight:500;}
.wri-aa__hero-lead{
  font-size:clamp(17px,1.2vw + 0.3rem,20px);line-height:1.55;color:var(--wri-body);
  margin:0 0 32px;max-width:54ch;
}
.wri-aa__hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px;}
.wri-aa__hero-trust{
  display:flex;flex-wrap:wrap;gap:clamp(14px,3vw,30px);padding-top:28px;
  border-top:1px solid var(--wri-hairline);font-family:var(--wri-mono);font-size:12px;
  letter-spacing:.04em;color:var(--wri-body);
}
.wri-aa__hero-trust > span{display:inline-flex;align-items:center;gap:8px;}
.wri-aa__hero-trust b{color:var(--wri-ink);font-weight:500;}

/* signature data card: the market, itemized */
.wri-aa__card{
  background:#fff;border:1px solid var(--wri-hairline);border-radius:var(--wri-radius-lg);
  padding:32px;box-shadow:var(--wri-shadow-2);position:relative;
}
.wri-aa__card::before{
  content:"";position:absolute;top:-1px;left:32px;right:32px;height:3px;
  background:var(--wri-solaris);border-radius:3px 3px 0 0;
}
.wri-aa__card-eyebrow{font-family:var(--wri-mono);font-size:11px;letter-spacing:.16em;color:var(--wri-body);margin:0 0 4px;}
.wri-aa__card-title{font-family:var(--wri-serif);font-size:23px;line-height:1.15;margin:0 0 22px;color:var(--wri-ink);}
.wri-aa__card-rows{margin:0;padding:0;list-style:none;}
.wri-aa__card-rows > div{
  display:grid;grid-template-columns:auto 1fr;gap:6px 16px;padding:14px 0;
  border-bottom:1px solid var(--wri-hairline);
}
.wri-aa__card-rows > div:last-child{border-bottom:none;padding-bottom:0;}
.wri-aa__card-k{font-family:var(--wri-mono);font-size:12px;letter-spacing:.06em;color:var(--wri-body);}
.wri-aa__card-v{font-size:15px;color:var(--wri-ink);font-weight:600;text-align:right;}
.wri-aa__card-foot{
  margin-top:20px;padding-top:16px;border-top:1px dashed var(--wri-hairline);
  font-family:var(--wri-mono);font-size:11px;letter-spacing:.04em;color:var(--wri-body);line-height:1.5;
}

/* =========================================================================
   Section shell
   ========================================================================= */
.wri-aa__sec{padding:var(--wri-pad-y) 0;}
.wri-aa__sec--tint{background:var(--wri-oatmilk);}
.wri-aa__sec--line{border-top:1px solid var(--wri-hairline);}
.wri-aa__head{max-width:760px;margin:0 0 56px;}
.wri-aa__head h2{font-size:clamp(30px,3.6vw,50px);margin:0 0 16px;}
.wri-aa__head p{font-size:clamp(16px,1vw + 0.3rem,18px);max-width:60ch;}

/* neighborhoods grid */
.wri-aa__nb{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid var(--wri-hairline);border-left:1px solid var(--wri-hairline);
}
.wri-aa__nb-cell{
  padding:32px;border-right:1px solid var(--wri-hairline);border-bottom:1px solid var(--wri-hairline);
  background:#fff;transition:background-color 200ms ease;
}
.wri-aa__nb-cell:hover{background:var(--wri-oatmilk);}
.wri-aa__nb-era{font-family:var(--wri-mono);font-size:11px;letter-spacing:.12em;color:var(--wri-solaris-access);margin:0 0 12px;}
.wri-aa__nb-cell h3{font-size:21px;margin:0 0 10px;}
.wri-aa__nb-cell p{font-size:15px;line-height:1.55;margin:0;}

/* services grid */
.wri-aa__svc{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.wri-aa__svc-card{
  border:1px solid var(--wri-hairline);border-radius:var(--wri-radius-lg);padding:28px;
  background:#fff;transition:transform 200ms ease,box-shadow 200ms ease,border-color 200ms ease;
}
.wri-aa__svc-card:hover{transform:translateY(-2px);box-shadow:var(--wri-shadow-1);border-color:rgba(25,39,51,.2);}
.wri-aa__svc-ic{
  width:44px;height:44px;border-radius:var(--wri-radius-md);background:var(--wri-oatmilk);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;border:1px solid var(--wri-hairline);
}
.wri-aa__svc-ic .wri-aa__ic{width:22px;height:22px;}
.wri-aa__svc-card h3{font-size:20px;margin:0 0 8px;}
.wri-aa__svc-card h3 a{color:var(--wri-ink);border-bottom:none;}
.wri-aa__svc-card h3 a:hover{color:var(--wri-solaris-access);}
.wri-aa__svc-card p{font-size:15px;line-height:1.5;margin:0;}

/* Ann Arbor pages strip */
.wri-aa__pages{
  margin-top:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid var(--wri-hairline);border-left:1px solid var(--wri-hairline);
  border-radius:var(--wri-radius-lg);overflow:hidden;background:var(--wri-constellation);
}
.wri-aa__pages a{
  display:block;padding:22px 24px;border-right:1px solid var(--wri-hairline);border-bottom:1px solid var(--wri-hairline);
  border-radius:0;color:var(--wri-ink);border-bottom-color:var(--wri-hairline);background:var(--wri-constellation);
  transition:background-color 180ms ease;
}
.wri-aa__pages a:hover{background:#fff;border-bottom-color:var(--wri-hairline);}
.wri-aa__pages .k{font-family:var(--wri-mono);font-size:11px;letter-spacing:.1em;color:var(--wri-solaris-access);display:block;margin-bottom:6px;}
.wri-aa__pages .t{font-family:var(--wri-serif);font-size:18px;color:var(--wri-ink);}

/* =========================================================================
   Process (dark full-bleed). July 2026 orange-on-dark rule: cool accents only.
   Double-class specificity guard beats the dark auto-detector.
   ========================================================================= */
.wri-aa__proc{
  position:relative;width:100vw;margin-left:calc(50% - 50vw);
  background:var(--wri-dark-matter);padding:var(--wri-pad-y) 0;overflow:hidden;
}
.wri-aa__proc::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(700px 300px at 15% 18%,rgba(153,175,196,.12),transparent 60%),
    radial-gradient(560px 320px at 88% 82%,rgba(153,175,196,.07),transparent 60%);
}
.wri-aa__proc .wri-aa__wrap{position:relative;}
.wri-aa__proc.wri-aa__proc .wri-aa__eyebrow{color:var(--wri-milky-way);}
.wri-aa__proc.wri-aa__proc .wri-aa__eyebrow::before{background:var(--wri-nebula);}
.wri-aa__proc.wri-aa__proc h2{font-size:clamp(30px,3.8vw,52px);color:var(--wri-oatmilk);max-width:20ch;margin:0 0 18px;}
.wri-aa__proc.wri-aa__proc .wri-aa__proc-lead{color:rgba(254,244,234,.74);font-size:clamp(17px,1.1vw + 0.3rem,19px);max-width:60ch;margin:0 0 60px;}
.wri-aa__proc.wri-aa__proc .wri-aa__proc-lead a{color:var(--wri-oatmilk);border-bottom-color:rgba(254,244,234,.4);}
.wri-aa__proc.wri-aa__proc .wri-aa__proc-lead a:hover{border-bottom-color:var(--wri-oatmilk);}

.wri-aa__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--wri-hairline-dark);}
.wri-aa__step{padding:36px 28px 0 0;border-right:1px solid var(--wri-hairline-dark);}
.wri-aa__step:last-child{border-right:none;padding-right:0;}
.wri-aa__step:not(:first-child){padding-left:28px;}
.wri-aa__step-n{
  font-family:var(--wri-mono);font-size:12px;letter-spacing:.16em;color:var(--wri-nebula);
  margin:0 0 18px;display:flex;align-items:center;gap:12px;
}
.wri-aa__step-n::after{content:"";flex:1;height:1px;background:var(--wri-hairline-dark);}
.wri-aa__proc.wri-aa__proc .wri-aa__step h3{font-size:20px;color:var(--wri-oatmilk);margin:0 0 10px;line-height:1.2;}
.wri-aa__proc.wri-aa__proc .wri-aa__step p{color:rgba(254,244,234,.68);font-size:14px;line-height:1.55;margin:0;}
.wri-aa__proc.wri-aa__proc :is(h2,h3,p,span,a,b){}

/* focus ring on dark uses oatmilk, not orange */
.wri-aa__proc a:focus-visible,.wri-aa__cta a:focus-visible{outline:2px solid var(--wri-oatmilk);outline-offset:3px;}

/* =========================================================================
   Why Wright's  (split: copy + verified proof panel)
   ========================================================================= */
.wri-aa__why-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:start;}
.wri-aa__why-copy h2{font-size:clamp(28px,3.2vw,44px);margin:0 0 20px;max-width:18ch;}
.wri-aa__proof{background:var(--wri-constellation);border:1px solid var(--wri-hairline);border-radius:var(--wri-radius-lg);padding:clamp(24px,3vw,40px);}
.wri-aa__proof-row{display:grid;grid-template-columns:24px 1fr;gap:16px;align-items:start;padding:20px 0;border-top:1px solid var(--wri-hairline);}
.wri-aa__proof-row:first-child{border-top:none;padding-top:0;}
.wri-aa__proof-row:last-child{padding-bottom:0;}
.wri-aa__proof-row .wri-aa__ic{width:22px;height:22px;margin-top:1px;}
.wri-aa__proof h4{font-family:var(--wri-sans);font-size:16px;font-weight:600;margin:0 0 4px;color:var(--wri-ink);line-height:1.3;}
.wri-aa__proof p{font-size:14px;margin:0;color:var(--wri-body);line-height:1.5;}

/* =========================================================================
   FAQ
   ========================================================================= */
.wri-aa__faq-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:start;}
.wri-aa__faq-side .wri-aa__contact{
  margin-top:20px;font-family:var(--wri-mono);font-size:13px;letter-spacing:.02em;color:var(--wri-body);line-height:1.9;
}
.wri-aa__faq-item{border-bottom:1px solid var(--wri-hairline);}
.wri-aa__faq-item summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:22px 0;font-family:var(--wri-serif);font-size:19px;color:var(--wri-ink);font-weight:600;
}
.wri-aa__faq-item summary::-webkit-details-marker{display:none;}
.wri-aa__faq-item summary .wri-aa__ic{width:20px;height:20px;transition:transform 200ms ease;}
.wri-aa__faq-item[open] summary .wri-aa__ic{transform:rotate(180deg);}
.wri-aa__faq-answer{padding:0 0 24px;}
.wri-aa__faq-answer p{font-size:16px;}

/* =========================================================================
   Nearby areas
   ========================================================================= */
.wri-aa__near{display:flex;flex-wrap:wrap;gap:12px;}
.wri-aa__near a{
  display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:1px solid var(--wri-hairline);
  border-radius:999px;background:#fff;color:var(--wri-ink);border-bottom:1px solid var(--wri-hairline);
  font-size:15px;transition:background-color 160ms ease,border-color 160ms ease,transform 160ms ease;
}
.wri-aa__near a:hover{background:var(--wri-oatmilk);border-color:rgba(25,39,51,.24);transform:translateY(-1px);}
.wri-aa__near a .wri-aa__ic{width:16px;height:16px;}

/* =========================================================================
   Final CTA (dark full-bleed). Orange-on-dark rule applied.
   ========================================================================= */
.wri-aa__cta{
  position:relative;width:100vw;margin-left:calc(50% - 50vw);background:var(--wri-dark-matter);
  padding:var(--wri-pad-y) 0;overflow:hidden;
}
.wri-aa__cta::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(680px 320px at 50% 0%,rgba(153,175,196,.12),transparent 62%);
}
.wri-aa__cta .wri-aa__wrap{position:relative;max-width:820px;text-align:center;}
.wri-aa__cta.wri-aa__cta .wri-aa__eyebrow{color:var(--wri-milky-way);justify-content:center;}
.wri-aa__cta.wri-aa__cta .wri-aa__eyebrow::before{background:var(--wri-nebula);}
.wri-aa__cta.wri-aa__cta h2{font-size:clamp(30px,4vw,54px);color:var(--wri-oatmilk);margin:0 0 18px;max-width:20ch;margin-inline:auto;}
.wri-aa__cta.wri-aa__cta h2 em{font-style:italic;color:var(--wri-milky-way);font-weight:500;}
.wri-aa__cta.wri-aa__cta > .wri-aa__wrap > p{color:rgba(254,244,234,.74);font-size:clamp(17px,1.1vw + 0.3rem,19px);max-width:56ch;margin:0 auto 34px;}
.wri-aa__cta-ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.wri-aa__cta-fine{font-family:var(--wri-mono);font-size:11px;letter-spacing:.02em;color:rgba(254,244,234,.5);line-height:1.6;margin:36px auto 0;max-width:70ch;}

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width:960px){
  .wri-aa__hero-grid{grid-template-columns:1fr;gap:40px;}
  .wri-aa__nb{grid-template-columns:repeat(2,1fr);}
  .wri-aa__svc{grid-template-columns:repeat(2,1fr);}
  .wri-aa__pages{grid-template-columns:1fr 1fr;}
  .wri-aa__steps{grid-template-columns:1fr 1fr;}
  .wri-aa__step{border-bottom:1px solid var(--wri-hairline-dark);padding:32px 28px;}
  .wri-aa__step:nth-child(2n){border-right:none;}
  .wri-aa__step:not(:first-child){padding-left:28px;}
  .wri-aa__step:nth-child(2n+1){padding-left:0;}
  .wri-aa__why-grid{grid-template-columns:1fr;}
  .wri-aa__faq-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .wri-aa__nb{grid-template-columns:1fr;}
  .wri-aa__svc{grid-template-columns:1fr;}
  .wri-aa__pages{grid-template-columns:1fr;}
  .wri-aa__steps{grid-template-columns:1fr;}
  .wri-aa__step{padding:28px 0;}
  .wri-aa__step:not(:first-child){padding-left:0;}
  .wri-aa__card{padding:24px;}
  .wri-aa__card::before{left:24px;right:24px;}
  .wri-aa__hero-ctas .wri-aa__btn,.wri-aa__cta-ctas .wri-aa__btn{width:100%;justify-content:center;}
}

@media (prefers-reduced-motion:reduce){
  .wri-aa *,.wri-aa *::before,.wri-aa *::after{transition:none !important;}
}

/* ---------------------------------------------------------------------------
   FIX (2026-07): wpautop injects a stray empty <p> into each .wri-aa__proof-row,
   which pushes the content <div> into an undefined 3rd grid column. That column
   collapsed to ~24px and stacked the "One team, one contract" heading one letter
   per line. Hide the stray paragraph and pin the content div to the 1fr column.
   --------------------------------------------------------------------------- */
.wri-aa__proof-row > p:empty{display:none;}
.wri-aa__proof-row > div{grid-column:2;min-width:0;}

/* ============================================
   WRI CTA LIBRARY — WPCode: CSS, Site Wide Header
   40 CTAs, 12 templates, 1 stylesheet
   Namespace: .wri-cta
   Last updated: 2026-07-01
   ============================================ */

/* ── Base ── */
.wri-cta { max-width: 820px; margin: 48px auto; position: relative; overflow: hidden; border-radius: 24px; font-family: var(--wri-font-body, 'DM Sans', system-ui, sans-serif); -webkit-font-smoothing: antialiased; }
.wri-cta *, .wri-cta *::before, .wri-cta *::after { box-sizing: border-box; margin: 0; padding: 0; }
.wri-cta__inner { position: relative; z-index: 1; }

/* ── Typography ── */
.wri-cta__eyebrow { font-family: var(--wri-font-mono, 'DM Mono', monospace) !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.1em !important; color: #C13D1B !important; margin-bottom: 16px !important; }
.wri-cta__heading { font-family: var(--wri-font-display, 'Playfair Display', Georgia, serif) !important; font-weight: 700 !important; line-height: 1.18 !important; color: #0A2540 !important; margin-bottom: 14px !important; }
.wri-cta__subheading { font-family: var(--wri-font-display, 'Playfair Display', Georgia, serif) !important; font-weight: 400 !important; font-style: italic !important; color: #B0B8C4 !important; margin-bottom: 28px !important; }
.wri-cta__body { font-family: var(--wri-font-body, 'DM Sans', system-ui, sans-serif) !important; font-size: 15px !important; line-height: 1.65 !important; color: #6B7A8D !important; margin-bottom: 28px !important; }
.wri-cta__micro { font-family: var(--wri-font-body, 'DM Sans', system-ui, sans-serif) !important; font-size: 12px !important; font-weight: 500 !important; color: #9AA5B4 !important; margin-top: 8px !important; text-align: center; }
.wri-cta__quote { font-family: var(--wri-font-display, 'Playfair Display', Georgia, serif) !important; font-size: 24px !important; font-weight: 500 !important; font-style: italic !important; line-height: 1.4 !important; color: #0A2540 !important; margin-bottom: 16px !important; }
.wri-cta__quote::before { content: '\201C'; display: block; font-size: 48px; line-height: 1; color: #FCEAD7; margin-bottom: 8px; }
.wri-cta__author { font-size: 14px !important; font-weight: 600 !important; color: #0A2540 !important; }
.wri-cta__author-loc { font-size: 12px !important; color: #9AA5B4 !important; margin-bottom: 8px !important; }

/* ── Buttons ── */
.wri-cta__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.wri-cta__btn { display: inline-flex !important; align-items: center !important; gap: 8px !important; font-family: var(--wri-font-body, 'DM Sans', system-ui, sans-serif) !important; font-size: 15px !important; font-weight: 600 !important; padding: 13px 28px !important; border-radius: 50px !important; text-decoration: none !important; border: none !important; cursor: pointer !important; white-space: nowrap !important; transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important; }
.wri-cta__btn:focus-visible { outline: 2px solid #FF5C35 !important; outline-offset: 2px !important; }

.wri-cta__btn--primary { background: #FF5C35 !important; color: #fff !important; box-shadow: 0 2px 14px rgba(255,92,53,0.25) !important; }
.wri-cta__btn--primary:hover { background: #E84D2A !important; color: #fff !important; transform: translateY(-2px) !important; box-shadow: 0 8px 28px rgba(255,92,53,0.4) !important; }
.wri-cta__btn--primary:visited { color: #fff !important; }

.wri-cta__btn--navy { background: #0A2540 !important; color: #fff !important; box-shadow: 0 2px 14px rgba(10,37,64,0.2) !important; }
.wri-cta__btn--navy:hover { background: #0F3460 !important; color: #fff !important; transform: translateY(-2px) !important; box-shadow: 0 8px 28px rgba(10,37,64,0.35) !important; }
.wri-cta__btn--navy:visited { color: #fff !important; }

.wri-cta__btn--ghost { background: #fff !important; color: #0A2540 !important; border: 1.5px solid #dde0e4 !important; }
.wri-cta__btn--ghost:hover { background: #f8f7f5 !important; color: #0A2540 !important; border-color: #bcc1c8 !important; transform: translateY(-1px) !important; box-shadow: 0 4px 16px rgba(10,37,64,0.08) !important; }
.wri-cta__btn--ghost:visited { color: #0A2540 !important; }

.wri-cta__btn--ghostD { background: transparent !important; color: rgba(255,255,255,0.75) !important; border: 1.5px solid rgba(255,255,255,0.15) !important; }
.wri-cta__btn--ghostD:hover { background: rgba(255,255,255,0.06) !important; color: rgba(255,255,255,0.9) !important; border-color: rgba(255,255,255,0.25) !important; transform: translateY(-1px) !important; }
.wri-cta__btn--ghostD:visited { color: rgba(255,255,255,0.75) !important; }

.wri-cta__btn--warm { background: #FEF4EA !important; color: #C13D1B !important; border: 1.5px solid #FCEAD7 !important; }
.wri-cta__btn--warm:hover { background: #FCEAD7 !important; color: #C13D1B !important; border-color: #F4CAA0 !important; transform: translateY(-1px) !important; }
.wri-cta__btn--warm:visited { color: #C13D1B !important; }

.wri-cta__btn--link { background: transparent !important; color: #C13D1B !important; padding: 0 !important; border-radius: 0 !important; font-size: 14px !important; }
.wri-cta__btn--link:hover { color: #E84D2A !important; text-decoration: underline !important; }

/* ── Proof / Stats / Checks ── */
.wri-cta__proof { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.wri-cta__proof-item { display: flex; align-items: center; gap: 6px; font-size: 12px !important; font-weight: 500 !important; color: #9AA5B4 !important; }
.wri-cta__proof-item::before { content: ''; display: inline-block; width: 14px; height: 14px; background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkY1QzM1IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0yMiAxMS4wOFYxMmExMCAxMCAwIDEgMS01LjkzLTkuMTQiLz48cG9seWxpbmUgcG9pbnRzPSIyMiA0IDEyIDE0LjAxIDkgMTEuMDEiLz48L3N2Zz4="); background-size: contain; background-repeat: no-repeat; flex-shrink: 0; }

.wri-cta__stats { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 16px; padding-top: 20px; border-top: 1px solid rgba(10,37,64,0.06); }
.wri-cta__stat { display: flex; align-items: baseline; gap: 5px; }
.wri-cta__stat-val { font-size: 20px !important; font-weight: 700 !important; color: #0A2540 !important; }
.wri-cta__stat-label { font-size: 12px !important; font-weight: 500 !important; color: #9AA5B4 !important; }

.wri-cta__checks { list-style: none !important; display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px !important; padding: 0 !important; }
.wri-cta__checks li { display: flex; align-items: flex-start; gap: 8px; font-size: 13px !important; line-height: 1.45 !important; color: #566577 !important; }
.wri-cta__checks li::before { content: ''; display: inline-block; width: 14px; height: 14px; margin-top: 2px; flex-shrink: 0; background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkY1QzM1IiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0yMiAxMS4wOFYxMmExMCAxMCAwIDEgMS01LjkzLTkuMTQiLz48cG9seWxpbmUgcG9pbnRzPSIyMiA0IDEyIDE0LjAxIDkgMTEuMDEiLz48L3N2Zz4="); background-size: contain; background-repeat: no-repeat; }

.wri-cta__stars { color: #FF5C35 !important; font-size: 14px; letter-spacing: 2px; margin-bottom: 4px; }

/* ── CENTERED template ── */
.wri-cta--centered { background: #fff; box-shadow: 0 1px 3px rgba(10,37,64,0.04), 0 6px 32px rgba(10,37,64,0.05); padding: 52px 48px 44px; text-align: center; }
.wri-cta--centered .wri-cta__heading { font-size: 32px !important; max-width: 560px; margin-left: auto; margin-right: auto; }
.wri-cta--centered .wri-cta__subheading { font-size: 20px !important; }
.wri-cta--centered .wri-cta__body { max-width: 480px; margin-left: auto; margin-right: auto; }
.wri-cta--centered .wri-cta__btns { justify-content: center; }
.wri-cta--centered .wri-cta__checks { max-width: 360px; margin-left: auto; margin-right: auto; text-align: left; }
.wri-cta--centered .wri-cta__stats { justify-content: center; }

/* ── MINIMAL template ── */
.wri-cta--minimal { background: #fff; box-shadow: 0 1px 3px rgba(10,37,64,0.04), 0 6px 32px rgba(10,37,64,0.05); padding: 72px 48px 56px; text-align: center; }
.wri-cta--minimal .wri-cta__heading { font-size: 48px !important; letter-spacing: -0.02em !important; line-height: 1.1 !important; }
.wri-cta--minimal .wri-cta__subheading { font-size: 21px !important; margin-bottom: 36px !important; }
.wri-cta--minimal .wri-cta__body { max-width: 420px; margin-left: auto; margin-right: auto; }
.wri-cta--minimal .wri-cta__btns { justify-content: center; }
.wri-cta--minimal::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #FF5C35, #533AFD 50%, #28BEB4); }

/* ── DARK template ── */
.wri-cta--dark { background: #070B14; padding: 56px 48px 48px; }
.wri-cta--dark::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 55% 70% at 85% 15%, rgba(83,58,253,0.25), transparent 70%), radial-gradient(ellipse 45% 55% at 90% 85%, rgba(40,100,235,0.15), transparent 60%), radial-gradient(ellipse 40% 50% at 15% 90%, rgba(40,190,180,0.1), transparent 55%); z-index: 0; }
.wri-cta--dark::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #FF5C35, #533AFD, #28BEB4); z-index: 2; }
.wri-cta--dark .wri-cta__inner { display: flex; justify-content: space-between; gap: 36px; }
.wri-cta--dark .wri-cta__eyebrow { color: rgba(255,255,255,0.3) !important; }
.wri-cta--dark .wri-cta__heading { color: #fff !important; font-size: 38px !important; }
.wri-cta--dark .wri-cta__body { color: rgba(255,255,255,0.45) !important; max-width: 440px; }
.wri-cta--dark .wri-cta__micro { color: rgba(255,255,255,0.35) !important; }
.wri-cta--dark .wri-cta__proof { background: rgba(255,255,255,0.04); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-radius: 14px; padding: 18px 22px; border: 1px solid rgba(255,255,255,0.06); flex-shrink: 0; }
.wri-cta--dark .wri-cta__proof-item { color: rgba(255,255,255,0.4) !important; }
.wri-cta--dark .wri-cta__stat-val { color: #FF5C35 !important; }
.wri-cta--dark .wri-cta__stat-label { color: rgba(255,255,255,0.35) !important; }
.wri-cta--dark .wri-cta__stats { border-top-color: rgba(255,255,255,0.08); }

/* ── WARM template ── */
.wri-cta--warm { background: linear-gradient(145deg, #FEF4EA, #fff 50%, #F8F0E8); box-shadow: 0 1px 3px rgba(10,37,64,0.04), 0 6px 32px rgba(10,37,64,0.05); padding: 52px 48px 44px; }
.wri-cta--warm .wri-cta__heading { font-size: 36px !important; max-width: 520px; }
.wri-cta--warm .wri-cta__body { max-width: 460px; }

/* ── SPLIT template ── */
.wri-cta--split { background: #fff; box-shadow: 0 1px 3px rgba(10,37,64,0.04), 0 6px 32px rgba(10,37,64,0.05); display: grid; grid-template-columns: 1fr 220px; }
.wri-cta--split .wri-cta__content { padding: 48px 44px; }
.wri-cta--split .wri-cta__content::before { content: ''; display: block; width: 40px; height: 3px; background: #FF5C35; border-radius: 2px; margin-bottom: 22px; }
.wri-cta--split .wri-cta__heading { font-size: 32px !important; }
.wri-cta--split .wri-cta__body { max-width: 420px; }
.wri-cta--split .wri-cta__sidebar { background: #FAFAF8; padding: 28px 20px; border-left: 1px solid #eee; position: relative; }
.wri-cta--split .wri-cta__sidebar-title { font-size: 12px !important; font-weight: 700 !important; color: #0A2540 !important; margin-bottom: 14px !important; }
.wri-cta--split .wri-cta__sidebar::after { content: ''; position: absolute; left: -1px; top: 50%; transform: translateY(-50%); width: 3px; height: 48px; border-radius: 2px; background: #FF5C35; }

/* ── GLASS template ── */
.wri-cta--glass { background: linear-gradient(145deg, #FEF4EA, #fff 45%, #F0F7F7); padding: 52px 40px; display: flex; justify-content: center; }
.wri-cta--glass::before { content: ''; position: absolute; inset: 0; opacity: 0.2; background-image: linear-gradient(rgba(10,37,64,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(10,37,64,0.03) 1px, transparent 1px); background-size: 64px 64px; }
.wri-cta--glass .wri-cta__card { position: relative; z-index: 1; background: rgba(255,255,255,0.7); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border-radius: 18px; border: 1px solid rgba(10,37,64,0.06); padding: 44px 48px 40px; max-width: 500px; width: 100%; text-align: center; box-shadow: 0 8px 36px rgba(10,37,64,0.06), inset 0 1px 0 rgba(255,255,255,0.6); transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1); }
.wri-cta--glass .wri-cta__card:hover { transform: translateY(-4px); box-shadow: 0 24px 60px rgba(10,37,64,0.1), inset 0 1px 0 rgba(255,255,255,0.8); }

/* ── TESTIMONIAL template ── */
.wri-cta--testimonial { background: #fff; box-shadow: 0 1px 3px rgba(10,37,64,0.04), 0 6px 32px rgba(10,37,64,0.05); padding: 48px 44px; display: grid; grid-template-columns: 1fr 240px; gap: 36px; }
.wri-cta--testimonial .wri-cta__sidebar { background: #FAFAF8; border-radius: 14px; padding: 24px 20px; border: 1px solid #eee; }

/* ── STEPS template ── */
.wri-cta--steps { background: linear-gradient(180deg, #fff, #FEF4EA); box-shadow: 0 1px 3px rgba(10,37,64,0.04), 0 6px 32px rgba(10,37,64,0.05); padding: 48px 44px; text-align: center; }
.wri-cta__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 32px; text-align: left; }
.wri-cta__step { background: #fff; border-radius: 14px; padding: 24px 20px; box-shadow: 0 1px 3px rgba(10,37,64,0.03); border: 1px solid #eee; }
.wri-cta__step-num { font-family: var(--wri-font-mono, 'DM Mono', monospace) !important; font-size: 11px !important; font-weight: 500 !important; color: #FF5C35 !important; letter-spacing: 0.04em; }
.wri-cta__step h3 { font-size: 15px !important; font-weight: 700 !important; color: #0A2540 !important; margin: 6px 0 !important; line-height: 1.3 !important; }
.wri-cta__step p { font-size: 13px !important; line-height: 1.55 !important; color: #6B7A8D !important; }
.wri-cta--steps .wri-cta__heading { font-size: 32px !important; margin-bottom: 28px !important; }
.wri-cta--steps .wri-cta__btns { justify-content: center; }

/* ── FAQ template ── */
.wri-cta--faq { background: #fff; box-shadow: 0 1px 3px rgba(10,37,64,0.04), 0 6px 32px rgba(10,37,64,0.05); padding: 48px 44px; text-align: center; }
.wri-cta--faq .wri-cta__heading { font-size: 32px !important; }
.wri-cta__faqs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 600px; margin: 28px auto; text-align: left; }
.wri-cta__faq { background: #FAFAF8; border-radius: 12px; padding: 18px 20px; border: 1px solid #eee; }
.wri-cta__faq-q { font-size: 13px !important; font-weight: 700 !important; color: #0A2540 !important; margin-bottom: 6px !important; line-height: 1.35 !important; }
.wri-cta__faq-a { font-size: 13px !important; line-height: 1.5 !important; color: #6B7A8D !important; }
.wri-cta--faq .wri-cta__btns { justify-content: center; }
.wri-cta--faq::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #FF5C35, #533AFD 50%, #28BEB4); }

/* ── BEFORE/AFTER template ── */
.wri-cta--beforeafter { display: grid; grid-template-columns: 1fr 1fr; box-shadow: 0 1px 3px rgba(10,37,64,0.04), 0 6px 32px rgba(10,37,64,0.05); }
.wri-cta__before { background: #f0eeeb; padding: 44px 40px; }
.wri-cta__after { background: #fff; padding: 44px 40px; }
.wri-cta__ba-label { font-family: var(--wri-font-mono, 'DM Mono', monospace) !important; font-size: 11px !important; font-weight: 500 !important; letter-spacing: 0.08em !important; margin-bottom: 12px !important; }
.wri-cta__before .wri-cta__ba-label { color: #9AA5B4 !important; }
.wri-cta__after .wri-cta__ba-label { color: #FF5C35 !important; }
.wri-cta__ba-heading { font-family: var(--wri-font-display, 'Playfair Display', Georgia, serif) !important; font-size: 22px !important; font-weight: 700 !important; line-height: 1.3 !important; margin-bottom: 12px !important; }
.wri-cta__before .wri-cta__ba-heading { color: #566577 !important; }
.wri-cta__after .wri-cta__ba-heading { color: #0A2540 !important; }
.wri-cta__ba-body { font-size: 14px !important; line-height: 1.6 !important; }
.wri-cta__before .wri-cta__ba-body { color: #7A8594 !important; }
.wri-cta__after .wri-cta__ba-body { color: #6B7A8D !important; margin-bottom: 20px !important; }

/* ── BAR template ── */
.wri-cta--bar { background: #0A2540; padding: 14px 28px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; box-shadow: 0 4px 16px rgba(10,37,64,0.12); max-width: 100%; }
.wri-cta--bar .wri-cta__text { font-size: 13px !important; font-weight: 600 !important; color: rgba(255,255,255,0.6) !important; display: flex; align-items: center; gap: 8px; flex: 1; }
.wri-cta--bar .wri-cta__stars { color: #FF5C35 !important; margin-right: 4px; }

/* ── INLINE template ── */
.wri-cta--inline { background: #FAFAF8; border: 1px solid #eee; border-radius: 14px !important; padding: 24px 28px !important; max-width: 640px; box-shadow: none !important; }
.wri-cta--inline .wri-cta__body { font-size: 14px !important; margin-bottom: 0 !important; }
.wri-cta--inline .wri-cta__body::first-letter { font-family: var(--wri-font-display, 'Playfair Display', Georgia, serif); font-size: 28px; font-weight: 700; color: #C13D1B; float: left; line-height: 1; margin-right: 6px; margin-top: 3px; }

/* ── Responsive ── */
@media (max-width: 768px) {
  .wri-cta { border-radius: 18px; margin: 32px auto; }
  .wri-cta--centered, .wri-cta--warm { padding: 40px 22px 36px; }
  .wri-cta--centered .wri-cta__heading, .wri-cta--warm .wri-cta__heading { font-size: 26px !important; }
  .wri-cta--minimal { padding: 52px 22px 44px; }
  .wri-cta--minimal .wri-cta__heading { font-size: 36px !important; }
  .wri-cta--dark { padding: 40px 22px 36px; }
  .wri-cta--dark .wri-cta__inner { flex-direction: column; }
  .wri-cta--dark .wri-cta__heading { font-size: 28px !important; }
  .wri-cta--dark .wri-cta__proof { width: 100%; }
  .wri-cta--split { grid-template-columns: 1fr; }
  .wri-cta--split .wri-cta__content { padding: 36px 22px; }
  .wri-cta--split .wri-cta__heading { font-size: 26px !important; }
  .wri-cta--split .wri-cta__sidebar { display: none; }
  .wri-cta--glass { padding: 36px 14px; }
  .wri-cta--glass .wri-cta__card { padding: 36px 20px 32px; }
  .wri-cta--glass .wri-cta__heading { font-size: 26px !important; }
  .wri-cta--testimonial { grid-template-columns: 1fr; padding: 36px 22px; }
  .wri-cta--testimonial .wri-cta__sidebar { display: none; }
  .wri-cta--testimonial .wri-cta__quote { font-size: 20px !important; }
  .wri-cta__steps { grid-template-columns: 1fr; }
  .wri-cta--steps { padding: 36px 22px; }
  .wri-cta--steps .wri-cta__heading { font-size: 26px !important; }
  .wri-cta__faqs { grid-template-columns: 1fr; }
  .wri-cta--faq { padding: 36px 22px; }
  .wri-cta--faq .wri-cta__heading { font-size: 26px !important; }
  .wri-cta--beforeafter { grid-template-columns: 1fr; }
  .wri-cta__before, .wri-cta__after { padding: 32px 22px; }
  .wri-cta--bar { padding: 12px 16px; border-radius: 14px; }
  .wri-cta__btns { flex-direction: column; }
  .wri-cta__btn { width: 100% !important; justify-content: center !important; }
  .wri-cta__stats { gap: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .wri-cta, .wri-cta *, .wri-cta *::before, .wri-cta *::after { transition: none !important; animation: none !important; }
}
/* ==============================================
   WPCode snippet: Featured project - Ypsilanti porch + deck
   Location: Site Wide Header > Auto Insert
   ============================================== */

:root{
  --wri-navy:#0A2540;
  --wri-solaris:#FF5C35;
  --wri-solaris-access:#C13D1B;
  --wri-oatmilk:#FEF4EA;
  --wri-chapati:#FCEAD7;
  --wri-ink:#16202B;
  --wri-slate:#41506180;
  --wri-line:#0a25401a;
  --wri-paper:#FFFFFF;
}
*{box-sizing:border-box}
.wri-wrap{-webkit-text-size-adjust:100%}
.wri-wrap{
  margin:0;
  font-family:"DM Sans",system-ui,sans-serif;
  color:var(--wri-ink);
  background:var(--wri-paper);
  line-height:1.65;
  font-size:18px;
  -webkit-font-smoothing:antialiased;
}
.wri-wrap img{display:block;max-width:100%;height:auto}
.wri-wrap a{color:var(--wri-solaris-access);text-decoration:none}
a:hover{text-decoration:underline}
.wri-wrap{max-width:1080px;margin:0 auto;padding:0 28px}
.wri-eyebrow{
  font-family:"DM Mono",monospace;
  font-size:13px;
  letter-spacing:0.08em;
  color:var(--wri-solaris-access);
  margin:0 0 16px;
  display:block;
}
.wri-wrap :is(h1,h2,h3){font-family:"Playfair Display",Georgia,serif;font-weight:600;color:var(--wri-navy);text-wrap:balance}
.wri-wrap p{text-wrap:pretty}

/* ---------- HERO ---------- */
.wri-hero{position:relative;background:var(--wri-navy);color:var(--wri-oatmilk)}
.wri-hero__img{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}
.wri-hero__img img{width:100%;height:100%;object-fit:cover}
.wri-hero__img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a254000 35%,#0a2540e6 100%)}
.wri-hero__body{position:relative;margin-top:-120px;z-index:2;padding-bottom:64px}
.wri-hero__card{
  background:var(--wri-navy);
  border-top:3px solid var(--wri-solaris);
  padding:40px clamp(24px,4vw,52px) 44px;
  max-width:780px;
  box-shadow:0 30px 60px -30px #0a2540cc;
}
.wri-hero .wri-eyebrow{color:var(--wri-solaris)}
.wri-hero h1{
  color:var(--wri-oatmilk);
  font-size:clamp(34px,5vw,56px);
  line-height:1.06;
  margin:0 0 18px;
}
.wri-hero__sub{color:#cdd7e2;font-size:clamp(17px,2vw,20px);margin:0;max-width:60ch}

/* ---------- SPEC BAR ---------- */
.wri-spec{background:var(--wri-oatmilk);border-bottom:1px solid var(--wri-line)}
.wri-spec__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0}
.wri-spec__item{padding:30px 22px;border-right:1px solid var(--wri-line)}
.wri-spec__item:last-child{border-right:0}
.wri-spec__k{font-family:"DM Mono",monospace;font-size:12px;letter-spacing:0.06em;color:#6b7785;display:block;margin-bottom:8px}
.wri-spec__v{font-family:"Playfair Display",serif;font-size:clamp(20px,2.4vw,26px);color:var(--wri-navy);line-height:1.15}

/* ---------- SECTION ---------- */
.wri-sec{padding:clamp(64px,9vw,120px) 0}
.wri-sec h2{font-size:clamp(27px,3.6vw,40px);line-height:1.12;margin:0 0 28px}
.wri-sec h3{font-size:clamp(20px,2.4vw,26px);margin:40px 0 14px}
.wri-sec p{margin:0 0 22px;max-width:68ch}
.wri-lede{font-size:clamp(20px,2.3vw,24px);line-height:1.5;color:var(--wri-navy);font-family:"Playfair Display",serif;font-style:italic;max-width:60ch}

/* ---------- SPLIT DETAIL ---------- */
.wri-split{display:grid;grid-template-columns:1.05fr 0.95fr;gap:clamp(28px,4vw,56px);align-items:center}
.wri-split img{border-radius:4px;box-shadow:0 24px 48px -28px #0a254066}
.wri-split--warm{background:var(--wri-chapati)}
.wri-split--warm .wri-split__pad{padding:clamp(48px,7vw,96px) 0}

/* ---------- GALLERY ---------- */
.wri-gal{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.wri-gal figure{margin:0;border-radius:4px;overflow:hidden;background:var(--wri-chapati)}
.wri-gal img{width:100%;height:100%;object-fit:cover}
.wri-gal .g-wide{grid-column:span 4}
.wri-gal .g-tall{grid-column:span 2}
.wri-gal .g-half{grid-column:span 3}
.wri-gal figure img{aspect-ratio:4/3}
.wri-gal .g-wide img{aspect-ratio:16/9}

/* ---------- INCLUDED (line-item motif) ---------- */
.wri-inc{background:var(--wri-navy);color:var(--wri-oatmilk)}
.wri-inc.wri-inc :is(h2,h3,p,span,dt,dd){color:var(--wri-oatmilk)}
.wri-inc h2{color:var(--wri-oatmilk)}
.wri-inc .wri-eyebrow{color:var(--wri-solaris)}
.wri-inc__rows{border-top:1px solid #ffffff26;margin-top:36px}
.wri-inc__row{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  padding:20px 0;
  border-bottom:1px solid #ffffff1a;
  align-items:baseline;
}
.wri-inc__tag{
  font-family:"DM Mono",monospace;
  font-size:12px;
  letter-spacing:0.05em;
  color:var(--wri-solaris);
  white-space:nowrap;
  padding-top:3px;
}
.wri-inc__row h3{font-family:"DM Sans",sans-serif;font-weight:700;font-size:18px;margin:0 0 4px;color:var(--wri-oatmilk)}
.wri-inc__row p{margin:0;color:#cdd7e2;font-size:16px;max-width:62ch}

/* ---------- CTA (full bleed) ---------- */
.wri-cta{
  width:100vw;
  margin-left:calc(50% - 50vw);
  background:var(--wri-solaris);
  color:#fff;
  text-align:center;
  padding:clamp(64px,9vw,110px) 24px;
}
.wri-cta.wri-cta :is(h2,p){color:#fff}
.wri-cta h2{font-size:clamp(28px,4vw,44px);margin:0 0 16px;max-width:18ch;margin-inline:auto}
.wri-cta p{font-size:clamp(17px,2vw,20px);margin:0 auto 32px;max-width:46ch;color:#fff;opacity:.95}
.wri-btn{
  display:inline-block;
  font-family:"DM Sans",sans-serif;
  font-weight:700;
  font-size:17px;
  background:var(--wri-navy)!important;
  color:#fff!important;
  padding:17px 38px;
  border-radius:6px;
  border:2px solid var(--wri-navy)!important;
  transition:transform .15s ease,box-shadow .15s ease;
}
.wri-btn:link,.wri-btn:visited{color:#fff!important;text-decoration:none}
.wri-btn:hover,.wri-btn:active{color:#fff!important;text-decoration:none;transform:translateY(-2px);box-shadow:0 14px 28px -14px #0a2540}
.wri-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* ---------- RELATED ---------- */
.wri-rel{background:var(--wri-oatmilk);padding:clamp(48px,6vw,80px) 0}
.wri-rel h2{font-size:clamp(22px,2.8vw,30px);margin:0 0 24px}
.wri-rel__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.wri-rel__card{
  background:var(--wri-paper);
  border:1px solid var(--wri-line);
  border-radius:6px;
  padding:24px;
  transition:transform .15s ease,box-shadow .15s ease;
}
.wri-rel__card:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px #0a254055}
.wri-rel__card h3{font-family:"DM Sans",sans-serif;font-weight:700;font-size:17px;margin:0 0 6px;color:var(--wri-navy)}
.wri-rel__card p{margin:0;font-size:15px;color:#5a6672}
.wri-rel__card a{display:inline-block;margin-top:14px;font-family:"DM Mono",monospace;font-size:13px}

:focus-visible{outline:2px solid var(--wri-solaris);outline-offset:2px}

@media (max-width:880px){
  .wri-spec__grid{grid-template-columns:repeat(2,1fr)}
  .wri-spec__item:nth-child(2){border-right:0}
  .wri-spec__item:nth-child(1),.wri-spec__item:nth-child(2){border-bottom:1px solid var(--wri-line)}
  .wri-split{grid-template-columns:1fr;gap:28px}
  .wri-rel__grid{grid-template-columns:1fr}
}
@media (max-width:680px){
  .wri-wrap{font-size:17px}
  .wri-hero__body{margin-top:-72px}
  .wri-gal{grid-template-columns:repeat(2,1fr)}
  .wri-gal .g-wide,.wri-gal .g-tall,.wri-gal .g-half{grid-column:span 2}
  .wri-spec__grid{grid-template-columns:1fr}
  .wri-spec__item{border-right:0;border-bottom:1px solid var(--wri-line)}
  .wri-spec__item:last-child{border-bottom:0}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
}
/* ============================================================
   WPCode Snippet: Countertop Backsplash Page (.wri-ctb)
   Location: Site Wide Header, Auto Insert
   Page: /kitchen/countertop-backsplash/
   ============================================================ */

/* --- Base container --- */
.wri-ctb {
  max-width: 780px;
  margin: 0 auto;
  padding: clamp(32px, 5vw, 64px) 0;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--wri-dark-matter, #0A0A14);
  line-height: 1.72;
  font-size: clamp(16px, 1.05vw, 18px);
}

/* --- Typography --- */
.wri-ctb h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  font-size: clamp(26px, 2.8vw, 36px);
  line-height: 1.22;
  letter-spacing: -0.015em;
  color: var(--wri-dark-matter, #0A0A14);
  margin: clamp(48px, 6vw, 80px) 0 clamp(16px, 2vw, 24px);
  text-wrap: balance;
}

.wri-ctb h3 {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  font-size: clamp(18px, 1.4vw, 22px);
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--wri-dark-matter, #0A0A14);
  margin: clamp(32px, 4vw, 48px) 0 clamp(10px, 1.2vw, 16px);
  text-wrap: balance;
}

.wri-ctb p {
  margin: 0 0 clamp(16px, 2vw, 22px);
  text-wrap: pretty;
}

/* --- Links --- */
.wri-ctb a:not([href^="tel:"]) {
  color: var(--wri-solaris-access, #C13D1B);
  text-decoration: underline;
  text-decoration-color: rgba(193, 61, 27, 0.3);
  text-underline-offset: 3px;
  transition: text-decoration-color 0.2s ease;
}

.wri-ctb a:not([href^="tel:"]):hover,
.wri-ctb a:not([href^="tel:"]):focus {
  text-decoration-color: var(--wri-solaris-access, #C13D1B);
}

.wri-ctb a:focus-visible {
  outline: 2px solid var(--wri-solaris, #FF5C35);
  outline-offset: 2px;
  border-radius: 2px;
}

/* --- Phone link --- */
.wri-ctb a[href^="tel:"] {
  color: var(--wri-dark-matter, #0A0A14);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid var(--wri-solaris, #FF5C35);
  transition: border-color 0.2s ease;
}

.wri-ctb a[href^="tel:"]:hover {
  border-color: var(--wri-solaris-hover, #E84D2A);
}

/* --- Lists --- */
.wri-ctb ul {
  margin: 0 0 clamp(20px, 2.5vw, 28px);
  padding: 0 0 0 24px;
  list-style: none;
}

.wri-ctb ul li {
  position: relative;
  padding: clamp(8px, 1vw, 12px) 0 clamp(8px, 1vw, 12px) 0;
  border-bottom: 1px solid rgba(10, 10, 20, 0.06);
  text-wrap: pretty;
}

.wri-ctb ul li:last-child {
  border-bottom: none;
}

.wri-ctb ul li::before {
  content: '';
  position: absolute;
  left: -24px;
  top: clamp(16px, 1.6vw, 22px);
  width: 6px;
  height: 6px;
  background: var(--wri-solaris, #FF5C35);
  border-radius: 50%;
}

.wri-ctb ul li strong {
  color: var(--wri-dark-matter, #0A0A14);
}

/* --- Intro section --- */
.wri-ctb .wri-ctb__intro {
  margin-bottom: clamp(8px, 2vw, 16px);
}

.wri-ctb .wri-ctb__intro p:first-child {
  font-size: clamp(17px, 1.15vw, 19px);
  line-height: 1.76;
  color: rgba(10, 10, 20, 0.82);
}

/* --- Cost list styling (line-item look) --- */
.wri-ctb .wri-ctb__related,
.wri-ctb .wri-ctb__areas {
  margin: clamp(24px, 3vw, 40px) 0;
}

/* --- CTA section --- */
.wri-ctb .wri-ctb__cta {
  margin-top: clamp(48px, 6vw, 80px);
  padding: clamp(32px, 4vw, 56px);
  background: var(--wri-oatmilk, #FEF4EA);
  border-radius: 12px;
  border-left: 4px solid var(--wri-solaris, #FF5C35);
}

.wri-ctb .wri-ctb__cta h2 {
  margin-top: 0;
  font-size: clamp(24px, 2.4vw, 32px);
  color: var(--wri-dark-matter, #0A0A14);
}

.wri-ctb .wri-ctb__cta p:last-child {
  margin-bottom: 0;
}

/* --- Strong/bold --- */
.wri-ctb strong {
  font-weight: 600;
}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
  .wri-ctb,
  .wri-ctb a {
    transition: none !important;
  }
}

/* --- Mobile refinements --- */
@media (max-width: 768px) {
  .wri-ctb {
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
  }

  .wri-ctb .wri-ctb__cta {
    padding: clamp(24px, 5vw, 32px);
    border-radius: 8px;
  }
}
/* ============================================================================
   WRIGHT'S — SECTION TOKEN EXTENSION  (Path B)
   ----------------------------------------------------------------------------
   Adds the handful of section-specific tokens the v4.0 root doesn't define yet,
   so the .wri-h3-* sections read from the SAME token system as everything else.
   Change a value here, every section + Kadence block that uses it moves together.
   ============================================================================ */
:root {
  --wri-solaris-light:  #FF8865;   /* lighter orange — gradient tails, dark-bg eyebrows */
  --wri-solaris-pale:   #FFB89A;   /* palest orange — timeline gradient tail */
  --wri-solaris-deep:   #B83C13;   /* deep orange — eyebrow text on warm backgrounds (AA) */
  --wri-line-warm:      #F0EDE5;   /* warm hairline divider on chapati/oatmilk */
  --wri-bg-chip:        #F5F5F0;   /* neutral chip background */
  --wri-bg-chapati:     #FCEAD7;   /* warm accent section bg */
  --wri-bg-oatmilk:     #FEF4EA;   /* warm accent section bg (lighter) */
  --wri-seam:           #FDFCF9;   /* universal feather seam tone for section edges */
}




/* ============================================================================
   [HERO]  .wri-h3  —  Homepage hero (tokenized; root class .wri-h3, children .wri-h3__*)
   NOTE: hero markup must use class "wri-h3-hero" and keep its inline onerror
   image-fallback JS attribute (that one JS bit stays in the markup, not here).
   ============================================================================ */
/* ===== Scoped defensive reset — kill any leaked global rules ===== */
    .wri-h3,
    .wri-h3 *,
    .wri-h3 *::before,
    .wri-h3 *::after {
      text-shadow: none !important;
      box-sizing: border-box;
    }
    .wri-h3 :is(h1, h2, h3, h4, h5, h6, p, span, em, strong, li) {
      text-shadow: none !important;
    }

    /* ===== Section root ===== */
    .wri-h3 {
      position: relative;
      /* Vertical wash: pure white up top, easing into a warm off-white at the
         very bottom so the next section blends in instead of hitting a hard edge.
         Reorder-safe: the warm tail reads fine against white OR warm neighbors. */
      background: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 80%, var(--wri-seam) 92%, var(--wri-seam) 100%);
      padding: clamp(56px, 8vw, 104px) clamp(20px, 5vw, 56px) clamp(80px, 10vw, 128px);
      font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
      /* Removed overflow:hidden — was blocking scroll on some setups */
      isolation: isolate;
    }

    /* Background ambience — orange wash top-right, soft ink bottom-left */
    .wri-h3__bg-1,
    .wri-h3__bg-2 {
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 0;
    }
    .wri-h3__bg-1 {
      background:
        radial-gradient(ellipse 60% 50% at 85% 8%, rgba(255, 92, 53, 0.06), transparent 60%),
        radial-gradient(ellipse 50% 40% at 15% 95%, rgba(25, 39, 51, 0.04), transparent 65%);
    }
    .wri-h3__bg-2 {
      background-image:
        linear-gradient(rgba(10, 10, 30, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(10, 10, 30, 0.025) 1px, transparent 1px);
      background-size: 56px 56px;
      -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 0%, #000 0%, transparent 70%);
              mask-image: radial-gradient(ellipse 90% 70% at 50% 0%, #000 0%, transparent 70%);
    }

    .wri-h3__inner {
      position: relative;
      z-index: 1;
      max-width: 1320px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
      gap: clamp(40px, 6vw, 88px);
      align-items: center;
    }

    /* ===== LEFT: CONTENT ===== */
    .wri-h3__eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 7px 16px 7px 14px;
      background: var(--wri-solaris-soft);
      border: 1px solid rgba(255, 92, 53, 0.28);
      color: var(--wri-solaris-deep) !important;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: -0.005em;
      margin: 0 0 28px;
      line-height: 1.2;
    }
    .wri-h3__eyebrow-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--wri-solaris);
      box-shadow: 0 0 0 0 rgba(255, 92, 53, 0.55);
      animation: wri-h3-pulse 2.4s cubic-bezier(0.4, 0, 0.6, 1) infinite;
      flex-shrink: 0;
    }
    @keyframes wri-h3-pulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(255, 92, 53, 0.55); transform: scale(1); }
      50%      { box-shadow: 0 0 0 7px rgba(255, 92, 53, 0); transform: scale(1.08); }
    }

    .wri-h3__title {
      font-family: 'Playfair Display', Georgia, serif !important;
      font-size: clamp(2.5rem, 5.4vw, 4.25rem);
      font-weight: 600 !important;
      line-height: 1.04 !important;
      letter-spacing: -0.028em;
      color: var(--wri-ink) !important;
      margin: 0 0 22px;
      text-shadow: none !important;
      text-wrap: balance;
    }
    .wri-h3__title em {
      font-style: italic;
      font-weight: 500;
      color: var(--wri-solaris) !important;
      position: relative;
      display: inline-block;
      text-shadow: none !important;
    }
    .wri-h3__title em::after {
      content: '';
      position: absolute;
      left: 0; right: 0; bottom: -4px;
      height: 6px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 6' preserveAspectRatio='none'%3E%3Cpath d='M2 4 C 60 1, 110 1, 168 3 S 222 5, 238 3' stroke='%23FF5C35' stroke-width='2.5' fill='none' stroke-linecap='round' opacity='0.55'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
      pointer-events: none;
    }

    .wri-h3__sub {
      font-size: 1.1875rem;
      line-height: 1.6;
      color: var(--wri-text) !important;
      margin: 0 0 36px;
      max-width: 540px;
      text-shadow: none !important;
      text-wrap: pretty;
    }

    /* ===== Stat strip ===== */
    .wri-h3__stats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      padding: 22px 0;
      margin: 0 0 36px;
      border-top: 1px solid var(--wri-line);
      border-bottom: 1px solid var(--wri-line);
      max-width: 560px;
    }
    .wri-h3__stat {
      position: relative;
      display: flex;
      flex-direction: column;
      padding: 0 22px;
    }
    .wri-h3__stat:first-child { padding-left: 0; }
    .wri-h3__stat:not(:last-child)::after {
      content: '';
      position: absolute;
      top: 50%; right: 0;
      transform: translateY(-50%);
      width: 1px;
      height: 32px;
      background: var(--wri-line);
    }
    .wri-h3__stat-num {
      font-family: 'Playfair Display', Georgia, serif !important;
      font-size: clamp(1.875rem, 3vw, 2.25rem);
      font-weight: 600;
      color: var(--wri-ink) !important;
      line-height: 1;
      letter-spacing: -0.022em;
    }
    .wri-h3__stat-num span { color: var(--wri-solaris) !important; }
    .wri-h3__stat-lbl {
      font-size: 13px;
      font-weight: 500;
      color: var(--wri-text-muted) !important;
      margin-top: 6px;
      letter-spacing: 0.01em;
      line-height: 1.3;
    }

    /* ===== CTAs ===== */
    .wri-h3__ctas {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
      align-items: center;
    }
    .wri-h3__btn-p,
    .wri-h3__btn-s {
      display: inline-flex !important;
      align-items: center;
      gap: 8px;
      padding: 15px 26px !important;
      border-radius: 999px !important;
      font-family: 'DM Sans', sans-serif !important;
      font-size: 15px !important;
      font-weight: 600 !important;
      text-decoration: none !important;
      letter-spacing: -0.005em;
      line-height: 1;
      white-space: nowrap;
      text-shadow: none !important;
      transition: background 220ms ease, color 220ms ease, border-color 220ms ease, box-shadow 220ms ease, transform 180ms ease;
    }
    .wri-h3__btn-p,
    .wri-h3__btn-p:link,
    .wri-h3__btn-p:visited {
      background: var(--wri-solaris) !important;
      color: #FFFFFF !important;
      border: 1.5px solid var(--wri-solaris) !important;
      box-shadow: 0 1px 2px rgba(255, 92, 53, 0.10), 0 6px 16px rgba(255, 92, 53, 0.28);
    }
    .wri-h3__btn-p:hover,
    .wri-h3__btn-p:focus-visible {
      background: var(--wri-solaris-hover) !important;
      border-color: var(--wri-solaris-hover) !important;
      color: #FFFFFF !important;
      transform: translateY(-1px);
      box-shadow: 0 2px 4px rgba(255, 92, 53, 0.12), 0 10px 24px rgba(255, 92, 53, 0.38);
    }
    .wri-h3__btn-p svg { transition: transform 220ms ease; }
    .wri-h3__btn-p:hover svg { transform: translateX(3px); }

    .wri-h3__btn-s,
    .wri-h3__btn-s:link,
    .wri-h3__btn-s:visited {
      background: #FFFFFF !important;
      color: var(--wri-ink) !important;
      border: 1.5px solid var(--wri-line-strong) !important;
    }
    .wri-h3__btn-s:hover,
    .wri-h3__btn-s:focus-visible {
      background: var(--wri-bg-soft) !important;
      color: var(--wri-ink) !important;
      border-color: var(--wri-ink) !important;
      transform: translateY(-1px);
    }
    .wri-h3__btn-s svg { color: var(--wri-solaris); transition: transform 220ms ease; }
    .wri-h3__btn-s:hover svg { transform: translateY(2px); }

    .wri-h3__btn-p:focus-visible,
    .wri-h3__btn-s:focus-visible {
      outline: 2px solid var(--wri-solaris);
      outline-offset: 3px;
    }

    /* ===== Trust row ===== */
    .wri-h3__trust {
      display: flex;
      align-items: center;
      gap: 18px;
      margin-top: 28px;
      flex-wrap: wrap;
    }
    .wri-h3__trust-item {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      font-size: 13px;
      color: var(--wri-text) !important;
      font-weight: 500;
    }
    .wri-h3__trust-item svg { color: var(--wri-solaris); flex-shrink: 0; }
    .wri-h3__trust-stars { display: inline-flex; gap: 1px; }
    .wri-h3__trust-stars svg { width: 13px; height: 13px; fill: #F5A524; color: #F5A524; }

    /* ===== RIGHT: PHOTO ===== */
    .wri-h3__visual { position: relative; display: block; }

    .wri-h3__photo {
      position: relative;
      margin: 0;
      aspect-ratio: 4 / 5;
      border-radius: 24px;
      overflow: hidden;
      background: #1A2A3E; /* dark navy fallback so the box isn't pure black if image fails */
      box-shadow:
        0 1px 2px rgba(10, 10, 20, 0.06),
        0 8px 24px -8px rgba(10, 10, 20, 0.18),
        0 32px 64px -24px rgba(10, 10, 20, 0.32);
      transform: translateZ(0);
      transition: transform 600ms ease, box-shadow 600ms ease;
    }
    .wri-h3__photo:hover { transform: translateY(-4px); }
    .wri-h3__photo:hover .wri-h3__photo-img { transform: scale(1.025); }

    .wri-h3__photo-img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
      transition: transform 1200ms ease;
    }

    .wri-h3__photo-overlay {
      position: absolute;
      inset: 0;
      pointer-events: none;
      background:
        linear-gradient(180deg, rgba(10, 10, 20, 0) 55%, rgba(10, 10, 20, 0.42) 100%),
        linear-gradient(90deg, rgba(10, 10, 20, 0.18) 0%, rgba(10, 10, 20, 0) 40%);
    }

    /* Top-left timing chip */
    .wri-h3__chip {
      position: absolute;
      top: 22px;
      left: 22px;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 10px 16px;
      background: rgba(255, 255, 255, 0.96);
      -webkit-backdrop-filter: blur(16px) saturate(180%);
              backdrop-filter: blur(16px) saturate(180%);
      border: 1px solid rgba(255, 255, 255, 0.6);
      border-radius: 999px;
      box-shadow: 0 8px 24px -8px rgba(10, 10, 20, 0.32);
      z-index: 2;
    }
    .wri-h3__chip-icon {
      width: 28px; height: 28px;
      border-radius: 50%;
      background: var(--wri-solaris);
      display: grid;
      place-items: center;
      flex-shrink: 0;
    }
    .wri-h3__chip-icon svg { color: #FFFFFF; }
    .wri-h3__chip-text { display: flex; flex-direction: column; line-height: 1.15; }
    .wri-h3__chip-num {
      font-family: 'Playfair Display', Georgia, serif !important;
      font-size: 15px;
      font-weight: 700;
      color: var(--wri-ink) !important;
      letter-spacing: -0.01em;
    }
    .wri-h3__chip-lbl {
      font-size: 10.5px;
      font-weight: 600;
      color: var(--wri-text-muted) !important;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      margin-top: 1px;
    }

    /* Bottom-right review card */
    .wri-h3__review {
      position: absolute;
      bottom: -28px;
      right: -20px;
      width: min(300px, 78%);
      padding: 18px 20px;
      background: #FFFFFF;
      border: 1px solid var(--wri-line);
      border-radius: 18px;
      box-shadow: 0 2px 4px rgba(10, 10, 20, 0.04), 0 16px 40px -12px rgba(10, 10, 20, 0.22);
      z-index: 3;
    }
    .wri-h3__review-stars { display: flex; gap: 2px; margin-bottom: 8px; }
    .wri-h3__review-stars svg { width: 14px; height: 14px; fill: #F5A524; color: #F5A524; }
    .wri-h3__review-quote {
      font-size: 14px;
      line-height: 1.5;
      color: var(--wri-ink-3) !important;
      margin: 0 0 12px;
      font-weight: 500;
    }
    .wri-h3__review-author {
      display: flex;
      align-items: center;
      gap: 10px;
      padding-top: 12px;
      border-top: 1px solid var(--wri-line);
    }
    .wri-h3__review-avatar {
      width: 32px; height: 32px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--wri-solaris) 0%, var(--wri-solaris-light) 100%);
      display: grid;
      place-items: center;
      color: #FFFFFF !important;
      font-family: 'Playfair Display', Georgia, serif !important;
      font-weight: 600;
      font-size: 13px;
      flex-shrink: 0;
    }
    .wri-h3__review-meta { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
    .wri-h3__review-name { font-size: 13px; font-weight: 600; color: var(--wri-ink) !important; }
    .wri-h3__review-loc { font-size: 12px; color: var(--wri-text-muted) !important; margin-top: 2px; }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 1024px) {
      .wri-h3__inner { grid-template-columns: 1fr; text-align: center; gap: 56px; }
      .wri-h3__sub { margin-left: auto; margin-right: auto; }
      .wri-h3__stats { margin-left: auto; margin-right: auto; }
      .wri-h3__ctas { justify-content: center; }
      .wri-h3__trust { justify-content: center; }
      .wri-h3__title em::after { display: none; }
      .wri-h3__visual { max-width: 560px; margin: 0 auto; }
      .wri-h3__photo { aspect-ratio: 4 / 3; }
      .wri-h3__review { right: 16px; bottom: -24px; width: min(290px, 88%); }
    }
    @media (max-width: 640px) {
      .wri-h3 { padding-bottom: 80px; }
      .wri-h3__stats {
        grid-template-columns: 1fr 1fr;
        gap: 18px 0;
        max-width: 100%;
      }
      .wri-h3__stat:nth-child(2)::after { display: none; }
      .wri-h3__stat:nth-child(3) {
        grid-column: 1 / -1;
        padding: 16px 0 0;
        border-top: 1px solid var(--wri-line);
      }
      .wri-h3__btn-p, .wri-h3__btn-s { width: 100%; justify-content: center; }
      .wri-h3__chip { top: 14px; left: 14px; padding: 8px 12px; }
      .wri-h3__chip-num { font-size: 14px; }
      .wri-h3__review {
        position: relative;
        bottom: auto;
        right: auto;
        width: 100%;
        margin-top: 16px;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .wri-h3__photo, .wri-h3__photo-img,
      .wri-h3__btn-p, .wri-h3__btn-s,
      .wri-h3__btn-p svg, .wri-h3__btn-s svg { transition: none; }
      .wri-h3__eyebrow-dot { animation: none; }
    }
/* ============================================================================
   WRIGHT'S — HOMEPAGE / SITEWIDE SECTION STYLES  (Path B, token-driven)
   ----------------------------------------------------------------------------
   PASTE into WPCode: CSS Snippet, Site Wide Header, Auto Insert.
   Markup (no <style>) lives in Kadence patterns / global blocks.
   Dark sections (Process, What's-included) are trio-proofed: their text colors
   are locked with section-scoped selectors so the active Dark-fix trio
   (6719/6720/6721) can't override them.
   ============================================================================ */


/* ============================================================================
   [01-counties.html]  .wri-h3-counties  —  Counties grid
   ============================================================================ */
.wri-h3-counties,
    .wri-h3-counties *,
    .wri-h3-counties *::before,
    .wri-h3-counties *::after {
      text-shadow: none !important;
      box-sizing: border-box;
    }
    .wri-h3-counties {
      position: relative;
      background: linear-gradient(180deg, var(--wri-seam) 0%, var(--wri-bg-warm) 6%, var(--wri-bg-warm) 94%, var(--wri-seam) 100%);
      padding: clamp(64px, 9vw, 128px) clamp(20px, 5vw, 56px);
      font-family: var(--wri-sans);
    }

    .wri-h3-counties__inner { max-width: 1320px; margin: 0 auto; }
    .wri-h3-counties__header { max-width: 720px; margin: 0 auto 56px; text-align: center; }
    .wri-h3-counties__eyebrow { display: inline-block; font-size: 12px; font-weight: 700; color: var(--wri-solaris) !important; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 18px; }
    .wri-h3-counties__title { font-family: var(--wri-serif) !important; font-size: clamp(2rem, 4vw, 3rem); font-weight: 600 !important; line-height: 1.1 !important; letter-spacing: -0.02em; color: var(--wri-ink) !important; margin: 0 0 18px; text-wrap: balance; }
    .wri-h3-counties__sub { font-size: 1.0625rem; line-height: 1.55; color: var(--wri-text) !important; margin: 0; text-wrap: pretty; }
    .wri-h3-counties__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
    .wri-h3-counties__card { position: relative; background: #FFFFFF; border: 1px solid var(--wri-line); border-radius: 18px; padding: 28px 26px 24px; overflow: hidden; transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease; }
    .wri-h3-counties__card:hover { transform: translateY(-3px); box-shadow: 0 12px 32px -16px rgba(10,10,20,0.18); border-color: var(--wri-line-strong); }
    .wri-h3-counties__bar { position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--wri-solaris); }
    .wri-h3-counties__card--wayne .wri-h3-counties__bar { background: #1E3A5F; }
    .wri-h3-counties__card--oakland .wri-h3-counties__bar { background: #7A8F3E; }
    .wri-h3-counties__card--livingston .wri-h3-counties__bar { background: #B8763E; }
    .wri-h3-counties__card--monroe .wri-h3-counties__bar { background: #6B7A8F; }
    .wri-h3-counties__card--macomb .wri-h3-counties__bar { background: #8E6F94; }
    .wri-h3-counties__icon { width: 38px; height: 38px; border-radius: 10px; background: var(--wri-solaris-soft); display: grid; place-items: center; margin-bottom: 18px; }
    .wri-h3-counties__icon svg { color: var(--wri-solaris); }
    .wri-h3-counties__name { font-family: var(--wri-serif) !important; font-size: 1.375rem; font-weight: 600; color: var(--wri-ink) !important; margin: 0 0 4px; letter-spacing: -0.015em; }
    .wri-h3-counties__badge { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wri-solaris) !important; background: var(--wri-solaris-soft); padding: 3px 8px; border-radius: 4px; margin-bottom: 14px; }
    .wri-h3-counties__meta { font-size: 13px; color: var(--wri-text-muted) !important; margin: 0 0 16px; line-height: 1.45; }
    .wri-h3-counties__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
    .wri-h3-counties__chip, .wri-h3-counties__chip:link, .wri-h3-counties__chip:visited { display: inline-block; font-size: 12px; font-weight: 500; color: var(--wri-ink-3) !important; background: var(--wri-bg-chip); padding: 5px 11px; border-radius: 999px; text-decoration: none; transition: background 180ms ease, color 180ms ease; }
    .wri-h3-counties__chip:hover { background: var(--wri-solaris); color: #FFFFFF !important; }
    @media (max-width: 960px) { .wri-h3-counties__grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 600px) { .wri-h3-counties__grid { grid-template-columns: 1fr; } }

/* ============================================================================
   [02-services.html]  .wri-h3-svc  —  Services grid
   ============================================================================ */
.wri-h3-svc,
    .wri-h3-svc *,
    .wri-h3-svc *::before,
    .wri-h3-svc *::after {
      text-shadow: none !important;
      box-sizing: border-box;
    }
    .wri-h3-svc {
      position: relative;
      background: linear-gradient(180deg, var(--wri-seam) 0%, #FFFFFF 6%, #FFFFFF 94%, var(--wri-seam) 100%);
      padding: clamp(64px, 9vw, 128px) clamp(20px, 5vw, 56px);
      font-family: var(--wri-sans);
    }

    .wri-h3-svc__inner { max-width: 1320px; margin: 0 auto; }
    .wri-h3-svc__header { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; margin-bottom: 64px; align-items: end; }
    .wri-h3-svc__eyebrow { display: inline-block; font-size: 12px; font-weight: 700; color: var(--wri-solaris) !important; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 18px; }
    .wri-h3-svc__title { font-family: var(--wri-serif) !important; font-size: clamp(2.25rem, 4.4vw, 3.5rem); font-weight: 600 !important; line-height: 1.05 !important; letter-spacing: -0.022em; color: var(--wri-ink) !important; margin: 0; text-wrap: balance; }
    .wri-h3-svc__title em { font-style: italic; font-weight: 500; color: var(--wri-solaris) !important; }
    .wri-h3-svc__intro { font-size: 1.0625rem; line-height: 1.6; color: var(--wri-text) !important; margin: 0; text-wrap: pretty; }
    .wri-h3-svc__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .wri-h3-svc__card, .wri-h3-svc__card:link, .wri-h3-svc__card:visited { position: relative; display: block; background: var(--wri-bg-warm); border: 1px solid transparent; border-radius: 20px; padding: 32px 28px; text-decoration: none; overflow: hidden; transition: background 240ms ease, border-color 240ms ease, transform 240ms ease; }
    .wri-h3-svc__card:hover { background: #FFFFFF; border-color: var(--wri-solaris); transform: translateY(-4px); }
    /* --- Service icons as CSS backgrounds (sanitizer-proof) --- */
    .wri-h3-svc__icon { width: 56px; height: 56px; border-radius: 14px; background-color: #FFFFFF; border: 1px solid var(--wri-line); display: grid; place-items: center; margin-bottom: 22px; background-repeat: no-repeat; background-position: center; background-size: 26px 26px; transition: background-color 240ms ease, border-color 240ms ease; }
    .wri-h3-svc__card:hover .wri-h3-svc__icon { background-color: var(--wri-solaris); border-color: var(--wri-solaris); }
    .wri-h3-svc__icon--kitchen { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2021V8a2%202%200%200%201%202-2h14a2%202%200%200%201%202%202v13%27%2F%3E%3Cpath%20d%3D%27M3%2014h18M8%206V3M16%206V3M8%2017v2M16%2017v2%27%2F%3E%3C%2Fsvg%3E"); }
    .wri-h3-svc__card:hover .wri-h3-svc__icon--kitchen { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FFFFFF%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2021V8a2%202%200%200%201%202-2h14a2%202%200%200%201%202%202v13%27%2F%3E%3Cpath%20d%3D%27M3%2014h18M8%206V3M16%206V3M8%2017v2M16%2017v2%27%2F%3E%3C%2Fsvg%3E"); }
    .wri-h3-svc__icon--bath { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2012h16v5a3%203%200%200%201-3%203H7a3%203%200%200%201-3-3v-5z%27%2F%3E%3Cpath%20d%3D%27M6%2012V6a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202v6M7%2020l-1%202M17%2020l1%202%27%2F%3E%3C%2Fsvg%3E"); }
    .wri-h3-svc__card:hover .wri-h3-svc__icon--bath { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FFFFFF%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2012h16v5a3%203%200%200%201-3%203H7a3%203%200%200%201-3-3v-5z%27%2F%3E%3Cpath%20d%3D%27M6%2012V6a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202v6M7%2020l-1%202M17%2020l1%202%27%2F%3E%3C%2Fsvg%3E"); }
    .wri-h3-svc__icon--basement { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2021h18M5%2021V8l7-5%207%205v13%27%2F%3E%3Cpath%20d%3D%27M9%2021v-6h6v6%27%2F%3E%3C%2Fsvg%3E"); }
    .wri-h3-svc__card:hover .wri-h3-svc__icon--basement { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FFFFFF%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2021h18M5%2021V8l7-5%207%205v13%27%2F%3E%3Cpath%20d%3D%27M9%2021v-6h6v6%27%2F%3E%3C%2Fsvg%3E"); }
    .wri-h3-svc__icon--addition { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2021h7v-9h11v9M3%2012h7l3-9h8M14%2021V12%27%2F%3E%3C%2Fsvg%3E"); }
    .wri-h3-svc__card:hover .wri-h3-svc__icon--addition { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FFFFFF%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2021h7v-9h11v9M3%2012h7l3-9h8M14%2021V12%27%2F%3E%3C%2Fsvg%3E"); }
    .wri-h3-svc__icon--outdoor { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M2%2022V8l10-6%2010%206v14M6%2022v-9M18%2022v-9M2%2013h20%27%2F%3E%3C%2Fsvg%3E"); }
    .wri-h3-svc__card:hover .wri-h3-svc__icon--outdoor { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FFFFFF%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M2%2022V8l10-6%2010%206v14M6%2022v-9M18%2022v-9M2%2013h20%27%2F%3E%3C%2Fsvg%3E"); }
    .wri-h3-svc__icon--whole { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%209l9-7%209%207v12H3z%27%2F%3E%3Cpath%20d%3D%27M9%2021v-9h6v9M3%209h18%27%2F%3E%3C%2Fsvg%3E"); }
    .wri-h3-svc__card:hover .wri-h3-svc__icon--whole { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FFFFFF%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%209l9-7%209%207v12H3z%27%2F%3E%3Cpath%20d%3D%27M9%2021v-9h6v9M3%209h18%27%2F%3E%3C%2Fsvg%3E"); }
    .wri-h3-svc__name { font-family: var(--wri-serif) !important; font-size: 1.5rem; font-weight: 600; color: var(--wri-ink) !important; margin: 0 0 10px; letter-spacing: -0.015em; }
    .wri-h3-svc__desc { font-size: 14.5px; line-height: 1.55; color: var(--wri-text) !important; margin: 0 0 20px; }
    .wri-h3-svc__more { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 600; color: var(--wri-solaris) !important; letter-spacing: -0.005em; }
    .wri-h3-svc__more::after { content: "\2192"; font-size: 15px; line-height: 1; transition: transform 220ms ease; }
    .wri-h3-svc__card:hover .wri-h3-svc__more::after { transform: translateX(3px); }

    .wri-h3-svc__price { position: absolute; top: 24px; right: 24px; font-size: 11px; font-weight: 700; letter-spacing: 0.06em; color: var(--wri-text-muted) !important; text-transform: uppercase; }
    @media (max-width: 960px) { .wri-h3-svc__header { grid-template-columns: 1fr; gap: 24px; } .wri-h3-svc__grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 600px) { .wri-h3-svc__grid { grid-template-columns: 1fr; } }

/* ============================================================================
   [03-process.html]  .wri-h3-proc  —  Process timeline
   ============================================================================ */
.wri-h3-proc,
    .wri-h3-proc *,
    .wri-h3-proc *::before,
    .wri-h3-proc *::after {
      text-shadow: none !important;
      box-sizing: border-box;
    }
    .wri-h3-proc {
      position: relative;
      background: linear-gradient(180deg, #14141F 0%, var(--wri-ink) 7%, var(--wri-ink) 93%, #14141F 100%);
      padding: clamp(64px, 9vw, 128px) clamp(20px, 5vw, 56px);
      font-family: var(--wri-sans);
    }

    .wri-h3-proc { overflow: hidden; }
    .wri-h3-proc__inner { position: relative; max-width: 1320px; margin: 0 auto; }
    .wri-h3-proc__glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 60% 50% at 15% 10%, rgba(255,92,53,0.10), transparent 60%), radial-gradient(ellipse 50% 40% at 85% 90%, rgba(255,92,53,0.06), transparent 65%); }
    .wri-h3-proc__header { position: relative; max-width: 720px; margin: 0 auto 72px; text-align: center; }
    .wri-h3-proc__eyebrow { display: inline-block; font-size: 12px; font-weight: 700; color: var(--wri-solaris-light) !important; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 18px; }
    .wri-h3-proc__title { font-family: var(--wri-serif) !important; font-size: clamp(2.25rem, 4.4vw, 3.5rem); font-weight: 600 !important; line-height: 1.05 !important; letter-spacing: -0.022em; color: #FFFFFF !important; margin: 0 0 20px; text-wrap: balance; }
    .wri-h3-proc__sub { font-size: 1.0625rem; line-height: 1.6; color: #B6C0D2 !important; margin: 0; text-wrap: pretty; }
    .wri-h3-proc__steps { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; list-style: none; padding: 0; margin: 0; }
    .wri-h3-proc__steps::before { content: ''; position: absolute; top: 40px; left: 8%; right: 8%; height: 1px; background: repeating-linear-gradient(90deg, rgba(255,255,255,0.18) 0 6px, transparent 6px 14px); z-index: 0; }
    .wri-h3-proc__step { position: relative; z-index: 1; text-align: left; }
    .wri-h3-proc__num { width: 80px; height: 80px; border-radius: 50%; background: linear-gradient(135deg, var(--wri-solaris) 0%, var(--wri-solaris-hover) 100%); display: grid; place-items: center; font-family: var(--wri-serif) !important; font-size: 2rem; font-weight: 600; color: #FFFFFF !important; margin-bottom: 22px; box-shadow: 0 8px 24px -8px rgba(255,92,53,0.55); }
    .wri-h3-proc__when { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wri-solaris-light) !important; margin-bottom: 10px; }
    .wri-h3-proc__step-title { font-family: var(--wri-serif) !important; font-size: 1.375rem; font-weight: 600; color: #FFFFFF !important; margin: 0 0 12px; letter-spacing: -0.015em; }
    .wri-h3-proc__step-desc { font-size: 14.5px; line-height: 1.6; color: #B6C0D2 !important; margin: 0; }
    .wri-h3-proc__cta { position: relative; text-align: center; margin-top: 64px; }
    .wri-h3-proc__btn, .wri-h3-proc__btn:link, .wri-h3-proc__btn:visited { display: inline-flex; align-items: center; gap: 8px; padding: 16px 28px; background: var(--wri-solaris) !important; color: #FFFFFF !important; border-radius: 999px; font-size: 15px; font-weight: 600; text-decoration: none; box-shadow: 0 8px 24px -8px rgba(255,92,53,0.55); transition: background 220ms ease, transform 180ms ease; }
    .wri-h3-proc__btn:hover { background: var(--wri-solaris-hover) !important; transform: translateY(-1px); }
    .wri-h3-proc__btn svg { transition: transform 220ms ease; }
    .wri-h3-proc__btn:hover svg { transform: translateX(3px); }
    @media (max-width: 960px) { .wri-h3-proc__steps { grid-template-columns: repeat(2, 1fr); gap: 40px; } .wri-h3-proc__steps::before { display: none; } }
    @media (max-width: 540px) { .wri-h3-proc__steps { grid-template-columns: 1fr; } }

/* --- TRIO-PROOF GUARD for .wri-h3-proc (beats 6719/6720/6721 .wri-dark + :where()) --- */
.wri-h3-proc.wri-h3-proc :is(h1,h2,h3,h4,h5,h6) { color: #FFFFFF !important; }
.wri-h3-proc.wri-h3-proc :is(p, li, span, div, em, strong) { color: #B6C0D2 !important; }
.wri-h3-proc.wri-h3-proc [class*="__sub"],
.wri-h3-proc.wri-h3-proc [class*="__step-desc"] { color: #B6C0D2 !important; }
.wri-h3-proc.wri-h3-proc [class*="__list"] li { color: #E0E5EE !important; }
.wri-h3-proc.wri-h3-proc [class*="eyebrow"],
.wri-h3-proc.wri-h3-proc [class*="__when"] { color: #FF8865 !important; }
.wri-h3-proc.wri-h3-proc [class*="__num"] { color: #FFFFFF !important; }
.wri-h3-proc.wri-h3-proc a[class*="btn"],
.wri-h3-proc.wri-h3-proc a[class*="btn"] :is(span, svg) { color: #FFFFFF !important; }

/* ============================================================================
   [04-investment.html]  .wri-h3-inv  —  Investment guide
   ============================================================================ */
.wri-h3-inv,
    .wri-h3-inv *,
    .wri-h3-inv *::before,
    .wri-h3-inv *::after {
      text-shadow: none !important;
      box-sizing: border-box;
    }
    .wri-h3-inv {
      position: relative;
      background: linear-gradient(180deg, var(--wri-seam) 0%, var(--wri-bg-chapati) 6%, var(--wri-bg-chapati) 94%, var(--wri-seam) 100%);
      padding: clamp(64px, 9vw, 128px) clamp(20px, 5vw, 56px);
      font-family: var(--wri-sans);
    }

    .wri-h3-inv__inner { max-width: 1080px; margin: 0 auto; }
    .wri-h3-inv__header { text-align: center; margin-bottom: 56px; }
    .wri-h3-inv__eyebrow { display: inline-block; font-size: 12px; font-weight: 700; color: var(--wri-solaris-deep) !important; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 18px; }
    .wri-h3-inv__title { font-family: var(--wri-serif) !important; font-size: clamp(2rem, 4vw, 3rem); font-weight: 600 !important; line-height: 1.08 !important; letter-spacing: -0.02em; color: var(--wri-ink) !important; margin: 0 0 18px; text-wrap: balance; }
    .wri-h3-inv__sub { font-size: 1.0625rem; line-height: 1.6; color: var(--wri-text) !important; margin: 0 auto; max-width: 620px; text-wrap: pretty; }
    .wri-h3-inv__table { background: #FFFFFF; border-radius: 18px; padding: 32px 36px; box-shadow: 0 16px 40px -16px rgba(10,10,20,0.12); }
    .wri-h3-inv__row { display: grid; grid-template-columns: 56px 1.6fr 2.4fr 1fr; gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--wri-line-warm); align-items: center; }
    .wri-h3-inv__row:last-child { border-bottom: none; }
    .wri-h3-inv__icon { width: 48px; height: 48px; border-radius: 12px; background: var(--wri-solaris-soft); display: grid; place-items: center; }
    .wri-h3-inv__icon svg { color: var(--wri-solaris); }
    .wri-h3-inv__cat { font-family: var(--wri-serif) !important; font-size: 1.125rem; font-weight: 600; color: var(--wri-ink) !important; margin: 0; letter-spacing: -0.01em; }
    .wri-h3-inv__range { position: relative; height: 8px; background: var(--wri-bg-chip); border-radius: 999px; overflow: hidden; }
    .wri-h3-inv__bar { position: absolute; height: 100%; background: linear-gradient(90deg, var(--wri-solaris-light) 0%, var(--wri-solaris) 100%); border-radius: 999px; }
    .wri-h3-inv__price { font-family: var(--wri-serif) !important; font-size: 0.95rem; font-weight: 600; color: var(--wri-ink) !important; text-align: right; letter-spacing: -0.005em; }
    .wri-h3-inv__price span { display: block; font-family: var(--wri-sans) !important; font-size: 11px; font-weight: 600; color: var(--wri-text-muted) !important; margin-top: 2px; text-transform: uppercase; letter-spacing: 0.04em; }
    .wri-h3-inv__note { text-align: center; margin: 32px auto 0; font-size: 13.5px; line-height: 1.55; color: var(--wri-text-muted) !important; max-width: 640px; }
    .wri-h3-inv__note a { color: var(--wri-solaris) !important; font-weight: 600; text-decoration: none; }
    @media (max-width: 720px) {
      .wri-h3-inv__table { padding: 24px 20px; }
      .wri-h3-inv__row { grid-template-columns: 44px 1fr; grid-template-rows: auto auto auto; gap: 12px 16px; padding: 18px 0; }
      .wri-h3-inv__icon { grid-row: 1; grid-column: 1; }
      .wri-h3-inv__cat { grid-row: 1; grid-column: 2; align-self: center; }
      .wri-h3-inv__range { grid-row: 2; grid-column: 1 / -1; margin-top: 4px; }
      .wri-h3-inv__price { grid-row: 3; grid-column: 1 / -1; text-align: left; }
      .wri-h3-inv__price span { display: inline; margin-left: 8px; }
    }

/* ============================================================================
   [05-differentiators.html]  .wri-h3-diff  —  Differentiators table
   ============================================================================ */
.wri-h3-diff,
    .wri-h3-diff *,
    .wri-h3-diff *::before,
    .wri-h3-diff *::after {
      text-shadow: none !important;
      box-sizing: border-box;
    }
    .wri-h3-diff {
      position: relative;
      background: linear-gradient(180deg, var(--wri-seam) 0%, #FFFFFF 6%, #FFFFFF 94%, var(--wri-seam) 100%);
      padding: clamp(64px, 9vw, 128px) clamp(20px, 5vw, 56px);
      font-family: var(--wri-sans);
    }

    .wri-h3-diff__inner { max-width: 1180px; margin: 0 auto; }
    .wri-h3-diff__header { text-align: center; margin: 0 auto 56px; max-width: 720px; }
    .wri-h3-diff__eyebrow { display: inline-block; font-size: 12px; font-weight: 700; color: var(--wri-solaris) !important; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 18px; }
    .wri-h3-diff__title { font-family: var(--wri-serif) !important; font-size: clamp(2rem, 4vw, 3rem); font-weight: 600 !important; line-height: 1.08 !important; letter-spacing: -0.02em; color: var(--wri-ink) !important; margin: 0 0 18px; text-wrap: balance; }
    .wri-h3-diff__title em { font-style: italic; color: var(--wri-solaris) !important; }
    .wri-h3-diff__sub { font-size: 1.0625rem; line-height: 1.6; color: var(--wri-text) !important; margin: 0; }
    .wri-h3-diff__table { border: 1px solid var(--wri-line); border-radius: 16px; overflow: hidden; }
    .wri-h3-diff__head { display: grid; grid-template-columns: 1.2fr 1.4fr 1.4fr; background: var(--wri-ink); }
    .wri-h3-diff__head-cell { padding: 20px 24px; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #FFFFFF !important; }
    .wri-h3-diff__head-cell:nth-child(2) { color: #B6C0D2 !important; }
    .wri-h3-diff__head-cell:nth-child(3) { color: var(--wri-solaris-light) !important; }
    .wri-h3-diff__row { display: grid; grid-template-columns: 1.2fr 1.4fr 1.4fr; border-top: 1px solid var(--wri-line); }
    .wri-h3-diff__row:nth-child(odd) { background: var(--wri-bg-warm); }
    .wri-h3-diff__cell { padding: 22px 24px; font-size: 14.5px; line-height: 1.5; }
    .wri-h3-diff__label { font-family: var(--wri-serif) !important; font-weight: 600; color: var(--wri-ink) !important; font-size: 1.0625rem; letter-spacing: -0.01em; }
    .wri-h3-diff__typical { color: var(--wri-text-muted) !important; }
    .wri-h3-diff__wrights { color: var(--wri-ink) !important; font-weight: 500; }
    .wri-h3-diff__check { display: inline-flex; align-items: center; gap: 6px; color: var(--wri-solaris) !important; font-weight: 600; margin-right: 6px; }
    .wri-h3-diff__check svg { color: var(--wri-solaris); }
    @media (max-width: 760px) {
      .wri-h3-diff__head { display: none; }
      .wri-h3-diff__row { grid-template-columns: 1fr; gap: 0; padding: 20px 0; border-top: 1px solid var(--wri-line); }
      .wri-h3-diff__cell { padding: 8px 24px; }
      .wri-h3-diff__cell:first-child { padding-top: 16px; padding-bottom: 4px; }
      .wri-h3-diff__typical::before { content: 'Typical: '; font-weight: 700; color: var(--wri-solaris-deep) !important; text-transform: uppercase; font-size: 11px; letter-spacing: 0.06em; display: block; margin-bottom: 4px; }
      .wri-h3-diff__wrights::before { content: 'Wright\2019 s: '; font-weight: 700; color: var(--wri-solaris) !important; text-transform: uppercase; font-size: 11px; letter-spacing: 0.06em; display: block; margin-bottom: 4px; }
    }

/* ============================================================================
   [06-faq.html]  .wri-h3-faq  —  FAQ accordion
   ============================================================================ */
.wri-h3-faq,
    .wri-h3-faq *,
    .wri-h3-faq *::before,
    .wri-h3-faq *::after {
      text-shadow: none !important;
      box-sizing: border-box;
    }
    .wri-h3-faq {
      position: relative;
      background: linear-gradient(180deg, var(--wri-seam) 0%, var(--wri-bg-warm) 6%, var(--wri-bg-warm) 94%, var(--wri-seam) 100%);
      padding: clamp(64px, 9vw, 128px) clamp(20px, 5vw, 56px);
      font-family: var(--wri-sans);
    }

    .wri-h3-faq__inner { max-width: 880px; margin: 0 auto; }
    .wri-h3-faq__header { text-align: center; margin-bottom: 56px; }
    .wri-h3-faq__eyebrow { display: inline-block; font-size: 12px; font-weight: 700; color: var(--wri-solaris) !important; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 18px; }
    .wri-h3-faq__title { font-family: var(--wri-serif) !important; font-size: clamp(2rem, 4vw, 3rem); font-weight: 600 !important; line-height: 1.08 !important; letter-spacing: -0.02em; color: var(--wri-ink) !important; margin: 0 0 18px; text-wrap: balance; }
    .wri-h3-faq__sub { font-size: 1.0625rem; line-height: 1.6; color: var(--wri-text) !important; margin: 0; }
    .wri-h3-faq__item { background: #FFFFFF; border: 1px solid var(--wri-line); border-radius: 14px; margin-bottom: 12px; overflow: hidden; transition: border-color 200ms ease; }
    .wri-h3-faq__item[open] { border-color: var(--wri-solaris); }
    .wri-h3-faq__q { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 26px; cursor: pointer; font-family: var(--wri-serif) !important; font-size: 1.125rem; font-weight: 600; color: var(--wri-ink) !important; letter-spacing: -0.01em; list-style: none; transition: color 200ms ease; }
    .wri-h3-faq__q::-webkit-details-marker { display: none; }
    .wri-h3-faq__item[open] .wri-h3-faq__q { color: var(--wri-solaris) !important; }
    .wri-h3-faq__plus { flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--wri-solaris-soft); display: grid; place-items: center; transition: background 240ms ease; }
    .wri-h3-faq__plus svg { color: var(--wri-solaris); transition: transform 240ms ease; }
    .wri-h3-faq__item[open] .wri-h3-faq__plus { background: var(--wri-solaris); }
    .wri-h3-faq__item[open] .wri-h3-faq__plus svg { color: #FFFFFF; transform: rotate(45deg); }
    .wri-h3-faq__a { padding: 0 26px 24px; font-size: 15.5px; line-height: 1.65; color: var(--wri-text) !important; }
    .wri-h3-faq__a a { color: var(--wri-solaris) !important; font-weight: 600; text-decoration: none; }
    .wri-h3-faq__a a:hover { text-decoration: underline; }
    .wri-h3-faq__footer { text-align: center; margin-top: 48px; padding: 36px; background: #FFFFFF; border-radius: 18px; border: 1px solid var(--wri-line); }
    .wri-h3-faq__footer-q { font-family: var(--wri-serif) !important; font-size: 1.25rem; font-weight: 600; color: var(--wri-ink) !important; margin: 0 0 16px; letter-spacing: -0.01em; }
    .wri-h3-faq__footer-btn, .wri-h3-faq__footer-btn:link, .wri-h3-faq__footer-btn:visited { display: inline-flex; align-items: center; gap: 8px; padding: 14px 24px; background: var(--wri-solaris) !important; color: #FFFFFF !important; border-radius: 999px; font-size: 14.5px; font-weight: 600; text-decoration: none; transition: background 220ms ease, transform 180ms ease; }
    .wri-h3-faq__footer-btn:hover { background: var(--wri-solaris-hover) !important; transform: translateY(-1px); }

/* ============================================================================
   [07-credentials.html]  .wri-h3-cred  —  Credentials grid
   ============================================================================ */
.wri-h3-cred,
    .wri-h3-cred *,
    .wri-h3-cred *::before,
    .wri-h3-cred *::after {
      text-shadow: none !important;
      box-sizing: border-box;
    }
    .wri-h3-cred {
      position: relative;
      background: linear-gradient(180deg, var(--wri-seam) 0%, #FFFFFF 6%, #FFFFFF 94%, var(--wri-seam) 100%);
      padding: clamp(64px, 9vw, 128px) clamp(20px, 5vw, 56px);
      font-family: var(--wri-sans);
    }

    .wri-h3-cred__inner { max-width: 1320px; margin: 0 auto; }
    .wri-h3-cred__header { text-align: center; margin-bottom: 56px; }
    .wri-h3-cred__eyebrow { display: inline-block; font-size: 12px; font-weight: 700; color: var(--wri-solaris) !important; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 18px; }
    .wri-h3-cred__title { font-family: var(--wri-serif) !important; font-size: clamp(1.875rem, 3.6vw, 2.5rem); font-weight: 600 !important; line-height: 1.1 !important; letter-spacing: -0.02em; color: var(--wri-ink) !important; margin: 0; text-wrap: balance; }
    .wri-h3-cred__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
    .wri-h3-cred__tile { display: flex; align-items: center; gap: 14px; padding: 18px 20px; background: var(--wri-bg-warm); border: 1px solid var(--wri-line-warm); border-radius: 14px; transition: background 200ms ease, border-color 200ms ease; }
    .wri-h3-cred__tile:hover { background: #FFFFFF; border-color: var(--wri-solaris); }
    .wri-h3-cred__icon { width: 40px; height: 40px; border-radius: 10px; background: var(--wri-solaris-soft); display: grid; place-items: center; flex-shrink: 0; }
    .wri-h3-cred__icon svg { color: var(--wri-solaris); }
    .wri-h3-cred__text { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
    .wri-h3-cred__name { font-size: 13.5px; font-weight: 700; color: var(--wri-ink) !important; margin-bottom: 2px; }
    .wri-h3-cred__meta { font-size: 11.5px; color: var(--wri-text-muted) !important; }
    @media (max-width: 960px) { .wri-h3-cred__grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 480px) { .wri-h3-cred__grid { grid-template-columns: 1fr; } }

/* ============================================================================
   [08-philosophy.html]  .wri-h3-philo  —  Design philosophy
   ============================================================================ */
.wri-h3-philo,
    .wri-h3-philo *,
    .wri-h3-philo *::before,
    .wri-h3-philo *::after {
      text-shadow: none !important;
      box-sizing: border-box;
    }
    .wri-h3-philo {
      position: relative;
      background: linear-gradient(180deg, var(--wri-seam) 0%, var(--wri-bg-oatmilk) 6%, var(--wri-bg-oatmilk) 94%, var(--wri-seam) 100%);
      padding: clamp(64px, 9vw, 128px) clamp(20px, 5vw, 56px);
      font-family: var(--wri-sans);
    }

    .wri-h3-philo__inner { max-width: 1180px; margin: 0 auto; }
    .wri-h3-philo__header { max-width: 820px; margin: 0 auto 64px; text-align: center; }
    .wri-h3-philo__eyebrow { display: inline-block; font-size: 12px; font-weight: 700; color: var(--wri-solaris-deep) !important; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 20px; }
    .wri-h3-philo__title { font-family: var(--wri-serif) !important; font-size: clamp(2.25rem, 4.6vw, 3.75rem); font-weight: 600 !important; line-height: 1.04 !important; letter-spacing: -0.024em; color: var(--wri-ink) !important; margin: 0; text-wrap: balance; }
    .wri-h3-philo__title em { font-style: italic; font-weight: 500; color: var(--wri-solaris) !important; }
    .wri-h3-philo__body { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; margin-bottom: 64px; }
    .wri-h3-philo__col h3 { font-family: var(--wri-serif) !important; font-size: 1.5rem; font-weight: 600; color: var(--wri-ink) !important; margin: 0 0 16px; letter-spacing: -0.015em; }
    .wri-h3-philo__col p { font-size: 1.0625rem; line-height: 1.65; color: var(--wri-text) !important; margin: 0 0 16px; text-wrap: pretty; }
    .wri-h3-philo__quote { max-width: 780px; margin: 0 auto 64px; padding: 36px 48px; background: #FFFFFF; border-left: 4px solid var(--wri-solaris); border-radius: 12px; box-shadow: 0 12px 32px -16px rgba(10,10,20,0.16); }
    .wri-h3-philo__quote-text { font-family: var(--wri-serif) !important; font-size: 1.375rem; font-style: italic; font-weight: 500; line-height: 1.45; color: var(--wri-ink) !important; margin: 0 0 18px; letter-spacing: -0.01em; }
    .wri-h3-philo__quote-attr { font-size: 13.5px; font-weight: 600; color: var(--wri-text-muted) !important; letter-spacing: 0.02em; }
    .wri-h3-philo__quote-attr span { color: var(--wri-solaris) !important; }
    .wri-h3-philo__tenets { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
    .wri-h3-philo__tenet { background: #FFFFFF; border: 1px solid var(--wri-line-warm); border-radius: 14px; padding: 24px; }
    .wri-h3-philo__tenet-num { font-family: var(--wri-serif) !important; font-size: 1.5rem; font-weight: 600; color: var(--wri-solaris) !important; margin-bottom: 8px; line-height: 1; }
    .wri-h3-philo__tenet-name { font-size: 14.5px; font-weight: 700; color: var(--wri-ink) !important; margin: 0 0 6px; }
    .wri-h3-philo__tenet-desc { font-size: 13px; line-height: 1.5; color: var(--wri-text-muted) !important; margin: 0; }
    @media (max-width: 760px) { .wri-h3-philo__body { grid-template-columns: 1fr; gap: 32px; } .wri-h3-philo__quote { padding: 28px 24px; } .wri-h3-philo__quote-text { font-size: 1.125rem; } .wri-h3-philo__tenets { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 440px) { .wri-h3-philo__tenets { grid-template-columns: 1fr; } }

/* ============================================================================
   [09-story.html]  .wri-h3-story  —  Our story
   ============================================================================ */
.wri-h3-story,
    .wri-h3-story *,
    .wri-h3-story *::before,
    .wri-h3-story *::after {
      text-shadow: none !important;
      box-sizing: border-box;
    }
    .wri-h3-story {
      position: relative;
      background: linear-gradient(180deg, var(--wri-seam) 0%, #FFFFFF 6%, #FFFFFF 94%, var(--wri-seam) 100%);
      padding: clamp(64px, 9vw, 128px) clamp(20px, 5vw, 56px);
      font-family: var(--wri-sans);
    }

    .wri-h3-story__inner { max-width: 1080px; margin: 0 auto; }
    .wri-h3-story__header { text-align: center; max-width: 720px; margin: 0 auto 64px; }
    .wri-h3-story__eyebrow { display: inline-block; font-size: 12px; font-weight: 700; color: var(--wri-solaris) !important; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 18px; }
    .wri-h3-story__title { font-family: var(--wri-serif) !important; font-size: clamp(2rem, 4vw, 3rem); font-weight: 600 !important; line-height: 1.08 !important; letter-spacing: -0.02em; color: var(--wri-ink) !important; margin: 0 0 18px; text-wrap: balance; }
    .wri-h3-story__sub { font-size: 1.0625rem; line-height: 1.6; color: var(--wri-text) !important; margin: 0; }
    .wri-h3-story__timeline { position: relative; padding-left: 32px; }
    .wri-h3-story__timeline::before { content: ''; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(180deg, var(--wri-solaris) 0%, var(--wri-solaris-pale) 100%); }
    .wri-h3-story__milestone { position: relative; padding-bottom: 36px; }
    .wri-h3-story__milestone:last-child { padding-bottom: 0; }
    .wri-h3-story__dot { position: absolute; left: -32px; top: 4px; width: 16px; height: 16px; border-radius: 50%; background: var(--wri-solaris); box-shadow: 0 0 0 4px var(--wri-solaris-soft); }
    .wri-h3-story__year { display: inline-block; font-family: var(--wri-serif) !important; font-size: 0.9rem; font-weight: 700; color: var(--wri-solaris) !important; margin-bottom: 6px; letter-spacing: 0.02em; }
    .wri-h3-story__milestone-title { font-family: var(--wri-serif) !important; font-size: 1.25rem; font-weight: 600; color: var(--wri-ink) !important; margin: 0 0 8px; letter-spacing: -0.012em; }
    .wri-h3-story__milestone-desc { font-size: 15px; line-height: 1.6; color: var(--wri-text) !important; margin: 0; max-width: 640px; }
    @media (max-width: 540px) { .wri-h3-story__timeline { padding-left: 24px; } .wri-h3-story__dot { left: -24px; width: 12px; height: 12px; } }

/* ============================================================================
   [10-whats-included.html]  .wri-h3-incl  —  What's included
   ============================================================================ */
.wri-h3-incl,
    .wri-h3-incl *,
    .wri-h3-incl *::before,
    .wri-h3-incl *::after {
      text-shadow: none !important;
      box-sizing: border-box;
    }
    .wri-h3-incl {
      position: relative;
      background: linear-gradient(180deg, #14141F 0%, var(--wri-ink) 7%, var(--wri-ink) 93%, #14141F 100%);
      padding: clamp(64px, 9vw, 128px) clamp(20px, 5vw, 56px);
      font-family: var(--wri-sans);
    }

    .wri-h3-incl { overflow: hidden; }
    .wri-h3-incl__inner { position: relative; max-width: 1180px; margin: 0 auto; }
    .wri-h3-incl__glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 50% 40% at 20% 20%, rgba(255,92,53,0.08), transparent 60%), radial-gradient(ellipse 50% 40% at 80% 80%, rgba(255,92,53,0.06), transparent 65%); }
    .wri-h3-incl__header { position: relative; text-align: center; margin: 0 auto 56px; max-width: 720px; }
    .wri-h3-incl__eyebrow { display: inline-block; font-size: 12px; font-weight: 700; color: var(--wri-solaris-light) !important; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 20px; }
    .wri-h3-incl__title { font-family: var(--wri-serif) !important; font-size: clamp(2rem, 4vw, 3rem); font-weight: 600 !important; line-height: 1.08 !important; letter-spacing: -0.02em; color: #FFFFFF !important; margin: 0 0 18px; text-wrap: balance; }
    .wri-h3-incl__sub { font-size: 1.0625rem; line-height: 1.6; color: #B6C0D2 !important; margin: 0; }
    .wri-h3-incl__grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
    .wri-h3-incl__col { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 18px; padding: 36px 32px; }
    .wri-h3-incl__col-eyebrow { display: flex; align-items: center; gap: 10px; font-size: 11.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wri-solaris-light) !important; margin-bottom: 14px; }
    .wri-h3-incl__col-eyebrow::after { content: ''; flex: 1; height: 1px; background: rgba(255,136,101,0.3); }
    .wri-h3-incl__col-title { font-family: var(--wri-serif) !important; font-size: 1.625rem; font-weight: 600; color: #FFFFFF !important; margin: 0 0 24px; letter-spacing: -0.015em; }
    .wri-h3-incl__list { list-style: none; padding: 0; margin: 0; }
    .wri-h3-incl__list li { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-top: 1px solid rgba(255,255,255,0.08); font-size: 15px; line-height: 1.55; color: #E0E5EE !important; }
    .wri-h3-incl__list li:first-child { border-top: none; padding-top: 0; }
    .wri-h3-incl__check { flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; background: var(--wri-solaris); display: grid; place-items: center; margin-top: 1px; }
    .wri-h3-incl__check svg { color: #FFFFFF; }
    .wri-h3-incl__footer { position: relative; text-align: center; margin-top: 56px; }
    .wri-h3-incl__btn, .wri-h3-incl__btn:link, .wri-h3-incl__btn:visited { display: inline-flex; align-items: center; gap: 8px; padding: 16px 28px; background: var(--wri-solaris) !important; color: #FFFFFF !important; border-radius: 999px; font-size: 15px; font-weight: 600; text-decoration: none; box-shadow: 0 8px 24px -8px rgba(255,92,53,0.55); transition: background 220ms ease, transform 180ms ease; }
    .wri-h3-incl__btn:hover { background: var(--wri-solaris-hover) !important; transform: translateY(-1px); }
    .wri-h3-incl__btn svg { transition: transform 220ms ease; }
    .wri-h3-incl__btn:hover svg { transform: translateX(3px); }
    @media (max-width: 760px) { .wri-h3-incl__grid { grid-template-columns: 1fr; } }

/* --- TRIO-PROOF GUARD for .wri-h3-incl (beats 6719/6720/6721 .wri-dark + :where()) --- */
.wri-h3-incl.wri-h3-incl :is(h1,h2,h3,h4,h5,h6) { color: #FFFFFF !important; }
.wri-h3-incl.wri-h3-incl :is(p, li, span, div, em, strong) { color: #B6C0D2 !important; }
.wri-h3-incl.wri-h3-incl [class*="__sub"],
.wri-h3-incl.wri-h3-incl [class*="__step-desc"] { color: #B6C0D2 !important; }
.wri-h3-incl.wri-h3-incl [class*="__list"] li { color: #E0E5EE !important; }
.wri-h3-incl.wri-h3-incl [class*="eyebrow"],
.wri-h3-incl.wri-h3-incl [class*="__when"] { color: #FF8865 !important; }
.wri-h3-incl.wri-h3-incl [class*="__num"] { color: #FFFFFF !important; }
.wri-h3-incl.wri-h3-incl a[class*="btn"],
.wri-h3-incl.wri-h3-incl a[class*="btn"] :is(span, svg) { color: #FFFFFF !important; }

/* ============================================================================
   SANITIZER-PROOF ICONS — all section icons as CSS data-URI backgrounds
   (markup carries empty divs + modifier classes; no inline <svg> to strip)
   ============================================================================ */
.wri-h3-counties__icon { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M21%2010c0%207-9%2013-9%2013s-9-6-9-13a9%209%200%200%201%2018%200z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:18px 18px; }
.wri-h3-inv__icon--kitchen { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M3%2021V8a2%202%200%200%201%202-2h14a2%202%200%200%201%202%202v13%22%2F%3E%3Cpath%20d%3D%22M3%2014h18M8%206V3M16%206V3%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:22px 22px; }
.wri-h3-inv__icon--bath { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M4%2012h16v5a3%203%200%200%201-3%203H7a3%203%200%200%201-3-3v-5z%22%2F%3E%3Cpath%20d%3D%22M6%2012V6a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202v6%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:22px 22px; }
.wri-h3-inv__icon--basement { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M3%2021h18M5%2021V8l7-5%207%205v13%22%2F%3E%3Cpath%20d%3D%22M9%2021v-6h6v6%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:22px 22px; }
.wri-h3-inv__icon--addition { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M3%2021h7v-9h11v9M3%2012h7l3-9h8M14%2021V12%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:22px 22px; }
.wri-h3-inv__icon--whole { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M3%209l9-7%209%207v12H3z%22%2F%3E%3Cpath%20d%3D%22M9%2021v-9h6v9%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:22px 22px; }
.wri-h3-diff__check { display:inline-block; width:14px; height:14px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%272.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpolyline%20points%3D%2220%206%209%2017%204%2012%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:contain; vertical-align:-2px; margin-right:6px; }
.wri-h3-faq__plus { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%272.4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M12%205v14M5%2012h14%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:14px 14px; }
.wri-h3-cred__icon--license { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M12%2022s8-4%208-12V5l-8-3-8%203v5c0%208%208%2012%208%2012z%22%2F%3E%3Cpath%20d%3D%22M9%2012l2%202%204-4%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:20px 20px; }
.wri-h3-cred__icon--epa { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M2%2012h6l2-3%204%206%202-3h6%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:20px 20px; }
.wri-h3-cred__icon--insured { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M9%2012l2%202%204-4%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:20px 20px; }
.wri-h3-cred__icon--google { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27%2523FF5C35%27%20stroke%3D%27none%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M12%202l3%207h7l-5.5%204.5L18%2021l-6-4-6%204%201.5-7.5L2%209h7z%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:20px 20px; }
.wri-h3-cred__icon--inc5000 { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpolyline%20points%3D%223%2017%209%2011%2013%2015%2021%207%22%2F%3E%3Cpolyline%20points%3D%2214%207%2021%207%2021%2014%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:20px 20px; }
.wri-h3-cred__icon--nari { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M20%2021v-2a4%204%200%200%200-3-3.87M4%2021v-2a4%204%200%200%201%203-3.87%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:20px 20px; }
.wri-h3-cred__icon--nahb { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M3%2021h18M5%2021V8l7-5%207%205v13%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:20px 20px; }
.wri-h3-cred__icon--bbb { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M13%202L3%2014h9l-1%208%2010-12h-9l1-8z%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:20px 20px; }
.wri-h3-incl__check { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FFFFFF%27%20stroke-width%3D%273.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpolyline%20points%3D%2220%206%209%2017%204%2012%22%2F%3E%3C%2Fsvg%3E"); background-repeat:no-repeat; background-position:center; background-size:11px 11px; }

/* --- Hero icons (sanitizer-proof) --- */
.wri-h3__star { display:inline-block; width:13px; height:13px; background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27%2523F5A524%27%20stroke%3D%27none%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%202l3%207h7l-5.5%204.5L18%2021l-6-4-6%204%201.5-7.5L2%209h7z%27%2F%3E%3C%2Fsvg%3E"); background-size:contain; background-repeat:no-repeat; }
.wri-h3__review-stars .wri-h3__star { width:14px; height:14px; }
.wri-h3__ic { display:inline-block; background-size:contain; background-repeat:no-repeat; background-position:center; }
.wri-h3__ic--shield { width:14px; height:14px; background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2022s8-4%208-12V5l-8-3-8%203v5c0%208%208%2012%208%2012z%27%2F%3E%3Cpath%20d%3D%27M9%2012l2%202%204-4%27%2F%3E%3C%2Fsvg%3E"); }
.wri-h3__ic--clock { width:14px; height:14px; background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FFFFFF%27%20stroke-width%3D%272.4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%279%27%2F%3E%3Cpath%20d%3D%27M12%207v5l3%202%27%2F%3E%3C%2Fsvg%3E"); }
.wri-h3__btn-p::after { content:""; display:inline-block; width:16px; height:16px; margin-left:2px; background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FFFFFF%27%20stroke-width%3D%272.4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2012h14M13%206l6%206-6%206%27%2F%3E%3C%2Fsvg%3E"); background-size:contain; background-repeat:no-repeat; transition:transform 220ms ease; }
.wri-h3__btn-p:hover::after { transform:translateX(3px); }
.wri-h3__btn-s::after { content:""; display:inline-block; width:14px; height:14px; margin-left:2px; background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FF5C35%27%20stroke-width%3D%272.4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%205v14M6%2013l6%206%206-6%27%2F%3E%3C%2Fsvg%3E"); background-size:contain; background-repeat:no-repeat; transition:transform 220ms ease; }
.wri-h3__btn-s:hover::after { transform:translateY(2px); }

/* --- CTA button arrows (process / faq / incl) --- */
.wri-h3-proc__btn::after, .wri-h3-faq__footer-btn::after, .wri-h3-incl__btn::after { content:""; display:inline-block; width:16px; height:16px; margin-left:6px; background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%2523FFFFFF%27%20stroke-width%3D%272.4%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2012h14M13%206l6%206-6%206%27%2F%3E%3C%2Fsvg%3E"); background-size:contain; background-repeat:no-repeat; vertical-align:-2px; transition:transform 220ms ease; }
.wri-h3-proc__btn:hover::after, .wri-h3-faq__footer-btn:hover::after, .wri-h3-incl__btn:hover::after { transform:translateX(3px); }
/* ============================================================================
   WRIGHT'S — HOMEPAGE ICON FIX v3  (base64-encoded, bulletproof)
   ----------------------------------------------------------------------------
   Reason for v3: percent-encoded data URIs were being mangled somewhere in the
   pipeline (likely Rocket.net cache or WPCode sanitizer re-encoding `%23` as
   `%2523`). Base64 contains zero special characters — no #, %, single quotes,
   or slashes that any sanitizer can touch. This is the most defensive possible
   encoding for inline SVG data URIs.
   
   INSTALL: REPLACE the previous icon fix block at the bottom of WPCode snippet
   6944 ("wri sections tokenized") with the contents of this file. Save snippet.
   Then PURGE the CDN cache (admin bar > CDN Cache > Purge Everything).
   ============================================================================ */

/* Every rule uses !important to win against any earlier broken rules in the same
   stylesheet, and against the wri-h3-*__icon SVG color setters in the original. */

/* --- SERVICES (6 icons + 6 hover variants) --- */
.wri-h3-svc__icon--kitchen { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMyAyMVY4YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnYxMycvPjxwYXRoIGQ9J00zIDE0aDE4TTggNlYzTTE2IDZWM004IDE3djJNMTYgMTd2MicvPjwvc3ZnPg==') !important; }
.wri-h3-svc__card:hover .wri-h3-svc__icon--kitchen { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMyAyMVY4YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnYxMycvPjxwYXRoIGQ9J00zIDE0aDE4TTggNlYzTTE2IDZWM004IDE3djJNMTYgMTd2MicvPjwvc3ZnPg==') !important; }
.wri-h3-svc__icon--bath { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNCAxMmgxNnY1YTMgMyAwIDAgMS0zIDNIN2EzIDMgMCAwIDEtMy0zdi01eicvPjxwYXRoIGQ9J002IDEyVjZhMiAyIDAgMCAxIDItMmgyYTIgMiAwIDAgMSAyIDJ2Nk03IDIwbC0xIDJNMTcgMjBsMSAyJy8+PC9zdmc+') !important; }
.wri-h3-svc__card:hover .wri-h3-svc__icon--bath { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNCAxMmgxNnY1YTMgMyAwIDAgMS0zIDNIN2EzIDMgMCAwIDEtMy0zdi01eicvPjxwYXRoIGQ9J002IDEyVjZhMiAyIDAgMCAxIDItMmgyYTIgMiAwIDAgMSAyIDJ2Nk03IDIwbC0xIDJNMTcgMjBsMSAyJy8+PC9zdmc+') !important; }
.wri-h3-svc__icon--basement { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMyAyMWgxOE01IDIxVjhsNy01IDcgNXYxMycvPjxwYXRoIGQ9J005IDIxdi02aDZ2NicvPjwvc3ZnPg==') !important; }
.wri-h3-svc__card:hover .wri-h3-svc__icon--basement { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMyAyMWgxOE01IDIxVjhsNy01IDcgNXYxMycvPjxwYXRoIGQ9J005IDIxdi02aDZ2NicvPjwvc3ZnPg==') !important; }
.wri-h3-svc__icon--addition { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMyAyMWg3di05aDExdjlNMyAxMmg3bDMtOWg4TTE0IDIxVjEyJy8+PC9zdmc+') !important; }
.wri-h3-svc__card:hover .wri-h3-svc__icon--addition { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMyAyMWg3di05aDExdjlNMyAxMmg3bDMtOWg4TTE0IDIxVjEyJy8+PC9zdmc+') !important; }
.wri-h3-svc__icon--outdoor { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMiAyMlY4bDEwLTYgMTAgNnYxNE02IDIydi05TTE4IDIydi05TTIgMTNoMjAnLz48L3N2Zz4=') !important; }
.wri-h3-svc__card:hover .wri-h3-svc__icon--outdoor { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMiAyMlY4bDEwLTYgMTAgNnYxNE02IDIydi05TTE4IDIydi05TTIgMTNoMjAnLz48L3N2Zz4=') !important; }
.wri-h3-svc__icon--whole { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMyA5bDktNyA5IDd2MTJIM3onLz48cGF0aCBkPSdNOSAyMXYtOWg2djlNMyA5aDE4Jy8+PC9zdmc+') !important; }
.wri-h3-svc__card:hover .wri-h3-svc__icon--whole { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMyA5bDktNyA5IDd2MTJIM3onLz48cGF0aCBkPSdNOSAyMXYtOWg2djlNMyA5aDE4Jy8+PC9zdmc+') !important; }

/* --- COUNTIES (one rule, all six cards) --- */
.wri-h3-counties__icon { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzIuMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMjEgMTBjMCA3LTkgMTMtOSAxM3MtOS02LTktMTNhOSA5IDAgMCAxIDE4IDB6Jy8+PGNpcmNsZSBjeD0nMTInIGN5PScxMCcgcj0nMycvPjwvc3ZnPg==') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 18px 18px !important; }

/* --- INVESTMENT (5 icons) --- */
.wri-h3-inv__icon--kitchen { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMyAyMVY4YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnYxMycvPjxwYXRoIGQ9J00zIDE0aDE4TTggNlYzTTE2IDZWMycvPjwvc3ZnPg==') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 22px 22px !important; }
.wri-h3-inv__icon--bath { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNCAxMmgxNnY1YTMgMyAwIDAgMS0zIDNIN2EzIDMgMCAwIDEtMy0zdi01eicvPjxwYXRoIGQ9J002IDEyVjZhMiAyIDAgMCAxIDItMmgyYTIgMiAwIDAgMSAyIDJ2NicvPjwvc3ZnPg==') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 22px 22px !important; }
.wri-h3-inv__icon--basement { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMyAyMWgxOE01IDIxVjhsNy01IDcgNXYxMycvPjxwYXRoIGQ9J005IDIxdi02aDZ2NicvPjwvc3ZnPg==') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 22px 22px !important; }
.wri-h3-inv__icon--addition { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMyAyMWg3di05aDExdjlNMyAxMmg3bDMtOWg4TTE0IDIxVjEyJy8+PC9zdmc+') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 22px 22px !important; }
.wri-h3-inv__icon--whole { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzEuNycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMyA5bDktNyA5IDd2MTJIM3onLz48cGF0aCBkPSdNOSAyMXYtOWg2djknLz48L3N2Zz4=') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 22px 22px !important; }

/* --- DIFFERENTIATORS check --- */
.wri-h3-diff__check { display: inline-block !important; width: 14px !important; height: 14px !important; background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzIuOCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMicvPjwvc3ZnPg==') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: contain !important; vertical-align: -2px !important; margin-right: 6px !important; }

/* --- FAQ plus --- */
.wri-h3-faq__plus { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzIuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMTIgNXYxNE01IDEyaDE0Jy8+PC9zdmc+') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 14px 14px !important; }

/* --- CREDENTIALS (8 icons) --- */
.wri-h3-cred__icon--license { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTEyIDIyczgtNCA4LTEyVjVsLTgtMy04IDN2NWMwIDggOCAxMiA4IDEyeicvPjxwYXRoIGQ9J005IDEybDIgMiA0LTQnLz48L3N2Zz4=') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 20px 20px !important; }
.wri-h3-cred__icon--epa { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTIgMTJoNmwyLTMgNCA2IDItM2g2Jy8+PC9zdmc+') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 20px 20px !important; }
.wri-h3-cred__icon--insured { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PGNpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nOScvPjxwYXRoIGQ9J005IDEybDIgMiA0LTQnLz48L3N2Zz4=') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 20px 20px !important; }
.wri-h3-cred__icon--google { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nI0ZGNUMzNScgc3Ryb2tlPSdub25lJz48cGF0aCBkPSdNMTIgMmwzIDdoN2wtNS41IDQuNUwxOCAyMWwtNi00LTYgNCAxLjUtNy41TDIgOWg3eicvPjwvc3ZnPg==') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 20px 20px !important; }
.wri-h3-cred__icon--inc5000 { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBvbHlsaW5lIHBvaW50cz0nMyAxNyA5IDExIDEzIDE1IDIxIDcnLz48cG9seWxpbmUgcG9pbnRzPScxNCA3IDIxIDcgMjEgMTQnLz48L3N2Zz4=') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 20px 20px !important; }
.wri-h3-cred__icon--nari { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PGNpcmNsZSBjeD0nMTInIGN5PSc4JyByPSc0Jy8+PHBhdGggZD0nTTIwIDIxdi0yYTQgNCAwIDAgMC0zLTMuODdNNCAyMXYtMmE0IDQgMCAwIDEgMy0zLjg3Jy8+PC9zdmc+') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 20px 20px !important; }
.wri-h3-cred__icon--nahb { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTMgMjFoMThNNSAyMVY4bDctNSA3IDV2MTMnLz48L3N2Zz4=') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 20px 20px !important; }
.wri-h3-cred__icon--bbb { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTEzIDJMMyAxNGg5bC0xIDggMTAtMTJoLTlsMS04eicvPjwvc3ZnPg==') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 20px 20px !important; }

/* --- WHAT'S INCLUDED check (white on dark) --- */
.wri-h3-incl__check { background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzMuMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMicvPjwvc3ZnPg==') !important; background-repeat: no-repeat !important; background-position: center !important; background-size: 11px 11px !important; }

/* --- HERO icons --- */
.wri-h3__star { display: inline-block !important; width: 13px !important; height: 13px !important; background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nI0Y1QTUyNCcgc3Ryb2tlPSdub25lJz48cGF0aCBkPSdNMTIgMmwzIDdoN2wtNS41IDQuNUwxOCAyMWwtNi00LTYgNCAxLjUtNy41TDIgOWg3eicvPjwvc3ZnPg==') !important; background-size: contain !important; background-repeat: no-repeat !important; }
.wri-h3__review-stars .wri-h3__star { width: 14px !important; height: 14px !important; }
.wri-h3__ic { display: inline-block !important; background-size: contain !important; background-repeat: no-repeat !important; background-position: center !important; }
.wri-h3__ic--shield { width: 14px !important; height: 14px !important; background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTEyIDIyczgtNCA4LTEyVjVsLTgtMy04IDN2NWMwIDggOCAxMiA4IDEyeicvPjxwYXRoIGQ9J005IDEybDIgMiA0LTQnLz48L3N2Zz4=') !important; }
.wri-h3__ic--clock  { width: 14px !important; height: 14px !important; background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzIuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48Y2lyY2xlIGN4PScxMicgY3k9JzEyJyByPSc5Jy8+PHBhdGggZD0nTTEyIDd2NWwzIDInLz48L3N2Zz4=') !important; }

/* --- BUTTON ARROWS --- */
.wri-h3__btn-p::after { content: '' !important; display: inline-block !important; width: 16px !important; height: 16px !important; margin-left: 2px !important; background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzIuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNSAxMmgxNE0xMyA2bDYgNi02IDYnLz48L3N2Zz4=') !important; background-size: contain !important; background-repeat: no-repeat !important; transition: transform 220ms ease !important; }
.wri-h3__btn-p:hover::after { transform: translateX(3px) !important; }
.wri-h3__btn-s::after { content: '' !important; display: inline-block !important; width: 14px !important; height: 14px !important; margin-left: 2px !important; background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkY1QzM1JyBzdHJva2Utd2lkdGg9JzIuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMTIgNXYxNE02IDEzbDYgNiA2LTYnLz48L3N2Zz4=') !important; background-size: contain !important; background-repeat: no-repeat !important; transition: transform 220ms ease !important; }
.wri-h3__btn-s:hover::after { transform: translateY(2px) !important; }
.wri-h3-proc__btn::after, .wri-h3-faq__footer-btn::after, .wri-h3-incl__btn::after { content: '' !important; display: inline-block !important; width: 16px !important; height: 16px !important; margin-left: 6px !important; background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjRkZGRkZGJyBzdHJva2Utd2lkdGg9JzIuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNSAxMmgxNE0xMyA2bDYgNi02IDYnLz48L3N2Zz4=') !important; background-size: contain !important; background-repeat: no-repeat !important; vertical-align: -2px !important; transition: transform 220ms ease !important; }
.wri-h3-proc__btn:hover::after, .wri-h3-faq__footer-btn:hover::after, .wri-h3-incl__btn:hover::after { transform: translateX(3px) !important; }

/* ============================================================================ */
/* ============================================================
   WRIGHT'S RENOVATIONS — Dark Section Text Fix v2
   ============================================================
   
   TWO PARTS — both go into WPCode as separate snippets:
     1. This CSS file  →  CSS Snippet, Site Wide Header
     2. The JS file    →  JS Snippet, Site Wide Footer
   
   The JS auto-detects dark backgrounds by computing luminance
   and adds .wri-dark to them. This CSS handles the rest.
   
   WCAG compliance:
     #FFFFFF on dark navy → 11:1+  (AAA)
     #F5F0EB on dark navy →  9:1+  (AAA)
     #FF5C35 on dark navy →  3.4:1 (AA large-text)
   ============================================================ */

:root {
  --wri-dk-heading:    #FFFFFF;
  --wri-dk-body:       #F5F0EB;
  --wri-dk-muted:      #C8C2BA;
  --wri-dk-link:       #FF5C35;
  --wri-dk-link-hover: #FF7A59;
  --wri-dk-border:     rgba(255, 255, 255, 0.15);
}

/* ---------- Headings ---------- */
.wri-dark h1,
.wri-dark h2,
.wri-dark h3,
.wri-dark h4,
.wri-dark h5,
.wri-dark h6,
.wri-dark .entry-title,
.wri-dark .kt-adv-heading {
  color: var(--wri-dk-heading) !important;
}

/* ---------- Body text ---------- */
.wri-dark p,
.wri-dark li,
.wri-dark td,
.wri-dark th,
.wri-dark dd,
.wri-dark dt,
.wri-dark span,
.wri-dark label,
.wri-dark figcaption,
.wri-dark blockquote,
.wri-dark cite,
.wri-dark address,
.wri-dark .entry-content,
.wri-dark .kt-inside-inner-col {
  color: var(--wri-dk-body) !important;
}

/* ---------- Bold / strong → white for pop ---------- */
.wri-dark strong,
.wri-dark b {
  color: var(--wri-dk-heading) !important;
}

/* ---------- Italic ---------- */
.wri-dark em,
.wri-dark i:not([class]) {
  color: var(--wri-dk-body) !important;
}

/* ---------- Muted / eyebrow / meta ---------- */
.wri-dark small,
.wri-dark .wp-block-post-date {
  color: var(--wri-dk-muted) !important;
}

/* ---------- Links (not buttons) ---------- */
.wri-dark a:not(.wp-block-button__link):not([class*="btn"]):not([class*="button"]):link,
.wri-dark a:not(.wp-block-button__link):not([class*="btn"]):not([class*="button"]):visited {
  color: var(--wri-dk-link) !important;
  text-decoration-color: rgba(255, 92, 53, 0.4) !important;
}
.wri-dark a:not(.wp-block-button__link):not([class*="btn"]):not([class*="button"]):hover,
.wri-dark a:not(.wp-block-button__link):not([class*="btn"]):not([class*="button"]):focus,
.wri-dark a:not(.wp-block-button__link):not([class*="btn"]):not([class*="button"]):active {
  color: var(--wri-dk-link-hover) !important;
  text-decoration-color: var(--wri-dk-link-hover) !important;
}

/* ---------- List markers ---------- */
.wri-dark ul li::marker,
.wri-dark ol li::marker {
  color: var(--wri-dk-muted) !important;
}

/* ---------- Borders / dividers ---------- */
.wri-dark hr {
  border-color: var(--wri-dk-border) !important;
}

/* ---------- Form inputs stay dark-on-white ---------- */
.wri-dark input,
.wri-dark textarea,
.wri-dark select {
  color: #1a1a2e !important;
  background-color: #fff !important;
}
.wri-dark ::placeholder {
  color: #8a8a9a !important;
}

/* ---------- Catch nested cards / inner containers ----------
   If a child element ALSO gets .wri-dark from the JS 
   (because it has its own dark bg), the rules above 
   already apply. This just handles card borders.
   -------------------------------------------------------- */
.wri-dark .wri-dark {
  border-color: var(--wri-dk-border) !important;
}
/* ============================================================
   WRIGHT'S RENOVATIONS — Dark Section Text Fix
   ============================================================
   Problem:  Dark navy text inherits into dark background 
             sections, creating near-zero contrast.
   Fix:      One snippet forces ADA-compliant light text on 
             every child element inside any dark container.
   
   WCAG AA compliance:
     • #FFFFFF on #2C3E50 → 11.5:1  (AAA pass)
     • #F5F0EB on #2C3E50 →  9.5:1  (AAA pass)
     • #FF5C35 on #2C3E50 →  3.4:1  (AA large-text pass)
   
   Install:  WPCode → Add Snippet → CSS Snippet → Site Wide
             OR  Appearance → Customize → Additional CSS
   ============================================================ */


/* --- Tokens --- */
:root {
  --wri-dk-heading:  #FFFFFF;            /* Headings on dark       */
  --wri-dk-body:     #F5F0EB;            /* Body / oatmeal on dark */
  --wri-dk-muted:    #C8C2BA;            /* Captions, small text   */
  --wri-dk-link:     #FF5C35;            /* Brand orange links     */
  --wri-dk-link-hover: #FF7A59;          /* Lighter orange hover   */
  --wri-dk-border:   rgba(255,255,255,.15);
}


/* --- Master dark-section selector ---
   Add YOUR dark sections here. The list below covers:
     • WordPress core   .has-dark-background
     • Kadence palette   palette 8 & 9 (typical dark slots)
     • Kadence rows      with bg overlay
     • Elementor         dark-bg utility
     • Manual utility    .wri-dark  (add to any section)
   
   To find more: Inspect → look at the outermost wrapper of 
   any dark section → grab its class → add it below.
   ----------------------------------------------------------- */
.has-dark-background,
.has-theme-palette8-background-color,
.has-theme-palette9-background-color,
[class*="has-palette-8"],
[class*="has-palette-9"],
.kb-row-layout-wrap.has-dark-background,
.kt-row-has-bg[style*="background-color:#2"],
.kt-row-has-bg[style*="background-color:#1"],
.kt-row-has-bg[style*="background-color: #2"],
.kt-row-has-bg[style*="background-color: #1"],
.elementor-section[data-settings*="dark"],
.e-con[style*="background-color:#2"],
.e-con[style*="background-color:#1"],
.wri-dark {

  /* ---- Headings ---- */
  & h1, & h2, & h3, & h4, & h5, & h6,
  & .entry-title,
  & .kt-adv-heading,
  & [class*="heading"] {
    color: var(--wri-dk-heading) !important;
  }

  /* ---- Body text (everything) ---- */
  & p, & li, & td, & th, & dd, & dt,
  & span, & div, & label, & figcaption,
  & blockquote, & cite, & address,
  & .entry-content, & .kt-inside-inner-col,
  & [class*="text"], & [class*="description"],
  & [class*="content"], & [class*="caption"],
  & [class*="subtitle"], & [class*="tagline"] {
    color: var(--wri-dk-body) !important;
  }

  /* ---- Bold / emphasis keep the same lightness ---- */
  & strong, & b {
    color: var(--wri-dk-heading) !important;
  }
  & em, & i:not([class]) {
    color: var(--wri-dk-body) !important;
  }

  /* ---- Muted / small text ---- */
  & small, & .wp-block-post-date,
  & .meta, & [class*="meta"],
  & [class*="eyebrow"], & [class*="kicker"],
  & [class*="overline"] {
    color: var(--wri-dk-muted) !important;
  }

  /* ---- Links ---- */
  & a:not(.wp-block-button__link):not([class*="btn"]):not([class*="button"]) {
    color: var(--wri-dk-link) !important;
    text-decoration-color: rgba(255, 92, 53, .4) !important;
    transition: color .2s ease, text-decoration-color .2s ease !important;
  }
  & a:not(.wp-block-button__link):not([class*="btn"]):not([class*="button"]):hover,
  & a:not(.wp-block-button__link):not([class*="btn"]):not([class*="button"]):focus {
    color: var(--wri-dk-link-hover) !important;
    text-decoration-color: var(--wri-dk-link-hover) !important;
  }

  /* ---- Lists: bullet / marker color ---- */
  & ul { list-style-type: disc; }
  & ul li::marker,
  & ol li::marker {
    color: var(--wri-dk-muted) !important;
  }

  /* ---- Borders & dividers ---- */
  & hr {
    border-color: var(--wri-dk-border) !important;
  }

  /* ---- Form elements inside dark sections ---- */
  & input, & textarea, & select {
    color: #1a1a2e !important;           /* keep inputs readable */
    background-color: #fff !important;
  }
  & ::placeholder {
    color: #8a8a9a !important;
  }
}


/* ============================================================
   FALLBACK: Broad catch-all for ANY dark inline background
   ============================================================
   This uses :where() for zero specificity so the rules above 
   win when both match. It catches sections where Kadence or 
   Elementor sets a dark background via inline style that 
   doesn't trigger the class-based selectors above.
   
   HOW IT WORKS: CSS can't read computed background-color, so 
   this targets the most common inline-style hex patterns for 
   dark colors (#1xxxxx, #2xxxxx, #3xxxxx).
   ============================================================ */
:where(
  [style*="background-color:#1"],
  [style*="background-color:#2"],
  [style*="background-color:#3"],
  [style*="background-color: #1"],
  [style*="background-color: #2"],
  [style*="background-color: #3"],
  [style*="background:#1"],
  [style*="background:#2"],
  [style*="background:#3"],
  [style*="background: #1"],
  [style*="background: #2"],
  [style*="background: #3"]
) {

  & h1, & h2, & h3, & h4, & h5, & h6 {
    color: var(--wri-dk-heading) !important;
  }

  & p, & li, & span, & div, & td, & th,
  & blockquote, & figcaption, & label,
  & strong, & em, & b, & i:not([class]),
  & small, & address, & cite, & dd, & dt {
    color: var(--wri-dk-body) !important;
  }

  & strong, & b {
    color: var(--wri-dk-heading) !important;
  }

  & a:not(.wp-block-button__link):not([class*="btn"]):not([class*="button"]) {
    color: var(--wri-dk-link) !important;
  }
  & a:not(.wp-block-button__link):not([class*="btn"]):not([class*="button"]):hover,
  & a:not(.wp-block-button__link):not([class*="btn"]):not([class*="button"]):focus {
    color: var(--wri-dk-link-hover) !important;
  }
}


/* ============================================================
   SAFETY: Don't bleed into light sections
   ============================================================
   If a light-background section is nested inside a dark one,
   reset text back to dark. Adjust selectors as needed.
   ============================================================ */
.has-light-background,
.has-theme-palette1-background-color,
.has-theme-palette2-background-color,
.wri-light,
:where(
  [style*="background-color:#f"],
  [style*="background-color:#e"],
  [style*="background-color:#d"],
  [style*="background-color: #f"],
  [style*="background-color: #e"],
  [style*="background-color: #d"],
  [style*="background-color:white"],
  [style*="background-color: white"],
  [style*="background:#f"],
  [style*="background:#e"],
  [style*="background: #f"],
  [style*="background: #e"]
) {
  & h1, & h2, & h3, & h4, & h5, & h6 { color: revert !important; }
  & p, & li, & span, & div, & td, & th,
  & blockquote, & strong, & em, & b, & small,
  & label, & figcaption, & address, & cite { color: revert !important; }
  & a:not([class*="btn"]):not([class*="button"]) { color: revert !important; }
}
.wri-ref{
  --wri-orange-50:#FFF1ED;
  --wri-orange-100:#FFE0D5;
  --wri-orange-200:#FFC2A8;
  --wri-orange-300:#FF9F75;
  --wri-orange-400:#FF7D4D;
  --wri-orange-500:#FF5C35;
  --wri-orange-600:#E54824;
  --wri-orange-700:#C03917;
  --wri-orange-800:#8F2A10;
  --wri-orange-900:#5C1A09;
  --wri-cream-50:#FDFCF8;
  --wri-cream-100:#FAF6EE;
  --wri-cream-200:#F4ECDB;
  --wri-sand-300:#E8DBC0;
  --wri-sand-400:#D6C39E;
  --wri-ink-50:#F7F8FB;
  --wri-ink-100:#EDF0F5;
  --wri-ink-200:#DDE3EC;
  --wri-ink-300:#BCC5D4;
  --wri-ink-400:#94A2B8;
  --wri-ink-500:#6B7B96;
  --wri-ink-600:#4A5C7A;
  --wri-ink-700:#2D3E5C;
  --wri-ink-800:#1A2940;
  --wri-ink-900:#0A1628;
  --wri-success-50:#ECF7F1;
  --wri-success-500:#2E7D5B;
  --wri-warning-50:#FBF3E5;
  --wri-warning-500:#C77B1A;
  --wri-error-50:#FBECEC;
  --wri-error-500:#B83333;
  --wri-info-50:#EAF0F7;
  --wri-info-500:#2C5E8E;
  --wri-accessible-orange:var(--wri-orange-700);
  --wri-body:var(--wri-ink-700);
  --wri-muted:var(--wri-ink-500);
  --wri-hairline:rgba(10,22,40,.10);
  --wri-font-display:"Playfair Display",Georgia,serif;
  --wri-font-body:"DM Sans",system-ui,sans-serif;
  --wri-font-mono:"JetBrains Mono",Menlo,monospace;
  --wri-radius-md:8px;
  --wri-radius-lg:12px;
  --wri-radius-xl:18px;
  --wri-radius-2xl:24px;
  --wri-shadow-xs:0 1px 2px rgba(10,22,40,.06);
  --wri-shadow-sm:0 2px 6px rgba(10,22,40,.07);
  --wri-shadow-md:0 6px 18px rgba(10,22,40,.08);
  --wri-shadow-lg:0 14px 40px rgba(10,22,40,.10);
  --wri-shadow-xl:0 28px 70px rgba(10,22,40,.13);
  --ease:cubic-bezier(.2,.7,.2,1);
  --wri-radius-full:999px;
  --wri-hairline-dark:rgba(254,244,234,.14);
}
html{scroll-behavior:smooth;scroll-padding-top:20px;}
.wri-ref .wrap{display:flex;align-items:flex-start;}
.wri-ref .sidebar{position:sticky;top:0;height:100vh;flex:0 0 278px;width:278px;background:var(--wri-ink-900);color:#fff;overflow-y:auto;padding:26px 0 40px;}
.wri-ref .sidebar::-webkit-scrollbar{width:8px;}
.wri-ref .sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:8px;}
.wri-ref .sb-brand{display:flex;align-items:center;padding:0 24px 20px;border-bottom:1px solid rgba(254,244,234,.14);margin-bottom:14px;}
.wri-ref .sb-brand img{height:30px;display:block;}
.wri-ref .sb-group{font-family:var(--wri-font-mono);font-size:.62rem;letter-spacing:.18em;color:var(--wri-ink-400);padding:16px 24px 6px;}
.wri-ref .sb-link{display:flex;gap:10px;align-items:baseline;padding:6px 24px;color:var(--wri-ink-200);font-size:.85rem;text-decoration:none;border-left:2px solid transparent;transition:color .18s,background .18s;}
.wri-ref .sb-link .n{font-family:var(--wri-font-mono);font-size:.64rem;color:var(--wri-ink-500);width:20px;flex:0 0 20px;}
.wri-ref .sb-link:hover{color:#fff;background:rgba(255,255,255,.05);}
.wri-ref .sb-link.active{color:#fff;border-left-color:var(--wri-orange-500);background:rgba(255,92,53,.10);}
.wri-ref .sb-link.active .n{color:var(--wri-orange-400);}
.wri-ref .main{flex:1 1 auto;min-width:0;}
.wri-ref .topbar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px clamp(20px,4vw,56px);background:rgba(253,252,248,.85);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--wri-hairline);}
.wri-ref .topbar .t{font-family:var(--wri-font-mono);font-size:.7rem;letter-spacing:.14em;color:var(--wri-muted);}
.wri-ref .topbar .pill{font-family:var(--wri-font-mono);font-size:.66rem;letter-spacing:.06em;color:var(--wri-ink-600);background:var(--wri-cream-200);border:1px solid var(--wri-sand-300);border-radius:999px;padding:4px 12px;}
.wri-ref .copytoast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;background:var(--wri-ink-900);color:#fff;font-family:var(--wri-font-mono);font-size:.78rem;padding:10px 18px;border-radius:999px;box-shadow:var(--wri-shadow-lg);transition:opacity .2s,transform .2s;z-index:60;}
.wri-ref .copytoast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.wri-ref section.block{max-width:1160px;scroll-margin-top:60px;}
@media(max-width:1080px){.wri-ref .sidebar{display:none;}}
.wri-ref *,.wri-ref *::before,.wri-ref *::after{box-sizing:border-box;}
.wri-ref{margin:0;background:var(--wri-cream-50);color:var(--wri-body);font-family:var(--wri-font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
.wri-ref h1,.wri-ref h2,.wri-ref h3,.wri-ref h4,.wri-ref h5,.wri-ref h6{font-family:var(--wri-font-display);color:var(--wri-ink-900);line-height:1.1;margin:0;font-weight:600;letter-spacing:-.01em;}
.wri-ref p{margin:0 0 1em;}
.wri-ref ::selection{background:var(--wri-orange-200);color:var(--wri-ink-900);}
.wri-ref section.block{padding:clamp(48px,6vw,80px) clamp(20px,4vw,56px);border-bottom:1px solid var(--wri-hairline);max-width:1040px;}
.wri-ref .secnum{font-family:var(--wri-font-mono);font-size:.7rem;letter-spacing:.14em;color:var(--wri-muted);margin-bottom:12px;}
.wri-ref .block h2.title{font-size:clamp(2rem,3.4vw,2.9rem);margin-bottom:16px;max-width:22ch;}
.wri-ref .block .intro{font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--wri-ink-600);max-width:64ch;line-height:1.55;margin-bottom:32px;}
.wri-ref .lede{font-size:clamp(1.15rem,1.6vw,1.4rem);color:var(--wri-ink-600);max-width:62ch;line-height:1.5;}
.wri-ref .eyebrow{font-family:var(--wri-font-mono);font-weight:600;font-size:.72rem;letter-spacing:.18em;color:var(--wri-accessible-orange);margin:0 0 12px;display:block;}
.wri-ref .mono{font-family:var(--wri-font-mono);}
.wri-ref .card{background:#fff;border:1px solid var(--wri-ink-200);border-radius:var(--wri-radius-xl);box-shadow:var(--wri-shadow-sm);}
.wri-ref .subhead{font-family:var(--wri-font-body);font-weight:600;font-size:1rem;color:var(--wri-ink-900);margin:32px 0 12px;}
.wri-ref .subhead + .subnote{font-size:.92rem;color:var(--wri-muted);margin:-6px 0 18px;max-width:66ch;}
.wri-ref .rule{background:var(--wri-cream-100);border-left:3px solid var(--wri-orange-500);border-radius:0 var(--wri-radius-md) var(--wri-radius-md) 0;padding:16px 20px;font-size:.95rem;color:var(--wri-ink-700);margin-top:28px;max-width:74ch;}
.wri-ref .rule b{color:var(--wri-ink-900);}
.wri-ref .grid{display:grid;gap:20px;}
.wri-ref .g2{grid-template-columns:repeat(2,1fr);}
.wri-ref .g3{grid-template-columns:repeat(3,1fr);}
.wri-ref .g4{grid-template-columns:repeat(4,1fr);}
.wri-ref .g5{grid-template-columns:repeat(5,1fr);}
.wri-ref .ramp{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;margin-bottom:24px;}
.wri-ref .ramp.small{grid-template-columns:repeat(5,1fr);}
.wri-ref .sw{border-radius:var(--wri-radius-md);overflow:hidden;border:1px solid var(--wri-hairline);cursor:pointer;background:#fff;transition:transform .15s var(--ease),box-shadow .15s var(--ease);}
.wri-ref .sw:hover{transform:translateY(-3px);box-shadow:var(--wri-shadow-md);}
.wri-ref .sw .chip{height:64px;}
.wri-ref .sw .meta{padding:8px 9px;}
.wri-ref .sw .meta .k{font-family:var(--wri-font-mono);font-size:.62rem;color:var(--wri-ink-500);}
.wri-ref .sw .meta .hex{font-family:var(--wri-font-mono);font-size:.66rem;color:var(--wri-ink-800);text-transform:uppercase;}
.wri-ref .pair{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.wri-ref .pairbox{border:1px solid var(--wri-hairline);border-radius:var(--wri-radius-lg);overflow:hidden;}
.wri-ref .pairbox .tone{height:52px;}
.wri-ref .pairbox .lab{padding:8px 10px;font-family:var(--wri-font-mono);font-size:.64rem;color:var(--wri-ink-700);}
.wri-ref .spec{border-top:1px solid var(--wri-hairline);padding:22px 0;display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:baseline;}
.wri-ref .spec .tag{font-family:var(--wri-font-mono);font-size:.68rem;color:var(--wri-muted);line-height:1.6;}
.wri-ref .spec .tag b{display:block;color:var(--wri-ink-800);font-weight:600;margin-bottom:2px;}
.wri-ref .d1{font-family:var(--wri-font-display);font-weight:500;font-size:clamp(3rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.02em;}
.wri-ref .d2{font-family:var(--wri-font-display);font-weight:500;font-size:clamp(2.4rem,4.4vw,3.4rem);line-height:1.05;letter-spacing:-.02em;}
.wri-ref .h1s{font-size:clamp(2rem,3.6vw,2.9rem);}
.wri-ref .h2s{font-size:clamp(1.7rem,2.8vw,2.3rem);}
.wri-ref .h3s{font-size:clamp(1.4rem,2.2vw,1.85rem);}
.wri-ref .h4s{font-family:var(--wri-font-body);font-weight:600;font-size:1.5rem;color:var(--wri-ink-900);}
.wri-ref .h5s{font-family:var(--wri-font-body);font-weight:600;font-size:1.22rem;color:var(--wri-ink-900);}
.wri-ref .h6s{font-family:var(--wri-font-body);font-weight:600;font-size:1.1rem;color:var(--wri-ink-900);}
.wri-ref .accent{font-style:italic;color:var(--wri-accessible-orange);}
.wri-ref .pull{font-family:var(--wri-font-display);font-style:italic;font-weight:400;font-size:clamp(1.5rem,2.4vw,2rem);color:var(--wri-ink-800);line-height:1.3;max-width:24ch;}
.wri-ref .tokrow{display:grid;grid-template-columns:1fr auto;gap:12px;padding:8px 0;border-top:1px solid var(--wri-hairline);font-family:var(--wri-font-mono);font-size:.78rem;}
.wri-ref .tokrow .k{color:var(--wri-ink-700);}
.wri-ref .tokrow .v{color:var(--wri-ink-500);}
.wri-ref .icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:12px;}
.wri-ref .ico{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border:1px solid var(--wri-hairline);border-radius:var(--wri-radius-lg);background:#fff;transition:border-color .15s,transform .15s var(--ease);}
.wri-ref .ico:hover{border-color:var(--wri-orange-300);transform:translateY(-2px);}
.wri-ref .ico svg{width:26px;height:26px;stroke:var(--wri-ink-800);fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;}
.wri-ref .ico span{font-family:var(--wri-font-mono);font-size:.64rem;color:var(--wri-ink-600);}
.wri-ref .copytoast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;background:var(--wri-ink-900);color:#fff;font-family:var(--wri-font-mono);font-size:.78rem;padding:10px 18px;border-radius:999px;box-shadow:var(--wri-shadow-lg);transition:opacity .2s,transform .2s var(--ease);z-index:60;}
.wri-ref .copytoast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.wri-ref .corecolors{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:0 0 8px;}
.wri-ref .cc{border:1px solid var(--wri-ink-200);border-radius:var(--wri-radius-lg);overflow:hidden;background:#fff;cursor:pointer;transition:transform .15s var(--ease),box-shadow .15s var(--ease);}
.wri-ref .cc:hover{transform:translateY(-3px);box-shadow:var(--wri-shadow-md);}
.wri-ref .cc .ccsw{display:block;height:84px;}
.wri-ref .cc b{display:block;font-family:var(--wri-font-display);font-size:1.05rem;color:var(--wri-ink-900);padding:12px 14px 0;}
.wri-ref .cc .cchex{display:block;font-family:var(--wri-font-mono);font-size:.72rem;color:var(--wri-ink-600);padding:2px 14px 0;}
.wri-ref .cc .ccrole{display:block;font-size:.78rem;color:var(--wri-muted);padding:4px 14px 14px;line-height:1.35;}
.wri-ref .row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.wri-ref .wri-btn{font-family:var(--wri-font-body);font-weight:600;font-size:.98rem;border-radius:var(--wri-radius-full);padding:12px 24px;border:1.5px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .18s var(--ease),transform .12s var(--ease);line-height:1;}
.wri-ref .wri-btn:hover{transform:translateY(-1px);}
.wri-ref .wri-btn--primary{background:var(--wri-ink-900);color:#fff;}
.wri-ref .wri-btn--primary:hover{background:var(--wri-ink-800);}
.wri-ref .wri-btn--secondary{background:var(--wri-cream-100);color:var(--wri-ink-900);border-color:var(--wri-ink-200);}
.wri-ref .wri-btn--secondary:hover{background:var(--wri-cream-200);}
.wri-ref .wri-btn--outline{background:transparent;color:var(--wri-ink-900);border-color:var(--wri-ink-900);}
.wri-ref .wri-btn--outline:hover{background:var(--wri-ink-900);color:#fff;}
.wri-ref .wri-btn--ghost{background:transparent;color:var(--wri-ink-700);}
.wri-ref .wri-btn--ghost:hover{background:var(--wri-ink-100);}
.wri-ref .wri-btn--link{background:transparent;color:var(--wri-accessible-orange);padding:6px 2px;border-radius:0;}
.wri-ref .wri-btn--link:hover{color:var(--wri-orange-800);text-decoration:underline;transform:none;}
.wri-ref .wri-btn--sm{padding:9px 18px;font-size:.86rem;}
.wri-ref .wri-btn--lg{padding:16px 32px;font-size:1.05rem;}
.wri-ref .wri-btn--xl{padding:19px 40px;font-size:1.15rem;}
.wri-ref .wri-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.wri-ref .wri-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.wri-ref .ondark{background:var(--wri-ink-900);border-radius:var(--wri-radius-xl);padding:24px;}
.wri-ref .ondark .wri-btn--primary{background:#fff;color:var(--wri-ink-900);}
.wri-ref .ondark .wri-btn--primary:hover{background:var(--wri-cream-100);}
.wri-ref .ondark .wri-btn--secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}
.wri-ref .ondark .wri-btn--secondary:hover{background:#fff;color:var(--wri-ink-900);}
.wri-ref .ondark .wri-btn--outline{color:#fff;border-color:rgba(255,255,255,.55);}
.wri-ref .ondark .wri-btn--outline:hover{background:#fff;color:var(--wri-ink-900);}
.wri-ref .ondark .wri-btn--ghost{color:#fff;}
.wri-ref .ondark .wri-btn--ghost:hover{background:rgba(255,255,255,.12);}
.wri-ref .field{margin-bottom:12px;}
.wri-ref .field label{display:block;font-size:.82rem;font-weight:600;color:var(--wri-ink-800);margin-bottom:6px;}
.wri-ref .field input,.wri-ref .field select,.wri-ref .field textarea{width:100%;font-family:var(--wri-font-body);font-size:.95rem;color:var(--wri-ink-900);background:#fff;border:1.5px solid var(--wri-ink-300);border-radius:var(--wri-radius-md);padding:12px 14px;min-height:44px;transition:border-color .15s,box-shadow .15s;}
.wri-ref .field input:focus,.wri-ref .field select:focus,.wri-ref .field textarea:focus{outline:none;border-color:var(--wri-orange-500);box-shadow:0 0 0 3px var(--wri-orange-100);}
.wri-ref .field .hint{font-size:.76rem;color:var(--wri-muted);margin-top:5px;}
.wri-ref .field.is-error input{border-color:var(--wri-error-500);}
.wri-ref .field.is-error .hint{color:var(--wri-error-500);}
.wri-ref .field.is-ok input{border-color:var(--wri-success-500);}
.wri-ref .choice{display:flex;align-items:center;gap:10px;font-size:.92rem;color:var(--wri-ink-700);margin-bottom:10px;cursor:pointer;}
.wri-ref .choice input{width:18px;height:18px;min-height:0;accent-color:var(--wri-orange-500);}
.wri-ref .switch{position:relative;width:44px;height:26px;background:var(--wri-ink-300);border-radius:999px;transition:background .2s;flex:0 0 44px;cursor:pointer;}
.wri-ref .switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s var(--ease);box-shadow:var(--wri-shadow-xs);}
.wri-ref .switch.on{background:var(--wri-orange-500);}
.wri-ref .switch.on::after{transform:translateX(18px);}
.wri-ref .badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--wri-font-mono);font-size:.68rem;font-weight:500;padding:5px 11px;border-radius:999px;}
.wri-ref .badge--neutral{background:var(--wri-ink-100);color:var(--wri-ink-700);}
.wri-ref .badge--cream{background:var(--wri-cream-200);color:var(--wri-ink-700);border:1px solid var(--wri-sand-300);}
.wri-ref .badge--ok{background:var(--wri-success-50);color:var(--wri-success-500);}
.wri-ref .badge--warn{background:var(--wri-warning-50);color:var(--wri-warning-500);}
.wri-ref .badge--info{background:var(--wri-info-50);color:var(--wri-info-500);}
.wri-ref .badge--accent{background:var(--wri-orange-100);color:var(--wri-accessible-orange);}
.wri-ref .tag{display:inline-flex;font-size:.8rem;color:var(--wri-ink-700);background:var(--wri-ink-50);border:1px solid var(--wri-ink-200);border-radius:999px;padding:5px 12px;margin:0 6px 8px 0;}
.wri-ref .tag:hover{border-color:var(--wri-orange-400);color:var(--wri-accessible-orange);}
.wri-ref .avatar{border-radius:50%;background:var(--wri-orange-100);color:var(--wri-accessible-orange);display:inline-flex;align-items:center;justify-content:center;font-family:var(--wri-font-body);font-weight:600;flex:0 0 auto;}
.wri-ref .stack{display:flex;}
.wri-ref .stack .avatar{margin-left:-12px;}
.wri-ref .stack .avatar:first-child{margin-left:0;}
.wri-ref .breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.86rem;color:var(--wri-muted);font-family:var(--wri-font-mono);}
.wri-ref .breadcrumb a{color:var(--wri-ink-600);}
.wri-ref .breadcrumb .sep{color:var(--wri-ink-300);}
.wri-ref .pager{display:flex;gap:6px;align-items:center;}
.wri-ref .pager a{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--wri-ink-200);border-radius:var(--wri-radius-md);color:var(--wri-ink-700);font-size:.88rem;text-decoration:none;}
.wri-ref .pager a.on{background:var(--wri-ink-900);color:#fff;border-color:var(--wri-ink-900);}
.wri-ref .alert{display:flex;gap:12px;padding:14px 16px;border-radius:var(--wri-radius-lg);margin-bottom:12px;font-size:.9rem;border:1px solid;}
.wri-ref .alert b{display:block;color:var(--wri-ink-900);margin-bottom:2px;font-weight:600;}
.wri-ref .alert--info{background:var(--wri-info-50);border-color:#c9dcef;color:var(--wri-ink-700);}
.wri-ref .alert--ok{background:var(--wri-success-50);border-color:#c7e6d6;color:var(--wri-ink-700);}
.wri-ref .alert--warn{background:var(--wri-warning-50);border-color:#eddab0;color:var(--wri-ink-700);}
.wri-ref .alert--err{background:var(--wri-error-50);border-color:#eec6c6;color:var(--wri-ink-700);}
.wri-ref .alert .dot{width:9px;height:9px;border-radius:50%;margin-top:6px;flex:0 0 9px;}
.wri-ref .tip{display:inline-block;border-bottom:2px dotted var(--wri-orange-400);color:var(--wri-ink-900);font-weight:600;cursor:help;position:relative;}
.wri-ref .tip .bubble{position:absolute;bottom:130%;left:50%;transform:translateX(-50%) translateY(6px);opacity:0;pointer-events:none;background:var(--wri-ink-900);color:var(--wri-cream-100);font-weight:400;font-size:.8rem;line-height:1.4;padding:10px 12px;border-radius:var(--wri-radius-md);width:230px;box-shadow:var(--wri-shadow-lg);transition:opacity .18s,transform .18s var(--ease);z-index:5;}
.wri-ref .tip:hover .bubble{opacity:1;transform:translateX(-50%) translateY(0);}
.wri-ref .wcard{background:#fff;border:1px solid var(--wri-ink-200);border-radius:var(--wri-radius-xl);overflow:hidden;box-shadow:var(--wri-shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease);display:flex;flex-direction:column;}
.wri-ref .wcard:hover{transform:translateY(-4px);box-shadow:var(--wri-shadow-lg);}
.wri-ref .wcard .media{height:150px;background:linear-gradient(135deg,var(--wri-sand-300),var(--wri-cream-200));}
.wri-ref .wcard .media.dark{background:linear-gradient(135deg,var(--wri-ink-700),var(--wri-ink-900));}
.wri-ref .wcard .body{padding:24px;flex:1;display:flex;flex-direction:column;}
.wri-ref .wcard h4{font-family:var(--wri-font-display);font-size:1.28rem;line-height:1.2;margin:6px 0 8px;color:var(--wri-ink-900);}
.wri-ref .wcard p{font-size:.92rem;color:var(--wri-ink-600);margin:0 0 16px;}
.wri-ref .wcard .foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:.84rem;color:var(--wri-muted);border-top:1px solid var(--wri-hairline);padding-top:14px;}
.wri-ref .wcard .foot a{font-weight:600;color:var(--wri-accessible-orange);text-decoration:none;}
.wri-ref .statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.wri-ref .stat .num{font-family:var(--wri-font-display);font-weight:600;font-size:clamp(2.4rem,4vw,3.4rem);color:var(--wri-ink-900);line-height:1;}
.wri-ref .stat .num i{font-style:normal;color:var(--wri-accessible-orange);}
.wri-ref .stat .lab{font-family:var(--wri-font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--wri-muted);margin-top:10px;text-transform:uppercase;}
.wri-ref .stat .sub{font-size:.86rem;color:var(--wri-ink-500);margin-top:6px;}
.wri-ref .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.wri-ref .step{border-top:2px solid var(--wri-orange-500);padding-top:16px;}
.wri-ref .step .n{font-family:var(--wri-font-mono);font-size:.8rem;color:var(--wri-accessible-orange);}
.wri-ref .step h4{font-family:var(--wri-font-display);font-size:1.3rem;margin:6px 0 8px;color:var(--wri-ink-900);}
.wri-ref .step p{font-size:.9rem;color:var(--wri-ink-600);margin:0;}
.wri-ref .quote{background:var(--wri-cream-100);border-radius:var(--wri-radius-2xl);padding:48px;max-width:760px;}
.wri-ref .quote .q{font-family:var(--wri-font-display);font-style:italic;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.4;color:var(--wri-ink-800);margin:0 0 24px;}
.wri-ref .quote .attr{display:flex;align-items:center;gap:14px;}
.wri-ref .quote .attr .who b{color:var(--wri-ink-900);}
.wri-ref .quote .attr .who span{display:block;font-size:.84rem;color:var(--wri-muted);}
.wri-ref .tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start;}
.wri-ref .tier{background:#fff;border:1px solid var(--wri-ink-200);border-radius:var(--wri-radius-xl);padding:32px;box-shadow:var(--wri-shadow-sm);position:relative;}
.wri-ref .tier.feat{border-color:var(--wri-ink-900);box-shadow:var(--wri-shadow-lg);}
.wri-ref .tier .flag{position:absolute;top:-12px;left:24px;background:var(--wri-ink-900);color:#fff;font-family:var(--wri-font-mono);font-size:.64rem;padding:5px 12px;border-radius:999px;letter-spacing:.06em;}
.wri-ref .tier .name{font-family:var(--wri-font-display);font-size:1.5rem;color:var(--wri-ink-900);}
.wri-ref .tier .sub{font-size:.82rem;color:var(--wri-muted);margin-bottom:16px;}
.wri-ref .tier .price{font-family:var(--wri-font-display);font-size:2.2rem;color:var(--wri-ink-900);line-height:1;}
.wri-ref .tier .price small{font-family:var(--wri-font-body);font-size:.8rem;color:var(--wri-muted);display:block;margin-top:6px;font-weight:400;}
.wri-ref .tier ul{list-style:none;padding:0;margin:12px 0 20px;}
.wri-ref .tier li{font-size:.88rem;color:var(--wri-ink-700);padding:6px 0 6px 24px;position:relative;border-top:1px solid var(--wri-hairline);}
.wri-ref .tier li::before{content:"";position:absolute;left:0;top:11px;width:12px;height:7px;border-left:2px solid var(--wri-orange-500);border-bottom:2px solid var(--wri-orange-500);transform:rotate(-45deg);}
.wri-ref .faq{max-width:820px;}
.wri-ref .faq details{border-bottom:1px solid var(--wri-ink-200);padding:18px 0;}
.wri-ref .faq summary{font-family:var(--wri-font-display);font-size:1.2rem;color:var(--wri-ink-900);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;}
.wri-ref .faq summary::-webkit-details-marker{display:none;}
.wri-ref .faq summary::after{content:"+";font-family:var(--wri-font-body);color:var(--wri-accessible-orange);font-size:1.4rem;transition:transform .2s;}
.wri-ref .faq details[open] summary::after{content:"–";}
.wri-ref .faq p{margin:14px 0 0;color:var(--wri-ink-600);font-size:.95rem;}
.wri-ref .demolabel{font-family:var(--wri-font-mono);font-size:.66rem;letter-spacing:.06em;color:var(--wri-muted);margin:0 0 8px;}
.wri-ref .demoframe{border:1px solid var(--wri-ink-200);border-radius:var(--wri-radius-xl);overflow:hidden;box-shadow:var(--wri-shadow-sm);}
.wri-ref .siteheader{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 28px;background:rgba(253,252,248,.94);border-bottom:1px solid var(--wri-hairline);}
.wri-ref .siteheader img{height:34px;display:block;}
.wri-ref .siteheader .nav{display:flex;gap:22px;font-size:.9rem;}
.wri-ref .siteheader .nav a{color:var(--wri-ink-700);text-decoration:none;}
.wri-ref .siteheader .nav a:hover{color:var(--wri-ink-900);}
.wri-ref .siteheader .right{display:flex;align-items:center;gap:16px;}
.wri-ref .siteheader .ph{font-family:var(--wri-font-mono);font-size:.86rem;color:var(--wri-ink-800);}
.wri-ref .hero{padding:56px 44px;}
.wri-ref .hero-home{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;background:var(--wri-cream-50);}
.wri-ref .hero h1{font-family:var(--wri-font-display);font-size:clamp(2.4rem,4.4vw,3.7rem);line-height:1.02;letter-spacing:-.02em;color:var(--wri-ink-900);margin:12px 0 18px;}
.wri-ref .hero p{font-size:1.08rem;color:var(--wri-ink-600);max-width:52ch;}
.wri-ref .hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 16px;}
.wri-ref .hero .proof{font-family:var(--wri-font-mono);font-size:.78rem;color:var(--wri-muted);}
.wri-ref .hero .shot{aspect-ratio:4/3;border-radius:var(--wri-radius-2xl);background:linear-gradient(135deg,var(--wri-sand-400),var(--wri-cream-200));position:relative;box-shadow:var(--wri-shadow-lg);}
.wri-ref .hero .shot .cap{position:absolute;bottom:14px;left:14px;right:14px;font-family:var(--wri-font-mono);font-size:.62rem;color:var(--wri-ink-800);background:rgba(253,252,248,.85);padding:6px 10px;border-radius:8px;}
.wri-ref .hero-service{text-align:center;background:#fff;}
.wri-ref .hero-service h1,.wri-ref .hero-service p{margin-left:auto;margin-right:auto;}
.wri-ref .hero-location{background:var(--wri-ink-900);color:#fff;}
.wri-ref .hero-location h1{color:#fff;}
.wri-ref .hero-location p{color:var(--wri-ink-200);}
.wri-ref .hero-location .facts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px;border-top:1px solid var(--wri-hairline-dark);padding-top:22px;}
.wri-ref .hero-location .facts .f b{font-family:var(--wri-font-display);font-size:1.7rem;color:#fff;display:block;}
.wri-ref .hero-location .facts .f span{font-family:var(--wri-font-mono);font-size:.64rem;color:var(--wri-orange-400);}
.wri-ref .hero-blog{background:var(--wri-cream-50);}
.wri-ref .hero-blog h1{max-width:20ch;}
.wri-ref .hero-blog .byline{font-family:var(--wri-font-mono);font-size:.72rem;color:var(--wri-muted);margin-top:16px;}
.wri-ref .imgrow{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:40px 44px;}
.wri-ref .imgrow .shot{aspect-ratio:4/3;border-radius:var(--wri-radius-2xl);background:linear-gradient(135deg,var(--wri-sand-300),var(--wri-cream-100));box-shadow:var(--wri-shadow-md);}
.wri-ref .imgrow h3{font-family:var(--wri-font-display);font-size:clamp(1.6rem,2.6vw,2.2rem);color:var(--wri-ink-900);margin:8px 0 14px;}
.wri-ref .imgrow ul{list-style:none;padding:0;margin:0 0 18px;}
.wri-ref .imgrow li{padding:6px 0 6px 24px;position:relative;color:var(--wri-ink-700);font-size:.94rem;}
.wri-ref .imgrow li::before{content:"";position:absolute;left:0;top:11px;width:12px;height:7px;border-left:2px solid var(--wri-orange-500);border-bottom:2px solid var(--wri-orange-500);transform:rotate(-45deg);}
.wri-ref .ctaband{border-radius:var(--wri-radius-2xl);padding:52px;text-align:center;}
.wri-ref .ctaband.loud{background:var(--wri-ink-900);position:relative;overflow:hidden;}
.wri-ref .ctaband.loud::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--wri-orange-500);}
.wri-ref .ctaband.loud h3{color:#fff;font-size:clamp(1.8rem,3vw,2.6rem);margin:0 0 12px;}
.wri-ref .ctaband.loud p{color:var(--wri-ink-200);max-width:52ch;margin:0 auto 22px;}
.wri-ref .ctaband.quiet{background:var(--wri-cream-100);border:1px solid var(--wri-sand-300);}
.wri-ref .ctaband.quiet h3{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:0 0 12px;}
.wri-ref .ctaband.quiet p{color:var(--wri-ink-600);max-width:52ch;margin:0 auto 22px;}
.wri-ref .sitefooter{background:var(--wri-ink-900);color:var(--wri-cream-100);padding:48px;border-radius:var(--wri-radius-2xl);}
.wri-ref .sitefooter img{height:38px;display:block;margin-bottom:14px;}
.wri-ref .sitefooter .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
.wri-ref .sitefooter h5{font-family:var(--wri-font-mono);font-size:.68rem;letter-spacing:.12em;color:var(--wri-orange-400);text-transform:uppercase;margin:0 0 14px;}
.wri-ref .sitefooter a,.wri-ref .sitefooter li{color:var(--wri-cream-100);opacity:.82;font-size:.9rem;line-height:2;list-style:none;text-decoration:none;}
.wri-ref .sitefooter ul{padding:0;margin:0;}
.wri-ref .sitefooter .bottom{border-top:1px solid var(--wri-hairline-dark);margin-top:28px;padding-top:18px;font-family:var(--wri-font-mono);font-size:.72rem;color:var(--wri-ink-300);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.wri-ref .credstrip{display:flex;flex-wrap:wrap;gap:14px;}
.wri-ref .cred{border:1px solid var(--wri-ink-200);border-radius:var(--wri-radius-lg);padding:14px 18px;background:#fff;min-width:150px;}
.wri-ref .cred b{display:block;color:var(--wri-ink-900);font-family:var(--wri-font-body);font-size:.92rem;}
.wri-ref .cred span{font-family:var(--wri-font-mono);font-size:.66rem;color:var(--wri-muted);}
.wri-ref .aggr{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;background:var(--wri-cream-100);border-radius:var(--wri-radius-xl);padding:32px;max-width:640px;}
.wri-ref .aggr .big{text-align:center;}
.wri-ref .aggr .big .r{font-family:var(--wri-font-display);font-size:3rem;color:var(--wri-ink-900);line-height:1;}
.wri-ref .aggr .big .s{color:var(--wri-orange-500);letter-spacing:2px;}
.wri-ref .aggr .big .c{font-family:var(--wri-font-mono);font-size:.66rem;color:var(--wri-muted);margin-top:6px;}
.wri-ref .aggr .rev{border-left:1px solid var(--wri-sand-300);padding-left:24px;}
.wri-ref .aggr .rev p{font-style:italic;color:var(--wri-ink-700);font-size:.92rem;margin:0 0 8px;}
.wri-ref .licgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.wri-ref .lic{border:1px solid var(--wri-ink-200);border-radius:var(--wri-radius-lg);padding:16px;background:#fff;}
.wri-ref .lic .k{font-family:var(--wri-font-mono);font-size:.64rem;color:var(--wri-muted);}
.wri-ref .lic .v{font-family:var(--wri-font-display);font-size:1.3rem;color:var(--wri-ink-900);margin-top:4px;}
.wri-ref .tier .band{font-family:var(--wri-font-display);font-size:1.5rem;color:var(--wri-accessible-orange);margin:2px 0 4px;}
.wri-ref .tier p.d{font-size:.88rem;color:var(--wri-ink-600);margin:0 0 12px;}
.wri-ref .cmp{width:100%;border-collapse:collapse;font-size:.9rem;}
.wri-ref .cmp th,.wri-ref .cmp td{text-align:left;padding:12px 14px;border-top:1px solid var(--wri-ink-200);}
.wri-ref .cmp thead th{font-family:var(--wri-font-mono);font-size:.68rem;letter-spacing:.06em;color:var(--wri-muted);border:0;text-transform:uppercase;}
.wri-ref .cmp .yes{color:var(--wri-success-500);font-weight:600;}
.wri-ref .cmp .col-w{background:var(--wri-cream-100);color:var(--wri-ink-900);font-weight:600;}
.wri-ref .map{position:relative;background:var(--wri-cream-100);border:1px solid var(--wri-sand-300);border-radius:var(--wri-radius-xl);padding:32px;min-height:260px;}
.wri-ref .county{position:absolute;font-family:var(--wri-font-mono);font-size:.7rem;color:var(--wri-ink-500);}
.wri-ref .county.hot{color:var(--wri-accessible-orange);font-weight:600;}
.wri-ref .pin{position:absolute;width:12px;height:12px;background:var(--wri-orange-500);border-radius:50%;box-shadow:0 0 0 6px rgba(255,92,53,.2);}
.wri-ref .mdot{position:absolute;width:8px;height:8px;background:var(--wri-ink-700);border-radius:50%;}
.wri-ref .annbar{background:var(--wri-ink-900);color:#fff;display:flex;justify-content:center;align-items:center;gap:16px;padding:11px 18px;font-size:.86rem;border-radius:var(--wri-radius-md);}
.wri-ref .annbar a{color:var(--wri-orange-400);font-weight:600;text-decoration:none;}
.wri-ref .mobilebar{max-width:380px;margin-top:12px;display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:8px;background:#fff;border:1px solid var(--wri-ink-200);border-radius:var(--wri-radius-xl);padding:10px;box-shadow:var(--wri-shadow-lg);}
.wri-ref .mobilebar button{border:0;border-radius:var(--wri-radius-md);padding:12px 0;font-family:var(--wri-font-body);font-weight:600;font-size:.86rem;cursor:pointer;}
.wri-ref .mobilebar .g{background:var(--wri-ink-100);color:var(--wri-ink-800);}
.wri-ref .mobilebar .p{background:var(--wri-ink-900);color:#fff;}
.wri-ref .field input,.wri-ref .field select{width:100%;font-family:var(--wri-font-body);font-size:.95rem;color:var(--wri-ink-900);background:#fff;border:1.5px solid var(--wri-ink-300);border-radius:var(--wri-radius-md);padding:12px 14px;min-height:44px;}
.wri-ref .field input:focus,.wri-ref .field select:focus{outline:none;border-color:var(--wri-orange-500);box-shadow:0 0 0 3px var(--wri-orange-100);}
.wri-ref .qb{border:1px solid var(--wri-ink-200);border-radius:var(--wri-radius-xl);overflow:hidden;max-width:760px;background:#fff;}
.wri-ref .qb .head{background:var(--wri-ink-900);color:#fff;padding:20px 24px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;}
.wri-ref .qb .head .id{font-family:var(--wri-font-mono);font-size:.7rem;color:var(--wri-orange-400);}
.wri-ref .qb .head h4{font-family:var(--wri-font-display);color:#fff;font-size:1.3rem;margin:4px 0 2px;}
.wri-ref .qb .head .meta{font-family:var(--wri-font-mono);font-size:.7rem;color:var(--wri-ink-300);}
.wri-ref .qb .head .tot b{font-family:var(--wri-font-display);font-size:1.8rem;color:#fff;display:block;text-align:right;}
.wri-ref .qb .head .tot span{font-family:var(--wri-font-mono);font-size:.66rem;color:var(--wri-ink-300);}
.wri-ref .qb .cat{display:flex;justify-content:space-between;padding:13px 24px;border-top:1px solid var(--wri-ink-200);font-weight:600;color:var(--wri-ink-900);background:var(--wri-cream-50);}
.wri-ref .qb .cat .pct{font-family:var(--wri-font-mono);font-size:.78rem;color:var(--wri-muted);font-weight:400;}
.wri-ref .qb .li{display:grid;grid-template-columns:1fr auto auto;gap:14px;padding:10px 24px;border-top:1px solid var(--wri-hairline);align-items:baseline;}
.wri-ref .qb .li .d{font-size:.88rem;color:var(--wri-ink-700);}
.wri-ref .qb .li .d small{display:block;color:var(--wri-muted);font-size:.76rem;}
.wri-ref .qb .li .p{font-family:var(--wri-font-mono);font-size:.74rem;color:var(--wri-muted);}
.wri-ref .qb .li .a{font-family:var(--wri-font-mono);font-size:.82rem;color:var(--wri-ink-900);text-align:right;}
.wri-ref .qb .cont{display:flex;justify-content:space-between;padding:13px 24px;border-top:1px solid var(--wri-ink-200);color:var(--wri-accessible-orange);font-size:.9rem;}
.wri-ref .qb .grand{display:flex;justify-content:space-between;padding:16px 24px;border-top:2px solid var(--wri-ink-900);font-family:var(--wri-font-display);font-size:1.3rem;color:var(--wri-ink-900);}
.wri-ref .toc{border-left:2px solid var(--wri-ink-200);padding-left:18px;max-width:340px;}
.wri-ref .toc .t{font-family:var(--wri-font-mono);font-size:.66rem;letter-spacing:.1em;color:var(--wri-muted);margin-bottom:10px;}
.wri-ref .toc a{display:block;padding:5px 0;color:var(--wri-ink-600);font-size:.9rem;text-decoration:none;}
.wri-ref .toc a.on{color:var(--wri-accessible-orange);border-left:2px solid var(--wri-orange-500);margin-left:-20px;padding-left:18px;font-weight:600;}
.wri-ref .pquote{background:var(--wri-cream-100);border-radius:var(--wri-radius-2xl);padding:32px;}
.wri-ref .pquote .q{font-family:var(--wri-font-display);font-style:italic;font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.4;color:var(--wri-ink-800);margin:0 0 16px;}
.wri-ref .mediacard{background:#fff;border:1px solid var(--wri-ink-200);border-radius:var(--wri-radius-xl);overflow:hidden;}
.wri-ref .mediacard .media{height:170px;background:linear-gradient(135deg,var(--wri-sand-300),var(--wri-cream-200));}
.wri-ref .ondark input{border:0;border-radius:var(--wri-radius-md);padding:11px 14px;font-family:var(--wri-font-mono);}
.wri-ref .overlays{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.wri-ref .stage{background:var(--wri-ink-900);border-radius:var(--wri-radius-xl);padding:30px;display:flex;align-items:center;justify-content:center;min-height:200px;position:relative;}
.wri-ref .modal{background:#fff;border-radius:var(--wri-radius-lg);padding:22px;max-width:300px;box-shadow:var(--wri-shadow-xl);}
.wri-ref .modal h4{font-family:var(--wri-font-display);font-size:1.2rem;margin:0 0 8px;color:var(--wri-ink-900);}
.wri-ref .modal p{font-size:.86rem;color:var(--wri-ink-600);margin:0 0 16px;}
.wri-ref .toast{background:var(--wri-ink-900);color:#fff;border-radius:var(--wri-radius-md);padding:12px 16px;font-size:.84rem;display:flex;gap:10px;align-items:center;box-shadow:var(--wri-shadow-lg);}
.wri-ref .toast .dot{width:8px;height:8px;border-radius:50%;background:var(--wri-success-500);}
.wri-ref .drawer{background:#fff;border-radius:var(--wri-radius-lg);padding:20px;width:220px;box-shadow:var(--wri-shadow-xl);}
.wri-ref .skel{border:1px solid var(--wri-ink-200);border-radius:var(--wri-radius-lg);padding:18px;max-width:420px;}
.wri-ref .shimmer{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--wri-cream-200),var(--wri-cream-100),var(--wri-cream-200));background-size:200% 100%;animation:sh 1.3s infinite;margin-bottom:10px;}
.wri-ref .estate{border:1px dashed var(--wri-ink-300);border-radius:var(--wri-radius-lg);padding:26px;text-align:center;}
.wri-ref .estate h4{font-family:var(--wri-font-display);font-size:1.2rem;color:var(--wri-ink-900);margin:0 0 6px;}
.wri-ref .estate p{font-size:.88rem;color:var(--wri-ink-600);margin:0 0 14px;}
.wri-ref .motiongrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.wri-ref .mo{border:1px solid var(--wri-ink-200);border-radius:var(--wri-radius-lg);padding:20px;background:#fff;min-width:0;}
.wri-ref .mo h4{font-family:var(--wri-font-body);font-weight:600;font-size:.98rem;color:var(--wri-ink-900);margin:0 0 4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.wri-ref .mo .k{font-family:var(--wri-font-mono);font-size:.64rem;color:var(--wri-muted);}
.wri-ref .mo p{font-size:.86rem;color:var(--wri-ink-600);margin:8px 0 14px;}
.wri-ref .mo .live{border-top:1px dashed var(--wri-ink-200);padding-top:14px;min-height:56px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.wri-ref .livechip{font-family:var(--wri-font-mono);font-size:.58rem;color:var(--wri-success-500);background:#ECF7F1;padding:2px 8px;border-radius:999px;}
.wri-ref .docchip{font-family:var(--wri-font-mono);font-size:.58rem;color:var(--wri-ink-600);background:var(--wri-ink-100);padding:2px 8px;border-radius:999px;}
.wri-ref .ul-draw{position:relative;color:var(--wri-ink-900);font-weight:600;text-decoration:none;}
.wri-ref .ul-draw::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:var(--wri-orange-500);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.wri-ref .ul-draw:hover::after{transform:scaleX(1);}
.wri-ref .tiltcard{border-radius:var(--wri-radius-lg);background:linear-gradient(135deg,var(--wri-sand-300),var(--wri-cream-100));padding:20px;transition:transform .12s var(--ease);min-width:180px;}
.wri-ref .tiltcard b{color:var(--wri-ink-900);font-family:var(--wri-font-display);}
.wri-ref .spotstage{position:relative;overflow:hidden;background:var(--wri-ink-900);border-radius:var(--wri-radius-lg);padding:34px;color:#fff;text-align:center;font-family:var(--wri-font-display);font-size:1.3rem;}
.wri-ref .spotstage .glow{position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,92,53,.28),transparent 60%);pointer-events:none;transform:translate(-50%,-50%);left:50%;top:50%;}
.wri-ref .counter{font-family:var(--wri-font-display);font-size:2.4rem;color:var(--wri-ink-900);}
.wri-ref .counter i{font-style:normal;color:var(--wri-accessible-orange);}
.wri-ref .marquee{overflow:hidden;background:var(--wri-ink-900);border-radius:var(--wri-radius-lg);padding:16px 0;white-space:nowrap;width:100%;}
.wri-ref .marquee .track{display:inline-block;animation:mq 26s linear infinite;font-family:var(--wri-font-display);font-style:italic;color:var(--wri-cream-100);font-size:1.2rem;}
.wri-ref .marquee .track span{margin:0 22px;}
.wri-ref .marquee .track b{color:var(--wri-orange-400);font-style:normal;}
.wri-ref .grain{position:relative;border-radius:var(--wri-radius-lg);overflow:hidden;background:var(--wri-sand-300);padding:30px;color:var(--wri-ink-900);font-family:var(--wri-font-display);font-size:1.2rem;}
.wri-ref .grain::after{content:"";position:absolute;inset:0;opacity:.10;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.wri-ref .reveal-demo span{display:inline-block;opacity:0;transform:translateY(14px);animation:rise .5s var(--ease) forwards;}
.wri-ref .governance{display:grid;grid-template-columns:170px 1fr;gap:0 20px;max-width:820px;}
.wri-ref .governance dt{font-family:var(--wri-font-mono);font-size:.7rem;letter-spacing:.06em;color:var(--wri-accessible-orange);padding:12px 0;border-top:1px solid var(--wri-hairline);}
.wri-ref .governance dd{margin:0;padding:12px 0;border-top:1px solid var(--wri-hairline);color:var(--wri-ink-700);font-size:.94rem;}
.wri-ref .governance dt:first-of-type,.wri-ref .governance dd:first-of-type{border-top:0;}
.wri-ref .governance dd b{color:var(--wri-ink-900);}
.wri-ref .steps5{counter-reset:s5;max-width:820px;}
.wri-ref .step5{display:grid;grid-template-columns:40px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--wri-hairline);}
.wri-ref .step5 .num{counter-increment:s5;font-family:var(--wri-font-display);font-size:1.4rem;color:var(--wri-ink-900);}
.wri-ref .step5 .num::before{content:counter(s5,decimal-leading-zero);}
.wri-ref .step5 p{margin:0;color:var(--wri-ink-700);font-size:.94rem;}
.wri-ref .maptable{width:100%;border-collapse:collapse;font-size:.86rem;}
.wri-ref .maptable th,.wri-ref .maptable td{text-align:left;padding:11px 14px;border-top:1px solid var(--wri-ink-200);vertical-align:top;}
.wri-ref .maptable th{font-family:var(--wri-font-mono);font-size:.66rem;letter-spacing:.06em;color:var(--wri-muted);text-transform:uppercase;border:0;}
.wri-ref .maptable td:first-child{font-weight:600;color:var(--wri-ink-900);white-space:nowrap;}
.wri-ref .maptable td:last-child{color:var(--wri-ink-600);}
.wri-ref pre.code{background:var(--wri-ink-900);color:var(--wri-cream-100);border-radius:var(--wri-radius-lg);padding:20px;overflow:auto;font-family:var(--wri-font-mono);font-size:.78rem;line-height:1.6;}
.wri-ref pre.code .c{color:var(--wri-orange-400);}
.wri-ref .end{text-align:center;padding-top:36px;border-top:1px solid var(--wri-hairline);margin-top:40px;}
.wri-ref .end img{height:30px;display:inline-block;margin-bottom:14px;}
@media(max-width:720px){.wri-ref .g2,.wri-ref .g3,.wri-ref .g4,.wri-ref .g5,.wri-ref .pair{grid-template-columns:1fr;}
.wri-ref .ramp{grid-template-columns:repeat(5,1fr);}
.wri-ref .spec{grid-template-columns:1fr;gap:8px;}
.wri-ref .corecolors{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.wri-ref .ramp,.wri-ref .ramp.small{grid-template-columns:repeat(3,1fr);}
.wri-ref .corecolors{grid-template-columns:1fr;}}
@media(max-width:720px){.wri-ref .g2{grid-template-columns:1fr;}}
@media(max-width:900px){.wri-ref .statgrid,.wri-ref .steps,.wri-ref .g4{grid-template-columns:repeat(2,1fr);}
.wri-ref .tiers{grid-template-columns:1fr;}}
@media(max-width:600px){.wri-ref .statgrid,.wri-ref .steps,.wri-ref .g4{grid-template-columns:1fr;}}
@media(max-width:820px){.wri-ref .hero-home,.wri-ref .imgrow,.wri-ref .sitefooter .cols,.wri-ref .hero-location .facts{grid-template-columns:1fr;}
.wri-ref .siteheader .nav{display:none;}}
@media(max-width:900px){.wri-ref .licgrid,.wri-ref .credstrip{grid-template-columns:1fr;}
.wri-ref .aggr{grid-template-columns:1fr;}
.wri-ref .aggr .rev{border-left:0;padding-left:0;border-top:1px solid var(--wri-sand-300);padding-top:16px;}
.wri-ref .tiers,.wri-ref .g3{grid-template-columns:1fr;}}
@keyframes sh{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media(max-width:820px){.wri-ref .overlays,.wri-ref .g2,.wri-ref .g3{grid-template-columns:1fr;}
.wri-ref .qb .head{flex-direction:column;}}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes rise{to{opacity:1;transform:none}}
@media(max-width:820px){.wri-ref .motiongrid{grid-template-columns:1fr;}}
@media(max-width:760px){.wri-ref .governance{grid-template-columns:1fr;}
.wri-ref .governance dt{padding-bottom:0;}
.wri-ref .governance dd{padding-top:2px;border-top:0;}}
/* icons */
.wri-ref .svgico{display:inline-block;background-repeat:no-repeat;background-position:center;background-size:contain;vertical-align:middle;}.wri-ref .svgico--lib{width:26px;height:26px;}.wri-ref .svgico--btn{width:18px;height:18px;}
.wri-ref .svgi1{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgMTFsOS04IDkgOCIvPjxwYXRoIGQ9Ik01IDEwdjEwaDE0VjEwIi8+PHBhdGggZD0iTTkgMjB2LTZoNnY2Ii8+PC9zdmc+')}
.wri-ref .svgi2{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgMTdsNi02IDQgNCA4LTgiLz48cGF0aCBkPSJNMTcgN2g0djQiLz48L3N2Zz4=')}
.wri-ref .svgi3{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iOSIvPjxwYXRoIGQ9Ik0xMiA3djVsMyAyIi8+PC9zdmc+')}
.wri-ref .svgi4{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDIxczctNi41IDctMTFhNyA3IDAgMCAwLTE0IDBjMCA0LjUgNyAxMSA3IDExeiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTAiIHI9IjIuNSIvPjwvc3ZnPg==')}
.wri-ref .svgi5{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTUgNGg0bDIgNS0zIDJhMTIgMTIgMCAwIDAgNSA1bDItMyA1IDJ2NGEyIDIgMCAwIDEtMiAyQTE2IDE2IDAgMCAxIDMgNmEyIDIgMCAwIDEgMi0yeiIvPjwvc3ZnPg==')}
.wri-ref .svgi6{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgMTJsNSA1TDIwIDYiLz48L3N2Zz4=')}
.wri-ref .svgi7{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDNsMi43IDUuOCA2LjMuOC00LjcgNC4zIDEuMyA2LjNMMTIgMTcuOCA2LjQgMjAuMmwxLjMtNi4zTDMgOS42bDYuMy0uOHoiLz48L3N2Zz4=')}
.wri-ref .svgi8{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgMTJoMTYiLz48cGF0aCBkPSJNMTQgNmw2IDYtNiA2Ii8+PC9zdmc+')}
.wri-ref .svgi9{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEyIDV2MTRNNSAxMmgxNCIvPjwvc3ZnPg==')}
.wri-ref .svgi10{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTUgMTJoMTQiLz48L3N2Zz4=')}
.wri-ref .svgi11{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTYgNmwxMiAxMk0xOCA2TDYgMTgiLz48L3N2Zz4=')}
.wri-ref .svgi12{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iNCIgeT0iNSIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiByeD0iMiIvPjxwYXRoIGQ9Ik00IDloMTZNOCAzdjRNMTYgM3Y0Ii8+PC9zdmc+')}
.wri-ref .svgi13{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iOSIvPjxwYXRoIGQ9Ik0xMiAxMXY1TTEyIDhoLjAxIi8+PC9zdmc+')}
.wri-ref .svgi14{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTkgMTJsMiAyIDQtNCIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjkiLz48L3N2Zz4=')}
.wri-ref .svgi15{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgN2w4LTQgOCA0LTggNHoiLz48cGF0aCBkPSJNNCA3djEwbDggNCA4LTRWNyIvPjwvc3ZnPg==')}
.wri-ref .svgi16{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iNCIgeT0iNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiByeD0iMiIvPjxwYXRoIGQ9Ik00IDEwaDE2TTEwIDEwdjEwIi8+PC9zdmc+')}
.wri-ref .svgi17{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgMjBoNEwyMCA4bC00LTRMNCAxNnoiLz48L3N2Zz4=')}
.wri-ref .svgi18{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgNGgxNnYxNEg3bC0zIDN6Ii8+PC9zdmc+')}
.wri-ref .svgi19{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgNmgxNk00IDEyaDE2TTQgMThoMTYiLz48L3N2Zz4=')}
.wri-ref .svgi20{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMUEyOTQwIiBzdHJva2Utd2lkdGg9IjEuNzUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iNyIvPjxwYXRoIGQ9Ik0xNiAxNmw0IDQiLz48L3N2Zz4=')}
.wri-ref .svgi21{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgMTJoMTYiLz48cGF0aCBkPSJNMTQgNmw2IDYtNiA2Ii8+PC9zdmc+')}
.wri-ref .svgi22{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTUgNGg0bDIgNS0zIDJhMTIgMTIgMCAwIDAgNSA1bDItMyA1IDJ2NGEyIDIgMCAwIDEtMiAyQTE2IDE2IDAgMCAxIDMgNmEyIDIgMCAwIDEgMi0yeiIvPjwvc3ZnPg==')}
.wri-ref .svgi23{background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMEExNjI4IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHJlY3QgeD0iNCIgeT0iNSIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiByeD0iMiIvPjxwYXRoIGQ9Ik00IDloMTZNOCAzdjRNMTYgM3Y0Ii8+PC9zdmc+')}
/* mobile overflow safety: allow grid/flex items to shrink below content min-content */
.wri-ref .aggr>*,.wri-ref .cols>*,.wri-ref .corecolors>*,.wri-ref .facts>*,.wri-ref .governance>*,.wri-ref .grid>*,.wri-ref .hero-home>*,.wri-ref .hero-location>*,.wri-ref .icons>*,.wri-ref .imgrow>*,.wri-ref .licgrid>*,.wri-ref .motiongrid>*,.wri-ref .overlays>*,.wri-ref .pair>*,.wri-ref .qb>*,.wri-ref .ramp>*,.wri-ref .spec>*,.wri-ref .statgrid>*,.wri-ref .step5>*,.wri-ref .steps>*,.wri-ref .tiers>*,.wri-ref .tokrow>*,.wri-ref .sitefooter>*,.wri-ref .mobilebar>*{min-width:0;}


/* WRI - projects pattern (shared, all featured project pages). References --wri-* tokens from Customizer v6. Namespaced .wri-proj. */
.wri-proj{--proj-measure:68ch;color:var(--wri-text);font-family:var(--wri-sans);line-height:var(--wri-lh-normal);}
.wri-proj *{box-sizing:border-box;}
.wri-proj h2,.wri-proj h3{font-family:var(--wri-serif);color:var(--wri-ink);letter-spacing:var(--wri-tr-snug);text-wrap:balance;}
.wri-proj p{text-wrap:pretty;}
.wri-proj-inner{max-width:var(--wri-container);margin-inline:auto;padding-inline:var(--wri-pad);}
.wri-proj-narrow{max-width:var(--proj-measure);}
.wri-proj-eyebrow{font-family:var(--wri-mono);font-size:var(--wri-fs-sm);letter-spacing:var(--wri-tr-label);color:var(--wri-solaris-access);display:inline-flex;align-items:center;gap:var(--wri-s-3);margin:0 0 var(--wri-s-5);}
.wri-proj-eyebrow::before{content:"";width:28px;height:2px;background:var(--wri-solaris);display:inline-block;}
.wri-proj-hero{padding-block:clamp(56px,8vw,112px) clamp(40px,5vw,64px);background:var(--wri-bg-soft);border-bottom:1px solid var(--wri-line);}
.wri-proj-hero h1,.wri-proj-title{font-family:var(--wri-serif);color:var(--wri-ink);font-size:clamp(2rem,1.2rem + 3.4vw,3.5rem);line-height:var(--wri-lh-tight);letter-spacing:var(--wri-tr-tight);text-wrap:balance;margin:0 0 var(--wri-s-6);max-width:20ch;}
.wri-proj-lead{font-size:clamp(1.06rem,1rem + 0.4vw,1.28rem);line-height:var(--wri-lh-relaxed);color:var(--wri-text);max-width:var(--proj-measure);margin:0;}
.wri-proj-stats{margin-top:clamp(32px,4vw,56px);border-top:3px solid var(--wri-solaris);background:var(--wri-paper);box-shadow:var(--wri-sh-sm);border-radius:0 0 var(--wri-r-lg) var(--wri-r-lg);display:grid;grid-template-columns:repeat(4,1fr);}
.wri-proj-stat{padding:var(--wri-s-7) var(--wri-s-6);border-left:1px solid var(--wri-line);}
.wri-proj-stat:first-child{border-left:0;}
.wri-proj-stat .k{display:block;font-family:var(--wri-mono);font-size:var(--wri-fs-xs);letter-spacing:var(--wri-tr-label);color:var(--wri-text-muted);margin:0 0 var(--wri-s-3);}
.wri-proj-stat .v{display:block;font-family:var(--wri-serif);font-size:var(--wri-fs-xl);line-height:var(--wri-lh-snug);color:var(--wri-ink);}
.wri-proj-body{padding-block:clamp(48px,7vw,96px);}
.wri-proj-body h2{font-size:clamp(1.5rem,1.2rem + 1.4vw,2.15rem);line-height:var(--wri-lh-snug);margin:0 0 var(--wri-s-5);}
.wri-proj-body h2:not(:first-child){margin-top:clamp(40px,5vw,72px);}
.wri-proj-body h3{font-size:var(--wri-fs-xl);margin:var(--wri-s-8) 0 var(--wri-s-3);}
.wri-proj-body p{font-size:var(--wri-fs-lg);line-height:var(--wri-lh-relaxed);margin:0 0 var(--wri-s-5);max-width:var(--proj-measure);}
.wri-proj-body a{color:var(--wri-solaris-access);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;transition:color var(--wri-d-fast) var(--wri-ease);}
.wri-proj-body a:hover{color:var(--wri-solaris-hover);}
.wri-proj-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2vw,24px);margin:clamp(28px,4vw,48px) 0;}
.wri-proj-gallery--single{grid-template-columns:1fr;}
.wri-proj-fig{margin:0;}
.wri-proj-leadfig{margin:0 0 clamp(28px,4vw,48px);}
.wri-proj-leadfig img{aspect-ratio:16/10;}
.wri-proj-fig img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--wri-r-lg);box-shadow:var(--wri-sh-md);background:var(--wri-bg-card);}
.wri-proj-fig--tall img{aspect-ratio:4/5;}
.wri-proj-fig figcaption{font-family:var(--wri-mono);font-size:var(--wri-fs-xs);letter-spacing:0.02em;color:var(--wri-text-muted);margin-top:var(--wri-s-3);line-height:var(--wri-lh-snug);}
.wri-proj-scope{padding-block:clamp(48px,7vw,96px);background:var(--wri-chapati);}
.wri-proj-scope h2{font-size:clamp(1.5rem,1.2rem + 1.4vw,2.15rem);margin:0 0 var(--wri-s-3);}
.wri-proj-scope .sub{color:var(--wri-text-muted);max-width:var(--proj-measure);margin:0 0 var(--wri-s-8);}
.wri-proj-lines{border-top:3px solid var(--wri-solaris);background:var(--wri-paper);border-radius:0 0 var(--wri-r-lg) var(--wri-r-lg);box-shadow:var(--wri-sh-sm);overflow:hidden;}
.wri-proj-line{display:grid;grid-template-columns:200px 1fr;gap:var(--wri-s-6);padding:var(--wri-s-7) var(--wri-s-8);border-top:1px solid var(--wri-line);}
.wri-proj-line:first-child{border-top:0;}
.wri-proj-line .lbl{font-family:var(--wri-mono);font-size:var(--wri-fs-sm);letter-spacing:0.02em;color:var(--wri-solaris-access);padding-top:3px;}
.wri-proj-line .ttl{font-family:var(--wri-serif);font-size:var(--wri-fs-lg);color:var(--wri-ink);margin:0 0 var(--wri-s-2);}
.wri-proj-line .dsc{font-size:var(--wri-fs-base);line-height:var(--wri-lh-normal);color:var(--wri-text);margin:0;}
.wri-proj a:focus-visible{outline:2px solid var(--wri-solaris);outline-offset:3px;border-radius:var(--wri-r-xs);}
@media (prefers-reduced-motion:reduce){.wri-proj *,.wri-proj *::before,.wri-proj *::after{transition:none!important;animation:none!important;}}
.wri-proj--large .wri-proj-lead{font-size:clamp(1.12rem,1rem + 0.5vw,1.35rem);}
@media (max-width:900px){.wri-proj-stats{grid-template-columns:repeat(2,1fr);}.wri-proj-stat:nth-child(-n+2){border-top:0;}.wri-proj-stat:nth-child(3){border-left:0;}.wri-proj-stat:nth-child(n+3){border-top:1px solid var(--wri-line);}}
@media (max-width:720px){.wri-proj-gallery{grid-template-columns:1fr;}.wri-proj-line{grid-template-columns:1fr;gap:var(--wri-s-3);}.wri-proj-line .lbl{padding-top:0;}}
@media (max-width:520px){.wri-proj-stats{grid-template-columns:1fr;}.wri-proj-stat{border-left:0;border-top:1px solid var(--wri-line);}.wri-proj-stat:first-child{border-top:0;}}

/* =========================================================================
   Wright's Renovations ~ site-wide footer  (WPCode snippet: WRI Footer v1)
   Insert: Site Wide Header, Auto Insert, priority 10, all pages.
   Design system: Solaris tokens (Customizer v4.0). Namespace: .wri-foot
   July 2026 orange-on-dark rule: no orange on Dark Matter. Dark accents
   use Nebula and Milky Way. Dark primary button is Oatmilk fill with a
   Dark Matter label. Double-class guards beat the dark auto-detector.
   All labels are sentence case in source; no CSS case transforms.
   ========================================================================= */

.wri-foot{
  --wri-dark-matter:#192733;
  --wri-oatmilk:#FEF4EA;
  --wri-milky-way:#B6C7D6;
  --wri-nebula:#99AFC4;
  --wri-hairline-dark:rgba(254,244,234,.14);
  --wri-serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --wri-sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --wri-mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --wri-max:1200px;
  --wri-pad-x:clamp(20px,5vw,48px);

  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  background-color:#192733 !important;
  background-image:none !important;
  font-family:var(--wri-sans) !important;
  padding:clamp(64px,8vw,104px) 0 0 !important;
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
  text-align:left !important;
}
footer.wri-foot,.wri-foot.wri-foot{background-color:#192733 !important;}
.wri-foot *,.wri-foot *::before,.wri-foot *::after{box-sizing:border-box;}
.wri-foot h1,.wri-foot h2,.wri-foot h3,.wri-foot h4,.wri-foot p,.wri-foot li,.wri-foot a,.wri-foot span,.wri-foot address,.wri-foot div{
  text-align:left !important;
}

/* nuke theme list styling: markers, bullets, ::before dots, indents */
.wri-foot ul{list-style:none !important;margin:0 !important;padding:0 !important;}
.wri-foot li{list-style:none !important;list-style-type:none !important;background:none !important;padding-left:0 !important;}
.wri-foot li::marker{content:"" !important;color:transparent !important;font-size:0 !important;}
.wri-foot li::before{content:none !important;display:none !important;}

/* quiet nebula glow, cool accents only */
.wri-foot::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(760px 340px at 12% 0%,rgba(153,175,196,.10),transparent 60%),
    radial-gradient(560px 300px at 92% 100%,rgba(153,175,196,.06),transparent 60%);
}

.wri-foot__wrap{
  position:relative;
  max-width:var(--wri-max);
  margin:0 auto;
  padding:0 var(--wri-pad-x);
}

/* ---- top: pitch + link columns -------------------------------------- */
.wri-foot__top{
  display:grid;
  grid-template-columns:minmax(280px,1.15fr) 2fr;
  gap:clamp(40px,6vw,88px);
  padding-bottom:clamp(48px,6vw,72px);
  border-bottom:1px solid var(--wri-hairline-dark) !important;
}

/* double-class guards: force light text past the dark auto-detector */
.wri-foot.wri-foot .wri-foot__eyebrow{
  font-family:var(--wri-mono);font-size:12px;letter-spacing:.18em;
  color:var(--wri-milky-way) !important;margin:0 0 18px !important;
  display:inline-flex;align-items:center;gap:10px;
}
.wri-foot.wri-foot .wri-foot__eyebrow::before{content:"" !important;display:inline-block !important;width:28px;height:2px;background:var(--wri-nebula) !important;}

.wri-foot.wri-foot .wri-foot__headline{
  font-family:var(--wri-serif);font-weight:600;font-style:normal;
  font-size:clamp(26px,2.6vw,38px) !important;line-height:1.14 !important;letter-spacing:-0.01em;
  color:var(--wri-oatmilk) !important;margin:0 0 16px !important;max-width:18ch;text-wrap:balance;
}
.wri-foot.wri-foot .wri-foot__lead{
  color:rgba(254,244,234,.72) !important;font-size:16px !important;line-height:1.6 !important;
  margin:0 0 28px !important;max-width:44ch;
}

.wri-foot__ctas{display:flex;flex-wrap:wrap;gap:12px;}

/* ---- buttons: !important on element + children across every state ---- */
.wri-foot .wri-foot__btn,
.wri-foot a.wri-foot__btn{
  display:inline-flex !important;align-items:center !important;gap:10px !important;
  padding:14px 24px !important;border:1px solid transparent !important;border-radius:999px !important;
  font-family:var(--wri-sans) !important;font-size:15px !important;font-weight:600 !important;
  line-height:1 !important;letter-spacing:-0.005em !important;cursor:pointer !important;
  text-decoration:none !important;min-height:48px !important;
  transition:transform 160ms ease,background-color 160ms ease,color 160ms ease,border-color 160ms ease !important;
}

/* primary on dark: Oatmilk fill, Dark Matter label (no orange on dark) */
.wri-foot .wri-foot__btn--on-dark,
.wri-foot .wri-foot__btn--on-dark:link,
.wri-foot .wri-foot__btn--on-dark:visited{
  background-color:var(--wri-oatmilk) !important;
  color:var(--wri-dark-matter) !important;
  border-color:var(--wri-oatmilk) !important;
}
.wri-foot .wri-foot__btn--on-dark:hover,
.wri-foot .wri-foot__btn--on-dark:focus,
.wri-foot .wri-foot__btn--on-dark:active,
.wri-foot .wri-foot__btn--on-dark:focus-visible{
  background-color:var(--wri-milky-way) !important;
  color:var(--wri-dark-matter) !important;
  border-color:var(--wri-milky-way) !important;
  transform:translateY(-1px) !important;
}
.wri-foot .wri-foot__btn--on-dark > *,
.wri-foot .wri-foot__btn--on-dark span{color:var(--wri-dark-matter) !important;}

/* ghost on dark */
.wri-foot .wri-foot__btn--ghost-dark,
.wri-foot .wri-foot__btn--ghost-dark:link,
.wri-foot .wri-foot__btn--ghost-dark:visited{
  background-color:transparent !important;
  color:var(--wri-oatmilk) !important;
  border-color:rgba(254,244,234,.32) !important;
}
.wri-foot .wri-foot__btn--ghost-dark:hover,
.wri-foot .wri-foot__btn--ghost-dark:focus,
.wri-foot .wri-foot__btn--ghost-dark:active,
.wri-foot .wri-foot__btn--ghost-dark:focus-visible{
  background-color:var(--wri-oatmilk) !important;
  color:var(--wri-dark-matter) !important;
  border-color:var(--wri-oatmilk) !important;
  transform:translateY(-1px) !important;
}
.wri-foot .wri-foot__btn--ghost-dark > *,
.wri-foot .wri-foot__btn--ghost-dark span{color:inherit !important;}

.wri-foot__btn-arrow{
  display:inline-block;width:8px;height:8px;
  border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;
  transform:rotate(45deg);transition:transform 160ms ease;
}
.wri-foot__btn:hover .wri-foot__btn-arrow{transform:rotate(45deg) translate(2px,-2px);}

/* ---- link columns ----------------------------------------------------- */
.wri-foot__cols{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(24px,3vw,40px);
}
.wri-foot.wri-foot .wri-foot__col-label{
  font-family:var(--wri-mono);font-size:12px;letter-spacing:.14em;
  color:var(--wri-nebula) !important;margin:0 0 16px !important;
}
.wri-foot.wri-foot .wri-foot__list li{margin:0 0 10px !important;}
.wri-foot.wri-foot .wri-foot__list a,
.wri-foot.wri-foot .wri-foot__list a:link,
.wri-foot.wri-foot .wri-foot__list a:visited{
  color:rgba(254,244,234,.72) !important;
  font-size:15px !important;line-height:1.5 !important;text-decoration:none !important;
  background:none !important;
  border-bottom:1px solid transparent;
  transition:color 160ms ease,border-color 160ms ease;
}
.wri-foot.wri-foot .wri-foot__list a:hover,
.wri-foot.wri-foot .wri-foot__list a:active{
  color:var(--wri-oatmilk) !important;
  border-bottom-color:rgba(254,244,234,.4);
}

/* ---- proof strip (5 items) --------------------------------------------- */
.wri-foot__proof{
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  border-bottom:1px solid var(--wri-hairline-dark);
}
.wri-foot__proof-item{
  padding:28px 24px 28px 0;
  border-right:1px solid var(--wri-hairline-dark);
  display:flex;flex-direction:column;gap:6px;
}
.wri-foot__proof-item:last-child{border-right:none;}
.wri-foot__proof-item:not(:first-child){padding-left:24px;}
.wri-foot.wri-foot .wri-foot__proof-k{
  font-family:var(--wri-serif) !important;font-weight:600 !important;font-size:clamp(20px,1.9vw,26px) !important;white-space:nowrap;
  color:var(--wri-oatmilk) !important;line-height:1 !important;
}
.wri-foot.wri-foot .wri-foot__proof-v{
  font-family:var(--wri-mono) !important;font-size:12px !important;letter-spacing:.06em;
  color:var(--wri-milky-way) !important;
}

/* ---- meta row ---------------------------------------------------------- */
.wri-foot__meta{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(24px,3vw,40px);
  padding:clamp(32px,4vw,48px) 0;
  border-bottom:1px solid var(--wri-hairline-dark);
}
.wri-foot.wri-foot .wri-foot__address,
.wri-foot.wri-foot .wri-foot__hours,
.wri-foot.wri-foot .wri-foot__license{
  font-style:normal !important;color:rgba(254,244,234,.72) !important;
  font-size:14px !important;line-height:1.7 !important;margin:0 !important;
}
.wri-foot.wri-foot .wri-foot__meta-label{
  display:block;font-family:var(--wri-mono) !important;font-size:12px !important;letter-spacing:.14em;
  color:var(--wri-nebula) !important;margin:0 0 10px !important;
}
.wri-foot.wri-foot .wri-foot__meta-link,
.wri-foot.wri-foot .wri-foot__meta-link:link,
.wri-foot.wri-foot .wri-foot__meta-link:visited{
  color:var(--wri-oatmilk) !important;text-decoration:none !important;
  border-bottom:1px solid rgba(254,244,234,.4);
  transition:border-color 160ms ease;
}
.wri-foot.wri-foot .wri-foot__meta-link:hover{border-bottom-color:var(--wri-oatmilk);}

/* ---- legal bar ---------------------------------------------------------- */
.wri-foot__legal{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
  gap:12px;padding:24px 0 32px;
}
.wri-foot.wri-foot .wri-foot__copyright,
.wri-foot.wri-foot .wri-foot__tagline{
  font-family:var(--wri-mono) !important;font-size:12px !important;letter-spacing:.02em;
  color:rgba(254,244,234,.5) !important;margin:0 !important;
}

.wri-foot__legal-links{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;gap:8px 24px;
}
.wri-foot.wri-foot .wri-foot__legal-links a,
.wri-foot.wri-foot .wri-foot__legal-links a:link,
.wri-foot.wri-foot .wri-foot__legal-links a:visited{
  font-family:var(--wri-mono) !important;font-size:12px !important;letter-spacing:.02em;
  color:rgba(254,244,234,.5) !important;text-decoration:none !important;
  background:none !important;
  border-bottom:1px solid transparent;
  transition:color 160ms ease,border-color 160ms ease;
}
.wri-foot.wri-foot .wri-foot__legal-links a:hover,
.wri-foot.wri-foot .wri-foot__legal-links a:active{
  color:var(--wri-oatmilk) !important;
  border-bottom-color:rgba(254,244,234,.4);
}

/* ---- focus visibility --------------------------------------------------- */
.wri-foot a:focus-visible{
  outline:2px solid var(--wri-milky-way);
  outline-offset:3px;border-radius:2px;
}

/* ---- responsive ---------------------------------------------------------- */
@media (max-width:1024px){
  .wri-foot__top{grid-template-columns:1fr;gap:48px;}
  .wri-foot__cols{grid-template-columns:repeat(2,1fr);}
  .wri-foot__proof{grid-template-columns:repeat(3,1fr);}
  .wri-foot__proof-item{border-bottom:1px solid var(--wri-hairline-dark);padding:22px 20px 22px 0;}
  .wri-foot__proof-item:nth-child(3n){border-right:none;}
  .wri-foot__proof-item:nth-child(3n+1){padding-left:0;}
  .wri-foot__proof-item:nth-child(n+4){border-bottom:none;}
}
@media (max-width:640px){
  .wri-foot__cols{grid-template-columns:1fr 1fr;gap:28px;}
  .wri-foot__proof{grid-template-columns:1fr 1fr;}
  .wri-foot__proof-item{border-right:none !important;border-bottom:1px solid var(--wri-hairline-dark);padding:20px 0 !important;}
  .wri-foot__proof-item:last-child{border-bottom:none;}
  .wri-foot__meta{grid-template-columns:1fr;}
  .wri-foot__ctas .wri-foot__btn{width:100% !important;justify-content:center !important;}
  .wri-foot__legal{flex-direction:column;align-items:flex-start;}
}
@media (max-width:420px){
  .wri-foot__cols{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  .wri-foot *,.wri-foot *::before,.wri-foot *::after{transition:none !important;}
}


/* WPCode: WRI - city page pattern (.wri-city). Load Site Wide Header, Auto Insert.
   Namespaced so nothing global is touched. References --wri-* tokens; never redefines them.
   Built as the reusable template for the city-page cleanup, first used on /mi/rochester/. */

.wri-city{color:var(--wri-text);font-family:var(--wri-sans);line-height:var(--wri-lh-normal);}
.wri-city *{box-sizing:border-box;}
.wri-city h2,.wri-city h3{font-family:var(--wri-serif);color:var(--wri-ink);letter-spacing:var(--wri-tr-snug);text-wrap:balance;}
.wri-city p{text-wrap:pretty;}
.wri-city-inner{max-width:var(--wri-container);margin-inline:auto;padding-inline:var(--wri-pad);}

/* hero */
.wri-city-hero{padding-block:clamp(56px,8vw,112px) clamp(32px,4vw,56px);border-bottom:1px solid var(--wri-line);}
.wri-city-eyebrow{font-family:var(--wri-mono);font-size:var(--wri-fs-sm);letter-spacing:var(--wri-tr-label);color:var(--wri-solaris-access);display:inline-flex;align-items:center;gap:var(--wri-s-3);margin:0 0 var(--wri-s-5);}
.wri-city-eyebrow::before{content:"";width:28px;height:2px;background:var(--wri-solaris);display:inline-block;}
.wri-city-title{font-size:clamp(2rem,1.2rem + 3.4vw,3.4rem);line-height:var(--wri-lh-tight);letter-spacing:var(--wri-tr-tight);margin:0 0 var(--wri-s-6);max-width:22ch;}
.wri-city-lead{font-size:clamp(1.06rem,1rem + 0.4vw,1.28rem);line-height:var(--wri-lh-relaxed);color:var(--wri-text);max-width:68ch;margin:0;}

/* trust strip */
.wri-city-trust{margin-top:clamp(28px,4vw,48px);border-top:3px solid var(--wri-solaris);background:var(--wri-paper);box-shadow:var(--wri-sh-sm);border-radius:0 0 var(--wri-r-lg) var(--wri-r-lg);display:grid;grid-template-columns:repeat(4,1fr);}
.wri-city-fact{padding:var(--wri-s-6);border-left:1px solid var(--wri-line);}
.wri-city-fact:first-child{border-left:0;}
.wri-city-fact .k{display:block;font-family:var(--wri-mono);font-size:var(--wri-fs-xs);letter-spacing:var(--wri-tr-label);color:var(--wri-text-muted);margin:0 0 var(--wri-s-2);}
.wri-city-fact .v{display:block;font-family:var(--wri-serif);font-size:var(--wri-fs-lg);line-height:var(--wri-lh-snug);color:var(--wri-ink);}

/* body */
.wri-city-body{padding-block:clamp(40px,6vw,80px);}
.wri-city-body h2{font-size:clamp(1.5rem,1.2rem + 1.4vw,2.15rem);line-height:var(--wri-lh-snug);margin:clamp(36px,5vw,64px) 0 var(--wri-s-5);}
.wri-city-body h2:first-child{margin-top:0;}
.wri-city-body p{font-size:var(--wri-fs-lg);line-height:var(--wri-lh-relaxed);margin:0 0 var(--wri-s-5);max-width:68ch;}
.wri-city-body a{color:var(--wri-solaris-access);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;transition:color var(--wri-d-fast) var(--wri-ease);}
.wri-city-body a:hover{color:var(--wri-solaris-hover);}

/* services grid */
.wri-city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px);margin:var(--wri-s-6) 0 var(--wri-s-4);}
.wri-city-card{background:var(--wri-bg-soft);border:1px solid var(--wri-line);border-radius:var(--wri-r-lg);padding:clamp(20px,2vw,28px);}
.wri-city-card h3{font-size:var(--wri-fs-xl);margin:0 0 var(--wri-s-3);}
.wri-city-card h3 a{color:var(--wri-ink);text-decoration:none;}
.wri-city-card h3 a:hover{color:var(--wri-solaris-access);}
.wri-city-card p{font-size:var(--wri-fs-base);line-height:var(--wri-lh-normal);margin:0;max-width:none;}

/* list */
.wri-city-list{margin:0 0 var(--wri-s-6);padding-left:1.15em;max-width:68ch;}
.wri-city-list li{font-size:var(--wri-fs-lg);line-height:var(--wri-lh-relaxed);margin:0 0 var(--wri-s-2);}

/* cta */
.wri-city-cta{margin-top:clamp(32px,4vw,56px);padding:clamp(28px,4vw,48px);background:var(--wri-chapati);border-radius:var(--wri-r-xl);border-top:3px solid var(--wri-solaris);}
.wri-city-cta-h{font-family:var(--wri-serif);font-size:clamp(1.4rem,1.1rem + 1.2vw,1.9rem);color:var(--wri-ink);margin:0 0 var(--wri-s-6);max-width:none;}
.wri-city-actions{display:flex;gap:var(--wri-s-4);flex-wrap:wrap;}
.wri-city-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--wri-sans)!important;font-weight:var(--wri-fw-semibold)!important;font-size:var(--wri-fs-base)!important;line-height:1!important;text-decoration:none!important;padding:var(--wri-s-5) var(--wri-s-8)!important;border-radius:var(--wri-r-full)!important;border:2px solid transparent!important;cursor:pointer;transition:transform var(--wri-d-fast) var(--wri-ease),background-color var(--wri-d-base) var(--wri-ease),box-shadow var(--wri-d-base) var(--wri-ease);}
.wri-city-btn:hover{transform:translateY(-1px);}
.wri-city-btn--primary{background:var(--wri-solaris-access)!important;color:#fff!important;box-shadow:var(--wri-sh-cta)!important;}
.wri-city-btn--primary:link,.wri-city-btn--primary:visited{color:#fff!important;}
.wri-city-btn--primary:hover,.wri-city-btn--primary:active,.wri-city-btn--primary:focus{background:var(--wri-solaris-hover)!important;color:#fff!important;box-shadow:var(--wri-sh-cta-lg)!important;}
.wri-city-btn--ghost{background:transparent!important;color:var(--wri-ink)!important;border-color:var(--wri-line-strong)!important;}
.wri-city-btn--ghost:link,.wri-city-btn--ghost:visited{color:var(--wri-ink)!important;}
.wri-city-btn--ghost:hover,.wri-city-btn--ghost:active,.wri-city-btn--ghost:focus{background:var(--wri-oatmilk)!important;color:var(--wri-ink)!important;border-color:var(--wri-ink)!important;}

/* focus + motion */
.wri-city a:focus-visible,.wri-city .wri-city-btn:focus-visible{outline:2px solid var(--wri-solaris);outline-offset:3px;border-radius:var(--wri-r-xs);}
@media (prefers-reduced-motion:reduce){.wri-city *,.wri-city *::before,.wri-city *::after{transition:none!important;animation:none!important}.wri-city-btn:hover{transform:none}}

/* responsive */
@media (max-width:900px){.wri-city-grid{grid-template-columns:repeat(2,1fr);}.wri-city-trust{grid-template-columns:repeat(2,1fr);}.wri-city-fact:nth-child(-n+2){border-top:0;}.wri-city-fact:nth-child(3){border-left:0;}.wri-city-fact:nth-child(n+3){border-top:1px solid var(--wri-line);}}
@media (max-width:600px){.wri-city-grid{grid-template-columns:1fr;}.wri-city-trust{grid-template-columns:1fr;}.wri-city-fact{border-left:0;border-top:1px solid var(--wri-line);}.wri-city-fact:first-child{border-top:0}}


/* WRI-HEADER-NAV-START v1 (Aug 19, 2026)
   Header nav: full-height hit targets, forgiving hover, quiet motion.
   Problem it fixes: the nav list was only 38px tall inside an 80px header
   row, so 42px of the header (over half its height) was dead space. Aiming
   at a menu item and missing that band is what read as "not clickable."
   Every top-level link now fills the row, with no dead gaps between items.
   Delete this whole block to revert. */

/* 1. Stretch the nav so each link fills the full header row height. */
#masthead .site-header-item-main-navigation > nav.main-navigation,
#masthead .header-navigation nav.main-navigation > div,
#masthead .header-navigation nav.main-navigation > .primary-menu-container {
  align-self: stretch;
  height: 100%;
}
#masthead .header-navigation ul.menu {
  align-items: stretch;
  height: 100%;
}
#masthead .header-navigation ul.menu > li.menu-item {
  position: relative;
  display: flex;
  align-items: stretch;
  height: 100%;
}
#masthead .header-navigation ul.menu > li.menu-item > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background-color: transparent;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 16px;
  padding-right: 16px;
  transition: color 0.16s cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* 2. Soft pill on hover: the affordance that shows the target, sized to
      the label rather than the whole row. Painted from the list item so it
      sits behind the label. The theme's own grey block on the active item is
      cleared above so this pill is the only surface in play. */
#masthead .header-navigation ul.menu > li.menu-item::before {
  content: "";
  position: absolute;
  left: 6px;
  right: 6px;
  top: 50%;
  height: 38px;
  margin-top: -19px;
  border-radius: 10px;
  background: var(--wri-oatmilk, #FEF4EA);
  background: color-mix(in srgb, var(--wri-solaris) 8%, var(--wri-oatmilk));
  opacity: 0;
  transform: scale(0.94);
  transition: opacity 0.16s ease, transform 0.24s cubic-bezier(0.2, 0.8, 0.2, 1);
  pointer-events: none;
}
#masthead .header-navigation ul.menu > li.menu-item:is(:hover, :focus-within)::before {
  opacity: 1;
  transform: scale(1);
}
#masthead .header-navigation ul.menu > li.menu-item:is(:hover, :focus-within) > a {
  color: var(--wri-solaris-access, #C13D1B);
}

/* 3. Current page keeps a quiet orange rule under its label. */
#masthead .header-navigation ul.menu > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent) > a::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  top: 50%;
  margin-top: 12px;
  height: 2px;
  border-radius: 2px;
  background: var(--wri-solaris-access, #C13D1B);
}

/* 4. The caret turns over instead of sitting still. */
#masthead .header-navigation ul.menu > li > a .dropdown-nav-toggle .kadence-svg-icon {
  transition: transform 0.26s cubic-bezier(0.2, 0.8, 0.2, 1);
}
#masthead .header-navigation ul.menu > li.menu-item:is(:hover, :focus-within) > a .dropdown-nav-toggle .kadence-svg-icon {
  transform: rotate(180deg);
}

/* 5. Forgiving hover. The panel opens at once and waits 160ms before it
      begins to close, so a wobble on the way down does not lose it. The
      panel sits flush under the item, so there is no gap to fall through. */
#masthead .header-navigation ul.menu li.menu-item-has-children > ul.sub-menu {
  top: 100%;
  margin-top: 0;
  min-width: 236px;
  padding: 8px;
  border: 1px solid rgba(25, 39, 51, 0.07);
  border-radius: 14px;
  background: #FFFFFF;
  box-shadow: 0 1px 2px rgba(25, 39, 51, 0.04), 0 14px 32px -10px rgba(25, 39, 51, 0.22);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(6px) scale(0.985);
  transform-origin: 24% top;
  transition: opacity 0.18s ease 0.16s, transform 0.18s ease 0.16s, visibility 0s linear 0.34s;
}
#masthead .header-navigation ul.menu li.menu-item-has-children:is(:hover, :focus-within) > ul.sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
  transition: opacity 0.16s ease 0s, transform 0.26s cubic-bezier(0.2, 0.8, 0.2, 1) 0s, visibility 0s linear 0s;
}

/* 6. Panel rows: 44px tall, pill hover, an orange rule that grows in.
      Rows arrive on a short stagger so the panel unfolds. */
#masthead .header-navigation ul.sub-menu > li {
  opacity: 0;
  transform: translateY(-5px);
  transition: opacity 0.01s, transform 0.01s;
}
#masthead .header-navigation li.menu-item-has-children:is(:hover, :focus-within) > ul.sub-menu > li {
  opacity: 1;
  transform: none;
  transition: opacity 0.24s ease, transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}
#masthead .header-navigation li.menu-item-has-children:is(:hover, :focus-within) > ul.sub-menu > li:nth-child(2) { transition-delay: 0.03s; }
#masthead .header-navigation li.menu-item-has-children:is(:hover, :focus-within) > ul.sub-menu > li:nth-child(3) { transition-delay: 0.06s; }
#masthead .header-navigation li.menu-item-has-children:is(:hover, :focus-within) > ul.sub-menu > li:nth-child(4) { transition-delay: 0.09s; }
#masthead .header-navigation li.menu-item-has-children:is(:hover, :focus-within) > ul.sub-menu > li:nth-child(5) { transition-delay: 0.12s; }
#masthead .header-navigation li.menu-item-has-children:is(:hover, :focus-within) > ul.sub-menu > li:nth-child(6) { transition-delay: 0.15s; }
#masthead .header-navigation li.menu-item-has-children:is(:hover, :focus-within) > ul.sub-menu > li:nth-child(n + 7) { transition-delay: 0.18s; }

#masthead .header-navigation ul.sub-menu > li > a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 14px 8px 18px;
  border-radius: 9px;
  transition: background 0.14s cubic-bezier(0.2, 0.7, 0.2, 1), color 0.14s cubic-bezier(0.2, 0.7, 0.2, 1);
}
#masthead .header-navigation ul.sub-menu > li > a::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 50%;
  width: 2px;
  height: 0;
  border-radius: 2px;
  background: var(--wri-solaris, #FF5C35);
  transform: translateY(-50%);
  transition: height 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}
#masthead .header-navigation ul.sub-menu > li > a:is(:hover, :focus-visible) {
  background: var(--wri-oatmilk, #FEF4EA);
  color: var(--wri-ink, #192733);
}
#masthead .header-navigation ul.sub-menu > li > a:is(:hover, :focus-visible)::before {
  height: 18px;
}

/* 7. Keyboard users get a real ring back. The theme hides focus outlines
      site wide; this restores one inside the header. */
#masthead .header-navigation ul.menu a:focus-visible,
#masthead .header-navigation button:focus-visible,
#masthead .mobile-navigation a:focus-visible,
#masthead button.menu-toggle-open:focus-visible,
#mobile-drawer a:focus-visible,
#mobile-drawer button:focus-visible {
  outline: 2px solid var(--wri-solaris, #FF5C35) !important;
  outline-offset: -3px !important;
  border-radius: 9px;
}

/* 8. Touch targets on small screens: 48px rows and a real 48px arrow. */
#mobile-drawer .mobile-navigation ul li > a,
#mobile-drawer .drawer-inner .mobile-navigation ul li > a {
  display: flex;
  align-items: center;
  min-height: 48px;
}
#mobile-drawer .drawer-nav-drop-wrap > .drawer-sub-toggle,
#mobile-drawer button.drawer-sub-toggle {
  min-width: 48px;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#masthead .mobile-toggle-open-container button.menu-toggle-open {
  min-width: 48px;
  min-height: 48px;
}

/* 9. Motion is a courtesy, not a requirement. */
@media (prefers-reduced-motion: reduce) {
  #masthead .header-navigation ul.menu > li.menu-item > a,
  #masthead .header-navigation ul.menu > li.menu-item::before,
  #masthead .header-navigation ul.menu > li > a .dropdown-nav-toggle .kadence-svg-icon,
  #masthead .header-navigation ul.menu li.menu-item-has-children > ul.sub-menu,
  #masthead .header-navigation ul.sub-menu > li,
  #masthead .header-navigation ul.sub-menu > li > a,
  #masthead .header-navigation ul.sub-menu > li > a::before {
    transition-duration: 0.01ms !important;
    transition-delay: 0s !important;
  }
  #masthead .header-navigation ul.menu li.menu-item-has-children > ul.sub-menu,
  #masthead .header-navigation ul.sub-menu > li {
    transform: none !important;
  }
  #masthead .header-navigation ul.menu > li.menu-item:is(:hover, :focus-within) > a .dropdown-nav-toggle .kadence-svg-icon {
    transform: rotate(180deg);
  }
}

/* 10. Kadence's fade preset parks a closed panel at height 1px and hands
       height back only on hover, which would snap the panel shut before the
       forgiving close above could play. Own the height; hide with opacity,
       visibility and pointer-events instead. */
#masthead .header-navigation ul.menu li.menu-item-has-children > ul.sub-menu {
  height: auto;
  overflow: visible;
}
/* 11. The theme parks a 24px invisible strip above every panel to cover
       the old gap between item and dropdown. That strip lies over the bottom
       of the parent link, so while a panel is open a click down there lands on
       nothing: the hover reads, the click dies. That is the whole "the menu is
       not clickable" report. The panel is flush under its item now, so the
       strip has no job left. Retired. */
#masthead .header-navigation ul.menu ul.sub-menu::before {
  content: none;
}
/* WRI-HEADER-NAV-END v1 */

