@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{color-scheme:dark;--bg:#050b14;--line:#203248;--text:#f3f8ff;--muted:#94a6bb;--blue:#5bbdff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.noise{position:fixed;inset:0;pointer-events:none;opacity:.14;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.23'/%3E%3C/svg%3E")}.smoke{position:absolute;pointer-events:none;filter:blur(85px);border-radius:50%;z-index:0;animation:drift 17s ease-in-out infinite alternate}.s1{width:64vw;height:55vw;left:-25vw;top:13vh;background:radial-gradient(ellipse,#0867c46b,transparent 65%)}.s2{width:70vw;height:50vw;right:-26vw;top:0;background:radial-gradient(ellipse,#06478375,transparent 65%);animation-delay:-7s}@keyframes drift{to{transform:translate(10vw,12vh) rotate(22deg)}}.progress{height:2px;background:linear-gradient(90deg,#1466ff,#8bd8ff);position:fixed;top:0;left:0;width:0;z-index:50}.nav{height:86px;padding:0 clamp(22px,5vw,90px);position:absolute;z-index:20;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff17}.logo{font-family:Manrope,sans-serif;font-size:16px;font-weight:800;letter-spacing:.16em}.logo span{font-weight:400;color:#8bb7d9}.nav nav{display:flex;gap:29px}.nav nav a{font-size:12px;color:#bdcfe0;transition:color .2s}.nav nav a:hover{color:white}.lang{background:#ffffff0b;color:white;border:1px solid #45617b;padding:11px 15px;cursor:pointer;border-radius:4px;font-size:12px;font-weight:700}.lang span{color:var(--blue)}.hero{min-height:820px;height:100svh;max-height:1150px;position:relative;display:flex;align-items:center;overflow:hidden;background:radial-gradient(ellipse at 74% 48%,#0d3b6d44,transparent 45%),linear-gradient(120deg,#050a13 20%,#081629 80%)}.hero:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 109px,#ffffff04 110px);mask-image:linear-gradient(90deg,transparent,#000,transparent)}.orb{position:absolute;width:60vw;max-width:800px;aspect-ratio:1;right:-15vw;top:10%;border:1px solid #4397d026;border-radius:50%;box-shadow:0 0 120px 30px #005ac620,inset 0 0 130px #0068d81e;animation:breathe 8s ease-in-out infinite alternate}.orb:before,.orb:after{content:'';position:absolute;inset:10%;border:1px solid #a3d9ff1c;border-radius:50%}.orb:after{inset:23%}@keyframes breathe{to{transform:scale(1.08);opacity:.6}}.hero-inner{width:min(1250px,90%);margin:0 auto;position:relative;z-index:2;padding-top:70px}.eyebrow{display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:.18em;color:#a8c9e5;font-weight:700}.live{width:7px;height:7px;border-radius:50%;background:#5bbdff;box-shadow:0 0 17px #5bbdff}.kicker{margin-top:55px;color:#6596be;letter-spacing:.3em;font-size:11px}.hero h1{font-family:Manrope,sans-serif;font-weight:800;font-size:clamp(70px,11.5vw,177px);letter-spacing:-.09em;line-height:.95;margin:22px 0 30px}.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px #e1f3ff}.hero h1 em span{color:var(--blue);-webkit-text-stroke:0}.hero-desc{font-size:clamp(16px,1.7vw,21px);max-width:580px;color:#a8b9cb;line-height:1.8}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:35px}.btn{display:inline-flex;gap:25px;align-items:center;justify-content:space-between;padding:17px 22px;font-weight:700;font-size:13px;transition:transform .25s,background .25s;border:1px solid #4e7295;min-height:54px}.btn:hover{transform:translateY(-4px)}.btn.primary{background:#d9f0ff;color:#061425;border-color:#d9f0ff}.btn.primary:hover{background:white}.btn.ghost{background:#ffffff08;color:#d4e8f8}.hero-bottom{position:absolute;bottom:40px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.2em;color:#7b9bb7}.section{position:relative;z-index:1;padding:125px max(5vw,22px);max-width:1600px;margin:0 auto}.section-head{display:flex;gap:15px;font-size:12px;font-weight:700;letter-spacing:.22em;color:#a7c4de;border-bottom:1px solid #2a3b50;padding-bottom:21px;margin-bottom:60px}.number{color:#4d9fdf}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:9vw}.about-grid h2,.contact h2{font-family:Manrope,sans-serif;font-size:clamp(40px,5.2vw,83px);letter-spacing:-.065em;line-height:1.14;margin:0}.about-grid h2 i,.section-title i,.contact h2 i{font-style:normal;color:#67bbf6}.about-text{padding-top:7px}.about-text p{font-size:17px;line-height:1.95;color:#b2c2d2;margin:0 0 22px}.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}.chips span{padding:10px 13px;border:1px solid #2b4c6a;color:#9dc8e8;font-size:11px}.exp{background:linear-gradient(135deg,#071321,#06101b);max-width:none;padding-left:max(5vw,calc((100vw - 1440px)/2));padding-right:max(5vw,calc((100vw - 1440px)/2))}.section-title{font:800 clamp(36px,5vw,69px)/1.2 Manrope,sans-serif;letter-spacing:-.06em;margin:0 0 55px}.timeline{border-top:1px solid #2b3e53}.timeline-item{display:grid;grid-template-columns:220px 1fr;gap:25px;padding:35px 0;border-bottom:1px solid #2b3e53}.tag{font-size:11px;letter-spacing:.18em;color:#63b6ed}.timeline-item h3{font:700 clamp(19px,2vw,28px) Manrope,sans-serif;margin:0 0 12px}.timeline-item p{color:#9fb4c8;line-height:1.75;max-width:850px;margin:0}.intro{color:#a5b8cb;max-width:690px;line-height:1.8;margin-top:-25px;margin-bottom:35px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 26px}.project-card{min-width:0;display:block}.visual{height:clamp(210px,26vw,390px);position:relative;display:grid;place-items:center;overflow:hidden;border:1px solid #ffffff17;background:radial-gradient(ellipse at 50% 70%,#16548e,#07182a 65%,#030a13)}.visual:before{content:'';position:absolute;inset:-50%;background:conic-gradient(from 30deg,transparent,#d2f0ff0b,transparent,#1378d235,transparent);animation:spin 18s linear infinite}.visual:after{content:'';position:absolute;width:65%;height:65%;border:1px solid #ffffff22;transform:rotate(45deg);box-shadow:0 0 90px #56b8ff1d}.visual-mark{position:relative;z-index:1;font:800 clamp(80px,10vw,145px) Manrope,sans-serif;letter-spacing:-.09em;color:#e6f7ff;text-shadow:0 0 65px #1b93ff}.smallmark{font-size:.45em;color:#75ccff}.visual-glow{position:absolute;width:50%;height:30%;bottom:-20%;background:#3bb1ff7d;filter:blur(75px)}.v2{background:radial-gradient(ellipse at 50% 70%,#115746,#061b21 65%,#020e13)}.v2 .visual-glow{background:#00d6aa}.v3{background:radial-gradient(ellipse at 50% 70%,#31544e,#101c22 65%,#061016)}.v4{background:radial-gradient(ellipse at 50% 70%,#49238e,#160f2a 65%,#080613)}.v4 .visual-glow{background:#a252ff}.v5{background:radial-gradient(ellipse at 50% 70%,#20496a,#0a1a31 65%,#040c18)}.v6{background:radial-gradient(ellipse at 50% 70%,#1a4b57,#091c24 65%,#040c12)}@keyframes spin{to{transform:rotate(360deg)}}.project-card:hover .visual-mark{transform:scale(1.1);transition:transform .5s}.project-meta{display:flex;justify-content:space-between;margin-top:18px;font-size:10px;letter-spacing:.2em;color:#6da8d3}.project-card h3{font:800 27px Manrope,sans-serif;letter-spacing:-.04em;margin:12px 0}.project-card p{color:#a3b8c9;line-height:1.7;margin:0}.skills{background:#081522;max-width:none;padding-left:max(5vw,calc((100vw - 1440px)/2));padding-right:max(5vw,calc((100vw - 1440px)/2))}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.skill-card{padding:30px;background:#0a1a2b;border:1px solid #24425a;min-height:245px}.skill-card>span{font-size:12px;color:#5bbdff}.skill-card h3{font:700 22px Manrope,sans-serif;margin:45px 0 15px}.skill-card p{color:#9fb7cb;line-height:1.8;font-size:13px}.contact{min-height:680px}.contact-content{max-width:850px}.contact h2{font-size:clamp(65px,10vw,135px);margin:35px 0}.contact-content>p{color:#b1c4d5;line-height:1.8;font-size:18px;max-width:610px}.contact-note{font-size:12px;color:#7d9bb5;max-width:620px;margin-top:30px;line-height:1.6}footer{position:relative;z-index:2;display:flex;justify-content:space-between;gap:15px;padding:30px 5%;border-top:1px solid #233c51;color:#8aa7bd;font-size:10px;letter-spacing:.12em}.reveal{opacity:1;transform:none;transition:opacity .8s ease,transform .8s ease} .js-ready .reveal{opacity:0;transform:translateY(30px)}.reveal.visible{opacity:1;transform:none}@media(max-width:850px){.nav{height:72px}.nav nav{display:none}.hero{min-height:700px}.hero h1{font-size:clamp(58px,12.7vw,100px)}.orb{width:100vw;right:-45vw;top:20%}.section{padding-top:85px;padding-bottom:85px}.about-grid{grid-template-columns:1fr;gap:35px}.timeline-item{grid-template-columns:115px 1fr}.skill-grid{grid-template-columns:1fr}.skill-card{min-height:180px}.skill-card h3{margin-top:25px}}@media(max-width:580px){.logo{font-size:12px}.hero{height:100svh;min-height:620px}.hero-inner{width:90%}.kicker{margin-top:35px}.hero h1{font-size:clamp(53px,12.4vw,75px);letter-spacing:-.08em}.hero-desc{font-size:15px}.hero-bottom{bottom:25px}.hero-bottom span:nth-child(2){display:none}.actions{flex-direction:column;align-items:stretch}.btn{width:100%}.project-grid{grid-template-columns:1fr;gap:36px}.visual{height:260px}.timeline-item{grid-template-columns:1fr;gap:12px}.section-head{margin-bottom:38px}.section-title{margin-bottom:38px}.contact h2{font-size:65px}footer span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* Portfolio v2 */
.hero{min-height:100svh;display:flex;align-items:center;position:relative;overflow:hidden}.hero-inner{position:relative;z-index:3;max-width:820px}.portrait-wrap{position:absolute;inset:0 0 0 35%;z-index:1;pointer-events:none;opacity:.7;mask-image:linear-gradient(to right,transparent 0%,black 30%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 30%)}.portrait{width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:saturate(.9)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050b14 5%,#050b14c7 37%,transparent 75%),linear-gradient(0deg,#050b14,transparent 35%);pointer-events:none;z-index:2}.hero-bottom{z-index:4}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{min-height:195px!important;padding:22px!important;background:linear-gradient(145deg,#10233a,#07121f)!important;border:1px solid #23405c!important;border-radius:16px!important;display:flex;flex-direction:column;justify-content:flex-start;transition:transform .25s,border-color .25s}.project-card:hover{transform:translateY(-5px);border-color:#5bbdff!important}.project-index{font-size:27px;font-weight:800;color:#63b8ee;opacity:.6;margin-bottom:18px}.project-card h3{font-size:clamp(17px,1.6vw,22px)!important;margin:8px 0!important}.project-card p{font-size:14px!important;line-height:1.55!important;margin:0!important}.project-meta{font-size:10px!important;letter-spacing:.1em!important}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}.method-card{padding:26px;border:1px solid #26435f;border-radius:16px;background:linear-gradient(150deg,#102b46,#07121e)}.method-card small{color:#7dc9f7;letter-spacing:.14em}.method-card h3{font-size:23px;margin:16px 0}.method-card p{color:#afc1d3;line-height:1.7}.qualifications{border-top:1px solid #23405c;margin-top:45px;padding-top:25px;max-width:900px}.qualifications p{color:#b6c8d8;line-height:1.8}.contact-note{color:#d0e7f9!important}.nav{z-index:100!important}.reveal{opacity:1!important;visibility:visible!important;transform:none!important}.js-ready .reveal{opacity:1!important;transform:none!important}@media(max-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portrait-wrap{inset:0;opacity:.52;mask-image:none;-webkit-mask-image:none}.hero:after{background:linear-gradient(90deg,#050b14e8,#050b1480),linear-gradient(0deg,#050b14,transparent 65%)}}@media(max-width:650px){.project-grid,.method-grid{grid-template-columns:1fr}.project-card{min-height:155px!important}.portrait-wrap{inset:0;opacity:.44}.portrait{object-position:55% center}.hero:after{background:linear-gradient(90deg,#050b14d9,#050b1480),linear-gradient(0deg,#050b14 0%,transparent 85%)}.hero-inner{padding-top:70px}.method-card{padding:20px}.nav nav{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Experience imagery — aligned with each professional field */
.timeline-item{grid-template-columns:150px minmax(0,1fr) 180px;align-items:center;gap:28px;min-height:165px}
.timeline-item>div{min-width:0}
.experience-photo{margin:0;width:180px;height:128px;overflow:hidden;border-radius:13px;border:1px solid #376184;background:#10243b;box-shadow:0 14px 36px #0005}
.experience-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s ease}
.experience-photo:hover img{transform:scale(1.06)}
@media(max-width:850px){.timeline-item{grid-template-columns:90px minmax(0,1fr) 128px;gap:14px}.experience-photo{width:128px;height:112px}}
@media(max-width:580px){.timeline-item{grid-template-columns:minmax(0,1fr) 108px;gap:12px;padding:25px 0}.timeline-item>.tag{grid-column:1/-1}.timeline-item>div{grid-column:1}.experience-photo{grid-column:2;grid-row:2;width:108px;height:132px}.timeline-item h3{font-size:18px}.timeline-item p{font-size:13px;line-height:1.65}}

/* V4 compact visual portfolio cards */
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{overflow:hidden;padding:0 0 19px!important;min-height:0!important;border-radius:14px!important}.project-thumb{width:100%;height:145px;object-fit:cover;display:block;border-bottom:1px solid #23405c}.project-card .project-meta,.project-card h3,.project-card p{margin-left:17px!important;margin-right:17px!important}.project-card .project-meta{margin-top:17px!important}.project-card h3{margin-top:9px!important}.project-card p{font-size:13px!important}.about-grid h2{font-size:clamp(35px,4.5vw,66px)}.about-text p{font-size:16px;line-height:1.8}.qualifications p{font-size:15px;line-height:1.9}.project-card:hover .project-thumb{filter:brightness(1.15)}@media(max-width:900px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.project-grid{grid-template-columns:1fr}.project-thumb{height:180px}.project-card{max-width:520px}}

/* V5 opening message: appears on every fresh page load */
.intro-overlay{position:fixed;inset:0;z-index:1000;background:rgba(2,7,16,.88);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.intro-overlay[hidden]{display:none!important}.intro-panel{position:relative;width:min(780px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;padding:clamp(24px,5vw,52px);border:1px solid #3b6688;border-radius:22px;background:radial-gradient(ellipse at 90% 0%,#14518165,transparent 55%),linear-gradient(145deg,#0c2136,#050d19);box-shadow:0 30px 100px #000b;color:#edf7ff}.intro-close{position:absolute;top:12px;right:17px;border:0;background:transparent;color:#e5f4ff;font-size:32px;cursor:pointer;line-height:1;padding:8px}.intro-kicker{font-size:11px;letter-spacing:.22em;color:#8ecdf6;font-weight:700}.intro-panel h2{font:800 clamp(29px,5vw,49px)/1.14 Manrope,sans-serif;letter-spacing:-.05em;margin:18px 0}.intro-panel h2 em{font-style:normal;color:#72c4ff}.intro-lead{color:#b7cde1;font-size:clamp(14px,2vw,17px);line-height:1.7}.intro-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.intro-steps>div{border:1px solid #284866;background:#0a1b2e;border-radius:12px;padding:17px}.intro-steps span{color:#6ebff4;font-size:12px;letter-spacing:.15em}.intro-steps h3{font-size:17px;margin:12px 0}.intro-steps p{color:#a9bfd3;line-height:1.65;font-size:13px;margin:0}.intro-enter{background:#d6efff;color:#071525;border:0;border-radius:9px;padding:15px 24px;font-weight:800;cursor:pointer;width:100%}.intro-enter:hover{background:white}body.intro-open{overflow:hidden}@media(max-width:650px){.intro-overlay{padding:12px}.intro-panel{max-height:calc(100dvh - 24px);padding:26px 20px}.intro-steps{grid-template-columns:1fr;gap:8px;margin:16px 0}.intro-steps>div{padding:12px 15px}.intro-steps h3{font-size:15px;margin:5px 0}.intro-steps p{font-size:12px;line-height:1.45}.intro-panel h2{font-size:30px;margin:12px 0}.intro-lead{font-size:13px;line-height:1.5}}

/* Digital experience portfolio CTA */
.digital-cta{margin-top:22px;display:flex;align-items:center}.digital-cta .btn{display:inline-flex;max-width:100%;text-align:center}
