*{box-sizing:border-box}
:root{
    --bg:#09050c;
    --text:#fff;
    --muted:#d8cfdc;
}
html,body{margin:0;min-height:100%;background:var(--bg)}
body{
    color:var(--text);
    font-family:"Rajdhani",Arial,sans-serif;
    overflow-x:hidden;
}
.intro{
    position:relative;
    min-height:100vh;
    isolation:isolate;
    background:
        linear-gradient(180deg,rgba(17,3,23,.28),rgba(6,3,9,.62)),
        url("../images/background.png") center center/cover fixed no-repeat;
}
.intro:before{
    content:"";
    position:absolute;inset:0;z-index:-2;
    background:
      radial-gradient(circle at 50% 45%,rgba(161,32,118,.18),transparent 36%),
      linear-gradient(90deg,rgba(0,0,0,.18),transparent 25%,transparent 75%,rgba(0,0,0,.24));
}
.vignette{
    position:absolute;inset:0;z-index:-1;pointer-events:none;
    box-shadow:inset 0 0 180px 65px rgba(0,0,0,.74);
}
.landing{
    width:min(1120px,calc(100% - 36px));
    min-height:100vh;
    margin:auto;
    padding:54px 0 30px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.hero{
    text-align:center;
    margin:0 auto 30px;
    animation:fadeDown .9s ease both;
}
.hero-kicker{
    font-size:12px;
    letter-spacing:7px;
    font-weight:600;
    color:#e9dfe9;
    margin-bottom:7px;
    opacity:.9;
}
.hero h1{
    margin:0;
    font-family:"Cinzel",serif;
    font-size:clamp(30px,4vw,47px);
    letter-spacing:3px;
    font-weight:700;
    text-shadow:0 2px 18px rgba(0,0,0,.7);
}
.hero-rule{
    width:min(720px,82vw);
    height:1px;
    margin:12px auto 10px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);
    position:relative;
}
.hero-rule span{
    width:7px;height:7px;border:1px solid rgba(255,255,255,.8);
    transform:rotate(45deg);position:absolute;left:50%;top:-3px;margin-left:-3px;
    background:#28132b;
}
.hero p{
    margin:0;
    font-size:13px;
    letter-spacing:1.3px;
    color:#f3edf4;
    text-transform:uppercase;
}
.hero p b{font-weight:500;color:#fff}

.servers{
    display:flex;
    justify-content:center;
    align-items:stretch;
    gap:28px;
    width:100%;
    perspective:1400px;
}
.server-card{
    --lift:0px;
    position:relative;
    flex:1 1 0;
    min-width:0;
    max-width:247px;
    aspect-ratio:425/691;
    border-radius:9px;
    overflow:hidden;
    cursor:pointer;
    background:#100b14;
    transform:translateY(var(--lift)) rotateX(0deg);
    box-shadow:0 18px 28px rgba(0,0,0,.62),0 1px 0 rgba(255,255,255,.1) inset;
    transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,filter .35s;
    animation:cardIn .8s cubic-bezier(.2,.8,.2,1) both;
    animation-delay:calc(var(--i) * 110ms + 140ms);
}
.server-card:hover{
    --lift:-7px;
    transform:translateY(var(--lift)) scale(1.015);
    box-shadow:0 25px 48px rgba(0,0,0,.72),0 0 30px var(--accent);
    outline:none;
}
.card-art{
    position:absolute;inset:0;
}
.card-art img{
    width:100%;height:100%;object-fit:cover;display:block;
    filter:saturate(1.06) contrast(1.04);
    transform:scale(1.02);
    transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s;
}
.server-card:hover .card-art img{
    transform:scale(1.055);
}
.card-border{
    position:absolute;inset:11px;
    border:1px solid rgba(255,255,255,0.12);
    border-radius:5px;
    box-shadow:0 0 10px rgba(0,0,0,.15) inset;
    pointer-events:none;
}
.card-border:after{
    content:"";
    position:absolute;inset:3px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:3px;
}
.card-glow{
    position:absolute;left:12%;right:12%;bottom:15%;height:30%;
    background:radial-gradient(ellipse,var(--accent),transparent 70%);
    filter:blur(24px);opacity:.08;transition:opacity .35s;
}
.server-card:hover .card-glow{opacity:.15}
.card-shade{
    position:absolute;inset:0;
    background:
        linear-gradient(180deg,rgba(0,0,0,.04) 28%,rgba(0,0,0,.02) 45%,rgba(0,0,0,.4) 100%),
        linear-gradient(90deg,rgba(0,0,0,.08),transparent 35%,rgba(0,0,0,.12));
    transition:background .35s;
}
.server-card:hover .card-shade{
    background:
        linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.08) 43%,rgba(0,0,0,.5) 100%),
        linear-gradient(90deg,rgba(0,0,0,.12),transparent 35%,rgba(0,0,0,.18));
}
.card-front{
    position:absolute;z-index:3;left:0;right:0;bottom:43px;
    text-align:center;
    transition:transform .35s,opacity .35s;
}
.server-card:hover .card-front{
    transform:translateY(-16px);
}
.eyebrow{
    font-size:15px;font-weight:700;font-style:italic;
    letter-spacing:1px;color:var(--accent);
    text-shadow:0 2px 8px #000;
}
.card-front h2{
    margin:-3px 0 7px;
    font-family:"Cinzel",serif;
    font-size:42px;line-height:.95;font-weight:800;
    font-style:italic;letter-spacing:1px;
    color:#fff;
    text-shadow:2px 3px 0 rgba(0,0,0,.48),0 4px 18px rgba(0,0,0,.75);
}
.badge{
    display:inline-block;
    padding:5px 15px 4px;
    border-radius:6px;
    background:var(--accent);
    color:#fff;
    font-size:14px;
    font-weight:600;
    box-shadow:0 2px 8px rgba(0,0,0,.35);
}
.subtitle{
    margin-top:10px;
    font-family:"Cinzel",serif;
    font-size:15px;
    letter-spacing:2px;
    color:#eee;
    text-shadow:0 2px 6px #000;
}
.card-info{
    position:absolute;z-index:4;inset:0;
    display:flex;align-items:flex-start;
    padding:57px 28px 25px;
    background:rgba(4,2,7,.76);
    opacity:0;
    transform:translateY(8px);
    transition:opacity .32s,transform .32s;
    pointer-events:none;
}
.server-card:hover .card-info{
    opacity:1;transform:none;pointer-events:auto;
}
.info-content{width:100%;text-align:left}
.detail{
    display:flex;gap:5px;flex-wrap:wrap;
    font-size:13px;line-height:1.25;
    margin:3px 0;
    text-shadow:0 1px 4px #000;
}
.detail-label{color:var(--accent);font-weight:700}
.detail-value{color:#fff}
.go-button{
    display:block;width:max-content;min-width:145px;
    margin:28px auto 0;padding:11px 20px 9px;
    border:0;border-radius:7px;
    background:var(--accent);
    color:#fff;text-decoration:none;text-align:center;
    font-family:"Rajdhani",sans-serif;
    font-size:14px;font-weight:700;
    box-shadow:0 7px 18px rgba(0,0,0,.35);
    transition:filter .2s,transform .2s;
}
.go-button:hover{filter:brightness(1.12);transform:translateY(-1px)}
.go-button.disabled{cursor:default;opacity:.9}
.scroll-hint{
    margin:24px auto 0;
    display:flex;align-items:center;gap:10px;
    font-size:10px;letter-spacing:3px;color:rgba(255,255,255,.68);
    opacity:.75;
}
.scroll-hint i{width:25px;height:1px;background:rgba(255,255,255,.55);display:block}

.particles{
    position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0;
}
.particles:before,.particles:after{
    content:"";position:absolute;width:2px;height:2px;border-radius:50%;
    background:#fff;opacity:.55;
    box-shadow:10vw 20vh #fff,22vw 70vh #fff,34vw 34vh #fff,48vw 80vh #fff,63vw 22vh #fff,76vw 65vh #fff,91vw 34vh #fff,83vw 85vh #fff,14vw 92vh #fff;
    animation:float 9s linear infinite;
}
.particles:after{transform:translateY(-100vh) scale(.65);opacity:.3;animation-duration:13s}

@keyframes fadeDown{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}
@keyframes cardIn{from{opacity:0;transform:translateY(35px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes float{from{transform:translateY(0)}to{transform:translateY(100vh)}}

/* ============================================ */
/* BUTON MUZICĂ                                 */
/* ============================================ */
.music-toggle{
    position:fixed;
    bottom:30px;
    right:30px;
    z-index:1000;
    width:48px;
    height:48px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,0.2);
    background:rgba(0,0,0,0.6);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    color:#fff;
    font-size:22px;
    cursor:pointer;
    transition:all .3s ease;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 4px 20px rgba(0,0,0,.4);
    font-family:"Rajdhani",sans-serif;
}
.music-toggle:hover{
    background:var(--accent,#e12b32);
    border-color:var(--accent,#e12b32);
    transform:scale(1.08);
    box-shadow:0 0 30px rgba(225,43,50,0.3);
}
.music-toggle:active{
    transform:scale(.92);
}

@media (max-width:680px){
    .music-toggle{
        bottom:20px;
        right:20px;
        width:40px;
        height:40px;
        font-size:18px;
    }
}

@media (max-width:900px){
    .landing{padding:34px 0 26px}
    .hero{margin-bottom:22px}
    .servers{gap:12px}
    .server-card{max-width:none}
    .card-front h2{font-size:34px}
    .card-front{bottom:30px}
    .card-info{padding:38px 17px 16px}
    .detail{font-size:11px}
    .go-button{min-width:110px;padding:8px 12px;margin-top:16px}
}
@media (max-width:680px){
    .intro{background-attachment:scroll}
    .landing{width:min(430px,calc(100% - 24px));justify-content:flex-start}
    .hero{margin-top:5px}
    .hero h1{font-size:29px;letter-spacing:2px}
    .hero p{font-size:10px;letter-spacing:.9px}
    .servers{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .server-card{width:100%}
    .card-front h2{font-size:29px}
    .eyebrow{font-size:11px}
    .badge{font-size:10px;padding:4px 8px}
    .subtitle{font-size:10px;letter-spacing:1px}
    .card-info{padding:24px 12px 12px}
    .detail{font-size:9px;margin:2px 0}
    .go-button{font-size:11px;min-width:0;width:100%;margin-top:11px;padding:7px}
    .scroll-hint{display:none}
}
@media (prefers-reduced-motion:reduce){
    *,*:before,*:after{animation:none!important;transition:none!important}
}