*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#f5f4f2;
  --dark:#0a0a0a;
  --text:#0a0a0a;
  --muted:#888;
  --border:#e0e0e0;
  --gold:#c9a84c;
  --gold-light:#e8c96a;
  --font:'Poppins',sans-serif;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font);overflow-x:hidden}

/* ── CUSTOM CURSOR (fine pointer only) ── */
@media(hover:hover) and (pointer:fine){
  body{cursor:none}
  #cursor{
    position:fixed;width:12px;height:12px;border-radius:50%;
    pointer-events:none;z-index:9999;
    transform:translate(-50%,-50%);
    mix-blend-mode:difference;
    background:#fff;
    transition:width 0.25s,height 0.25s,opacity 0.25s;
  }
  #cursor-ring{
    position:fixed;width:40px;height:40px;
    border:1.5px solid rgba(255,255,255,0.5);
    border-radius:50%;
    pointer-events:none;z-index:9998;
    transform:translate(-50%,-50%);
    mix-blend-mode:difference;
    transition:width 0.3s,height 0.3s,border-color 0.3s;
  }
  body:has(a:hover) #cursor,
  body:has(button:hover) #cursor{ width:20px;height:20px; }
}
@media not all and (hover:hover) and (pointer:fine){
  #cursor,#cursor-ring,#cursor-label{display:none!important}
  .scroll-hint{display:none}
}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  padding:0 52px;height:64px;
  display:flex;align-items:center;justify-content:space-between;
  transition:background 0.4s,backdrop-filter 0.4s,border-color 0.4s;
  border-bottom:1px solid transparent;
}
nav.solid{
  background:rgba(245,244,242,0.88);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom-color:rgba(0,0,0,0.07);
}
.nav-logo{font-size:0.82rem;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:0.1em;text-transform:uppercase}
.nav-links{display:flex;gap:32px;list-style:none}
.nav-links a{color:var(--muted);text-decoration:none;font-size:0.7rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;transition:color 0.2s}
.nav-links a:hover{color:var(--text)}
.nav-cta{
  padding:8px 22px;border:1.5px solid var(--text);
  color:var(--text);text-decoration:none;font-size:0.68rem;font-weight:600;
  letter-spacing:0.12em;text-transform:uppercase;border-radius:2px;
  transition:background 0.25s,color 0.25s;
  box-sizing:border-box;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:35px;
}
.nav-cta:hover{background:transparent;color:var(--text)}



/* ── HERO ── */
#hero-scroll{position:relative;height:650vh}
.hero-sticky{position:sticky;top:0;height:100vh;width:100%;overflow:hidden;background:var(--bg)}

#hero-canvas{
  position:absolute;top:64px;left:0;
  width:55%;height:calc(100vh - 64px);
  display:block;object-fit:cover;object-position:top center;z-index:1;
}


#hero-grad{display:none}

#hero-divider{
  position:absolute;top:64px;left:55%;width:1px;height:calc(100vh - 64px);
  background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,0.1) 20%,rgba(0,0,0,0.1) 80%,transparent 100%);
  z-index:8;pointer-events:none;
}
/* Intro text layer */
#intro-text{
  position:absolute;top:64px;right:0;
  width:45%;height:calc(100vh - 64px);
  z-index:10;
  display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;
  padding:0 64px 0 52px;pointer-events:none;
}
.intro-greeting{
  font-size:0.68rem;font-weight:600;letter-spacing:0.32em;text-transform:uppercase;
  color:#555;margin-bottom:10px;
  opacity:0;transform:translateY(14px);
  animation:riseIn 0.7s cubic-bezier(0.22,1,0.36,1) 0.3s forwards;
}
.intro-name{
  font-size:clamp(2.6rem,5.5vw,6rem);font-weight:900;line-height:0.92;
  color:var(--text);letter-spacing:-0.03em;text-align:left;
  -webkit-text-stroke:1.5px var(--gold);paint-order:stroke fill;
  opacity:0;transform:translateY(28px);
  animation:riseIn 0.85s cubic-bezier(0.22,1,0.36,1) 0.5s forwards;
}
.intro-role{
  margin-top:16px;font-size:clamp(0.82rem,1.4vw,1.1rem);
  font-weight:400;color:#555;letter-spacing:0.08em;
  opacity:0;transform:translateY(14px);
  animation:riseIn 0.7s cubic-bezier(0.22,1,0.36,1) 0.72s forwards;
}
.scroll-hint{
  position:relative;margin-top:36px;
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  opacity:0;animation:riseIn 0.7s ease 1.1s forwards;cursor:pointer;
}
.scroll-hint span{font-size:0.6rem;font-weight:700;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold)}
.scroll-arrow-icon{
  position:relative;width:52px;height:52px;border-radius:50%;
  background:var(--dark);display:flex;align-items:center;justify-content:center;
  animation:scrollBounce 2s ease-in-out infinite;
  box-shadow:0 0 0 0 rgba(201,168,76,0.4);
}
.scroll-arrow-icon::before{
  content:'';position:absolute;inset:-8px;border-radius:50%;
  border:1px solid rgba(201,168,76,0.3);
  animation:pulseRing 2s ease-in-out infinite;
}
.scroll-arrow-icon::after{
  content:'';position:absolute;inset:-16px;border-radius:50%;
  border:1px solid rgba(201,168,76,0.15);
  animation:pulseRing 2s ease-in-out infinite 0.3s;
}
.scroll-arrow-icon svg{width:18px;height:18px;stroke:#fff;stroke-width:2;fill:none;position:relative;z-index:1}
@keyframes scrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes pulseRing{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.4;transform:scale(1.1)}}
#intro-text.gone{display:none}

/* Stage layer */
#stage-layer{position:absolute;inset:0;z-index:9;pointer-events:none;opacity:0;transition:opacity 0.5s}
#stage-layer.active{opacity:1;pointer-events:auto}

.stage-card{
  position:absolute;left:55%;right:0;top:64px;
  width:45%;max-width:none;height:calc(100vh - 64px);
  padding:0 64px 0 52px;box-sizing:border-box;z-index:20;
  display:flex;flex-direction:column;justify-content:center;
  transform:translateY(12px);opacity:0;pointer-events:none;
  transition:transform 0.7s cubic-bezier(0.22,1,0.36,1),opacity 0.6s cubic-bezier(0.22,1,0.36,1);
}
.stage-card.visible{transform:none;opacity:1;pointer-events:auto}
.stage-card.exit{
  transform:translateY(-8px);opacity:0;
  transition:transform 0.4s cubic-bezier(0.4,0,0.6,1),opacity 0.35s ease;
}
.sc-num{
  font-size:0.56rem;font-weight:700;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--gold);margin-bottom:12px;
  display:flex;align-items:center;gap:10px;
}
.sc-num::before{content:'';display:block;width:22px;height:1.5px;background:var(--gold)}
.sc-title{
  font-size:clamp(2rem,4vw,3.2rem);font-weight:900;
  color:var(--text);line-height:1.02;letter-spacing:-0.03em;margin-bottom:12px;
  -webkit-text-stroke:1px var(--gold);paint-order:stroke fill;
}
.sc-desc{
  font-size:0.78rem;font-weight:400;color:#555;line-height:1.8;
  border-left:2px solid var(--gold);padding-left:14px;max-width:300px;
}
.stage-card.visible .sc-num{animation:riseChild 0.55s cubic-bezier(0.22,1,0.36,1) 0.04s both}
.stage-card.visible .sc-title{animation:riseChild 0.6s cubic-bezier(0.22,1,0.36,1) 0.11s both}
.stage-card.visible .sc-desc{animation:riseChild 0.6s cubic-bezier(0.22,1,0.36,1) 0.2s both}

.prog-dots{
  position:absolute;right:44px;top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;gap:10px;z-index:20;
}
.dot{width:6px;height:6px;border-radius:50%;background:rgba(0,0,0,0.15);transition:background 0.3s,transform 0.3s}
.dot.on{background:var(--gold);transform:scale(1.5)}

@keyframes riseIn{to{opacity:1;transform:translateY(0)}}
@keyframes riseChild{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes linePulse{0%,100%{opacity:0.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.2)}}

/* ── SECTION ANIMATIONS ── */
[data-a]{opacity:0;will-change:transform,opacity}
[data-a="up"]{transform:translateY(44px)}
[data-a="left"]{transform:translateX(-36px)}
[data-a="right"]{transform:translateX(36px)}
[data-a="scale"]{transform:scale(0.93)}
[data-a="clip"]{clip-path:inset(100% 0 0 0);transform:translateY(16px)}
[data-a].in{
  opacity:1;transform:none;clip-path:inset(0% 0 0 0);
  transition:opacity 0.95s cubic-bezier(0.22,1,0.36,1),
             transform 0.95s cubic-bezier(0.22,1,0.36,1),
             clip-path 0.95s cubic-bezier(0.22,1,0.36,1);
}
[data-d="1"].in{transition-delay:0.08s}
[data-d="2"].in{transition-delay:0.18s}
[data-d="3"].in{transition-delay:0.28s}
[data-d="4"].in{transition-delay:0.4s}
[data-d="5"].in{transition-delay:0.54s}
[data-d="6"].in{transition-delay:0.68s}

/* ── SECTION BASE ── */
.section-inner{max-width:1080px;margin:0 auto}
.sec-eyebrow{
  font-size:0.6rem;font-weight:700;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--gold);margin-bottom:14px;display:flex;align-items:center;gap:10px;
}
.sec-eyebrow::before{content:'';display:block;width:20px;height:1.5px;background:var(--gold)}

/* ── ABOUT (white) ── */
#about{background:#fff;padding:140px 56px;border-top:1px solid var(--border)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-img-wrap{position:relative}
.about-img{
  width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;
  display:block;filter:grayscale(10%);
}
.about-img-accent{
  position:absolute;bottom:-16px;right:-16px;
  width:60%;height:60%;
  border:2px solid var(--gold);
  z-index:-1;
}
.about-text h2{
  font-size:clamp(2rem,3.5vw,3rem);font-weight:800;line-height:1.12;
  color:var(--text);letter-spacing:-0.03em;margin-bottom:24px;
}
.about-text h2 em{font-style:normal;color:var(--gold)}
.about-body{font-size:0.88rem;line-height:1.95;color:#555;margin-bottom:16px;font-weight:300}
.about-typewriter .tw-word{
  color:rgba(0,0,0,0.3);
  background-image:linear-gradient(120deg,rgba(201,168,76,0.12),rgba(201,168,76,0.12));
  background-size:0% 40%;
  background-repeat:no-repeat;
  background-position:0 88%;
  transition:color 0.3s ease,background-size 0.35s ease;
}
.about-typewriter .tw-word.is-typed{
  color:#555;
  background-size:100% 40%;
}
@media (prefers-reduced-motion:reduce){
  .about-typewriter .tw-word{color:#555;background:none}
}
.about-links{display:flex;gap:12px;margin-top:32px;flex-wrap:nowrap}
.about-link{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;border:1.5px solid var(--border);white-space:nowrap;
  font-size:0.7rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--text);text-decoration:none;border-radius:2px;
  transition:border-color 0.2s,color 0.2s;
}
.about-link:hover{border-color:var(--gold);color:var(--gold)}
.about-link svg{width:14px;height:14px;flex-shrink:0}

/* ── STATS TICKER ── */
#stats{background:var(--dark);padding:60px 56px;overflow:hidden}
.stats-track{
  display:flex;gap:80px;
  animation:ticker 20s linear infinite;
  width:max-content;
}
.stats-track:hover{animation-play-state:paused}
.stat-item{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex-shrink:0}
.stat-n{font-size:3.5rem;font-weight:900;color:var(--gold);line-height:1;letter-spacing:-0.04em}
.stat-l{font-size:0.8rem;font-weight:500;color:#999;letter-spacing:0.1em;text-transform:uppercase;line-height:1.35;max-width:12rem;white-space:normal}
.stats-sep{font-size:2rem;color:#222;flex-shrink:0;align-self:center}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── EXPERIENCE (dark) ── */
#experience{background:var(--dark);padding:120px 56px}
#experience .sec-eyebrow{color:var(--gold)}
.exp-header{margin-bottom:72px}
.exp-title{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;color:#fff;line-height:1.1;letter-spacing:-0.03em;margin-top:12px}

.exp-list{display:flex;flex-direction:column;gap:0}
.exp-item{
  display:grid;grid-template-columns:200px 1fr;
  gap:28px;
  padding:24px 0;
  border-top:1px solid #161616;
  transition:border-color 0.3s;
}
.exp-item:hover{border-top-color:#333}
.exp-item:last-child{border-bottom:1px solid #161616}
.exp-meta{}
.exp-period{font-size:0.68rem;font-weight:600;letter-spacing:0.12em;color:var(--gold);text-transform:uppercase;margin-bottom:6px}
.exp-location{font-size:0.7rem;font-weight:400;color:#444;letter-spacing:0.04em}
.exp-body{}
.exp-role{font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:4px;letter-spacing:-0.01em}
.exp-company{font-size:0.8rem;font-weight:500;color:#888;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:0}
.exp-bullets{list-style:none;display:flex;flex-direction:column;gap:8px;padding-top:24px}
.exp-bullets li{
  font-size:0.88rem;line-height:1.75;color:#b8b8b8;font-weight:400;
  padding-left:16px;position:relative;
}
.exp-bullets li::before{content:'—';position:absolute;left:0;color:var(--gold);font-size:0.7rem}
.exp-tag{
  display:inline-block;padding:3px 10px;
  border:1px solid #222;font-size:0.58rem;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;color:#555;
  border-radius:2px;margin-top:0;margin-right:6px;
}

/* ── WORK (bg) ── */
#work{background:var(--bg);padding:120px 56px;border-top:1px solid var(--border);scroll-margin-top:80px}
.work-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px}
.work-h{font-size:clamp(2.2rem,5vw,4rem);font-weight:800;line-height:1;color:var(--text);letter-spacing:-0.04em}
.work-sub{font-size:0.68rem;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted)}

.work-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:400px 320px;gap:12px}
.wcard{position:relative;overflow:hidden;cursor:pointer;border-radius:16px}
.wcard:hover .cbg{transform:scale(1.04)}
.wca{grid-column:1/8;grid-row:1}.wcb{grid-column:8/13;grid-row:1}
.wcc{grid-column:1/5;grid-row:2}.wcd{grid-column:5/13;grid-row:2}
.cbg{width:100%;height:100%;display:flex;align-items:flex-end;padding:24px;transition:transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94)}
.wca .cbg{background:#f3f3f5;position:relative;align-items:flex-end}
.wca .wcard-thumb{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center center;
}
.wca .cbg-inner{
  position:relative;z-index:2;width:100%;
  background:linear-gradient(to top,rgba(255,255,255,0.94) 0%,rgba(255,255,255,0.5) 38%,transparent 100%);
  padding-top:56px;
}
.wca .ctitle{color:#111;margin-bottom:2px}
.wca .ctag{color:#666;margin-bottom:4px}
.wca .csubtitle{color:rgba(17,17,17,0.72)}
.wcb .cbg{background:#12061f;position:relative;align-items:flex-end;padding:0;overflow:hidden}
.wcb .wcard-thumb{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center center;
}
.wcb .cbg-inner{
  position:relative;z-index:2;width:100%;
  padding:24px;padding-top:48px;
  background:linear-gradient(to top,rgba(18,6,31,0.94) 0%,rgba(18,6,31,0.35) 42%,transparent 100%);
}
.wcb .ctag{color:rgba(255,255,255,0.72)}
.wcb .ctitle{color:#fff}
.wcb .csubtitle{color:rgba(255,255,255,0.78)}
.wcc .cbg{background:linear-gradient(145deg,#f2ede8,#e0d2c8)}
.wcd .cbg{background:#f0c9a8;position:relative;align-items:flex-end;padding:0;overflow:hidden}
.wcd .wcard-thumb{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center center;
}
.wcd .cbg-inner{
  position:relative;z-index:2;width:100%;
  padding:24px 24px 20px;
  padding-top:48px;
  background:linear-gradient(to top,rgba(253,232,208,0.92) 0%,rgba(253,232,208,0.25) 35%,transparent 100%);
}
.wcd .ctag{color:rgba(90,45,10,0.7)}
.wcd .ctitle{color:#5a2d0a}
.wcd .csubtitle{color:rgba(90,45,10,0.65)}
.ctag{font-size:0.56rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:#777;margin-bottom:6px}
.ctitle{font-size:1rem;font-weight:700;color:#111;letter-spacing:-0.01em}
.card-arrow{
  position:absolute;top:20px;right:20px;
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(6px);
  transition:opacity 0.3s,transform 0.3s,background 0.3s,border-color 0.3s;
  z-index:3;
}
.wcard:hover .card-arrow{opacity:1;transform:translateY(0)}
.card-arrow svg{width:14px;height:14px;fill:none;stroke-width:2}
/* Dark card backgrounds → white arrow */
.wcard.arrow-on-dark .card-arrow{
  background:rgba(0,0,0,0.55);
  border:1px solid rgba(255,255,255,0.35);
  color:#fff;
}
.wcard.arrow-on-dark .card-arrow svg{stroke:#fff}
/* Light card backgrounds → dark arrow */
.wcard.arrow-on-light .card-arrow{
  background:#fff;
  border:1px solid rgba(0,0,0,0.12);
  color:#0a0a0a;
}
.wcard.arrow-on-light .card-arrow svg{stroke:#0a0a0a}

/* ── VIEW ALL PROJECTS ── */
.work-footer{text-align:center;margin-top:56px}
.view-all-btn{
  display:inline-flex;align-items:center;gap:12px;
  padding:16px 40px;border:1.5px solid var(--text);
  font-size:0.78rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--text);text-decoration:none;
  transition:background 0.3s ease,color 0.3s ease;
}
.view-all-btn:hover{background:var(--text);color:var(--bg)}
.view-all-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;transition:transform 0.3s ease}
.view-all-btn:hover svg{transform:translateX(4px)}

/* ── SKILLS (white) ── */
#skills{background:#fff;padding:120px 56px;border-top:1px solid var(--border)}
.skills-header{margin-bottom:64px}
.skills-h{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;line-height:1.1;color:var(--text);letter-spacing:-0.03em;margin-top:12px}

.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);align-items:stretch}
.skill-cat{
  background:#fff;
  padding:40px 36px;
  display:flex;flex-direction:column;
}
.skill-cat-title{
  font-size:0.62rem;font-weight:700;letter-spacing:0.24em;text-transform:uppercase;
  color:var(--gold);margin-bottom:24px;
}
.skill-tags{display:flex;flex-wrap:wrap;gap:8px;flex:1;align-content:flex-start}
.skill-tag{
  padding:7px 14px;border:1px solid #e8e8e8;
  font-size:0.72rem;font-weight:400;letter-spacing:0.03em;
  color:#444;transition:border-color 0.2s,color 0.2s,background 0.2s;
  border-radius:2px;
}
.skill-tag:hover{border-color:var(--gold);color:var(--text);background:#fdf8ee}

/* ── ACHIEVEMENTS (dark) ── */
#achievements{background:var(--dark);padding:120px 56px}
#achievements .sec-eyebrow{color:var(--gold)}
.ach-header{margin-bottom:64px}
.ach-title{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;color:#fff;line-height:1.1;letter-spacing:-0.03em;margin-top:12px}

.ach-spotlight{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
  padding:60px;background:#111;border:1px solid #1e1e1e;border-radius:4px;
  margin-bottom:40px;
}
.ach-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;background:rgba(201,168,76,0.12);
  border:1px solid rgba(201,168,76,0.3);
  border-radius:2px;
  font-size:0.6rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:20px;
}
.ach-name{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;color:#fff;line-height:1.15;letter-spacing:-0.02em;margin-bottom:12px}
.ach-company{font-size:0.78rem;font-weight:400;color:#666;letter-spacing:0.06em;margin-bottom:20px}
.ach-desc{font-size:0.85rem;line-height:1.8;color:#777;font-weight:300}
.ach-img-wrap{
  aspect-ratio:4/3;overflow:hidden;border-radius:3px;
  background:#1a1a1a;
  display:flex;align-items:center;justify-content:center;
}
.ach-img-placeholder{
  display:flex;flex-direction:column;align-items:center;gap:12px;
  padding:40px;text-align:center;
}
.ach-img-placeholder svg{width:48px;height:48px;color:var(--gold);opacity:0.4}
.ach-img-placeholder p{font-size:0.78rem;color:#444;font-weight:300;line-height:1.6}

/* ── PROCESS (bg) ── */
#process{background:var(--bg);padding:120px 56px 64px;border-top:1px solid var(--border)}
.proc-header{margin-bottom:72px}
.proc-h{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;color:var(--text);line-height:1.1;letter-spacing:-0.03em;margin-top:12px}
.proc-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--border)}
.pstep{padding:40px 28px 40px 28px;border-right:1px solid var(--border);position:relative}
.pstep:last-child{border-right:none;padding-right:28px}
.pstep-icon{margin-bottom:20px;width:36px;height:36px;background:rgba(201,168,76,0.08);border:1px solid rgba(201,168,76,0.2);border-radius:8px;display:flex;align-items:center;justify-content:center}
.pstep-icon svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pstep::before{
  content:attr(data-n);
  position:absolute;top:40px;right:32px;
  font-size:4rem;font-weight:900;color:rgba(0,0,0,0.04);
  line-height:1;letter-spacing:-0.04em;
}
.pnum{display:none}
.pname{font-size:1.15rem;font-weight:700;color:var(--text);margin-bottom:12px;line-height:1.25}
.pdesc{font-size:0.82rem;line-height:1.9;color:#666;font-weight:300}


#contact .contact-lbl,
#contact .contact-h,
#contact .contact-sub,
#contact .contact-actions,
#contact .contact-info{
  opacity:0;
  transform:translateY(20px);
  transition:opacity 0.6s ease,transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
#contact.revealed .contact-lbl{opacity:1;transform:none;transition-delay:0s}
#contact.revealed .contact-h{opacity:1;transform:none;transition-delay:0.1s}
#contact.revealed .contact-sub{opacity:1;transform:none;transition-delay:0.2s}
#contact.revealed .contact-actions{opacity:1;transform:none;transition-delay:0.3s}
#contact.revealed .contact-info{opacity:1;transform:none;transition-delay:0.4s}
/* ── CONTACT ── */
#contact{
  background:var(--dark);padding:56px 56px 48px;text-align:center;
  position:relative;overflow:hidden;
}
.contact-glow{
  position:absolute!important;top:50%;left:50%;
  width:600px;height:600px;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(201,168,76,0.06) 0%,transparent 70%);
  pointer-events:none;
}
.contact-lbl{font-size:0.6rem;font-weight:700;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;position:relative;z-index:1}
.contact-h{
  font-size:clamp(2.5rem,7vw,6.5rem);font-weight:900;line-height:1.04;
  color:#fff;margin-bottom:16px;letter-spacing:-0.04em;position:relative;z-index:1;
  white-space:nowrap;
}
.contact-h em{font-style:normal;-webkit-text-stroke:1px var(--gold);color:transparent}
.contact-sub{font-size:0.88rem;color:#444;font-weight:300;margin-bottom:36px;position:relative;z-index:1}
.contact-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}
.contact-btn{
  display:inline-block;padding:14px 48px;
  background:var(--gold);color:var(--dark);
  text-decoration:none;font-size:0.7rem;font-weight:700;
  letter-spacing:0.16em;text-transform:uppercase;border-radius:2px;
  transition:opacity 0.2s,transform 0.2s;
}
.contact-btn:hover{opacity:0.85;transform:translateY(-3px)}
.contact-btn-outline{
  display:inline-block;padding:14px 48px;
  border:1.5px solid #222;color:#555;
  text-decoration:none;font-size:0.7rem;font-weight:600;
  letter-spacing:0.16em;text-transform:uppercase;border-radius:2px;
  transition:border-color 0.2s,color 0.2s;
}
.contact-btn-outline:hover{border-color:#555;color:#999}

.contact-info{
  display:flex;gap:48px;justify-content:center;margin-top:40px;
  padding-top:40px;border-top:1px solid #161616;
  position:relative;z-index:1;
}
.cinfo-item{text-align:left}
.cinfo-label{font-size:0.58rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:#333;margin-bottom:6px}
.cinfo-val{font-size:0.88rem;font-weight:400;color:#666}
.cinfo-val a{color:#666;text-decoration:none;transition:color 0.2s}
.cinfo-val a:hover{color:var(--gold)}

footer{background:var(--dark)}
.footer-links{display:flex;gap:24px}
.footer-links a{font-size:0.68rem;color:#333;text-decoration:none;letter-spacing:0.06em;transition:color 0.2s}
.footer-links a:hover{color:var(--gold)}


/* Achievement photos */
/* ach-photos replaced by carousel */


/* ── BEYOND WORK ── */
#beyond{background:#fff;padding:120px 56px;border-top:1px solid var(--border)}
.beyond-inner{max-width:1080px;margin:0 auto}
.beyond-header{margin-bottom:64px}
.beyond-h{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;line-height:1.1;color:var(--text);letter-spacing:-0.03em;margin-top:12px}

.beyond-grid{display:grid;grid-template-columns:5fr 7fr;gap:56px;margin-bottom:72px;align-items:stretch}
.beyond-interests{display:flex;flex-direction:column;gap:12px;justify-content:space-between;height:100%;overflow:visible;padding-top:6px}
.interest-item{display:flex;align-items:center;gap:20px;padding:16px 20px;border:1px solid var(--border);border-radius:4px;transition:border-color 0.2s,transform 0.2s;cursor:default}
.interest-item:hover{border-color:var(--gold);box-shadow:0 4px 20px rgba(0,0,0,0.06)}
.interest-icon{
  flex-shrink:0;width:44px;height:44px;
  background:#fdf8ee;border:1px solid rgba(201,168,76,0.2);
  border-radius:4px;display:flex;align-items:center;justify-content:center;
}
.interest-icon svg{width:20px;height:20px;color:var(--gold)}
.interest-text{}
.interest-name{font-size:0.95rem;font-weight:700;color:var(--text);margin-bottom:4px;letter-spacing:-0.01em}
.interest-desc{font-size:0.78rem;font-weight:300;color:#777;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Gallery carousel */
.gallery-wrap{position:relative;overflow:visible}
.gallery-track{
  display:flex;gap:16px;
  overflow:hidden;
  border-radius:4px;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding-bottom:4px;
  cursor:grab;
}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-track.dragging{cursor:grabbing;scroll-snap-type:none}
.gallery-slide{
  flex-shrink:0;
  width:100%;
  scroll-snap-align:start;
  border-radius:4px;
  overflow:hidden;
  position:relative;
}
.gallery-slide img{
  width:100%;aspect-ratio:3/2;
  object-fit:cover;object-position:center;
  display:block;
  transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);
}
.gallery-slide:hover img{transform:scale(1.04)}
.gallery-slide-caption{
  position:absolute;bottom:0;left:0;right:0;
  padding:16px 20px;
  background:linear-gradient(to top,rgba(0,0,0,0.7),transparent);
  font-size:0.7rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;
  color:rgba(255,255,255,0.85);
}

.gallery-controls{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:20px;
  padding-bottom:4px;
}
.gallery-dots{display:flex;gap:8px}
.gdot{width:6px;height:6px;border-radius:50%;background:var(--border);cursor:pointer;transition:background 0.2s,transform 0.2s}
.gdot.on{background:var(--gold);transform:scale(1.4)}
.gallery-btns{display:flex;gap:10px}
.gbtn{
  width:40px;height:40px;border-radius:50%;
  border:1.5px solid var(--border);background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:border-color 0.2s,background 0.2s;
}
.gbtn:hover{border-color:var(--gold);background:#fdf8ee}
.gbtn svg{width:16px;height:16px;color:var(--text)}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  nav{padding:0 24px}.nav-links,.nav-cta{display:none}
  .intro-name{font-size:clamp(2rem,8vw,3.5rem)}
  .sc-title{font-size:1.8rem}
  .prog-dots{right:16px}
  #about{padding:80px 24px}
  .about-grid{grid-template-columns:1fr;gap:48px}
  .about-media{order:-1}
  .about-img-wrap{max-width:min(100%,380px);margin:0 auto}
  .about-img-accent{bottom:-12px;right:-12px}
  .about-links{flex-wrap:wrap;gap:10px}
  #beyond{padding:80px 24px}
  .beyond-header{margin-bottom:40px}
  .beyond-grid{grid-template-columns:1fr;gap:32px;margin-bottom:48px}
  .beyond-interests{height:auto;justify-content:flex-start}
  .beyond-gallery{order:-1}
  .interest-desc{white-space:normal;overflow:visible;text-overflow:unset}
  .footer-bottom{
    grid-template-columns:1fr;
    justify-items:center;
    gap:10px;padding:20px 24px;text-align:center;
  }
  .footer-bottom .footer-copy,
  .footer-bottom .footer-tagline,
  .footer-bottom .footer-links{justify-self:center}
  #stats{padding:40px 24px}
  #experience{padding:80px 24px}
  .exp-item{grid-template-columns:1fr;gap:16px}
  #work{padding:80px 24px}.work-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .wca,.wcb,.wcc,.wcd{grid-column:1/-1;grid-row:auto;min-height:260px}
  #skills{padding:80px 24px}.skills-grid{grid-template-columns:1fr}
  #achievements{padding:80px 24px}.ach-spotlight{grid-template-columns:1fr;gap:40px;padding:36px}
  #process{padding:80px 24px}.proc-steps{grid-template-columns:1fr 1fr}
  .pstep{border-right:none;border-bottom:1px solid var(--border);padding:32px 0}
  .pstep:nth-child(odd){padding-right:0}
  .pstep:last-child{border-bottom:none;grid-column:1/-1}
  #contact{padding:48px 24px 40px}.contact-info{flex-direction:column;gap:28px;align-items:center}
  .contact-h{white-space:normal}
  footer{flex-direction:column;gap:0;padding:0;text-align:center}
}

@media(max-width:768px){
  #hero-scroll{height:420vh}
  #hero-canvas{
    left:0;width:100%;height:52vh;
    object-position:top center;
  }
  #hero-divider{display:none}
  #intro-text{
    position:relative;top:auto;right:auto;
    width:100%;height:auto;
    margin-top:calc(64px + 52vh);
    padding:32px 24px 48px;
    align-items:flex-start;justify-content:flex-start;
  }
  .intro-greeting{font-size:0.62rem}
  .intro-name{font-size:clamp(1.9rem,9vw,2.8rem)}
  .intro-role{font-size:0.82rem;margin-top:12px}
  .scroll-hint{margin-top:24px}
  .stage-card{
    left:0;right:0;top:calc(64px + 52vh);bottom:auto;
    width:100%;max-width:none;height:auto;min-height:0;
    padding:32px 24px 0;justify-content:flex-start;
  }
  .prog-dots{right:12px;bottom:12px;transform:scale(0.85);transform-origin:bottom right}
  .stat-n{font-size:2.5rem}
  #visuals .section-inner{padding:0 24px}
  #visuals{padding:80px 0 60px}
  .wca,.wcb,.wcc,.wcd{min-height:220px}
  .beyond-h{font-size:clamp(1.75rem,7vw,2.5rem)}
  .interest-item{padding:14px 16px;gap:14px}
  .interest-icon{width:40px;height:40px}
  .gallery-wrap{overflow:hidden}
  .gallery-slide img{aspect-ratio:4/3}
  .gallery-controls{margin-top:16px}
  footer{padding:0}
  .footer-hero-img{margin-bottom:0;opacity:0.85}
  .footer-bottom{padding:24px 20px 28px;gap:14px}
  .footer-links{flex-wrap:wrap;justify-content:center;gap:16px 20px}
  .footer-illustration{overflow-x:hidden}
  .footer-illustration img,.footer-illustration svg{max-width:100%}
}

/* ── CARD HOVER SUBTITLE ── */
.cbg-inner{display:flex;flex-direction:column}
.csubtitle{
  font-size:0.7rem;font-weight:400;color:rgba(0,0,0,0.5);
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height 0.4s cubic-bezier(0.25,0.46,0.45,0.94),opacity 0.35s ease,margin-top 0.3s ease;
  margin-top:0;line-height:1.5;
}
.wcard:hover .csubtitle{max-height:52px;opacity:1;margin-top:5px}

/* ── EXP LOGOS ── */
.exp-logo{margin-bottom:16px;height:28px;display:flex;align-items:center}
.exp-logo img{height:28px;width:auto;max-width:140px;object-fit:contain;display:block;filter:none}

/* ── FOOTER ILLUSTRATION ── */
.footer-illustration{
  background:var(--dark);padding:0 0;
  border-top:1px solid #111;overflow:hidden;
}
.footer-bottom{
  background:var(--dark);padding:20px 56px;
  border-top:1px solid #0f0f0f;
  display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;gap:24px;
}
.footer-bottom .footer-copy{justify-self:start;margin:0}
.footer-bottom .footer-tagline{justify-self:center;margin:0;text-align:center}
.footer-bottom .footer-links{justify-self:end}

/* ── SCROLL PROGRESS BAR ── */
#progress-bar{
  position:fixed;top:0;left:0;height:2px;width:0%;
  background:var(--gold);z-index:10000;pointer-events:none;
}

/* ── MOBILE NAV ── */
.hamburger{
  display:none;flex-direction:column;gap:5px;
  background:none;border:none;cursor:pointer;padding:4px;
}
@media(hover:hover) and (pointer:fine){
  .hamburger{cursor:none}
}
.hamburger span{
  display:block;width:22px;height:1.5px;background:var(--text);
  transition:transform 0.3s,opacity 0.3s;transform-origin:center;
}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobile-nav{
  position:fixed;inset:0;z-index:550;
  background:rgba(245,244,242,0.97);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:36px;
  opacity:0;pointer-events:none;
  transition:opacity 0.35s ease;
}
.mobile-nav.open{opacity:1;pointer-events:auto}
.mobile-nav a{
  font-size:1.8rem;font-weight:800;letter-spacing:-0.03em;
  color:var(--text);text-decoration:none;
  position:relative;transition:color 0.2s;
}
.mobile-nav a::after{
  content:'';position:absolute;bottom:-2px;left:0;
  width:0%;height:2px;background:var(--gold);
  transition:width 0.3s ease;
}
.mobile-nav a:hover{color:var(--gold)}
.mobile-nav a:hover::after{width:100%}
.mobile-nav .mn-cta{
  margin-top:8px;padding:12px 40px;
  background:var(--gold);color:var(--dark);
  font-size:0.72rem;font-weight:700;letter-spacing:0.14em;
  text-transform:uppercase;border-radius:2px;
  font-size:0.72rem;
}
.mobile-nav .mn-cta::after{display:none}
@media(max-width:900px){
  .hamburger{display:flex}
  .nav-cta{display:none!important}
}

/* ── ACTIVE NAV INDICATOR ── */
.nav-links a{position:relative}
.nav-links a::after{
  content:'';position:absolute;bottom:-4px;left:0;
  width:0;height:1.5px;background:var(--gold);
  transition:width 0.3s ease;
}
.nav-links a:hover::after,.nav-links a.nav-active::after{width:100%}

/* ── WORK CARD OVERLAY ── */
.card-overlay{
  position:absolute;bottom:0;left:0;right:0;
  padding:20px 24px 26px;
  background:linear-gradient(to top,rgba(10,10,10,0.85) 0%,transparent 100%);
  transform:translateY(100%);
  transition:transform 0.42s cubic-bezier(0.25,0.46,0.45,0.94);
  z-index:5;
}
.wcard:hover .card-overlay{transform:translateY(0)}
.card-overlay-metric{
  font-size:0.55rem;font-weight:700;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--gold);margin-bottom:5px;
}
.card-overlay-desc{
  font-size:0.8rem;font-weight:500;
  color:rgba(255,255,255,0.9);line-height:1.5;
}

/* ── NDA MODAL ── */
.nda-modal{
  position:fixed;inset:0;z-index:10050;
  display:flex;align-items:center;justify-content:center;
  padding:24px;pointer-events:none;opacity:0;
  transition:opacity 0.3s ease;
}
.nda-modal.is-open{pointer-events:auto;opacity:1}
.nda-modal-backdrop{
  position:absolute;inset:0;
  background:rgba(6,7,8,0.82);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.nda-modal-panel{
  position:relative;z-index:1;
  width:min(480px,100%);
  padding:40px 36px 36px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.1);
  background:#0d0f13;
  color:#f1efe8;
  text-align:center;
  transform:translateY(12px) scale(0.98);
  transition:transform 0.35s cubic-bezier(0.25,0.46,0.45,0.94);
}
.nda-modal.is-open .nda-modal-panel{transform:translateY(0) scale(1)}
.nda-modal-close{
  position:absolute;top:14px;right:16px;
  width:36px;height:36px;border:none;border-radius:50%;
  background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.7);
  font-size:22px;line-height:1;cursor:none;
  transition:background 0.2s,color 0.2s;
}
.nda-modal-close:hover{background:rgba(255,255,255,0.12);color:#fff}
.nda-modal-eyebrow{
  font-size:0.58rem;font-weight:700;letter-spacing:0.24em;
  text-transform:uppercase;color:var(--gold);margin-bottom:14px;
}
.nda-modal-panel h3{
  font-family:var(--display, sans-serif);font-size:clamp(1.6rem,4vw,2rem);
  font-weight:800;line-height:1.15;margin-bottom:16px;letter-spacing:-0.03em;
}
.nda-modal-body{
  font-size:0.92rem;line-height:1.65;color:#9ba0af;
  margin-bottom:28px;max-width:380px;margin-left:auto;margin-right:auto;
}
.nda-modal-actions{
  display:flex;gap:12px;justify-content:center;flex-wrap:wrap;
}
.nda-modal-actions .contact-btn-outline{
  border-color:rgba(255,255,255,0.18);color:rgba(255,255,255,0.65);
}
.nda-modal-actions .contact-btn-outline:hover{
  border-color:var(--gold);color:#fff;
}

body.nda-modal-open #cursor,
body.nda-modal-open #cursor-ring{
  z-index:10051;
}

/* ── NOISE TEXTURE on dark sections ── */
#stats,#experience,#achievements,#contact{position:relative}
#stats::before,#experience::before,#achievements::before,#contact::before{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:0.032;pointer-events:none;z-index:0;
}
#experience .section-inner,#achievements .section-inner,
#stats .stats-track,
#contact .contact-glow,#contact .contact-lbl,#contact .contact-h,
#contact .contact-sub,#contact .contact-actions,#contact .contact-info{
  position:relative;z-index:1;
}



/* ── BACK TO TOP ── */
#back-top{
  position:fixed;bottom:32px;right:36px;z-index:800;
  width:44px;height:44px;border-radius:50%;
  background:var(--dark);border:1.5px solid #2a2a2a;
  display:flex;align-items:center;justify-content:center;
  cursor:none;opacity:0;pointer-events:none;
  transition:opacity 0.3s,transform 0.3s,border-color 0.2s;
  transform:translateY(14px);
}
#back-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
#back-top:hover{border-color:var(--gold)}
#back-top svg{width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:900px){
  #back-top{bottom:20px;right:20px}
}

/* ── REDUCED MOTION ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:0.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:0.01ms!important;
  }
  .stats-track{animation:none!important}
}

/* ── VISUALS SHOWCASE ── */
#visuals{background:var(--dark);padding:120px 0 80px;border-top:1px solid #111}
#visuals .section-inner{padding:0 56px}
#visuals .sec-eyebrow{color:var(--gold)}
.visuals-header{margin-bottom:48px}
.visuals-h{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;color:#fff;line-height:1.1;letter-spacing:-0.03em;margin-top:12px}
.visuals-marquee-wrap{
  position:relative;overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);
}
.visuals-marquee{overflow:hidden}
.visuals-marquee-track{
  display:flex;align-items:center;gap:24px;width:max-content;
  animation:visuals-scroll var(--visuals-duration,36s) linear infinite;
  will-change:transform;
}
.visuals-marquee-wrap:hover .visuals-marquee-track{animation-play-state:paused}
@keyframes visuals-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.visuals-marquee-item{
  flex:0 0 auto;
}
.visuals-marquee-item img{
  display:block;
  width:min(420px,78vw);
  height:auto;
  max-height:min(480px,70vh);
  object-fit:contain;
  object-position:center;
}
.visuals-placeholder{padding:80px 24px;text-align:center;color:#555;font-size:0.85rem;border:1px dashed #333;border-radius:16px}
.visuals-marquee-track[data-visuals-ready] .visuals-placeholder{display:none}
@media (prefers-reduced-motion:reduce){
  .visuals-marquee-track{animation:none}
}

/* ── ACHIEVEMENTS CAROUSEL ── */
.ach-carousel-wrap{position:relative}
.ach-carousel{position:relative;overflow:hidden;border-radius:4px;max-height:360px}
.ach-carousel-track{display:flex;transition:transform 0.45s cubic-bezier(0.25,0.46,0.45,0.94)}
.ach-slide{flex:0 0 100%;min-width:100%}
.ach-slide img{width:100%;height:360px;object-fit:cover;display:block;border-radius:4px}
.ach-carousel-dots{display:flex;gap:8px;justify-content:center;margin-top:16px}
.ach-dot,.ach-carousel-dots .gdot{width:6px;height:6px;border-radius:50%;background:#333;cursor:pointer;transition:background 0.2s,transform 0.2s}
.ach-dot.on,.ach-carousel-dots .gdot.on{background:var(--gold);transform:scale(1.4)}

/* ── EXP ACCORDION ── */
.exp-toggle-row{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  width:100%;background:none;border:none;padding:0;cursor:pointer;text-align:left;
  color:inherit;font-family:inherit;
}
.exp-toggle-info{flex:1}
.exp-chevron{
  flex-shrink:0;width:28px;height:28px;border:1px solid #333;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:0.55rem;color:var(--gold);transition:transform 0.3s ease;
}
.exp-item.is-open .exp-chevron{transform:rotate(180deg)}
.exp-details{max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(0.22,1,0.36,1)}
.exp-item.is-open .exp-details{max-height:1200px}
.exp-company-sub{color:#888;font-weight:400;text-transform:none;letter-spacing:0}
.exp-tags-wrap{margin-top:4px}



/* ── INTEREST ACTIVE STATE ── */
.interest-item{cursor:pointer}
.interest-item.is-active{border-color:var(--gold);background:#fdf8ee}




/* ── FIX: NAV RESUME (secondary) ── */
.nav-resume{
  font-size:0.68rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--text);text-decoration:none;
  padding:8px 22px;border:none;border-radius:2px;
  background:rgba(0,0,0,0.06);
  transition:background 0.2s;
  box-sizing:border-box;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:35px;
}
.nav-resume:hover{background:rgba(0,0,0,0.1);color:var(--text)}
.nav-resume svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0}

/* ── FIX: HERO SCROLL CURSOR ── */
#cursor-label{
  position:fixed;pointer-events:none;z-index:10001;
  font-size:0.58rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;
  color:#fff;opacity:0;transition:opacity 0.25s;white-space:nowrap;
  background:rgba(10,10,10,0.88);padding:7px 14px;border-radius:999px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(255,255,255,0.12);
}
body.hero-active #cursor-label{opacity:1}
body.hero-active #cursor{opacity:0!important}
body.hero-active #cursor-ring{width:0;height:0;border:none;opacity:0!important}
body.nav-hover #cursor-label{opacity:0!important}
body.nav-hover #cursor{opacity:1!important}
body.nav-hover #cursor-ring{
  width:40px;height:40px;border:1.5px solid rgba(255,255,255,0.5);
  opacity:1!important;
}

/* ── FIX: CAREER ACCORDION (subtle) ── */
.exp-toggle-row{
  padding:14px 0;border:none;border-radius:0;
  transition:opacity 0.2s;
}
.exp-toggle-row:hover{opacity:0.85}
.exp-item.is-open .exp-toggle-row{opacity:1}
.exp-chevron{
  width:28px;height:28px;border:1px solid #ddd;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#888;transition:transform 0.3s ease,border-color 0.2s;
}
.exp-item.is-open .exp-chevron{transform:rotate(180deg);border-color:#bbb;color:#666}

/* ── FIX: APPROACH EQUAL HEIGHT ── */
.pstep{display:flex;flex-direction:column}
.pdesc{flex:1}

/* ── FIX: RECOGNITION CAROUSEL ── */
.ach-carousel .gallery-track{gap:0;width:100%;overflow:visible}
.ach-carousel .gallery-slide{flex:0 0 100%;min-width:100%}
.ach-carousel .gallery-slide img{height:360px;object-fit:cover}
.ach-carousel .gallery-track,#beyond .gallery-track{transition:transform 0.45s cubic-bezier(0.25,0.46,0.45,0.94)}
#achievements .gbtn{border-color:rgba(255,255,255,0.35);background:rgba(255,255,255,0.1);cursor:pointer}
#achievements .gbtn svg{color:#fff;stroke:#fff}
#achievements .gbtn:hover{border-color:var(--gold);background:rgba(201,168,76,0.25);transform:scale(1.06)}

/* ── FIX: FOOTER FULL IMAGE ── */
.footer-hero-wrap{
  position:relative;line-height:0;overflow:hidden;
}
.footer-hero-img{
  width:100%;height:auto;display:block;max-width:100%;opacity:0.8;
  margin-bottom:-54px;
}
.footer-hero-caption{
  display:none;
}
.footer-hero-caption .caption-gold{color:var(--gold)}
.footer-quote{
  display:none;
}
.footer-tagline{font-size:0.72rem;font-weight:400;color:#555;letter-spacing:0.02em;font-style:italic;margin:0}
.footer-bottom .footer-copy{font-size:0.68rem;font-weight:400;color:#333;letter-spacing:0.04em}

@media(max-width:900px){
  .footer-bottom{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:16px;
    padding:24px 20px 32px;
    text-align:center;
  }
  .footer-bottom .footer-copy,
  .footer-bottom .footer-tagline,
  .footer-bottom .footer-links{
    justify-self:unset;
    width:100%;
    max-width:28rem;
  }
  .footer-bottom .footer-copy{
    line-height:1.6;
    white-space:normal;
  }
  .footer-links{
    flex-direction:column;
    align-items:center;
    gap:12px;
  }
}

/* ── PAGE LOADER ── */
#page-loader{
  position:fixed;inset:0;z-index:100000;
  background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  transition:opacity 0.55s ease,visibility 0.55s ease;
}
#page-loader.is-done{
  opacity:0;visibility:hidden;pointer-events:none;
}
body.is-loading{overflow:hidden}
body.is-loading > :not(#page-loader){visibility:hidden}
body.is-loading #cursor,
body.is-loading #cursor-ring,
body.is-loading #cursor-label{
  visibility:visible;
  z-index:100001;
}
#page-loader,#page-loader *{visibility:visible}
.loader-inner{
  display:flex;flex-direction:column;align-items:center;
  gap:18px;text-align:center;padding:24px;
}
.loader-logo{
  font-size:clamp(2.4rem,8vw,3.6rem);
  font-weight:900;letter-spacing:0.22em;
  color:transparent;
  -webkit-text-stroke:1.5px var(--gold);
  paint-order:stroke fill;
  animation:loaderPulse 2.4s ease-in-out infinite;
}
.loader-track{
  width:min(220px,72vw);height:2px;
  background:rgba(201,168,76,0.18);
  border-radius:999px;overflow:hidden;
}
.loader-bar{
  width:0;height:100%;
  background:linear-gradient(90deg,var(--gold),var(--gold-light));
  border-radius:999px;
  transition:width 0.35s cubic-bezier(0.22,1,0.36,1);
}
.loader-label{
  font-size:0.62rem;font-weight:600;
  letter-spacing:0.28em;text-transform:uppercase;
  color:var(--muted);
}
.loader-dots::after{
  content:'';animation:loaderDots 1.4s steps(4,end) infinite;
}
.loader-pct{
  font-size:0.72rem;font-weight:700;
  letter-spacing:0.12em;color:var(--gold);
  font-variant-numeric:tabular-nums;
}
@keyframes loaderPulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:0.72;transform:scale(0.98)}
}
@keyframes loaderDots{
  0%{content:''}
  25%{content:'.'}
  50%{content:'..'}
  75%{content:'...'}
}
@media (prefers-reduced-motion:reduce){
  #page-loader,.loader-bar,.loader-logo{transition:none;animation:none}
}
