:root{--ink:#111110;--paper:#fdfcfc;--soft:#f4f3f1;--line:#e3e1de;--muted:#696762;--blue:#4f59df;--font:Manrope,Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button:disabled{cursor:wait}h1,h2,h3,p{margin-top:0}.wrap{width:min(100% - 64px,1220px);margin-inline:auto}.skip{position:fixed;top:-80px;left:20px;background:#111;color:white;padding:12px;z-index:300}.skip:focus{top:10px}.nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:24px;height:78px;border-bottom:1px solid var(--line);background:rgba(253,252,252,.93);backdrop-filter:blur(18px);box-shadow:0 0 0 100vmax rgba(253,252,252,.93);clip-path:inset(0 -100vmax)}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:800;letter-spacing:-1.5px}.brand-dot{color:var(--blue)}.nav nav{display:flex;gap:30px;font-size:13px}.nav nav a:hover,.text-link:hover{color:var(--blue)}.nav-actions{display:flex;gap:16px;align-items:center}.language{display:flex;border:1px solid var(--line);border-radius:999px;background:var(--soft);padding:3px}.language button{font:11px var(--mono);border:0;border-radius:999px;background:transparent;padding:7px 9px;color:var(--muted)}.language button[aria-pressed=true]{background:white;box-shadow:0 1px 4px #0001;color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 23px;border:1px solid var(--ink);border-radius:999px;font-size:13px;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 22px #28204c18}.primary{background:var(--ink);color:#fff}.secondary{background:white;color:var(--ink)}.small{min-height:38px;padding-inline:18px;font-size:12px}.eyebrow{font:10px var(--mono);letter-spacing:1.1px;display:inline-flex;align-items:center;gap:9px;line-height:1.7}.status-dot{width:6px;height:6px;background:#329576;border-radius:50%;box-shadow:0 0 0 4px #32957614}.hero{position:relative;padding-top:70px}.hero:before{content:'';position:absolute;z-index:-1;width:min(700px,100%);height:420px;right:0;top:-70px;background:radial-gradient(ellipse, #d4caff70,transparent 65%);pointer-events:none}.hero-top{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;align-items:center;padding-bottom:54px}.hero h1{font-size:22px;font-weight:600;letter-spacing:-.8px;margin:19px 0 0}.hero-sub{display:block;font-size:clamp(48px,5.4vw,74px);font-weight:500;letter-spacing:-.065em;line-height:1.04;margin-top:18px}.hero-intro{padding-top:35px}.hero-intro>p{font-size:27px;letter-spacing:-1px;line-height:1.35;margin-bottom:20px}.intro-copy{font-size:15px;line-height:1.9;color:var(--muted);max-width:420px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0 22px}.trust-line{font-size:11px;color:var(--muted);display:flex;gap:13px;flex-wrap:wrap}.hero-showcase{position:relative;isolation:isolate;min-height:352px;border-radius:26px;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:50px;padding:42px 52px;color:white;background:radial-gradient(circle at 5% 100%,#5669db,transparent 48%),radial-gradient(circle at 88% 0%,#ef9c79,transparent 44%),linear-gradient(110deg,#332951,#8564a8 58%,#aa8c93);box-shadow:0 24px 65px #4d39601f}.contours{position:absolute;inset:-70%;z-index:-1;opacity:.16;background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 35px,#fff 36px 37px,transparent 38px 68px);transform:rotate(-22deg)}.orb{position:absolute;width:210px;height:210px;border-radius:49% 51% 60% 40%;left:41%;top:34%;z-index:-1;background:radial-gradient(circle at 31% 22%,#fff9,transparent 24%),radial-gradient(circle at 72% 75%,#71d3b3,transparent 45%),linear-gradient(140deg,#7974ef,#efaa7e);box-shadow:inset -15px -17px 40px #3c206766,0 30px 50px #2f254333;transform:rotate(-18deg)}.showcase-caption h2{font-weight:500;font-size:40px;line-height:1.13;letter-spacing:-1.9px;margin:22px 0 0}.showcase-caption .eyebrow{font-size:9px;opacity:.8}.system-card{flex:0 0 340px;background:rgba(255,255,255,.93);color:var(--ink);border-radius:16px;border:1px solid #fff7;box-shadow:0 18px 45px #261d362b;padding:18px}.window-bar{display:flex;align-items:center;gap:5px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}.window-bar>span{width:6px;height:6px;background:#d5d1cf;border-radius:50%}.window-bar small{margin-left:auto;font:8px var(--mono);color:var(--muted)}.system-row{display:flex;align-items:center;gap:13px}.system-icon{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;font:14px var(--mono)}.system-row b{display:block;font-size:11px;font-weight:600}.system-row small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.system-check{margin-left:auto;color:var(--blue)}.connector{height:14px;border-left:1px dashed #bcb6ce;margin-left:18px}.system-footer{font:8px var(--mono);color:var(--muted);border-top:1px solid var(--line);margin-top:16px;padding-top:12px;line-height:1.5}.stack-strip{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:30px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.stack-strip>span:not(.eyebrow){font-size:13px;font-weight:600;color:#585652}.stack-strip .eyebrow{color:var(--muted);font-size:9px}.section{padding-top:92px;padding-bottom:20px}.section-head{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:30px}.section-head h2,.about-grid h2{font-size:clamp(32px,3.5vw,46px);font-weight:500;letter-spacing:-2px;line-height:1.14;margin:16px 0 0}.section-head>p{max-width:350px;color:var(--muted);font-size:14px;line-height:1.8;margin:0}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.filters button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:9px 16px;font-size:11px;color:var(--muted)}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card{border:1px solid var(--line);border-radius:19px;overflow:hidden;background:white;display:flex;flex-direction:column}.project-visual{height:205px;position:relative;padding:26px;overflow:hidden;display:flex;align-items:center;justify-content:center}.project-visual.liveyt{background:linear-gradient(130deg,#e5dcfa,#f5e0d8)}.project-visual.zapee{background:#e3ebe4}.project-visual.dental{background:#e4e8f1}.project-visual.sieuthi{background:#f1e7dc}.project-visual.mlbl{background:#eee3ee}.visual-window{width:100%;background:#fff;border:1px solid #fff9;border-radius:11px;box-shadow:0 16px 28px #34304414;transform:rotate(-3deg);padding:15px}.visual-title{display:flex;justify-content:space-between;font-size:9px;font-weight:600;margin-bottom:17px}.mini-label{font:7px var(--mono);color:var(--muted)}.wave{display:flex;align-items:center;justify-content:center;gap:4px;height:50px}.wave i{width:5px;height:var(--h);background:#7361af;border-radius:999px}.mini-bar{height:5px;background:#f1efec;border-radius:5px;margin:9px 0}.mini-bar.short{width:60%}.mini-pill{display:inline-block;border-radius:99px;background:#171717;color:#fff;padding:5px 10px;font-size:7px}.visual-items{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.visual-items i{display:block;background:#e6ebe6;border-radius:7px;height:43px;border:1px solid #d6dfd6}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.slot-grid i{font:8px var(--mono);padding:8px 0;border-radius:5px;text-align:center;font-style:normal;background:#f0f2f8;color:#596682}.mini-code{font:8px/1.9 var(--mono);color:#74684e}.project-body{padding:24px;display:flex;flex-direction:column;flex:1}.project-body .eyebrow{font-size:8px;color:var(--muted)}.project-body h3{font-size:20px;letter-spacing:-.7px;margin:10px 0}.project-body p{font-size:12px;line-height:1.9;color:var(--muted)}.project-stack{font:9px/1.8 var(--mono);color:#64625f;margin:2px 0 22px}.project-actions{display:flex;gap:15px;align-items:center;margin-top:auto}.case-button{border:0;background:none;padding:0;font-size:11px;font-weight:700}.project-actions a{font-size:11px;color:var(--muted)}.about-section{margin-top:75px;background:var(--soft);padding-bottom:80px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.about-copy{font-size:14px;line-height:1.9;color:var(--muted);max-width:440px;margin-top:25px}.text-link{font-size:12px;font-weight:700}.timeline{padding-left:24px;border-left:1px solid #d9d5cd}.timeline article{position:relative;margin-bottom:35px}.timeline article:last-child{margin-bottom:0}.timeline-dot{position:absolute;left:-29px;top:5px;width:9px;height:9px;background:var(--soft);border:2px solid #9e98b1;border-radius:50%}.timeline .eyebrow{font-size:8px;color:var(--muted)}.timeline h3{font-size:17px;font-weight:600;margin:10px 0;letter-spacing:-.5px}.timeline p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:38px}.principles article{border-top:1px solid var(--line);padding-top:23px}.principles article>span{font:10px var(--mono);color:var(--blue)}.principles h3{font-size:17px;font-weight:600;letter-spacing:-.5px;margin:20px 0 12px}.principles p{font-size:13px;line-height:1.8;color:var(--muted)}.contact{margin-top:85px;text-align:center;padding:75px 35px;background:radial-gradient(ellipse at 20% 100%,#fae8dc70,transparent 50%),radial-gradient(ellipse at 90% 0,#e8e3fc90,transparent 50%),#f6f4f4;border:1px solid var(--line);border-radius:24px}.contact h2{font-size:clamp(35px,4.5vw,58px);font-weight:500;letter-spacing:-2.7px;line-height:1.1;margin:20px 0}.contact p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 27px}.contact-links{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:25px;font-size:11px}.footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:30px 0;margin-top:50px;color:var(--muted);font-size:10px;border-top:1px solid var(--line)}dialog{width:min(650px,calc(100% - 32px));max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:22px;padding:42px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#18152660;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:18px;top:14px;font-size:25px;border:0;background:transparent}.dialog-body h2{font-size:32px;letter-spacing:-1.3px;margin:15px 0}.dialog-body h3{font-size:14px;margin:25px 0 9px}.dialog-body p,.dialog-body li{font-size:13px;line-height:1.9;color:var(--muted)}.dialog-body ul{padding-left:20px}.dialog-body .button{margin-top:18px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#111;color:#fff;border-radius:99px;padding:12px 23px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.visible{opacity:1}.cv-page{background:var(--soft)}.cv-intro{padding:55px 0 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.cv-intro h1{font-size:38px;letter-spacing:-1.8px;font-weight:500;margin:10px 0}.cv-intro p{font-size:12px;color:var(--muted)}.cv-actions{display:flex;gap:10px;flex-wrap:wrap}.cv-paper{width:min(100%,900px);margin:0 auto 60px;background:white;padding:55px 60px;border:1px solid var(--line);box-shadow:0 14px 45px #33333308;border-radius:5px}.resume-head{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px}.resume-head h2{font-size:32px;letter-spacing:-1.1px;margin:0 0 7px}.resume-role{font-size:14px;color:var(--blue);margin:0 0 15px;font-weight:600}.resume-contact{display:flex;flex-wrap:wrap;gap:7px 16px;font-size:10px;line-height:1.8;color:var(--muted)}.resume-contact a{text-decoration:underline;text-underline-offset:3px}.resume-section{margin-top:26px}.resume-section>h3{font:10px var(--mono);letter-spacing:1.6px;text-transform:uppercase;margin-bottom:13px;color:#55505f}.resume-section p,.resume-section li{font-size:11px;line-height:1.85;color:#464440}.resume-section ul{padding-left:17px;margin:7px 0 0}.skill-line{display:grid;grid-template-columns:130px 1fr;gap:15px;font-size:11px;line-height:1.85;margin-bottom:6px}.skill-line b{font-weight:600}.skill-line span{color:#464440}.resume-entry{margin-bottom:17px;break-inside:avoid}.entry-heading{display:flex;justify-content:space-between;gap:18px;align-items:baseline}.entry-heading h4{font-size:12px;margin:0}.entry-heading span{font:9px var(--mono);color:var(--muted)}.entry-sub{font-size:10px;color:var(--muted);margin-top:4px}.resume-project-stack{font:9px/1.8 var(--mono);color:var(--muted);margin-top:4px}.resume-learning{background:#f7f6f8;padding:12px 15px;border-left:2px solid #aaa0c7;font-size:10px;line-height:1.8;color:#59545f}.loading{padding:30px;color:var(--muted)}
.brand.full-name{font-size:17px;letter-spacing:-.6px;white-space:nowrap}
.resume-head{position:relative;padding-right:124px;min-height:118px}
.resume-avatar{position:absolute;right:0;top:0;width:104px;height:104px;object-fit:cover;border-radius:18px;border:1px solid var(--line)}
.hero-identity{display:flex;align-items:center;gap:17px;margin-bottom:24px}
.hero-avatar{width:82px;height:82px;object-fit:cover;border-radius:22px;box-shadow:0 8px 25px #17171714}
.hero-identity strong{display:block;font-size:17px;letter-spacing:-.5px;margin-bottom:5px}
.hero-identity small{font:9px var(--mono);color:var(--muted)}
@media(max-width:700px){.resume-head{padding-right:88px;min-height:95px}.resume-avatar{width:74px;height:74px;border-radius:14px}.resume-head h2{font-size:23px}.hero-avatar{width:70px;height:70px;border-radius:18px}}
@media print{.resume-head{padding-right:92px;min-height:90px}.resume-avatar{width:78px;height:78px}}
.resume-head{display:grid;grid-template-columns:160px minmax(0,1fr);column-gap:26px;align-content:start;padding-right:0;min-height:160px}
.resume-avatar{position:static;grid-column:1;grid-row:1/4;width:160px;height:160px;border-radius:23px}
.resume-head h2,.resume-head .resume-role,.resume-head .resume-contact{grid-column:2;min-width:0}
.resume-contact a{max-width:100%;overflow-wrap:anywhere}
.hero-avatar{width:124px;height:124px;border-radius:25px}
.portfolio-profile{display:flex;align-items:center;gap:24px;margin:24px 0 25px}
.portfolio-profile img{width:180px;height:180px;object-fit:cover;border-radius:28px;box-shadow:0 12px 30px #17171717}
.portfolio-profile strong{display:block;font-size:23px;letter-spacing:-.7px;margin-bottom:10px}
.portfolio-profile small{font:10px var(--mono);color:var(--muted)}
.portfolio-profile+h1 .hero-sub{margin-top:0}
@media(max-width:700px){.portfolio-profile{gap:20px}.portfolio-profile img{width:154px;height:154px;border-radius:24px}.portfolio-profile strong{font-size:20px}.portfolio-profile small{font-size:8px}}
@media(max-width:700px){.resume-head{grid-template-columns:112px minmax(0,1fr);column-gap:20px;min-height:112px}.resume-avatar{width:112px;height:112px;border-radius:18px}.hero-avatar{width:110px;height:110px}}
@media(max-width:420px){.resume-head{grid-template-columns:96px minmax(0,1fr);column-gap:15px}.resume-avatar{width:96px;height:96px}.resume-head h2{font-size:22px}.resume-role{font-size:12px}}
@media print{.resume-head{grid-template-columns:105px minmax(0,1fr);column-gap:20px;padding-right:0;min-height:105px}.resume-avatar{width:105px;height:105px}}
@media(max-width:420px){.brand.full-name{font-size:12px;gap:7px}.brand.full-name img{width:25px;height:25px}.nav{gap:7px}.nav nav{display:none}.nav-actions{gap:6px}.nav-actions .button{padding-inline:10px}.language button{padding-inline:7px}}
@media(max-width:1000px){.hero-top{gap:40px}.hero-showcase{padding:35px}.hero-sub{font-size:58px}.project-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:55px}.stack-strip{justify-content:start}.orb{left:35%}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.nav{height:68px;gap:10px}.brand{font-size:21px}.brand img{width:29px;height:29px}.nav nav{gap:15px;font-size:11px}.nav nav a:first-child,.nav nav a:nth-child(2){display:none}.nav-actions{gap:8px}.nav-actions .button{font-size:10px;padding-inline:12px}.hero{padding-top:43px}.hero-top{grid-template-columns:1fr;gap:22px;padding-bottom:35px}.hero-sub{font-size:55px}.hero-intro{padding-top:0}.hero-intro>p{font-size:24px}.intro-copy{font-size:14px}.hero-showcase{padding:30px 24px;flex-direction:column;align-items:stretch;gap:28px}.showcase-caption h2{font-size:34px}.system-card{flex-basis:auto;width:100%;max-width:380px;align-self:end}.orb{top:19%;left:45%;width:160px;height:160px}.stack-strip{gap:17px;padding:24px 0}.stack-strip .eyebrow{width:100%}.stack-strip>span:not(.eyebrow){font-size:11px}.section{padding-top:60px}.section-head{display:block;margin-bottom:22px}.section-head h2,.about-grid h2{font-size:35px}.section-head>p{margin-top:20px;font-size:13px}.project-grid{grid-template-columns:1fr}.project-visual{height:225px;padding:30px 45px}.project-body{padding:25px}.about-grid{grid-template-columns:1fr;gap:40px}.about-section{margin-top:45px;padding-bottom:50px}.principles{grid-template-columns:1fr;gap:20px;margin-top:25px}.principles h3{margin-top:13px}.contact{padding:50px 20px;margin-top:45px}.contact h2{font-size:39px;letter-spacing:-1.8px}.footer{margin-top:30px;line-height:1.8}.footer>span:nth-child(2){display:none}dialog{padding:35px 24px}.cv-intro{padding-top:35px;display:block}.cv-actions{margin-top:20px}.cv-paper{padding:30px 23px}.resume-head h2{font-size:26px}.skill-line{grid-template-columns:1fr;gap:0;margin-bottom:12px}.entry-heading{display:block}.entry-heading span{display:block;margin-top:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{@page{size:A4;margin:14mm}body.cv-page{background:white}.nav,.cv-intro,.footer,.skip{display:none!important}.wrap{width:100%}.cv-paper{border:0;box-shadow:none;padding:0;margin:0;width:100%}.resume-head h2{font-size:26px}.resume-section{margin-top:18px}.resume-section p,.resume-section li,.skill-line{font-size:10px;line-height:1.55}.resume-entry{margin-bottom:12px}.resume-contact{font-size:9px}.resume-learning{font-size:9px}.resume-section>h3{break-after:avoid}.resume-head{margin-bottom:15px;padding-bottom:15px}a{color:inherit}}

/* Portrait-led preview: one image column, one clear personal introduction. */
.hero-redesign{padding-top:64px}
.hero-redesign:before{width:720px;max-width:100%;height:500px;top:-80px;right:0;background:radial-gradient(ellipse,#ece6fa80,transparent 65%)}
.hero-redesign .hero-top{grid-template-columns:360px minmax(0,1fr);gap:78px;max-width:1070px;margin:0 auto;padding-bottom:56px;align-items:center}
.hero-portrait{margin:0;width:320px;justify-self:center}
.hero-portrait img{display:block;width:320px;height:400px;object-fit:cover;object-position:50% 40%;border-radius:20px;box-shadow:0 16px 35px #1717170e}
.hero-portrait figcaption{display:flex;justify-content:space-between;gap:14px;padding:15px 1px 0;font:8px var(--mono);letter-spacing:.7px;color:#696762}
.hero-portrait figcaption span{color:#86827d}
.hero-redesign .hero-intro{padding-top:0;min-width:0}
.hero-redesign .hero-intro>.eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:29px}
.hero-redesign .hero-intro>.hero-greeting{font-size:15px;letter-spacing:0;color:var(--muted);margin:0 0 5px;line-height:1.6}
.hero-redesign h1{font-size:clamp(42px,4.8vw,60px);font-weight:600;letter-spacing:-3px;line-height:1.12;margin:0 0 12px}
.name-period{color:#7464b1}
.hero-redesign .hero-intro>.hero-role{font-size:20px;font-weight:500;letter-spacing:-.5px;line-height:1.5;margin-bottom:22px}
.hero-redesign .intro-copy{max-width:490px;font-size:14px;line-height:1.95;color:#696762}
.hero-redesign .hero-actions{margin:27px 0 25px;gap:12px}
.hero-redesign .button{min-height:47px;padding-inline:24px}
.hero-social{display:flex;align-items:center;gap:22px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;font-size:11px;max-width:490px}
.hero-social a:hover{color:var(--blue)}
.hero-social span{margin-left:auto;font:9px var(--mono);color:var(--muted)}
.hero-redesign .hero-showcase{display:none}
.hero-redesign .stack-strip{padding:25px 0;border-top:1px solid var(--line)}
.project-visual.java-orders{background:linear-gradient(135deg,#e4eaf5,#ece6f6)}
.project-visual.detailed-preview{height:330px;padding:24px 20px 44px;isolation:isolate;align-items:center}
.detailed-preview:before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#ffffff90 1px,transparent 1px);background-size:14px 14px;opacity:.7}
.preview-orbit{position:absolute;width:280px;height:280px;border:1px solid #ffffff90;border-radius:50%;right:-60px;top:-110px;z-index:-1}
.preview-shell,.code-preview{width:100%;border-radius:12px;overflow:hidden;background:#fffffff5;box-shadow:0 14px 30px #29203820;border:1px solid #fff;transform:rotate(-2deg);font-size:10px}
.preview-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #e9e7ec;background:#faf9fc;color:#6c6674;font-size:9px}
.preview-toolbar b{font-weight:600;color:#353039}.preview-dots{font-size:7px;letter-spacing:2px;color:#bab1c5}
.preview-tabs{display:flex;gap:19px;padding:12px 15px 9px;color:#8a8392;font-size:9px}.preview-tabs b{color:#635080}
.preview-section-title{display:flex;justify-content:space-between;font-size:11px;font-weight:700;margin:13px 14px}
.preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;color:#8a8392;font-size:8px;border-top:1px solid #eeebf1}.preview-bottom b{color:#675783;font-weight:600}
.concept-label{position:absolute;bottom:12px;left:22px;font:8px var(--mono);letter-spacing:.7px;color:#645d71}
.voice-script{background:#f4f0fa;border:1px solid #e6ddee;border-radius:8px;margin:2px 14px 9px;padding:12px}.voice-script small{font:7px var(--mono);color:#9a8aaa}.voice-script p{font-size:14px;font-weight:600;margin:8px 0;color:#55466c}.voice-script>span{font-size:8px;color:#92859e}
.voice-track{display:flex;align-items:center;gap:9px;margin:5px 14px 9px}.play-disc{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#79639c;color:white;font-size:10px;flex-shrink:0}.voice-track>.wave{flex:1;gap:3px;height:44px}.voice-track .wave i{width:4px;height:calc(var(--h)*.7)}.voice-track>span:last-child{font:8px var(--mono);color:#8d829a}
.code-preview{background:#202431;border-color:#333849;color:#d2d7e2;transform:rotate(-2deg)}.code-preview .preview-toolbar{background:#292d3a;border-color:#3b4050;color:#a4adc2}.code-preview .preview-toolbar b{color:#e1e5ed}.code-lines{font:10px/1.9 var(--mono);padding:12px 19px}.code-purple{color:#d2a5ff}.code-blue{color:#8dcfff}.code-flow{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#292d3a;color:#8696ab;font-size:9px}.code-flow span{border:1px solid #465066;padding:4px 8px;border-radius:5px;color:#d5ddeb}.floating-status{position:absolute;right:12px;bottom:38px;border:1px solid #dfd8eb;background:#fff;border-radius:7px;padding:9px 12px;font-size:9px;box-shadow:0 5px 15px #2222}.floating-status i,.availability-dot{display:inline-block;width:5px;height:5px;background:#6a9d86;border-radius:50%;margin-right:4px}
.preview-dashboard{display:flex}.preview-sidebar{display:flex;flex-direction:column;align-items:center;gap:17px;width:39px;padding:13px 0;background:#f6f1ed;border-right:1px solid #eee5dd;color:#9a8571}.preview-sidebar b{font-size:14px;color:#926b4c}.preview-main{flex:1;min-width:0}.preview-main .preview-section-title{font-size:10px;margin:12px}
.preview-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:0 11px 10px}.preview-metrics>div{padding:8px 6px;border:1px solid #eee6e0;border-radius:6px;background:#fcfaf8}.preview-metrics small{font-size:7px;color:#9f8c7b;display:block}.preview-metrics b{display:block;font-size:16px;margin-top:3px;color:#6c5140}
.preview-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 13px;border-top:1px solid #f1eef2;font-size:9px;color:#6c6275}.preview-tag{font-size:7px;border:1px solid #dce8de;background:#f2f7f2;color:#6b9272;border-radius:4px;padding:3px 5px}
.calendar-days{display:flex;gap:6px;margin:12px 14px}.calendar-days>div{display:flex;flex:1;flex-direction:column;align-items:center;border:1px solid #e8e9f0;border-radius:7px;padding:9px 0;gap:6px;color:#7e8a9b}.calendar-days small{font-size:7px}.calendar-days b{font-size:14px}.calendar-days .selected{background:#687ea4;color:#fff;border-color:#687ea4}.detailed-preview .slot-grid{margin:12px 14px}.detailed-preview .slot-grid i{padding:9px 0;font-size:9px;border:1px solid #e4e8f0}.detailed-preview .slot-grid .chosen{background:#dde7f7;border-color:#90a6cc;color:#425b86}
.preview-search{margin:13px 13px 10px;border:1px solid #dce6df;padding:10px 9px;border-radius:6px;color:#96a29a;font-size:8px;display:flex;justify-content:space-between}.shopping-products{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 13px 13px}.shopping-products>div{background:#f0f5f0;border:1px solid #e0e9df;border-radius:7px;padding:12px 9px}.shopping-products span{font-size:30px;display:block;text-align:center;color:#87a38b;margin-bottom:9px}.shopping-products b{display:block;font-size:9px;color:#5e7560}.shopping-products small{font-size:7px;color:#98a799}.automation-flow{display:flex;justify-content:center;align-items:center;gap:7px;font-size:8px;padding:0 10px 12px;color:#78907d}.automation-flow span{border:1px solid #dce7dc;border-radius:4px;padding:5px}.automation-flow i{font-style:normal}
.retail-chart{display:flex;align-items:center;gap:20px;margin:4px 14px 12px;padding:15px;background:#f7f0f7;border-radius:8px}.retail-chart small{font:6px var(--mono);color:#a390a3}.retail-chart b{display:block;font-size:22px;line-height:1.15;letter-spacing:-1px;margin-top:8px;color:#876987}.chart-bars{display:flex;align-items:end;gap:5px;height:75px;flex:1}.chart-bars i{height:var(--bar);background:linear-gradient(#bfa3c0,#e1cee1);border-radius:4px 4px 0 0;flex:1}
@media(max-width:700px){.project-visual.detailed-preview{height:330px;padding:25px 22px 44px}.preview-shell,.code-preview{max-width:350px}.concept-label{font-size:9px}}
@media(max-width:1000px){.hero-redesign .hero-top{grid-template-columns:290px minmax(0,1fr);gap:40px}.hero-portrait,.hero-portrait img{width:280px}.hero-portrait img{height:350px}.hero-redesign h1{font-size:45px;letter-spacing:-2px}.hero-social span{margin-left:0}}
@media(max-width:700px){.hero-redesign{padding-top:35px}.hero-redesign .hero-top{grid-template-columns:1fr;gap:31px;padding-bottom:35px}.hero-portrait{width:270px;justify-self:start}.hero-portrait img{width:270px;height:300px;border-radius:18px}.hero-portrait figcaption{font-size:7px;padding-top:12px}.hero-redesign .hero-intro>.eyebrow{margin-bottom:20px;font-size:8px}.hero-redesign h1{font-size:43px;letter-spacing:-2px}.hero-redesign .hero-intro>.hero-role{font-size:18px;margin-bottom:16px}.hero-redesign .hero-social{gap:20px}.hero-redesign .hero-social span{font-size:8px}.hero-redesign .intro-copy{font-size:13px}.hero-redesign .hero-actions{margin-top:22px}.hero-redesign .stack-strip{padding-block:22px}}

/* Readable screen typography; keep the existing compact print layout. */
@media screen{
 body{font-size:16px}
 .nav nav{font-size:16px}.brand.full-name{font-size:20px}
 .button,.small{font-size:15px}.language button{font-size:13px}
 .eyebrow,.stack-strip .eyebrow{font-size:12px}
 .hero-redesign .hero-intro>.eyebrow{font-size:12px}
 .hero-redesign .hero-intro>.hero-greeting{font-size:18px}
 .hero-redesign .hero-intro>.hero-role{font-size:24px}
 .hero-redesign .intro-copy{font-size:17px;line-height:1.8;max-width:550px}
 .hero-social{font-size:15px;max-width:550px}.hero-social span{font-size:11px}
 .hero-portrait figcaption{font-size:11px}
 .stack-strip>span:not(.eyebrow){font-size:16px}
 .section-head>p,.about-copy,.principles p,.contact p{font-size:17px;line-height:1.8}
 .project-body .eyebrow{font-size:11px}.project-body h3{font-size:23px}
 .project-body p{font-size:16px;line-height:1.8}
 .project-stack{font-size:12px}.case-button,.project-actions a{font-size:15px}
 .timeline p{font-size:16px}.timeline .eyebrow{font-size:12px}
 .filters button,.text-link{font-size:15px}
 .principles h3{font-size:21px}.principles article>span{font-size:13px}
 .contact-links{font-size:15px}.footer{font-size:13px}
 .dialog-body p,.dialog-body li{font-size:16px}.dialog-body h3{font-size:18px}
 .cv-intro p{font-size:16px}.cv-paper{width:min(100%,1040px)}
 .resume-section p,.resume-section li,.skill-line{font-size:15px;line-height:1.8}
 .resume-section>h3{font-size:13px}.resume-contact{font-size:13px}
 .resume-role{font-size:17px}.entry-heading h4{font-size:17px}
 .entry-heading span,.entry-sub,.resume-project-stack{font-size:12px}
 .resume-learning{font-size:15px}
}
@media screen and (max-width:700px){
 .nav nav{font-size:14px}.brand.full-name{font-size:16px}
 .nav-actions .button{font-size:12px}.language button{font-size:12px}
 .hero-redesign .intro-copy{font-size:16px}
 .hero-redesign .hero-intro>.eyebrow{font-size:11px}
 .hero-redesign .hero-social span,.hero-portrait figcaption{font-size:10px}
 .section-head>p,.about-copy,.principles p,.contact p{font-size:16px}
 .hero-redesign .hero-top{gap:30px}
 .resume-contact{overflow-wrap:anywhere}
}
