/* =====================================================================
   Roofing Giant — Design System v3 ("Giant")
   One global layer for every page: tokens, type, header, footer, page
   frames, content typography (including legacy Weebly markup), Site Kit
   components, homepage sections, blog, forms, dialogs.
   ===================================================================== */

/* 1. Tokens ---------------------------------------------------------- */
:root{
  --rg3-navy-900:#0A1B33;--rg3-navy-800:#0F2444;--rg3-navy-700:#16325C;--rg3-navy-500:#22467E;
  --rg3-red:#D8232A;--rg3-red-700:#B41C22;--rg3-red-050:#FCEDEE;
  --rg3-gold:#F2B705;--rg3-gold-700:#C99700;
  --rg3-ink:#0F172A;--rg3-text:#334155;--rg3-muted:#64748B;
  --rg3-soft:#F5F7FB;--rg3-tint:#E9EFF8;--rg3-line:#E2E8F0;--rg3-white:#fff;
  --rg3-radius:14px;--rg3-radius-lg:22px;--rg3-shadow:0 10px 30px rgba(10,27,51,.08);--rg3-shadow-lg:0 24px 60px rgba(10,27,51,.16);
  --rg3-wrap:1180px;--rg3-gutter:24px;--rg3-section:88px;
  --rg3-head:"Outfit","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rg3-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  /* Legacy layers read these; map them onto the new palette */
  --rg-primary:var(--rg3-navy-700);--rg-primary-dark:var(--rg3-navy-900);--rg-navy:var(--rg3-navy-900);--rg-accent:var(--rg3-gold);
  --rg-bg:var(--rg3-soft);--rg-tint:var(--rg3-tint);--rg-border:var(--rg3-line);--rg-heading:var(--rg3-ink);--rg-text:var(--rg3-text);--rg-muted:var(--rg3-muted);--rg-radius:var(--rg3-radius);--rg-shadow:var(--rg3-shadow);
  --rgw-primary:var(--rg3-navy-700);--rgw-primary-dark:var(--rg3-navy-900);--rgw-navy:var(--rg3-navy-900);--rgw-accent:var(--rg3-red);--rgw-ink:var(--rg3-ink);--rgw-text:var(--rg3-text);--rgw-muted:var(--rg3-muted);--rgw-bg:var(--rg3-soft);--rgw-tint:var(--rg3-tint);--rgw-border:var(--rg3-line);--rgw-radius:var(--rg3-radius);--rgw-shadow:var(--rg3-shadow);--rgw-red:var(--rg3-red);
}
/* Theme presets → new palette (blocks reference these variables) */
body{
  --wp--preset--color--primary:var(--rg3-red);--wp--preset--color--secondary:var(--rg3-gold);
  --wp--preset--color--light-shade:var(--rg3-tint);--wp--preset--color--dark-shade:var(--rg3-navy-900);
  --wp--preset--color--heading-color:var(--rg3-ink);--wp--preset--color--foreground:var(--rg3-text);
  --wp--preset--color--background-alt:var(--rg3-soft);--wp--preset--color--meta-color:var(--rg3-muted);
  --wp--preset--color--border-color:var(--rg3-line);--wp--preset--color--border-light-color:var(--rg3-line);
  --wp--preset--color--secondary-bg:var(--rg3-navy-900);
  --wp--preset--gradient--primary-gradient:linear-gradient(120deg,var(--rg3-navy-900) 0%,var(--rg3-navy-700) 100%);
  --wp--preset--gradient--light-shade-color:linear-gradient(180deg,var(--rg3-tint) 0%,var(--rg3-soft) 100%);
  --wp--style--global--content-size:1180px;--wp--style--global--wide-size:1400px;
}

/* 2. Base ------------------------------------------------------------ */
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001s!important;transition-duration:.001s!important}}
body{background:var(--rg3-white);color:var(--rg3-text);font-family:var(--rg3-body);font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6,.wp-block-heading,.wp-block-post-title{font-family:var(--rg3-head);color:var(--rg3-ink);font-weight:700;line-height:1.12;letter-spacing:-.022em;margin:0 0 .55em;text-transform:none}
h1,.wp-block-post-title{font-size:clamp(2.1rem,1.5rem + 2.4vw,3.35rem)}
h2{font-size:clamp(1.65rem,1.2rem + 1.6vw,2.45rem)}
h3{font-size:clamp(1.2rem,1.05rem + .5vw,1.45rem);line-height:1.25}
h4{font-size:1.12rem}h5{font-size:1rem}h6{font-size:.92rem}
p{margin:0 0 1.15em}
a{color:var(--rg3-navy-700);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .15s}
a:hover{color:var(--rg3-red)}
img,video{max-width:100%;height:auto}
figure{margin:0 0 1.4em}
figcaption{font-size:.9rem;color:var(--rg3-muted)}
hr,.wp-block-separator{border:0;border-top:1px solid var(--rg3-line);margin:2.2em 0;opacity:1}
ul,ol{padding-left:1.35em;margin:0 0 1.2em}li{margin-bottom:.45em}
blockquote,.wp-block-quote{border-left:4px solid var(--rg3-red);background:var(--rg3-soft);padding:18px 24px;border-radius:0 var(--rg3-radius) var(--rg3-radius) 0;margin:1.6em 0;font-size:1.05rem}
blockquote p:last-child{margin-bottom:0}
table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.97rem}
th,td{padding:12px 14px;border-bottom:1px solid var(--rg3-line);text-align:left;vertical-align:top}
th{background:var(--rg3-soft);color:var(--rg3-ink);font-weight:700}
strong,b{color:var(--rg3-ink);font-weight:700}
:focus-visible{outline:3px solid var(--rg3-navy-700);outline-offset:3px;border-radius:4px}
::selection{background:var(--rg3-navy-700);color:#fff}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;word-wrap:normal!important}

/* 3. Layout helpers ---------------------------------------------------- */
.rg3-wrap{width:min(var(--rg3-wrap),calc(100% - 2*var(--rg3-gutter)));margin-inline:auto}
.rg3-section{padding-block:var(--rg3-section)}
.rg3-section--tight{padding-block:56px}
.rg3-soft{background:var(--rg3-soft)}
.rg3-dark{background:var(--rg3-navy-900);color:rgba(255,255,255,.86)}
.rg3-dark h2,.rg3-dark h3,.rg3-dark h4{color:#fff}
.rg3-dark a{color:#fff}
.rg3-eyebrow,.rgw-eyebrow,.rg-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--rg3-body);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--rg3-red);margin:0 0 14px}
.rg3-eyebrow::before{content:"";width:22px;height:3px;border-radius:2px;background:var(--rg3-red)}
.rg3-dark .rg3-eyebrow{color:var(--rg3-gold)}.rg3-dark .rg3-eyebrow::before{background:var(--rg3-gold)}
.rg3-head{max-width:760px;margin-bottom:38px}
.rg3-head--center{text-align:center;margin-inline:auto}
.rg3-head--center .rg3-eyebrow{justify-content:center}
.rg3-head h2{margin-bottom:12px}
.rg3-head p,.rg3-lead,.rgw-lead,.rg-lead{font-size:1.15rem;line-height:1.7;color:var(--rg3-muted);margin:0 0 1em}
.rg3-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:34px}
.rg3-head-row .rg3-head{margin-bottom:0}
.rg3-grid{display:grid;gap:22px}
.rg3-grid-2{grid-template-columns:repeat(2,1fr)}.rg3-grid-3{grid-template-columns:repeat(3,1fr)}.rg3-grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.rg3-grid-4{grid-template-columns:repeat(2,1fr)}.rg3-grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.rg3-grid-2,.rg3-grid-3,.rg3-grid-4{grid-template-columns:1fr}}
.rg3-split{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
@media(max-width:900px){.rg3-split{grid-template-columns:1fr;gap:28px}}
.rg3-media{border-radius:var(--rg3-radius-lg);overflow:hidden;box-shadow:var(--rg3-shadow-lg)}
.rg3-media img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:640px){:root{--rg3-section:60px;--rg3-gutter:18px}}

/* 4. Buttons ----------------------------------------------------------- */
.rg3-btn,.rg-btn,.rgw-btn,.wp-block-button__link,.wp-element-button,.rg-form__form button,.rgw-tool .rgw-btn,.rg-drawer-actions a{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 26px;border-radius:999px;
  font-family:var(--rg3-body);font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none!important;border:2px solid transparent;cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease;white-space:nowrap}
.rg3-btn:hover,.rg-btn:hover,.rgw-btn:hover,.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(10,27,51,.16)}
/* Primary = brand red */
.rg3-btn--red,.rg-btn-primary,.rgw-btn:not(.rgw-btn--ghost):not(.rgw-btn--primary),.rg-form__form button[type=submit],.rgw-tool .rgw-btn,
.wp-block-button__link.has-primary-background-color,.wp-block-button:not(.is-style-outline) .wp-block-button__link:not(.has-background):not(.has-light-color-background-color),.rg-drawer-actions .rg-cta{
  background:var(--rg3-red)!important;color:#fff!important;border-color:var(--rg3-red)!important}
.rg3-btn--red:hover,.rg-btn-primary:hover,.rgw-btn:not(.rgw-btn--ghost):not(.rgw-btn--primary):hover{background:var(--rg3-red-700)!important;border-color:var(--rg3-red-700)!important}
/* Secondary = navy */
.rg3-btn--navy,.rgw-btn--primary,.wp-block-button__link.has-secondary-background-color,.wp-block-button__link.has-dark-shade-background-color,.rg-btn-secondary{
  background:var(--rg3-navy-800)!important;color:#fff!important;border-color:var(--rg3-navy-800)!important}
.rg3-btn--navy:hover,.rgw-btn--primary:hover,.rg-btn-secondary:hover{background:var(--rg3-navy-700)!important;border-color:var(--rg3-navy-700)!important}
/* Ghost (on dark) */
.rg3-btn--ghost,.rg-btn-outline,.rgw-btn--ghost,.is-style-outline .wp-block-button__link,.wp-block-button__link.has-light-color-background-color,.rg-drawer-actions .rg-call{
  background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.6)!important}
.rg3-btn--ghost:hover,.rg-btn-outline:hover,.rgw-btn--ghost:hover,.is-style-outline .wp-block-button__link:hover{background:rgba(255,255,255,.16)!important}
/* Outline (on light) */
.rg3-btn--outline{background:#fff!important;color:var(--rg3-navy-800)!important;border-color:var(--rg3-navy-800)!important}
.rg3-btn--outline:hover{background:var(--rg3-navy-800)!important;color:#fff!important}
.rg3-btn--sm,.rg-btn-sm{min-height:42px;padding:9px 18px;font-size:.92rem}
.rg3-btn svg,.rg-btn svg{width:18px;height:18px;flex:none}
.rg3-link{font-weight:700;color:var(--rg3-navy-700);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.rg3-link::after{content:"→";transition:transform .15s}.rg3-link:hover::after{transform:translateX(4px)}
.wp-block-buttons{gap:12px}

/* 5. Header ------------------------------------------------------------ */
.rg3-header{position:relative;z-index:60;background:#fff}
.rg3-topbar{background:var(--rg3-navy-900);color:rgba(255,255,255,.85);font-size:.84rem;line-height:1.3}
.rg3-topbar .rg3-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px}
.rg3-topbar a{color:#fff;text-decoration:none;font-weight:600}
.rg3-topbar a:hover{color:var(--rg3-gold)}
.rg3-topbar-left,.rg3-topbar-right{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.rg3-topbar-left span,.rg3-topbar-right span{display:inline-flex;align-items:center;gap:8px}
.rg3-topbar svg{width:15px;height:15px;opacity:.9}
.rg3-social{display:flex;gap:6px;margin-left:6px}
.rg3-social a{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08)}
.rg3-social a:hover{background:var(--rg3-red);color:#fff}
.rg3-social svg{width:14px;height:14px;fill:currentColor}
.rg3-mainbar{position:sticky;top:0;z-index:70;background:#fff;border-bottom:1px solid var(--rg3-line);box-shadow:0 1px 0 rgba(10,27,51,.03)}
/* no transform/filter/backdrop-filter on header ancestors: the navigation overlay is position:fixed */
.rg3-mainbar-row{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:82px}
.rg3-logo{flex:none;display:flex;align-items:center}
.rg3-logo img{height:44px;width:auto;display:block}
.rg3-header-cta{display:flex;align-items:center;gap:18px;flex:none}
.rg3-phone{display:inline-flex;align-items:center;gap:9px;font-weight:700;color:var(--rg3-ink);text-decoration:none;font-size:1.02rem;white-space:nowrap}
.rg3-phone svg{width:20px;height:20px;color:var(--rg3-red)}
.rg3-phone small{display:block;font-size:.72rem;font-weight:600;color:var(--rg3-muted);letter-spacing:.06em;text-transform:uppercase}
.rg3-phone:hover{color:var(--rg3-red)}
.rg3-header .rg3-btn{min-height:46px;padding:11px 20px}
.rg3-mainbar-row{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px}
.rg3-nav{justify-self:center;min-width:0;max-width:100%}
.rg3-nav .wp-block-navigation__container{flex-wrap:nowrap}

/* navigation block (desktop) */
.rg3-nav{font-family:var(--rg3-body)}
.rg3-nav .wp-block-navigation__container{gap:2px}
.rg3-nav .wp-block-navigation-item__content{white-space:nowrap;padding:8px 10px;border-radius:10px;font-weight:600;font-size:.95rem;color:var(--rg3-ink);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.rg3-nav .wp-block-navigation-item__content:hover,.rg3-nav .current-menu-item>.wp-block-navigation-item__content{color:var(--rg3-red);background:var(--rg3-soft)}
.rg3-nav .wp-block-navigation__submenu-icon{margin-left:2px;width:.75em;height:.75em;opacity:.6}
.rg3-nav .wp-block-navigation__submenu-container{background:#fff;border:1px solid var(--rg3-line);border-radius:14px;box-shadow:var(--rg3-shadow-lg);padding:10px;min-width:260px;margin-top:8px}
.rg3-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{display:block;padding:10px 14px;border-radius:9px;color:var(--rg3-text);font-weight:600;font-size:.95rem}
.rg3-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:var(--rg3-soft);color:var(--rg3-red)}
.rg3-nav .wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon{display:none}
/* mobile hamburger + overlay: mobile behaviour up to 899px (matches mobile.js) */
.rg3-nav .wp-block-navigation__responsive-container-open{color:var(--rg3-navy-900);padding:8px;border-radius:10px;border:1px solid var(--rg3-line)}
.rg3-nav .wp-block-navigation__responsive-container-open svg{width:26px;height:26px}
.rg3-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--rg3-navy-900);color:#fff;padding:24px 22px 40px}
.rg3-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{color:#fff;font-size:1.15rem;padding:14px 8px;border-radius:8px;border-bottom:1px solid rgba(255,255,255,.08)}
.rg3-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:0;width:100%}
.rg3-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%}
.rg3-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{background:rgba(255,255,255,.06);border:0;box-shadow:none;border-radius:10px;padding:4px 0 8px 14px;margin:0 0 6px;min-width:0}
.rg3-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{color:rgba(255,255,255,.85);font-size:1rem;padding:10px 8px;border-bottom:0}
.rg3-nav .wp-block-navigation__responsive-container-close{color:#fff;top:18px;right:18px;padding:8px;border-radius:10px;border:1px solid rgba(255,255,255,.3)}
.rg3-nav .wp-block-navigation__responsive-container-close svg{width:24px;height:24px}
.rg3-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon{display:inline-flex;margin-left:auto;padding:6px;width:36px;height:36px;color:#fff;opacity:.8}
html.rg-js .is-menu-open .wp-block-navigation-submenu>.wp-block-navigation__submenu-container{display:none}
html.rg-js .is-menu-open .wp-block-navigation-submenu.rg-open>.wp-block-navigation__submenu-container{display:flex;flex-direction:column}
.is-menu-open .wp-block-navigation-submenu.rg-open>.wp-block-navigation__submenu-icon{transform:rotate(180deg)}
.rg-drawer-actions{display:flex;flex-direction:column;gap:10px;margin-top:26px;width:100%}
.rg-drawer-actions a{width:100%}
.rg-drawer-meta{margin-top:14px;font-size:.9rem;opacity:.75;text-align:center}


/* 6. Page hero + breadcrumbs ------------------------------------------- */
.rg3-page-hero{position:relative;background:var(--rg3-navy-900);color:#fff;padding:52px 0 46px;overflow:hidden;isolation:isolate}
.rg3-page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 400px at 85% -20%,rgba(216,35,42,.35),transparent 60%),radial-gradient(700px 360px at 10% 120%,rgba(34,70,126,.7),transparent 60%);z-index:-1}
.rg3-page-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent);z-index:-1}
.rg3-page-hero .wp-block-post-title,.rg3-page-hero h1{color:#fff;margin:6px 0 0;max-width:22ch;font-size:clamp(1.9rem,1.3rem + 2.2vw,3rem)}
.rg3-page-hero .rg3-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;color:rgba(255,255,255,.75);font-size:.92rem;font-weight:600}
.rg3-page-hero .rg3-meta a{color:#fff;text-decoration:none}
.rg3-page-hero .wp-block-post-date,.rg3-page-hero .wp-block-post-terms{color:rgba(255,255,255,.75);font-size:.92rem;font-weight:600}
.rg3-page-hero .wp-block-post-terms a{color:var(--rg3-gold);text-decoration:none}
.rgw-crumbs{margin:0 0 14px;font-size:.86rem}
.rgw-crumbs ol{color:rgba(255,255,255,.65)}
.rgw-crumbs li+li::before{color:rgba(255,255,255,.4)}
.rg3-page-hero .rgw-crumbs a{color:rgba(255,255,255,.85)!important}
.rg3-page-hero .rgw-crumbs [aria-current]{color:#fff}
.rg3-page-hero .rg3-wrap>*{margin-left:0!important;margin-right:0!important}
.rg3-content .rgw-crumbs{display:none}
.rg3-page-hero--blog .wp-block-post-title{max-width:28ch}

/* 7. Content frame ------------------------------------------------------ */
.rg3-main{display:block}
.rg3-content{padding:52px var(--rg3-gutter) 64px}
.rg3-main>.rg3-section,.rg3-main>.wp-block-group.rg3-section{padding-inline:var(--rg3-gutter)}
.rg3-content .entry-content>*{margin-left:0!important;margin-right:0!important}
.rg3-content .entry-content>p,.rg3-content .entry-content>ul,.rg3-content .entry-content>ol,.rg3-content .entry-content>blockquote,.rg3-content .entry-content>h2,.rg3-content .entry-content>h3,.rg3-content .entry-content>h4{max-width:78ch}
.rg3-content .entry-content>h2{margin-top:1.9em}
.rg3-content .entry-content>h3{margin-top:1.5em}
.rg3-content .entry-content>h2:first-child,.rg3-content .entry-content>h3:first-child{margin-top:0}
.rg3-content .entry-content .rgw-lead{max-width:78ch}
.rg3-content img{border-radius:12px}
.rg3-content .rgw-map svg,.rg3-content .rgw-figure svg,.rg3-content .rg-card img,.rg3-content .wp-block-image.is-style-rounded img{border-radius:0}
.rg3-content .wp-block-image img{border-radius:12px}
.rg3-content iframe{max-width:100%;border:0;border-radius:12px}
.rg3-content iframe[src*="youtube"],.rg3-content iframe[src*="youtu.be"],.rg3-content iframe[src*="vimeo"]{width:100%;aspect-ratio:16/9;height:auto;min-height:0}
.rg3-content iframe[src*="google.com/maps"]{width:100%;min-height:360px}
.rg3-content .wp-block-columns{gap:28px}
.rg3-content .wp-block-group.has-background{border-radius:var(--rg3-radius);padding:28px}
/* article measure for single posts */
.rg3-article .entry-content{max-width:820px;margin-inline:auto!important}
.rg3-article .entry-content>*{max-width:none}
.rg3-article .entry-content>p,.rg3-article .entry-content>ul,.rg3-article .entry-content>ol{max-width:none}
.rg3-article .wp-block-post-featured-image{margin:0 auto 30px;max-width:820px}
.rg3-article .wp-block-post-featured-image img{border-radius:var(--rg3-radius-lg);width:100%;height:auto}
.rg3-article-foot{max-width:820px;margin:34px auto 0;padding-top:22px;border-top:1px solid var(--rg3-line);font-size:.95rem;color:var(--rg3-muted)}
/* legacy Weebly export markup */
.wsite-multicol,.wsite-multicol-table-wrap{margin:0!important}
.wsite-multicol-table{width:100%!important;border-collapse:collapse;margin:0}
.wsite-multicol-table td,.wsite-multicol-table tr{border:0;background:transparent}
.wsite-multicol-col{vertical-align:top;padding:0 15px}
.wsite-multicol-col:first-child{padding-left:0}.wsite-multicol-col:last-child{padding-right:0}
.wsite-image{padding:0!important;margin:0 0 18px!important}
.wsite-image img,.wsite-image a img{max-width:100%!important;height:auto!important;width:auto;border-radius:12px;display:inline-block}
.wsite-image div{font-size:.9rem;color:var(--rg3-muted)}
div.paragraph{margin:0 0 1.15em;line-height:1.7}
.wsite-spacer{height:24px!important}
.wsite-headline,.wsite-content-title{font-family:var(--rg3-head);color:var(--rg3-ink);font-weight:700;font-size:1.4rem;line-height:1.25;margin:0 0 14px}
.wsite-button,.wsite-button-large{display:inline-flex!important;align-items:center;min-height:48px;padding:12px 24px;border-radius:999px;background:var(--rg3-red)!important;color:#fff!important;font-weight:700;text-decoration:none!important}
.wsite-button-inner{background:none!important;color:#fff!important;padding:0!important}
.wsite-form-label{font-weight:600;color:var(--rg3-ink)}
.wsite-form-input,.wsite-form-input textarea,.wsite-form-input input{width:100%;padding:10px 12px;border:1px solid #c9d1e3;border-radius:10px;font:inherit}
@media(max-width:700px){.wsite-multicol-table,.wsite-multicol-tbody,.wsite-multicol-tr,.wsite-multicol-col{display:block;width:100%!important;padding:0!important}.wsite-multicol-col{margin-bottom:8px}}
/* embedded legacy forms / tables that carry inline widths */
.rg3-content table[style*="width"]{width:100%!important}
.rg3-content [style*="font-family"]{font-family:inherit!important}
/* CTA band block (reusable block 1153 + rg-cta) */
.rg-cta-band{background:linear-gradient(120deg,var(--rg3-navy-900) 0%,var(--rg3-navy-700) 100%)!important;padding:64px var(--rg3-gutter)!important;position:relative;overflow:hidden}
.rg-cta-band::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(216,35,42,.45),transparent 65%)}
.rg-cta-band>*{position:relative}
.rg-cta-band h2{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem)}
.rg-cta-band p{color:rgba(255,255,255,.85);max-width:60ch;margin-inline:auto}
.rg-cta-band .wp-block-buttons{margin-top:26px}
.rg-cta{margin:48px 0 8px;border-radius:var(--rg3-radius-lg);background:linear-gradient(120deg,var(--rg3-navy-900) 0%,var(--rg3-navy-700) 100%);color:#fff;padding:40px}
.rg-cta__inner{display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.rg-cta h3{color:#fff;margin:0 0 6px;font-size:1.5rem;line-height:1.25}.rg-cta p{margin:0;color:rgba(255,255,255,.88);font-size:1.02rem}
.rg-cta__actions{display:flex;gap:12px;flex-wrap:wrap}
.rg-cta .rg-btn-primary{background:#fff!important;color:var(--rg3-navy-900)!important;border-color:#fff!important}
.rgw-cta{background:linear-gradient(120deg,var(--rg3-navy-900) 0%,var(--rg3-navy-700) 100%)}
.rgw-cta .rgw-btn:not(.rgw-btn--ghost){background:var(--rg3-red)!important;color:#fff!important;border-color:var(--rg3-red)!important}

/* 8. Site Kit components ------------------------------------------------ */
.rg-grid{display:grid;gap:22px;margin:30px 0}
.rg-grid-2{grid-template-columns:repeat(2,1fr)}.rg-grid-3{grid-template-columns:repeat(3,1fr)}.rg-grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.rg-grid-3,.rg-grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.rg-grid-2,.rg-grid-3,.rg-grid-4{grid-template-columns:1fr}}
.rg-card{background:#fff;border:1px solid var(--rg3-line);border-radius:var(--rg3-radius);padding:26px;box-shadow:0 1px 2px rgba(10,27,51,.04);transition:transform .2s,box-shadow .2s,border-color .2s}
.rg-card:hover{transform:translateY(-3px);box-shadow:var(--rg3-shadow);border-color:#cfd8e6}
.rg-card h3{font-size:1.15rem;margin:14px 0 8px}.rg-card p{margin:0 0 10px;color:var(--rg3-muted);font-size:.97rem;line-height:1.6}.rg-card p:last-child{margin-bottom:0}
.rg-card-icon{width:54px;height:54px;border-radius:14px;background:var(--rg3-tint);color:var(--rg3-navy-700);display:flex;align-items:center;justify-content:center}
.rg-card-icon .rg-icon{width:28px;height:28px}
.rg-icon{display:inline-flex;width:24px;height:24px;vertical-align:middle;color:currentColor;flex:none}
.rg-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rg-card-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-weight:700;color:var(--rg3-navy-700);text-decoration:none}
.rg-card-link:hover{color:var(--rg3-red)}
.rg-checklist,.rgw-check{list-style:none;padding:0;margin:0 0 18px}
.rg-checklist li,.rgw-check li{position:relative;padding-left:32px;margin:0 0 10px;line-height:1.55}
.rg-checklist li::before,.rgw-check li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--rg3-red-050) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D8232A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center/12px no-repeat}
.rgw-check li::after{display:none}
.rg-steps,.rgw-steps{list-style:none;counter-reset:rg;padding:0;margin:30px 0;display:grid;gap:16px}
.rg-step{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--rg3-line);border-radius:var(--rg3-radius);padding:22px 24px;counter-increment:rg}
.rg-step::before{content:counter(rg);width:40px;height:40px;border-radius:50%;background:var(--rg3-navy-800);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;font-family:var(--rg3-head)}
.rg-step h3{margin:6px 0 6px;font-size:1.1rem}.rg-step p{margin:0;color:var(--rg3-muted)}.rg-step__icon{display:none}
@media(min-width:900px){.rg-steps{grid-template-columns:repeat(2,1fr)}}
.rg-faq{margin:24px 0}
.rg-faq__item{border:1px solid var(--rg3-line);border-radius:14px;background:#fff;margin-bottom:12px;overflow:hidden}
.rg-faq__item summary{cursor:pointer;padding:18px 56px 18px 22px;font-weight:700;color:var(--rg3-ink);list-style:none;position:relative;font-size:1.02rem;font-family:var(--rg3-body)}
.rg-faq__item summary::-webkit-details-marker{display:none}
.rg-faq__item summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--rg3-tint);color:var(--rg3-navy-700);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem}
.rg-faq__item[open] summary::after{content:"–";background:var(--rg3-navy-800);color:#fff}
.rg-faq__item[open] summary{border-bottom:1px solid var(--rg3-line)}
.rg-faq__a{padding:16px 22px 20px;color:var(--rg3-text);line-height:1.65}
.rg-faq__a p:last-child{margin-bottom:0}
.rg-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}
@media(max-width:900px){.rg-trust{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.rg-trust{grid-template-columns:1fr}}
.rg-trust__item{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--rg3-line);border-radius:var(--rg3-radius);padding:18px}
.rg-trust__icon{width:42px;height:42px;border-radius:12px;background:var(--rg3-tint);color:var(--rg3-navy-700);display:flex;align-items:center;justify-content:center;flex:none}
.rg-trust__icon .rg-icon{width:22px;height:22px}
.rg-trust__item strong{display:block;color:var(--rg3-ink);margin-bottom:2px}
.rg-trust__item span{color:var(--rg3-muted);font-size:.92rem;line-height:1.5}
.rg-two{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
@media(max-width:800px){.rg-two{grid-template-columns:1fr}}
.rg-stars{color:var(--rg3-gold);letter-spacing:2px;font-size:20px;line-height:1}
.rg-tags-plain{font-weight:600;color:var(--rg3-navy-800)}
.rg-reviews-summary{display:flex;align-items:center;gap:14px;font-size:1.1rem;flex-wrap:wrap}
.rg-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:24px 0}
@media(max-width:900px){.rg-reviews-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.rg-reviews-grid{grid-template-columns:1fr}}
.rg-review-card{background:#fff;border:1px solid var(--rg3-line);border-radius:var(--rg3-radius);padding:24px;display:flex;flex-direction:column;gap:10px}
.rg-review-card p{margin:0;color:var(--rg3-text);line-height:1.6}
.rg-review-head{display:flex;gap:12px;align-items:center}
.rg-review-avatar{width:44px;height:44px;border-radius:50%;background:var(--rg3-navy-700);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.rg-review-name{font-weight:700;color:var(--rg3-ink)}.rg-review-date{font-size:.85rem;color:var(--rg3-muted)}
.rg-phone{font-weight:700;color:var(--rg3-navy-800);text-decoration:none;white-space:nowrap}
.rg-areas{columns:3;column-gap:32px}.rg-areas li{break-inside:avoid}
@media(max-width:800px){.rg-areas{columns:2}}@media(max-width:500px){.rg-areas{columns:1}}
.rg-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:14px;margin:24px 0}
.rg-swatch{border:1px solid var(--rg3-line);border-radius:12px;overflow:hidden;background:#fff;text-align:center;font-size:.85rem}
.rg-swatch img{width:100%;height:80px;object-fit:cover;border-radius:0}
.rg-video,.rg-embed{border-radius:var(--rg3-radius-lg);overflow:hidden;box-shadow:var(--rg3-shadow)}
.rg-video video{width:100%;display:block}
.rg-quotes blockquote{margin:0 0 16px}
.rg-about-photo img{border-radius:var(--rg3-radius-lg)}
.rg-about-logo img,.rg3-content img[src*="logo"]{max-width:320px;height:auto}
.rg-fineprint,.rgw-fineprint{font-size:.85rem;color:var(--rg3-muted)}
/* Site Kit lead form */
.rg-form{background:#fff;border:1px solid var(--rg3-line);border-radius:var(--rg3-radius-lg);padding:32px;margin:34px 0;box-shadow:var(--rg3-shadow)}
.rg-form--compact{padding:24px}
.rg-form__title{font-size:1.45rem;margin:0 0 6px}
.rg-form__intro{color:var(--rg3-muted);margin:0 0 20px}
.rg-form__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 20px}
.rg-form__full{grid-column:1/-1}
@media(max-width:640px){.rg-form__grid{grid-template-columns:1fr}}
.rg-form label{display:block;font-weight:600;color:var(--rg3-ink);margin-bottom:6px;font-size:.95rem}
.rg-form label span{color:var(--rg3-red)}
.rg-form input:not([type=checkbox]):not([type=radio]),.rg-form select,.rg-form textarea{width:100%;min-height:48px;padding:11px 14px;border:1px solid #c9d1e3;border-radius:11px;font:inherit;color:var(--rg3-ink);background:#fff;transition:border-color .15s,box-shadow .15s}
.rg-form textarea{min-height:120px;resize:vertical}
.rg-form input:focus,.rg-form select:focus,.rg-form textarea:focus{outline:none;border-color:var(--rg3-navy-700);box-shadow:0 0 0 4px rgba(34,70,126,.15)}
.rg-form__foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px}
.rg-form__note{color:var(--rg3-muted);font-size:.92rem}
.rg-form__msg{margin-top:14px;font-weight:600}
.rg-form__msg:not(:empty){padding:12px 14px;border-radius:10px;background:var(--rg3-red-050);color:var(--rg3-red-700)}
.rg-form__done{padding:22px;border-radius:12px;background:#ecfdf5;color:#065f46;font-weight:600}
.rg-form__privacy{font-size:.82rem;color:var(--rg3-muted);margin:14px 0 0}
.rg-hp{position:absolute;left:-9999px}

/* 9. World-class layer (rgw) alignment --------------------------------- */
.rgw-card-ic{background:var(--rg3-tint);color:var(--rg3-navy-700)}
.rgw-card--tool .rgw-card-ic{background:var(--rg3-red-050);color:var(--rg3-red-700)}
.rgw-card-more,.rgw-crumbs a,.rgw-chips a:hover{color:var(--rg3-navy-700)}
.rgw-stats li{background:var(--rg3-navy-900)}.rgw-stats strong{color:var(--rg3-gold)}
.rgw-map-city circle{fill:var(--rg3-navy-700)}
.rgw-map-office path{fill:var(--rg3-gold);stroke:var(--rg3-gold-700)}
.rgw-callout{border-left-color:var(--rg3-gold)}
.rgw-result .rgw-big{color:var(--rg3-navy-800)}
.rgw-btn.rg-acuity-schedule{background:var(--rg3-red)!important;color:#fff!important}
.rgw-facts dd{color:var(--rg3-ink)}
.rgw-home-sec{padding:0}

/* 10. Blog cards, archives, search --------------------------------------- */
.rg3-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0}
@media(max-width:980px){.rg3-posts{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.rg3-posts{grid-template-columns:1fr}}
.rg3-posts .wp-block-post-template{display:contents}
.rg3-post-card,.rg-blog-card{background:#fff;border:1px solid var(--rg3-line);border-radius:var(--rg3-radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 2px rgba(10,27,51,.04)}
.rg3-post-card:hover,.rg-blog-card:hover{transform:translateY(-4px);box-shadow:var(--rg3-shadow)}
.rg3-post-card .wp-block-post-featured-image{margin:0}
.rg3-post-card .wp-block-post-featured-image img,.rg-blog-card__media img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-radius:0}
.rg3-post-card .wp-block-post-featured-image:empty{display:none}
.rg3-post-card .rg3-post-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.rg3-post-card .wp-block-post-terms,.rg-blog-card__kicker{font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rg3-red);margin:0}
.rg3-post-card .wp-block-post-terms a{color:inherit;text-decoration:none}
.rg3-post-card .wp-block-post-title,.rg-blog-card h3{font-size:1.2rem;line-height:1.3;margin:0}
.rg3-post-card .wp-block-post-title a,.rg-blog-card h3 a{color:var(--rg3-ink);text-decoration:none}
.rg3-post-card .wp-block-post-title a:hover,.rg-blog-card h3 a:hover{color:var(--rg3-red)}
.rg3-post-card .wp-block-post-excerpt,.rg-blog-card__body p{color:var(--rg3-muted);font-size:.95rem;line-height:1.6;margin:0}
.rg3-post-card .wp-block-post-excerpt__more-link{display:none}
.rg3-post-card .wp-block-post-date{font-size:.85rem;color:var(--rg3-muted);margin-top:auto;padding-top:8px}
.rg-blog-card__body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.rg-blog-card__more{margin-top:auto;font-weight:700;color:var(--rg3-navy-700);text-decoration:none}
.rg-blog-grid{margin:0}
.wp-block-query-pagination{margin-top:36px;justify-content:center;gap:8px;font-weight:600}
.wp-block-query-pagination a,.wp-block-query-pagination .page-numbers{padding:8px 14px;border-radius:10px;border:1px solid var(--rg3-line);text-decoration:none;color:var(--rg3-ink)}
.wp-block-query-pagination .page-numbers.current{background:var(--rg3-navy-800);color:#fff;border-color:var(--rg3-navy-800)}
.wp-block-query-pagination a:hover{background:var(--rg3-soft)}
.rg3-search{max-width:640px;margin:18px 0 0}
.rg3-search .wp-block-search__inside-wrapper{border:0;gap:10px}
.rg3-search .wp-block-search__input{min-height:50px;border:1px solid #c9d1e3;border-radius:999px;padding:10px 20px;font:inherit}
.rg3-search .wp-block-search__button{border-radius:999px;background:var(--rg3-red);color:#fff;border:0;padding:12px 22px;font-weight:700}
.rg3-page-hero .rg3-search .wp-block-search__input{border-color:transparent}
.rg3-noresults{padding:40px;text-align:center;background:var(--rg3-soft);border-radius:var(--rg3-radius-lg)}

/* 11. Homepage ----------------------------------------------------------- */
.rg3-hero{position:relative;color:#fff;min-height:min(78vh,720px);display:flex;align-items:center;isolation:isolate;overflow:hidden;background:var(--rg3-navy-900)}
.rg3-hero-bg{position:absolute;inset:0;z-index:-2}
.rg3-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
.rg3-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(10,27,51,.93) 0%,rgba(10,27,51,.72) 48%,rgba(10,27,51,.28) 100%)}
.rg3-hero .rg3-wrap{padding:96px 0 84px;display:grid;grid-template-columns:minmax(0,640px) 1fr;gap:40px;align-items:center}
.rg3-hero h1{color:#fff;font-size:clamp(2.4rem,1.6rem + 3.2vw,4.1rem);margin:0 0 18px;max-width:14ch;text-wrap:balance}
.rg3-hero .rg3-eyebrow{color:var(--rg3-gold)}.rg3-hero .rg3-eyebrow::before{background:var(--rg3-gold)}
.rg3-hero-sub{font-size:1.2rem;line-height:1.6;color:rgba(255,255,255,.88);max-width:52ch;margin:0 0 30px}
.rg3-hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.rg3-hero-actions .rg3-btn{min-height:54px;padding:15px 30px;font-size:1.05rem}
.rg3-hero-proof{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:34px;padding-top:26px;border-top:1px solid rgba(255,255,255,.18);font-size:.92rem;font-weight:600;color:rgba(255,255,255,.9)}
.rg3-hero-proof span{display:inline-flex;align-items:center;gap:8px}
.rg3-hero-proof svg{width:18px;height:18px;color:var(--rg3-gold)}
.rg3-hero-card{justify-self:end;width:min(100%,380px);background:rgba(255,255,255,.96);color:var(--rg3-ink);border-radius:var(--rg3-radius-lg);padding:28px;box-shadow:var(--rg3-shadow-lg)}
.rg3-hero-card h2{font-size:1.35rem;margin:0 0 6px}
.rg3-hero-card p{color:var(--rg3-muted);font-size:.95rem;margin:0 0 18px}
.rg3-hero-card ul{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px}
.rg3-hero-card li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--rg3-text);margin:0}
.rg3-hero-card li svg{width:20px;height:20px;color:var(--rg3-red);flex:none;margin-top:2px}
.rg3-hero-card .rg3-btn{width:100%}
.rg3-hero-card small{display:block;text-align:center;margin-top:12px;color:var(--rg3-muted);font-size:.82rem}
@media(max-width:980px){.rg3-hero .rg3-wrap{grid-template-columns:1fr;padding:72px 0 64px}.rg3-hero-card{justify-self:start;width:100%;max-width:520px}}
@media(max-width:640px){.rg3-hero{min-height:0}.rg3-hero .rg3-wrap{padding:52px 0 48px}.rg3-hero-actions .rg3-btn{width:100%}.rg3-hero h1{max-width:none}}
/* stats */
.rg3-stats{background:var(--rg3-navy-800);color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.rg3-stats .rg3-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:34px 0}
.rg3-stat{text-align:center;padding:10px 12px;border-right:1px solid rgba(255,255,255,.1)}
.rg3-stat:last-child{border-right:0}
.rg3-stat strong{display:block;font-family:var(--rg3-head);font-size:clamp(2rem,1.5rem + 1.5vw,2.8rem);line-height:1;color:var(--rg3-gold);margin-bottom:6px}
.rg3-stat span{font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.8)}
@media(max-width:800px){.rg3-stats .rg3-wrap{grid-template-columns:repeat(2,1fr)}.rg3-stat:nth-child(2){border-right:0}}
/* trust logos row */
.rg3-trustrow{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 34px;align-items:center;margin-top:34px}
.rg3-trustrow span{display:inline-flex;align-items:center;gap:9px;font-weight:700;color:var(--rg3-navy-800);font-size:.95rem}
.rg3-trustrow svg{width:20px;height:20px;color:var(--rg3-red)}
/* credentials */
.rg3-cred{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:900px){.rg3-cred{grid-template-columns:1fr}}
.rg3-cred-card{background:#fff;border:1px solid var(--rg3-line);border-radius:var(--rg3-radius-lg);padding:34px 28px;text-align:center;box-shadow:0 1px 2px rgba(10,27,51,.04)}
.rg3-cred-card img{height:110px;width:auto;margin:0 auto 18px;display:block;border-radius:0}
.rg3-cred-card h3{font-size:1.2rem;margin:0 0 8px}
.rg3-cred-card p{color:var(--rg3-muted);margin:0;font-size:.97rem}
.rg3-cred-card p strong{color:var(--rg3-ink)}
/* why */
.rg3-why{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:1000px){.rg3-why{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.rg3-why{grid-template-columns:1fr}}
.rg3-why-item{background:#fff;border:1px solid var(--rg3-line);border-radius:var(--rg3-radius);padding:24px 22px;display:flex;flex-direction:column;gap:10px}
.rg3-why-item img{width:48px;height:48px;object-fit:contain;border-radius:0;filter:none}
.rg3-why-item h3{font-size:1.05rem;margin:4px 0 0;line-height:1.3}
.rg3-why-item p{color:var(--rg3-muted);font-size:.93rem;line-height:1.55;margin:0}
/* process */
.rg3-process{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:step}
@media(max-width:980px){.rg3-process{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.rg3-process{grid-template-columns:1fr}}
.rg3-step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--rg3-radius);padding:26px 22px;counter-increment:step;position:relative}
.rg3-step::before{content:"0" counter(step);font-family:var(--rg3-head);font-size:2.2rem;font-weight:800;color:var(--rg3-gold);line-height:1;display:block;margin-bottom:14px;opacity:.95}
.rg3-step h3{color:#fff;font-size:1.12rem;margin:0 0 8px}
.rg3-step p{color:rgba(255,255,255,.78);margin:0;font-size:.95rem;line-height:1.6}
/* projects */
.rg3-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rg3-gallery figure{margin:0;border-radius:var(--rg3-radius);overflow:hidden;aspect-ratio:4/3;background:var(--rg3-tint)}
.rg3-gallery img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;transition:transform .5s ease}
.rg3-gallery figure:hover img{transform:scale(1.04)}
.rg3-gallery--thumbs{grid-template-columns:repeat(5,1fr);gap:12px;margin-top:16px}
.rg3-gallery--thumbs figure{aspect-ratio:1.15}
@media(max-width:900px){.rg3-gallery{grid-template-columns:repeat(2,1fr)}.rg3-gallery--thumbs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.rg3-gallery--thumbs{grid-template-columns:repeat(2,1fr)}}
.rg3-subhead{font-size:1.1rem;margin:30px 0 12px;color:var(--rg3-ink)}
/* reviews */
.rg3-reviews{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
@media(max-width:900px){.rg3-reviews{grid-template-columns:1fr}}
.rg3-reviews .rg3-media iframe{width:100%;aspect-ratio:16/9;height:auto;display:block;border:0}
.rg3-reviews-widget{background:#fff;border:1px solid var(--rg3-line);border-radius:var(--rg3-radius-lg);padding:22px;overflow:hidden;min-height:200px}
.rg3-reviews-widget .ti-widget{margin:0}
/* system */
.rg3-system .rg3-media video{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;background:#000}
.rg3-warranty{display:inline-flex;align-items:center;gap:12px;background:var(--rg3-red-050);color:var(--rg3-red-700);border-radius:999px;padding:8px 16px 8px 10px;font-weight:700;margin:18px 0 0}
.rg3-warranty img{width:34px;height:34px;object-fit:contain;border-radius:0}
/* areas */
.rg3-areas{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}
@media(max-width:900px){.rg3-areas{grid-template-columns:1fr}}
.rg3-areas .rgw-map{margin:0}
.rg3-chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0 0 22px}
.rg3-chips li{margin:0}
.rg3-chips a{display:inline-flex;min-height:42px;align-items:center;padding:8px 16px;border-radius:999px;background:#fff;border:1px solid var(--rg3-line);color:var(--rg3-ink);font-weight:600;text-decoration:none;font-size:.95rem}
.rg3-chips a:hover{border-color:var(--rg3-navy-700);color:var(--rg3-navy-700);background:var(--rg3-soft)}
/* recommend + blog */
.rg3-recommend{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
@media(max-width:900px){.rg3-recommend{grid-template-columns:1fr}}
.rg3-recommend .rg-checklist li{font-size:1.02rem}
/* finance strip */
.rg3-finance{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:#fff;border:1px solid var(--rg3-line);border-radius:var(--rg3-radius-lg);padding:30px 34px;box-shadow:var(--rg3-shadow)}
.rg3-finance h2{font-size:1.5rem;margin:0 0 4px}
.rg3-finance p{margin:0;color:var(--rg3-muted)}
/* final cta */
.rg3-cta{position:relative;background:linear-gradient(120deg,var(--rg3-navy-900) 0%,var(--rg3-navy-700) 100%);color:#fff;text-align:center;padding:84px 0;overflow:hidden}
.rg3-cta::before{content:"";position:absolute;right:-140px;top:-140px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(216,35,42,.5),transparent 65%)}
.rg3-cta .rg3-wrap{position:relative;max-width:760px}
.rg3-cta h2{color:#fff;font-size:clamp(1.8rem,1.3rem + 1.8vw,2.6rem);margin-bottom:12px}
.rg3-cta p{color:rgba(255,255,255,.85);font-size:1.12rem;margin:0 auto 26px;max-width:56ch}
.rg3-cta .rg3-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.rg3-cta small{display:block;margin-top:18px;color:rgba(255,255,255,.65);font-size:.88rem}

/* 12. Footer ------------------------------------------------------------- */
.rg3-footer{background:var(--rg3-navy-900);color:rgba(255,255,255,.78);font-size:.95rem;margin-top:0}
.rg3-footer a{color:rgba(255,255,255,.85);text-decoration:none}
.rg3-footer a:hover{color:var(--rg3-gold)}
.rg3-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:40px;padding:64px 0 44px}
@media(max-width:980px){.rg3-footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.rg3-footer-grid{grid-template-columns:1fr;gap:30px;padding:48px 0 30px}}
.rg3-footer-brand img{height:44px;width:auto;margin-bottom:16px;border-radius:0}
.rg3-footer-brand p{margin:0 0 12px;line-height:1.65}
.rg3-footer h2{font-family:var(--rg3-body);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 16px}
.rg3-footer ul{list-style:none;margin:0;padding:0}
.rg3-footer li{margin:0 0 9px}
.rg3-footer address{font-style:normal;line-height:1.65;margin:0 0 12px}
.rg3-footer address strong{color:#fff;display:block;margin-bottom:2px}
.rg3-footer .rg3-social{margin:14px 0 0}
.rg3-footer .rg3-social a{background:rgba(255,255,255,.1);width:34px;height:34px}
.rg3-footer .rg3-social svg{width:16px;height:16px}
.rg3-footer-cta{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--rg3-radius);padding:20px;margin-top:6px}
.rg3-footer-cta strong{display:block;color:#fff;font-size:1.05rem;margin-bottom:6px}
.rg3-footer-cta p{margin:0 0 14px;font-size:.9rem}
.rg3-footer-cta .rg3-btn{width:100%}
.rg3-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.86rem;color:rgba(255,255,255,.6)}
.rg3-footer-bottom nav{display:flex;gap:18px;flex-wrap:wrap}
.rg3-footer-bottom nav button{background:none;border:0;color:rgba(255,255,255,.85);font:inherit;cursor:pointer;padding:0}
.rg3-footer-bottom nav button:hover{color:var(--rg3-gold)}
body.rg3 .rg-actionbar~.rg3-footer{padding-bottom:70px}

/* 13. Mobile action bar + Acuity dialog ----------------------------------- */
.rg-actionbar{display:none}
@media(max-width:899px){
  .rg-actionbar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(10,27,51,.96);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.1)}
  .rg-actionbar a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:999px;font-weight:700;text-decoration:none;font-size:.95rem}
  .rg-actionbar-call{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.35)}
  .rg-actionbar-book{background:var(--rg3-red);color:#fff}
  .rg-actionbar svg{width:18px;height:18px}
  body{padding-bottom:64px}
}
.rg-estimate-dialog{width:min(960px,96vw);max-width:96vw;height:min(88vh,860px);max-height:88vh;border:0;border-radius:var(--rg3-radius-lg);padding:0;overflow:hidden;box-shadow:var(--rg3-shadow-lg);background:#fff}
.rg-estimate-dialog::backdrop{background:rgba(10,27,51,.6);backdrop-filter:blur(3px)}
.rg-estimate-dialog__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--rg3-navy-900);color:#fff}
.rg-estimate-dialog__title{margin:0;font-size:1.05rem;color:#fff}
.rg-estimate-dialog__close{width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}
.rg-estimate-dialog__close:hover{background:var(--rg3-red)}
.rg-estimate-dialog__body{height:calc(100% - 66px);background:#fff}
.rg-estimate-dialog iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:640px){.rg-estimate-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}}

/* 14. Print ---------------------------------------------------------------- */
@media print{.rg3-header,.rg3-footer,.rg-actionbar,.rg3-cta,.rg-cta-band{display:none!important}body{padding:0}}

/* embeds that size themselves by script (Acuity booking, Google Forms, maps) */
iframe[src*="/member/book"],iframe[src*="acuityscheduling"],.rg-acuity iframe,.rg-embed iframe{width:100%;min-height:920px;border:0;border-radius:12px;background:#fff}
iframe[src*="docs.google.com/forms"]{width:100%;min-height:1200px}
.rg-acuity,.rg-embed{border:1px solid var(--rg3-line);border-radius:var(--rg3-radius-lg);overflow:hidden;background:#fff}
@media(max-width:640px){iframe[src*="/member/book"],iframe[src*="acuityscheduling"]{min-height:1100px}}

/* 15. Responsive header (kept last so these rules win) --------------------- */
.rg3-topbar .rg3-wrap,.rg3-mainbar>.rg3-mainbar-row{width:min(1320px,calc(100% - 2*var(--rg3-gutter)))!important;max-width:1320px!important;margin-inline:auto!important}
.rg3-logo img{height:42px}
.rg3-nav .wp-block-navigation-item__content{font-size:.94rem;padding:8px 9px}
@media(max-width:1399px){.rg3-phone{display:none}}
@media(max-width:1279px){.rg3-nav .wp-block-navigation-item__content{font-size:.9rem;padding:8px 7px}.rg3-logo img{height:38px}.rg3-header .rg3-btn{padding:10px 16px;font-size:.92rem}}
/* hamburger takes over below 1100px (mobile.js accordion breakpoint matches) */
@media(min-width:600px) and (max-width:1099px){
  .rg3-nav .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex!important}
  .rg3-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none!important}
  .rg3-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{display:block!important}
}
@media(max-width:1099px){
  .rg3-mainbar-row{grid-template-columns:auto 1fr auto;gap:12px;min-height:68px}
  .rg3-nav{justify-self:end}
  .rg3-header .rg3-btn{min-height:42px;padding:9px 16px;font-size:.9rem}
  .rg3-header .rg3-btn span.rg3-long{display:none}
  .rg3-header-cta{gap:10px}
}
@media(min-width:1100px){.rg-drawer-actions,.rg-drawer-meta{display:none!important}}
@media(max-width:899px){.rg3-topbar-left{display:none}.rg3-topbar .rg3-wrap{justify-content:center}.rg3-logo img{height:40px}}
@media(max-width:480px){.rg3-logo img{height:36px}.rg3-header .rg3-btn{padding:8px 13px;font-size:.86rem}}

/* 16. Navigation overlay + dropdown: beat the block's own preset colour classes ---- */
.rg3-nav .wp-block-navigation__responsive-container.is-menu-open,.rg3-nav .wp-block-navigation__responsive-container.is-menu-open.has-background{background:var(--rg3-navy-900)!important;color:#fff!important}
.rg3-nav .is-menu-open .wp-block-navigation-item__content,.rg3-nav .is-menu-open .wp-block-navigation-item__label,.rg3-nav .is-menu-open .wp-block-navigation__submenu-icon{color:#fff!important;background:transparent!important}
.rg3-nav .is-menu-open .wp-block-navigation-item__content:hover{color:var(--rg3-gold)!important}
.rg3-nav .is-menu-open .wp-block-navigation__responsive-container-close{color:#fff!important}
/* desktop dropdown (inline container only) */
.rg3-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container{background:#fff!important;color:var(--rg3-text)!important;transition:none!important;z-index:500!important}
.rg3-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu:hover>.wp-block-navigation__submenu-container,.rg3-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu:focus-within>.wp-block-navigation__submenu-container,.rg3-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu.is-open>.wp-block-navigation__submenu-container{opacity:1!important;visibility:visible!important}
.rg3-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content,.rg3-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__label{color:var(--rg3-text)!important}
.rg3-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{color:var(--rg3-red)!important;background:var(--rg3-soft)!important}
/* overlay sub-items stay white */
.rg3-nav .is-menu-open .wp-block-navigation__submenu-container{opacity:1!important;visibility:visible!important;background:rgba(255,255,255,.06)!important}
.rg3-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content,.rg3-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__label{color:#fff!important;opacity:.92}
