﻿/* ============================================================
   InmateResearch — Premium Design System (Ravie-Inspired)
   White/Gold Theme · Apple System Font Stack (SF Pro / Segoe UI)
   ============================================================ */

/* ── CSS Variables ── */
:root {
  --navy: #0a1628;
  --navy2: #0d1f3c;
  --navy3: #132d54;
  --gold: #c8980a;
  --gold2: #d4af37;
  --gold-light: #f5e6b8;
  --white: #ffffff;
  --off: #f7f8fc;
  --off-white: #f9f7f2;
  --cream: #faf8f3;
  --gray: #6b7a90;
  --gray-lt: #e2e8f0;
  --text-dark: #1a1a2e;
  --text-muted: #5a6577;
  --shadow: 0 4px 24px rgba(0,0,0,0.08);
  --shadow-gold: 0 4px 30px rgba(200,152,10,0.12);
  --border: rgba(0,0,0,0.08);
  --border-dark: rgba(255,255,255,0.08);
  --border2: rgba(200,152,10,0.2);
  --border-light: rgba(0,0,0,0.06);
  --radius: 12px;
  --radius-lg: 20px;
  --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  --font-heading: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", system-ui, sans-serif;
  --font-accent:  -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", system-ui, sans-serif;
  --font-body:    -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", system-ui, sans-serif;
  --font-mono:    -apple-system, BlinkMacSystemFont, "SF Mono", "Menlo", "Consolas", monospace;
}

img {
  -webkit-user-drag:none;
  -khtml-user-drag:none;
  -moz-user-drag:none;
  -o-user-drag:none;
  user-drag:none;
  pointer-events:auto;
  max-width:100%;
  height:auto;
  display:block;
}
.orlando-photo, #sp-header-icon img { position:relative; }

/* ── Reset & Base ── */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:80px; font-size:16px; overflow-x:hidden; background:#0a1628; overscroll-behavior:none; height:100%; }
body {
  font-family: var(--font-body);
  color: var(--text-dark);
  background: #0a1628;
  line-height:1.9;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  user-select:text;
  -webkit-user-select:text;
}
/* Sticky-footer flex pattern — footer always lands clean, no dead space below */
.page-wrapper { flex:1 0 auto; display:flex; flex-direction:column; }
.page-wrapper > main, .page-wrapper > .wrap, body > main, body > .wrap { flex:1 0 auto; }
body > footer, .page-wrapper > footer { margin-top:auto; flex-shrink:0; }
a { color:inherit; text-decoration:none; }

/* ── Page Transition ── */
.page-wrapper { animation: pageIn 0.5s ease-out; max-width:100vw; overflow-x:hidden; background:var(--cream, #faf7f2); }
body:not(:has(.page-wrapper)) { background: var(--cream, #faf7f2); }
@keyframes pageIn { from{opacity:0;transform:translateY(12px);} to{opacity:1;transform:translateY(0);} }

/* ── Scroll Reveal ── */
.reveal { opacity:0; transform:translateY(30px); transition:opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-left { opacity:0; transform:translateX(-40px); transition:opacity 0.7s ease, transform 0.7s ease; }
.reveal-left.visible { opacity:1; transform:translateX(0); }
.reveal-right { opacity:0; transform:translateX(40px); transition:opacity 0.7s ease, transform 0.7s ease; }
.reveal-right.visible { opacity:1; transform:translateX(0); }

/* ── Scroll Progress ── */
#scroll-progress { position:fixed; top:0; left:0; height:3px; background:linear-gradient(90deg,var(--gold),var(--gold2)); z-index:9999; width:0%; transition:width 0.1s; pointer-events:none; }

/* ── Back to Top ── */
#btt-btn { position:fixed; bottom:84px; right:24px; width:48px; height:48px; background:var(--white); border:2px solid rgba(200,152,10,0.4); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:200; opacity:0; transform:translateY(8px); transition:opacity 0.3s, transform 0.3s; font-size:1.1rem; color:var(--gold); box-shadow:0 4px 16px rgba(0,0,0,0.1); }
#btt-btn.visible { opacity:1; transform:translateY(0); }
#btt-btn:hover { background:var(--gold); color:var(--white); }

/* ── Gold Utility Bar (Top) ── */
.lang-bar, .utility-bar {
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  padding: 0.4rem 5%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.9rem;
}
.utility-bar-inner { display:flex; justify-content:space-between; align-items:center; width:100%; max-width:1400px; margin:0 auto; }
.lang-bar-left, .utility-info { font-size:1rem; color:var(--white); letter-spacing:0.05em; font-weight:600; }
.lang-btns { display:flex; gap:0.4rem; }
.lbtn { background:transparent; border:1px solid rgba(255,255,255,0.5); color:rgba(255,255,255,0.9); font-size:1rem; padding:0.6rem 1rem; border-radius:22px; cursor:pointer; font-family:var(--font-body); transition:all 0.2s; min-height:44px; min-width:44px; display:inline-flex; align-items:center; justify-content:center; }
.lbtn.on { background:var(--white); border-color:var(--white); color:var(--gold); font-weight:600; }

/* ── Nav (White Theme) ── */
#main-nav {
  display:flex; justify-content:space-between; align-items:center;
  padding:1rem 5%; background:var(--white);
  border-bottom:1px solid var(--border-light);
  position:sticky; top:0; z-index:500;
  transition:background 0.3s, box-shadow 0.3s;
}
#main-nav.scrolled { background:rgba(255,255,255,0.97); backdrop-filter:blur(12px); box-shadow:0 4px 24px rgba(0,0,0,0.08); }
.nav-logo { font-family:var(--font-accent); font-size:1.2rem; font-weight:800; color:var(--text-dark); }
.nav-logo span { color:var(--gold); }
.nav-logo-sub { display:block; font-family:var(--font-body); font-size:1rem; color:var(--text-muted); font-weight:400; letter-spacing:0.06em; text-transform:uppercase; }
.nav-links { display:flex; gap:1.5rem; list-style:none; }
.nav-links a { color:var(--text-muted); font-size:1rem; transition:color var(--transition); position:relative; }
.nav-links a:hover { color:var(--text-dark); }
.nav-links a.active { color:var(--text-dark); font-weight:600; }
.nav-links a.active::after { content:''; display:block; width:100%; height:2px; background:var(--gold); margin-top:2px; }
.nav-right { display:flex; align-items:center; gap:0.8rem; }
.btn-primary { background:var(--gold); color:var(--navy); padding:1rem 1.5rem; border-radius:12px; font-family:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size:1.0625rem; font-weight:600; letter-spacing:-0.01em; min-height:48px; transition:all var(--transition); border:none; cursor:pointer; display:inline-block; box-shadow:0 6px 20px rgba(200,152,10,0.4); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
.btn-primary:hover { background:var(--gold2); transform:translateY(-2px); box-shadow:0 10px 28px rgba(200,152,10,0.5); }
.btn-secondary { background:transparent; color:var(--text-muted); padding:0.6rem 1.4rem; border-radius:8px; font-family:var(--font-accent); font-size:1rem; font-weight:700; border:1px solid var(--border); cursor:pointer; transition:all var(--transition); display:inline-block; }
.btn-secondary:hover { border-color:var(--gold); color:var(--gold); }
.hamburger { display:none; background:none; border:none; cursor:pointer; padding:12px; min-width:48px; min-height:48px; }
.hamburger span { display:block; width:22px; height:2px; background:var(--text-dark); margin:5px 0; border-radius:2px; transition:0.3s; }
.mobile-nav { display:none; flex-direction:column; gap:0.5rem; padding:1.2rem 5%; background:var(--white); border-bottom:1px solid var(--border-light); }
.mobile-nav a { color:var(--text-muted); font-size:1rem; padding:0.5rem 0; transition:color 0.2s; }
.mobile-nav a:hover, .mobile-nav a.active { color:var(--gold); }
.mobile-nav .m-cta { background:var(--gold); color:var(--white); padding:0.7rem 1.2rem; border-radius:8px; font-weight:700; text-align:center; margin-top:0.5rem; }
@media(max-width:960px) { .nav-links { display:none; } .hamburger { display:block; } .nav-right > .btn-primary { display:none !important; } }

/* ── Hero (Dark Navy with Full Background) ── */
.hero { background:var(--navy); padding:5rem 5% 3rem; position:relative; overflow:hidden; max-width:100vw; display:flex; align-items:center; justify-content:flex-start; min-height:85vh; }
/* Rotating hero slides */
.hero-slides { position:absolute; top:0; left:0; right:0; bottom:0; z-index:0; }
.hero-slide { position:absolute; top:0; left:0; right:0; bottom:0; background-size:cover; background-position:center 40%; opacity:0; transition:opacity 1.5s ease-in-out; }
.hero-slide.active { opacity:0.88; }
.hero::after { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient(90deg, rgba(8,18,35,0.78) 0%, rgba(8,18,35,0.52) 45%, rgba(8,18,35,0.12) 100%); z-index:1; pointer-events:none; }
.hero-inner { max-width:680px; width:100%; margin:0; margin-left:8%; position:relative; z-index:2; animation:heroIn 0.9s cubic-bezier(.16,1,.3,1) both; padding-bottom:1.5rem; }
@keyframes heroIn { from{opacity:0;transform:translateY(30px);} to{opacity:1;transform:none;} }
.hero-eyebrow { display:inline-flex; align-items:center; gap:0.5rem; background:rgba(200,152,10,0.1); border:1px solid var(--border2); color:var(--gold); font-size:1rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; padding:0.35rem 1rem; border-radius:30px; margin-bottom:1.5rem; }
.hero-dot { width:6px; height:6px; background:var(--gold); border-radius:50%; animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1;} 50%{opacity:0.4;} }
.hero h1 { font-family:var(--font-heading); font-size:clamp(2.4rem,5.2vw,4.6rem); font-weight:800; color:var(--white); line-height:1.1; margin-bottom:1.2rem; overflow-wrap:break-word; max-width:100%; text-shadow:0 2px 40px rgba(0,0,0,0.4); letter-spacing:-0.02em; }
.hero h1 .accent { color:var(--gold); display:block; font-style:italic; }
.hero-desc { font-size:clamp(1rem,2.1vw,1.18rem); color:rgba(255,255,255,0.88); line-height:1.75; max-width:560px; margin-bottom:2rem; }
.hero-btns { display:flex; flex-wrap:wrap; gap:0.8rem; margin-bottom:2rem; }
.hero-trust { display:flex; flex-wrap:wrap; gap:0.6rem; }
.hero-pill { display:flex; align-items:center; gap:0.35rem; background:rgba(255,255,255,0.08); backdrop-filter:blur(8px); border:1px solid rgba(200,152,10,0.2); color:rgba(255,255,255,0.7); font-size:1rem; padding:0.3rem 0.75rem; border-radius:20px; }
.hero-pill .dot { width:5px; height:5px; background:var(--gold); border-radius:50%; flex-shrink:0; }

/* ── ROI Strip ── */
.roi-strip { background:linear-gradient(135deg,var(--gold),var(--gold2)); padding:1.2rem 5%; display:flex; flex-wrap:wrap; justify-content:center; gap:1.5rem; }
.roi-inner { display:flex; flex-wrap:wrap; justify-content:center; gap:2rem; max-width:90%; margin:0 auto; }
.roi-item { text-align:center; flex:1 1 auto; min-width:60px; }
.roi-num { font-family:var(--font-accent); font-size:1.8rem; font-weight:800; color:var(--navy); line-height:1; display:block; }
.roi-label { font-size:1rem; font-weight:600; color:rgba(10,22,40,0.65); letter-spacing:0.06em; text-transform:uppercase; }

/* ── Section Shared ── */
.section { padding:1.5rem 5%; background:var(--white); color:var(--text-dark); }
.section-cream { padding:1.5rem 5%; background:var(--off-white); color:var(--text-dark); }
.section-dark { padding:1.5rem 5%; color:rgba(255,255,255,0.85); background:var(--navy); }
.section-inner { max-width:90%; margin:0 auto; overflow-wrap:break-word; word-wrap:break-word; }
.section-label { font-size:1rem; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); margin-bottom:0.5rem; }
.section-title { font-family:var(--font-heading); font-size:clamp(1.6rem,3vw,2.6rem); font-weight:700; line-height:1.2; margin-bottom:0.6rem; color:var(--text-dark); }
.gold-rule { display:block; width:60px; height:3px; background:var(--gold); border-radius:2px; margin:0.5rem 0; }
.section-dark .section-title { color:var(--white); }
.section-dark p, .section-dark .sys-desc { color:rgba(255,255,255,0.7); font-size:1rem; line-height:1.8; margin-bottom:1rem; }
.section-dark strong { color:rgba(255,255,255,0.95); }
.section-dark h3, .section-dark h4 { color:var(--white); }

/* Light section text */
.section p, .section-cream p { color:var(--text-muted); font-size:1rem; line-height:1.8; margin-bottom:1rem; }
.section strong, .section-cream strong { color:var(--text-dark); }
.section h3, .section-cream h3 { color:var(--text-dark); font-family:var(--font-heading); }

/* ── Service Teaser Cards (Home page - Gold Bordered) ── */
.service-teaser-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-top:1rem; max-width:700px; margin-left:auto; margin-right:auto; }
.service-teaser { display:flex; flex-direction:column; background:var(--white); border:2px solid var(--gold); border-radius:var(--radius); padding:0.8rem 1rem 0.6rem; transition:all var(--transition); position:relative; overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,0.06); }
.service-teaser:hover { transform:translateY(-8px); box-shadow:0 16px 48px rgba(200,152,10,0.15); }
.services-section .service-teaser { border-top:3px solid var(--gold); }
.services-section .service-teaser:hover { border-top-color:var(--gold); }
.service-teaser-img { width:100%; height:140px; object-fit:cover; display:block; border-radius:8px; margin-bottom:0.8rem; }
.service-teaser-body { padding:1rem; }
.service-teaser .st-icon { font-size:2.2rem; margin-bottom:0.8rem; }
.service-teaser h3 { font-family:var(--font-heading); font-size:1.05rem; font-weight:700; color:var(--text-dark); margin-bottom:0.3rem; }
.service-teaser h4 { font-family:var(--font-heading); font-size:1.1rem; font-weight:700; color:var(--text-dark); margin-bottom:0.5rem; }
.service-teaser p { font-size:1rem; color:var(--text-muted); line-height:1.5; margin-bottom:0.4rem; }
.service-teaser .st-price { display:block; font-family:var(--font-accent); font-size:1.2rem; font-weight:800; color:var(--gold); margin-bottom:0.5rem; }
.service-teaser .st-link { font-size:1rem; color:var(--gold); font-weight:600; }

/* ── Systems Chips ── */
.sys-row { display:flex; flex-wrap:wrap; justify-content:center; gap:0.7rem; margin-top:1.5rem; }
.sys-chip { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); color:rgba(255,255,255,0.7); font-size:1rem; font-weight:600; padding:0.45rem 1.1rem; border-radius:30px; transition:all var(--transition); }
.sys-chip:hover { border-color:rgba(255,255,255,0.2); color:var(--gold); }
/* Light section chips */
.section .sys-chip, .section-cream .sys-chip { background:var(--off-white); border:1px solid var(--border); color:var(--text-muted); }
.section .sys-chip:hover, .section-cream .sys-chip:hover { border-color:var(--gold); color:var(--gold); }

/* ── Service Cards (Services page) ── */
.services-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; margin-top:1rem; align-items:start; }
.scard { background:var(--white); border:1px solid var(--border-light); border-top:4px solid var(--gold); border-radius:var(--radius); overflow:hidden; transition:all var(--transition); position:relative; box-shadow:0 4px 20px rgba(0,0,0,0.06); display:flex; flex-direction:column; }
.scard:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(200,152,10,0.12); border-color:var(--border2); }
.scard-badge { position:absolute; top:1rem; right:1rem; z-index:2; font-size:1rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; padding:0.28rem 0.7rem; border-radius:20px; }
.badge-hot { background:var(--gold); color:var(--white); }
.scard:has(.badge-hot) { border:2px solid var(--gold); box-shadow:0 8px 32px rgba(200,152,10,0.15); transform:translateY(-4px); }
.scard:has(.badge-hot):hover { transform:translateY(-8px); box-shadow:0 16px 48px rgba(200,152,10,0.2); }
.badge-easy { background:var(--navy); color:var(--gold); border:1px solid var(--gold); }
.scard-head { padding:0.7rem 1rem 0.6rem; background:linear-gradient(135deg, var(--navy2), var(--navy3)); position:relative; overflow:hidden; }
.scard-head::after { content:''; position:absolute; width:180px; height:180px; border-radius:50%; background:rgba(200,152,10,0.05); bottom:-60px; right:-40px; }
.scard-icon { font-size:1.2rem; margin-bottom:0.2rem; display:block; position:relative; z-index:1; }
.scard-name { font-family:var(--font-accent); font-size:1.1rem; font-weight:700; color:var(--white); line-height:1.2; margin-bottom:0.3rem; position:relative; z-index:1; }
.scard-price { font-family:var(--font-accent); font-size:2rem; font-weight:800; color:var(--gold); line-height:1; position:relative; z-index:1; }
.scard-price span { font-size:1rem; font-weight:400; color:rgba(255,255,255,0.4); }
.scard-timing { font-size:1rem; color:rgba(255,255,255,0.45); margin-top:0.3rem; position:relative; z-index:1; }
.scard-body { padding:0.6rem 1rem 0.8rem; }
.scard-body .pay-btn { margin-top:0.35rem; }
.pay-trust { font-size:1rem; color:var(--text-dark); text-align:center; margin-top:0.5rem; opacity:0.85; font-weight:500; }
.scard-desc { display:none; }
.scard-list { list-style:none; margin-bottom:0.55rem; padding:0; }
@media(min-width:640px){ .scard-list { column-count:2; column-gap:1.25rem; } .scard-list li { break-inside:avoid; page-break-inside:avoid; -webkit-column-break-inside:avoid; } }
.scard-list li { font-size:1rem; color:var(--text-dark); font-weight:500; padding:0.15rem 0; margin:0; border-bottom:none; display:flex; align-items:flex-start; gap:0.4rem; line-height:1.4; }
.scard-list li::before { content:'\2713'; color:var(--gold); font-weight:800; font-size:1rem; flex-shrink:0; }
.page-limit { display:flex; align-items:center; gap:0.5rem; background:rgba(200,152,10,0.08); border:none; border-radius:8px; padding:0.5rem 0.8rem; margin-bottom:0.6rem; }
.page-limit-icon { font-size:1rem; flex-shrink:0; }
.page-limit-text { font-size:1rem; color:var(--text-muted); line-height:1.4; }
.page-limit-text strong { color:var(--gold); }
.pay-btn { display:block; width:100%; background:var(--gold); color:var(--white); padding:0.85rem; border-radius:10px; font-family:var(--font-accent); font-weight:700; font-size:1rem; text-align:center; border:none; cursor:pointer; transition:all var(--transition); text-decoration:none; }
.pay-btn:hover { background:var(--gold2); transform:translateY(-2px); box-shadow:0 8px 24px rgba(200,152,10,0.3); }

/* ── Steps (How It Works) ── */
.steps-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; margin-top:1rem; }
.step-card { background:var(--white); border:1px solid var(--border-light); border-left:4px solid var(--gold); border-radius:var(--radius); padding:1rem 1.1rem; transition:all 0.2s; box-shadow:0 2px 12px rgba(0,0,0,0.04); }
.step-card:hover { background:var(--off-white); transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,0.08); }
.step-n { font-family:var(--font-heading); font-size:2rem; font-weight:700; color:var(--gold); line-height:1; margin-bottom:0.3rem; }
.step-title { font-family:var(--font-accent); font-size:1rem; font-weight:700; color:var(--text-dark); margin-bottom:0.4rem; }
.step-desc { font-size:1rem; color:#5a6577 !important; line-height:1.5; }

/* ── Impact Stats ── */
.impact-strip { background:var(--off-white); padding:1.5rem 5%; text-align:center; }
.impact-strip h2 { font-family:var(--font-heading); font-size:clamp(1.6rem,3vw,2.4rem); font-weight:700; color:var(--text-dark); margin-bottom:0.5rem; }
.impact-sub { color:var(--text-muted); font-size:1rem; margin-bottom:2rem; }
.impact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1rem; max-width:90%; margin:0 auto; }
.impact-card { background:var(--white); border:2px solid var(--border-light); border-radius:var(--radius); padding:1.5rem 1rem; transition:all var(--transition); }
.impact-card:hover { border-color:var(--gold); background:var(--white); transform:translateY(-2px); box-shadow:var(--shadow-gold); }
.impact-num { font-family:var(--font-heading); font-size:clamp(1.6rem,3vw,2.4rem); font-weight:700; color:var(--gold); line-height:1; display:block; margin-bottom:0.5rem; }
.impact-label { font-size:1rem; color:var(--text-muted); font-weight:600; letter-spacing:0.05em; }

/* ── Trust Badges ── */
.trust-strip { background:var(--white); padding:1.5rem 5%; text-align:center; }
.trust-strip h2 { font-family:var(--font-heading); font-size:clamp(1.6rem,3vw,2.4rem); font-weight:700; color:var(--text-dark); margin-bottom:0.5rem; }
.trust-sub { color:var(--text-muted); font-size:1rem; margin-bottom:2rem; }
.trust-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1rem; max-width:90%; margin:0 auto; }
.trust-badge { display:flex; align-items:center; gap:1rem; padding:1.2rem; background:var(--white); border:1px solid var(--border-light); border-radius:var(--radius); transition:all var(--transition); }
.trust-badge:hover { border-color:var(--gold); box-shadow:var(--shadow-gold); }
.trust-icon { font-size:2rem; flex-shrink:0; }
.trust-text { flex:1; min-width:0; text-align:left; }
.trust-text strong { display:block; color:var(--text-dark); font-family:var(--font-accent); font-size:1rem; margin-bottom:0.2rem; }
.trust-text span { display:block; font-size:1rem; color:var(--text-muted); }

/* ── Founder Strip — Apple redesign ── */
.founder-strip { background:var(--navy2); padding:5rem 5%; }
.founder-inner { max-width:640px; margin:0 auto; text-align:center; }
.founder-eyebrow { font-size:1rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; }
.founder-headline { font-family:var(--font-heading); font-size:clamp(2.2rem,5vw,3.5rem); font-weight:700; color:var(--white); line-height:1.1; margin-bottom:1.5rem; }
.founder-body { font-size:1.05rem; color:rgba(255,255,255,0.75); line-height:1.7; margin-bottom:2rem; }
.founder-credential { font-size:1rem; color:rgba(255,255,255,0.45); letter-spacing:0.04em; margin-bottom:1.25rem; }
.founder-tags { display:flex; gap:0.75rem; justify-content:center; flex-wrap:wrap; margin-bottom:2rem; }
.founder-tag { padding:0.4rem 1.1rem; border:1px solid var(--gold); border-radius:999px; font-size:1rem; font-weight:600; letter-spacing:0.06em; color:var(--gold); text-transform:uppercase; }
.founder-proof { font-size:1rem; color:rgba(255,255,255,0.35); letter-spacing:0.04em; }
@media(max-width:520px){ .founder-strip { padding:3rem 5%; } }

/* ── Trust Strip — Apple redesign ── */
.trust-strip-apple { padding:5rem 5% 4rem; }
.trust-eyebrow { font-size:1rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); margin-bottom:0.75rem; }
.trust-headline { font-family:var(--font-heading); font-size:clamp(2rem,4vw,3rem); font-weight:700; color:var(--text-dark); line-height:1.15; margin-bottom:1rem; }
.trust-strip-apple .trust-sub { font-size:1rem; color:var(--text-muted); margin-bottom:3rem; }
.trust-grid-apple { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; max-width:1100px; margin:0 auto; }
.trust-badge-apple { display:flex; flex-direction:column; align-items:flex-start; gap:0; padding:2rem 1.75rem; background:var(--white); border:1px solid #e8eaed; border-radius:16px; text-align:left; cursor:default; transition:box-shadow 200ms ease, border-color 200ms ease, transform 200ms ease; }
.trust-badge-apple:hover { border-color:var(--gold); box-shadow:0 8px 32px rgba(200,168,78,0.15); transform:translateY(-3px); }
.trust-icon-svg { width:40px; height:40px; color:var(--navy); margin-bottom:1.25rem; flex-shrink:0; }
.trust-icon-svg svg { width:40px; height:40px; }
.trust-badge-apple .trust-text { text-align:left; }
.trust-badge-apple .trust-text strong { display:block; font-family:var(--font-heading); font-size:1rem; font-weight:700; color:var(--text-dark); margin-bottom:0.5rem; letter-spacing:-0.01em; }
.trust-badge-apple .trust-text span { display:block; font-size:1rem; color:var(--text-muted); line-height:1.6; }
@media(max-width:900px){ .trust-grid-apple { grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .trust-grid-apple { grid-template-columns:1fr; gap:1rem; } .trust-strip-apple { padding:3rem 5% 2.5rem; } .trust-headline { font-size:clamp(1.6rem,6vw,2.2rem); } }

/* ── UPL Legal ── */
.upl-badge { display:inline-flex; align-items:center; gap:0.45rem; background:linear-gradient(135deg, #e6c565 0%, #c8a84e 100%); color:#0d1b35; font-family:var(--font-accent); font-weight:800; font-size:1rem; letter-spacing:0.05em; text-transform:uppercase; padding:0.55rem 1.1rem; border-radius:999px; box-shadow:0 4px 14px rgba(200,168,78,0.35), 0 0 0 2px rgba(255,255,255,0.08); border:1.5px solid #f0d680; white-space:nowrap; }
.upl-badge::before { content:'\26A0\FE0F'; font-size:1rem; }
.upl-badge-lg { font-size:1rem; padding:0.7rem 1.4rem; }
.upl-block { max-width:min(90%, 900px); background:rgba(200,152,10,0.06); border:1px solid var(--border2); border-left:4px solid var(--gold); border-radius:var(--radius); padding:1.5rem 1.75rem; margin:1.5rem auto 0; box-sizing:border-box; }
.upl-block h4 { font-family:var(--font-accent); font-size:1rem; font-weight:700; color:var(--gold); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:0.8rem; overflow-wrap:break-word; }
.upl-block p { font-size:1rem; color:var(--text-muted); line-height:1.9; overflow-wrap:break-word; word-wrap:break-word; hyphens:auto; }

/* ── FAQ ── */
.faq-list { max-width:85%; margin:2rem auto 0; display:flex; flex-direction:column; gap:0.5rem; }
.faq-item { background:var(--white); border:1px solid var(--border-light); border-radius:var(--radius); overflow:hidden; transition:border-color 0.2s; }
.faq-item.open { border-color:var(--gold); background:rgba(200,152,10,0.02); }
.faq-q { padding:1rem 1.2rem; font-weight:600; font-size:1rem; color:var(--text-dark); cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:0.5rem; transition:background 0.15s; }
.faq-q:hover { background:rgba(200,152,10,0.04); }
.faq-q-arrow { font-size:1rem; color:var(--gold); transition:transform 0.25s; flex-shrink:0; }
.faq-item.open .faq-q-arrow { transform:rotate(180deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height 0.3s ease, padding 0.3s; font-size:1rem; color:var(--text-muted); line-height:1.7; }
.faq-item.open .faq-a { max-height:2000px; padding:0 1.2rem 1rem; }

/* ── Form (Frosted Glass on Image BG) ── */
.form-section { position:relative; overflow:hidden; padding:2rem 5%; background:var(--navy); }
.form-section::before { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:url('signing-papers.jpg') center center/cover no-repeat; opacity:0.3; z-index:0; pointer-events:none; }
.form-section::after { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient(180deg, rgba(10,22,40,0.75) 0%, rgba(10,22,40,0.6) 50%, rgba(10,22,40,0.8) 100%); z-index:1; pointer-events:none; }
.form-wrap { max-width:85%; margin:0 auto; position:relative; z-index:2; }
.form-card { background:#ffffff; border:1px solid rgba(0,0,0,0.08); border-top:3px solid var(--gold); border-radius:var(--radius-lg); padding:2.5rem; box-shadow:0 16px 48px rgba(0,0,0,0.15); }
.form-title { font-family:var(--font-heading); font-size:1.5rem; font-weight:700; color:#1a1a2e !important; margin-bottom:0.3rem; }
.form-sub { font-size:1rem; color:#5a6577 !important; margin-bottom:1rem; line-height:1.6; }
.svc-pick { display:grid; grid-template-columns:1fr 1fr; gap:0.7rem; margin-bottom:1.3rem; }
@media(max-width:460px) { .svc-pick { grid-template-columns:1fr; } }
.svc-r { display:none; }
.svc-lbl { display:block; border:2px solid var(--border); border-radius:10px; padding:0.9rem; cursor:pointer; transition:all 0.2s; background:rgba(255,255,255,0.6); }
.svc-lbl:hover { border-color:var(--gold); }
.svc-r:checked + .svc-lbl { border-color:var(--gold); background:rgba(200,152,10,0.08); }
.svc-lbl-name { font-family:var(--font-accent); font-weight:700; font-size:1rem; color:var(--text-dark); display:block; margin-bottom:0.1rem; }
.svc-lbl-price { font-family:var(--font-accent); font-size:1.2rem; font-weight:800; color:var(--gold); display:block; }
.svc-lbl-note { font-size:1rem; color:var(--text-muted); display:block; margin-top:0.15rem; }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.frow .fcol[style*="100%"] { grid-column: 1 / -1; }
@media(max-width:580px) { .frow { grid-template-columns:1fr; } }
.ffield { display:flex; flex-direction:column; gap:0.35rem; margin-bottom:0.9rem; }
.ffield label { font-size:1rem; font-weight:700; color:var(--text-dark); letter-spacing:0.05em; text-transform:uppercase; }
.ffield input, .ffield select, .ffield textarea { padding:0.68rem 0.85rem; border:1.5px solid rgba(0,0,0,0.12); border-radius:8px; font-size:1rem; font-family:var(--font-body); color:var(--text-dark); background:var(--white); transition:border-color 0.2s, box-shadow 0.2s; }
.ffield input:focus, .ffield select:focus, .ffield textarea:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,152,10,0.25); }
.ffield input::placeholder, .ffield textarea::placeholder { color:rgba(0,0,0,0.45); }
.ffield select { color:var(--text-muted); }
.ffield select option { background:var(--white); color:var(--text-dark); }
.ffield textarea { resize:vertical; min-height:80px; width:100%; }
.ffield input, .ffield select { width:100%; }
.submit-btn { display:block; width:100%; background:var(--gold); color:var(--white); padding:1rem; border-radius:10px; font-family:var(--font-accent); font-size:1rem; font-weight:800; border:none; cursor:pointer; transition:all var(--transition); margin-top:1rem; }
.submit-btn:hover { background:var(--gold2); transform:translateY(-2px); box-shadow:0 8px 24px rgba(200,152,10,0.3); }
.form-disclaimer { font-size:1rem; color:var(--text-muted); text-align:center; margin-top:1rem; line-height:1.6; }
.success-screen { display:none; text-align:center; padding:2rem; }
.success-screen .big-emoji { font-size:3.5rem; margin-bottom:1rem; }
.success-screen h3 { font-family:var(--font-accent); font-size:1.5rem; color:var(--gold); margin-bottom:0.5rem; }
.success-screen p { font-size:1rem; color:var(--text-muted); line-height:1.65; }

/* ── Payment Modal (stays dark) ── */
.modal-overlay { display:none; position:fixed; inset:0; z-index:9000; background:rgba(10,22,40,0.8); backdrop-filter:blur(4px); align-items:center; justify-content:center; padding:1rem; }
.modal-overlay.open { display:flex; }
.modal { background:var(--navy2); border:1px solid var(--border2); border-radius:16px; max-width:540px; width:100%; box-shadow:0 32px 80px rgba(0,0,0,0.4); animation:modalIn 0.35s cubic-bezier(.16,1,.3,1) both; overflow:hidden; }
@keyframes modalIn { from{opacity:0;transform:translateY(20px) scale(.97);} to{opacity:1;transform:none;} }
.modal-head { background:linear-gradient(135deg,var(--navy),var(--navy3)); padding:1.4rem 1.5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.modal-head h3 { font-family:var(--font-accent); font-size:1.2rem; font-weight:800; color:var(--white); margin-bottom:0.2rem; }
.modal-head p { font-size:1rem; color:rgba(255,255,255,0.5); }
.modal-close { background:rgba(255,255,255,0.1); border:none; color:rgba(255,255,255,0.6); width:36px; height:36px; min-width:36px; border-radius:50%; cursor:pointer; font-size:1rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.modal-close:hover { background:rgba(255,255,255,0.2); color:var(--white); }
.modal-body { padding:1.8rem 2rem; }
.modal-steps { list-style:none; display:flex; flex-direction:column; gap:1rem; margin-bottom:1.5rem; }
.modal-step { display:flex; gap:1rem; align-items:flex-start; }
.modal-step-num { width:28px; height:28px; border-radius:50%; background:var(--gold); color:var(--navy); font-family:var(--font-accent); font-weight:700; font-size:1rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.modal-step-text { flex:1; }
.modal-step-text strong { display:block; font-family:var(--font-accent); font-size:1rem; color:var(--white); margin-bottom:0.1rem; }
.modal-step-text p { font-size:1rem; color:rgba(255,255,255,0.5); line-height:1.5; }
.modal-email-box { background:rgba(200,152,10,0.06); border:1px solid var(--border2); border-left:4px solid var(--gold); border-radius:10px; padding:1rem 1.2rem; margin-bottom:1rem; }
.modal-email-box p { font-size:1rem; color:rgba(255,255,255,0.5); margin-bottom:0.4rem; }
.reveal-email-btn { background:transparent; border:1px dashed var(--gold); color:var(--gold); font-size:1rem; font-weight:600; padding:0.3rem 0.8rem; border-radius:6px; cursor:pointer; font-family:var(--font-body); margin-top:0.4rem; transition:all 0.2s; display:inline-block; }
.reveal-email-btn:hover { background:var(--gold); color:var(--navy); }
.email-revealed { display:none; font-family:monospace; font-size:1rem; font-weight:700; color:var(--gold); margin-top:0.4rem; }
.page-limit-modal { background:rgba(200,152,10,0.06); border:1px solid var(--border2); border-radius:8px; padding:0.8rem 1rem; margin-bottom:1.2rem; font-size:1rem; color:rgba(255,255,255,0.5); line-height:1.5; }
.page-limit-modal strong { color:var(--gold); }
.modal-pay-btn { display:block; width:100%; background:var(--gold); color:var(--navy); padding:0.9rem; border-radius:10px; font-family:var(--font-accent); font-weight:800; font-size:1rem; text-align:center; text-decoration:none; border:none; cursor:pointer; transition:all var(--transition); }
.modal-pay-btn:hover { background:var(--gold2); transform:translateY(-1px); }
@media(max-width:768px) { .modal-body { padding:1.4rem 1.5rem; } .modal-head { padding:1.4rem 1.5rem; } }

/* ── Footer (Navy Theme — high contrast) ── */
footer { background:linear-gradient(135deg, #0a1628 0%, #1a2a44 100%); border-top:3px solid var(--gold); padding:2.5rem 5% 1.8rem; color:rgba(255,255,255,0.85); font-size:1rem; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:2.5rem; max-width:90%; margin:0 auto 2rem; }
.f-logo { font-family:var(--font-accent); font-size:1.3rem; font-weight:800; color:#fff; }
.f-logo span { color:var(--gold); }
.footer-brand p { font-size:1rem; line-height:1.8; margin-top:0.7rem; color:rgba(255,255,255,0.75); }
.footer-brand a { color:var(--gold); font-weight:700; }
.footer-brand a:hover { color:#fff; }
.footer-links h4 { font-family:var(--font-heading); font-size:1rem; font-weight:700; color:var(--gold); margin-bottom:0.7rem; text-transform:uppercase; letter-spacing:0.5px; }
.footer-links a { display:block; font-size:1rem; color:rgba(255,255,255,0.78); margin-bottom:0.4rem; transition:color 0.2s; }
.footer-links a:hover { color:var(--gold); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,0.12); font-size:1rem; max-width:1100px; margin:0 auto; color:rgba(255,255,255,0.6); }
.footer-bottom a { color:rgba(255,255,255,0.7); }
.footer-bottom a:hover { color:var(--gold); }
.upl-brief { font-size:1rem; color:rgba(255,255,255,0.6); text-align:center; margin-top:1.5rem; max-width:90%; margin-left:auto; margin-right:auto; line-height:1.8; }
.upl-brief strong { color:rgba(255,255,255,0.85); }

/* ── Lang Toggle ── */
body.es .en { display:none !important; }
body.en .es { display:none !important; }

/* ── Spanish Chat Widget (stays dark) ── */
#sp-bubble { display:none !important; position:fixed; bottom:24px; right:24px; height:48px; border-radius:24px; background:linear-gradient(135deg,#C8980A,#A07008); border:none; cursor:pointer; z-index:9999; box-shadow:none; display:flex; align-items:center; justify-content:center; gap:8px; padding:0 20px; transition:transform 0.2s; outline:none; -webkit-tap-highlight-color:transparent; }
#sp-bubble:focus { outline:none; box-shadow:none; }
#sp-bubble:hover { transform:scale(1.05); box-shadow:none; }
#sp-bubble::before, #sp-bubble::after { display:none !important; }
#sp-bubble svg { width:20px; height:20px; fill:#0D1B35; flex-shrink:0; }
#sp-bubble-label { font-family:var(--font-accent); font-size:1rem; font-weight:700; color:#0D1B35; white-space:nowrap; }
#sp-window { display:none !important; position:fixed; bottom:96px; right:24px; width:360px; max-width:calc(100vw - 32px); height:520px; max-height:calc(100vh - 120px); background:#080F1E; border:1px solid rgba(200,152,10,0.3); border-radius:16px; display:none; flex-direction:column; overflow:hidden; z-index:9998; box-shadow:0 8px 40px rgba(0,0,0,0.6); }
#sp-header { background:#1B2F5E; padding:18px 16px; display:flex; flex-direction:column; align-items:center; gap:0; border-bottom:2px solid var(--gold); flex-shrink:0; text-align:center; position:relative; }
#sp-header-icon { width:52px; height:52px; border-radius:50%; background:var(--gold); border:none; display:flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden; margin-bottom:10px; font-family:var(--font-accent); font-size:1.05rem; font-weight:800; color:#0D1B35; letter-spacing:-0.03em; user-select:none; }
#sp-header-icon img { width:100%; height:100%; object-fit:cover; border-radius:50%; pointer-events:auto; }
#sp-header-name { font-family:var(--font-accent); font-size:1.3rem; font-weight:800; color:var(--gold); }
#sp-header-sub { font-size:1rem; color:rgba(255,255,255,0.7); margin-top:5px; letter-spacing:2.5px; text-transform:uppercase; background:rgba(200,152,10,0.12); border:1px solid rgba(200,152,10,0.25); padding:3px 14px; border-radius:20px; display:inline-block; }
#sp-close { background:none; border:none; cursor:pointer; color:#fff; font-size:22px; padding:4px; line-height:1; position:absolute; top:10px; right:12px; }
#sp-disclaimer { background:rgba(200,152,10,0.08); border-bottom:1px solid rgba(200,152,10,0.15); padding:7px 14px; font-size:1rem; color:rgba(255,255,255,0.45); text-align:center; flex-shrink:0; }
#sp-messages { flex:1; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:10px; scroll-behavior:smooth; }
.sp-msg { max-width:85%; padding:9px 13px; border-radius:12px; font-size:1rem; line-height:1.55; word-wrap:break-word; }
.sp-msg.bot { background:rgba(255,255,255,0.06); color:rgba(255,255,255,0.85); border-bottom-left-radius:3px; align-self:flex-start; }
.sp-msg.user { background:linear-gradient(135deg,rgba(200,152,10,0.25),rgba(200,152,10,0.15)); color:#fff; border-bottom-right-radius:3px; align-self:flex-end; border:1px solid rgba(200,152,10,0.2); }
#sp-footer { padding:10px 12px; border-top:1px solid rgba(255,255,255,0.06); display:flex; gap:8px; flex-shrink:0; background:rgba(8,15,30,0.8); }
#sp-input { flex:1; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:10px; padding:9px 12px; font-size:1rem; color:#fff; font-family:var(--font-body); resize:none; height:40px; line-height:1.4; overflow:hidden; transition:border-color 0.2s; }
#sp-input:focus { outline:none; border-color:rgba(200,152,10,0.4); }
#sp-input::placeholder { color:rgba(255,255,255,0.25); }
#sp-send { background:linear-gradient(135deg,#C8980A,#A07008); border:none; border-radius:10px; width:40px; height:40px; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
#sp-send svg { width:16px; height:16px; fill:#0D1B35; }
.sp-typing { display:flex; gap:4px; align-self:flex-start; padding:10px 14px; }
.sp-typing span { width:6px; height:6px; border-radius:50%; background:rgba(200,152,10,0.5); animation:typeDot 1.2s infinite; }
.sp-typing span:nth-child(2) { animation-delay:0.2s; }
.sp-typing span:nth-child(3) { animation-delay:0.4s; }
@keyframes typeDot { 0%,100%{opacity:0.3;transform:translateY(0);} 50%{opacity:1;transform:translateY(-3px);} }
#sp-limit-msg { display:none; font-size:1rem; color:var(--gold); text-align:center; padding:6px; background:rgba(200,152,10,0.08); }

/* ── Missing Element Styles ── */
.btn-outline { display:inline-block; padding:0.6rem 1.4rem; border:2px solid rgba(255,255,255,0.3); border-radius:8px; color:rgba(255,255,255,0.8); font-family:var(--font-accent); font-size:1rem; font-weight:700; transition:all var(--transition); cursor:pointer; background:transparent; }
.btn-outline:hover { border-color:var(--gold); color:var(--gold); }
.eyebrow { display:inline-flex; align-items:center; gap:0.5rem; background:rgba(200,152,10,0.1); border:1px solid var(--border2); color:var(--gold); font-size:1rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; padding:0.35rem 1rem; border-radius:30px; margin-bottom:1.5rem; }
.trust-pill { display:inline-flex; align-items:center; gap:0.35rem; background:rgba(255,255,255,0.08); backdrop-filter:blur(8px); border:1px solid rgba(200,152,10,0.2); color:rgba(255,255,255,0.7); font-size:1rem; padding:0.3rem 0.75rem; border-radius:20px; }

/* ── Service Teaser Sub-Elements ── */
.service-teaser-icon { font-size:1.2rem; margin-bottom:0.15rem; display:block; }
.service-teaser-price { display:block; font-family:var(--font-accent); font-size:1.1rem; font-weight:800; color:var(--gold); margin-bottom:0.3rem; }
.service-teaser-link { font-size:1rem; color:var(--gold); font-weight:600; display:inline-block; margin-top:auto; padding-top:0.5rem; transition:color 0.2s; }
.service-teaser-link:hover { color:var(--gold2); }

/* ── Systems Grid (3-col prison systems) ── */
.systems-grid { grid-template-columns:repeat(3,1fr) !important; gap:1rem; align-items:stretch; }
.systems-grid .service-teaser { text-align:center; padding:0; display:flex; flex-direction:column; border:2px solid var(--gold); }
.systems-grid .service-teaser-img { height:140px; border-radius:8px 8px 0 0; margin-bottom:0; width:100%; object-fit:cover; }
.systems-grid .service-teaser-body { padding:0.6rem 0.8rem; text-align:center; flex:1; display:flex; flex-direction:column; justify-content:center; }
.systems-grid .service-teaser h4 { font-size:1rem; margin-bottom:0.15rem; text-align:center; color:var(--text-dark); }
.systems-grid .service-teaser p { font-size:1rem; line-height:1.4; margin-bottom:0; text-align:center; color:var(--text-muted); }

/* ── Service Teaser text in sections ── */
.section-dark .service-teaser h3 { color:var(--text-dark); font-family:var(--font-accent); font-size:1rem; font-weight:700; margin-bottom:0.5rem; }
.section-dark .service-teaser h4 { color:var(--text-dark); }
.section-dark .service-teaser p { color:var(--text-muted); }
.section .service-teaser h4 { color:var(--text-dark); }
.section .service-teaser p { color:var(--text-muted); }

/* ── Service Extras ── */
.service-extras { margin-top:1.5rem; text-align:center; }
.service-extras p { font-size:1rem; color:var(--text-muted); line-height:1.7; }
.service-extras strong { color:var(--gold); }

/* ── Service Picker (contact page) ── */
.svc-pick-option { display:block; border:2px solid var(--border); border-radius:10px; padding:0.9rem; cursor:pointer; transition:all 0.2s; background:rgba(255,255,255,0.6); text-align:center; }
.svc-pick-option:hover { border-color:var(--gold); }
.svc-pick-option input[type="radio"] { margin-right:0.4rem; accent-color:var(--gold); }
.svc-pick-option span { font-family:var(--font-accent); font-weight:700; font-size:1rem; color:var(--text-dark); }
.svc-pick-option:has(input:checked) { border-color:var(--gold); background:rgba(200,152,10,0.08); }

/* ── Contact Form: fcol styling ── */
.fcol { display:flex; flex-direction:column; gap:0.35rem; margin-bottom:0.9rem; }
.fcol label { font-size:1rem; font-weight:700; color:var(--text-dark); letter-spacing:0.05em; text-transform:uppercase; }
.fcol input, .fcol select, .fcol textarea { padding:0.68rem 0.85rem; border:1.5px solid rgba(0,0,0,0.12); border-radius:8px; font-size:1rem; font-family:var(--font-body); color:var(--text-dark); background:var(--white); transition:border-color 0.2s, box-shadow 0.2s; width:100%; }
.fcol input:focus, .fcol select:focus, .fcol textarea:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,152,10,0.25); }
.fcol input::placeholder, .fcol textarea::placeholder { color:rgba(0,0,0,0.45); }
.fcol select { color:var(--text-dark); }
.fcol select option { background:var(--white); color:var(--text-dark); }
.fcol textarea { resize:vertical; min-height:80px; }

/* ── FSA Eligibility Calculator ── */
.fsa-calc { background:rgba(255,255,255,0.04); border:1px solid rgba(200,168,78,0.2); border-radius:14px; padding:1.5rem; }
.fsa-field { margin-bottom:1rem; }
.fsa-field label { display:block; font-size:1rem; font-weight:700; color:var(--white); letter-spacing:0.03em; margin-bottom:0.35rem; }
.fsa-field select { width:100%; padding:0.65rem 0.85rem; border:1.5px solid rgba(255,255,255,0.15); border-radius:8px; font-size:1rem; font-family:var(--font-body); color:var(--white); background:rgba(255,255,255,0.08); appearance:auto; cursor:pointer; }
.fsa-field select:focus { outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,152,10,0.2); }
.fsa-field select option { background:var(--navy); color:var(--white); }
.fsa-checks { display:flex; flex-wrap:wrap; gap:0.6rem; margin-top:0.3rem; }
.fsa-check { display:flex; align-items:center; gap:0.35rem; font-size:1rem; color:rgba(255,255,255,0.8); cursor:pointer; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:6px; padding:0.4rem 0.7rem; transition:all 0.2s; }
.fsa-check:hover { border-color:var(--gold); }
.fsa-check input[type="checkbox"] { accent-color:var(--gold); width:16px; height:16px; cursor:pointer; }
.fsa-btn { display:block; width:100%; background:var(--gold); color:var(--white); padding:0.85rem; border-radius:10px; font-family:var(--font-accent); font-weight:700; font-size:1rem; text-align:center; border:none; cursor:pointer; transition:all 0.2s; margin-top:0.5rem; }
.fsa-btn:hover { background:var(--gold2); transform:translateY(-2px); box-shadow:0 8px 24px rgba(200,152,10,0.3); }
.fsa-result { margin-top:1.2rem; border-radius:12px; padding:1.4rem; animation:fadeIn 0.4s ease; }
.fsa-result.fsa-green { background:rgba(39,174,96,0.12); border:1.5px solid rgba(39,174,96,0.4); }
.fsa-result.fsa-red { background:rgba(231,76,60,0.1); border:1.5px solid rgba(231,76,60,0.3); }
.fsa-result h3 { font-family:var(--font-accent); font-size:1.1rem; font-weight:800; margin-bottom:0.5rem; }
.fsa-green h3 { color:#27ae60; }
.fsa-red h3 { color:#e74c3c; }
.fsa-result p { font-size:1rem; color:rgba(255,255,255,0.75); line-height:1.6; margin-bottom:0.5rem; }
.fsa-result ul { list-style:none; margin:0.6rem 0; padding:0; }
.fsa-result ul li { font-size:1rem; color:rgba(255,255,255,0.7); padding:0.25rem 0; display:flex; align-items:flex-start; gap:0.4rem; }
.fsa-result ul li::before { content:'\2713'; color:var(--gold); font-weight:800; flex-shrink:0; }
.fsa-result .fsa-cta { display:block; width:100%; background:var(--gold); color:var(--white); padding:0.8rem; border-radius:10px; font-family:var(--font-accent); font-weight:700; font-size:1rem; text-align:center; text-decoration:none; margin-top:0.8rem; transition:all 0.2s; }
.fsa-result .fsa-cta:hover { background:var(--gold2); transform:translateY(-1px); }
.fsa-reset { display:block; width:100%; background:transparent; color:rgba(255,255,255,0.5); padding:0.6rem; border-radius:8px; font-family:var(--font-body); font-weight:600; font-size:1rem; text-align:center; border:1px solid rgba(255,255,255,0.15); cursor:pointer; transition:all 0.2s; margin-top:0.5rem; }
.fsa-reset:hover { color:var(--white); border-color:rgba(255,255,255,0.3); }
.fsa-disclaimer { font-size:1rem; color:rgba(255,255,255,0.35); text-align:center; margin-top:1rem; line-height:1.5; }
@media(max-width:480px) { .fsa-checks { flex-direction:column; } .fsa-calc { padding:1rem; } }

/* ── Orlando Photo ── */
.orlando-photo { width:100%; max-width:650px !important; border-radius:14px; border:3px solid var(--gold); box-shadow:0 8px 32px rgba(0,0,0,0.3); display:block; margin:0 auto; }
@media(min-width:1400px) { .orlando-photo { max-width:700px !important; } }
@media(min-width:1800px) { .orlando-photo { max-width:750px !important; } }

/* ── Who We Help — Woman with Letter Background ── */
.whowehelp-section { position:relative; overflow:hidden; }
.whowehelp-section::before { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:url('woman-letter.jpg') center 40%/cover no-repeat; opacity:0.35; z-index:0; pointer-events:none; }
.whowehelp-section::after { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient(180deg, rgba(10,22,40,0.8) 0%, rgba(10,22,40,0.65) 30%, rgba(10,22,40,0.65) 60%, rgba(10,22,40,0.8) 90%, rgba(10,22,40,0.95) 100%); z-index:1; pointer-events:none; }
.whowehelp-section .section-inner { position:relative; z-index:2; }
.whowehelp-section .section-title { text-shadow:0 2px 4px rgba(0,0,0,0.9), 0 0 20px rgba(0,0,0,0.6); color:#fff; }
.whowehelp-section .section-label { text-shadow:0 1px 3px rgba(0,0,0,0.8); }
.whowehelp-section p, .whowehelp-section .sys-desc { text-shadow:0 1px 3px rgba(0,0,0,0.8), 0 0 10px rgba(0,0,0,0.4); color:rgba(255,255,255,0.95); }
.whowehelp-section strong { color:#fff; text-shadow:0 1px 2px rgba(0,0,0,0.9); }

/* ── Three Systems — Prison Corridor Background ── */
.systems-section { position:relative; overflow:hidden; }
.systems-section::before { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:url('prison-corridor.jpg') center center/cover no-repeat; opacity:0.35; z-index:0; pointer-events:none; }
.systems-section::after { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient(180deg, rgba(10,22,40,0.7) 0%, rgba(10,22,40,0.55) 30%, rgba(10,22,40,0.5) 55%, rgba(10,22,40,0.8) 90%, rgba(10,22,40,0.95) 100%); z-index:1; pointer-events:none; }
.systems-section .section-inner { position:relative; z-index:2; text-align:center; }
.systems-section .gold-rule { margin-left:auto; margin-right:auto; }

/* ── Confidentiality — Documents Background ── */
.confidentiality-section { text-align:center; }
.confidentiality-section .section-inner { text-align:center; }
.confidentiality-section .gold-rule { margin-left:auto; margin-right:auto; }
.confid-bg { position:relative; overflow:hidden; }
.confid-bg::before { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:url('documents-notepad.jpg') center center/cover no-repeat; opacity:0.35; z-index:0; pointer-events:none; }
.confid-bg::after { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient(180deg, rgba(10,22,40,0.7) 0%, rgba(10,22,40,0.55) 30%, rgba(10,22,40,0.5) 55%, rgba(10,22,40,0.8) 90%, rgba(10,22,40,0.95) 100%); z-index:1; pointer-events:none; }
.confid-bg .section-inner { position:relative; z-index:2; }

/* ════════════════════════════════════════════
   RESPONSIVE BREAKPOINTS
   ════════════════════════════════════════════ */

/* ── Mobile (768px) ── */
@media(max-width:768px) {
  body { overflow-x:hidden; }
  .page-wrapper { overflow-x:hidden; max-width:100vw; }
  .hero { padding:2.5rem 20px 2rem; min-height:85vh; }
  .hero-inner { max-width:calc(100vw - 40px); margin-left:0; }
  .hero h1 { font-size:clamp(1.6rem,6.5vw,2.4rem); word-wrap:break-word; overflow-wrap:break-word; }
  .hero-desc { font-size:1rem; margin-bottom:1.5rem; }
  .hero-eyebrow { font-size:1rem; margin-bottom:1rem; }
  .hero-btns { flex-direction:column; margin-bottom:1.5rem; }
  .hero-btns a, .hero-btns button { text-align:center; width:100%; }
  .hero-trust { gap:0.4rem; }
  .hero-pill, .trust-pill { font-size:1rem; padding:0.25rem 0.6rem; }
  .roi-inner { gap:0.8rem; }
  .roi-num { font-size:1.3rem; }
  .roi-label { font-size:1rem; }
  .roi-strip { padding:0.8rem 20px; }
  .section, .section-dark, .section-cream { padding:2rem 20px; overflow-x:hidden; }
  .section-inner { padding:0; overflow-wrap:break-word; word-wrap:break-word; }
  .section-title { font-size:clamp(1.2rem,5vw,1.6rem); margin-bottom:0.4rem; }
  .section-label { font-size:1rem; margin-bottom:0.3rem; }
  .gold-rule { margin:0.5rem 0 1rem; }
  .section-dark p, .section-dark .sys-desc { font-size:1rem; line-height:1.7; margin-bottom:0.8rem; }
  .impact-strip, .trust-strip { padding:2rem 20px; }
  .impact-strip h2, .trust-strip h2 { font-size:clamp(1.2rem,5vw,1.6rem); margin-bottom:0.3rem; }
  .impact-sub, .trust-sub { font-size:1rem; margin-bottom:1.2rem; }
  .impact-grid { grid-template-columns:repeat(2,1fr); gap:0.6rem; }
  .impact-card { padding:1rem 0.7rem; }
  .impact-num { font-size:clamp(1.3rem,4vw,1.8rem); }
  .impact-label { font-size:1rem; }
  .trust-grid { grid-template-columns:1fr; gap:0.6rem; }
  .trust-badge { padding:0.8rem; gap:0.7rem; }
  .trust-icon { font-size:1.5rem; }
  .trust-text strong { font-size:1rem; }
  .trust-text span { font-size:1rem; }
  .services-grid { grid-template-columns:1fr; }
  .service-teaser-grid { grid-template-columns:1fr; gap:1rem; }
  .systems-grid { grid-template-columns:1fr !important; }
  .service-teaser { padding:0; }
  .service-teaser-body { padding:1.2rem; }
  .service-teaser p { font-size:1rem; line-height:1.6; }
  .service-teaser h4 { font-size:1rem; }
  .service-teaser .st-price { font-size:1rem; }
  .service-teaser .st-link { font-size:1rem; }
  .steps-row { grid-template-columns:1fr 1fr; gap:0.7rem; }
  .step-card { padding:1.2rem 1rem; }
  .step-n { font-size:2rem; }
  .step-title { font-size:1rem; }
  .step-desc { font-size:1rem; }
  .sys-row { gap:0.4rem; margin-top:1rem; }
  .sys-chip { font-size:1rem; padding:0.3rem 0.7rem; }
  .upl-block { padding:1rem 1.2rem; margin-top:1.5rem; }
  .upl-block p { font-size:1rem; }
  .form-card { padding:1.5rem 1rem; }
  .form-title { font-size:1.2rem; }
  .form-sub { font-size:1rem; margin-bottom:1.2rem; }
  .form-section { padding:2rem 20px; }
  footer { padding:2rem 20px; }
  .footer-grid { grid-template-columns:1fr; gap:1.2rem; }
  .footer-bottom { flex-direction:column; gap:0.5rem; text-align:center; }
  .footer-brand p { font-size:1rem; }
  .footer-links a { font-size:1rem; }
  .upl-brief { font-size:1rem; }
  .lang-bar, .utility-bar { padding:0.3rem 20px; }
  .utility-bar-inner { flex-direction:column; gap:0.3rem; text-align:center; }
  .utility-info { font-size:1rem; }
  #main-nav { padding:0.8rem 20px; }
  .mobile-nav { padding:1rem 20px; }
  .faq-list { padding:0; }
  .faq-q { font-size:1rem; padding:0.8rem 1rem; }
  .faq-a { font-size:1rem; }
  .scard-body { padding:1.2rem; }
  .scard-head { padding:1.4rem 1.2rem 1rem; }
  .scard-desc { font-size:1rem; }
  .scard-list li { font-size:1rem; }
}

/* ── Small Mobile (480px) ── */
@media(max-width:480px) {
  .section, .section-dark, .section-cream { padding:1.5rem 16px; }
  .hero { padding:2rem 16px 1.5rem; min-height:80vh; }
  .hero h1 { font-size:clamp(1.4rem,6vw,1.8rem); }
  .steps-row { grid-template-columns:1fr; }
  .impact-grid { grid-template-columns:1fr 1fr; gap:0.5rem; }
  .impact-num { font-size:1.3rem; }
  .impact-strip, .trust-strip { padding:1.5rem 16px; }
  .roi-strip { padding:0.7rem 16px; }
  .service-teaser-body { padding:1rem; }
  .form-section { padding:1.5rem 16px; }
  footer { padding:1.5rem 16px; }
  #main-nav { padding:0.7rem 16px; }
  .frow { grid-template-columns:1fr; }
  .svc-pick { grid-template-columns:1fr; }
  .service-teaser-grid { grid-template-columns:1fr; }
  .svc-overview-grid { grid-template-columns:1fr !important; }
}

/* ── iPhone 16 Pro Max (430px) ── */
@media(max-width:430px) {
  .section, .section-dark, .section-cream { padding:1.2rem 14px; }
  .hero { padding:1.5rem 14px 1.2rem; }
  .hero h1 { font-size:clamp(1.3rem,5.5vw,1.7rem); }
  .hero-desc { font-size:1rem; line-height:1.6; margin-bottom:1rem; }
  .eyebrow { font-size:1rem; padding:0.25rem 0.7rem; margin-bottom:0.8rem; }
  .hero-eyebrow { font-size:1rem; padding:0.25rem 0.7rem; margin-bottom:0.8rem; }
  .hero-btns { flex-direction:column; gap:0.5rem; margin-bottom:1rem; }
  .hero-btns a, .hero-btns button { text-align:center; width:100%; font-size:1rem; padding:0.55rem 1rem; }
  .hero-trust { gap:0.3rem; }
  .trust-pill { font-size:1rem; padding:0.2rem 0.5rem; }
  .hero-pill { font-size:1rem; padding:0.2rem 0.5rem; }
  .section-title { font-size:clamp(1.1rem,4.5vw,1.4rem); margin-bottom:0.3rem; }
  .section-label { font-size:1rem; margin-bottom:0.25rem; }
  .gold-rule { margin:0.4rem 0 0.8rem; }
  .section-dark p, .section-dark .sys-desc { font-size:1rem; line-height:1.6; margin-bottom:0.5rem; }
  .section-dark h3 { font-size:1rem; margin-bottom:0.4rem; }
  .roi-strip { padding:0.8rem 14px; display:grid; grid-template-columns:repeat(3,1fr); gap:0.4rem 0.2rem; text-align:center; justify-items:center; }
  .roi-item { width:100%; }
  .roi-num { font-size:1.2rem; }
  .roi-label { font-size:1rem; }
  .service-teaser-grid { grid-template-columns:1fr; gap:0.8rem; }
  .service-teaser h4 { font-size:1rem; }
  .service-teaser p { font-size:1rem; line-height:1.6; margin-bottom:0.5rem; }
  .service-teaser-price { font-size:1rem; }
  .service-teaser-link { font-size:1rem; }
  .service-teaser-icon { font-size:1.8rem; margin-bottom:0.5rem; }
  .service-teaser .st-icon { font-size:1.8rem; }
  .service-teaser .st-price { font-size:1rem; }
  .service-teaser .st-link { font-size:1rem; }
  .service-extras p { font-size:1rem; }
  .sys-row { gap:0.3rem; }
  .sys-chip { font-size:1rem; padding:0.25rem 0.6rem; }
  .steps-row { grid-template-columns:1fr; gap:0.6rem; }
  .step-card { padding:1rem 0.9rem; }
  .step-n { font-size:2rem; }
  .step-title { font-size:1rem; }
  .step-desc { font-size:1rem; line-height:1.6; }
  .impact-strip, .trust-strip { padding:1.2rem 14px; }
  .impact-strip h2, .trust-strip h2 { font-size:clamp(1.1rem,4.5vw,1.4rem); }
  .impact-sub, .trust-sub { font-size:1rem; margin-bottom:0.8rem; }
  .impact-grid { grid-template-columns:1fr 1fr; gap:0.4rem; }
  .impact-card { padding:0.8rem 0.6rem; }
  .impact-num { font-size:1.2rem; }
  .impact-label { font-size:1rem; }
  .trust-grid { grid-template-columns:1fr; gap:0.5rem; }
  .trust-badge { padding:0.7rem; gap:0.6rem; }
  .trust-icon { font-size:1.3rem; }
  .trust-text strong { font-size:1rem; }
  .trust-text span { font-size:1rem; }
  .services-grid { grid-template-columns:1fr; }
  .scard-head { padding:1.2rem 1rem 0.8rem; }
  .scard-body { padding:1rem; }
  .scard-name { font-size:1rem; }
  .scard-price { font-size:1.8rem; }
  .scard-desc { font-size:1rem; }
  .scard-list li { font-size:1rem; }
  .pay-btn { font-size:1rem; padding:0.7rem; }
  .faq-q { font-size:1rem; padding:0.7rem 0.9rem; }
  .faq-a { font-size:1rem; line-height:1.6; }
  .form-section { padding:1.2rem 14px; }
  .form-card { padding:1.2rem 0.9rem; }
  .form-title { font-size:1.1rem; }
  .form-sub { font-size:1rem; margin-bottom:1rem; }
  .svc-pick { grid-template-columns:1fr; gap:0.5rem; }
  .svc-pick-option { padding:0.7rem; }
  .svc-pick-option span { font-size:1rem; }
  .frow { grid-template-columns:1fr; gap:0.6rem; }
  .fcol textarea { width:100%; min-height:70px; }
  .fcol label { font-size:1rem; }
  .fcol input, .fcol select, .fcol textarea { font-size:1rem; padding:0.6rem 0.75rem; }
  .upl-block { padding:0.9rem 1rem; margin-top:1rem; }
  .upl-block h4 { font-size:1rem; }
  .upl-block p { font-size:1rem; }
  .btn-primary { font-size:1rem; padding:0.5rem 1.1rem; }
  .btn-outline { font-size:1rem; padding:0.5rem 1.1rem; }
  footer { padding:1.2rem 14px; }
  .footer-grid { grid-template-columns:1fr; gap:1rem; }
  .footer-bottom { flex-direction:column; gap:0.4rem; text-align:center; }
  .footer-brand p { font-size:1rem; }
  .footer-links a { font-size:1rem; }
  .upl-brief { font-size:1rem; }
  .lang-bar, .utility-bar { padding:0.25rem 14px; }
  #main-nav { padding:0.6rem 14px; }
  .nav-logo { font-size:1rem; }
  .nav-logo-sub { font-size:1rem; }
  .mobile-nav { padding:0.8rem 14px; }
  .modal { max-width:calc(100vw - 20px); }
  .modal-body { padding:1.2rem 1rem; }
  .modal-head { padding:1.2rem 1rem; }
  .modal-head h3 { font-size:1.1rem; }
  .modal-step-text strong { font-size:1rem; }
  .modal-step-text p { font-size:1rem; }
  .modal-pay-btn { font-size:1rem; padding:0.75rem; }
  #sp-window { width:calc(100vw - 20px); right:10px; bottom:80px; height:450px; }
  #sp-bubble { bottom:16px; right:16px; height:42px; padding:0 16px; }
  #sp-bubble-label { font-size:1rem; }
  #btt-btn { bottom:74px; right:16px; width:38px; height:38px; font-size:1rem; }
  .sp-msg { font-size:1rem; }
  #sp-disclaimer { font-size:1rem; }
  .form-disclaimer { font-size:1rem; }
}

/* ── Large Screens (1200px+) ── */
@media(min-width:1200px) {
  .hero { padding:0 8%; min-height:85vh; }
  .hero-inner { max-width:600px; margin-left:8%; }
  .hero h1 { font-size:3.4rem; }
  .hero-desc { max-width:550px; font-size:1.08rem; }
  .section-inner { max-width:90%; margin:0 auto; }
  .roi-inner { max-width:90%; }
  .impact-grid { max-width:90%; margin:0 auto; grid-template-columns:repeat(5, 1fr); }
  .trust-grid { max-width:90%; margin:0 auto; }
  .faq-list { max-width:75%; }
  .form-wrap { max-width:60%; min-width:680px; }
  .footer-grid { max-width:90%; }
  .footer-bottom { max-width:90%; }
  .upl-brief { max-width:90%; }
  .upl-block { max-width:90%; }
  section { padding-left:5%; padding-right:5%; }
  .service-teaser-grid { max-width:700px; margin-left:auto; margin-right:auto; grid-template-columns:repeat(2,1fr); }
  .services-grid { grid-template-columns:repeat(auto-fit,minmax(380px,1fr)); gap:2rem; }
}

/* ── XL Screens (1400px+) ── */
@media(min-width:1400px) {
  .hero { padding:0 6%; }
  .hero-inner { max-width:650px; }
  .hero h1 { font-size:3.8rem; line-height:1.12; }
  .hero-desc { max-width:580px; font-size:1.15rem; line-height:1.8; }
  .section, .section-dark, .section-cream { padding:1.5rem 5%; }
  .section-inner { max-width:92%; }
  .roi-strip { padding:1.5rem 5%; }
  .roi-inner { max-width:92%; }
  .impact-strip { padding:1.5rem 5%; }
  .impact-grid { max-width:92%; }
  .trust-strip { padding:1.5rem 5%; }
  .trust-grid { max-width:92%; }
  .faq-list { max-width:70%; }
  .form-section { padding:2rem 5%; }
  .form-wrap { max-width:55%; min-width:720px; }
  .footer-grid { max-width:92%; }
  .footer-bottom { max-width:92%; }
  .upl-brief { max-width:92%; }
  .upl-block { max-width:92%; }
  .service-teaser-grid { max-width:750px; gap:1.2rem; }
  footer { padding:2rem 5%; }
}

/* ── Full HD (1800px+) ── */
@media(min-width:1800px) {
  .hero-inner { max-width:700px; }
  .hero h1 { font-size:4.2rem; letter-spacing:-0.01em; }
  .hero-desc { max-width:620px; font-size:1.2rem; }
  .hero-trust { gap:0.8rem; }
  .trust-pill { font-size:1rem; padding:0.4rem 1rem; }
  .section, .section-dark, .section-cream { padding:1.5rem 5%; }
  .section-inner { max-width:90%; }
  .section-title { font-size:2.8rem; }
  .roi-strip { padding:1.6rem 5%; }
  .roi-inner { max-width:90%; }
  .roi-num { font-size:2.2rem; }
  .roi-label { font-size:1rem; }
  .impact-strip { padding:1.5rem 5%; }
  .impact-grid { max-width:90%; gap:1.5rem; }
  .impact-card { padding:2rem 1.5rem; }
  .impact-num { font-size:2.6rem; }
  .trust-strip { padding:1.5rem 5%; }
  .trust-grid { max-width:90%; gap:1.5rem; }
  .trust-badge { padding:1.5rem; }
  .faq-list { max-width:65%; }
  .faq-q { font-size:1rem; padding:1.2rem 1.5rem; }
  .faq-a { font-size:1rem; }
  .form-section { padding:2rem 5%; }
  .form-wrap { max-width:50%; min-width:800px; }
  .form-card { padding:2.5rem; }
  .footer-grid { max-width:90%; }
  .footer-bottom { max-width:90%; }
  .upl-brief { max-width:88%; }
  .upl-block { max-width:88%; }
  .service-teaser-grid { max-width:800px; gap:1.2rem; }
  .service-teaser-body { padding:1rem; }
  .service-teaser h4 { font-size:1.15rem; }
  .service-teaser p { font-size:1rem; }
  .service-teaser-price { font-size:1.25rem; }
  footer { padding:2rem 5%; }
  body { font-size:1.05rem; }
  .sys-chip { font-size:1rem; padding:0.55rem 1.3rem; }
  .services-grid { grid-template-columns:repeat(2,1fr); gap:2rem; }
}

/* ── Ultra Wide (2400px+) ── */
@media(min-width:2400px) {
  .hero-inner { max-width:750px; }
  .hero h1 { font-size:5.2rem; }
  .hero-desc { max-width:680px; font-size:1.35rem; }
  .section, .section-dark, .section-cream { padding:1.5rem 4%; }
  .section-inner { max-width:88%; }
  body { font-size:1.12rem; }
  .section-title { font-size:3rem; }
  .impact-grid { max-width:88%; }
  .trust-grid { max-width:88%; }
  .service-teaser-grid { max-width:88%; }
  .faq-list { max-width:60%; }
  .form-wrap { max-width:45%; min-width:900px; }
  .footer-grid { max-width:88%; }
  .footer-bottom { max-width:88%; }
  .roi-strip { padding:1.8rem 4%; }
  .roi-inner { max-width:88%; }
  .roi-num { font-size:2.5rem; }
  .impact-card { padding:2.5rem 2rem; }
  .impact-num { font-size:3rem; }
  .service-teaser-body { padding:1rem; }
  .service-teaser h4 { font-size:1.3rem; }
  footer { padding:2rem 4%; }
}

/* ============================================================
   EMAIL CAPTURE SYSTEM
   ============================================================ */

/* ── Inline Form ── */
.email-capture-section { border-top:2px solid var(--gold); border-bottom:2px solid var(--gold); }
.email-capture-form { display:flex; gap:.6rem; max-width:480px; margin:0 auto; flex-wrap:wrap; justify-content:center; }
.email-capture-input {
  flex:1; min-width:200px; padding:.85rem 1.2rem; border:1px solid rgba(200,168,78,.3);
  border-radius:8px; background:rgba(255,255,255,.06); color:#fff; font-size:1rem;
  font-family:var(--font-body); outline:none; transition:border .3s;
}
.email-capture-input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,168,78,.15); }
.email-capture-input::placeholder { color:rgba(255,255,255,.4); }
.email-capture-btn {
  padding:.85rem 1.8rem; background:var(--gold); color:var(--white); font-weight:700;
  font-size:1rem; border:none; border-radius:8px; cursor:pointer;
  font-family:var(--font-body); transition:background .3s, transform .15s; white-space:nowrap;
}
.email-capture-btn:hover { background:var(--gold2); transform:translateY(-1px); }
.email-capture-btn:active { transform:translateY(0); }
.email-capture-note { font-size:1rem; opacity:.5; margin-top:.8rem; }
.email-capture-success { color:#4ade80; font-weight:600; font-size:1.05rem; margin-top:1rem; }

/* ── Exit-Intent Popup ── */
.exit-popup-overlay {
  position:fixed; inset:0; z-index:10000; background:rgba(0,0,0,.7);
  display:none; align-items:center; justify-content:center; padding:1rem;
  backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
  animation:fadeInOverlay .3s ease;
}
.exit-popup-overlay.open { display:flex; }
@keyframes fadeInOverlay { from { opacity:0; } to { opacity:1; } }
.exit-popup {
  background:linear-gradient(135deg,#0d1f3c,#132d54); border:2px solid var(--gold);
  border-radius:16px; padding:2.5rem 2rem; max-width:460px; width:100%;
  text-align:center; position:relative; box-shadow:0 20px 60px rgba(0,0,0,.5);
  animation:popupSlideIn .35s ease;
}
@keyframes popupSlideIn { from { transform:translateY(20px);opacity:0; } to { transform:translateY(0);opacity:1; } }
.exit-popup-close {
  position:absolute; top:.8rem; right:1rem; background:none; border:none;
  color:rgba(255,255,255,.5); font-size:1.8rem; cursor:pointer; line-height:1;
}
.exit-popup-close:hover { color:#fff; }
.exit-popup-icon { font-size:3rem; margin-bottom:1rem; }
.exit-popup h3 { color:var(--gold); font-family:var(--font-accent); font-size:1.4rem; margin-bottom:.8rem; }
.exit-popup p { color:rgba(255,255,255,.85); font-size:1rem; line-height:1.6; margin-bottom:1.2rem; }
.exit-popup .email-capture-form { max-width:100%; }

/* ── Sticky Bottom Bar ── */
.sticky-email-bar {
  position:fixed; bottom:0; left:0; right:0; z-index:9000;
  background:linear-gradient(90deg,#0a1628,#132d54); border-top:2px solid var(--gold);
  padding:.7rem 1rem; display:none;
  box-shadow:0 -4px 20px rgba(0,0,0,.3);
  animation:slideUpBar .4s ease;
}
.sticky-email-bar.visible { display:block; }
@keyframes slideUpBar { from { transform:translateY(100%); } to { transform:translateY(0); } }
.sticky-bar-inner {
  max-width:900px; margin:0 auto; display:flex; align-items:center;
  gap:.8rem; flex-wrap:wrap; justify-content:center;
}
.sticky-bar-text { color:#fff; font-size:1rem; flex-shrink:0; }
.sticky-bar-form { display:flex; gap:.4rem; flex:1; min-width:200px; max-width:360px; }
.sticky-bar-input {
  flex:1; padding:.6rem .8rem; border:1px solid rgba(200,168,78,.3);
  border-radius:6px; background:rgba(255,255,255,.08); color:#fff;
  font-size:1rem; font-family:var(--font-body); outline:none; min-width:120px;
}
.sticky-bar-input:focus { border-color:var(--gold); }
.sticky-bar-input::placeholder { color:rgba(255,255,255,.35); }
.sticky-bar-btn {
  padding:.6rem 1rem; background:var(--gold); color:var(--white); font-weight:700;
  font-size:1rem; border:none; border-radius:6px; cursor:pointer; white-space:nowrap;
  font-family:var(--font-body);
}
.sticky-bar-btn:hover { background:var(--gold2); }
.sticky-bar-dismiss {
  background:none; border:none; color:rgba(255,255,255,.4); font-size:1.4rem;
  cursor:pointer; padding:0 .3rem; line-height:1;
}
.sticky-bar-dismiss:hover { color:#fff; }

@media(max-width:600px){
  .exit-popup { padding:2rem 1.2rem; }
  .exit-popup h3 { font-size:1.2rem; }
  .email-capture-form { flex-direction:column; }
  .email-capture-input { min-width:100%; }
  .sticky-bar-inner { flex-direction:column; gap:.5rem; }
  .sticky-bar-text { font-size:1rem; text-align:center; }
  .sticky-bar-form { max-width:100%; width:100%; }
}

/* Checkout terms micro-copy (clickwrap consent) */
.terms-micro{color:#8a8a8a !important;font-size:16px !important;margin-top:10px;line-height:1.5;font-weight:400;opacity:0.85;}
.terms-micro a{color:inherit !important;text-decoration:underline;text-underline-offset:2px;font-weight:500;}
.terms-micro a:hover{color:var(--gold);}

/* === Accessibility + LCP/CLS pass (Apr 23) === */
/* Skip-to-content link — see full rule at ~line 1406 */

/* Visible focus for keyboard users */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px;}
.btn-primary:focus-visible,.m-cta:focus-visible{outline:3px solid #fff;outline-offset:3px;}

/* Kill CLS on images lacking explicit dims */
img{max-width:100%;height:auto;}

/* Mobile readability floor — 16px min for body text and labels */
@media(max-width:768px){
  body,p,li,a,span,label,input,select,textarea,button{font-size:max(1rem, 16px);}
  .utility-info,.lbtn,.nav-links a,.hero-desc,.step-desc,.trust-text span,.trust-text strong,.form-sub,.success-screen p,.upl-block p,.service-teaser p,.scard-list li,.page-limit-text,.form-disclaimer,.modal-head p,.modal-step-text p,.modal-step-text strong,.sticky-bar-text{font-size:1rem !important;line-height:1.55;}
  .section-label,.ffield label,.svc-lbl-name,.trust-pill,.hero-pill,.sys-chip{font-size:1rem !important;}
  .svc-lbl-note,.scard-timing,.pay-trust,.roi-label,.upl-block h4{font-size:1rem !important;}
  .terms-micro{font-size:16px !important;}
}

/* ── Hero CTA polish — single dominant primary action ──────────────── */
.hero-cta{
  font-size:1.18rem !important;
  padding:1.15rem 2.4rem !important;
  font-weight:800 !important;
  letter-spacing:.005em;
  background:linear-gradient(135deg,var(--gold,#c9a66b) 0%,#b08e3f 100%) !important;
  color:#0a1628 !important;
  border:none !important;
  border-radius:12px !important;
  box-shadow:0 12px 32px rgba(201,166,107,.32),0 0 0 1px rgba(255,255,255,.08) inset !important;
  transition:transform .18s ease,box-shadow .18s ease !important;
}
.hero-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 44px rgba(201,166,107,.42),0 0 0 1px rgba(255,255,255,.12) inset !important;
}
.hero-fineprint{
  margin-top:.9rem;
  font-size:1rem;
  color:rgba(255,255,255,0.7);
  line-height:1.55;
  letter-spacing:.005em;
  max-width:560px;
}
.hero-secondary{
  margin-top:1.2rem;
  font-size:1rem;
  color:rgba(255,255,255,0.55);
  line-height:1.6;
  font-weight:500;
}
.hero-secondary a{
  color:rgba(255,255,255,0.78);
  text-decoration:none;
  font-weight:600;
  border-bottom:1px solid rgba(255,255,255,0.2);
  padding-bottom:1px;
  transition:color .15s ease,border-color .15s ease;
}
.hero-secondary a:hover{
  color:var(--gold,#c9a66b);
  border-bottom-color:var(--gold,#c9a66b);
}

/* ── State Quick-Entry (single horizontal band under hero) ─────────── */
#state-quick-entry{
  background:#fff;
  border-bottom:1px solid rgba(10,22,40,.08);
  padding:.9rem 5%;
}
#state-quick-entry .sqe-bar{
  max-width:1180px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:1.2rem;
  flex-wrap:wrap;
}
#state-quick-entry .sqe-label{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:var(--navy,#0a1628);
  font-family:var(--font-heading);
  font-size:1rem;
  font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
  flex-shrink:0;
}
#state-quick-entry .sqe-label svg{color:var(--gold,#c9a66b);flex-shrink:0;}
#state-quick-entry .sqe-chips{
  display:flex;
  gap:.4rem;
  flex:1;
  flex-wrap:nowrap;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:2px 0;
}
#state-quick-entry .sqe-chips::-webkit-scrollbar{display:none;}
#state-quick-entry .qs-chip{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  height:36px;
  padding:0 .7rem;
  background:#fff;
  border:1px solid rgba(10,22,40,.12);
  color:var(--navy,#0a1628);
  border-radius:8px;
  font-family:var(--font-body);
  text-decoration:none;
  transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;
  flex-shrink:0;
  white-space:nowrap;
}
#state-quick-entry .qs-chip .qs-code{
  font-size:1rem;
  font-weight:800;
  letter-spacing:.04em;
  color:var(--gold,#c9a66b);
}
#state-quick-entry .qs-chip .qs-name{
  font-size:1rem;
  font-weight:600;
  color:var(--navy,#0a1628);
}
#state-quick-entry .qs-chip:hover{
  border-color:var(--navy,#0a1628);
  background:var(--navy,#0a1628);
  transform:translateY(-1px);
  box-shadow:0 3px 10px rgba(10,22,40,.12);
}
#state-quick-entry .qs-chip:hover .qs-code,
#state-quick-entry .qs-chip:hover .qs-name{color:#fff;}
#state-quick-entry .qs-chip:hover .qs-code{color:var(--gold,#c9a66b);}
#state-quick-entry .sqe-all{
  font-family:var(--font-heading);
  font-size:1rem;
  font-weight:800;
  color:var(--navy,#0a1628);
  text-decoration:none;
  letter-spacing:.01em;
  white-space:nowrap;
  flex-shrink:0;
  border-bottom:1.5px solid var(--gold,#c9a66b);
  padding-bottom:1px;
  transition:color .15s ease;
}
#state-quick-entry .sqe-all:hover{color:var(--gold,#c9a66b);}
@media (max-width:760px){
  #state-quick-entry{padding:.75rem 4%;}
  #state-quick-entry .sqe-bar{gap:.7rem;}
  #state-quick-entry .sqe-label{width:100%;justify-content:center;}
  #state-quick-entry .sqe-chips{flex:1 1 100%;justify-content:flex-start;overflow-x:auto;}
  #state-quick-entry .sqe-all{width:100%;text-align:center;}
}

/* ── State Guides (search-first w/ progressive disclosure) ─────────── */
#state-guides{
  background:linear-gradient(180deg,#f7f5f0 0%,#efe9db 100%);
  padding:4rem 5% 4.5rem;
  border-top:1px solid rgba(10,22,40,.08);
  position:relative;
  overflow:hidden;
}
#state-guides .sg-gold-rule{
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:260px;height:3px;
  background:linear-gradient(90deg,transparent,var(--gold,#c9a66b),transparent);
}
#state-guides .sg-inner{max-width:1080px;margin:0 auto;}

/* Header */
#state-guides .sg-head{text-align:center;margin-bottom:1.8rem;}
#state-guides .sg-eyebrow{
  font-size:1rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold,#c9a66b);font-weight:800;margin-bottom:.65rem;
}
#state-guides .sg-title{
  font-family:var(--font-heading);
  font-size:clamp(1.8rem,3.6vw,2.6rem);
  color:var(--navy,#0a1628);
  margin:0 0 .55rem;letter-spacing:-.015em;line-height:1.1;font-weight:800;
}
#state-guides .sg-sub{
  color:var(--text-muted,#5a5a5a);font-size:1rem;line-height:1.55;
  max-width:560px;margin:0 auto;
}

/* Big search */
#state-guides .sg-search-wrap{
  position:relative;max-width:540px;margin:0 auto 2rem;
}
#state-guides .sg-search-icon{
  position:absolute;left:1.2rem;top:50%;transform:translateY(-50%);
  color:var(--gold,#c9a66b);pointer-events:none;
}
#state-guides #state-filter{
  width:100%;
  padding:1.05rem 1.2rem 1.05rem 3.2rem;
  font-size:1.05rem;
  font-family:var(--font-body);
  border:2px solid rgba(10,22,40,.1);
  border-radius:14px;
  background:#fff;
  color:var(--navy,#0a1628);
  outline:none;
  box-shadow:0 4px 16px rgba(10,22,40,.06);
  transition:border-color .2s ease,box-shadow .2s ease;
}
#state-guides #state-filter:focus{
  border-color:var(--gold,#c9a66b);
  box-shadow:0 0 0 4px rgba(201,166,107,.18),0 4px 16px rgba(10,22,40,.06);
}
#state-guides #state-filter::placeholder{color:rgba(10,22,40,.45);}

/* Autocomplete suggestions */
#state-guides .sg-suggest{
  position:absolute;
  top:calc(100% + 6px);
  left:0;right:0;
  background:#fff;
  border:1px solid rgba(10,22,40,.1);
  border-radius:14px;
  box-shadow:0 16px 40px rgba(10,22,40,.14);
  list-style:none;
  margin:0;padding:.4rem;
  z-index:50;
  max-height:320px;
  overflow-y:auto;
}
#state-guides .sg-suggest[hidden]{display:none;}
#state-guides .sg-suggest li{margin:0;padding:0;}
#state-guides .sg-suggest a,
#state-guides .sg-suggest .sg-suggest-empty{
  display:flex;align-items:center;gap:.7rem;
  padding:.7rem .85rem;
  border-radius:9px;
  text-decoration:none;
  color:var(--navy,#0a1628);
  font-size:1rem;font-weight:600;
  transition:background .12s ease;
}
#state-guides .sg-suggest a .sf-code{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:24px;
  background:rgba(10,22,40,.06);
  color:var(--navy,#0a1628);
  font-size:1rem;font-weight:800;letter-spacing:.04em;
  border-radius:5px;flex-shrink:0;
}
#state-guides .sg-suggest a:hover,
#state-guides .sg-suggest a.sg-active{
  background:var(--navy,#0a1628);color:#fff;
}
#state-guides .sg-suggest a:hover .sf-code,
#state-guides .sg-suggest a.sg-active .sf-code{
  background:var(--gold,#c9a66b);color:#0a1628;
}
#state-guides .sg-suggest .sg-suggest-empty{
  color:var(--text-muted,#7a8090);font-weight:500;justify-content:center;
}

/* Most-searched featured */
#state-guides .sg-featured-wrap{margin-bottom:1.6rem;}
#state-guides .sg-featured-label{
  display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;
  margin-bottom:.7rem;
}
#state-guides .sg-featured-label span{
  font-family:var(--font-heading);
  font-size:1rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--navy,#0a1628);font-weight:800;
}
#state-guides .sg-featured-label em{
  font-style:normal;font-size:1rem;color:var(--text-muted,#7a8090);font-weight:500;
}
#state-guides .sg-featured{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.65rem;
}
@media (max-width:760px){#state-guides .sg-featured{grid-template-columns:repeat(2,minmax(0,1fr));}}

#state-guides .sg-feat{
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:.95rem 1rem;
  background:#fff;
  border:1.5px solid rgba(10,22,40,.1);
  border-radius:12px;
  text-decoration:none;
  color:var(--navy,#0a1628);
  box-shadow:0 2px 8px rgba(10,22,40,.04);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;
  min-height:56px;
}
#state-guides .sg-feat .sf-code{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:30px;
  background:linear-gradient(135deg,var(--gold,#c9a66b) 0%,#b08e3f 100%);
  color:#0a1628;
  font-size:1rem;font-weight:800;letter-spacing:.04em;
  border-radius:6px;
  flex-shrink:0;
  transition:transform .15s ease;
}
#state-guides .sg-feat .sf-name{
  font-size:1rem;font-weight:700;letter-spacing:-.005em;
  color:var(--navy,#0a1628);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#state-guides .sg-feat:hover{
  transform:translateY(-2px);
  border-color:var(--navy,#0a1628);
  background:var(--navy,#0a1628);
  box-shadow:0 8px 24px rgba(10,22,40,.18);
}
#state-guides .sg-feat:hover .sf-name{color:#fff;}
#state-guides .sg-feat:hover .sf-code{transform:scale(1.05);}

/* Expand toggle */
#state-guides .sg-expand-btn{
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  margin:.4rem auto 0;
  padding:.65rem 1.4rem;
  background:transparent;
  border:1.5px solid rgba(10,22,40,.18);
  border-radius:999px;
  color:var(--navy,#0a1628);
  font-family:var(--font-heading);
  font-size:1rem;font-weight:700;letter-spacing:.02em;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
  min-height:44px;
}
#state-guides .sg-expand-btn:hover{
  background:var(--navy,#0a1628);border-color:var(--navy,#0a1628);color:#fff;
}
#state-guides .sg-expand-btn .sg-expand-arrow{transition:transform .2s ease;}
#state-guides .sg-expand-btn[aria-expanded="true"] .sg-expand-arrow{transform:rotate(180deg);}

/* Grid wrap (collapsible) */
#state-guides .sg-grid-wrap{display:grid;gap:1.6rem;margin-top:2rem;}
#state-guides .sg-grid-wrap[hidden]{display:none;}

/* ── State grid — All 50 States grid ───────────────────────────────── */
#state-guides{position:relative;}
#state-guides .state-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.5rem;
}
@media (max-width:1024px){#state-guides .state-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:768px){#state-guides .state-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:480px){#state-guides .state-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

#state-guides .state-card{
  display:flex;
  align-items:center;
  gap:.6rem;
  padding:.7rem .85rem;
  background:#fff;
  border:1px solid rgba(10,22,40,.08);
  border-radius:8px;
  text-decoration:none;
  color:var(--navy,#0a1628);
  font-family:var(--font-body);
  transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;
  box-shadow:0 1px 0 rgba(10,22,40,.02);
  min-height:48px;
}
#state-guides .state-card .sc-code{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:24px;
  background:rgba(10,22,40,.06);
  color:var(--navy,#0a1628);
  font-size:1rem;
  font-weight:800;
  letter-spacing:.04em;
  border-radius:4px;
  flex-shrink:0;
  transition:background .15s ease,color .15s ease;
}
#state-guides .state-card .sc-name{
  font-size:1rem;
  font-weight:600;
  color:var(--navy,#0a1628);
  letter-spacing:-.005em;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#state-guides .state-card:hover{
  border-color:var(--navy,#0a1628);
  background:var(--navy,#0a1628);
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(10,22,40,.12);
}
#state-guides .state-card:hover .sc-code{
  background:var(--gold,#c9a66b);
  color:var(--navy,#0a1628);
}
#state-guides .state-card:hover .sc-name{color:#fff;}
/* Featured states: subtle right-edge gold rule, not a fill */
#state-guides .state-card.featured{
  border-left:3px solid var(--gold,#c9a66b);
  padding-left:calc(.85rem - 2px);
}

/* Region header: editorial eyebrow + thin rule */
#state-guides .region-block{margin-bottom:1.5rem;}
#state-guides .region-block:last-child{margin-bottom:0;}
#state-guides .region-head{
  display:flex;
  align-items:center;
  gap:.85rem;
  margin-bottom:.85rem;
}
#state-guides .region-head .label{
  font-family:var(--font-heading);
  font-size:1rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--navy,#0a1628);
  font-weight:800;
  white-space:nowrap;
}
#state-guides .region-head .rule{
  flex:1;
  height:1px;
  background:linear-gradient(90deg,rgba(10,22,40,.18),rgba(10,22,40,.02));
}
#state-guides .region-head .count{
  font-size:1rem;
  color:var(--text-muted,#7a8090);
  font-weight:600;
  letter-spacing:.05em;
}

/* Focus-visible — keyboard-only focus rings (mouse clicks stay clean) */
:focus{outline:none;}
:focus-visible{
  outline:3px solid var(--gold,#c9a66b);
  outline-offset:2px;
  border-radius:4px;
  box-shadow:0 0 0 2px rgba(10,22,40,0.85);
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--gold,#c9a66b);
  outline-offset:2px;
}
/* Skip-to-content link — visible only on focus */
.skip-to-content{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;height:1px;
  overflow:hidden;
}
.skip-to-content:focus{
  position:fixed;
  left:1rem;top:1rem;
  width:auto;height:auto;
  background:var(--navy,#0a1628);
  color:#fff;
  padding:1rem 1.5rem;
  border-radius:8px;
  font-weight:700;
  z-index:9999;
  text-decoration:none;
  box-shadow:0 8px 32px rgba(0,0,0,0.4);
}

/* Reduced-motion guard — respect OS-level preference (vestibular safety) */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
    scroll-behavior:auto !important;
  }
  .hero-slide,.hero{animation:none !important;}
  .reveal,.reveal-left,.reveal-right{opacity:1 !important;transform:none !important;}
}

/* ============================================
   GUIDES DROPDOWN MENU — added May 3 2026
   ============================================ */
.nav-links li.has-dropdown { position: relative; }
.nav-links li.has-dropdown > a { cursor: pointer; }

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 340px;
  background: #ffffff;
  border: 1px solid rgba(10,22,40,0.08);
  border-top: 3px solid var(--gold, #c9a66b);
  border-radius: 8px;
  box-shadow: 0 12px 40px rgba(10,22,40,0.18), 0 4px 12px rgba(10,22,40,0.08);
  padding: 14px 0;
  margin: 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
  z-index: 1000;
}

.dropdown-menu--wide {
  min-width: 420px;
  max-height: 82vh;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--gold, #c9a66b) #f0ece2;
}

.dropdown-menu--grid {
  min-width: 340px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.dropdown-menu--grid .dropdown-divider {
  grid-column: 1 / -1;
}
.dropdown-menu--grid li:last-child {
  grid-column: 1 / -1;
}
.dropdown-menu--grid .dd-icon {
  margin-right: 6px;
  font-size: .85em;
}
.dropdown-menu--grid li a {
  font-size: 1rem;
  padding: 10px 14px;
  white-space: nowrap;
}

.nav-links li.has-dropdown:hover .dropdown-menu,
.nav-links li.has-dropdown:focus-within .dropdown-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.dropdown-menu li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.dropdown-menu li a {
  display: block;
  padding: 10px 26px 10px 50px;
  color: #1a2440;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  transition: background 0.14s ease, color 0.14s ease, padding-left 0.14s ease;
  border-left: 3px solid transparent;
}

.dropdown-menu li a:hover,
.dropdown-menu li a:focus {
  background: #faf6ec;
  color: var(--navy, #0a1628);
  border-left: 3px solid var(--gold, #c9a66b);
  padding-left: 54px;
}

.dropdown-heading {
  padding: 14px 26px 6px 50px;
  font-size: 1rem;
  font-weight: 800;
  color: var(--gold, #c9a66b);
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.dropdown-divider {
  height: 1px;
  background: rgba(10,22,40,0.08);
  margin: 10px 26px;
}

.dropdown-menu .dd-tag {
  display: inline-block;
  background: var(--gold, #c9a66b);
  color: #0a1628;
  font-size: 1rem;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 3px;
  margin-left: 6px;
  vertical-align: middle;
  letter-spacing: 0.06em;
}

.dropdown-menu .dropdown-all {
  color: var(--gold, #b8860b) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-align: right;
  padding-right: 26px !important;
}

/* Mobile: dropdown becomes a simple inline list */
@media (max-width: 900px) {
  .dropdown-menu {
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    box-shadow: none;
    border: none;
    border-left: 2px solid var(--gold, #c9a66b);
    border-radius: 0;
    margin: 4px 0 4px 14px;
    padding: 6px 0;
    min-width: auto;
    background: transparent;
  }
  .dropdown-menu li a { padding: 6px 14px; font-size: 1rem; }
  .dropdown-menu .dropdown-heading { padding: 6px 14px 2px; font-size: 1rem; }
  .dropdown-menu .dropdown-divider { display: none; }
}

/* ── Article Accordion ── */
.acc-toggle{cursor:pointer;position:relative;padding:.6rem 3.2rem .6rem .2rem;margin-left:-.2rem;border-radius:6px;user-select:none;transition:background .2s,color .2s;}
.acc-toggle:hover{background:rgba(200,152,10,.08);color:var(--gold);}
.acc-toggle::after{content:'';position:absolute;right:.6rem;top:50%;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:10px solid var(--gold);transform:translateY(-50%) rotate(-90deg);transition:transform .25s;}
.acc-toggle.acc-open::after{transform:translateY(-50%) rotate(0deg);}
.acc-body{overflow:hidden;transition:all .3s ease;}

