/* ============================================================
   THE RHODE ISLAND CLEANERS — DESIGN SYSTEM v3
   Premium residential cleaning company aesthetic.
   Brand: deep navy + gold. Mobile-first. Conversion-focused.
   ============================================================ */

:root{
  /* Brand */
  --navy:#07174f;
  --navy-2:#0e256e;
  --navy-3:#14308a;
  --ink:#131a2b;
  --muted:#5b6579;
  --faint:#8b94a7;
  --gold:#ffc83d;
  --gold-deep:#f5b301;
  --gold-soft:#fff6d9;
  --paper:#ffffff;
  --soft:#f6f8fc;
  --soft-2:#eef2f9;
  --line:#e3e8f2;
  --green:#147a53;
  --green-soft:#e6f6ee;
  --red:#c0362c;

  /* Shape */
  --r-sm:12px;
  --r-md:18px;
  --r-lg:26px;
  --r-xl:34px;
  --r-pill:999px;

  /* Shadow */
  --sh-sm:0 4px 14px rgba(7,23,79,.07);
  --sh-md:0 10px 30px rgba(7,23,79,.09);
  --sh-lg:0 22px 60px rgba(7,23,79,.13);
  --sh-gold:0 10px 26px rgba(255,200,61,.35);

  /* Type */
  --font:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-display:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ivory:#f7f5f0;
  --h1:clamp(2.6rem,5.4vw,4.3rem);
  --h2:clamp(1.9rem,3.6vw,2.9rem);
  --h3:1.35rem;
  --lead:1.13rem;

  /* Layout */
  --container:1180px;
  --section-pad:clamp(3.5rem,7vw,5.5rem);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);line-height:1.6;background:var(--paper);font-size:16px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{color:var(--navy);line-height:1.12;letter-spacing:-.02em;margin:0 0 .6em;font-weight:800}
h1{font-size:var(--h1);letter-spacing:-.035em}
h2{font-size:var(--h2)}
h3{font-size:var(--h3)}
p{margin:0 0 1em}
.lead{font-size:var(--lead);color:var(--muted);max-width:44rem}

/* ---------- layout ---------- */
.container{width:min(var(--container),calc(100% - 2.5rem));margin-inline:auto}
section{padding-block:var(--section-pad)}
.section-soft{background:var(--soft)}
.kicker{display:inline-flex;align-items:center;gap:.6rem;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--navy-3);margin-bottom:.7rem}
.kicker::before{content:"";width:1.8rem;height:2px;background:var(--gold);border-radius:2px}
.section-head{max-width:46rem;margin-bottom:2.4rem}
.section-head.center{margin-inline:auto;text-align:center}
.section-head.center .lead{margin-inline:auto}
.section-head.center .kicker::before{display:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--r-pill);padding:.95rem 1.9rem;font-weight:800;font-size:1rem;border:2px solid transparent;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;white-space:nowrap;line-height:1.2}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-gold{background:var(--gold);color:var(--navy);box-shadow:var(--sh-gold)}
.btn-gold:hover{background:var(--gold-deep)}
.btn-navy{background:var(--navy);color:#fff;box-shadow:var(--sh-md)}
.btn-navy:hover{background:var(--navy-2)}
.btn-outline{border-color:var(--line);color:var(--navy);background:#fff}
.btn-outline:hover{border-color:var(--navy)}
.btn-white{background:#fff;color:var(--navy)}
.btn-lg{padding:1.1rem 2.4rem;font-size:1.08rem}
.btn-block{width:100%}
.btn-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}

/* ---------- header ---------- */
.topline{background:var(--navy);color:#fff;text-align:center;font-size:.8rem;font-weight:700;padding:.55rem 1rem;letter-spacing:.02em}
.topline a{color:#fff;font-weight:800;text-decoration:none}
.site-header{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:1.4rem;min-height:4.6rem}
.brand{display:flex;align-items:center;gap:.7rem;margin-right:auto}
.brand img{width:3rem;height:3rem;border-radius:50%;object-fit:cover;box-shadow:var(--sh-sm)}
.brand-name{display:block;color:var(--navy);font-weight:800;line-height:1.1;font-size:1.02rem}
.brand-tag{display:block;color:var(--faint);font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-top:.15rem}
.navlinks{display:flex;align-items:center;gap:1.35rem;font-size:.94rem;font-weight:700;color:#3c4763}
.navlinks>div{position:relative}
.navlinks a{padding:.4rem 0}
.navlinks a:hover{color:var(--navy)}
.has-menu>button{background:none;border:0;font:inherit;font-weight:700;color:inherit;cursor:pointer;display:flex;align-items:center;gap:.3rem;padding:.4rem 0}
.has-menu .chev{font-size:.7rem;transition:transform .18s}
.menu-panel{display:none;position:absolute;top:calc(100% + .7rem);left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-lg);padding:.6rem;min-width:15rem;z-index:210}
.has-menu:hover .menu-panel,.has-menu:focus-within .menu-panel{display:block}
.has-menu:hover .chev{transform:rotate(180deg)}
.menu-panel a{display:block;padding:.65rem .9rem;border-radius:.7rem;font-size:.92rem}
.menu-panel a:hover{background:var(--soft)}
.menu-panel a small{display:block;color:var(--faint);font-weight:600;font-size:.78rem}
.nav-phone{display:flex;align-items:center;gap:.45rem;font-weight:800;color:var(--navy);white-space:nowrap}
.nav-cta{display:inline-flex;align-items:center;border-radius:var(--r-pill);background:var(--gold);color:var(--navy);font-weight:800;padding:.7rem 1.35rem;box-shadow:var(--sh-gold);transition:transform .16s}
.nav-cta:hover{transform:translateY(-2px);background:var(--gold-deep)}
.hamburger{display:none;background:#fff;border:1px solid var(--line);border-radius:.8rem;padding:.6rem .75rem;cursor:pointer;color:var(--navy);font-size:1.15rem;font-weight:800}
.mobile-panel{display:none}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:0}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.32}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,23,79,.94) 20%,rgba(7,23,79,.72) 55%,rgba(7,23,79,.35) 100%)}
.hero-inner{position:relative;z-index:2;padding-block:clamp(3.5rem,8vw,6.5rem);max-width:44rem}
.hero .kicker{color:var(--gold)}
.hero h1{color:#fff}
.hero .lead{color:#d7deef}
.hero-points{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.6rem}
.hero-points li{display:flex;gap:.65rem;align-items:flex-start;color:#e8edf9;font-size:.98rem}
.hero-points .tick{flex:0 0 auto;width:1.45rem;height:1.45rem;border-radius:50%;background:var(--gold);color:var(--navy);display:grid;place-items:center;font-weight:900;font-size:.8rem;margin-top:.15rem}
.hero-alt{margin-top:1.4rem;color:#c6cfe6;font-size:.95rem}
.hero-alt a{color:#fff;font-weight:800;border-bottom:2px solid var(--gold)}

/* ---------- trust bar ---------- */
.trustbar{background:#fff;border-bottom:1px solid var(--line);padding:0}
.trustbar-grid{display:grid;grid-template-columns:repeat(5,1fr);max-width:var(--container);margin-inline:auto}
.trustbar-item{display:flex;align-items:center;justify-content:center;gap:.6rem;padding:1.05rem .8rem;font-weight:800;color:var(--navy);font-size:.92rem;border-left:1px solid var(--line);text-align:center}
.trustbar-item:first-child{border-left:0}
.trustbar-item .dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--gold);flex:0 0 auto}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);transition:transform .18s,box-shadow .18s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.card-img{aspect-ratio:16/10;overflow:hidden;background:var(--soft-2)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.card:hover .card-img img{transform:scale(1.04)}
.card-body{padding:1.5rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.card-body h3{margin:0}
.card-body p{color:var(--muted);font-size:.95rem;margin:0;flex:1}
.card-link{font-weight:800;color:var(--navy);font-size:.95rem;display:inline-flex;align-items:center;gap:.35rem}
.card-link::after{content:"→";transition:transform .18s}
.card-link:hover::after{transform:translateX(4px)}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;counter-reset:step}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.9rem;box-shadow:var(--sh-sm);position:relative}
.step-num{width:3rem;height:3rem;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.25rem;margin-bottom:1.1rem}
.step h3{margin:0 0 .5rem}
.step p{color:var(--muted);margin:0;font-size:.96rem}

/* ---------- reviews ---------- */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.review-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem;box-shadow:var(--sh-sm);display:flex;flex-direction:column;gap:.8rem}
.stars{color:#e8a100;letter-spacing:.15em;font-size:1rem}
.review-text{color:#3c4763;font-size:.97rem;flex:1;margin:0}
.review-who{display:flex;align-items:center;gap:.7rem}
.review-ava{width:2.6rem;height:2.6rem;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}
.review-who b{display:block;color:var(--navy);font-size:.95rem}
.review-who small{color:var(--faint);font-size:.8rem}
.review-cta-card{background:var(--navy);color:#fff;border-radius:var(--r-lg);padding:1.6rem;display:flex;flex-direction:column;justify-content:center;gap:.8rem}
.review-cta-card h3{color:#fff;margin:0}
.review-cta-card p{color:#c6cfe6;margin:0;font-size:.95rem}

/* ---------- before/after ---------- */
.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.ba-card{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh-sm);background:#fff}
.ba-imgs{display:grid;grid-template-columns:1fr 1fr}
.ba-imgs figure{margin:0;position:relative;aspect-ratio:1/1;overflow:hidden}
.ba-imgs img{width:100%;height:100%;object-fit:cover}
.ba-imgs figcaption{position:absolute;left:.6rem;bottom:.6rem;background:rgba(7,23,79,.82);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .6rem;border-radius:.5rem}
.ba-cap{padding:1.1rem 1.3rem}
.ba-cap b{color:var(--navy)}
.ba-cap p{margin:.3rem 0 0;color:var(--muted);font-size:.88rem}

/* ---------- compare table ---------- */
.compare{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);background:#fff}
.compare-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;align-items:center}
.compare-row>div{padding:1.05rem 1.3rem;font-size:.97rem}
.compare-head{background:var(--navy);color:#fff;font-weight:800}
.compare-head div:nth-child(2),.compare-head div:nth-child(3){text-align:center}
.compare-row:not(.compare-head){border-top:1px solid var(--line)}
.compare-row:not(.compare-head) div:nth-child(2){text-align:center;background:var(--gold-soft);font-weight:800;color:var(--navy)}
.compare-row:not(.compare-head) div:nth-child(3){text-align:center;color:var(--muted)}
.compare .yes{color:var(--green);font-weight:900}

/* ---------- service area ---------- */
.area-band{background:var(--navy);border-radius:var(--r-xl);padding:clamp(2rem,5vw,3.5rem);color:#dbe3ff}
.area-band h2{color:#fff}
.area-band .kicker{color:var(--gold)}
.area-band p{color:#aeb9d8;max-width:40rem}
.area-cities{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0}
.area-cities a{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:var(--r-pill);padding:.55rem 1.1rem;font-weight:700;font-size:.92rem;transition:background .16s}
.area-cities a:hover{background:rgba(255,255,255,.16)}

/* ---------- faq ---------- */
.faq-list{max-width:48rem}
.faq-item{border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:.7rem;background:#fff;overflow:hidden;transition:box-shadow .16s}
.faq-item[open]{box-shadow:var(--sh-sm)}
.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.35rem;font-weight:800;color:var(--navy);font-size:1.02rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .plus{flex:0 0 auto;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--soft-2);display:grid;place-items:center;font-weight:900;transition:transform .2s,background .2s}
.faq-item[open] summary .plus{transform:rotate(45deg);background:var(--gold)}
.faq-item .faq-a{padding:0 1.35rem 1.3rem;color:var(--muted);font-size:.97rem}

/* ---------- final cta ---------- */
.final-cta{position:relative;border-radius:var(--r-xl);overflow:hidden;background:var(--navy);color:#fff;padding:clamp(2.5rem,6vw,4.5rem);text-align:center}
.final-cta .bg{position:absolute;inset:0}
.final-cta .bg img{width:100%;height:100%;object-fit:cover;opacity:.22}
.final-cta .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,23,79,.88),rgba(7,23,79,.72))}
.final-cta-inner{position:relative;z-index:2;max-width:38rem;margin-inline:auto}
.final-cta h2{color:#fff}
.final-cta p{color:#d7deef;font-size:1.08rem}
.final-cta .btn-row{justify-content:center}
.final-cta .phone-big{display:inline-block;margin-top:1.2rem;color:#fff;font-weight:800;font-size:1.3rem;border-bottom:2px solid var(--gold)}

/* ---------- footer ---------- */
.footer{background:#060f36;color:#c4cee9;padding:3.5rem 0 1.5rem;font-size:.92rem}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem}
.foot-brand .brand-name{color:#fff}
.foot-brand p{color:#8b96b8;font-size:.88rem;max-width:18rem}
.foot-addr{margin-top:1rem;color:#8b96b8;font-size:.88rem;line-height:1.7}
.foot-addr b{color:#fff}
.footer h4{color:#fff;font-size:.95rem;margin:0 0 .9rem;letter-spacing:.02em}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.footer ul a{color:#a8b4d4;font-size:.88rem}
.footer ul a:hover{color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.3rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#7c88ab;font-size:.8rem}

/* ---------- forms ---------- */
.field{margin-bottom:1rem}
.field label{display:block;font-size:.82rem;font-weight:800;color:var(--navy);margin-bottom:.4rem}
.field input,.field select,.field textarea{width:100%;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:.85rem 1rem;background:#fbfcfe;font-size:1rem;transition:border-color .15s,box-shadow .15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy-3);box-shadow:0 0 0 3px rgba(20,48,138,.12);background:#fff}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.choice-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}
.choice-card{border:1.5px solid var(--line);border-radius:var(--r-md);padding:1rem;cursor:pointer;transition:border-color .15s,background .15s;background:#fff}
.choice-card:hover{border-color:var(--navy-3)}
.choice-card.selected{border-color:var(--navy);background:var(--gold-soft);box-shadow:var(--sh-sm)}
.choice-card b{display:block;color:var(--navy);font-size:.98rem}
.choice-card small{color:var(--muted);font-size:.82rem}
.form-steps{display:flex;gap:.4rem;margin-bottom:1.6rem}
.form-steps i{flex:1;height:.4rem;border-radius:99px;background:var(--soft-2)}
.form-steps i.done{background:var(--gold)}
.form-step{display:none}
.form-step.active{display:block;animation:fadeUp .25s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.form-nav{display:flex;justify-content:space-between;gap:.8rem;margin-top:1.4rem}

/* ---------- quote panel (hero-adjacent) ---------- */
.quote-panel{background:#fff;border-radius:var(--r-xl);box-shadow:var(--sh-lg);padding:1.8rem;color:var(--ink)}
.quote-panel h3{margin:0 0 .3rem;font-size:1.3rem}
.quote-panel>p{color:var(--muted);font-size:.92rem;margin:0 0 1.2rem}

/* ---------- mobile sticky cta ---------- */
.sticky-cta{display:none;position:fixed;left:.8rem;right:.8rem;bottom:.8rem;z-index:300;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:.6rem;gap:.6rem}
.sticky-cta .btn{flex:1;padding:.85rem .5rem;font-size:.95rem}

/* ---------- reveal animation ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition:none!important}}

/* ---------- responsive ---------- */
@media(max-width:1020px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .trustbar-grid{grid-template-columns:repeat(3,1fr)}
  .trustbar-item{border-top:1px solid var(--line)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .reviews-grid,.ba-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .navlinks,.nav-phone,.nav-cta{display:none}
  .hamburger{display:block}
  .mobile-panel{position:fixed;inset:0;z-index:400;background:#fff;padding:1.2rem;overflow-y:auto;transform:translateX(100%);transition:transform .25s ease;display:block}
  .mobile-panel.open{transform:none}
  .mobile-panel .mp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
  .mobile-panel nav{display:grid;gap:.2rem}
  .mobile-panel nav a,.mobile-panel nav .mp-label{padding:.85rem .4rem;font-weight:800;color:var(--navy);font-size:1.1rem;border-bottom:1px solid var(--line)}
  .mobile-panel nav .mp-sub{padding-left:1rem}
  .mobile-panel nav .mp-sub a{font-size:.98rem;font-weight:600;color:#3c4763}
  .mobile-panel .btn-row{margin-top:1.4rem}
  .cards,.steps,.reviews-grid,.ba-grid{grid-template-columns:1fr}
  .trustbar-grid{grid-template-columns:1fr 1fr}
  .field-row{grid-template-columns:1fr}
  .choice-cards{grid-template-columns:1fr}
  .compare-row{grid-template-columns:1.2fr .8fr .8fr}
  .compare-row>div{padding:.8rem .6rem;font-size:.85rem}
  .foot-grid{grid-template-columns:1fr}
  .sticky-cta{display:flex}
  body{padding-bottom:4.6rem}
  section{padding-block:2.8rem}
}

/* ============================================================
   v4 LUXURY UPGRADE — cohesive, clean, warm.
   Same RIC brand (deep navy + gold), one corner system (18px),
   serif display headings, alternating ivory section rhythm,
   white form cards, fixed checkbox alignment.
   ============================================================ */

/* ---------- serif display headings (h1/h2 only) ---------- */
h1,h2{font-family:var(--font-display);font-weight:600}
h1{letter-spacing:-.02em}
h2{letter-spacing:-.015em}
footer h2,.site-footer h2,.footer h2{font-family:var(--font)}
.brand-name{font-family:var(--font)}

/* ---------- one corner system: 18px cards / photos / form card ---------- */
.card,.step,.review-card,.review-cta-card,.ba-card,.compare,.quote-panel{border-radius:var(--r-md)}
.card,.step,.review-card{box-shadow:var(--sh-md)}
.menu-panel{border-radius:var(--r-md)}

/* ---------- alternating section rhythm ---------- */
main>section:nth-of-type(even):not(.hero){background:var(--ivory)}
main>section:nth-of-type(even):not(.hero) .faq-item,
main>section:nth-of-type(even):not(.hero) .card,
main>section:nth-of-type(even):not(.hero) .step{background:#fff}

/* ---------- form card ---------- */
form[data-netlify]{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-md);padding:clamp(1.4rem,3vw,2.2rem);max-width:880px;margin-inline:auto}

/* ---------- checkbox / radio alignment ---------- */
.field div label{display:flex!important;align-items:flex-start;gap:.55rem;line-height:1.45;margin-bottom:.45rem}
.field div label:last-child{margin-bottom:0}
.field>label:has(>input[type="checkbox"]),.field>label:has(>input[type="radio"]){display:flex!important;align-items:flex-start;gap:.55rem;line-height:1.45}
.field label>input[type="checkbox"],.field label>input[type="radio"]{flex:0 0 auto;width:1.05rem;height:1.05rem;margin:.2rem 0 0;padding:0;accent-color:var(--navy)}

/* ---------- trust strip: one evenly distributed row ---------- */
.trustbar-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.trust-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1.2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;text-align:center}

/* ---------- service-area chips: links and plain towns identical ---------- */
.area-cities a,.area-cities span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:var(--r-pill);padding:.55rem 1.1rem;font-weight:700;font-size:.92rem;transition:background .16s}
.area-cities a:hover{background:rgba(255,255,255,.16)}

/* ---------- card grids: auto-fit, no empty slots, equal height ---------- */
.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch}

/* ---------- responsive: let auto-fit govern ---------- */
@media(max-width:1020px){
  .trustbar-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
  .trustbar-item{border-top:0}
  .cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
}
@media(max-width:760px){
  .cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
  .trustbar-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
}

/* ============================================================
   v5 SPM LEVEL PASS, staging only, not deployed.
   One spacing scale (80 to 100px desktop rhythm), photography
   led cards, one card system, trust proof in the pattern.
   Visual layer only. RIC brand unchanged: navy + gold, Manrope.
   ============================================================ */
:root{--section-pad:clamp(5rem,8vw,6.25rem);--r-card:18px}
section{padding-block:var(--section-pad)}
.section-head{margin-bottom:2.75rem}
.cards{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.reviews-grid,.ba-grid{gap:1.5rem}
.card,.step,.review-card,.review-cta-card,.ba-card,.compare,.quote-panel,.ind,.checklist{border-radius:var(--r-card)}
.ind{overflow:hidden}
.ind-img{display:block;margin:-18px -18px 14px;aspect-ratio:16/8;overflow:hidden;background:var(--soft-2)}
.ind-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.ind:hover .ind-img img{transform:scale(1.04)}
.photo-band{border-radius:var(--r-card);overflow:hidden;height:clamp(220px,32vw,360px);background:var(--soft-2)}
.photo-band img{width:100%;height:100%;object-fit:cover}
.trust-strip .stars{color:#e8a100;letter-spacing:.15em}
form[data-netlify]{border-radius:var(--r-card)}
@media(max-width:1020px){
  .steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
}
@media(max-width:760px){
  section{padding-block:3.5rem}
  .photo-band{height:200px}
  .ind-img{aspect-ratio:16/9}
}

/* trust strip one-row layout 2026-11-10 (Hassan: straight across, never jumbled) */
.trust-strip{display:flex !important;flex-wrap:nowrap !important;align-items:center !important;justify-content:space-between !important;gap:.5rem}
.trust-strip>div{flex:1 1 0;text-align:center}
@media(max-width:700px){.trust-strip{gap:.3rem}.trust-strip b{font-size:.66rem;line-height:1.2}}

/* header one-line layout 2026-11-10 (match homepage: straight across, never jumbled) */
.site-header .nav{flex-wrap:nowrap !important}
.brand{flex:0 1 auto;min-width:0}
.brand-name{white-space:nowrap}
.navlinks{flex-wrap:nowrap !important;white-space:nowrap}
.nav-phone{white-space:nowrap}
.nav-cta{white-space:nowrap;flex:0 0 auto}
@media(max-width:900px){
.site-header .nav{flex-wrap:wrap !important;row-gap:.55rem;padding-top:.6rem;padding-bottom:.6rem}
.brand-tag{display:none}
.nav-phone{display:none}
.nav-cta{margin-left:auto}
.navlinks{order:3;flex:1 1 100%;justify-content:space-between;gap:.9rem;font-size:.92rem}
}

/* button rows one clean row 2026-11-10 */
.btn-row{flex-wrap:nowrap !important}
@media(max-width:700px){.btn-row .btn{flex:1 1 0;text-align:center;padding-left:.4rem;padding-right:.4rem;font-size:.86rem;white-space:nowrap}}

/* ---------- stage 2: sticky mobile call bar + image placeholder ---------- */
.mobile-callbar{display:none}
@media(max-width:900px){
  .mobile-callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:400;width:100%;box-shadow:0 -6px 24px rgba(7,23,79,.18)}
  .mobile-callbar a{flex:1 1 0;text-align:center;font-weight:800;font-size:1rem;padding:.95rem .5rem;line-height:1.2}
  .mobile-callbar .mc-call{background:var(--navy);color:#fff}
  .mobile-callbar .mc-quote{background:var(--gold);color:var(--navy)}
  body{padding-bottom:56px}
}
.img-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:100%;background:var(--soft-2);color:var(--muted);font-weight:700;font-size:.9rem;text-align:center;padding:1rem}
