:root{
    --primary:#1c562a;
    --secondary:#666666;
    --accent:#9f7a43;
    --white:#ffffff;
    --bg:#f4efcd;
    --shadow:0 16px 40px rgba(28,86,42,0.08);
    --radius:0;
    --radius-sm:0;
    --container:1320px;
    --transition:all .35s ease;
    --primary-font:"Poppins", serif;
    --secondary-font:"Poppins", sans-serif;
  }

  .container  {
    max-width: 1320px;
  }

  *{
    box-sizing:border-box;
  }

  html{
    scroll-behavior:smooth;
  }

  body{
    margin:0;
    font-family:var(--secondary-font);
    color:var(--secondary);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
    font-weight: 500;
    font-size: 16px;
  }

  h1,h2,h3,h4 {
    font-family: var(--primary-font);
  }

  img,
  video{
    max-width:100%;
    display:block;
  }

  a{
    text-decoration:none;
    color:inherit;
    transition:var(--transition);
  }

  ul{
    margin:0;
    padding:0;
  }

  .container-xl{
    max-width:var(--container);
  }

  .section-padding {
    padding:100px 0;
  }

  .section-padding-sm{
    padding:72px 0;
  }

  .eyebrow{
    display:inline-block;
    font-size:14px;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--accent);
    font-weight:600;
    margin-bottom:14px;
  }

  .section-title{
    font-family:var(--primary-font);
    font-weight:600;
    line-height:1.2;
    font-size:48px;
    margin:0 0 16px;
    color:var(--primary);
    text-transform: capitalize;
  }

  .section-intro{
    color:var(--secondary-soft);
    max-width:780px;
    margin:0 auto;
  }

  .text-center .section-intro{
    margin-left:auto;
    margin-right:auto;
  }

  .btn-theme{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:48px;
    padding:14px 24px;
    background:var(--primary);
    border:1px solid var(--primary);
    color:#fff;
    font-size:14px;
    font-weight:600;
    letter-spacing:.7px;
    text-transform:uppercase;
    transition:var(--transition);
    box-shadow:none;
  }

  .btn-theme:hover{
    background:var(--accent);
    border-color:var(--accent);
    color:#fff;
    transform:translateY(-1px);
  }

  .btn-outline-theme{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:14px 28px;
    border-radius:4px;
    background:transparent;
    border:1px solid rgba(255,255,255,.75);
    color:#fff;
    font-size:12px;
    font-weight:600;
    letter-spacing:.7px;
    text-transform:uppercase;
    transition:var(--transition);
  }

  .btn-outline-theme:hover{
    background:#fff;
    color:var(--primary);
    border-color:#fff;
    transform:translateY(-1px);
  }

  .btn-outline-dark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:14px 28px;
    border-radius:4px;
    background:transparent;
    border:1px solid rgba(28,86,42,.18);
    color:var(--primary);
    font-size:12px;
    font-weight:600;
    letter-spacing:.7px;
    text-transform:uppercase;
    transition:var(--transition);
  }

  .btn-outline-dark:hover{
    background:var(--primary);
    color:#fff;
    border-color:var(--primary);
  }

  .site-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:50;
    transition:var(--transition);
  }

  .site-header.is-scrolled{
    background:#ffffffcf;
    backdrop-filter:blur(12px);
    box-shadow:0 10px 30px rgba(0,0,0,.1);
  }

  .navbar-custom{
    padding:22px 0;
  }

  .navbar-brand{
    color:#fff !important;
    font-family:var(--secondary-font);
    font-size:34px;
    font-weight:600;
    line-height:.95;
    letter-spacing:-.3px;
  }

  .brand-sub{
    display:block;
    font-family:var(--secondary-font);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:2px;
    font-weight:500;
    margin-top:8px;
    color:rgba(255,255,255,.85);
  }

  .navbar-nav .nav-link{
    color:rgba(255,255,255,.92);
    font-size:14px;
    font-weight:500;
    letter-spacing:.6px;
    text-transform:uppercase;
    padding:10px 16px !important;
  }

  .navbar-nav .nav-link:hover,
  .navbar-nav .nav-link.active{
    color:#fff;
  }

  .nav-cta{
    margin-left:14px;
  }

  .navbar-toggler{
    border:0;
    box-shadow:none !important;
    padding:0;
  }

  .navbar-toggler-icon{
    filter:brightness(0) invert(1);
  }

  .hero{
    position:relative;
    height:100vh;
    color:#fff;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#0f1b13;
    max-height: 900px;
  }

  .hero-media{
    position:absolute;
    inset:0;
    z-index:0;
  }

  .hero-media::after{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(to right, rgba(13,20,14,.58) 0%, rgba(13,20,14,.30) 45%, rgba(13,20,14,.22) 100%),
      linear-gradient(to top, rgba(11,14,12,.50) 0%, rgba(11,14,12,.12) 48%, rgba(11,14,12,.16) 100%);
    z-index:2;
  }

  .hero-media video,
  .hero-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    position:absolute;
    inset:0;
  }

  .hero-content{
    position:relative;
    z-index:3;
    width:100%;
    padding:180px 0 120px;
  }

  .hero-card{
    max-width:760px;
  }

  .hero-kicker{
    font-size:15px;
    font-weight:600;
    color:rgba(255,255,255,.92);
    margin-bottom:14px;
    text-transform: uppercase;
  }

  .hero-title{
    font-family:var(--primary-font);
    font-size:62px;
    line-height:1.2;
    font-weight:600;
    margin:0 0 20px;
  }

  .hero-text{
    max-width:620px;
    color:rgba(255,255,255,.9);
    font-size:16px;
    margin-bottom:32px;
  }

  .hero-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
  }

  .hero-scroll{
    position:absolute;
    bottom:30px;
    left:50%;
    transform:translateX(-50%);
    z-index:4;
    color:rgba(255,255,255,.85);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:2px;
  }

  .hero-scroll::after{
    content:"";
    display:block;
    width:1px;
    height:44px;
    background:rgba(255,255,255,.5);
    margin:10px auto 0;
    animation:floatLine 1.8s ease-in-out infinite;
  }

  @keyframes floatLine{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(10px);}
  }

  .symptom-box{
    height:100%;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(159,122,67,.12);
    border-radius:var(--radius);
    padding:34px 28px;
    box-shadow:var(--shadow);
    backdrop-filter:blur(6px);
  }

  .symptom-box h3{
    font-family:var(--primary-font);
    font-size:2rem;
    color:var(--accent);
    margin:0 0 18px;
    font-weight:600;
  }

  .symptom-list{
    list-style:none;
  }

  .symptom-list li{
    position:relative;
    padding-left:22px;
    margin-bottom:12px;
    color:var(--secondary-soft);
    font-size:16px;
    line-height:1.65;
  }
  

  .symptom-list li::before{
    content:"";
    width:8px;
    height:8px;
    transform: rotate(45deg);
    background:var(--accent);
    position:absolute;
    left:0;
    top:9px;
    opacity:.8;
  }

  .support-section{
    background:var(--bg);
  }

  .service-card{
    height:100%;
    background:#fff;
    border:1px solid rgba(28,86,42,.08);
    box-shadow:var(--shadow);
    transition:var(--transition);
    position:relative;
    overflow:hidden;
  }

  .service-card::before{
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:4px;
    background:var(--primary);
  }

  .service-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 50px rgba(28,86,42,.12);
  }

  .service-icon{
    width:54px;
    height:54px;
    border-radius:50%;
    background:rgba(159,122,67,.12);
    color:var(--accent);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    margin-bottom:18px;
    font-weight:700;
  }

  .service-card h3{
    font-family:var(--primary-font);
    font-size:22px;
    line-height:1.2;
    margin:0 0 14px;
    color:var(--secondary);
    font-weight:600;
    margin-bottom: 0;
  }

  .service-content {
    padding: 20px;
    text-align: center;
  }

  .service-card p{
    margin:0;
    color:var(--secondary-soft);
  }

  .location-card{
    background:#fff;
    padding:30px 20px;
    border:1px solid rgba(159,122,67,.14);
    box-shadow:var(--shadow);

    .location-card p {
      font-size: 14px;
    }
  }

  .location-card h3{
    font-family:var(--primary-font);
    font-size:24px;
    margin:0 0 14px;
    color:var(--primary);
    font-weight:600;
  }

  .location-meta{
    list-style:none;
    margin-top:14px;
  }

  .location-meta li{
    color:var(--secondary-soft);
    margin-bottom:9px;
    font-size: 14px;
  }

  .location-meta strong{
    color:var(--secondary);
    font-weight:600;
  }

  .location-badge{
    display:inline-block;
    padding:6px 12px;
    border-radius:30px;
    background:rgba(28,86,42,.08);
    color:var(--primary);
    font-size:11px;
    letter-spacing:1px;
    text-transform:uppercase;
    font-weight:700;
    margin-bottom:16px;
  }

  .why-image-collage{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    margin:0 auto;
  }

  .why-image-collage .tall{
    grid-row:1 / span 2;
    overflow:hidden;
    min-height:540px;
    scale: .9;
    margin-right: -100px;
    border: solid 15px #fff;
  }

  .why-image-collage .square{
    overflow:hidden;
    min-height:260px;
  }

  .why-image-collage img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .why-points{
    list-style:none;
    margin:28px 0 0;
  }

  .why-points li{
    position:relative;
    padding-left:34px;
    margin-bottom:16px;
    color:var(--secondary-soft);
  }

  .why-points li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:-2px;
    font-size:18px;
    color:var(--accent);
    font-weight:700;
  }

  .process-section{
    background:var(--bg);
    position:relative;
  }

  /* .process-section::before{
    content:"";
    position:absolute;
    inset:auto -100px -90px auto;
    width:320px;
    height:320px;
    border-radius:50%;
    background:rgba(159,122,67,.08);
    filter:blur(4px);
  } */

  .step-card{
    position:relative;
    height:100%;
    padding:14px 10px 0;
  }

  .step-number{
    font-family:var(--primary-font);
    font-size:4.4rem;
    line-height:.9;
    color:var(--accent);
    margin-bottom:8px;
    font-weight:700;
    letter-spacing:-1px;
  }

  .step-divider{
    width:100%;
    height:1px;
    background:rgba(159,122,67,.22);
    margin-bottom:18px;
  }

  .step-card h3{
    font-family:var(--primary-font);
    font-size:1.85rem;
    line-height:1.05;
    margin:0 0 14px;
    color:var(--secondary);
    font-weight:600;
  }

  .step-card p{
    font-size:16px;
    color:var(--secondary-soft);
    margin:0;
  }

  .team-section{
    position:relative;
    color:#fff;
    background:#111;
    overflow:hidden;
  }

  .team-bg{
    position:absolute;
    inset:0;
    z-index:0;
  }

  .team-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .team-bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(to bottom, rgba(10,14,11,.80), rgba(10,14,11,.82)),
      linear-gradient(to right, rgba(18,16,12,.70), rgba(18,16,12,.45));
  }

  .team-content{
    position:relative;
    z-index:2;
  }

  .team-feature{
    height:100%;
    padding:10px 12px 20px;
  }

  .team-feature-icon{
    width:44px;
    height:44px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.2);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--accent);
    margin-bottom:14px;
    font-size:18px;
    font-weight:700;
  }

  .team-feature h3{
    font-family:var(--primary-font);
    font-size:1.65rem;
    margin:0 0 10px;
    color:#fff;
    font-weight:600;
  }

  .team-feature p{
    margin:0;
    color:rgba(255,255,255,.78);
    font-size:16px;
  }

  .doctor-card{
    height:100%;
    background:#fff;
    overflow:hidden;
    box-shadow:0 12px 40px rgba(0,0,0,.16);
    transition:var(--transition);
  }

  .doctor-card:hover{
    transform:translateY(-6px);
  }

  .doctor-photo{
    aspect-ratio:1/1.05;
    overflow:hidden;
    background:#ddd;
  }

  .doctor-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position: top;
  }

  .doctor-body{
    padding:16px 14px 15px;
    color:var(--secondary);
    text-align:center;
  }

  .doctor-name{
    display:block;
    font-size:16px;
    font-weight:700;
    line-height:1.45;
    margin-bottom:4px;
    color:var(--primary);
  }

  .doctor-role{
    display:block;
    font-size:14px;
    color:var(--secondary-soft);
    text-transform:capitalize;
  }

  .cta-section{
    position:relative;
    min-height:500px;
    overflow:hidden;
    display:flex;
    align-items:center;
    color:#fff;
    background:#1a1a1a;
  }

  .cta-bg{
    position:absolute;
    inset:0;
    z-index:0;
  }

  .cta-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .cta-bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(to right, rgba(17,24,19,.65), rgba(17,24,19,.30)),
      linear-gradient(to top, rgba(17,24,19,.55), rgba(17,24,19,.15));
  }

  .cta-content{
    position:relative;
    z-index:2;
    width:100%;
    padding:110px 0;
  }

  .cta-panel{
    max-width:650px;
  }

  .cta-panel .section-title{
    color:#fff;
    margin-bottom:16px;
  }

  .cta-panel p{
    color:rgba(255,255,255,.86);
    margin-bottom:28px;
  }

  .site-footer{
    background:var(--bg);
    color:var(--secondary);
    padding:70px 0 0;
  }

  .footer-brand{
    font-family:var(--secondary-font);
    font-size:2.3rem;
    line-height:.95;
    font-weight:700;
    color:var(--primary);
    margin-bottom:16px;
  }

  .footer-text{
    color:var(--secondary-soft);
    max-width:300px;
  }

  .footer-heading{
    font-family:var(--primary-font);
    font-size:22px;
    margin:0 0 18px;
    color:var(--accent);
    font-weight:600;
  }

  .footer-links{
    list-style:none;
  }

  .footer-links li{
    margin-bottom:10px;
  }

  .footer-links a{
    color:var(--secondary-soft);
  }

  .footer-links a:hover{
    color:var(--accent);
  }

  .footer-bottom{
    border-top:1px solid rgba(75,71,66,.12);
    margin-top:42px;
    padding:18px 0 24px;
    text-align:center;
    font-size:14px;
    color:var(--secondary-soft);
  }

  .reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .8s ease, transform .8s ease;
  }

  .reveal.is-visible{
    opacity:1;
    transform:none;
  }

  @media (max-width: 1199.98px){
    .hero-title{
      font-size:48px;
    }

    .why-image-collage .tall{
      min-height:480px;
    }
  }

  @media (max-width: 991.98px){
    .navbar-collapse{
      background:rgba(14,18,15,.94);
      padding:18px;
      border-radius:12px;
      margin-top:14px;
    }

    .nav-cta{
      margin-left:0;
      margin-top:10px;
    }

    .hero{
      min-height:860px;
    }

    .hero-content{
      padding-top:160px;
      padding-bottom:90px;
    }

    .hero-card{
      max-width:100%;
    }

    .why-image-collage{
      margin-bottom:40px;
    }

    .section-padding{
      padding:82px 0;
    }

    .step-card{
      padding-top:0;
    }
  }

  @media (max-width: 767.98px){
    .navbar-custom{
      padding:16px 0;
    }

    .navbar-brand{
      font-size:28px;
    }

    .brand-sub{
      font-size:9px;
      letter-spacing:1.6px;
    }

    .hero{
      min-height:760px;
    }

    .hero-title{
      font-size:42px;
    }

    .hero-text{
      font-size:15px;
    }

    .hero-actions{
      flex-direction:column;
      align-items:flex-start;
    }

    .hero-actions .btn-theme,
    .hero-actions .btn-outline-theme{
      width:100%;
    }

    .section-padding{
      padding:68px 0;
    }

    .section-title{
      font-size:2.5rem;
    }

    .symptom-box,
    .service-card,
    .location-card{
      padding:28px 22px;
    }

    .why-image-collage{
      grid-template-columns:1fr;
      max-width:100%;
    }

    .why-image-collage .tall,
    .why-image-collage .square{
      min-height:280px;
    }

    .cta-section{
      min-height:auto;
    }

    .cta-content{
      padding:90px 0;
    }
  }

  @media (max-width: 575.98px){
    .hero{
      min-height:690px;
    }

    .hero-title{
      font-size:42px;
    }

    .hero-kicker{
      font-size:13px;
    }

    .section-title{
      font-size:2.2rem;
    }

    .step-number{
      font-size:3.6rem;
    }

    .footer-brand{
      font-size:2rem;
    }
  }