/* sunsurf-pages.css -- Phase 5 structural page styles
   Supplements sunsurf.css. DO NOT edit sunsurf.css (another agent owns it). */

/* ==================== NAV DROPDOWNS ==================== */
.nav-dropdown{position:relative}
.nav-dropdown-trigger{display:inline-flex;align-items:center}
.nav-dropdown-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:240px;padding:12px 0;background:rgba(10,30,63,.97);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 16px 48px rgba(0,0,0,.25);z-index:1001}
.nav-dropdown-wide{min-width:280px}
.nav-dropdown-menu a{display:block;padding:10px 20px;font-size:.875rem;color:var(--text-secondary);transition:color .2s,background .2s}
.nav-dropdown-menu a:hover{color:var(--white);background:rgba(255,255,255,.05)}
.nav-dropdown:hover .nav-dropdown-menu{display:block}
.nav-dropdown-menu a::after{display:none}
@media(max-width:768px){.nav-dropdown-menu{display:none !important}}

/* ==================== CONTACT FORM ==================== */
.contact-form-wrap{background:#ffffff;border:1px solid rgba(15,30,61,.08);border-radius:16px;padding:clamp(24px,4vw,40px);box-shadow:0 2px 12px rgba(15,30,61,.06)}
.contact-form{display:flex;flex-direction:column;gap:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font-size:.8125rem;font-weight:600;color:#5a6577;text-transform:uppercase;letter-spacing:.04em}
.form-group input,.form-group select,.form-group textarea{padding:12px 16px;background:#f8f7f3;border:1px solid rgba(15,30,61,.12);border-radius:var(--radius-md);color:#0F1E3D;font-size:.9375rem;font-family:var(--font-sans);outline:none;transition:border-color .25s;resize:vertical}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-secondary)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold-500)}
.form-group select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:36px}
.form-group select option{background:#ffffff;color:#0F1E3D}
@media(max-width:768px){.form-row{grid-template-columns:1fr}}
@media(max-width:768px){.contact-form-wrap + div,.section > .container > div[style*="grid-template-columns:1.4fr"]{display:block !important}.section > .container > div[style*="grid-template-columns:1.4fr"] > div:last-child{margin-top:48px}}

/* ==================== LEGAL PAGES ==================== */
.legal-content{max-width:800px;color:#5a6577;line-height:1.8}
.legal-content h2{font-family:var(--font-serif);font-size:1.375rem;font-weight:700;color:#0F1E3D;margin:40px 0 12px}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{font-size:1.0625rem;font-weight:600;color:var(--gold-400);margin:24px 0 8px}
.legal-content p{margin-bottom:16px;font-size:.9375rem}
.legal-content ul{margin:0 0 16px 24px}
.legal-content li{margin-bottom:8px;font-size:.9375rem}
.legal-content a{color:var(--ocean-400)}

/* ==================== INSIGHTS HUB ==================== */
.search-wrap{position:relative;max-width:480px;margin-top:24px}
.search-input{width:100%;padding:14px 20px 14px 48px;background:#ffffff;border:1px solid rgba(15,30,61,.12);border-radius:var(--radius-full);color:#0F1E3D;font-size:1rem;font-family:var(--font-sans);outline:none;transition:border-color .25s}
.search-input::placeholder{color:var(--text-secondary)}
.search-input:focus{border-color:var(--gold-500)}
.search-icon{position:absolute;top:50%;left:16px;transform:translateY(-50%);width:20px;height:20px;color:var(--text-secondary);pointer-events:none}

.chip-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.chip{padding:8px 20px;background:#ffffff;border:1px solid rgba(15,30,61,.1);border-radius:var(--radius-full);color:#5a6577;font-size:.8125rem;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all .25s}
.chip:hover{border-color:rgba(200,162,78,.3);color:#0F1E3D}
.chip.active{background:rgba(200,162,78,.1);border-color:rgba(200,162,78,.35);color:#a88832}

.featured-article{display:block;background:linear-gradient(135deg,rgba(200,162,78,.06),rgba(200,162,78,.02));border:1px solid rgba(200,162,78,.2);border-radius:16px;padding:clamp(24px,4vw,48px);margin-bottom:48px;position:relative;overflow:hidden;transition:all .35s}
.featured-article:hover{border-color:rgba(200,162,78,.35);transform:translateY(-4px);box-shadow:0 24px 48px rgba(15,30,61,.08)}
.featured-badge{position:absolute;top:16px;right:16px;padding:4px 14px;background:var(--gold-500);color:var(--navy-900);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-full)}
.featured-content .article-cat{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ocean-400);margin-bottom:12px}
.featured-content h3{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;color:#0F1E3D;margin-bottom:12px;line-height:1.2}
.featured-content p{font-size:1.0625rem;color:var(--text-secondary);line-height:1.7;max-width:700px;margin-bottom:12px}
.featured-content .article-meta{font-size:.8125rem;color:var(--text-secondary)}

.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.article-card{display:flex;flex-direction:column;background:#ffffff;border:1px solid rgba(15,30,61,.08);border-radius:var(--radius-lg);padding:28px;transition:all .35s;box-shadow:0 2px 12px rgba(15,30,61,.05)}
.article-card:hover{border-color:rgba(200,162,78,.25);transform:translateY(-4px);box-shadow:0 16px 40px rgba(15,30,61,.08)}
.article-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.article-card .article-cat{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ocean-400);background:rgba(26,115,232,.1);padding:4px 10px;border-radius:var(--radius-full)}
.article-card .article-meta{font-size:.75rem;color:var(--text-secondary)}
.article-card h3{font-family:var(--font-serif);font-size:1.125rem;font-weight:700;color:#0F1E3D;margin-bottom:10px;line-height:1.3}
.article-card p{font-size:.875rem;color:var(--text-secondary);line-height:1.6;flex:1;margin-bottom:16px}
.article-read-more{font-size:.8125rem;font-weight:600;color:var(--gold-500);display:inline-flex;align-items:center;gap:6px}
@media(max-width:1024px){.article-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.article-grid{grid-template-columns:1fr}}

/* ==================== QUIZ ==================== */
.quiz-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold-500);font-weight:600;margin-bottom:12px}
.quiz-question{font-family:var(--font-serif);font-size:1.375rem;font-weight:700;color:#0F1E3D;margin-bottom:24px;line-height:1.3}
.quiz-options{display:flex;flex-direction:column;gap:10px}
.quiz-opt{padding:14px 20px;background:#ffffff;border:1px solid rgba(15,30,61,.10);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9375rem;font-family:var(--font-sans);text-align:left;cursor:pointer;transition:all .25s}
.quiz-opt:hover{border-color:var(--gold-500);background:rgba(200,162,78,.08);color:#0F1E3D}

/* ==================== APPLY PAGE PROGRESS ==================== */
.app-progress-bar{height:4px;background:rgba(15,30,61,.08);border-radius:4px;overflow:hidden;margin-bottom:16px}
.app-progress-fill{height:100%;background:linear-gradient(90deg,var(--gold-500),var(--ocean-400));border-radius:4px;transition:width .4s ease}
.app-progress-steps{display:flex;justify-content:space-between}
.app-step{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);transition:color .3s}
.app-step.active{color:var(--gold-400)}

/* ==================== STATS 4-col responsive ==================== */
@media(max-width:1024px){.why-grid[style*="repeat(4"]{grid-template-columns:repeat(2,1fr) !important}}
@media(max-width:480px){.why-grid[style*="repeat(4"]{grid-template-columns:1fr !important}}

/* ==================== ABOUT PAGE: Mission/Vision + Leadership grids ==================== */
/* Desktop: explicit multi-column via class (no inline style needed) */
.why-grid-2{grid-template-columns:repeat(2,1fr)}
.why-grid-3{grid-template-columns:repeat(3,1fr)}

/* Tablet: leadership 3-col -> 2-col */
@media(max-width:1024px){
  .why-grid-3{grid-template-columns:repeat(2,1fr)}
}

/* Mobile: everything stacks to single column with premium spacing */
@media(max-width:768px){
  .why-grid-2,.why-grid-3{grid-template-columns:1fr;gap:16px}
  /* Premium mobile card refinements */
  .why-grid-2 > .why-card,
  .why-grid-3 > .why-card{
    padding:28px 24px;
    max-width:480px;
    margin-left:auto;
    margin-right:auto;
    width:100%;
  }
  .why-grid-2 > .why-card p,
  .why-grid-3 > .why-card p{
    font-size:.9375rem;
    line-height:1.65;
  }
  /* Fallback: also override any leftover inline repeat() styles */
  .why-grid[style*="repeat(2"]{grid-template-columns:1fr !important}
  .why-grid[style*="repeat(3"]{grid-template-columns:1fr !important}
}
@media(max-width:480px){
  .why-grid-2 > .why-card,
  .why-grid-3 > .why-card{
    padding:24px 20px;
  }
  .why-grid[style*="repeat(2"]{grid-template-columns:1fr !important}
  .why-grid[style*="repeat(3"]{grid-template-columns:1fr !important}
}

/* ==================== MOBILE MENU (Premium Full-Screen Nav) ==================== */
/* Header: logo + close button */
.mobile-menu-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 24px;
  border-bottom:1px solid rgba(15,30,61,.06);
  flex-shrink:0;
}
.mobile-menu-header .brand-logo{
  height:40px;
  width:auto;
}
.mobile-close{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;
  cursor:pointer;
  transition:all .25s;
  color:var(--white);
}
.mobile-close:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(200,162,78,.3);
}
.mobile-close svg{
  width:20px;
  height:20px;
}

/* Nav section */
.mobile-menu-nav{
  flex:1;
  padding:24px 24px 16px;
  overflow-y:auto;
}

/* Top-level links */
.mobile-menu-link{
  display:block;
  padding:14px 0;
  font-family:var(--font-sans);
  font-size:1rem;
  font-weight:500;
  color:var(--text-secondary);
  border-bottom:1px solid rgba(15,30,61,.06);
  transition:color .2s;
}
.mobile-menu-link:hover,
.mobile-menu-link:focus{
  color:var(--white);
}

/* Accordion group (Funding Solutions, Industries) */
.mobile-menu-group{
  border-bottom:1px solid rgba(15,30,61,.06);
}
.mobile-menu-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:14px 0;
  background:none;
  border:none;
  font-family:var(--font-sans);
  font-size:1rem;
  font-weight:500;
  color:var(--text-secondary);
  cursor:pointer;
  transition:color .2s;
}
.mobile-menu-toggle:hover,
.mobile-menu-toggle:focus{
  color:var(--white);
}
.mobile-menu-toggle svg{
  transition:transform .3s ease;
  flex-shrink:0;
  margin-left:8px;
  color:var(--gold-500);
}
.mobile-menu-toggle.expanded svg{
  transform:rotate(180deg);
}
.mobile-menu-toggle.expanded{
  color:var(--gold-400);
}

/* Sub-menu (hidden by default) */
.mobile-menu-sub{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease,padding .35s ease;
  padding:0 0 0 16px;
}
.mobile-menu-sub.show{
  max-height:600px;
  padding:0 0 12px 16px;
}
.mobile-menu-sub a{
  display:block;
  padding:10px 12px;
  font-family:var(--font-sans);
  font-size:.875rem;
  font-weight:400;
  color:var(--text-secondary);
  border-left:2px solid rgba(255,255,255,.06);
  transition:color .2s,border-color .2s,background .2s;
  border-radius:0 6px 6px 0;
}
.mobile-menu-sub a:hover,
.mobile-menu-sub a:focus{
  color:var(--white);
  border-left-color:var(--gold-500);
  background:rgba(255,255,255,.03);
}
.mobile-view-all{
  color:var(--gold-400) !important;
  font-weight:600 !important;
}

/* Footer: phone + CTA */
.mobile-menu-footer{
  padding:20px 24px;
  border-top:1px solid rgba(255,255,255,.06);
  display:flex;
  flex-direction:column;
  gap:12px;
  flex-shrink:0;
  background:rgba(7,20,40,.5);
}
.mobile-phone-link{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 0;
  font-family:var(--font-sans);
  font-size:.9375rem;
  font-weight:500;
  color:var(--text-secondary);
  transition:color .2s;
}
.mobile-phone-link:hover{
  color:var(--gold-400);
}
.mobile-phone-link svg{
  color:var(--gold-500);
  flex-shrink:0;
}
.mobile-menu-cta{
  width:100%;
  justify-content:center;
  padding:14px 24px;
  font-size:.9375rem;
}

/* Hamburger -> X animation */
.hamburger.active span:nth-child(1){
  transform:rotate(45deg) translate(5px,5px);
}
.hamburger.active span:nth-child(2){
  opacity:0;
}
.hamburger.active span:nth-child(3){
  transform:rotate(-45deg) translate(5px,-5px);
}

/* iOS safe: gate heavy blur below 768px to prevent jank */
@media(max-width:768px){
  .mobile-menu{
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
  }
}

/* ==================== 5-STEP FUNDING WIZARD ==================== */

/* -- Layout: form + sidebar -- */
.wizard-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}
@media(max-width:1024px){.wizard-layout{grid-template-columns:1fr;gap:32px}}

.wizard-main{min-width:0}

/* -- Progress indicator -- */
.wizard-progress{margin-bottom:32px}
.wizard-progress-bar{height:4px;background:rgba(15,30,61,.08);border-radius:4px;overflow:hidden;margin-bottom:20px}
.wizard-progress-fill{height:100%;background:linear-gradient(90deg,var(--gold-500),var(--ocean-400));border-radius:4px;transition:width .5s cubic-bezier(.4,0,.2,1)}

.wizard-steps{display:flex;justify-content:space-between;gap:4px}
.wizard-step{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;cursor:default;padding:0;flex:1;font-family:var(--font-sans)}
.wizard-step-num{width:32px;height:32px;border-radius:50%;background:#f2efe8;border:2px solid rgba(15,30,61,.10);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700;color:var(--text-secondary);transition:all .35s}
.wizard-step-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);transition:color .35s;white-space:nowrap}

.wizard-step.active .wizard-step-num{background:linear-gradient(135deg,var(--gold-500),var(--gold-400));border-color:var(--gold-500);color:var(--navy-900)}
.wizard-step.active .wizard-step-label{color:var(--gold-400)}
.wizard-step.completed .wizard-step-num{background:rgba(200,162,78,.15);border-color:var(--gold-500);color:var(--gold-500)}
.wizard-step.completed .wizard-step-label{color:var(--gold-400)}
.wizard-step.completed{cursor:pointer}

@media(max-width:480px){
  .wizard-step-label{font-size:.5625rem;letter-spacing:.03em}
  .wizard-step-num{width:28px;height:28px;font-size:.75rem}
}

/* -- Panel transitions -- */
.wizard-panel{animation:wizFadeIn .4s ease}
@keyframes wizFadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* -- Headings inside panels -- */
.wizard-heading{font-family:var(--font-serif);font-size:clamp(1.25rem,2.5vw,1.5rem);color:#0F1E3D;margin-bottom:8px}
.wizard-subtext{font-size:.9375rem;color:var(--text-secondary);line-height:1.65;margin-bottom:24px}

/* -- Amount display -- */
.wizard-amount-display{font-family:var(--font-serif);font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;color:#0F1E3D;text-align:center;padding:16px 0 8px;letter-spacing:-.02em;background:linear-gradient(135deg,#0F1E3D,var(--gold-500));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* -- Slider -- */
.wizard-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--gold-500) var(--slider-pct,50%),rgba(15,30,61,.08) var(--slider-pct,50%));outline:none;cursor:pointer;margin:8px 0 16px}
.wizard-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--gold-500),var(--gold-400));border:3px solid #ffffff;cursor:pointer;box-shadow:0 2px 8px rgba(200,162,78,.4);transition:transform .2s}
.wizard-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}
.wizard-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--gold-500),var(--gold-400));border:3px solid #ffffff;cursor:pointer;box-shadow:0 2px 8px rgba(200,162,78,.4)}

/* -- Preset amount buttons -- */
.wizard-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.wizard-preset{padding:8px 18px;background:#ffffff;border:1px solid rgba(15,30,61,.10);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.8125rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all .25s}
.wizard-preset:hover{border-color:rgba(200,162,78,.4);color:#0F1E3D;background:rgba(200,162,78,.08)}
.wizard-preset.active{background:rgba(200,162,78,.15);border-color:var(--gold-500);color:var(--gold-400)}

/* -- Trust badges row -- */
.wizard-trust-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;margin-bottom:8px}
.wizard-trust-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff;border:1px solid rgba(15,30,61,.08);border-radius:var(--radius-full);font-size:.8125rem;color:var(--text-secondary)}
@media(max-width:480px){.wizard-trust-row{flex-direction:column}.wizard-trust-badge{justify-content:center}}

/* -- Radio group (contact method) -- */
.wizard-radio-group{display:flex;gap:10px;flex-wrap:wrap}
.wizard-radio{flex:1;min-width:100px}
.wizard-radio input{position:absolute;opacity:0;pointer-events:none}
.wizard-radio-box{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;background:#ffffff;border:2px solid rgba(15,30,61,.10);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .25s;text-align:center}
.wizard-radio-box svg{color:var(--text-secondary);transition:color .25s}
.wizard-radio input:checked + .wizard-radio-box{border-color:var(--gold-500);background:rgba(200,162,78,.08);color:var(--gold-400)}
.wizard-radio input:checked + .wizard-radio-box svg{color:var(--gold-500)}
.wizard-radio-box:hover{border-color:rgba(200,162,78,.3);background:#faf7f0}

/* -- Upload zone -- */
.wizard-upload-zone{padding:clamp(24px,4vw,40px);border:2px dashed rgba(15,30,61,.15);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:all .3s;background:#f8f7f3}
.wizard-upload-zone:hover,.wizard-upload-zone.dragover{border-color:var(--gold-500);background:rgba(200,162,78,.04)}
.wizard-upload-icon{margin-bottom:12px}
.wizard-upload-text{font-size:1rem;font-weight:600;color:#0F1E3D;margin-bottom:4px}
.wizard-upload-hint{font-size:.8125rem;color:var(--text-secondary)}

/* -- File list -- */
.wizard-file-list{display:flex;flex-direction:column;gap:8px}
.wizard-file-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8f7f3;border:1px solid rgba(15,30,61,.08);border-radius:var(--radius-md)}
.wizard-file-info{flex:1;min-width:0}
.wizard-file-name{display:block;font-size:.875rem;color:#0F1E3D;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wizard-file-size{font-size:.75rem;color:var(--text-secondary)}
.wizard-file-remove{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;transition:color .2s}
.wizard-file-remove:hover{color:#f77}

/* -- Security notice -- */
.wizard-security-notice{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;background:rgba(26,115,232,.06);border:1px solid rgba(26,115,232,.15);border-radius:var(--radius-md)}

/* -- Review sections -- */
.wizard-review-section{padding:20px;background:#f8f7f3;border:1px solid rgba(15,30,61,.08);border-radius:var(--radius-md)}
.wizard-review-section + .wizard-review-section{margin-top:16px}
.wizard-review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.wizard-review-header h4{font-family:var(--font-sans);font-size:1rem;font-weight:700;color:#0F1E3D}
.wizard-edit-btn{background:none;border:1px solid rgba(200,162,78,.3);border-radius:var(--radius-full);padding:4px 14px;font-size:.75rem;font-weight:600;color:var(--gold-400);cursor:pointer;font-family:var(--font-sans);transition:all .2s}
.wizard-edit-btn:hover{background:rgba(200,162,78,.1);border-color:var(--gold-500)}
.wizard-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:480px){.wizard-review-grid{grid-template-columns:1fr}}
.wizard-review-item{display:flex;flex-direction:column;gap:2px}
.wizard-review-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}
.wizard-review-value{font-size:.9375rem;color:#0F1E3D;font-weight:500}
.wizard-review-files{display:flex;flex-direction:column;gap:8px}
.wizard-review-file{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#0F1E3D}

/* -- Navigation (back/next) -- */
.wizard-nav{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:12px}
.wizard-nav .btn-gold{min-width:160px;justify-content:center}
.wizard-nav .btn-ghost{min-width:100px;justify-content:center}
.wizard-submit-btn{min-width:200px !important;font-size:1rem !important;padding:16px 36px !important}

/* -- Error display -- */
.wizard-error{display:none;padding:12px 16px;background:rgba(220,53,69,.08);border:1px solid rgba(220,53,69,.25);border-radius:var(--radius-md);color:#f77;font-size:.875rem;margin-top:4px}

/* -- Spinner (submit button) -- */
.wizard-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(7,20,40,.2);border-top-color:var(--navy-900);border-radius:50%;animation:wizSpin .7s linear infinite;vertical-align:middle;margin-right:8px}
@keyframes wizSpin{to{transform:rotate(360deg)}}

/* -- Success state -- */
.wizard-success-icon{width:88px;height:88px;border-radius:50%;background:rgba(200,162,78,.12);margin:0 auto 24px;display:flex;align-items:center;justify-content:center;animation:wizSuccessPop .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes wizSuccessPop{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}

.wizard-success-timeline{max-width:460px;margin:0 auto;text-align:left;display:flex;flex-direction:column;gap:16px}
.wizard-success-step{display:flex;align-items:flex-start;gap:16px}
.wizard-success-num{width:36px;height:36px;min-width:36px;border-radius:50%;background:rgba(200,162,78,.12);border:2px solid rgba(200,162,78,.3);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:var(--gold-500);font-family:var(--font-serif)}
.wizard-success-step strong{font-size:.9375rem;color:#0F1E3D;display:block;margin-bottom:2px}
.wizard-success-step p{font-size:.8125rem;color:var(--text-secondary);line-height:1.5}

/* -- Sidebar -- */
.wizard-sidebar{position:sticky;top:100px}
.wizard-sidebar-cards{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}
.wizard-sidebar-cards .why-card{padding:24px}
.wizard-sidebar-cards .why-card p{font-size:.875rem}

.wizard-sidebar-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px;background:#f8f7f3;border:1px solid rgba(15,30,61,.08);border-radius:var(--radius-md);text-align:center}
.wizard-stat-number{display:block;font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--gold-500)}
.wizard-stat-label{font-size:.6875rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}

@media(max-width:1024px){
  .wizard-sidebar{position:static;order:10}
  .wizard-sidebar-cards{display:grid;grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
  .wizard-sidebar-cards{grid-template-columns:1fr}
  .wizard-sidebar-stats{grid-template-columns:repeat(3,1fr)}
}

/* ==================== FIX 1: MOBILE HEADER PADDING ==================== */
@media(max-width:480px){
  .nav{padding:0 16px}
  .nav-inner{height:60px}
  .nav-logo .brand-logo{height:38px}
  .hamburger{padding:6px}
}
@media(min-width:481px) and (max-width:768px){
  .nav{padding:0 20px}
  .nav-inner{height:68px}
  .nav-logo .brand-logo{height:44px}
}

/* ==================== FIX 2: FOOTER COMPACT 2-COL MOBILE ==================== */
@media(max-width:768px){
  .footer{padding:40px 0 0}
  .footer-grid{
    grid-template-columns:1fr 1fr !important;
    gap:24px 20px !important;
  }
  .footer-brand{
    grid-column:1 / -1;
    max-width:none;
  }
  .footer-brand p{
    font-size:.8125rem;
    margin-bottom:12px;
    line-height:1.55;
  }
  .footer-logo .brand-logo{height:40px}
  .footer-social{margin-bottom:8px}
  .footer-col h4{font-size:.75rem;margin-bottom:12px}
  .footer-col li{margin-bottom:8px}
  .footer-col a{font-size:.8125rem}
  .newsletter-form{margin-top:10px}
  .newsletter-form input{padding:8px 14px;font-size:.8125rem}
  .newsletter-form button{padding:8px 16px;font-size:.75rem}
  .footer-bottom{
    flex-direction:row;
    text-align:left;
    padding:16px 0;
    gap:12px;
  }
  .footer-bottom p{font-size:.75rem}
  .footer-bottom-links{gap:16px}
  .footer-bottom-links a{font-size:.75rem}
}
@media(max-width:400px){
  .footer-grid{
    gap:20px 16px !important;
  }
  .footer-bottom{
    flex-direction:column;
    text-align:center;
  }
}

/* ==================== SIGNATURE CANVAS (Fix 3) ==================== */
.wizard-signature-pad{
  position:relative;
  border:2px solid rgba(15,30,61,.12);
  border-radius:var(--radius-md);
  background:#ffffff;
  cursor:crosshair;
  touch-action:none;
}
.wizard-signature-pad canvas{
  display:block;
  width:100%;
  border-radius:calc(var(--radius-md) - 2px);
}
.wizard-sig-actions{
  display:flex;
  gap:8px;
  margin-top:8px;
}
.wizard-sig-actions button{
  padding:6px 14px;
  background:#f8f7f3;
  border:1px solid rgba(15,30,61,.10);
  border-radius:var(--radius-full);
  color:var(--text-secondary);
  font-size:.75rem;
  font-weight:600;
  font-family:var(--font-sans);
  cursor:pointer;
  transition:all .2s;
}
.wizard-sig-actions button:hover{
  border-color:rgba(200,162,78,.3);
  color:var(--gold-500);
}


  border-color:rgba(200,162,78,.3);
  color:var(--gold-500);
}
.wizard-sig-hint{
  font-size:.8125rem;
  color:var(--text-secondary);
  text-align:center;
  margin-top:8px;
}

/* Mobile menu stays dark */
.mobile-menu-link{color:#94a3b8;border-bottom-color:rgba(255,255,255,.05)}
.mobile-menu-link:hover{color:#ffffff}
.mobile-menu-group{border-bottom-color:rgba(255,255,255,.05)}
.mobile-menu-toggle{color:#94a3b8}
.mobile-menu-toggle:hover{color:#ffffff}
.mobile-menu-sub a{border-left-color:rgba(255,255,255,.06)}
.mobile-menu-sub a:hover{color:#ffffff;background:rgba(255,255,255,.03)}
.mobile-menu-footer{background:rgba(7,20,40,.5)}
.mobile-phone-link{color:#94a3b8}
.mobile-close{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#ffffff}
/* Fix: btn-gold text in mobile menu must be dark navy, not inherited gray */
.mobile-menu a.btn-gold,
.mobile-menu .btn-gold,
.mobile-menu .mobile-menu-cta{color:#0F1E3D !important;font-weight:700}
.mobile-menu a.btn-gold:hover,
.mobile-menu .btn-gold:hover{color:#0F1E3D !important}

/* JM 2026-08-18: lighten mobile menu + hero/stats fixes */
.mobile-menu{background:rgba(248,247,243,.985)!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important}
.mobile-menu a{color:#0F1E3D!important}
.mobile-menu a:hover,.mobile-menu a:focus{color:#a88832!important}
.mobile-menu-header{border-bottom-color:rgba(15,30,61,.08)!important}
.mobile-menu-link{color:#0F1E3D!important;border-bottom-color:rgba(15,30,61,.10)!important}
.mobile-menu-link:hover,.mobile-menu-link:focus{color:#a88832!important}
.mobile-menu-group{border-bottom-color:rgba(15,30,61,.10)!important}
.mobile-menu-toggle{color:#0F1E3D!important}
.mobile-menu-toggle:hover,.mobile-menu-toggle:focus{color:#a88832!important}
.mobile-menu-toggle svg{color:#0F1E3D!important}
.mobile-menu-sub a{color:#5a6577!important;border-left-color:rgba(15,30,61,.14)!important}
.mobile-menu-sub a:hover,.mobile-menu-sub a:focus{color:#0F1E3D!important;background:rgba(15,30,61,.04)!important}
.mobile-menu-footer{background:rgba(15,30,61,.04)!important;border-top:1px solid rgba(15,30,61,.08)!important}
.mobile-menu-footer a,.mobile-menu-footer a[href^="tel"]{color:#0F1E3D!important}
.mobile-menu-header svg,.mobile-menu-header button,.mobile-menu .brand-logo{color:#0F1E3D!important}
.mobile-menu a.btn-gold,.mobile-menu .btn-gold{color:#0F1E3D!important}
