:root{color-scheme:dark;--bg:#0c0c0c;--panel:#171717;--line:#333333;--text:#f2f2f2;--muted:#a3a3a3;--accent:#eeeeee;--mono:Consolas,'Courier New',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.wrap{width:min(1280px,88%);margin-inline:auto}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:700;letter-spacing:1px}.brand-mark{font-size:30px;letter-spacing:-8px;line-height:1;color:var(--accent);margin-right:8px;transform:rotate(-12deg)}.brand-mark span{display:inline-block;transform:translateY(-5px)}.wordmark-dot,.accent{color:var(--accent)}nav{display:flex;gap:36px;font-size:14px}nav a:hover,.text-link:hover,footer a:hover{color:var(--accent)}nav a:last-child{border-left:1px solid var(--line);padding-left:36px}nav a span{margin-left:10px}.hero{position:relative;padding-top:76px;display:grid;grid-template-columns:1.15fr 1fr;gap:25px 50px}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:1.4px;font-weight:400;margin:0 0 25px}.hero .eyebrow{display:flex;align-items:center;gap:10px}.status-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:none}h1{font-size:clamp(48px,5.8vw,84px);letter-spacing:-4px;line-height:1.03;font-weight:500;margin:0 0 27px}.title-star{display:inline-block;font-size:65px;color:var(--accent);margin-left:40px;vertical-align:6px}.hero-description{max-width:420px;color:var(--muted);line-height:1.8;margin:0}.hero-description strong{color:var(--text);font-weight:400}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:14px 22px;font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--accent);color:#111111}.primary:hover{background:#ffffff}.secondary{background:transparent;color:var(--text);border-color:#555555}.secondary:hover{background:var(--panel)}.text-link{font-size:14px}.text-link span{margin-left:12px}.hero-art{min-height:460px;align-self:stretch;position:relative;overflow:hidden;background-image:linear-gradient(#eeeeee0b 1px,transparent 1px),linear-gradient(90deg,#eeeeee0b 1px,transparent 1px);background-size:40px 40px;border:1px solid #33333380}.art-top,.art-bottom{position:absolute;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;font:10px var(--mono);letter-spacing:1px;color:var(--muted)}.art-top{top:18px}.art-bottom{bottom:18px}.cross{font-size:24px}.geometry{position:absolute;inset:15% 12%;animation:float 12s ease-in-out infinite;perspective:900px}.geo-square{position:absolute;width:66%;aspect-ratio:1;top:14%;left:17%;border:1px solid var(--accent);background:#eeeeee03;box-shadow:none;transform:rotate(var(--r)) skew(-9deg,-9deg);opacity:var(--o)}.square-one{--r:0deg;--o:.3}.square-two{--r:12deg;--o:.4}.square-three{--r:24deg;--o:.55}.square-four{--r:36deg;--o:.75}.square-five{--r:48deg;--o:1}.square-six{--r:60deg;--o:.8}.square-seven{--r:72deg;--o:.55}.square-eight{--r:84deg;--o:.35}.orbit{position:absolute;left:10%;top:10%;width:80%;height:80%;border:1px dashed #a3a3a330;border-radius:50%}.orbit-two{left:20%;top:20%;width:60%;height:60%}.coordinate{position:absolute;font:10px var(--mono);color:var(--muted);background:var(--bg);padding:4px}.coord-one{left:3%;top:45%;writing-mode:vertical-rl}.coord-two{right:5%;bottom:20%}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;font:11px var(--mono);letter-spacing:1.2px;color:var(--muted);padding:36px 0 32px;border-bottom:1px solid var(--line);margin-top:20px}.hero-bottom a span{margin-left:18px;color:var(--accent)}.section{padding-top:85px;padding-bottom:80px;border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:34px}.section .eyebrow,.contact>.eyebrow{color:var(--muted);margin-bottom:16px}h2{font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.2;letter-spacing:-1.5px;margin:0}.section-note{font:10px var(--mono);letter-spacing:1px;color:var(--muted);padding-bottom:5px}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project{border:1px solid var(--line);background:#111111;transition:border-color .25s}.project:hover{border-color:#888888}.project-visual{height:235px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.visual-one{background:#191919}.visual-two{background:#191919}.visual-three{background:#191919}.visual-label,.visual-caption{position:absolute;left:18px;font:10px var(--mono);letter-spacing:1px;color:#c4c4c4;z-index:1}.visual-label{top:17px}.visual-caption{bottom:16px}.diagram{position:absolute;left:calc(50% - 63px);top:53px;width:126px;height:126px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;transform:rotate(-15deg)}.diagram i{border:1px solid #bbbbbb;background:#bbbbbb0a}.diagram i:nth-child(5){background:var(--accent);box-shadow:none}.stack{position:absolute;inset:45px 25%}.stack i{position:absolute;width:130px;height:80px;left:calc(50% - 65px);border:1px solid #b5b5b5;transform:rotate(-30deg) skew(28deg);background:#292929}.stack i:nth-child(1){top:60px}.stack i:nth-child(2){top:40px}.stack i:nth-child(3){top:20px}.stack i:nth-child(4){top:0;background:#90909055}.rings{position:absolute;inset:45px 20%}.rings i{position:absolute;left:calc(50% - 65px);width:130px;height:130px;border:1px solid #bdbdbd;border-radius:50%}.rings i:nth-child(2){transform:translateX(-24px) scale(.75)}.rings i:nth-child(3){transform:translateX(24px) scale(.75)}.rings i:nth-child(4){transform:scale(.45);background:#bdbdbd22}.project-content{padding:25px 23px 0}.project-content .eyebrow{font-size:10px;margin-bottom:10px}h3{font-size:22px;font-weight:500;letter-spacing:-.5px;line-height:1.3;margin:0 0 12px}.project-content>p:not(.eyebrow){font-size:16px;color:var(--muted);min-height:77px;margin:0 0 22px}.tags{display:flex;flex-wrap:wrap;gap:7px;padding:0;list-style:none;margin:0 0 25px}.tags li{font:11px var(--mono);color:#c6c6c6;border:1px solid var(--line);padding:5px 8px}.project details{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:17px 0;font-size:14px;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}summary span{color:var(--accent)}details[open] summary span{transform:rotate(90deg)}details p{font-size:14px;color:var(--muted);margin:0 0 22px}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about-copy>p:first-child{margin:0 0 20px;font-size:20px;line-height:1.7}.muted{color:var(--muted)}.about-copy .skills-label{margin-top:30px}.skills{margin:0}.skills li{font-size:12px;padding:8px 11px}.resume-note{color:var(--muted);font-size:14px;margin-top:-8px;margin-bottom:30px}.timeline article{display:grid;grid-template-columns:190px 1fr 110px;gap:30px;border-top:1px solid var(--line);padding:30px 0}.timeline-date,.timeline-type{font:11px var(--mono);color:var(--muted);padding-top:6px}.timeline-type{text-align:right;font-size:10px;letter-spacing:1px}.company{font-size:14px;margin:0 0 12px}.company span{color:var(--muted);margin-left:8px}.timeline article div>p:last-child{color:var(--muted);max-width:620px;margin-bottom:0}.contact{padding-block:80px 60px}.contact h2{font-size:clamp(36px,5vw,68px);line-height:1.12;letter-spacing:-2px}.contact h2>span:last-child{margin-left:30px}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;color:var(--muted)}.contact-placeholder{font-size:12px;font-family:var(--mono);max-width:310px}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding-block:27px;color:var(--muted);font-size:12px}.footer-note{font:10px var(--mono);letter-spacing:1.2px}.skip-link{position:fixed;z-index:10;top:-100px;left:20px;background:var(--accent);color:var(--bg);padding:12px}.skip-link:focus{top:12px}[hidden]{display:none!important}@keyframes float{0%,100%{transform:translateY(-5px) rotate(-4deg)}50%{transform:translateY(8px) rotate(5deg)}}@media(min-width:1500px){.hero{padding-top:95px}.hero-art{min-height:510px}}@media(max-width:1000px){.hero{gap:25px}.hero-art{min-height:410px}.title-star{font-size:45px;margin-left:20px}h1{letter-spacing:-2.5px}.projects{gap:14px}.project-content{padding-inline:17px}.project-visual{height:210px}.section-heading{align-items:flex-start}.section-note{max-width:150px;text-align:right;line-height:1.6}.about{gap:35px}.timeline article{grid-template-columns:140px 1fr 90px;gap:20px}.hero .eyebrow{font-size:10px;letter-spacing:.6px}}@media(max-width:720px){.wrap{width:88%}.site-header{height:84px}.wordmark{font-size:12px;gap:9px}nav{gap:17px;font-size:12px}nav a:last-child{padding-left:0;border:0}nav a span{display:none}.hero{padding-top:45px;grid-template-columns:1fr}.hero .eyebrow{font-size:10px;letter-spacing:.7px}h1{font-size:clamp(48px,10.5vw,72px)}.hero-description{max-width:460px}.hero-art{min-height:350px;margin-top:20px}.geometry{inset:7% 15%;max-width:340px;margin:auto}.hero-bottom{font-size:9px;letter-spacing:.2px;margin-top:0;padding-top:15px}.section{padding-block:55px}.section-heading{flex-wrap:wrap;gap:18px}.section-note{max-width:none;text-align:left}.projects{grid-template-columns:1fr;gap:25px}.project-visual{height:240px}.project-content>p:not(.eyebrow){min-height:0}.diagram{top:58px}.stack{top:55px}.rings{top:50px}.about{grid-template-columns:1fr;gap:28px}.about-copy>p:first-child{font-size:18px}.timeline article{grid-template-columns:1fr;gap:13px}.timeline-type{display:none}.contact{padding-block:55px 35px}.contact-bottom{align-items:flex-start;flex-direction:column;gap:10px}.contact h2>span:last-child{margin-left:10px}.footer-note{display:none}.eyebrow{font-size:11px}.hero-actions{gap:24px}.button{gap:20px}.title-star{vertical-align:5px}.resume-note{margin-top:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}@media print{ :root{color-scheme:light;--text:#111;--muted:#444;--line:#ccc;--accent:#222}body{background:white;font-size:11pt}.site-header{height:auto;padding-bottom:16px}.brand-mark,nav,.hero-art,.hero-actions,.hero-bottom,#projects,#print-cv,.contact,footer,.skip-link,.title-star{display:none!important}.wrap{width:100%}.hero{display:block;padding-top:25px}.hero h1{font-size:30pt;letter-spacing:-1px}.hero h1 br{display:none}.hero h1 br:after{content:' '}.hero-description{max-width:none}.section{padding-block:25px}.about{display:block}.about-copy>p:first-child{font-size:12pt}.about h2{margin-bottom:15px}h2{font-size:22pt}h3{font-size:15pt}.section-heading{margin-bottom:20px}.timeline article{grid-template-columns:110px 1fr;break-inside:avoid;padding-block:18px}.timeline-type{display:none}.eyebrow{font-size:9pt}.tags li{color:#222}.resume-note{font-size:10pt}@page{margin:18mm}}
/* Asymmetric identity and numbered navigation. */
.site-header{height:auto;min-height:144px;display:grid;grid-template-columns:auto minmax(40px,1fr) auto;align-items:center;gap:40px;border-bottom:0;padding-top:28px;padding-bottom:20px}
.identity{display:inline-flex;align-items:flex-start;gap:17px;width:fit-content}




.identity-name{font-size:30px;font-weight:600;letter-spacing:-1px;line-height:1.08}
.identity-name>span{display:block;margin-left:21px}

.header-rule{position:relative;align-self:end;margin-bottom:15px;height:33px;border-bottom:1px solid var(--line)}
.header-rule::after{content:'';position:absolute;right:-1px;bottom:-1px;width:24px;border-bottom:1px solid var(--line);transform:rotate(-45deg);transform-origin:right bottom}
.header-rule>span{font:10px var(--mono);letter-spacing:1.2px;color:var(--muted)}
.index-nav{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:0;align-self:stretch;padding-top:8px}
.index-nav a,.index-nav a:last-child{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-content:space-between;gap:18px 20px;padding:12px 17px 14px;border:0;border-left:1px solid var(--line);transition:background .2s,color .2s}
.index-nav a::after{content:'';position:absolute;left:17px;right:17px;bottom:0;height:1px;background:var(--text);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.index-nav .nav-index{display:block;grid-column:1/-1;margin:0;font:10px var(--mono);color:var(--muted);letter-spacing:1px}
.index-nav .nav-label{display:block;margin:0;font-size:14px}
.index-nav .nav-arrow{display:block;margin:0;font-size:16px;color:var(--muted);transition:transform .2s}
.index-nav a:hover,.index-nav a:focus-visible{background:#191919;color:var(--text)}
.index-nav a:hover::after,.index-nav a:focus-visible::after{transform:scaleX(1)}
.index-nav a:hover .nav-arrow{transform:translate(2px,2px);color:var(--text)}
@media(max-width:1000px){.site-header{gap:25px}.index-nav{grid-template-columns:repeat(4,minmax(80px,1fr))}.header-rule>span{font-size:9px;letter-spacing:.5px}}
@media(max-width:720px){.site-header{grid-template-columns:1fr auto;gap:24px 20px;padding-top:28px;padding-bottom:0;min-height:0}.identity-name{font-size:27px}.header-rule{width:65px;height:28px;margin-bottom:7px}.header-rule>span{display:none}.index-nav{grid-column:1/-1;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.index-nav a,.index-nav a:last-child{padding:12px 14px;gap:14px 8px}.index-nav a:first-child{border-left:0}.index-nav .nav-index{display:block}.index-nav .nav-arrow{display:block}.index-nav .nav-label{font-size:14px}}
@media print{.site-header{display:block;padding:0 0 16px;min-height:0}.header-rule,.index-nav,.identity-code{display:none!important}.identity-name{font-size:20pt}.identity-name>span{display:inline;margin-left:6px}}

@media(max-width:380px){.index-nav a,.index-nav a:last-child{padding-inline:9px}.index-nav .nav-label{font-size:13px}}

@media(max-width:480px){.index-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.index-nav a:nth-child(3){border-left:0}.index-nav a:nth-child(n+3){border-top:1px solid var(--line)}.index-nav .nav-label{font-size:14px}}
/* Country-level journey map, kept beside the About story. */
.about{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:64px}
.about-story .about-copy{margin-top:28px}
.journey-map{margin:0;min-width:0;width:100%;max-width:456px;justify-self:end;border:1px solid var(--line);background:#111111}
.map-heading{display:flex;justify-content:space-between;gap:16px;padding:17px 20px;border-bottom:1px solid var(--line);font:10px var(--mono);letter-spacing:1px;color:var(--muted)}
.journey-map img{display:block;width:100%;height:auto}
.journey-map figcaption{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:20px;border-top:1px solid var(--line)}
.journey-map figcaption>div:last-child{text-align:right}
.map-meta{display:block;font:10px var(--mono);letter-spacing:.8px;color:var(--muted);margin-bottom:6px}
.journey-map strong{font-size:18px;font-weight:500}
.map-direction{font-size:22px;color:var(--muted)}
@media(max-width:1000px){.about{gap:32px}}
@media(max-width:720px){.about{grid-template-columns:minmax(0,1fr)}.journey-map{width:min(100%,400px);justify-self:end}.about-story .about-copy{margin-top:24px}}
@media print{.about{display:block}.journey-map{background:white;border:0;max-width:none;margin-top:15px}.journey-map img,.map-heading{display:none}.journey-map figcaption{display:flex;justify-content:flex-start;border:0;padding:0;gap:25px}.journey-map figcaption>div:last-child{text-align:left}.journey-map strong{font-size:12pt}}
