:root{
    --bg:#0B0F19;
    --text:#ffffff;
    --muted:#94A3B8;
    --soft:#CBD5E1;
    --line:rgba(255,255,255,.08);
}

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

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter',sans-serif;
    background:var(--bg);
    color:var(--text);
}

.container{
    width:min(1280px,92%);
    margin:auto;
}

header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:100;
    backdrop-filter:blur(12px);
    background:rgba(11,15,25,.65);
    border-bottom:1px solid var(--line);
}

.header-inner{
    height:80px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.logo{
    color:#fff;
    text-decoration:none;
    font-weight:600;
    font-size:22px;
    letter-spacing:-0.02em;
}

.logo span{
    color:#64748B;
    font-weight:500;
}

nav{
    display:flex;
    gap:40px;
}

nav a{
    color:var(--soft);
    text-decoration:none;
    font-size:15px;
    transition:.2s;
}

nav a:hover{
    color:#fff;
}

.hero{
    min-height:100vh;
    display:flex;
    align-items:center;
    position:relative;
    overflow:hidden;
}

.hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

.edition{
    color:var(--muted);
    font-size:14px;
    letter-spacing:.18em;
    text-transform:uppercase;
    margin-bottom:24px;
}

.hero h1{
    font-size:64px;
    line-height:.95;
    font-weight:800;
    margin-bottom:32px;
}

.hero p{
    font-size:24px;
    color:var(--soft);
    max-width:600px;
    line-height:1.6;
    margin-bottom:40px;
}

.hero-buttons{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}

.btn-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:18px 32px;
    border-radius:999px;
    background:#fff;
    color:#000;
    text-decoration:none;
    font-weight:600;
}

.btn-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:18px 32px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.15);
    color:#fff;
    text-decoration:none;
    font-weight:600;
}

.visual{
    position:relative;
    height:700px;
}

.glow{
    position:absolute;
    border-radius:50%;
    filter:blur(120px);
}

.glow-1{
    width:400px;
    height:400px;
    background:#4F7CFF;
    top:80px;
    left:80px;
    opacity:.30;
}

.glow-2{
    width:300px;
    height:300px;
    background:#8B7DFF;
    bottom:120px;
    right:60px;
    opacity:.20;
}

.glow-3{
    width:250px;
    height:250px;
    background:#33D17A;
    top:260px;
    right:180px;
    opacity:.15;
}

.hero-year{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    font-size:300px;
    font-weight:800;
    color:rgba(255,255,255,.03);
    line-height:1;
    user-select:none;
}

@media(max-width:980px){

.hero-grid{
    grid-template-columns:1fr;
}

.visual{
    display:none;
}

.hero h1{
    font-size:48px;
}

nav{
    display:none;
}

.hero{
    padding-top:60px;
    padding-bottom:50px;
}

}

/* =========================
METHODOLOGY
========================= */

.methodology{
padding:120px 0;
}

.methodology-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:120px;
align-items:start;
}

.section-label{
display:block;
color:#94A3B8;
font-size:13px;
letter-spacing:.18em;
text-transform:uppercase;
margin-bottom:20px;
}

.methodology h2{
font-size:64px;
line-height:1.05;
margin-bottom:24px;
}

.methodology-intro p{
color:#CBD5E1;
font-size:20px;
line-height:1.8;
max-width:600px;
}

.methodology-steps{
display:flex;
flex-direction:column;
gap:70px;
}

.step-number{
font-size:14px;
color:#64748B;
margin-bottom:10px;
}

.step h3{
font-size:34px;
margin-bottom:14px;
}

.step p{
color:#CBD5E1;
line-height:1.8;
}

.methodology p{
    margin-bottom:20px;
}

.methodology p:last-child{
    margin-bottom:0;
}

/* =========================
SITE PHILOSOPHY
========================= */

.site-philosophy{
    text-align:center;
    padding:80px 0;
}

.philosophy-top{
    font-size:24px;
    color:#64748B;
    margin:0 0 18px;
    font-weight:400;
}

.philosophy-bottom{
    font-size:64px;
    font-weight:800;
    line-height:1;
    color:#fff;
    margin:0;
}

/* =========================
WINNER SECTION
========================= */

.winner-section{
min-height:100vh;
display:flex;
align-items:center;
padding:40px 0;
}

.winner-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:120px;
align-items:center;
}

.winner-title{
font-size:72px;
line-height:1;
margin-bottom:24px;
}

.winner-description{
font-size:22px;
line-height:1.8;
color:#CBD5E1;
max-width:620px;
margin-bottom:40px;
}

.winner-buttons{
display:flex;
gap:16px;
flex-wrap:wrap;
}

.winner-visual{
position:relative;
display:flex;
justify-content:center;
align-items:center;
}

.winner-glow{
position:absolute;
width:500px;
height:500px;
border-radius:50%;
background:#4F7CFF;
opacity:.35;
filter:blur(120px);
}

.winner-product{
position:relative;
max-width:560px;
width:100%;
z-index:2;
}

.product-bottle{
    position:relative;
    max-height:520px;
    width:auto;
    z-index:2;
}

.winner-benefits{
    margin-bottom:40px;
    color:#CBD5E1;
    font-size:18px;
    line-height:1.8;
}

.winner-benefits strong{
    color:#FFFFFF;
    font-weight:600;
}

.winner-glow-sleep{
position:absolute;
width:500px;
height:500px;
border-radius:50%;
background:#8B5CF6;
opacity:.35;
filter:blur(120px);
}

.winner-glow-energy{
position:absolute;
width:500px;
height:500px;
border-radius:50%;
background:#F97316;
opacity:.35;
filter:blur(120px);
}

.winner-glow-immune{
position:absolute;
width:500px;
height:500px;
border-radius:50%;
background:#22C55E;
opacity:.35;
filter:blur(120px);
}

.winner-glow-joint{
position:absolute;
width:500px;
height:500px;
border-radius:50%;
background:#F59E0B;
opacity:.35;
filter:blur(120px);
}

.winner-glow-weight{
position:absolute;
width:500px;
height:500px;
border-radius:50%;
background:#EF4444;
opacity:.35;
filter:blur(120px);
}

.winner-glow-mens{
position:absolute;
width:500px;
height:500px;
border-radius:50%;
background:#2563EB;
opacity:.35;
filter:blur(120px);
}

.winner-glow-womens{
position:absolute;
width:500px;
height:500px;
border-radius:50%;
background:#EC4899;
opacity:.35;
filter:blur(120px);
}

.winner-glow-stress{
position:absolute;
width:500px;
height:500px;
border-radius:50%;
background:#14B8A6;
opacity:.35;
filter:blur(120px);
}

.winner-glow-circulation{
position:absolute;
width:500px;
height:500px;
border-radius:50%;
background:#DC2626;
opacity:.35;
filter:blur(120px);
}

.brain-badge{
    color:#4F7CFF;
}

.sleep-badge{
    color:#8B5CF6;
}

.energy-badge{
    color:#F97316;
}

.immune-badge{
    color:#22C55E;
}

.joint-badge{
    color:#F59E0B;
}

.weight-badge{
    color:#EF4444;
}

.mens-badge{
    color:#2563EB;
}

.womens-badge{
    color:#EC4899;
}

.stress-badge{
    color:#14B8A6;
}

.circulation-badge{
    color:#DC2626;
}

/* ==================================
SIDE NAVIGATION
================================== */

.side-nav{
    position:fixed;
    top:50%;
    right:40px;
    transform:translateY(-50%);
    z-index:999;
    display:flex;
    flex-direction:column;
    gap:14px;
    opacity:.7;
}

.side-nav a{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:#7A8699;
    font-size:13px;
    transition:.25s;
}

.side-nav a:hover{
    color:#FFFFFF;
}

.nav-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#334155;
    transition:.25s;
}

.side-nav a.active{
    color:#4F7CFF;
    font-weight:600;
}

.side-nav a.active .nav-dot{
    background:#4F7CFF;
}

.side-nav a.active{
    font-weight:600;
}

.side-nav a.active .nav-dot{
    transform:scale(1.3);
}

@media(max-width:1200px){

    .side-nav{
        display:none;
    }

}

/* ==================================
WHY TRUST OUR PICKS
================================== */

.trust-section{
    padding:180px 0;
}

.trust-header{
    max-width:700px;
    margin-bottom:100px;
}

.trust-title{
    font-size:72px;
    line-height:1.05;
    margin:20px 0 30px;
    color:#fff;
}

.trust-intro{
    font-size:22px;
    line-height:1.7;
    color:var(--muted);
    max-width:680px;
}

.trust-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:80px 100px;
}

.trust-item h3{
    font-size:28px;
    color:#fff;
    margin-bottom:20px;
}

.trust-item p{
    font-size:18px;
    line-height:1.8;
    color:var(--muted);
}

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

.faq-section{
    padding:180px 0;
}

.faq-header{
    max-width:700px;
    margin-bottom:80px;
}

.faq-title{
    font-size:72px;
    line-height:1.05;
    margin:20px 0 0;
    color:#fff;
}

.faq-list{
    max-width:900px;
}

.faq-item{
    border-top:1px solid rgba(255,255,255,.08);
}

.faq-item:last-child{
    border-bottom:1px solid rgba(255,255,255,.08);
}

.faq-question{
    width:100%;
    background:none;
    border:none;
    color:#fff;
    font-size:24px;
    text-align:left;
    padding:34px 0;
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.faq-question::after{
    content:'+';
    font-size:30px;
    color:var(--muted);
}

.faq-item.active .faq-question::after{
    content:'−';
}

.faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .35s ease;
}

.faq-answer p{
    padding:0 0 35px;
    color:var(--muted);
    font-size:18px;
    line-height:1.8;
    max-width:800px;
}

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

.footer{
    padding:120px 0 60px;
    border-top:1px solid rgba(255,255,255,.08);
}

.footer-top{
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:120px;
    margin-bottom:80px;
}

.footer-brand h3{
    color:#fff;
    font-size:32px;
    margin-bottom:20px;
}

.footer-brand p{
    color:var(--muted);
    font-size:18px;
    line-height:1.8;
    max-width:500px;
}

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

.footer-links a{
    color:var(--muted);
    text-decoration:none;
    transition:.25s;
}

.footer-links a:hover{
    color:#fff;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:40px;
    display:flex;
    justify-content:space-between;
    gap:40px;
}

.footer-bottom p{
    color:#64748B;
    font-size:14px;
    line-height:1.7;
    max-width:700px;
}

.footer-logo{
    color:#fff;
    text-decoration:none;
    font-size:32px;
    font-weight:600;
}

.footer-logo span{
    color:var(--muted);
}

.footer-tagline{
    margin-top:24px;
    font-size: clamp(58px, 4vw, 72px);
    font-weight:800;
    line-height:.95;
    color:#fff;
}

/* ==================================
PAGES
================================== */

.page-hero{
    padding:180px 0 120px;
}

.narrow{
    max-width:900px;
}

.page-hero h1{
    font-size:84px;
    line-height:1;
    margin:20px 0 30px;
}

.page-intro{
    font-size:24px;
    line-height:1.8;
    color:var(--muted);
    max-width:760px;
}

.page-content{
    padding:0 0 120px;
}

.page-content h2{
    font-size:42px;
    margin:80px 0 25px;
}

.page-content p{
    color:var(--muted);
    font-size:20px;
    line-height:1.9;
    margin-bottom:24px;
}

.about-cta{
    padding:140px 0;
    text-align:center;
    border-top:1px solid rgba(255,255,255,.08);
}

.about-cta h2{
    font-size:64px;
    margin-bottom:20px;
}

.about-cta p{
    color:var(--muted);
    font-size:20px;
    margin-bottom:40px;
}

/* ==================================
METHODOLOGY
================================== */

.criteria-section{
    padding:40px 0 120px;
}

.criteria-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:80px 100px;
}

.criteria-item h3{
    font-size:28px;
    color:#fff;
    margin-bottom:18px;
}

.criteria-item p{
    color:var(--muted);
    font-size:18px;
    line-height:1.8;
}

/* ==================================
CONTACT
================================== */

.contact-card{
    margin:50px 0 80px;
    padding:40px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    background:rgba(255,255,255,.02);
}

.contact-card h3{
    color:#fff;
    font-size:18px;
    margin-bottom:15px;
}

.contact-card a{
    color:#4F7CFF;
    text-decoration:none;
    font-size:28px;
    font-weight:600;
}

.contact-card a:hover{
    opacity:.85;
}

.error-code{
    font-size:220px;
    font-weight:700;
    line-height:1;
    color:rgba(255,255,255,.05);
    margin-bottom:20px;
}

.page-content a{
    color:#fff;
    text-decoration:none;
    border-bottom:1px solid rgba(255,255,255,.25);
    transition:.25s;
}

.page-content a:hover{
    border-color:#fff;
}


/* =========================
WHY IT WON
========================= */

.product-hero{
    padding:140px 0 100px;
}

.product-hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

.winner-badge{
    font-size:14px;
    letter-spacing:.18em;
    text-transform:uppercase;
    margin-bottom:24px;
}

.product-hero h1{
    font-size:72px;
    line-height:1;
    margin-bottom:24px;
}

.product-subtitle{
    font-size:22px;
    line-height:1.8;
    color:var(--soft);
    margin-bottom:40px;
}

.product-buttons{
    display:flex;
    gap:16px;
}

.product-visual{
    position:relative;
    text-align:center;
}

.product-visual img{
    max-height:520px;
    width:auto;
    position:relative;
    z-index:2;
}

.brain-glow{
    position:absolute;
    width:420px;
    height:420px;
    background:#2563EB;
    filter:blur(120px);
    opacity:.2;
    border-radius:50%;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
}

.why-won-section{
    padding:120px 0;
}

.section-label{
    color:var(--muted);
    font-size:14px;
    letter-spacing:.18em;
    text-transform:uppercase;
    margin-bottom:24px;
}

.why-won-section h2{
    font-size:64px;
    line-height:1;
    margin-bottom:32px;
}

.section-intro{
    max-width:800px;
    font-size:22px;
    line-height:1.8;
    color:var(--soft);
    margin-bottom:60px;
}

.reason-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
}

.reason-card{
    padding:32px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    background:rgba(255,255,255,.02);
}

.reason-card h3{
    margin-bottom:16px;
}

.reason-card p{
    color:var(--soft);
    line-height:1.8;
}

.ingredients-section{
    padding:20px 0;
}

.ingredient-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
    margin-top:60px;
}

.ingredient-card{
    padding:32px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    background:rgba(255,255,255,.02);
}

.ingredient-card h3{
    margin-bottom:16px;
}

.ingredient-card p{
    color:var(--soft);
    line-height:1.8;
}

.who-for{
    padding:100px 0;
}

.tag-grid{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    margin-top:40px;
}

.tag-grid span{
    padding:14px 24px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    background:rgba(255,255,255,.03);
}

.editorial-note{
    padding:100px 0 60px;
}

.note-box{
    padding:32px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    background:rgba(255,255,255,.02);
}

.note-box h3{
    margin-bottom:16px;
}

.note-box p{
    color:var(--soft);
    line-height:1.8;
}


.bottom-cta{
    padding:60px 0 120px;
    text-align:center;
}

.bottom-cta h2{
    font-size:48px;
    margin-bottom:16px;
}

.bottom-cta p{
    color:var(--soft);
    margin-bottom:32px;
    font-size:20px;
}

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

@media(max-width:980px){

.methodology-grid,
.winner-grid{
    grid-template-columns:1fr;
    gap:60px;
}

.methodology h2{
    font-size:44px;
}

.winner-title{
    font-size:56px;
}

.winner-description{
    font-size:18px;
}

.methodology-intro{
    max-width:100%;
}

.philosophy-bottom{
    font-size:36px;
}

.trust-title{
    font-size:48px;
}

.trust-grid{
    grid-template-columns:1fr;
    gap:50px;
}

.footer-top{
    grid-template-columns:1fr;
    gap:50px;
}

.footer-bottom{
    flex-direction:column;
}

.page-hero h1{
    font-size:48px;
}

.page-intro{
    font-size:18px;
}

.footer-logo{
    font-size:24px;
}

.criteria-grid{
    grid-template-columns:1fr;
    gap:50px;
}

}
