:root{
--black:#050505;
--deep:#0c0c0c;
--white:#ffffff;
--gold:#B89A4F;
}

/* RESET */
*{margin:0;padding:0;box-sizing:border-box;}

body{
font-family:'Inter',sans-serif;
background:var(--black);
color:var(--white);
overflow-x:hidden;
}

/* Subtle noise layer */
.noise-overlay{
position:fixed;
width:100%;
height:100%;
background-image:url("https://www.transparenttextures.com/patterns/asfalt-light.png");
opacity:0.05;
pointer-events:none;
z-index:1;
}

/* NAV */
nav{
position:fixed;
width:100%;
display:flex;
justify-content:space-between;
align-items:center;
padding:25px 8%;
background:rgba(0,0,0,0.85);
backdrop-filter:blur(10px);
z-index:1000;
}

.brand-text{
font-family:'Playfair Display',serif;
font-size:1.9rem;
letter-spacing:4px;
background:linear-gradient(90deg,#f5f5f5,#888,#ffffff,#999);
background-size:300%;
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
animation:metalFlow 8s linear infinite;
}

@keyframes metalFlow{
0%{background-position:0%}
100%{background-position:300%}
}

.nav-right{
display:flex;
align-items:center;
gap:35px;
}

nav a{
color:var(--white);
text-decoration:none;
font-size:.85rem;
letter-spacing:1.5px;
position:relative;
opacity:.7;
transition:.3s;
}

nav a:hover{
opacity:1;
}

nav a::after{
content:'';
position:absolute;
bottom:-6px;
left:0;
width:0;
height:1px;
background:var(--gold);
transition:.4s;
}

nav a:hover::after{
width:100%;
}

.nav-logo{
max-width:95px;
}

/* HERO */
.hero{
height:100vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
position:relative;
background:radial-gradient(circle at center,#111 0%,#000 70%);
}

.hero-bg{
position:absolute;
width:120%;
height:120%;
background:radial-gradient(circle at 50% 40%,rgba(255,255,255,0.04),transparent 60%);
animation:drift 20s infinite alternate ease-in-out;
}

@keyframes drift{
0%{transform:translateY(-20px);}
100%{transform:translateY(20px);}
}

.hero-content{
max-width:900px;
z-index:2;
animation:fadeInUp 1.8s ease forwards;
opacity:0;
transform:translateY(40px);
}

@keyframes fadeInUp{
to{opacity:1;transform:translateY(0);}
}

.hero-title{
font-family:'Playfair Display',serif;
font-size:3.8rem;
letter-spacing:3px;
margin-bottom:25px;
}

.hero-sub{
font-weight:300;
opacity:.75;
letter-spacing:1px;
}

.gold-line{
width:120px;
height:2px;
margin:30px auto;
background:linear-gradient(90deg,transparent,var(--gold),transparent);
background-size:200%;
animation:goldSweep 4s infinite;
}

@keyframes goldSweep{
0%{background-position:-200%}
100%{background-position:200%}
}

/* WHITE SECTION */
.white-section{
background:var(--white);
color:#111;
padding:140px 8%;
text-align:center;
}

.section-logo{
max-width:150px;
margin-bottom:40px;
}

.section-inner{
max-width:900px;
margin:auto;
}

/* DARK SECTION */
.dark-section{
background:var(--deep);
padding:140px 8%;
text-align:center;
}

.portfolio-card{
background:rgba(255,255,255,0.02);
padding:60px;
max-width:800px;
margin:70px auto;
border:1px solid rgba(255,255,255,0.05);
border-top:2px solid var(--gold);
transition:.4s ease;
backdrop-filter:blur(6px);
}

.portfolio-card:hover{
transform:translateY(-12px);
box-shadow:0 25px 50px rgba(0,0,0,0.6);
}

.program-sub{
letter-spacing:2px;
font-size:.75rem;
opacity:.6;
margin-bottom:20px;
}

/* BUTTON */
.btn{
display:inline-block;
margin-top:35px;
padding:14px 32px;
border:1px solid var(--gold);
color:var(--white);
text-decoration:none;
letter-spacing:1px;
transition:.3s;
}

.btn:hover{
background:var(--gold);
color:#000;
}

/* FOOTER */
footer{
background:#000;
padding:70px 8%;
}

.footer-inner{
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
opacity:.6;
font-size:.85rem;
}
