@font-face {
  font-family: 'Shrimp';
  src: url('Font/5/Shrimp-DCU/SHRIMP.ttf') format('truetype');
}

@font-face {
  font-family: 'Gatuzo';
  src: url('Font/3/GCGatuzoDemo-Medium-BF6941168adca34.ttf') format('truetype');
}
@font-face {
  font-family: 'Gatuzo';
  font-weight: 400;
  src: url('Font/3/GCGatuzoDemo-Regular-BF6941168ae9b00.ttf') format('truetype');
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --cream:#e8e6e0;
  --black:#0d0d0d;
  --dark:#111111;
  --tan:#8c7f72;
  --text:#1a1a1a;
  --muted:#6b6558;
  --red:#8b1a1a;
  --condensed:'Barlow Condensed',sans-serif;
  --body:'Barlow',sans-serif;
  --pm:7rem;
  --hero-font: 'Shrimp';
}
:root{
  --inter:'Inter',sans-serif;
}
html{ scroll-behavior:auto; } /* Lenis handles scroll */
body{ background:var(--cream); color:var(--text); font-family:var(--body); overflow-x:hidden; cursor:auto; }

/* ─── CURSOR ─── */
#cursor-dot{position:fixed;top:0;left:0;width:6px;height:6px;background:var(--black);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s;}
#cursor-ring{position:fixed;top:0;left:0;width:26px;height:26px;border:1.5px solid rgba(13,13,13,0.7);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s;}
body.cursor-hover #cursor-dot{width:10px;height:10px;background:var(--red);}
body.cursor-hover #cursor-ring{width:52px;height:52px;border-color:rgba(139,26,26,0.35);}

/* ── CURSOR COLOR INVERT (for dark sections) ── */
#cursor-dot.cursor-invert{background:#e8e6e0;}
#cursor-ring.cursor-invert{border-color:rgba(232,230,224,0.4);}

/* ─── LOADER ─── */
#loader{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;pointer-events:none;}
.loader-svg{position:absolute;top:0;width:100vw;height:110vh;}
.loader-content{position:absolute;bottom:5rem;left:0;width:100%;padding:0 var(--pm);z-index:10;color:var(--cream);}
#loader-count{font-family:var(--condensed);font-weight:900;font-size:clamp(100px,18vw,220px);line-height:0.85;letter-spacing:-0.03em;}
#loader-label{font-family:var(--condensed);font-weight:700;font-size:13px;letter-spacing:0.25em;color:rgba(232,230,224,0.3);margin-top:1rem;text-transform:uppercase;}

/* ─── SCROLL BAR ─── */
#scroll-bar{position:fixed;top:0;left:0;height:2px;background:var(--red);z-index:9997;width:0%;transition:width 0.1s linear;}

/* ─── NAV ─── */
nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.4rem var(--pm);
  background: var(--cream);
  /* ← NO transition here, GSAP handles everything */
}

/* backdrop-filter toggled by class — can't animate this with GSAP */
nav.glass {
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
}

.nav-brand{font-size:14px;line-height:1.2;text-decoration:none;}
.nav-brand span:first-child{color:var(--text);font-weight:500;}
.nav-brand span:last-child{color:rgba(0,0,0,0.38);}
.nav-links{display:flex;gap:2.5rem;list-style:none;}
.nav-links a{font-size:15px;color:var(--text);text-decoration:none;font-weight:500;position:relative;}
.nav-links a::after{display:none;}
.nav-links a:hover{color:var(--red);}
.nav-links a.active{color:var(--red);}
.nav-btn{background:var(--black);color:var(--cream);padding:12px 26px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:500;display:inline-block;transition:opacity .2s;}
.nav-btn:hover{opacity:.75;}

/* ─── RESUME BTN DROPDOWN ─── */
.nav-btn-drop {
  position: relative;
}

.nav-btn-dropdown {
  position: absolute;
  top: calc(100% + 2px);
  right: 0;
  padding-top: 8px;
  background: var(--cream);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 10px;
  padding: 0.4rem;
  min-width: 170px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 0.2s, transform 0.2s;
  z-index: 200;
}

.nav-btn-drop:hover .nav-btn-dropdown,
.nav-btn-dropdown.open {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}

.nav-btn-dd-item {
  display: flex;
  flex-direction: column;
  padding: 0.7rem 0.9rem;
  border-radius: 7px;
  text-decoration: none;
  color: var(--text);
  transition: background 0.15s;
}

.nav-btn-dd-item:hover { background: var(--red); }
.nav-btn-dd-item:hover .dd-title { color: #fff; }
.nav-btn-dd-item:hover .dd-sub { color: rgba(255,255,255,0.7); }

.nav-btn-dd-item {
  border-bottom: 1px solid rgba(139,26,26,0.12);
}
.nav-btn-dd-item:last-child { border-bottom: none; }

.nav-btn-drop::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 16px; /* bridges the gap */
}

.nav-btn-dd-item .dd-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
}

.nav-btn-dd-item .dd-sub {
  font-size: 11px;
  color: var(--muted);
  margin-top: 2px;
}

.dd-icon {
  font-size: 16px;
  color: var(--red);
  font-weight: 700;
  flex-shrink: 0;
}

.dd-title {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
}

.dd-sub {
  display: block;
  font-size: 11px;
  color: var(--muted);
  margin-top: 1px;
}

/* ══════════════════════════════════════════════════
   HERO 
══════════════════════════════════════════════════ */
.hero {
  position: relative;
  padding-top: 72px; /* clear fixed nav */
  background: var(--cream);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.hero-location {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(13, 13, 13, 0.35);
  text-align: right;
}

/* Small role label — sits just below the nav, top-left */
.hero-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;        
  padding: 7rem 0 2rem var(--pm);   
}

.hero-role-label {
  font-family: 'Gatuzo', sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #746f6f;
  margin-bottom: 0.8rem;
  display: block;
}

.hero-title-wrap {
  flex: 1;
  display: flex;
  align-items: flex-end;
  padding: 0 0 0.5rem var(--pm);
}

.hero-word {
  font-family: var(--hero-font), 'CircularStd', sans-serif;
  font-weight: 800;
  font-size: clamp(160px, 30vw, 290px);
  line-height: 0.82;
  letter-spacing: -0.03em;
  font-kerning: none;
  color: var(--black);
  display: block;
  overflow: visible;
  margin-left: -0.06em;
  margin-top: 1.2rem;
}

.hero-word .char {
  display: inline-block;
  transform: translateY(115%);
  opacity: 0;
  transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s ease;
}

.hero-word.chars-visible .char {
  transform: translateY(0);
  opacity: 1;
}

/* ── Vertical SCROLL indicator — far right, vertically centred ── */
.hero-scroll-indicator {
  position: absolute;
  right: 2.8rem;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
  pointer-events: none;
  z-index: 2;
}

.hero-scroll-text {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-family: 'Gatuzo', sans-serif;
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.26em;
  color: #8d8686;
  text-transform: uppercase;
  user-select: none;
}

.hero-scroll-line {
  position: relative;
  display: block;
  width: 1px;
  height: 64px;
  background: rgba(13, 13, 13, 0.13);
  transform-origin: top center;
  overflow: hidden;
}

/* Flowing red highlight */
.hero-scroll-line::after {
  content: '';
  position: absolute;
  top: -40%;
  left: 0;
  width: 100%;
  height: 40%;
  background: var(--red);
  animation: scroll-flow 1.8s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes scroll-flow {
  0%   { top: -40%; opacity: 1; }
  100% { top: 140%; opacity: 0.6; }
}

.hero-bio {
  max-width: 380px;
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.75;
  color: rgba(13, 13, 13, 0.48);
  font-weight: 500;
}

/* ── Status pills — bottom-right, above the marquee ── */
.hero-pills {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.6rem;
}

.hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--body);
  font-size: 11.3px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 11px;
  border-radius: 999px;
  border: 1px solid rgba(13, 13, 13, 0.14);
  color: rgba(13, 13, 13, 0.5);
  background: transparent;
  white-space: nowrap;
  backdrop-filter: none;
  transition: border-color 0.25s, color 0.25s;
}

.hero-pill:hover {
  border-color: rgba(13, 13, 13, 0.35);
  color: rgba(13, 13, 13, 0.75);
}

.hero-pill--available {
  background: transparent;
  color: #1c6337;
  border-color: #329556;
}

.hero-pill--available:hover {
  background: transparent;
  border-color: #2e8a50;
  color: #2e8a50;
}

/* Green dot for "Available for work" */
.hero-pill--available::before {
  content: '';
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #326d48;
  flex-shrink: 0;
  animation: pill-pulse 2.4s ease-in-out infinite;
}

.hero-bottom {
  position: absolute;
  bottom: 62px;                       
  left: var(--pm);
  right: var(--pm);
  display: flex;
  align-items: flex-start;               
  justify-content: space-between;
}

@keyframes pill-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.55; transform: scale(0.78); }
}

/* ── Marquee ── */
.marquee-wrap{
  overflow:hidden;
  border-top:1px solid rgba(0,0,0,0.08);
  border-bottom:1px solid rgba(0,0,0,0.08);
  padding:14px 0;
  background:var(--cream);
}
.marquee-track {
  display: flex;
  gap: 4rem;
  white-space: nowrap;
  font-family: 'Gatuzo', sans-serif;
  font-weight: 400;
  font-size: 13px;
  letter-spacing: 0.12em;
  color: rgba(0,0,0,0.35);
  text-transform: uppercase;
}

.marquee-track span{flex-shrink:0;}
/* ══════════════════════════════════════════════════
   END HERO
══════════════════════════════════════════════════ */


/* ─── SECTIONS ─── */
.s-light{background:var(--cream);padding:6rem var(--pm);}
.s-dark{background:var(--dark);padding:6rem var(--pm);}
.section-bordered{border-top:1px solid rgba(0,0,0,0.07);}
.section-full{min-height:70vh;display:flex;align-items:center;}
.section-header{margin-bottom:3rem;}
.section-label{font-size:11px;letter-spacing:0.14em;color:rgba(0,0,0,0.35);text-transform:uppercase;display:block;margin-bottom:0.6rem;}
.clip-reveal{overflow:hidden;}

/* ─── ABOUT ─── */
.about-box{display:grid;grid-template-columns:1fr 1fr;height:560px;background:#b3b3b3;overflow:hidden;}
.about-img-wrapper {
  overflow: hidden;
  height: 560px;
  width: 100%;
}

.about-img-wrapper {
  background: url('images/1.0.png') center / cover no-repeat;
  height: 560px;
  width: 100%;
}

.about-text-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:3rem 4rem;overflow:hidden;}
.research-big{font-family:var(--condensed);font-weight:900;font-size:clamp(44px,6vw,90px);letter-spacing:-0.01em;line-height:0.88;color:#000;margin-bottom:1.5rem;}
.about-text{
  color:#000;
  font-size:15px;
  line-height:1.8;
  font-weight:500;
  margin-bottom:2rem;
  max-width:90%;
  text-align: justify;
}
.learn-btn-alt{display:inline-block;background:rgba(255,255,255,0.55);color:#000;padding:9px 20px;font-size:13px;text-decoration:none;border:1px solid rgba(0,0,0,0.12);transition:background .2s;}
.learn-btn-alt:hover{background:#fff;}

/* ─── EXPERIENCE ─── */
.exp-card{max-width:900px;border-top:1px solid rgba(0,0,0,0.08);padding-top:2.5rem;}
.exp-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:0.5rem;margin-bottom:1rem;}
.exp-badge{font-size:11px;letter-spacing:0.1em;color:rgba(0,0,0,0.3);text-transform:uppercase;margin-bottom:4px;}
.exp-org{font-family:var(--condensed);font-weight:700;font-size:20px;color:#000;}
.exp-date{font-size:13px;color:rgba(0,0,0,0.35);letter-spacing:0.04em;}
.exp-role{font-family:var(--condensed);font-weight:700;font-size:30px;color:#000;margin-bottom:1rem;}
.exp-desc{font-size:14px;color:rgba(0,0,0,0.55);line-height:1.8;margin-bottom:1.25rem;}
.exp-tags{display:flex;flex-wrap:wrap;gap:6px;}
.etag{font-size:11px;padding:4px 10px;letter-spacing:0.06em;border:1px solid rgba(0,0,0,0.1);color:rgba(0,0,0,0.4);transition:all .2s;}
.etag:hover{border-color:rgba(0,0,0,0.4);color:rgba(0,0,0,0.8);}

/* ─── STACKING PROJECT CARDS ─── */
.cards-stack-wrap{position:relative;}

.stack-card{
  position:sticky;
  top:72px;
  width:100%;
  min-height:82vh;
  background:var(--card-bg);
  color:var(--card-text);
  border-radius:12px;
  overflow:hidden;
  will-change:transform;
  margin-bottom:2px;
  transform-origin:top center;
}
.stack-card:nth-child(1){z-index:1;}
.stack-card:nth-child(2){z-index:2;}
.stack-card:nth-child(3){z-index:3;}
.stack-card:nth-child(4){z-index:4;}
.stack-card:nth-child(5){z-index:5;}
.stack-card:nth-child(6){z-index:6;}
.stack-card-inner{
  display:grid;
  grid-template-columns:220px 1fr;
  min-height:72vh;
  align-items:stretch;
}
.stack-card-left{
  padding:3rem 2.5rem;
  border-right:1px solid rgba(255,255,255,0.08);
  display:flex;flex-direction:column;justify-content:space-between;
}
.stack-num{font-family:var(--condensed);font-weight:900;font-size:72px;line-height:1;opacity:0.15;letter-spacing:-0.03em;}
.stack-tag{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;opacity:0.5;}
.stack-card-right{
  padding:3.5rem 4rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between;}
.stack-title{font-family:var(--condensed);font-weight:900;font-size:clamp(40px,5vw,72px);line-height:0.9;letter-spacing:-0.02em;margin-bottom:2rem;}
.stack-desc{
  font-size:15px;
  line-height:1.78;
  opacity:0.7;
  max-width:760px;
  flex-grow:1;
  margin-bottom:2.5rem;
  text-align: justify;
}
.stack-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,0.1);padding-top:1.5rem;}
.stack-card[style*="--card-bg:#d4d1cb"] .stack-footer,
.stack-card[style*="--card-bg:#e8e6e0"] .stack-footer{border-top-color:rgba(0,0,0,0.1);}
.stack-tech{font-size:12px;letter-spacing:0.07em;opacity:0.45;text-transform:uppercase;}
.stack-cta{font-family:var(--condensed);font-weight:700;font-size:16px;letter-spacing:0.06em;text-decoration:none;color:inherit;opacity:0.7;transition:opacity .2s,letter-spacing .2s;}
.stack-cta:hover{opacity:1;letter-spacing:0.12em;}

/* ─── HORIZONTAL SKILLS ─── */
.skills-horizontal{
  background:var(--dark);
  overflow:hidden;
  height:100vh;
  display:flex;
  align-items:center;
}
.skills-h-track{
  display:flex;
  height:100%;
  align-items:center;
  will-change:transform;
}
.skills-h-col{
  flex:0 0 auto;
  width:42vw;
  min-width:420px;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:5.5rem 5vw 0;
  border-right:1px solid rgba(232,230,224,0.1);
}
.skills-h-col--last{border-right:none;}
.skills-h-num{
  font-family:var(--condensed);
  font-weight:700;
  font-size:14px;
  color:var(--red);
  letter-spacing:0.06em;
  margin-bottom:1.5rem;
}
.skills-h-title{
  font-family:var(--condensed);
  font-weight:900;
  font-size:clamp(40px,5vw,72px);
  line-height:0.92;
  letter-spacing:-0.02em;
  color:#e8e6e0;
  margin-bottom:2.5rem;
}
.skills-h-list{list-style:none;}
.skills-h-list li{
  font-size:17px;
  color:rgba(232,230,224,0.55);
  padding:0.6rem 0;
  transition:color .2s,padding-left .2s;
}
.skills-h-list li:hover{color:#e8e6e0;padding-left:8px;}

@media(max-width:900px){
  .skills-h-col{width:85vw;min-width:280px;padding:0 1.8rem;}
}

/* ─── CONTACT V2 ─── */
.contact-wrap-v2{
  background:var(--cream);
  padding:6rem var(--pm) 3rem;
  border-top:1px solid rgba(0,0,0,0.07);
}
.contact-title-big{
  font-family:var(--inter);
  font-weight:800;
  font-size:clamp(100px,12vw,220px);
  letter-spacing:-0.03em;
  line-height:0.9;
  color:var(--black);
  margin-bottom:3.5rem;
  text-align:center;
}

.cm-loc,.cm-hours{
  font-family:var(--inter);
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
}
.cm-hours-label{
  font-family:var(--inter);
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:rgba(0,0,0,0.35);
  margin-bottom:0.2rem;
}

.f-label-v2{
  font-family:var(--inter);
  font-weight:500;
  font-size:12px;
  letter-spacing:0.02em;
  color:rgba(0,0,0,0.45);
  margin-top:1.1rem;
  margin-bottom:0.4rem;
}

.contact-form input[type=text],
.contact-form input[type=email],
.contact-form select,
.contact-form textarea{
  font-family:var(--inter);
  font-weight:400;
  font-size:15px;
}

.f-submit{
  font-family:var(--inter);
  font-weight:600;
  font-size:14px;
  letter-spacing:0.02em;
}

.contact-big-link{
  font-family:var(--inter);
  font-weight:700;
  font-size:clamp(24px,2.6vw,36px);
  letter-spacing:-0.01em;
}
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:3rem;
  margin-bottom:5rem;
}
.contact-meta{display:flex;flex-direction:column;gap:1.8rem;}
.cm-loc,.cm-hours{font-size:14px;line-height:1.6;color:var(--muted);}
.cm-hours-label{font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(0,0,0,0.35);margin-bottom:0.2rem;}

.contact-form{display:flex;flex-direction:column;gap:0.5rem;max-width:560px;}
.f-label-v2{font-size:12px;letter-spacing:0.04em;color:rgba(0,0,0,0.45);margin-top:1.1rem;margin-bottom:0.4rem;}
.f-row-v2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.contact-form input[type=text],
.contact-form input[type=email],
.contact-form select,
.contact-form textarea{
  background:transparent;
  border:none;
  border-bottom:1px solid rgba(0,0,0,0.18);
  padding:0.6rem 0.1rem;
  font-family:var(--body);
  font-size:15px;
  color:var(--text);
  outline:none;
  width:100%;
  transition:border-color .2s;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{border-color:var(--black);}
.contact-form textarea{min-height:70px;resize:none;}
.f-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='14' height='14'%3E%3Cpath fill='%23000' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;}
.f-checkbox{display:flex;align-items:center;gap:0.6rem;font-size:13px;color:rgba(0,0,0,0.55);margin-top:1.2rem;cursor:pointer;}
.f-checkbox input{width:15px;height:15px;accent-color:var(--black);}
.f-submit{
  align-self:flex-start;
  margin-top:1.8rem;
  background:var(--black);
  color:var(--cream);
  border:none;
  padding:13px 34px;
  border-radius:999px;
  font-family:var(--body);
  font-size:14px;
  letter-spacing:0.04em;
  cursor:pointer;
  transition:opacity .2s;
}
.f-submit:hover{opacity:0.75;}

.contact-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:1rem;
  padding-top:2rem;
  border-top:1px solid rgba(0,0,0,0.07);
}
.contact-big-link{
  font-family:var(--condensed);
  font-weight:900;
  font-size:clamp(26px,3vw,42px);
  letter-spacing:-0.01em;
  color:var(--black);
  text-decoration:none;
  transition:opacity .2s;
}
.contact-big-link:hover{opacity:0.6;}

@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr;gap:2rem;}
  .f-row-v2{grid-template-columns:1fr;}
  .contact-bottom{flex-direction:column;align-items:flex-start;}
}

/* ─── FOOTER ─── */
#site-footer {
  background: var(--cream);
  padding: 3rem var(--pm) 2rem;
  border-top: 1px solid rgba(0,0,0,0.06);
}

.ft-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 2.5rem;
}

.ft-left {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.ft-left a,
.ft-left span {
  font-size: 14px;
  color: var(--muted);
  text-decoration: none;
}

.ft-left a:hover,
.ft-left a:active { color: #8b1a1a; }

.ft-right-links {
  display: flex;
  gap: 2.5rem;
  align-items: center;
}

.ft-right-links a {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.2s;
}

.ft-right-links a:hover,
.ft-right-links a:active { color: #8b1a1a; }

.ft-divider {
  height: 1px;
  background: rgba(0,0,0,0.07);
  margin-bottom: 1.5rem;
}

.ft-bottom {
  text-align: center;
}

.ft-bottom span {
  font-size: 13px;
  color: var(--muted);
}

/* footer responsive */
@media(max-width:900px) {
  .ft-top { flex-direction: column; gap: 2rem; }
  .ft-right-links { gap: 1.5rem; flex-wrap: wrap; }
}

/* ─── RESPONSIVE ─── */
@media(max-width:900px){
  :root{--pm:1.8rem;}
  nav{padding:.9rem var(--pm);}
  .nav-links{display:none;}
  .hero-word{font-size:24vw;}
  .hero-bio{ max-width: 240px; font-size: 12px; }
  .hero-bottom{ bottom: 50px; flex-direction: column; gap: 1rem; align-items: flex-start; }
  .hero-scroll-indicator{right:1rem;}
  .hero-pills{right:var(--pm);}
  .about-box{grid-template-columns:1fr;height:auto;}
  .about-text-wrapper{padding:2rem;}
  .stack-card-inner{grid-template-columns:1fr;}
  .stack-card-left{border-right:none;border-bottom:1px solid rgba(255,255,255,0.08);padding:2rem;}
  .stack-card-right{padding:2rem;}
  .skills-layout{grid-template-columns:1fr;gap:2.5rem;}
  .skills-cols{grid-template-columns:1fr 1fr;}
  .contact-wrap{grid-template-columns:1fr;}
  .c-right{padding:2.5rem var(--pm);}
  footer{grid-template-columns:1fr 1fr;}
  .f-row{grid-template-columns:1fr;}
  #cursor-dot,#cursor-ring{display:none;}
  body{cursor:auto;}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

@media(pointer:fine){
  body{cursor:auto;}
}