
:root{
  --brand:#0b6efd;
  --brand-blue:#0A68FF;
  --ink:#0f172a;
  --muted:#64748b;
  --card:#ffffff;
  --bg:#f8fafc;
  --border:#e2e8f0;
  --space-section:clamp(3.5rem,6vw,5.5rem);
  --space-block:clamp(1.25rem,3vw,2rem);
  --max-text:68ch;
  --h1:clamp(2.35rem,5vw,3.125rem);
  --h2:clamp(1.75rem,3.5vw,2.25rem);
  --h3:clamp(1.25rem,2.5vw,1.625rem);
}

/* Font display strategy for web fonts */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Inter'), local('Inter-Regular');
}

*{box-sizing:border-box}
html{font-size:16px}
body{
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  margin:0;background:var(--bg);color:var(--ink);line-height:1.75;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  scroll-padding-top:120px;
}
.section{padding:64px 0}
@media (max-width:640px){
  .section{padding:40px 0}
}

.section h2{
  font-size:2rem;
  line-height:1.2;
  margin:0 0 10px 0;
}
.section .subhead{
  font-size:1.125rem;
  line-height:1.6;
  opacity:0.9;
  margin-bottom:16px;
}
.section p{margin:0 0 16px 0}

.container,
.text-center .container{
  max-width:1100px;
  margin:0 auto;
  padding:0 20px;
}
.section .container > p,
.section .container > .subhead{
  max-width:780px;
  margin-left:auto;
  margin-right:auto;
}
/* ===== Base Header & Navigation ===== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  box-shadow: 0 1px 0 rgba(0,0,0,.08);
}

.site-header .header-inner {
  max-width: 1300px;
  margin: 0 auto;
  height: 120px;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-header .brand {
  display: inline-flex;
  align-items: center;
}

.site-header .logo {
  height: 90px;
  width: auto;
  display: block;
}

.site-header nav {
  display: flex;
  align-items: center;
  gap: 36px;
}

.site-header nav a {
  font-size: 18px;
  color: #0b0b0b;
  text-decoration: none;
  font-weight: 500;
}

.site-header nav a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.site-header nav a.contact-btn {
  border: 3px solid #007bff;
  color: #007bff;
  background: #fff;
  padding: 10px 26px;
  border-radius: 12px;
  font-weight: 600;
  transition: background .25s, color .25s, box-shadow .25s;
}

.site-header nav a.contact-btn:hover {
  background: #007bff;
  color: #fff;
  box-shadow: 0 2px 10px rgba(0,123,255,.25);
}

/* Responsive polish */
@media (max-width: 1024px) {
  .site-header .header-inner {
    height: 100px;
    padding: 0 24px;
  }
  .site-header .logo { height: 75px; }
  .site-header nav { gap: 28px; }
}

@media (max-width: 768px) {
  .site-header .header-inner {
    height: auto;
    padding: 16px 20px;
    flex-wrap: wrap;
    row-gap: 12px;
  }
  .site-header .logo { height: 64px; }
  .site-header nav {
    flex-wrap: wrap;
    gap: 18px;
    justify-content: center;
  }
  .site-header nav a.contact-btn {
    flex: 1 1 100%;
    text-align: center;
  }
}
h1{font-size:var(--h1);line-height:1.15;margin:0 0 1.25rem 0;letter-spacing:-.02em}
h2{font-size:var(--h2);line-height:1.25;margin:0 0 1rem 0}
h3{font-size:var(--h3);line-height:1.3;margin:0 0 .85rem 0}
p{margin:0 0 1rem 0;max-width:var(--max-text)}
.small{font-size:.9375rem;color:var(--muted);max-width:var(--max-text)}
li{max-width:var(--max-text)}
.card> * + *{margin-top:1rem}
.hero{
  position:relative;
  background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 48%,#1e40af 100%);
  color:#fff;
  text-align:center;
  padding:120px 0 132px;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(circle at 18% 22%,rgba(255,255,255,0.18) 0,rgba(255,255,255,0) 58%),radial-gradient(circle at 82% 30%,rgba(191,219,254,0.24) 0,rgba(191,219,254,0) 62%),radial-gradient(circle at 50% 95%,rgba(147,197,253,0.22) 0,rgba(147,197,253,0) 65%);
  pointer-events:none;
}
.hero > .container{position:relative;z-index:1}
.hero .headline{
  font-size:2.875rem;
  font-weight:850;
  line-height:1.15;
  letter-spacing:-0.01em;
  margin:0 0 12px 0;
}
.hero h1{line-height:1.15;margin-bottom:12px}
.hero p{
  font-size:1.125rem;
  line-height:1.65;
  max-width:720px;
  margin-left:0;
}
.hero .sub{
  color:#f8fafc;
  margin:0 0 16px 0;
  max-width:720px;
}
.hero .small{
  color:#fff;
  margin-top:1rem;
}
.hero-powered-by{
  margin:1.25rem auto 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.4rem;
}
.hero .small a{
  color:#fff;
  text-decoration:underline;
}
.hero-actions{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:clamp(1.5rem,4vw,2.5rem);
  align-items:center;
}
.hero-actions .cta{
  width:100%;
  max-width:320px;
  text-align:center;
}
@media(min-width:600px){
  .hero-actions{flex-direction:row;justify-content:center;gap:20px;align-items:stretch}
  .hero-actions .cta{
    flex:1 1 0;
    max-width:none;
  }
}
.hero .btn-primary{margin-top:14px}
.sub{color:var(--muted);margin-top:.75rem;max-width:60ch}
.cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 24px;
  border-radius:12px;
  border-width:2px;
  border-style:solid;
  font-size:16px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
  box-sizing:border-box;
  background:var(--brand);
  color:#fff;
  text-decoration:none;
  border-color:transparent;
  box-shadow:0 10px 32px rgba(15,23,42,0.12)
}
.cta:hover{background-color:#005CE6}
.cta:focus{outline:none;box-shadow:0 0 0 4px rgba(10,104,255,0.25)}
.cta--primary{
  background:#fff;
  color:#0B5FFF;
  border-color:transparent;
}
.cta--primary:hover{background:#f5f9ff}
.cta--primary:focus{box-shadow:0 0 0 4px rgba(11,95,255,0.25)}
.cta--secondary{
  background:transparent;
  color:#fff;
  border-color:#D5E3FF;
}
.cta--secondary:hover{background:rgba(255,255,255,0.1)}
.cta--secondary:focus{box-shadow:0 0 0 4px rgba(213,227,255,0.35)}
.btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 24px;
  font-size:16px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
  background-color:#0A68FF;
  color:#fff;
  border-radius:12px;
  text-decoration:none;
  border:2px solid transparent;
  box-shadow:0 10px 32px rgba(15,23,42,0.12)
}
.btn-primary:hover,
.cta-button:hover{background-color:#005CE6}

.btn-primary:focus,
.cta-button:focus{outline:none;box-shadow:0 0 0 4px rgba(10,104,255,0.25)}
.cta.secondary{background:#1118270d;color:var(--brand);border:2px solid var(--border)}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:var(--space-block)}
.card{background:var(--card);padding:clamp(1.5rem,3vw,2.5rem);border-radius:14px;box-shadow:0 6px 22px rgba(15,23,42,0.06);border:1px solid var(--border)}
.grid3 .card{display:flex;flex-direction:column}
.grid3 .card .cta{margin-top:auto}

/* Case Study Card Styles */
.container.case-study-section { padding: 3rem 1rem; }
.cs-wrap { max-width: 1040px; margin: 0 auto; }

.cs-title{
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  font-weight: 600;
  margin-bottom: 1rem;
}

.cs-card{
  display: block;
  text-decoration: none;
  color: inherit;
}

.cs-card article{
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  border: 1px solid #E6E9EE;
  background: #fff;
  border-radius: 16px;
  padding: 1rem;
  box-shadow: 0 6px 14px rgba(16,24,40,.04);
  transition: box-shadow .2s ease, transform .2s ease;
}

.cs-card:hover article{
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(16,24,40,.08);
}

.cs-media img{
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid #EEF1F5;
}

.cs-heading{
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 600;
  margin: .25rem 0 .5rem 0;
}


.cs-text{ color: #4A5568; margin-bottom: .75rem; }

.cs-cta-row{
  display: flex;
  align-items: center;
  gap: .75rem;
}

.cs-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .6rem 1rem;
  border-radius: 12px;
  background: var(--brand-blue);
  color: #fff;
  font-weight: 600;
}

@media (min-width: 860px){
  .cs-card article{
    grid-template-columns: 14rem 1fr;
    padding: 1.25rem 1.5rem;
    gap: 1.25rem;
  }
  .cs-media img{ height: 9.5rem; }
}

.resources-page main{padding-bottom:var(--space-section)}
.resources-hero{padding-top:var(--space-section);padding-bottom:var(--space-block)}
.resources-hero .subhead{margin-top:0.75rem}
.resources-list{padding-top:0}
.resources-grid{display:flex;flex-wrap:wrap;gap:clamp(1.5rem,4vw,2.5rem)}
.resources-grid .resource-card{flex:1 1 320px}
.resource-card{display:flex;flex-direction:column;gap:0.75rem;min-height:100%}
.resource-card__eyebrow{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.resource-card__title a{color:inherit;text-decoration:none}
.resource-card__title a:hover{color:var(--brand)}
.resource-card__summary{color:#334155;margin:0}
.resource-card__meta{font-size:.9375rem;color:var(--muted);margin-top:auto}
.resource-card__cta{display:inline-flex;align-items:center;gap:0.4rem;font-weight:600;text-decoration:none;color:var(--brand);padding:0.1rem 0;margin-top:0.75rem}
.resource-card__cta::after{content:"→";font-size:1rem;transition:transform .2s ease}
.resource-card__cta:hover::after{transform:translateX(4px)}
.resource-card--upcoming{background:linear-gradient(180deg,rgba(15,23,42,0.04) 0%,rgba(15,23,42,0.02) 100%);border:1px dashed var(--border);box-shadow:none}
.resource-card--upcoming .resource-card__meta{margin-top:0}
.resources-footer{padding:var(--space-block) 0 var(--space-section);}
.resources-footer .small{margin:0}
.article-cta{margin-top:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid #e6e8ee;border-radius:14px;padding:16px;box-shadow:0 2px 10px rgba(15,23,42,.06)}
.article-cta .btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px;font-weight:700;border-radius:10px;border:1px solid transparent;text-decoration:none;cursor:pointer}
.article-cta .btn-primary{background:#1a73e8;color:#fff}
.article-cta .btn-primary:hover{background:#1557b0}

.article-footer{margin-top:36px;padding:24px;border-radius:16px;background:#fff;border:1px solid #e6e8ee;box-shadow:0 8px 26px rgba(15,23,42,0.08);display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start;justify-content:space-between}
.article-footer__text{max-width:640px}
.article-footer__eyebrow{margin:0 0 6px;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0A68FF}
.article-footer__body{margin:0;color:#1f2937;font-size:1rem;line-height:1.6}
.article-footer__body a{color:#0A68FF;font-weight:600;text-decoration:none}
.article-footer__body a:hover{text-decoration:underline}
.article-footer .btn-primary{padding:14px 24px}
.article-footer > .small{flex-basis:100%;margin:0}
.timeline{display:flex;flex-direction:column;gap:var(--space-block);margin-top:var(--space-block)}
.timeline-step{display:grid;grid-template-columns:56px 1fr;align-items:start;gap:24px;padding:16px 0;border-top:1px solid rgba(15,23,42,0.1)}
.timeline-step:first-child{border-top:none;padding-top:0}
.timeline-badge{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;font-size:1.1rem;box-shadow:0 6px 16px rgba(11,110,253,0.16)}
.timeline-content h3{margin:0 0 8px}
.timeline-content .small{color:#475569}
@media(max-width:780px){
  .timeline-step{grid-template-columns:48px 1fr;gap:18px;padding:12px 0}
  .timeline-badge{width:40px;height:40px;font-size:1rem}
}
.benefits-grid{gap:24px;margin-top:var(--space-block)}
.benefit-card{padding:28px 26px;text-align:center;align-items:center;gap:14px}
.benefit-icon{width:56px;height:56px;border-radius:50%;background:rgba(11,110,253,0.12);color:var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.benefit-icon svg{width:28px;height:28px;fill:none;stroke:currentColor}
ul{padding-left:18px;margin:0 0 8px 0}
.features .feature-grid{display:grid;gap:20px}
@media (min-width:768px){
  .features .feature-grid{grid-template-columns:repeat(3,1fr)}
}
.features .card{height:100%;padding:20px}
.features .card h3{margin:10px 0 6px 0}
.features .card p{margin:0}
.features .card svg,
.features .card .icon{width:32px;height:32px;stroke-width:2}

.how .steps{display:grid;gap:18px}
@media (min-width:900px){
  .how .steps{grid-template-columns:repeat(3,1fr)}
}
.how .step{padding:20px}
.how .step h3{margin:8px 0 6px 0}
.how .step p{margin:0}
.how hr{opacity:0.15}
.how .timeline{margin-top:0}
.how .timeline-step{
  display:flex;
  flex-direction:column;
  gap:6px;
  border-top:none;
  padding:20px;
  background:rgba(255,255,255,0.85);
  border-radius:12px;
  box-shadow:0 6px 20px rgba(15,23,42,0.05);
}
.how .timeline-step .timeline-content{margin-top:6px}
.how .timeline-step:first-child{padding-top:20px}
.how .timeline-badge{margin-bottom:8px}

.how-it-works .step{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff}
.how-it-works .step-link{display:block;padding:16px 18px;color:inherit;text-decoration:none}
.how-it-works .step-link:hover{background:#f8fafc}
.how-it-works h3{margin:0 0 6px 0;font-weight:700}
.how-it-works p{margin:0}

.section #about .container,
#about .container{max-width:1100px}

#contact h2{margin-bottom:8px}
#contact .subhead{margin-bottom:16px}
#contact form{max-width:720px;margin:0 auto}
#contact form .form-row,
#contact form .row{margin-bottom:12px}
#contact input,#contact select,#contact textarea{width:100%;padding:12px 12px}
#contact .btn-primary{margin-top:12px}

footer,
.footer{padding:24px 0;border-top:1px solid rgba(0,0,0,0.08);color:var(--muted);text-align:center}
footer .footer-note,
.footer .footer-note,
footer .footer__legal,
.footer .footer__legal{opacity:0.7;font-size:0.9rem}
/* Services layout */
.two-col{display:grid;grid-template-columns:300px 1fr;gap:24px}
.sidenav{position:sticky;top:86px;align-self:start}
.sidenav .menu{list-style:none;padding:0;margin:0}
.sidenav .menu li{margin-bottom:10px}
.aside-heading{font-weight:700;margin-bottom:.75rem;display:block}
.sidenav a{display:block;padding:12px 14px;border-radius:12px;background:#f1f5f9;text-decoration:none;color:var(--ink);font-weight:600;border:1px solid var(--border)}
.sidenav a:hover{background:#e7eef6}
.sidenav .cta{display:block;width:100%;text-align:center;margin-top:1.25rem}
.service-card{padding:clamp(1.75rem,3vw,2.75rem);margin-bottom:36px;scroll-margin-top:100px}
.services-list .service-card:nth-of-type(even){background:var(--bg)}
.service-divider{border:none;border-top:1px solid var(--border);margin:40px 0}
.services-list h2{font-size:var(--h2);line-height:1.25;margin:0 0 1rem 0;display:flex;align-items:center;gap:8px}
.services-list h3{font-size:var(--h3);line-height:1.35;margin:0 0 .85rem 0}
.services-list p{margin:0 0 12px 0;line-height:1.6}
.services-list ul{list-style:none;padding:0;margin:0 0 12px 0}
.services-list li{display:flex;gap:8px;align-items:flex-start;line-height:1.6;padding:4px 0}
.services-list li::before{content:"\2713"}
.service-card .cta{margin-top:1.25rem}

/* Hero background */
.hero-bg{
  position: relative;
  min-height: 88vh;
  display: grid;
  place-items: center;
  padding: 5rem 1.25rem;
  color: #fff;
  overflow: hidden;
  isolation: isolate;
}

.hero-bg__video{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.hero-bg__overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.45),
    rgba(0,0,0,0.6)
  );
  z-index: 0;
}

.hero-bg__content{
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 920px;
  padding-inline: 1rem;
}

.hero-bg__title{
  font-size: clamp(2.35rem, 5vw, 3.5rem);
  line-height: 1.15;
  margin: 0 0 1rem 0;
  letter-spacing: -0.02em;
}

.hero-bg__accent{
  color: var(--brand-blue, #0B63F6);
}

.hero-bg__subtitle{
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  line-height: 1.65;
  opacity: 0.95;
  margin: 0 0 2rem 0;
}

.hero-bg__actions{
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  justify-content: center;
}

.hero-btn {
  display: inline-block;
  padding: 14px 32px;
  font-size: 17px;
  font-weight: 600;
  border-radius: 50px;
  border: 2.5px solid #007bff;
  color: #ffffff;
  background: transparent;
  text-decoration: none;
  transition: all 0.25s ease;
  margin: 10px;
}

.hero-btn:hover {
  background-color: #007bff;
  color: #fff;
  box-shadow: 0 2px 10px rgba(0,123,255,0.3);
}

.hero-btn.primary,
.hero-btn.secondary {
  background: transparent;
  color: #fff;
}

.hero-btn.primary:hover,
.hero-btn.secondary:hover {
  background-color: #007bff;
  color: #fff;
}

/* Reduce image height on small screens so above-the-fold shows CTA */
@media (max-width: 640px){
  .hero-bg{ min-height: 78vh; padding-top: 4rem; padding-bottom: 4rem; }
}

@media (min-width: 640px){
  .hero-bg__actions{ flex-direction: row; }
  .hero-btn{ padding-inline: 2.1rem; }
}

/* Disable autoplay video for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  .hero-bg__video {
    display: none;
  }
}
.which-fits__columns,.which-fits__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:1.5rem}
.which-fits__panel{padding:1.5rem;border-radius:12px;border:1px solid var(--border);background:var(--card);box-shadow:0 6px 22px rgba(15,23,42,0.06)}
.which-fits__panel h3{margin:0}
.which-fits__panel ul{margin:1rem 0 0 1.125rem;padding:0}
.services-list .service-card.which-fits{background:var(--card)}
.svc-icon{width:20px;height:20px;stroke:var(--brand);flex-shrink:0}
.pill{display:inline-block;background:#eef2ff;border-radius:999px;padding:5px 12px;font-size:.8125rem;margin-bottom:8px;border:1px solid #e0e7ff}
.kicker{letter-spacing:.18em;text-transform:uppercase;font-weight:700;font-size:.8125rem;color:var(--muted);margin-bottom:8px}
.breadcrumb{font-size:.9375rem;color:var(--muted);margin:10px 0 18px 0}

input,select,textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;font-size:1rem}
.row{display:flex;gap:12px;margin-bottom:.75rem}
.contact-form .row{flex-direction:column}
.contact-form .small{margin-top:.75rem}
@media(min-width:920px){
  .hero .headline{font-size:2.875rem}
}
@media(max-width:600px){
  .hero{padding:96px 0 108px}
  .hero .headline{font-size:2.35rem}
}
html{scroll-behavior:smooth}
.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.owner-content{display:flex;gap:20px;align-items:center}
.owner-image{width:150px;height:150px;border-radius:50%;object-fit:cover}
@media(max-width:600px){
  .owner-content{flex-direction:column;text-align:center}
}

/* Card container for About MPS */
.card.about-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
  padding: 32px 28px;
  margin: 8px auto 4px;
  max-width: 920px;
}
.about-card h2 { margin-bottom: 8px; }
.about-card .subhead {
  margin-bottom: 14px;
  opacity: 0.85;
}
.about-card p { margin: 0 0 16px 0; }
.card.about-card p:last-of-type { margin-bottom: 14px; }
.card.about-card .btn-primary { margin-top: 6px; }

/* Mobile tweaks */
@media (max-width: 640px) {
  .card.about-card { padding: 24px 18px; border-radius: 12px; }
}
/* Services subnav (pills) */
.services-subnav { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,0.85); backdrop-filter: saturate(1.2) blur(6px); border-bottom: 1px solid rgba(0,0,0,0.06); }
.services-subnav__inner { display: flex; gap: 10px; align-items: center; justify-content: center; padding: 12px 0; }
/* Base pill style for all buttons */
.services-subnav .pill,
.services-subnav .pill[aria-current="true"],
.services-subnav .pill-cta {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 9999px;
  background: #f1f5f9;      /* unified light background */
  color: #0f172a;           /* dark text */
  font-weight: 600;
  text-decoration: none;
  border: 1px solid #e2e8f0;
  transition: background 0.2s ease, color 0.2s ease;
}

.services-subnav .pill-cta {
  background: var(--brand);
  color: #fff;
  border-color: transparent;
}

/* Hover state */
.services-subnav .pill:hover {
  background: #e2e8f0;
  color: #0f172a;
}

.services-subnav .pill-cta:hover {
  background: #005CE6;
  color: #fff;
  border-color: transparent;
}

/* Optional active state highlight */
.services-subnav .pill[aria-current="true"] {
  background: #dbeafe;      /* subtle blue highlight */
  border-color: #bfdbfe;
}
@media (max-width: 640px) {
  .services-subnav__inner { justify-content: flex-start; overflow-x: auto; padding: 10px 12px; }
}
.about-hero, .about-mission, .about-owners, .about-trust, .about-cta { margin-bottom: 60px; }
.about-mission {
  text-align: center;
  padding-top: 3rem;
  padding-bottom: 2.5rem;
}

.about-mission p {
  max-width: 740px;
  margin: 0.75rem auto;
  line-height: 1.6;
  opacity: 0.9;
}
.owners-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px; margin-top: 30px; }
.owner-card { background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 4px 12px rgba(0,0,0,0.05); text-align: center; }

/* Utility classes for calculator */
.max-w-3xl{max-width:56rem}
.mx-auto{margin-left:auto;margin-right:auto}
.grid{display:grid}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.gap-2{gap:0.5rem}
.gap-3{gap:0.75rem}
.gap-4{gap:1rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mt-4{margin-top:1rem}
.flex{display:flex}
.col-span-1{grid-column:span 1/span 1}
.md\:grid-cols-2{grid-template-columns:repeat(1,minmax(0,1fr))}
.md\:grid-cols-3{grid-template-columns:repeat(1,minmax(0,1fr))}
.md\:col-span-2{grid-column:span 1/span 1}
@media (min-width:768px){
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:col-span-2{grid-column:span 2/span 2}
}

/* Calculator styles */
.calc{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 10px 30px rgba(15,23,42,0.08);border:1px solid var(--border)}
.calc h1{margin-bottom:0.5rem}
.calc p{max-width:none}
.calc .field{display:flex;flex-direction:column;gap:0.5rem;font-weight:600;color:var(--ink)}
.calc .field span{font-size:0.95rem;font-weight:600}
.calc .field small{display:block;font-weight:500;color:var(--muted)}
.calc .money,
.calc .percent{display:flex;align-items:center;gap:0.5rem}
.calc .money span,
.calc .percent span{font-weight:600;color:var(--muted)}
.calc .money input,
.calc .percent input{flex:1}
.calc input[type=range]{accent-color:var(--brand)}
.calc .btn{background:#e2e8f0;border:1px solid #cbd5f5;color:var(--ink);border-radius:999px;padding:0.55rem 1rem;font-weight:600;cursor:pointer;transition:background 0.2s,color 0.2s,box-shadow 0.2s}
.calc .btn:hover{background:#dbeafe}
.calc .btn.active{background:var(--brand);color:#fff;box-shadow:0 8px 20px rgba(11,110,253,0.2)}
.calc .card{box-shadow:none;border:1px solid var(--border);text-align:center;padding:1.5rem;border-radius:14px}
.calc .label{font-size:0.95rem;color:var(--muted);margin-bottom:0.4rem}
.calc .value{font-size:2rem;font-weight:700;color:var(--ink)}
.calc .disclaimer{font-size:0.9rem;color:var(--muted);max-width:44rem}
.calc .flex{flex-wrap:wrap}
.calc .cta{min-width:0}
.calc .toggle{display:inline-flex;align-items:center;gap:0.5rem;font-weight:600;color:var(--ink);margin-top:0.5rem}
.calc .toggle input{width:auto}
.owner-photo { width: 140px; height: 140px; border-radius: 50%; object-fit: cover; margin-bottom: 16px; }
.trust-list { list-style: none; padding: 0; display: grid; gap: 12px; margin-top: 20px; }
.trust-list li::before { content: "✓ "; color: #0284c7; font-weight: bold; }
.cta-box { background: #e0f2fe; text-align: center; padding: 50px; border-radius: 16px; }
.about-cta p {
  max-width: 640px;
  margin: 12px auto 28px;
  text-align: center;
}

/* Match Services header alignment and spacing */
.about-header.section {
  padding: 4rem 0 3rem;   /* same vertical rhythm as Services */
}
.about-header .container {
  /* inherits site-wide container padding so h1 aligns with logo */
  text-align: left;
}
.about-header h1 {
  font-size: 3.25rem;     /* same as Services h1 */
  font-weight: 800;
  margin: 0 0 .75rem 0;
  color: #0f172a;
}
.about-header h2 {
  font-size: 1.875rem;
  font-weight: 700;
  margin: 0 0 1rem 0;
  color: #1e293b;
}
.about-header p {
  max-width: 740px;
  margin: .5rem 0;        /* left-aligned like Services intro */
  line-height: 1.6;
  font-size: 1.05rem;
  opacity: .9;
  color: #334155;
}
.about-divider {
  width: 100%;
  margin: 2rem 0 0 0;
  border: none;
  border-top: 1px solid rgba(203,213,225,.7);
}

/* Resources page header (matches Services/About) */
.resources-header.section { text-align: left; padding: 4rem 1rem 2.5rem; }
.resources-header h1 {
  font-size: 3.25rem;   /* same as Services & About */
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 0.5rem 0;
}
.resources-header .subhead {
  font-size: 1.125rem;
  line-height: 1.65;
  opacity: 0.9;
  max-width: 780px;
}

/* Match Services header alignment */
.resources-header.section { padding: 4rem 0 2.5rem; }
.resources-header .container { text-align: left; }
.resources-header h1 {
  font-size: 3.25rem;   /* same as Services/About */
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 .5rem 0;
}

/* Override global paragraph centering for this header */
.resources-header .container > p,
.resources-header .subhead {
  max-width: 740px;
  margin-left: 0;
  margin-right: 0;
  line-height: 1.6;
  opacity: .9;
  color: #334155;
}

/* FAQ accordion */
.faq { max-width: 900px; margin: 0 auto; }
.faq-title { margin-bottom: 24px; }
.faq-item { background: #fff; border: 1px solid rgba(0,0,0,0.08); border-radius: 12px; margin-bottom: 12px; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,0.04); }
.faq-q { width: 100%; text-align: left; background: #fff; border: 0; padding: 18px 20px; font-size: 1.125rem; font-weight: 700; display: flex; align-items: center; justify-content: space-between; cursor: pointer; color: inherit; transition: color 150ms ease, background-color 150ms ease; }
.faq-q:hover { color: var(--brand); background-color: rgba(11,110,253,0.08); }
.faq-q[aria-expanded="true"] { color: var(--brand); }
.faq-q:focus, .faq-q:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; border-radius: 8px; }
.faq-icon { margin-left: 16px; font-weight: 700; font-size: 1.25rem; transition: transform 150ms ease; }
.faq-a { max-height: 0; opacity: 0; overflow: hidden; transition: max-height 200ms ease, opacity 200ms ease; padding: 0 20px; }
.faq-a.open { padding: 0 20px 18px 20px; opacity: 1; }
.faq-a p { margin: 0; color: var(--muted); max-width: none; font-size: 1rem; line-height: 1.7; }
.faq-a.open p { margin-top: 18px; }
.faq-a.open p + p { margin-top: 12px; }
@media (prefers-reduced-motion: reduce) {
  .faq-a { transition: none; }
}

[aria-expanded="true"] .faq-icon { content: "−"; }
.faq-q[aria-expanded="true"] .faq-icon { transform: none; }
