html {
    scroll-behavior: smooth;
}
body{margin:0;font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;}
a{color:oklch(50% 0.13 165);text-decoration:none;}
a:hover{color:oklch(40% 0.13 165);}
*{box-sizing:border-box;}
.img-fluid{max-width:100%;}

/* Page */
.page-wrap{background:oklch(98% 0.006 95);color:oklch(22% 0.02 260);overflow-x:hidden;}
.section{padding:40px 0;max-width:1280px;margin:0 auto;}
.section--narrow{max-width:1100px;}
.section--faq{max-width:820px;}
.section-head{text-align:center;margin-bottom:44px;}
.section-desc{font-size:16px;color:oklch(45% 0.02 260);margin:0;}
.col-half{flex:1 1 420px;min-width:300px;}
.media-4-3{width:100%;aspect-ratio:4/3;}

/* Header */
.site-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:20px clamp(20px,5vw,64px);position:sticky;top:0;z-index:50;background:oklch(98% 0.006 95 / 0.92);backdrop-filter:blur(8px);border-bottom:1px solid oklch(90% 0.01 165);}
.logo-wrap{display:flex;align-items:center;gap:10px;}
.logo-text{font-family:'Poppins',sans-serif;font-weight:800;font-size:22px;letter-spacing:-0.02em;color:oklch(22% 0.02 260);}
.main-nav{display:flex;align-items:center;gap:clamp(16px,3vw,32px);flex-wrap:wrap;}
.nav-link{font-weight:500;font-size:15px;color:oklch(30% 0.02 260);}
.btn-nav{background:oklch(55% 0.13 165);color:white;padding:11px 22px;border-radius:8px;font-weight:600;font-size:15px;}

/* Hero */
.hero-section{display:flex;align-items:center;gap:clamp(24px,5vw,64px);flex-wrap:wrap-reverse;padding:clamp(40px,7vw,50px) clamp(20px,5vw,64px);max-width:1280px;margin:0 auto;}
.hero-title{font-family:'Poppins',sans-serif;font-weight:800;font-size:clamp(34px,5vw,56px);line-height:1.08;letter-spacing:-0.02em;margin:0 0 20px;}
.hero-desc{font-size:clamp(16px,2vw,19px);line-height:1.6;color:oklch(45% 0.02 260);max-width:520px;margin:0 0 32px;}
.btn-hero{display:inline-block;background:oklch(55% 0.13 165);color:white;padding:16px 32px;border-radius:10px;font-weight:600;font-size:17px;}
.hero-image img, .doctor-img img{border-radius: 20px;}

/* Benefits */
.benefits-title{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(26px,3.4vw,38px);margin:0 0 40px;text-align:center;}
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;}
.benefit-card{background:white;border-radius:16px;padding:28px;border:1px solid oklch(92% 0.01 165);}
.benefit-icon-wrap{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.benefit-icon-dot{width:18px;height:18px;border-radius:50%;background:oklch(55% 0.13 165);}
.benefit-title{font-family:'Poppins',sans-serif;font-size:17px;font-weight:700;margin:0 0 8px;}
.benefit-desc{font-size:14.5px;color:oklch(45% 0.02 260);line-height:1.55;margin:0;}

/* Story */
.story-section{display:flex;align-items:center;gap:clamp(24px,5vw,64px);flex-wrap:wrap;padding:clamp(30px,6vw,40px) clamp(20px,5vw,64px);max-width:1280px;margin:0 auto;}
.story-title{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(26px,3.4vw,36px);line-height:1.15;margin:0 0 20px;}
.story-desc{font-size:16px;line-height:1.65;color:oklch(45% 0.02 260);margin:0 0 24px;}
.btn-story{display:inline-block;background:oklch(55% 0.13 165);color:white;padding:14px 28px;border-radius:10px;font-weight:600;font-size:15px;}

/* Plans */
.plans-title{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(26px,3.4vw,38px);margin:0 0 12px;}
.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;}
.plan-img{width:100%;aspect-ratio:1/1;margin-bottom:14px;}
.plan-title{font-family:'Poppins',sans-serif;font-size:16px;font-weight:700;margin:10px 0;text-align: center}
.plans-grid img{border-radius: 20px;}

/* Comparison */
.comparison-title{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(26px,3.4vw,38px);text-align:center;margin:0 0 44px;}
.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;}
.comparison-card{border-radius:16px;padding:28px 30px;}
.comparison-card--old{background:white;border:1px solid oklch(92% 0.01 165);}
.comparison-card--new{background:oklch(55% 0.13 165);}
.comparison-heading{font-family:'Poppins',sans-serif;font-weight:700;font-size:17px;margin-bottom:18px;}
.comparison-heading--old{color:oklch(45% 0.02 260);}
.comparison-heading--new{color:white;}
.comparison-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid oklch(94% 0.005 95);}
.comparison-row--new{border-top:1px solid oklch(60% 0.1 165);}
.comparison-icon{flex-shrink:0;}
.comparison-item-text{font-size:14.5px;}
.comparison-item-text--old{color:oklch(45% 0.02 260);}
.comparison-item-text--new{color:white;}

/* Stats */
.stats-section{background:oklch(55% 0.13 165);padding:clamp(40px,6vw,70px) clamp(20px,5vw,64px);}
.stats-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;color:white;text-align:center;}
.stat-num{font-family:'Poppins',sans-serif;font-weight:800;font-size:clamp(24px,3vw,34px);margin-bottom:8px;}
.stat-label{font-weight:600;font-size:15px;margin-bottom:6px;}
.stat-desc{font-size:13.5px;opacity:0.85;line-height:1.5;}

/* Testimonials */
.testimonials-title{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(26px,3.4vw,36px);text-align:center;margin:0 0 40px;}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;}
.testimonial-card{background:white;border:1px solid oklch(92% 0.01 165);border-radius:16px;padding:26px;}
.testimonial-quote{font-size:16px;line-height:1.6;margin:0 0 16px;color:oklch(30% 0.02 260);}
.testimonial-name{font-weight:600;font-size:14px;color:oklch(45% 0.02 260);}

/* 3 Steps */
.steps-title{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(26px,3.4vw,38px);margin:0 0 12px;}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;}
.step-img{width:100%;aspect-ratio:4/3;margin-bottom:16px;}
.step-num{font-family:'Poppins',sans-serif;font-weight:800;font-size:36px;color:oklch(55% 0.13 165);margin-bottom:10px;}
.step-title{font-family:'Poppins',sans-serif;font-size:17px;font-weight:700;margin:0 0 8px;}
.step-desc{font-size:14.5px;color:oklch(45% 0.02 260);line-height:1.55;margin:0;}
.steps-grid img{border-radius: 20px}

/* FAQ */
.faq-title{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(26px,3.4vw,36px);text-align:center;margin:0 0 36px;}
.faq-list{display:flex;flex-direction:column;gap:12px;}
.faq-item{background:white;border:1px solid oklch(92% 0.01 165);border-radius:12px;overflow:hidden;}
.faq-question{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:600;font-size:15.5px;}
.faq-icon{font-size:20px;color:oklch(55% 0.13 165);transition:transform 0.2s;}
.faq-answer{padding:0 22px 18px;font-size:14.5px;color:oklch(45% 0.02 260);line-height:1.6;}

/* Footer */
.site-footer{background:oklch(20% 0.02 260);color:white;padding:clamp(40px,6vw,64px) clamp(20px,5vw,64px) 30px;}
.footer-top{max-width:1280px;margin:0 auto 32px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;}
.footer-brand{max-width:420px;}
.footer-logo-wrap{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.footer-logo-text{font-family:'Poppins',sans-serif;font-weight:800;font-size:20px;}
.footer-desc{font-size:14px;line-height:1.6;color:oklch(75% 0.02 260);margin:0;}
.footer-nav{display:flex;gap:28px;flex-wrap:wrap;}
.footer-link{color:white;font-size:14px;font-weight:500;}
.footer-bottom{max-width:1280px;margin:0 auto;border-top:1px solid oklch(30% 0.02 260);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:oklch(65% 0.02 260);}
.footer-legal{display:flex;gap:16px;}
.footer-legal-link{color:oklch(65% 0.02 260);font-size:13px;}

/* Contact */
.contact-section{padding: 40px 0;}
.contact-left h1, .contact-section h1{font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: clamp(26px, 3.4vw, 36px);
    margin: 0 0 20px;}
.contact-left p, .contact-section p{font-size: 16px;
    line-height: 1.65;
    color: oklch(45% 0.02 260);
    margin: 0 0 24px;}

.form-title{font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: clamp(26px, 3.4vw, 36px);
    margin: 0 0 20px;}
.contact-right form label{font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.15;
    /* margin: 0 0 20px; */
    color: oklch(45% 0.02 260);}

.contact-right .form-control, .contact-right .form-select {
    border: none;
    border-bottom: 1px solid #999;
    border-radius: 0;
    padding-left: 0;
    font-size: 0.85rem;
    outline: none;
    box-shadow: none;
}
.phone-wrap {
    border-bottom: 1px solid #999;
}
.contact-right button[type="submit"]{display: inline-block;
    background: oklch(55% 0.13 165);
    color: white;
    padding: 13px 35px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 15px;border:1px solid oklch(55% 0.13 165);
}
    .logo-link{
        display:flex;
        align-items:center;
        gap:10px;
    }
    .menu-toggle{
        display:none;
        flex-direction:column;
        justify-content:space-between;
        width:40px;
        height:35px;
        cursor:pointer;
        background:#00885e;
        padding:7px;
        border-radius:5px;
    }
     .menu-toggle span{
        display:block;
        height:3px;
        width:100%;
        background:#fff;
        border-radius:2px;
     }
     .mobile-nav-header{
        display:none;
        align-items:center;
        justify-content:space-between;
        padding:15px;
        border-bottom:1px solid oklch(92% 0.01 165);
        margin:0 -15px;
        width:calc(100% + 30px);
     }

/* CONTACT NEW CSS */
.form-layout{
    display:flex;
    flex-wrap:wrap;
    gap:35px;
    align-items: flex-start;
}
.form-layout .form-card{
    max-width:calc(100% - 370px);
    background: #fff;
    border: 1px solid oklch(90% 0.01 165);
    border-radius: 24px;
    box-shadow: 0 18px 55px rgba(14, 52, 86, .12);
    padding: 38px;
}
.form-layout .form-card .form-heading {
    margin-bottom: 28px;
}
.form-layout .form-card .form-heading .form-kicker{
    font-size: 11px;
    letter-spacing: 1.3px;
    font-weight: 850;
    color: oklch(50% 0.13 165);
}
.form-heading h2 {
    font-size: 29px;
    line-height: 1.2;
    color: #212529;
    margin: 7px 0;
    font-weight:600;
}
.form-heading p {
    margin: 0;
    color: oklch(45% 0.02 260);
}
.field-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.field {
    display: block;
    margin-bottom: 18px;
}
.field>span {
    display: block;
    font-weight: 700;
    font-size: 14px;
    color: #304258;
    margin-bottom: 7px;
}
.field b {
    color: #c63b45;
}
.field input, .field textarea {
    width: 100%;
    border: 1px solid #cfdbe6;
    border-radius: 11px;
    padding: 13px 14px;
    color: #212529;
    background: #fff;
    outline: none;
    transition: .15s border, .15s box-shadow;
}
.field input:focus, 
.field textarea:focus {
    border-color: oklch(40% 0.13 165);
    box-shadow: 0 0 0 3px rgba(11, 107, 203, .10);
}
.honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.field small {
    display: block;
    color: #8793a0;
    font-size: 11px;
    margin-top: 5px;
}
.field em {
    font-style: normal;
    font-weight: 500;
    color: #8490a0;
}
.field textarea {
    resize: vertical;
}
.consent-box {
    background: #ecf7f4;
    border: 1px solid #cfdbe6;
    border-radius: 15px;
    padding: 18px;
    margin: 8px 0 22px;
}
.checkbox-row {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 11px;
    align-items: start;
    cursor: pointer;
}
.checkbox-row input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.custom-check {
    width: 21px;
    height: 21px;
    border: 2px solid #8aa9c5;
    border-radius: 5px;
    background: #fff;
    position: relative;
    margin-top: -1px;
}
.checkbox-row input:checked+.custom-check {
    background: oklch(50% 0.13 165);
    border-color: oklch(50% 0.13 165);
}
.checkbox-row input:checked+.custom-check::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 1px;
    width: 6px;
    height: 11px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.consent-copy {
    font-size: 12px;
    color: #43586c;
    line-height: 1.55;
}
.consent-copy strong {
    display: block;
    color: #43586c;
    font-size: 14px;
    margin-bottom: 4px;
}
.consent-note {
    font-size: 11px !important;
    color: #43586c !important;
    margin: 10px 0 10px 33px !important;
}
.form-layout .button-full {
    width: 100%;
    padding: 15px 24px;
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 12px;
    background: oklch(55% 0.13 165);
    color: #fff !important;
    font-weight: 750;
    box-shadow: 0 10px 24px rgba(11, 107, 203, .18);
    cursor: pointer;
    transition: .2s transform, .2s box-shadow;
}
.form-layout .button-full:hover{
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(11, 107, 203, .22);
}
.form-layout p.form-legal {
    font-size: 11px;
    color: #7d8997;
    text-align: center;
    margin: 13px 5px 0;
}
.form-layout .contact-aside{
    max-width:335px;
    display: grid;
    gap: 18px;
    position: sticky;
    top: 100px;
}
.aside-card {
    background: #fff;
    border: 1px solid oklch(90% 0.01 165);
    border-radius: 19px;
    padding: 25px;
    box-shadow: 0 10px 30px rgba(14, 52, 86, .08);
}
.aside-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: #edf6ff;
    color: oklch(55% 0.13 165);
    font-weight: 900;
}
.aside-card h2{
    font-size:24px;
}
.aside-card h2, .aside-card h3 {
    color: #212529;
    margin: 8px 0;
    font-family: 'Poppins', sans-serif;
    font-weight:700;
}
.aside-card h3 {
    font-size:18px;
}
.aside-card p, .aside-card address {
    font-size: 14px;
    color: oklch(45% 0.02 260);
    font-style: normal;
    margin: 7px 0;
}
.aside-card.plain {
    box-shadow: none;
}
.aside-card.sms-card {
    background: oklch(55% 0.13 165);
    border: none;
    color: #fff;
}
.aside-card.sms-card a {
    color: #fff;
}
.aside-card.sms-card h3,
.aside-card.sms-card p {
    color: #fff;
}
.aside-card.sms-card h2{
    color:#fff;
}
.field input.invalid, .field textarea.invalid {
    border-color: #c63b45;
    box-shadow: 0 0 0 3px rgba(198, 59, 69, .08);
}
.alert {
    border-radius: 12px;
    padding: 13px 15px;
    margin-bottom: 20px;
    font-size: 13px;
}
.alert-error {
    background: #fff0f1;
    border: 1px solid #f2c7ca;
    color: #8b2c34;
}

.page-hero.compact {
    padding: 68px 0;
}
.success-check {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: oklch(50% 0.13 165);
    color: #fff;
    font-weight: 900;
    font-size: 28px;
    display: grid;
    place-items: center;
    margin: 0 auto 16px;
}
.eyebrow {
    text-transform: uppercase;
    letter-spacing: 1.4px;
    color: oklch(50% 0.13 165);
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 18px;
}
.center-text{
    text-align:center;
}
.page-hero{
    background:#00885e1f;
}
.page-hero h1{
    font-size:57px;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
}
.card-result-section {
    padding-top: 54px;
}
.card-result-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 44px;
    align-items: start;
}
.actual-card-wrap {
    background: #fff;
    border: 1px solid oklch(90% 0.01 165);
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 18px 55px rgba(14, 52, 86, .12);
}
.actual-card-label {
    font-size: 11px;
    letter-spacing: 1.2px;
    color: #6a7c8d;
    font-weight: 850;
    margin-bottom: 16px;
}
.actual-card {
    border-radius: 8px;
    border: 1px solid #e1e5e9;
    width: 100%;
}
.card-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin: 22px 0;
}
.card-actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 12px;
    background: oklch(50% 0.13 165);
    color: #fff !important;
    padding: 13px 20px;
    font-weight: 750;
    box-shadow: 0 10px 24px rgba(11, 107, 203, .18);
    cursor: pointer;
    transition: .2s transform, .2s box-shadow;
}
.card-actions .button-secondary {
    background: #fff;
    color: oklch(50% 0.13 165) !important;
    border: 1px solid oklch(50% 0.13 165);
    box-shadow: none;
}
.card-actions .button:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(11, 107, 203, .22);
}
.fine-print {
    font-size: 12px !important;
    color: #718096 !important;
}
.result-aside {
    display: grid;
    gap: 14px;
}

.result-box {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 15px;
    padding: 22px;
    border: 1px solid #e1e5e9;
    border-radius: 18px;
    background: #fff;
}
.result-number {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: #edf6ff;
    color: oklch(50% 0.13 165);
    display: grid;
    place-items: center;
    font-weight: 850;
}
.result-box h2 {
    font-size: 18px;
    color: oklch(50% 0.13 165);
    margin: 0 0 5px;
}
.result-box p {
    font-size: 14px;
    color: #718096;
    margin: 0;
}

/* Media Queries */

@media (max-width:1199px) and (min-width:992px){
    .benefits-grid, .plans-grid, .stats-grid{grid-template-columns: repeat(4, 1fr);gap: 18px;}
    .testimonials-grid, .steps-grid{grid-template-columns: repeat(3, 1fr);gap: 18px;}
    .benefit-card{padding: 20px}
}
@media (max-width:991px) and (min-width:768px){
    .benefits-grid, .plans-grid, .stats-grid{grid-template-columns: repeat(2, 1fr);gap: 18px;}
    .testimonials-grid, .steps-grid{grid-template-columns: repeat(3, 1fr);gap: 18px;}
    .benefit-card{padding: 20px}
}
@media(max-width:1199px){
    .benefits-section,
    #plans,
    .section--narrow,
    .testimonials-section,
    .steps-section{
        padding-left:5vw;
        padding-right:5vw;
    }
}
@media(max-width:999px){
    .section--faq{
        padding-left:5vw;
        padding-right:5vw;
    }
    .form-layout .form-card,
    .form-layout .contact-aside{
        max-width:100%;
    }
    .contact-aside {
        position: static;
        grid-template-columns: repeat(2, 1fr);
    }
    .contact-aside .sms-card {
        grid-column: 1 / -1;
    }
    .opt-out-section .contact-aside .sms-card{
        grid-column: 2 / 1;
    }
    .card-result-grid {
        grid-template-columns: 1fr;
    }
}
@media(max-width:767px){
    
    .footer-legal{flex-wrap:wrap;justify-content: center;}
}
@media(max-width:575px){
    html{
        overflow-x:hidden;
    }
    .menu-toggle{
        display:flex;
    }
    .new-menu{
        width:100%;
        justify-content:space-between;
    }
    .site-header{
        position:relative;
        z-index:999;
    }
    .main-nav{
       display: flex;
        width: 100%;
        flex-direction: column;
        gap: 16px;
        margin-top: 12px;
        position: absolute;
        top: 0;
        right: 0;
        height: 100vh;
        background: #fff;
        width: 300px;
        margin-top: 0;
        align-items: flex-start;
        padding:0 15px;
        transform: translateX(100%);
        transition: transform 0.3s ease-in-out;
        z-index:999;
    }
    .menu-open .main-nav{
        transform: translateX(0);
        transition: transform 0.3s ease-in-out;
    }
    .mobile-nav-header{
        display:flex;
    }
    .mobile-nav-close{
        background:none;
        border:none;
        font-size:30px;
        color:oklch(55% 0.13 165);
        cursor:pointer;
    }
     .menu-open{
        overflow: hidden;
     }
    .menu-open:after,
    .menu-open .site-header:after{
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: calc(100% + 1px);
        background: rgba(0, 0, 0, 0.5);
        z-index: 99;
    }
        .contact-aside {
        grid-template-columns: 1fr;
    }
    .form-layout .form-card {
        padding: 24px 18px;
        border-radius: 18px;
    }
        .field-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .page-hero h1{
        font-size:36px;
    }
    .footer-bottom{
        justify-content: center;
    }
    .footer-bottom span:first-child{
        display:block;
        text-align:center;
    }
}
