/* =========================================================================
   zap-pages.css — styling for the migrated CMS content pages (/pages/...).
   Builds on zap-redesign.css (tokens, .container, .section-pad, .btn-primary,
   .anim, --alt-blue, --nav-h all already defined there). Mirrors the shared
   "zap" HTML models so content pages match the marketing redesign.
   ========================================================================= */

/* Page hero (title band that clears the fixed nav) */
.page-hero{
  padding-top:calc(var(--nav-h) + 48px);padding-bottom:48px;
  background:var(--light-blue);text-align:center;
}
.page-hero h1{font-size:clamp(32px,4vw,52px);color:var(--dark-blue-deep);margin-bottom:12px}
.page-hero p{font-size:clamp(15px,1.5vw,18px);color:var(--blue);max-width:640px;margin:0 auto;line-height:1.7}

.breadcrumb{font-size:13px;color:var(--blue);margin-bottom:16px}
.breadcrumb a{color:var(--dark-blue);font-weight:500;transition:color .2s}
.breadcrumb a:hover{color:var(--green)}

/* Generic content typography inside .section-pad > .container */
.page-body h2{font-size:clamp(22px,2.4vw,30px);color:var(--dark-blue-deep);margin-bottom:12px}
.page-body h3{font-size:18px;color:var(--dark-blue-deep);margin:18px 0 6px}
.page-body p{font-size:15px;color:var(--blue);line-height:1.75;margin-bottom:12px}
.page-body ul,.page-body ol{color:var(--blue);line-height:1.75;margin:0 0 12px 20px}
.page-body li{margin-bottom:6px}

/* === CONTACT === */
.contact-section{background:var(--white)}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}

.contact-info{display:flex;flex-direction:column;gap:20px}
.contact-card{
  background:var(--light-blue);border-radius:14px;padding:28px;
  display:flex;align-items:center;gap:18px;transition:transform .3s;
}
.contact-card:hover{transform:translateX(4px)}
.contact-card-icon{
  flex-shrink:0;width:48px;height:48px;border-radius:50%;
  background:var(--dark-blue-deep);display:flex;align-items:center;justify-content:center;
}
.contact-card-icon svg{width:22px;height:22px;color:var(--white)}
.contact-card h3{font-size:16px;color:var(--dark-blue-deep);margin-bottom:4px;font-family:var(--font-body);font-weight:600}
.contact-card p{font-size:14px;color:var(--blue);line-height:1.55}
.contact-card a{color:var(--dark-blue-deep);font-weight:500;transition:color .2s}
.contact-card a:hover{color:var(--green)}

.contact-form-wrap{
  background:var(--white);border-radius:16px;padding:36px;
  border:1.5px solid var(--gray);box-shadow:0 4px 20px rgba(17,50,84,.06);
}
.contact-form-wrap h2{font-size:24px;color:var(--dark-blue-deep);margin-bottom:4px}
.contact-form-wrap .form-sub{font-size:14px;color:var(--blue);margin-bottom:24px}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.contact-form .form-group{display:flex;flex-direction:column;gap:4px}
.contact-form .form-group.full{grid-column:1/-1}
.contact-form .form-group label{font-size:13px;font-weight:500;color:var(--dark-blue)}
.contact-form .form-group input,
.contact-form .form-group select,
.contact-form .form-group textarea{
  padding:12px 14px;border:1.5px solid var(--gray);border-radius:8px;
  font-family:var(--font-body);font-size:14px;transition:border-color .2s;background:var(--white);
}
.contact-form .form-group input:focus,
.contact-form .form-group select:focus,
.contact-form .form-group textarea:focus{outline:none;border-color:var(--dark-blue)}
.contact-form textarea{resize:vertical;min-height:120px}

/* === MAP === */
.map-section{background:var(--light-blue);padding:64px 0}
.map-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch}
.map-embed{
  border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(17,50,84,.08);
  min-height:400px;background:var(--gray);
}
.map-embed iframe{width:100%;height:100%;border:none;display:block;min-height:400px}
.map-info{display:flex;flex-direction:column;justify-content:center;gap:24px}
.map-info h2{font-size:clamp(24px,3vw,36px);color:var(--dark-blue-deep)}
.map-info p{font-size:15px;color:var(--blue);line-height:1.7}
.map-details{display:flex;flex-direction:column;gap:12px}
.map-detail{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--dark-blue-deep);font-weight:500}
.map-detail svg{width:18px;height:18px;color:var(--green);flex-shrink:0}

/* === CLIENT PORTAL BANNER === */
.portal-banner{
  background:var(--white);padding:48px 0;text-align:center;
  border-top:1px solid var(--gray);border-bottom:1px solid var(--gray);
}
.portal-banner h3{font-size:22px;color:var(--dark-blue-deep);margin-bottom:8px}
.portal-banner p{font-size:15px;color:var(--blue);margin-bottom:20px}
.portal-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--alt-blue);color:var(--dark-blue-deep);font-weight:600;font-size:14px;
  padding:12px 24px;border-radius:50px;transition:all .3s;border:1.5px solid var(--dark-blue-deep);
}
.portal-btn:hover{background:var(--dark-blue-deep);color:var(--white);transform:translateY(-2px)}

/* === CTA === */
.page-cta{background:var(--dark-blue-deep);padding:64px 0;text-align:center}
.page-cta h2{color:var(--white);font-size:clamp(24px,3vw,36px);margin-bottom:12px}
.page-cta p{color:rgba(255,255,255,.8);font-size:16px;margin-bottom:28px}

@media(max-width:768px){
  .contact-layout{grid-template-columns:1fr}
  .contact-form .form-row{grid-template-columns:1fr}
  .map-layout{grid-template-columns:1fr}
  .map-embed{min-height:300px}
}

/* =========================================================================
   ABOUT PAGE + TEAM PROFILES — mirrors the shared zap about.html / team-*.html
   models. Note: the leadership cards use .lead-card (NOT .team-card) so they
   don't inherit the homepage's .team-card rules from zap-redesign.css, which is
   also loaded on these pages.
   ========================================================================= */
.section-eyebrow{font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:12px}

/* === OUR STORY === */
.our-story{background:var(--white)}
.story-header{text-align:left;margin:0 0 24px}
.story-header h2{font-size:clamp(28px,3.4vw,44px);color:var(--dark-blue-deep);margin-bottom:16px}
.story-desc{margin:0 0 40px}
.story-desc p{font-size:15px;color:var(--blue);line-height:1.7;margin-bottom:16px}
.story-desc p strong{color:var(--dark-blue-deep)}

/* === TEAM CAROUSEL === */
.team-carousel-section{position:relative;margin-top:8px}
.team-carousel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.team-carousel-header h3{font-family:var(--font-display);font-size:clamp(20px,2.4vw,28px);color:var(--dark-blue-deep)}
.carousel-controls{display:flex;gap:8px}
.carousel-btn{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--dark-blue-deep);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.25s;color:var(--dark-blue-deep)}
.carousel-btn:hover{background:var(--dark-blue-deep);color:var(--white)}
.carousel-btn:disabled{opacity:.3;cursor:default;background:var(--white);color:var(--dark-blue-deep)}
.carousel-btn svg{width:18px;height:18px}
.carousel-track-wrap{overflow:hidden;position:relative}
.carousel-track{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:8px}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-card{flex:0 0 calc(25% - 15px);min-width:220px;background:var(--white);border-radius:16px;overflow:hidden;border:1.5px solid var(--gray);box-shadow:0 4px 16px rgba(17,50,84,.06);transition:transform .3s,box-shadow .3s;cursor:pointer;text-decoration:none;color:inherit}
.carousel-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(17,50,84,.1)}
.carousel-card-photo{width:100%;aspect-ratio:3/3.5;overflow:hidden;background:var(--light-blue);position:relative}
.carousel-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .4s}
.carousel-card:hover .carousel-card-photo img{transform:scale(1.04)}
.carousel-card-info{padding:16px 18px 20px}
.carousel-card-info h4{font-size:16px;color:var(--dark-blue-deep);margin-bottom:2px;font-family:var(--font-body);font-weight:600}
.carousel-card-info span{font-size:13px;color:var(--green);font-weight:600;display:block;margin-bottom:8px}
.carousel-card-info p{font-size:12.5px;color:var(--blue);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.carousel-progress{display:flex;gap:6px;justify-content:center;margin-top:20px}
.carousel-dot{width:8px;height:8px;border-radius:50%;background:var(--gray);transition:.3s}
.carousel-dot.active{background:var(--dark-blue-deep);width:24px;border-radius:4px}

/* === BY THE NUMBERS === */
.by-the-numbers{background:var(--light-blue)}
.numbers-header{text-align:center;margin-bottom:48px}
.numbers-header h2{font-size:clamp(28px,3.4vw,44px);color:var(--dark-blue-deep)}
.numbers-header p{font-size:16px;color:var(--blue);max-width:600px;margin:12px auto 0}
.numbers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.number-card{background:var(--white);border-radius:16px;padding:40px 28px;text-align:center;box-shadow:0 4px 20px rgba(17,50,84,.06);transition:transform .3s,box-shadow .3s}
.number-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(17,50,84,.1)}
.number-card h3{font-family:var(--font-stat);font-size:clamp(40px,5vw,56px);color:var(--dark-blue-deep);font-weight:800;line-height:1;margin-bottom:8px}
.number-card p{font-size:15px;color:var(--blue);font-weight:500}

/* === LEADERSHIP (featured + lead cards) === */
.leadership{background:var(--white)}
.leadership-header{text-align:center;margin-bottom:48px}
.leadership-header h2{font-size:clamp(28px,3.4vw,44px);color:var(--dark-blue-deep)}
.leadership-header p{font-size:16px;color:var(--blue);max-width:600px;margin:12px auto 0}
.featured-leader{display:grid;grid-template-columns:320px 1fr;background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(17,50,84,.08);margin-bottom:32px;transition:transform .3s,box-shadow .3s}
.featured-leader:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(17,50,84,.12)}
.featured-photo{background:var(--alt-blue);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;min-height:360px}
.featured-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.featured-info{padding:40px;display:flex;flex-direction:column;justify-content:center}
.featured-info h3{font-size:24px;color:var(--dark-blue-deep);margin-bottom:4px}
.featured-info .leader-title{font-size:14px;color:var(--green);font-weight:600;margin-bottom:20px;display:block}
.featured-info blockquote{font-family:var(--font-display);font-style:italic;font-size:17px;color:var(--dark-blue-deep);line-height:1.6;margin-bottom:20px;padding-left:20px;border-left:3px solid var(--green)}
.featured-info p{font-size:14px;color:var(--blue);line-height:1.65}
.lead-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.lead-card{background:var(--white);border-radius:16px;padding:32px;box-shadow:0 8px 28px rgba(17,50,84,.1);transition:transform .3s,box-shadow .3s}
.lead-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(17,50,84,.1)}
.lead-card-icon{width:56px;height:56px;border-radius:50%;background:var(--dark-blue-deep);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.lead-card-icon svg{width:26px;height:26px;color:var(--white)}
.lead-card h3{font-size:18px;color:var(--dark-blue-deep);margin-bottom:4px;font-family:var(--font-body);font-weight:600}
.lead-card .lead-label{font-size:13px;color:var(--green);font-weight:600;display:block;margin-bottom:12px}
.lead-card p{font-size:14px;color:var(--blue);line-height:1.65}

/* === OUR VALUES === */
.our-values{background:var(--light-blue)}
.values-header{text-align:center;margin-bottom:48px}
.values-header h2{font-size:clamp(28px,3.4vw,44px);color:var(--dark-blue-deep)}
.values-header p{font-size:16px;color:var(--blue);max-width:600px;margin:12px auto 0}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.value-card{background:var(--white);border-radius:16px;padding:32px 24px;text-align:center;box-shadow:0 4px 20px rgba(17,50,84,.06);transition:transform .3s,box-shadow .3s}
.value-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(17,50,84,.1)}
.value-icon{width:64px;height:64px;border-radius:50%;background:var(--dark-blue-deep);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.value-icon svg{width:28px;height:28px;color:var(--white)}
.value-card h3{font-size:17px;color:var(--dark-blue-deep);margin-bottom:8px;font-family:var(--font-body);font-weight:600}
.value-card p{font-size:14px;color:var(--blue);line-height:1.65}

/* === LICENSED / BADGES === */
.licensed{background:var(--white);text-align:center}
.licensed h2{font-size:clamp(28px,3.4vw,44px);color:var(--dark-blue-deep);margin-bottom:12px}
.licensed p{font-size:16px;color:var(--blue);max-width:600px;margin:0 auto 40px}
.badges-row{display:flex;justify-content:center;gap:48px;flex-wrap:wrap}
.badge-item{display:flex;flex-direction:column;align-items:center;gap:12px}
.badge-icon{width:64px;height:64px;border-radius:50%;background:var(--dark-blue-deep);display:flex;align-items:center;justify-content:center;transition:transform .3s,box-shadow .3s}
.badge-icon:hover{transform:scale(1.08);box-shadow:0 8px 24px rgba(17,50,84,.15)}
.badge-icon svg{width:28px;height:28px;color:var(--white)}
.badge-item span{font-size:14px;font-weight:600;color:var(--dark-blue-deep)}

/* === TEAM PROFILE PAGES === */
.profile-hero{padding-top:calc(var(--nav-h) + 32px);padding-bottom:48px;background:var(--light-blue)}
.profile-hero .breadcrumb{margin-bottom:24px}
.profile-grid{display:grid;grid-template-columns:400px 1fr;gap:48px;align-items:end}
.profile-photo{background:var(--alt-blue);border-radius:20px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;min-height:420px}
.profile-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.profile-info{padding-bottom:48px}
.profile-info h1{font-size:clamp(32px,4vw,48px);color:var(--dark-blue-deep);margin-bottom:4px}
.profile-title{font-size:18px;color:var(--green);font-weight:600;display:block;margin-bottom:24px;font-family:var(--font-body)}
.profile-contact-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}
.profile-contact-item{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--blue)}
.profile-contact-item svg{width:20px;height:20px;color:var(--dark-blue-deep);flex-shrink:0}
.profile-contact-item a{color:var(--blue);transition:color .2s}
.profile-contact-item a:hover{color:var(--green)}
.profile-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.profile-bio{background:var(--white)}
.bio-inner{max-width:820px}
.bio-inner h2{font-size:clamp(24px,3vw,36px);color:var(--dark-blue-deep);margin-bottom:24px}
.bio-inner p{font-size:16px;color:var(--blue);line-height:1.8;margin-bottom:20px}
.bio-inner blockquote{font-family:var(--font-display);font-style:italic;font-size:18px;color:var(--dark-blue-deep);line-height:1.7;margin:32px 0;padding:24px 28px;border-left:4px solid var(--green);background:var(--light-blue);border-radius:0 12px 12px 0}
.meet-team{background:var(--light-blue)}
.meet-team-header{text-align:center;margin-bottom:40px}
.meet-team-header h2{font-size:clamp(24px,3vw,36px);color:var(--dark-blue-deep)}
.meet-team-header p{font-size:16px;color:var(--blue);max-width:560px;margin:12px auto 0}
.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.team-member-card{background:var(--white);border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(17,50,84,.06);transition:transform .3s,box-shadow .3s;text-decoration:none;color:inherit;display:block}
.team-member-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(17,50,84,.1)}
.team-member-photo{width:100%;aspect-ratio:1/1.1;overflow:hidden;background:var(--light-blue)}
.team-member-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .4s}
.team-member-card:hover .team-member-photo img{transform:scale(1.05)}
.team-member-info{padding:14px 16px 18px;text-align:center}
.team-member-info h4{font-size:15px;color:var(--dark-blue-deep);margin-bottom:2px;font-family:var(--font-body);font-weight:600}
.team-member-info span{font-size:12px;color:var(--green);font-weight:600}

/* === ABOUT / PROFILE RESPONSIVE === */
@media(max-width:1024px){
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .featured-leader{grid-template-columns:280px 1fr}
  .carousel-card{flex:0 0 calc(33.333% - 14px);min-width:200px}
  .team-grid{grid-template-columns:repeat(4,1fr)}
  .profile-grid{grid-template-columns:340px 1fr;gap:36px}
}
@media(max-width:768px){
  .carousel-card{flex:0 0 calc(50% - 10px);min-width:180px}
  .numbers-grid{grid-template-columns:1fr;max-width:360px;margin:0 auto}
  .featured-leader{grid-template-columns:1fr}
  .featured-photo{min-height:280px}
  .featured-info{padding:28px}
  .lead-cards{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr 1fr}
  .badges-row{gap:32px}
  .profile-grid{grid-template-columns:1fr;gap:0}
  .profile-photo{max-width:360px;margin:0 auto;min-height:320px}
  .profile-info{padding:28px 0 32px;text-align:center}
  .profile-contact-list{align-items:center}
  .profile-cta-row{justify-content:center}
  .team-grid{grid-template-columns:repeat(3,1fr);gap:16px}
}
@media(max-width:480px){
  .values-grid{grid-template-columns:1fr}
  .carousel-card{flex:0 0 calc(75% - 10px);min-width:160px}
  .team-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .profile-photo{min-height:280px}
}

/* =========================================================================
   HOW IT WORKS PAGE — mirrors the shared zap how-it-works.html model.
   (.page-cta / .section-eyebrow are already defined above.)
   ========================================================================= */

/* Steps section */
.steps{background:var(--white)}
.steps-header{text-align:center;margin-bottom:56px}
.steps-header h2{font-size:clamp(28px,3.4vw,44px);color:var(--dark-blue-deep)}
.steps-header p{font-size:16px;color:var(--blue);max-width:600px;margin:12px auto 0}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;position:relative}
.steps-grid::before{
  content:'';position:absolute;top:48px;left:calc(12.5% + 16px);right:calc(12.5% + 16px);
  height:2px;background:linear-gradient(90deg,var(--green) 0%,var(--alt-blue) 100%);z-index:0;
}
.step-card{text-align:center;position:relative;z-index:1;background:var(--white);padding:0 8px}
.step-number{
  width:64px;height:64px;border-radius:50%;
  background:var(--green);color:var(--white);
  font-family:var(--font-display);font-size:24px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;box-shadow:0 4px 16px rgba(0,191,99,.2);
  transition:transform .3s,box-shadow .3s;
}
.step-card:hover .step-number{transform:scale(1.1);box-shadow:0 8px 24px rgba(0,191,99,.3)}
.step-card h3{font-size:17px;color:var(--dark-blue-deep);margin-bottom:8px;font-family:var(--font-body);font-weight:600}
.step-card p{font-size:14px;color:var(--blue);line-height:1.65}

/* Resources ("Learn More") section */
.resources{background:linear-gradient(180deg,var(--white) 0%,var(--light-blue) 100%)}
.resources-header{text-align:center;margin-bottom:48px}
.resources-header h2{font-size:clamp(28px,3.4vw,44px);color:var(--dark-blue-deep);margin-bottom:8px}
.resources-header p{font-size:16px;color:var(--blue);max-width:560px;margin:0 auto}
.resources-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:40px}
.resource-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:var(--white);border-radius:14px;padding:28px 16px 24px;
  text-decoration:none;transition:all .3s ease;box-shadow:0 4px 16px rgba(17,50,84,.06);
}
.resource-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(17,50,84,.12)}
.resource-icon{
  width:52px;height:52px;border-radius:50%;
  background:var(--dark-blue-deep);display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;flex-shrink:0;
}
.resource-icon svg{width:24px;height:24px;color:var(--white)}
.resource-card h4{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--dark-blue-deep);line-height:1.4;margin-bottom:8px}
.resource-card .resource-arrow{margin-top:auto;color:var(--green);font-size:13px;font-weight:600;display:flex;align-items:center;gap:4px;transition:gap .3s}
.resource-card:hover .resource-arrow{gap:8px}
.resource-card .resource-arrow svg{width:16px;height:16px}
.resources-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.resources-actions a{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--alt-blue);color:var(--dark-blue-deep);font-weight:600;font-size:14px;
  padding:10px 24px;border-radius:20px;border:1.5px solid var(--dark-blue-deep);
  transition:all .3s ease;text-decoration:none;
}
.resources-actions a:hover{background:var(--light-blue);transform:translateY(-1px);box-shadow:0 4px 12px rgba(45,81,109,.1)}

/* Eligibility section */
.eligibility{background:var(--light-blue)}
.elig-layout{max-width:900px;margin:0 auto}
.elig-content h2{font-size:clamp(30px,3.6vw,48px);color:var(--dark-blue-deep);margin-bottom:12px}
.elig-content>p{font-size:17px;color:var(--blue);margin-bottom:32px;max-width:640px}
.elig-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.elig-item{
  display:flex;align-items:center;gap:16px;
  background:var(--white);border-radius:14px;padding:22px 24px;
  box-shadow:0 4px 20px rgba(17,50,84,.07);transition:transform .3s;
}
.elig-item:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(17,50,84,.1)}
.elig-check{
  flex-shrink:0;width:32px;height:32px;border-radius:50%;
  background:var(--dark-blue-deep);display:flex;align-items:center;justify-content:center;
}
.elig-check svg{width:16px;height:16px;color:var(--white)}
.elig-item p{font-size:15px;color:var(--dark-blue-deep);line-height:1.6;font-weight:500}

/* Critical Dates section */
.dates{background:var(--white)}
.dates-header{text-align:left;margin-bottom:52px}
.dates-eyebrow{
  display:inline-block;background:var(--alt-blue);color:var(--dark-blue-deep);
  font-size:15px;font-weight:500;padding:10px 24px;border-radius:14px;
  border:1.5px solid #b9d4e6;margin-bottom:22px;font-family:var(--font-body);
}
.dates-header h2{font-size:clamp(34px,4.4vw,54px);color:var(--dark-blue-deep);line-height:1.1}
.dates-tagline{font-family:var(--font-display);font-size:clamp(34px,4.4vw,54px);color:var(--dark-blue-deep);font-weight:700;line-height:1.1;margin-top:0}
.dates-intro{font-size:16px;color:var(--blue);line-height:1.7;margin-top:22px;max-width:680px}
.dates-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:1040px}
.date-card{
  background:var(--white);border-radius:18px;padding:32px 34px;
  box-shadow:0 10px 34px rgba(17,50,84,.1);border:none;transition:transform .3s,box-shadow .3s;
}
.date-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(17,50,84,.14)}
.date-card-head{display:flex;align-items:center;gap:16px;min-height:74px;margin-bottom:14px;position:relative}
.date-li-icon{width:74px;height:74px;border-radius:50%;flex-shrink:0;object-fit:cover}
.date-card-county{margin-left:auto;font-family:var(--font-body);font-weight:700;font-size:clamp(16px,2vw,22px);letter-spacing:.02em}
.date-card-head::after{content:'';position:absolute;left:67px;right:0;top:74%;height:2px}
.date-item{display:flex;align-items:center;gap:18px;padding:22px 0;position:relative}
.date-item:not(:last-of-type)::after{content:'';position:absolute;left:72px;right:0;bottom:0;height:1px;background:var(--gray)}
.date-item-icon{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.date-item-icon svg{width:26px;height:26px}
.date-item-text p{font-size:16px;color:#48555f;line-height:1.6;margin:0}
.date-item-text .date-strong{font-weight:700}
.date-card--nassau .date-card-county{color:var(--dark-blue-deep)}
.date-card--nassau .date-card-head::after{background:var(--dark-blue-deep)}
.date-card--nassau .date-item-icon{background:#e9f1f6}
.date-card--nassau .date-item-icon svg{color:var(--dark-blue-deep);stroke:var(--dark-blue-deep)}
.date-card--nassau .date-strong{color:var(--dark-blue-deep)}
.date-card--suffolk .date-card-county{color:#0f8a4d}
.date-card--suffolk .date-card-head::after{background:#0f8a4d}
.date-card--suffolk .date-item-icon{background:#e3f5ea}
.date-card--suffolk .date-item-icon svg{color:#0f8a4d;stroke:#0f8a4d}
.date-card--suffolk .date-strong{color:#0f8a4d}
.btn-terms{
  display:inline-flex;align-items:center;gap:6px;
  background:#E3F4FF;color:var(--dark-blue-deep);
  font-size:13px;font-weight:600;padding:8px 20px;border-radius:20px;
  border:1.5px solid var(--dark-blue-deep);cursor:pointer;
  margin-top:20px;transition:all .3s;font-family:inherit;
}
.btn-terms:hover{background:#d4ecfa;transform:translateY(-1px)}
.date-card--suffolk .btn-terms{background:#e3f5ea;border-color:#0f8a4d;color:#0f8a4d}
.date-card--suffolk .btn-terms:hover{background:#d3eedd}

/* Why Choose section */
.why-choose{background:var(--light-blue)}
.why-header{text-align:center;margin-bottom:48px}
.why-header h2{font-size:clamp(28px,3.4vw,44px);color:var(--dark-blue-deep)}
.why-header p{font-size:16px;color:var(--blue);max-width:600px;margin:12px auto 0}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.why-card{
  background:var(--white);border-radius:14px;padding:32px 24px;
  box-shadow:0 4px 20px rgba(17,50,84,.06);transition:transform .3s,box-shadow .3s;
}
.why-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(17,50,84,.1)}
.why-icon{
  width:52px;height:52px;border-radius:50%;
  background:var(--dark-blue-deep);display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.why-icon svg{width:24px;height:24px;color:var(--white)}
.why-card h4{font-size:17px;color:var(--dark-blue-deep);margin-bottom:8px;font-family:var(--font-body);font-weight:600}
.why-card p{font-size:14px;color:var(--blue);line-height:1.65}

@media(max-width:1024px){
  .steps-grid{grid-template-columns:repeat(2,1fr);gap:32px}
  .steps-grid::before{display:none}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .resources-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .steps-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}
  .elig-list{grid-template-columns:1fr}
  .dates-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .resources-grid{grid-template-columns:repeat(2,1fr)}
  .resources-actions{flex-direction:column;align-items:stretch}
  .resources-actions a{justify-content:center}
}

/* Terms & Conditions modals (content from the DB) */
.terms-modal-overlay{
  position:fixed;inset:0;z-index:2000;
  background:rgba(17,50,84,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:24px;
  opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;
}
.terms-modal-overlay.active{opacity:1;visibility:visible}
.terms-modal{
  background:var(--white);border-radius:20px;width:100%;max-width:720px;max-height:85vh;
  display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(17,50,84,.2);
  transform:translateY(20px);transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.terms-modal-overlay.active .terms-modal{transform:none}
.terms-modal-header{display:flex;align-items:center;justify-content:space-between;padding:28px 32px 20px;border-bottom:1px solid var(--gray);flex-shrink:0}
.terms-modal-header h3{font-family:var(--font-display);font-size:clamp(20px,2.4vw,26px);color:var(--dark-blue-deep);padding-right:44px}
.terms-modal-close{
  width:36px;height:36px;border-radius:50%;border:1.5px solid var(--gray);
  display:flex;align-items:center;justify-content:center;background:var(--white);cursor:pointer;transition:all .2s;flex-shrink:0;
}
.terms-modal-close:hover{background:var(--light-blue);border-color:var(--dark-blue-deep)}
.terms-modal-close svg{width:18px;height:18px;color:var(--dark-blue-deep)}
.terms-modal-body{padding:28px 32px;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:var(--gray) transparent}
.terms-modal-body h3,.terms-modal-body h4{font-family:var(--font-display);color:var(--dark-blue-deep);margin:24px 0 12px;font-weight:700}
.terms-modal-body h3{font-size:19px}
.terms-modal-body h4{font-size:18px}
.terms-modal-body :first-child{margin-top:0}
.terms-modal-body p,.terms-modal-body li{font-size:14px;color:var(--blue);line-height:1.75;margin-bottom:12px}
.terms-modal-body ul,.terms-modal-body ol{margin:0 0 12px 20px}
.terms-modal-body strong{color:var(--dark-blue-deep)}
.terms-modal-body .terms-highlight{background:var(--light-blue);border-radius:12px;padding:16px 20px;margin:16px 0}
.terms-modal-body .terms-highlight p{font-weight:600;color:var(--dark-blue-deep);margin:0}
.terms-modal-body table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13px}
.terms-modal-body th{text-align:left;padding:10px 12px;background:var(--light-blue);color:var(--dark-blue-deep);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--gray)}
.terms-modal-body td{padding:10px 12px;border-bottom:1px solid var(--gray);color:var(--blue)}
.terms-modal-body .terms-note{font-size:13px;color:#6b7a86;font-style:italic;margin-top:16px;padding-top:16px;border-top:1px solid var(--gray)}
.terms-modal-footer{padding:20px 32px 28px;border-top:1px solid var(--gray);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.terms-modal-footer .btn-primary{padding:14px 36px;font-size:15px}
@media(max-width:768px){
  .terms-modal-overlay{padding:12px}
  .terms-modal{max-height:90vh;border-radius:16px}
  .terms-modal-header{padding:20px 20px 16px}
  .terms-modal-header h3{font-size:18px}
  .terms-modal-body{padding:20px}
  .terms-modal-body table{font-size:11px}
  .terms-modal-body th,.terms-modal-body td{padding:8px 6px}
  .terms-modal-footer{padding:16px 20px 20px}
}

/* =========================================================================
   OUR FEES PAGE — mirrors the shared zap fees.html model.
   (.page-cta / .section-eyebrow / .terms-modal-* are already defined above.)
   ========================================================================= */

/* County fee breakdown */
.county-fees{background:var(--white)}
.county-fees-header{text-align:center;margin-bottom:48px}
.county-fees-header h2{font-size:clamp(28px,3.4vw,44px);color:var(--dark-blue-deep)}
.county-fees-header p{font-size:16px;color:var(--blue);max-width:640px;margin:12px auto 0;line-height:1.7}
.county-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.county-card{
  background:var(--white);border-radius:20px;padding:40px 36px;
  box-shadow:0 8px 32px rgba(17,50,84,.08);transition:transform .3s,box-shadow .3s;
  position:relative;overflow:hidden;
}
.county-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(17,50,84,.12)}
.county-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--light-blue);padding:8px 16px;border-radius:50px;
  font-size:13px;font-weight:600;color:var(--dark-blue-deep);margin-bottom:20px;
}
.county-badge svg{width:18px;height:18px}
.county-card h3{font-size:clamp(22px,2.6vw,28px);color:var(--dark-blue-deep);margin-bottom:16px}
.county-fee-highlight{
  display:flex;align-items:center;gap:16px;margin-bottom:20px;
  padding:20px 24px;background:var(--light-blue);border-radius:12px;
}
.county-fee-highlight .fee-pct{
  font-family:var(--font-stat);font-size:clamp(40px,4.5vw,56px);font-weight:800;
  color:var(--green);line-height:1;
}
.county-fee-highlight .fee-label{font-size:15px;color:var(--blue);line-height:1.5}
.county-details{list-style:none;padding:0;margin:0 0 24px}
.county-details li{
  display:flex;align-items:flex-start;gap:12px;
  padding:12px 0;border-bottom:1px solid var(--gray);
  font-size:14px;color:var(--blue);line-height:1.6;
}
.county-details li:last-child{border-bottom:none}
.county-details li svg{flex-shrink:0;width:20px;height:20px;color:var(--green);margin-top:2px}
.county-card .btn-terms{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--alt-blue);color:var(--dark-blue-deep);
  padding:10px 22px;border-radius:50px;font-size:14px;font-weight:600;
  border:1.5px solid var(--dark-blue-deep);transition:all .3s;
}
.county-card .btn-terms:hover{background:var(--dark-blue-deep);color:var(--white)}
.county-card .btn-terms svg{width:16px;height:16px;transition:transform .3s}
.county-card .btn-terms:hover svg{transform:translateX(4px)}

/* Fee model */
.fee-model{background:var(--white)}
.fee-model-header{text-align:center;margin-bottom:48px}
.fee-model-header h2{font-size:clamp(28px,3.4vw,44px);color:var(--dark-blue-deep)}
.fee-model-header p{font-size:16px;color:var(--blue);max-width:640px;margin:12px auto 0;line-height:1.7}
.fee-promise{
  background:linear-gradient(135deg,var(--dark-blue-deep) 0%,var(--blue) 100%);
  border-radius:20px;padding:48px;text-align:center;margin-bottom:48px;position:relative;overflow:hidden;
}
.fee-promise::before{content:'';position:absolute;top:-40%;right:-10%;width:300px;height:300px;border-radius:50%;background:rgba(0,191,99,.12);pointer-events:none}
.fee-promise::after{content:'';position:absolute;bottom:-30%;left:-8%;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.04);pointer-events:none}
.fee-promise h3{font-family:var(--font-display);font-size:clamp(24px,3.2vw,40px);color:var(--white);margin-bottom:12px;position:relative;z-index:1}
.fee-promise p{font-size:clamp(15px,1.4vw,17px);color:rgba(255,255,255,.85);max-width:560px;margin:0 auto;line-height:1.7;position:relative;z-index:1}
.fee-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.fee-card{
  background:var(--white);border-radius:16px;padding:36px 28px;text-align:center;
  border:1.5px solid var(--gray);transition:transform .3s,box-shadow .3s;
}
.fee-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(17,50,84,.1)}
.fee-card-icon{width:64px;height:64px;border-radius:50%;margin:0 auto 20px;display:flex;align-items:center;justify-content:center}
.fee-card-icon.green{background:var(--green)}
.fee-card-icon.blue{background:var(--dark-blue-deep)}
.fee-card-icon svg{width:28px;height:28px;color:var(--white)}
.fee-card h3{font-size:20px;color:var(--dark-blue-deep);margin-bottom:8px;font-family:var(--font-body);font-weight:600}
.fee-card .fee-big{font-family:var(--font-stat);font-size:clamp(36px,4vw,48px);font-weight:800;color:var(--dark-blue-deep);line-height:1;margin-bottom:12px}
.fee-card p{font-size:14px;color:var(--blue);line-height:1.65}

/* What's included */
.included{background:var(--light-blue)}
.included-header{text-align:center;margin-bottom:48px}
.included-header h2{font-size:clamp(28px,3.4vw,44px);color:var(--dark-blue-deep)}
.included-header p{font-size:16px;color:var(--blue);max-width:600px;margin:12px auto 0}
.included-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.included-item{
  background:var(--white);border-radius:14px;padding:32px 24px;
  box-shadow:0 4px 20px rgba(17,50,84,.06);transition:transform .3s,box-shadow .3s;
}
.included-item:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(17,50,84,.1)}
.included-icon{width:52px;height:52px;border-radius:50%;background:var(--dark-blue-deep);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.included-icon svg{width:24px;height:24px;color:var(--white)}
.included-item h4{font-size:17px;color:var(--dark-blue-deep);margin-bottom:8px;font-family:var(--font-body);font-weight:600}
.included-item p{font-size:14px;color:var(--blue);line-height:1.65}

/* How fees work — timeline */
.how-fees{background:var(--white)}
.how-fees-header{text-align:center;margin-bottom:48px}
.how-fees-header h2{font-size:clamp(28px,3.4vw,44px);color:var(--dark-blue-deep)}
.how-fees-header p{font-size:16px;color:var(--blue);max-width:600px;margin:12px auto 0}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative}
.timeline::before{
  content:'';position:absolute;top:48px;left:calc(16.67% + 16px);right:calc(16.67% + 16px);
  height:3px;background:linear-gradient(90deg,var(--green) 0%,var(--alt-blue) 50%,var(--green) 100%);
  border-radius:2px;z-index:0;
}
.timeline-step{text-align:center;position:relative;z-index:1;padding:0 8px}
.timeline-num{
  width:64px;height:64px;border-radius:50%;margin:0 auto 20px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:24px;font-weight:700;
  box-shadow:0 4px 16px rgba(0,191,99,.2);transition:transform .3s,box-shadow .3s;
}
.timeline-num.green{background:var(--green);color:var(--white)}
.timeline-num.blue{background:var(--dark-blue-deep);color:var(--white)}
.timeline-step:hover .timeline-num{transform:scale(1.1);box-shadow:0 8px 24px rgba(0,191,99,.3)}
.timeline-step h3{font-size:18px;color:var(--dark-blue-deep);margin-bottom:8px;font-family:var(--font-body);font-weight:600}
.timeline-step p{font-size:14px;color:var(--blue);line-height:1.65}
.timeline-tag{display:inline-block;margin-top:12px;padding:5px 16px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.04em}
.timeline-tag.free{background:var(--green);color:var(--white)}
.timeline-tag.savings{background:var(--alt-blue);color:var(--dark-blue-deep)}

/* Common questions */
.fee-faq{background:var(--light-blue)}
.fee-faq-header{text-align:center;margin-bottom:48px}
.fee-faq-header h2{font-size:clamp(28px,3.4vw,44px);color:var(--dark-blue-deep)}
.fee-faq-header p{font-size:16px;color:var(--blue);max-width:600px;margin:12px auto 0}
.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.faq-card{
  background:var(--white);border-radius:14px;padding:32px 28px;
  box-shadow:0 4px 20px rgba(17,50,84,.06);transition:transform .3s,box-shadow .3s;
}
.faq-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(17,50,84,.1)}
.faq-card h4{font-size:18px;color:var(--dark-blue-deep);margin-bottom:10px;font-family:var(--font-body);font-weight:600}
.faq-card p{font-size:14px;color:var(--blue);line-height:1.7}

@media(max-width:1024px){
  .fee-cards{grid-template-columns:repeat(2,1fr)}
  .county-grid{gap:24px}
  .county-card{padding:32px 28px}
  .included-grid{grid-template-columns:repeat(2,1fr)}
  .timeline{grid-template-columns:repeat(2,1fr)}
  .timeline::before{display:none}
  .faq-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .fee-promise{padding:36px 24px}
  .fee-cards{grid-template-columns:1fr;max-width:400px;margin:0 auto}
  .county-grid{grid-template-columns:1fr}
  .county-card{padding:28px 24px}
  .county-fee-highlight .fee-pct{font-size:clamp(36px,8vw,48px)}
  .included-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr;max-width:400px;margin:0 auto}
  .faq-grid{grid-template-columns:1fr}
}

/* =====================================================================
   FAQ PAGE (/pages/how-it-works/faq/) — mirrors faq.html.
   The tabbed, filterable accordion. These .faq-tabs/.faq-item/.faq-question
   classes are distinct from the Fees page's .faq-grid/.faq-card cards above.
   Behavior (single-open accordion + category filtering) is in zap-pages.js.
   ===================================================================== */

/* Category tabs */
.faq-tabs{
  padding:0 0 8px;margin-bottom:40px;overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;position:relative;
  mask-image:linear-gradient(to right,#000 80%,transparent 100%);
  -webkit-mask-image:linear-gradient(to right,#000 80%,transparent 100%);
}
.faq-tabs.scrolled-end{mask-image:none;-webkit-mask-image:none}
.faq-tabs::-webkit-scrollbar{display:none}
.faq-tabs-inner{display:flex;gap:10px;min-width:max-content;padding-right:32px}
.faq-tab{
  padding:10px 22px;border-radius:50px;font-size:14px;font-weight:600;
  background:var(--light-blue);color:var(--dark-blue-deep);border:none;cursor:pointer;
  transition:all .3s ease;white-space:nowrap;font-family:var(--font-body);
}
.faq-tab:hover{background:var(--alt-blue)}
.faq-tab.active{background:var(--dark-blue-deep);color:var(--white)}

/* Accordion */
.faq-category-label{
  font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--blue);margin:40px 0 16px;
  transition:opacity .4s,transform .4s;
}
.faq-category-label:first-of-type{margin-top:0}
.faq-category-label.hidden{display:none}
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{
  background:var(--white);border-radius:12px;overflow:hidden;
  box-shadow:0 2px 12px rgba(17,50,84,.06);transition:box-shadow .3s,opacity .4s,transform .4s;
}
.faq-item:hover{box-shadow:0 4px 20px rgba(17,50,84,.1)}
.faq-item.hidden{display:none}
.faq-item.fade-out{opacity:0;transform:translateY(-8px)}
.faq-item.fade-in{opacity:1;transform:translateY(0)}
.faq-question{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 24px;cursor:pointer;border:none;background:none;width:100%;
  text-align:left;font-family:var(--font-body);font-size:16px;font-weight:700;
  color:var(--dark-blue-deep);line-height:1.5;transition:color .2s;
}
.faq-question:hover{color:var(--blue)}
.faq-chevron{
  flex-shrink:0;width:24px;height:24px;transition:transform .3s ease;color:var(--dark-blue-deep);
}
.faq-item.open .faq-chevron{transform:rotate(180deg)}
.faq-answer-wrap{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.22,1,.36,1)}
.faq-item.open .faq-answer-wrap{max-height:600px}
.faq-answer{padding:0 24px 24px;font-size:15px;color:var(--blue);line-height:1.7}

/* Still have questions */
.still-questions{background:var(--light-blue);text-align:center}
.still-questions h2{font-size:clamp(24px,3vw,36px);color:var(--dark-blue-deep);margin-bottom:12px}
.still-questions p{font-size:16px;color:var(--blue);max-width:600px;margin:0 auto 24px;line-height:1.7}
.contact-links{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-bottom:28px}
.contact-link{
  display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;
  color:var(--dark-blue-deep);transition:color .2s;
}
.contact-link:hover{color:var(--green)}
.contact-link svg{width:20px;height:20px;flex-shrink:0}

/* Glossary */
.glossary{background:var(--white)}
.glossary h2{font-family:var(--font-display);color:var(--dark-blue-deep);font-size:clamp(28px,3.4vw,42px);margin-bottom:32px}
.glossary-grid{display:grid;grid-template-columns:1fr;gap:24px;max-width:800px}
.glossary-item{background:var(--light-blue);padding:24px;border-radius:12px}
.glossary-item dt{font-family:var(--font-display);font-weight:700;color:var(--dark-blue-deep);font-size:18px;margin-bottom:8px}
.glossary-item dd{color:var(--blue);font-size:15px;line-height:1.7;margin:0}

@media(max-width:768px){
  .faq-question{padding:16px 20px;font-size:15px}
  .faq-answer{padding:0 20px 20px;font-size:14px}
  .contact-links{flex-direction:column;align-items:center;gap:16px}
}

/* === 404 NOT FOUND (Views/Error/NotFound.cshtml) ===
   Destination cards reuse .feature-card / .feature-icon from zap-redesign.css. */
.page-hero .nf-code{font-family:var(--font-stat);font-size:clamp(56px,9vw,96px);font-weight:800;line-height:1;color:var(--green);margin-bottom:4px !important}
.nf-title{text-align:center;font-size:clamp(24px,2.8vw,34px);color:var(--dark-blue-deep);margin-bottom:28px}
.nf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:960px;margin:0 auto}
.nf-grid a.feature-card{display:block;color:inherit;text-decoration:none}
.nf-grid a.feature-card:hover h4{color:var(--green)}
.nf-grid a.feature-card:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.nf-grid .feature-card h4{font-size:17px}
.nf-grid .feature-card p{font-size:14px}
.nf-call{text-align:center;margin-top:36px;font-size:16px;color:var(--blue)}
.nf-call a{font-weight:600;color:var(--dark-blue-deep);white-space:nowrap}
.nf-call a:hover{color:var(--green)}
@media(max-width:900px){.nf-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.nf-grid{grid-template-columns:1fr}}
