:root{
  --bg:#ffffff;
  --text:#111111;
  --muted:#444444;
  --green:#18a957;
  --yellow:#f5c400;
  --card:#f7f7f7;
  --border:#e7e7e7;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
  --radius:18px;
  --max:1120px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}

a{color:inherit; text-decoration:none}
a:hover{text-decoration:none}

.container{max-width:var(--max); margin:0 auto; padding:0 18px}

/* Header */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--border);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:14px}
.brand{display:flex; align-items:center; gap:12px}
.brand img{width:44px; height:44px; object-fit:contain}
.brand .name{display:flex; flex-direction:column; line-height:1.1}
.brand .name strong{font-size:16px}
.brand .name span{font-size:12px; color:var(--muted)}

.nav{display:flex; gap:18px; align-items:center; flex-wrap:wrap}
.nav a{font-size:14px; padding:8px 10px; border-radius:10px; color:#222}
.nav a.active{background:rgba(24,169,87,.10); color:var(--green); font-weight:700}

.header-cta{display:flex; align-items:center; gap:10px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--border);
  font-weight:700;
  font-size:14px;
  cursor:pointer;
}
.btn-primary{background:var(--yellow); border-color:rgba(0,0,0,.10)}
.btn-primary:hover{filter:brightness(.97)}
.btn-outline{background:#fff}
.btn-outline:hover{background:rgba(0,0,0,.03)}

/* Ghost button (used across pages) */
.btn-ghost{background:rgba(24,169,87,.08); border-color:rgba(24,169,87,.22)}
.btn-ghost:hover{background:rgba(24,169,87,.12)}

/* Utility */
.muted{color:var(--muted)}

/* Cards used on home */
.hero-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:18px}
.hero-card h3{margin:0 0 8px}

/* Bullets (home) */
.bullets{margin:10px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px}
.bullets li{display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border:1px solid var(--border); border-radius:14px; background:#fff}
.bullets li::before{content:""; width:10px; height:10px; border-radius:999px; margin-top:6px; background:var(--green); box-shadow:0 0 0 4px rgba(24,169,87,.15)}

@media (max-width: 900px){
  .bullets{grid-template-columns:1fr}
}

/* Home page enhanced sections */
.home-hero{padding:64px 0 34px}
.home-hero .hero-grid{align-items:center}
.home-hero .kicker{margin-bottom:10px}
.home-hero .hero-cta .btn:first-child{background:var(--yellow); border-color:rgba(0,0,0,.10)}

.hero-visual{
  position:relative;
  border-radius:24px;
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  background:
    radial-gradient(circle at 30% 20%, rgba(245,196,0,.28), transparent 55%),
    radial-gradient(circle at 80% 25%, rgba(24,169,87,.22), transparent 50%),
    linear-gradient(135deg, #fff, #fafafa);
}
.hero-visual .inner{padding:18px}
.trust-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:14px}
.trust-pill{display:inline-flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid var(--border); border-radius:999px; background:#fff; font-size:12px; font-weight:800}

.stat-grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; margin-top:14px}
.stat{padding:14px; border-radius:16px; background:#fff; border:1px solid var(--border)}
.stat strong{display:block; font-size:18px}
.stat span{display:block; font-size:12px; color:var(--muted); margin-top:2px}


/* FAQ section */
.page-contact .contact-faq{margin-top:18px;}
.page-contact .faq-card{border-radius:18px; border:1px solid rgba(0,0,0,.08); background:rgba(255,255,255,.92); box-shadow:0 14px 34px rgba(0,0,0,.08); padding:14px;}
.page-contact .faq-head{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px;}
.page-contact .faq-head h3{margin:0;}
.page-contact .faq-grid{display:grid; gap:10px;}
.page-contact .faq-grid details{border:1px solid rgba(0,0,0,.08); border-radius:16px; background:#fff; padding:12px 14px; transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;}
.page-contact .faq-grid details:hover{transform:translateY(-1px); box-shadow:0 12px 22px rgba(0,0,0,.08); border-color:rgba(34,197,94,.28);}
.page-contact .faq-grid summary{cursor:pointer; font-weight:900; list-style:none;}
.page-contact .faq-grid summary::-webkit-details-marker{display:none;}
.page-contact .faq-grid summary:after{content:"+"; float:right; font-weight:900; opacity:.75;}
.page-contact .faq-grid details[open] summary:after{content:"−";}
.page-contact .faq-grid p{margin:10px 0 0;}

/* Sticky sidebar on desktop */
@media (min-width: 981px){
  .page-contact .contact-sidebar{position:sticky; top:92px;}
}

/* Better anchor positioning under fixed header */
.page-contact #contact-form, .page-contact #coi{scroll-margin-top:96px;}

@media (max-width: 980px){
  .stat-grid{grid-template-columns:1fr}
}

.service-cards{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px}
.service-card{background:#fff; border:1px solid var(--border); border-radius:18px; padding:16px; box-shadow:0 10px 24px rgba(0,0,0,.06); transition:transform .15s ease, box-shadow .15s ease}
.service-card:hover{transform:translateY(-2px); box-shadow:0 16px 34px rgba(0,0,0,.10)}
.service-card .icon{width:40px; height:40px; border-radius:14px; display:grid; place-items:center; background:rgba(245,196,0,.18); border:1px solid rgba(245,196,0,.35); margin-bottom:10px}
.service-card h3{margin:0 0 6px}
.service-card p{margin:0; color:var(--muted)}
.service-card a{display:inline-flex; margin-top:10px; font-weight:900; color:var(--green)}
@media (max-width: 900px){
  .service-cards{grid-template-columns:1fr}
}

.steps{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px}
.step{background:#fff; border:1px solid var(--border); border-radius:18px; padding:16px}
.step .num{width:36px; height:36px; border-radius:14px; display:grid; place-items:center; background:rgba(24,169,87,.1); border:1px solid rgba(24,169,87,.25); font-weight:900; margin-bottom:10px}
.step h3{margin:0 0 6px}
.step p{margin:0; color:var(--muted)}
@media (max-width: 900px){
  .steps{grid-template-columns:1fr}
}

.testimonials{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px}
.quote{background:#fff; border:1px solid var(--border); border-radius:18px; padding:16px}
.quote p{margin:0 0 10px; color:var(--muted)}
.quote .who{display:flex; gap:10px; align-items:center}
.avatar{width:38px; height:38px; border-radius:14px; background:rgba(0,0,0,.05); border:1px solid var(--border)}
.quote strong{display:block}
.quote span{display:block; font-size:12px; color:var(--muted)}
@media (max-width: 900px){
  .testimonials{grid-template-columns:1fr}
}

/* CTA band */
.cta-band{
  border:1px solid var(--border);
  border-radius:24px;
  background:
    radial-gradient(circle at 20% 20%, rgba(245,196,0,.22), transparent 60%),
    radial-gradient(circle at 80% 40%, rgba(24,169,87,.18), transparent 60%),
    #fff;
  box-shadow:var(--shadow);
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.cta-band h3{margin:0 0 6px}
.cta-band p{margin:0; color:var(--muted)}
.cta-band .actions{display:flex; gap:12px; flex-wrap:wrap}

/* Mobile nav */
.nav-toggle{display:none}

@media (max-width: 860px){
  .nav{display:none; width:100%; padding:10px 0}
  .nav.open{display:flex; flex-direction:column; align-items:flex-start; gap:8px}
  .header-inner{flex-wrap:wrap}
  .nav-toggle{display:inline-flex}
}

/* Hero */
.hero{padding:54px 0 28px; position:relative; overflow:hidden}
.hero::before{
  content:"";
  position:absolute; inset:-120px -120px auto -120px;
  height:420px;
  background:radial-gradient(circle at 30% 20%, rgba(245,196,0,.25), transparent 55%),
             radial-gradient(circle at 70% 10%, rgba(24,169,87,.22), transparent 55%);
  z-index:-1;
}
.hero-grid{display:grid; grid-template-columns: 1.15fr .85fr; gap:22px; align-items:start}
.hero h1{font-size:44px; line-height:1.1; margin:0 0 12px}
.hero p.lead{font-size:18px; color:var(--muted); margin:0 0 18px}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin:12px 0 18px}
.badges{display:flex; gap:10px; flex-wrap:wrap; margin-top:8px}
.badge{font-size:12px; font-weight:700; border:1px solid var(--border); border-radius:999px; padding:6px 10px; background:#fff}

.card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card.pad{padding:18px}
.card .card-title{font-weight:800; margin:0 0 8px}
.card .card-text{color:var(--muted); margin:0}



/* FAQ section */
.page-contact .contact-faq{margin-top:18px;}
.page-contact .faq-card{border-radius:18px; border:1px solid rgba(0,0,0,.08); background:rgba(255,255,255,.92); box-shadow:0 14px 34px rgba(0,0,0,.08); padding:14px;}
.page-contact .faq-head{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px;}
.page-contact .faq-head h3{margin:0;}
.page-contact .faq-grid{display:grid; gap:10px;}
.page-contact .faq-grid details{border:1px solid rgba(0,0,0,.08); border-radius:16px; background:#fff; padding:12px 14px; transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;}
.page-contact .faq-grid details:hover{transform:translateY(-1px); box-shadow:0 12px 22px rgba(0,0,0,.08); border-color:rgba(34,197,94,.28);}
.page-contact .faq-grid summary{cursor:pointer; font-weight:900; list-style:none;}
.page-contact .faq-grid summary::-webkit-details-marker{display:none;}
.page-contact .faq-grid summary:after{content:"+"; float:right; font-weight:900; opacity:.75;}
.page-contact .faq-grid details[open] summary:after{content:"−";}
.page-contact .faq-grid p{margin:10px 0 0;}

/* Sticky sidebar on desktop */
@media (min-width: 981px){
  .page-contact .contact-sidebar{position:sticky; top:92px;}
}

/* Better anchor positioning under fixed header */
.page-contact #contact-form, .page-contact #coi{scroll-margin-top:96px;}

@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr;}
  .hero h1{font-size:38px}
}

/* Sections */
.section{padding:36px 0}
.section h2{font-size:28px; margin:0 0 12px}
.section p{margin:0 0 12px; color:var(--muted)}

.grid-3{display:grid; grid-template-columns:repeat(3, 1fr); gap:14px}
.grid-2{display:grid; grid-template-columns:repeat(2, 1fr); gap:14px}

@media (max-width: 900px){
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
}

.list{margin:0; padding-left:18px; color:var(--muted)}

/* Service tiles */
.tile{padding:16px; border-radius:var(--radius); border:1px solid var(--border); background:#fff}
.tile h3{margin:0 0 6px; font-size:18px}
.tile p{margin:0; color:var(--muted)}
.tile a{display:inline-flex; margin-top:10px; font-weight:800; color:var(--green)}

/* Content page */
.page-hero{padding:34px 0 14px; border-bottom:1px solid var(--border)}
.page-hero h1{margin:0 0 8px; font-size:34px}
.page-hero p{margin:0; color:var(--muted)}
.content{padding:24px 0 44px}
.content h2{margin:24px 0 10px; font-size:22px}
.content h3{margin:18px 0 8px; font-size:18px}
.content p{color:var(--muted)}

.faq{border:1px solid var(--border); border-radius:14px; overflow:hidden; background:#fff}
.faq details{padding:12px 14px; border-bottom:1px solid var(--border)}
.faq details:last-child{border-bottom:none}
.faq summary{cursor:pointer; font-weight:800}
.faq p{margin:8px 0 0}

/* Forms */
.form{display:grid; gap:12px}
.field{display:grid; gap:6px}
label{font-weight:800; font-size:13px}
input, select, textarea{
  padding:12px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  font:inherit;
}
textarea{min-height:120px; resize:vertical}
.help{font-size:12px; color:var(--muted)}

/* Footer */
.footer{
  border-top:1px solid var(--border);
  padding:26px 0;
  background:#fff;
}
.footer-grid{display:grid; grid-template-columns: 1.3fr 1fr 1fr; gap:16px; align-items:start}
.footer small, .footer p{color:var(--muted)}
.footer a{color:var(--green); font-weight:800}
@media (max-width: 900px){
  .footer-grid{grid-template-columns:1fr}
}

.kicker{display:inline-flex; gap:8px; align-items:center; font-weight:900; color:var(--green); font-size:12px; letter-spacing:.08em; text-transform:uppercase}
.divider{height:1px; background:var(--border); margin:18px 0}

.note{
  background:rgba(245,196,0,.15);
  border:1px solid rgba(245,196,0,.35);
  padding:12px 14px;
  border-radius:14px;
  color:#2a2a2a;
}


/* Footer additions */
.site-footer, .footer{border-top:1px solid var(--border); background:#fff}
.footer-brand{display:flex; gap:12px; align-items:center; margin-bottom:10px}
.footer-brand img{width:44px; height:44px; object-fit:contain}
.footer-contact{display:grid; gap:6px; margin-top:10px}
.footer-links{list-style:none; padding:0; margin:10px 0 0; display:grid; gap:6px}
.footer-links a{color:var(--text); font-weight:600}
.footer-links a:hover{color:var(--green)}
.footer-title{display:block; margin-top:14px}
.footer-bottom{display:flex; gap:12px; justify-content:space-between; flex-wrap:wrap; padding:14px 0 26px; border-top:1px solid var(--border); margin-top:18px; font-size:12px}

/* Main wrapper */
.main{min-height:60vh}

/* Aliases for hero markup */
.hero-cta{display:flex; gap:12px; flex-wrap:wrap; margin:12px 0 18px}
.hero-badges{display:flex; gap:10px; flex-wrap:wrap; margin-top:8px}
.stack{display:flex; flex-direction:column; gap:10px}
.link{color:var(--green); font-weight:900}
.link:hover{text-decoration:underline}

/* Make buttons small variants work */
.btn-small{padding:10px 12px; font-size:14px}

/* =========================
   Homepage enhancements
   ========================= */

.home-hero{padding:64px 0 34px}
.home-hero::before{
  content:"";
  position:absolute;
  inset:-140px -140px auto -140px;
  height:520px;
  background:
    radial-gradient(circle at 18% 20%, rgba(245,196,0,.28), transparent 55%),
    radial-gradient(circle at 80% 12%, rgba(24,169,87,.22), transparent 55%),
    radial-gradient(circle at 60% 65%, rgba(0,0,0,.06), transparent 60%);
  z-index:-1;
}

.hero-metrics{display:flex; gap:12px; flex-wrap:wrap; margin-top:16px}
.metric{
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:10px 12px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  min-width:160px;
}
.metric strong{display:block; font-size:16px}
.metric span{display:block; font-size:12px; color:var(--muted)}

.visual-card{
  position:relative;
  padding:18px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(245,196,0,.16), rgba(24,169,87,.10));
  box-shadow:var(--shadow);
  overflow:hidden;
}
.visual-card .vc-top{display:flex; align-items:center; justify-content:space-between; gap:10px}
.visual-card .vc-top strong{font-size:14px}
.pill{font-size:12px; font-weight:900; padding:6px 10px; border-radius:999px; background:#fff; border:1px solid var(--border)}

/* Sidebar enhancements */
.pill-success{
  background: rgba(24,169,87,.12);
  border-color: rgba(24,169,87,.35);
  color: var(--green);
}

.highlight-card{
  background: linear-gradient(180deg, rgba(245,196,0,.12), rgba(255,255,255,.85));
  border: 1px solid rgba(245,196,0,.35);
}

.list-check{
  list-style: none;
  padding-left: 0;
}
.list-check li{
  position: relative;
  padding-left: 22px;
  margin: 8px 0;
}
.list-check li:before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 900;
  color: var(--green);
}

.list-dots{
  list-style: none;
  padding-left: 0;
}
.list-dots li{
  position: relative;
  padding-left: 18px;
  margin: 8px 0;
}
.list-dots li:before{
  content: "•";
  position: absolute;
  left: 0;
  top: -1px;
  font-weight: 900;
  color: var(--yellow);
}



.icon-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; margin-top:14px}
.icon-tile{
  display:flex;
  gap:10px;
  padding:14px;
  border-radius:16px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.85);
}
.icon-tile svg{flex:0 0 22px; margin-top:2px}
.icon-tile h4{margin:0 0 4px; font-size:14px}
.icon-tile p{margin:0; font-size:12px; color:var(--muted)}

.section-surface{background:linear-gradient(180deg, rgba(0,0,0,.015), transparent); border-top:1px solid var(--border); border-bottom:1px solid var(--border)}

.service-cards{display:grid; grid-template-columns:repeat(3, 1fr); gap:14px}
.service-card{
  padding:18px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:#fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  transition: transform .18s ease, box-shadow .18s ease;
}
.service-card:hover{transform:translateY(-2px); box-shadow: 0 16px 36px rgba(0,0,0,.09)}
.service-card .sc-head{display:flex; align-items:center; gap:10px; margin-bottom:8px}
.service-card .sc-head svg{flex:0 0 26px}
.service-card h3{margin:0; font-size:18px}
.service-card p{margin:0; color:var(--muted)}
.service-card .sc-links{display:flex; flex-wrap:wrap; gap:10px; margin-top:12px}
.service-card .sc-links a{font-weight:900; color:var(--green)}
.service-card .sc-links a:hover{text-decoration:underline}

.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.step{
  padding:16px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:#fff;
}
.step .num{
  width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:12px; font-weight:1000; background:rgba(245,196,0,.22); border:1px solid rgba(245,196,0,.45);
  margin-bottom:10px;
}
.step h4{margin:0 0 6px}
.step p{margin:0; color:var(--muted)}

.testimonials{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.quote{
  padding:18px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:#fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}
.quote p{margin:0 0 10px; color:var(--muted)}
.quote .who{display:flex; align-items:center; gap:10px}
.avatar{
  width:36px; height:36px; border-radius:12px;
  background:linear-gradient(180deg, rgba(24,169,87,.25), rgba(245,196,0,.25));
  border:1px solid var(--border);
}
.who strong{display:block; font-size:13px}
.who span{display:block; font-size:12px; color:var(--muted)}

.cta-band{
  background:linear-gradient(90deg, rgba(245,196,0,.22), rgba(24,169,87,.18));
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
}
.cta-band h3{margin:0 0 6px}
.cta-band p{margin:0; color:var(--muted)}



/* FAQ section */
.page-contact .contact-faq{margin-top:18px;}
.page-contact .faq-card{border-radius:18px; border:1px solid rgba(0,0,0,.08); background:rgba(255,255,255,.92); box-shadow:0 14px 34px rgba(0,0,0,.08); padding:14px;}
.page-contact .faq-head{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px;}
.page-contact .faq-head h3{margin:0;}
.page-contact .faq-grid{display:grid; gap:10px;}
.page-contact .faq-grid details{border:1px solid rgba(0,0,0,.08); border-radius:16px; background:#fff; padding:12px 14px; transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;}
.page-contact .faq-grid details:hover{transform:translateY(-1px); box-shadow:0 12px 22px rgba(0,0,0,.08); border-color:rgba(34,197,94,.28);}
.page-contact .faq-grid summary{cursor:pointer; font-weight:900; list-style:none;}
.page-contact .faq-grid summary::-webkit-details-marker{display:none;}
.page-contact .faq-grid summary:after{content:"+"; float:right; font-weight:900; opacity:.75;}
.page-contact .faq-grid details[open] summary:after{content:"−";}
.page-contact .faq-grid p{margin:10px 0 0;}

/* Sticky sidebar on desktop */
@media (min-width: 981px){
  .page-contact .contact-sidebar{position:sticky; top:92px;}
}

/* Better anchor positioning under fixed header */
.page-contact #contact-form, .page-contact #coi{scroll-margin-top:96px;}

@media (max-width: 980px){
  .service-cards, .steps, .testimonials{grid-template-columns:1fr}
  .icon-grid{grid-template-columns:1fr}
  .home-hero{padding:54px 0 26px}
}

/* Homepage-only helpers (used in index.html) */
.section.alt{background:linear-gradient(180deg, rgba(0,0,0,.015), transparent 35%)}
.stats{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:18px}
.stat{padding:12px 14px; border-radius:16px; background:#fff; border:1px solid var(--border)}
.stat strong{display:block; font-size:14px}
.stat span{display:block; font-size:12px; color:var(--muted); margin-top:2px}

.svc{
  display:block;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
  background:#fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  transition:transform .15s ease, box-shadow .15s ease;
}
.svc:hover{transform:translateY(-2px); box-shadow:0 16px 34px rgba(0,0,0,.10)}
.svc .icon{
  width:44px; height:44px; border-radius:16px;
  display:grid; place-items:center;
  background:rgba(245,196,0,.18);
  border:1px solid rgba(245,196,0,.35);
  margin-bottom:10px;
  font-size:20px;
}
.svc h3{margin:0 0 6px}
.svc p{margin:0; color:var(--muted)}
.svc .cta{display:inline-flex; margin-top:10px; font-weight:900; color:var(--green)}

.icon-tile{display:flex; gap:10px; align-items:flex-start}
.icon-tile span{width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; margin-top:2px}
.icon-tile strong{display:block; font-size:14px}
.icon-tile em{display:block; font-style:normal; font-size:12px; color:var(--muted); margin-top:2px}



/* FAQ section */
.page-contact .contact-faq{margin-top:18px;}
.page-contact .faq-card{border-radius:18px; border:1px solid rgba(0,0,0,.08); background:rgba(255,255,255,.92); box-shadow:0 14px 34px rgba(0,0,0,.08); padding:14px;}
.page-contact .faq-head{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px;}
.page-contact .faq-head h3{margin:0;}
.page-contact .faq-grid{display:grid; gap:10px;}
.page-contact .faq-grid details{border:1px solid rgba(0,0,0,.08); border-radius:16px; background:#fff; padding:12px 14px; transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;}
.page-contact .faq-grid details:hover{transform:translateY(-1px); box-shadow:0 12px 22px rgba(0,0,0,.08); border-color:rgba(34,197,94,.28);}
.page-contact .faq-grid summary{cursor:pointer; font-weight:900; list-style:none;}
.page-contact .faq-grid summary::-webkit-details-marker{display:none;}
.page-contact .faq-grid summary:after{content:"+"; float:right; font-weight:900; opacity:.75;}
.page-contact .faq-grid details[open] summary:after{content:"−";}
.page-contact .faq-grid p{margin:10px 0 0;}

/* Sticky sidebar on desktop */
@media (min-width: 981px){
  .page-contact .contact-sidebar{position:sticky; top:92px;}
}

/* Better anchor positioning under fixed header */
.page-contact #contact-form, .page-contact #coi{scroll-margin-top:96px;}

@media (max-width: 980px){
  .stats{grid-template-columns:1fr}
}

/* Footer nav links */
.site-footer .footer-links a{color:var(--text)}
.site-footer .footer-links a:hover{color:var(--green)}

/* Button theme (keep base neutral; use variants for color) */
.btn{background:#fff}
.btn:hover{background:rgba(0,0,0,.02)}
.btn-primary{background:var(--yellow)}
.btn-primary:hover{filter:brightness(.97)}
.btn-ghost{background:rgba(24,169,87,.08); border-color:rgba(24,169,87,.22)}
.btn-ghost:hover{background:rgba(24,169,87,.12)}

/* Hamburger button */
.nav-toggle{
  width:44px; height:44px; border-radius:12px;
  border:1px solid var(--border); background:#fff;
  align-items:center; justify-content:center; gap:4px;
  flex-direction:column; padding:10px;
}
.nav-toggle span{display:block; width:18px; height:2px; background:#222; border-radius:2px}


/* Footer background update */
.site-footer {
    background-color: #000000;
    color: #ffffff;
}
.site-footer a {
    color: #f1f1f1;
}
.site-footer a:hover {
    color: #facc15;
}


/* Footer text & link update */
.site-footer,
.site-footer p,
.site-footer span,
.site-footer li,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6 {
    color: #ffffff !important;
}

.site-footer a {
    color: #ffffff !important;
}

.site-footer a:hover {
    color: #16a34a !important; /* Green hover */
}


/* ==============================
   About Us – Modern layout
   (scoped to the About page)
   ============================== */

.page-about .hero{padding:60px 0 34px}

.page-about .about-intro{padding-top:22px}
.page-about .about-split{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:16px;
  align-items:start;
}

.page-about .about-stats{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}
.page-about .about-stat{
  padding:12px 14px;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--border);
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
}
.page-about .about-stat strong{display:block; font-size:14px}
.page-about .about-stat span{display:block; font-size:12px; color:var(--muted); margin-top:2px}

.page-about .about-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:18px;
}
.page-about .about-card-top{display:flex; align-items:center; justify-content:space-between; gap:12px}
.page-about .about-card-top h3{margin:0}
.page-about .chip{
  font-size:12px;
  font-weight:900;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(24,169,87,.08);
  border:1px solid rgba(24,169,87,.22);
}
.page-about .about-checklist{list-style:none; padding:0; margin:12px 0 0; display:grid; gap:10px}
.page-about .about-checklist li{
  display:flex; gap:10px; align-items:flex-start;
  padding:10px 12px; border:1px solid var(--border);
  border-radius:14px; background: #fff;
}
.page-about .about-checklist li::before{
  content:"";
  width:10px; height:10px; border-radius:999px; margin-top:6px;
  background:var(--green);
  box-shadow:0 0 0 4px rgba(24,169,87,.15);
}

.page-about .about-head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:12px}
.page-about .about-head p{margin:0}

.page-about .about-values{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}
.page-about .value-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:16px;
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.page-about .value-card h3{margin:0 0 6px; font-size:18px}
.page-about .value-card p{margin:0; color:var(--muted)}
.page-about .value-icon{
  width:44px; height:44px;
  border-radius:16px;
  display:grid; place-items:center;
  background:rgba(245,196,0,.18);
  border:1px solid rgba(245,196,0,.35);
  flex:0 0 44px;
}

.page-about .about-mission{
  border:1px solid var(--border);
  border-radius:24px;
  padding:18px;
  background:
    radial-gradient(circle at 18% 25%, rgba(245,196,0,.18), transparent 55%),
    radial-gradient(circle at 80% 20%, rgba(24,169,87,.14), transparent 55%),
    #fff;
  box-shadow: var(--shadow);
}
.page-about .about-mission p{margin:0 0 10px}
.page-about .about-mission p:last-child{margin-bottom:0}

.page-about .about-timeline{
  position:relative;
  display:grid;
  gap:14px;
  padding-left:18px;
}
.page-about .about-timeline::before{
  content:"";
  position:absolute;
  left:7px;
  top:6px;
  bottom:6px;
  width:2px;
  background:rgba(0,0,0,.08);
}
.page-about .timeline-item{display:grid; grid-template-columns: 16px 1fr; gap:12px; align-items:start}
.page-about .timeline-item .dot{
  width:14px; height:14px;
  border-radius:999px;
  background:rgba(24,169,87,.18);
  border:1px solid rgba(24,169,87,.35);
  margin-top:6px;
}
.page-about .timeline-item h3{margin:0 0 6px; font-size:18px}
.page-about .timeline-item p{margin:0}

.page-about .about-steps{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px}



/* FAQ section */
.page-contact .contact-faq{margin-top:18px;}
.page-contact .faq-card{border-radius:18px; border:1px solid rgba(0,0,0,.08); background:rgba(255,255,255,.92); box-shadow:0 14px 34px rgba(0,0,0,.08); padding:14px;}
.page-contact .faq-head{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px;}
.page-contact .faq-head h3{margin:0;}
.page-contact .faq-grid{display:grid; gap:10px;}
.page-contact .faq-grid details{border:1px solid rgba(0,0,0,.08); border-radius:16px; background:#fff; padding:12px 14px; transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;}
.page-contact .faq-grid details:hover{transform:translateY(-1px); box-shadow:0 12px 22px rgba(0,0,0,.08); border-color:rgba(34,197,94,.28);}
.page-contact .faq-grid summary{cursor:pointer; font-weight:900; list-style:none;}
.page-contact .faq-grid summary::-webkit-details-marker{display:none;}
.page-contact .faq-grid summary:after{content:"+"; float:right; font-weight:900; opacity:.75;}
.page-contact .faq-grid details[open] summary:after{content:"−";}
.page-contact .faq-grid p{margin:10px 0 0;}

/* Sticky sidebar on desktop */
@media (min-width: 981px){
  .page-contact .contact-sidebar{position:sticky; top:92px;}
}

/* Better anchor positioning under fixed header */
.page-contact #contact-form, .page-contact #coi{scroll-margin-top:96px;}

@media (max-width: 980px){
  .page-about .about-split{grid-template-columns:1fr}
  .page-about .about-values{grid-template-columns:1fr}
  .page-about .about-stats{grid-template-columns:1fr}
  .page-about .about-steps{grid-template-columns:1fr}
}


/* Footer section heading underline */
.site-footer h4,
.site-footer h3 {
    text-decoration: underline;
    text-underline-offset: 6px;
}

/* Footer links unbold */
.site-footer a {
    font-weight: normal !important;
}


footer {
    padding-top: 25px;
}

/* About Us – What Makes Us Different */
.what-makes-us-different {
    padding-left: 25px;
}

/* About Us – What Makes Us Different detailed padding */
.what-makes-us-different h2 {
    padding-left: 25px;
}

.what-makes-us-different h3 {
    padding-left: 35px;
}

.what-makes-us-different p {
    padding-left: 35px;
    margin-bottom: 15px;
}

/* ==============================
   About Us – UI/UX Enhancements
   ============================== */

.about-hero {
    padding: 80px 20px;
    background: linear-gradient(135deg, #000000 0%, #1a1a1a 100%);
    color: #ffffff;
}

.about-hero h1 {
    font-size: 2.6rem;
    margin-bottom: 15px;
}

.about-section {
    padding: 60px 20px;
}

.what-makes-us-different {
    background: #f9f9f9;
    border-radius: 10px;
    padding: 40px 30px;
    margin-top: 40px;
}

.what-makes-us-different h3 {
    font-weight: 600;
}

.what-makes-us-different p {
    color: #555;
    line-height: 1.7;
}

.difference-card {
    background: #ffffff;
    border-radius: 8px;
    padding: 25px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
    margin-bottom: 25px;
}

.commitment-section {
    background: #000000;
    color: #ffffff;
    padding: 60px 30px;
    border-radius: 10px;
    margin-top: 50px;
}

.commitment-section ul li {
    margin-bottom: 12px;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .about-hero h1 {
        font-size: 2rem;
    }
    .about-section {
        padding: 40px 15px;
    }
}

/* Final padding adjustment – About Us: What Makes Us Different */
.what-makes-us-different {
    padding: 60px 50px;
}

/* ==============================
   Insurance Services – UI/UX
   ============================== */

.services-category { margin-top: 18px; }
.services-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.service-card{
  display:flex;
  gap: 14px;
  padding: 18px 18px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 25px rgba(0,0,0,.05);
  text-decoration:none;
  color: inherit;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.service-card:hover{
  transform: translateY(-2px);
  border-color: rgba(0,0,0,.16);
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
}

.service-icon{
  flex: 0 0 42px;
  height: 42px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 800;
  letter-spacing: .5px;
  background: rgba(255,193,7,.22); /* yellow */
  color: #111;
}

.service-content{ display:flex; flex-direction:column; gap: 6px; }
.service-title{ font-weight: 800; line-height: 1.2; }
.service-desc{ color: rgba(0,0,0,.65); line-height: 1.45; }
.service-link{ font-weight: 700; margin-top: 2px; color: #1e7e34; } /* green */

.help-card{
  margin-top: 18px;
  border-radius: 14px;
  padding: 22px;
  background: #000;
  color: #fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
}

.help-left p{ margin: 0 0 10px 0; color: rgba(255,255,255,.86); }
.help-bullets{
  margin:0;
  padding-left: 18px;
  color: rgba(255,255,255,.85);
  line-height: 1.6;
}

.help-cta{ display:flex; gap: 12px; flex-wrap: wrap; justify-content:flex-end; }



/* FAQ section */
.page-contact .contact-faq{margin-top:18px;}
.page-contact .faq-card{border-radius:18px; border:1px solid rgba(0,0,0,.08); background:rgba(255,255,255,.92); box-shadow:0 14px 34px rgba(0,0,0,.08); padding:14px;}
.page-contact .faq-head{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px;}
.page-contact .faq-head h3{margin:0;}
.page-contact .faq-grid{display:grid; gap:10px;}
.page-contact .faq-grid details{border:1px solid rgba(0,0,0,.08); border-radius:16px; background:#fff; padding:12px 14px; transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;}
.page-contact .faq-grid details:hover{transform:translateY(-1px); box-shadow:0 12px 22px rgba(0,0,0,.08); border-color:rgba(34,197,94,.28);}
.page-contact .faq-grid summary{cursor:pointer; font-weight:900; list-style:none;}
.page-contact .faq-grid summary::-webkit-details-marker{display:none;}
.page-contact .faq-grid summary:after{content:"+"; float:right; font-weight:900; opacity:.75;}
.page-contact .faq-grid details[open] summary:after{content:"−";}
.page-contact .faq-grid p{margin:10px 0 0;}

/* Sticky sidebar on desktop */
@media (min-width: 981px){
  .page-contact .contact-sidebar{position:sticky; top:92px;}
}

/* Better anchor positioning under fixed header */
.page-contact #contact-form, .page-contact #coi{scroll-margin-top:96px;}

@media (max-width: 980px){
  .services-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .help-card{ flex-direction: column; align-items:flex-start; }
  .help-cta{ justify-content:flex-start; }
}
@media (max-width: 640px){
  .services-grid{ grid-template-columns: 1fr; }
  .service-card{ padding: 16px; }
}


/* Service card SVG icons */
.service-icon .svc-ico{
  display:block;
}

/* ==============================
   Service Cards – Hover Effects
   ============================== */

.service-card:hover {
    background: #f9fff6;
}

.service-card:hover .service-title {
    color: #1e7e34; /* Green */
}

.service-card:hover .service-desc {
    color: #333;
}

.service-card:hover .service-icon {
    background: #1e7e34; /* Green */
    color: #ffffff;
}

.service-card:hover .service-icon svg {
    stroke: #ffffff;
    fill: none;
}

.service-card:hover .service-link {
    color: #28a745;
}

/* ==============================
   Home Page – Hover Effects
   ============================== */

/* Home service cards / feature cards */
.home .card:hover,
.home .feature-card:hover,
.home .service-card:hover {
    background: #f9fff6;
    transform: translateY(-2px);
}

/* Titles on hover */
.home .card:hover h3,
.home .feature-card:hover h3,
.home .service-card:hover .service-title {
    color: #1e7e34;
}

/* Icons on hover */
.home .card:hover .icon,
.home .feature-card:hover .icon,
.home .service-card:hover .service-icon {
    background-color: #1e7e34;
    color: #ffffff;
}

/* CTA buttons on hover (Home only) */
.home .btn-primary:hover {
    background-color: #1e7e34;
    border-color: #1e7e34;
}

.home .btn-ghost:hover {
    color: #1e7e34;
    border-color: #1e7e34;
}

/* ==============================
   FIX: Home Page Hover Effects
   ============================== */

/* Home feature / value cards */
.main .card:hover,
.main .hero-card:hover {
    background-color: #f9fff6;
    transform: translateY(-2px);
}

/* Headings on hover */
.main .card:hover h3,
.main .hero-card:hover h3 {
    color: #1e7e34;
}

/* Icons (if present) */
.main .card:hover .icon,
.main .hero-card:hover .icon {
    background-color: #1e7e34;
    color: #ffffff;
}

/* Home CTAs */
.main .btn-primary:hover {
    background-color: #1e7e34;
    border-color: #1e7e34;
}

.main .btn-ghost:hover {
    color: #1e7e34;
    border-color: #1e7e34;
}

/* ==============================
   Home – Popular Coverages Hover
   ============================== */

.popular-coverages .card:hover,
.popular-coverages .service-card:hover {
    background-color: #f9fff6;
    border-color: #1e7e34;
    transform: translateY(-2px);
}

.popular-coverages .card:hover h3,
.popular-coverages .service-card:hover .service-title {
    color: #1e7e34;
}

.popular-coverages .card:hover .icon,
.popular-coverages .service-card:hover .service-icon {
    background-color: #1e7e34;
    color: #ffffff;
}

/* ==============================
   Home – Popular coverages (icon tiles) hover
   ============================== */

.icon-grid .icon-tile{
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}

.icon-grid .icon-tile:hover{
  background-color: #f9fff6;
  border-color: #1e7e34;
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
}

.icon-grid .icon-tile:hover strong{
  color: #1e7e34;
}

.icon-grid .icon-tile:hover em{
  color: rgba(0,0,0,.75);
}

.icon-grid .icon-tile:hover span{
  filter: saturate(1.1);
}

/* ==============================
   Insurance Pages – UI/UX + Hover
   Scope: body.insurance-page
   ============================== */

body.insurance-page .section { padding: 70px 0; }
body.insurance-page .section.alt { background: #f9fafb; }

body.insurance-page .lead { max-width: 58ch; }

body.insurance-page a:hover { color: #1e7e34; }
body.insurance-page .bullets a:hover { color: #1e7e34; text-decoration: underline; }

/* Info cards grid (Who needs it / What it covers / Cost factors) */
body.insurance-page .info-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

body.insurance-page .info-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 10px 25px rgba(0,0,0,.05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

body.insurance-page .info-card:hover{
  background:#f9fff6;
  border-color:#1e7e34;
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
}

/* FAQ accordion styling */
body.insurance-page .faq details{
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 12px;
  box-shadow: 0 10px 25px rgba(0,0,0,.04);
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

body.insurance-page .faq details:hover{
  border-color:#1e7e34;
  background:#f9fff6;
}

body.insurance-page .faq summary{
  cursor:pointer;
  font-weight: 800;
  list-style:none;
}

body.insurance-page .faq summary::-webkit-details-marker{ display:none; }

body.insurance-page .faq summary:after{
  content:"＋";
  float:right;
  font-weight: 900;
  color:#1e7e34;
}

body.insurance-page .faq details[open] summary:after{
  content:"−";
}

body.insurance-page .faq details[open]{
  border-color:#1e7e34;
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
}

/* CTA section polish */
body.insurance-page .section .card{
  border-radius: 14px;
}

body.insurance-page .btn-primary:hover{
  background-color:#1e7e34;
  border-color:#1e7e34;
}

body.insurance-page .btn-ghost:hover{
  color:#1e7e34;
  border-color:#1e7e34;
}

/* Insurance detail layout (service pages) */
body.insurance-detail .breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:10px 0 12px;
  font-size:13px;
  color:var(--muted);
}

body.insurance-detail .breadcrumb a{color:var(--text); font-weight:700;}
body.insurance-detail .breadcrumb a:hover{color:var(--green)}

/* In-page section navigation (Home Insurance + other detail pages) */
html{scroll-behavior:smooth}

.section-nav{display:flex; gap:10px; flex-wrap:wrap; margin-top:14px}
.section-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.14);
  background:rgba(255,255,255,.92);
  font-weight:900;
  color:#111;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.section-pill:hover{transform:translateY(-1px); box-shadow:0 10px 22px rgba(0,0,0,.08); border-color:rgba(30,126,52,.35)}
.section-pill.pill-cta{background:rgba(30,126,52,.12); border-color:rgba(30,126,52,.35)}

@media (min-width: 981px){
  .section-nav{
    position:sticky;
    top:86px;
    z-index:3;
    padding:10px 12px;
    border-radius:16px;
    border:1px solid rgba(0,0,0,.10);
    background:rgba(255,255,255,.82);
    backdrop-filter:saturate(1.1) blur(10px);
    box-shadow:0 12px 26px rgba(0,0,0,.08);
  }
}

.detail-layout{display:grid; grid-template-columns:1.15fr .85fr; gap:18px; align-items:start}
.detail-main{display:grid; gap:22px}
.content-block h2{margin:0 0 12px}

.coverage-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-top:14px;
}

.coverage-item{
  display:flex;
  gap:12px;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,.05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}

.coverage-item:hover{transform:translateY(-2px); border-color:rgba(30,126,52,.55); background:#f9fff6; box-shadow:0 14px 34px rgba(0,0,0,.08)}
.coverage-item svg{flex:0 0 28px; width:28px; height:28px; color:var(--green); margin-top:2px}
.coverage-item h3{margin:0 0 4px; font-size:16px}
.coverage-item p{margin:0}

.aside-card .aside-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}

.steps{display:grid; gap:12px; margin-top:10px}
.step{display:flex; gap:12px; align-items:flex-start}
.step .step-num{
  flex:0 0 28px;
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-weight:900;
  background:rgba(245,196,0,.20);
  border:1px solid rgba(245,196,0,.40);
}
.step strong{display:block; margin-bottom:2px}
.step p{margin:0}

/* Policy comparison cards */
.compare-card ul{margin-top:10px}
.compare-head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px}
.compare-head .pill{white-space:nowrap}
.compare-card{border-radius:18px; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.compare-card:hover{transform:translateY(-1px); box-shadow:0 14px 34px rgba(0,0,0,.08); border-color:rgba(30,126,52,.35)}

.insurance-help-card .ihc-head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px}
.insurance-help-card h3{margin:0}
.mini-check strong{display:block; margin-bottom:8px}

/* Comparison cards */
.compare-card .compare-head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px}
.compare-card ul{margin:10px 0 0}

@media (min-width: 981px){
  .detail-aside{position:sticky; top:92px}
}

@media (max-width: 980px){
  .detail-layout{grid-template-columns:1fr}
  .coverage-grid{grid-template-columns:1fr}
}

/* Responsive */
@media (max-width: 900px){
  body.insurance-page .info-grid{ grid-template-columns: 1fr; }
  body.insurance-page .section{ padding: 55px 0; }
}


/* === Insurance Detail Sidebar (Home Insurance) – UX polish === */
.insurance-detail .detail-aside{display:grid; gap:14px}
.insurance-detail .detail-aside .side-card{
  position:relative;
  overflow:hidden;
  padding:16px;
  border-radius:18px;
}
.insurance-detail .detail-aside .side-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg, rgba(34,197,94,.95), rgba(250,204,21,.95));
}
.insurance-detail .detail-aside .side-card .side-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.insurance-detail .detail-aside .side-card .side-card-title{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.insurance-detail .detail-aside .side-card .side-card-title strong{
  font-size:1rem;
  line-height:1.2;
}
.insurance-detail .detail-aside .side-icon{
  width:36px;
  height:36px;
  border-radius:14px;
  background:rgba(250,204,21,.18);
  border:1px solid rgba(0,0,0,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  color:#6b4f00;
}
.insurance-detail .detail-aside .side-icon svg{width:18px; height:18px; display:block}
.insurance-detail .detail-aside .side-icon-good{
  background:rgba(34,197,94,.14);
  color:#14532d;
  border-color:rgba(34,197,94,.28);
}
.insurance-detail .detail-aside .side-card p{margin:0 0 10px}
.insurance-detail .detail-aside .side-card .list{margin:10px 0 0}
.insurance-detail .detail-aside .side-card .btn{width:100%}
.insurance-detail .detail-aside .micro{display:block; margin-top:8px; font-size:12px}

/* Make COI card pop, without changing content */
.insurance-detail .detail-aside .coi-card{
  background:linear-gradient(180deg, #fff 0%, rgba(250,204,21,.10) 100%);
  border-left:4px solid rgba(250,204,21,.95);
  box-shadow:0 16px 34px rgba(0,0,0,.08);
}
.insurance-detail .detail-aside .coi-card:hover{box-shadow:0 22px 46px rgba(0,0,0,.12)}
.insurance-detail .detail-aside .highlight-card{
  background:linear-gradient(180deg, rgba(34,197,94,.08) 0%, rgba(255,255,255,.92) 60%);
  border-color:rgba(34,197,94,.25);
}

/* ==============================
   

/* --- Renters/Detail Sidebar Enhancements (cards + icons) --- */
.insurance-detail .detail-aside .title-stack{display:flex; flex-direction:column; gap:2px; min-width:0}
.insurance-detail .detail-aside .title-stack strong{display:block}
.insurance-detail .detail-aside .side-kpis{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
  margin:10px 0 12px;
}
.insurance-detail .detail-aside .kpi{
  border:1px solid rgba(0,0,0,.10);
  background:rgba(255,255,255,.75);
  border-radius:14px;
  padding:10px 10px;
  line-height:1.1;
}
.insurance-detail .detail-aside .kpi-num{display:block; font-weight:900; color:#111; font-size:.92rem}
.insurance-detail .detail-aside .kpi-label{display:block; margin-top:4px; font-size:12px; color:rgba(0,0,0,.70)}
.insurance-detail .detail-aside .mini-accordion{
  margin-top:10px;
  border-top:1px solid rgba(0,0,0,.08);
  padding-top:10px;
}
.insurance-detail .detail-aside .mini-accordion summary{
  cursor:pointer;
  font-weight:800;
  color:#111;
  list-style:none;
}
.insurance-detail .detail-aside .mini-accordion summary::-webkit-details-marker{display:none}
.insurance-detail .detail-aside .mini-accordion summary::after{
  content:"▾";
  float:right;
  opacity:.7;
}
.insurance-detail .detail-aside .mini-accordion[open] summary::after{content:"▴"}
.insurance-detail .detail-aside .btn-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:12px;
}
.insurance-detail .detail-aside .btn-row .btn{width:100%}
.insurance-detail .detail-aside .chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.insurance-detail .detail-aside .chip{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  font-size:12px;
  font-weight:800;
  color:#111;
}
.insurance-detail .detail-aside .list-steps{
  counter-reset: step;
  margin:10px 0 0;
  padding-left:0;
}
.insurance-detail .detail-aside .list-steps li{
  list-style:none;
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:8px 0;
  border-bottom:1px dashed rgba(0,0,0,.12);
}
.insurance-detail .detail-aside .list-steps li:last-child{border-bottom:none}
.insurance-detail .detail-aside .list-steps li::before{
  counter-increment: step;
  content: counter(step);
  width:22px;
  height:22px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  background:rgba(250,204,21,.22);
  border:1px solid rgba(250,204,21,.55);
  color:#6b4f00;
  flex:0 0 auto;
  margin-top:1px;
}
.insurance-detail .detail-aside .coi-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  background:rgba(0,0,0,.03);
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:10px 12px;
  margin-top:12px;
}
.insurance-detail .detail-aside .dot{
  width:10px; height:10px; border-radius:999px; margin-top:4px; flex:0 0 auto;
  background:rgba(0,0,0,.25);
}
.insurance-detail .detail-aside .dot-warn{background:rgba(250,204,21,.95)}
@media (max-width: 520px){
  .insurance-detail .detail-aside .side-kpis{grid-template-columns:1fr; }
  .insurance-detail .detail-aside .btn-row{grid-template-columns:1fr}
}

Insurance Services – Finder UI
   (scoped to listing page)
   ============================== */

.insurance-listing .services-finder{padding-top:18px}
.insurance-listing .finder-head{display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:14px}
.insurance-listing .finder-head h2{margin:0 0 6px 0}
.insurance-listing .finder-meta{display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.insurance-listing .result-pill{display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:rgba(0,0,0,.06); border:1px solid rgba(0,0,0,.10); font-weight:800; color:#111}

.insurance-listing .finder-card{background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:16px; padding:14px; box-shadow:0 10px 24px rgba(0,0,0,.06)}
.insurance-listing .finder-row{display:grid; grid-template-columns:1fr 220px auto; gap:12px; align-items:stretch}
.insurance-listing .finder-search,
.insurance-listing .finder-select{width:100%; border-radius:12px; border:1px solid rgba(0,0,0,.16); padding:12px 12px; font-size:15px; background:#fff}
.insurance-listing .finder-search:focus,
.insurance-listing .finder-select:focus{outline:none; border-color:rgba(30,126,52,.55); box-shadow:0 0 0 4px rgba(30,126,52,.12)}
.insurance-listing .finder-cta{white-space:nowrap}

.insurance-listing .finder-chips{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}
.insurance-listing .chip{border:1px solid rgba(0,0,0,.14); background:#fff; color:#111; padding:8px 12px; border-radius:999px; font-weight:800; cursor:pointer; transition:transform .15s ease, background .15s ease, border-color .15s ease}
.insurance-listing .chip:hover{transform:translateY(-1px); border-color:rgba(0,0,0,.22)}
.insurance-listing .chip.active{background:rgba(30,126,52,.10); border-color:rgba(30,126,52,.35)}
.insurance-listing .chip-ghost{background:rgba(0,0,0,.04)}

.insurance-listing .empty-state{margin-top:14px; padding:16px 18px; border-radius:14px; border:1px dashed rgba(0,0,0,.18); background:rgba(255,193,7,.10)}
.insurance-listing .empty-state strong{display:block; margin-bottom:6px}
.insurance-listing .stack.inline{display:flex; gap:12px; flex-wrap:wrap}



/* FAQ section */
.page-contact .contact-faq{margin-top:18px;}
.page-contact .faq-card{border-radius:18px; border:1px solid rgba(0,0,0,.08); background:rgba(255,255,255,.92); box-shadow:0 14px 34px rgba(0,0,0,.08); padding:14px;}
.page-contact .faq-head{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px;}
.page-contact .faq-head h3{margin:0;}
.page-contact .faq-grid{display:grid; gap:10px;}
.page-contact .faq-grid details{border:1px solid rgba(0,0,0,.08); border-radius:16px; background:#fff; padding:12px 14px; transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;}
.page-contact .faq-grid details:hover{transform:translateY(-1px); box-shadow:0 12px 22px rgba(0,0,0,.08); border-color:rgba(34,197,94,.28);}
.page-contact .faq-grid summary{cursor:pointer; font-weight:900; list-style:none;}
.page-contact .faq-grid summary::-webkit-details-marker{display:none;}
.page-contact .faq-grid summary:after{content:"+"; float:right; font-weight:900; opacity:.75;}
.page-contact .faq-grid details[open] summary:after{content:"−";}
.page-contact .faq-grid p{margin:10px 0 0;}

/* Sticky sidebar on desktop */
@media (min-width: 981px){
  .page-contact .contact-sidebar{position:sticky; top:92px;}
}

/* Better anchor positioning under fixed header */
.page-contact #contact-form, .page-contact #coi{scroll-margin-top:96px;}

@media (max-width: 980px){
  .insurance-listing .finder-row{grid-template-columns:1fr;}
  .insurance-listing .finder-cta{width:100%; justify-content:center}
}

/* =========================
   Get a Quote page UX
   ========================= */

/* Hero */
.page-quote .quote-hero{
  position:relative;
  overflow:hidden;
  padding:54px 0 28px;
}
.page-quote .quote-hero::before{
  content:"";
  position:absolute;
  inset:-140px -140px auto -140px;
  height:460px;
  background:
    radial-gradient(circle at 18% 25%, rgba(245,196,0,.26), transparent 58%),
    radial-gradient(circle at 82% 18%, rgba(24,169,87,.20), transparent 58%),
    radial-gradient(circle at 60% 72%, rgba(0,0,0,.06), transparent 62%);
  z-index:-1;
}
.page-quote .quote-hero-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:22px;
  align-items:stretch;
}
.page-quote .quote-trust{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}

/* Keep the 3 trust cards aligned, while letting supporting sections span full width */
.page-quote .quote-trust .quote-divider,
.page-quote .quote-trust .quote-subhead,
.page-quote .quote-trust .grid{
  grid-column: 1 / -1;
}
.page-quote .quote-trust .trust{
  position:relative;
  overflow:hidden;
  background: rgba(255,255,255,.78);
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  padding:14px 14px 14px 48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  min-height:82px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.page-quote .quote-trust .trust::before{
  content:"✓";
  position:absolute;
  left:14px;
  top:14px;
  width:26px;
  height:26px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:13px;
  color:#111;
  background: linear-gradient(135deg, rgba(245,196,0,.95), rgba(24,169,87,.35));
  border:1px solid rgba(0,0,0,.10);
  box-shadow: 0 10px 22px rgba(0,0,0,.10);
}
.page-quote .quote-trust .trust::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:4px;
  background: linear-gradient(90deg, var(--yellow), var(--green));
  opacity:.85;
}
.page-quote .quote-trust .trust:hover{
  transform: translateY(-2px);
  border-color: rgba(0,0,0,.18);
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 38px rgba(0,0,0,.12);
}
.page-quote .quote-trust .trust strong{display:block; font-size:14px; letter-spacing:-.2px; line-height:1.25}
.page-quote .quote-trust .trust span{display:block; color:var(--muted); font-size:12px; line-height:1.35}
.page-quote .hero-cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:16px}

.page-quote .quote-hero-card{
  position:relative;
  overflow:hidden;
  /* Premium, subtle brand glow */
  background:
    radial-gradient(1200px 520px at 12% -10%, rgba(245,196,0,.22), transparent 60%),
    radial-gradient(1000px 520px at 95% -20%, rgba(24,169,87,.16), transparent 55%),
    rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.10);
  border-radius:22px;
  padding:18px;
  box-shadow: 0 18px 46px rgba(0,0,0,.10);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.page-quote .quote-hero-card:hover{transform:translateY(-2px); box-shadow:0 22px 52px rgba(0,0,0,.12)}

/* Accent stripe + subtle texture */
.page-quote .quote-hero-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:5px;
  background: linear-gradient(90deg, var(--yellow), var(--green));
  opacity:.9;
}
.page-quote .quote-hero-card::after{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(400px 220px at 30% 25%, rgba(255,255,255,.55), transparent 70%);
  pointer-events:none;
  opacity:.55;
}
.page-quote .quote-hero-card > *{position:relative; z-index:1}
.page-quote .quote-steps{display:flex; flex-direction:column; gap:10px}
.page-quote .quote-steps .step{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 12px;
  padding-left:14px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.78);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.page-quote .quote-steps .step::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:3px;
  border-radius:999px;
  background: rgba(0,0,0,.10);
}
.page-quote .quote-steps .step.is-active::before{
  background: linear-gradient(180deg, var(--yellow), var(--green));
}
.page-quote .quote-steps .step > div{flex:1; min-width:0}
.page-quote .quote-steps .step::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:999px;
  background: rgba(0,0,0,.10);
}
.page-quote .quote-steps .step > div{flex:1; min-width:0}
.page-quote .quote-steps .step::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:3px;
  border-radius:999px;
  background: rgba(0,0,0,.10);
  opacity:.8;
}
.page-quote .quote-steps .step:hover{
  transform: translateY(-1px);
  border-color: rgba(0,0,0,.16);
  box-shadow: 0 14px 30px rgba(0,0,0,.08);
}
.page-quote .quote-steps .step span{
  width:32px; height:32px;
  border-radius:999px;
  display:grid; place-items:center;
  font-weight:900;
  background: rgba(0,0,0,.92);
  color:#fff;
  box-shadow: 0 10px 22px rgba(0,0,0,.16);
}
.page-quote .quote-steps .step > div{flex:1; min-width:0}
.page-quote .quote-steps .step strong{display:block; letter-spacing:-.2px; line-height:1.2}
.page-quote .quote-steps .step small{display:block; margin-top:2px}
.page-quote .quote-steps .step small{color:var(--muted)}
.page-quote .quote-steps .step.is-active{
  border-color: rgba(24,169,87,.35);
  background: rgba(24,169,87,.10);
}
.page-quote .quote-steps .step.is-active::before{
  background: linear-gradient(180deg, rgba(24,169,87,.95), rgba(245,196,0,.75));
}
.page-quote .quote-steps .step.is-active::before{
  background: linear-gradient(180deg, rgba(24,169,87,.95), rgba(245,196,0,.55));
  opacity:1;
}
.page-quote .quote-steps .step.is-active span{background: var(--green)}
.page-quote .quote-steps .step.is-active{
  box-shadow: 0 16px 34px rgba(24,169,87,.18);
}
.page-quote .quote-steps .step.is-active span{
  box-shadow: 0 14px 26px rgba(24,169,87,.26);
}
.page-quote .quote-hero-small{margin:2px 0 12px}
.page-quote .quote-hero-fineprint{margin:12px 0 0; font-size:12px}

/* Better divider rhythm within hero card */
.page-quote .quote-hero-card .divider{
  height:1px;
  background: linear-gradient(90deg, rgba(0,0,0,.06), rgba(0,0,0,.12), rgba(0,0,0,.06));
  margin:14px 0;
}

/* Form + sidebar */
.page-quote .quote-section{padding:36px 0 70px}
.page-quote .quote-layout{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:18px;
  align-items:start;
}
.page-quote .quote-form-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  box-shadow: 0 18px 42px rgba(0,0,0,.08);
  overflow:hidden;
}
.page-quote .quote-form-head{
  padding:16px 16px 12px;
  border-bottom:1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.015);
}
.page-quote .quote-form-head h2{margin:0 0 4px}
.page-quote .quote-form-head p{margin:0}
.page-quote .quote-head-row{display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-top:12px; flex-wrap:wrap}
.page-quote .quote-progress .bar{width:180px; max-width:100%; height:10px; border-radius:999px; background:rgba(0,0,0,.08); overflow:hidden}
.page-quote .quote-progress .bar span{display:block; width:72%; height:100%; background:linear-gradient(90deg, rgba(24,169,87,.85), rgba(245,196,0,.85)); border-radius:999px}
.page-quote .quote-progress small{display:block; margin-top:6px}
.page-quote .quote-badges{display:flex; gap:8px; flex-wrap:wrap}
.page-quote .badge{display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:800; border:1px solid rgba(0,0,0,.10); background:rgba(255,255,255,.75)}
.page-quote .badge::before{content:"✓"; width:18px; height:18px; display:grid; place-items:center; border-radius:999px; background:rgba(24,169,87,.12); border:1px solid rgba(24,169,87,.24); color:var(--green); font-weight:900}
.page-quote .quote-divider{height:1px; background:rgba(0,0,0,.08); margin:8px 0 14px}

.page-quote .form-section{margin:6px 0 10px; padding:14px; border-radius:16px; border:1px solid rgba(0,0,0,.08); background:rgba(0,0,0,.015)}
.page-quote .form-section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-bottom:10px; flex-wrap:wrap}
.page-quote .form-section-head h3{margin:0; font-size:16px}
.page-quote .form-section-head p{margin:0}

.page-quote .segmented{display:grid; grid-template-columns:repeat(3,1fr); gap:8px}
.page-quote .segmented input{position:absolute; opacity:0; pointer-events:none}
.page-quote .segmented label{cursor:pointer; user-select:none; text-align:center; padding:10px 10px; border-radius:14px; border:1px solid rgba(0,0,0,.12); background:rgba(255,255,255,.65); font-weight:800}
.page-quote .segmented input:checked + label{border-color:rgba(24,169,87,.45); background:rgba(24,169,87,.10)}
.page-quote .segmented label:hover{transform:translateY(-1px)}

.page-quote .field.consent{display:flex; gap:10px; align-items:flex-start; padding:12px 12px; border-radius:14px; border:1px solid rgba(0,0,0,.10); background:rgba(255,255,255,.70)}
.page-quote .field.consent input{margin-top:3px}
.page-quote .field.consent label{margin:0; font-size:13px; color:var(--muted)}
.page-quote .quote-form{padding:16px}
.page-quote .quote-form .grid{gap:14px}
.page-quote .quote-form input,
.page-quote .quote-form select,
.page-quote .quote-form textarea{background: rgba(0,0,0,.02)}
.page-quote .quote-form input:focus,
.page-quote .quote-form select:focus,
.page-quote .quote-form textarea:focus{
  outline:none;
  border-color: rgba(24,169,87,.55);
  box-shadow: 0 0 0 4px rgba(24,169,87,.14);
  background:#fff;
}
.page-quote .quote-actions{display:flex; flex-direction:column; gap:10px; margin-top:10px}
.page-quote .quote-actions .btn.btn-primary{width:100%; padding:14px 16px; border-radius:14px}
.page-quote .quote-privacy{font-size:13px; color:var(--muted)}
.page-quote .quote-form-message{margin-top:12px}
.page-quote .quote-privacy-note{margin:0; padding:0 16px 16px; font-size:13px}

.page-quote .quote-sidebar{display:flex; flex-direction:column; gap:14px}
.page-quote .quote-side-card{border-radius:18px; padding:18px}
.page-quote .quote-side-card{transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.page-quote .quote-side-card:hover{transform:translateY(-2px); box-shadow: 0 18px 42px rgba(0,0,0,.10)}
.page-quote .quote-side-card{transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.page-quote .quote-side-card:hover{transform: translateY(-2px); box-shadow: 0 18px 42px rgba(0,0,0,.10)}
.page-quote .quote-side-card{transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.page-quote .quote-side-card:hover{transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0,0,0,.10)}
.page-quote .quote-side-card h3{margin:0 0 8px}
.page-quote .quote-side-card p{margin:0}
.page-quote .quote-side-card .muted{margin-top:10px}
.page-quote .checklist{list-style:none; padding:0; margin:10px 0 0}
.page-quote .checklist li{display:flex; gap:10px; margin:10px 0; align-items:flex-start}
.page-quote .checklist .check{width:22px; height:22px; border-radius:999px; display:grid; place-items:center; background: rgba(24,169,87,.14); border:1px solid rgba(24,169,87,.28); color:var(--green); font-weight:900; flex:0 0 auto}
.page-quote .quote-side-card.highlight{
  border:1px solid rgba(245,196,0,.35);
  background: rgba(245,196,0,.12);
}
.page-quote .quote-side-card.highlight{position:relative; overflow:hidden}
.page-quote .quote-side-card.highlight::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:4px;
  background: linear-gradient(180deg, rgba(245,196,0,.95), rgba(24,169,87,.65));
}
.page-quote .quote-side-card.highlight{padding-left:16px}

/* Quote sidebar (enhanced UI) */
.page-quote .side-card-head{display:flex; gap:12px; align-items:flex-start; margin-bottom:10px}
.page-quote .side-icon{width:38px; height:38px; border-radius:14px; display:grid; place-items:center; background: rgba(24,169,87,.10); border:1px solid rgba(24,169,87,.18); color: var(--green); flex:0 0 auto}
.page-quote .side-icon svg{width:20px; height:20px}
.page-quote .side-card-title h3{margin:0; font-size:16px; line-height:1.25}
.page-quote .side-pill{display:inline-flex; align-items:center; gap:6px; font-size:12px; padding:4px 10px; border-radius:999px; margin-top:6px; background: rgba(0,0,0,.06); border:1px solid rgba(0,0,0,.08); color: var(--muted)}
.page-quote .quote-side-card.highlight .side-icon{background: rgba(245,196,0,.14); border:1px solid rgba(245,196,0,.32); color: #8a6a00}
.page-quote .quote-side-card .checklist{margin:10px 0 0}
.page-quote .quote-side-card .checklist li{margin:8px 0}
.page-quote .side-btn{width:100%; margin-top:12px; justify-content:center}
.page-quote .side-actions{display:grid; gap:10px}
.page-quote .side-actions .btn{width:100%; justify-content:flex-start; gap:10px}
.page-quote .side-actions .btn .btn-ico{width:18px; text-align:center; opacity:.9}

@media (min-width: 981px){
  .page-quote .quote-sidebar{position:sticky; top:92px;}
}



/* FAQ section */
.page-contact .contact-faq{margin-top:18px;}
.page-contact .faq-card{border-radius:18px; border:1px solid rgba(0,0,0,.08); background:rgba(255,255,255,.92); box-shadow:0 14px 34px rgba(0,0,0,.08); padding:14px;}
.page-contact .faq-head{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px;}
.page-contact .faq-head h3{margin:0;}
.page-contact .faq-grid{display:grid; gap:10px;}
.page-contact .faq-grid details{border:1px solid rgba(0,0,0,.08); border-radius:16px; background:#fff; padding:12px 14px; transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;}
.page-contact .faq-grid details:hover{transform:translateY(-1px); box-shadow:0 12px 22px rgba(0,0,0,.08); border-color:rgba(34,197,94,.28);}
.page-contact .faq-grid summary{cursor:pointer; font-weight:900; list-style:none;}
.page-contact .faq-grid summary::-webkit-details-marker{display:none;}
.page-contact .faq-grid summary:after{content:"+"; float:right; font-weight:900; opacity:.75;}
.page-contact .faq-grid details[open] summary:after{content:"−";}
.page-contact .faq-grid p{margin:10px 0 0;}

/* Sticky sidebar on desktop */
@media (min-width: 981px){
  .page-contact .contact-sidebar{position:sticky; top:92px;}
}

/* Better anchor positioning under fixed header */
.page-contact #contact-form, .page-contact #coi{scroll-margin-top:96px;}

@media (max-width: 980px){
  .page-quote .quote-hero-grid{grid-template-columns:1fr;}
  .page-quote .quote-trust{grid-template-columns:1fr;}
  .page-quote .quote-layout{grid-template-columns:1fr;}
}

@media (min-width: 981px){
  .page-quote .quote-sidebar{position:sticky; top:94px}
}

@media (min-width: 981px){
  .page-quote .quote-sidebar{position:sticky; top:96px}
}

/* Quote hero card enhancements (steps + actions) */
.page-quote .qhc-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}

/* Mini badges under the hero card title */
.page-quote .qhc-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 12px;
}
.page-quote .mini-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  background:rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.10);
  color:#111;
}
.page-quote .mini-badge:nth-child(1){
  background:rgba(24,169,87,.10);
  border-color:rgba(24,169,87,.22);
}
.page-quote .mini-badge:nth-child(2){
  background:rgba(245,196,0,.18);
  border-color:rgba(245,196,0,.30);
}
.page-quote .qhc-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  font-weight:800;
  font-size:12px;
  background:rgba(245,196,0,.20);
  border:1px solid rgba(245,196,0,.45);
}
.page-quote .qhc-meta{
  font-size:12px;
  color:var(--muted);
  white-space:nowrap;
}

/* Connected stepper */
.page-quote .quote-steps{position:relative}
.page-quote .quote-steps .step{position:relative}

/* Step tag (Current) */
.page-quote .quote-steps .step .step-tag{
  margin-left:auto;
  align-self:center;
  font-style:normal;
  font-weight:900;
  font-size:11px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(24,169,87,.12);
  border:1px solid rgba(24,169,87,.26);
  color:var(--green);
  white-space:nowrap;
}
.page-quote .quote-steps .step span{position:relative}
.page-quote .quote-steps .step:not(:last-child) span::after{
  content:"";
  position:absolute;
  left:50%;
  top:calc(100% + 6px);
  transform:translateX(-50%);
  width:2px;
  height:14px;
  background:rgba(0,0,0,.16);
  border-radius:999px;
}
.page-quote .quote-steps .step.is-active:not(:last-child) span::after{
  background:rgba(24,169,87,.45);
}

/* Actions layout */
.page-quote .qhc-actions{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.page-quote .qhc-actions .btn{width:100%; justify-content:center}

@media (max-width: 720px){
  .page-quote .qhc-meta{display:none}
  .page-quote .qhc-actions{grid-template-columns:1fr}
}

/* =========================
   Contact page UX (scoped)
   ========================= */

.page-contact .hero{
  position:relative;
  overflow:hidden;
  padding:56px 0 30px;
}
.page-contact .hero::before{
  content:"";
  position:absolute;
  inset:-140px -140px auto -140px;
  height:480px;
  background:
    radial-gradient(circle at 16% 22%, rgba(245,196,0,.24), transparent 58%),
    radial-gradient(circle at 84% 18%, rgba(24,169,87,.18), transparent 58%),
    radial-gradient(circle at 58% 78%, rgba(0,0,0,.06), transparent 62%);
  z-index:-1;
}

.page-contact .hero-grid{gap:22px; align-items:stretch}

.page-contact .hero-card{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(0,0,0,.10);
  background:
    radial-gradient(1000px 480px at 10% -15%, rgba(245,196,0,.20), transparent 60%),
    radial-gradient(900px 480px at 98% -25%, rgba(24,169,87,.14), transparent 55%),
    rgba(255,255,255,.92);
  box-shadow: 0 18px 46px rgba(0,0,0,.10);
}
.page-contact .hero-card::before{
  content:"";
  position:absolute;
  left:0; top:0;
  width:100%; height:5px;
  background: linear-gradient(90deg, var(--yellow), var(--green));
  opacity:.9;
}
.page-contact .hero-card > *{position:relative; z-index:1}

.page-contact .section{padding:58px 0}
.page-contact .section h2{margin-top:0}

/* Make the contact form feel like a modern card without changing markup */
.page-contact form.form{
  margin-top:14px;
  background: rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  padding:18px;
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
}
.page-contact form.form .grid{gap:14px}
.page-contact form.form .field label{font-weight:800}
.page-contact form.form input,
.page-contact form.form select,
.page-contact form.form textarea{
  border-radius:12px;
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  transition: box-shadow .15s ease, border-color .15s ease;
}
.page-contact form.form textarea{min-height:140px; resize:vertical}
.page-contact form.form input:focus,
.page-contact form.form select:focus,
.page-contact form.form textarea:focus{
  outline:none;
  border-color: rgba(30,126,52,.55);
  box-shadow: 0 0 0 4px rgba(30,126,52,.12);
}
.page-contact form.form .btn{
  width:100%;
  justify-content:center;
  margin-top:6px;
  background-color: var(--green);
  border-color: var(--green);
  color:#fff;
}
.page-contact form.form .btn:hover{
  background-color:#1e7e34;
  border-color:#1e7e34;
}

/* Contact info cards */
.page-contact .section .grid.grid-2 .card{
  border-radius:16px;
  border:1px solid rgba(0,0,0,.10);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.page-contact .section .grid.grid-2 .card:hover{
  transform: translateY(-2px);
  border-color: rgba(0,0,0,.16);
  box-shadow: 0 18px 38px rgba(0,0,0,.12);
}

@media (max-width: 900px){
  .page-contact .hero{padding:46px 0 24px}
  .page-contact .section{padding:52px 0}
}

/* =============================
   Contact Page (Enhanced UI + Map)
   ============================= */
.page-contact .contact-hero{position:relative; padding:64px 0 28px; overflow:hidden;}
.page-contact .contact-hero::before{content:""; position:absolute; inset:-120px -80px auto; height:340px; background:radial-gradient(closest-side, rgba(34,197,94,.18), rgba(34,197,94,0)); pointer-events:none;}
.page-contact .contact-hero::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,0)); pointer-events:none;}
.page-contact .contact-hero .container{position:relative; z-index:1;}

.page-contact .contact-hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:22px; align-items:stretch;}
.page-contact .contact-hero-copy .kicker{display:inline-flex; align-items:center; gap:10px; padding:6px 10px; border-radius:999px; background:rgba(16,185,129,.10); color:#0f172a; font-weight:800; font-size:.78rem; letter-spacing:.2px;}
.page-contact .contact-hero-copy h1{margin:14px 0 8px;}
.page-contact .contact-hero-copy .lead{max-width:56ch;}
.page-contact .contact-hero-copy .hero-cta{display:flex; gap:10px; flex-wrap:wrap; margin:16px 0 14px;}

.page-contact .contact-badges{display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 14px;}
.page-contact .contact-badges .badge{display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; background:rgba(0,0,0,.05); font-weight:800; font-size:.78rem;}

.page-contact .contact-micro{display:grid; gap:10px; margin-top:12px;}
.page-contact .contact-micro .micro-item{padding:12px 14px; border-radius:14px; background:rgba(255,255,255,.75); border:1px solid rgba(0,0,0,.06);}
.page-contact .contact-micro strong{display:block; margin-bottom:4px;}

.page-contact .contact-hero-card{position:relative; border-radius:18px; background:#fff; border:1px solid rgba(0,0,0,.07); box-shadow:0 18px 40px rgba(0,0,0,.08); padding:16px;}
.page-contact .contact-hero-card::before{content:""; position:absolute; inset:0 0 auto 0; height:4px; background:linear-gradient(90deg, rgba(34,197,94,.95), rgba(250,204,21,.95)); border-radius:18px 18px 0 0;}
.page-contact .contact-hero-card .card-head{display:flex; gap:12px; align-items:flex-start; margin-bottom:12px;}
.page-contact .contact-hero-card .card-icon{width:38px; height:38px; border-radius:12px; background:rgba(34,197,94,.12); display:flex; align-items:center; justify-content:center; color:#14532d;}
.page-contact .contact-hero-card .mini-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px;}
.page-contact .contact-hero-card .mini{display:block; padding:12px 12px; border-radius:14px; border:1px solid rgba(0,0,0,.07); background:rgba(0,0,0,.02); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.page-contact .contact-hero-card .mini:hover{transform:translateY(-2px); box-shadow:0 12px 22px rgba(0,0,0,.08); border-color:rgba(34,197,94,.35);}
.page-contact .contact-hero-card .mini-title{display:block; font-weight:900; margin-bottom:4px;}

.page-contact .contact-section .section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:14px;}
.page-contact .contact-grid{display:grid; grid-template-columns:1.25fr .75fr; gap:18px; align-items:start;}

.page-contact .contact-form-card{border-radius:18px; box-shadow:0 18px 40px rgba(0,0,0,.08);}
.page-contact .contact-form-card .form-head{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 14px 10px; border-bottom:1px solid rgba(0,0,0,.06);}
.page-contact .contact-form-card .form-badges{display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end;}
.page-contact .contact-form-card .form{padding:14px;}
.page-contact .contact-form-card .form-actions{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:10px;}
.page-contact .contact-form-card .form-actions .btn{width:auto;}
@media (max-width: 520px){
  .page-contact .contact-form-card .form-actions .btn{width:100%; justify-content:center;}
}


.page-contact .contact-sidebar .side-card{border-radius:18px;}
.page-contact .contact-sidebar .side-card:hover{transform:translateY(-2px); box-shadow:0 14px 26px rgba(0,0,0,.08);}
.page-contact .contact-sidebar .side-head{display:flex; align-items:center; justify-content:space-between; gap:10px;}
.page-contact .pill{display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; background:rgba(0,0,0,.05); font-weight:900; font-size:.74rem;}
.page-contact .pill-warn{background:rgba(250,204,21,.25);}

/* COI card */
.page-contact .coi-card{position:relative; background:linear-gradient(180deg, #fff 0%, rgba(250,204,21,.08) 100%); border-left:4px solid rgba(250,204,21,.95);}
.page-contact .coi-turnaround{display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border-radius:14px; background:rgba(250,204,21,.16); border:1px solid rgba(0,0,0,.06); margin:12px 0 10px;}
.page-contact .coi-turnaround .coi-ico{width:28px; height:28px; border-radius:10px; background:rgba(0,0,0,.05); display:flex; align-items:center; justify-content:center; font-size:16px; flex:0 0 auto;}
.page-contact .coi-mini{margin:10px 0 12px; padding:12px; border-radius:16px; background:rgba(0,0,0,.02); border:1px solid rgba(0,0,0,.06);}
.page-contact .coi-mini-title{font-weight:900; margin-bottom:8px;}
.page-contact .mini-checklist{list-style:none; padding:0; margin:0; display:grid; gap:8px;}
.page-contact .mini-checklist li{position:relative; padding-left:22px;}
.page-contact .mini-checklist li::before{content:"✓"; position:absolute; left:0; top:0; color:rgba(34,197,94,.95); font-weight:900;}
.page-contact .coi-card .btn{width:100%;}

/* Agent card buttons */
.page-contact .agent-card .stack a{width:100%;}

/* Checklist card */
.page-contact .checklist-card .checklist{list-style:none; padding:0; margin:10px 0 0; display:grid; gap:10px;}
.page-contact .checklist-card .checklist li{position:relative; padding-left:22px;}
.page-contact .checklist-card .checklist li::before{content:"✓"; position:absolute; left:0; top:0; color:rgba(34,197,94,.95); font-weight:900;}

/* Sidebar cards — upgraded header + lists */
.page-contact .contact-sidebar .side-card{position:relative; overflow:hidden; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.page-contact .contact-sidebar .side-card::before{content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg, rgba(34,197,94,.95), rgba(250,204,21,.95));}
.page-contact .contact-sidebar .side-card{padding:16px;}
.page-contact .contact-sidebar .side-card .side-card-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px;}
.page-contact .contact-sidebar .side-card .side-card-title{display:flex; align-items:center; gap:10px; min-width:0;}
.page-contact .contact-sidebar .side-card .side-card-title strong{font-size:1rem; line-height:1.2;}
.page-contact .contact-sidebar .side-card .side-icon{width:36px; height:36px; border-radius:14px; background:rgba(250,204,21,.18); border:1px solid rgba(0,0,0,.08); display:flex; align-items:center; justify-content:center; flex:0 0 auto; color:#6b4f00;}
.page-contact .contact-sidebar .side-card .side-icon svg{display:block;}
.page-contact .contact-sidebar .side-card .side-icon-good{background:rgba(34,197,94,.14); color:#14532d; border-color:rgba(34,197,94,.28);}

/* More tactile checklist rows */
.page-contact .coi-mini{background:rgba(255,255,255,.75);}
.page-contact .mini-checklist li,
.page-contact .checklist-card .checklist li{padding:10px 12px 10px 30px; border-radius:14px; background:rgba(0,0,0,.02); border:1px solid rgba(0,0,0,.06); transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;}
.page-contact .mini-checklist li:hover,
.page-contact .checklist-card .checklist li:hover{border-color:rgba(34,197,94,.35); box-shadow:0 10px 18px rgba(0,0,0,.06); transform:translateY(-1px);}
.page-contact .mini-checklist li::before,
.page-contact .checklist-card .checklist li::before{top:10px;}

/* Agent card button stack spacing */
.page-contact .agent-card .stack{gap:8px;}
.page-contact .agent-card .btn{justify-content:center;}

/* COI card — subtle glow */
.page-contact .coi-card{box-shadow:0 16px 34px rgba(0,0,0,.08);}
.page-contact .coi-card:hover{box-shadow:0 22px 46px rgba(0,0,0,.12);}

/* Mobile sticky COI CTA */
.page-contact .mobile-coi-cta{display:none;}
@media (max-width: 820px){
  .page-contact .mobile-coi-cta{display:block; position:fixed; left:12px; right:12px; bottom:12px; z-index:999;}
  .page-contact .mobile-coi-btn{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-radius:18px; text-decoration:none; color:inherit; background:rgba(255,255,255,.96); border:1px solid rgba(0,0,0,.10); box-shadow:0 18px 40px rgba(0,0,0,.18); backdrop-filter:saturate(140%) blur(8px);}
  .page-contact .mcoi-left{display:flex; align-items:center; gap:10px; min-width:0;}
  .page-contact .mcoi-icon{width:36px; height:36px; border-radius:14px; background:rgba(250,204,21,.25); display:flex; align-items:center; justify-content:center; flex:0 0 auto;}
  .page-contact .mcoi-text{display:flex; flex-direction:column; gap:2px; min-width:0;}
  .page-contact .mcoi-text strong{font-weight:900;}
  .page-contact .mcoi-text .muted{font-size:.82rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .page-contact .mcoi-action{font-size:20px; font-weight:900; opacity:.85;}
  /* avoid the CTA covering page footer content */
  body.page-contact{padding-bottom:84px;}
}

/* Map section */
.page-contact .contact-map{margin-top:18px;}
.page-contact .contact-map .map-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.page-contact .map-card, .page-contact .map-info{border-radius:18px;}
.page-contact .map-head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px;}
.page-contact .map-embed{border-radius:16px; overflow:hidden; border:1px solid rgba(0,0,0,.08); background:#fff;}
.page-contact .map-embed iframe{display:block; width:100%; height:280px; border:0;}
.page-contact .map-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px;}
.page-contact .map-info .info-list{display:grid; gap:10px; margin-top:10px;}
.page-contact .map-info .info-list > div{display:flex; gap:10px; align-items:flex-start;}
.page-contact .map-info .dot{width:10px; height:10px; border-radius:50%; background:rgba(34,197,94,.9); margin-top:6px; flex:0 0 auto;}

/* Map info card enhancements */
.page-contact .map-info{border:1px solid rgba(0,0,0,.08); background:rgba(255,255,255,.92); box-shadow:0 14px 34px rgba(0,0,0,.08); padding:14px;}
.page-contact .map-info-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.page-contact .map-info-title{display:flex; align-items:center; gap:10px; min-width:0;}
.page-contact .map-info-title strong{font-size:1.02rem; line-height:1.2;}
.page-contact .icon-badge{width:38px; height:38px; border-radius:16px; background:rgba(250,204,21,.22); display:flex; align-items:center; justify-content:center; flex:0 0 auto; border:1px solid rgba(0,0,0,.06);}
.page-contact .map-info .muted{margin-top:10px;}

.page-contact .feature-list{display:grid; gap:10px; margin:12px 0 0; padding:0;}
.page-contact .feature-list li{list-style:none; display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border-radius:16px; background:#fff; border:1px solid rgba(0,0,0,.08); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.page-contact .feature-list li:hover{transform:translateY(-1px); box-shadow:0 12px 22px rgba(0,0,0,.08); border-color:rgba(34,197,94,.28);}
.page-contact .feature-list .check{width:22px; height:22px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:rgba(34,197,94,.14); color:rgba(34,197,94,.95); font-weight:900; flex:0 0 auto; margin-top:1px;}

.page-contact .map-info-actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:12px;}
.page-contact .map-info-actions .btn{white-space:nowrap;}



/* FAQ section */
.page-contact .contact-faq{margin-top:18px;}
.page-contact .faq-card{border-radius:18px; border:1px solid rgba(0,0,0,.08); background:rgba(255,255,255,.92); box-shadow:0 14px 34px rgba(0,0,0,.08); padding:14px;}
.page-contact .faq-head{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px;}
.page-contact .faq-head h3{margin:0;}
.page-contact .faq-grid{display:grid; gap:10px;}
.page-contact .faq-grid details{border:1px solid rgba(0,0,0,.08); border-radius:16px; background:#fff; padding:12px 14px; transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;}
.page-contact .faq-grid details:hover{transform:translateY(-1px); box-shadow:0 12px 22px rgba(0,0,0,.08); border-color:rgba(34,197,94,.28);}
.page-contact .faq-grid summary{cursor:pointer; font-weight:900; list-style:none;}
.page-contact .faq-grid summary::-webkit-details-marker{display:none;}
.page-contact .faq-grid summary:after{content:"+"; float:right; font-weight:900; opacity:.75;}
.page-contact .faq-grid details[open] summary:after{content:"−";}
.page-contact .faq-grid p{margin:10px 0 0;}

/* Sticky sidebar on desktop */
@media (min-width: 981px){
  .page-contact .contact-sidebar{position:sticky; top:92px;}
}

/* Better anchor positioning under fixed header */
.page-contact #contact-form, .page-contact #coi{scroll-margin-top:96px;}

@media (max-width: 980px){
  .page-contact .contact-hero-grid{grid-template-columns:1fr;}
  .page-contact .contact-grid{grid-template-columns:1fr;}
  .page-contact .contact-hero-card .mini-grid{grid-template-columns:1fr;}
  .page-contact .contact-map .map-grid{grid-template-columns:1fr;}
}

/* Insurance hero visual */
.hero-side{display:flex;flex-direction:column;gap:14px}
.hero-visual{border-radius:18px;overflow:hidden;border:1px solid rgba(17,17,17,.08);background:linear-gradient(180deg, rgba(246,196,0,.10), rgba(10,122,47,.06))}
.hero-img{width:100%;height:auto;display:block}
@media (min-width: 900px){
  .hero-side{align-self:start}
}



/* === Global Insurance UI Enhancements === */
.insurance-page .section{padding:72px 0}
.insurance-page .section-surface{background:#fafafa}
.insurance-page .content-block{margin-bottom:36px}
.insurance-page .grid .card,
.insurance-page .info-card,
.insurance-page .side-card{
  border-radius:18px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.insurance-page .grid .card:hover,
.insurance-page .info-card:hover,
.insurance-page .side-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.insurance-page .hero{padding-top:56px;padding-bottom:56px}
.insurance-page .breadcrumb{margin-bottom:10px}
.insurance-page .cta{border-radius:20px}
@media (max-width: 768px){
  .insurance-page .section{padding:48px 0}
}

/* Service cards thumbnails */
.service-card{position:relative}
.service-thumb{width:64px;min-width:64px;height:64px;border-radius:16px;overflow:hidden;border:1px solid rgba(17,17,17,.08);background:linear-gradient(180deg, rgba(246,196,0,.12), rgba(10,122,47,.07));display:flex;align-items:center;justify-content:center;margin-right:14px}
.service-thumb img{width:90%;height:auto;display:block}
.service-card .service-icon{display:none}
@media (max-width: 560px){
  .service-thumb{width:56px;min-width:56px;height:56px;border-radius:14px;margin-right:12px}
}


/* === UI/UX Enhancements (Global Insurance Pages) === */

/* Smooth interactions */
a, button { transition: all .2s ease-in-out; }

/* Card hover lift */
.card, .service-card, .hero-card, .side-card {
  transition: transform .25s ease, box-shadow .25s ease;
}
.card:hover, .service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(0,0,0,.08);
}

/* Section rhythm */
.section { padding-top: clamp(48px, 6vw, 88px); padding-bottom: clamp(48px, 6vw, 88px); }
.section-surface { background: #fafafa; }

/* Headings polish */
h1, h2, h3 { letter-spacing: -.015em; }
.lead { max-width: 60ch; }

/* Hero improvements */
.hero { background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%); }
.hero-metrics .metric { border-left: 3px solid #0a7a2f; padding-left: 12px; }

/* CTA emphasis */
.btn-primary {
  box-shadow: 0 10px 20px rgba(246,196,0,.35);
}
.btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 32px rgba(246,196,0,.45);
}

/* FAQ readability */
.faq details {
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 10px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
}
.faq summary { cursor: pointer; font-weight: 600; }

/* Accessibility focus */
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid #f6c400;
  outline-offset: 3px;
}

/* Mobile refinements */
@media (max-width: 768px) {
  .hero-grid { gap: 28px; }
  .hero-card { order: -1; }
}


/* === UI/UX Enhancements: Insurance Pages === */
.insurance-detail .hero{padding-top:34px;padding-bottom:26px}
.insurance-detail .hero .lead{max-width:56ch}
.insurance-detail .hero-metrics{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.insurance-detail .hero-metrics .metric{border:1px solid rgba(17,17,17,.08);border-radius:16px;padding:12px 12px;background:rgba(255,255,255,.72);backdrop-filter:saturate(120%) blur(6px)}
.insurance-detail .hero-metrics .metric strong{display:block;font-size:14px}
.insurance-detail .hero-metrics .metric span{display:block;margin-top:2px;font-size:13px;opacity:.85}
@media (max-width: 900px){
  .insurance-detail .hero-metrics{grid-template-columns:1fr;gap:10px}
}

/* Nicer surface section */
.section-surface{background:linear-gradient(180deg, rgba(246,196,0,.06), rgba(10,122,47,.04));border-top:1px solid rgba(17,17,17,.06);border-bottom:1px solid rgba(17,17,17,.06)}

/* Content blocks */
.content-block{margin-bottom:22px}
.content-block h2{margin-bottom:8px}
.content-block p{max-width:74ch}

/* Callout polish */
.content-block.callout{border:1px solid rgba(17,17,17,.08);border-radius:18px;background:rgba(255,255,255,.82);padding:16px}
.content-block.callout .callout-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}

/* FAQ as cards */
.faq details{border:1px solid rgba(17,17,17,.08);border-radius:16px;padding:12px 12px;background:#fff;margin-bottom:10px}
.faq summary{cursor:pointer;list-style:none;font-weight:650}
.faq summary::-webkit-details-marker{display:none}
.faq details[open]{box-shadow:0 10px 26px rgba(0,0,0,.08)}
.faq details p{margin-top:10px}

/* Listing cards hover */
.service-card{transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
.service-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.08);border-color:rgba(17,17,17,.16)}
.service-card:focus-visible{outline:3px solid rgba(246,196,0,.55);outline-offset:3px}

/* Sticky mobile CTA */
.mobile-sticky-cta{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;border-radius:18px;border:1px solid rgba(17,17,17,.10);background:rgba(255,255,255,.92);backdrop-filter:saturate(120%) blur(8px);box-shadow:0 16px 34px rgba(0,0,0,.12);padding:10px}
.mobile-sticky-cta .msc-row{display:flex;gap:10px}
.mobile-sticky-cta .msc-row a{flex:1;text-align:center}
@media (min-width: 901px){.mobile-sticky-cta{display:none}}
body.has-sticky-cta{padding-bottom:82px}
@media (min-width: 901px){body.has-sticky-cta{padding-bottom:0}}


/* ==============================
   Renters: Coverage Cards
   ============================== */
.block-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin-bottom:12px;
}
.block-head p{margin:0; max-width:60ch}

.coverage-grid{align-items:stretch}
.coverage-card{
  padding:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(247,247,247,.55));
  border:1px solid rgba(17,17,17,.08);
  border-radius:18px;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
  transition:transform .15s ease, box-shadow .15s ease;
}
.coverage-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.10);
}
.coverage-top{display:flex; gap:12px; align-items:center; margin-bottom:8px}
.coverage-card .icon{
  width:44px; height:44px;
  border-radius:16px;
  display:grid; place-items:center;
  background:rgba(245,196,0,.18);
  border:1px solid rgba(245,196,0,.35);
  color:var(--text);
  flex:0 0 auto;
}
.coverage-card:hover .icon{
  background:rgba(24,169,87,.95);
  border-color:rgba(24,169,87,.35);
  color:#fff;
}
.coverage-title{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.coverage-title h3{margin:0}
.coverage-card p{margin:0; color:var(--muted)}
.mini-list{
  margin:10px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
  color:var(--muted);
}
.mini-list li{position:relative; padding-left:22px}
.mini-list li::before{
  content:"✓";
  position:absolute;
  left:0; top:0;
  color:var(--green);
  font-weight:900;
}
.callout-soft{
  margin-top:14px;
  background:rgba(24,169,87,.06);
  border-color:rgba(24,169,87,.18);
}

@media (max-width: 700px){
  .block-head{flex-direction:column; align-items:flex-start}
}



/* --- FIX: Primary button hover text contrast (Get a Free Quote) --- */
.btn-primary{
  color:#111; /* ensure readable on yellow */
}
.home .btn-primary:hover,
.main .btn-primary:hover,
body.insurance-page .btn-primary:hover,
.page-contact form.form .btn:hover{
  color:#fff; /* when background becomes green */
}
/* --- end fix --- */
