:root{--bg:#08111f;--surface:#111e30;--surface2:#17263b;--text:#edf5f9;--muted:#9bafc0;--accent:#6ce1d0;--line:#26374b;--font:'DM Sans',sans-serif;--head:'Outfit',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.65}a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--head);line-height:1.12}h2{font-size:clamp(2.2rem,5vw,4rem);font-weight:600;letter-spacing:-.04em}h2 em,h1 em{font-style:normal;color:var(--accent)}.section{padding:105px max(6vw,24px);max-width:1600px;margin:auto;scroll-margin-top:84px}.section-tight{padding:35px max(6vw,24px);max-width:1600px;margin:auto}.topbar{height:80px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 max(6vw,24px);background:#091322f0;backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;gap:12px;font:700 23px var(--head)}.logo-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--accent);border-radius:12px;color:var(--accent);font:700 16px var(--head)}.accent{color:var(--accent)}nav{display:flex;align-items:center;gap:27px}nav a{font-size:13px;color:#b9cada}nav a:hover,.contact-info a:hover{color:var(--accent)}.nav-cta{border:1px solid #478a88;border-radius:6px;padding:10px 15px;font-size:13px;color:var(--accent)}.menu{display:none}.hero{display:grid;grid-template-columns:1.13fr .87fr;align-items:center;gap:60px;min-height:720px;padding-top:80px;padding-bottom:90px}.eyebrow,.tag{font:700 11px var(--font);letter-spacing:.2em;color:var(--accent)}.eyebrow{display:flex;gap:10px;align-items:center}.dot{height:8px;width:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 15px var(--accent)}.kicker{color:var(--muted);margin:30px 0 0;font-size:21px}.hero h1{font-size:clamp(5rem,10vw,9.8rem);letter-spacing:-.077em;line-height:.9;margin:4px 0 28px}.hero h2{font-size:clamp(1.4rem,2.8vw,2.2rem);max-width:670px;margin:0 0 22px;letter-spacing:-.025em}.lead{color:var(--muted);max-width:610px;font-size:16px}.buttons{display:flex;gap:13px;flex-wrap:wrap;margin-top:32px}.btn{padding:15px 23px;border-radius:8px;font-weight:700;font-size:13px;display:inline-flex;gap:18px;align-items:center;transition:transform .2s}.btn:hover{transform:translateY(-3px)}.primary{background:var(--accent);color:#0b1b25}.ghost{border:1px solid #577084;color:var(--text)}.micro{display:flex;gap:10px;flex-wrap:wrap;color:#819baf;font-size:12px;margin-top:40px}.hero-visual{position:relative;max-width:510px;width:100%;margin:auto}.photo-halo{position:absolute;inset:12% 0%;border:1px solid #4fafa6;border-radius:50%;box-shadow:0 0 130px #3d9b8b36}.portrait-frame{position:relative;width:82%;aspect-ratio:1;margin:10% auto;overflow:hidden;border-radius:40% 40% 18% 18%;background:linear-gradient(140deg,#183852,#366b73);border:7px solid #1b3847;box-shadow:0 30px 90px #0008}.portrait-frame img{width:100%;height:100%;object-fit:cover;display:block}.image-fallback{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;font:700 70px var(--head)}.image-fallback[hidden]{display:none}.image-fallback small{font:400 11px var(--font);max-width:160px;text-align:center}.floating-chip{position:absolute;z-index:2;padding:11px 15px;background:#162b3bef;border:1px solid #36606b;border-radius:8px;box-shadow:0 12px 40px #0008;color:var(--accent);font-weight:700;font-size:12px}.floating-chip span{color:#e4f2f5;margin-left:8px}.one{top:9%;right:-3%}.two{left:-4%;top:50%}.three{bottom:9%;right:-3%}.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);background:#0e1d2e;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:25px}.quick-stats>div{display:flex;gap:15px;align-items:center;border-right:1px solid var(--line)}.quick-stats>div:last-child{border:0}.quick-stats b{font:600 48px var(--head)}.quick-stats b span{color:var(--accent)}.quick-stats small{color:var(--muted);line-height:1.5;font-size:12px}.section-heading{margin-bottom:45px}.section-heading h2{margin:15px 0 15px}.section-heading>p{color:var(--muted);max-width:760px}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:12%;align-items:start}.about-grid p{color:var(--muted)}.about-grid .large-p{font-size:clamp(22px,3vw,32px);font-family:var(--head);font-weight:500;color:var(--text);line-height:1.35}.note{font-size:12px;border-left:2px solid var(--accent);padding-left:13px}.about-panel{padding:32px;border:1px solid var(--line);background:var(--surface);border-radius:17px}.about-panel h3{font-size:26px}.principle{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.principle:last-child{border:0}.principle>span{color:var(--accent);font-weight:800}.principle b{font-size:14px}.principle p{font-size:13px;margin:6px 0 0}.alt{background:#0e1b2b;max-width:none}.expertise-grid,.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1400px}.expert-card,.project,.credential{padding:27px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.expert-card:hover,.project:hover{border-color:#438f8b;transform:translateY(-3px)}.expert-card,.project{transition:.2s}.symbol{font-size:30px;color:var(--accent)}.expert-card h3,.project h3{font-size:23px;margin:18px 0 12px}.expert-card p,.project p,.credential p{color:var(--muted);font-size:14px}.pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:23px}.pills span,.skills-strip span{font-size:11px;padding:5px 9px;border:1px solid #345062;border-radius:5px;color:#a5d6d3;background:#173041}.timeline{border-left:1px solid #387872;margin-left:8px}.timeline-item{display:grid;grid-template-columns:220px 1fr;gap:40px;position:relative;padding:0 0 42px 40px}.timeline-item:before{content:'';width:13px;height:13px;background:var(--accent);position:absolute;left:-7px;top:6px;border-radius:50%;box-shadow:0 0 0 6px #17383d}.timeline-date{font-size:13px;color:var(--accent);font-weight:700;padding-top:5px}.timeline-content{border-bottom:1px solid var(--line);padding-bottom:25px;max-width:850px}.timeline-content h3{font-size:27px;margin:0 0 6px}.timeline-content .role{color:#c4d8e0;margin-bottom:15px}.timeline-content p{color:var(--muted);font-size:14px}.timeline-content small{font-size:11px;color:#adc1c9;display:block;margin-top:15px}.current-label{display:inline-block;color:#0c2527;background:var(--accent);padding:4px 8px;border-radius:4px;font-size:9px;font-weight:800;margin-bottom:12px}.filter-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.filter{border:1px solid #3b5366;background:transparent;color:#c3d4de;border-radius:6px;padding:10px 17px;font-size:12px}.filter.active,.filter:hover{color:#0b1b25;background:var(--accent);border-color:var(--accent)}.project{min-height:290px;display:flex;flex-direction:column}.project[hidden]{display:none}.project-top{color:var(--accent);display:flex;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.08em}.project-type{margin-top:auto;font-size:11px;color:#8ca8b8}.credentials-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.credential-tag{font-size:11px;color:var(--accent);letter-spacing:.1em}.credential h3{font-size:23px;margin:15px 0}.credential small,.credential li{color:var(--muted)}.credential ul{padding-left:18px;font-size:13px}.skills-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:35px}.contact{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;background:#11283b;max-width:none}.contact h2{margin:20px 0}.contact p{color:var(--muted);max-width:600px}.contact-info{display:flex;flex-direction:column;justify-content:center;gap:28px}.contact-info>div{border-bottom:1px solid var(--line);padding-bottom:20px;display:grid;gap:6px}.contact-info small{font-size:11px;color:var(--accent);letter-spacing:.12em}.contact-info a{word-break:break-word}footer{padding:25px max(6vw,24px);display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:12px}@media(max-width:1100px){nav{gap:13px}.nav-cta{display:none}.hero{gap:25px}.hero h1{font-size:clamp(4.5rem,8vw,7rem)}.floating-chip{font-size:10px}.quick-stats b{font-size:37px}}@media(max-width:800px){.topbar{height:70px}.menu{display:block;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;padding:7px 12px}nav{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:stretch;background:#0d1c2b;padding:20px 6vw;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{grid-template-columns:1fr;min-height:unset;padding-top:70px}.hero-visual{max-width:400px;order:-1}.hero h1{font-size:clamp(5rem,14vw,8rem)}.section{padding:70px 24px}.section-tight{padding:30px 24px}.quick-stats{grid-template-columns:1fr 1fr}.quick-stats>div:nth-child(2){border:0}.about-grid,.contact,.credentials-grid{grid-template-columns:1fr;gap:30px}.expertise-grid,.projects-grid{grid-template-columns:repeat(2,1fr)}.timeline-item{grid-template-columns:1fr;gap:7px}.floating-chip.one{right:0}.floating-chip.two{left:0}.floating-chip.three{right:0}}@media(max-width:530px){.hero h1{font-size:clamp(4.5rem,16vw,6.5rem)}.expertise-grid,.projects-grid{grid-template-columns:1fr}.quick-stats{gap:20px}.quick-stats>div{display:block}.quick-stats b{display:block}.quick-stats small{font-size:11px}.floating-chip{padding:8px;font-size:9px}.hero-visual{max-width:350px}.micro{margin-top:25px}footer{flex-direction:column}.timeline-item{padding-left:28px}}

/* Portfolio v3 refinements */
.role-bullets{color:var(--muted);font-size:13px;padding-left:18px;margin:10px 0 18px}.role-bullets li{padding:3px 0}.timeline-date small{font-weight:400;color:var(--muted)}.hero h1{font-size:clamp(4.7rem,9vw,9rem)}.portrait-frame{border-radius:30% 30% 13% 13%;box-shadow:0 30px 100px #000a}.portrait-frame img{object-position:center 22%}.hero-copy{min-width:0}.expertise-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:800px){.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:530px){.expertise-grid{grid-template-columns:1fr}}

/* Full-name portfolio identity */
.topbar .logo{letter-spacing:-.5px;font-size:clamp(16px,1.5vw,23px)}
@media(max-width:830px){.topbar .logo{font-size:17px}}
@media(max-width:480px){.topbar .logo{font-size:15px;gap:7px}.topbar .logo-mark{width:39px;height:39px}}
