/* ═══════════════════════════════════════════════════════════════
   GPS FINANCE GROUP — Design System v3.0
   Light professional theme · High contrast · Authority positioning
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,600;0,9..144,700;0,9..144,800;1,9..144,600;1,9..144,700&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

:root {
  --navy:        #0C1E33;
  --navy-deep:   #071628;
  --navy-mid:    #13293F;
  --teal:        #22E6C7;
  --teal-on-light: #0a8a77;
  --teal-hover:  #097a69;
  --white:       #FFFFFF;
  --surface:     #F7F6F3;
  --surface-alt: #EFEEE9;
  --border:      #D0CEC7;
  --border-strong: #B8B5AE;
  --text-dark:   #0C1E33;
  --text-body:   #2E3F52;
  --text-mid:    #4A5E70;
  --text-muted:  #627585;
  --text-white:  #FFFFFF;
  --text-white-dim: rgba(255,255,255,0.82);
  --text-white-muted: rgba(255,255,255,0.55);
  --font-serif:  'Fraunces', Georgia, serif;
  --font-sans:   'Plus Jakarta Sans', -apple-system, sans-serif;
  --radius-sm:   4px;
  --radius:      6px;
  --radius-lg:   10px;
  --shadow:      0 2px 12px rgba(12,30,51,0.08);
  --shadow-lg:   0 8px 32px rgba(12,30,51,0.14);
  --container:   1160px;
  --sv:          88px;
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{font-family:var(--font-sans);background:var(--surface);color:var(--text-body);font-size:16px;line-height:1.7;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}

.container{max-width:var(--container);margin:0 auto;padding:0 24px}

/* ── Typography ── */
h1,h2,h3,h4{font-family:var(--font-serif);color:var(--text-dark);line-height:1.18;letter-spacing:-0.02em}
h1{font-size:clamp(28px,5vw,52px);font-weight:700}
h2{font-size:clamp(22px,3.5vw,36px);font-weight:700}
h3{font-family:var(--font-sans);font-size:clamp(16px,2vw,19px);font-weight:700;letter-spacing:-0.01em;line-height:1.3}
h4{font-family:var(--font-sans);font-size:15px;font-weight:700;line-height:1.4;letter-spacing:0}
p{color:var(--text-body);line-height:1.75}
strong{color:var(--text-dark);font-weight:700}

.eyebrow{display:block;font-family:var(--font-sans);font-size:11px;font-weight:800;letter-spacing:0.18em;text-transform:uppercase;color:var(--teal-on-light);margin-bottom:12px}
.eyebrow.light{color:var(--teal)}
.divider-line{width:36px;height:3px;background:var(--teal-on-light);border-radius:2px;margin:0 0 22px}
.divider-line.centered{margin-left:auto;margin-right:auto}
.divider-line.light{background:var(--teal)}

/* ── Buttons ── */
.cta-primary,.btn-primary{display:inline-flex;align-items:center;gap:7px;background:var(--teal);color:var(--navy-deep)!important;border:2px solid var(--teal);padding:13px 26px;font-family:var(--font-sans);font-size:15px;font-weight:700;border-radius:var(--radius-sm);cursor:pointer;transition:all 0.18s;white-space:nowrap;letter-spacing:0.01em}
.cta-primary:hover,.btn-primary:hover{background:#1ecfb3;border-color:#1ecfb3;transform:translateY(-1px);box-shadow:0 4px 16px rgba(34,230,199,.30);color:var(--navy-deep)!important}

.cta-secondary,.btn-secondary{display:inline-flex;align-items:center;gap:7px;background:transparent;color:var(--navy)!important;border:2px solid var(--navy);padding:13px 26px;font-family:var(--font-sans);font-size:15px;font-weight:700;border-radius:var(--radius-sm);cursor:pointer;transition:all 0.18s;white-space:nowrap}
.cta-secondary:hover,.btn-secondary:hover{background:var(--navy);color:var(--white)!important}

.btn-outline-white{display:inline-flex;align-items:center;gap:7px;background:transparent;color:#FFFFFF!important;border:2px solid rgba(255,255,255,0.40);padding:13px 26px;font-family:var(--font-sans);font-size:15px;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all 0.18s;white-space:nowrap}
.btn-outline-white:hover{border-color:rgba(255,255,255,0.8);background:rgba(255,255,255,0.08);color:#FFFFFF!important}

.submit-btn{background:var(--teal);color:var(--navy-deep)!important;border:none;padding:15px 28px;width:100%;justify-content:center;font-family:var(--font-sans);font-size:15px;font-weight:700;border-radius:var(--radius-sm);display:flex;align-items:center;cursor:pointer;transition:all 0.18s;margin-top:20px}
.submit-btn:hover{background:#1ecfb3;transform:translateY(-1px);box-shadow:0 4px 16px rgba(34,230,199,.30)}

/* ── Header ── */
header{position:sticky;top:0;z-index:200;background:var(--navy-deep);border-bottom:1px solid rgba(255,255,255,0.07)}
.header-content{display:flex;align-items:center;justify-content:space-between;height:100px;max-width:var(--container);margin:0 auto;padding:0 24px}
.logo img{height:77px;width:auto}
nav#siteNav>ul{display:flex;align-items:center;gap:26px}
nav#siteNav>ul>li>a{font-family:var(--font-sans);font-size:14px;font-weight:500;color:rgba(255,255,255,0.78);transition:color 0.15s;letter-spacing:0.01em}
nav#siteNav>ul>li>a:hover{color:#FFF}
.has-submenu{position:relative}
.submenu{display:none;position:absolute;top:100%;left:0;min-width:230px;background:var(--navy);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius);padding:8px 0;margin-top:10px;box-shadow:var(--shadow-lg);z-index:300}
/* Prevent the hover "gap" between the parent menu item and submenu */
.has-submenu::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}
.has-submenu:hover .submenu,.has-submenu:focus-within .submenu{display:block}
.submenu li a{display:block;padding:9px 18px;font-size:14px;color:rgba(255,255,255,0.78);transition:background 0.12s,color 0.12s}
.submenu li a:hover{background:rgba(255,255,255,0.06);color:#FFF}
header .cta-primary{padding:9px 20px;font-size:14px}
.mobile-menu-btn{display:none;background:none;border:none;color:#FFF;font-size:24px;cursor:pointer;padding:4px;line-height:1}

/* ── Hero ── */
.hero{background:var(--navy-deep);padding:80px 24px;position:relative;overflow:hidden;text-align:center}
.hero::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 48px,rgba(34,230,199,0.018) 48px,rgba(34,230,199,0.019) 49px);pointer-events:none}
.hero::after{content:'';position:absolute;width:700px;height:700px;background:radial-gradient(circle,rgba(34,230,199,0.06) 0%,transparent 65%);bottom:-300px;right:-150px;pointer-events:none}
.hero .container{position:relative;z-index:2;max-width:860px}
.hero .eyebrow{color:var(--teal);margin-bottom:16px}
.hero h1{color:#FFFFFF;margin-bottom:20px}
.hero h1 em{color:var(--teal);font-style:italic}
.hero-desc{color:rgba(255,255,255,0.82);font-size:18px;line-height:1.75;max-width:700px;margin:0 auto 36px}
.hero p{color:rgba(255,255,255,0.92);font-size:18px;line-height:1.55;text-shadow:0 1px 10px rgba(0,0,0,0.25)}
.hero p strong{color:#fff}
.hero-ctas{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.hero-assurance{margin-top:18px;font-size:13px;color:rgba(255,255,255,0.45);display:flex;justify-content:center;align-items:center;gap:6px}

/* Secondary CTA needs a "dark background" variant (e.g., used inside hero/sections) */
.hero .cta-secondary,.section-dark .cta-secondary,.section-navy .cta-secondary{color:#fff!important;border-color:rgba(255,255,255,0.70)}
.hero .cta-secondary:hover,.section-dark .cta-secondary:hover,.section-navy .cta-secondary:hover{background:rgba(255,255,255,0.10);color:#fff!important;border-color:rgba(255,255,255,0.90)}

/* ── Trust Bar ── */
.trust-bar{background:var(--navy);border-bottom:1px solid rgba(255,255,255,0.07);padding:0}
.trust-bar .container{padding:0 24px}
.trust-bar-items{display:flex;align-items:stretch;flex-wrap:wrap;width:100%;justify-content:center}
.trust-bar-items li{display:flex;align-items:center;gap:7px;padding:13px 20px;border-right:1px solid rgba(255,255,255,0.08);font-family:var(--font-sans);font-size:13px;font-weight:500;color:rgba(255,255,255,0.82);white-space:nowrap;flex:1;justify-content:center}
.trust-bar-items li:last-child{border-right:none}
.trust-bar-items li::before{content:'✓';color:var(--teal);font-weight:800;font-size:12px;flex-shrink:0}

/* ── Credentials Bar ── */
.credentials-bar{background:#FFFFFF;border-bottom:2px solid var(--border);padding:22px 0}
.credentials-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}
.cred-label{font-size:10px;font-weight:800;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-muted);padding:0 32px 0 0;white-space:nowrap}
.cred-item{display:flex;align-items:center;gap:10px;padding:8px 28px;border-right:1.5px solid var(--border)}
.cred-item:last-child{border-right:none}
.cred-icon{width:38px;height:38px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;flex-shrink:0;letter-spacing:0.02em}
.cred-icon.afca{background:#003087;color:#FFF}
.cred-icon.fbaa{background:#1a3a6b;color:#FFF}
.cred-icon.opt{background:var(--navy);color:var(--teal)}
.cred-icon.asic{background:var(--navy-deep);color:#FFF;font-size:9px;text-align:center;line-height:1.2}
.cred-text strong{display:block;font-size:13px;font-weight:700;color:var(--text-dark)}
.cred-text span{font-size:11px;color:var(--text-muted)}

/* ── Sections ── */
.section{padding:var(--sv) 0}
.section-alt{padding:var(--sv) 0;background:var(--surface-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.section-dark{padding:var(--sv) 0;background:var(--navy-deep);position:relative;overflow:hidden}
.section-navy{padding:var(--sv) 0;background:var(--navy);position:relative;overflow:hidden}
.section-dark::before,.section-navy::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(-45deg,transparent,transparent 60px,rgba(34,230,199,0.012) 60px,rgba(34,230,199,0.013) 61px);pointer-events:none}

.section-header{margin-bottom:52px}
.section-header.centered{text-align:center}
.section-header.centered .divider-line{margin-left:auto;margin-right:auto}
.section-header h2{margin-bottom:14px}
.section-header p{font-size:18px;color:var(--text-body);line-height:1.75;max-width:680px}
.section-header.centered p{margin:0 auto}
.section-header.light h2{color:#FFF}
.section-header.light p{color:var(--text-white-dim)}
.section-header.light .eyebrow{color:var(--teal)}
.section-header.light .divider-line{background:var(--teal)}

/* ── Cards ── */
.card{background:#FFF;border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:32px 28px;transition:box-shadow 0.2s,transform 0.2s}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.card h3{margin-bottom:10px;color:var(--text-dark)}
.card p{font-size:14.5px;color:var(--text-body);line-height:1.65}
.card-dark{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-lg);padding:28px 24px}
.card-dark h3{color:#FFF}
.card-dark p{color:var(--text-white-dim)}

.card-accented{background:#FFF;border:1.5px solid var(--border);border-left:4px solid var(--teal-on-light);border-radius:var(--radius);padding:28px 24px;margin-bottom:20px}
.card-accented:last-child{margin-bottom:0}
.card-accented h3{margin-bottom:10px;font-size:17px;color:var(--text-dark)}
.card-accented p{color:var(--text-body);line-height:1.75}
.card-accented strong{color:var(--text-dark)}
.card-accented.dark{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.08);border-left-color:var(--teal)}
.card-accented.dark h3{color:#FFF}
.card-accented.dark p{color:var(--text-white-dim)}
.card-accented.dark strong{color:#FFF}

.card-numbered .card-num{font-family:var(--font-serif);font-size:42px;font-weight:700;color:var(--border);line-height:1;margin-bottom:14px;letter-spacing:-0.03em}
.card-numbered h3{font-size:18px;margin-bottom:10px}

.card-icon{width:46px;height:46px;background:var(--navy);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:18px;flex-shrink:0}

.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.card-grid-2{grid-template-columns:repeat(2,1fr);gap:24px}
.card-grid-3{grid-template-columns:repeat(3,1fr);gap:20px}
.card-grid-4{grid-template-columns:repeat(4,1fr);gap:20px}

/* ── Two Column ── */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.two-col.top{align-items:flex-start}
.two-col-narrow{grid-template-columns:380px 1fr}
.two-col-wide{grid-template-columns:1fr 420px}

/* ── Stat Panel ── */
.stat-panel{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-lg);padding:8px 0}
.stat-row{padding:20px 28px;border-bottom:1px solid rgba(255,255,255,0.07)}
.stat-row:last-child{border-bottom:none}
.stat-num{font-family:var(--font-serif);font-size:34px;font-weight:700;color:var(--teal);line-height:1;margin-bottom:4px}
.stat-label{font-size:13px;color:rgba(255,255,255,0.72);line-height:1.4}

/* ── Process ── */
.process-row{display:flex;gap:22px;align-items:flex-start;padding:24px 0;border-bottom:1px solid var(--border)}
.process-row:last-child{border-bottom:none;padding-bottom:0}
.process-num{width:48px;height:48px;background:var(--navy);border:2px solid var(--teal-on-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:18px;font-weight:700;color:var(--teal-on-light);flex-shrink:0}
.process-num.light{background:rgba(255,255,255,0.06);border-color:var(--teal);color:var(--teal)}
.process-body h3{font-size:17px;font-weight:700;margin-bottom:6px;color:var(--text-dark)}
.process-body p{font-size:15px;color:var(--text-body);line-height:1.7}
.process-light .process-body h3{color:#FFF}
.process-light .process-body p{color:var(--text-white-dim)}

.process-track{display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.process-track::before{content:'';position:absolute;top:27px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,var(--teal-on-light),rgba(10,138,119,0.15))}
.process-track-step{text-align:center;padding:0 12px;position:relative;z-index:1}
.track-circle{width:54px;height:54px;background:var(--surface-alt);border:2px solid var(--teal-on-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:19px;font-weight:700;color:var(--teal-on-light);margin:0 auto 18px;box-shadow:0 0 0 5px var(--surface-alt);transition:all 0.2s}
.process-track-step:hover .track-circle{background:var(--navy);color:var(--teal);border-color:var(--teal)}
.process-track-step h3{font-size:14px;font-weight:700;margin-bottom:7px;color:var(--text-dark)}
.process-track-step p{font-size:13px;color:var(--text-body);line-height:1.6}

/* ── Quote Form ── */
.quote-layout{display:grid;grid-template-columns:1fr 480px;gap:72px;align-items:start}
.quote-pitch h2{color:#FFF;margin-bottom:16px}
.quote-pitch p{color:var(--text-white-dim);font-size:16px;line-height:1.8;margin-bottom:14px}
.quote-checklist{margin-top:24px;display:flex;flex-direction:column;gap:10px}
.quote-checklist li{display:flex;gap:10px;font-size:15px;color:rgba(255,255,255,0.88);align-items:flex-start}
.quote-checklist li::before{content:'✓';color:var(--teal);font-weight:800;flex-shrink:0;margin-top:2px}

.quote-box{background:#FFF;border-radius:var(--radius-lg);padding:36px 32px;box-shadow:0 12px 48px rgba(7,22,40,0.28)}
.quote-box h3{font-family:var(--font-serif);font-size:22px;color:var(--text-dark);margin-bottom:4px}
.quote-box .q-sub{font-size:13px;color:var(--text-muted);margin-bottom:24px}
.form-group{margin-bottom:14px}
.form-label{display:block;font-size:12px;font-weight:800;color:var(--text-dark);margin-bottom:6px;letter-spacing:0.06em;text-transform:uppercase}
.form-input,.form-select,.form-textarea{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:15px;color:var(--text-dark);background:#FFF;transition:border-color 0.15s,box-shadow 0.15s;-webkit-appearance:none;appearance:none}
.form-input::placeholder{color:var(--text-muted)}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(12,30,51,0.08)}
.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234A5E70' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;cursor:pointer}
.form-textarea{min-height:100px;resize:vertical}

.form-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.form-option{display:block;cursor:pointer}
.form-option input[type="radio"]{display:none}
.form-option-label{display:block;padding:9px 8px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--text-body);text-align:center;transition:all 0.15s;line-height:1.3}
.form-option input:checked+.form-option-label{border-color:var(--navy);background:var(--navy);color:#FFF}
.form-option-label:hover{border-color:var(--navy);color:var(--navy)}
.credit-warning{background:rgba(12,30,51,0.05);border:1px solid rgba(12,30,51,0.12);border-radius:var(--radius-sm);padding:12px 14px;font-size:12.5px;color:var(--text-mid);line-height:1.55;margin-top:14px}
.success-message{background:rgba(34,230,199,0.1);border:1px solid var(--teal-on-light);border-radius:var(--radius);padding:14px 18px;color:var(--teal-on-light);font-weight:600;margin-bottom:20px}

/* Generic content section wrapper (used by some pages built outside the standard section system) */
.content-section{padding:var(--sv) 0;background:var(--surface)}

/* Payday Super calculator page layout (no content changes; improves hierarchy and scanability) */
.payday-layout{display:grid;grid-template-columns:1fr;gap:22px}
.payday-grid-2{display:grid;grid-template-columns:1fr;gap:12px}
.payday-layout h2,.payday-layout h3{color:var(--text-dark)}
.payday-layout input,.payday-layout select,.payday-layout textarea{border:1px solid #d1d5db;border-radius:10px;background:#fff;font-family:var(--font-sans);font-size:15px;color:var(--text-dark)}
.payday-layout input:focus,.payday-layout select:focus,.payday-layout textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(12,30,51,0.08)}
.payday-layout label{color:var(--text-dark)}
.payday-layout .credit-warning{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:14px;color:#334155}

@media (min-width: 860px){
  .payday-grid-2{grid-template-columns:1fr 1fr}
}

/* ── Solutions Tile Grid ── */
.solutions-tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.solution-tile{background:#FFF;padding:32px 28px;position:relative;transition:background 0.18s}
.solution-tile::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--teal-on-light);opacity:0;transition:opacity 0.18s}
.solution-tile:hover{background:#FAFFFE}
.solution-tile:hover::after{opacity:1}
.solution-tile h3{font-size:16px;margin-bottom:9px;color:var(--text-dark)}
.solution-tile p{font-size:14px;color:var(--text-body);line-height:1.65}
.tile-link{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:var(--navy);margin-top:14px;border-bottom:1.5px solid var(--border);padding-bottom:2px;transition:color 0.15s,border-color 0.15s}
.tile-link:hover{color:var(--teal-on-light);border-color:var(--teal-on-light)}

/* ── Alert Band ── */
.alert-band{background:var(--navy-deep);padding:60px 0;position:relative;overflow:hidden}
.alert-band::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal),transparent 60%)}
.alert-label{display:inline-flex;align-items:center;gap:8px;background:rgba(34,230,199,0.1);border:1px solid rgba(34,230,199,0.22);border-radius:100px;padding:5px 14px 5px 10px;font-size:11px;font-weight:800;color:var(--teal);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:20px}
.pulse-dot{width:6px;height:6px;background:var(--teal);border-radius:50%;animation:pulse 2s ease infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.4;transform:scale(0.6)}}

/* ── FAQ ── */
.faq-list{border:1.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item:last-child{border-bottom:none}
.faq-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:#FFF;border:none;cursor:pointer;font-family:var(--font-sans);font-size:15px;font-weight:600;color:var(--text-dark);text-align:left;transition:background 0.15s;gap:16px}
.faq-toggle:hover{background:var(--surface)}
.faq-toggle.active{background:var(--surface)}
.faq-icon{width:22px;height:22px;border:1.5px solid var(--border-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--text-mid);flex-shrink:0;transition:all 0.2s;line-height:1}
.faq-toggle.active .faq-icon{background:var(--navy);border-color:var(--navy);color:#FFF;transform:rotate(45deg)}
.faq-body{display:none;padding:0 24px 20px;background:var(--surface)}
.faq-body p{font-size:15px;color:var(--text-body);line-height:1.75}
.faq-body.open{display:block}
.faq-dark .faq-list{border-color:rgba(255,255,255,0.1)}
.faq-dark .faq-item{border-bottom-color:rgba(255,255,255,0.08)}
.faq-dark .faq-toggle{background:rgba(255,255,255,0.03);color:#FFF}
.faq-dark .faq-toggle:hover,.faq-dark .faq-toggle.active{background:rgba(255,255,255,0.06)}
.faq-dark .faq-body{background:rgba(255,255,255,0.02)}
.faq-dark .faq-body p{color:var(--text-white-dim)}

/* ── Insight Cards ── */
.insight-card{overflow:hidden}
.insight-card.card{padding:0}
.insight-header{background:var(--navy);padding:28px 24px 22px;border-bottom:3px solid var(--teal)}
.insight-tag{font-size:10px;font-weight:800;letter-spacing:0.15em;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:10px}
.insight-header h3{color:#FFF;font-size:16px;line-height:1.4}
.insight-body{padding:22px 24px;background:#FFF}
.insight-body p{font-size:14px;color:var(--text-body);line-height:1.65;margin-bottom:14px}
.read-more{font-size:13px;font-weight:700;color:var(--text-dark);display:inline-flex;align-items:center;gap:5px;transition:gap 0.15s,color 0.15s}
.read-more:hover{gap:9px;color:var(--teal-on-light)}

/* ── Contact ── */
.contact-method{background:#FFF;border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:28px 24px;text-align:center}
.contact-method .icon{font-size:28px;margin-bottom:12px}
.contact-method h3{font-size:16px;margin-bottom:8px}
.contact-method .value{font-size:20px;font-weight:700;color:var(--teal-on-light);margin:10px 0 6px;display:block}
.contact-method p{font-size:13px;color:var(--text-muted)}

/* ── Licence block ── */
.license-block{background:#FFF;border:1.5px solid var(--border);border-left:4px solid var(--teal-on-light);border-radius:var(--radius);padding:28px}
.license-block p{font-size:14px;color:var(--text-body);line-height:1.7;margin-bottom:8px}
.license-block p:last-child{margin-bottom:0}
.license-block strong{color:var(--text-dark)}

/* ── Footer ── */
footer{background:var(--navy-deep);border-top:1px solid rgba(255,255,255,0.07);padding:64px 0 0}
.footer-content{max-width:var(--container);margin:0 auto;padding:0 24px}
.footer-links{display:grid;grid-template-columns:repeat(5,1fr);gap:32px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,0.07)}
.footer-links h3{font-family:var(--font-sans);font-size:11px;font-weight:800;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.40);margin-bottom:16px}
.footer-links a{display:block;font-size:14px;color:rgba(255,255,255,0.68);margin-bottom:10px;transition:color 0.15s}
.footer-links a:hover{color:#FFF}
.legal-block{padding:32px 0 40px}
.legal-block p{font-size:12px;color:rgba(255,255,255,0.35);line-height:1.7;margin-bottom:8px}
.legal-block p:last-child{margin-bottom:0}

/* New footer layout (matches current markup in index.php)
   Note: keeps existing content unchanged; only fixes layout + spacing. */
.footer-grid{display:grid;grid-template-columns:1.55fr repeat(4,1fr);gap:34px;padding:44px 0}
.footer-logo img{height:38px;width:auto;display:block}
.footer-about{margin-top:14px;font-size:14px;line-height:1.65;color:rgba(255,255,255,0.68)}
.footer-col h5{font-family:var(--font-sans);font-size:11px;font-weight:800;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.40);margin:0 0 16px}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{margin:0 0 10px}
.footer-col a{display:inline-block;font-size:14px;color:rgba(255,255,255,0.68);transition:color 0.15s}
.footer-col a:hover{color:#FFF}
.footer-contact-line{display:flex;align-items:center;gap:10px}
.footer-contact-line a{font-size:14px;color:rgba(255,255,255,0.85)}
.footer-contact-line a:hover{color:#FFF}
.footer-contact-icon{width:16px;height:16px;opacity:0.85;flex:0 0 auto}

.footer-bottom{margin-top:0;border-top:1px solid rgba(255,255,255,0.07);background:rgba(0,0,0,0.12);padding:26px 0 34px}
.footer-bottom-inner{display:block}
.legal-text p{font-size:12px;color:rgba(255,255,255,0.40);line-height:1.7;margin:0 0 10px}
.legal-text p:last-child{margin-bottom:0}

/* ── Mobile Sticky CTA ── */
.mobile-cta{display:none}
@media(max-width:768px){
  .mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;z-index:150}
  .mobile-cta a{display:block;background:var(--teal);color:var(--navy-deep)!important;text-align:center;padding:16px;font-family:var(--font-sans);font-weight:800;font-size:15px}
}

/* ── Cookie Banner ── */
#cookie-consent{background:var(--navy)!important;border-top:2px solid var(--teal)}
#cookie-consent p{color:rgba(255,255,255,0.82)!important;font-size:14px!important}
#cookie-consent button{background:var(--teal)!important;color:var(--navy-deep)!important;font-weight:700!important;border-radius:var(--radius-sm)!important}

/* ── Utilities ── */
.text-center{text-align:center}
.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mt-28{margin-top:28px}.mt-36{margin-top:36px}.mt-48{margin-top:48px}.mb-16{margin-bottom:16px}
.mb-8{margin-bottom:8px}.mb-14{margin-bottom:14px}.mb-20{margin-bottom:20px}.mb-32{margin-bottom:32px}
.cta-group{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.cta-group.centered{justify-content:center}
.max-prose{max-width:720px}
.inline-link{color:var(--teal-on-light);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.inline-link:hover{color:var(--teal-hover)}
.inline-link.light{color:var(--teal)}
.inline-link.light:hover{color:#4df0da}

/* ══════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════ */
@media(max-width:1024px){
  .card-grid-3,.card-grid-4{grid-template-columns:repeat(2,1fr)}
  .solutions-tile-grid{grid-template-columns:repeat(2,1fr)}
  .two-col,.two-col-narrow,.two-col-wide{grid-template-columns:1fr;gap:40px}
  .process-track{grid-template-columns:1fr 1fr;gap:28px}
  .process-track::before{display:none}
  .quote-layout{grid-template-columns:1fr}
  .footer-links{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:768px){
  :root{--sv:56px}
  h1{font-size:clamp(26px,7vw,34px)}
  h2{font-size:clamp(21px,5vw,27px)}
  /* Mobile header: sticky + more logo prominence */
  header{position:sticky;top:0;z-index:520;background:rgba(3,16,43,0.98);backdrop-filter:saturate(140%) blur(6px)}
  .header-content{height:78px;padding:0 16px}
  .logo img{height:60px}
  .logo{display:flex;align-items:center}
  nav#siteNav{display:none}
  /* Use fixed drawer so it always appears above page content */
  nav#siteNav.open{display:block;position:fixed;top:78px;left:0;right:0;background:var(--navy-deep);border-bottom:1px solid rgba(255,255,255,0.12);padding:12px 0 16px;z-index:10010;box-shadow:0 18px 45px rgba(0,0,0,0.35);max-height:calc(100vh - 78px);overflow:auto}
  nav#siteNav.open>ul{flex-direction:column;gap:0;display:flex}
  nav#siteNav.open>ul>li>a{display:block;padding:10px 20px;font-size:15px}
  nav#siteNav.open .submenu{display:none}
  nav#siteNav.open .has-submenu.open>.submenu{display:block!important}
  /* Mobile submenu drawer styles */
  nav#siteNav.open .has-submenu.open>.submenu{position:static;border:none;border-radius:0;margin:0;padding:0;box-shadow:none;background:rgba(255,255,255,0.05);border-left:3px solid var(--teal)}
  nav#siteNav.open .has-submenu.open>.submenu li a{padding:9px 20px 9px 28px;font-size:14px}
  /* Arrow indicator on submenu parents */
  nav#siteNav.open .has-submenu>a::after{content:' ▸';font-size:10px;opacity:0.6}
  nav#siteNav.open .has-submenu.open>a::after{content:' ▾';font-size:10px;opacity:0.6}
  .mobile-menu-btn{display:block;position:relative;z-index:10030;font-size:28px}
  header .cta-primary{display:none}
  .hero{padding:52px 16px}
  .hero-desc{font-size:16px}
  .hero-ctas{flex-direction:column;align-items:center}
  .hero-ctas .cta-primary,.hero-ctas .cta-secondary,.hero-ctas .btn-outline-white{width:100%;max-width:320px;justify-content:center}
  .trust-bar-items{flex-direction:column}
  .trust-bar-items li{border-right:none;border-bottom:1px solid rgba(255,255,255,0.07);padding:10px 16px;flex:none;width:100%;justify-content:flex-start;white-space:normal}
  .trust-bar-items li:last-child{border-bottom:none}
  .credentials-inner{flex-direction:column;gap:0}
  .cred-item{border-right:none;border-bottom:1.5px solid var(--border);width:100%;padding:12px 20px}
  .cred-item:last-child{border-bottom:none}
  .cred-label{padding:12px 20px 4px;width:100%}
  .card-grid,.card-grid-2,.card-grid-3,.card-grid-4{grid-template-columns:1fr}
  .solutions-tile-grid{grid-template-columns:1fr}
  .process-track{grid-template-columns:1fr}
  .footer-links{grid-template-columns:1fr 1fr;gap:24px;padding-bottom:32px}
  .footer-grid{grid-template-columns:1fr;gap:22px;padding:34px 0}
  .footer-logo img{height:34px}
  .container{padding:0 16px}
  .form-options{grid-template-columns:1fr 1fr}
  .form-input,.form-select,.form-textarea{font-size:16px}
  .two-col-narrow img{max-width:280px;margin:0 auto}
  body{padding-bottom:62px}
  .cta-group{flex-direction:column;align-items:flex-start}
}
@media(max-width:480px){
  .footer-links{grid-template-columns:1fr}
  .form-options{grid-template-columns:1fr}
  .cta-group .cta-primary,.cta-group .cta-secondary,.cta-group .btn-outline-white{width:100%;justify-content:center}
  .hero-ctas .cta-primary,.hero-ctas .cta-secondary,.hero-ctas .btn-outline-white{max-width:100%}
}


/* ─────────────────────────────────────────────────────────────
   Mobile header + mobile nav drawer — single source of truth
   (Fixes: menu behind content, sticky header, hamburger clickable)
   ───────────────────────────────────────────────────────────── */
@media (max-width: 768px){
  /* keep existing header colors from earlier rules; only enforce stacking */
  header{ position: sticky; top:0; z-index: 2147483647; }

  /* keep the button clickable */
  #mobileMenuBtn, .mobile-menu-btn{ position: relative; z-index: 2147483647; }

  /* nav is hidden by default */
  #siteNav, nav#siteNav{ display:none; }

  /* open state: fixed drawer above all page content */
  #siteNav.open, nav#siteNav.open{
    display:block;
    position: fixed;
    left:0; right:0;
    top: 78px;                 /* matches .header-content height */
    z-index: 2147483646;
    max-height: calc(100vh - 78px);
    overflow: auto;
    background: var(--navy-deep);
  }
}

/* If any hero/banner uses z-index/transform, ensure it can't cover the mobile nav */
@media (max-width: 768px){
  .hero, .banner, .page-hero{
    z-index: 1;
  }
}
