/* ============================================================
   ON SITE EMPLOYER SOLUTIONS — GLOBAL STYLESHEET
   ============================================================ */

*{ margin:0; padding:0; box-sizing:border-box; font-family:Poppins,sans-serif; }
body{ background:#0f172a; color:white; line-height:1.6; }
.container{ width:90%; max-width:1200px; margin:auto; }

/* ---- NAV ---- */
header{ position:sticky; top:0; z-index:100; backdrop-filter:blur(10px); background:rgba(15,23,42,0.90); border-bottom:1px solid rgba(255,255,255,0.08); }
.nav{ display:flex; justify-content:space-between; align-items:center; padding:18px 0; flex-wrap:wrap; gap:12px; }
.logo{ font-weight:700; font-size:26px; letter-spacing:1px; color:#38bdf8; text-transform:uppercase; line-height:1.1; text-decoration:none; display:block; }
.logo span{ font-size:14px; letter-spacing:2px; color:#cbd5f5; font-weight:500; }
.nav ul{ display:flex; list-style:none; gap:24px; flex-wrap:wrap; align-items:center; }
.nav a{ color:#cbd5f5; text-decoration:none; font-weight:500; transition:.25s; font-size:15px; }
.nav a:hover, .nav a.active{ color:#38bdf8; }
.btn-nav{ background:rgba(56,189,248,0.12); border:1px solid rgba(56,189,248,0.3); padding:9px 20px; border-radius:8px; color:#38bdf8 !important; font-weight:600 !important; }
.btn-nav:hover{ background:rgba(56,189,248,0.22) !important; }

/* Mobile toggle */
.nav-toggle{ display:none; background:none; border:1px solid rgba(255,255,255,0.15); color:white; padding:8px 12px; border-radius:8px; cursor:pointer; font-size:18px; }
@media(max-width:860px){
  .nav-toggle{ display:block; }
  #navMenu{ display:none; width:100%; flex-direction:column; gap:0; padding-bottom:12px; }
  #navMenu.open{ display:flex; }
  #navMenu li{ width:100%; }
  #navMenu a{ display:block; padding:10px 4px; border-bottom:1px solid rgba(255,255,255,0.05); }
  .nav-dropdown .dropdown-menu{ display:none !important; }
}

/* ---- DROPDOWN ---- */
.nav-dropdown{ position:relative; }
.nav-dropdown > a{ display:flex; align-items:center; gap:5px; }
.nav-dropdown > a::after{ content:'▾'; font-size:11px; transition:.25s; display:inline-block; }
.nav-dropdown:hover > a::after{ transform:rotate(180deg); color:#38bdf8; }
.dropdown-menu{ display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); padding-top:12px; min-width:220px; z-index:200; }
.dropdown-menu-inner{ background:rgba(15,23,42,0.98); border:1px solid rgba(56,189,248,0.2); border-radius:12px; padding:8px; box-shadow:0 20px 40px rgba(0,0,0,0.5); backdrop-filter:blur(16px); }
.nav-dropdown:hover .dropdown-menu{ display:block; animation:fadeDown .18s ease; }
@keyframes fadeDown{ from{ opacity:0; transform:translateX(-50%) translateY(-6px); } to{ opacity:1; transform:translateX(-50%) translateY(0); } }
.dropdown-item{ display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:8px; cursor:pointer; color:#cbd5f5; font-size:14px; font-weight:500; transition:.2s; white-space:nowrap; text-decoration:none; }
.dropdown-item:hover{ background:rgba(56,189,248,0.1); color:#38bdf8; }
.dropdown-item .di-icon{ font-size:17px; width:26px; text-align:center; flex-shrink:0; }
.dropdown-divider{ height:1px; background:rgba(255,255,255,0.07); margin:4px 0; }

/* ---- HERO ---- */
.hero{ padding:120px 0 90px; position:relative; overflow:hidden; }
.hero::before{ content:''; position:absolute; inset:0; background:radial-gradient(circle at 20% 30%,rgba(37,99,235,0.35),transparent 60%), radial-gradient(circle at 80% 60%,rgba(56,189,248,0.25),transparent 60%); pointer-events:none; }
.hero-content{ position:relative; z-index:1; }
.hero-eyebrow{ display:inline-flex; align-items:center; gap:8px; background:rgba(56,189,248,0.1); border:1px solid rgba(56,189,248,0.25); border-radius:20px; padding:6px 16px; font-size:13px; color:#38bdf8; font-weight:600; letter-spacing:.5px; margin-bottom:24px; }
.hero-eyebrow::before{ content:''; width:7px; height:7px; border-radius:50%; background:#38bdf8; animation:pulse 2s infinite; flex-shrink:0; }
@keyframes pulse{ 0%,100%{ opacity:1; } 50%{ opacity:.4; } }
.hero h1{ font-size:52px; max-width:820px; line-height:1.15; margin-bottom:22px; font-weight:700; }
.hero h1 span{ color:#38bdf8; }
.hero p.hero-sub{ max-width:620px; color:#94a3b8; margin-bottom:38px; font-size:17px; line-height:1.7; }
.hero-buttons{ display:flex; gap:16px; flex-wrap:wrap; }

/* Compact hero for inner pages */
.hero-sm{ padding:80px 0 60px; }
.hero-sm h1{ font-size:40px; }

/* ---- BUTTONS ---- */
.btn-primary{ background:#38bdf8; border:none; padding:14px 28px; font-weight:600; border-radius:8px; cursor:pointer; color:#020617; text-decoration:none; transition:.25s; display:inline-flex; align-items:center; gap:8px; font-size:15px; font-family:Poppins,sans-serif; }
.btn-primary:hover{ transform:translateY(-3px); box-shadow:0 12px 25px rgba(56,189,248,0.35); }
.btn-outline{ background:transparent; border:2px solid rgba(255,255,255,0.2); padding:14px 28px; font-weight:600; border-radius:8px; cursor:pointer; color:#cbd5f5; text-decoration:none; transition:.25s; display:inline-flex; align-items:center; gap:8px; font-size:15px; font-family:Poppins,sans-serif; }
.btn-outline:hover{ border-color:#38bdf8; color:#38bdf8; }
.btn-sm{ padding:10px 20px; font-size:14px; }

/* ---- STATS BAR ---- */
.stat-bar{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.06); border-radius:16px; overflow:hidden; margin-top:64px; }
.stat-item{ background:#0f172a; padding:32px 28px; text-align:center; transition:.25s; }
.stat-item:hover{ background:rgba(255,255,255,0.03); }
.stat-number{ font-size:38px; font-weight:700; color:#38bdf8; line-height:1; margin-bottom:6px; }
.stat-label{ font-size:13px; color:#64748b; font-weight:500; text-transform:uppercase; letter-spacing:.8px; }

/* ---- SECTIONS ---- */
.section-pad{ padding:90px 0; }
.section-eyebrow{ font-size:12px; font-weight:700; color:#38bdf8; text-transform:uppercase; letter-spacing:2px; margin-bottom:12px; }
.section-title{ font-size:36px; font-weight:700; margin-bottom:16px; line-height:1.2; }
.section-sub{ color:#94a3b8; max-width:680px; margin-bottom:48px; font-size:16px; line-height:1.75; }
.divider{ height:1px; background:rgba(255,255,255,0.06); margin:70px 0; }

/* ---- GRIDS ---- */
.grid-2{ display:grid; grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); gap:24px; }
.grid-3{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; }
.grid-4{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:24px; }

/* ---- CARDS ---- */
.card{ background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07); border-radius:16px; padding:32px; transition:.3s; }
.card:hover{ transform:translateY(-6px); background:rgba(255,255,255,0.055); border-color:rgba(56,189,248,0.2); }
.card-icon{ width:48px; height:48px; border-radius:12px; background:rgba(56,189,248,0.1); display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:18px; }
.card h3{ margin-bottom:10px; color:#f1f5f9; font-size:18px; }
.card p{ color:#94a3b8; font-size:15px; line-height:1.7; }
.card ul{ margin-top:12px; padding-left:20px; color:#94a3b8; font-size:15px; }
.card ul li{ margin-bottom:6px; }
.card-featured{ border-color:rgba(56,189,248,0.4) !important; background:rgba(56,189,248,0.05) !important; position:relative; }
.badge{ position:absolute; top:-13px; left:24px; background:#38bdf8; color:#020617; font-size:11px; font-weight:700; padding:4px 12px; border-radius:20px; letter-spacing:.5px; text-transform:uppercase; }

.highlight-card{ background:linear-gradient(145deg,#1e293b,#0f1a2e); border:1px solid rgba(255,255,255,0.06); border-radius:16px; padding:28px 32px; }
.highlight-card h3{ color:#38bdf8; margin-bottom:10px; font-size:17px; }
.highlight-card p{ color:#94a3b8; font-size:15px; line-height:1.7; }

/* ---- PRICE TAG ---- */
.price-tag{ display:inline-block; background:rgba(56,189,248,0.1); border:1px solid rgba(56,189,248,0.2); border-radius:8px; padding:8px 16px; font-size:22px; font-weight:700; color:#38bdf8; margin-top:20px; }
.btn-card{ margin-top:24px; background:#38bdf8; border:none; padding:12px 20px; font-weight:600; border-radius:8px; cursor:pointer; color:#020617; width:100%; font-family:Poppins,sans-serif; font-size:14px; transition:.25s; text-decoration:none; display:block; text-align:center; }
.btn-card:hover{ background:#7dd3fc; }

/* ---- CHECKLIST ---- */
.checklist{ list-style:none; padding:0; margin:14px 0 0; }
.checklist li{ color:#94a3b8; font-size:15px; padding:5px 0; padding-left:24px; position:relative; }
.checklist li::before{ content:'✓'; position:absolute; left:0; color:#38bdf8; font-weight:700; }

/* ---- CTA BAND ---- */
.cta-band{ background:linear-gradient(135deg,#1e3a5f,#0c2340); border:1px solid rgba(56,189,248,0.15); border-radius:20px; padding:64px 60px; text-align:center; margin-top:70px; position:relative; overflow:hidden; }
.cta-band::before{ content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% 0%,rgba(56,189,248,0.12),transparent 60%); pointer-events:none; }
.cta-band h2{ font-size:32px; margin-bottom:12px; position:relative; }
.cta-band p{ color:#94a3b8; max-width:560px; margin:0 auto 30px; position:relative; font-size:16px; }
.cta-band .btn-group{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; position:relative; }

/* ---- AREA BANNER ---- */
.area-banner{ display:flex; align-items:center; gap:14px; background:rgba(56,189,248,0.07); border:1px solid rgba(56,189,248,0.18); border-radius:12px; padding:18px 24px; margin-bottom:40px; }
.area-banner span{ font-size:22px; flex-shrink:0; }
.area-banner div{ font-size:15px; color:#cbd5f5; line-height:1.5; }
.area-banner strong{ color:#38bdf8; }

/* ---- DOT SUBNAV ---- */
.subnav{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px; }
.subnav a{ background:#1e293b; border:1px solid rgba(255,255,255,0.1); color:#94a3b8; padding:10px 20px; border-radius:8px; font-weight:500; font-size:14px; transition:.25s; text-decoration:none; display:inline-block; }
.subnav a:hover{ border-color:rgba(56,189,248,0.3); color:#cbd5f5; }
.subnav a.active-sub{ background:#38bdf8; color:#020617; border-color:#38bdf8; font-weight:600; }
.agency-btn{ background:#1e293b !important; border:1px solid rgba(255,255,255,0.1) !important; color:#94a3b8 !important; padding:10px 20px; border-radius:8px; font-family:Poppins,sans-serif; font-weight:500; font-size:14px; transition:.25s; cursor:pointer; }
.agency-btn:hover{ border-color:rgba(56,189,248,0.3) !important; color:#cbd5f5 !important; }
.agency-btn.active-sub{ background:#38bdf8 !important; color:#020617 !important; border-color:#38bdf8 !important; font-weight:600; }

/* ---- DOT CARDS ---- */
.dot-card{ background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07); border-radius:16px; padding:40px; }
.dot-card h3{ font-size:22px; color:#f1f5f9; margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,0.07); }
.dot-card h4{ color:#38bdf8; font-size:14px; text-transform:uppercase; letter-spacing:1.5px; margin:28px 0 16px; }
.dot-card p{ color:#94a3b8; font-size:15px; line-height:1.75; margin-bottom:12px; }
.dot-card ul{ padding-left:20px; color:#94a3b8; font-size:15px; margin:12px 0; }
.dot-card ul li{ margin-bottom:6px; }
.dot-card strong{ color:#e2e8f0; }

/* ---- REQUIREMENT GRID ---- */
.req-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; margin-top:24px; }
.req-item{ background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07); border-radius:12px; padding:24px; }
.req-item .req-label{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; color:#38bdf8; margin-bottom:8px; }
.req-item p{ color:#94a3b8; font-size:14px; line-height:1.65; }
.req-item strong{ color:#e2e8f0; }

/* ---- CONTACT CARDS ---- */
.contact-card{ background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07); border-radius:16px; padding:40px 30px; text-align:center; transition:.3s; }
.contact-card:hover{ transform:translateY(-6px); background:rgba(255,255,255,0.055); border-color:rgba(56,189,248,0.2); }
.contact-icon{ font-size:44px; margin-bottom:18px; display:block; }
.contact-card h3{ color:#38bdf8; margin-bottom:12px; font-size:19px; }
.contact-card a{ color:#cbd5f5; text-decoration:none; font-size:18px; font-weight:600; transition:.25s; display:block; margin-top:8px; }
.contact-card a:hover{ color:#38bdf8; }
.contact-card p{ color:#64748b; font-size:14px; margin-top:10px; line-height:1.6; }

/* ---- FORM ---- */
.form-section{ background:linear-gradient(145deg,#1e293b,#0f1a2e); border:1px solid rgba(255,255,255,0.07); border-radius:20px; padding:52px 48px; margin-bottom:48px; }
.form-section h2{ font-size:26px; font-weight:700; margin-bottom:8px; }
.form-sub{ color:#94a3b8; font-size:15px; margin-bottom:36px; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-group{ display:flex; flex-direction:column; gap:8px; }
.form-group.full{ grid-column:1/-1; }
.form-group label{ font-size:13px; font-weight:600; color:#cbd5f5; letter-spacing:.4px; }
.form-group label span{ color:#38bdf8; margin-left:2px; }
.form-control{ background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:10px; padding:13px 16px; color:#f1f5f9; font-family:Poppins,sans-serif; font-size:15px; transition:.25s; outline:none; width:100%; }
.form-control:focus{ border-color:#38bdf8; background:rgba(56,189,248,0.05); box-shadow:0 0 0 3px rgba(56,189,248,0.1); }
.form-control::placeholder{ color:#475569; }
select.form-control{ cursor:pointer; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2338bdf8' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; padding-right:40px; }
select.form-control option{ background:#1e293b; color:#f1f5f9; }
textarea.form-control{ resize:vertical; min-height:120px; }
.form-submit{ display:flex; align-items:center; gap:16px; margin-top:8px; flex-wrap:wrap; }
.btn-submit{ background:#38bdf8; border:none; padding:14px 36px; font-weight:700; border-radius:10px; cursor:pointer; color:#020617; font-family:Poppins,sans-serif; font-size:15px; transition:.25s; display:inline-flex; align-items:center; gap:10px; }
.btn-submit:hover{ transform:translateY(-3px); box-shadow:0 12px 28px rgba(56,189,248,0.35); }
.btn-submit:disabled{ opacity:.6; cursor:not-allowed; transform:none; box-shadow:none; }
.form-note{ font-size:13px; color:#475569; }
.form-success{ display:none; background:rgba(34,197,94,0.08); border:1px solid rgba(34,197,94,0.25); border-radius:12px; padding:20px 24px; margin-top:24px; color:#86efac; font-size:15px; font-weight:500; }
.form-success.show{ display:flex; align-items:center; gap:12px; }
.form-error{ display:none; background:rgba(239,68,68,0.08); border:1px solid rgba(239,68,68,0.2); border-radius:12px; padding:20px 24px; margin-top:24px; color:#fca5a5; font-size:15px; }
.form-error.show{ display:flex; align-items:center; gap:12px; }

/* ---- BLOG CARDS ---- */
.blog-card{ background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07); border-radius:16px; overflow:hidden; transition:.3s; text-decoration:none; display:block; color:inherit; }
.blog-card:hover{ transform:translateY(-6px); background:rgba(255,255,255,0.055); border-color:rgba(56,189,248,0.2); }
.blog-card-body{ padding:28px 30px 32px; }
.blog-tag{ display:inline-block; background:rgba(56,189,248,0.1); border:1px solid rgba(56,189,248,0.2); border-radius:20px; padding:4px 12px; font-size:11px; font-weight:700; color:#38bdf8; letter-spacing:.8px; text-transform:uppercase; margin-bottom:14px; }
.blog-card h3{ font-size:19px; color:#f1f5f9; margin-bottom:10px; line-height:1.35; }
.blog-card p{ color:#94a3b8; font-size:14px; line-height:1.7; }
.blog-meta{ display:flex; align-items:center; gap:16px; margin-top:18px; padding-top:18px; border-top:1px solid rgba(255,255,255,0.06); font-size:13px; color:#64748b; }
.blog-read-more{ color:#38bdf8; font-size:13px; font-weight:600; margin-left:auto; }

/* ---- ARTICLE ---- */
.article-back{ display:inline-flex; align-items:center; gap:8px; color:#94a3b8; font-size:14px; font-weight:500; margin-bottom:36px; transition:.2s; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07); border-radius:8px; padding:10px 18px; text-decoration:none; }
.article-back:hover{ color:#38bdf8; border-color:rgba(56,189,248,0.2); }
.article-header{ margin-bottom:48px; }
.article-header h1{ font-size:38px; line-height:1.2; font-weight:700; color:#f1f5f9; margin-bottom:18px; max-width:800px; }
.article-header .article-meta{ display:flex; align-items:center; gap:20px; color:#64748b; font-size:14px; flex-wrap:wrap; }
.article-divider{ height:1px; background:rgba(255,255,255,0.06); margin:36px 0; }
.article-body{ max-width:780px; }
.article-body h2{ font-size:24px; font-weight:700; color:#f1f5f9; margin:40px 0 14px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,0.06); }
.article-body h3{ font-size:18px; font-weight:600; color:#38bdf8; margin:28px 0 10px; }
.article-body p{ color:#94a3b8; font-size:16px; line-height:1.8; margin-bottom:16px; }
.article-body ul{ padding-left:22px; margin-bottom:16px; }
.article-body ul li{ color:#94a3b8; font-size:16px; line-height:1.75; margin-bottom:8px; }
.article-body strong{ color:#e2e8f0; }
.article-body .callout{ background:rgba(56,189,248,0.07); border:1px solid rgba(56,189,248,0.18); border-left:3px solid #38bdf8; border-radius:0 10px 10px 0; padding:18px 22px; margin:24px 0; }
.article-body .callout p{ margin:0; color:#cbd5f5; font-size:15px; }

/* ---- LOCATION PAGES ---- */
.location-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin:32px 0; }
.location-pill{ background:rgba(56,189,248,0.07); border:1px solid rgba(56,189,248,0.15); border-radius:12px; padding:20px 24px; text-align:center; text-decoration:none; color:#cbd5f5; transition:.25s; }
.location-pill:hover{ background:rgba(56,189,248,0.14); border-color:rgba(56,189,248,0.35); color:#38bdf8; }
.location-pill strong{ display:block; font-size:16px; font-weight:700; margin-bottom:4px; color:#f1f5f9; }
.location-pill span{ font-size:13px; color:#64748b; }

/* ---- WHY CHOOSE BOXES ---- */
.why-box{ display:flex; align-items:flex-start; gap:16px; padding:20px; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.06); border-radius:12px; }
.why-box .why-check{ color:#38bdf8; font-size:22px; margin-top:2px; flex-shrink:0; }
.why-box .why-title{ font-weight:600; margin-bottom:4px; }
.why-box .why-desc{ color:#64748b; font-size:14px; }

/* ---- INDUSTRY CARDS ---- */
.industry-card{ background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07); border-radius:16px; padding:28px 30px; transition:.3s; }
.industry-card:hover{ transform:translateY(-5px); background:rgba(255,255,255,0.055); border-color:rgba(56,189,248,0.2); }
.industry-icon{ font-size:30px; margin-bottom:16px; }
.industry-card h3{ color:#f1f5f9; font-size:17px; margin-bottom:10px; }
.industry-card p{ color:#94a3b8; font-size:14px; line-height:1.7; }

/* ---- FOOTER ---- */
footer{ margin-top:90px; background:#020617; border-top:1px solid rgba(255,255,255,0.05); padding:56px 0 0; }
.footer-inner{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; padding-bottom:48px; }
.footer-brand p{ color:#64748b; font-size:14px; line-height:1.7; max-width:280px; margin-top:12px; }
.footer-links h4{ color:#f1f5f9; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; margin-bottom:16px; }
.footer-links ul{ list-style:none; }
.footer-links li{ margin-bottom:10px; }
.footer-links a{ color:#64748b; text-decoration:none; font-size:14px; transition:.2s; }
.footer-links a:hover{ color:#38bdf8; }
.footer-bottom{ text-align:center; padding:20px; border-top:1px solid rgba(255,255,255,0.05); color:#475569; font-size:13px; }

/* ---- PROCESS STEPS ---- */
.process-number{ width:52px; height:52px; border-radius:14px; background:rgba(56,189,248,0.1); border:1px solid rgba(56,189,248,0.25); display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:700; color:#38bdf8; margin-bottom:20px; }
.process-card{ display:flex; flex-direction:column; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.07); border-radius:16px; padding:32px; transition:.3s; }
.process-card:hover{ transform:translateY(-4px); border-color:rgba(56,189,248,0.2); }
.process-card h3{ font-size:18px; margin-bottom:10px; color:#f1f5f9; }
.process-card p{ color:#94a3b8; font-size:15px; line-height:1.7; }

/* ---- RESPONSIVE ---- */
@media(max-width:900px){
  .footer-inner{ grid-template-columns:1fr 1fr; }
}
@media(max-width:768px){
  .hero h1{ font-size:34px; }
  .hero-sm h1{ font-size:28px; }
  .hero{ padding:80px 0 60px; }
  .section-title{ font-size:28px; }
  .cta-band{ padding:40px 28px; }
  .cta-band h2{ font-size:24px; }
  .dot-card{ padding:24px; }
  .form-grid{ grid-template-columns:1fr; }
  .form-section{ padding:32px 24px; }
  .footer-inner{ grid-template-columns:1fr; gap:32px; }
  .article-header h1{ font-size:28px; }
}
/* ---- FAQ ---- */
.faq-item{ border-bottom:1px solid rgba(255,255,255,0.07); padding:24px 0; }
.faq-item:first-child{ border-top:1px solid rgba(255,255,255,0.07); }
.faq-q{ font-size:18px; font-weight:600; color:#f1f5f9; margin:0 0 14px; line-height:1.4; }
.faq-a p{ color:#94a3b8; font-size:15px; line-height:1.75; margin:0 0 10px; }
.faq-a p:last-child{ margin-bottom:0; }
.faq-a ul{ padding-left:20px; margin:10px 0 0; }
.faq-a ul li{ color:#94a3b8; font-size:15px; line-height:1.7; margin-bottom:6px; }
