:root {
--bg: #0b0b0b;
--panel: #151515;
--panel2: #1c1c1c;
--line: #303030;
--text: #eeeeee;
--muted: #a7a7a7;
--soft: #d7d7d7;
--shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
}

* {
  box-sizing: border-box;
  }

html {
scroll-behavior: smooth;
}

body {
margin: 0;
background:
radial-gradient(circle at 20% 0%, #1a1a1a 0, #0b0b0b 38%, #060606 100%);
color: var(--text);
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

#loader {
position: fixed;
inset: 0;
z-index: 9999;
background: #050505;
display: flex;
align-items: center;
justify-content: center;
animation: loaderFade 2.4s ease forwards;
}

#loader h1 {
font-size: clamp(2.5rem, 8vw, 7rem);
color: #f4f4f4;
letter-spacing: -0.06em;
animation: nameFade 2s ease forwards;
}

@keyframes loaderFade {
0%, 70% {
opacity: 1;
visibility: visible;
}

100% {
opacity: 0;
visibility: hidden;
pointer-events: none;
}
}

@keyframes nameFade {
0% {
opacity: 0;
transform: translateY(18px);
}

35% {
opacity: 1;
transform: translateY(0);
}

75% {
opacity: 1;
}

100% {
opacity: 0;
transform: translateY(-12px);
}
}

.noise {
position: fixed;
inset: 0;
pointer-events: none;
opacity: 0.04;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
z-index: 0;
}

.nav {
position: sticky;
top: 0;
z-index: 10;
display: flex;
align-items: center;
justify-content: space-between;
padding: 22px 6vw;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
backdrop-filter: blur(18px);
background: rgba(9, 9, 9, 0.72);
}

.logo {
font-weight: 800;
letter-spacing: -0.08em;
font-size: 1.45rem;
color: #fff;
text-decoration: none;
}

.nav nav {
display: flex;
gap: 28px;
}

.nav a {
color: var(--muted);
text-decoration: none;
font-size: 0.95rem;
}

.nav nav a:hover,
.pill:hover {
color: #fff;
}

.pill {
border: 1px solid var(--line);
padding: 10px 16px;
border-radius: 999px;
background: #151515;
}

main,
footer {
position: relative;
z-index: 1;
}

.section {
padding: 76px 6vw;
}

.hero {
display: grid;
grid-template-columns: 1.05fr 0.95fr;
gap: 64px;
min-height: 72vh;
align-items: center;
}

.eyebrow,
.kicker {
color: var(--muted);
text-transform: uppercase;
letter-spacing: 0.18em;
font-size: 0.75rem;
font-weight: 800;
}

.eyebrow {
display: flex;
gap: 10px;
align-items: center;
}

.eyebrow span {
width: 8px;
height: 8px;
border-radius: 50%;
background: #dcdcdc;
box-shadow: 0 0 18px #fff;
}

h1 {
font-size: clamp(3.5rem, 10vw, 8.8rem);
line-height: 0.86;
margin: 18px 0 10px;
letter-spacing: -0.08em;
}

h2 {
font-size: clamp(2rem, 4vw, 4.8rem);
line-height: 0.95;
letter-spacing: -0.06em;
margin: 12px 0 18px;
}

h3 {
font-size: 1.2rem;
margin: 0 0 12px;
}

h4 {
margin: 0;
}

.subtitle {
font-size: 1.4rem;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #cfcfcf;
margin: 0 0 20px;
}

.summary,
p {
color: var(--muted);
font-size: 1.05rem;
line-height: 1.65;
}

.summary {
max-width: 800px;
font-size: 1.22rem;
}

.research-question {
margin-bottom: 2rem;
}

.actions {
display: flex;
gap: 16px;
margin-top: 34px;
}

.button {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 15px 24px;
border-radius: 999px;
text-decoration: none;
font-weight: 800;
}

.primary {
background: #efefef;
color: #080808;
}

.ghost {
border: 1px solid var(--line);
color: #efefef;
background: #111;
}

.panel,
.card,
.journey-card {
border: 1px solid var(--line);
background: linear-gradient(145deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.025));
box-shadow: var(--shadow);
border-radius: 28px;
}

.skill-panel {
padding: 34px;
}

.panel-head {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 30px;
}

.panel-head h2 {
font-size: 1.5rem;
margin: 0;
letter-spacing: -0.04em;
}

.mini-icon {
color: var(--muted);
font-size: 1.5rem;
}

.bar-row {
display: grid;
grid-template-columns: 120px 1fr 52px;
gap: 18px;
align-items: center;
margin: 26px 0;
}

.bar-row span {
font-weight: 800;
color: #ddd;
}

.bar-row b {
font-weight: 700;
color: #ccc;
}

.bar {
height: 10px;
border-radius: 999px;
background: #2a2a2a;
overflow: hidden;
}

.bar i {
display: block;
height: 100%;
border-radius: 999px;
background: linear-gradient(90deg, #777, #eee);
}

.cards {
display: grid;
gap: 22px;
margin-top: 28px;
}

.cards.two {
grid-template-columns: 1fr 1.1fr;
}

.cards.three {
grid-template-columns: repeat(3, 1fr);
}

.card {
padding: 30px;
min-height: 220px;
}

.featured {
background: linear-gradient(145deg, #202020, #111);
}

.tags {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 22px;
}

.tags span,
.linkish {
border: 1px solid var(--line);
border-radius: 999px;
color: #ddd;
padding: 8px 12px;
font-size: 0.84rem;
display: inline-block;
}

.project-links {
margin: 1rem 0;
}

.project-links a {
color: #f5f5f5;
text-decoration: none;
font-weight: 700;
}

.project-links a:hover {
opacity: 0.75;
}

.coming-soon {
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 999px;
padding: 0.45rem 0.8rem;
color: #a5a5a5;
font-size: 0.85rem;
}

.model-subtitle {
color: #9b9b9b;
margin: -0.25rem 0 1.6rem;
font-size: 0.95rem;
}
.model-flow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  margin-top: 2rem;
}

.model-arrow {
  display: none;
}

.model-step {
  min-height: 260px;
  padding: 1.5rem;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);

  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.model-step span {
  color: #7f7f7f;
  font-size: .8rem;
  letter-spacing: .15em;
}

.model-step h4 {
  margin: .75rem 0;
  font-size: 1.2rem;
  line-height: 1.2;
}

.model-step p {
  color: #b5b5b5;
  line-height: 1.6;
  font-size: .95rem;
}

.model-step.result {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
}

.big-stat {
  font-size: 3rem;
  font-weight: 800;
  margin: .5rem 0 1rem;
  line-height: 1;
}

.split {
display: grid;
grid-template-columns: 0.85fr 1.15fr;
gap: 54px;
align-items: center;
}

.reverse {
grid-template-columns: 1.1fr 0.9fr;
}

.journey-card {
display: flex;
align-items: stretch;
justify-content: center;
gap: 1.5rem;
margin-top: 3rem;
padding: 2rem;
flex-wrap: wrap;
}

.journey-stop {
flex: 1;
min-width: 220px;
padding: 1.5rem;
border-radius: 24px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.03);
}

.journey-number {
color: #7a7a7a;
font-size: 0.8rem;
letter-spacing: 0.15em;
}

.journey-stop h3 {
margin-top: 0.75rem;
color: #f2f2f2;
}

.journey-arrow {
display: flex;
align-items: center;
font-size: 2rem;
color: #777;
}

.focus-areas {
display: flex;
gap: 1rem;
justify-content: center;
flex-wrap: wrap;
margin-top: 2rem;
}

.focus-areas span {
border: 1px solid rgba(255, 255, 255, 0.1);
padding: 0.7rem 1rem;
border-radius: 999px;
color: #e6e6e6;
}

.timeline {
padding: 28px;
}

.timeline div {
display: grid;
grid-template-columns: 26px 1fr;
gap: 12px;
border-left: 1px solid var(--line);
padding: 0 0 28px 18px;
margin-left: 8px;
}

.timeline div:last-child {
padding-bottom: 0;
}

.timeline span {
width: 13px;
height: 13px;
border-radius: 50%;
background: #e5e5e5;
box-shadow: 0 0 20px rgba(255, 255, 255, 0.35);
margin-left: -25px;
}

.timeline b {
font-size: 1.05rem;
}

.timeline p {
grid-column: 2;
margin: 2px 0 0;
font-size: 0.95rem;
}

.contact {
display: flex;
justify-content: space-between;
gap: 40px;
align-items: center;
margin: 72px 6vw;
padding: 42px;
}

.contact h2 {
margin-bottom: 8px;
}

.contact-links {
display: grid;
gap: 14px;
}

.contact-links a {
color: #eee;
text-decoration: none;
border-bottom: 1px solid #555;
padding-bottom: 6px;
}

footer {
text-align: center;
color: #777;
padding: 36px 6vw 54px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}

@media (max-width: 1100px) {
.cards.three {
grid-template-columns: repeat(2, 1fr);
}

.model-flow {
grid-template-columns: 1fr;
}

.model-arrow {
justify-content: center;
transform: rotate(90deg);
}
}

@media (max-width: 980px) {
.nav nav {
display: none;
}

.hero,
.split,
.reverse,
.cards.two,
.cards.three {
grid-template-columns: 1fr;
}

.contact {
display: block;
}

.bar-row {
grid-template-columns: 90px 1fr 42px;
}

.journey-card {
display: grid;
grid-template-columns: 1fr;
}

.journey-arrow {
justify-content: center;
transform: rotate(90deg);
}
}

@media (max-width: 600px) {
.section {
padding: 52px 22px;
}

.actions {
flex-direction: column;
}

.contact {
margin: 42px 22px;
}

.nav {
padding: 18px 22px;
}

h1 {
font-size: 4rem;
}

.skill-panel {
padding: 24px;
}

.bar-row {
grid-template-columns: 1fr;
}

.bar-row b {
display: none;
}
}
