:root{color-scheme:dark;--bg:#101112;--bg-soft:#151718;--panel:#191b1d;--panel-2:#202224;--text:#f1f0ec;--muted:#929695;--line:#292c2d;--accent:#b5ef69;--accent-ink:#13170e;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif;--display:'DM Mono',monospace;--wrap:1320px}html[data-theme="light"]{color-scheme:light;--bg:#f3f3f0;--bg-soft:#e9eae6;--panel:#fff;--panel-2:#eeefeb;--text:#171918;--muted:#696f6c;--line:#d9dcd6;--accent:#649d31;--accent-ink:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.7;transition:background .25s,color .25s}a{color:inherit;text-decoration:none}button{font:inherit}.topbar{height:78px;padding:0 max(calc((100vw - var(--wrap))/2),5.5vw);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(16px);z-index:10}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.05em;font-size:16px}.brand-mark{font:500 13px var(--mono);color:var(--accent);letter-spacing:-.08em}.brand-dot,.hero-period{color:var(--accent)}.nav{display:flex;gap:34px;color:var(--muted);font-size:12px}.nav a:hover,.text-link:hover,.back-top:hover{color:var(--accent)}.top-actions{display:flex;align-items:center;gap:20px}.availability{font:10px var(--mono);color:var(--muted);letter-spacing:.02em}.availability i{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:7px;box-shadow:0 0 10px var(--accent)}.theme-toggle,.menu-toggle{width:34px;height:34px;background:none;border:1px solid var(--line);color:var(--text);border-radius:50%;cursor:pointer}.theme-toggle{font-size:18px;line-height:1}.menu-toggle{display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px}.menu-toggle span{width:13px;height:1px;background:currentColor}.page-wrap,.section-wrap{max-width:var(--wrap);margin:0 auto}.hero{min-height:680px;display:grid;grid-template-columns:1fr 1.06fr;align-items:center;position:relative;padding:82px 0 100px}.eyebrow{font:10px var(--mono);letter-spacing:.12em;color:var(--muted);display:flex;align-items:center;gap:10px;margin:0 0 23px}.eyebrow-line{width:24px;height:1px;background:var(--accent)}h1,h2,h3,p{margin-top:0}.hero h1{font-family:var(--display);font-size:clamp(64px,8vw,100px);line-height:.92;letter-spacing:-.075em;margin:0;font-weight:500}.outline-text{color:transparent;-webkit-text-stroke:1px var(--text)}.hero-period{font-size:.9em}.hero-role{margin:26px 0 15px;font:14px var(--mono);color:var(--muted)}.role-bracket{color:var(--accent)}.hero-intro{max-width:415px;color:var(--muted);font-size:13px;line-height:1.9}.hero-buttons{display:flex;align-items:center;gap:22px;margin-top:27px}.button{display:inline-flex;align-items:center;gap:20px;padding:12px 16px;font-size:11px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:var(--accent-ink)}.button-primary span{font-size:15px}.button-quiet{padding-left:0;color:var(--muted)}.button-quiet span{color:var(--accent);font-size:15px}.hero-meta{display:flex;gap:22px;margin-top:55px;color:var(--muted);font:9px var(--mono)}.hero-meta b{color:var(--accent);font-size:13px;margin-right:5px;font-weight:400}.hero-art{height:440px;position:relative;display:flex;align-items:center;justify-content:center}.art-glow{position:absolute;width:330px;height:330px;border-radius:50%;background:var(--accent);opacity:.045;filter:blur(75px)}.code-window{width:min(100%,440px);background:var(--panel);border:1px solid var(--line);box-shadow:0 28px 90px #0002;position:relative;z-index:1;transform:rotate(2deg)}.window-bar,.window-status{height:40px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 15px;color:var(--muted);font:9px var(--mono)}.window-bar>span:nth-child(2){margin:auto}.window-dots{display:flex;gap:5px}.window-dots i{width:6px;height:6px;border-radius:50%;background:#ef695f}.window-dots i:nth-child(2){background:#e8bb4e}.window-dots i:nth-child(3){background:#65c36e}.window-lock{font-size:14px}.code-content{padding:22px 18px 20px;font:11px/2.1 var(--mono);color:var(--text)}.code-line{display:flex;white-space:pre}.line-no{color:#555c5c;width:33px;flex:none}.indent>span:last-child{padding-left:18px}.indent-2>span:last-child{padding-left:38px}.code-line em{color:#c792ea;font-style:normal}.code-line small{color:#82aaff;font-size:inherit}.code-line strong{color:#c3e88d;font-weight:400}.code-line .bool{color:#f78c6c;font-weight:400}.cursor{display:inline-block;background:var(--accent);height:14px;width:1px;vertical-align:middle;margin-left:3px}.window-status{border-top:1px solid var(--line);border-bottom:0;height:30px;justify-content:space-between;font-size:8px}.floating-chip{position:absolute;z-index:2;background:var(--panel-2);border:1px solid var(--line);padding:9px 12px;font:9px var(--mono);box-shadow:0 8px 25px #0002}.floating-chip span{color:var(--accent);margin-right:6px}.chip-top{top:75px;right:5px}.chip-bottom{bottom:73px;left:4px}.chip-bottom span{font-size:13px}.art-caption{position:absolute;bottom:10px;right:8px;font:9px var(--mono);letter-spacing:.12em;color:var(--muted)}.art-caption span{color:var(--accent)}.scroll-cue{position:absolute;bottom:28px;left:0;display:flex;align-items:center;gap:10px;font:8px var(--mono);letter-spacing:.12em;color:var(--muted)}.scroll-cue span{width:1px;height:28px;background:var(--accent)}.section-wrap{padding:86px 0;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading .eyebrow{margin:0}.section-index{color:var(--muted);font:9px var(--mono)}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;margin-top:66px}.about h2,.experience h2,.projects h2,.contact h2{font-size:clamp(36px,4.4vw,54px);line-height:1.16;letter-spacing:-.065em;margin:0;font-weight:600}.about h2 span,.experience h2 span,.contact h2 span{color:var(--muted)}.about-copy{padding-top:7px;color:var(--muted);font-size:12px;line-height:2}.about-copy p{margin:0 0 15px}.text-link{display:inline-flex;align-items:center;gap:14px;color:var(--text);font-size:11px;font-weight:700;margin-top:8px}.text-link span{color:var(--accent);font-size:15px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:65px;padding-top:24px}.stats>div{display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--line);padding-left:30px}.stats>div:first-child{padding-left:0}.stats strong{font-size:27px;letter-spacing:-.06em}.stats strong span{font-size:18px;color:var(--accent)}.stats small{color:var(--muted);font:9px var(--mono)}.stats .stat-note{border:0;align-items:center;flex-direction:row;gap:12px}.stat-symbol{font-size:24px;color:var(--accent)}.experience-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin-top:65px}.section-lead{max-width:270px;color:var(--muted);font-size:12px;margin-top:18px;line-height:1.9}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:116px;top:6px;bottom:28px;width:1px;background:var(--line)}.timeline-item{display:grid;grid-template-columns:100px 1fr;gap:34px;position:relative;padding-bottom:38px}.timeline-date{font:9px var(--mono);color:var(--muted);padding-top:4px}.timeline-marker{position:absolute;left:112px;top:5px;width:9px;height:9px;border:1px solid var(--accent);background:var(--bg);border-radius:50%;z-index:1}.timeline-item h3{font-size:15px;margin:0 0 3px;font-weight:600}.timeline-place{font:10px var(--mono);color:var(--muted);margin-bottom:11px}.timeline-place span{color:var(--accent);padding:0 4px}.timeline-desc{font-size:11px;color:var(--muted);margin-bottom:13px;max-width:420px}.tags{display:flex;gap:7px;flex-wrap:wrap}.tags span{font:8px var(--mono);color:var(--muted);border:1px solid var(--line);padding:3px 7px}.projects-title{display:flex;align-items:end;justify-content:space-between;margin:58px 0 30px}.projects h2{font-size:clamp(32px,4vw,46px)}.projects h2 span{color:var(--accent)}.projects-title .text-link{margin:0 0 5px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{min-width:0}.project-visual{height:245px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--panel-2);border:1px solid var(--line)}.visual-label{position:absolute;left:14px;bottom:12px;color:var(--muted);font:8px var(--mono);letter-spacing:.1em}.visual-dashboard{background:radial-gradient(ellipse at 52% 50%,#343d36,var(--panel) 65%)}.mini-sidebar{position:absolute;left:12%;top:18%;bottom:17%;width:15%;background:#191e1b;border:1px solid #ffffff13;display:flex;align-items:center;flex-direction:column;gap:15px;padding-top:14px}.mini-sidebar b{color:#b5ef69;font-size:13px}.mini-sidebar i{width:14px;height:3px;background:#555f57}.mini-main{width:55%;height:64%;background:#202622;border:1px solid #ffffff18;padding:12px}.mini-topline{width:40%;height:5px;background:#79847c;margin-bottom:13px}.mini-metrics{display:flex;gap:5px}.mini-metrics i{height:21px;flex:1;background:#303a33}.mini-chart{height:50%;margin-top:10px;border-bottom:1px solid #495449;display:flex;align-items:end;gap:5px}.mini-chart span{flex:1;background:#92c956;opacity:.72}.mini-chart span:nth-child(3n){height:63%}.mini-chart span:nth-child(3n+1){height:32%}.mini-chart span:nth-child(3n+2){height:82%}.visual-mobile{background:radial-gradient(ellipse at center,#3a3a35,var(--panel) 70%)}.phone-frame{width:114px;height:198px;background:#171918;border:2px solid #555a55;border-radius:20px;position:relative;padding:28px 12px 12px;color:#eee;box-shadow:0 20px 35px #0006}.phone-notch{position:absolute;top:6px;left:40px;width:32px;height:7px;border-radius:6px;background:#0d0f0e}.phone-greet{font:6px var(--mono);color:#aaa}.phone-title{display:block;font-size:18px;font-weight:700;line-height:1.1;margin:6px 0 11px}.phone-card{height:31px;background:#343b32;border:1px solid #59664e;margin-bottom:6px;border-radius:5px}.phone-card.short{height:23px;background:#292e2b;border-color:#404440}.phone-nav{position:absolute;bottom:7px;left:0;right:0;text-align:center;font-size:7px;color:#b5ef69}.visual-commerce{background:radial-gradient(ellipse at 50% 90%,#45443b,var(--panel) 70%)}.shop-window{width:62%;height:72%;background:#deded4;color:#20211d;padding:14px 13px;transform:rotate(-3deg);box-shadow:0 18px 38px #0006;position:relative}.shop-head{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em}.shop-head b span{font-size:6px;vertical-align:top}.shop-copy{font-size:17px;line-height:.97;font-weight:800;letter-spacing:-.07em;margin-top:15px}.shop-copy em{font-family:Georgia,serif;font-weight:400}.shop-product{position:absolute;right:17px;bottom:26px;width:49px;height:55px;background:#b0a68e;border-radius:16px 16px 8px 8px;box-shadow:inset -8px 0 #9b927c}.shop-product span{position:absolute;bottom:-17px;left:-45px;font:5px/1.5 var(--mono)}.shop-foot{position:absolute;bottom:8px;left:13px;right:13px;font:5px var(--mono);letter-spacing:.09em}.shop-foot span{float:right}.project-info{display:flex;justify-content:space-between;align-items:start;margin:16px 0 12px}.project-info h3{font-size:14px;margin:0 0 4px}.project-info p{font-size:10px;color:var(--muted);max-width:260px;margin:0;line-height:1.7}.project-info>a{border:1px solid var(--line);width:28px;height:28px;display:grid;place-items:center;color:var(--accent);flex:none}.contact{padding-bottom:65px}.contact-panel{margin-top:45px;background:var(--panel);border:1px solid var(--line);padding:58px 62px;display:grid;grid-template-columns:1fr .8fr;position:relative;overflow:hidden;min-height:350px}.contact-panel>div:not(.contact-orbit){position:relative;z-index:1}.contact-panel .eyebrow{font-size:9px}.contact h2{font-size:48px}.contact-copy{color:var(--muted);font-size:11px;margin:15px 0 23px}.contact-side{justify-self:end;align-self:end;display:flex;flex-direction:column;gap:17px;font-size:11px}.contact-code{font:13px var(--mono);color:var(--accent);margin-bottom:15px}.contact-code span{color:var(--muted)}.contact-side>a span{color:var(--accent);margin-left:10px}.social-links{display:flex;gap:20px;color:var(--muted);font-size:10px}.social-links a:hover{color:var(--accent)}.contact-orbit{position:absolute;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:50%;width:470px;height:470px;right:-80px;top:-300px}.orbit-two{width:360px;height:360px;right:-25px;top:-245px}.footer{height:88px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100vw - var(--wrap))/2),5.5vw);color:var(--muted);font-size:9px}.footer .brand{color:var(--text);font-size:14px}.back-top{font:9px var(--mono)}
@media(max-width:1200px){.page-wrap,.section-wrap{margin-left:3vw;margin-right:3vw}.hero{min-height:640px}.topbar{padding:0 3vw}.footer{padding:0 3vw}}
@media(max-width:760px){.topbar{height:66px}.nav{display:none;position:absolute;top:65px;left:0;right:0;padding:22px 7vw 26px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;gap:17px}.nav.open{display:flex}.nav a{font-size:13px}.availability{display:none}.menu-toggle{display:flex}.hero{grid-template-columns:1fr;padding:69px 0 87px;min-height:auto}.hero h1{font-family:var(--display);font-size:clamp(65px,17vw,90px)}.hero-intro{max-width:500px}.hero-art{height:340px;margin-top:20px}.code-window{width:min(94%,440px)}.code-content{font-size:9px;padding:17px}.chip-top{right:-2px;top:35px}.chip-bottom{left:-4px;bottom:55px}.art-caption{right:1px;bottom:3px}.scroll-cue{bottom:0}.section-wrap{padding:65px 0}.about-grid,.experience-layout{grid-template-columns:1fr;gap:25px;margin-top:42px}.about h2,.experience h2{font-size:42px}.stats{grid-template-columns:repeat(2,1fr);row-gap:20px;margin-top:42px}.stats>div{padding-left:16px}.stats>div:nth-child(odd){padding-left:0}.stats>div:nth-child(2){border-right:0}.stats .stat-note{border:0}.timeline{margin-top:15px}.timeline:before{left:2px}.timeline-item{grid-template-columns:1fr;gap:8px;padding-left:22px;padding-bottom:30px}.timeline-marker{left:-2px}.timeline-date{font-size:8px}.projects-title{margin-top:42px;align-items:start;gap:12px;flex-direction:column}.project-grid{grid-template-columns:1fr;gap:30px}.project-visual{height:260px}.contact-panel{margin-top:35px;padding:38px 25px;grid-template-columns:1fr;gap:40px}.contact h2{font-size:40px}.contact-side{justify-self:start}.footer{height:auto;min-height:95px;flex-wrap:wrap;gap:6px;padding-top:17px;padding-bottom:17px}.footer>span{order:3;width:100%}}
@media(max-width:420px){.hero-buttons{gap:10px;align-items:flex-start;flex-direction:column}.hero-meta{gap:10px;flex-direction:column;margin-top:34px}.hero-art{height:300px}.code-content{font-size:8px}.window-bar{height:34px}.stats strong{font-size:23px}.projects h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Experience grouping inspired by the provided LinkedIn screenshot */
.timeline:before{display:none}.company-head{display:flex;align-items:center;gap:14px;padding:26px 0 20px;border-bottom:1px solid var(--line)}.company-mark{width:42px;height:42px;display:grid;place-items:center;flex:none;border:1px solid var(--line);background:var(--panel-2);color:var(--accent);font:11px var(--mono);font-weight:500}.company-head h3{font-size:15px;margin:0 0 1px}.company-meta,.company-location{margin:0;color:var(--muted);font-size:10px}.company-location{margin-top:3px}.company-roles{position:relative;padding-top:19px}.company-roles .timeline-item{grid-template-columns:150px 1fr}.company-roles .timeline-marker{left:162px}.company-roles:before{content:'';position:absolute;left:166px;top:25px;bottom:44px;width:1px;background:var(--line)}.company-roles .timeline-item{padding-bottom:25px}.company-roles .timeline-item:last-child{padding-bottom:28px}.company-roles .timeline-desc{margin:4px 0 0}.publisher-item{border-top:1px solid var(--line);padding-top:23px;margin-top:0}.publisher-item .timeline-desc{margin-bottom:0}@media(max-width:760px){.company-head{padding-top:23px}.company-roles{padding-top:17px}.company-roles:before{left:2px;top:23px;bottom:42px}.company-roles .timeline-marker{left:-2px}.publisher-item{margin-top:0}}

@media(max-width:760px){.company-roles .timeline-item{grid-template-columns:1fr}}

.tenure{display:block;margin-top:4px;color:var(--muted);font:8px var(--mono);letter-spacing:.02em}

.company-roles:before{left:2px}.company-roles .timeline-item,.publisher-item{display:flex;flex-direction:column;gap:2px;padding-left:22px;position:relative}.company-roles .timeline-item>div:last-child,.publisher-item>div:last-child{order:1}.company-roles .timeline-date,.publisher-item .timeline-date{order:2}.company-roles .timeline-marker{left:-2px;top:6px}.publisher-item .timeline-marker{left:-2px;top:30px}

.company-head{gap:0}.publisher-skills{margin-top:10px}

.language-picker{position:relative}.language-trigger{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:20px;background:transparent;color:var(--text);padding:6px 9px;font:9px var(--mono);cursor:pointer}.language-trigger>span:last-child{color:var(--muted);font-size:11px}.language-menu{position:absolute;z-index:20;right:0;top:calc(100% + 8px);min-width:112px;padding:5px;background:var(--panel);border:1px solid var(--line);box-shadow:0 12px 28px #0003}.language-menu[hidden]{display:none}.language-menu button{display:block;width:100%;padding:8px 10px;text-align:left;border:0;background:transparent;color:var(--muted);font:10px var(--sans);cursor:pointer}.language-menu button:hover,.language-menu button.active{background:var(--panel-2);color:var(--text)}

.language-trigger{width:34px;height:34px;justify-content:center;padding:0;border-radius:50%}.language-trigger .language-icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.language-trigger>span:last-child{display:none}

.top-actions{align-items:center}.top-actions .language-picker{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;margin:0}.top-actions .language-trigger,.top-actions .theme-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;flex:0 0 34px;box-sizing:border-box;margin:0;padding:0;border:1px solid var(--line);border-radius:50%;line-height:1}.top-actions .theme-toggle{background:transparent}.top-actions .language-icon{display:block;width:17px;height:17px;flex:none}.top-actions .theme-icon{display:block;font-size:18px;line-height:1}.top-actions .language-trigger>span:last-child{display:none}

.visual-cafe{background:radial-gradient(ellipse at 50% 100%,#6b4935,var(--panel) 72%)}.cafe-preview{width:72%;height:72%;position:relative;overflow:hidden;padding:20px 22px;background:#efe5d1;color:#30251e;box-shadow:0 20px 42px #0005;transform:rotate(-2deg)}.cafe-brand{position:relative;z-index:1;font:700 12px var(--sans);letter-spacing:.19em;color:#543a29}.cafe-brand span{display:block;font:9px var(--mono);letter-spacing:.28em;margin-top:2px}.cafe-kicker{position:relative;z-index:1;margin-top:13px;font:6px var(--mono);letter-spacing:.12em;color:#89725d}.cafe-headline{position:relative;z-index:1;margin-top:16px;font:700 clamp(14px,2vw,22px)/1.1 var(--sans);letter-spacing:-.06em}.cafe-headline em{font-family:Georgia,serif;font-weight:400;color:#9a6741}.cafe-button{position:relative;z-index:1;display:inline-block;margin-top:15px;padding:7px 9px;background:#6b4935;color:#f4ead9;font:6px var(--mono);letter-spacing:.08em}.cafe-sun{position:absolute;width:115px;height:115px;right:-30px;bottom:-44px;border-radius:50%;background:#d49a63;opacity:.48}.coming-soon{position:relative}.coming-soon .project-visual{filter:blur(4px);opacity:.48;transform:scale(.98)}.coming-soon:after{content:attr(data-coming-label);position:absolute;z-index:4;left:50%;top:108px;transform:translateX(-50%);padding:7px 11px;background:var(--accent);color:var(--accent-ink);font:9px var(--mono);letter-spacing:.08em;white-space:nowrap}.coming-soon .project-info>a,.coming-soon .tags{visibility:hidden}

.visual-cafe{padding:0;background:var(--panel);overflow:hidden}.tadim-screenshot{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}.visual-cafe .visual-label{background:#101112cc;padding:5px 7px}

.visual-cafe{display:flex;align-items:center;justify-content:center}.device-stage{width:91%;height:80%;display:flex;align-items:flex-end;justify-content:center;gap:8px}.desktop-mock{width:76%;display:flex;align-items:center;flex-direction:column;margin-bottom:14px}.desktop-frame{width:100%;position:relative;padding:5px 5px 0;background:#252426;border:1px solid #716b69;border-radius:7px 7px 4px 4px;box-shadow:0 10px 24px #0007}.desktop-camera{position:absolute;top:2px;left:50%;width:3px;height:3px;border-radius:50%;background:#777;z-index:1}.desktop-screen{height:102px;overflow:hidden;background:#171514;border-radius:3px 3px 0 0}.desktop-screen .tadim-screenshot{object-position:center 30%}.desktop-chin{height:7px;display:flex;align-items:center;justify-content:center;color:#958a87;font:4px var(--mono);letter-spacing:.15em}.desktop-neck{width:22px;height:9px;background:linear-gradient(90deg,#777,#c2bebb 48%,#777)}.desktop-foot{width:56px;height:4px;border-radius:50% 50% 2px 2px;background:linear-gradient(#bebbb9,#777)}.phone-mock{width:23%;display:flex;justify-content:center;margin-bottom:8px}.phone-mock .phone-frame{width:58px;height:132px;padding:9px 3px 3px;border:2px solid #b6aeaa;border-radius:12px;background:#191716;position:relative;box-shadow:0 8px 17px #0007}.phone-speaker{position:absolute;z-index:2;top:3px;left:50%;width:12px;height:2px;transform:translateX(-50%);background:#777;border-radius:4px}.phone-screen{height:100%;position:relative;overflow:hidden;padding:6px 4px;background:#211a18;color:#f4e8df;border-radius:7px}.phone-cafe-nav{display:flex;align-items:center;gap:3px;font:4px var(--sans);letter-spacing:.08em}.phone-cafe-nav b{width:9px;height:9px;border:1px solid #df88ad;border-radius:50%;display:grid;place-items:center;color:#df88ad;font-size:4px}.phone-cafe-nav i{margin-left:auto;font:6px var(--sans)}.phone-cafe-label{margin-top:11px;padding:2px 3px;width:max-content;border-radius:5px;background:#492a38;color:#efbad0;font:3px var(--mono)}.phone-cafe-title{position:relative;z-index:1;margin-top:7px;font:600 8px/1.08 Georgia,serif;letter-spacing:-.03em}.phone-cafe-title em{color:#ef75a1}.phone-cafe-copy{position:relative;z-index:1;margin-top:5px;color:#c3afa6;font:3px/1.5 var(--sans)}.phone-cafe-button{position:relative;z-index:1;display:inline-block;margin-top:5px;padding:4px;background:#f0ddd0;color:#261d1a;font:3px var(--mono)}.phone-cafe-photo{position:absolute;right:-8px;bottom:0;width:40px;height:50px;background-image:url('assets/tadim-cafe-site.png');background-size:auto 180%;background-position:68% 37%;border-radius:18px 0 0 0;opacity:.88}

.device-stage{width:92%;height:82%;display:flex;align-items:flex-end;justify-content:center;gap:9px}.macbook{width:calc(100% - 78px);max-width:250px;flex:0 1 250px;margin-bottom:8px}.mac-display{position:relative;width:100%;padding:6px 6px 0;border:1px solid #969a9b;border-bottom:0;border-radius:8px 8px 3px 3px;background:linear-gradient(135deg,#d8dbdc,#8e9294 75%,#c4c7c8);box-shadow:0 12px 24px #0008}.mac-camera{position:absolute;z-index:2;top:2px;left:50%;width:3px;height:3px;transform:translateX(-50%);border-radius:50%;background:#28292a}.mac-screen{width:100%;aspect-ratio:1.72;overflow:hidden;border-radius:3px 3px 0 0;background:#191514}.mac-screen .tadim-screenshot{width:100%;height:100%;object-fit:cover;object-position:center 16%;transform:scale(1.13);transform-origin:center top}.mac-base{position:relative;height:8px;margin:0 -7px;background:linear-gradient(#d6d8d9,#a4a7a9 55%,#747779);clip-path:polygon(0 0,100% 0,95% 100%,5% 100%);filter:drop-shadow(0 5px 4px #0007)}.phone-mock{width:69px;flex:0 0 69px;display:flex;justify-content:center;margin-bottom:5px}.iphone{position:relative;width:65px;height:143px;padding:3px;border:1px solid #d9d9d9;border-radius:18px;background:linear-gradient(135deg,#f4f4f4,#777 25%,#1b1b1d 45%,#5b5b5d);box-shadow:0 9px 20px #0008}.iphone-screen{position:relative;width:100%;height:100%;overflow:hidden;border-radius:14px;padding:11px 4px 4px;background:#211a18;color:#f4e8df}.iphone-dynamic-island{position:absolute;top:4px;left:50%;width:22px;height:6px;transform:translateX(-50%);border-radius:8px;background:#050505;z-index:3}.iphone-button{position:absolute;right:-3px;top:35px;width:2px;height:24px;border-radius:0 2px 2px 0;background:#999}.phone-cafe-nav{display:flex;align-items:center;gap:3px;font:4px var(--sans);letter-spacing:.08em}.phone-cafe-nav b{width:9px;height:9px;border:1px solid #df88ad;border-radius:50%;display:grid;place-items:center;color:#df88ad;font-size:4px}.phone-cafe-nav i{margin-left:auto;font:6px var(--sans)}.phone-cafe-label{margin-top:10px;padding:2px 3px;width:max-content;border-radius:5px;background:#492a38;color:#efbad0;font:3px var(--mono)}.phone-cafe-title{position:relative;z-index:1;margin-top:6px;font:600 8px/1.08 Georgia,serif;letter-spacing:-.03em}.phone-cafe-title em{color:#ef75a1}.phone-cafe-copy{position:relative;z-index:1;margin-top:4px;color:#c3afa6;font:3px/1.5 var(--sans)}.phone-cafe-button{position:relative;z-index:1;display:inline-block;margin-top:5px;padding:4px;background:#f0ddd0;color:#261d1a;font:3px var(--mono)}.phone-cafe-photo{position:absolute;right:-7px;bottom:0;width:41px;height:48px;background:url('assets/tadim-cafe-site.png') 70% 38%/auto 205%;border-radius:18px 0 0 0;opacity:.9}@media(max-width:980px){.project-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:420px){.device-stage{width:94%;gap:6px}.phone-mock{width:62px;flex-basis:62px}.macbook{width:calc(100% - 68px)}}

html[data-theme='dark'] .mac-display{border-color:#414246;background:linear-gradient(135deg,#323338,#17181b 70%,#3a3b40)}html[data-theme='dark'] .mac-base{background:linear-gradient(#3b3c40,#242529 55%,#111214);filter:drop-shadow(0 5px 4px #0009)}html[data-theme='dark'] .iphone{border-color:#55565a;background:linear-gradient(135deg,#45464b,#17181b 30%,#090a0b 65%,#34353a)}html[data-theme='light'] .mac-display{border-color:#d7d8da;background:linear-gradient(135deg,#fff,#eceef0 70%,#d4d6d8)}html[data-theme='light'] .mac-base{background:linear-gradient(#fff,#e5e7e9 55%,#c4c7ca);filter:drop-shadow(0 5px 4px #0003)}html[data-theme='light'] .iphone{border-color:#d5d7da;background:linear-gradient(135deg,#fff,#f0f1f3 30%,#d7d9dc 65%,#fff)}

.macbook{max-width:220px;margin-bottom:5px;transform:perspective(680px) rotateX(7deg);transform-origin:center bottom}.mac-display{aspect-ratio:auto}.mac-screen{aspect-ratio:1.72}.mac-base{height:22px;position:relative;margin:0 -8px;clip-path:polygon(0 0,100% 0,96% 100%,4% 100%);border-radius:0 0 5px 5px}.mac-keys{position:absolute;left:15%;right:15%;top:3px;height:8px;border-radius:2px;background-image:repeating-linear-gradient(90deg,transparent 0 5px,#5558 5px 5.7px),repeating-linear-gradient(0deg,transparent 0 3px,#5558 3px 3.7px);opacity:.72}.mac-trackpad{position:absolute;left:36%;bottom:2px;width:28%;height:7px;border:1px solid #7778;border-radius:2px;background:#aaa2}.iphone{height:156px}.phone-mock{margin-bottom:5px}.macbook{margin-bottom:5px}html[data-theme='dark'] .mac-keys{background-image:repeating-linear-gradient(90deg,transparent 0 5px,#a4a5a988 5px 5.7px),repeating-linear-gradient(0deg,transparent 0 3px,#a4a5a988 3px 3.7px)}html[data-theme='dark'] .mac-trackpad{border-color:#aaa8;background:#5a5a5a66}html[data-theme='light'] .mac-keys{background-image:repeating-linear-gradient(90deg,transparent 0 5px,#5557 5px 5.7px),repeating-linear-gradient(0deg,transparent 0 3px,#5557 3px 3.7px)}@media(max-width:420px){.iphone{height:156px}.macbook{max-width:220px}}

.phone-mock{width:86px;flex-basis:86px}.iphone{width:82px;height:156px}.iphone-screen{padding:0}.tadim-mobile-screenshot{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;border-radius:14px}.iphone-dynamic-island{top:4px}.iphone{z-index:1}@media(max-width:420px){.device-stage{transform:scale(.92);transform-origin:center bottom}.phone-mock{width:86px;flex-basis:86px}.iphone{width:82px;height:156px}}

.macbook{transform:none;transform-origin:center center}.mac-display{transform:none}.mac-base{transform:none;clip-path:polygon(0 0,100% 0,98% 100%,2% 100%)}

.visual-cafe{display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;position:relative;background:radial-gradient(ellipse at center,var(--panel-2),var(--panel) 78%)}.device-composition{position:relative;width:min(100%,610px);max-height:100%;aspect-ratio:1920/819;flex:none}.device-shell{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:contain;transition:filter .25s}.device-screen{position:absolute;z-index:2;display:block;margin:0;padding:0}.desktop-screen{left:14.7%;top:8.4%;width:54.8%;height:77.8%;object-fit:cover;object-position:center top;border-radius:2px}.mobile-screen{left:74.8%;top:7.5%;width:17.5%;height:84%;object-fit:fill;object-position:top center;border-radius:9%/5%}.device-notch{position:absolute;z-index:3;left:82.15%;top:8.15%;width:3.25%;height:.9%;border-radius:99px;background:#050506;box-shadow:0 1px 1px #ffffff24}html[data-theme='dark'] .device-shell{filter:brightness(.42) contrast(1.12) saturate(.35)}html[data-theme='light'] .device-shell{filter:brightness(1) contrast(1) saturate(1)}@media(max-width:760px){.device-composition{width:min(100%,610px)}}

html[data-theme='dark'] .device-shell{filter:brightness(.22) contrast(1.22) grayscale(1)}html[data-theme='light'] .device-shell{filter:brightness(1.5) contrast(.72) grayscale(1)}

.company-context{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.company-context-main{display:flex;align-items:center;gap:11px}.company-context-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--panel-2);border:1px solid var(--line);color:var(--accent);font:10px var(--mono)}.company-context-label{font:9px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text);margin:0 0 2px}.company-context .company-meta{font:9px var(--mono)}.company-context .company-location{display:flex;align-items:center;gap:7px;font:9px var(--mono);margin:0}.company-context .company-location i{font-style:normal;color:var(--accent)}.company-roles{padding-top:16px}
@media(max-width:760px){.company-context{align-items:flex-start;flex-direction:column;gap:10px;padding:13px 0}.company-context .company-location{margin-left:45px}}
@media(max-width:760px){.page-wrap,.section-wrap{margin-left:5vw;margin-right:5vw}.topbar{padding:0 4vw}.top-actions{gap:9px}.brand{font-size:14px;gap:8px;white-space:nowrap}.experience-layout{gap:14px;margin-top:30px}.timeline{margin-top:20px}.project-grid{grid-template-columns:1fr}.project-card{min-width:0}.project-visual{height:230px}.contact-panel{padding:32px 20px;gap:30px}.footer{padding-left:4vw;padding-right:4vw}}
@media(max-width:420px){.top-actions{gap:6px}.brand{font-size:13px;gap:7px}.theme-toggle,.menu-toggle{width:32px;height:32px}.hero{padding-top:54px;padding-bottom:75px}.hero-art{height:280px}.code-window{width:100%}.chip-top{right:0;top:23px}.chip-bottom{left:0;bottom:45px}.section-wrap{padding:54px 0}.about-grid,.experience-layout{margin-top:28px}.about h2,.experience h2{font-size:36px}.project-visual{height:205px}.contact-panel{padding:28px 17px}.contact h2{font-size:34px}.footer{align-items:flex-start}}
@media(max-width:760px){html{scroll-snap-type:y proximity;scroll-padding-top:66px}main>section{min-height:calc(100vh - 66px);scroll-snap-align:start;scroll-snap-stop:normal}@supports(height:100svh){main>section{min-height:calc(100svh - 66px)}}.section-wrap{padding:38px 0}.about-grid,.experience-layout{gap:14px;margin-top:22px}.timeline{margin-top:12px}.timeline-item{padding-bottom:16px}.company-context{padding:10px 0}.company-context-mark{width:30px;height:30px}.company-roles{padding-top:10px}.company-roles .timeline-item{padding-bottom:14px}.timeline-desc{font-size:9.5px;line-height:1.55}.project-grid{grid-template-columns:1fr;gap:15px}.projects-title{margin:24px 0 15px}.project-visual{height:145px}.coming-soon .project-visual{height:108px}.project-info{margin:8px 0 6px}.contact.section-wrap{padding:30px 0}.contact-panel{margin-top:18px;padding:28px 20px;gap:22px;min-height:0}.contact h2{font-size:36px}.footer{height:48px;min-height:48px;padding-top:0;padding-bottom:0}}
@media(max-width:420px){main>section{padding-left:0;padding-right:0}.section-wrap{padding:30px 0}.hero{min-height:calc(100vh - 66px);align-content:center;padding:22px 0 34px}.hero-copy{width:100%}.hero-copy>.eyebrow{margin-bottom:14px}.hero h1{font-size:clamp(52px,15vw,62px);line-height:.91}.hero-role{margin:14px 0 9px;font-size:12px}.hero-intro{font-size:12px;line-height:1.65;margin-bottom:0}.hero-buttons{flex-flow:row wrap;align-items:center;gap:8px 12px;margin-top:14px}.hero-buttons .button{padding:10px 12px;font-size:10px;gap:10px}.hero-buttons .button-quiet{padding:8px 0}.hero-meta{flex-direction:row;flex-wrap:wrap;gap:7px 16px;margin-top:14px;font-size:8px}.hero-art{height:185px;margin-top:8px}.code-content{padding:10px 12px;font-size:7px;line-height:1.65}.code-line:nth-child(n+7){display:none}.window-bar{height:27px}.window-status{height:25px;padding:0 10px;font-size:7px}.floating-chip{padding:5px 7px;font-size:7px}.chip-top{top:12px;right:-2px}.chip-bottom{bottom:18px;left:-2px}.art-caption{display:none}.scroll-cue{display:none}.about-grid,.experience-layout{gap:10px;margin-top:18px}.about h2,.experience h2{font-size:34px}.about-copy p{font-size:10.5px;line-height:1.55;margin-bottom:10px}.stats{margin-top:18px;padding-top:12px;row-gap:9px}.stats strong{font-size:22px}.stats small{font-size:8px}.stats>div{padding-left:10px}.experience-layout .section-lead{margin-top:10px;font-size:10px;line-height:1.6}.company-context{gap:7px;padding:8px 0}.company-context-label,.company-context .company-meta,.company-context .company-location{font-size:8px}.company-context .company-location{margin-left:38px}.company-roles{padding-top:8px}.company-roles .timeline-item{padding-bottom:11px}.timeline-date{font-size:7.5px}.timeline-item h3{font-size:11px}.timeline-desc{font-size:8.5px;line-height:1.45}.publisher-item{padding-top:12px}.publisher-skills{margin-top:5px}.projects-title{margin:18px 0 12px}.projects h2{font-size:29px}.project-grid{gap:12px}.project-visual{height:128px}.coming-soon .project-visual{height:86px}.coming-soon .visual-mobile .phone-frame{transform:scale(.43)}.project-info h3{font-size:12px}.project-info p{font-size:9px;line-height:1.45}.tags span{font-size:7px;padding:4px 7px}.contact-panel{padding:24px 16px;gap:17px}.contact h2{font-size:31px}.contact-copy{font-size:10px;line-height:1.6}.contact-side{font-size:9px}.contact-panel .eyebrow{margin-bottom:12px}.contact .section-heading{margin-bottom:0}}
@media(max-width:760px){.contact.section-wrap{min-height:calc(100vh - 114px)}}
@supports (height:100svh){@media(max-width:760px){main>section{min-height:calc(100svh - 66px)}.contact.section-wrap{min-height:calc(100svh - 114px)}}@media(max-width:420px){.hero{min-height:calc(100svh - 66px)}}}
/* Mobile sections: keep a full-screen rhythm without compressing content. */
@media(max-width:760px){
  main>section{min-height:calc(100vh - 66px);height:auto;display:flex;flex-direction:column;justify-content:space-evenly;scroll-snap-align:start;scroll-snap-stop:normal}
  .section-wrap{padding:48px 0}
  .about-grid,.experience-layout{margin-top:30px}
  .stats{margin-top:38px}
  .experience-layout{display:flex;flex-direction:column;gap:20px}
  .timeline{margin-top:0}
  .timeline-item{padding-bottom:22px}
  .company-roles .timeline-item{padding-bottom:18px}
  .projects-title{margin:34px 0 22px;align-items:flex-start;flex-direction:column;gap:10px}
  .project-grid{gap:24px}
  .project-visual{height:175px}
  .coming-soon .project-visual{height:130px}
  .project-info{margin:12px 0 8px}
  .contact.section-wrap{min-height:calc(100vh - 114px);justify-content:center;gap:32px;padding:46px 0}
  .contact-panel{padding:34px 24px;gap:28px}
}
@supports(height:100svh){@media(max-width:760px){main>section{min-height:calc(100svh - 66px)}.contact.section-wrap{min-height:calc(100svh - 114px)}}}
@media(max-width:420px){
  .section-wrap{padding:38px 0}
  .about-grid,.experience-layout{margin-top:25px}
  .stats{margin-top:30px}
  .timeline-item{padding-bottom:18px}
  .company-roles .timeline-item{padding-bottom:16px}
  .projects-title{margin:28px 0 18px}
  .project-grid{gap:20px}
  .project-visual{height:156px}
  .coming-soon .project-visual{height:116px}
  .contact.section-wrap{padding:38px 0}
  .contact-panel{padding:28px 20px;gap:23px}
}
@media(max-width:760px){.hero{display:grid;grid-template-columns:1fr;justify-content:initial}main>section:not(.hero)>*{flex-shrink:0}}
@media(max-width:760px){
  .hero{padding:42px 0 50px;row-gap:14px}
  .hero-copy>.eyebrow{margin-bottom:20px}
  .hero-role{margin:19px 0 13px}
  .hero-intro{font-size:13px;line-height:1.8}
  .hero-buttons{margin-top:21px;gap:12px 16px}
  .hero-meta{margin-top:23px;gap:10px 18px}
  .hero-art{height:220px;margin-top:6px}
}
@media(max-width:420px){
  .hero{padding:34px 0 38px;row-gap:10px}
  .hero-copy>.eyebrow{margin-bottom:19px}
  .hero h1{font-size:clamp(55px,15.5vw,64px)}
  .hero-role{margin:18px 0 12px}
  .hero-intro{font-size:12px;line-height:1.75}
  .hero-buttons{margin-top:18px;gap:10px 14px}
  .hero-meta{margin-top:20px;gap:9px 16px}
  .hero-art{height:205px;margin-top:8px}
}
@supports(height:100svh){@media(max-width:420px){.hero{min-height:calc(100svh - 66px)}}}
/* Contact form */
.contact-panel{grid-template-columns:1fr .95fr;align-items:center;gap:42px}
.contact-panel>div:not(.contact-orbit),.contact-form{position:relative;z-index:1}
.contact-side{justify-self:start;align-self:start;margin-top:25px;gap:13px}
.contact-form{align-self:center;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 12px;padding:22px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px}
.contact-form label{display:grid;gap:6px;color:var(--muted);font:9px var(--mono);letter-spacing:.02em}
.contact-form input,.contact-form textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:5px;background:var(--bg-soft);color:var(--text);padding:10px 11px;font:11px/1.55 var(--sans);resize:vertical}
.contact-form textarea{min-height:112px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:.8}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}
.contact-form .contact-message,.contact-form-note{grid-column:1/-1}
.contact-form .button{justify-self:start;border:0;cursor:pointer}
.contact-form-note{margin:0;color:var(--muted);font:8px/1.5 var(--mono)}
@media(max-width:760px){.contact-panel{grid-template-columns:1fr;gap:24px}.contact-side{margin-top:18px}.contact-form{width:100%;padding:18px;gap:11px}.contact-form textarea{min-height:90px}.contact.section-wrap{min-height:auto}}
@media(max-width:420px){.contact-panel{padding:22px 16px;gap:20px}.contact-side{gap:10px}.contact-form{padding:14px;gap:9px 8px}.contact-form input,.contact-form textarea{padding:8px;font-size:10px}.contact-form textarea{min-height:78px}.contact-form .button{padding:9px 11px}.contact-form-note{font-size:7px}}
@media(max-width:760px){.contact.section-wrap{min-height:calc(100vh - 114px)}}
@supports(height:100svh){@media(max-width:760px){.contact.section-wrap{min-height:calc(100svh - 114px)}}}
/* Shared vector icons keep rendering identical across operating systems. */
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.13em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.theme-icon{display:grid;place-items:center;width:1em;height:1em}
.theme-glyph{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.theme-moon{display:none}
html[data-theme='light'] .theme-sun{display:none}html[data-theme='light'] .theme-moon{display:block}
.hero-meta b{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;vertical-align:middle}
.meta-icon{width:13px;height:13px;color:var(--accent)}
.stat-symbol{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}
.stat-spark{width:21px;height:21px;fill:var(--accent)}
.button .ui-icon,.text-link .ui-icon,.contact-side .ui-icon,.social-links .ui-icon,.project-info>a .ui-icon,.back-top .ui-icon{width:1em;height:1em}
.shop-menu-icon{display:block;width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.phone-nav{display:flex;align-items:center;justify-content:center;gap:4px}
.phone-nav span{display:block;width:4px;height:4px;border:1px solid currentColor;border-radius:50%;opacity:.8}
.phone-nav span:first-child{background:currentColor}
.meta-spark{width:14px;height:14px}
.status-separator{display:inline-block;width:4px;height:4px;margin:0 4px 1px;background:currentColor;border-radius:50%;vertical-align:middle}

.project-title-link{transition:color .2s}.project-title-link:hover{color:var(--accent)}

/* Subtle motion across the portfolio */
@keyframes rise-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.hero-copy{animation:rise-in .7s cubic-bezier(.2,.7,.2,1) both}
.hero-art{animation:rise-in .85s .12s cubic-bezier(.2,.7,.2,1) both}
.motion-ready [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:translateY(0)}
.project-card{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.project-card:hover{transform:translateY(-5px)}
.project-visual-link{display:flex;color:inherit;text-decoration:none;cursor:pointer}
.project-visual-link .device-composition{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.project-visual-link:hover .device-composition{transform:scale(1.035)}
.project-visual-link:focus-visible,.project-title-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.button,.text-link,.project-info>a,.theme-toggle,.language-trigger{transition:transform .22s ease,color .22s ease,background-color .22s ease,border-color .22s ease}
.button:hover,.project-info>a:hover{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Code editor typing effect */
@keyframes code-write{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes cursor-blink{0%,45%{opacity:1}46%,100%{opacity:0}}
html.typing-ready .hero-art .code-line>span.is-typing{display:block;flex:1;min-width:0;overflow:hidden;white-space:pre;clip-path:inset(0 100% 0 0);animation:code-write var(--typing-duration) steps(var(--typing-steps),end) var(--typing-delay) both}
html.typing-ready .hero-art .cursor{opacity:0;animation:cursor-blink 1s step-end infinite;animation-delay:var(--cursor-delay)}

/* Prevent the code window from colliding with the intro on mid-size phones/tablets. */
@media(min-width:421px) and (max-width:760px){
  .hero{padding:26px 0 32px;row-gap:8px}
  .hero h1{font-size:clamp(58px,14vw,76px)}
  .hero-copy>.eyebrow{margin-bottom:14px}
  .hero-role{margin:14px 0 10px}
  .hero-intro{font-size:12px;line-height:1.65}
  .hero-buttons{margin-top:15px;gap:8px 12px}
  .hero-meta{margin-top:12px;gap:8px 12px}
  .hero-art{height:230px;margin-top:2px}
  .code-content{padding:12px 14px;font-size:8px;line-height:1.6}
  .code-line:nth-child(n+7){display:none}
  .chip-top{top:15px;right:4px}
  .chip-bottom{bottom:15px;left:4px}
}

/* On mobile, keep section snapping only at the top intro; let lower sections scroll naturally. */
@media(max-width:760px){
  main>section{scroll-snap-align:none;scroll-snap-stop:normal}
  main>section.hero{scroll-snap-align:start}
}
@media(max-width:760px){html{scroll-snap-type:none}main>section.hero{scroll-snap-align:none}}

/* Brand assets: vector wordmark with theme-specific contrast */
.brand{user-select:none;-webkit-user-select:none}
.brand-logo{display:block;width:190px;height:auto;flex:none;user-select:none;-webkit-user-drag:none}
.brand-logo-light{display:none}
html[data-theme=light] .brand-logo-dark{display:none}
html[data-theme=light] .brand-logo-light{display:block}
@media(max-width:760px){.brand-logo{width:172px}}
@media(max-width:420px){.brand-logo{width:158px}}