@layer reset,tokens,base,components,utilities;@layer tokens{:root{color-scheme:light;--ink: #17191c;--ink-soft: #3f4448;--muted: #686d70;--muted-soft: #8a8e90;--paper: #f2f0ea;--paper-deep: #e9e6de;--surface: rgba(248, 247, 243, .72);--surface-solid: #f8f7f3;--line: #d4d0c7;--line-strong: #b8b3aa;--steel: #5f7480;--steel-soft: #dce3e5;--bronze: #947d62;--bronze-soft: #e7ded2;--shadow: 0 24px 70px rgba(42, 42, 38, .1);--nav-bg: rgba(242, 240, 234, .86);--font-display: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 3rem;--space-6: 4rem;--space-7: 6rem;--space-8: 8rem;--radius-sm: 3px;--radius: 8px;--max-w: 1200px;--nav-h: 72px}[data-theme=dark]{color-scheme:dark;--ink: #e8e6e0;--ink-soft: #c2c4c2;--muted: #969da2;--muted-soft: #727a80;--paper: #0d1013;--paper-deep: #14181c;--surface: rgba(20, 24, 28, .74);--surface-solid: #14181c;--line: #292e33;--line-strong: #465057;--steel: #8297a2;--steel-soft: #1b272c;--bronze: #b09a7d;--bronze-soft: #2b251f;--shadow: 0 28px 80px rgba(0, 0, 0, .34);--nav-bg: rgba(13, 16, 19, .86)}}@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-width:320px;overflow-x:hidden}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul{list-style:none}button{border:0;color:inherit;font:inherit}}@layer base{body{background-color:var(--paper);background-image:linear-gradient(to right,color-mix(in srgb,var(--line) 34%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--line) 24%,transparent) 1px,transparent 1px);background-position:center top;background-size:min(8vw,96px) min(8vw,96px);color:var(--ink);font-family:var(--font-display);font-size:1rem;line-height:1.65;transition:background-color .25s ease,color .25s ease}body:before{position:fixed;z-index:-1;inset:0;background:linear-gradient(90deg,var(--paper) 0%,transparent 18%,transparent 82%,var(--paper) 100%);content:"";pointer-events:none}::selection{background:var(--steel);color:var(--paper)}:where(a,button):focus-visible{outline:2px solid var(--steel);outline-offset:4px}.skip-link{position:fixed;z-index:1000;top:.75rem;left:.75rem;padding:.65rem .9rem;transform:translateY(-160%);background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:.72rem;transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}.container{width:min(100% - clamp(2rem,8vw,7rem),var(--max-w));margin-inline:auto}.t-h1,.t-h2,.contact__headline{font-weight:580;letter-spacing:-.045em;line-height:.98}.t-h1{font-size:clamp(3.2rem,7vw,6.8rem)}.t-h2{max-width:13ch;font-size:clamp(2.35rem,5vw,4.7rem)}.t-body{color:var(--muted);font-size:.98rem}.t-label{color:var(--muted);font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.section{position:relative;padding-block:clamp(6.5rem,11vw,10rem);border-top:1px solid var(--line);scroll-margin-top:var(--nav-h)}.section--alt{background:color-mix(in srgb,var(--paper-deep) 66%,transparent)}.section__label{display:flex;align-items:center;gap:.85rem;margin-bottom:2rem}.section__label:before{width:2.25rem;height:1px;background:var(--steel);content:""}.section-heading{margin-bottom:clamp(3rem,7vw,6rem)}.section-heading--split{display:grid;grid-template-columns:1fr minmax(250px,360px);align-items:end;gap:3rem;margin-bottom:clamp(3rem,7vw,6rem)}.section-heading--split .t-body{justify-self:end}}@layer components{.entry-intro{display:none}html.intro-active,html.intro-active body{overflow:hidden}html.intro-active .entry-intro{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;background:linear-gradient(to right,color-mix(in srgb,var(--line) 28%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--line) 22%,transparent) 1px,transparent 1px),var(--paper);background-size:min(10vw,7rem) min(10vw,7rem);clip-path:inset(0);animation:introCurtain 2.15s cubic-bezier(.76,0,.24,1) both;pointer-events:none}.entry-intro__frame{position:relative;width:min(72vw,32rem);aspect-ratio:2 / 1}.entry-intro__frame svg{position:absolute;inset:0;width:100%;height:100%}.entry-intro__route{fill:none;stroke:var(--steel);stroke-width:1;stroke-dasharray:1100;stroke-dashoffset:1100;vector-effect:non-scaling-stroke;animation:introDraw .76s cubic-bezier(.2,.8,.2,1) .14s forwards}.entry-intro__route--secondary{stroke:var(--line-strong);animation-delay:.3s}.entry-intro__point{transform:scale(0);transform-box:fill-box;transform-origin:center;fill:var(--paper);stroke:var(--bronze);vector-effect:non-scaling-stroke;animation:introPoint .3s ease .78s forwards}.entry-intro__name{position:absolute;top:50%;left:50%;transform:translate(-50%,calc(-50% + .75rem));color:var(--ink);font-size:clamp(1.25rem,3vw,2rem);font-weight:560;letter-spacing:-.035em;opacity:0;white-space:nowrap;animation:introName 1s cubic-bezier(.2,.8,.2,1) .52s both}html.intro-active .hero__pre,html.intro-active .hero__name,html.intro-active .hero__role,html.intro-active .hero__statement,html.intro-active .hero__ctas{animation:heroTextIn .82s cubic-bezier(.2,.8,.2,1) both}html.intro-active .hero__pre{animation-delay:1.12s}html.intro-active .hero__name{animation-delay:1.22s}html.intro-active .hero__role{animation-delay:1.36s}html.intro-active .hero__statement{animation-delay:1.48s}html.intro-active .hero__ctas{animation-delay:1.58s}html.intro-active .hero__portrait{animation:heroPortraitIn 1s cubic-bezier(.2,.8,.2,1) 1.18s both}@keyframes introDraw{to{stroke-dashoffset:0}}@keyframes introPoint{to{transform:scale(1)}}@keyframes introName{0%{transform:translate(-50%,calc(-50% + .75rem));opacity:0}35%,76%{transform:translate(-50%,-50%);opacity:1}to{transform:translate(-50%,calc(-50% - .5rem));opacity:0}}@keyframes introCurtain{0%,66%{clip-path:inset(0)}to{clip-path:inset(0 0 100%)}}@keyframes heroTextIn{0%{transform:translateY(1.5rem);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes heroPortraitIn{0%{transform:translateY(2rem);clip-path:inset(0 0 100%);opacity:0}to{transform:translateY(0);clip-path:inset(0);opacity:1}}.nav{position:fixed;z-index:100;top:0;width:100%;height:var(--nav-h);border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:var(--nav-bg);backdrop-filter:blur(18px) saturate(120%)}.nav__inner{display:flex;height:100%;align-items:center;justify-content:space-between}.nav__brand{display:inline-flex;min-width:5rem;align-items:center;color:var(--ink);font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.nav__brand:before{display:inline-block;width:.45rem;height:.45rem;margin-right:.65rem;border-radius:50%;background:var(--steel);box-shadow:0 0 0 4px var(--steel-soft);content:""}.nav__links{display:flex;align-items:center;gap:clamp(1.25rem,2.6vw,2.75rem)}.nav__link{position:relative;padding-block:.4rem;color:var(--muted);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;transition:color .18s ease}.nav__link:after{position:absolute;right:0;bottom:0;left:0;height:1px;transform:scaleX(0);transform-origin:left;background:var(--steel);content:"";transition:transform .18s ease}.nav__link:hover,.nav__link.is-active{color:var(--ink)}.nav__link:hover:after,.nav__link.is-active:after{transform:scaleX(1)}.theme-toggle,.nav__hamburger{display:grid;width:2.35rem;height:2.35rem;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.theme-toggle:hover,.nav__hamburger:hover{transform:translateY(-2px);border-color:var(--line-strong);background:var(--surface-solid)}.icon-sun{display:none}[data-theme=dark] .icon-sun{display:block}[data-theme=dark] .icon-moon{display:none}.nav__hamburger{position:relative;display:none}.nav__hamburger span{position:absolute;top:50%;left:50%;width:1rem;height:1px;margin-left:-.5rem;background:currentColor;transition:transform .18s ease,opacity .18s ease}.nav__hamburger span:first-child{transform:translateY(-5px)}.nav__hamburger span:last-child{transform:translateY(5px)}.nav__hamburger[aria-expanded=true] span:first-child{transform:rotate(45deg)}.nav__hamburger[aria-expanded=true] span:nth-child(2){opacity:0}.nav__hamburger[aria-expanded=true] span:last-child{transform:rotate(-45deg)}.nav__mobile{display:none}#scroll-progress{position:absolute;right:0;bottom:-1px;left:0;height:1px;transform:scaleX(0);transform-origin:left;background:var(--steel)}.hero{position:relative;display:grid;min-height:100svh;padding-top:var(--nav-h);align-items:center;overflow:clip}.hero:before{position:absolute;top:12%;left:-8rem;width:26rem;height:26rem;border:1px solid color-mix(in srgb,var(--steel) 18%,transparent);border-radius:50%;content:"";pointer-events:none}.hero__layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(460px,1.12fr);gap:clamp(3rem,7vw,7rem);align-items:center;padding-block:clamp(5rem,9vw,8rem) 4rem}.hero__inner{position:relative;z-index:2}.hero__pre{display:flex;align-items:center;gap:.75rem;margin-bottom:1.6rem;color:var(--bronze);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.hero__pre:before{width:1.8rem;height:1px;background:currentColor;content:""}.hero__name{max-width:7ch;margin-left:-.055em;color:var(--ink);font-size:clamp(4.5rem,8.2vw,8.4rem);font-weight:610;letter-spacing:-.07em;line-height:.83}.hero__role{max-width:25ch;margin-top:2.25rem;color:var(--ink-soft);font-size:clamp(1.25rem,2vw,1.75rem);font-weight:400;letter-spacing:-.025em;line-height:1.35}.hero__statement{max-width:52ch;margin-top:1.4rem;color:var(--muted);font-size:.95rem}.hero__ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.5rem}.btn{display:inline-flex;min-height:2.9rem;align-items:center;justify-content:center;gap:.7rem;padding:.75rem 1rem;border:1px solid transparent;font-family:var(--font-mono);font-size:.67rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}.btn:hover{transform:translateY(-2px)}.btn--text{padding-inline:0;color:var(--ink)}.btn--text svg{transition:transform .18s ease}.btn--text:hover svg{transform:translateY(4px)}.btn--outline{border-color:var(--line-strong);background:var(--surface)}.btn--outline:hover{border-color:var(--steel);background:var(--steel-soft)}.hero__visual{position:relative;display:grid;min-height:35rem;place-items:center}.hero__portrait{--portrait-x: 0px;--portrait-y: 0px;position:relative;width:clamp(17rem,28vw,22rem);aspect-ratio:4 / 5;margin:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--line-strong) 72%,transparent);border-radius:2rem;background:var(--paper-deep);box-shadow:0 1.5rem 4rem color-mix(in srgb,var(--ink) 10%,transparent)}.hero__portrait img{width:100%;height:100%;transform:translate3d(var(--portrait-x),var(--portrait-y),0) scale(1.045);object-fit:cover;object-position:center 22%;filter:saturate(.82) contrast(1.02);transition:transform .42s cubic-bezier(.2,.8,.2,1),filter .35s ease}.hero__portrait:hover img{filter:saturate(.98) contrast(1.02)}.stack__group{display:grid;grid-template-columns:minmax(8rem,.38fr) 1fr;gap:2rem;padding-block:1.65rem;border-top:1px solid var(--line);transition:padding-left .22s ease,border-color .22s ease}.stack__group:last-child{border-bottom:1px solid var(--line)}.stack__group:hover{padding-left:.75rem;border-color:var(--steel)}.stack__items{display:flex;flex-wrap:wrap;gap:.35rem 1.4rem}.stack__item{color:var(--ink-soft);font-size:clamp(1.05rem,1.8vw,1.35rem);letter-spacing:-.02em;transition:color .18s ease}.stack__item:not(:last-child):after{margin-left:1.4rem;color:var(--line-strong);content:"/";font-family:var(--font-mono);font-size:.7em}.stack__group:hover .stack__item{color:var(--ink)}.timeline{border-top:1px solid var(--line)}.timeline__entry{position:relative;display:grid;grid-template-columns:minmax(11rem,.32fr) minmax(0,1fr);column-gap:clamp(2rem,6vw,6rem);padding-block:2.5rem;border-bottom:1px solid var(--line)}.timeline__entry:after{position:absolute;top:-1px;left:0;width:0;height:1px;background:var(--steel);content:"";transition:width .35s cubic-bezier(.2,.8,.2,1)}.timeline__entry:hover:after{width:100%}.timeline__dot{position:absolute;top:2.8rem;left:-1.6rem;width:.45rem;height:.45rem;border:1px solid var(--steel);border-radius:50%;background:var(--paper)}.section--alt .timeline__dot{background:var(--paper-deep)}.timeline__meta{grid-row:1 / span 3;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.timeline__date,.badge{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.07em;text-transform:uppercase}.timeline__date{color:var(--muted)}.badge{padding:.25rem .5rem;border:1px solid var(--line);background:transparent!important;color:var(--bronze)!important}.timeline__title{color:var(--ink);font-size:clamp(1.35rem,2.4vw,2rem);font-weight:560;letter-spacing:-.035em;line-height:1.15}.timeline__company{margin-top:.35rem;color:var(--steel);font-family:var(--font-mono);font-size:.72rem}.timeline__bullets{display:grid;gap:.4rem;max-width:68ch;margin-top:1.4rem}.timeline__bullet{position:relative;padding-left:1.1rem;color:var(--muted);font-size:.93rem}.timeline__bullet:before{position:absolute;left:0;color:var(--bronze);content:"↳";font-family:var(--font-mono)}.timeline__bullets a{color:var(--steel)!important;font-family:var(--font-mono);font-size:.68rem!important;letter-spacing:.05em;text-decoration:none!important}.projects__list{display:grid;border-top:1px solid var(--line)}.project-item{--project-preview: linear-gradient(135deg, var(--steel-soft), var(--paper-deep));position:relative;display:grid;grid-template-columns:3rem minmax(0,1fr) minmax(15rem,21rem);gap:clamp(1.4rem,3vw,3rem);min-height:18rem;padding-block:2.2rem;border-bottom:1px solid var(--line);isolation:isolate}.project-item:nth-child(1){--project-preview: url(/img/preview-sicupang.png)}.project-item:nth-child(2){--project-preview: url(/img/preview-growkm.png)}.project-item:nth-child(3){--project-preview: url(/img/jtispot-preview.png)}.project-item:nth-child(5){--project-preview: url(/img/evote-preview.png)}.project-item:nth-child(6){--project-preview: url(/img/petalaris-preview.png)}.project-item:before{position:absolute;z-index:-1;inset:0;background:color-mix(in srgb,var(--surface-solid) 64%,transparent);content:"";opacity:0;transition:opacity .25s ease}.project-item:after{grid-column:3;grid-row:1;min-height:13rem;border:1px solid var(--line);background-color:var(--paper-deep);background-image:var(--project-preview);background-position:center;background-size:cover;content:"";filter:saturate(.65) contrast(.94);opacity:.56;transform:translateY(.7rem);transition:opacity .28s ease,transform .35s cubic-bezier(.2,.8,.2,1),filter .28s ease}.project-item:hover:before,.project-item:focus-within:before{opacity:1}.project-item:hover:after,.project-item:focus-within:after{opacity:1;transform:translateY(0);filter:saturate(.9) contrast(1)}.project-item__index{color:var(--bronze);font-family:var(--font-mono);font-size:.67rem;letter-spacing:.08em}.project-item>div{grid-column:2;grid-row:1;align-self:center}.project-item__name{max-width:24ch;color:var(--ink);font-size:clamp(1.4rem,2.4vw,2.05rem);font-weight:560;letter-spacing:-.035em;line-height:1.15}.project-item__desc{max-width:62ch;margin-top:1rem;color:var(--muted);font-size:.9rem}.project-item__footer{display:flex;flex-direction:column;align-items:flex-start;gap:1.35rem;margin-top:1.6rem}.project-item__stack,.project-item__links{display:flex;flex-wrap:wrap;gap:.45rem}.tag{padding:.3rem .5rem;border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:.59rem;letter-spacing:.04em}.project-item__link{display:inline-flex!important;align-items:center;gap:.4rem!important;padding-bottom:.2rem;border-bottom:1px solid var(--line-strong);color:var(--ink-soft)!important;font-family:var(--font-mono);font-size:.65rem;font-weight:500!important;letter-spacing:.05em;text-decoration:none!important;transition:color .18s ease,border-color .18s ease}.project-item__link:hover{border-color:var(--steel);color:var(--steel)!important}.projects__all{display:flex;justify-content:center;padding-top:3rem}.projects__all .btn{padding-inline:2rem}#all-projects{min-height:100svh!important;padding-top:calc(var(--nav-h) + clamp(5rem,9vw,8rem))!important}.certs__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);counter-reset:certificate}.cert-card{position:relative;display:grid;min-height:13rem;padding:2rem 2rem 2rem 4.2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);counter-increment:certificate;transition:background-color .22s ease}.cert-card:nth-child(2n){border-right:0}.cert-card:before{position:absolute;top:2.1rem;left:1.5rem;color:var(--bronze);content:"0" counter(certificate);font-family:var(--font-mono);font-size:.62rem}.cert-card:hover{background:var(--surface)}.cert-card__name{align-self:end;max-width:34ch;margin-top:1.4rem;color:var(--ink);font-size:1.03rem;font-weight:540;line-height:1.35}.cert-card__meta{color:var(--muted);font-family:var(--font-mono);font-size:.66rem}.cert-card__link{align-self:end;justify-self:start;margin-top:1.25rem;color:var(--steel);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}#contact{overflow:hidden}#contact:after{position:absolute;right:-5rem;bottom:-10rem;width:28rem;height:28rem;border:1px solid var(--line);border-radius:50%;box-shadow:inset 0 0 0 4rem color-mix(in srgb,var(--steel-soft) 26%,transparent);content:"";pointer-events:none}.contact__headline{max-width:11ch;margin-bottom:3.5rem;font-size:clamp(3.4rem,8vw,7.6rem)}.contact__email{position:relative;z-index:1;display:inline-block;max-width:100%;padding-bottom:.35rem;border-bottom:1px solid var(--line-strong);color:var(--ink);font-size:clamp(1rem,2.3vw,1.6rem);overflow-wrap:anywhere;transition:color .18s ease,border-color .18s ease}.contact__email:hover{border-color:var(--steel);color:var(--steel)}.contact__links{display:flex;flex-wrap:wrap;gap:2rem;margin-top:3rem}.contact__link,.footer__link{color:var(--muted);font-family:var(--font-mono);font-size:.67rem;letter-spacing:.08em;text-transform:uppercase;transition:color .18s ease}.contact__link:hover,.footer__link:hover{color:var(--steel)}.footer{padding-block:2rem;border-top:1px solid var(--line);background:var(--paper)}.footer__inner,.footer__links{display:flex;align-items:center}.footer__inner{justify-content:space-between;gap:2rem}.footer__links{gap:1.5rem}.footer__copy{color:var(--muted);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.04em}.modal-overlay{width:100%;max-width:none;height:100%;max-height:none;padding:clamp(1rem,4vw,3rem);border:0;background:transparent;color:var(--ink)}.modal-overlay[open]{display:grid;place-items:center}.modal-overlay::backdrop{background:#080a0cd1;backdrop-filter:blur(10px)}.modal-inner{position:relative;width:min(100%,1000px);max-height:calc(100svh - 6rem);padding:.75rem;border:1px solid var(--line-strong);background:var(--surface-solid);box-shadow:var(--shadow)}.modal-inner--pdf{height:min(82svh,860px);padding:.75rem}.modal-inner img,.modal-inner iframe{width:100%;height:100%;max-height:calc(100svh - 7.5rem);border:0;object-fit:contain}.modal-close{position:absolute;z-index:2;top:-2.25rem;right:0;padding:.25rem 0;background:transparent;color:#f1eee7;cursor:pointer;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}.reveal{opacity:0;transform:translateY(1.25rem);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}}@layer utilities{@media(max-width:960px){.nav__links{display:none}.nav__hamburger{display:grid}.nav__inner{gap:.75rem}.nav__brand{margin-right:auto}.nav__mobile{position:fixed;z-index:90;top:var(--nav-h);right:0;left:0;display:grid;max-height:0;overflow:hidden;background:var(--paper);transition:max-height .26s ease,border-color .26s ease}.nav__mobile.is-open{max-height:28rem;border-bottom:1px solid var(--line)}.nav__mobile .nav__link{padding:1rem max(1.5rem,calc((100vw - var(--max-w)) / 2));border-top:1px solid var(--line)}.hero__layout{grid-template-columns:1fr;padding-top:7rem}.hero__name{font-size:clamp(4.5rem,14vw,7.2rem)}.hero__visual{min-height:32rem}.project-item{grid-template-columns:2.5rem minmax(0,1fr) minmax(12rem,16rem);gap:1.25rem}}@media(max-width:720px){:root{--nav-h: 64px}body{background-size:4rem 4rem}.container{width:min(100% - 2rem,var(--max-w))}.section{padding-block:6rem}.section-heading--split{grid-template-columns:1fr;gap:1.5rem}.section-heading--split .t-body{justify-self:start;text-align:left!important}.nav__brand{font-size:.63rem}.nav__mobile .nav__link{padding-inline:1rem}.hero{min-height:auto}.hero__layout{gap:4rem;padding-block:7rem 5rem}.hero__name{font-size:clamp(4rem,20vw,5.6rem);line-height:.86}.hero__role br{display:none}.hero__visual{min-height:26rem}.hero__portrait{width:min(72vw,18rem)}.stack__group{grid-template-columns:1fr;gap:.8rem}.timeline__entry{grid-template-columns:1fr;gap:0;padding-block:2.25rem;padding-left:1.25rem}.timeline__dot{top:2.65rem;left:0}.timeline__meta{grid-row:auto;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:1.4rem}.project-item{grid-template-columns:2rem minmax(0,1fr);min-height:auto;padding-block:2rem}.project-item:after{grid-column:1 / -1;grid-row:2;min-height:12rem;margin-top:1.5rem;opacity:.85;transform:none}.project-item>div{grid-column:2}.certs__grid{grid-template-columns:1fr}.cert-card{border-right:0}.footer__inner{align-items:flex-start;flex-direction:column}}@media(max-width:430px){.hero__ctas{align-items:flex-start;flex-direction:column}.hero__visual{min-height:24rem}.hero__portrait{width:min(78vw,17rem)}.stack__item{font-size:1rem}.project-item{grid-template-columns:1fr}.project-item__index,.project-item>div{grid-column:1}.project-item:after{grid-column:1;min-height:10rem}.cert-card{min-height:12rem;padding:1.5rem 1.5rem 1.5rem 3.7rem}.cert-card:before{top:1.6rem;left:1.25rem}.contact__links{gap:1.25rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.intro-active,html.intro-active body{overflow:auto}.entry-intro{display:none!important}.reveal{transform:none;opacity:1;transition:none}.hero__pre,.hero__name,.hero__role,.hero__statement,.hero__ctas,.hero__portrait{transform:none!important;clip-path:none!important;opacity:1!important;animation:none!important}.hero__portrait img{transform:scale(1.045)!important;transition:none}}@media(prefers-contrast:more){:root{--muted: #4b4e50;--line: #9f9a91}[data-theme=dark]{--muted: #c2c7ca;--line: #68737a}}}
