 :root{
    --ink:#0B1B2E;
    --navy:#0C53A5;
    --navy-2:#0c53a5;
    --navy-deep:#081428;
    --sky:#EEF4FC;
    --sky-2:#F7FAFD;
    --gold:#E7A33E;
    --gold-deep:#E7A33E;
    --gold-tint:#FDF3E3;
    --paper:#FFFFFF;
    --line:#E3EAF3;
    --green:#1E8E5A;
    --white:#FFFFFF;
    --shadow: 0 20px 50px -20px rgba(18,50,98,0.18);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter', sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  .display{font-family:'Inter', sans-serif;}
  .mono{font-family:'IBM Plex Mono', monospace;}
  .wrap{max-width:1160px; margin:0 auto; padding:0 24px;}
  section{position:relative;}
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--navy-2);
    font-weight:600;
    display:inline-flex;
    align-items:center;
    gap:8px;
  }
  .eyebrow::before{
    content:"";
    width:16px; height:1px;
    background:var(--gold-deep);
    display:inline-block;
  }
  h1,h2,h3,h4{font-family:'Inter', sans-serif; line-height:1.12; letter-spacing:-0.01em; color:var(--navy-deep);}
  h2{font-size:clamp(28px,3.6vw,42px); font-weight:600; margin-top:10px;}
  h3{font-size:20px; font-weight:600;}
  p{color:#4C5A6E;}
.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 19px;
    border-radius: 28px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    border: 1px solid transparent;
    transition: transform .15s ease, box-shadow .15s ease, background .2s ease;
    white-space: nowrap;
}
  .btn-primary{background:var(--gold); color:var(--navy-deep);}
  .btn-primary:hover{background:var(--gold-deep); transform:translateY(-1px); box-shadow:0 10px 24px -10px rgba(198,124,21,0.45);}
  .btn-outline-navy{background:transparent; color:var(--navy); border-color:var(--navy);}
  .btn-outline-navy:hover{background:var(--navy); color:var(--white);}
  .btn-navy{background:var(--navy); color:var(--white);}
  .btn-navy:hover{background:var(--navy-deep); transform:translateY(-1px);}

  /* HEADER */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(255,255,255,0.9);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }

  .logo{display:flex; align-items:center; gap:10px; color:var(--navy-deep);}
  .logo-mark{
    width:34px; height:34px; border-radius:8px;
    background:linear-gradient(135deg, var(--gold), var(--gold-deep));
    display:flex; align-items:center; justify-content:center;
    color:var(--navy-deep); font-family:'Inter'; font-weight:700; font-size:16px;
    flex-shrink:0;
  }
  .logo-text{font-family:'Inter'; font-weight:700; font-size:18px; letter-spacing:-0.01em;}
  .logo-text span{color:var(--gold-deep); font-weight:500;}
  nav.links{display:flex; gap:30px; align-items:center;}
  nav.links a{color:#3C4A5E; font-size:14.5px; font-weight:500; transition:color .15s;}
  nav.links a:hover{color:var(--navy);}
  .nav-right{display:flex; align-items:center; gap:18px;}
  .reg-badge{
    font-family:'IBM Plex Mono'; font-size:11.5px; color:#8695A8;
    border-right:1px solid var(--line); padding-right:18px;
    display:none;
  }
  @media(min-width:860px){.reg-badge{display:block;}}

  /* TICKER */
  .ticker-strip{
    background:var(--navy-deep);
    overflow:hidden;
    white-space:nowrap;
    padding:9px 0;
  }
  .ticker-track{
    display:inline-flex;
    animation:scroll-left 32s linear infinite;
  }
  .ticker-item{
    font-family:'IBM Plex Mono'; font-size:12.5px; color:rgba(255,255,255,0.65);
    padding:0 28px; display:inline-flex; align-items:center; gap:8px;
  }
  .ticker-item b{color:var(--white); font-weight:600;}
  .ticker-item .up{color:#4ADE80;}
  @keyframes scroll-left{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

  /* HERO */
  .hero{
    background:
      radial-gradient(900px 460px at 90% -10%, var(--gold-tint), transparent 60%),
      linear-gradient(180deg, var(--sky) 0%, var(--sky-2) 100%);
    padding:64px 0 0;
    overflow:hidden;
  }
  .hero-inner{
    display:grid; grid-template-columns:1.05fr 0.95fr; gap:48px;
    align-items:start;
    padding-bottom:56px;
  }
  @media(max-width:940px){.hero-inner{grid-template-columns:1fr; padding-bottom:36px;}}
  .hero h1{
    font-size:45px;
    font-weight:600;
    margin-top:16px;
  }
  .hero h1 em{font-style:normal; color:var(--gold-deep);}
  .hero p.lead{color:#4C5A6E; font-size:17px; max-width:480px; margin-top:18px;}
  .hero-cta{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}
  .hero-badges{display:flex; gap:22px; margin-top:36px; flex-wrap:wrap;}
  .hero-badge{display:flex; align-items:center; gap:8px; color:#8695A8; font-size:13px;}
  .hero-badge b{color:var(--navy); font-family:'IBM Plex Mono'; font-weight:600;}

  /* Hero appointment card */
  .card{
    background:var(--white);
    border-radius:16px;
    box-shadow:var(--shadow);
    padding:30px;
    border:1px solid var(--line);
  }
  .card h3{font-size:21px;}
  .card .sub{font-size:13px; color:#8695A8; margin-top:4px;}
  .field{margin-top:14px;}
  .field label{display:block; font-size:11.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#5C6B80; margin-bottom:6px;}
  .field input, .field select, .field textarea{
    width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:8px;
    font-family:'Inter'; font-size:14.5px; color:var(--ink); background:var(--sky-2);
    outline:none; transition:border-color .15s;
  }
  .field input:focus, .field select:focus, .field textarea:focus{border-color:var(--navy-2); background:var(--white);}
  .field-row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  @media(max-width:480px){.field-row{grid-template-columns:1fr;}}
  .card .btn-primary{width:100%; justify-content:center; margin-top:18px; padding:15px;}
  .fine{font-size:11px; color:#98A5B8; margin-top:14px; line-height:1.5;}

  /* STATS BAND */
  .stats-band{
    background: var(--navy);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .stats-grid{
    display:grid; grid-template-columns:repeat(4,1fr);
    padding:25px 0;
  }
  .stat{text-align:center; padding:0 12px; border-right:1px solid var(--line);}
  .stat:last-child{border-right:none;}
  .stat .num{font-family:'IBM Plex Mono'; font-size:clamp(22px,3vw,30px); font-weight:600; color:#fff;}
  .stat .lab{font-size:12.5px; color:#fff; margin-top:6px; letter-spacing:.02em;}
  @media(max-width:700px){.stats-grid{grid-template-columns:repeat(2,1fr); row-gap:22px;} .stat{border-right:none; border-bottom:1px solid var(--line); padding-bottom:18px;}}

  /* WHY SECTION */
  .why-section{padding:88px 0;}
  .section-head {
    text-align: center;
}
  .why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:48px;}
  @media(max-width:900px){.why-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.why-grid{grid-template-columns:1fr;}}
  .why-card{
    padding:26px 22px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--sky-2);
    transition:border-color .2s, transform .2s, background .2s;
  }
  .why-card:hover{border-color:var(--navy-2); transform:translateY(-3px); background:var(--white);}
  .why-card .num{font-family:'IBM Plex Mono'; font-size:12px; color:var(--gold-deep); font-weight:600;}
  .why-card h3{margin-top:14px; font-size:17px;}
  .why-card p{margin-top:8px; font-size:14px;}

  /* SERVICES */
  .services-section{padding:88px 0; background:var(--sky);}
  .services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px;}
  @media(max-width:900px){.services-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:600px){.services-grid{grid-template-columns:1fr;}}
  .service-card{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:14px;
    padding:26px;
    transition:box-shadow .2s, border-color .2s, transform .2s;
  }
  .service-card:hover{box-shadow:var(--shadow); border-color:var(--gold); transform:translateY(-3px);}
  .service-tag{
    width:38px; height:38px; border-radius:9px;
    background:var(--gold-tint); color:var(--gold-deep);
    display:flex; align-items:center; justify-content:center;
    font-family:'IBM Plex Mono'; font-size:12px; font-weight:700;
  }
  .service-card h3{margin-top:16px; font-size:17px;}
  .service-card p{color:#6B7A8F; font-size:13.5px; margin-top:8px;}
  .service-card a.more{display:inline-block; margin-top:12px; font-size:13px; color:var(--navy-2); font-weight:600;}

  /* BIO / LEADERSHIP */
  .bio-section{padding:90px 0; background:var(--white);}
  /*.bio-grid{display:grid; grid-template-columns:0.55fr 1fr; gap:50px; align-items:center;}*/
  @media(max-width:860px){.bio-grid{grid-template-columns:1fr; gap:32px;}}
  .bio-photo{
    aspect-ratio:1/1; border-radius:20px;
    background:linear-gradient(160deg, var(--navy), var(--navy-deep));
    display:flex; align-items:center; justify-content:center;
    position:relative; overflow:hidden;
  }
  .bio-photo .initials{
    font-family:'Inter'; font-weight:700; font-size:64px; color:var(--white); opacity:0.92;
  }
  .bio-photo .ring{
    position:absolute; width:160%; height:160%; border:1px solid rgba(255,255,255,0.12); border-radius:50%;
  }
  .bio-copy .eyebrow{margin-bottom:4px;}
  .bio-name{font-size:26px; margin-top:6px;}
  .bio-title{font-family:'IBM Plex Mono'; font-size:13px; color:var(--gold-deep); font-weight:600; margin-top:4px;}
  .bio-copy p.text{margin-top:18px; font-size:15px; max-width:600px;}
  .bio-quote{
    margin-top:22px; padding-left:18px; border-left:3px solid var(--gold);
    font-family:'Inter'; font-size:17px; color:var(--navy-deep); font-style:normal; max-width:560px;
  }
  .bio-stats{display:flex; gap:28px; margin-top:26px; flex-wrap:wrap;}
  .bio-stat .num{font-family:'IBM Plex Mono'; font-weight:600; color:var(--navy); font-size:18px;}
  .bio-stat .lab{font-size:12px; color:#8695A8;}

  /* HOW IT WORKS */
.how-section {
    padding: 90px 0;
    background: #0C53A5;
}
  .how-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:50px; position:relative;}
  @media(max-width:900px){.how-grid{grid-template-columns:1fr 1fr; row-gap:36px;}}
  @media(max-width:560px){.how-grid{grid-template-columns:1fr;}}
 .how-step {
    padding: 0 20px;
    position: relative;
    text-align: center;
}
 .how-step .step-num {
    font-family: 'IBM Plex Mono';
    font-size: 13px;
    font-weight: 700;
    color: #ffffff;
    background: #0C65CB;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}
  .how-step h3{font-size:16.5px;}
  .how-step p{font-size:13.5px; margin-top:6px;}
.how-line {
    position: absolute;
    top: 15px;
    left: calc(50% + -12px);
    width: calc(100% - -7px);
    height: 1px;
    background: #0c65cb;
}
.step-num {
    margin: 0 auto;
    z-index: 999 !important;
    position: relative;
}
  @media(max-width:900px){.how-line{display:none;}}

  /* TESTIMONIALS */
  .test-section{padding:90px 0; background:var(--sky);}
  .test-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:46px;}
  @media(max-width:900px){.test-grid{grid-template-columns:1fr; max-width:520px; margin-left:auto; margin-right:auto;}}
  .test-card{
    background:var(--white); border:1px solid var(--line); border-radius:14px; padding:28px;
  }
  .test-card .quote-mark{font-family:'Inter'; font-size:34px; color:var(--gold-deep); line-height:1;}
  .test-card p.quote{margin-top:10px; font-size:14.5px; color:var(--ink);}
  .test-card .who{margin-top:18px; display:flex; align-items:center; gap:10px;}
  .avatar{width:38px; height:38px; border-radius:50%; background:var(--navy); color:var(--white); display:flex; align-items:center; justify-content:center; font-family:'Inter'; font-size:14px; font-weight:600;}
  .who b{font-size:13.5px; display:block;}
  .who span{font-size:12px; color:#8695A8;}

  /* LOCATIONS */
  .locations-section{padding:80px 0;}
  .loc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px;}
  @media(max-width:900px){.loc-grid{grid-template-columns:1fr;}}
  .loc-card{border:1px solid var(--line); border-radius:14px; padding:24px; background:var(--sky-2);}
  .loc-card .city{font-family:'Inter'; font-weight:600; font-size:17px; color:var(--navy-deep);}
  .loc-card p{font-size:13.5px; margin-top:8px;}
  .loc-card a{font-size:13px; color:var(--navy-2); font-weight:600; margin-top:10px; display:inline-block;}

  /* FINAL CTA */
  .cta-section{
    padding:90px 0;
    background:linear-gradient(135deg, var(--gold-tint) 0%, var(--sky) 100%);
    text-align:center;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .cta-section p{max-width:520px; margin:14px auto 0;}
  .cta-section .hero-cta{justify-content:center; margin-top:30px;}

  /* FOOTER */
  footer{background:var(--navy-deep); color:rgba(255,255,255,0.6); padding:60px 0 30px; font-size:13px;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px;}
  @media(max-width:800px){.footer-grid{grid-template-columns:1fr 1fr; row-gap:32px;}}
  footer h4{color:var(--white); font-family:'Inter'; font-size:14px; margin-bottom:16px;}
  footer ul{list-style:none; display:flex; flex-direction:column; gap:10px;}
  footer ul li a:hover{color:var(--white);}
  .footer-bottom{border-top:1px solid rgba(255,255,255,0.1); margin-top:44px; padding-top:24px;}
  .disclaimer-box{font-size:11.5px; color:rgba(255,255,255,0.45); line-height:1.7; margin-top:18px;}
  .reg-line{font-family:'IBM Plex Mono'; font-size:11px; color:rgba(255,255,255,0.4); margin-top:16px; word-break:break-word;}
  .footer-links{display:flex; gap:18px; flex-wrap:wrap; margin-top:16px; font-size:12px;}
  .footer-links a{color:rgba(255,255,255,0.55);}

  ::selection{background:var(--gold); color:var(--navy-deep);}
  #how-it-works span.eyebrow {
    color: white;
}
  #how-it-works h2 {
    color: white;
}
  #how-it-works p {
    color: white;
}
  #how-it-works h3 {
    color: white;
}
.site-footer {
  background: var(--navy);
  color: #a0c4e8;
  font-family: Arial, sans-serif;
  padding: 40px 20px;
  font-size: 13px;
  line-height: 1.6;
}

.footer-container {
  max-width: 1200px;
  margin: 0 auto;
}

.footer-divider {
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.2);
  margin-bottom: 30px;
}

.footer-disclaimer {
  margin-bottom: 25px;
  color: #9cbcdb;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  margin-bottom: 25px;
}

.footer-links a {
  color: #cce0ff;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-links a:hover {
  color: #ffffff;
  text-decoration: underline;
}

.footer-copyright {
  color: #8ab4df;
  font-size: 12px;
}
