:root{
    --bg:#070707;
    --card:#121214;
    --text:#fff;
    --muted:#a1a1aa;
    --gold:#d4af37;
    --gold-light:#f1d877;
    --line:rgba(255,255,255,.1);
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    background:
        radial-gradient(circle at 20% 0%,rgba(212,175,55,.12),transparent 30%),
        #070707;
    color:var(--text);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    overflow-x:hidden;
}

a{
    color:inherit;
    text-decoration:none;
}

.container{
    width:min(1180px,calc(100% - 36px));
    margin:auto;
}

.site-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1000;
    background:rgba(7,7,7,.78);
    backdrop-filter:blur(20px);
    border-bottom:1px solid var(--line);
}

.nav{
    height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
    font-weight:900;
}

.brand-mark{
    width:44px;
    height:44px;
    border-radius:14px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--gold-light),var(--gold));
    color:#080808;
    font-weight:1000;
}

.brand small{
    display:block;
    color:var(--muted);
    font-size:10px;
    letter-spacing:2px;
}

.nav-links{
    display:flex;
    gap:25px;
    color:#d4d4d8;
    font-size:14px;
}

.btn{
    min-height:48px;
    padding:0 22px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    transition:.25s;
}

.btn:hover{
    transform:translateY(-2px);
}

.btn-gold{
    background:linear-gradient(135deg,var(--gold-light),var(--gold));
    color:#080808;
}

.btn-dark{
    background:rgba(255,255,255,.07);
    border:1px solid var(--line);
}

.menu-button{
    display:none;
}

.hero{
    min-height:100vh;
    padding:130px 0 70px;
    display:flex;
    align-items:center;
}

.hero-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:50px;
    align-items:center;
}

.eyebrow{
    color:var(--gold-light);
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:12px;
    font-weight:900;
    margin-bottom:18px;
}

.hero h1{
    font-size:clamp(48px,7vw,90px);
    line-height:.95;
    letter-spacing:-4px;
    margin:0 0 25px;
}

.hero h1 span{
    background:linear-gradient(135deg,#fff,var(--gold-light));
    -webkit-background-clip:text;
    color:transparent;
}

.hero-copy{
    color:#c2c2c8;
    font-size:19px;
    max-width:680px;
}

.hero-actions{
    display:flex;
    gap:12px;
    margin-top:30px;
    flex-wrap:wrap;
}

.hero-card{
    min-height:470px;
    padding:20px;
    border-radius:32px;
    border:1px solid var(--line);
    background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
}

.studio-visual{
    min-height:430px;
    border-radius:25px;
    position:relative;
    background:
        radial-gradient(circle at 60% 30%,rgba(212,175,55,.4),transparent 20%),
        linear-gradient(135deg,#272727,#090909);
}

.studio-label{
    position:absolute;
    bottom:25px;
    left:25px;
}

.studio-label strong{
    display:block;
    font-size:24px;
}

.studio-label span{
    color:#bbb;
}

.section{
    padding:90px 0;
}

.section-head{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:30px;
    margin-bottom:38px;
}

.section-head h2{
    font-size:clamp(36px,5vw,62px);
    letter-spacing:-3px;
    line-height:1;
    margin:0;
}

.section-head p{
    color:var(--muted);
    max-width:500px;
}

.goal-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.goal-card{
    min-height:230px;
    padding:28px;
    border:1px solid var(--line);
    border-radius:24px;
    background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
    position:relative;
    transition:.3s;
}

.goal-card:hover{
    transform:translateY(-6px);
    border-color:rgba(212,175,55,.5);
}

.goal-icon{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border-radius:17px;
    background:rgba(212,175,55,.12);
    font-size:24px;
    margin-bottom:38px;
}

.goal-card h3{
    font-size:22px;
    margin:0 0 8px;
}

.goal-card p{
    color:var(--muted);
    margin:0;
}

.arrow{
    position:absolute;
    right:25px;
    bottom:23px;
    color:var(--gold-light);
    font-size:24px;
}

.package{
    padding:50px;
    border-radius:34px;
    border:1px solid rgba(212,175,55,.3);
    background:
        radial-gradient(circle at 100% 0%,rgba(212,175,55,.16),transparent 32%),
        #111;
}

.package-grid{
    display:grid;
    grid-template-columns:1fr .8fr;
    gap:50px;
}

.badge{
    display:inline-block;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(212,175,55,.13);
    color:var(--gold-light);
    font-size:12px;
    font-weight:900;
}

.package h2{
    font-size:clamp(38px,5vw,64px);
    margin:18px 0 10px;
    line-height:1;
    letter-spacing:-3px;
}

.price{
    font-size:72px;
    font-weight:1000;
    letter-spacing:-4px;
}

.price small{
    color:var(--muted);
    font-size:16px;
    letter-spacing:0;
}

.package-description{
    color:#bcbcc3;
}

.features{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin:28px 0;
}

.feature{
    display:flex;
    align-items:center;
    gap:10px;
}

.check{
    width:23px;
    height:23px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--gold-light);
    color:#111;
    font-size:12px;
    font-weight:900;
}

.package-rules{
    background:rgba(255,255,255,.04);
    border:1px solid var(--line);
    border-radius:24px;
    padding:25px;
}

.package-rules li{
    margin:12px 0;
    color:#c2c2c8;
}

.workflow{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:14px;
}

.step{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:20px;
    padding:24px 20px;
}

.step-number{
    color:var(--gold-light);
    font-size:12px;
    font-weight:900;
}

.step p{
    color:var(--muted);
    font-size:14px;
}

.cta{
    text-align:center;
    padding:75px 25px;
    border-radius:35px;
    border:1px solid var(--line);
    background:
        radial-gradient(circle,rgba(212,175,55,.18),transparent 50%),
        #101010;
}

.cta h2{
    font-size:clamp(38px,6vw,70px);
    line-height:1;
    letter-spacing:-4px;
    max-width:850px;
    margin:0 auto 20px;
}

.cta p{
    color:var(--muted);
    max-width:600px;
    margin:0 auto 28px;
}

footer{
    padding:45px 0 110px;
    border-top:1px solid var(--line);
    color:var(--muted);
}

.footer-inner{
    display:flex;
    justify-content:space-between;
    gap:30px;
}

.mobile-bar{
    display:none;
}

.reveal{
    opacity:0;
    transform:translateY(25px);
    transition:.7s;
}

.reveal.visible{
    opacity:1;
    transform:none;
}

@media(max-width:950px){
    .nav-links{
        display:none;
    }

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

    .goal-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .workflow{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:640px){

    .container{
        width:calc(100% - 24px);
    }

    .site-header .btn-gold{
        display:none;
    }

    .hero{
        min-height:auto;
        padding:110px 0 55px;
    }

    .hero h1{
        letter-spacing:-3px;
    }

    .hero-copy{
        font-size:16px;
    }

    .hero-actions{
        display:grid;
    }

    .hero-actions .btn{
        width:100%;
    }

    .hero-card{
        min-height:310px;
        padding:12px;
    }

    .studio-visual{
        min-height:285px;
    }

    .section{
        padding:65px 0;
    }

    .section-head{
        display:block;
    }

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

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

    .package{
        padding:28px 20px;
    }

    .price{
        font-size:60px;
    }

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

    .footer-inner{
        display:block;
    }

    .mobile-bar{
        display:grid;
        position:fixed;
        bottom:10px;
        left:10px;
        right:10px;
        grid-template-columns:repeat(4,1fr);
        background:rgba(20,20,22,.92);
        backdrop-filter:blur(20px);
        border:1px solid var(--line);
        border-radius:22px;
        padding:8px;
        z-index:1100;
    }

    .mobile-bar a{
        text-align:center;
        font-size:10px;
        color:#bbb;
    }

    .mobile-bar span{
        display:block;
        font-size:19px;
    }

    .mobile-bar .reserve{
        color:var(--gold-light);
    }
}
