@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300..700&family=Manrope:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

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

:root{
  --serif:'Fraunces',Georgia,serif;
  --sans:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;

  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;
  --space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--space-9:7rem;

  --radius-s:8px;--radius-m:14px;--radius-l:22px;--radius-xl:32px;--radius-pill:999px;

  --ease:cubic-bezier(.22,1,.36,1);
  --dur-fast:180ms;--dur-med:420ms;--dur-slow:700ms;

  --bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1440px;
  --content-w:1180px;

  --saffron:#ff9933;
  --green:#138808;
  --navy:#000080;
  --saffron-rgb:255,153,51;
  --green-rgb:19,136,8;
  --navy-rgb:0,0,128;
}

[data-theme="light"]{
  --bg:#f8f4ec;
  --bg-soft:#efe6d8;
  --surface:#fffdfa;
  --surface-2:#f7efe2;
  --text:#16181c;
  --text-2:#101113;
  --text-3:#38393a;
  --border:rgba(146,111,67,.18);
  --accent-1:var(--saffron);
  --accent-2:var(--green);
  --accent-3:var(--navy);
  --accent-1-rgb:var(--saffron-rgb);
  --accent-2-rgb:var(--green-rgb);
  --accent-3-rgb:var(--navy-rgb);
  --shadow-s:0 8px 18px rgba(60,44,18,.08);
  --shadow-m:0 20px 48px rgba(60,44,18,.12);
  --shadow-l:0 30px 80px rgba(60,44,18,.16);
  --glass:rgba(255,250,243,.72);
  --trace-opacity:.16;
  --soft-panel:linear-gradient(145deg,rgba(255,153,51,.14),rgba(255,255,255,.9) 34%,rgba(19,136,8,.12));
  --soft-panel-2:linear-gradient(155deg,rgba(255,153,51,.11),rgba(255,255,255,.92) 45%,rgba(0,0,128,.08));
  --badge-surface:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,245,234,.9));
}

[data-theme="dark"]{
  --bg:#070b0d;
  --bg-soft:#0d1418;
  --surface:#10171a;
  --surface-2:#151e22;
  --text:#f5f3ef;
  --text-2:#d7ddd8;
  --text-3:#9faaa4;
  --border:rgba(255,255,255,.09);
  --accent-1:#ffac57;
  --accent-2:#49cf54;
  --accent-3:#87a1ff;
  --accent-1-rgb:255,172,87;
  --accent-2-rgb:73,207,84;
  --accent-3-rgb:135,161,255;
  --shadow-s:0 10px 18px rgba(0,0,0,.28);
  --shadow-m:0 20px 48px rgba(0,0,0,.38);
  --shadow-l:0 30px 90px rgba(0,0,0,.46);
  --glass:rgba(8,12,14,.68);
  --trace-opacity:.34;
  --soft-panel:linear-gradient(145deg,rgba(255,153,51,.18),rgba(16,23,26,.92) 32%,rgba(19,136,8,.2));
  --soft-panel-2:linear-gradient(155deg,rgba(255,153,51,.14),rgba(16,23,26,.96) 40%,rgba(0,0,128,.18));
  --badge-surface:linear-gradient(180deg,rgba(24,31,35,.92),rgba(9,13,15,.96));
}

html{scroll-behavior:smooth;font-size:17.5px;scroll-padding-top:84px}

body{
  background:
    radial-gradient(circle at top left, rgba(var(--accent-1-rgb),.13), transparent 24%),
    radial-gradient(circle at 80% 14%, rgba(var(--accent-3-rgb),.08), transparent 22%),
    radial-gradient(circle at bottom right, rgba(var(--accent-2-rgb),.11), transparent 26%),
    var(--bg);
  color:var(--text);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  transition:background var(--dur-med) var(--ease),color var(--dur-med) var(--ease);
}

body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(var(--accent-1-rgb),.045),transparent 16%,transparent 84%,rgba(var(--accent-2-rgb),.05)),
    linear-gradient(180deg,rgba(255,255,255,.015),transparent 50%,rgba(255,255,255,.01));
  z-index:-3;
}

img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button,input{font:inherit;color:inherit;background:none;border:none}
button{cursor:pointer}
input:focus{outline:none}

h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.01em}

h1{font-size:clamp(2.8rem,6vw,5.1rem);line-height:.98;font-weight:500}
.hero__name{font-size:clamp(2.7rem,5.6vw,4.6rem)}
.hero__institute{
  font-family:var(--serif);
  font-size:1.15rem;
  font-weight:600;
  color:var(--accent-1);
  margin-top:.35em;
}
h2.section__title{font-size:clamp(1.95rem,3.8vw,3rem);font-weight:500;line-height:1.08}
h3{font-size:1.2rem;font-weight:600}

.eyebrow{
  font-family:var(--mono);
  font-size:.90rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent-1);
  display:flex;align-items:center;gap:.55em;
  margin-bottom:var(--space-3);
}

.skip-link{
  position:absolute;left:-999px;top:0;background:var(--surface);color:var(--text);
  padding:.8em 1.2em;z-index:999;border-radius:0 0 var(--radius-s) 0;
}
.skip-link:focus{left:0}

:focus-visible{outline:2px solid var(--accent-1);outline-offset:3px;border-radius:4px}

.section{
  max-width:var(--content-w);
  margin:0 auto;
  padding:var(--space-9) var(--space-5);
  position:relative;
}
@media (max-width:768px){
  .section{padding:var(--space-8) var(--space-4)}
}

.placeholder-note{color:var(--text-3);font-size:.95rem;font-style:italic}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

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