 /* ==================================================
   01 RESET
================================================== */

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



/* ==================================================
   02 VARIABLES
================================================== */

:root{
    --navy-dark:#071b3d;
    --navy-medium:#12315a;
    --navy-text:#142842;

    --gold:#F3D67A;
    --gold-dark:#a9812f;
    --gold-light:#e6cb83;

    --cream:#f4eee3;
    --cream-light:#fbf8f2;
    --pearl:#fffdf9;
    --sand:#e8dece;

    --medical-blue:#e8f1f4;
    --medical-blue-strong:#d6e7eb;

    --text:#26394e;
    --text-soft:#5b6875;

    --white:#ffffff;

    --light-border:rgba(179,142,63,.28);
    --light-shadow:0 18px 45px rgba(31,47,65,.11);
}



/* ==================================================
   03 BASE
================================================== */

html{
    width:100%;
    min-height:100%;
    scroll-behavior:smooth;
}

body{
    width:100%;
    min-height:100%;
    overflow-x:hidden;
    color:#ffffff;
    font-family: "Inter", Arial, sans-serif;
    background:var(--navy-dark);
}

button,
a{
    -webkit-tap-highlight-color:transparent;
}

.lang-control:focus-visible,
.boost-button:focus-visible,
.contact-email:focus-visible,
.footer-link:focus-visible{
    outline:2px solid var(--gold-light);
    outline-offset:5px;
}

/* ==================================================
   04 HERO / HEADER
================================================== */

.hero{
    position:relative;
    min-height:auto;
    overflow:hidden;

    color:var(--navy-text);

    background:#f5eee2;
}

.hero::before{
    content:"";

    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:165px;

    background:#051734;

    z-index:0;
}

.hero > *{
    position:relative;
    z-index:2;
}

.topbar{
    width:100%;

    display:flex;
    justify-content:space-between;
    align-items:flex-start;

    gap:32px;

    padding:10px 42px 0 92px;
}

.logo-link{
    display:block;
    line-height:0;
    text-decoration:none;
}

.logo{
    width:440px;
    height:auto;

    display:block;

    margin-top:4px;
    margin-left:0;
}

.header-actions{
    display:contents;
}


/* ==================================================
   05 MAIN NAVIGATION
================================================== */

.main-navigation{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:52px;

    margin-top:42px;
}

.main-navigation a{
    position:relative;

    display:inline-block;

    padding:8px 0;

    color:#F3D67A;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:27px;
    font-weight:600;
    line-height:1.1;
    letter-spacing:0;

    text-decoration:none;

    transition:
        color .22s ease,
        opacity .22s ease;
}

.main-navigation a::after{
    content:"";

    position:absolute;

    left:0;
    bottom:0;

    width:100%;
    height:2px;

    border-radius:999px;

    background:var(--gold);

    transform:scaleX(0);
    transform-origin:center;

    transition:transform .22s ease;
}

.main-navigation a:hover{
    color:#ffffff;
}

.main-navigation a:hover::after{
    transform:scaleX(1);
}

.back-home{
    margin-top:52px;
    margin-right:20px;

    color:#D4AF37;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:16px;
    font-weight:600;
    line-height:1.15;

    text-decoration:none;
}


/* ==================================================
   06 LANGUAGE SWITCH
================================================== */

.lang-buttons{
    display:flex;
    align-items:center;

    gap:0;

    margin-top:24px;
}

.lang-control{
    display:block;

    border:0;
    padding:0;

    background:transparent;

    cursor:pointer;

    opacity:.55;

    transform:scale(.94);

    transition:
        opacity .2s ease,
        transform .2s ease,
        filter .2s ease;
}

.lang-control + .lang-control{
    margin-left:-18px;
}

.lang-control:hover,
.lang-control:focus-visible,
.lang-control.is-active{
    opacity:1;

    transform:scale(1);

    filter:
        drop-shadow(
            0 7px 17px rgba(212,175,55,.34)
        );
}

.lang-btn{
    width:128px;
    height:auto;

    display:block;
}


/* ==================================================
   06 HERO CONTENT
================================================== */

.hero-main{
    width:100%;
    max-width:1440px;

    margin:0 auto;

    padding:0 60px 30px;

    display:block;

    position:relative;
}

.hero-content{
    width:100%;
    max-width:1380px;

    margin:0 auto;
    padding:0;

    text-align:center;

    transform:none;
}

.hero-kicker{
    display:block;

    margin-top:42px;
    margin-bottom:14px;

    color:#a87312;

    font-size:18px;
    font-weight:600;
    line-height:1.35;
    letter-spacing:.28em;

    text-align:center;
    text-transform:uppercase;
}

.hero-content h1{
    max-width:1380px;

    margin:0 auto 20px;

    color:var(--navy-text);

    font-size:clamp(48px,4.2vw,72px);
    line-height:1.04;
    font-weight:700;
    letter-spacing:-.035em;

    text-align:center;

    text-shadow:none;
}

.hero-content p{
    max-width:1240px;

    margin:0 auto 14px;

    color:#344154;

    font-size:20px;
    line-height:1.48;
    font-weight:500;

    text-align:center;
}

.symptoms-intro{
    margin:18px auto 10px !important;

    color:#a87312 !important;

    font-size:23px !important;
    font-weight:500 !important;
    font-style:normal !important;
    line-height:1.35 !important;

    text-align:center;
}

.hero-topics{
    margin:8px auto 0;

    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;

    gap:12px 34px;
}

.topic-item{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:8px;

    color:#344154;

    font-size:17px;
    font-weight:600;
    letter-spacing:.02em;
}

.topic-item img{
    width:24px;
    height:24px;

    display:block;
}

.hero-message{
    margin-top:20px;

    max-width:900px;
}

.message-title{
    display:block;

    margin:-10px 0 0;

    color:#c28a18 !important;

    font-size:19px;
    font-weight:300;
    font-style:italic;
    line-height:1.5;
}

.hero-message p{
    margin:0;
    padding-top:12px;

    color:#344154;

    font-size:18px;
    font-weight:400;
    line-height:1.7;
}


/* ==================================================
   06 HERO IMAGE
================================================== */


/* ==================================================
   07 HERO CTA
================================================== */

.boost-button{
    width:clamp(235px,18vw,290px);
    max-width:100%;

    display:inline-block;

    line-height:0;

    border-radius:999px;

    transition:
        transform .2s ease,
        filter .2s ease;
}

.boost-button img{
    width:100%;
    height:auto;

    display:block;

    object-fit:contain;
}

.boost-button:hover{
    transform:
        translateY(-4px)
        scale(1.01);

    filter:
        drop-shadow(
            0 14px 28px rgba(212,175,55,.28)
        );
}


/* ==================================================
   08 MAIN CONTENT
================================================== */

.main-content{
    position:relative;
    z-index:2;

    color:var(--text);

    background:#f5eee2;

    box-shadow:none;
}

.light-section{
    width:100%;

    padding:64px 24px 70px;
}

.content-container{
    width:min(1180px,100%);

    margin:0 auto;
}


/* ==================================================
   09 COMMON HEADINGS
================================================== */

.section-kicker{
    display:block;

    margin:0 auto 24px;

    color:#b88928;

    font-size:14px;
    font-weight:700;

    line-height:1.35;

    letter-spacing:.32em;

    text-transform:uppercase;

    text-align:center;
}

.partner-offers-section .section-badge{
    display:block;

    margin:0 auto 12px;

    color:#a87312;

    font-size:17px;
    font-weight:700;
    line-height:1.35;
    letter-spacing:.32em;

    text-align:center;
    text-transform:uppercase;
}

.section-heading,
.center-heading{
    max-width:980px;

    margin:0 auto 22px;

    text-align:center;
}

.section-heading h2,
.center-heading h2{
    max-width:980px;

    margin:0 auto;

    color:var(--navy-text);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:clamp(38px,3.8vw,58px);

    font-weight:600;

    line-height:1.10;
}

.heading-description{
    max-width:860px;

    margin:20px auto 0;

    color:var(--text);

    font-size:18px;

    line-height:1.55;
}


/* ==================================================
   10 MEDICAL INFORMATION
================================================== */

.medical-about-section{
    padding-top:46px;
    padding-bottom:52px;

    background:
        linear-gradient(
            180deg,
            #efe6d8 0%,
            #faf7f1 100%
        );
}

.medical-about-grid{
    max-width:1180px;

    margin:0 auto;
}

.medical-about-text{
    max-width:860px;

    margin:0 auto;
}

.medical-about-text p{
    margin:0;

    color:var(--text);

    font-size:18px;

    line-height:1.58;
}

.medical-about-text p + p{
    margin-top:16px;
}


/* ==================================================
   11 HOW VESTRODIRECT HELPS
================================================== */

.vestro-help-section{
    padding-top:52px;
    padding-bottom:58px;

    background:
        linear-gradient(
            180deg,
            #efe6d8 0%,
            #faf7f1 100%
        );
}

.vestro-help-text{
    max-width:860px;

    margin:0 auto;
}

.vestro-help-text p{
    margin:0;

    color:var(--text);

    font-size:18px;

    line-height:1.58;
}

.vestro-help-text p + p{
    margin-top:16px;
}

.services-section{
    padding-top:52px;
    padding-bottom:64px;

    background:
        linear-gradient(
            180deg,
            #efe6d8 0%,
            #faf7f1 100%
        );
}


/* ==================================================
   12 TRUST CARDS
================================================== */

.medical-card-grid{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:16px;

    margin-top:24px;
}

.medical-card{
    min-height:190px;

    padding:20px 18px 18px;

    border:1px solid rgba(199,161,75,.30);

    border-radius:22px;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #fbf6e9 100%
        );

    box-shadow:
        0 12px 26px rgba(36,54,73,.07);

    text-align:center;

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.medical-card:nth-child(2),
.medical-card:nth-child(3){
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            var(--medical-blue) 100%
        );
}

.medical-card:hover{
    transform:translateY(-4px);

    border-color:rgba(169,129,47,.58);

    box-shadow:
        0 17px 34px rgba(36,54,73,.12);
}

.medical-icon-box{
    width:82px;
    height:82px;

    display:flex;
    justify-content:center;
    align-items:center;

    margin:0 auto 12px;

    border:1px solid rgba(199,161,75,.30);

    border-radius:50%;

    background:rgba(255,255,255,.62);
}

.medical-icon{
    width:64px;
    height:64px;

    display:block;

    object-fit:contain;
}

.medical-card h3{
    color:var(--navy-text);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:20px;

    font-weight:600;

    line-height:1.18;
}

.medical-card p{
    margin-top:6px;

    color:var(--text);

    font-size:15px;

    line-height:1.48;
}
/* ==============================
   PARTNER OFFERS
============================== */

.partner-offers-section{
    padding:8px 24px 64px;
    background:#f5eee2;
}
.partner-offers-section .content-container{
    max-width:1180px;
    margin:0 auto;
}

.partner-offers-section .section-heading{
    text-align:center;
    max-width:860px;
    margin:0 auto;
}

.partner-offers-section .section-badge{
    display:block;

    margin:0 auto 14px;

    color:#a87312;

    font-size:18px;
    font-weight:600;
    line-height:1.35;

    letter-spacing:.28em;

    text-transform:uppercase;

    text-align:center;
}

.partner-offers-section .section-heading h2{
    margin:0;
    color:#071a33;
    font-family:"Times New Roman",serif;
    font-size:52px;
    font-weight:700;
    line-height:1.05;
}

.partner-offers-section .section-heading p{
    max-width:760px;
    margin:22px auto 0;
    color:#111827;
    font-size:18px;
    line-height:1.55;
}

.partner-offers-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
    margin-top:36px;
    align-items:start;
}

/* ==============================
   MYSTIM CARD
============================== */

.partner-offer-card-mystim{
    min-height:560px;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(196,161,75,.56);
    border-radius:24px;
    background:
    radial-gradient(circle at 50% 18%, rgba(255,235,244,.68), transparent 42%),
    radial-gradient(circle at 18% 76%, rgba(236,196,214,.10), transparent 30%),
    radial-gradient(circle at 82% 82%, rgba(236,196,214,.09), transparent 28%),
    linear-gradient(180deg,#fffafd 0%, #fff7fb 52%, #fff3f8 100%);
    box-shadow:
        0 22px 48px rgba(36,54,73,.14),
        inset 0 1px 0 rgba(255,255,255,.95);
    transition:.25s ease;
    display:flex;
    flex-direction:column;
}

.partner-offer-card-mystim:hover{
    transform:translateY(-4px);
    border-color:#c49a2c;
    box-shadow:
        0 28px 58px rgba(36,54,73,.18),
        0 4px 14px rgba(196,161,75,.12);
}

.mystim-logo-header{
    height:96px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.18), transparent 42%),
        linear-gradient(180deg,#151515 0%,#2a2025 100%);
    border-radius:24px 24px 0 0;
    border-bottom:3px solid rgba(196,161,75,.75);
}

.mystim-logo{
    width:auto;
    height:auto;
    max-width:150px;
    max-height:54px;
    object-fit:contain;
    display:block;
}

/* ==============================
   ORION CARD
============================== */

.partner-offer-card-orion{
    min-height:560px;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(196,161,75,.56);
    border-radius:24px;
    background:
        radial-gradient(circle at 50% 18%, rgba(210,238,255,.65), transparent 42%),
        radial-gradient(circle at 18% 78%, rgba(120,185,230,.13), transparent 30%),
        radial-gradient(circle at 82% 82%, rgba(120,185,230,.10), transparent 28%),
        linear-gradient(180deg,#ffffff 0%,#f6fcff 52%,#eaf7ff 100%);
    box-shadow:
        0 22px 48px rgba(36,54,73,.14),
        inset 0 1px 0 rgba(255,255,255,.95);
    transition:.25s ease;
    display:flex;
    flex-direction:column;
}

.partner-offer-card-orion:hover{
    transform:translateY(-4px);
    border-color:#c49a2c;
    box-shadow:
        0 28px 58px rgba(36,54,73,.18),
        0 4px 14px rgba(196,161,75,.12);
}

.orion-logo-header{
    height:96px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    background:
        radial-gradient(circle at 50% 18%, rgba(210,238,255,.65), transparent 42%),
        linear-gradient(180deg,#ffffff 0%,#f6fcff 52%,#eaf7ff 100%);
    border-radius:24px 24px 0 0;
    border-bottom:3px solid #d40046;
}

.orion-logo{
    max-width:132px;
    max-height:46px;
    object-fit:contain;
    display:block;
}

.orion-claim{
    max-width:98px;
    max-height:42px;
    object-fit:contain;
    display:block;
    margin-left:12px;
}

/* ==============================
   CARD BODY COMMON, SCOPED ONLY
============================== */

.partner-offer-card-mystim .partner-card-body,
.partner-offer-card-orion .partner-card-body{
    padding:22px 24px 18px;
    text-align:center;
    display:flex;
    flex-direction:column;
    flex:1;
}

.partner-offer-card-mystim .partner-card-text,
.partner-offer-card-orion .partner-card-text{
    max-width:460px;
    margin:0 auto 14px;
    color:#16233b;
    font-size:16px;
    font-weight:700;
    line-height:1.55;
}

.partner-offer-card-mystim .partner-divider,
.partner-offer-card-orion .partner-divider{
    display:flex;
    align-items:center;
    justify-content:center;
    margin:4px 0 14px;
}

.partner-offer-card-mystim .partner-divider::before,
.partner-offer-card-mystim .partner-divider::after,
.partner-offer-card-orion .partner-divider::before,
.partner-offer-card-orion .partner-divider::after{
    content:"";
    flex:1;
    height:1px;
    background:rgba(196,161,75,.42);
}

.partner-offer-card-mystim .partner-divider img,
.partner-offer-card-orion .partner-divider img{

    width:22px;
    height:auto;

    display:block;

    margin:0 10px;

    filter:drop-shadow(0 1px 2px rgba(212,175,55,.25));

}
.partner-offer-card-mystim .partner-benefits,
.partner-offer-card-orion .partner-benefits{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    list-style:none;
    padding:0;
    margin:0 0 22px;
}

.partner-offer-card-mystim .partner-benefits li,
.partner-offer-card-orion .partner-benefits li{
    position:relative;
    list-style:none;
    padding:42px 8px 0;
    margin:0;
    color:#050505;
    font-family:"Times New Roman",serif;
    font-size:13px;
    font-weight:700;
    line-height:1.12;
    text-align:center;
}

.partner-offer-card-mystim .partner-benefits li:not(:last-child),
.partner-offer-card-orion .partner-benefits li:not(:last-child){
    border-right:1px dotted rgba(196,161,75,.45);
}

.partner-offer-card-mystim .partner-benefits li::before,
.partner-offer-card-orion .partner-benefits li::before{
    content:"✓";
    position:absolute;
    left:50%;
    top:0;
    transform:translateX(-50%);
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1.5px solid #c49a2c;
    border-radius:50%;
    background:#fff;
    color:#b88716;
    font-family:Arial,sans-serif;
    font-size:18px;
    font-weight:800;
}

.partner-offer-card-mystim .partner-trust-line,
.partner-offer-card-orion .partner-trust-line{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:18px 0 18px;
    color:#b88716;
    font-size:14px;
    font-weight:600;
}

.partner-offer-card-mystim .partner-trust-line::before,
.partner-offer-card-mystim .partner-trust-line::after,
.partner-offer-card-orion .partner-trust-line::before,
.partner-offer-card-orion .partner-trust-line::after{
    content:"";
    flex:1;
    border-top:1px dotted rgba(196,161,75,.48);
}

.partner-offer-card-mystim .partner-trust-line span:not(:last-child)::after,
.partner-offer-card-orion .partner-trust-line span:not(:last-child)::after{
    content:"·";
    margin-left:8px;
}

.partner-offer-card-mystim .partner-links-title,
.partner-offer-card-orion .partner-links-title{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin:0 0 24px;
    color:#b88716;
    font-family:"Times New Roman",serif;
    font-size:18px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:0;
    text-transform:none;
}

.partner-offer-card-mystim .partner-links-title::before,
.partner-offer-card-mystim .partner-links-title::after,
.partner-offer-card-orion .partner-links-title::before,
.partner-offer-card-orion .partner-links-title::after{
    content:"";
    width:86px;
    border-top:1px dotted rgba(196,161,75,.45);
}

.mystim-links,
.orion-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:10px;
    max-width:100%;
    margin:0 auto;
}

.mystim-links a,
.orion-links a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 10px;
    border:1px solid rgba(196,161,75,.65);
    border-radius:999px;
    background:#ffffff;
    color:#050b14;
    font-size:12.5px;
    font-weight:700;
    line-height:1.15;
    text-decoration:none;
    transition:.2s ease;
    white-space:nowrap;
}

.mystim-links a:hover,
.orion-links a:hover{
    transform:translateY(-2px);
    background:#ffffff;
    border-color:#c49a2c;
}

.mystim-button,
.orion-button{
    display:flex;
    justify-content:center;
    margin-top:auto;
    padding:28px 0 26px;
    background:none;
    border:none;
    box-shadow:none;
    text-decoration:none;
}

.mystim-button::before,
.mystim-button::after,
.orion-button::before,
.orion-button::after{
    content:"";
    width:92px;
    align-self:center;
    border-top:1px dotted rgba(196,161,75,.45);
    margin:0 16px;
}

.mystim-button img,
.orion-button img{
    width:155px;
    height:auto;
    display:block;
    background:#ffffff;
    border-radius:999px;
    transition:.25s ease;
}

.mystim-button:hover img,
.orion-button:hover img{
    transform:translateY(-2px) scale(1.03);
}
/* ==============================
   TENGA CARD
============================== */

.partner-offer-card-tenga{
    min-height:560px;
    padding:0;
    overflow:hidden;

    border:1px solid rgba(196,161,75,.56);
    border-radius:24px;

    background:
        radial-gradient(
            circle at 50% 18%,
            rgba(255,232,232,.72),
            transparent 42%
        ),
        radial-gradient(
            circle at 18% 78%,
            rgba(218,30,40,.08),
            transparent 30%
        ),
        radial-gradient(
            circle at 82% 82%,
            rgba(218,30,40,.07),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fffafa 52%,
            #fff3f3 100%
        );

    box-shadow:
        0 22px 48px rgba(36,54,73,.14),
        inset 0 1px 0 rgba(255,255,255,.95);

    transition:.25s ease;

    display:flex;
    flex-direction:column;
}

.partner-offer-card-tenga:hover{
    transform:translateY(-4px);

    border-color:#c49a2c;

    box-shadow:
        0 28px 58px rgba(36,54,73,.18),
        0 4px 14px rgba(196,161,75,.12);
}

.tenga-logo-header{
    height:96px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(255,255,255,.92),
            transparent 55%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fff7f7 100%
        );

    border-radius:24px 24px 0 0;
    border-bottom:3px solid #d71920;
}

.tenga-logo{
    width:auto;
    height:auto;

    max-width:150px;
    max-height:58px;

    object-fit:contain;
    display:block;
}

/* ==============================
   TENGA BODY
============================== */

.partner-offer-card-tenga .partner-card-body{
    padding:22px 24px 18px;

    text-align:center;

    display:flex;
    flex-direction:column;
    flex:1;
}

.partner-offer-card-tenga .partner-card-text{
    max-width:460px;
    margin:0 auto 14px;

    color:#16233b;

    font-size:16px;
    font-weight:700;
    line-height:1.55;
}

.partner-offer-card-tenga .partner-divider{
    display:flex;
    align-items:center;
    justify-content:center;

    margin:4px 0 14px;
}

.partner-offer-card-tenga .partner-divider::before,
.partner-offer-card-tenga .partner-divider::after{
    content:"";

    flex:1;
    height:1px;

    background:rgba(196,161,75,.42);
}

.partner-offer-card-tenga .partner-divider img{
    width:22px;
    height:auto;

    display:block;

    margin:0 10px;

    filter:drop-shadow(
        0 1px 2px rgba(212,175,55,.25)
    );
}

.partner-offer-card-tenga .partner-benefits{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;

    list-style:none;

    padding:0;
    margin:0 0 22px;
}

.partner-offer-card-tenga .partner-benefits li{
    position:relative;

    list-style:none;

    padding:42px 8px 0;
    margin:0;

    color:#050505;

    font-family:"Times New Roman",serif;
    font-size:13px;
    font-weight:700;
    line-height:1.12;

    text-align:center;
}

.partner-offer-card-tenga .partner-benefits li:not(:last-child){
    border-right:1px dotted rgba(196,161,75,.45);
}

.partner-offer-card-tenga .partner-benefits li::before{
    content:"✓";

    position:absolute;
    left:50%;
    top:0;

    transform:translateX(-50%);

    width:32px;
    height:32px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1.5px solid #c49a2c;
    border-radius:50%;

    background:#ffffff;
    color:#b88716;

    font-family:Arial,sans-serif;
    font-size:18px;
    font-weight:800;
}

.partner-offer-card-tenga .partner-trust-line{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:10px;
    margin:18px 0;

    color:#b88716;

    font-size:14px;
    font-weight:600;
}

.partner-offer-card-tenga .partner-trust-line::before,
.partner-offer-card-tenga .partner-trust-line::after{
    content:"";

    flex:1;

    border-top:1px dotted rgba(196,161,75,.48);
}

.partner-offer-card-tenga
.partner-trust-line span:not(:last-child)::after{
    content:"·";
    margin-left:8px;
}

.partner-offer-card-tenga .partner-links-title{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:14px;
    margin:0 0 24px;

    color:#b88716;

    font-family:"Times New Roman",serif;
    font-size:18px;
    font-weight:700;
    line-height:1.2;
}

.partner-offer-card-tenga .partner-links-title::before,
.partner-offer-card-tenga .partner-links-title::after{
    content:"";

    width:86px;

    border-top:1px dotted rgba(196,161,75,.45);
}

.partner-category-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;

    gap:10px;

    max-width:100%;
    margin:0 auto;
}

.partner-category-links a{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:7px 10px;

    border:1px solid rgba(196,161,75,.65);
    border-radius:999px;

    background:#ffffff;
    color:#050b14;

    font-size:12.5px;
    font-weight:700;
    line-height:1.15;

    text-decoration:none;
    white-space:nowrap;

    transition:.2s ease;
}

.partner-category-links a:hover{
    transform:translateY(-2px);

    background:#ffffff;
    border-color:#c49a2c;
}

.partner-main-button{
    display:flex;
    justify-content:center;

    margin-top:auto;
    padding:28px 0 26px;

    background:none;
    border:none;
    box-shadow:none;

    text-decoration:none;
}

.partner-main-button::before,
.partner-main-button::after{
    content:"";

    width:92px;

    align-self:center;

    border-top:1px dotted rgba(196,161,75,.45);

    margin:0 16px;
}

.partner-main-button img{
    width:155px;
    height:auto;

    display:block;

    background:#ffffff;
    border-radius:999px;

    transition:.25s ease;
}

.partner-main-button:hover img{
    transform:translateY(-2px) scale(1.03);
}

/* ==============================
   THIRD CARD CENTERED
============================== */

.partner-offers-grid
.partner-offer-card-tenga:nth-child(3){
    grid-column:1 / -1;

    width:calc((100% - 28px) / 2);
    justify-self:center;
}
/* MOBILE */

@media (max-width:900px){

    .partner-offers-grid{
        grid-template-columns:1fr;
    }

    .partner-offers-section .section-heading h2{
        font-size:42px;
    }

    .partner-offer-card-mystim,
    .partner-offer-card-orion{
        min-height:auto;
    }

    .partner-offer-card-mystim .partner-card-body,
    .partner-offer-card-orion .partner-card-body{
        padding:24px 24px 30px;
    }

    .partner-offer-card-mystim .partner-benefits,
    .partner-offer-card-orion .partner-benefits{
        grid-template-columns:repeat(2,1fr);
        gap:16px 0;
    }

    .partner-offer-card-mystim .partner-benefits li:nth-child(2),
    .partner-offer-card-orion .partner-benefits li:nth-child(2){
        border-right:none;
    }

    .mystim-button::before,
    .mystim-button::after,
    .orion-button::before,
    .orion-button::after{
        display:none;
    }
 .partner-offer-card-orion .partner-divider span,
.partner-offer-card-orion .partner-benefits li::before,
.orion-links a,
.orion-button img{
    background:#ffffff;
}
}
/* ==================================================
   HEALTH DIRECTIONS
================================================== */

.health-directions-section{
    padding:56px 0 64px;
}

.health-directions-heading{
    max-width:760px;
    margin:0 auto 34px;
    text-align:center;
}

.health-directions-heading .next-step-label{
    display:block;
    margin-bottom:14px;

    color:#b88928;
    font-size:14px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:.24em;
    text-transform:uppercase;
}

.health-directions-heading h2{
    margin:0;

    color:var(--navy-text);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:42px;
    font-weight:700;
    line-height:1.08;
}

.health-directions-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}

.health-direction-card{
    padding:34px 32px;

    border:1px solid rgba(199,161,75,.30);
    border-radius:24px;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #fbf6e9 100%
        );

    box-shadow:
        0 12px 26px rgba(36,54,73,.07);

    text-align:center;

    transition:.25s ease;
}

.health-direction-card:nth-child(2){
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            var(--medical-blue) 100%
        );
}

.health-direction-card:hover{
    transform:translateY(-4px);

    border-color:rgba(169,129,47,.58);

    box-shadow:
        0 18px 34px rgba(36,54,73,.12);
}

.health-direction-card h3{
    margin-bottom:18px;

    color:var(--navy-text);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:28px;
    font-weight:700;
    line-height:1.18;
}

.health-direction-card p{
    margin-bottom:28px;

    color:var(--text);

    font-size:16px;
    line-height:1.7;
}

.health-direction-card .next-step-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:14px 34px;

    border-radius:999px;

    background:#c3921d;
    color:#ffffff;

    font-weight:700;
    text-decoration:none;

    transition:.25s;
}

.health-direction-card .next-step-button:hover{
    background:#aa7910;
    transform:translateY(-2px);
}
/* ==================================================
   13 FAQ
================================================== */

.faq-section{

    padding:54px 24px 64px;

    background:
    linear-gradient(
        180deg,
        #efe6d8 0%,
        #faf7f1 100%
    );
}

.faq-section .section-heading{

    text-align:center;

}

.faq-section .section-badge{

    display:block;

    width:100%;

    margin:0 auto 22px;

    color:#b88928;

    font-size:14px;
    font-weight:600;

    line-height:1.35;

    text-transform:uppercase;
    letter-spacing:.24em;

    text-align:center;

}

.faq-section .section-badge::before,
.faq-section .section-badge::after{

    display:none;

}

.faq-section h2{

    margin-bottom:30px;

    text-align:center;

}
.faq-list{

    max-width:840px;

    margin:0 auto;

}

.faq-item{

    margin-bottom:14px;

    overflow:hidden;

    border:1px solid #e8ebf1;
    border-radius:18px;

    background:#ffffff;

    box-shadow:0 7px 20px rgba(0,0,0,.045);

    transition:box-shadow .25s ease;

}

.faq-item:hover{

    box-shadow:0 11px 28px rgba(0,0,0,.075);

}

.faq-item summary{

    position:relative;

    padding:22px 30px;

    list-style:none;

    cursor:pointer;

    color:#13294B;

    font-size:19px;
    font-weight:650;

}

.faq-item summary::-webkit-details-marker{

    display:none;

}

.faq-item summary::after{

    content:"+";

    position:absolute;
    top:50%;
    right:30px;

    transform:translateY(-50%);

    color:#b88928;

    font-size:32px;
    font-weight:300;

    transition:.25s ease;

}

.faq-item[open] summary::after{

    content:"−";

}

.faq-item p{

    margin:0;

    padding:0 30px 24px;

    color:#5B6574;

    font-size:17px;
    line-height:1.65;

}

/* ==================================================
   14 FOOTER
================================================== */

.site-footer{

    width:100%;

    padding:46px 20px 24px;

    background:#071D3A;

}

.site-footer .content-container{

    max-width:1180px;

    margin:0 auto;

}

.footer-links{

    display:flex;
    justify-content:center;
    align-items:flex-start;
    flex-wrap:wrap;

    gap:110px;

}

.footer-link{

    width:160px;

    display:flex;
    flex-direction:column;
    align-items:center;

    text-align:center;
    text-decoration:none;

    transition:
        transform .25s ease,
        opacity .25s ease;

}

.footer-link:hover{

    transform:translateY(-4px);

    opacity:.9;

}

.footer-link img{

    width:56px;
    height:56px;

    display:block;

    margin-bottom:10px;

    object-fit:contain;

}

.footer-link span{

    color:#D4AF37;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:26px;
    font-weight:400;

    line-height:1.15;

}

.footer-link::after{

    content:"";

    width:82px;
    height:3px;

    margin-top:14px;

    border-radius:999px;

    background:#D4AF37;

}

.footer-copy{

    margin-top:26px;

    text-align:center;

    color:rgba(255,255,255,.60);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

}

.footer-copy p{

    margin:0;

}

.footer-copy p:first-child{

    font-size:14px;
    font-weight:500;

}

.footer-copy p:last-child{

    display:none;

}

/* ==================================================
   15 RESPONSIVE
================================================== */

@media (max-width:1050px){

    .medical-about-grid{
        grid-template-columns:1fr;
    }

    .medical-card-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .footer-links{
        gap:55px;
    }

}
@media (max-width:768px){

    html,
    body{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }

    .hero,
    .hero *{
        box-sizing:border-box;
    }


    /* ==================================================
       HERO / MOBILE
    ================================================== */
   .hero{
    width:100%;
    min-height:auto;
    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #071d3a 0,
            #071d3a 235px,
            #f4eee3 235px,
            #fbf8f2 100%
        );
}

    .hero::after{
        height:235px;

        background:
            radial-gradient(
                circle at 88% 6%,
                rgba(212,175,55,.30),
                transparent 34%
            ),
            radial-gradient(
                circle at 35% -15%,
                rgba(255,255,255,.08),
                transparent 38%
            );
    }


    /* ==================================================
       MOBILE HEADER — КАК У MANN
    ================================================== */

    .topbar{
        width:100%;
        min-height:auto;

        padding:20px 16px 12px;

        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;

        gap:14px;
    }

    .logo{
        width:240px;
        max-width:88vw;
        height:auto;

        display:block;

        margin:0 auto;
    }

    .header-actions{
        width:100%;

        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;

        margin:0;
    }

    .lang-buttons{
        display:flex;
        align-items:center;
        justify-content:center;

        gap:14px;
        margin:0;
    }

    .lang-control{
        margin:0;
    }

    .lang-control + .lang-control{
        margin-left:0;
    }

    .lang-btn{
        width:90px;
        height:auto;
    }

    .back-home{
        position:static;
        top:auto;

        display:block;

        margin:6px 0 0;

        color:#d4af37;

        font-family:
            Georgia,
            "Times New Roman",
            serif;

        font-size:15px;
        font-weight:600;
        line-height:1.2;

        text-align:center;
        text-decoration:none;

        transform:none;
    }

    .back-home:hover{
        color:#f3d67a;
        transform:none;
    }
        .hero-main{
        width:100%;
        max-width:100%;
        min-height:auto;

        margin:0 auto;
        padding:18px 20px 54px;

        display:flex !important;
        flex-direction:column;
        align-items:center;

        gap:0;
        overflow:hidden;
    }

    .hero-content{
        width:100% !important;
        max-width:100% !important;
        margin:0 auto;
        padding:0;
        text-align:center;
    }

       .hero-kicker{
        width:100%;

        margin:-10px auto 18px;

        color:var(--gold-dark);

        font-size:11px;
        font-weight:700;
        line-height:1.45;
        letter-spacing:.15em;

        text-align:center;
    }

    .hero-content h1{
        width:100%;
        max-width:100%;
        margin:0 auto 22px;
        color:var(--navy-text);
        font-size:42px;
        line-height:1.02;
        text-align:center;
    }

    .hero-content > p{
        width:100%;
        max-width:100%;
        margin:0 auto 18px;
        color:var(--text);
        font-size:17px;
        line-height:1.62;
        text-align:center;
    }

    .symptoms-intro{
        margin:24px auto 15px !important;
        font-size:17px;
        line-height:1.55;
    }

    .hero-topics{
        width:max-content;
        max-width:100%;
        margin:0 auto;
        align-items:flex-start;
        gap:9px;
    }

    .topic-item{
        width:100%;
        justify-content:flex-start;
        color:var(--navy-text);
        font-size:17px;
        line-height:1.35;
        text-align:left;
    }

    .topic-item img{
        width:27px;
        height:27px;
    }

    .hero-message{
        width:100%;
        max-width:100%;
        margin:24px auto 0;
        text-align:center;
    }

    .message-title{
        margin:0 auto 10px;
        font-size:17px;
        line-height:1.5;
    }

    .hero-message .message-text{
        width:100%;
        max-width:100%;
        margin:0 auto;
        color:var(--text);
        font-size:16px;
        line-height:1.6;
        text-align:center;
    }

 .hero-visual{
    position:relative;

    right:auto;
    bottom:auto;

    width:calc(100% + 40px);
    max-width:520px;
    height:auto;

    margin:24px -20px -54px;

    justify-content:center;
    align-items:flex-end;

    overflow:visible;
}

.hero-visual::before{
    right:50%;
    bottom:36px;

    width:390px;
    height:390px;

    transform:translateX(50%);
}

.hero-visual img{
    width:100%;
    max-width:520px;
    max-height:none;
    height:auto;

    object-position:center bottom;
}

    .boost-button{
        width:250px;
    }


    /* ==================================================
       COMMON SECTIONS / MOBILE
    ================================================== */

    .light-section,
    .medical-about-section,
    .vestro-help-section{
        width:100%;
        padding:54px 20px;
    }

    .section-heading,
    .center-heading{
        margin-bottom:30px;
        text-align:center;
    }

    .section-kicker{
        margin-bottom:18px;
        font-size:12px;
        letter-spacing:.14em;
    }

    .section-heading h2,
    .center-heading h2{
        font-size:clamp(34px,9vw,44px);
        line-height:1.08;
    }

    .heading-description,
    .medical-about-text p,
    .vestro-help-text p{
        font-size:17px;
        line-height:1.65;
    }


    /* ==================================================
       PARTNER OFFERS / MOBILE
    ================================================== */

    .partner-offers-section{
        width:100%;
        padding:48px 18px 58px;
    }

    .partner-offers-section .section-heading{
        width:100%;
        max-width:100%;
    }

  .partner-offers-section .section-badge{
    margin:-20px auto 12px;

    font-size:15px;
    font-weight:600;
    line-height:1.35;
    letter-spacing:.28em;
   color:#a87312;
}
    .partner-offers-section .section-heading h2{
        font-size:38px;
        line-height:1.06;
    }

    .partner-offers-section .section-heading p{
        margin-top:18px;
        font-size:17px;
        line-height:1.55;
    }

    .partner-offers-grid{
        width:100%;
        grid-template-columns:1fr;
        gap:24px;
        margin-top:32px;
    }

    .partner-offer-card-mystim,
    .partner-offer-card-orion{
        width:100%;
        min-height:auto;
        border-radius:22px;
    }

    .mystim-logo-header,
    .orion-logo-header{
        height:90px;
        border-radius:22px 22px 0 0;
    }

    .partner-offer-card-mystim .partner-card-body,
    .partner-offer-card-orion .partner-card-body{
        padding:22px 18px 26px;
    }

    .partner-offer-card-mystim .partner-card-text,
    .partner-offer-card-orion .partner-card-text{
        font-size:15px;
        line-height:1.5;
    }

    .partner-offer-card-mystim .partner-benefits,
    .partner-offer-card-orion .partner-benefits{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px 0;
    }

    .partner-offer-card-mystim .partner-benefits li,
    .partner-offer-card-orion .partner-benefits li{
        padding:42px 8px 0;
        font-size:13px;
    }

    .partner-offer-card-mystim .partner-benefits li:nth-child(2),
    .partner-offer-card-orion .partner-benefits li:nth-child(2){
        border-right:none;
    }

    .partner-offer-card-mystim .partner-trust-line,
    .partner-offer-card-orion .partner-trust-line{
        gap:6px;
        font-size:12px;
    }

    .partner-offer-card-mystim .partner-links-title,
    .partner-offer-card-orion .partner-links-title{
        font-size:17px;
    }

    .partner-offer-card-mystim .partner-links-title::before,
    .partner-offer-card-mystim .partner-links-title::after,
    .partner-offer-card-orion .partner-links-title::before,
    .partner-offer-card-orion .partner-links-title::after{
        width:42px;
    }

    .mystim-links,
    .orion-links{
        gap:8px;
    }

    .mystim-links a,
    .orion-links a{
        padding:7px 9px;
        font-size:12px;
    }

    .mystim-button,
    .orion-button{
        padding:25px 0 16px;
    }

    .mystim-button::before,
    .mystim-button::after,
    .orion-button::before,
    .orion-button::after{
        display:none;
    }

.partner-offers-grid
.partner-offer-card-tenga:nth-child(3){
    grid-column:auto;

    width:100%;
    justify-self:stretch;
}

.partner-offer-card-tenga .partner-benefits{
    grid-template-columns:repeat(2,1fr);
    row-gap:22px;
}

.partner-offer-card-tenga
.partner-benefits li:nth-child(2){
    border-right:none;
}

.partner-category-links a{
    white-space:normal;
    text-align:center;
}

.partner-main-button::before,
.partner-main-button::after{
    width:48px;
    margin:0 10px;
}
    /* ==================================================
       WHY VESTRODIRECT / MOBILE
    ================================================== */

    .medical-card-grid{
        width:100%;
        max-width:100%;
        grid-template-columns:1fr;
        gap:22px;
    }

    .medical-card{
        width:100%;
        max-width:100%;
        min-height:auto;
        padding:34px 26px;
    }

    .medical-icon-box{
        width:130px;
        height:130px;
    }

    .medical-icon{
        width:108px;
        height:108px;
    }


    /* ==================================================
       HEALTH DIRECTIONS / MOBILE
    ================================================== */

    .health-directions-section{
        width:100%;
        padding:44px 20px 60px;
    }

    .health-directions-heading{
        width:100%;
        max-width:100%;
        margin:0 auto 30px;
        text-align:center;
    }

    .health-directions-heading .next-step-label{
        margin-bottom:14px;
        font-size:12px;
        line-height:1.3;
        letter-spacing:.22em;
    }

    .health-directions-heading h2{
        margin:0;
        font-size:38px;
        line-height:1.08;
    }

    .health-directions-grid{
        width:100%;
        max-width:100%;
        grid-template-columns:1fr;
        gap:22px;
    }

    .health-direction-card{
        width:100%;
        max-width:100%;
        padding:32px 24px;
    }

    .health-direction-card h3{
        margin-bottom:18px;
        font-size:28px;
        line-height:1.15;
    }

    .health-direction-card p{
        margin-bottom:26px;
        font-size:17px;
        line-height:1.65;
    }

    .health-direction-card .next-step-button{
        width:auto;
        max-width:100%;
        padding:13px 24px;
        font-size:16px;
    }


    /* ==================================================
       FAQ / MOBILE
    ================================================== */

    .faq-section{
        width:100%;
        padding:54px 20px;
    }

    .faq-section .section-badge{
        font-size:13px;
    }

    .faq-section h2{
        margin-bottom:30px;
    }

    .faq-list{
        max-width:100%;
    }

    .faq-item summary{
        padding:20px 54px 20px 20px;
        font-size:18px;
    }

    .faq-item summary::after{
        right:20px;
        font-size:30px;
    }

    .faq-item p{
        padding:0 20px 20px;
        font-size:16px;
    }


    /* ==================================================
       FOOTER / MOBILE
    ================================================== */

    .site-footer{
        width:100%;
        padding:52px 20px 34px;
    }

    .footer-links{
        flex-direction:row;
        justify-content:center;
        align-items:flex-start;
        gap:22px;
    }

    .footer-link{
        width:92px;
    }

    .footer-link img{
        width:38px;
        height:38px;
    }

    .footer-link span{
        font-size:18px;
    }

    .footer-link::after{
        width:52px;
        height:2px;
        margin-top:10px;
    }

    .footer-copy{
        margin-top:32px;
    }

    .footer-copy p:first-child{
        font-size:14px;
    }

    .footer-copy p:last-child{
        font-size:13px;
        line-height:1.6;
    }
}


