/* ==========================================================================
   Sell House Quickly, design v3 (2026-09-23)
   White site, cool grey (#F6F7F9) alternate bands, navy ink, Archivo 800
   headings + Inter body, red only for action. The tone class "cream" is a
   legacy block value and renders the grey band. The only warm accent left is
   the offer receipt paper (--paper).
   ========================================================================== */

:root{
  --navy:#0b1332; --navy-700:#1c2754; --navy-500:#3a4577; --navy-100:#e6e8f0;
  --red:#ee2424; --red-700:#c91818; --red-100:#fde6e4;
  --paper:#fffdf6; --cream:#f9f5e4; --mist:#f6f7f9; --mist-200:#eef0f4; --line:#e3e6ec;
  --ink:#1a1f33; --slate:#5a6072; --white:#fff; --palm:#2e7d5b; --sun:#f4b400;
  --f-display:Archivo, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --f-body:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --r-sm:6px; --r-md:12px; --r-lg:20px; --r-xl:32px;
  --sh-card:0 1px 2px rgba(11,19,50,.06), 0 8px 24px rgba(11,19,50,.08);
  --sh-offset:6px 6px 0 var(--navy);
  --ring:0 0 0 3px rgba(238,36,36,.35);
  --gutter:16px;
  --sec:clamp(64px, 5vw + 40px, 96px);
}
@media (min-width:768px){ :root{ --gutter:24px; } }

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-padding-top:96px; }
body{ margin:0; background:var(--white); color:var(--ink); font-family:var(--f-body); font-size:1.0625rem; line-height:1.65;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:clip; }
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--red-700); text-underline-offset:3px; }
a:hover{ color:var(--navy); }
:focus-visible{ outline:none; box-shadow:var(--ring); border-radius:4px; }
h1,h2,h3{ font-family:var(--f-display); color:var(--navy); font-weight:800; letter-spacing:-0.02em; }
h1 em,h2 em{ font-style:normal; color:var(--red); }
.screen-reader-text{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }
.wp-site-blocks{ padding:0!important; }
.wp-site-blocks > *{ margin-block-start:0!important; }
.shq-main{ margin:0; }

.shq-wrap{ width:100%; max-width:calc(1200px + 2 * var(--gutter)); margin:0 auto; padding:0 var(--gutter); }

/* ---------- buttons ---------- */
.shq-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:12px 22px;
  border-radius:var(--r-md); border:2px solid transparent; font:700 1.0625rem/1 var(--f-body); letter-spacing:.01em;
  text-decoration:none; cursor:pointer; transition:background .15s, transform .15s, color .15s, border-color .15s; }
.shq-btn svg{ flex:0 0 auto; }
.shq-btn--red{ background:var(--red); color:#fff; }
.shq-btn--red:hover{ background:var(--red-700); color:#fff; transform:translateY(-1px); }
.shq-btn--navy{ background:var(--navy); color:#fff; }
.shq-btn--navy:hover{ background:var(--navy-700); color:#fff; }
.shq-btn--ghost{ background:transparent; color:var(--navy); border-color:var(--navy); }
.shq-btn--ghost:hover{ background:var(--navy); color:#fff; }
.shq-textcta{ margin:32px 0 0; }
.shq-textcta a{ display:inline-flex; align-items:center; gap:6px; font-weight:700; color:var(--navy); text-decoration:none; }
.shq-textcta__bolt{ color:var(--red); transition:transform .18s; }
.shq-textcta a:hover .shq-textcta__bolt{ transform:translateX(3px); }

/* ---------- utility strip + header ---------- */
.shq-util{ background:var(--mist-200); font-size:.875rem; color:var(--navy); }
.shq-util__in{ display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:36px; }
.shq-util__l{ display:inline-flex; align-items:center; gap:6px; font-weight:500; }
.shq-util__tel{ color:var(--navy); text-decoration:none; white-space:nowrap; }
.shq-util__tel strong{ font-weight:700; }
.shq-util__tel:hover{ color:var(--red-700); }
@media (max-width:640px){ .shq-util__l{ display:none; } .shq-util__in{ justify-content:center; } }

header.wp-block-template-part,.wp-site-blocks > header{ position:sticky; top:0; z-index:500; }
body.admin-bar .wp-site-blocks > header{ top:32px; }
.shq-header{ background:rgba(255,255,255,.97); border-bottom:1px solid var(--line); backdrop-filter:saturate(1.2) blur(6px); }
.shq-nav{ display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:76px; }
.is-scrolled .shq-nav{ min-height:64px; }
.shq-logo{ flex:0 0 auto; margin:0!important; }
.shq-logo img{ width:168px!important; height:auto!important; }
@media (max-width:480px){ .shq-logo img{ width:132px!important; } }
.shq-nav__right{ display:flex; align-items:center; gap:18px!important; }
.shq-menu{ font-size:1rem; font-weight:600; }
.shq-menu a{ color:var(--navy)!important; text-decoration:none; padding:6px 2px; }
.shq-menu a:hover{ color:var(--red-700)!important; }
.shq-menu ul.wp-block-navigation__container{ gap:22px; flex-wrap:nowrap; }
.shq-menu .wp-block-navigation__responsive-container-open{ color:var(--navy); padding:8px; }
.shq-menu .wp-block-navigation__responsive-container.is-menu-open{ background:var(--mist)!important; padding:24px var(--gutter); }
.shq-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{ gap:18px; font-size:1.25rem; }
.shq-nav__cta{ min-height:44px; padding:10px 18px; font-size:1rem; white-space:nowrap; }
@media (max-width:1100px){ .shq-menu ul.wp-block-navigation__container{ gap:16px; } }
@media (max-width:480px){ .shq-nav__cta{ padding:9px 12px; font-size:.95rem; } .shq-nav__right{ gap:6px!important; } }

/* ---------- eyebrow / heads / ledes ---------- */
.shq-eyebrow{ margin:0 0 12px; font:700 .8125rem/1.2 var(--f-body); letter-spacing:.12em; text-transform:uppercase; color:var(--red); }
.shq-head{ max-width:760px; margin:0 0 40px; }
.shq-head h2,.shq-head h3{ margin:0; }
.shq-head .shq-lede{ margin:16px 0 0; }
.shq-lede{ font-size:clamp(1.125rem,1rem + .4vw,1.3125rem); line-height:1.55; color:var(--slate); }

/* ---------- sections ---------- */
.shq-section{ padding:var(--sec) 0; position:relative; }
.shq-section--white{ background:var(--white); }
.shq-section--cream{ background:var(--mist); }
.shq-section--cream-200{ background:var(--mist-200); }
.shq-section--navy{ background:var(--navy); color:#e9e6d6; }
.shq-section--navy h2,.shq-section--navy h3{ color:var(--mist); }
.shq-section--navy .shq-lede{ color:#c9cbd8; }
.shq-section--navy .shq-eyebrow{ color:#ff6b62; }
.shq-section--navy a{ color:var(--mist); }
.shq-section > .shq-wrap > h2{ margin-top:0; }

.shq-prose{ max-width:720px; }
.shq-prose > :first-child{ margin-top:0; }
.shq-prose > :last-child{ margin-bottom:0; }
.shq-prose p{ margin:0 0 1.05em; }
.shq-prose h3{ margin:1.6em 0 .5em; font-size:clamp(1.375rem,1.2rem + .5vw,1.625rem); }
.shq-prose h4{ margin:1.4em 0 .4em; font-family:var(--f-body); font-size:1.1875rem; color:var(--navy); }
.shq-prose ul,.shq-prose ol{ margin:0 0 1.2em; padding-left:1.25em; }
.shq-prose li{ margin:0 0 .5em; }
.shq-prose ul{ list-style:none; padding-left:0; }
.shq-prose ul > li{ position:relative; padding-left:26px; }
.shq-prose ul > li::before{ content:""; position:absolute; left:2px; top:.42em; width:14px; height:14px;
  background:var(--red); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E") center/contain no-repeat; }
.shq-prose strong{ color:var(--navy); }
.shq-section--navy .shq-prose strong{ color:var(--mist); }
.shq-prose table,.shq-post__body table{ width:100%; border-collapse:collapse; margin:0 0 1.4em; font-size:.975rem; background:var(--white); border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; }
.shq-prose th,.shq-prose td,.shq-post__body th,.shq-post__body td{ text-align:left; padding:11px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
.shq-prose thead th,.shq-post__body thead th{ background:var(--navy); color:var(--mist); font-weight:700; }
.shq-prose tr:last-child td{ border-bottom:0; }
.shq-tablewrap{ max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.shq-src{ font-size:.875rem; color:var(--slate); }

/* split layouts */
.shq-split{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(32px,5vw,72px); align-items:center; }
.shq-split--img-left .shq-split__side{ order:-1; }
.shq-split .shq-head{ margin-bottom:24px; }
@media (max-width:900px){ .shq-split{ grid-template-columns:1fr; } .shq-split--img-left .shq-split__side{ order:0; } }
.shq-frame{ overflow:hidden; background:var(--mist-200); }
.shq-frame--rounded{ border-radius:var(--r-xl); }
.shq-frame--arch{ border-radius:240px 240px 24px 24px; }
.shq-frame img{ width:100%; height:100%; object-fit:cover; }

/* ---------- lightning-bolt edges ---------- */
.shq-edge{ position:absolute; left:0; width:100%; height:clamp(28px,4vw,56px); display:block; pointer-events:none; }
.shq-edge--bottom{ bottom:-1px; }
.shq-edge--top{ top:-1px; }
.shq-divider{ position:relative; height:clamp(28px,4vw,56px); }
.shq-divider--cream{ background:var(--mist); } .shq-divider--white{ background:#fff; } .shq-divider--navy{ background:var(--navy); }

/* ---------- hero ---------- */
.shq-hero{ position:relative; background:#fff; padding:clamp(28px,4vw,64px) 0 clamp(88px,9vw,132px); overflow:hidden; }
.shq-hero__inner{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(28px,5vw,72px); align-items:center; }
.shq-hero .shq-crumbs{ margin-bottom:18px; }
.shq-hero h1{ margin:0 0 20px; font-size:clamp(2.25rem,1.5rem + 2.6vw,3.5rem); line-height:1.06; letter-spacing:-.025em; font-weight:800; }
.shq-hero__sub{ margin:0 0 28px; font-size:clamp(1.125rem,1rem + .4vw,1.3125rem); line-height:1.55; color:var(--slate); max-width:600px; }
.shq-hero__form{ max-width:620px; }
.shq-hero__points{ list-style:none; margin:24px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:10px 22px; font-size:.95rem; font-weight:600; color:var(--navy); }
.shq-hero__points li{ display:flex; align-items:center; gap:7px; }
.shq-hero__points svg{ color:var(--red); flex:0 0 auto; }
.shq-hero__media{ position:relative; justify-self:center; width:100%; max-width:460px; }
.shq-hero__media--arch .shq-frame{ aspect-ratio:3/4; box-shadow:0 0 0 10px var(--mist), 0 0 0 11px var(--line); }
.shq-hero__media--rounded .shq-frame{ aspect-ratio:4/3; }
.shq-sticker{ position:absolute; left:-18px; bottom:48px; transform:rotate(-6deg); background:var(--red); color:#fff; font:700 1rem/1.2 var(--f-body);
  padding:12px 16px; border-radius:var(--r-md); box-shadow:4px 4px 0 var(--navy); white-space:nowrap; }
.shq-hero__media--rounded .shq-hero__bolt{ top:-34px; right:-14px; }
@media (max-width:420px){ .shq-sticker{ white-space:normal; max-width:220px; } }
.shq-hero__bolt{ position:absolute; top:-6px; right:-10px; width:64px; height:64px; fill:var(--navy); transform:rotate(12deg); }
@media (max-width:900px){
  .shq-hero__inner{ grid-template-columns:1fr; }
  .shq-hero__media{ max-width:340px; }
  .shq-hero__media--rounded{ max-width:520px; }
  .shq-sticker{ left:-6px; bottom:28px; font-size:.9rem; }
  .shq-hero__bolt{ width:48px; height:48px; right:-2px; }
}
@media (max-width:560px){ .shq-hero__media--arch{ max-width:260px; } .shq-hero__points{ flex-direction:column; gap:8px; } }

/* ---------- address bar (entry form, address only) ---------- */
.shq-addrbar__row{ display:flex; align-items:stretch; background:#fff; border:2px solid var(--navy); border-radius:16px; padding:6px; min-height:72px; box-shadow:var(--sh-offset); }
.shq-addrbar__field{ position:relative; flex:1 1 auto; display:flex; align-items:center; margin:0; min-width:0; }
.shq-addrbar__pin{ position:absolute; left:12px; color:var(--navy); pointer-events:none; }
.shq-addrbar .shq-input{ width:100%; height:100%; min-height:56px; border:0; background:transparent; padding:0 12px 0 44px; font:500 1.0625rem var(--f-body); color:var(--ink); outline:none; }
.shq-addrbar .shq-input::placeholder{ color:#7a7f8f; }
.shq-addrbar__row:focus-within{ box-shadow:var(--sh-offset), var(--ring); }
.shq-submit{ display:inline-flex; align-items:center; justify-content:center; gap:8px; flex:0 0 auto; border:0; border-radius:var(--r-md); background:var(--red); color:#fff;
  font:700 1.0625rem/1 var(--f-body); letter-spacing:.01em; padding:0 24px; min-height:56px; cursor:pointer; transition:background .15s, transform .15s; }
.shq-submit:hover{ background:var(--red-700); }
.shq-submit:active{ transform:translateY(1px); }
.shq-submit[disabled]{ opacity:.7; cursor:wait; }
.shq-addrbar__note{ margin:14px 0 0; font-size:.875rem; color:var(--slate); }
.shq-err{ display:none; margin:10px 0 0; color:var(--red-700); font-weight:600; font-size:.9375rem; }
.shq-err.is-on{ display:block; }
.shq-addrbar--dark .shq-addrbar__row{ border-color:var(--mist); box-shadow:6px 6px 0 var(--red); }
.shq-addrbar--dark .shq-addrbar__note{ color:#c9cbd8; }
.shq-addrbar--dark .shq-err{ color:#ff8a80; }
@media (max-width:600px){
  .shq-addrbar__row{ flex-direction:column; padding:6px; gap:6px; }
  .shq-addrbar .shq-input{ min-height:54px; }
  .shq-submit{ width:100%; min-height:54px; }
}
.shq-formcard{ background:#fff; border:2px solid var(--navy); border-radius:var(--r-lg); padding:28px; box-shadow:var(--sh-offset); }
.shq-formcard__title{ display:flex; align-items:center; gap:8px; margin:0 0 6px; font:600 1.5rem/1.2 var(--f-display); color:var(--navy); }
.shq-formcard__title svg{ color:var(--red); }
.shq-formcard__sub{ margin:0 0 18px; color:var(--slate); }
.shq-formcard .shq-addrbar__row{ box-shadow:none; }
.shq-formcard__fine{ font-size:.8125rem; color:var(--slate); line-height:1.5; margin:14px 0 0; }
.shq-hp{ position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%)!important; opacity:0!important; pointer-events:none; }

/* Google Places dropdown */
.pac-container{ border-radius:0 0 12px 12px; border:2px solid var(--navy); border-top:0; box-shadow:var(--sh-card); font-family:var(--f-body); z-index:100000!important; }
.pac-item{ padding:8px 12px; font-size:.95rem; cursor:pointer; }
.pac-item:hover{ background:var(--mist); }
.pac-item-query{ font-size:.95rem; color:var(--navy); }

/* ---------- promise strip ---------- */
.shq-trustbar{ background:var(--mist); padding:8px 0 36px; }
.shq-trustbar__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
.shq-trust{ display:flex; align-items:flex-start; gap:12px; }
.shq-trust__ico{ flex:0 0 44px; height:44px; border-radius:var(--r-md); background:#fff; border:1px solid var(--line); display:grid; place-items:center; color:var(--navy); }
.shq-trust__ico svg{ width:26px; height:26px; }
.shq-trust__txt{ display:flex; flex-direction:column; line-height:1.3; }
.shq-trust b{ color:var(--navy); font-size:1rem; white-space:nowrap; }
.shq-trust__txt > span{ font-size:.875rem; color:var(--slate); }
.shq-ico .ac{ fill:var(--red); stroke:var(--red); }
.shq-ico .acs{ stroke:var(--red); }
@media (max-width:1100px){ .shq-trustbar__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:640px){ .shq-trustbar__grid{ grid-template-columns:1fr 1fr; gap:16px 12px; } .shq-trust:last-child{ grid-column:1 / -1; } }

/* ---------- steps: red serif numerals overlapping the cards ---------- */
.shq-steps{ list-style:none; margin:0; padding:36px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; counter-reset:none; }
.shq-step{ position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:56px 28px 28px; box-shadow:var(--sh-card); }
.shq-section--white .shq-step{ background:#fff; }
.shq-step__n{ position:absolute; top:-44px; left:22px; font:800 5rem/1 var(--f-display); letter-spacing:-.04em; font-variant-numeric:lining-nums; color:var(--red);
   text-shadow:4px 4px 0 var(--navy); }
.shq-step h3{ margin:0 0 10px; font-size:1.5rem; }
.shq-step p{ margin:0; color:var(--slate); }
@media (max-width:900px){ .shq-steps{ grid-template-columns:1fr; gap:52px; } }

/* ---------- offer receipt ---------- */
.shq-receipt{ position:relative; background:var(--paper); border:0; border-radius:var(--r-lg) var(--r-lg) 0 0; padding:28px 28px 40px;
  -webkit-mask:linear-gradient(#000,#000) top/100% calc(100% - 14px) no-repeat, conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/22px 14px repeat-x;
          mask:linear-gradient(#000,#000) top/100% calc(100% - 14px) no-repeat, conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/22px 14px repeat-x; }
.shq-receipt-wrap{ filter:drop-shadow(2px 0 0 #0b1332) drop-shadow(-2px 0 0 #0b1332) drop-shadow(0 2px 0 #0b1332) drop-shadow(0 -2px 0 #0b1332) drop-shadow(6px 6px 0 #0b1332); }
.shq-receipt__title{ display:flex; align-items:center; gap:10px; margin:0 0 14px; padding-bottom:14px; border-bottom:2px dashed var(--line); font:600 1.375rem/1.2 var(--f-display); color:var(--navy); }
.shq-receipt__title svg{ width:28px; height:28px; color:var(--navy); }
.shq-receipt__lines{ list-style:none; margin:0; padding:0; }
.shq-receipt__line{ display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:10px; align-items:baseline; padding:12px 0; border-bottom:1px dashed var(--line); }
.shq-receipt__op{ font:700 1.25rem/1 var(--f-display); color:var(--red); text-align:center; }
.shq-receipt__label{ font-weight:600; color:var(--navy); line-height:1.35; }
.shq-receipt__label small{ display:block; font-weight:400; color:var(--slate); font-size:.875rem; margin-top:2px; }
.shq-receipt__val{ font-weight:700; color:var(--navy); font-variant-numeric:tabular-nums; white-space:nowrap; }
.shq-receipt__total{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin:8px 0 0; padding-top:16px; border-top:3px double var(--navy); }
.shq-receipt__total > span{ display:flex; align-items:baseline; gap:10px; font-weight:700; color:var(--navy); font-size:1.0625rem; }
.shq-receipt__eq{ font:700 1.5rem/1 var(--f-display); color:var(--red); width:22px; text-align:center; }
.shq-receipt__total strong{ font:800 clamp(1.75rem,1.4rem + 1vw,2.25rem)/1 var(--f-display); color:var(--red); letter-spacing:-.02em; font-variant-numeric:lining-nums; }
.shq-receipt__note{ margin:16px 0 0; font-size:.8125rem; line-height:1.5; color:var(--slate); }
.shq-receiptsec .shq-split{ align-items:start; }
@media (max-width:480px){ .shq-receipt{ padding:22px 18px 36px; } .shq-receipt__line{ grid-template-columns:18px minmax(0,1fr); } .shq-receipt__val{ grid-column:2; } }

/* ---------- comparison ---------- */
.shq-compare{ max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.shq-compare table{ width:100%; min-width:520px; border-collapse:separate; border-spacing:0; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); }
.shq-compare th,.shq-compare td{ padding:16px 20px; text-align:left; border-bottom:1px solid var(--line); vertical-align:middle; }
.shq-compare tbody th{ font-weight:600; color:var(--navy); }
.shq-compare thead th{ font:700 .8125rem/1.2 var(--f-body); letter-spacing:.1em; text-transform:uppercase; color:var(--slate); }
.shq-compare thead th.is-us{ background:var(--navy); color:#fff; border-radius:12px 12px 0 0; }
.shq-compare td.is-us{ background:var(--red-100); font-weight:700; color:var(--navy); }
.shq-compare tbody tr:last-child th,.shq-compare tbody tr:last-child td{ border-bottom:0; }
.shq-compare td{ width:30%; }
.shq-mark{ display:inline-grid; place-items:center; width:30px; height:30px; border-radius:50%; }
.shq-mark svg{ width:18px; height:18px; stroke-width:3; }
.shq-mark--yes{ background:var(--palm); } .shq-mark--yes svg{ stroke:#fff; }
.shq-mark--no{ background:var(--navy-100); } .shq-mark--no svg{ stroke:var(--navy-500); }

/* ---------- situations (navy band) ---------- */
.shq-sits{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.shq-sit{ background:var(--navy-700); border:1px solid var(--navy-500); border-radius:var(--r-lg); padding:26px; }
.shq-sit__h{ display:flex; align-items:center; gap:12px; margin:0 0 16px; font:600 1.375rem/1.2 var(--f-display); color:var(--mist); }
.shq-sit__h svg{ width:32px; height:32px; color:var(--mist); }
.shq-sit ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.shq-sit li{ display:flex; align-items:center; gap:10px; color:#dcdbe6; font-size:1rem; }
.shq-sit li svg{ color:var(--red); flex:0 0 auto; }
.shq-sit li a{ color:var(--mist); font-weight:600; text-decoration:underline; text-decoration-color:rgba(249,245,228,.35); }
.shq-sit li a:hover{ color:#fff; text-decoration-color:var(--red); }
@media (max-width:900px){ .shq-sits{ grid-template-columns:1fr; } }

/* ---------- stats ---------- */
.shq-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; }
.shq-stat{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:24px; }
.shq-section--cream .shq-stat{ background:#fff; }
.shq-stat__v{ margin:0 0 6px; font:800 clamp(2rem,1.5rem + 1.6vw,2.75rem)/1 var(--f-display); letter-spacing:-.02em; color:var(--navy); font-variant-numeric:lining-nums; }
.shq-stat__l{ margin:0; font-weight:600; color:var(--navy); line-height:1.35; }
.shq-stat__src{ margin:8px 0 0; font-size:.8125rem; color:var(--slate); }
.shq-stats__source{ margin:20px 0 0; font-size:.875rem; color:var(--slate); }

/* ---------- reviews (only when real ones exist) ---------- */
.shq-reviews{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; }
.shq-review{ margin:0; background:#fff; border:1px solid var(--line); border-radius:24px 24px 24px 4px; padding:24px; }
.shq-review blockquote{ margin:0 0 14px; }
.shq-review__who{ font-weight:700; color:var(--navy); }
.shq-review__who small{ display:block; font-weight:400; color:var(--slate); }

/* ---------- chips + city list ---------- */
.shq-chips{ display:flex; flex-wrap:wrap; gap:10px; }
.shq-chip{ display:inline-flex; align-items:center; gap:6px; padding:9px 16px; background:#fff; border:1px solid var(--line); border-radius:999px;
  font-weight:600; font-size:.9375rem; color:var(--navy); text-decoration:none; transition:border-color .15s, background .15s; }
.shq-chip svg{ color:var(--line); transition:color .15s; }
.shq-chip:hover{ border-color:var(--red); background:#fff; color:var(--navy); }
.shq-chip:hover svg{ color:var(--red); }
.shq-citylist{ list-style:none; margin:0; padding:0; columns:4 200px; column-gap:32px; }
.shq-citylist li{ break-inside:avoid; padding:7px 0; border-bottom:1px dashed var(--line); }
.shq-citylist a{ color:var(--navy); font-weight:600; text-decoration:none; }
.shq-citylist a:hover{ color:var(--red-700); text-decoration:underline; }

/* ---------- FAQ ---------- */
.shq-faqgrid{ display:grid; grid-template-columns:minmax(0,4fr) minmax(0,7fr); gap:clamp(24px,5vw,72px); align-items:start; }
.shq-faqgrid .shq-head{ position:sticky; top:120px; }
@media (max-width:900px){ .shq-faqgrid{ grid-template-columns:1fr; } .shq-faqgrid .shq-head{ position:static; margin-bottom:8px; } }
.shq-faq details{ border-bottom:1px solid var(--line); }
.shq-faq details:first-child{ border-top:1px solid var(--line); }
.shq-faq summary{ list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 0; cursor:pointer;
  font:700 1.125rem/1.35 var(--f-display); color:var(--navy); letter-spacing:-.01em; }
.shq-faq summary::-webkit-details-marker{ display:none; }
.shq-faq summary:hover{ color:var(--red-700); }
.shq-faq__bolt{ flex:0 0 auto; width:22px; height:22px; color:var(--red); transition:transform .25s; }
.shq-faq details[open] .shq-faq__bolt{ transform:rotate(90deg); }
.shq-faq__a{ padding:0 0 22px; color:var(--ink); }
.shq-faq__a p{ margin:0; }
@media (max-width:600px){ .shq-faq summary{ font-size:1.125rem; } }

/* ---------- final CTA band (navy, bolt top edge, red bolt watermark) ---------- */
.shq-ctaband{ position:relative; background:var(--navy); color:#dcdbe6; padding:clamp(96px,9vw,136px) 0 clamp(64px,7vw,96px); overflow:hidden; margin-top:-1px; }
.shq-ctaband__mark{ position:absolute; right:-40px; top:40px; width:360px; height:360px; fill:var(--red); opacity:.12; transform:rotate(14deg); pointer-events:none; }
.shq-ctaband__in{ position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5vw,64px); align-items:center; }
.shq-ctaband h2{ margin:0 0 14px; color:var(--mist); font-size:clamp(2rem,1.5rem + 1.6vw,2.75rem); }
.shq-ctaband__copy p:not(.shq-eyebrow){ margin:0; font-size:1.125rem; color:#c9cbd8; }
.shq-ctaband .shq-eyebrow{ color:#ff6b62; }
.shq-ctaband__tel{ margin:16px 0 0; color:#c9cbd8; }
.shq-ctaband__tel a{ color:var(--mist); font-weight:700; }
@media (max-width:900px){ .shq-ctaband__in{ grid-template-columns:1fr; } .shq-ctaband__mark{ width:220px; height:220px; } }

/* ---------- post CTA / answer / crumbs ---------- */
.shq-postcta{ margin:56px 0 0; background:var(--mist); border:2px solid var(--navy); border-radius:var(--r-lg); padding:clamp(24px,4vw,40px); box-shadow:var(--sh-offset); }
.shq-postcta h2{ margin:0 0 8px; font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem); }
.shq-postcta > p:not(.shq-eyebrow){ margin:0 0 20px; color:var(--slate); }
.shq-postcta .shq-addrbar__row{ box-shadow:none; }
.shq-answer{ background:var(--mist); border:1px solid var(--line); border-radius:var(--r-md); padding:20px 22px; margin:0 0 28px; }
.shq-answer__h{ display:inline-flex; align-items:center; gap:6px; font:700 .8125rem/1 var(--f-body); letter-spacing:.12em; text-transform:uppercase; color:var(--red); margin-bottom:10px; }
.shq-answer p{ margin:0; } .shq-answer p + p{ margin-top:10px; }
.shq-crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:.875rem; color:var(--slate); margin:0 0 16px; }
.shq-crumbs a{ color:var(--navy); text-decoration:none; font-weight:600; }
.shq-crumbs a:hover{ color:var(--red-700); text-decoration:underline; }
.shq-crumbs .sep{ color:var(--line); }
.shq-crumbs span[aria-current]{ color:var(--slate); }

/* ---------- page heads (page, blog index, archives, search) ---------- */
.shq-pagehead{ background:#fff; border-bottom:1px solid var(--line); padding:clamp(32px,4vw,56px) 0 clamp(72px,7vw,104px); position:relative; }
.shq-pagehead h1,.shq-archive__title{ margin:0 0 14px; font-size:clamp(2.25rem,1.6rem + 2.4vw,3.5rem); line-height:1.06; max-width:900px; }
.shq-pagehead .shq-lede{ margin:0; max-width:720px; }
.shq-pagebody{ padding:clamp(40px,5vw,72px) 0 var(--sec); background:#fff; }

/* ---------- blog cards ---------- */
.shq-cards{ gap:28px!important; }
.shq-card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; display:flex; flex-direction:column; height:100%; transition:transform .18s, box-shadow .18s; }
.shq-card:hover{ transform:translateY(-3px); box-shadow:var(--sh-offset); border-color:var(--navy); }
.shq-card__img{ margin:0!important; aspect-ratio:16/10; overflow:hidden; background:var(--mist-200); }
.shq-card__img img{ width:100%; height:100%!important; object-fit:cover; }
.shq-card__body{ padding:22px 22px 24px; display:flex; flex-direction:column; gap:8px; flex:1; }
.shq-card__cat{ font:700 .75rem/1.2 var(--f-body); letter-spacing:.12em; text-transform:uppercase; }
.shq-card__cat a{ color:var(--red); text-decoration:none; }
.shq-card__title{ margin:0!important; font-size:1.375rem!important; line-height:1.2!important; }
.shq-card__title a{ color:var(--navy); text-decoration:none; }
.shq-card__title a:hover{ color:var(--red-700); }
.shq-card__excerpt{ margin:0; color:var(--slate); font-size:.975rem; }
.shq-card__excerpt p{ margin:0; }
.shq-card__date{ margin-top:auto; font-size:.8125rem; color:var(--slate); }
@media (max-width:1000px){ .shq-cards.is-layout-grid{ grid-template-columns:repeat(2,minmax(0,1fr))!important; } }
@media (max-width:640px){ .shq-cards.is-layout-grid{ grid-template-columns:1fr!important; } }
.shq-pagination{ margin-top:40px; font-weight:700; }
.shq-pagination a{ color:var(--navy); }

/* ---------- single post ---------- */
.shq-post .shq-pagehead{ padding-bottom:clamp(32px,4vw,48px); border-bottom:0; }
.shq-post__cat{ font:700 .8125rem/1.2 var(--f-body); letter-spacing:.12em; text-transform:uppercase; margin:0 0 12px; }
.shq-post__cat a{ color:var(--red); text-decoration:none; }
.shq-post__title{ margin:0 0 16px!important; font-size:clamp(2.1rem,1.5rem + 2.4vw,3.25rem)!important; line-height:1.08!important; max-width:880px; }
.shq-post__meta{ display:flex; gap:16px; align-items:center; font-size:.9375rem; color:var(--slate); }
.shq-post__meta .shq-readtime::before{ content:""; display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--red); margin:0 12px 2px 0; vertical-align:middle; }
.shq-post__img{ margin:clamp(24px,3vw,40px) auto 0!important; max-width:1000px; position:relative; }
.shq-post__img img{ border-radius:var(--r-xl); aspect-ratio:16/9; object-fit:cover; width:100%; border:2px solid var(--navy); box-shadow:var(--sh-offset); }
.shq-post__body{ max-width:720px; margin:48px auto 0; font-size:1.125rem; line-height:1.72; }
.shq-post__body > *{ max-width:720px; }
.shq-post__body h2{ margin:1.8em 0 .5em; font-size:clamp(1.75rem,1.4rem + 1vw,2.25rem); }
.shq-post__body h3{ margin:1.5em 0 .4em; font-size:1.5rem; }
.shq-post__body p{ margin:0 0 1.1em; }
.shq-post__body ul,.shq-post__body ol{ margin:0 0 1.2em; padding-left:1.3em; }
.shq-post__body li{ margin-bottom:.45em; }
.shq-post__body li::marker{ color:var(--red); }
.shq-post__body blockquote{ margin:1.6em 0; padding:4px 0 4px 22px; border-left:4px solid var(--red); font:600 1.2rem/1.5 var(--f-body); color:var(--navy); }
.shq-post__body figure{ margin:1.6em 0; }
.shq-post__body figure img{ border-radius:var(--r-lg); }
.shq-post__body figcaption{ font-size:.875rem; color:var(--slate); margin-top:8px; }
.shq-post__foot{ max-width:720px; margin:0 auto; padding-bottom:var(--sec); }

/* ---------- related posts ---------- */
.shq-related{ margin:56px 0 0; padding:32px 0 0; border-top:2px dashed var(--line); }
.shq-related h2{ margin:0 0 20px; font-size:1.75rem; }
.shq-related ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.shq-related li{ display:flex; flex-direction:column; gap:6px; }
.shq-related__img img{ border-radius:var(--r-md); aspect-ratio:16/10; object-fit:cover; width:100%; }
.shq-related__t{ font:600 1.125rem/1.3 var(--f-display); color:var(--navy); text-decoration:none; }
.shq-related__t:hover{ color:var(--red-700); text-decoration:underline; }
.shq-related li > span{ font-size:.875rem; color:var(--slate); }
@media (max-width:760px){ .shq-related ul{ grid-template-columns:1fr; } }

/* ---------- footer ---------- */
.shq-footer{ background:var(--navy); color:#c9cbd8; padding:72px 0 28px; font-size:.975rem; border-top:6px solid var(--red); }
.shq-footer__cols{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; }
.shq-footer__logo img{ width:200px; height:auto; margin-bottom:16px; }
.shq-footer__blurb{ margin:0 0 16px; max-width:320px; }
.shq-footer__tel{ font:700 1.5rem/1.2 var(--f-display); color:var(--mist)!important; text-decoration:none; }
.shq-footer__nap{ margin:12px 0 0; line-height:1.6; }
.shq-footer__h{ margin:0 0 14px; font:700 .8125rem/1.2 var(--f-body); letter-spacing:.12em; text-transform:uppercase; color:#ff6b62; }
.shq-footer__list{ list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.shq-footer a{ color:#dcdbe6; text-decoration:none; }
.shq-footer a:hover{ color:#fff; text-decoration:underline; text-decoration-color:var(--red); }
.shq-footer__legal{ margin:48px 0 0; padding-top:24px; border-top:1px solid var(--navy-500); font-size:.8125rem; color:#9da1b8; max-width:900px; }
.shq-footer__bottom{ margin-top:16px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; font-size:.8125rem; color:#9da1b8; }
@media (max-width:900px){ .shq-footer__cols{ grid-template-columns:1fr 1fr; } .shq-footer__brand{ grid-column:1 / -1; } }
@media (max-width:480px){ .shq-footer__cols{ grid-template-columns:1fr; } }

/* ---------- 404 + search ---------- */
.shq-404{ background:var(--mist); padding:var(--sec) 0; }
.shq-404 h1{ margin:0 0 14px; }
.shq-404 .shq-ctaband__btns{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.shq-404 .wp-block-search{ max-width:520px; margin:32px auto 0; }
.shq-404 .wp-block-search__input{ border:2px solid var(--navy); border-radius:var(--r-md); padding:12px 14px; font:inherit; }
.shq-404 .wp-block-search__button{ background:var(--red); color:#fff; border:0; border-radius:var(--r-md); font-weight:700; padding:0 20px; }

@media (prefers-reduced-motion:reduce){ *{ transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
.shq-pagehead > .shq-divider{ display:none; }
.shq-pagehead > .shq-divider .shq-edge{ position:relative; }
