/* ============================================================
   AiSevak — Main Stylesheet
   Mobile-first, no framework dependency, India-optimised
   ============================================================ */

/* ── Reset & base ─────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --clr-primary:   #1e40af;
  --clr-primary-h: #1d4ed8;
  --clr-accent:    #FF6B35;
  --clr-accent-h:  #e85a22;
  --clr-text:      #111827;
  --clr-muted:     #6b7280;
  --clr-border:    #e5e7eb;
  --clr-bg:        #f9fafb;
  --clr-white:     #ffffff;
  --clr-success:   #059669;
  --clr-warn:      #d97706;
  --clr-danger:    #dc2626;
  --radius:        12px;
  --radius-sm:     8px;
  --shadow-sm:     0 1px 3px rgba(0,0,0,.08);
  --shadow-md:     0 4px 12px rgba(0,0,0,.10);
  --shadow-lg:     0 12px 32px rgba(0,0,0,.12);
  --max-w:         1200px;
  --font-sans:     'Inter', system-ui, -apple-system, sans-serif;
  --font-hindi:    'Noto Sans Devanagari', sans-serif;
}

html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: var(--font-sans);
  color: var(--clr-text);
  background: var(--clr-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--clr-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }

/* ── Skip link ────────────────────────────────────────── */
.skip-link {
  position: absolute; top: -100%; left: 8px;
  background: var(--clr-primary); color: #fff;
  padding: 8px 16px; border-radius: 0 0 8px 8px;
  z-index: 9999; font-weight: 600;
}
.skip-link:focus { top: 0; }

/* ── Nav ──────────────────────────────────────────────── */
.nav {
  position: sticky; top: 0; z-index: 100;
  background: var(--clr-white);
  border-bottom: 1px solid var(--clr-border);
  box-shadow: var(--shadow-sm);
}
.nav-inner {
  max-width: var(--max-w); margin: 0 auto;
  padding: 0 16px; height: 60px;
  display: flex; align-items: center; gap: 24px;
}
.nav-logo {
  display: flex; align-items: center; gap: 8px;
  text-decoration: none; color: var(--clr-text);
  flex-shrink: 0;
}
.logo-icon { font-size: 1.5rem; }
.logo-text { font-size: 1.2rem; font-weight: 700; color: var(--clr-primary); }
.logo-dot { color: var(--clr-accent); }
.logo-tagline { display: none; font-size: .7rem; color: var(--clr-muted); margin-left: 4px; }
@media (min-width: 640px) { .logo-tagline { display: inline; } }

.nav-links {
  display: none; flex: 1;
  align-items: center; gap: 4px;
  justify-content: flex-end;
}
.nav-links.open { display: flex; flex-direction: column; position: absolute; top: 60px; left: 0; right: 0; background: var(--clr-white); border-bottom: 1px solid var(--clr-border); padding: 12px; z-index: 99; }
@media (min-width: 768px) { .nav-links { display: flex !important; flex-direction: row; position: static; padding: 0; } }

.nav-toggle { display: flex; background: none; border: none; font-size: 1.4rem; cursor: pointer; color: var(--clr-text); margin-left: auto; }
@media (min-width: 768px) { .nav-toggle { display: none; } }

.nav-link { padding: 8px 12px; border-radius: var(--radius-sm); color: var(--clr-text); font-size: .9rem; font-weight: 500; }
.nav-link:hover { background: var(--clr-bg); text-decoration: none; }

.nav-dropdown { position: relative; }
.nav-btn { background: none; border: none; padding: 8px 12px; border-radius: var(--radius-sm); cursor: pointer; font-size: .9rem; font-weight: 500; color: var(--clr-text); }
.nav-btn:hover { background: var(--clr-bg); }
/* Services mega-menu — CLICK toggled (.nav-dropdown.open); reliable on desktop + mobile */
.nav-dropdown-menu {
  display: none; position: absolute; top: calc(100% + 4px); right: 0; left: auto;
  background: var(--clr-white); border: 1px solid var(--clr-border);
  border-radius: var(--radius); box-shadow: var(--shadow-lg);
  width: min(780px, 94vw); padding: 10px;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 2px; z-index: 200; max-height: 72vh; overflow-y: auto;
}
.nav-dropdown.open .nav-dropdown-menu { display: grid; }
.nav-dropdown-item { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: var(--radius-sm); color: var(--clr-text); font-size: .82rem; line-height: 1.25; }
.nav-dropdown-item:hover { background: var(--clr-bg); text-decoration: none; }
.dd-icon { font-size: 1.05rem; flex-shrink: 0; }

/* Desktop: anchor the wide panel to the nav container's right edge (never overflows) */
@media (min-width: 768px) {
  .nav-dropdown.open .nav-dropdown-menu {
    position: fixed; top: 64px; left: auto;
    right: max(16px, calc((100vw - var(--max-w, 1200px)) / 2));
    width: min(820px, 94vw);
  }
}

/* Mobile: whole nav panel scrolls; Services list expands inline (2 cols), reachable */
@media (max-width: 767px) {
  .nav-links.open { max-height: calc(100dvh - 60px); overflow-y: auto; -webkit-overflow-scrolling: touch; }
  .nav-dropdown { width: 100%; }
  .nav-btn { width: 100%; text-align: left; font-weight: 700; display: flex; justify-content: space-between; align-items: center; }
  .nav-dropdown.open .nav-dropdown-menu {
    position: static; width: 100%; max-height: none; overflow: visible;
    box-shadow: none; border: none; border-radius: 0; padding: 2px 0 6px;
    grid-template-columns: 1fr 1fr;
  }
}

/* ── Hero ─────────────────────────────────────────────── */
.hero {
  background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 50%, #3b82f6 100%);
  color: #fff; padding: 64px 16px 48px;
  text-align: center;
}
.hero-inner { max-width: 720px; margin: 0 auto; }
.hero-badge { display: inline-block; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.3); border-radius: 100px; padding: 4px 14px; font-size: .8rem; margin-bottom: 20px; }
.hero-powered { font-size: .82rem; letter-spacing: .3px; opacity: .85; margin-bottom: 18px; font-weight: 500; }
.hero h1 { font-size: clamp(1.8rem, 5vw, 3rem); font-weight: 700; line-height: 1.2; margin-bottom: 12px; }
.hero-hindi { display: block; font-family: var(--font-hindi); font-size: clamp(1rem, 3vw, 1.5rem); font-weight: 600; margin-top: 8px; opacity: .9; }
.hero-desc { font-size: 1.05rem; opacity: .9; max-width: 560px; margin: 16px auto 28px; }
.hero-stats { display: flex; justify-content: center; gap: 32px; flex-wrap: wrap; margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2); }
.hero-stat { text-align: center; }
.hero-stat strong { display: block; font-size: 1.6rem; font-weight: 700; }
.hero-stat span { font-size: .85rem; opacity: .8; }

/* ── Buttons ──────────────────────────────────────────── */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; border-radius: var(--radius-sm); font-size: .95rem; font-weight: 600; cursor: pointer; border: none; text-decoration: none; transition: transform .1s, box-shadow .1s; }
.btn:hover { text-decoration: none; transform: translateY(-1px); box-shadow: var(--shadow-md); }
.btn:active { transform: translateY(0); }
.btn-primary { background: var(--clr-accent); color: #fff; }
.btn-primary:hover { background: var(--clr-accent-h); }
.btn-secondary { background: rgba(255,255,255,.15); color: #fff; border: 1px solid rgba(255,255,255,.4); }
.btn-secondary:hover { background: rgba(255,255,255,.25); }
.btn-outline { background: transparent; color: var(--clr-primary); border: 2px solid var(--clr-primary); }
.btn-outline:hover { background: var(--clr-primary); color: #fff; }
.btn-sm { padding: 8px 16px; font-size: .85rem; }
.btn-full { width: 100%; justify-content: center; }

/* ── Section layout ───────────────────────────────────── */
.section { padding: 48px 16px; }
.section-inner { max-width: var(--max-w); margin: 0 auto; }
.section-header { text-align: center; margin-bottom: 36px; }
.section-header h2 { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 700; margin-bottom: 10px; }
.section-header p { color: var(--clr-muted); max-width: 560px; margin: 0 auto; }
.section-bg { background: var(--clr-bg); }

/* ── Vertical grid ────────────────────────────────────── */
.vertical-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
}
.vertical-card {
  background: var(--clr-white); border: 1px solid var(--clr-border);
  border-radius: var(--radius); padding: 24px 20px;
  text-decoration: none; color: var(--clr-text);
  transition: box-shadow .15s, transform .15s, border-color .15s;
  display: flex; flex-direction: column; gap: 10px;
}
.vertical-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: var(--clr-primary); text-decoration: none; }
.vertical-icon { font-size: 2rem; }
.vertical-label { font-size: 1rem; font-weight: 700; }
.vertical-count { font-size: .8rem; color: var(--clr-muted); }
.vertical-desc { font-size: .85rem; color: var(--clr-muted); line-height: 1.5; flex: 1; }
.vertical-cta { font-size: .85rem; font-weight: 600; color: var(--clr-primary); margin-top: 4px; }

/* ── Service cards ────────────────────────────────────── */
.service-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}
.service-card {
  background: var(--clr-white); border: 1px solid var(--clr-border);
  border-radius: var(--radius); padding: 20px;
  text-decoration: none; color: var(--clr-text);
  transition: box-shadow .15s, border-color .15s;
}
.service-card:hover { box-shadow: var(--shadow-md); border-color: var(--clr-primary); text-decoration: none; }
.svc-icon { font-size: 1.8rem; margin-bottom: 10px; }
.svc-name { font-size: 1rem; font-weight: 700; margin-bottom: 6px; }
.svc-tagline { font-size: .85rem; color: var(--clr-muted); line-height: 1.5; }
.svc-price { display: inline-block; margin-top: 12px; font-size: .8rem; font-weight: 600; background: #f0f9ff; color: var(--clr-primary); padding: 3px 10px; border-radius: 100px; }

/* ── How it works ─────────────────────────────────────── */
.steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 24px; }
.step { text-align: center; padding: 24px 16px; }
.step-num { width: 48px; height: 48px; background: var(--clr-primary); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; font-weight: 700; margin: 0 auto 16px; }
.step h3 { font-size: 1rem; font-weight: 700; margin-bottom: 8px; }
.step p { font-size: .85rem; color: var(--clr-muted); }

/* ── Pricing ──────────────────────────────────────────── */
.pricing-card { background: var(--clr-white); border: 2px solid var(--clr-border); border-radius: var(--radius); padding: 32px; max-width: 440px; margin: 0 auto; text-align: center; }
.pricing-card.featured { border-color: var(--clr-primary); box-shadow: var(--shadow-lg); }
.price-badge { display: inline-block; background: var(--clr-accent); color: #fff; padding: 4px 14px; border-radius: 100px; font-size: .8rem; font-weight: 600; margin-bottom: 16px; }
.price-main { font-size: 2.5rem; font-weight: 700; color: var(--clr-primary); }
.price-sub { font-size: .85rem; color: var(--clr-muted); margin-bottom: 20px; }
.price-features { list-style: none; text-align: left; margin-bottom: 24px; }
.price-features li { padding: 8px 0; border-bottom: 1px solid var(--clr-border); font-size: .9rem; }
.price-features li::before { content: '✓ '; color: var(--clr-success); font-weight: 700; }

/* ── Intake form ──────────────────────────────────────── */
.form-card { background: var(--clr-white); border: 1px solid var(--clr-border); border-radius: var(--radius); padding: 32px; max-width: 680px; margin: 0 auto; box-shadow: var(--shadow-sm); }
.form-title { font-size: 1.3rem; font-weight: 700; margin-bottom: 6px; }
.form-tagline { color: var(--clr-muted); font-size: .9rem; margin-bottom: 28px; }
.form-group { margin-bottom: 20px; }
.form-label { display: block; font-size: .9rem; font-weight: 600; margin-bottom: 6px; color: var(--clr-text); }
.form-label .req { color: var(--clr-danger); margin-left: 2px; }
.form-control {
  width: 100%; padding: 10px 14px; border: 1px solid var(--clr-border);
  border-radius: var(--radius-sm); font-size: .95rem; font-family: var(--font-sans);
  color: var(--clr-text); background: var(--clr-white);
  transition: border-color .15s, box-shadow .15s;
}
.form-control:focus { outline: none; border-color: var(--clr-primary); box-shadow: 0 0 0 3px rgba(30,64,175,.1); }
textarea.form-control { resize: vertical; min-height: 120px; }
select.form-control { cursor: pointer; }
.form-help { font-size: .8rem; color: var(--clr-muted); margin-top: 4px; }
.form-error { font-size: .8rem; color: var(--clr-danger); margin-top: 4px; }

/* ── Checkout / payment ───────────────────────────────── */
.checkout-box { background: #f0f9ff; border: 1px solid #bae6fd; border-radius: var(--radius); padding: 24px; margin-top: 24px; }
.checkout-box h3 { font-size: 1rem; font-weight: 700; margin-bottom: 12px; }
.price-breakdown { display: flex; flex-direction: column; gap: 6px; font-size: .9rem; }
.price-row { display: flex; justify-content: space-between; }
.price-row.total { font-weight: 700; border-top: 1px solid var(--clr-border); padding-top: 8px; margin-top: 4px; }

/* ── Result page ──────────────────────────────────────── */
.result-header { background: linear-gradient(135deg, #1e40af, #3b82f6); color: #fff; padding: 32px 16px; text-align: center; }
.result-body { max-width: 800px; margin: 32px auto; padding: 0 16px; }
.result-section { background: var(--clr-white); border: 1px solid var(--clr-border); border-radius: var(--radius); padding: 24px; margin-bottom: 20px; }
.result-section h2 { font-size: 1rem; font-weight: 700; color: var(--clr-primary); margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--clr-border); }
.result-field { margin-bottom: 14px; }
.result-field .label { font-size: .8rem; font-weight: 600; color: var(--clr-muted); text-transform: uppercase; letter-spacing: .5px; margin-bottom: 4px; }
.result-field .value { font-size: .95rem; }
.badge { display: inline-block; padding: 3px 10px; border-radius: 100px; font-size: .8rem; font-weight: 600; }
.badge-red { background: #fee2e2; color: #991b1b; }
.badge-yellow { background: #fef9c3; color: #854d0e; }
.badge-green { background: #dcfce7; color: #166534; }
.badge-blue { background: #dbeafe; color: #1e40af; }

/* ── Alert / notice ───────────────────────────────────── */
.alert { padding: 14px 18px; border-radius: var(--radius-sm); font-size: .9rem; margin-bottom: 16px; }
.alert-info { background: #eff6ff; border: 1px solid #bfdbfe; color: #1e40af; }
.alert-success { background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; }
.alert-warn { background: #fffbeb; border: 1px solid #fcd34d; color: #78350f; }
.alert-error { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }

/* ── Processing spinner ───────────────────────────────── */
.spinner { display: inline-block; width: 20px; height: 20px; border: 3px solid rgba(255,255,255,.3); border-radius: 50%; border-top-color: #fff; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.processing-box { text-align: center; padding: 48px 24px; }
.processing-icon { font-size: 3rem; margin-bottom: 16px; animation: pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:1;} 50%{opacity:.5;} }

/* ── Footer ───────────────────────────────────────────── */
.footer { background: #111827; color: #d1d5db; padding: 48px 16px 0; margin-top: 64px; }
.footer-inner { max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: 32px; padding-bottom: 40px; }
@media (min-width: 640px) { .footer-inner { grid-template-columns: 2fr 1fr 1fr; } }
.footer-logo { font-size: 1.2rem; font-weight: 700; color: #fff; margin-bottom: 12px; }
.footer-tagline { font-size: .9rem; line-height: 1.6; margin-bottom: 12px; }
.footer-tagline [lang="hi"] { font-family: var(--font-hindi); }
.footer-contact { font-size: .85rem; }
.footer-contact a { color: #93c5fd; }
.footer-heading { font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .8px; color: #9ca3af; margin-bottom: 12px; }
.footer-list { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.footer-list a { color: #d1d5db; font-size: .85rem; }
.footer-list a:hover { color: #fff; text-decoration: none; }
.footer-legal { margin-top: 20px; font-size: .75rem; color: #6b7280; line-height: 1.6; }
.footer-bottom { border-top: 1px solid #374151; padding: 16px 0; text-align: center; font-size: .8rem; color: #6b7280; }
.footer-bottom a { color: #9ca3af; }

/* ── Vertical landing ─────────────────────────────────── */
.vertical-hero { padding: 40px 16px 32px; border-bottom: 1px solid var(--clr-border); background: var(--clr-bg); }
.vertical-hero-inner { max-width: var(--max-w); margin: 0 auto; }
.vertical-hero h1 { font-size: clamp(1.5rem, 4vw, 2.2rem); font-weight: 700; margin: 12px 0 8px; }
.vertical-hero p { color: var(--clr-muted); max-width: 600px; }
.breadcrumb { font-size: .85rem; color: var(--clr-muted); margin-bottom: 16px; }
.breadcrumb a { color: var(--clr-primary); }

/* ── Admin ────────────────────────────────────────────── */
.admin-table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.admin-table th, .admin-table td { padding: 10px 12px; border-bottom: 1px solid var(--clr-border); text-align: left; }
.admin-table th { background: var(--clr-bg); font-weight: 600; }
.admin-table tr:hover td { background: #f8fafc; }
.status-pill { display: inline-block; padding: 2px 8px; border-radius: 100px; font-size: .75rem; font-weight: 600; }
.status-created { background: #fef3c7; color: #92400e; }
.status-paid { background: #dbeafe; color: #1e40af; }
.status-analyzed { background: #dcfce7; color: #166534; }

/* ── Responsive tweaks ────────────────────────────────── */
@media (max-width: 640px) {
  .hero { padding: 48px 16px 36px; }
  .section { padding: 36px 16px; }
  .hero-stats { gap: 20px; }
  .form-card { padding: 20px 16px; }
  .result-section { padding: 16px; }
  .vertical-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
}

/* ── Utility ──────────────────────────────────────────── */
.text-center { text-align: center; }
.text-muted { color: var(--clr-muted); }
.mt-4 { margin-top: 16px; }
.mt-8 { margin-top: 32px; }
.mb-4 { margin-bottom: 16px; }
.hidden { display: none !important; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }

/* ============================================================
   ENHANCED PHASE 1 — premium theme layer + per-vertical portals
   Theme vars (--v-primary, --v-primary-2, --v-accent, --v-tint,
   --v-grad) are injected per page by as_theme_style(). Homepage
   falls back to the brand blue.
   ============================================================ */
:root{
  --v-primary:#1e40af; --v-primary-2:#3b82f6; --v-accent:#FF6B35; --v-tint:#eff4ff;
  --v-grad:linear-gradient(135deg,#1e40af,#3b82f6);
  --e-ink:#0b1020; --e-ink-soft:#48506a; --e-muted:#78809a; --e-line:#e8ebf3;
  --e-bg:#f6f8fd; --e-radius:18px; --e-radius-sm:11px;
  --e-shadow-sm:0 1px 2px rgba(16,24,64,.05),0 3px 8px rgba(16,24,64,.05);
  --e-shadow:0 8px 26px rgba(16,24,64,.09),0 2px 6px rgba(16,24,64,.05);
  --e-shadow-lg:0 26px 60px rgba(16,24,64,.16);
  --e-display:'Plus Jakarta Sans','Inter',system-ui,-apple-system,sans-serif;
}
body{ background:var(--e-bg); color:var(--e-ink); }
h1,h2,h3{ font-family:var(--e-display); letter-spacing:-.018em; }

/* ── Premium nav ─────────────────────────────────────── */
.nav{ background:rgba(255,255,255,.82); backdrop-filter:saturate(160%) blur(12px); -webkit-backdrop-filter:saturate(160%) blur(12px); border-bottom:1px solid rgba(232,235,243,.9); }
.logo-text{ background:var(--v-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.btn-theme{ background:var(--v-grad); color:#fff; box-shadow:0 10px 24px rgba(16,24,64,.22); }
.btn-theme:hover{ color:#fff; filter:brightness(1.05); }
.btn-accent2{ background:var(--v-accent); color:#fff; }

/* ── HOME: hero ──────────────────────────────────────── */
.home-hero{ position:relative; overflow:hidden; padding:76px 16px 60px; color:#fff;
  background:
    radial-gradient(1100px 460px at 82% -10%, rgba(255,255,255,.16), transparent 60%),
    radial-gradient(760px 380px at 6% 8%, rgba(255,255,255,.10), transparent 62%),
    linear-gradient(135deg,#141c3a 0%, #1e3a8a 46%, #3b82f6 100%); }
.home-hero::after{ content:''; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.10) 1px, transparent 1px); background-size:22px 22px; }
.home-hero-inner{ position:relative; z-index:1; max-width:820px; margin:0 auto; text-align:center; }
.home-eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:.8rem; font-weight:600; letter-spacing:.03em; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28); padding:6px 14px; border-radius:999px; margin-bottom:20px; }
.home-hero h1{ font-size:clamp(2rem,5.2vw,3.4rem); line-height:1.1; margin:0 0 14px; font-weight:800; }
.home-hero .hero-hindi{ display:block; font-family:'Noto Sans Devanagari',var(--e-display); font-size:clamp(1.05rem,3vw,1.5rem); opacity:.92; margin-top:10px; font-weight:600; }
.home-hero p.lead{ font-size:1.1rem; opacity:.92; max-width:600px; margin:16px auto 30px; }
.home-cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.home-stats{ display:flex; justify-content:center; gap:34px; flex-wrap:wrap; margin-top:38px; padding-top:26px; border-top:1px solid rgba(255,255,255,.2); }
.home-stat strong{ display:block; font-size:1.7rem; font-weight:800; font-family:var(--e-display); }
.home-stat span{ font-size:.82rem; opacity:.82; }

/* ── HOME: vertical directory tiles ──────────────────── */
.dir-wrap{ max-width:1320px; margin:0 auto; padding:56px 16px; }
.dir-head{ text-align:center; margin-bottom:34px; }
.dir-head h2{ font-size:clamp(1.5rem,3vw,2.1rem); margin:0 0 8px; }
.dir-head p{ color:var(--e-muted); max-width:560px; margin:0 auto; }
.dir-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px; }
.dir-card{ position:relative; overflow:hidden; display:flex; flex-direction:column; gap:5px; padding:16px 15px 13px; background:#fff; border:1px solid var(--e-line); border-radius:var(--e-radius); text-decoration:none; color:var(--e-ink); box-shadow:var(--e-shadow-sm); transition:transform .16s ease, box-shadow .16s ease, border-color .16s; }
.dir-card:hover{ transform:translateY(-4px); box-shadow:var(--e-shadow-lg); text-decoration:none; }
.dir-card::before{ content:''; position:absolute; left:0; top:0; height:4px; width:100%; background:var(--dc-grad,linear-gradient(90deg,#1e40af,#3b82f6)); opacity:.95; }
.dir-ico{ width:42px; height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center; font-size:1.35rem; background:var(--dc-tint,#eff4ff); margin-bottom:2px; }
.dir-card h3{ font-size:.97rem; margin:0; font-weight:700; line-height:1.25; }
.dir-tone{ font-size:.68rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--dc-primary,#1e40af); }
.dir-card p{ font-size:.8rem; color:var(--e-ink-soft); line-height:1.45; margin:1px 0 0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.dir-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:8px; font-size:.8rem; }
.dir-count{ color:var(--e-muted); }
.dir-go{ font-weight:700; color:var(--dc-primary,#1e40af); }

/* ── VERTICAL PORTAL: themed hero ────────────────────── */
.vhero{ position:relative; overflow:hidden; color:#fff; padding:54px 16px 46px;
  background:var(--v-grad); }
.vhero::before{ content:''; position:absolute; inset:0; opacity:.55; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.14) 1px, transparent 1px); background-size:20px 20px; }
/* optional real photo layer at /assets/img/verticals/<key>.jpg (set via --vhero-img) */
.vhero.has-photo::after{ content:''; position:absolute; inset:0; z-index:0; opacity:.22; background-size:cover; background-position:center; background-image:var(--vhero-img); mix-blend-mode:luminosity; }
.vhero-inner{ position:relative; z-index:1; max-width:1180px; margin:0 auto; }
.vhero .crumb{ font-size:.85rem; opacity:.85; margin-bottom:14px; }
.vhero .crumb a{ color:#fff; text-decoration:underline; text-underline-offset:2px; }
.vhero-badge{ display:inline-flex; align-items:center; gap:9px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.3); border-radius:999px; padding:6px 14px; font-size:.78rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; margin-bottom:14px; }
.vhero h1{ font-size:clamp(1.8rem,4.4vw,2.8rem); margin:0 0 10px; font-weight:800; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.vhero h1 .vh-ico{ font-size:2.4rem; }
.vhero .vtag{ font-size:1.08rem; opacity:.93; max-width:640px; margin:0 0 6px; }
.vhero .vmeta{ font-size:.85rem; opacity:.8; margin-top:14px; }

/* ── VERTICAL PORTAL: sticky business-line sub-menu ──── */
.vsub{ position:sticky; top:60px; z-index:40; background:rgba(255,255,255,.9); backdrop-filter:saturate(160%) blur(10px); -webkit-backdrop-filter:saturate(160%) blur(10px); border-bottom:1px solid var(--e-line); }
.vsub-inner{ max-width:1180px; margin:0 auto; padding:11px 16px; display:flex; gap:8px; overflow-x:auto; scrollbar-width:thin; }
.vsub-link{ flex:0 0 auto; font-size:.85rem; font-weight:600; color:var(--e-ink-soft); text-decoration:none; padding:7px 13px; border-radius:999px; border:1px solid var(--e-line); background:#fff; white-space:nowrap; transition:all .14s; }
.vsub-link:hover{ color:var(--v-primary); border-color:var(--v-primary); text-decoration:none; }
.vsub-link.active{ background:var(--v-grad); color:#fff; border-color:transparent; }

/* ── VERTICAL PORTAL: grouped tool sections ──────────── */
.vbody{ max-width:1180px; margin:0 auto; padding:34px 16px 60px; }
.vgroup{ margin:0 0 40px; scroll-margin-top:130px; }
.vgroup-head{ display:flex; align-items:baseline; gap:12px; margin:0 0 16px; padding-bottom:10px; border-bottom:2px solid var(--v-tint); }
.vgroup-head h2{ font-size:1.28rem; margin:0; font-weight:700; }
.vgroup-head .vg-count{ font-size:.8rem; color:var(--e-muted); font-weight:600; }
.vgroup-head::before{ content:''; width:8px; height:22px; border-radius:4px; background:var(--v-grad); flex:0 0 auto; align-self:center; }
.tool-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(272px,1fr)); gap:15px; }
.tool-card{ position:relative; display:flex; flex-direction:column; gap:7px; padding:18px 18px 16px; background:#fff; border:1px solid var(--e-line); border-radius:var(--e-radius-sm); text-decoration:none; color:var(--e-ink); box-shadow:var(--e-shadow-sm); transition:transform .14s, box-shadow .14s, border-color .14s; }
.tool-card:hover{ transform:translateY(-3px); box-shadow:var(--e-shadow); border-color:var(--v-primary); text-decoration:none; }
.tool-card .tc-ico{ font-size:1.5rem; }
.tool-card .tc-name{ font-weight:700; font-size:.98rem; line-height:1.3; }
.tool-card .tc-tag{ font-size:.83rem; color:var(--e-ink-soft); line-height:1.5; flex:1; }
.tool-card .tc-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:6px; }
.tc-price{ font-size:.76rem; font-weight:700; color:var(--v-primary); background:var(--v-tint); padding:3px 10px; border-radius:999px; }
.tc-go{ font-size:.82rem; font-weight:700; color:var(--v-primary); }

/* ── Premium footer accent ───────────────────────────── */
.footer{ background:#0b1020; }

@media (max-width:640px){
  .vsub{ top:60px; }
  .home-hero{ padding:56px 16px 44px; }
  .dir-grid{ grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); }
  .hero-flag{ width:104px; top:14px; right:14px; }
}

/* ── TOOL INTAKE: about + field help ──────────────────── */
.tool-about{ background:var(--clr-bg,#f6f8fc); border:1px solid var(--clr-border,#e5e7eb); border-left:4px solid var(--clr-primary,#1e40af);
  border-radius:10px; padding:14px 16px; margin:14px 0 6px; }
.tool-about-head{ font-weight:700; font-size:.9rem; margin-bottom:4px; color:var(--clr-primary,#1e40af); }
.tool-about p{ margin:0; font-size:.92rem; line-height:1.55; color:var(--clr-text,#374151); }
.tool-guide{ background:#f0fdf4; border:1px solid #bbf7d0; border-left:4px solid #16a34a; border-radius:10px; padding:14px 16px; margin:10px 0 6px; }
.tool-guide-head{ font-weight:700; font-size:.9rem; margin-bottom:10px; color:#166534; }
.tool-guide-actions{ display:flex; flex-wrap:wrap; gap:10px; }
.btn-guide{ display:inline-flex; align-items:center; gap:6px; padding:9px 16px; border-radius:var(--radius-sm,8px); font-size:.85rem; font-weight:600; text-decoration:none; background:#166534; color:#fff; border:1px solid #166534; transition:background .1s; }
.btn-guide:hover{ background:#14532d; color:#fff; text-decoration:none; }
.vcatalogue{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:14px; }
.vcat-label{ font-size:.82rem; font-weight:600; color:#e0e7ff; margin-right:2px; }

/* ── Tool Finder ─────────────────────────────────────────── */
.nav-link-finder{ font-weight:700; }
/* Homepage hero search box */
.home-finder{ display:flex; align-items:center; gap:8px; max-width:640px; margin:20px auto 6px; background:#fff;
  border:1px solid #d1d5db; border-radius:999px; padding:6px 6px 6px 16px; box-shadow:0 6px 20px rgba(2,6,23,.10); }
.home-finder-ico{ font-size:1rem; opacity:.6; }
.home-finder-input{ flex:1 1 auto; border:0; outline:0; font-size:.95rem; padding:8px 4px; background:transparent; color:#0b1020; min-width:0; }
.home-finder-btn{ flex:0 0 auto; border-radius:999px; padding:10px 20px; white-space:nowrap; }
/* Finder page hero */
.find-hero{ background:linear-gradient(135deg,#0b1f4d,#1e3a8a); color:#fff; padding:48px 20px 40px; }
.find-hero-inner{ max-width:760px; margin:0 auto; text-align:center; }
.find-eyebrow{ font-size:.75rem; letter-spacing:1px; text-transform:uppercase; font-weight:700; color:#bfdbfe; margin-bottom:10px; }
.find-hero h1{ font-size:clamp(1.4rem,3.4vw,2.1rem); color:#fff; margin:0 0 10px; line-height:1.2; }
.find-hero .lead{ color:#dbeafe; margin:0 auto 20px; max-width:620px; }
.find-form{ display:flex; gap:8px; background:#fff; border-radius:999px; padding:6px 6px 6px 18px; max-width:620px; margin:0 auto; box-shadow:0 10px 30px rgba(2,6,23,.25); }
.find-input{ flex:1 1 auto; border:0; outline:0; font-size:1rem; padding:11px 4px; color:#0b1020; background:transparent; min-width:0; }
.find-btn{ flex:0 0 auto; border-radius:999px; padding:11px 22px; white-space:nowrap; }
.find-examples{ margin-top:16px; display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center; }
.find-ex-label{ font-size:.82rem; color:#bfdbfe; }
.find-chip{ font-size:.82rem; background:rgba(255,255,255,.14); color:#eff6ff; border:1px solid rgba(255,255,255,.25);
  padding:5px 12px; border-radius:999px; text-decoration:none; transition:background .1s; }
.find-chip:hover{ background:rgba(255,255,255,.26); color:#fff; text-decoration:none; }
/* Finder results */
.find-results-wrap{ padding:28px 20px 44px; }
.find-results-inner{ max-width:820px; margin:0 auto; }
.find-count{ font-size:.95rem; color:#374151; margin:0 0 16px; }
.find-list{ display:flex; flex-direction:column; gap:10px; }
.find-card{ display:flex; align-items:center; gap:14px; padding:14px 16px; background:#fff; border:1px solid #e5e7eb;
  border-left:4px solid var(--fc-accent,#1e3a8a); border-radius:12px; text-decoration:none; color:inherit;
  box-shadow:0 1px 2px rgba(2,6,23,.04); transition:box-shadow .1s,transform .1s; }
.find-card:hover{ box-shadow:0 8px 22px rgba(2,6,23,.10); transform:translateY(-1px); text-decoration:none; }
.fc-ico{ font-size:1.5rem; flex:0 0 auto; width:34px; text-align:center; }
.fc-main{ display:flex; flex-direction:column; gap:2px; flex:1 1 auto; min-width:0; }
.fc-name{ font-weight:700; font-size:1rem; color:#0b1020; }
.fc-tag{ font-size:.86rem; color:#6b7280; line-height:1.4; }
.fc-side{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; flex:0 0 auto; text-align:right; }
.fc-vert{ font-size:.72rem; font-weight:600; color:#475569; background:#f1f5f9; padding:3px 9px; border-radius:999px; white-space:nowrap; }
.fc-go{ font-size:.82rem; font-weight:700; color:var(--fc-accent,#1e3a8a); }
.find-hint{ margin-top:18px; font-size:.86rem; color:#6b7280; }
.find-empty{ text-align:center; padding:24px 10px; }
.find-empty-ico{ font-size:2.4rem; }
.find-empty h2{ font-size:1.2rem; margin:8px 0; }
.find-empty p{ color:#6b7280; max-width:520px; margin:8px auto; }
.find-idle{ text-align:center; padding:16px; }
@media (max-width:560px){
  .fc-side{ display:none; }
  .home-finder{ flex-wrap:wrap; border-radius:16px; padding:10px; }
  .home-finder-btn,.find-btn{ width:100%; }
}
.form-fill-note{ font-size:.85rem; color:#6b7280; margin:8px 0 20px; }
.form-help-top{ font-size:.82rem; color:#6b7280; margin:2px 0 8px; line-height:1.45; }

/* ── INDIA / TRICOLOR ACCENTS ─────────────────────────── */
/* Saffron / white / green — used respectfully as slim accents, per the Flag Code. */
.home-hero::before{ content:''; position:absolute; top:0; left:0; right:0; height:5px; z-index:3;
  background:linear-gradient(90deg,#FF9933 0 33.333%,#ffffff 33.333% 66.666%,#138808 66.666% 100%); }
.hero-flag{ position:absolute; z-index:1; top:22px; right:26px; width:180px; height:auto;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.28)); pointer-events:none; }
/* Footer tricolor accent strip */
.footer-tricolor{ height:4px; width:100%;
  background:linear-gradient(90deg,#FF9933 0 33.333%,#ffffff 33.333% 66.666%,#138808 66.666% 100%); }

/* ── Government tab ─────────────────────────────────────────────── */
.nav-link-gov{ font-weight:600; }
.nav-link-gov:hover{ background:#fff4e6; }

/* ── Atmanirbhar Bharat tab ─────────────────────────────────────── */
.nav-link-anb{ font-weight:600; }
.nav-link-anb:hover{ background:#fff7ed; }

.gov-hero{ position:relative; overflow:hidden; padding:70px 16px 54px; color:#fff; text-align:center;
  background:
    radial-gradient(900px 420px at 85% -12%, rgba(255,153,51,.32), transparent 60%),
    radial-gradient(760px 380px at 8% 108%, rgba(19,136,8,.30), transparent 62%),
    linear-gradient(135deg,#0b1f3a 0%, #12306b 52%, #1e40af 100%); }
.gov-hero::before{ content:''; position:absolute; left:0; top:0; width:100%; height:5px;
  background:linear-gradient(90deg,#ff9933 0 33.3%,#ffffff 33.3% 66.6%,#138808 66.6% 100%); }
.gov-hero::after{ content:''; position:absolute; inset:0; opacity:.45; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.10) 1px, transparent 1px); background-size:22px 22px; }
.gov-hero-inner{ position:relative; z-index:1; max-width:820px; margin:0 auto; }
.gov-eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:.8rem; font-weight:600; letter-spacing:.02em;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28); padding:6px 14px; border-radius:999px; margin-bottom:20px; }
.gov-hero h1{ font-size:clamp(2rem,5.2vw,3.3rem); line-height:1.1; margin:0 0 14px; font-weight:800; }
.gov-hero .lead{ font-size:1.08rem; opacity:.92; max-width:640px; margin:16px auto 30px; }

.gov-disclaimer{ max-width:1000px; margin:18px auto -8px; padding:12px 18px; font-size:.86rem; line-height:1.5;
  color:#7c4a03; background:#fff7ec; border:1px solid #f4d9ad; border-radius:12px; }
.gov-disclaimer strong{ color:#8a3d00; }

.gov-card::before{ background:linear-gradient(90deg,#ff9933,#138808) !important; }
.gov-card .dir-ico{ background:#fff2e0; }

.gov-lists{ max-width:900px; }
.gov-dept{ padding:22px 0 6px; border-top:1px solid var(--e-line); }
.gov-dept:first-child{ border-top:0; }
.gov-dept-head{ display:flex; align-items:center; gap:10px; font-size:1.15rem; font-weight:700; margin:0 0 12px; scroll-margin-top:80px; }
.gov-dept-ico{ width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.15rem; background:#fff2e0; }
.gov-svc-list{ list-style:none; margin:0 0 8px; padding:0; display:flex; flex-direction:column; gap:8px; }
.gov-svc{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding:11px 14px; background:#fff;
  border:1px solid var(--e-line); border-radius:12px; box-shadow:var(--e-shadow-sm); }
.gov-svc-text{ flex:1 1 260px; font-size:.92rem; line-height:1.45; color:var(--e-ink); }
.gov-svc-tags{ display:flex; flex-wrap:wrap; gap:6px; }
.gov-chip{ font-size:.68rem; font-weight:600; letter-spacing:.02em; padding:3px 9px; border-radius:999px; white-space:nowrap; }
.gov-chip-draft{ background:#eef2ff; color:#3730a3; }
.gov-chip-calc{ background:#ecfdf5; color:#065f46; }
.gov-chip-app{ background:#fef3c7; color:#92400e; }
.gov-chip-orch{ background:#fce7f3; color:#9d174d; }
.gov-chip-go{ background:linear-gradient(90deg,#ff9933,#138808); color:#fff; }
.gov-chip-soon{ background:#f3f4f6; color:#9ca3af; }
/* A service wired to a live tool becomes a clickable row */
.gov-svc-live{ padding:0; border-color:#ffd9ad; }
.gov-svc-live:hover{ box-shadow:var(--e-shadow-md); border-color:#ff9933; }
.gov-svc-link{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; width:100%;
  padding:11px 14px; text-decoration:none; color:inherit; border-radius:12px; }
.gov-svc-link:hover .gov-svc-text{ color:#b45309; }
.gov-ready{ color:#138808; font-weight:700; }

/* ── Legal pages (privacy / terms / refund) ─────────────────── */
.legal-wrap{ max-width:820px; margin:0 auto; padding:44px 20px 72px; }
.legal-wrap h1{ font-size:2rem; font-weight:800; margin-bottom:6px; }
.legal-meta{ color:#6b7280; font-size:.9rem; margin-bottom:28px; }
.legal-wrap h2{ font-size:1.15rem; font-weight:700; margin:30px 0 10px; color:#0f172a; }
.legal-wrap p, .legal-wrap li{ color:#334155; line-height:1.7; font-size:1rem; }
.legal-wrap ul{ margin:8px 0 8px 20px; }
.legal-wrap li{ margin-bottom:6px; }
.legal-callout{ background:#fffbeb; border:1px solid #fde68a; border-radius:12px;
  padding:16px 18px; margin:18px 0; color:#92400e; font-weight:600; }
.legal-wrap a{ color:#1d4ed8; }

/* ── Footer social icons (LinkedIn / X) ─────────────────────── */
.footer-social { display:flex; gap:10px; margin-top:16px; }
.footer-social a { display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15); color:#d1d5db; transition:background .15s, color .15s; }
.footer-social a:hover { background:rgba(255,255,255,.16); color:#fff; }

/* ── Brand logo mark (nav + footer) ─────────────────────────── */
.nav-logo .logo-mark { width:36px; height:36px; display:block; flex-shrink:0; }
.footer-logo { display:flex; align-items:center; gap:8px; }
.footer-logo-mark { width:30px; height:30px; display:block; }


/* ==========================================================================
   BUSINESS PLANS  (/business-plans/)
   Reuses the vertical-portal design language (--v-* theme vars, card shadows,
   pill chips) so the plan library reads as part of the same site rather than a
   bolted-on section. Themed per industry on the vertical and plan views.
   ========================================================================== */

.nav-link-plans{ font-weight:600; }
.nav-link-plans:hover{ background:#eef4ff; }
/* Inline tricolour: replaces the flag emoji, which Windows renders as "IN". */
.ico-tricolour{ vertical-align:-1px; margin-right:2px; border-radius:2px; box-shadow:0 0 0 .5px rgba(0,0,0,.18); }

.bp-hero{ position:relative; overflow:hidden; color:#fff; padding:54px 16px 44px;
  background:var(--v-grad,linear-gradient(135deg,#1e40af,#3b82f6)); }
.bp-hero-inner{ position:relative; z-index:1; max-width:1180px; margin:0 auto; }
.bp-hero .crumb{ font-size:.85rem; opacity:.85; margin-bottom:14px; }
.bp-hero .crumb a{ color:#fff; text-decoration:underline; text-underline-offset:2px; }
.bp-hero h1{ font-size:clamp(1.8rem,4.4vw,2.75rem); margin:0 0 10px; font-weight:800;
  display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.bp-hero h1 .bp-h1-ico{ font-size:2.3rem; }
.bp-hero .bp-tag{ font-size:1.06rem; opacity:.94; max-width:760px; margin:0; line-height:1.55; }
.bp-badge{ display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.3); border-radius:999px; padding:6px 14px; font-size:.78rem;
  font-weight:600; letter-spacing:.04em; text-transform:uppercase; margin-bottom:14px; }
.bp-freeflag{ display:inline-block; background:#16a34a; color:#fff; border-radius:999px;
  padding:6px 15px; font-size:.8rem; font-weight:700; letter-spacing:.03em; margin-bottom:14px; }
.bp-meta{ display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; font-size:.84rem; }
.bp-meta span{ background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.24);
  border-radius:999px; padding:5px 13px; }
.bp-meta .bp-price{ font-weight:700; }
.bp-meta .bp-price.is-free{ background:#16a34a; border-color:#16a34a; }
.bp-cta-row{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:20px; }
.bp-cta-row .btn-outline{ color:#fff; border-color:rgba(255,255,255,.6); }
.bp-cta-row .btn-outline:hover{ background:#fff; color:var(--v-primary,#1e40af); }
.bp-freenote{ margin:14px 0 0; font-size:.88rem; opacity:.9; max-width:720px; line-height:1.55; }

.bp-body{ max-width:1180px; margin:0 auto; padding:34px 16px 60px; }
.bp-section{ margin:0 0 42px; }
.bp-section > h2{ font-size:1.32rem; font-weight:700; margin:0 0 14px; }
.bp-section-head{ display:flex; align-items:baseline; gap:12px; margin:0 0 16px;
  padding-bottom:10px; border-bottom:2px solid var(--v-tint,#eff4ff); }
.bp-section-head h2{ font-size:1.32rem; margin:0; font-weight:700; }
.bp-section-head::before{ content:''; width:8px; height:22px; border-radius:4px;
  background:var(--v-grad,linear-gradient(135deg,#1e40af,#3b82f6)); flex:0 0 auto; align-self:center; }
.bp-count{ font-size:.8rem; color:var(--e-muted); font-weight:600; margin-left:auto; }

/* Atmanirbhar Bharat band - themed section, deliberately not the page headline */
.bp-anb{ display:flex; gap:22px; align-items:flex-start; background:linear-gradient(135deg,#fff7ed,#f0fdf4);
  border:1px solid #fed7aa; border-radius:var(--e-radius-sm,10px); padding:24px 26px; margin:0 0 42px; }
.bp-anb-flag{ flex:0 0 auto; width:54px; border-radius:5px; overflow:hidden;
  box-shadow:0 1px 4px rgba(0,0,0,.18); }
.bp-anb-flag span{ display:block; height:12px; }
.bp-anb-flag span:nth-child(1){ background:#FF9933; }
.bp-anb-flag span:nth-child(2){ background:#fff; }
.bp-anb-flag span:nth-child(3){ background:#138808; }
.bp-anb-text h2{ margin:0 0 8px; font-size:1.24rem; font-weight:700; color:#9a3412; }
.bp-anb-text p{ margin:0 0 10px; font-size:.94rem; line-height:1.6; color:var(--e-ink-soft); }

/* Industry chooser */
.bp-vgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(212px,1fr)); gap:13px; }
.bp-vcard{ display:flex; flex-direction:column; gap:5px; padding:16px 17px; background:#fff;
  border:1px solid var(--e-line,#e5e7eb); border-radius:var(--e-radius-sm,10px); text-decoration:none;
  color:var(--e-ink,#111827); box-shadow:var(--e-shadow-sm,0 1px 2px rgba(0,0,0,.05));
  transition:transform .14s, box-shadow .14s, border-color .14s; }
.bp-vcard:hover{ transform:translateY(-3px); box-shadow:var(--e-shadow,0 6px 18px rgba(0,0,0,.09));
  border-color:var(--v-primary,#1e40af); text-decoration:none; }
.bp-vcard-ico{ font-size:1.5rem; }
.bp-vcard-name{ font-weight:700; font-size:.95rem; line-height:1.3; }
.bp-vcard-n{ font-size:.8rem; color:var(--e-muted,#6b7280); font-weight:600; }

/* Plan cards */
.bp-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(272px,1fr)); gap:15px; }
.bp-card{ display:flex; flex-direction:column; gap:7px; padding:18px 18px 16px; background:#fff;
  border:1px solid var(--e-line,#e5e7eb); border-radius:var(--e-radius-sm,10px); text-decoration:none;
  color:var(--e-ink,#111827); box-shadow:var(--e-shadow-sm,0 1px 2px rgba(0,0,0,.05));
  transition:transform .14s, box-shadow .14s, border-color .14s; }
.bp-card:hover{ transform:translateY(-3px); box-shadow:var(--e-shadow,0 6px 18px rgba(0,0,0,.09));
  border-color:var(--v-primary,#1e40af); text-decoration:none; }
.bp-card-name{ font-weight:700; font-size:.98rem; line-height:1.3; }
.bp-card-tag{ font-size:.83rem; color:var(--e-ink-soft,#374151); line-height:1.5; flex:1; }
.bp-card-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:6px;
  font-size:.82rem; color:var(--e-muted,#6b7280); }
.bp-card-foot .bp-go{ color:var(--v-primary,#1e40af); font-weight:700; }

/* Industry chips */
.bp-vchips{ display:flex; flex-wrap:wrap; gap:8px; }
.bp-vchip{ font-size:.84rem; font-weight:600; color:var(--e-ink-soft,#374151); text-decoration:none;
  padding:7px 13px; border-radius:999px; border:1px solid var(--e-line,#e5e7eb); background:#fff;
  transition:all .14s; }
.bp-vchip:hover{ color:var(--v-primary,#1e40af); border-color:var(--v-primary,#1e40af); text-decoration:none; }
.bp-vchip span{ color:var(--e-muted,#6b7280); font-weight:600; margin-left:3px; }

/* Feature grid + contents list */
.bp-grid-2{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:6px 30px; }
.bp-grid-3{ display:grid; grid-template-columns:repeat(auto-fit,minmax(268px,1fr)); gap:15px; }
.bp-feat{ background:#fff; border:1px solid var(--e-line,#e5e7eb); border-radius:var(--e-radius-sm,10px); padding:17px 18px; }
.bp-feat h3{ margin:0 0 6px; font-size:1rem; font-weight:700; color:var(--v-primary,#1e40af); }
.bp-feat p{ margin:0; font-size:.88rem; line-height:1.55; color:var(--e-ink-soft,#374151); }
.bp-list{ margin:0; padding-left:19px; }
.bp-list li{ font-size:.9rem; line-height:1.7; color:var(--e-ink-soft,#374151); }
.bp-note{ margin:16px 0 0; padding:12px 15px; background:var(--v-tint,#eff4ff);
  border-left:3px solid var(--v-primary,#1e40af); border-radius:6px; font-size:.87rem;
  line-height:1.6; color:var(--e-ink-soft,#374151); }

/* Full A-Z listing by industry */
.bp-vblock{ margin:0 0 26px; }
.bp-vblock h3{ font-size:1.02rem; font-weight:700; margin:0 0 9px; padding-bottom:7px;
  border-bottom:1px solid var(--e-line,#e5e7eb); scroll-margin-top:80px; }
.bp-vblock h3 a{ color:var(--e-ink,#111827); text-decoration:none; }
.bp-vblock h3 a:hover{ color:var(--v-primary,#1e40af); }
.bp-vblock-n{ font-size:.78rem; color:var(--e-muted,#6b7280); font-weight:600; }
.bp-planlist{ list-style:none; margin:0; padding:0; display:grid;
  grid-template-columns:repeat(auto-fill,minmax(258px,1fr)); gap:2px 18px; }
.bp-planlist li{ margin:0; }
.bp-planlist a{ display:block; font-size:.87rem; line-height:1.62; color:var(--e-ink-soft,#374151);
  text-decoration:none; padding:2px 0; }
.bp-planlist a:hover{ color:var(--v-primary,#1e40af); text-decoration:underline; }

@media (max-width:620px){
  .bp-anb{ flex-direction:column; gap:14px; padding:20px; }
  .bp-anb-flag{ width:46px; }
  .bp-hero{ padding:40px 16px 34px; }
}
