: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:82px;
    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;
}

/* =========================
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);
}

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

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

.side-nav a{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:#64748B;
    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;
}

@media(max-width:1200px){

    .side-nav{
        display:none;
    }

}

/* =========================
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%;
}

}
