@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;1,9..40,300&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --black:#151515;
  --white:#f4f1ec;
  --accent:#faa61e;
  --mid:#1f1f1f;
  --mid2:#282828;
  --muted:#777;
  --border:rgba(244,241,236,0.09);
  --pad:clamp(20px,5vw,64px);
  --nav-h:64px;
}

html{scroll-behavior:smooth}
body{background:var(--black);color:var(--white);font-family:'DM Sans',sans-serif;font-weight:300;overflow-x:hidden}

/* ── CURSOR (mouse devices only) ─────────────────────── */
.cursor,.cursor-ring{display:none;pointer-events:none;position:fixed;border-radius:50%;z-index:9999;transform:translate(-50%,-50%)}

@media(hover:hover) and (pointer:fine){
  body{cursor:none}
  .cursor{display:block;width:10px;height:10px;background:var(--accent);top:0;left:0;transition:width .25s,height .25s}
  .cursor-ring{display:block;width:38px;height:38px;border:1.5px solid rgba(250,166,30,.5);top:0;left:0;z-index:9998;transition:width .25s,height .25s,border-color .25s}
  .cursor.hover{width:18px;height:18px}
  .cursor-ring.hover{width:54px;height:54px;border-color:var(--accent)}
}

/* ── NAV ─────────────────────────────────────────────── */
#mainNav{
  position:fixed;inset:0 0 auto 0;height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 var(--pad);z-index:1000;
  transition:background .4s,border-color .4s,backdrop-filter .4s;
  border-bottom:1px solid transparent;
}
#mainNav.scrolled{background:rgba(21,21,21,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:var(--border)}

.nav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.nav-logo img{display:block;width:clamp(90px,18vw,160px);height:auto}

.nav-links{display:flex;gap:clamp(18px,3vw,36px);list-style:none}
.nav-links a{color:var(--muted);text-decoration:none;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;transition:color .3s;position:relative;padding-bottom:3px}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--accent);transition:width .3s}
.nav-links a:hover,.nav-links a.active{color:var(--white)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}

/* Hamburger */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:8px;z-index:1002;flex-shrink:0}
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--white);border-radius:2px;transition:transform .3s,opacity .3s}
.nav-toggle.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-toggle.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Fullscreen drawer */
#navDrawer{
  position:fixed;inset:0;background:var(--black);
  z-index:1001;display:flex;flex-direction:column;justify-content:center;
  padding:var(--nav-h) var(--pad) var(--pad);
  opacity:0;pointer-events:none;transition:opacity .3s;
}
#navDrawer.open{opacity:1;pointer-events:all}
#navDrawer ul{list-style:none}
#navDrawer ul li{border-bottom:1px solid var(--border)}
#navDrawer ul li:first-child{border-top:1px solid var(--border)}
#navDrawer ul a{display:block;padding:20px 0;font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(28px,9vw,52px);letter-spacing:-.025em;color:var(--white);text-decoration:none;transition:color .25s,padding-left .25s}
#navDrawer ul a:hover,#navDrawer ul a.active{color:var(--accent);padding-left:10px}
#navDrawer .drawer-sub{margin-top:32px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

@media(max-width:768px){
  .nav-links{display:none}
  .nav-toggle{display:flex}
}

/* ── MARQUEE ─────────────────────────────────────────── */
.marquee-wrap{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:13px 0;background:var(--mid)}
.marquee-track{display:flex;gap:44px;animation:marquee 26s linear infinite;white-space:nowrap}
.marquee-item{font-family:'Syne',sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);flex-shrink:0}
.marquee-item span{color:var(--accent);margin:0 8px}

/* ── SECTION LABELS ──────────────────────────────────── */
.section-label{font-size:.67rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;display:flex;align-items:center;gap:12px}
.section-label::before{content:'';display:inline-block;width:22px;height:1px;background:var(--accent)}
.section-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(26px,4.5vw,58px);line-height:1.06;letter-spacing:-.025em}

/* ── BUTTONS ─────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:var(--black);text-decoration:none;font-family:'Syne',sans-serif;font-weight:700;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;padding:15px 28px;border:none;transition:transform .3s,background .3s;white-space:nowrap}
.btn:hover{transform:translateY(-3px);background:#e8960e}
.btn svg{transition:transform .3s;flex-shrink:0}
.btn:hover svg{transform:translateX(4px)}

.btn-outline{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--white);text-decoration:none;font-family:'Syne',sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;padding:13px 26px;border:1px solid var(--border);transition:border-color .3s,color .3s,transform .3s;white-space:nowrap}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}

/* ── PROJECT CARD ────────────────────────────────────── */
.project-card{position:relative;overflow:hidden;background:var(--mid);aspect-ratio:4/5;display:block;text-decoration:none}
.project-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:transform .6s ease}
.project-card:hover .project-bg{transform:scale(1.05)}
.project-bg img{width:100%;height:100%;object-fit:cover;display:block}
/* Always-visible overlay — works for both hover and touch */
.project-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(21,21,21,.95) 0%,rgba(21,21,21,.1) 55%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(12px,3vw,28px)}
.project-tag{font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:5px;line-height:1.5}
.project-name{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(.85rem,2.2vw,1.25rem);letter-spacing:-.01em;color:var(--white);line-height:1.2}
.project-arrow{position:absolute;top:12px;right:12px;width:32px;height:32px;border:1px solid rgba(244,241,236,.35);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .3s,border-color .3s}
.project-card:hover .project-arrow{background:var(--accent);border-color:var(--accent)}

/* ── PAGE HERO (shared) ──────────────────────────────── */
.page-hero{padding:clamp(100px,18vw,160px) var(--pad) clamp(44px,7vw,80px);position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.page-hero-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;user-select:none;overflow:hidden;z-index:0}
.page-hero-bg img{width:80vw;max-width:900px;opacity:.04}
.page-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(38px,8vw,100px);line-height:.93;letter-spacing:-.03em;opacity:0;animation:fadeUp .8s .3s forwards;position:relative;z-index:1}
.page-title em{color:var(--accent);font-style:italic}
.page-subtitle{margin-top:20px;max-width:480px;font-size:clamp(.88rem,1.8vw,1.05rem);line-height:1.75;color:rgba(244,241,236,.55);opacity:0;animation:fadeUp .8s .5s forwards;position:relative;z-index:1}

/* ── FOOTER ──────────────────────────────────────────── */
footer{padding:clamp(20px,3vw,32px) var(--pad);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);flex-wrap:wrap;gap:14px}
footer .footer-logo img{display:block;width:clamp(70px,14vw,100px);opacity:.55}
.footer-copy{font-size:.66rem;color:var(--muted)}

/* ── REVEAL ──────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.34s}

/* ── ANIMATIONS ──────────────────────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
