@import url('https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --void:#08080A;
  --panel:#0F0F12;
  --glass:rgba(255,255,255,0.035);
  --glass-border:rgba(255,255,255,0.09);
  --line:rgba(255,255,255,0.08);
  --white:#F5F4F1;
  --gray:#9A9AA0;
  --gray-dim:#5F5F66;
  --red:#E31C3D;
  --red-glow:rgba(227,28,61,0.55);
  --gold:#E8B33D;
  --gold-glow:rgba(232,179,61,0.45);
  --exam:#37E8B8;
  --exam-glow:rgba(55,232,184,0.5);
  --maxw:1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{ margin:0; background:var(--void); color:var(--white); font-family:'Inter', sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased; }
h1,h2,h3{ font-family:'Inter', sans-serif; font-weight:600; margin:0; letter-spacing:-0.01em; }
.display{ font-family:'Anton', sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:0.005em; }
a{ color:inherit; }
button{ font-family:inherit; }
.mono{ font-family:'IBM Plex Mono', monospace; }
.eyebrow{ font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gray); }
:focus-visible{ outline:2px solid var(--red); outline-offset:3px; }
@media (prefers-reduced-motion: reduce){ *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; } }

#progress{ position:fixed; top:0; left:0; height:2px; background:var(--red); width:0%; z-index:200; box-shadow:0 0 10px var(--red-glow); transition:width 0.1s linear; }

.site-nav{ position:sticky; top:0; z-index:100; background:rgba(8,8,10,0.7); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.nav-inner{ max-width:var(--maxw); margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:16px 24px; }
.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; font-size:14.5px; font-weight:600; color:var(--white); }
.brand-mark{ width:9px; height:9px; border-radius:50%; background:var(--red); box-shadow:0 0 10px var(--red-glow); flex:none; }
.brand .phd{ color:var(--gray); font-weight:500; }
.brand small{ display:block; font-family:'IBM Plex Mono', monospace; font-weight:400; font-size:10.5px; color:var(--gray-dim); margin-top:2px; letter-spacing:0.04em; }
.nav-links{ display:flex; gap:30px; align-items:center; }
.nav-links a{ text-decoration:none; color:var(--gray); font-size:13.5px; font-weight:500; letter-spacing:0.03em; padding:6px 2px; border-bottom:1px solid transparent; cursor:pointer; transition:color 0.2s, border-color 0.2s; }
.nav-links a:hover, .nav-links a.active{ color:var(--white); border-bottom-color:var(--red); }
.nav-toggle{ display:none; background:none; border:1px solid var(--glass-border); color:var(--white); width:38px; height:36px; border-radius:50%; cursor:pointer; position:relative; }
.nav-toggle span, .nav-toggle::before, .nav-toggle::after{ content:''; position:absolute; left:10px; right:10px; height:1.4px; background:var(--white); }
.nav-toggle::before{ top:13px; } .nav-toggle span{ top:17.5px; } .nav-toggle::after{ top:22px; }
.mobile-menu{ display:none; flex-direction:column; background:var(--panel); border-top:1px solid var(--line); padding:8px 24px 18px; }
.mobile-menu a{ color:var(--gray); text-decoration:none; padding:14px 2px; border-bottom:1px solid var(--line); font-size:15px; }
.mobile-menu.open{ display:flex; }
@media (max-width:780px){ .nav-links{ display:none; } .nav-toggle{ display:block; } }

/* ---------- PAGE LEDE (compact name heading, replaces old hero) ---------- */
.page-lede{ max-width:var(--maxw); margin:0 auto; padding:34px 24px 6px; }
.page-lede h1{ font-size:clamp(30px,5.2vw,54px); margin-top:10px; }

@keyframes blip{ 0%,100%{ opacity:1; } 50%{ opacity:0.4; } }
.lab{ font-family:'IBM Plex Mono', monospace; font-size:10.5px; letter-spacing:0.14em; color:var(--gray-dim); text-align:center; }
.status-row{ display:flex; align-items:center; justify-content:center; gap:10px; margin-top:12px; }
.status-dot{ width:9px; height:9px; border-radius:50%; background:var(--red); box-shadow:0 0 8px var(--red-glow); animation:blip 2s infinite; flex:none; }
#greetText{ font-size:14px; font-weight:600; }
#dayDate{ font-family:'IBM Plex Mono', monospace; font-size:11.5px; color:var(--gray); text-align:center; margin-top:6px; display:block; }
#clockTime{ font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--gray); text-align:center; margin-top:2px; display:block; }
.day-track{ position:relative; height:3px; background:rgba(255,255,255,0.1); border-radius:999px; margin-top:14px; }
.day-fill{ position:absolute; left:0; top:0; bottom:0; background:var(--red); border-radius:999px; box-shadow:0 0 6px var(--red-glow); }

/* ---------- FLOATING STUDY WIDGET ---------- */
.study-widget{ position:fixed; right:20px; bottom:20px; z-index:300; display:flex; flex-direction:column; align-items:flex-end; gap:12px; font-family:'Inter', sans-serif; }
.widget-fab{ display:flex; align-items:center; gap:9px; background:var(--panel); border:1px solid var(--glass-border); color:var(--white); padding:13px 18px; border-radius:999px; cursor:pointer; box-shadow:0 6px 24px rgba(0,0,0,0.45); transition:box-shadow 0.2s, transform 0.2s; }
.widget-fab:hover{ box-shadow:0 6px 28px rgba(227,28,61,0.28); transform:translateY(-1px); }
.widget-fab-dot{ width:8px; height:8px; border-radius:50%; background:var(--red); box-shadow:0 0 8px var(--red-glow); animation:blip 2s infinite; flex:none; }
.widget-fab-label{ font-size:12.5px; font-weight:600; letter-spacing:0.04em; }
.study-widget.expanded .widget-fab{ display:none; }
.study-widget:not(.expanded) .widget-panel{ display:none; }

.widget-panel{ width:300px; max-width:calc(100vw - 40px); background:var(--panel); border:1px solid var(--glass-border); border-radius:18px; box-shadow:0 16px 50px rgba(0,0,0,0.55); overflow:hidden; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.widget-head{ display:flex; align-items:center; justify-content:space-between; padding:10px 8px 10px 14px; border-bottom:1px solid var(--line); }
.widget-tabs{ display:flex; gap:2px; overflow-x:auto; scrollbar-width:none; }
.widget-tabs::-webkit-scrollbar{ display:none; }
.wtab{ border:none; background:transparent; color:var(--gray-dim); font-size:11.5px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; padding:7px 10px; border-radius:8px; cursor:pointer; white-space:nowrap; transition:background 0.2s, color 0.2s; }
.wtab.active{ background:rgba(227,28,61,0.14); color:var(--white); }
.widget-collapse{ border:none; background:transparent; color:var(--gray-dim); font-size:18px; line-height:1; width:28px; height:28px; border-radius:50%; cursor:pointer; flex:none; transition:background 0.2s, color 0.2s; }
.widget-collapse:hover{ background:rgba(255,255,255,0.06); color:var(--white); }

.widget-body{ overflow:hidden; touch-action:pan-y; }
.widget-track{ display:flex; transition:transform 0.32s cubic-bezier(.2,.7,.2,1); }
.wpage{ flex:0 0 100%; width:100%; box-sizing:border-box; padding:18px 18px 16px; }

.widget-dots{ display:flex; justify-content:center; gap:6px; padding:0 0 14px; }
.wdot{ width:6px; height:6px; border-radius:50%; background:var(--glass-border); cursor:pointer; transition:background 0.2s, transform 0.2s; }
.wdot.active{ background:var(--red); box-shadow:0 0 6px var(--red-glow); transform:scale(1.2); }

/* clock tab reuses .lab / .status-row / #greetText / #dayDate / #clockTime / .day-track above */

/* timer tab */
.wtimer-mode{ display:flex; gap:6px; background:var(--glass); border:1px solid var(--glass-border); padding:4px; border-radius:999px; margin-bottom:16px; }
.wmode{ flex:1; border:none; background:transparent; color:var(--gray); font-size:11px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; padding:8px 6px; border-radius:999px; cursor:pointer; transition:background 0.2s, color 0.2s; }
.wmode.active{ background:var(--red); color:#fff; }
.wtimer-display{ font-size:38px; text-align:center; letter-spacing:0.02em; margin-bottom:14px; color:var(--white); }
.wtimer-presets{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-bottom:10px; }
.wtimer-presets button{ border:1px solid var(--glass-border); background:var(--glass); color:var(--gray); font-size:11.5px; font-weight:600; padding:8px 0; border-radius:8px; cursor:pointer; transition:border-color 0.2s, color 0.2s; }
.wtimer-presets button:hover, .wtimer-presets button.active{ border-color:var(--red); color:var(--white); }
.wtimer-custom{ display:flex; gap:6px; margin-bottom:14px; }
.wtimer-custom input{ flex:1; min-width:0; background:var(--glass); border:1px solid var(--glass-border); color:var(--white); border-radius:8px; padding:8px 10px; font-size:12.5px; font-family:inherit; }
.wtimer-custom button{ border:1px solid var(--glass-border); background:transparent; color:var(--gray); font-size:11.5px; font-weight:600; padding:0 14px; border-radius:8px; cursor:pointer; }
.wtimer-controls{ display:flex; gap:8px; margin-bottom:10px; }
.wbtn-primary{ flex:1; border:1px solid var(--red); background:var(--red); color:#fff; font-size:12.5px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; padding:11px 0; border-radius:9px; cursor:pointer; transition:opacity 0.2s; }
.wbtn-primary:hover{ opacity:0.9; }
.wtimer-controls button:not(.wbtn-primary){ flex:1; border:1px solid var(--glass-border); background:transparent; color:var(--gray); font-size:12.5px; font-weight:600; padding:11px 0; border-radius:9px; cursor:pointer; }
.wtimer-status{ font-size:12px; color:var(--gray-dim); text-align:center; min-height:16px; }
.wtimer-status.alarm{ color:var(--red); font-weight:600; animation:blip 0.8s infinite; }

/* notes tab */
.wnotes{ width:100%; min-height:150px; background:var(--glass); border:1px solid var(--glass-border); color:var(--white); border-radius:10px; padding:12px; font-family:inherit; font-size:13px; line-height:1.55; resize:vertical; }
.wnotes:focus{ border-color:var(--red); }
.wnotes-status{ font-size:11px; color:var(--gray-dim); margin-top:8px; text-align:right; transition:opacity 0.3s; }

/* calculator tab */
.wcalc-display{ background:var(--glass); border:1px solid var(--glass-border); border-radius:10px; padding:16px 14px; font-size:26px; text-align:right; margin-bottom:10px; overflow-x:auto; white-space:nowrap; }
.wcalc-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.wcalc-btn{ border:1px solid var(--glass-border); background:var(--glass); color:var(--white); font-size:15px; font-weight:500; padding:12px 0; border-radius:9px; cursor:pointer; transition:background 0.15s, border-color 0.15s; }
.wcalc-btn:hover{ border-color:var(--gray-dim); }
.wcalc-btn.wcalc-op{ background:rgba(227,28,61,0.14); color:var(--red); border-color:rgba(227,28,61,0.3); font-weight:700; }
.wcalc-btn.wcalc-clear{ grid-column:span 4; background:transparent; color:var(--gray); }

@media (max-width:480px){ .study-widget{ right:14px; bottom:14px; } .widget-panel{ width:calc(100vw - 28px); } }

/* ---------- STAT ROW ---------- */
.stat-row{ max-width:var(--maxw); margin:0 auto; padding:26px 24px 90px; display:flex; border-top:1px solid var(--line); }
.stat-row.first{ padding-top:44px; border-top:none; }
.stat{ flex:1; padding:30px 24px 0; border-right:1px solid var(--line); }
.stat:last-child{ border-right:none; }
.stat .num{ font-family:'Anton', sans-serif; font-size:clamp(28px,3.6vw,42px); color:var(--white); }
.stat .label{ margin-top:6px; font-size:12px; color:var(--gray-dim); letter-spacing:0.02em; }
@media (max-width:780px){ .stat-row{ flex-wrap:wrap; } .stat{ flex:0 0 50%; border-right:none; border-bottom:1px solid var(--line); padding-bottom:24px; } }

.reveal{ opacity:0; transform:translateY(22px); transition:opacity 0.7s cubic-bezier(.2,.7,.2,1), transform 0.7s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:translateY(0); }

/* ---------- SECTION SHARED ---------- */
.section{ max-width:var(--maxw); margin:0 auto; padding:8px 24px 110px; }
.section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:34px; flex-wrap:wrap; padding-bottom:22px; border-bottom:1px solid var(--line); }
.section-head h2{ font-size:13px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gray-dim); font-family:'IBM Plex Mono', monospace; }

.cv-subhead{ font-size:13px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gray-dim); font-family:'IBM Plex Mono', monospace; margin:0 0 20px; }

.timeline{ list-style:none; margin:0 0 56px; padding:0; }
.timeline li{ display:grid; grid-template-columns:120px 1fr; gap:20px; padding:18px 0; border-bottom:1px solid var(--line); }
.timeline li:last-child{ border-bottom:none; }
.timeline .yr{ font-family:'IBM Plex Mono', monospace; color:var(--red); font-size:12.5px; padding-top:2px; }
.timeline h3{ font-size:16px; font-weight:600; }
.timeline p{ font-size:14px; color:var(--gray); margin:8px 0 0; max-width:62ch; }
@media (max-width:600px){ .timeline li{ grid-template-columns:1fr; gap:6px; } }

.skills-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:12px 40px; margin-bottom:20px; }
@media (max-width:700px){ .skills-wrap{ grid-template-columns:1fr; } }
.skill-row{ padding:12px 0; }
.skill-row .label-row{ display:flex; justify-content:space-between; font-size:13.5px; color:var(--gray); margin-bottom:8px; }
.skill-row .label-row strong{ color:var(--white); font-weight:500; }
.skill-track{ height:3px; background:rgba(255,255,255,0.08); border-radius:999px; }
.skill-fill{ height:100%; background:var(--red); border-radius:999px; width:0%; box-shadow:0 0 6px var(--red-glow); transition:width 1s cubic-bezier(.2,.7,.2,1); }

/* ---------- COURSES ---------- */
.term-toggle{ display:flex; gap:6px; background:var(--glass); border:1px solid var(--glass-border); padding:5px; border-radius:999px; }
.term-toggle button{ border:none; background:transparent; color:var(--gray); font-size:12.5px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; padding:9px 20px; border-radius:999px; cursor:pointer; transition:background 0.2s, color 0.2s; }
.term-toggle button.active{ background:var(--red); color:#fff; }
.term-note{ font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--gray-dim); margin-top:10px; }

.course-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:940px){ .course-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .course-grid{ grid-template-columns:1fr; } }

.course-card{ display:block; text-align:left; width:100%; background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:28px 24px 26px; cursor:pointer; text-decoration:none; color:inherit; position:relative; overflow:hidden; transition:background 0.25s, border-color 0.25s, transform 0.25s; }
.course-card::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--red); transform:scaleY(0); transform-origin:top; transition:transform 0.3s cubic-bezier(.2,.8,.2,1); box-shadow:0 0 14px var(--red-glow); }
.course-card.grad::before{ background:var(--gold); box-shadow:0 0 14px var(--gold-glow); }
.course-card:hover{ background:#141417; border-color:rgba(255,255,255,0.16); transform:translateY(-2px); }
.course-card:hover::before{ transform:scaleY(1); }
.cat-dot{ display:inline-flex; align-items:center; gap:7px; font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.06em; color:var(--gray-dim); text-transform:uppercase; }
.cat-dot span.d{ width:6px; height:6px; border-radius:50%; flex:none; background:var(--red); }
.course-card.grad .cat-dot span.d{ background:var(--gold); }
.course-card .code{ font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--gray-dim); margin-top:14px; }
.course-card h3{ font-size:19px; margin-top:8px; line-height:1.3; font-weight:600; }
.course-card .term{ font-size:12.5px; color:var(--gray-dim); margin-top:12px; }
.course-card .desc{ font-size:14px; color:var(--gray); margin-top:14px; }
.course-card .go{ margin-top:20px; font-size:12px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--red); display:flex; align-items:center; gap:6px; }
.course-card.grad .go{ color:var(--gold); }
.course-card .go svg{ transition:transform 0.2s; }
.course-card:hover .go svg{ transform:translateX(4px); }

/* Examination CTA card - deliberately louder than the course cards */
.exam-card{
  display:flex; flex-direction:column; justify-content:center; text-align:left; width:100%;
  padding:28px 24px 26px; text-decoration:none; color:inherit; position:relative; overflow:hidden;
  background:linear-gradient(145deg, rgba(55,232,184,0.14), rgba(55,232,184,0.03));
  border:1px solid rgba(55,232,184,0.4);
  transition:background 0.25s, box-shadow 0.25s;
}
.exam-card:hover{ background:linear-gradient(145deg, rgba(55,232,184,0.22), rgba(55,232,184,0.05)); box-shadow: inset 0 0 40px rgba(55,232,184,0.12); }
.exam-card .cat-dot{ color:var(--exam); }
.exam-card .cat-dot span.d{ background:var(--exam); box-shadow:0 0 8px var(--exam-glow); animation:blip 1.6s infinite; }
.exam-card h3{ font-size:21px; margin-top:10px; font-weight:700; color:#fff; }
.exam-card .desc{ font-size:14px; color:var(--gray); margin-top:12px; }
.exam-card .go{ margin-top:22px; font-size:12px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--exam); display:flex; align-items:center; gap:6px; }
.exam-card .go svg{ transition:transform 0.2s; }
.exam-card:hover .go svg{ transform:translateX(4px); }

footer{ background:var(--panel); border-top:1px solid var(--line); padding:44px 24px; }
.footer-inner{ max-width:var(--maxw); margin:0 auto; display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; font-size:13px; color:var(--gray); }
footer a{ color:var(--gray); text-decoration:none; }
footer a:hover{ color:var(--red); }
footer .fbrand{ font-weight:600; color:var(--white); margin-bottom:8px; }

/* ---------- DETAIL / SUB PAGES (course + examination) ---------- */
.course-page{ max-width:var(--maxw); margin:0 auto; padding:44px 24px 100px; }
.back-link{ display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--red); text-decoration:none; margin-bottom:32px; cursor:pointer; border:none; background:none; padding:0; font-family:inherit; letter-spacing:0.04em; }
.cp-head{ border-bottom:1px solid var(--line); padding-bottom:28px; margin-bottom:40px; }
.cp-head h1{ font-size:clamp(28px,4.6vw,44px); margin-top:14px; font-family:'Anton', sans-serif; text-transform:uppercase; letter-spacing:0.005em; }
.cp-meta{ display:flex; gap:26px; flex-wrap:wrap; margin-top:20px; }
.cp-meta div{ font-size:13px; color:var(--gray-dim); }
.cp-meta strong{ color:var(--gray); font-weight:500; }
.cp-body{ display:grid; grid-template-columns:1.6fr 1fr; gap:52px; }
@media (max-width:840px){ .cp-body{ grid-template-columns:1fr; } }
.cp-body h2{ font-size:13px; letter-spacing:0.12em; text-transform:uppercase; color:var(--gray-dim); font-family:'IBM Plex Mono', monospace; margin-bottom:18px; }
.cp-desc{ font-size:16px; color:var(--gray); max-width:62ch; margin-bottom:24px; }
.cp-note{ font-size:13.5px; color:var(--gray-dim); border:1px dashed var(--glass-border); border-radius:10px; padding:16px; max-width:60ch; }
.cp-side{ display:flex; flex-direction:column; gap:24px; }
.drive-card{ background:var(--glass); border:1px solid var(--glass-border); padding:26px 22px; border-radius:12px; }
.drive-card.grad{ border-color:rgba(232,179,61,0.35); }
.drive-card.exam{ border-color:rgba(55,232,184,0.35); }
.drive-card p{ color:var(--gray); font-size:13.5px; margin:0 0 16px; }
.side-fact{ border-left:1px solid var(--red); padding-left:14px; }
.side-fact .k{ font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--gray-dim); }
.side-fact .v{ font-size:14.5px; margin-top:4px; color:var(--white); }

.pill{ display:inline-flex; align-items:center; gap:8px; padding:15px 28px; border-radius:999px; text-decoration:none; font-size:12.5px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; border:1px solid var(--red); color:var(--white); cursor:pointer; background:transparent; transition:box-shadow 0.25s, background 0.25s; }
.pill:hover{ background:rgba(227,28,61,0.12); box-shadow:0 0 26px rgba(227,28,61,0.35); }

/* ---------- COURSE CARD TWEAKS (code replaces the level label) ---------- */
.course-card .cat-dot{ color:var(--red); letter-spacing:0.08em; font-size:11.5px; }
.course-card.grad .cat-dot{ color:var(--gold); }
.course-card .cat-dot span.d{ box-shadow:0 0 8px var(--red-glow); }
.course-card.grad .cat-dot span.d{ box-shadow:0 0 8px var(--gold-glow); }
.course-card h3{ margin-top:14px; }
.pill-off{ display:flex; justify-content:center; width:100%; padding:15px 28px; border-radius:999px; font-size:12.5px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; border:1px dashed var(--glass-border); color:var(--gray-dim); }

/* ---------- COURSE EVALUATION LIST ---------- */
.eval-list{ list-style:none; margin:0 0 26px; padding:0; max-width:52ch; }
.eval-list li{ display:flex; justify-content:space-between; gap:18px; padding:14px 0; border-bottom:1px solid var(--line); font-size:15px; color:var(--white); }
.eval-list li:last-child{ border-bottom:none; }

/* ---------- CV PAGE ---------- */
.cv-hero{ max-width:var(--maxw); margin:0 auto; padding:48px 24px 34px; display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.cv-photo{ width:112px; height:112px; border-radius:50%; object-fit:cover; flex:none; border:1px solid var(--glass-border); box-shadow:0 0 0 5px rgba(227,28,61,0.10); background:var(--panel); }
.cv-photo-fallback{ width:112px; height:112px; border-radius:50%; flex:none; display:none; align-items:center; justify-content:center; font-family:'Anton',sans-serif; font-size:34px; color:var(--red); background:var(--panel); border:1px solid var(--glass-border); }
.cv-hero h1{ font-family:'Anton',sans-serif; font-weight:400; text-transform:uppercase; font-size:clamp(28px,4.4vw,44px); }
.cv-role{ color:var(--gray); font-size:15px; margin-top:8px; }
.cv-chips{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.cv-chip{ font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.04em; color:var(--gray); border:1px solid var(--glass-border); background:var(--glass); padding:7px 14px; border-radius:999px; text-decoration:none; }
.cv-chip:hover{ color:var(--white); border-color:var(--red); }
.cv-lead{ max-width:var(--maxw); margin:0 auto; padding:0 24px 20px; }
.cv-lead p{ font-size:16.5px; color:var(--gray); max-width:74ch; margin:0 0 14px; }
.cv-list{ list-style:none; margin:0 0 56px; padding:0; }
.cv-list li{ padding:14px 0; border-bottom:1px solid var(--line); font-size:15px; color:var(--gray); display:flex; gap:14px; }
.cv-list li:last-child{ border-bottom:none; }
.cv-list li::before{ content:''; width:5px; height:5px; border-radius:50%; background:var(--red); flex:none; margin-top:11px; }
.cv-list strong{ color:var(--white); font-weight:500; }
