@layer tokens{:root{--ink:#1c1d20;--ink-deep:#0f1012;--paper:#fff;--mist:#f0f0ef;--ochre:#8a5a3b;--ochre-on-dark:#c8925a;--gutter:max(clamp(1.25rem, 4vw, 4rem), env(safe-area-inset-left), env(safe-area-inset-right));--radius-card:clamp(1.25rem, 1.8vw, 2rem);--radius-section:clamp(1.75rem, 4vw, 4.5rem);--ease-out:cubic-bezier(.23, 1, .32, 1);--text-label:clamp(.75rem, .72vw, .875rem);--text-small:clamp(.875rem, 1.02vw, 1.125rem);--text-body:clamp(1rem, 1.2vw, 1.375rem);--text-lead:clamp(1.55rem, 2.3vw, 2.75rem);--text-section:clamp(2.84rem, 6.125vw, 7rem);--leading-body:1.66;--leading-lead:1.45;--leading-section:1.065;--descender-room:.25em;--footer-height:calc(3.5rem + 1px + 1.6 * var(--text-small));--fab:2.75rem;--name-width:100cqi;--hero-bg:var(--ochre);--page-end:var(--ink);--head-at:4svh;--ink-raised:#2e2f34;--menu-shade:#0f101299;--mask-opaque:#000;--name-size:clamp(15vw, 36vw, 9rem);--text-menu:min(var(--text-lead), 11vw);--text-card-title:clamp(1.5rem, 3.2vw, 3rem);--text-card-body:clamp(1.0625rem, 1.45vw, 1.5rem);--text-project:clamp(1.125rem, 1.6vw, 1.875rem);--text-figure:calc(var(--text-section) * 1.35);--text-contacts-question:clamp(2.25rem, 5vw, 5rem);--text-contacts-note:clamp(1.0625rem, 1.5vw, 1.5rem);--text-contacts-link:clamp(1rem, 1.1vw, 1.25rem);--hero-shade-0:#1c1d2000;--hero-shade-3:#1c1d2008;--hero-shade-10:#1c1d201a;--hero-shade-20:#1c1d2033;--hero-shade-31:#1c1d204f;--hero-shade-42:#1c1d206b;--hero-shade-52:#1c1d2085;--hero-shade-59:#1c1d2096;--hero-shade-62:#1c1d209e;--placeholder-glow:#3a3b41;--placeholder-top:#2a2b30;--placeholder-bottom:#16171a;--pill-light:#e4e4e4;--pill-dark-hover:#ffffff14;--step-text:#c9c9cc;--step-muted:#8b8c91;--step-fill-early:#929292;--step-fill-late:#6a6a6a;--line-rgb:200 146 90;--line-6:rgb(var(--line-rgb) / 6%);--line-7:rgb(var(--line-rgb) / 7%);--line-8:rgb(var(--line-rgb) / 8%);--line-10:rgb(var(--line-rgb) / 10%);--line-14:rgb(var(--line-rgb) / 14%);--line-16:rgb(var(--line-rgb) / 16%);--line-18:rgb(var(--line-rgb) / 18%);--line-20:rgb(var(--line-rgb) / 20%);--line-40:rgb(var(--line-rgb) / 40%)}@property --step-unlit{syntax:"<color>";inherits:false;initial-value:#1c1d20}@property --step-lit{syntax:"<color>";inherits:false;initial-value:#fff}@supports (font-size-adjust:ex-height 0.51){:root{font-size-adjust:ex-height .51}}.page--face-onest{--face:"Onest Variable";--weight:400;--track-display:-.028em;--track-text:-.01em;--axes:normal;--name-ratio:7.16;--word-ratio:4.29;--roll-ratio:6.6}:root,.block--dark,.footer{--bg:var(--ink);--fg:var(--paper);--text:#c9c9cc;--muted:#9a9b9f;--surface:#26272b;--rule:#3a3b40;--button-bg:var(--paper);--button-fg:var(--ink);--accent:var(--ochre-on-dark);--accent-strong:var(--ochre-on-dark)}.block--light{--bg:var(--paper);--fg:var(--ink);--text:#3b3c40;--muted:#66676c;--surface:var(--mist);--rule:#d9d9d9;--button-bg:var(--ink);--button-fg:var(--paper);--accent:var(--ochre);--accent-strong:var(--ochre)}.block--mist{--bg:var(--mist);--fg:var(--ink);--text:#3b3c40;--muted:#66676c;--surface:var(--paper);--rule:#d4d4d2;--button-bg:var(--ink);--button-fg:var(--paper);--accent:var(--ochre);--accent-strong:var(--ochre)}:is(.header,.hero){--bg:var(--hero-bg);--text:var(--paper);--muted:var(--paper);--surface:var(--ink)}@media (width>=640px){:root{--fab:3.5rem;--text-menu:clamp(2rem, 3.2vw, 3.25rem)}}@media (prefers-reduced-motion:reduce),(scripting:none){:root{--name-size:calc(var(--name-width) / var(--roll-ratio))}}@media (width<=899px) and (height<=760px){:root{--name-size:6.5rem}}.block--steps .block__tile{--step-line:calc(100cqi - 2 * var(--pad));--step-glyphs:7.5;--step-title-line:calc(100cqi - 2 * var(--pad) - var(--number-room));--step-title-glyphs:6.25;--text-step:min(clamp(1.0625rem, 1.5vw, 1.75rem), calc(var(--step-line) / var(--step-glyphs)));--text-step-title:min(calc(var(--text-lead) * 1.2), calc(var(--step-title-line) / var(--step-title-glyphs)))}.block--about .block__tile{--fact-line:calc((100cqi - (var(--facts) - 1) * var(--facts-gap)) / var(--facts) - 2 * var(--card-pad));--fact-glyphs:5.6;--text-fact:min(var(--text-lead), calc(var(--fact-line) / var(--fact-glyphs)))}}@layer base{:before,:after{pointer-events:none}.page{background:var(--page-end);color-scheme:dark}@media (scripting:enabled){.page--hero:not(.page--past-hero){background:var(--hero-bg)}}.page__body{color:var(--text);font-family:var(--face), Arial, sans-serif;font-weight:var(--weight);font-variation-settings:var(--axes);font-size:var(--text-body);line-height:var(--leading-body);letter-spacing:var(--track-text);overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;margin:0}.heading{color:var(--fg);font-weight:var(--weight);letter-spacing:var(--track-display);padding-bottom:var(--descender-room);margin:0;margin-bottom:calc(-1 * var(--descender-room))}.strong{color:var(--fg);font-weight:inherit}.link{color:var(--fg);text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb, var(--fg) 45%, transparent);text-underline-offset:.22em}:focus-visible{outline:2px solid var(--fg);outline-offset:3px}@media (hover:hover) and (pointer:fine){.link:hover{text-decoration-color:var(--fg);text-decoration-thickness:2px}}@media (prefers-reduced-motion:no-preference){.link{transition:text-decoration-color .2s}}@media (width>=20em){.wholeword{white-space:nowrap}}}@layer layout{.header{padding:calc(1rem + env(safe-area-inset-top)) var(--gutter) 1rem;background:var(--bg);color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.header__name{color:var(--fg);line-height:1.25;text-decoration:none}.header__nav{flex-wrap:wrap;gap:.5rem 1.25rem;margin-left:auto;display:flex}.header__link,.menu__link{color:var(--fg);text-decoration-color:#0000}@media (hover:hover) and (pointer:fine){.header__link:hover,.menu__link:hover{text-decoration-color:var(--fg)}}.menu__toggle,.menu__panel{display:none}@media (width>=640px){.header{padding-block:calc(1.5rem + env(safe-area-inset-top)) 1.5rem;column-gap:2rem}.header__nav{gap:.5rem 2.5rem}}.page__main{display:block}.block{padding:clamp(4.5rem, 9vw, 9rem) var(--gutter);background:var(--bg);color:var(--text);gap:clamp(2rem,4vw,4rem);display:grid;position:relative}.hero+.block,.block--light+.block:not(.block--light),.block--dark+.block:not(.block--dark),.block--mist+.block:not(.block--mist){margin-top:calc(-1 * var(--radius-section));border-radius:var(--radius-section) var(--radius-section) 0 0}.block--light+.block--light,.block--dark+.block--dark{padding-top:clamp(1.5rem,3vw,3rem)}.block__heading{max-width:14em;font-size:var(--text-section);line-height:var(--leading-section)}.block__body{gap:1.5rem;min-width:0;display:grid}.block__text{max-width:40rem;margin:0}.block__text--first{max-width:26em;color:var(--fg);font-size:var(--text-lead);line-height:var(--leading-lead)}.block__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.block__tile{--card-pad:clamp(1.5rem, 2.6vw, 3rem);min-width:0;padding:var(--card-pad);box-sizing:border-box;border-radius:var(--radius-card);background:var(--surface);flex-direction:column;gap:1rem;display:flex;position:relative}.block__tile:not(.block__tile--numbered){display:block}.block__title{font-size:var(--text-lead);letter-spacing:var(--track-display);margin-bottom:.75rem;line-height:1.2;display:block}.block__grid--numbered{counter-reset:step}.block__tile--numbered{counter-increment:step}.block__tile--numbered:before{content:counter(step, decimal-leading-zero);color:var(--accent);font-size:var(--text-lead);line-height:1}.block__links{flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.block__caption{margin:0}.block__heading--unshown{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:0;padding:0;position:absolute;top:0;left:0;overflow:hidden}.footer{box-sizing:border-box;min-height:var(--footer-height);padding:1.5rem var(--gutter) max(2rem, env(safe-area-inset-bottom));border-top:1px solid var(--rule);background:var(--ink);color:var(--muted);font-size:var(--text-small);text-align:center;line-height:1.6}.footer__line{margin:0}.page--end-glow .footer{height:var(--footer-height);margin-top:calc(-1 * var(--footer-height));color:color-mix(in srgb, var(--fg) 88%, var(--bg));background:0 0;border-top:0;align-content:end;display:grid;position:relative}@media (pointer:coarse){.page--end-glow .footer{background:linear-gradient(transparent, var(--page-end))}}}@layer components{.cards{--number:2.5rem;--row-gap:clamp(.75rem, 2vw, 2rem);--icon:var(--fab);counter-reset:card;border-bottom:1px solid var(--rule)}.card{counter-increment:card;box-sizing:border-box;border-top:1px solid var(--rule)}.card__summary{grid-template-columns:var(--number) minmax(0, 1fr) var(--icon);align-items:center;column-gap:var(--row-gap);cursor:pointer;padding-block:clamp(1.25rem,2.4vw,2.25rem);list-style:none;display:grid}.card__summary::-webkit-details-marker{display:none}.card__summary:before{content:counter(card, decimal-leading-zero);color:var(--accent);font-size:var(--text-small)}.card__summary:after{content:"";aspect-ratio:1;box-sizing:border-box;border:1px solid var(--rule);color:var(--fg);background:linear-gradient(currentColor 0 0) 50%/36% 1.5px no-repeat,linear-gradient(currentColor 0 0) 50%/1.5px 36% no-repeat;border-radius:50%}@media (scripting:enabled){.card--open .card__summary:after{border-color:var(--fg);background-color:var(--fg);color:var(--bg);rotate:45deg}}.card__title{color:var(--fg);font-size:var(--text-card-title);letter-spacing:var(--track-display);margin:0;line-height:1.15}.card__text{max-width:38rem;margin:0 0 0 calc(var(--number) + var(--row-gap));font-size:var(--text-card-body);padding-bottom:clamp(1.5rem,2.6vw,2.5rem);line-height:1.5}@media (hover:hover) and (pointer:fine){.card__summary:hover:after{border-color:var(--fg)}}@media (width<=639px){.card__summary{grid-template-columns:minmax(0, 1fr) var(--icon);row-gap:.375rem}.card__summary:before{grid-area:1/1}.card__title{grid-area:2/1}.card__summary:after{grid-area:1/2/3/3}.card__text{margin-left:0}}@media (prefers-reduced-motion:no-preference){.card__summary:after{transition:rotate .4s var(--ease-out), background-color .2s ease, border-color .2s ease, color .2s ease}}.shot{aspect-ratio:4/3;border-radius:var(--radius-card);margin-bottom:1.5rem;overflow:hidden}@supports (user-select:none){.shot{user-select:none}}.shot__drawing{width:100%;height:100%;display:block}.shot__coin{clip-path:circle(50%)}.shot__avatar{background:var(--avatar) 41% 8% / 210% auto no-repeat, var(--hero-bg);border-radius:50%;height:100%}.shot__part--draw{stroke-dasharray:1}.shot__part--pop,.shot__part--grow{transform-box:fill-box}.shot__part--pop{transform-origin:50%}.shot__part--grow{transform-origin:0}@media (width>=900px){.shot{aspect-ratio:4/5}}@keyframes shot-rise{0%{opacity:0;translate:0 24px}}@keyframes shot-fade{0%{opacity:0}}@keyframes shot-draw{0%{stroke-dashoffset:1px}}@keyframes shot-pop{0%{opacity:0;scale:0}}@keyframes shot-grow{0%{scale:0 1}}}@layer sections{.hero{isolation:isolate;font-family:"Onest Hero", var(--face), Arial, sans-serif;grid-template:"photo" minmax(calc(.6 * var(--name-size) - 1rem), 1fr) "name" "title" "facts" "actions" / minmax(0, 1fr);--header-row:3.7rem;min-height:calc(110lvh - var(--header-row));box-sizing:border-box;--hero-foot:calc(var(--radius-section) + 1.5rem + 10svh);padding:1rem var(--gutter) var(--hero-foot);background:var(--bg);color:var(--text);row-gap:1.5rem;display:grid;position:relative;overflow:clip;container-type:inline-size}:is(.hero__name-window,.hero__title,.hero__facts,.hero__action,.hero__picture,.hero__name){z-index:1;min-width:0;position:relative}.hero__title{font-size:var(--text-lead);grid-area:title;line-height:1.2}.hero__line{display:block}.hero__facts{grid-area:facts;align-content:start;gap:.125rem;display:grid}.hero__fact{margin:0;line-height:1.45}.hero__fact--first{color:var(--fg)}.hero__action--list{flex-wrap:wrap;grid-area:actions;align-items:center;gap:.25rem 1.5rem;margin:0;padding:0;list-style:none;display:flex}.hero__picture{display:contents}.hero__portrait{top:calc(var(--head-at) - var(--head-top) * var(--photo-size) * 100svh);z-index:0;width:auto;max-width:none;height:calc(var(--photo-size) * 100svh);position:absolute;left:50%;translate:-50%}.hero__name-window{margin:calc(-.6 * var(--name-size)) calc(-1 * var(--gutter)) 0;grid-area:name}.hero__name{color:var(--fg);font-size:var(--name-size);letter-spacing:var(--track-display);white-space:nowrap;transform-origin:var(--gutter) 100%;line-height:1}.hero__name-track{white-space:pre;width:max-content}@keyframes hero-name-roll{0%{translate:-50%}}@keyframes hero-name-drift{to{transform:translate(-40svh)}}@keyframes hero-photo-lag{to{transform:translateY(30svh)}}@media (prefers-reduced-motion:reduce),(scripting:none){.hero__name-window{margin-inline:0}.hero__name-track{white-space:nowrap}.hero__name-text~.hero__name-text{display:none}}@media (width<=899px) and (orientation:portrait){.hero{--hero-foot:calc(var(--radius-section) + 1.5rem + 10svh + min(12rem, 20svh))}}@media (width<=899px){.hero:after{content:"";z-index:0;will-change:transform;--shade-ramp:max(1.2 * var(--name-size), 10rem);margin:calc(-1 * var(--shade-ramp)) calc(-1 * var(--gutter)) calc(-1 * var(--hero-foot));background:linear-gradient(var(--hero-shade-0), var(--hero-shade-3) calc(var(--shade-ramp) / 8), var(--hero-shade-10) calc(var(--shade-ramp) / 4), var(--hero-shade-20) calc(var(--shade-ramp) * 3 / 8), var(--hero-shade-31) calc(var(--shade-ramp) / 2), var(--hero-shade-42) calc(var(--shade-ramp) * 5 / 8), var(--hero-shade-52) calc(var(--shade-ramp) * 3 / 4), var(--hero-shade-59) calc(var(--shade-ramp) * 7 / 8), var(--hero-shade-62) var(--shade-ramp));grid-area:name/1/-1/-1}}@media (width<=899px) and (orientation:landscape){.hero{min-height:calc(110svh - var(--header-row));margin-left:calc(-1 * env(safe-area-inset-left));padding-left:calc(var(--gutter) + env(safe-area-inset-left))}.hero__portrait{left:calc(50% + env(safe-area-inset-left) / 2)}.hero:after{--shade-ramp:calc(2rem + var(--name-size));margin-top:-1rem;margin-left:calc(-1 * (var(--gutter) + env(safe-area-inset-left)));grid-row:1/-1}}@media (width<=899px) and (height<=760px){.hero{row-gap:1rem}}@media (width<=899px) and (orientation:landscape) and (scripting:enabled) and (prefers-reduced-motion:no-preference){.hero__name-window{margin-inline:calc(env(safe-area-inset-left) - var(--gutter)) calc(env(safe-area-inset-right) - var(--gutter));overflow-x:clip}}@media (width>=900px){.hero{--header-row:4.75rem;--hero-foot:calc(var(--radius-section) + 16svh);min-height:max(34rem, calc(115svh - var(--header-row)));grid-template:". . ."minmax(1rem,1fr)"facts.title"". .actions"". . ."minmax(1rem,.5fr)"name name name"/minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);row-gap:1.75rem}.hero__title{justify-self:end;max-width:15em}.hero__facts{margin-left:calc(-1 * var(--gutter));padding:1.5rem 2.25rem 1.5rem var(--gutter);background:var(--ink);font-size:var(--text-small);border-radius:0 999px 999px 0;place-self:center start}.hero__name-window{margin-top:0}}.block--projects{--stagger:clamp(6rem, 14vw, 16rem)}.block--projects .block__links{grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(3rem,6vw,5rem) clamp(2rem,7vw,9rem);margin:0;display:grid}.block--projects .block__entry{color:var(--text);font-size:var(--text-project);line-height:1.35}.block--projects .block__entry:before{content:"Место для снимка продукта" / "";aspect-ratio:4/3;border-radius:var(--radius-card);background:radial-gradient(120% 80% at 20% 0, var(--placeholder-glow) 0, transparent 60%), linear-gradient(160deg, var(--placeholder-top), var(--placeholder-bottom));color:var(--muted);font-size:var(--text-small);place-items:center;margin-bottom:1.5rem;display:grid}@media (width>=900px){.block--projects .block__links{grid-template-columns:repeat(2,minmax(0,1fr))}.block--projects .block__entry:before{aspect-ratio:4/5}.block--projects .block__links--even{padding-bottom:var(--stagger)}.block--projects .block__entry--even{top:var(--stagger);position:relative}}.block--projects .block__entry--shot:before{content:none}.block--steps .block__grid{--step-from:10svh;--step-to:58svh;grid-template-columns:minmax(0,1fr);align-content:start;gap:.625rem;container-type:inline-size}@media (height<=550px){.block--steps .block__grid{--step-from:-80svh;--step-to:160svh}}@media (width<=899px) and (orientation:portrait){.block--steps .block__grid{--step-from:10svh;--step-to:74svh}}.block--steps .block__tile{--fg:var(--paper);--muted:var(--step-muted);--accent:var(--ochre-on-dark);--pad:min(clamp(1.75rem, 4vw, 4.5rem), 10.5cqi);--number-room:3.5rem;--open-share:.74;--open-bottom:min(9rem, 144px);--fade-cap:min(7rem, 112px);--shut-bottom:max(var(--pad), calc(var(--pad) + var(--growth,0px) - var(--open-share) * (var(--step-to) - var(--step-from)) / 3));font-size:var(--text-step);padding:var(--pad);padding-bottom:var(--open-bottom);background:var(--ink-deep);color:var(--step-text);grid-template-rows:auto 1fr;align-content:start;row-gap:.75rem;line-height:1.5;display:grid;overflow:clip}.block--steps .block__title{padding-right:var(--number-room);font-size:var(--text-step-title);margin-bottom:0}.block--steps .block__detail{min-height:0}.block--steps .block__tile:before{top:var(--pad);right:var(--pad);z-index:1;position:absolute}.block--steps .block__tile:after{content:"";height:var(--fade-cap);background:var(--graphic);mask-image:linear-gradient(to bottom, transparent, var(--mask-opaque) 45%);position:absolute;inset:auto 0 0}.block--steps .block__tile--art-1{--graphic:linear-gradient(to top, var(--line-20), transparent 85%), repeating-linear-gradient(90deg, var(--line-16) 0 1px, transparent 1px 14.28%)}.block--steps .block__tile--art-2{--graphic:conic-gradient(from 150deg at 50% 8%, var(--line-6) 0 60deg, transparent 0), conic-gradient(from 150deg at 50% 32%, var(--line-7) 0 60deg, transparent 0), conic-gradient(from 150deg at 50% 56%, var(--line-8) 0 60deg, transparent 0), conic-gradient(from 150deg at 50% 80%, var(--line-10) 0 60deg, transparent 0)}.block--steps .block__tile--art-3{--graphic:radial-gradient(circle at 100% 100%, var(--line-18), transparent 60%), repeating-radial-gradient(circle at 100% 100%, transparent 0 2.2rem, var(--line-16) 2.2rem calc(2.2rem + 1px))}.block--steps .block__tile--art-4{--graphic:linear-gradient(to left, var(--line-18), transparent 90%), repeating-linear-gradient(0deg, var(--line-14) 0 1px, transparent 1px 1.5rem)}.block--steps .block__tile--art-5{--graphic:radial-gradient(circle, var(--line-40) 0 1.5px, transparent 2px) 0 0 / 1.375rem 1.375rem, linear-gradient(to left, var(--line-8), transparent)}@container (width<16rem){.block--steps .block__tile{--number-room:0px}.block--steps .block__title{padding-top:calc(var(--text-lead) + .75rem)}.block--steps .block__tile:before{right:auto;left:var(--pad)}}@media (width<=639px){.block--steps .block__tile{--number-room:0px}.block--steps .block__title{padding-top:calc(var(--text-lead) + .75rem)}.block--steps .block__tile:before{right:auto;left:var(--pad)}}@media (width>=900px){.block--steps .block__tile{--number-room:0px;--open-bottom:calc(var(--pad) * 2);padding-right:calc(38% + 3rem)}.block--steps .block__tile:after{width:38%;height:auto;mask-image:linear-gradient(to bottom, transparent, var(--mask-opaque) 45%), linear-gradient(90deg, transparent, var(--mask-opaque) 30%);inset:0 0 0 auto;mask-composite:intersect}}@keyframes step-fill{0%{background-color:var(--mist)}10%{background-color:var(--step-fill-early)}22%{background-color:var(--step-fill-late)}28%,to{background-color:var(--ink-deep)}}@keyframes step-sweep{0%,11%{background-position:100% 0}21%,to{background-position:0 0}}@keyframes step-number{0%{--step-unlit:var(--ochre);--step-lit:var(--paper);background-position:100% 0}5%{--step-unlit:var(--ink)}11%{background-position:100% 0}21%{background-position:0 0}24%{--step-lit:var(--paper)}28%,to{--step-unlit:var(--ink);--step-lit:var(--ochre-on-dark);background-position:0 0}}@keyframes step-open{0%,26%{padding-bottom:var(--shut-bottom);grid-template-rows:auto 0fr;row-gap:0}}@keyframes step-rise{0%,26%{translate:0 var(--shut-bottom)}}@keyframes step-reveal{0%,26%{opacity:0}}.block--about{container-type:inline-size}.block--about .block__heading{font-size:var(--text-small);letter-spacing:.06em;text-transform:uppercase;line-height:1.6}.block--about .block__text{max-width:30em;color:var(--fg);font-size:var(--text-lead);line-height:1.3}.block--about .block__grid{--facts:1;--facts-gap:clamp(.625rem, 1.2vw, 1rem);grid-template-columns:repeat(var(--facts), minmax(0, 1fr));gap:var(--facts-gap);margin-top:clamp(1.5rem,4vw,4rem)}@container (width>=20rem){.block--about .block__grid{--facts:2}}.block--about .block__tile{min-height:clamp(12rem,19vw,20rem);color:var(--fg);font-size:var(--text-fact);letter-spacing:var(--track-display);flex-direction:column;justify-content:space-between;gap:2.5rem;line-height:1.15;display:flex}.block--about .block__tile:before{content:"";background:var(--accent-strong);flex:none;width:2.5rem;height:2.5rem;mask:url(/icons/star.svg) 50%/contain no-repeat}.block--about .block__tile--icon-2:before{mask-image:url(/icons/code.svg)}.block--about .block__tile--icon-3:before{mask-image:url(/icons/briefcase.svg)}.block--about .block__tile--icon-4:before{mask-image:url(/icons/cap.svg)}.block--about .block__tile--titled{font-size:var(--text-small);letter-spacing:.04em;text-transform:uppercase}.block--about .block__title{font-size:var(--text-figure);letter-spacing:var(--track-display);margin:auto 0 .5rem;line-height:.9}@media (width>=900px){.block--about{grid-template-columns:minmax(0,1fr) minmax(0,2.2fr)}.block--about .block__body{display:contents}.block--about .block__text{grid-column:2}.block--about .block__grid{--facts:4;grid-column:1/-1}}.block--contacts{box-sizing:border-box;min-height:calc(100svh + var(--radius-section));padding-block:max(clamp(5rem, 11vw, 10rem), calc(var(--scroll-band,0px) + var(--radius-section) + 1rem)) calc(clamp(5rem, 11vw, 10rem) + var(--footer-height));isolation:isolate;text-align:center;align-content:center;justify-items:center;gap:clamp(1.5rem,2.5vw,2.5rem);overflow:clip}.page--end-glow{--page-end:color-mix(in srgb, var(--ochre-on-dark) 40%, var(--ink))}.waves{z-index:-1;pointer-events:none;width:max(100%,75rem);height:auto;position:absolute;bottom:0;left:50%;translate:-50%}@property --wave{syntax:"<number>";inherits:true;initial-value:0}.waves__wave{--life:var(--place);transform-box:fill-box;transform-origin:50% 100%;scale:calc(var(--life) * 1.2);opacity:clamp(0, min(var(--life) / .12, (.92 - var(--life)) / .35), 1)}@supports (scale:mod(1, 1)){.waves__wave{--life:mod(var(--place) + var(--wave) / 6, 1)}}.waves__wave--1{--place:.875}.waves__wave--2{--place:.7083}.waves__wave--3{--place:.5417}.waves__wave--4{--place:.375}.waves__wave--5{--place:.2083}.waves__wave--6{--place:.0417}@media (prefers-reduced-motion:no-preference){.waves--run{animation:4.5s cubic-bezier(.45,0,.55,1) forwards contact-wave}}@keyframes contact-wave{to{--wave:3}}.block--contacts .block__heading{top:calc(var(--scroll-band,0px) + var(--radius-section))}.block--contacts .block__body{justify-items:center;gap:clamp(1.25rem,2vw,2rem);width:min(100%,52rem)}.block--contacts .block__text--first{max-width:14em;padding-bottom:var(--descender-room);margin-bottom:calc(-1 * var(--descender-room));font-size:var(--text-contacts-question);letter-spacing:var(--track-display);line-height:1.1}.block--contacts .block__text--second{max-width:30em;font-size:var(--text-contacts-note);line-height:1.45}@supports (text-wrap:balance){.block--contacts .block__text--first,.block--contacts .block__text--second{text-wrap:balance}}.block--contacts .block__links{font-size:var(--text-contacts-link);justify-content:center;gap:.75rem;margin-top:clamp(.25rem,1vw,1rem);line-height:1.25}.block--contacts .block__link{--pill:transparent;--pill-hover:var(--pill-dark-hover);border:1px solid color-mix(in srgb, var(--fg) 40%, transparent);background:var(--pill);max-width:100%;color:var(--fg);letter-spacing:0;border-radius:1.6em;padding:.85em clamp(1.1em,2vw,1.6em);line-height:1.25;text-decoration:none;display:inline-block}.block--contacts .block__link--first{--pill:var(--paper);--pill-hover:var(--pill-light);border-color:var(--pill);color:var(--ink)}@media (hover:hover) and (pointer:fine){.block--contacts .block__link:hover{background-color:var(--pill-hover)}}@media (prefers-reduced-motion:no-preference){.block--contacts .block__link{transition:background-color .2s}}}@media (scripting:enabled){@layer components{.page{--fab-gap:.75rem;--scroll-band:calc(env(safe-area-inset-top) + 2 * var(--fab-gap) + var(--fab));scroll-padding-top:var(--scroll-band)}@supports (scrollbar-gutter:stable){.page{scrollbar-gutter:stable}}.page--menu-open{background:var(--ink);overflow:hidden}.header:after{content:"";z-index:3;background:var(--menu-shade);opacity:0;visibility:hidden;position:fixed;inset:0}.page--menu-open .header:after{opacity:1;visibility:visible}.menu__toggle{top:calc(env(safe-area-inset-top) + var(--fab-gap));right:var(--gutter);z-index:5;box-sizing:border-box;width:var(--fab);height:var(--fab);--fab-fill:var(--ink);--fab-ring:var(--paper);--fab-icon:var(--paper);--fab-hover:var(--ink-raised);--fab-hover-icon:var(--fab-icon);--fab-fade:.3s;--fab-hide-delay:0s;background:linear-gradient(currentcolor 0 0) center / 36% 1.5px no-repeat var(--fab-fill);box-shadow:inset 0 0 0 1px var(--fab-ring);color:var(--fab-icon);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}.page--hero .menu__toggle:not(.menu__toggle--past-hero){--fab-fill:var(--hero-bg);--fab-ring:var(--paper);--fab-icon:var(--paper);--fab-hover:var(--paper);--fab-hover-icon:var(--ink)}.menu__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.menu__toggle:before,.menu__toggle:after{content:"";width:36%;height:1.5px;translate:0 calc(var(--fab) * -.11);background:currentColor;grid-area:1/1}.menu__toggle:after{translate:0 calc(var(--fab) * .11)}.menu__toggle--open:before{translate:0;rotate:45deg}.menu__toggle--open:after{translate:0;rotate:-45deg}.menu__toggle:focus-visible{outline:2px solid var(--paper);outline-offset:2px;box-shadow:inset 0 0 0 1px var(--fab-ring), 0 0 0 6px var(--ink)}.menu__toggle--open{background-color:var(--paper);color:var(--ink);background-size:0 1.5px}.menu__panel{z-index:4;box-sizing:border-box;width:min(22rem,85%);padding:calc(var(--menu-top,0px) + 1.75rem) var(--gutter) calc(2rem + env(safe-area-inset-bottom));background:var(--ink);font-size:var(--text-menu);visibility:hidden;flex-direction:column;gap:.75rem;line-height:1.3;display:flex;position:fixed;inset:0 0 0 auto;overflow-y:auto;translate:100%}@supports (overscroll-behavior:contain){.menu__panel{overscroll-behavior:contain}}.menu__toggle--open+.menu__panel{visibility:visible;translate:0}@media (width<=639px){.header{min-height:var(--fab);padding-right:calc(var(--gutter) + var(--fab) + var(--fab-gap))}.header__nav{display:none}}@media (width>=640px){.page{--fab-gap:1.25rem}.menu__toggle:not(.menu__toggle--header-away,.menu__toggle--open,:focus-visible){visibility:hidden;opacity:0}.page--menu-active .header__nav{visibility:hidden}.menu__panel{width:min(32rem,85%);padding-inline:max(clamp(2rem, 4vw, 4rem), env(safe-area-inset-right));gap:1rem}}@media (hover:hover) and (pointer:fine){.menu__toggle:not(.menu__toggle--open):hover{background-color:var(--fab-hover);color:var(--fab-hover-icon)}}@media (prefers-reduced-motion:no-preference){.header:after{transition:opacity .3s,visibility 0s .3s}.page--menu-open .header:after{transition:opacity .3s}.menu__toggle{transition:background-color .2s ease, background-size .3s var(--ease-out), box-shadow .2s ease, color .2s ease, opacity var(--fab-fade) var(--ease-out), scale var(--fab-fade) var(--ease-out), visibility 0s var(--fab-hide-delay)}.menu__toggle:before,.menu__toggle:after{transition:translate .3s var(--ease-out), rotate .3s var(--ease-out)}.menu__panel{transition:translate .35s var(--ease-out), visibility 0s .35s}.menu__toggle--open+.menu__panel{transition:translate .35s var(--ease-out)}}@media (width>=640px) and (prefers-reduced-motion:no-preference){.menu__toggle:not(.menu__toggle--header-away,.menu__toggle--open,:focus-visible){--fab-fade:.2s;--fab-hide-delay:.2s}}}}@media (prefers-reduced-motion:no-preference){@layer components{@supports (interpolate-size:allow-keywords) and selector(::details-content){.card{interpolate-size:allow-keywords}.card::details-content{block-size:0;transition:block-size .5s var(--ease-out), content-visibility .5s allow-discrete;overflow:clip}.card--open::details-content{block-size:auto}}@supports (animation-timeline:view()) and (view-timeline:--shot block) and (animation-range:cover){.shot{view-timeline:--shot block;container-type:inline-size}.shot__part{animation:1s var(--ease-out) both;animation-timeline:--shot;animation-range:cover calc(25svh + var(--at,0) * 6.25cqi) cover calc(55svh + var(--at,0) * 6.25cqi)}.shot__part--at-1{--at:1}.shot__part--at-2{--at:2}.shot__part--at-3{--at:3}.shot__part--at-4{--at:4}.shot__part--at-5{--at:5}.shot__part--at-6{--at:6}.shot__part--at-7{--at:7}.shot__part--at-8{--at:8}.shot__part--at-9{--at:9}.shot__part--at-10{--at:10}.shot__part--at-11{--at:11}.shot__part--at-12{--at:12}.shot__part--at-13{--at:13}.shot__part--at-14{--at:14}.shot__part--at-15{--at:15}.shot__part--at-16{--at:16}.shot__part--at-17{--at:17}.shot__part--at-18{--at:18}.shot__part--at-19{--at:19}.shot__part--rise{animation-name:shot-rise}.shot__part--fade{animation-name:shot-fade}.shot__part--draw{animation-name:shot-draw}.shot__part--pop{animation-name:shot-pop}.shot__part--grow{animation-name:shot-grow}}}}@media (width>=900px){@layer sections{@supports (anchor-name:--hero-heading) and (left:anchor(--hero-heading left)){.hero__title{anchor-name:--hero-heading}.hero__portrait{left:min(50%, calc(anchor(--hero-heading left) - var(--gutter) - var(--photo-reach) * var(--photo-size) * 100svh))}}}}@media (prefers-reduced-motion:no-preference){@layer sections{@media (scripting:enabled){.hero__name-track{animation:25s linear infinite hero-name-roll}.hero__name-window{mask-image:linear-gradient(to left, transparent, var(--mask-opaque) min(2rem, var(--gutter)))}}@supports (animation-timeline:scroll()) and (animation-range:0 100svh){.hero__name,.hero__portrait{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);animation-range:0 100svh}.hero__name{animation-name:hero-name-drift}}}}@media (prefers-reduced-motion:no-preference) and (width>=900px){@layer sections{@supports (animation-timeline:scroll()) and (animation-range:0 100svh){.hero__portrait{animation-name:hero-photo-lag}}}}@media (prefers-reduced-motion:no-preference) and (scripting:enabled) and (forced-colors:none){@layer sections{@supports (animation-timeline:view()) and (view-timeline:--step block) and (animation-range:cover){.block--steps .block__tile:not(.block__tile--first){view-timeline:--step block}.block--steps:where(:not(.block--measuring)) .block__tile:not(.block__tile--first),.block--steps:where(:not(.block--measuring)) .block__title:where(:not(.block__title--first)),.block--steps:where(:not(.block--measuring)) .block__detail:where(:not(.block__detail--first)),.block--steps:where(:not(.block--measuring)) .block__tile:not(.block__tile--first):before,.block--steps:where(:not(.block--measuring)) .block__tile:not(.block__tile--first):after{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--step;animation-range:cover var(--step-from) cover var(--step-to)}.block--steps:where(:not(.block--measuring)) .block__tile:not(.block__tile--first){animation-name:step-fill,step-open}.block--steps:where(:not(.block--measuring)) .block__title:where(:not(.block__title--first)),.block--steps:where(:not(.block--measuring)) .block__tile:not(.block__tile--first):before{--step-unlit:var(--ink);--step-lit:var(--paper);justify-self:start}.block--steps:where(:not(.block--measuring)) .block__title:where(:not(.block__title--first)){animation-name:step-sweep}.block--steps:where(:not(.block--measuring)) .block__tile:not(.block__tile--first):before{animation-name:step-number}.block--steps:where(:not(.block--measuring)) .block__detail:where(:not(.block__detail--first)){animation-name:step-rise}.block--steps:where(:not(.block--measuring)) .block__tile:not(.block__tile--first):after{animation-name:step-reveal}}@supports (animation-timeline:view()) and (view-timeline:--step block) and (animation-range:cover) and (background-clip:text){.block--steps:where(:not(.block--measuring)) .block__title:where(:not(.block__title--first)),.block--steps:where(:not(.block--measuring)) .block__tile:not(.block__tile--first):before{background:linear-gradient(90deg, var(--step-lit) 50%, var(--step-unlit) 50%) 100% 0 / 200% 100% no-repeat content-box;-webkit-text-fill-color:transparent;background-clip:text}}}}
