:root{
    --bg:#f4f7f5;
    --white:#ffffff;
    --text:#173126;
    --muted:#5f766c;
    --soft:#e3ece7;
    --line:#d6e3db;
    --accent:#2f6b53;
    --accent-dark:#234f3d;
    --shadow:0 20px 60px rgba(25,55,42,0.10);
    --radius:22px;
    --max:1180px;
}

*{
    box-sizing:border-box;
    margin:0;
    padding:0;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter',sans-serif;
    background:linear-gradient(180deg,#f8fbf9 0%, #eef5f1 100%);
    color:var(--text);
    line-height:1.6;
}

a{
    text-decoration:none;
    color:inherit;
}

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

.container{
    width:min(100% - 32px,var(--max));
    margin:0 auto;
}

.topbar{
    position:sticky;
    top:0;
    z-index:1000;
    backdrop-filter:blur(14px);
    background:rgba(248,251,249,0.86);
    border-bottom:1px solid rgba(47,107,83,0.08);
}

.nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 0;
    gap:20px;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
    font-weight:800;
    font-size:24px;
    letter-spacing:-0.03em;
}

.brand-mark{
    width:42px;
    height:42px;
    border-radius:14px;
    background:linear-gradient(135deg,var(--accent),#7aa38e);
    color:#fff;
    display:grid;
    place-items:center;
    font-size:16px;
    box-shadow:0 10px 25px rgba(47,107,83,0.25);
}

.nav-links{
    display:flex;
    gap:26px;
    align-items:center;
    color:var(--muted);
    font-weight:500;
    font-size:15px;
}

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

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:52px;
    padding:0 24px;
    border-radius:999px;
    font-weight:700;
    font-size:15px;
    transition:0.25s ease;
    cursor:pointer;
}

.btn-primary{
    background:var(--accent);
    color:#fff;
    box-shadow:0 16px 30px rgba(47,107,83,0.25);
}

.btn-primary:hover{
    background:var(--accent-dark);
    transform:translateY(-2px);
}

.btn-secondary{
    background:#fff;
    color:var(--accent-dark);
    border:1px solid var(--line);
}

.btn-secondary:hover{
    border-color:#b5c8bd;
    transform:translateY(-2px);
}

.hero{
    padding:72px 0 36px;
}

.hero-grid{
    display:grid;
    grid-template-columns:1.12fr 0.88fr;
    gap:34px;
    align-items:center;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 16px;
    background:rgba(47,107,83,0.08);
    color:var(--accent-dark);
    border-radius:999px;
    font-weight:700;
    font-size:13px;
    margin-bottom:18px;
}

h1{
    font-size:clamp(40px,6vw,68px);
    line-height:0.98;
    letter-spacing:-0.05em;
    margin-bottom:18px;
}

.hero p.lead{
    font-size:19px;
    color:var(--muted);
    max-width:700px;
    margin-bottom:26px;
}

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

.hero-points{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.chip{
    padding:10px 14px;
    border-radius:999px;
    background:#fff;
    border:1px solid var(--line);
    color:var(--text);
    font-size:14px;
    font-weight:600;
}

.hero-card{
    position:relative;
    background:linear-gradient(160deg,#ffffff 0%, #edf4ef 100%);
    border:1px solid rgba(47,107,83,0.08);
    border-radius:32px;
    box-shadow:var(--shadow);
    overflow:hidden;
    min-height:480px;
}

.hero-visual{
    position:absolute;
    inset:0;
    background:
            radial-gradient(circle at 20% 20%, rgba(110,160,137,0.26), transparent 28%),
            radial-gradient(circle at 80% 18%, rgba(47,107,83,0.18), transparent 24%),
            linear-gradient(180deg, rgba(255,255,255,0.25) 0%, rgba(255,255,255,0.05) 100%);
}

.molecule{
    position:absolute;
    border:1px solid rgba(47,107,83,0.12);
    border-radius:50%;
}

.m1{width:220px;height:220px;top:36px;right:34px;}
.m2{width:90px;height:90px;top:90px;left:34px;}
.m3{width:140px;height:140px;bottom:120px;right:80px;}
.m4{width:50px;height:50px;bottom:190px;left:80px;}

.bottle-wrap{
    position:absolute;
    inset:auto 0 0 0;
    padding:34px;
}

.bottle-wrap-img{
    overflow: hidden;
}

.bottle-wrap-img img{
    width: 280px;
    margin: 0 auto;
}

.bottle-panel{
    display:grid;
    grid-template-columns:1fr 190px;
    gap:18px;
    align-items:end;
}

.glass-card{
    background:rgba(255,255,255,0.72);
    border:1px solid rgba(255,255,255,0.75);
    box-shadow:0 16px 40px rgba(25,55,42,0.10);
    border-radius:26px;
    padding:26px;
    backdrop-filter:blur(10px);
}

.glass-card h3{
    font-size:22px;
    line-height:1.15;
    letter-spacing:-0.03em;
    margin-bottom:10px;
}

.glass-card p{
    color:var(--muted);
    font-size:15px;
}

.bottle{
    position:relative;
    width:170px;
    height:340px;
    margin-left:auto;
    filter:drop-shadow(0 24px 30px rgba(30,60,45,0.22));
}

.cap{
    width:86px;
    height:70px;
    background:linear-gradient(180deg,#2a3a33 0%, #151f1a 100%);
    border-radius:18px 18px 12px 12px;
    margin:0 auto;
}

.dropper-neck{
    width:26px;
    height:34px;
    background:#25322c;
    margin:0 auto;
    border-radius:0 0 10px 10px;
}

.bottle-body{
    width:170px;
    height:236px;
    margin:0 auto;
    background:linear-gradient(180deg,#a96a35 0%, #7d4720 42%, #5d3216 100%);
    border-radius:36px 36px 28px 28px;
    border:1px solid rgba(255,255,255,0.18);
    padding:20px 16px;
    position:relative;
    overflow:hidden;
}

.bottle-body:before{
    content:"";
    position:absolute;
    top:0;
    left:18px;
    width:24px;
    height:100%;
    background:linear-gradient(180deg, rgba(255,255,255,0.55), rgba(255,255,255,0.05));
    opacity:0.45;
    transform:skewX(-10deg);
}

.label{
    position:relative;
    margin-top:14px;
    background:#f5f6f2;
    border-radius:20px;
    padding:18px 14px;
    text-align:center;
    min-height:140px;
}

.label small{
    display:block;
    font-size:11px;
    color:#6c756f;
    letter-spacing:0.1em;
    text-transform:uppercase;
    margin-bottom:6px;
    font-weight:700;
}

.label strong{
    display:block;
    font-size:24px;
    line-height:1;
    color:#1f352b;
    margin-bottom:8px;
    letter-spacing:-0.04em;
}

.label span{
    display:block;
    color:#55685f;
    font-size:12px;
    font-weight:600;
}

.stats{
    padding:26px 0 18px;
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.stat{
    background:#fff;
    border:1px solid var(--line);
    border-radius:24px;
    padding:24px;
    box-shadow:0 10px 30px rgba(25,55,42,0.05);
}

.stat strong{
    display:block;
    font-size:30px;
    letter-spacing:-0.04em;
    margin-bottom:6px;
}

.stat p{
    color:var(--muted);
    font-size:14px;
}

section{
    padding:72px 0;
}

.section-head-info{
    max-width:100% !important;
    margin-top: 34px;
}

.section-head{
    max-width:760px;
    margin-bottom:34px;
}

.section-head .kicker{
    color:var(--accent);
    font-size:13px;
    font-weight:800;
    letter-spacing:0.12em;
    text-transform:uppercase;
    margin-bottom:12px;
}

.section-head h2{
    font-size:clamp(32px,4.8vw,50px);
    line-height:1.02;
    letter-spacing:-0.05em;
    margin-bottom:14px;
}

.section-head p{
    color:var(--muted);
    font-size:18px;
}

.grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:26px;
}

.card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:28px;
    box-shadow:0 10px 28px rgba(25,55,42,0.05);
}

.card h3{
    font-size:24px;
    line-height:1.12;
    letter-spacing:-0.04em;
    margin-bottom:12px;
}

.card p{
    color:var(--muted);
    font-size:16px;
}

.split{
    display:grid;
    grid-template-columns:0.95fr 1.05fr;
    gap:26px;
    align-items:stretch;
}

.science-visual{
    background:linear-gradient(160deg,#e8f0eb 0%, #f9fcfa 100%);
    border:1px solid var(--line);
    border-radius:30px;
    box-shadow:var(--shadow);
    position:relative;
    overflow:hidden;
    min-height:520px;
    padding:28px;
}

.science-circle{
    position:absolute;
    border-radius:50%;
    border:1px solid rgba(47,107,83,0.12);
    background:radial-gradient(circle at 30% 30%, rgba(47,107,83,0.10), rgba(255,255,255,0.08));
}

.s1{width:250px;height:250px;top:20px;left:20px;}
.s2{width:150px;height:150px;bottom:48px;right:28px;}
.s3{width:90px;height:90px;top:84px;right:84px;}

.science-box{
    position:absolute;
    right:26px;
    left:26px;
    bottom:26px;
    background:rgba(255,255,255,0.82);
    border:1px solid rgba(255,255,255,0.72);
    border-radius:24px;
    padding:24px;
    backdrop-filter:blur(8px);
}

.science-box h4{
    font-size:22px;
    margin-bottom:8px;
    letter-spacing:-0.03em;
}

.science-box p{
    color:var(--muted);
    font-size:15px;
}

.benefits{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:28px;
}

.benefits.order-now{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:28px;
}

.benefit{
    background:#fff;
    border:1px solid var(--line);
    border-radius:22px;
    padding:24px;
}

.benefit .icon{
    width:48px;
    height:48px;
    border-radius:14px;
    background:rgba(47,107,83,0.10);
    display:grid;
    place-items:center;
    color:var(--accent);
    font-weight:800;
    margin-bottom:16px;
}

.benefit h3{
    font-size:20px;
    letter-spacing:-0.03em;
    margin-bottom:10px;
}

.benefit p{
    color:var(--muted);
    font-size:15px;
}

.order-now .benefit{
    text-align: center;
}

.content-img{
    overflow: hidden;
    margin-bottom: 26px;
}

.text-center{
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.routine{
    background:#173126;
    color:#fff;
}

.routine .section-head p{
    color:rgba(255,255,255,0.78);
}

.steps{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.step{
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.10);
    border-radius:24px;
    padding:24px;
    min-height:230px;
}

.step-number{
    width:44px;
    height:44px;
    border-radius:50%;
    background:#fff;
    color:var(--accent-dark);
    display:grid;
    place-items:center;
    font-weight:800;
    margin-bottom:16px;
}

.step h3{
    font-size:21px;
    line-height:1.1;
    margin-bottom:10px;
    letter-spacing:-0.03em;
}

.step p{
    color:rgba(255,255,255,0.78);
    font-size:15px;
}

.quote-band{
    margin-top:30px;
    padding:28px 30px;
    border-radius:26px;
    background:linear-gradient(90deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04));
    border:1px solid rgba(255,255,255,0.10);
}

.quote-band p{
    font-size:22px;
    line-height:1.35;
    letter-spacing:-0.03em;
    max-width:900px;
}

.audience{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:18px;
}

.audience .card{
    min-height:250px;
}

.audience .label-top{
    display:inline-block;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(47,107,83,0.08);
    color:var(--accent-dark);
    font-size:12px;
    font-weight:800;
    letter-spacing:0.08em;
    text-transform:uppercase;
    margin-bottom:16px;
}

.faq-wrap{
    display:grid;
    grid-template-columns:0.82fr 1.18fr;
    gap:26px;
    align-items:start;
}

.faq-list{
    display:grid;
    gap:14px;
}

details{
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:18px 20px;
}

summary{
    list-style:none;
    cursor:pointer;
    font-weight:700;
    font-size:17px;
    padding-right:28px;
    position:relative;
}

summary::-webkit-details-marker{
    display:none;
}

summary:after{
    content:"+";
    position:absolute;
    right:0;
    top:0;
    color:var(--accent);
    font-size:22px;
    line-height:1;
}

details[open] summary:after{
    content:"–";
}

details p{
    margin-top:12px;
    color:var(--muted);
    font-size:15px;
}

.cta{
    padding-bottom:90px;
}

.cta-box{
    background:linear-gradient(135deg,#173126 0%, #2b5c47 100%);
    color:#fff;
    border-radius:34px;
    padding:48px;
    position:relative;
    overflow:hidden;
    box-shadow:0 24px 60px rgba(25,55,42,0.18);
}

.cta-box:before,
.cta-box:after{
    content:"";
    position:absolute;
    border-radius:50%;
    background:rgba(255,255,255,0.08);
}

.cta-box:before{
    width:300px;
    height:300px;
    top:-90px;
    right:-60px;
}

.cta-box:after{
    width:180px;
    height:180px;
    left:-40px;
    bottom:-50px;
}

.cta-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:24px;
    align-items:center;
}

.cta-box h2{
    font-size:clamp(32px,5vw,54px);
    line-height:1.02;
    letter-spacing:-0.05em;
    margin-bottom:14px;
}

.cta-box p{
    color:rgba(255,255,255,0.82);
    font-size:18px;
    max-width:650px;
}

.cta-actions{
    display:flex;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:14px;
}

.cta .btn-primary{
    background:#fff;
    color:var(--accent-dark);
    box-shadow:none;
}

.cta .btn-primary:hover{
    background:#f3f7f4;
}

.cta .btn-secondary{
    background:transparent;
    color:#fff;
    border-color:rgba(255,255,255,0.24);
}

.group-order{
    display: block;
}

.group-order .link-phone{
    margin-right: 10px;
}

table {
    border-collapse: collapse;
}

.table {
    width: 100%;
    margin-bottom: 1rem;
    color: #212529;
}

.table-responsive img{
    display: inline-block;
}

.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table-responsive>.table-bordered {
    border: 0;
}

.table td, .table th {
    padding: .75rem;
    vertical-align: top;
    border-top: 1px solid #dee2e6;
}

.table-bordered td, .table-bordered th {
    border: 1px solid #dee2e6;
}

.table-bordered thead td, .table-bordered thead th {
    border-bottom-width: 2px;
}

.input-group {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: stretch;
    align-items: stretch;
    width: 100%;
}

button, input, optgroup, select, textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

.form-control {
    display: block;
    width: 100%;
    height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.input-group>.custom-file, .input-group>.custom-select, .input-group>.form-control, .input-group>.form-control-plaintext {
    position: relative;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    margin-bottom: 0;
}

.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label, .input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after, .input-group:not(.has-validation)>.custom-select:not(:last-child), .input-group:not(.has-validation)>.form-control:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.border-0 {
    border: 0 !important;
}

.btn.btn_update_cart {
    display: inline-block;
    font-weight: 400;
    color: #ffffff;
    text-align: center;
    align-items: normal;
    vertical-align: top;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: .25rem;
    min-height: auto;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.btn.btn_delete_cart {
    display: inline-block;
    font-weight: 400;
    color: var(--accent-dark);
    text-align: center;
    align-items: normal;
    vertical-align: top;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid var(--line);
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: .25rem;
    min-height: auto;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

fieldset {
    padding: 10px;
    border: 1px solid var(--line);
}

.form-group {
    margin-bottom: 1rem;
    text-align: left;
}

label {
    display: inline-block;
    margin-bottom: .5rem;
}

.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: 0;
    margin-left: 0;
}

.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.input-group-append, .input-group-prepend {
    display: -ms-flexbox;
    display: flex;
}

.input-group-append {
    margin-left: -1px;
}

.input-group-text {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    padding: .375rem .75rem;
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    text-align: center;
    white-space: nowrap;
    background-color: #e9ecef;
    border: 1px solid #ced4da;
    border-radius: .25rem;
}

.credit-card-box img{
    display: inline-block;
}

.buttons{
    margin-top: 20px;
}

.buttons .pull-right button{
    border: transparent;
}

.footer{
    padding:28px 0 50px;
    color:var(--muted);
    font-size:14px;
}

.footer-inner{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
    border-top:1px solid var(--line);
    padding-top:20px;
    flex-wrap:wrap;
}

.footer-links{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
}

@media (max-width: 1080px){
    .hero-grid,
    .split,
    .faq-wrap,
    .cta-grid{
        grid-template-columns:1fr;
    }

    .stats-grid,
    .benefits,
    .steps,
    .audience{
        grid-template-columns:repeat(2,1fr);
    }

    .cta-actions{
        justify-content:flex-start;
    }

    .hero-card{
        min-height:570px;
    }
}

@media (max-width: 760px){
    .nav{
        flex-wrap:wrap;
        justify-content:center;
    }

    .nav-links{
        justify-content:center;
        flex-wrap:wrap;
    }

    .hero{
        padding-top:42px;
    }

    h1{
        font-size:42px;
    }

    .hero p.lead,
    .section-head p,
    .cta-box p{
        font-size:16px;
    }

    .stats-grid,
    .grid-2,
    .benefits,
    .steps,
    .benefits.order-now,
    .audience{
        grid-template-columns:1fr;
    }

    .hero-card{
        min-height:530px;
    }

    .bottle-panel{
        grid-template-columns:1fr;
    }

    .bottle{
        margin:0 auto;
    }

    .cta-box{
        padding:34px 24px;
    }

    .science-visual {
        min-height: 760px;
    }

}

@media (min-width: 768px) {
    .col-md-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-md-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }

    .col-md-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }
}