/* =====================================================
   INTERLINK VISA SERVICES — MAIN STYLESHEET
   Brand Palette (Psychology-driven):
   #C8102E  Crimson Red     — urgency, action (CTAs)
   #1B3A6B  Deep Trust Blue — authority, security (headings, nav)
   #F4F6F9  Calm Mist       — clarity, breathing room (background)
   #2E7D5A  Growth Green    — hope, progress (trust badges)
   #F5A623  Warm Amber      — optimism, warmth (accents)
   #3E3E3E  Charcoal        — readability (body text)
===================================================== */

:root {
  --red:        #C8102E;
  --red-dark:   #9B0B22;
  --blue:       #1B3A6B;
  --blue-mid:   #24508F;
  --blue-light: #EBF0F8;
  --green:      #2E7D5A;
  --green-lt:   #E8F5EE;
  --amber:      #F5A623;
  --amber-lt:   #FEF6E7;
  --mist:       #F4F6F9;
  --charcoal:   #3E3E3E;
  --white:      #FFFFFF;
  --border:     #DCE3EE;
  --text-muted: #6B7A99;
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body:    'DM Sans', sans-serif;
  --shadow-sm:  0 2px 8px rgba(27,58,107,.08);
  --shadow-md:  0 6px 24px rgba(27,58,107,.12);
  --shadow-lg:  0 16px 48px rgba(27,58,107,.16);
  --radius:     6px;
}

/* RESET */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--font-body); color:var(--charcoal); background:var(--mist); font-size:15px; line-height:1.65; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; height:auto; }
ul { list-style:none; }

/* WORDPRESS ALIGNMENT */
.wp-block-image { margin:0; }
.screen-reader-text { position:absolute; left:-9999px; }

/* ===== LOGO ===== */
.logo-svg-wrap { display:flex; align-items:center; gap:10px; }
.logo-icon { width:42px; height:42px; flex-shrink:0; }
.logo-wordmark { display:flex; flex-direction:column; }
.logo-name { font-family:var(--font-display); font-size:22px; font-weight:700; color:var(--blue); letter-spacing:-.3px; line-height:1; }
.logo-name span { color:var(--red); }
.logo-sub { font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); margin-top:1px; }

/* ===== TOPBAR ===== */
.topbar { background:var(--blue); padding:8px 0; border-bottom:3px solid var(--red); }
.topbar-inner { max-width:1280px; margin:0 auto; padding:0 28px; display:flex; justify-content:space-between; align-items:center; font-size:12.5px; color:#a8b8d8; }
.topbar a { color:#c8d8f0; }
.topbar a:hover { color:#fff; }
.topbar-right { display:flex; align-items:center; gap:20px; }
.topbar-rcic { background:rgba(245,166,35,.15); border:1px solid rgba(245,166,35,.4); color:var(--amber); padding:3px 12px; border-radius:3px; font-size:11px; font-weight:600; letter-spacing:.5px; }

/* ===== NAVIGATION ===== */
.site-nav { background:var(--white); box-shadow:var(--shadow-sm); position:sticky; top:0; z-index:200; border-bottom:3px solid var(--red); }
.nav-inner { max-width:1280px; margin:0 auto; padding:0 28px; display:flex; align-items:center; }
.nav-logo { padding:14px 0; margin-right:36px; flex-shrink:0; }
.nav-menu { display:flex; list-style:none; flex:1; gap:0; }
.nav-menu > li { position:relative; }
.nav-menu > li > a { display:block; padding:22px 14px; font-size:13px; font-weight:500; color:var(--blue); letter-spacing:.3px; border-bottom:3px solid transparent; margin-bottom:-3px; transition:all .2s; white-space:nowrap; }
.nav-menu > li > a:hover,
.nav-menu > li.current-menu-item > a,
.nav-menu > li.current-page-ancestor > a { color:var(--red); border-bottom-color:var(--red); }
.nav-menu li:hover .sub-menu { display:block; }
.sub-menu { display:none; position:absolute; top:100%; left:0; background:var(--white); border-top:3px solid var(--red); box-shadow:var(--shadow-md); min-width:236px; z-index:300; border-radius:0 0 var(--radius) var(--radius); }
.sub-menu li { border-bottom:1px solid var(--border); }
.sub-menu li:last-child { border-bottom:none; }
.sub-menu a { display:flex; align-items:center; gap:8px; padding:10px 18px; font-size:13px; color:var(--blue); transition:all .15s; }
.sub-menu a:hover { background:var(--blue-light); color:var(--red); padding-left:24px; }
.nav-cta { margin-left:auto; background:var(--red) !important; color:#fff !important; padding:10px 22px; border-radius:var(--radius); font-size:13px; font-weight:600; letter-spacing:.3px; border-bottom:none !important; transition:background .2s !important; }
.nav-cta:hover { background:var(--red-dark) !important; }

/* ===== HERO ===== */
.hero { position:relative; background:var(--blue); overflow:hidden; padding:0; }
.hero-bg { position:absolute; inset:0; background:linear-gradient(135deg,#0d2148 0%,#1B3A6B 45%,#1e4a8a 100%); }
.hero-pattern { position:absolute; inset:0; opacity:.04; background-image:repeating-linear-gradient(45deg,#fff 0,#fff 1px,transparent 0,transparent 50%); background-size:18px 18px; }
.hero-maple { position:absolute; right:-60px; top:-60px; width:420px; height:420px; opacity:.04; }
.hero-inner { position:relative; max-width:1280px; margin:0 auto; padding:90px 28px 100px; display:grid; grid-template-columns:1fr 420px; gap:60px; align-items:center; }
.hero-badge { display:inline-flex; align-items:center; gap:7px; background:rgba(245,166,35,.12); border:1px solid rgba(245,166,35,.35); color:var(--amber); font-size:11.5px; letter-spacing:1.5px; text-transform:uppercase; padding:6px 14px; border-radius:3px; margin-bottom:22px; }
.hero h1 { font-family:var(--font-display); font-size:58px; font-weight:700; color:#fff; line-height:1.12; margin-bottom:20px; letter-spacing:-.5px; }
.hero h1 em { color:var(--amber); font-style:normal; }
.hero-sub { font-size:17px; color:#a0b4d0; font-weight:300; line-height:1.7; margin-bottom:32px; max-width:540px; }
.hero-btns { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:40px; }
.btn-red { display:inline-block; background:var(--red); color:#fff; padding:14px 32px; border-radius:var(--radius); font-weight:600; font-size:14px; letter-spacing:.3px; transition:all .2s; border:2px solid var(--red); }
.btn-red:hover { background:var(--red-dark); border-color:var(--red-dark); transform:translateY(-1px); box-shadow:var(--shadow-md); }
.btn-ghost { display:inline-block; border:2px solid rgba(255,255,255,.35); color:#fff; padding:12px 32px; border-radius:var(--radius); font-weight:600; font-size:14px; letter-spacing:.3px; transition:all .2s; }
.btn-ghost:hover { border-color:#fff; background:rgba(255,255,255,.08); }
.hero-trust { display:flex; gap:22px; flex-wrap:wrap; }
.trust-item { display:flex; align-items:center; gap:6px; font-size:13px; color:#8aa0c0; }
.trust-item span { color:var(--green); font-size:16px; }

/* HERO CARD */
.hero-card { background:var(--white); border-radius:12px; padding:32px; box-shadow:var(--shadow-lg); }
.hero-card h3 { font-family:var(--font-display); font-size:22px; color:var(--blue); margin-bottom:6px; font-weight:700; }
.hero-card p { font-size:13px; color:var(--text-muted); margin-bottom:22px; line-height:1.5; }
.card-form .form-row { margin-bottom:14px; }
.card-form label { display:block; font-size:12px; font-weight:600; color:var(--blue); letter-spacing:.5px; text-transform:uppercase; margin-bottom:5px; }
.card-form input, .card-form select { width:100%; padding:10px 14px; border:1.5px solid var(--border); border-radius:var(--radius); font-size:14px; font-family:var(--font-body); color:var(--charcoal); background:var(--white); transition:border-color .2s; }
.card-form input:focus, .card-form select:focus { outline:none; border-color:var(--blue); }
.card-form .submit-btn { width:100%; background:var(--red); color:#fff; border:none; padding:13px; font-size:15px; font-weight:600; font-family:var(--font-body); border-radius:var(--radius); cursor:pointer; letter-spacing:.3px; transition:background .2s; margin-top:4px; }
.card-form .submit-btn:hover { background:var(--red-dark); }
.card-fee { background:var(--amber-lt); border:1px solid rgba(245,166,35,.3); border-radius:var(--radius); padding:10px 14px; font-size:12.5px; color:#7a5010; margin-top:14px; text-align:center; }

/* ===== STATS BAR ===== */
.stats-bar { background:var(--red); padding:20px 0; }
.stats-inner { max-width:1280px; margin:0 auto; padding:0 28px; display:flex; justify-content:space-around; align-items:center; flex-wrap:wrap; gap:14px; }
.stat { text-align:center; color:#fff; }
.stat-num { font-family:var(--font-display); font-size:36px; font-weight:700; line-height:1; }
.stat-label { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; opacity:.8; margin-top:2px; }
.stat-div { width:1px; height:46px; background:rgba(255,255,255,.25); }

/* ===== LAYOUT HELPERS ===== */
.section-wrap { padding:68px 0; }
.section-wrap.alt { background:var(--white); }
.container { max-width:1280px; margin:0 auto; padding:0 28px; }
.section-eyebrow { font-size:11px; letter-spacing:2.5px; text-transform:uppercase; color:var(--red); font-weight:600; margin-bottom:7px; }
.section-title { font-family:var(--font-display); font-size:38px; color:var(--blue); margin-bottom:10px; line-height:1.2; }
.section-rule { width:46px; height:3px; background:var(--red); margin-bottom:28px; border-radius:2px; }
.section-desc { font-size:15px; color:var(--text-muted); max-width:640px; line-height:1.75; margin-bottom:36px; }

/* ===== PATHWAYS MATRIX ===== */
.programs-matrix { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.pm-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:10px; padding:22px 18px; transition:all .2s; }
.pm-card:hover { background:rgba(255,255,255,.1); border-color:rgba(200,16,46,.4); }
.pm-icon { font-size:28px; margin-bottom:12px; }
.pm-card h3 { font-size:14px; font-weight:600; color:#fff; margin-bottom:7px; }
.pm-card p { font-size:12.5px; color:#7a9bbf; line-height:1.6; }
.pm-link { display:inline-block; margin-top:10px; font-size:12.5px; color:var(--amber); font-weight:600; }

/* ===== PROCESS ===== */
.process-section { background:var(--blue); padding:68px 0; }
.process-steps { display:grid; grid-template-columns:repeat(6,1fr); gap:0; margin-top:36px; }
.ps { text-align:center; padding:20px 10px; position:relative; }
.ps::after { content:''; position:absolute; top:32px; right:-16px; width:32px; height:2px; background:rgba(255,255,255,.2); }
.ps:last-child::after { display:none; }
.ps-num { width:56px; height:56px; background:var(--red); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-family:var(--font-display); font-size:24px; font-weight:700; color:#fff; box-shadow:0 4px 16px rgba(200,16,46,.3); }
.ps h4 { font-size:13px; font-weight:600; color:#fff; margin-bottom:6px; }
.ps p { font-size:12px; color:#7a9bbf; line-height:1.5; }

/* ===== SERVICES GRID ===== */
.services-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.svc-card { background:var(--white); border:1.5px solid var(--border); border-top:4px solid var(--blue); border-radius:var(--radius); padding:24px 20px; transition:all .25s; cursor:pointer; }
.svc-card:hover { border-top-color:var(--red); box-shadow:var(--shadow-md); transform:translateY(-4px); }
.svc-icon { width:48px; height:48px; background:var(--blue-light); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:16px; }
.svc-card h3 { font-size:15px; font-weight:600; color:var(--blue); margin-bottom:8px; line-height:1.3; }
.svc-card p { font-size:13px; color:var(--text-muted); line-height:1.6; }
.svc-link { display:inline-block; margin-top:12px; font-size:13px; color:var(--red); font-weight:600; }
.svc-link:hover { color:var(--red-dark); }

/* ===== ABOUT ===== */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.about-img { background:var(--blue-light); border-radius:12px; padding:40px; text-align:center; border:2px solid var(--border); }
.consultant-badge { background:var(--blue); color:#fff; border-radius:10px; padding:28px 24px; margin-top:20px; }
.consultant-badge .name { font-family:var(--font-display); font-size:22px; font-weight:700; color:#fff; margin-bottom:4px; }
.consultant-badge .title { font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:#7a9bbf; }
.consultant-badge .rcic-num { display:inline-block; background:rgba(245,166,35,.15); border:1px solid rgba(245,166,35,.4); color:var(--amber); font-size:12px; font-weight:600; padding:4px 12px; border-radius:3px; margin-top:10px; letter-spacing:.5px; }
.consultant-badge .rcic-link { display:block; font-size:11px; color:#5a7a9f; margin-top:6px; }
.about-list { list-style:none; margin-top:20px; }
.about-list li { display:flex; align-items:flex-start; gap:10px; padding:9px 0; border-bottom:1px solid var(--border); font-size:14px; color:var(--charcoal); }
.about-list li:last-child { border-bottom:none; }
.about-list li::before { content:'✓'; color:var(--green); font-weight:700; font-size:15px; flex-shrink:0; margin-top:1px; }
.pricing-box { background:var(--blue); border-radius:12px; padding:36px; color:#fff; display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:36px; }
.price-item { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius); padding:22px; }
.price-item .amount { font-family:var(--font-display); font-size:44px; font-weight:700; color:var(--amber); line-height:1; }
.price-item .label { font-size:12px; letter-spacing:1px; text-transform:uppercase; color:#7a9bbf; margin-top:4px; }
.price-item .note { font-size:13px; color:#a0b8d0; margin-top:10px; line-height:1.5; }

/* ===== CALCULATORS ===== */
.calc-section { background:var(--mist); padding:68px 0; border-top:4px solid var(--red); }
.calc-tabs { display:flex; gap:0; border-bottom:3px solid var(--border); margin-bottom:32px; }
.calc-tab { padding:14px 28px; font-size:13.5px; font-weight:600; color:var(--text-muted); cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-3px; transition:all .2s; letter-spacing:.2px; }
.calc-tab.active, .calc-tab:hover { color:var(--red); border-bottom-color:var(--red); }
.calc-panel { display:none; }
.calc-panel.active { display:grid; grid-template-columns:1fr 380px; gap:32px; }
.calc-form-wrap { background:var(--white); border:1.5px solid var(--border); border-radius:10px; padding:32px; }
.calc-result-wrap { background:var(--white); border:1.5px solid var(--border); border-radius:10px; padding:32px; }
.fs-title { font-size:12px; font-weight:700; color:var(--blue); letter-spacing:1px; text-transform:uppercase; margin-bottom:14px; display:flex; align-items:center; gap:8px; }
.fs-num { background:var(--red); color:#fff; width:22px; height:22px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:11px; flex-shrink:0; }
.fs { margin-bottom:22px; padding-bottom:18px; border-bottom:1px solid var(--border); }
.fs:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.fr { margin-bottom:12px; }
.fr label { display:block; font-size:12.5px; font-weight:600; color:var(--charcoal); margin-bottom:5px; }
.fr select, .fr input { width:100%; padding:9px 12px; border:1.5px solid var(--border); border-radius:var(--radius); font-size:13.5px; font-family:var(--font-body); color:var(--charcoal); background:var(--white); transition:border-color .2s; }
.fr select:focus, .fr input:focus { outline:none; border-color:var(--blue); }
.fr2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cq { margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid var(--border); }
.cq:last-of-type { border-bottom:none; }
.calc-btn { width:100%; background:var(--red); color:#fff; border:none; padding:14px; font-size:14px; font-weight:600; font-family:var(--font-body); border-radius:var(--radius); cursor:pointer; margin-top:8px; letter-spacing:.3px; transition:background .2s; }
.calc-btn:hover { background:var(--red-dark); }
.score-total { background:var(--blue); color:#fff; border-radius:10px; padding:28px 20px; text-align:center; margin-bottom:22px; }
.sc-label { font-size:11px; letter-spacing:2px; text-transform:uppercase; opacity:.6; margin-bottom:8px; }
.sc-num { font-family:var(--font-display); font-size:78px; font-weight:700; line-height:1; color:var(--amber); }
.sc-max { font-size:13px; opacity:.5; margin-top:4px; }
.sc-verdict { display:inline-block; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); padding:7px 16px; border-radius:3px; font-size:13px; margin-top:12px; letter-spacing:.3px; }
.breakdown { list-style:none; margin-bottom:18px; }
.breakdown li { display:flex; justify-content:space-between; align-items:center; padding:9px 0; border-bottom:1px solid var(--border); font-size:13.5px; }
.breakdown li:last-child { border-bottom:none; font-weight:700; font-size:15px; color:var(--blue); }
.breakdown .pts { font-weight:700; color:var(--red); font-size:15px; }
.score-note { background:var(--amber-lt); border-left:4px solid var(--amber); padding:13px 15px; font-size:13px; color:#7a5010; border-radius:0 var(--radius) var(--radius) 0; line-height:1.6; }

/* ===== DRAWS TABLE ===== */
.draws-table { width:100%; border-collapse:collapse; background:var(--white); border-radius:10px; overflow:hidden; box-shadow:var(--shadow-sm); }
.draws-table th { background:var(--blue); color:#fff; padding:12px 18px; text-align:left; font-size:12px; letter-spacing:.8px; text-transform:uppercase; font-weight:600; }
.draws-table td { padding:12px 18px; border-bottom:1px solid var(--border); font-size:14px; }
.draws-table tr:last-child td { border-bottom:none; }
.draws-table tr:hover td { background:var(--blue-light); }
.draw-tag { display:inline-block; padding:3px 10px; border-radius:3px; font-size:11px; font-weight:700; letter-spacing:.4px; }
.tag-ee { background:#dbeafe; color:#1d4ed8; }
.tag-cec { background:#fef3c7; color:#92400e; }
.tag-pnp { background:#d1fae5; color:#065f46; }
.tag-cat { background:#ede9fe; color:#5b21b6; }

/* ===== TESTIMONIALS ===== */
.testimonials-section { background:var(--blue); padding:68px 0; }
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:10px; }
.testi-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:10px; padding:26px; position:relative; transition:all .2s; }
.testi-card:hover { background:rgba(255,255,255,.09); }
.testi-quote { font-family:var(--font-display); font-size:56px; line-height:.8; color:var(--red); position:absolute; top:14px; left:18px; opacity:.5; }
.testi-text { font-size:14px; color:#c0d0e8; line-height:1.75; margin-top:24px; font-style:italic; }
.testi-author { margin-top:16px; padding-top:14px; border-top:1px solid rgba(255,255,255,.1); }
.testi-name { font-size:14px; font-weight:600; color:#fff; }
.testi-loc { font-size:12px; color:#6b8bb0; display:flex; align-items:center; gap:4px; margin-top:2px; }
.testi-stars { color:var(--amber); font-size:13px; margin-top:6px; letter-spacing:1px; }

/* ===== RESOURCES ===== */
.resources-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:10px; }
.resource-card { background:var(--white); border:1.5px solid var(--border); border-radius:10px; padding:22px; transition:all .2s; }
.resource-card:hover { border-color:var(--blue); box-shadow:var(--shadow-sm); }
.resource-tag { display:inline-block; font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:3px 10px; border-radius:3px; margin-bottom:12px; }
.tag-gov { background:var(--blue-light); color:var(--blue); }
.tag-tool { background:var(--green-lt); color:var(--green); }
.tag-news { background:var(--amber-lt); color:#92400e; }
.resource-card h4 { font-size:15px; font-weight:600; color:var(--blue); margin-bottom:6px; line-height:1.3; }
.resource-card p { font-size:13px; color:var(--text-muted); line-height:1.5; margin-bottom:12px; }
.resource-link { font-size:13px; color:var(--red); font-weight:600; display:inline-flex; align-items:center; gap:4px; }
.resource-link:hover { color:var(--red-dark); }

/* ===== NEWS ===== */
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.news-card { background:var(--white); border:1.5px solid var(--border); border-radius:10px; overflow:hidden; transition:all .2s; }
.news-card:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }
.news-date-bar { background:var(--blue); color:#fff; padding:10px 18px; display:flex; align-items:center; gap:10px; }
.ndb-day { font-family:var(--font-display); font-size:28px; font-weight:700; line-height:1; }
.ndb-mon { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; opacity:.7; }
.news-body { padding:18px; }
.news-body h4 { font-size:15px; font-weight:600; color:var(--blue); line-height:1.4; margin-bottom:8px; }
.news-body h4 a:hover { color:var(--red); }
.news-body p { font-size:13px; color:var(--text-muted); line-height:1.6; }
.news-read { display:inline-block; margin-top:12px; font-size:13px; color:var(--red); font-weight:600; }

/* ===== CTA SECTION ===== */
.cta-section { background:var(--red); padding:60px 0; }
.cta-inner { max-width:780px; margin:0 auto; text-align:center; }
.cta-inner h2 { font-family:var(--font-display); font-size:42px; color:#fff; margin-bottom:12px; }
.cta-inner p { font-size:16px; color:rgba(255,255,255,.82); margin-bottom:30px; line-height:1.7; }
.cta-form { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.cta-form input, .cta-form select { padding:13px 18px; border:2px solid rgba(255,255,255,.25); background:rgba(255,255,255,.1); color:#fff; border-radius:var(--radius); font-size:14px; font-family:var(--font-body); min-width:220px; }
.cta-form input::placeholder { color:rgba(255,255,255,.55); }
.cta-form input:focus, .cta-form select:focus { outline:none; border-color:#fff; }
.cta-form select option { color:var(--charcoal); }
.cta-form button { background:#fff; color:var(--red); padding:13px 28px; border:none; border-radius:var(--radius); font-weight:700; font-size:14px; letter-spacing:.3px; cursor:pointer; font-family:var(--font-body); transition:all .2s; }
.cta-form button:hover { background:var(--mist); }
.cta-note { font-size:12px; color:rgba(255,255,255,.55); margin-top:14px; }

/* ===== SIDEBAR ===== */
.two-col { display:grid; grid-template-columns:1fr 340px; gap:44px; align-items:start; }
.sidebar-widget { background:var(--white); border:1.5px solid var(--border); border-radius:10px; margin-bottom:22px; overflow:hidden; }
.sw-header { background:var(--blue); color:#fff; padding:13px 18px; font-size:12px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; }
.sw-body { padding:18px; }
.sw-body p { font-size:13.5px; color:#555; margin-bottom:12px; line-height:1.6; }
.sw-btn { display:block; background:var(--red); color:#fff; text-align:center; padding:11px; font-weight:600; font-size:13px; letter-spacing:.3px; border-radius:var(--radius); transition:background .2s; cursor:pointer; }
.sw-btn:hover { background:var(--red-dark); }
.sw-links { list-style:none; margin:0; padding:0; }
.sw-links li { border-bottom:1px solid var(--border); margin:0; padding:0; line-height:1; }
.sw-links li:last-child { border-bottom:none; }
.sw-links a { display:flex; justify-content:space-between; align-items:center; padding:9px 16px; font-size:13px; color:var(--blue); transition:all .15s; line-height:1.3; }
.sw-links a:hover { background:var(--blue-light); color:var(--red); padding-left:20px; }
.sw-links a::after { content:'›'; font-size:16px; color:var(--red); flex-shrink:0; margin-left:6px; }

/* ===== FOOTER ===== */
.site-footer { background:#0d1e3a; color:#6b8bb0; padding:56px 0 20px; }
.footer-grid { display:grid; grid-template-columns:2.2fr 1fr 1fr 1.2fr; gap:44px; margin-bottom:44px; }
.footer-logo-name { font-family:var(--font-display); font-size:24px; font-weight:700; color:#fff; margin-bottom:12px; }
.footer-logo-name span { color:var(--red); }
.footer-about { font-size:13px; line-height:1.75; margin-bottom:16px; }
.footer-rcic { background:rgba(245,166,35,.1); border:1px solid rgba(245,166,35,.3); color:var(--amber); font-size:12px; padding:8px 14px; border-radius:var(--radius); display:inline-block; margin-bottom:14px; line-height:1.5; }
.footer-contact { font-size:13px; margin-bottom:6px; }
.footer-contact a { color:#6699cc; }
.footer-contact a:hover { color:#fff; }
.footer-col h4 { color:#fff; font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:14px; padding-bottom:8px; border-bottom:2px solid var(--red); display:inline-block; }
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:8px; }
.footer-col ul a { font-size:13px; color:#6b8bb0; transition:color .15s; }
.footer-col ul a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.07); padding-top:20px; display:flex; justify-content:space-between; align-items:center; font-size:12px; flex-wrap:wrap; gap:10px; }
.social-row { display:flex; gap:8px; }
.soc { width:32px; height:32px; background:rgba(255,255,255,.06); border-radius:var(--radius); display:flex; align-items:center; justify-content:center; color:#6b8bb0; font-size:12px; font-weight:700; transition:all .2s; }
.soc:hover { background:var(--red); color:#fff; }
.disclaimer-footer { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); border-radius:var(--radius); padding:14px 18px; font-size:12px; color:#4a6080; line-height:1.6; margin-top:20px; }

/* ===== BLOG ===== */
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.blog-card { background:var(--white); border:1.5px solid var(--border); border-radius:10px; overflow:hidden; transition:all .2s; }
.blog-card:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }
.blog-card-img { background:var(--blue-light); height:180px; display:flex; align-items:center; justify-content:center; font-size:40px; }
.blog-card-body { padding:22px; }
.blog-card-meta { font-size:12px; color:var(--text-muted); margin-bottom:8px; }
.blog-card-body h3 { font-size:17px; font-weight:600; color:var(--blue); line-height:1.4; margin-bottom:10px; }
.blog-card-body h3 a:hover { color:var(--red); }
.blog-card-body p { font-size:13px; color:var(--text-muted); line-height:1.6; }
.blog-card-read { display:inline-block; margin-top:14px; font-size:13px; color:var(--red); font-weight:600; }

/* Single post */
.single-post-wrap { max-width:820px; margin:0 auto; padding:60px 28px; }
.single-post-wrap h1 { font-family:var(--font-display); font-size:42px; color:var(--blue); line-height:1.2; margin-bottom:16px; }
.post-meta { font-size:13px; color:var(--text-muted); margin-bottom:32px; padding-bottom:20px; border-bottom:2px solid var(--border); }
.post-content { font-size:16px; line-height:1.8; color:var(--charcoal); }
.post-content h2 { font-family:var(--font-display); font-size:28px; color:var(--blue); margin:36px 0 14px; }
.post-content h3 { font-size:20px; font-weight:600; color:var(--blue); margin:28px 0 12px; }
.post-content p { margin-bottom:18px; }
.post-content ul, .post-content ol { margin:0 0 18px 24px; }
.post-content li { margin-bottom:8px; }
.post-content a { color:var(--red); text-decoration:underline; }

/* ===== RESPONSIVE ===== */
@media(max-width:1060px) {
  .hero-inner { grid-template-columns:1fr; padding-bottom:60px; }
  .hero-card { display:none; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .testi-grid { grid-template-columns:1fr 1fr; }
  .programs-matrix { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .two-col { grid-template-columns:1fr; }
  .process-steps { grid-template-columns:repeat(3,1fr); }
  .resources-grid { grid-template-columns:1fr 1fr; }
  .blog-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:720px) {
  .hero h1 { font-size:38px; }
  .services-grid { grid-template-columns:1fr; }
  .testi-grid { grid-template-columns:1fr; }
  .news-grid { grid-template-columns:1fr; }
  .calc-panel.active { grid-template-columns:1fr; }
  .stat-div { display:none; }
  .blog-grid { grid-template-columns:1fr; }
  .nav-menu { display:none; }
  .mobile-menu-toggle { display:flex; }
}

/* ===== MOBILE NAV ===== */
.mobile-menu-toggle { display:none; background:none; border:2px solid var(--border); padding:8px 12px; border-radius:var(--radius); cursor:pointer; color:var(--blue); font-size:20px; margin-left:auto; }
.mobile-nav { display:none; background:var(--white); border-top:3px solid var(--red); padding:16px 28px; }
.mobile-nav.open { display:block; }
.mobile-nav a { display:block; padding:10px 0; font-size:15px; color:var(--blue); border-bottom:1px solid var(--border); font-weight:500; }
.mobile-nav a:hover { color:var(--red); }
