/* ==========================================================================
   LIC Agent S. Kulkarni – Pune | Site Stylesheet
   Design language rebuilt from the supplied master template (colour system,
   card layout, hero banner, floating contact buttons, sticky mobile bar,
   enquiry modal). The original template's compiled asset files (bootstrap
   bundle, owl-carousel, app.css/app.js, image library) were not part of the
   upload, so this stylesheet is an original, lightweight recreation of the
   same visual identity.

   Colour/typography direction (2026 update): re-tuned to evoke the same
   *institutional, trustworthy* visual language commonly associated with
   LIC of India's own digital presence — a deep cobalt/navy blue paired with
   a warm gold/amber accent, clean bold sans-serif headings, white cards on
   a soft neutral canvas. This is an original palette inspired by that
   general direction; no LIC of India HTML, CSS, images or copyrighted
   assets were copied, and no LIC logo or trademark is reproduced anywhere
   on this site.
   ========================================================================== */

:root {
  --color-primary: #123d7c;
  --color-primary-dark: #0b2a58;
  --color-secondary: #b8860b;
  --color-secondary-dark: #8f680a;
  --color-whatsapp: #25d366;
  --color-ink: #16223a;
  --color-body: #3d4a5c;
  --color-muted: #64708a;
  --color-bg: #f5f6fa;
  --color-card: #ffffff;
  --color-border: #e1e6f2;
  --radius-lg: 18px;
  --radius-md: 12px;
  --radius-sm: 8px;
  --shadow-card: 0 4px 18px rgba(15, 30, 65, 0.08);
  --shadow-card-hover: 0 10px 28px rgba(15, 30, 65, 0.14);
  --container: 1180px;
  --font-body: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;
  --font-heading-weight: 800;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--color-body);
  background: var(--color-bg);
  line-height: 1.65;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--color-primary); text-decoration: none; }
a:hover { color: var(--color-secondary); }
h1, h2, h3, h4 { color: var(--color-ink); line-height: 1.28; font-weight: var(--font-heading-weight); letter-spacing: -0.01em; margin: 0 0 14px; }
h1 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); }
h2 { font-size: clamp(1.35rem, 2.6vw, 1.9rem); }
h3 { font-size: 1.15rem; }
p { margin: 0 0 14px; }
ul, ol { margin: 0 0 14px; padding-left: 22px; }
.container { max-width: var(--container); margin: 0 auto; padding: 0 20px; }
.text-center { text-align: center; }
.mt-0 { margin-top: 0; }
.skip-link { position: absolute; left: -999px; top: 0; background: #fff; padding: 10px 16px; z-index: 2000; }
.skip-link:focus { left: 10px; top: 10px; }

/* ---------- Eyebrow / section heading pattern ---------- */
.eyebrow {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--color-secondary);
  margin-bottom: 8px;
}
.section-heading { color: var(--color-primary); }
.section-lede { color: var(--color-muted); font-size: 1.02rem; max-width: 760px; }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 26px;
  border-radius: 100px;
  font-weight: 700;
  font-size: 0.96rem;
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease;
  white-space: nowrap;
}
.btn:hover { transform: translateY(-2px); }
@media (max-width: 420px) {
  .btn { white-space: normal; text-align: center; }
}
.btn-primary { background: var(--color-primary); color: #fff; box-shadow: 0 6px 16px rgba(0,51,153,0.28); }
.btn-primary:hover { background: var(--color-primary-dark); color: #fff; }
.btn-secondary { background: var(--color-secondary); color: #fff; box-shadow: 0 6px 16px rgba(194,116,43,0.28); }
.btn-secondary:hover { background: var(--color-secondary-dark); color: #fff; }
.btn-outline { background: #fff; border-color: var(--color-primary); color: var(--color-primary); }
.btn-outline:hover { background: var(--color-primary); color: #fff; }
.btn-whatsapp { background: var(--color-whatsapp); color: #fff; box-shadow: 0 6px 16px rgba(37,211,102,0.3); }
.btn-whatsapp:hover { background: #1eb956; color: #fff; }
.btn-block { width: 100%; }
.btn-sm { padding: 9px 18px; font-size: 0.85rem; }
.cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0; }

/* ---------- Header / Navigation ---------- */
.site-header {
  position: sticky; top: 0; z-index: 500;
  background: #fff;
  box-shadow: 0 2px 10px rgba(20,30,60,0.08);
  border-bottom: 3px solid var(--color-secondary);
}
.nav-wrap { display: flex; align-items: center; justify-content: space-between; padding: 10px 20px; max-width: var(--container); margin: 0 auto; gap: 14px; }
.brand { display: flex; align-items: center; gap: 10px; font-weight: 800; color: var(--color-primary); flex-shrink: 0; }
.brand-mark {
  width: 46px; height: 46px; border-radius: 50%;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 1.15rem;
}
.brand-text { line-height: 1.15; }
.brand-text .brand-name { font-size: 1.02rem; display: block; }
.brand-text .brand-sub { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.5px; color: var(--color-muted); text-transform: uppercase; display: block; }

.main-nav { display: flex; align-items: center; gap: 2px; }
.main-nav > ul { display: flex; list-style: none; margin: 0; padding: 0; gap: 2px; }
.main-nav .nav-item { position: relative; }
.main-nav .nav-link {
  display: flex; align-items: center; gap: 6px;
  padding: 12px 14px; font-weight: 600; font-size: 0.92rem; color: var(--color-ink);
  border-radius: var(--radius-sm);
}
.main-nav .nav-link:hover, .main-nav .nav-item.open > .nav-link { color: var(--color-primary); background: #eef2fb; }
.main-nav .caret { font-size: 0.6rem; margin-left: 2px; transition: transform .15s ease; }
.main-nav .nav-item.open > .nav-link .caret { transform: rotate(180deg); }
.main-nav .nav-link.cta-nav { background: var(--color-secondary); color: #fff; padding: 10px 20px; }
.main-nav .nav-link.cta-nav:hover { background: var(--color-secondary-dark); color: #fff; }

.dropdown {
  position: absolute; top: 100%; left: 0; min-width: 300px;
  background: #fff; border-radius: var(--radius-md); box-shadow: var(--shadow-card-hover);
  border: 1px solid var(--color-border);
  padding: 10px; display: none; z-index: 600;
}
.dropdown.mega { min-width: 640px; display: none; grid-template-columns: repeat(2, 1fr); gap: 4px 18px; padding: 18px; }
.nav-item.open .dropdown { display: block; }
.nav-item.open .dropdown.mega { display: grid; }
.dropdown-col-title { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 1px; color: var(--color-secondary); font-weight: 800; margin: 12px 0 6px; }
.dropdown-col-title:first-child { margin-top: 4px; }
.dropdown a { display: block; padding: 7px 10px; border-radius: var(--radius-sm); color: var(--color-ink); font-size: 0.89rem; }
.dropdown a:hover { background: #eef2fb; color: var(--color-primary); }

.nav-toggle { display: none; background: var(--color-primary); border: none; color: #fff; width: 42px; height: 42px; border-radius: var(--radius-sm); font-size: 1.1rem; cursor: pointer; }

@media (min-width: 992px) {
  .nav-item.has-dropdown:hover > .dropdown { display: block; }
  .nav-item.has-dropdown:hover > .dropdown.mega { display: grid; }
}

@media (max-width: 991px) {
  .nav-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .main-nav { position: fixed; inset: 0 0 0 auto; width: min(320px, 88vw); height: 100vh; background: #fff; flex-direction: column; align-items: stretch; padding: 18px; transform: translateX(100%); transition: transform .25s ease; overflow-y: auto; box-shadow: -8px 0 24px rgba(0,0,0,0.15); z-index: 700; }
  .main-nav.open { transform: translateX(0); }
  .main-nav > ul { flex-direction: column; width: 100%; gap: 0; }
  .main-nav .nav-link { padding: 13px 8px; border-bottom: 1px solid var(--color-border); }
  .main-nav .nav-link.cta-nav { margin-top: 10px; justify-content: center; }
  .dropdown, .dropdown.mega { position: static; box-shadow: none; border: none; display: none; width: 100%; grid-template-columns: 1fr; background: #f8f9fc; margin-bottom: 6px; }
  .nav-item.open .dropdown, .nav-item.open .dropdown.mega { display: block; }
  .nav-backdrop { position: fixed; inset: 0; background: rgba(10,15,30,0.45); z-index: 480; display: none; }
  .nav-backdrop.open { display: block; }
}

/* ---------- Breadcrumb ---------- */
.breadcrumb-bar { background: #eef2fb; font-size: 0.82rem; padding: 10px 0; }
.breadcrumb-bar ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; max-width: var(--container); margin: 0 auto; padding: 0 20px; }
.breadcrumb-bar li:not(:last-child)::after { content: "›"; margin-left: 6px; color: var(--color-muted); }
.breadcrumb-bar a { color: var(--color-muted); }
.breadcrumb-bar li:last-child { color: var(--color-primary); font-weight: 600; }

/* ---------- Hero ---------- */
.hero { background: linear-gradient(160deg, var(--color-primary) 0%, var(--color-primary-dark) 62%, #001c4d 100%); color: #fff; padding: 46px 0 54px; position: relative; overflow: hidden; }
.hero::after { content:""; position:absolute; right:-120px; top:-120px; width:360px; height:360px; border-radius:50%; background: rgba(194,116,43,0.18); }
.hero .container { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 34px; align-items: center; position: relative; z-index: 2; }
.hero-tag { display: inline-block; background: rgba(255,255,255,0.14); border: 1px solid rgba(255,255,255,0.35); padding: 6px 16px; border-radius: 100px; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.6px; margin-bottom: 16px; }
.hero h1 { color: #fff; margin-bottom: 14px; }
.hero p.lede { color: #dbe4fb; font-size: 1.05rem; max-width: 620px; }
.hero-points { list-style: none; padding: 0; margin: 18px 0; display: grid; gap: 9px; }
.hero-points li { display: flex; gap: 10px; align-items: flex-start; font-size: 0.94rem; color: #eef2fb; }
.hero-points li::before { content: "✓"; flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%; background: var(--color-secondary); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 0.7rem; margin-top: 1px; }
.hero-card { background: #fff; border-radius: var(--radius-lg); padding: 26px; color: var(--color-ink); box-shadow: 0 20px 44px rgba(0,10,40,0.35); }
.hero-card h2 { font-size: 1.15rem; color: var(--color-primary); margin-bottom: 4px; }
.hero-card .hero-card-sub { color: var(--color-muted); font-size: 0.85rem; margin-bottom: 16px; }
@media (max-width: 900px) {
  .hero .container { grid-template-columns: 1fr; }
}

/* Simple lead form (used in hero card + sidebar + page-bottom) */
.lead-form { display: grid; gap: 10px; }
.lead-form input, .lead-form select, .lead-form textarea {
  width: 100%; padding: 11px 13px; border: 1px solid var(--color-border); border-radius: var(--radius-sm);
  font-family: inherit; font-size: 0.92rem; background: #fbfbfd;
}
.lead-form label { font-size: 0.78rem; font-weight: 700; color: var(--color-muted); margin-bottom: -4px; display: block; }
.lead-form .consent { font-size: 0.72rem; color: var(--color-muted); display: flex; gap: 8px; align-items: flex-start; }
.lead-form .consent input { width: auto; margin-top: 3px; flex-shrink: 0; }
.lead-form .consent span { flex: 1; min-width: 0; }
.form-note { font-size: 0.76rem; color: var(--color-muted); margin-top: 8px; }

/* ---------- Sections & Cards ---------- */
.section { padding: 52px 0; }
.section.alt { background: #fff; }
.section-head { margin-bottom: 26px; }
.card-grid { display: grid; gap: 20px; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) { .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; } }

.card {
  background: var(--color-card); border-radius: var(--radius-lg); padding: 22px;
  box-shadow: var(--shadow-card); border: 1px solid var(--color-border);
  transition: box-shadow .18s ease, transform .18s ease;
}
.card:hover { box-shadow: var(--shadow-card-hover); transform: translateY(-3px); }
.card h3 { margin-bottom: 8px; font-size: 1.05rem; }
.card p { color: var(--color-body); font-size: 0.93rem; margin-bottom: 10px; }
.card .card-icon { width: 46px; height: 46px; border-radius: 12px; background: #eef2fb; color: var(--color-primary); display: flex; align-items: center; justify-content: center; font-size: 1.3rem; margin-bottom: 12px; }
.card a.card-link { font-weight: 700; font-size: 0.86rem; }

.pill-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.pill-list li { display: flex; gap: 10px; align-items: flex-start; background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 12px 14px; font-size: 0.92rem; }
.pill-list li .dot { flex-shrink: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--color-secondary); margin-top: 8px; }

.stat-row { display: flex; flex-wrap: wrap; gap: 22px; margin: 18px 0; }
.stat-row .stat { background: #fff; border-radius: var(--radius-md); border: 1px solid var(--color-border); padding: 14px 18px; min-width: 160px; }
.stat .stat-label { font-size: 0.76rem; color: var(--color-muted); font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }

/* Two-column content + sidebar layout used on long-form pages */
.page-layout { display: grid; grid-template-columns: 2.1fr 1fr; gap: 34px; align-items: start; }
@media (max-width: 960px) { .page-layout { grid-template-columns: 1fr; } }
.content-col h2 { margin-top: 36px; }
.content-col h2:first-child { margin-top: 0; }
.content-col h3 { margin-top: 22px; color: var(--color-primary); }
.content-col table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 0.9rem; }
.content-col table th, .content-col table td { border: 1px solid var(--color-border); padding: 9px 12px; text-align: left; }
.content-col table th { background: #eef2fb; color: var(--color-primary); }
.callout { background: #fff7ec; border-left: 4px solid var(--color-secondary); border-radius: var(--radius-sm); padding: 14px 18px; font-size: 0.92rem; margin: 18px 0; }
.callout.info { background: #eef2fb; border-left-color: var(--color-primary); }
.disclaimer-note { background: #f6f7fb; border: 1px dashed var(--color-border); border-radius: var(--radius-sm); padding: 14px 18px; font-size: 0.82rem; color: var(--color-muted); margin: 20px 0; }

.sidebar { display: grid; gap: 20px; position: sticky; top: 90px; }
.sidebar-card { background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow-card); border: 1px solid var(--color-border); padding: 20px; }
.sidebar-card h3 { font-size: 1rem; color: var(--color-primary); }
.sidebar-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.sidebar-links a { display: block; padding: 8px 10px; border-radius: var(--radius-sm); font-size: 0.88rem; }
.sidebar-links a:hover { background: #eef2fb; }

/* ---------- FAQ ---------- */
.faq-list { display: grid; gap: 12px; }
.faq-item { background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-md); overflow: hidden; }
.faq-q { width: 100%; text-align: left; background: none; border: none; padding: 16px 18px; font-weight: 700; font-size: 0.96rem; color: var(--color-ink); cursor: pointer; display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.faq-q::after { content: "+"; font-size: 1.3rem; color: var(--color-secondary); flex-shrink: 0; transition: transform .15s ease; }
.faq-item.open .faq-q::after { transform: rotate(45deg); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .2s ease; padding: 0 18px; font-size: 0.92rem; color: var(--color-body); }
.faq-item.open .faq-a { max-height: 600px; padding: 0 18px 16px; }

/* ---------- CTA band ---------- */
.cta-band { background: linear-gradient(120deg, var(--color-secondary), var(--color-secondary-dark)); color: #fff; border-radius: var(--radius-lg); padding: 34px; text-align: center; margin: 10px 0; }
.cta-band h2 { color: #fff; }
.cta-band p { color: #fff2e4; }
.cta-band .cta-row { justify-content: center; }
.cta-band .btn-primary { background: #fff; color: var(--color-primary); box-shadow: none; }
.cta-band .btn-outline { border-color: #fff; color: #fff; }
.cta-band .btn-outline:hover { background: #fff; color: var(--color-secondary-dark); }

/* ---------- Related links ---------- */
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 800px) { .related-grid { grid-template-columns: 1fr; } }
.related-card { background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 16px; }
.related-card .eyebrow { font-size: 0.68rem; }
.related-card h4 { margin: 0 0 6px; font-size: 0.96rem; color: var(--color-primary); }
.related-card p { font-size: 0.85rem; margin-bottom: 8px; }

/* ---------- Locations grid ---------- */
.locality-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
@media (max-width: 900px) { .locality-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .locality-grid { grid-template-columns: repeat(2, 1fr); } }
.locality-grid a { display: block; background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-sm); padding: 10px 12px; font-size: 0.87rem; font-weight: 600; color: var(--color-ink); }
.locality-grid a:hover { border-color: var(--color-primary); color: var(--color-primary); background: #eef2fb; }

/* ---------- Testimonial / trust note (no fake reviews – factual note only) ---------- */
.trust-note { background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 22px; }
.trust-note a.google-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; margin-top: 8px; }

/* ---------- Footer ---------- */
.site-footer { background: #0c1730; color: #c9d2e6; padding: 46px 0 18px; margin-top: 40px; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 28px; }
@media (max-width: 900px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .footer-grid { grid-template-columns: 1fr; } }
.site-footer h4 { color: #fff; font-size: 0.92rem; text-transform: uppercase; letter-spacing: 0.6px; margin-bottom: 14px; }
.site-footer a { color: #c9d2e6; }
.site-footer a:hover { color: #fff; }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: 0.87rem; }
.footer-brand p { font-size: 0.87rem; color: #97a2ba; }
.footer-bottom { border-top: 1px solid #1e2b4d; margin-top: 34px; padding-top: 18px; font-size: 0.78rem; color: #8792ac; }
.footer-bottom .legal-links { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 8px; }
.footer-disclaimer { font-size: 0.76rem; color: #7c869e; line-height: 1.6; margin-top: 14px; }

/* ---------- Floating contact buttons ---------- */
.float-btns { position: fixed; right: 16px; bottom: 92px; z-index: 900; display: grid; gap: 12px; }
.float-btn { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.4rem; box-shadow: 0 6px 18px rgba(0,0,0,0.25); }
.float-btn.whatsapp { background: var(--color-whatsapp); }
.float-btn.call { background: var(--color-primary); }

/* ---------- Sticky mobile action bar ---------- */
.mobile-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 950; display: none; background: #fff; box-shadow: 0 -4px 16px rgba(0,0,0,0.12); }
.mobile-bar ul { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; }
.mobile-bar a, .mobile-bar button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 10px 4px; font-size: 0.72rem; font-weight: 700; border: none; background: none; color: var(--color-ink); width: 100%; cursor: pointer; }
.mobile-bar li:nth-child(1) a, .mobile-bar li:nth-child(1) button { color: var(--color-primary); }
.mobile-bar li:nth-child(2) a { color: var(--color-whatsapp); }
.mobile-bar li:nth-child(3) a, .mobile-bar li:nth-child(3) button { color: var(--color-secondary); }
.mobile-bar .bar-icon { font-size: 1.15rem; }
@media (max-width: 767px) {
  .mobile-bar { display: block; }
  .float-btns { bottom: 78px; right: 12px; }
  .float-btn { width: 46px; height: 46px; font-size: 1.2rem; }
  body { padding-bottom: 58px; }
}

/* ---------- Modal ---------- */
.modal-overlay { position: fixed; inset: 0; background: rgba(8,14,30,0.62); z-index: 1200; display: none; align-items: center; justify-content: center; padding: 16px; }
.modal-overlay.open { display: flex; }
.modal-box { background: #fff; border-radius: var(--radius-lg); max-width: 460px; width: 100%; padding: 26px; position: relative; max-height: 92vh; overflow-y: auto; }
.modal-close { position: absolute; top: 12px; right: 14px; background: none; border: none; font-size: 1.4rem; cursor: pointer; color: var(--color-muted); }
.modal-box h3 { color: var(--color-primary); margin-bottom: 4px; }
.modal-box .modal-sub { color: var(--color-muted); font-size: 0.86rem; margin-bottom: 16px; }

/* ---------- Blog list ---------- */
.article-meta { font-size: 0.78rem; color: var(--color-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; }
.article-card h3 { font-size: 1.02rem; }

/* ---------- Utility ---------- */
.mb-0 { margin-bottom: 0; }
.small { font-size: 0.85rem; }
.text-muted { color: var(--color-muted); }
.divider { height: 1px; background: var(--color-border); margin: 30px 0; }
.badge { display: inline-block; background: #eef2fb; color: var(--color-primary); font-size: 0.72rem; font-weight: 700; padding: 4px 10px; border-radius: 100px; margin: 0 6px 6px 0; }
.badge.status-live { background: #e6f6ec; color: #1a7d3f; }
.badge.status-withdrawn { background: #fdeceb; color: #a3372a; }

/* ---------- Media / photo sections (image + text layouts) ---------- */
.media-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}
.media-row.reverse .media-row-img { order: 2; }
.media-row.reverse .media-row-text { order: 1; }
.media-row-img img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  object-fit: cover;
}
.media-row-text h2, .media-row-text h3 { margin-top: 0; }
@media (max-width: 860px) {
  .media-row { grid-template-columns: 1fr; gap: 22px; }
  .media-row.reverse .media-row-img { order: 1; }
  .media-row.reverse .media-row-text { order: 2; }
}

/* Full-width photo banner with optional caption overlay-free bar */
.photo-banner { padding: 0; }
.photo-banner-img {
  width: 100%;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.photo-banner-img img { width: 100%; height: auto; display: block; }
.photo-banner-caption { text-align: center; color: var(--color-muted); font-size: 0.86rem; margin-top: 10px; }

/* Hero background photo band (used sparingly, e.g. homepage) */
.hero-photo { border-radius: var(--radius-lg); overflow: hidden; box-shadow: 0 20px 44px rgba(0,10,40,0.35); }
.hero-photo img { width: 100%; height: auto; display: block; }

/* Card-style image (rounded block used inside card grids / CTA bands) */
.img-card { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-card); margin-bottom: 18px; }
.img-card img { width: 100%; height: auto; display: block; }

/* Image-backed CTA band */
.cta-band.with-photo {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 0;
  align-items: stretch;
  text-align: left;
  padding: 0;
  overflow: hidden;
}
.cta-band.with-photo .cta-band-img { position: relative; min-height: 220px; }
.cta-band.with-photo .cta-band-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cta-band.with-photo .cta-band-text { padding: 34px; }
.cta-band.with-photo .cta-band-text .cta-row { justify-content: flex-start; }
@media (max-width: 800px) {
  .cta-band.with-photo { grid-template-columns: 1fr; }
  .cta-band.with-photo .cta-band-img { min-height: 180px; }
}

/* ---------- Honeypot anti-spam field (hidden from real visitors, kept in tab/DOM for accessibility-safe bot bait) ---------- */
.hp-field {
  position: absolute !important;
  left: -5000px !important;
  top: -5000px !important;
  width: 1px; height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

/* ---------- Form submit states (used by the enquiry modal's server-side submission) ---------- */
.form-msg { display: none; font-size: 0.88rem; border-radius: var(--radius-sm); padding: 12px 14px; margin-top: 4px; }
.form-msg.show { display: block; }
.form-msg.success { background: #e6f6ec; color: #1a7d3f; border: 1px solid #b7e4c7; }
.form-msg.error { background: #fdeceb; color: #a3372a; border: 1px solid #f3c6c0; }
.lead-form button[disabled] { opacity: 0.65; cursor: not-allowed; transform: none !important; }

.float-btn.whatsapp1 svg {
    width: 28px;
    height: 28px;
    fill: currentColor;
    display: block;
}