@font-face{font-family:"Bricolage Grotesque";src:url("../assets/fonts/bricolage-grotesque.woff2") format("woff2-variations"),url("../assets/fonts/bricolage-grotesque.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:"Atkinson Hyperlegible Next";src:url("../assets/fonts/atkinson-hyperlegible-next-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Atkinson Hyperlegible Next";src:url("../assets/fonts/atkinson-hyperlegible-next-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Atkinson Hyperlegible Next";src:url("../assets/fonts/atkinson-hyperlegible-next-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{color-scheme:light;--paper:#F3F6F5;--surface:#FFFFFF;--tint:#E8EEED;--ink:#12203A;--ink-2:#4A586C;--line:#D3DCDD;--accent:#1F4FD6;--accent-strong:#173DAA;--accent-soft:#E3EAFC;--on-accent:#FFFFFF;--ok:#1F7556;--ok-soft:#DCF1E7;--warn:#A86300;--warn-soft:#FCEFD6;--bad:#BE3529;--bad-soft:#FBE3E0;--font-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--font-body:"Atkinson Hyperlegible Next","Atkinson Hyperlegible","Segoe UI",system-ui,sans-serif;--step--1:0.889rem;--step-0:1.0625rem;--step-1:1.25rem;--step-2:1.5625rem;--step-3:clamp(1.75rem, 1.2rem + 1.8vw, 2.45rem);--step-4:clamp(2.35rem, 1.3rem + 3.9vw, 4.6rem);--wrap:1180px;--header-h:64px;--shadow:0 1px 2px rgba(18, 32, 58, .06),0 12px 32px -12px rgba(18, 32, 58, .22)}*{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}img{max-width:100%;display:block}a{color:var(--accent)}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.12;margin:0;text-wrap:balance;font-optical-sizing:auto}p{margin:0}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}.wrap{max-width:var(--wrap);margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}.skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--ink);color:var(--surface);padding:10px 16px;border-radius:8px}.skip:focus{top:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;border:2px solid var(--accent);background:var(--accent);color:var(--on-accent);font:700 var(--step-0)/1 var(--font-body);text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.btn:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn--ghost{background:0 0;color:var(--accent)}.btn--ghost:hover{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent-strong)}.btn--small{min-height:40px;padding:0 16px;font-size:var(--step--1)}body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0);z-index:60;background:var(--paper)}.topbar{position:sticky;top:env(safe-area-inset-top,0);z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .3s}.topbar.is-scrolled{border-bottom-color:var(--line)}.topbar__in{max-width:var(--wrap);margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));height:var(--header-h);display:flex;align-items:center;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:700 1.05rem/1 var(--font-display);margin-right:auto}.brand__mark{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--ink);color:var(--paper);font-size:1rem}.menu{display:flex;gap:4px}.menu a{color:var(--ink-2);text-decoration:none;padding:8px 12px;border-radius:8px;font-size:var(--step--1);font-weight:500}.menu a.is-current,.menu a:hover{color:var(--ink);background:var(--tint)}.menu-toggle{display:none;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:600 var(--step--1)/1 var(--font-body);cursor:pointer}.hero{padding-block:clamp(32px,6vw,80px) clamp(56px,8vw,112px)}.hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:center}.hero__text{min-width:0}.status{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 10px;border-radius:999px;background:var(--ok-soft);color:var(--ok);font-size:var(--step--1);font-weight:700;margin-bottom:24px}.status__dot{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 var(--ok);animation:2.4s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 50%,transparent)}70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}.hero__title{font-size:var(--step-4);font-weight:700;line-height:1.02;letter-spacing:-.025em;font-variation-settings:"opsz" 96}.hero__title .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}.hero__title .w>span{display:inline-block}.hero__lead{margin-top:24px;max-width:34em;font-size:var(--step-1);line-height:1.55;color:var(--ink-2)}.hero__actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}.portrait{position:relative;margin:0;justify-self:end;width:min(100%,440px)}.portrait::before{content:"";position:absolute;inset:8% -7% -6% 12%;border-radius:28px;background:repeating-linear-gradient(90deg,var(--accent-soft) 0 10px,transparent 10px 22px);z-index:-1}.portrait__frame{border-radius:28px;overflow:hidden;aspect-ratio:663/1003;max-width:100%;background:var(--tint);box-shadow:var(--shadow)}.portrait__frame img{width:100%;height:112%;object-fit:cover;will-change:transform}.badge-id{position:absolute;left:-28px;bottom:9%;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;background:var(--surface);border-radius:16px;box-shadow:var(--shadow);color:var(--ok)}.badge-id svg{width:34px;height:34px;flex:none}.badge-id strong{display:block;color:var(--ink);font-size:var(--step--1);line-height:1.25}.badge-id small{display:block;color:var(--ink-2);font-size:.8rem;line-height:1.3}.scenario{background:var(--surface);border-block:1px solid var(--line)}.scenario__intro{padding-block:clamp(56px,8vw,104px) 8px;max-width:calc(var(--wrap))}.scenario__intro h2{font-size:var(--step-3);max-width:20em;letter-spacing:-.015em}.scenario__intro p{margin-top:16px;color:var(--ink-2);max-width:40em}.story{position:relative}.story__grid{min-height:calc(100svh - var(--header-h));display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);align-items:center;padding-block:32px}.steps{list-style:none;margin:0;padding:0;display:grid;gap:6px}.step{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:14px 16px;border-radius:16px;opacity:.38;transition:opacity .4s,background .4s}.step.is-active{opacity:1;background:var(--paper)}.step__num{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line);color:var(--ink-2);font:700 1rem/1 var(--font-display);transition:background .4s,border-color .4s,color .4s}.step.is-active .step__num{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.step h3{font-size:var(--step-1)}.step p{margin-top:4px;color:var(--ink-2);font-size:var(--step--1);line-height:1.55;max-width:36em}.step__tool{display:inline-block;margin-top:8px;font-size:.8rem;font-weight:700;color:var(--accent)}.stage-wrap{min-width:0}.progress{height:4px;border-radius:4px;background:var(--tint);overflow:hidden;margin-bottom:20px}.progress span{display:block;height:100%;width:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(1)}.stage{container-type:inline-size;position:relative;aspect-ratio:10/8.4;max-width:100%;border-radius:28px;background:radial-gradient(circle at 1px 1px,var(--line) 1px,transparent 1.4px) 0 0/22px 22px,var(--paper);overflow:hidden;font-size:clamp(9px, 2.55cqw, 16px)}.doc{position:absolute;left:6%;top:6%;width:62%;background:var(--surface);border:2px solid var(--warn);border-radius:14px;box-shadow:var(--shadow);transform-origin:0 0;transform:scale(.82);overflow:hidden}.doc__head{display:flex;align-items:center;gap:.7em;padding:.9em 1.1em;border-bottom:1px solid var(--line);font-weight:700}.doc__icon{width:1.9em;height:1.9em;border-radius:.4em;flex:none;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font:800 .85em/1 var(--font-display)}.doc__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:auto}.label{flex:none;padding:.3em .75em;border-radius:999px;background:var(--warn-soft);color:var(--warn);font-size:.85em;font-weight:700;border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}.doc__body{padding:1.2em 1.3em 1.5em;display:grid;gap:.75em}.doc__title{font:700 1.2em/1.2 var(--font-display)}.bar{display:block;height:.55em;width:var(--w);border-radius:1em;background:var(--tint)}.field{display:grid;gap:.15em;padding:.6em .7em;border-radius:.6em;background:var(--paper)}.field__k{font-size:.82em;color:var(--ink-2)}.field__v{position:relative;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.field__v .plain{background:0 0;color:var(--ink);border-radius:.25em;padding:0 .15em;opacity:0}.field__v .enc{position:absolute;left:.15em;top:0;color:var(--ink-2);letter-spacing:.04em;filter:blur(.3px)}.scanline{position:absolute;left:0;right:0;top:0;height:2.6em;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--accent) 22%,transparent) 70%,var(--accent) 100%);opacity:0;pointer-events:none}.doc__chip{position:absolute;right:.9em;bottom:.9em;display:inline-flex;align-items:center;gap:.45em;padding:.4em .8em;border-radius:999px;font-size:.85em;font-weight:700}.doc__chip svg{width:1.2em;height:1.2em}.doc__chip--found{background:var(--accent-soft);color:var(--accent-strong);opacity:0}.doc__chip--lock{background:var(--ink);color:var(--surface)}.panel{position:absolute;left:39%;width:57%;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.panel__head{padding:.9em 1.1em;font-weight:700;border-bottom:1px solid var(--line);background:var(--paper)}.mail{top:23%;opacity:0;visibility:hidden}.mail__row{display:flex;gap:.8em;padding:.65em 1.1em;border-bottom:1px solid var(--line);min-width:0}.mail__row span{color:var(--ink-2);width:3.2em;flex:none}.mail__att{display:inline-flex;align-items:center;gap:.6em;margin:.9em 1.1em;padding:.45em .8em .45em .45em;border:1px solid var(--line);border-radius:.6em;font-weight:700}.mail__block{margin:0 1.1em 1.1em;padding:.8em 1em;border-radius:.6em;background:var(--bad-soft);color:var(--bad);line-height:1.4}.mail__block strong{display:block}.xdr{top:24%}.xdr__head{display:flex;align-items:center;gap:.6em}.xdr__head>span:first-child{margin-right:auto}.pill{padding:.25em .7em;border-radius:999px;font-size:.85em;font-weight:700}.pill--warn{background:var(--warn-soft);color:var(--warn);display:none}.pill--ok{background:var(--ok-soft);color:var(--ok)}.tl{list-style:none;margin:0;padding:.9em 1.1em .4em;display:grid;gap:.6em}.tl li{display:grid;grid-template-columns:3.4em minmax(0,1fr);gap:.6em;line-height:1.35;position:relative}.tl time{color:var(--ink-2);font-variant-numeric:tabular-nums}.xdr__mitre{margin:.5em 1.1em 1.1em;padding:.5em .8em;border-radius:.6em;background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.story--static .step{opacity:1}.story--static .step__num{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.section{padding-block:clamp(64px,9vw,120px)}.section--tint{background:var(--tint)}.section__head{max-width:44em;margin-bottom:clamp(32px,5vw,56px)}.section__head h2{font-size:var(--step-3);letter-spacing:-.015em}.section__head p{margin-top:12px;color:var(--ink-2);font-size:var(--step-1);line-height:1.5}.subhead{font-size:var(--step-2);margin-bottom:20px}.keyskills{display:grid}.domain{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:24px 40px;padding-block:32px;border-top:1px solid var(--line)}.domain:last-child{border-bottom:1px solid var(--line)}.domain h3{font-size:var(--step-1);color:var(--ink-2);font-weight:600}.domain__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px}.skill h4{font-size:var(--step-1);font-weight:700;letter-spacing:-.01em}.skill p{margin-top:6px;color:var(--ink-2);font-size:var(--step--1);line-height:1.55}.allskills{margin-top:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px}.allskills h4{font-size:var(--step-0);margin-bottom:10px}.allskills ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.allskills li{color:var(--ink-2);font-size:var(--step--1);line-height:1.45;padding-left:16px;position:relative}.allskills li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--line)}.keyskills+.subhead{margin-top:clamp(48px,7vw,80px)}.timeline{position:relative}.timeline__rail{position:absolute;left:11px;top:8px;bottom:8px;width:2px;background:var(--line);border-radius:2px}.timeline__rail span{display:block;height:100%;background:var(--accent);transform-origin:50% 0}.timeline__list{list-style:none;margin:0;padding:0;display:grid;gap:28px}.job{position:relative;padding-left:52px}.job::before{content:"";position:absolute;left:4px;top:26px;width:16px;height:16px;border-radius:50%;background:var(--surface);border:3px solid var(--accent)}.job__card{background:var(--surface);border-radius:20px;border:1px solid var(--line);overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr)}.job--visual .job__card{grid-template-columns:minmax(0,1fr) minmax(0,.78fr)}.job__body{min-width:0;padding:clamp(20px,3vw,32px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px 40px;align-content:center}.job--short .job__body,.job--visual .job__body{grid-template-columns:minmax(0,1fr)}.job__visual{position:relative;min-height:180px;background:var(--visual-bg,transparent);display:flex;align-items:center;justify-content:flex-end;padding:24px clamp(24px,4vw,48px);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.06) 10%,rgba(0,0,0,.24) 22%,rgba(0,0,0,.55) 34%,rgba(0,0,0,.85) 44%,#000 52%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.06) 10%,rgba(0,0,0,.24) 22%,rgba(0,0,0,.55) 34%,rgba(0,0,0,.85) 44%,#000 52%)}.job__visual img{display:block}.job__visual--logo img{width:min(52%,240px);height:auto;max-height:72%;object-fit:contain}.job__visual--photo{padding:0}.job__visual--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}.job__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.job__period{font-weight:700;color:var(--accent)}.job__type{font-size:.8rem;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong)}.job h3{font-size:var(--step-2)}.job__org{margin-top:6px;color:var(--ink-2);font-weight:700}.job__place{margin-top:2px;color:var(--ink-2);font-size:var(--step--1)}.subhead--spaced{margin-top:clamp(40px,6vw,64px)}.job ul{margin:0;padding-left:1.1em;display:grid;gap:8px;color:var(--ink-2)}.job--todo .job__card{border:2px dashed var(--line);background:0 0}.job--todo::before{border-style:dashed;border-color:var(--ink-2)}.todo-tag{font-size:.8rem;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--warn-soft);color:var(--warn)}.certs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.cert{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit}a.cert:hover{border-color:var(--accent)}.cert__issuer{font-size:var(--step--1);font-weight:700;color:var(--ink-2)}.cert__code{font:800 clamp(1.9rem, 1.2rem + 1.6vw, 2.6rem)/1 var(--font-display);letter-spacing:-.02em;color:var(--ink)}.cert__code--long{font-size:clamp(1.15rem, .8rem + .9vw, 1.45rem);line-height:1.1;padding-block:.4em}.cert__name{color:var(--ink-2);font-size:var(--step--1);line-height:1.45}.cert__check{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-size:.85rem;font-weight:700}.tiers{margin-top:clamp(48px,7vw,80px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:48px}.tier{min-width:0}.note{color:var(--ink-2);font-size:var(--step--1);margin:-8px 0 20px;max-width:36em}.cisco{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.cisco li{display:grid;grid-template-columns:4.2em minmax(0,1fr);gap:12px;align-items:baseline;padding-block:14px;border-bottom:1px solid var(--line)}.cisco b{font:700 .85rem/1 var(--font-display);color:var(--accent)}.learn-count{margin:-8px 0 20px;color:var(--ink-2);font-size:var(--step--1)}.learn-count span{font:800 var(--step-2)/1 var(--font-display);color:var(--ink);margin-right:4px;font-variant-numeric:tabular-nums}.learn{border-top:1px solid var(--line)}.learn details{border-bottom:1px solid var(--line)}.learn summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding-block:14px;font-weight:700}.learn summary::-webkit-details-marker{display:none}.learn summary::after{content:"";width:10px;height:10px;margin-left:4px;border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);transform:rotate(45deg) translateY(-3px);transition:transform .25s}.learn details[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px)}.learn summary .count{margin-left:auto;min-width:2em;text-align:center;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.8rem;font-variant-numeric:tabular-nums}.learn ul{margin:0 0 16px;padding-left:1.1em;display:grid;gap:6px;color:var(--ink-2);font-size:var(--step--1)}.projects{display:grid;border-top:1px solid var(--line)}.project{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 48px;padding-block:32px;border-bottom:1px solid var(--line)}.project h3{font-size:var(--step-2)}.project__resume{margin-top:10px;color:var(--ink-2)}.project>ul{margin:0;padding-left:1.1em;display:grid;gap:6px;align-content:start}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding:0;list-style:none}.tags li{padding:4px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.85rem;font-weight:600}.contact{background:var(--ink);color:var(--paper)}.contact__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:end}.contact h2{font-size:var(--step-4);letter-spacing:-.025em;line-height:1.02}.contact__lead{margin-top:20px;font-size:var(--step-1);color:color-mix(in srgb,var(--paper) 78%,var(--ink));max-width:30em}.contact__ways{display:grid;gap:4px;border-top:1px solid color-mix(in srgb,var(--paper) 20%,var(--ink))}.copyline{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-block:16px;border-bottom:1px solid color-mix(in srgb,var(--paper) 20%,var(--ink))}.copyline__label{width:6em;color:color-mix(in srgb,var(--paper) 65%,var(--ink));font-size:var(--step--1)}.copyline__value{color:var(--paper);font-weight:700;margin-right:auto;overflow-wrap:anywhere;user-select:all}.contact .btn--ghost{color:var(--paper);border-color:color-mix(in srgb,var(--paper) 45%,var(--ink))}.contact .btn--ghost:hover{background:color-mix(in srgb,var(--paper) 12%,var(--ink));color:var(--paper)}.footer{background:var(--ink);color:color-mix(in srgb,var(--paper) 65%,var(--ink));border-top:1px solid color-mix(in srgb,var(--paper) 15%,var(--ink))}.footer__in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:24px;font-size:var(--step--1)}.footer a{color:inherit}@media (max-width:1080px){.menu a{padding:8px}.domain{grid-template-columns:minmax(0,1fr)}.certs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.menu-toggle{display:inline-flex;align-items:center}.topbar .btn--small{display:none}.menu{position:absolute;left:0;right:0;top:var(--header-h);flex-direction:column;gap:0;background:var(--surface);border-bottom:1px solid var(--line);padding:8px max(20px,env(safe-area-inset-right,0px)) 16px max(20px,env(safe-area-inset-left,0px));box-shadow:var(--shadow);display:none}.menu.is-open{display:flex}.menu a{padding:14px 8px;font-size:var(--step-0);border-radius:0;border-bottom:1px solid var(--line)}.hero__grid{grid-template-columns:minmax(0,1fr)}.portrait{order:-1;justify-self:start;width:min(78%,360px);margin-left:24px}.portrait__frame{aspect-ratio:4/4.6}.badge-id{left:-24px;bottom:7%}.story__grid{grid-template-columns:minmax(0,1fr);align-content:start;gap:16px;padding-block:16px 20px}.stage-wrap{order:-1}.stage{aspect-ratio:10/9;max-height:54svh;margin-inline:auto}.progress{margin-bottom:12px}.steps{display:grid}.steps>.step{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s;background:var(--paper)}.steps>.step.is-active{opacity:1;visibility:visible;transition:opacity .35s}.story--static .steps{gap:8px}.story--static .steps>.step{grid-area:auto;opacity:1;visibility:visible}.contact__grid,.project,.tiers{grid-template-columns:minmax(0,1fr)}.allskills{grid-template-columns:repeat(2,minmax(0,1fr))}.job--visual .job__card,.job__body{grid-template-columns:minmax(0,1fr)}.job__visual{order:-1;min-height:120px;justify-content:center;padding:20px 20px 36px;-webkit-mask-image:linear-gradient(180deg,#000 40%,rgba(0,0,0,.45) 72%,transparent 100%);mask-image:linear-gradient(180deg,#000 40%,rgba(0,0,0,.45) 72%,transparent 100%)}.job__visual--logo img{width:min(56%,220px)}.job__visual--photo{min-height:150px}}@media (max-width:640px){.domain__items{grid-template-columns:minmax(0,1fr);gap:20px}.allskills,.certs{grid-template-columns:minmax(0,1fr)}.hero__actions .btn{flex:1 1 auto}.story__grid{padding-block:12px 16px}.step{padding:12px;grid-template-columns:32px minmax(0,1fr);gap:12px}.step__num{width:32px;height:32px;font-size:.9rem}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation:none!important;transition:none!important}}