*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#080b12;color:#eef1f7;font-family:Manrope, sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.ambient{position:absolute;pointer-events:none;filter:blur(90px);opacity:.18;border-radius:50%;z-index:-1}.ambient-one{width:460px;height:460px;background:#3159c9;top:80px;right:-160px}.ambient-two{width:360px;height:360px;background:#6b3ca7;top:950px;left:-220px}.section-wrap{width:min(1160px,calc(100% - 56px));margin:auto}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;width:min(1240px,calc(100% - 56px));margin:auto;border-bottom:1px solid #ffffff12;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.08em;font-size:14px}.brand-mark{width:30px;height:30px;display:grid;place-items:center;border:1px solid #8ea7ff;border-radius:9px;color:#a9bcff;font-size:16px}.brand-dot{color:#91a9ff}.nav{display:flex;align-items:center;gap:35px;font-size:12px;color:#aab1c1}.nav a{transition:.2s}.nav a:hover{color:#fff}.nav-contact{padding:11px 16px;border:1px solid #ffffff25;border-radius:6px;color:#f4f6fc!important}.nav-contact span{color:#a9baff;margin-left:9px}.menu-toggle{display:none;background:none;border:0}.hero{min-height:690px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative;padding-top:28px;padding-bottom:100px}.eyebrow,.section-label,.section-overline,.hero-meta,.visual-label,.core-top,.core-bottom,.project-type,.project-foot,.edu-date,.contact-links>a>span,.footer-inner>span,.back-top{font-family:"DM Mono",monospace;letter-spacing:.12em;font-size:9px;color:#8d98ae}.eyebrow{display:flex;align-items:center;gap:10px;color:#aeb8cb}.status-dot{width:7px;height:7px;border-radius:50%;background:#78d8ac;box-shadow:0 0 12px #78d8ac}.hero-kicker{font-size:18px;color:#aeb7c8;margin:42px 0 4px}.hero h1{font-size:clamp(56px,7vw,88px);line-height:.99;letter-spacing:-.075em;margin:0;font-weight:800}.hero h1 span,.section-heading span{color:#94aaff}.hero-role{font-size:clamp(17px,2vw,22px);font-weight:500;color:#c4cad7;margin:24px 0 14px}.hero-role span{color:#9db1ff}.cursor{display:inline-block;width:2px;height:22px;background:#9db1ff;margin-left:4px;vertical-align:-4px;animation:blink 1s infinite}@keyframes blink{50%{opacity:0}}.hero-description{max-width:500px;color:#8f99ac;line-height:1.9;font-size:13px}.hero-actions{display:flex;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;gap:22px;padding:14px 18px;border-radius:5px;font-size:11px;font-weight:700;transition:.25s}.button-primary{background:#91a9ff;color:#09101e}.button-primary:hover{background:#b0c0ff;transform:translateY(-2px)}.button-ghost{border:1px solid #ffffff2b;color:#e6eaf2}.button-ghost:hover{border-color:#91a9ff}.hero-meta{display:flex;gap:13px;align-items:center;margin-top:55px;font-size:8px}.meta-line{width:28px;height:1px;background:#59657b}.hero-visual{height:470px;position:relative;display:grid;place-items:center}.visual-orbit{position:absolute;border:1px solid #8ea7ff20;border-radius:50%;transform:rotate(-25deg)}.orbit-a{width:440px;height:270px}.orbit-b{width:350px;height:440px;transform:rotate(35deg)}.visual-core{width:min(420px,100%);background:linear-gradient(145deg,#151d31,#0d1321 75%);border:1px solid #9aafff35;border-radius:13px;padding:18px;box-shadow:0 25px 100px #0008,0 0 60px #4568d51a;position:relative;z-index:2}.core-top,.core-bottom{display:flex;justify-content:space-between;font-size:8px;color:#7f8da8}.core-live{color:#79d9b1}.code-window{margin:19px 0;background:#080d18;border:1px solid #ffffff12;border-radius:8px;overflow:hidden}.window-dots{height:35px;border-bottom:1px solid #ffffff12;display:flex;align-items:center;gap:5px;padding:0 12px}.window-dots i{width:6px;height:6px;background:#64718a;border-radius:50%}.window-dots i:first-child{background:#e58d8d}.window-dots i:nth-child(2){background:#e4c37c}.window-dots i:nth-child(3){background:#83c9a3}.window-dots span{margin-left:9px;font:9px "DM Mono";color:#75829b}.code-window pre{padding:16px 18px 20px;margin:0;color:#c4ccdc;font:11px/2 "DM Mono",monospace;white-space:pre-wrap}.code-purple{color:#c5a2ff}.code-blue{color:#91b9ff}.code-green{color:#9eddbb}.core-bottom{padding-top:3px}.float-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;padding:11px 13px;background:#151d2d;border:1px solid #ffffff20;border-radius:8px;box-shadow:0 12px 30px #0007}.chip-one{top:67px;left:-10px}.chip-two{bottom:62px;right:-3px}.chip-icon{width:28px;height:28px;border-radius:7px;background:#8da7ff20;color:#a9bbff;display:grid;place-items:center}.float-chip b{display:block;font-size:9px}.float-chip small{display:block;color:#8490a6;font-size:8px;margin-top:3px}.scroll-cue{position:absolute;bottom:30px;left:0;font:8px "DM Mono";letter-spacing:.15em;color:#6e7a90;display:flex;align-items:center;gap:12px}.scroll-cue span{height:28px;width:1px;background:#91a9ff}.intro-strip{border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12;background:#0b101a}.strip-inner{display:flex;align-items:center;justify-content:space-between;padding:22px 0;color:#737f96;font:9px "DM Mono";letter-spacing:.14em}.strip-inner b{color:#879fff;font-size:12px}.section-block{padding-top:115px;padding-bottom:30px}.section-label{display:flex;align-items:center;gap:18px;margin-bottom:55px}.label-line{height:1px;background:#ffffff18;flex:1}.section-overline{color:#94aaff;margin:0 0 17px}.section-heading{font-size:clamp(36px,5vw,55px);line-height:1.12;letter-spacing:-.06em;margin:0;font-weight:700}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-copy{color:#9aa4b6;font-size:13px;line-height:2}.about-copy p{margin:0 0 18px}.about-copy strong{color:#e7ebf4}.about-facts{display:flex;gap:35px;border-top:1px solid #ffffff18;margin-top:32px;padding-top:23px}.about-facts strong{display:block;font-size:21px;color:#eaf0ff;letter-spacing:-.04em}.about-facts span{display:block;font:8px "DM Mono";color:#748198;margin-top:7px;letter-spacing:.08em}.section-heading-row{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:42px}.section-side-note{max-width:310px;color:#8490a5;font-size:11px;line-height:1.8;margin:0 0 5px}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.skill-card{background:linear-gradient(145deg,#121a2a,#0c111c);border:1px solid #ffffff13;border-radius:8px;padding:23px 20px;min-height:255px;position:relative;transition:.25s}.skill-card:hover,.project-card:hover{border-color:#91a9ff65;transform:translateY(-4px)}.skill-number{position:absolute;right:19px;top:20px;font:9px "DM Mono";color:#596781}.skill-icon{font-size:23px;color:#9eb3ff;margin-bottom:25px}.skill-card h3{font-size:14px;margin:0 0 10px}.skill-card p{font-size:10px;color:#8792a6;line-height:1.8;min-height:54px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.tags span{font:8px "DM Mono";padding:6px 8px;border-radius:3px;background:#ffffff09;border:1px solid #ffffff12;color:#aab6cc}.honesty-note,.project-disclaimer{font-size:9px;color:#69758a;line-height:1.7;margin-top:17px}.projects-section{background:linear-gradient(180deg,#0a0e17,#0d1320 50%,#080b12);border-top:1px solid #ffffff0c;border-bottom:1px solid #ffffff0c;margin-top:90px;padding-bottom:80px}.project-list{display:grid;gap:16px}.project-card{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid #ffffff17;background:#101725;border-radius:9px;overflow:hidden;transition:.25s}.project-visual{min-height:300px;position:relative;overflow:hidden;background:#121d34;padding:20px}.visual-label{position:relative;z-index:2;color:#9aa9c8}.cnn-visual{background:radial-gradient(circle at 45% 50%,#344e91 0,#182849 34%,#10192b 75%)}.neural-art{position:absolute;inset:65px 30px 45px;display:flex;align-items:center;justify-content:space-around}.neural-art:before,.neural-art:after{content:"";position:absolute;inset:20px 7%;border-top:1px solid #9eb4ff42;border-bottom:1px solid #9eb4ff42;transform:skewY(-20deg)}.neural-art span{width:13px;height:13px;border-radius:50%;background:#a9c2ff;box-shadow:0 0 17px #83a8ff;z-index:1}.neural-art span:nth-child(2n){width:8px;height:8px;background:#d5b8ff}.cnn-caption{position:absolute;right:23px;bottom:18px;text-align:right;font:10px/1.5 "DM Mono";letter-spacing:.12em;color:#c4d2f7}.project-info{padding:30px 34px}.project-type{color:#95aaff;font-size:8px}.project-info h3{font-size:23px;letter-spacing:-.04em;margin:13px 0}.project-info p{font-size:11px;color:#929db0;line-height:1.9}.project-points{padding-left:17px;color:#a8b1c1;font-size:10px;line-height:2}.project-foot{display:flex;justify-content:space-between;border-top:1px solid #ffffff15;margin-top:22px;padding-top:15px}.project-arrow{color:#a4b8ff;font-size:17px}.socket-visual{background:radial-gradient(circle at 50% 50%,#264c55,#10272d 60%,#0c1a22)}.socket-nodes{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:13px;font:8px "DM Mono";color:#b8e4db}.socket-nodes i{font-style:normal;border:1px solid #9be1d65c;padding:14px 10px;border-radius:5px;background:#0c2227a8}.socket-nodes b{color:#9be1d6;font-size:15px}.education-card{margin-top:40px;padding:35px;border:1px solid #ffffff18;border-radius:9px;background:linear-gradient(110deg,#131d30,#0d121e);display:grid;grid-template-columns:150px 1fr 80px;gap:25px;align-items:start}.edu-date{color:#a7b8e9;line-height:2}.edu-date span{display:block;color:#687790;font-size:8px}.edu-main h3{font-size:18px;margin:0 0 8px;line-height:1.5}.edu-school{color:#a9b8df!important}.edu-main p{font-size:11px;color:#8793a7;line-height:1.8}.edu-mark{font-size:36px;font-weight:800;color:#8fa9ff;letter-spacing:-.1em;text-align:right}.edu-mark span{color:#e5eaff}.contact-section{padding-bottom:120px}.contact-content{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}.contact-text{max-width:420px;color:#8d98ab;font-size:12px;line-height:1.9;margin:23px 0 28px}.contact-links{border-top:1px solid #ffffff18}.contact-links a{display:grid;grid-template-columns:90px 1fr 20px;align-items:center;gap:15px;padding:20px 0;border-bottom:1px solid #ffffff18}.contact-links>a>span{font-size:8px}.contact-links b{font-size:11px;font-weight:500;color:#dce3f2}.contact-links i{font-style:normal;color:#9eb3ff}.footer{border-top:1px solid #ffffff16;background:#070a10}.footer-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner>span,.back-top{font-size:8px}.back-top{color:#aebcff}.menu-toggle span{display:block;width:22px;height:1px;background:#fff;margin:6px}.menu-toggle{padding:8px}
@media(max-width:900px){.hero{grid-template-columns:1fr 1fr;min-height:620px}.hero-visual{transform:scale(.88)}.skills-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:40px}.project-info{padding:24px}.project-visual{min-height:280px}.contact-content{gap:40px}}
@media(max-width:680px){.section-wrap,.topbar{width:calc(100% - 38px)}.topbar{height:70px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:69px;left:-19px;right:-19px;padding:20px;background:#0d1320;border-bottom:1px solid #ffffff1c;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:14px 20px}.nav-contact{margin-top:7px}.hero{display:flex;flex-direction:column;align-items:flex-start;padding-top:70px;padding-bottom:95px;min-height:auto}.hero-kicker{margin-top:35px}.hero h1{font-size:clamp(55px,15vw,78px)}.hero-visual{width:100%;height:360px;transform:none;margin-top:25px}.visual-core{width:100%;padding:14px}.code-window pre{font-size:9px}.orbit-a{width:90%;height:230px}.orbit-b{width:75%;height:320px}.chip-one{left:-5px;top:25px}.chip-two{right:-5px;bottom:25px}.float-chip{padding:8px}.scroll-cue{bottom:25px}.strip-inner{flex-wrap:wrap;justify-content:center;gap:12px 17px;font-size:8px;padding:18px 0}.strip-inner b{display:none}.section-block{padding-top:82px}.section-label{margin-bottom:38px}.about-grid,.contact-content{grid-template-columns:1fr;gap:25px}.section-heading{font-size:40px}.section-heading-row{display:block}.section-side-note{margin-top:20px}.skills-grid{gap:9px}.skill-card{padding:18px 14px;min-height:250px}.skill-card p{min-height:70px}.projects-section{margin-top:55px;padding-bottom:40px}.project-card{grid-template-columns:1fr}.project-visual{min-height:220px}.project-info{padding:23px}.project-info h3{font-size:20px}.education-card{grid-template-columns:1fr;gap:12px;padding:24px}.edu-mark{display:none}.edu-main h3{font-size:16px}.contact-content{gap:45px}.footer-inner{padding:20px 0;flex-wrap:wrap}.footer-inner>span:nth-of-type(1){display:none}.footer-inner>span,.back-top{font-size:7px}.about-facts{gap:22px}.about-facts strong{font-size:18px}.hero-meta{font-size:7px;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Portfolio v2: real portrait, additional project artwork, and certifications */
.portrait-halo{position:absolute;width:390px;height:430px;border-radius:48% 52% 45% 55%;background:radial-gradient(ellipse,#627fe84a 0%,#344b8c20 48%,transparent 72%);filter:blur(12px)}
.portrait-frame{width:330px;height:430px;position:relative;z-index:2;border-radius:170px 170px 18px 18px;padding:8px;background:linear-gradient(145deg,#9db3ff,#394b79 45%,#182235);box-shadow:0 25px 90px #0009,0 0 60px #6686ff24;transform:rotate(2deg)}
.profile-photo{width:100%;height:100%;object-fit:cover;object-position:center 22%;border-radius:165px 165px 12px 12px;display:block;filter:saturate(.9)}
.portrait-caption{position:absolute;bottom:18px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;font:8px "DM Mono";letter-spacing:.13em;color:#fff;text-shadow:0 1px 8px #000}
.portrait-caption span:last-child{color:#c0ceff;font-size:16px}
.chip-one{top:55px;left:-22px}.chip-two{bottom:50px;right:-18px}
.food-visual{background:radial-gradient(circle at 50% 50%,#6a4932,#2d211d 60%,#171519)}
.food-art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;font:9px "DM Mono";color:#f2d7b6}
.food-art span{padding:13px 10px;border:1px solid #e7bd8c66;background:#241c1b;border-radius:5px}.food-art b{color:#e5b27c}
.finance-visual{background:radial-gradient(circle at 50% 45%,#315d63,#152c35 60%,#0c1a23)}
.finance-art{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#a8e4d1}
.finance-art span{font-size:43px;font-weight:800;border:1px solid #9be1d655;border-radius:50%;width:76px;height:76px;display:grid;place-items:center}
.finance-art i{height:5px;width:48%;border-radius:9px;background:linear-gradient(90deg,#92d9bf,#4b8e91);opacity:.7}
.finance-art i:nth-of-type(2){width:38%}.finance-art i:nth-of-type(3){width:28%}
.finance-art small{font:8px "DM Mono";letter-spacing:.16em}
.cert-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:36px}
.cert-item{padding:19px 20px;background:#111a29;border:1px solid #ffffff14;border-radius:7px;min-height:100px}
.cert-item span{display:block;font:8px "DM Mono";color:#9aafff;letter-spacing:.1em;margin-bottom:12px}
.cert-item b{font-size:11px;line-height:1.7;font-weight:600;color:#dce3f1}
@media(max-width:900px){.portrait-frame{width:285px;height:380px}.portrait-halo{width:340px;height:390px}}
@media(max-width:680px){.hero-visual{height:400px;margin-top:45px}.portrait-frame{width:260px;height:350px}.portrait-halo{width:300px;height:350px}.chip-one{left:-5px;top:25px}.chip-two{right:-5px;bottom:22px}.cert-grid{grid-template-columns:1fr}.cert-item{min-height:unset}}

/* Responsive portfolio refinements */
:root{scroll-padding-top:100px}
.topbar{position:sticky;top:0;width:100%;max-width:none;height:76px;padding-inline:max(28px,calc((100vw - 1240px)/2));background:#080b12eF;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff14}
.brand{letter-spacing:.015em;white-space:nowrap}
.brand-dot{padding-left:2px}
.nav{gap:clamp(16px,2vw,30px)}
.nav a[aria-current="location"]{color:#fff;position:relative}
.nav a[aria-current="location"]:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:1px;background:#9eb2ff}
.nav-contact{padding:10px 14px!important;border-radius:999px}
.hero{min-height:min(740px,calc(100svh - 76px));grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);padding-top:38px;padding-bottom:90px;gap:20px}
.hero h1{font-size:clamp(46px,6.1vw,82px);letter-spacing:-.075em;white-space:nowrap}
.hero-role{margin:20px 0 7px;color:#dce2f0}
.hero-specialty{font-size:15px;color:#a4aec2;margin:0 0 20px;min-height:23px}
.hero-specialty span{color:#aabaff}
.hero-description{max-width:530px;font-size:14px}
.hero-actions{align-items:center;flex-wrap:wrap;gap:10px;margin-top:25px}
.button{min-height:46px;justify-content:center}
.button-text{padding-inline:10px;color:#c4cce0}
.button-text:hover{color:#fff}
.hero-meta{margin-top:38px}
.hero-visual{height:490px;min-width:0;transform:none}
.portrait-halo{width:420px;height:470px;opacity:.7}
.portrait-frame{width:min(365px,82%);height:460px;transform:rotate(1deg);box-shadow:0 24px 80px #0008}
.profile-photo{object-position:center 25%}
.float-chip{display:none}
.section-block{scroll-margin-top:100px}
.project-card,.skill-card,.cert-item,.education-card{box-shadow:0 18px 45px #00000012}
.project-card:hover,.skill-card:hover{box-shadow:0 20px 50px #0004}
.coursework-note{display:flex;gap:20px;align-items:baseline;margin-top:22px;padding:18px 20px;border-left:2px solid #91a9ff;background:#ffffff06}
.coursework-note span{font:8px "DM Mono",monospace;letter-spacing:.13em;color:#9aafff;white-space:nowrap}
.coursework-note p{margin:0;color:#aab4c8;font-size:11px;line-height:1.7}
.language-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
.language-grid>div{padding:22px 24px;border:1px solid #ffffff17;border-radius:8px;background:#101725;display:flex;justify-content:space-between;align-items:center;gap:12px}
.language-grid b{font-size:14px}.language-grid span{font-size:11px;color:#aab6cf}
.contact-content{grid-template-columns:1fr .82fr;gap:70px;align-items:start}
.contact-links{margin-top:24px}
.contact-form{padding:25px;border:1px solid #ffffff17;border-radius:9px;background:linear-gradient(145deg,#121a29,#0c111c)}
.form-heading{font-size:17px;font-weight:700;margin:0 0 8px}
.form-note{font-size:10px;line-height:1.7;color:#8994a8;margin:0 0 20px}
.contact-form label{display:block;font:9px "DM Mono",monospace;letter-spacing:.07em;color:#aeb9cc;margin:15px 0 7px}
.contact-form input,.contact-form textarea{display:block;width:100%;border:1px solid #ffffff20;border-radius:5px;background:#080d17;color:#eef1f7;font:12px Manrope,sans-serif;padding:12px;outline:none}
.contact-form textarea{resize:vertical;min-height:115px}
.contact-form input:focus,.contact-form textarea:focus{border-color:#91a9ff;box-shadow:0 0 0 3px #91a9ff20}
.contact-form button{border:0;margin-top:17px;cursor:pointer}
.form-status{font-size:10px;line-height:1.6;color:#a8d9bd;min-height:0;margin:8px 0 0}
.footer-inner .brand{font-size:13px}
:focus-visible{outline:2px solid #9db2ff;outline-offset:4px}
.has-reveal .reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.has-reveal .reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1050px){
  .topbar{padding-inline:28px}
  .nav{gap:15px;font-size:11px}
  .brand{font-size:12px}
  .hero{grid-template-columns:minmax(0,1.08fr) minmax(310px,.92fr);gap:6px}
  .hero h1{font-size:clamp(46px,6vw,66px)}
  .hero-visual{height:440px}
  .portrait-frame{width:min(330px,86%);height:420px}
  .portrait-halo{width:370px;height:430px}
}
@media(max-width:900px){
  .topbar{height:70px;padding-inline:24px}
  .menu-toggle{display:block;position:relative;z-index:2;padding:10px;background:#ffffff08;border:1px solid #ffffff17;border-radius:7px;cursor:pointer}
  .nav{display:none;position:absolute;top:69px;left:0;right:0;padding:12px 24px 22px;background:#0b101a;border-bottom:1px solid #ffffff1c;flex-direction:column;align-items:stretch;gap:0;font-size:13px;box-shadow:0 18px 30px #0006}
  .nav.open{display:flex}
  .nav a{padding:13px 5px}
  .nav a[aria-current="location"]:after{display:none}
  .nav-contact{margin-top:8px;text-align:center}
  .hero{min-height:610px;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);padding-top:35px}
  .hero h1{font-size:clamp(46px,6.3vw,64px)}
  .hero-visual{height:390px}
  .portrait-frame{width:min(290px,88%);height:375px}
  .portrait-halo{width:330px;height:390px}
  .contact-content{gap:30px}
}
@media(max-width:680px){
  :root{scroll-padding-top:82px}
  .topbar{width:100%;height:66px;padding-inline:19px}
  .brand{font-size:13px}
  .nav{top:65px;padding-inline:19px}
  .hero{min-height:0;display:flex;align-items:stretch;gap:0;padding-top:52px;padding-bottom:82px}
  .hero-copy{width:100%}
  .hero-kicker{font-size:16px;margin:28px 0 6px}
  .hero h1{font-size:clamp(42px,12.7vw,54px);line-height:1.02;white-space:nowrap}
  .hero-role{font-size:17px;margin-top:18px}
  .hero-specialty{font-size:13px;min-height:20px}
  .hero-description{font-size:12px;line-height:1.8}
  .hero-actions{gap:8px;margin-top:22px}
  .hero-actions .button{padding:12px 13px;gap:10px;font-size:10px;min-height:42px}
  .hero-meta{margin-top:25px;flex-wrap:wrap;font-size:7px}
  .hero-visual{width:100%;height:365px;margin-top:32px}
  .portrait-frame{width:250px;max-width:78vw;height:335px}
  .portrait-halo{width:290px;height:340px}
  .scroll-cue{bottom:18px}
  .section-block{padding-top:76px}
  .section-heading{font-size:clamp(35px,10vw,42px)}
  .contact-content{grid-template-columns:1fr;gap:32px}
  .contact-form{padding:20px}
  .language-grid{grid-template-columns:1fr;gap:8px}
  .language-grid>div{padding:16px 18px}
  .footer-inner{gap:12px}
  .footer-inner .brand{font-size:11px}
  .coursework-note{gap:12px;padding:15px}
}
@media(max-width:380px){
  .section-wrap{width:calc(100% - 32px)}
  .hero h1{font-size:clamp(39px,12.5vw,47px)}
  .hero-actions .button{padding-inline:10px}
}
@media(prefers-reduced-motion:reduce){
  .has-reveal .reveal,.has-reveal .reveal.is-visible{opacity:1;transform:none;transition:none}
}
@keyframes portrait-enter{from{opacity:0;transform:translateY(18px) rotate(1deg)}to{opacity:1;transform:translateY(0) rotate(1deg)}}
.portrait-frame{animation:portrait-enter .75s cubic-bezier(.2,.7,.2,1) both}
@media(prefers-reduced-motion:reduce){.portrait-frame{animation:none}}
