/* ===========================
   Emerald Clay Theme • Earthy & Calm
   Complete style.css (fresh theme)
   =========================== */
:root{
  /* Core palette (earthy + calm) */
  --ink:#111827;           /* deep slate text */
  --muted:#6b7280;         /* muted gray */
  --bg:#f3f4f0;            /* soft stone background */
  --panel:#fefdfb;         /* light neutral surface */
  --line:#e2e5dd;          /* subtle warm divider */

  --primary:#15803d;       /* deep emerald */
  --primary-700:#166534;   /* darker emerald */
  --primary-ink:#f9fafb;   /* text on primary */

  --accent:#b45309;        /* amber-700 as accent */
  --accent-600:#d97706;

  --call:#15803d;          /* call-to-action emerald */
  --wa:#22c55e;            /* WhatsApp green */

  --chip:#fef3c7;          /* soft amber chip */
  --ok:#ecfdf5;            /* success bg */
  --ok-line:#a7f3d0;
  --err:#fef2f2;           /* error bg */
  --err-line:#fecaca;

  --shadow:0 12px 28px rgba(15,23,42,.08), 0 2px 10px rgba(15,23,42,.04);
  --ring:0 0 0 3px rgba(21,128,61,.24);
}

/* ===========================
   Base
   =========================== */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font:16px/1.7 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial;
  color:var(--ink);
  background:
    radial-gradient(900px 600px at -10% -15%, #e4f2e6 0, rgba(228,242,230,0) 55%),
    radial-gradient(1200px 700px at 120% -10%, #fef3c7 0, rgba(254,243,199,0) 55%),
    var(--bg);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{color:var(--accent);text-decoration:none}
a:hover{opacity:.9}
img{max-width:100%;display:block}
:focus-visible{outline:none;box-shadow:var(--ring);border-radius:10px}

/* ===========================
   Buttons & Utilities
   =========================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 18px;border-radius:999px;border:1px solid transparent;
  cursor:pointer;font-weight:700;letter-spacing:.25px;
  transition:transform .06s ease, opacity .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
  user-select:none;-webkit-user-select:none;
  background:var(--panel);border-color:var(--line);color:var(--ink);
}
.btn:hover{box-shadow:var(--shadow)}
.btn:active{transform:translateY(1px)}
.btn svg{width:18px;height:18px}

/* Primary in EMERALD */
.btn--primary{
  background:linear-gradient(135deg, var(--primary), var(--primary-700));
  color:var(--primary-ink);
  border-color:#14532d;
  text-shadow:0 1px 0 rgba(15,23,42,.25);
}
.btn--ghost{
  background:rgba(255,255,255,0.75);
  border:1px solid var(--line);
  color:var(--ink);
}
.btn--small{padding:8px 14px;border:1px solid var(--line);border-radius:999px}
.btn--call{background:var(--call);color:#f9fafb;border-color:#166534}
.btn--wa{background:var(--wa);color:#f9fafb;border-color:#16a34a}

.chip{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--chip);border:1px solid #facc15;border-radius:999px;
  padding:6px 12px;font-size:13px;color:#92400e;
}

.muted{color:var(--muted)}
.elevate{box-shadow:var(--shadow);background:var(--panel);border-radius:20px}

/* ===========================
   Layout Containers
   =========================== */
.page{max-width:1200px;margin:0 auto;padding:16px}
.contain{max-width:1200px;margin:0 auto;padding:0 16px}

/* Flash */
.flash{margin:12px 0;padding:12px 14px;border-radius:14px}
.flash--ok{background:var(--ok);border:1px solid var(--ok-line)}
.flash--err{background:var(--err);border:1px solid var(--err-line)}

/* ===========================
   Header (Two Rows)
   =========================== */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(15,23,42,.92);
  border-bottom:1px solid rgba(55,65,81,.5);
  backdrop-filter:saturate(130%) blur(14px);
}
.topbar{border-bottom:1px solid rgba(55,65,81,.5)}
.topbar__inner{
  max-width:1200px;margin:0 auto;padding:10px 16px;
  display:flex;align-items:center;gap:12px;
}
.logo img{
  display:block;height:auto;max-height:56px;width:auto;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.4));
}
.topbar__cta{display:flex;gap:10px;margin-left:auto}
.menu-toggle{
  display:none;margin-left:8px;border:1px solid rgba(75,85,99,.9);
  background:rgba(15,23,42,.98);border-radius:999px;padding:10px 12px;
  color:#e5e7eb;
}

/* Navbar */
.navbar{background:rgba(15,23,42,.96)}
.navbar__list{
  max-width:1200px;margin:0 auto;padding:10px 16px;
  display:flex;gap:8px;list-style:none;flex-wrap:wrap;
}
.navbar__list a{
  padding:9px 14px;border-radius:999px;border:1px solid transparent;
  color:#e5e7eb;
  background:linear-gradient(135deg,rgba(31,41,55,0.98),rgba(15,23,42,0.98));
  font-size:14px;
}
.navbar__list a:hover{
  border-color:#22c55e;
  background:linear-gradient(135deg,#15803d,#14532d);
}
.navbar__list a.active,
.navbar__list a[aria-current="page"]{
  background:linear-gradient(135deg,#16a34a,#15803d);
  color:#ecfdf5;border-color:#6ee7b7;
}

/* ===========================
   Hero / Banners
   =========================== */
.hero{
  position:relative;border:1px solid var(--line);
  border-radius:26px;overflow:hidden;margin:18px 0 26px;
  background:var(--panel);
  box-shadow:0 28px 60px rgba(15,23,42,.16);
}
.hero__img{
  width:100%;height:310px;object-fit:cover;
  background:
    linear-gradient(135deg,#dcfce7,#fef9c3 45%,#fefce8 100%),
    var(--panel);
}
.hero__overlay{
  position:absolute;inset:auto 0 0 0;
  background:linear-gradient(180deg,rgba(15,23,42,0) 0,rgba(15,23,42,.9) 100%);
  color:#e5e7eb;padding:22px 20px;
}
.hero__overlay h1{
  margin:0;font-size:30px;letter-spacing:.1px;
  text-shadow:0 1px 0 rgba(0,0,0,.9);
}

/* ===========================
   Cards / Grids
   =========================== */
.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:18px;
}
.card{
  border:1px solid var(--line);border-radius:20px;padding:18px 18px;
  background:var(--panel);
  box-shadow:0 10px 26px rgba(15,23,42,.04);
  transition:transform .12s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 45px rgba(15,23,42,.12);
  border-color:#bbf7d0;
  background:linear-gradient(135deg,#fefdfb,#ecfdf5);
}
.card h1,.card h2,.card h3{margin:0 0 8px}
.card p{margin:0 0 12px}

.section-head{margin-bottom:12px}
.section-head .muted{color:var(--muted)}

.meta{
  display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;
}
.tag{
  background:#fef3c7;border:1px solid #facc15;
  border-radius:999px;padding:6px 12px;font-size:13px;color:#92400e;
}

/* ===========================
   Pagination
   =========================== */
.pager{
  display:flex;flex-wrap:wrap;gap:8px;
  margin:18px 0;align-items:center;
}
.pg{
  padding:9px 13px;border:1px solid var(--line);
  border-radius:999px;background:var(--panel);
  transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;
  font-size:14px;
}
.pg:hover{
  background:#ecfdf5;border-color:#6ee7b7;
  box-shadow:var(--shadow);
}
.pg.active{background:var(--primary);color:#ecfdf5;border-color:var(--primary)}
.pg.disabled{opacity:.45;pointer-events:none}
.dots{padding:8px 6px;color:var(--muted)}

/* ===========================
   Footer
   =========================== */
.site-footer{
  margin-top:32px;
  border-top:1px solid #0f172a;
  background:linear-gradient(180deg,#022c22,#022c22);
}
.footer__grid{
  max-width:1200px;
  margin:0 auto;
  padding:24px 16px 20px;
  display:grid;
  gap:22px;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.footer__block h3{
  margin:0 0 10px;
  color:#ecfdf5;
}
.list{
  list-style:none;margin:0;padding:0;
  display:grid;gap:8px;
}
.list a{
  color:#a7f3d0;
  text-decoration:none;
  font-size:14px;
}
.list a:hover{text-decoration:underline}
.footer__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.footer__bottom{
  border-top:1px solid #064e3b;padding:14px 16px;text-align:center;
  color:#d1fae5;font-size:13px;background:#022c22;
}

/* Footer: socials + quick links */
.socials-block{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-quick-links{
  margin-top:6px;
  font-size:14px;
  color:#d1fae5;
  line-height:1.5;
}
.footer-quick-links a{
  color:#6ee7b7;
  text-decoration:none;
  white-space:nowrap;
}
.footer-quick-links a:hover{
  text-decoration:underline;
}

/* ===========================
   Contact Form
   =========================== */
.contact-form{position:relative}
.contact-form .row{display:grid;gap:12px;margin-bottom:12px}
.contact-form .row--two{grid-template-columns:repeat(2,minmax(0,1fr))}

.contact-form input,
.contact-form textarea,
.contact-form select{
  width:100%;padding:12px 12px;
  border:1px solid var(--line);border-radius:12px;
  font:inherit;background:#f9fafb;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,transform .05s ease;
}
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus{
  outline:none;border-color:#16a34a;box-shadow:var(--ring);
}
.contact-form textarea{min-height:120px;resize:vertical}

/* FIXED SELECT DROPDOWN */
.contact-form select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  padding-right:44px;
  background:#f9fafb
    url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<polyline points='6 9 12 15 18 9'/></svg>")
    no-repeat right 12px center / 18px 18px;
}
.contact-form select::-ms-expand{display:none}
.contact-form .hp{
  position:absolute;left:-10000px;top:auto;
  width:1px;height:1px;overflow:hidden;
}
.contact-form .row--two > *{min-width:0}

/* ===========================
   Mobile Fixed CTA
   =========================== */
.mobile-cta{
  position:fixed;left:0;right:0;bottom:0;display:none;
  z-index:9999;background:#fefdfbee;
  backdrop-filter:saturate(130%) blur(10px);
  border-top:1px solid var(--line);
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  box-shadow:0 -6px 18px rgba(15,23,42,.18);
}
.mobile-cta .mcta-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:49%;height:48px;margin:0;padding:0 14px;
  border-radius:999px;font-weight:800;border:0;text-align:center;
  font-size:14px;
}
.mobile-cta .mcta-call{background:var(--call);color:#ecfdf5}
.mobile-cta .mcta-wa{background:var(--wa);color:#ecfdf5}

/* ===========================
   Subtle Animations
   =========================== */
a, .btn, .card, .pg{
  transition:transform .1s ease,background .15s ease,
             color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ===========================
   Videos
   =========================== */
.videos{margin:22px 0}
.videos h2{margin:0 0 12px;color:#0f172a}
.video-grid{
  display:grid;gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.video{
  position:relative;padding-top:56.25%;
  border-radius:20px;overflow:hidden;
  border:1px solid var(--line);background:#020617;
  box-shadow:var(--shadow);
}
.video iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;
}

/* ===========================
   Socials Icons
   =========================== */
.socials{
  display:flex;gap:12px;flex-wrap:wrap;align-items:center;
}
.socials .social{
  width:42px;height:42px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(55,65,81,.6);border-radius:14px;
  background:rgba(15,23,42,.96);box-shadow:0 10px 24px rgba(15,23,42,.58);
}
.socials .social svg{width:20px;height:20px;fill:#ecfdf5}

/* ===========================
   Optional Dark Mode (Emerald Noir)
   =========================== */
.dark{
  --ink:#e5e7eb;
  --muted:#9ca3af;
  --bg:#020817;
  --panel:#020817;
  --line:#111827;
  --chip:#111827;
  --primary:#22c55e;
  --primary-700:#16a34a;
  --primary-ink:#020617;
  --accent:#facc15;
  --accent-600:#eab308;
  --shadow:0 18px 40px rgba(0,0,0,.75), 0 4px 10px rgba(0,0,0,.5);
  --ring:0 0 0 3px rgba(34,197,94,.45);
  background:#020817;
}
.dark .site-header{
  background:rgba(15,23,42,.97);
  border-color:#111827;
}
.dark .navbar{background:rgba(15,23,42,.97)}
.dark .navbar__list a{
  color:#e5e7eb;
  background:linear-gradient(135deg,#020617,#020617);
}
.dark .navbar__list a.active{
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#022c22;border-color:#bbf7d0;
}
.dark .pg:hover{background:#020617}
.dark .hero__overlay{
  background:linear-gradient(180deg,rgba(15,23,42,0) 0,rgba(15,23,42,.97) 100%);
}

/* ===========================
   Contact Box & Buttons
   For generated Vastu articles / CTAs
   =========================== */

.contact-box{
  margin:24px 0;
  padding:18px 20px;
  border-radius:18px;
  border:1px solid #d4d4d4;
  background:linear-gradient(135deg,#ffffff,#f5f5f4);
  box-shadow:0 10px 30px rgba(15,23,42,0.06);
  color:#111827;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.contact-box__title{
  margin:0 0 8px;
  font-size:1.1rem;
  font-weight:700;
  color:#111827;
}
.contact-box p{
  margin:6px 0;
  font-size:0.95rem;
  color:#4b5563;
}
.contact-box__note{
  margin-top:10px;
  font-size:0.88rem;
  color:#6b7280;
}

/* Variants */
.contact-box--mini{
  background:#ecfdf5;
  border-color:#bbf7d0;
}
.contact-box--full{
  background:#022c22;
  border-color:#064e3b;
  color:#ecfdf5;
}
.contact-box--full .contact-box__title{color:#ecfdf5}
.contact-box--full p{color:#d1fae5}

/* Action & social rows */
.kb-contact-actions,
.kb-contact-socials{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:10px 0 6px;
}
.kb-contact-socials{gap:8px}

/* Useful links list */
.kb-contact-links{
  list-style:none;
  padding-left:0;
  margin:6px 0 0;
}
.kb-contact-links li{margin:2px 0}
.kb-contact-links a{
  font-size:0.9rem;
  text-decoration:none;
  color:#15803d;
}
.kb-contact-links a:hover{text-decoration:underline}
.contact-box--full .kb-contact-links a{color:#6ee7b7}
.kb-contact-links-label{
  margin-top:10px;
  font-size:0.9rem;
}

/* Core kb button */
.kb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:8px 14px;
  font-size:0.9rem;
  font-weight:700;
  border-radius:999px;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(15,23,42,0.18);
  transition:transform 0.08s ease,box-shadow 0.12s ease,background-color 0.12s ease,color 0.12s ease;
}
.kb-btn__icon{
  width:18px;height:18px;flex-shrink:0;
}
.kb-btn__label{white-space:nowrap}

/* Primary actions */
.kb-btn-call{
  background:var(--call);
  color:#ecfdf5;
  border-color:#16a34a;
}
.kb-btn-wa{
  background:var(--wa);
  color:#ecfdf5;
  border-color:#22c55e;
}
.kb-btn-email{
  background:var(--accent);
  color:#fffbeb;
  border-color:#b45309;
}

/* Social buttons */
.kb-btn-social{
  background:#f3f4f6;
  color:#111827;
  border-color:#d4d4d4;
  box-shadow:0 4px 12px rgba(15,23,42,0.08);
}
.contact-box--full .kb-btn-social{
  background:rgba(6,78,59,0.9);
  color:#ecfdf5;
  border-color:rgba(45,212,191,0.7);
}

/* Hover / active */
.kb-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 28px rgba(15,23,42,0.22);
}
.kb-btn:active{
  transform:translateY(0);
  box-shadow:none;
}

/* Small responsive tweak */
@media (max-width:640px){
  .kb-btn{
    width:100%;
    justify-content:center;
  }
  .kb-contact-actions,
  .kb-contact-socials{
    flex-direction:column;
    gap:8px;
  }
}

/* ===========================
   Generic Vastu Highlight Cards
   =========================== */

.vk-card{
  position:relative;
  margin:1.5rem 0;
  padding:1.5rem 1.75rem;
  border-radius:20px;
  background:#f3f4f6;
  border:1px solid rgba(148,163,184,0.5);
  box-shadow:0 18px 40px rgba(15,23,42,0.06);
  overflow:hidden;
}
.vk-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at top left,rgba(74,222,128,0.20),transparent 55%);
  opacity:0.75;
}

/* Online Vastu Advice card */
.vk-card--online{
  background:linear-gradient(135deg,#ecfdf5 0%,#f9fafb 100%);
  border-color:rgba(16,185,129,0.55);
}
.vk-card--online::before{
  background:radial-gradient(circle at top right,rgba(16,185,129,0.22),transparent 60%);
}

/* On-Site Vastu Visit card */
.vk-card--onsite{
  background:linear-gradient(135deg,#fefce8 0%,#f9fafb 100%);
  border-color:rgba(250,204,21,0.55);
}
.vk-card--onsite::before{
  background:radial-gradient(circle at top left,rgba(250,204,21,0.22),transparent 60%);
}

/* Extra highlight card */
.vk-card--highlight{
  background:#fef3c7;
  border-color:#facc15;
}
.vk-card--highlight::before{
  background:radial-gradient(circle at top center,rgba(251,191,36,0.25),transparent 60%);
}

.vk-card h2,
.vk-card h3{
  margin-top:0;
}
.vk-card p:last-child{margin-bottom:0}

/* ===========================
   Promo CTA Blocks with Contact Button
   =========================== */

.vk-promo-cta{
  margin:2.5rem 0;
  padding:1.75rem 1.75rem 1.9rem;
  border-radius:22px;
  background:linear-gradient(135deg,#15803d 0%,#16a34a 40%,#f59e0b 100%);
  color:#fefce8;
  text-align:center;
  box-shadow:0 24px 60px rgba(15,23,42,0.4);
}
.vk-promo-cta h2{
  margin:0 0 0.75rem;
  font-size:1.35rem;
  line-height:1.35;
  font-weight:700;
}
.vk-promo-cta p{
  margin:0 0 1.25rem;
  font-size:0.98rem;
  line-height:1.55;
  max-width:650px;
  margin-left:auto;
  margin-right:auto;
}

/* Promo button */
.vk-promo-cta__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.4rem;
  padding:0.75rem 1.75rem;
  border-radius:999px;
  background-color:#fefce8;
  color:#166534;
  font-weight:600;
  font-size:0.98rem;
  text-decoration:none;
  box-shadow:0 10px 30px rgba(15,23,42,0.25);
  transition:transform 0.12s ease,box-shadow 0.12s ease,
             background-color 0.12s ease,color 0.12s ease;
  border:none;
}
.vk-promo-cta__btn:hover,
.vk-promo-cta__btn:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 16px 40px rgba(15,23,42,0.35);
  background-color:#fef9c3;
  color:#14532d;
}
.vk-promo-cta__btn:active{
  transform:translateY(0);
  box-shadow:0 10px 24px rgba(15,23,42,0.25);
}

/* ===========================
   Responsive Tweaks
   =========================== */
@media (max-width:900px){
  .topbar__inner{gap:10px}
  .topbar__cta{order:3;width:100%;justify-content:flex-end}
  .menu-toggle{display:inline-flex}
  .navbar{display:none}
  .navbar.open{display:block}
  .navbar__list{flex-direction:column}
  .logo img{max-height:48px}
  .hero__img{height:250px}

  .mobile-cta{display:flex;gap:2%}
  body{padding-bottom:80px}
}

@media (max-width:700px){
  .contact-form .row--two{grid-template-columns:1fr}
}

@media (max-width:640px){
  .vk-card{
    padding:1.25rem 1.25rem;
    border-radius:18px;
  }
  .vk-promo-cta{
    margin:2rem 0;
    padding:1.5rem 1.25rem 1.65rem;
    border-radius:20px;
  }
  .vk-promo-cta h2{font-size:1.15rem}
  .vk-promo-cta__btn{
    width:100%;
    max-width:320px;
  }
}


/* --- Local intent block + internal links (SEO) --- */
.prose{ max-width:980px; margin:0 auto; line-height:1.75; }
.prose h2, .prose h3{ margin:16px 0 10px; }
.note{ border:1px solid #e7e7e7; border-radius:14px; padding:12px 14px; background:#fff; margin:14px 0; }
.note ul{ margin:10px 0 0 18px; }
.nearby-links{ display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
.nearby-links a{ display:inline-block; padding:8px 10px; border:1px solid #e7e7e7; border-radius:999px; text-decoration:none; }
.nearby-links a:hover{ box-shadow:0 1px 10px rgba(0,0,0,.06); }
.faq{ max-width:980px; margin:10px auto 0; }
.faq__item{ background:#fff; border:1px solid #e7e7e7; border-radius:14px; padding:12px 14px; margin:10px 0; }
.faq__item summary{ cursor:pointer; font-weight:700; }
.faq__item p{ margin:10px 0 0; }
.cta{ max-width:980px; margin:18px auto 0; padding:14px; border-radius:16px; border:1px solid #e7e7e7; background:#fff; text-align:center; }


/* === 2026 template refinement layer === */
.intro-prose{padding:6px 0 8px}
.trust-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:6px auto 22px;padding:0 16px}
.trust-card{background:linear-gradient(135deg,#fefdfb,#ecfdf5);border:1px solid #ccead6;border-radius:18px;padding:16px 16px 14px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.trust-card strong{display:block;font-size:22px;line-height:1.2;color:#14532d;margin-bottom:5px}
.trust-card span{display:block;color:#475569;font-size:14px}
.decision-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:0 auto 22px}
.decision-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.decision-card h2{font-size:20px;line-height:1.3;margin:0 0 8px;color:#0f172a}
.decision-card p{margin:0;color:#475569}
.contact-box--streamlined{max-width:1100px;margin:22px auto}
.contact-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;font-size:12px;font-weight:700;letter-spacing:.2px;text-transform:uppercase;margin:0 0 10px}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;align-items:start}
.contact-panel{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:16px}
.contact-panel h3{margin:0 0 10px;color:#ecfdf5}
.site-chip-wrap{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.site-chip{display:inline-flex;align-items:center;padding:9px 12px;border-radius:999px;background:#0f172a;color:#ecfdf5;border:1px solid #334155;font-size:13px}
.site-chip:hover{background:#14532d;color:#ecfdf5;border-color:#22c55e;opacity:1}
.faq-wrap{margin-bottom:22px}
.content > *:first-child{margin-top:0}
.content h2{font-size:28px;line-height:1.3}
.content h3{font-size:22px;line-height:1.35}
.content p, .content li, .content blockquote{font-size:16px}
.content section, .content article, .content div[data-category]{margin-bottom:18px}
@media (max-width: 860px){.contact-grid{grid-template-columns:1fr}}
.decision-grid{margin:0 auto 22px;padding:0 16px}
.decision-grid > h2{margin:0 0 14px}
.decision-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.authority-block{margin:8px auto 24px;padding:0 16px}
.authority-block > h2{margin:0 0 10px}
.authority-block > p{max-width:980px;color:#475569}
.authority-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:14px}
.authority-card{background:#fffdf8;border:1px solid #eadfcd;border-radius:18px;padding:18px;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.authority-card h3{margin:0 0 8px;font-size:20px;line-height:1.3}
.authority-card p{margin:0;color:#475569}



/* === 2026 readability + template layout polish === */
.content{
  max-width:1120px;
  margin:0 auto 8px;
  padding:0 16px;
}
.content section,
.content article,
.content > div[data-category]{
  background:linear-gradient(180deg,#fffefb,#ffffff);
  border:1px solid #e8ebe3;
  border-radius:22px;
  padding:22px 22px 20px;
  box-shadow:0 14px 34px rgba(15,23,42,.05);
}
.content section + section,
.content article + section,
.content section + article,
.content > div[data-category] + div[data-category]{
  margin-top:18px;
}
.content h2{
  margin:0 0 12px;
  font-size:clamp(1.45rem,2vw,1.85rem);
  line-height:1.28;
  color:#0f172a;
  letter-spacing:-.01em;
}
.content h3{
  margin:0 0 10px;
  font-size:clamp(1.15rem,1.7vw,1.35rem);
  line-height:1.34;
  color:#14532d;
}
.content p{
  margin:0 0 14px;
  color:#334155;
}
.content ul,
.content ol{
  margin:0 0 14px 1.2rem;
  padding:0;
  color:#334155;
}
.content li + li{margin-top:7px}
.content blockquote{
  margin:16px 0;
  padding:14px 16px;
  border-left:4px solid #16a34a;
  background:#f0fdf4;
  border-radius:14px;
  color:#14532d;
}
.content strong{color:#111827}
.content .vk-card{margin:14px 0 0}
.content .vk-card p:last-child{margin-bottom:0}
.content .vk-card + .vk-card{margin-top:16px}
.content a{text-underline-offset:2px;text-decoration-thickness:1.2px}
.content a:hover{color:#92400e}
.content .vk-promo-cta{margin:0}
.content .content-block--compact p:last-child,
.content .content-block--compact ul:last-child,
.content .content-block--compact ol:last-child{margin-bottom:0}
.content .content-block--highlight{background:linear-gradient(180deg,#fffbeb,#fffefb);border-color:#f7ddb2}
.content .content-block--soft{background:linear-gradient(180deg,#f8fffb,#fffefb)}
.content .content-block--grid{display:grid;gap:16px}
.content .content-block--grid .vk-card{margin:0}
@media (min-width: 900px){
  .content .content-block--two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
}
@media (max-width: 760px){
  .content{padding:0 12px}
  .content section,
  .content article,
  .content > div[data-category]{padding:18px 16px 16px;border-radius:18px}
  .content h2{font-size:1.35rem}
  .content h3{font-size:1.08rem}
}


/* Part 2 page architecture */
.page-intro-panel{margin:8px auto 24px;padding:0 16px}
.soft-panel{padding:22px;border:1px solid var(--line)}
.intro-prose h1,.intro-prose h2{margin-top:0}
.cards--compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.compact-topic-card{padding:14px 16px}
.compact-topic-card h3{margin:0;font-size:17px;line-height:1.35}
.cta-strip{max-width:1200px;margin:10px auto 24px;padding:0 16px}
.cta-strip__inner{display:grid;grid-template-columns:1.5fr auto;gap:18px;align-items:center;background:linear-gradient(135deg,#0f172a,#14532d);color:#ecfdf5;border-radius:20px;padding:22px;border:1px solid rgba(110,231,183,.28);box-shadow:var(--shadow)}
.cta-strip__inner h2{margin:0 0 8px;color:#fff}
.cta-strip__inner p{margin:0;color:#d1fae5}
.cta-strip__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.all-topics-wrap{margin-top:8px;margin-bottom:24px}
.top-info-block{margin-top:0}
.nearby-wrap{margin:10px auto 24px;padding:0 16px}
.content-shell{max-width:1100px;margin:0 auto 24px;padding:0 16px}
.content-shell > .content-block,.content-shell > article,.content-shell > section{margin-bottom:18px}
.cards--places .card p{color:#475569}
@media (max-width: 900px){.cta-strip__inner{grid-template-columns:1fr}.cta-strip__actions{justify-content:flex-start}}


/* Part 4 authority + conversion */
.modes-block{margin:8px auto 24px;padding:0 16px}
.modes-block > h2{margin:0 0 14px}
.modes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.mode-card{background:linear-gradient(180deg,#f8fffb,#fffefb);border:1px solid #d7e9dd;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.mode-card h3{margin:0 0 8px;font-size:20px;line-height:1.3;color:#14532d}
.mode-card p{margin:0;color:#475569}
.conversion-band{max-width:1200px;margin:10px auto 24px;padding:0 16px}
.conversion-band__inner{display:grid;grid-template-columns:1.5fr auto;gap:18px;align-items:center;background:linear-gradient(135deg,#14532d,#166534);color:#ecfdf5;border-radius:22px;padding:22px;border:1px solid rgba(110,231,183,.3);box-shadow:var(--shadow)}
.conversion-band--light .conversion-band__inner{background:linear-gradient(135deg,#fffefb,#f0fdf4);color:#0f172a;border-color:#d7e9dd}
.conversion-band__inner h2{margin:0 0 8px;color:inherit}
.conversion-band__inner p{margin:0;color:inherit}
.conversion-band--light .conversion-band__inner p{color:#475569}
.conversion-band__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width: 900px){.conversion-band__inner{grid-template-columns:1fr}.conversion-band__actions{justify-content:flex-start}}


/* Final layout fix for top heading + 3 cards and card overflow */
.decision-grid,
.authority-block,
.modes-block,
.faq-wrap,
.all-topics-wrap,
.page-intro-panel,
.cta-strip,
.conversion-band,
.content-shell,
.nearby-wrap{
  display:block !important;
  clear:both;
  isolation:isolate;
}

.decision-grid > h2,
.authority-block > h2,
.modes-block > h2,
.all-topics-wrap > h2,
.faq-wrap > h2,
.page-intro-panel > h2,
.page-intro-panel .prose > h2{
  display:block;
  width:100%;
  grid-column:1 / -1;
  margin:0 0 14px;
}

.decision-cards,
.authority-grid,
.modes-grid,
.cards--topics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
  width:100%;
}

.card,
.decision-card,
.authority-card,
.mode-card,
.compact-topic-card,
.content section,
.content article,
.content > div[data-category]{
  min-width:0;
  overflow:hidden;
}

.card h1,.card h2,.card h3,
.decision-card h1,.decision-card h2,.decision-card h3,
.authority-card h1,.authority-card h2,.authority-card h3,
.mode-card h1,.mode-card h2,.mode-card h3,
.compact-topic-card h1,.compact-topic-card h2,.compact-topic-card h3,
.content h1,.content h2,.content h3,
.content p,.content li{
  overflow-wrap:anywhere;
  word-break:normal;
}

.cards--topics .card,
.decision-cards .decision-card,
.authority-grid .authority-card,
.modes-grid .mode-card{
  height:100%;
}

@media (max-width: 980px){
  .decision-cards,
  .authority-grid,
  .modes-grid,
  .cards--topics{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 640px){
  .decision-cards,
  .authority-grid,
  .modes-grid,
  .cards--topics{grid-template-columns:1fr;}
}


/* Homepage intro card overflow fix */
.page-intro-panel .soft-panel,
.page-intro-panel .intro-prose{
  max-width: 100%;
  overflow: hidden;
}
.page-intro-panel .prose,
.page-intro-panel .intro-prose{
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
.page-intro-panel .intro-prose h1,
.page-intro-panel .intro-prose h2,
.page-intro-panel .intro-prose h3,
.page-intro-panel .intro-prose p,
.page-intro-panel .intro-prose li{
  overflow-wrap: anywhere;
  word-break: normal;
}
.page-intro-panel .intro-prose p:last-child{margin-bottom:0}

/* Strong homepage header cards alignment fix */
.decision-grid{
  max-width:1200px;
  margin:0 auto 26px !important;
  padding:0 16px !important;
}
.decision-grid > h2{
  display:block !important;
  width:100% !important;
  margin:0 0 16px !important;
  text-align:left;
}
.decision-grid .decision-cards{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  width:100% !important;
  margin:0 !important;
  align-items:stretch !important;
}
.decision-grid .decision-card{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  min-width:0 !important;
  width:100% !important;
  height:100% !important;
  padding:22px !important;
  border-radius:18px;
  text-align:left !important;
  overflow:hidden !important;
}
.decision-grid .decision-card h3{
  margin:0 0 10px !important;
  width:100% !important;
  font-size:1.15rem !important;
  line-height:1.35 !important;
  color:#0f172a;
  text-align:left !important;
  overflow-wrap:anywhere;
}
.decision-grid .decision-card p{
  margin:0 !important;
  width:100% !important;
  line-height:1.75 !important;
  color:#475569;
  text-align:left !important;
  overflow-wrap:anywhere;
}
@media (max-width:980px){
  .decision-grid .decision-cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:640px){
  .decision-grid .decision-cards{grid-template-columns:1fr !important;}
}
