/* resoluteestatesolutions.com — brand from the Resolute Estate Solutions logo:
   blue #127BC8, orange #F4992C, navy #0A2651. Type: Roboto / Roboto Slab (self-hosted). */
@font-face{font-family:"Roboto";src:url(/assets/fonts/roboto-latin-var.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Roboto Slab";src:url(/assets/fonts/roboto-slab-latin-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --navy:#0A2651;--navy-2:#07183a;--blue:#127BC8;--blue-dk:#0d5f9c;--orange:#F4992C;--orange-dk:#d97d0f;
  --ink:#1f2933;--muted:#52606d;--line:#d9e2ec;--soft:#f1f5fa;--white:#fff;--ok:#1b7f4c;--err:#b42318;
  --radius:10px;--wrap:1180px;--gutter:16px;--shadow:0 6px 24px rgba(10,38,81,.12)
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:400 1.0625rem/1.6 "Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--white);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue-dk);text-underline-offset:2px}
a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:8px;top:8px}
h1,h2,h3{font-family:"Roboto Slab",Georgia,serif;color:var(--navy);line-height:1.2;margin:0 0 .75rem}
h1{font-size:clamp(1.85rem,4.2vw,2.75rem)}
h2{font-size:clamp(1.45rem,2.8vw,1.95rem)}
h3{font-size:1.2rem;font-family:"Roboto",sans-serif;font-weight:700;margin-top:1.5rem}
h2+p,h2+ul,h2+ol,h3+p,h3+ul{margin-top:0}
p{margin:0 0 1.5rem}
ul,ol{margin:0 0 1.5rem;padding-left:1.3rem}
li{margin-bottom:.4rem}
strong{color:var(--navy)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--orange);color:var(--navy);font-weight:700;border:2px solid var(--orange);border-radius:8px;padding:.75rem 1.2rem;text-decoration:none;cursor:pointer;font-size:1rem;line-height:1.2;min-height:48px}
.btn:hover{background:var(--orange-dk);border-color:var(--orange-dk);color:var(--navy)}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-ghost:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-light{background:#fff;border-color:#fff;color:var(--navy)}
.btn-light:hover{background:var(--soft);border-color:var(--soft)}
.btn-lg{font-size:1.1rem;padding:.9rem 1.6rem;width:100%}

/* header */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:76px;padding-top:6px;padding-bottom:6px}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.brand img{width:auto;height:46px}
@media (min-width:1100px){.brand img{height:58px}}
.foot-brand{display:inline-block;background:#fff;border-radius:10px;padding:10px 14px;margin-bottom:1rem}
.foot-brand img{height:150px;width:auto}
.brand-name{font:700 1.2rem/1.05 "Roboto",sans-serif;color:#111;letter-spacing:-.01em}
.brand-name span{display:block;font-size:.66rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.nav-toggle{display:inline-flex;align-items:center;gap:.5rem;background:var(--navy);color:#fff;border:0;border-radius:8px;padding:.6rem .9rem;font:700 1rem "Roboto",sans-serif;min-height:44px;cursor:pointer}
.nav-toggle-bars,.nav-toggle-bars::before,.nav-toggle-bars::after{display:block;width:18px;height:2px;background:#fff;position:relative}
.nav-toggle-bars::before,.nav-toggle-bars::after{content:"";position:absolute;left:0}
.nav-toggle-bars::before{top:-6px}.nav-toggle-bars::after{top:6px}
.site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:.5rem var(--gutter) 1rem;max-height:calc(100vh - 76px);overflow:auto}
.site-nav.open{display:block}
.nav-list{list-style:none;margin:0;padding:0}
.nav-list>li{border-bottom:1px solid var(--line);margin:0}
.nav-list a,.sub-toggle{display:block;padding:.8rem .25rem;color:var(--navy);font-weight:500;text-decoration:none;background:none;border:0;font:500 1rem "Roboto",sans-serif;width:100%;text-align:left;cursor:pointer}
.nav-list a[aria-current=page]{color:var(--blue);font-weight:700}
.sub-toggle::after{content:"";display:inline-block;margin-left:.45rem;border:5px solid transparent;border-top-color:currentColor;transform:translateY(3px)}
.sub{list-style:none;margin:0 0 .5rem;padding:0 0 0 .75rem;display:none}
.sub.open{display:block}
.sub a{padding:.5rem .25rem;font-weight:400}
.nav-cta{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}
@media (min-width:1100px){
  .nav-toggle{display:none}
  .site-nav{display:flex;position:static;box-shadow:none;border:0;padding:0;align-items:center;gap:1.25rem;max-height:none;overflow:visible}
  .nav-list{display:flex;gap:.1rem;align-items:center}
  .nav-list>li{border:0;position:relative}
  .nav-list a,.sub-toggle{padding:.5rem .5rem;font-size:.95rem;white-space:nowrap}
  .sub{position:absolute;left:0;top:100%;min-width:280px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:.5rem}
  .has-sub:hover .sub,.has-sub:focus-within .sub,.sub.open{display:block}
  .nav-cta{flex-direction:row;margin:0}
  .nav-cta .btn{min-height:42px;padding:.55rem .9rem;font-size:.95rem;white-space:nowrap}
  .site-nav{gap:.75rem}
}
/* Owner review 2026-10-04 ("Where is the CALL button?"): the Call button now shows at every width. Between 1100px
   and 1439px the nav tightens, and below 1280px the button reads "Call us" (the full number is in its aria-label). */
.call-short{display:none}
@media (min-width:1100px) and (max-width:1439px){
  .nav-list a,.sub-toggle{padding:.5rem .32rem;font-size:.9rem}
  .nav-cta .btn{padding:.5rem .7rem;font-size:.9rem}
  .site-nav{gap:.5rem}
}
@media (min-width:1100px) and (max-width:1279px){.call-long{display:none}.call-short{display:inline}}


/* hero */
.hero{position:relative;color:#fff;background:var(--navy);isolation:isolate}
.hero-bg{position:absolute;inset:0;margin:0;z-index:-1}
.hero-img{width:100%;height:100%;object-fit:cover}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,24,58,.94) 0%,rgba(10,38,81,.86) 48%,rgba(10,38,81,.62) 100%)}
.hero-cap{position:absolute;right:8px;bottom:6px;z-index:1;font-size:.72rem;color:rgba(255,255,255,.8);max-width:60%;text-align:right}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;padding-top:1.5rem;padding-bottom:2rem}
.hero h1{color:#fff}
.hero .lead p{font-size:1.12rem;color:#e6edf6;margin-bottom:1rem}
.hero .lead a{color:#fff}
.ticks{list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:.45rem}
.ticks li{position:relative;padding-left:1.8rem;margin:0;font-weight:500}
.ticks li::before{content:"";position:absolute;left:0;top:.2rem;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230A2651' stroke-width='3.2' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/80% no-repeat}
/* hero with the offer card: mobile = H1 + lead, card, ticks (DOM order); desktop = copy and ticks left, card right */
.hero-wiz .lead p:last-child{margin-bottom:0}
.hero-form{position:relative;background:#fff;color:var(--ink);border-radius:14px;border-top:5px solid var(--orange);box-shadow:0 18px 48px rgba(3,12,32,.4),0 2px 6px rgba(3,12,32,.2);padding:1.1rem 1rem 1.2rem;min-width:0;width:100%;max-width:560px;justify-self:center;scroll-margin-top:88px}
.hero-ticks{margin:0}
.hero-side-in{display:grid;gap:1rem;align-content:start}
.hero-call{margin:0;font-weight:500;color:#e6edf6}
.hero-call a{color:#fff;font-weight:700;white-space:nowrap}
@media (max-width:959px){
  .hero-wiz .hero-grid{padding-bottom:3.5rem}   /* room for the photo caption under the ticks */
  /* the hero is tall on phones (copy + card + ticks): show the photo at the top only, fading into the navy,
     instead of a 4x blow-up of a narrow slice stretched over the whole hero */
  .hero-wiz .hero-img{height:min(100%,90svh);-webkit-mask-image:linear-gradient(#000 65%,transparent);mask-image:linear-gradient(#000 65%,transparent)}
}
@media (max-width:599px){
  .hero-wiz .hero-grid{padding-top:1rem;gap:1rem}
  .hero-wiz h1{font-size:1.6rem;margin-bottom:.5rem}
  .hero-wiz .lead p{font-size:1rem;line-height:1.5;margin-bottom:.6rem}
  .hero-wiz .crumbs ol{margin-bottom:.5rem}
}
@media (min-width:600px){.hero-form{padding:1.35rem 1.5rem 1.4rem}}
@media (min-width:900px){.hero-slim .hero-grid{padding-top:3rem;padding-bottom:3.25rem}}
@media (min-width:960px){
  .hero-wiz .hero-grid{grid-template-columns:minmax(0,1fr) 460px;grid-template-areas:"copy form" "ticks form";grid-template-rows:auto 1fr;column-gap:3rem;row-gap:1.5rem;align-items:start;padding-top:2.5rem;padding-bottom:3rem}
  .hero-wiz .hero-copy{grid-area:copy;padding-top:.75rem}
  .hero-wiz .hero-grid{padding-top:1.75rem}
  .hero-form .two-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-form .wz-title{font-size:1.28rem}
  .hero-wiz .hero-form{padding-top:1.1rem}
  .hero-form .wiz-track li{white-space:nowrap}   /* one line of labels; "Your connection" may run into the card's padding */
  .hero-form .wiz-nav{margin-top:.75rem;padding-top:.75rem}
  .hero-wiz .hero-form{grid-area:form;max-width:none}
  .hero-wiz .hero-side{grid-area:ticks;align-self:stretch}
  /* the ticks and the call line stay in view beside the card while the seller scrolls through a long step */
  .hero-wiz .hero-side-in{position:sticky;top:96px;gap:1.5rem}
}
@media (min-width:1180px){.hero-wiz .hero-grid{grid-template-columns:minmax(0,1fr) 470px;column-gap:4rem}}

.crumbs ol{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.25rem;font-size:.88rem}
.crumbs li{margin:0;color:#c9d6e8}
.crumbs li+li::before{content:"\203A";margin:0 .35rem;color:#9fb3cf}
.crumbs a{color:#fff}

/* forms */
label{display:block;font-weight:500;margin:.8rem 0 .3rem;color:var(--navy)}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;font:inherit;font-size:1rem;padding:.7rem .8rem;border:1.5px solid #6b7a8f;border-radius:8px;background:#fff;color:var(--ink);min-height:48px}
input:focus,select:focus,textarea:focus{border-color:var(--blue)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.form-note,.field-help,.privacy-line{font-size:.9rem;color:var(--muted);margin:.6rem 0 0}
.opt{font-weight:400;color:var(--muted);font-size:.9rem}
fieldset{border:0;padding:0;margin:0 0 1rem}
legend{font:700 1.2rem "Roboto Slab",serif;color:var(--navy);padding:0;margin-bottom:.25rem}
.two{display:grid;gap:0 1rem}
@media (min-width:600px){.two{grid-template-columns:1fr 1fr}}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.consent-box{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0 .5rem}
.consent-box input{width:22px;height:22px;margin-top:.15rem;flex:0 0 auto}
.consent-box label{margin:0;font-weight:400;color:var(--ink);font-size:.95rem}
.form-status{margin-top:.8rem;font-weight:500}
.form-status.ok{color:var(--ok)}.form-status.err{color:var(--err)}
.pac-container{z-index:1000}

[hidden]{display:none!important}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* offer wizard (hero card): radio cards are real inputs; copy in build.py offer_wizard(). No headings inside. */
#offer-form,#offer-result{scroll-margin-top:92px}
.wz-title{font:700 1.3rem/1.25 "Roboto Slab",Georgia,serif;color:var(--navy);margin:0 0 .4rem}
@media (min-width:600px){.wz-title{font-size:1.4rem}}
.wiz-intro p{font-size:.86rem;line-height:1.45;color:var(--muted);margin:0 0 .4rem}
.wiz-intro .field-note{color:var(--ink)}
.wiz-progress{margin:.6rem 0 0}
.wiz-count{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-dk);margin:0 0 .4rem}
.wiz-track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.wiz-track li{margin:0;font-size:.75rem;line-height:1.25;color:var(--muted);font-weight:500}
.wiz-track li::before{content:"";display:block;height:6px;border-radius:99px;background:var(--line);margin-bottom:.4rem;transition:background-color .2s}
.wiz-track li.done::before{background:var(--navy)}
.wiz-track li.now::before{background:var(--orange)}
.wiz-track li.now{color:var(--navy);font-weight:700}
.wiz-track span{display:none}
@media (min-width:400px){.wiz-track span{display:block}.wiz-count-l{display:none}}   /* narrow: current step name in the count */
.step-title{font:700 1.14rem/1.3 "Roboto Slab",Georgia,serif;color:var(--navy);margin:.8rem 0 .3rem}
.step-title:focus,.res-title:focus{outline:none}
.step-title:focus-visible,.res-title:focus-visible{outline:none;box-shadow:inset 4px 0 0 var(--orange);padding-left:.6rem}
.wz-errsum,.step-title,.res-title{scroll-margin-top:92px}
.offer-form:not(.is-wizard) .wiz-step+.wiz-step{border-top:1px solid var(--line);margin-top:1.25rem}
.wz-errsum{border:2px solid var(--err);border-left-width:6px;border-radius:10px;background:#fff6f5;padding:.7rem .9rem;margin:.9rem 0 0}
.wz-errsum:focus{outline:3px solid var(--orange);outline-offset:2px}
.wz-errsum-t{font-weight:700;color:var(--err);margin:0 0 .3rem}
.wz-errsum ul{margin:0;padding-left:1.1rem}
.wz-errsum li{margin:.15rem 0;font-size:.92rem}
.wz-errsum a{color:var(--err);font-weight:700}
.q{margin:0 0 .7rem;padding:0;border:0;min-width:0}
.q>label,.q-label{display:block;font:700 .97rem/1.35 "Roboto",sans-serif;color:var(--navy);margin:.55rem 0 .3rem;padding:0}
.q .field-help{margin:-.1rem 0 .4rem;font-size:.84rem;line-height:1.4}
.q .field-help a{color:var(--blue-dk)}
.field-err{display:flex;gap:.45rem;align-items:flex-start;color:var(--err);font-weight:700;font-size:.95rem;margin:0 0 .5rem}
.field-err::before{content:"!";flex:0 0 auto;display:grid;place-items:center;width:1.25rem;height:1.25rem;margin-top:.1rem;border-radius:50%;background:var(--err);color:#fff;font-size:.8rem}
.q.has-err{border-left:4px solid var(--err);padding-left:.8rem}
.q.has-err input[type=text],.q.has-err input[type=email],.q.has-err input[type=tel],.q.has-err select,.q.has-err .oc-body,.q.has-err .unit-toggle{border-color:var(--err)}
.field-note{background:#fff6ea;border-left:4px solid var(--orange);border-radius:0 8px 8px 0;padding:.6rem .8rem;font-size:.93rem;margin:.6rem 0 0}
.opts{display:grid;gap:.5rem}
/* card column is ~400-470px wide at every breakpoint: property types 2-up, number pickers 3-up */
.opts.cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.opts.seg-6{grid-template-columns:repeat(3,minmax(0,1fr))}
.opts.seg-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.opts.seg-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.opts.list{grid-template-columns:1fr}
.oc{position:relative;display:block;margin:0;font-weight:400;color:var(--ink)}
.oc input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.oc-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;height:100%;min-height:46px;padding:.45rem .4rem;border:1.5px solid #6b7a8f;border-radius:10px;background:#fff;text-align:center;transition:border-color .15s,background-color .15s,box-shadow .15s}
.cards-4 .oc-body{min-height:88px;padding:.7rem .5rem;gap:.35rem}
.oc-icon{width:32px;height:32px;fill:none;stroke:var(--navy);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.oc-t{font-weight:700;color:var(--navy);line-height:1.25;font-size:.92rem}
.oc-d{display:block;font-size:.76rem;color:var(--muted);line-height:1.3}
.oc:hover .oc-body{border-color:var(--blue);background:#f5f9fd}
.oc input:checked+.oc-body{border-color:var(--blue);background:#e8f2fb;box-shadow:inset 0 0 0 1.5px var(--blue)}
.oc input:checked+.oc-body .oc-icon{stroke:var(--blue-dk)}
.oc input:focus-visible+.oc-body{outline:3px solid var(--orange);outline-offset:2px}
.cards-4 .oc input:checked+.oc-body::after{content:"";position:absolute;top:7px;right:7px;width:20px;height:20px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3.2' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/70% no-repeat}
.list .oc-body,.oc-line .oc-body{flex-direction:row;align-items:flex-start;justify-content:flex-start;text-align:left;padding:.6rem .8rem .6rem 2.5rem;position:relative}
.list .oc-body::before,.oc-line .oc-body::before{content:"";position:absolute;left:.8rem;top:.72rem;width:1.1rem;height:1.1rem;border:2px solid #7b8ba0;border-radius:50%;background:#fff}
.list .oc input:checked+.oc-body::before,.oc-line input:checked+.oc-body::before{border-color:var(--blue);box-shadow:inset 0 0 0 3px #fff;background:var(--blue)}
.oc-line{margin-top:.5rem}
.oc-line .oc-body{min-height:0;align-items:center}
.oc-line .oc-body::before{top:50%;transform:translateY(-50%)}
.oc-p{font-size:.88rem;line-height:1.4;color:var(--ink)}
.area-row{display:flex;gap:.5rem;align-items:stretch;flex-wrap:wrap}
.area-row input[type=text]{flex:1 1 140px;max-width:220px;font-size:1.1rem}
.unit-toggle{display:inline-grid;grid-template-columns:1fr 1fr;border:1.5px solid #6b7a8f;border-radius:8px;overflow:hidden;min-height:48px}
.ut{position:relative;display:block;margin:0}
.ut input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ut span{display:flex;align-items:center;justify-content:center;height:100%;min-width:64px;padding:0 .9rem;font-weight:700;color:var(--navy)}
.ut input:checked+span{background:var(--navy);color:#fff}
.ut input:focus-visible+span{outline:3px solid var(--orange);outline-offset:-3px}
.ut input:disabled{cursor:not-allowed}
.is-unknown .area-row{opacity:.45}
.area-conv{font-size:.93rem;color:var(--muted);margin:.45rem 0 0}.area-conv:empty{display:none}
.wiz-noapi{margin:0 0 1rem}
.check{display:flex;gap:.6rem;align-items:center;margin:.8rem 0 0}
.check input{width:22px;height:22px;margin:0;flex:0 0 auto;accent-color:var(--blue)}
.check label{margin:0;font-weight:500;color:var(--ink)}
.offer-form .consent-box input{accent-color:var(--blue)}
.wiz-nav{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.wiz-nav .btn{min-width:112px}
.wiz-next,.wiz-submit{margin-left:auto}
.wiz-next{min-width:140px}
.wiz-submit{font-size:1.02rem;padding:.8rem 1.2rem}
.offer-form:not(.is-wizard) .wiz-submit{width:100%}
@media (max-width:479px){.wiz-nav{flex-direction:column-reverse;align-items:stretch}.wiz-nav .btn{width:100%;min-width:0;margin-left:0}}
.under-btn{font-size:.84rem;color:var(--muted);margin:.6rem 0 0}
.hero-form .two{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .75rem}
.two-wide{display:grid;gap:0 .75rem}
.two-wide+.field-help{margin:-.35rem 0 .4rem;font-size:.84rem;line-height:1.4}
@media (max-width:359px){.hero-form .two{grid-template-columns:1fr}}
.hero-form input[type=text],.hero-form input[type=email],.hero-form input[type=tel],.hero-form select{min-height:46px;padding:.6rem .75rem}
.hero-form .consent-box{margin:.6rem 0 .35rem}
.hero-form .consent-box label{font-size:.86rem;line-height:1.45}
.hero-form .privacy-line{font-size:.82rem;line-height:1.45;margin:.5rem 0 0}
.hero-form .field-note{font-size:.86rem;line-height:1.45}
.hero-form .area-row input[type=text]{max-width:170px}
.hero-form .ut span{min-width:56px;padding:0 .7rem}
.offer-form .form-status{margin:.8rem 0 0}
.offer-form .form-status:empty{margin:0}
.hero-form .under-btn{text-align:left}
.offer-form[aria-busy=true] .wiz-submit{opacity:.75;cursor:progress}
.offer-form[aria-busy=true] .wiz-submit::before{content:"";width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:res-spin .8s linear infinite}
@keyframes res-spin{to{transform:rotate(360deg)}}

/* result screen, shown in the card: equal-prominence figures, notice box directly under them (ESTIMATE_COPY §2.1) */
.res{font-size:.95rem}
.res>p{margin-bottom:1rem}
.res-title{font:700 1.3rem/1.25 "Roboto Slab",Georgia,serif;color:var(--navy);margin:0 0 .35rem}
.res-h{font:700 1.02rem/1.3 "Roboto",sans-serif;color:var(--navy);margin:1.25rem 0 .4rem}
.res-sub{color:var(--muted);font-size:.9rem;margin:0 0 1rem}
.mock-banner{background:#fff3cd;border:2px dashed #b7791f;color:#6b4a00;font-weight:700;padding:.6rem .8rem;border-radius:8px;margin:0 0 1rem}
.figs{display:grid;gap:.6rem;margin:0 0 1rem}
@media (min-width:440px){.figs{grid-template-columns:repeat(2,minmax(0,1fr))}.fig-label{min-height:2.75em}}
.fig{background:var(--soft);border:1.5px solid var(--line);border-top:5px solid var(--blue);border-radius:12px;padding:.8rem .85rem}
.fig-offer{border-top-color:var(--orange)}
.fig-label{font-weight:700;color:var(--navy);font-size:.88rem;line-height:1.35;margin:0 0 .35rem}
.fig-value{font:700 1.2rem/1.25 "Roboto Slab",Georgia,serif;color:var(--navy);margin:0 0 .5rem}
.fig-cap{font-size:.8rem;line-height:1.4;color:var(--muted);margin:0}
.notice{background:#fff;border:2px solid var(--navy);border-radius:12px;padding:.85rem .95rem;margin:0 0 1.25rem}
.notice p{margin:0 0 .75rem}
.notice p:last-child{margin-bottom:0}
.res-note{border-top:1px solid var(--line);padding-top:.75rem}
.res-steps{padding-left:1.3rem}
.res-cta{background:var(--navy);color:#fff;border-radius:12px;padding:1rem 1.1rem;margin-top:1.25rem}
.res-cta .res-h{color:#fff;margin-top:0}
.res-cta .cta-actions .btn{flex:1 1 auto}
.res-cta p{margin-bottom:.9rem}
.res-cta a:not(.btn){color:#fff}
.res-cta .btn-ghost{color:#fff;border-color:#fff}
.res-cta .btn-ghost:hover{background:#fff;color:var(--navy)}
.res-small{font-size:.9rem;color:#d6e2f1;margin:.9rem 0 0}
.res-fallback .res-cta p:last-child{margin-bottom:.9rem}

/* bands */
.band{padding:2rem 0}
@media (min-width:900px){.band{padding:3.25rem 0}}
.bg-soft{background:var(--soft)}
.bg-white{background:#fff}
.prose{max-width:none}
.media-row{display:grid;gap:1.25rem}
.media-fig{margin:0;position:relative;border-radius:var(--radius);overflow:hidden;background:#dde6f0;min-height:240px}
.media-fig img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.media-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:.5rem .75rem;font-size:.82rem;color:#fff;background:linear-gradient(transparent,rgba(7,24,58,.85))}
.media-fig.inline{min-height:0;aspect-ratio:16/9;margin-top:.5rem}
@media (min-width:900px){
  .media-row{grid-template-columns:1.35fr 1fr;gap:2.5rem;align-items:stretch}
  .media-row.flip .media-fig{order:-1}
  .media-row .media-fig{min-height:100%}
}
.table-wrap{overflow-x:auto;margin:0 0 1.5rem;border:1px solid var(--line);border-radius:var(--radius)}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:.97rem}
th,td{padding:.65rem .8rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:var(--navy);color:#fff;font-weight:700}
tr:nth-child(even) td{background:#f8fafc}

/* cards: exact column counts so grids never leave an orphan */
.grid{display:grid;gap:1rem;grid-template-columns:1fr;margin-bottom:1rem}
@media (min-width:640px){.grid[data-cols="2"],.grid[data-cols="4"]{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.grid[data-cols="3"]{grid-template-columns:repeat(3,1fr)}.grid[data-cols="4"]{grid-template-columns:repeat(4,1fr)}}
.card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:var(--radius);padding:1.1rem 1.1rem .4rem;transition:transform .15s,box-shadow .15s}
.bg-white .card{background:var(--soft)}
.card h3{margin-top:0;font-size:1.1rem}
.card h3 a{color:var(--navy);text-decoration:none}
.card h3 a::after{content:" \2192";color:var(--orange-dk)}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.grid .card:nth-child(4n+2){border-top-color:var(--orange)}
.grid .card:nth-child(4n+3){border-top-color:var(--navy)}
.grid .card:nth-child(4n+4){border-top-color:#2a9d8f}
.steps{list-style:none;padding:0;counter-reset:s;display:grid;gap:1rem}
.steps li{counter-increment:s;position:relative;padding:1rem 1rem .1rem 4rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin:0}
.bg-white .steps li{background:var(--soft)}
.steps li::before{content:counter(s);position:absolute;left:1rem;top:1rem;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--orange);color:var(--navy);font-weight:700;display:grid;place-items:center}
.steps h3{margin:0 0 .35rem}

/* FAQs */
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.6rem}
.bg-white .faq details{background:var(--soft)}
.faq summary{cursor:pointer;padding:1rem 2.5rem 1rem 1rem;font-weight:700;color:var(--navy);position:relative;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1rem;top:.75rem;font-size:1.4rem;color:var(--orange-dk)}
.faq details[open] summary::after{content:"\2212"}
.faq-a{padding:0 1rem .2rem}

.related{padding-top:1.5rem;padding-bottom:.5rem}
.related-title{font-weight:700;color:var(--navy);margin-bottom:.5rem}
.related ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}
.related li{margin:0}
.related a{display:inline-block;padding:.45rem .8rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.95rem}
.reviewed{font-size:.88rem;color:var(--muted);padding-bottom:1.25rem;margin:0}

.cta-band{background:var(--navy);color:#fff;padding:2rem 0}
.cta-title{font:700 clamp(1.35rem,2.6vw,1.8rem)/1.25 "Roboto Slab",serif;margin:0 0 .5rem;color:#fff}
.cta-sub{color:#d6e2f1;margin-bottom:1.1rem}
.cta-actions{display:flex;flex-wrap:wrap;gap:.75rem}

/* footer */
.site-footer{background:var(--navy-2);color:#cfdbea;padding:2.5rem 0 1rem;font-size:.95rem}
.site-footer a{color:#fff}
.foot-grid{display:grid;gap:1.75rem}
@media (min-width:760px){.foot-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.foot-grid{grid-template-columns:1.5fr 1fr 1fr 1fr}}
.foot-title{color:#fff;font-weight:700;font-size:1.05rem;margin-bottom:.6rem}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:.35rem}
.disclosure{font-size:.86rem;color:#b3c3d8}
.footer-map{margin:1rem 0 0;max-width:220px}
.footer-map img{border-radius:8px;background:#fff}
.footer-map figcaption{font-size:.8rem;color:#b3c3d8;margin-top:.35rem}
.foot-legal{border-top:1px solid rgba(255,255,255,.15);margin-top:2rem;padding-top:1rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem}
.foot-legal ul{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem}
.foot-legal p{margin:0;font-size:.86rem}

.sitemap-grid{display:grid;gap:1.5rem}
@media (min-width:760px){.sitemap-grid{grid-template-columns:repeat(2,1fr)}}

.consent{position:fixed;left:12px;right:12px;bottom:12px;z-index:90;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;max-width:720px;margin:0 auto}
.consent p{margin-bottom:.75rem;font-size:.95rem}
.consent-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.consent-actions .btn{flex:1 1 220px}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.site-header,.cta-band,.site-footer,.hero-form,.consent{display:none}.hero{color:#000;background:#fff}.hero h1{color:#000}}

/* Brand artwork (logos) is shown whole, never cropped */
.media-fig.fig-contain{background:#fff;border:1px solid var(--line)}
.media-fig.fig-contain img{object-fit:contain;padding:12%;box-sizing:border-box}
@media (min-width:900px){.media-row .media-fig.fig-contain{min-height:320px}}

/* Trust badges under the hero (owner 2026-09-28): side by side, our own designs linking to public records */
.trust-bar{background:#fff;border-bottom:1px solid var(--line);padding:1.25rem 0}
.trust-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}
.tb-item{margin:0;display:flex;align-items:center}
.tb-item>.tb-ico{flex:0 0 auto}
.tb-item>.tb-link{flex:1 1 auto}
.tb-link,.tb-item{gap:.7rem}
.tb-link{display:flex;align-items:center;text-decoration:none;color:inherit;border-radius:10px}
.tb-link:hover .tb-t{text-decoration:underline}
.tb-ico{width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;flex:0 0 46px}
.tb-ico svg{width:26px;height:26px}
.tb-item:nth-child(2n) .tb-ico{background:var(--blue)}
.tb-txt{display:flex;flex-direction:column;line-height:1.25}
.tb-t{font-weight:700;color:var(--navy);font-size:.98rem}
.tb-s{font-size:.86rem;color:var(--muted)}
.tb-logo img{height:56px;width:auto}
@media (min-width:900px){.trust-list{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.trust-bar{padding:1.6rem 0}}
.tb-item,.tb-link,.tb-txt{min-width:0}
.tb-t,.tb-s{overflow-wrap:break-word}
@media (max-width:899px){.tb-ico{width:40px;height:40px;flex-basis:40px}.tb-ico svg{width:22px;height:22px}.tb-t{font-size:.92rem}.tb-s{font-size:.82rem}}
