@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#f3f5ff;--muted:#a6aec4;--bg:#0b1020;--panel:#11182b;--line:rgba(255,255,255,.1);--purple:#a78bfa;--blue:#60a5fa;--light:#f6f7fb;--light-ink:#161c2d;--light-muted:#5d6578;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 48px));margin:0 auto}.site-header{height:78px;position:sticky;top:0;z-index:10;background:rgba(11,16,32,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:10px;font:800 20px Manrope,sans-serif;letter-spacing:-.8px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#a78bfa,#60a5fa);color:#0b1020;font-size:19px}.brand-dot{color:var(--purple)}.nav-links{display:flex;align-items:center;gap:32px;font-size:13px;color:#c4cad9}.nav-links>a:hover,.text-link:hover{color:white}.nav-cta{padding:10px 16px;border:1px solid #434b63;border-radius:9px;color:white}.nav-cta span{margin-left:9px;color:var(--purple)}.menu-toggle{display:none;background:none;border:0;color:white;font-size:25px}
.hero{position:relative;overflow:hidden;padding:100px 0 90px;background:radial-gradient(ellipse at 78% 38%,rgba(85,78,173,.16),transparent 40%),linear-gradient(120deg,#0b1020,#0c1224)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:50px;position:relative;z-index:1}.eyebrow,.hero-kicker,.section-label{font-size:10px;font-weight:700;letter-spacing:1.8px}.eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid #28334a;padding:8px 12px;border-radius:30px;color:#c9d1e3}.status-dot{width:7px;height:7px;border-radius:50%;background:#6ee7b7;box-shadow:0 0 12px #6ee7b7}.hero-kicker{margin:27px 0 14px;color:#9ea8c1}.hero h1{font:800 clamp(42px,5.1vw,68px)/1.1 Manrope,sans-serif;letter-spacing:-3.5px;margin:0;max-width:700px}.gradient-text{background:linear-gradient(100deg,#c4b5fd,#7dd3fc);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lede{max-width:560px;color:#aab3c9;font-size:16px;line-height:1.85;margin:23px 0 28px}.hero-actions,.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border-radius:9px;padding:13px 18px;font-size:13px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:#c4b5fd;color:#14112a}.button-primary:hover{background:#d5cbff}.button-secondary{border:1px solid #3b455d;color:#eef1fb}.hero-proof{display:flex;gap:28px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);max-width:520px}.hero-proof div{display:flex;flex-direction:column;gap:3px}.hero-proof strong{font:700 15px Manrope,sans-serif}.hero-proof span{font-size:10px;color:#8e98b0}
.hero-visual{height:430px;position:relative;display:grid;place-items:center}

.profile-frame {
  position: relative;
  z-index: 2;
  width: min(310px, 76%);
  aspect-ratio: 4/5;
  border-radius: 150px 150px 28px 28px;
  padding: 8px;
  overflow: hidden;
  box-sizing: border-box;
  background: linear-gradient(145deg, #c4b5fd, #253b68 55%, #11182b);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .38);
}

/* 1. Target the exact class you used in the HTML */
.profile-photo {
  display: block;
  
  /* Force the image to fill the frame minus the 8px padding on each side */
  width: 100%;
  height: 100%;
  
  /* This forces the arch shape onto the image perfectly */
  border-radius: inherit; 
  
  /* Crucial: scales proportionally and crops the excess */
  object-fit: cover;       
  object-position: center; 
}






.visual-orbit{position:absolute;border:1px solid rgba(167,139,250,.19);border-radius:50%;aspect-ratio:1}.orbit-one{width:410px}.orbit-two{width:340px;border-style:dashed;border-color:rgba(96,165,250,.2)}.floating-card{position:absolute;z-index:3;display:flex;align-items:center;gap:12px;background:rgba(22,31,53,.93);border:1px solid #38415a;border-radius:12px;padding:13px 16px;box-shadow:0 15px 45px rgba(0,0,0,.25)}.floating-card strong,.floating-card small{display:block}.floating-card strong{font-size:11px}.floating-card small{font-size:9px;color:#9ba7c1;margin-top:2px}.card-top{top:62px;right:-2px}.card-bottom{bottom:58px;left:-10px}.mini-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#332958;color:#d8c9ff;font-size:19px}.mini-icon-blue{background:#193652;color:#8dd8ff}.visual-caption{position:absolute;bottom:4px;right:20px;font-size:8px;letter-spacing:2px;color:#77829e}.hero-glow{position:absolute;width:300px;height:300px;background:#6254c5;filter:blur(160px);opacity:.12;right:10%;top:20%}
.logo-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d1325}.strip-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}.strip-inner>span{font-size:9px;letter-spacing:1.7px;color:#7f8aa4}.strip-inner b{font-size:10px;letter-spacing:1px;color:#b8c1d5}.strip-inner i{width:4px;height:4px;border-radius:50%;background:#7773d8}
.section{padding:100px 0}.section-light{background:var(--light);color:var(--light-ink)}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.section-label{color:#7771c8;margin:0 0 18px}.section h2{font:800 clamp(32px,4vw,48px)/1.2 Manrope,sans-serif;letter-spacing:-2px;margin:0}.about-content p{color:var(--light-muted);font-size:14px;margin:0 0 17px}.about-content .large-copy{font:600 21px/1.55 Manrope,sans-serif;letter-spacing:-.5px;color:#252c3e}.honesty-note{padding:14px 16px;border-left:3px solid #9b8af4;background:#eeeff8;border-radius:0 8px 8px 0;font-size:12px!important}.about-tags,.tech-list,.role-tags,.skill-pills{display:flex;gap:8px;flex-wrap:wrap}.about-tags{margin-top:24px}.about-tags span{font-size:10px;padding:7px 10px;border:1px solid #dfe2ec;border-radius:7px;color:#535c71}
.projects-section{background:#0b1020}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-heading>p{max-width:330px;color:#9ba5bd;font-size:13px;margin:0 0 5px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.project-card{border:1px solid #252e45;background:#10172a;border-radius:15px;overflow:hidden;transition:transform .25s,border-color .25s}.project-card:hover{transform:translateY(-5px);border-color:#625c9d}.project-art{height:210px;position:relative;display:grid;place-items:center;overflow:hidden}.art-purple{background:radial-gradient(circle at 50% 50%,#3d326b,#1b1c3b 65%,#151a2e)}.art-blue{background:radial-gradient(circle at 50% 50%,#1d5370,#13243d 70%)}.art-green{background:radial-gradient(circle at 50% 50%,#245d51,#142b35 72%)}.art-orange{background:radial-gradient(circle at 50% 50%,#69462e,#2b2230 72%)}.art-caption{position:absolute;bottom:14px;left:17px;font-size:8px;letter-spacing:1.6px;color:#a9b3ce}.art-window{position:relative;width:60%;height:125px;border:1px solid #7268b1;background:rgba(14,17,40,.8);border-radius:9px;padding:13px;box-shadow:0 15px 40px #090b1c}.art-window>span{display:inline-block;width:5px;height:5px;border-radius:50%;background:#b3a4ff;margin-right:4px}.art-lines{margin-top:19px;display:grid;gap:8px}.art-lines i{height:4px;border-radius:4px;background:#4d4b80;width:82%}.art-lines i:nth-child(2){width:62%}.art-lines i:nth-child(3){width:72%}.art-lines i:nth-child(4){width:45%}.art-orb{position:absolute;right:19px;top:42px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#bba7ff,#688bfa);color:#12132a;font:800 18px Manrope;box-shadow:0 0 35px #8273ed66}.cache-visual{display:flex;align-items:center;gap:10px}.cache-node{padding:12px 10px;border:1px solid #4d8eac;border-radius:9px;background:#142d45;color:#c9efff;font-size:10px;text-align:center}.cache-node-bright{background:#27617c;border-color:#79d6ff}.cache-arrow{color:#8cdfff;font-size:18px}.rag-stack{width:62%;display:grid;gap:7px;transform:perspective(450px) rotateX(5deg)}.rag-stack div{padding:9px 13px;background:#183b39;border:1px solid #367c6d;border-radius:6px;color:#baf3d8;font-size:9px;letter-spacing:1px;box-shadow:0 6px 0 #102b2a}.rag-stack b{float:right}.rag-stack .rag-result{background:#2c6d5b;color:white}.eval-chart{width:62%;height:120px;border:1px solid #76513c;border-radius:9px;background:#241e2b;padding:16px}.eval-bars{height:68px;display:flex;align-items:end;gap:10px;border-bottom:1px solid #665044}.eval-bars i{display:block;flex:1;background:linear-gradient(#ffc58e,#d77d65);border-radius:3px 3px 0 0}.eval-line{display:flex;justify-content:space-between;margin-top:8px;font-size:8px;color:#dcbca7;letter-spacing:1px}.eval-line b{color:#ffc58e}.project-body{padding:23px}.project-meta{display:flex;justify-content:space-between;color:#a89ce9;font-size:10px;font-weight:700}.project-meta span:last-child{color:#66718b}.project-body h3{font:700 20px/1.35 Manrope,sans-serif;letter-spacing:-.5px;margin:12px 0 10px}.project-body p{font-size:12px;color:#9ea8be;line-height:1.8;min-height:66px;margin:0 0 17px}.tech-list span{font-size:9px;color:#c4cce0;border:1px solid #303a53;padding:5px 8px;border-radius:5px}.project-links{border-top:1px solid #252e43;margin-top:20px;padding-top:15px;display:flex;justify-content:space-between;align-items:center;gap:12px}.project-links a{font-size:11px;font-weight:700}.project-links a span{color:#b7a7ff;margin-left:5px}.project-status{font-size:8px;color:#7e89a4;letter-spacing:.5px}.section-footnote{font-size:10px;color:#737f9b;margin-top:22px}
.timeline{margin-top:52px;display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:180px 22px 1fr;gap:20px;position:relative;padding-bottom:38px}.timeline-item:not(:last-child):after{content:"";position:absolute;left:210px;top:13px;bottom:-1px;width:1px;background:#dfe2ed}.timeline-date{font-size:10px;font-weight:700;letter-spacing:.8px;color:#7670bf;padding-top:3px}.timeline-marker{position:relative;z-index:1;margin:3px auto 0;width:11px;height:11px;border-radius:50%;background:#8d81e3;border:3px solid #e8e7fb;box-shadow:0 0 0 1px #a59de0}.timeline-content{padding-bottom:8px}.role-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.timeline-content h3{font:700 20px Manrope,sans-serif;letter-spacing:-.4px;margin:0}.timeline-content h4{margin:4px 0 11px;font-size:13px;color:#656e82}.timeline-content p{max-width:720px;font-size:12px;color:#616a7e;line-height:1.8;margin:0 0 13px}.role-type{font-size:8px;letter-spacing:1px;color:#7771bd;border:1px solid #dcd9f5;border-radius:5px;padding:5px 8px;white-space:nowrap}.role-tags span{font-size:9px;padding:5px 8px;background:#ebedf5;color:#5b6378;border-radius:5px}
.skills-section{background:#0f1629}.skills-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.skills-intro{font-size:13px;color:#9ba6bf;max-width:390px;margin:22px 0}.text-link{font-size:12px;color:#d7d0ff;font-weight:700}.text-link span{margin-left:6px}.skills-content{display:grid;gap:28px}.skill-group{padding-bottom:22px;border-bottom:1px solid var(--line)}.skill-group h3{font:700 13px Manrope,sans-serif;margin:0 0 14px}.skill-pills span{padding:9px 12px;border:1px solid #303b55;border-radius:7px;font-size:11px;color:#c1c9dc;background:#131d32}
.contact-section{padding:80px 0;background:#0b1020}.contact-card{position:relative;overflow:hidden;border:1px solid #4b477e;border-radius:20px;padding:58px;background:radial-gradient(ellipse at 85% 20%,#292854,transparent 45%),linear-gradient(120deg,#171b37,#131b31)}.contact-card .section-label{color:#b7a7ff}.contact-card h2{font:800 clamp(32px,4vw,48px)/1.2 Manrope,sans-serif;letter-spacing:-2px;max-width:650px;margin:0}.contact-lede{font-size:13px;color:#aab3ca;max-width:560px;margin:18px 0 24px}.button-light{background:#c4b5fd;color:#16142a}.button-outline-light{border:1px solid #4b5571;color:#f0f2fb}.contact-decoration{position:absolute;right:54px;top:35px;font-size:100px;color:#aaa0ff;opacity:.14;font-family:Manrope}.social-links{display:flex;flex-wrap:wrap;gap:24px;border-top:1px solid #343c57;margin-top:35px;padding-top:22px}.social-links a{font-size:11px;color:#c1c9dc}.social-links a:hover{color:white}.site-footer{background:#080c17;border-top:1px solid var(--line);padding:22px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#7e89a2;font-size:10px}.footer-brand{color:#f3f5ff;font-size:16px}.footer-brand .brand-mark{width:28px;height:28px;font-size:15px}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr .8fr;gap:20px}.hero h1{font-size:52px}.hero-visual{transform:scale(.9)}.about-grid,.skills-grid{gap:45px}.strip-inner{flex-wrap:wrap;justify-content:center;padding:20px 0}.strip-inner>span{width:100%;text-align:center}.section-heading{align-items:start;flex-direction:column;gap:16px}.project-body p{min-height:90px}}
@media(max-width:680px){.container{width:min(100% - 34px,var(--max))}.site-header{height:68px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:67px;left:0;right:0;background:#10172a;padding:22px 24px 26px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:18px}.nav-links.nav-open{display:flex}.nav-cta{text-align:center}.hero{padding:64px 0 55px}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(42px,12vw,58px);letter-spacing:-2.5px}.hero-lede{font-size:14px}.hero-proof{gap:15px;justify-content:space-between}.hero-proof span{max-width:100px}.hero-visual{height:390px;margin-top:15px;transform:none}.profile-frame{width:250px}.orbit-one{width:330px}.orbit-two{width:275px}.card-top{right:0;top:48px}.card-bottom{left:0;bottom:38px}.floating-card{padding:10px}.visual-caption{right:0}.strip-inner{gap:14px}.strip-inner b{font-size:8px}.strip-inner i{display:none}.section{padding:70px 0}.about-grid,.skills-grid{grid-template-columns:1fr;gap:26px}.about-content .large-copy{font-size:18px}.project-grid{grid-template-columns:1fr}.project-art{height:190px}.project-body p{min-height:0}.timeline-item{grid-template-columns:1fr 18px;gap:13px;padding-bottom:32px}.timeline-date{grid-column:1;grid-row:1}.timeline-marker{grid-column:2;grid-row:1 / span 2}.timeline-content{grid-column:1;grid-row:2}.timeline-item:not(:last-child):after{left:auto;right:8px;top:14px}.role-top{align-items:flex-start;flex-direction:column;gap:8px}.timeline-content h3{font-size:18px}.contact-card{padding:34px 24px}.contact-decoration{right:20px;top:20px;font-size:70px}.contact-card h2{font-size:34px}.social-links{gap:16px}.footer-inner{flex-wrap:wrap}.footer-inner>span:nth-child(2){order:3;width:100%}}


/* Resume download section */
.resume-section { background: #0b1020; color: #f5f7ff; }
.resume-card { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr); align-items: center; gap: 48px; padding: clamp(28px, 5vw, 64px); border: 1px solid rgba(167, 139, 250, .24); border-radius: 28px; background: radial-gradient(circle at 90% 15%, rgba(99, 102, 241, .18), transparent 34%), #11182b; box-shadow: 0 24px 70px rgba(0,0,0,.18); }
.resume-copy h2 { max-width: 620px; margin: 10px 0 18px; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.08; letter-spacing: -.04em; }
.resume-copy > p:not(.section-label):not(.resume-note) { max-width: 620px; color: #c2c9dc; line-height: 1.8; }
.resume-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.resume-note { margin-top: 16px; color: #9ba7c2; font-size: .85rem; }
.resume-file-art { display: flex; justify-content: center; align-items: center; min-height: 260px; }
.pdf-sheet { position: relative; width: 176px; min-height: 220px; padding: 24px 20px; border-radius: 12px; background: #f7f8ff; box-shadow: 16px 20px 0 rgba(139, 92, 246, .22), 0 20px 45px rgba(0,0,0,.25); transform: rotate(5deg); }
.pdf-label { display: inline-flex; padding: 6px 10px; border-radius: 7px; background: #7c3aed; color: #fff; font-size: .75rem; font-weight: 800; letter-spacing: .08em; }
.pdf-line { height: 6px; width: 76%; margin-top: 12px; border-radius: 99px; background: #d8dced; }
.pdf-line-long { width: 100%; }
.pdf-line-short { width: 54%; }
.pdf-rule { height: 1px; margin: 20px 0 12px; background: #e1e5f0; }
.pdf-download-mark { position: absolute; right: 16px; bottom: 15px; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #e9ddff; color: #6d28d9; font-size: 1.5rem; font-weight: 700; }
@media (max-width: 760px) { .resume-card { grid-template-columns: 1fr; gap: 18px; } .resume-file-art { min-height: 220px; } .resume-actions .button { width: 100%; justify-content: center; } }
