/* Hero */
.hero{ padding:88px 0 64px; }
.eyebrow{ font-family:var(--mono); font-size:12.5px; color:var(--teal); letter-spacing:0.06em; text-transform:uppercase; margin-bottom:18px; display:flex; align-items:center; gap:8px; }
.eyebrow::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--teal); display:inline-block; }
.hero h1{ font-family:var(--display); font-weight:700; font-size:clamp(34px,6vw,52px); letter-spacing:-1px; line-height:1.08; margin-bottom:18px; }
.hero h1 .accent{ color:var(--blue); }
.hero-sub{ color:var(--text-dim); font-size:17px; max-width:600px; margin-bottom:32px; }
.hero-sub strong{ color:var(--text); font-weight:600; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:12px; }
.btn{ font-family:var(--sans); font-size:14px; font-weight:600; padding:11px 20px; border-radius:8px; display:inline-flex; align-items:center; gap:8px; transition:all .15s ease; }
.btn-primary{ background:var(--blue); color:#06090f; }
.btn-primary:hover{ background:#78b0ff; text-decoration:none; }
.btn-secondary{ background:var(--card); color:var(--text); border:1px solid var(--border); }
.btn-secondary:hover{ border-color:var(--blue); color:var(--blue); text-decoration:none; }

.stat-strip{ display:flex; flex-wrap:wrap; gap:10px; margin-top:40px; }
.stat-pill{ font-family:var(--mono); font-size:13px; color:var(--text-dim); background:var(--card); border:1px solid var(--border); padding:7px 14px; border-radius:20px; }
.stat-pill b{ color:var(--text); font-weight:600; }

/* Sections */
section{ padding:56px 0; border-top:1px solid var(--border); }
.section-head{ margin-bottom:28px; }
.section-eyebrow{ font-family:var(--mono); font-size:12px; color:var(--text-faint); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:8px; }
h2.section-title{ font-family:var(--display); font-size:26px; font-weight:700; letter-spacing:-0.4px; }

/* About */
.about-grid{ display:grid; grid-template-columns: 1.3fr 1fr; gap:32px; align-items:start; }
@media (max-width:700px){ .about-grid{ grid-template-columns:1fr; } }
.about-body{ color:var(--text-dim); font-size:15.5px; }
.about-body p{ margin-bottom:14px; }
.about-body strong{ color:var(--text); font-weight:600; }
.edu-card{ border:1px solid var(--border); border-radius:10px; padding:20px; background:var(--card); }
.edu-card .eyebrow2{ font-family:var(--mono); font-size:11px; color:var(--text-faint); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:10px; }
.edu-card .degree{ font-weight:600; font-size:15px; margin-bottom:4px; }
.edu-card .school{ color:var(--blue); font-size:13.5px; margin-bottom:10px; }
.edu-card .meta{ color:var(--text-faint); font-size:13px; }

/* Skills */
.skill-groups{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media (max-width:640px){ .skill-groups{ grid-template-columns:1fr; } }
.skill-group{ border:1px solid var(--border); border-radius:10px; padding:18px 20px; background:var(--card); }
.skill-group .label{ font-size:13px; font-weight:600; color:var(--text); margin-bottom:14px; }
.pill-row{ display:flex; flex-wrap:wrap; gap:8px; }
.pill{ font-family:var(--mono); font-size:12.5px; color:var(--text-dim); background:var(--bg-alt); border:1px solid var(--border); padding:6px 12px; border-radius:6px; }

/* Projects */
.proj-grid{ display:grid; grid-template-columns:1fr; gap:16px; }
.proj-card{ border:1px solid var(--border); border-radius:10px; padding:22px; background:var(--card); transition:border-color .15s ease, transform .15s ease; }
.proj-card:hover{ border-color:#39424f; transform:translateY(-2px); }
.proj-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:10px; }
.proj-name{ font-family:var(--display); font-weight:600; font-size:17px; }
.status-badge{ font-family:var(--mono); font-size:10.5px; padding:4px 10px; border-radius:20px; white-space:nowrap; text-transform:uppercase; letter-spacing:0.04em; }
.status-live{ background:rgba(63,201,172,0.12); color:var(--teal); border:1px solid rgba(63,201,172,0.3); }
.status-progress{ background:rgba(226,169,74,0.12); color:var(--amber); border:1px solid rgba(226,169,74,0.3); }
.proj-desc{ color:var(--text-dim); font-size:14.5px; margin-bottom:14px; }
.tech-tags{ display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px; }
.tech-tag{ font-family:var(--mono); font-size:11.5px; color:var(--text-faint); background:var(--bg-alt); padding:4px 10px; border-radius:5px; border:1px solid var(--border); }
.proj-link{ font-size:13.5px; font-weight:600; }
.proj-note{ margin-top:20px; font-size:13.5px; color:var(--text-faint); border-left:2px solid var(--border); padding-left:14px; }

/* Contact */
.contact-card{ border:1px solid var(--border); border-radius:10px; background:var(--card); padding:28px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px; }
.contact-text h3{ font-family:var(--display); font-size:19px; margin-bottom:6px; }
.contact-text p{ color:var(--text-dim); font-size:14px; }
.contact-links{ display:flex; flex-wrap:wrap; gap:10px; }

footer{ padding:34px 0 50px; text-align:center; font-size:13px; color:var(--text-faint); }
