﻿:root{
  --page-padding:clamp(1.25rem,3vw,3.5rem);
  --max-width:min(1320px,calc(100% - 2*var(--page-padding)));
  --bg-900:#030715;
  --bg-800:#080f23;
  --bg-700:#111b36;
  --bg-600:rgba(17,27,54,0.78);
  --glass:rgba(17,27,54,0.68);
  --glass-strong:rgba(17,27,54,0.84);
  --accent:#66f7ff;
  --accent-2:#9d6bff;
  --accent-3:#ff71c6;
  --text-strong:#f5f6ff;
  --text-body:rgba(235,238,255,0.86);
  --text-muted:rgba(210,214,245,0.64);
  --border:rgba(102,247,255,0.22);
  --border-strong:rgba(102,247,255,0.4);
  --radius-md:18px;
  --radius-lg:28px;
  --radius-xl:42px;
  --shadow-md:0 20px 50px rgba(3,7,21,0.45);
  --shadow-xl:0 45px 120px rgba(3,7,21,0.55);
  --transition:.35s cubic-bezier(.6,.2,.1,1);
  --transition-slow:.6s cubic-bezier(.25,.1,.25,1);
  --font-sans:'Poppins','Segoe UI',sans-serif;
  --font-display:'Space Grotesk','Poppins',sans-serif;
  --glow-cyan:rgba(102,247,255,0.45);
  --glow-magenta:rgba(255,113,198,0.45);
  --glow-blue:rgba(106,150,255,0.38);
  --duration-fast:.45s;
  --duration-slow:1.2s;
}

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

html{font-size:16px;scroll-behavior:smooth;color-scheme:dark;background:var(--bg-900);}

body{
  margin:0;
  min-height:100vh;
  font-family:var(--font-sans);
  color:var(--text-body);
  background:
    radial-gradient(circle at 20% 20%,rgba(102,247,255,0.12),transparent 55%),
    radial-gradient(circle at 80% 0%,rgba(157,107,255,0.14),transparent 60%),
    linear-gradient(180deg,#050b20 0%,#020412 60%,#01010c 100%);
  background-size:200% 200%;
  animation:auroraFlow 38s linear infinite;
  padding:0 var(--page-padding) 6rem;
  position:relative;
  overflow-x:hidden;
}

body::before{
  content:"";
  position:fixed;
  inset:-20vh -30vw;
  background:conic-gradient(from 120deg at 30% 40%,rgba(102,247,255,0.08),rgba(157,107,255,0.12),rgba(255,113,198,0.1),rgba(102,247,255,0.08));
  filter:blur(80px);
  opacity:0.75;
  pointer-events:none;
  z-index:-2;
  transform:translateZ(0);
  animation:auroraSpin 24s linear infinite;
}

body::after{
  content:"";
  position:fixed;
  inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300' viewBox='0 0 300 300'%3E%3Cpath fill='rgba(238,240,255,0.04)' d='M150 0h150v150H150zM0 150h150v150H0z'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
  opacity:0.35;
  pointer-events:none;
  z-index:-3;
  transform:translateZ(0);
  animation:gridGlow 26s ease-in-out infinite;
}

::selection{background:rgba(102,247,255,0.35);color:var(--text-strong);}

a{color:inherit;text-decoration:none;transition:color var(--transition);}
a:hover{color:var(--accent);}

a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;}

img{max-width:100%;display:block;border-radius:inherit;}

h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);line-height:1.12;letter-spacing:-0.01em;}

h1{font-size:clamp(2.75rem,6vw,4.25rem);}

h2{font-size:clamp(2rem,4vw,3.1rem);}

h3{font-size:clamp(1.5rem,3vw,2rem);}

p,li,dd{font-size:clamp(1rem,1.6vw,1.1rem);line-height:1.65;color:var(--text-body);}

ul{list-style:none;margin:0;padding:0;}

dl{margin:0;}

dt{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);}

dd{margin:0;font-weight:500;color:var(--text-strong);}

main{width:100%;}

.section{width:min(var(--max-width),100%);margin:0 auto;padding-block:clamp(4.5rem,8vw,6.5rem);}

.section__header{max-width:720px;margin-bottom:clamp(2.5rem,5vw,3.5rem);}

.section__header p{margin-top:1rem;}

.section__eyebrow{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:999px;background:rgba(102,247,255,0.12);color:var(--accent);font-size:.8rem;text-transform:uppercase;letter-spacing:.16em;}

.skip-link{
  position:fixed;
  top:.75rem;
  left:50%;
  transform:translateX(-50%);
  background:var(--glass-strong);
  padding:.75rem 1.5rem;
  border-radius:999px;
  border:1px solid var(--border);
  backdrop-filter:blur(18px);
  color:var(--text-strong);
  text-decoration:none;
  z-index:1000;
  translate:0 -150%;
  transition:translate var(--transition);
}

.skip-link:focus{translate:0 0;}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.85rem 1.8rem;
  border-radius:999px;
  background:linear-gradient(120deg,var(--accent),var(--accent-2));
  color:#01030b;
  font-weight:600;
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 14px 34px rgba(102,247,255,0.35);
  transition:transform var(--transition),box-shadow var(--transition);
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.btn:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(102,247,255,0.45);}

.btn::after{
  content:"";
  position:absolute;
  inset:-60% -30%;
  background:radial-gradient(circle at center,rgba(255,255,255,0.75),rgba(255,255,255,0));
  opacity:.18;
  transform:translate3d(-30%,40%,0) rotate(15deg);
  transition:transform var(--transition),opacity var(--transition);
  pointer-events:none;
  mix-blend-mode:screen;
}

.btn:hover::after{transform:translate3d(10%,-20%,0) rotate(-5deg);opacity:.32;}

.btn--ghost{
  background:transparent;
  color:var(--text-strong);
  border:1px solid var(--border);
  box-shadow:none;
}

.btn--ghost:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 16px 36px rgba(102,247,255,0.15);}

.nav{
  position:sticky;
  top:clamp(1.2rem,3vw,2rem);
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  padding:.95rem 1.4rem;
  border-radius:calc(var(--radius-lg) - 6px);
  border:1px solid var(--border);
  background:rgba(6,11,24,0.72);
  backdrop-filter:blur(18px);
  box-shadow:var(--shadow-md);
  overflow:hidden;
}

.nav::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(120deg,rgba(102,247,255,0.18),rgba(157,107,255,0.12),transparent 70%);
  opacity:.4;
  filter:blur(32px);
  pointer-events:none;
  transition:opacity var(--transition);
}

.nav:hover::after{opacity:.65;}

.nav__brand{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}

.nav__links{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;}

.nav__links a{font-size:.95rem;color:var(--text-muted);transition:color var(--transition);}

.nav__links a:hover,.nav__links a:focus-visible{color:var(--text-strong);}

.nav__cta{padding:.6rem 1.35rem;border-radius:999px;border:1px solid var(--border);color:var(--text-strong);transition:var(--transition);}

.nav__cta:hover{color:var(--accent);border-color:var(--accent);}

.hero{min-height:100vh;display:flex;flex-direction:column;gap:clamp(2.5rem,6vw,4rem);padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(5rem,10vw,6.5rem);width:min(var(--max-width),100%);margin:0 auto;}

.hero__inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:clamp(2.5rem,5vw,4rem);align-items:center;}

.hero__intro{display:flex;flex-direction:column;gap:1.85rem;}

.hero__eyebrow{display:inline-flex;align-items:center;gap:.45rem;color:var(--accent);font-size:.85rem;text-transform:uppercase;letter-spacing:.18em;}

.hero__intro p{margin:0;color:var(--text-body);}

.hero__badges{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin:0;
}

.hero__badges li{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.45rem 1.2rem;
  border-radius:999px;
  background:rgba(8,15,35,0.7);
  border:1px solid rgba(102,247,255,0.26);
  box-shadow:0 12px 30px rgba(3,7,21,0.45);
  font-size:.85rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--text-muted);
  position:relative;
  overflow:hidden;
}

.hero__badges li::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,rgba(102,247,255,0.18),rgba(255,113,198,0.18));
  opacity:0;
  transition:opacity var(--transition);
}

.hero__badges li:hover::after{opacity:1;}

.hero__actions{display:flex;gap:1rem;flex-wrap:wrap;}

.hero__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:0;}

.hero__metrics div{
  position:relative;
  padding:1.35rem 1.1rem 1.2rem;
  border-radius:var(--radius-md);
  border:1px solid rgba(102,247,255,0.18);
  background:rgba(4,9,26,0.7);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04),0 14px 36px rgba(3,7,21,0.45);
  overflow:hidden;
  transition:transform var(--transition),box-shadow var(--transition);
}

.hero__metrics div::after{
  content:"";
  position:absolute;
  inset:-30% 10% auto;
  height:60%;
  background:radial-gradient(circle at center,rgba(102,247,255,0.55),transparent 55%);
  opacity:.45;
  filter:blur(18px);
  pointer-events:none;
}

.hero__metrics div:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(3,7,21,0.55);}

.hero__metrics dt{font-size:clamp(2rem,4vw,2.8rem);font-family:var(--font-display);color:var(--text-strong);}

.hero__metrics dd{font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em;}

.hero__visual{
  position:relative;
  border-radius:var(--radius-xl);
  overflow:hidden;
  border:1px solid var(--border);
  box-shadow:var(--shadow-xl);
  background:linear-gradient(160deg,rgba(102,247,255,0.08),rgba(157,107,255,0.1));
  transform:translateZ(0);
  animation:floatHero 16s ease-in-out infinite;
  transition:transform var(--transition-slow),box-shadow var(--transition);
}

.hero__visual:hover{animation-play-state:paused;transform:translateY(-8px) scale(1.01);box-shadow:0 55px 120px rgba(3,7,21,0.55);}

.hero__visual figcaption{padding:1.1rem;font-size:.85rem;color:var(--text-muted);background:rgba(3,7,18,0.6);}

.hero__halo{
  position:absolute;
  right:-6%;
  bottom:-18%;
  width:320px;
  aspect-ratio:1;
  pointer-events:none;
  mix-blend-mode:screen;
}

.hero__ring{
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1px solid rgba(102,247,255,0.25);
  animation:haloPulse var(--duration-slow) ease-in-out infinite alternate;
}

.hero__ring--outer{
  box-shadow:0 0 65px rgba(102,247,255,0.35),0 0 120px rgba(157,107,255,0.25);
  animation-duration:2.2s;
}

.hero__ring--inner{
  inset:16%;
  border-color:rgba(255,113,198,0.38);
  animation-duration:1.8s;
  animation-direction:alternate-reverse;
}

.hero__spark{
  position:absolute;
  width:18px;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,0.9) 0%,rgba(102,247,255,0) 70%);
  filter:blur(1px);
  animation:sparkOrbit 9s linear infinite;
}

.hero__spark--one{top:18%;left:5%;animation-duration:9s;}
.hero__spark--two{bottom:12%;right:12%;animation-duration:7s;}

.glass-panel{
  position:relative;
  border-radius:var(--radius-lg);
  padding:clamp(1.8rem,3.5vw,2.4rem);
  border:1px solid var(--border);
  background:var(--glass);
  box-shadow:var(--shadow-md);
  overflow:hidden;
  transform:translateZ(0);
  transition:transform var(--transition-slow),box-shadow var(--transition),border-color var(--transition);
  will-change:transform,box-shadow;
}

.glass-panel::before{
  content:"";
  position:absolute;
  inset:-40% -10%;
  background:radial-gradient(circle at 30% 20%,rgba(102,247,255,0.18),transparent 60%);
  opacity:.65;
  pointer-events:none;
  transform:translateZ(0);
}

.glass-panel:hover{
  transform:translateY(-8px) scale(1.015);
  box-shadow:0 40px 120px rgba(3,7,21,0.6);
  border-color:rgba(102,247,255,0.32);
}

@supports(backdrop-filter:blur(18px)){
  .glass-panel{background:rgba(14,21,43,0.65);backdrop-filter:blur(18px);}
}

.reveal{
  opacity:0;
  transform:translateY(42px);
  animation:revealUp 1.05s cubic-bezier(.25,.85,.25,1) forwards;
}

.reveal:nth-of-type(2n){animation-delay:.12s;}
.reveal:nth-of-type(3n){animation-delay:.2s;}

.about__grid{display:grid;gap:clamp(1.5rem,3vw,2.2rem);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}

.about__list{display:grid;gap:1.1rem;}

.about__list div{display:grid;gap:.35rem;}

.about__card--accent{border-color:var(--border-strong);}

.bullet-list{display:grid;gap:.95rem;color:var(--text-body);}

.bullet-list li{position:relative;padding-left:1.4rem;}

.bullet-list li::before{content:"";position:absolute;left:0;top:.55rem;width:.55rem;height:.55rem;border-radius:50%;background:linear-gradient(120deg,var(--accent),var(--accent-3));box-shadow:0 0 12px rgba(102,247,255,0.4);}

.tag-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;}

.tag-pills li{padding:.45rem .95rem;border-radius:999px;border:1px solid var(--border);background:rgba(3,9,24,0.65);font-size:.85rem;color:var(--text-muted);}

.timeline{display:grid;gap:clamp(1.6rem,3vw,2rem);}

.timeline__item{position:relative;padding-left:3.2rem;}

.timeline__item::before{content:"";position:absolute;left:1.1rem;top:0;bottom:-1.2rem;width:1px;background:linear-gradient(to bottom,rgba(102,247,255,0.5),transparent);}

.timeline__year{position:absolute;left:0;top:0;display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:999px;background:linear-gradient(160deg,var(--accent),var(--accent-3));color:#020414;font-weight:600;box-shadow:0 12px 25px rgba(102,247,255,0.4);transition:transform var(--transition);}

.timeline__body{padding:clamp(1.6rem,3vw,2.2rem);transition:transform var(--transition);}

.timeline__body h3{margin-top:0;margin-bottom:.75rem;}

.timeline__body p{margin:0 0 1.2rem;color:var(--text-body);}

.timeline__tags{display:flex;flex-wrap:wrap;gap:.5rem;}

.timeline__tags li{padding:.4rem .9rem;border-radius:999px;background:rgba(102,247,255,0.12);font-size:.8rem;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;}

.timeline__item:hover .timeline__body{transform:translateX(8px);}
.timeline__item:hover .timeline__year{transform:scale(1.05);}

.skills__matrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(1.5rem,3vw,2.2rem);margin-bottom:clamp(2.5rem,4vw,3rem);}

.matrix-card p{margin:.75rem 0 1.2rem;}

.matrix-list{display:grid;gap:.75rem;color:var(--text-body);}

.matrix-list li{position:relative;padding-left:1.4rem;}

.matrix-list li::before{content:"⟡";position:absolute;left:0;color:var(--accent-2);}

.skills__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(1.5rem,3vw,2.5rem);align-items:start;}

.chip-list{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem;}

.chip-list li{padding:.45rem .95rem;border-radius:999px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);font-size:.85rem;color:var(--text-muted);}

.projects__grid{display:grid;gap:clamp(1.6rem,3vw,2.2rem);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}

.project-card{display:flex;flex-direction:column;gap:1.2rem;min-height:100%;}

.project-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(140deg,rgba(102,247,255,0.12),rgba(157,107,255,0.1),transparent 70%);
  opacity:0;
  transition:opacity var(--transition);
  pointer-events:none;
}

.project-card:hover::after{opacity:.75;}

.project-card__meta{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.16em;}

.project-card__year{color:var(--accent);font-weight:600;}

.project-card__type{padding:.3rem .75rem;border-radius:999px;background:rgba(255,255,255,0.06);}

.project-card p{margin:0;}

.project-card__link{margin-top:auto;align-self:flex-start;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:.4rem;}

.project-card__link::after{content:"→";transition:transform var(--transition);}

.project-card__link:hover::after{transform:translateX(4px);}

.library__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(1.4rem,3vw,2rem);}

.library__item{display:flex;flex-direction:column;gap:1rem;overflow:hidden;}

.library__item img{aspect-ratio:4/5;object-fit:cover;border-radius:calc(var(--radius-lg) - 6px);border:1px solid rgba(255,255,255,0.06);transition:transform var(--transition);}

.library__item:hover img{transform:scale(1.03);}

.library__item figcaption{font-size:.9rem;color:var(--text-muted);}

.contact__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(1.4rem,3vw,2rem);}

.contact-card{
  display:flex;
  align-items:flex-start;
  gap:1.1rem;
  transition:transform var(--transition),border-color var(--transition);
}

.contact-card i{
  font-size:1.8rem;
  color:var(--accent);
  background:rgba(102,247,255,0.12);
  border-radius:16px;
  padding:.65rem;
  box-shadow:0 10px 24px rgba(102,247,255,0.2);
}

.contact-card h3{margin:0 0 .4rem;}

.contact-card a{color:var(--text-strong);font-weight:500;word-break:break-word;}

.contact-card:hover{transform:translateY(-6px);border-color:rgba(102,247,255,0.3);}

.contact__cta{margin-top:clamp(2.2rem,4vw,3.2rem);padding:1.4rem 1.6rem;border-left:3px solid var(--accent);color:var(--text-muted);font-style:normal;background:rgba(3,9,24,0.5);border-radius:var(--radius-md);}

.site-footer{width:min(var(--max-width),100%);margin:4rem auto 0;padding:2.5rem 0 0.5rem;border-top:1px solid rgba(255,255,255,0.08);color:var(--text-muted);font-size:.9rem;text-align:center;}

.hero__visual::after,.project-card::after,.glass-panel::after{pointer-events:none;}

.schedule__grid{
  display:grid;
  gap:clamp(1.8rem,3vw,2.8rem);
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  align-items:start;
}

.schedule__details{display:flex;flex-direction:column;gap:1.5rem;}

.schedule__list{display:grid;gap:.85rem;color:var(--text-body);}

.schedule__list li{
  display:flex;
  align-items:center;
  gap:.7rem;
  font-size:clamp(1rem,1.65vw,1.05rem);
}

.schedule__list i{
  font-size:1.2rem;
  color:var(--accent);
  filter:drop-shadow(0 8px 18px rgba(102,247,255,0.4));
}

.schedule__slots h4{
  margin:0 0 .35rem;
  font-size:1.05rem;
  color:var(--text-strong);
}

.schedule__slots p{
  margin:0;
  color:var(--text-muted);
  line-height:1.7;
}

.schedule__form{
  display:flex;
  flex-direction:column;
  gap:1.2rem;
}

.field-group{
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
}

.input-field{
  display:flex;
  flex-direction:column;
  gap:.55rem;
}

.input-field span{
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--text-muted);
}

.input-field input,
.input-field select,
.input-field textarea{
  width:100%;
  padding:.85rem 1rem;
  border-radius:var(--radius-md);
  border:1px solid rgba(102,247,255,0.12);
  background:rgba(6,11,27,0.65);
  color:var(--text-strong);
  font-size:1rem;
  font-family:var(--font-sans);
  transition:border-color var(--transition),box-shadow var(--transition);
  resize:vertical;
}

.input-field select{
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,rgba(102,247,255,0.7) 50%),linear-gradient(135deg,rgba(102,247,255,0.7) 50%,transparent 50%);
  background-position:calc(100% - 18px) calc(50% - 4px),calc(100% - 12px) calc(50% - 4px);
  background-size:6px 6px;
  background-repeat:no-repeat;
  padding-right:2.6rem;
}

.input-field input:focus-visible,
.input-field select:focus-visible,
.input-field textarea:focus-visible{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(102,247,255,0.25);
}

.schedule__note{
  margin:0;
  font-size:.85rem;
  color:var(--text-muted);
  line-height:1.6;
}

@keyframes auroraFlow{
  0%{background-position:0% 30%;}
  50%{background-position:100% 70%;}
  100%{background-position:0% 30%;}
}

@keyframes auroraSpin{
  from{transform:translateZ(0) rotate(0deg);}
  to{transform:translateZ(0) rotate(360deg);}
}

@keyframes gridGlow{
  0%,100%{opacity:.35;}
  50%{opacity:.55;}
}

@keyframes floatHero{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-18px);}
}

@keyframes haloPulse{
  0%{transform:scale(.94);opacity:.55;}
  100%{transform:scale(1.05);opacity:1;}
}

@keyframes sparkOrbit{
  0%,100%{transform:translate(0,0) scale(1);}
  25%{transform:translate(18px,-12px) scale(1.05);}
  50%{transform:translate(10px,10px) scale(.95);}
  75%{transform:translate(-16px,8px) scale(1.08);}
}

@keyframes revealUp{
  0%{opacity:0;transform:translateY(42px) scale(.96);}
  100%{opacity:1;transform:translateY(0) scale(1);}
}

@media(max-width:1200px){
  .hero__inner{grid-template-columns:1fr;}
  .hero__visual{max-width:520px;justify-self:center;}
}

@media(max-width:960px){
  body{padding:0 clamp(1.25rem,5vw,2rem) 4.5rem;}
  .nav{flex-wrap:wrap;justify-content:center;gap:.9rem;}
}

@media(max-width:720px){
  .section{padding-block:clamp(3.5rem,10vw,4.8rem);}
  .hero{padding-top:clamp(2.8rem,10vw,3.6rem);}  
  .hero__actions{flex-direction:column;align-items:stretch;}
  .hero__metrics{grid-template-columns:repeat(2,minmax(140px,1fr));}
  .hero__badges{flex-direction:column;align-items:flex-start;}
  .nav__links{justify-content:center;}
}

@media(max-width:540px){
  body{padding:0 1.1rem 4rem;}
  .nav{padding:.8rem 1rem;}
  .hero__metrics{grid-template-columns:repeat(2,minmax(120px,1fr));}
  .about__card,.timeline__body,.skills__meta,.project-card{padding:calc(1.4rem + 2vw);}
  .timeline__item{padding-left:2.4rem;}
  .timeline__item::before{left:.8rem;}
  .timeline__year{left:-.35rem;}
  .library__grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}
  .hero__halo{display:none;}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
  body::before{animation:none;}
  .reveal{opacity:1;transform:none;animation:none;}
}
