@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root{
    --bg:#0b0a08;
    --bg-soft:#11100d;
    --panel:#171510;
    --panel-hover:#1c1913;
    --line:#302b22;
    --line-light:#4a4131;
    --text:#f1eadc;
    --muted:#978f80;
    --dim:#6f685c;
    --gold:#c4a267;
    --gold-light:#dfc28d;
    --discord:#5865f2;
    --normal:#aaa69d;
    --shiny:#78a8be;
    --golden:#c69c4e;
    --corrupted:#865f9a;
    --mythic:#a94d46;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
    overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}

/* HEADER */
.site-header{
    height:78px;
    position:absolute;
    top:0;left:0;right:0;
    z-index:50;
    border-bottom:1px solid rgba(255,255,255,.06);
    background:rgba(10,9,7,.76);
    backdrop-filter:blur(10px);
}
.nav-wrap{height:100%;display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.logo span{font-size:9px;font-weight:800;letter-spacing:1.4px;color:#837965}
.logo strong{font-size:20px;letter-spacing:-.8px}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:27px}
.main-nav a{font-size:11px;font-weight:700;color:#a0998d;transition:.18s}
.main-nav a:hover{color:#fff}
.nav-discord{
    padding:11px 14px;
    border:1px solid #4d55b5;
    color:#cfd3ff;
    font-size:10px;
    font-weight:800;
    letter-spacing:.6px;
}
.menu-toggle{display:none;margin-left:auto;background:none;border:0;padding:7px}
.menu-toggle span{display:block;width:24px;height:2px;background:#ddd5c7;margin:5px 0}

/* HERO */
.hero{
    min-height:760px;
    position:relative;
    display:flex;
    align-items:center;
    overflow:hidden;
    border-bottom:1px solid var(--line);
    background:
        radial-gradient(circle at 74% 47%,rgba(196,162,103,.09),transparent 26rem),
        linear-gradient(135deg,#0d0b08 0%,#11100c 48%,#090806 100%);
}
.hero-bg{
    position:absolute;inset:0;
    background:
        linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px),
        linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:linear-gradient(to bottom,black,transparent 93%);
}
.hero-inner{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:58px;
    align-items:center;
    padding:130px 0 70px;
}
.hero-label,.section-label{
    display:inline-block;
    font-size:10px;
    font-weight:800;
    letter-spacing:2px;
    color:var(--gold);
}
.hero h1{
    margin:16px 0 20px;
    font-size:clamp(56px,6vw,82px);
    line-height:.95;
    letter-spacing:-4px;
}
.hero h1 span{color:#c7aa76}
.hero-copy>p{max-width:650px;margin:0;color:var(--muted);font-size:16px;line-height:1.8}
.hero-actions{display:flex;gap:12px;margin-top:30px;align-items:stretch}

.play-button{
    min-width:310px;
    min-height:84px;
    padding:16px 18px 16px 21px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
    background:linear-gradient(180deg,#d0ae72,#ae8a50);
    color:#100d08;
    border:1px solid #e3c68e;
    box-shadow:0 15px 35px rgba(0,0,0,.22);
    transition:.18s;
}
.play-button:hover{transform:translateY(-2px);filter:brightness(1.06)}
.play-button small{display:block;font-size:9px;letter-spacing:1.5px;font-weight:800;opacity:.72}
.play-button strong{display:block;margin-top:4px;font-size:25px;line-height:1;letter-spacing:-.8px}
.play-button>span{font-size:28px}

.discord-square{
    width:84px;
    min-width:84px;
    height:84px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    background:var(--discord);
    color:white;
    border:1px solid #7b84ff;
    box-shadow:0 15px 35px rgba(0,0,0,.22);
    transition:.18s;
}
.discord-square:hover{transform:translateY(-2px);filter:brightness(1.06)}
.discord-square svg{width:30px;height:30px}
.discord-square span{font-size:8px;font-weight:900;letter-spacing:.8px}

.hero-meta{display:flex;gap:25px;flex-wrap:wrap;margin-top:28px;color:#777064;font-size:11px}
.hero-meta b{color:#d6c7a9}

/* HERO NPCS */
.hero-companions{min-height:520px;display:grid;place-items:center}
.companion-focus{width:100%;height:500px;position:relative}
.focus-npc{
    position:absolute;
    background:#12100c;
    border:1px solid #332c21;
    box-shadow:0 22px 55px rgba(0,0,0,.3);
    overflow:hidden;
}
.focus-npc img{width:100%;height:100%;object-fit:contain;padding:20px 20px 54px;filter:drop-shadow(0 16px 8px rgba(0,0,0,.55))}
.focus-1{width:58%;height:76%;left:21%;top:0;z-index:2}
.focus-2{width:39%;height:52%;left:0;bottom:0;z-index:3}
.focus-3{width:39%;height:52%;right:0;bottom:0;z-index:4}
.focus-label{position:absolute;left:12px;right:12px;bottom:11px;padding:8px 9px;background:rgba(8,7,5,.88);border:1px solid #3c3327}
.focus-label small{display:block;font-size:7px;font-weight:900;letter-spacing:1px;color:var(--gold)}
.focus-label strong{display:block;margin-top:2px;font-size:12px}
.npc-fallback{display:none;position:absolute;inset:0;place-items:center;padding:20px;text-align:center;color:#766e60;font-size:10px;font-weight:800;letter-spacing:1px}

/* QUICK LINKS */
.quick-links{border-bottom:1px solid var(--line);background:#0e0d0a}
.quick-links-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.quick-links a{padding:19px 20px;border-right:1px solid var(--line);transition:.18s}
.quick-links a:first-child{border-left:1px solid var(--line)}
.quick-links a:hover{background:#15130f}
.quick-links strong{display:block;font-size:12px}
.quick-links span{display:block;margin-top:5px;color:#766f64;font-size:9px}

/* GENERIC */
.section{padding:96px 0}
.intro-section{background:#0b0a08}
.companion-section{background:#0f0e0b;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.features-section{background:#0b0a08}
.intro-grid{display:grid;grid-template-columns:1fr .85fr;gap:70px;align-items:end}
.intro-grid h2,.section-heading h2,.xp-copy h2,.cta-box h2{
    margin:10px 0 0;
    font-size:clamp(40px,5vw,61px);
    line-height:1;
    letter-spacing:-3px;
}
.intro-copy p{margin:0;color:var(--muted);line-height:1.8;font-size:14px}
.intro-copy .lead{margin-bottom:12px;color:#d0c4ae;font-size:19px;line-height:1.5}
.section-heading{max-width:720px;margin-bottom:42px}
.section-heading p{max-width:620px;margin:15px 0 0;color:var(--muted);font-size:14px;line-height:1.75}

/* COMPANIONS */
.companion-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.companion-card{border:1px solid var(--line);background:#14120e;overflow:hidden}
.companion-image{height:245px;position:relative;background:radial-gradient(circle at 50% 60%,rgba(196,162,103,.07),transparent 45%),#100f0c}
.companion-image img{width:100%;height:100%;object-fit:contain;padding:25px 18px 15px;filter:drop-shadow(0 16px 8px rgba(0,0,0,.55))}
.companion-info{padding:14px;border-top:1px solid var(--line)}
.companion-info span{font-size:7px;font-weight:900;letter-spacing:1.2px;color:var(--gold)}
.companion-info h3{margin:4px 0 0;font-size:15px}
.companion-card.normal{border-bottom:2px solid var(--normal)}
.companion-card.shiny{border-bottom:2px solid var(--shiny)}
.companion-card.golden{border-bottom:2px solid var(--golden)}
.companion-card.corrupted{border-bottom:2px solid var(--corrupted)}
.companion-card.mythic{border-bottom:2px solid var(--mythic)}
.rarity-list{display:flex;gap:25px;flex-wrap:wrap;margin-top:20px;color:#8d8578;font-size:10px}
.rarity-list span{display:flex;align-items:center;gap:7px}
.rarity-list i{width:8px;height:8px;border-radius:50%;background:#999}
.rarity-list .normal i{background:var(--normal)}
.rarity-list .shiny i{background:var(--shiny)}
.rarity-list .golden i{background:var(--golden)}
.rarity-list .corrupted i{background:var(--corrupted)}
.rarity-list .mythic i{background:var(--mythic)}

/* FEATURES */
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}
.features-grid article{min-height:220px;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#0f0e0b}
.features-grid article:nth-child(3n){border-right:0}
.features-grid article:nth-last-child(-n+3){border-bottom:0}
.features-grid article>span{font-size:9px;color:#665f54}
.features-grid h3{margin:39px 0 8px;font-size:18px}
.features-grid p{margin:0;color:#7f786d;font-size:12px;line-height:1.7}

/* XP */
.xp-section{padding:90px 0;background:#0f0e0b;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.xp-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.xp-copy p{max-width:480px;color:var(--muted);font-size:14px;line-height:1.75}
.xp-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.xp-cards article{min-height:280px;padding:22px;border:1px solid var(--line);background:#13110d;display:flex;flex-direction:column;position:relative}
.xp-cards article.selected{border-color:#6e5938;background:#18140e}
.xp-cards article>small{position:absolute;right:17px;top:17px;font-size:7px;font-weight:900;letter-spacing:1px;color:#b79a69}
.xp-cards strong{font-size:62px;letter-spacing:-4px;color:#d6c5a4;margin-top:28px}
.xp-cards h3{margin:3px 0 8px;font-size:18px}
.xp-cards p{margin:0;color:#81796d;font-size:12px;line-height:1.65}

/* CTA */
.cta-section{padding:85px 0;background:#0b0a08}
.cta-box{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:44px;border:1px solid var(--line);background:#11100c}
.cta-actions{display:flex;gap:12px;align-items:stretch;flex-shrink:0}

/* FOOTER */
.footer{padding:30px 0;border-top:1px solid var(--line);background:#080705}
.footer-grid{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center}
.footer-grid>div strong{display:block;font-size:11px}
.footer-grid>div span{display:block;margin-top:3px;font-size:7px;letter-spacing:1.4px;color:#675f54}
.footer nav{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.footer nav a{font-size:9px;color:#777065}
.footer p{font-size:8px;color:#5f594f;text-align:right}

/* RESPONSIVE */
@media(max-width:1020px){
    .main-nav{gap:16px}
    .hero-inner{grid-template-columns:1fr}
    .hero-copy{max-width:760px}
    .hero-companions{max-width:650px;margin:auto;width:100%}
    .companion-grid{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:820px){
    .main-nav{
        display:none;
        position:absolute;
        top:78px;left:0;right:0;
        background:#0d0c09;
        border-bottom:1px solid var(--line);
        padding:14px 20px 18px;
        flex-direction:column;
        align-items:stretch;
        gap:0;
    }
    .main-nav.open{display:flex}
    .main-nav a{padding:12px 0;border-bottom:1px solid #252119}
    .nav-discord{display:none}
    .menu-toggle{display:block}
    .intro-grid,.xp-grid{grid-template-columns:1fr}
    .features-grid{grid-template-columns:repeat(2,1fr)}
    .features-grid article:nth-child(3n){border-right:1px solid var(--line)}
    .features-grid article:nth-child(2n){border-right:0}
    .features-grid article:nth-last-child(-n+3){border-bottom:1px solid var(--line)}
    .features-grid article:nth-last-child(-n+2){border-bottom:0}
    .cta-box{flex-direction:column;align-items:flex-start}
}

@media(max-width:620px){
    .container{width:min(100% - 28px,1180px)}
    .hero{min-height:auto}
    .hero-inner{padding:118px 0 60px}
    .hero h1{font-size:50px}
    .hero-copy>p{font-size:14px}
    .hero-actions{width:100%}
    .play-button{min-width:0;flex:1}
    .hero-meta{gap:13px}
    .companion-focus{height:420px}
    .focus-1{width:68%;left:16%;height:68%}
    .focus-2,.focus-3{width:43%;height:43%}
    .quick-links-grid{grid-template-columns:1fr 1fr}
    .quick-links a:nth-child(odd){border-left:1px solid var(--line)}
    .quick-links a{border-bottom:1px solid var(--line)}
    .section{padding:70px 0}
    .intro-grid h2,.section-heading h2,.xp-copy h2,.cta-box h2{font-size:41px}
    .companion-grid{grid-template-columns:1fr 1fr}
    .companion-image{height:210px}
    .features-grid{grid-template-columns:1fr}
    .features-grid article{border-right:0!important;border-bottom:1px solid var(--line)!important}
    .features-grid article:last-child{border-bottom:0!important}
    .xp-cards{grid-template-columns:1fr}
    .cta-box{padding:28px 20px}
    .cta-actions{width:100%}
    .footer-grid{grid-template-columns:1fr;text-align:center}
    .footer p{text-align:center}
}

@media(max-width:430px){
    .logo span{display:none}
    .hero h1{font-size:43px}
    .play-button{padding-left:15px}
    .play-button strong{font-size:21px}
    .discord-square{width:78px;min-width:78px;height:84px}
    .companion-grid{grid-template-columns:1fr}
    .companion-image{height:255px}
}
