@property --cv-unit{syntax:"<length>";inherits:true;initial-value:1px}:root{--cv-boot:1}cv-stage,cv-scene,cv-animate{display:block}cv-scene{position:relative}cv-fixed{display:block;position:absolute;inset:0;overflow:clip;pointer-events:none}cv-fixed>*{pointer-events:auto}cv-stage{--cv-dw:750}cv-scene{--cv-unit:calc(min(100cqi,var(--cv-dw) * 1px) / var(--cv-dw))}cv-pause{cursor:pointer}cv-stage[input=drag]{position:fixed;inset:0;overflow:hidden}cv-stage[input=drag]>cv-scene{position:absolute;inset:0}cv-stage[input=drag]>cv-scene:nth-of-type(2){translate:0 100%}cv-stage[input=drag]>cv-scene:nth-of-type(n+3){content-visibility:hidden;translate:0 200%}@keyframes cv-failsafe{0%{opacity:0}to{opacity:1}}.cv-js cv-stage>cv-scene:first-of-type cv-animate:is([fx],[from]):is(:not([on]),[on=enter],[on^="enter("],[on=eye],[on=clock],[on=scene]):not([data-cv-live]){animation:cv-failsafe 1ms 4s both}@keyframes cv-boot-fade{0%{opacity:0}4.17%{opacity:.21}8.33%{opacity:.3916}12.5%{opacity:.5358}16.67%{opacity:.6444}20.83%{opacity:.7253}25%{opacity:.7859}29.17%{opacity:.832}33.33%{opacity:.8676}37.5%{opacity:.8956}41.67%{opacity:.9177}45.83%{opacity:.9353}50%{opacity:.9495}54.17%{opacity:.9609}58.33%{opacity:.9701}62.5%{opacity:.9775}66.67%{opacity:.9835}70.83%{opacity:.9882}75%{opacity:.9918}79.17%{opacity:.9947}83.33%{opacity:.9968}87.5%{opacity:.9983}91.67%{opacity:.9993}95.83%{opacity:.9998}to{opacity:1}}@keyframes cv-boot-rise{0%{translate:0px 40px;opacity:0}4.17%{translate:0px 31.6011px;opacity:.21}8.33%{translate:0px 24.335px;opacity:.3916}12.5%{translate:0px 18.5697px;opacity:.5358}16.67%{translate:0px 14.2228px;opacity:.6444}20.83%{translate:0px 10.9889px;opacity:.7253}25%{translate:0px 8.5647px;opacity:.7859}29.17%{translate:0px 6.7201px;opacity:.832}33.33%{translate:0px 5.2946px;opacity:.8676}37.5%{translate:0px 4.1779px;opacity:.8956}41.67%{translate:0px 3.2935px;opacity:.9177}45.83%{translate:0px 2.5873px;opacity:.9353}50%{translate:0px 2.0203px;opacity:.9495}54.17%{translate:0px 1.5635px;opacity:.9609}58.33%{translate:0px 1.1953px;opacity:.9701}62.5%{translate:0px .8991px;opacity:.9775}66.67%{translate:0px .6619px;opacity:.9835}70.83%{translate:0px .4736px;opacity:.9882}75%{translate:0px .3261px;opacity:.9918}79.17%{translate:0px .2127px;opacity:.9947}83.33%{translate:0px .1282px;opacity:.9968}87.5%{translate:0px .068px;opacity:.9983}91.67%{translate:0px .0286px;opacity:.9993}95.83%{translate:0px .0068px;opacity:.9998}to{translate:0px 0px;opacity:1}}@keyframes cv-boot-grow{0%{scale:.9;opacity:0}4.17%{scale:.921;opacity:.21}8.33%{scale:.9392;opacity:.3916}12.5%{scale:.9536;opacity:.5358}16.67%{scale:.9644;opacity:.6444}20.83%{scale:.9725;opacity:.7253}25%{scale:.9786;opacity:.7859}29.17%{scale:.9832;opacity:.832}33.33%{scale:.9868;opacity:.8676}37.5%{scale:.9896;opacity:.8956}41.67%{scale:.9918;opacity:.9177}45.83%{scale:.9935;opacity:.9353}50%{scale:.9949;opacity:.9495}54.17%{scale:.9961;opacity:.9609}58.33%{scale:.997;opacity:.9701}62.5%{scale:.9978;opacity:.9775}66.67%{scale:.9983;opacity:.9835}70.83%{scale:.9988;opacity:.9882}75%{scale:.9992;opacity:.9918}79.17%{scale:.9995;opacity:.9947}83.33%{scale:.9997;opacity:.9968}87.5%{scale:.9998;opacity:.9983}91.67%{scale:.9999;opacity:.9993}95.83%{scale:1;opacity:.9998}to{scale:1;opacity:1}}@keyframes cv-boot-focus{0%{opacity:.34;filter:blur(4.5px)}4.17%{opacity:.4786;filter:blur(3.5551px)}8.33%{opacity:.5985;filter:blur(2.7377px)}12.5%{opacity:.6936;filter:blur(2.0891px)}16.67%{opacity:.7653;filter:blur(1.6001px)}20.83%{opacity:.8187;filter:blur(1.2362px)}25%{opacity:.8587;filter:blur(.9635px)}29.17%{opacity:.8891;filter:blur(.756px)}33.33%{opacity:.9126;filter:blur(.5956px)}37.5%{opacity:.9311;filter:blur(.47px)}41.67%{opacity:.9457;filter:blur(.3705px)}45.83%{opacity:.9573;filter:blur(.2911px)}50%{opacity:.9667;filter:blur(.2273px)}54.17%{opacity:.9742;filter:blur(.1759px)}58.33%{opacity:.9803;filter:blur(.1345px)}62.5%{opacity:.9852;filter:blur(.1011px)}66.67%{opacity:.9891;filter:blur(.0745px)}70.83%{opacity:.9922;filter:blur(.0533px)}75%{opacity:.9946;filter:blur(.0367px)}79.17%{opacity:.9965;filter:blur(.0239px)}83.33%{opacity:.9979;filter:blur(.0144px)}87.5%{opacity:.9989;filter:blur(.0077px)}91.67%{opacity:.9995;filter:blur(.0032px)}95.83%{opacity:.9999;filter:blur(.0008px)}to{opacity:1;filter:blur(0px)}}@keyframes cv-boot-wipe{0%{clip-path:inset(0% 100% 0% 0%)}4.17%{clip-path:inset(0% 99.5788% 0% 0%)}8.33%{clip-path:inset(0% 98.3238% 0% 0%)}12.5%{clip-path:inset(0% 96.2555% 0% 0%)}16.67%{clip-path:inset(0% 93.4041% 0% 0%)}20.83%{clip-path:inset(0% 89.8118% 0% 0%)}25%{clip-path:inset(0% 85.5327% 0% 0%)}29.17%{clip-path:inset(0% 80.6334% 0% 0%)}33.33%{clip-path:inset(0% 75.1935% 0% 0%)}37.5%{clip-path:inset(0% 69.3041% 0% 0%)}41.67%{clip-path:inset(0% 63.0673% 0% 0%)}45.83%{clip-path:inset(0% 56.5937% 0% 0%)}50%{clip-path:inset(0% 50% 0% 0%)}54.17%{clip-path:inset(0% 43.4063% 0% 0%)}58.33%{clip-path:inset(0% 36.9327% 0% 0%)}62.5%{clip-path:inset(0% 30.6959% 0% 0%)}66.67%{clip-path:inset(0% 24.8065% 0% 0%)}70.83%{clip-path:inset(0% 19.3666% 0% 0%)}75%{clip-path:inset(0% 14.4673% 0% 0%)}79.17%{clip-path:inset(0% 10.1882% 0% 0%)}83.33%{clip-path:inset(0% 6.5959% 0% 0%)}87.5%{clip-path:inset(0% 3.7445% 0% 0%)}91.67%{clip-path:inset(0% 1.6762% 0% 0%)}95.83%{clip-path:inset(0% .4212% 0% 0%)}to{clip-path:inset(0% 0% 0% 0%)}}@keyframes cv-boot-push{0%{scale:1.06}4.17%{scale:1.0597}8.33%{scale:1.059}12.5%{scale:1.0578}16.67%{scale:1.056}20.83%{scale:1.0539}25%{scale:1.0513}29.17%{scale:1.0484}33.33%{scale:1.0451}37.5%{scale:1.0416}41.67%{scale:1.0378}45.83%{scale:1.034}50%{scale:1.03}54.17%{scale:1.026}58.33%{scale:1.0222}62.5%{scale:1.0184}66.67%{scale:1.0149}70.83%{scale:1.0116}75%{scale:1.0087}79.17%{scale:1.0061}83.33%{scale:1.004}87.5%{scale:1.0022}91.67%{scale:1.001}95.83%{scale:1.0003}to{scale:1}}@keyframes cv-boot-duotone{0%{opacity:0}4.17%{opacity:.21}8.33%{opacity:.3916}12.5%{opacity:.5358}16.67%{opacity:.6444}20.83%{opacity:.7253}25%{opacity:.7859}29.17%{opacity:.832}33.33%{opacity:.8676}37.5%{opacity:.8956}41.67%{opacity:.9177}45.83%{opacity:.9353}50%{opacity:.9495}54.17%{opacity:.9609}58.33%{opacity:.9701}62.5%{opacity:.9775}66.67%{opacity:.9835}70.83%{opacity:.9882}75%{opacity:.9918}79.17%{opacity:.9947}83.33%{opacity:.9968}87.5%{opacity:.9983}91.67%{opacity:.9993}95.83%{opacity:.9998}to{opacity:1}}@keyframes cv-boot-draw{0%{stroke-dashoffset:1.001}4.17%{stroke-dashoffset:.9968}8.33%{stroke-dashoffset:.9842}12.5%{stroke-dashoffset:.9635}16.67%{stroke-dashoffset:.935}20.83%{stroke-dashoffset:.899}25%{stroke-dashoffset:.8562}29.17%{stroke-dashoffset:.8071}33.33%{stroke-dashoffset:.7527}37.5%{stroke-dashoffset:.6937}41.67%{stroke-dashoffset:.6313}45.83%{stroke-dashoffset:.5665}50%{stroke-dashoffset:.5005}54.17%{stroke-dashoffset:.4345}58.33%{stroke-dashoffset:.3697}62.5%{stroke-dashoffset:.3073}66.67%{stroke-dashoffset:.2483}70.83%{stroke-dashoffset:.1939}75%{stroke-dashoffset:.1448}79.17%{stroke-dashoffset:.102}83.33%{stroke-dashoffset:.066}87.5%{stroke-dashoffset:.0375}91.67%{stroke-dashoffset:.0168}95.83%{stroke-dashoffset:.0042}to{stroke-dashoffset:0}}@keyframes cv-boot-axis{0%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}4.17%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}8.33%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}12.5%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}16.67%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}20.83%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}25%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}29.17%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}33.33%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}37.5%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}41.67%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}45.83%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}50%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}54.17%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}58.33%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}62.5%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}66.67%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}70.83%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}75%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}79.17%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}83.33%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}87.5%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}91.67%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}95.83%{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}to{--cv-axis-wght:NaN;font-variation-settings:"wght" NaN}}@keyframes cv-boot-reveal{0%{scale:1.06;opacity:.34;filter:blur(4.5px);clip-path:inset(0% 100% 0% 0%)}4.17%{scale:1.0597;opacity:.4786;filter:blur(3.5551px);clip-path:inset(0% 99.5788% 0% 0%)}8.33%{scale:1.059;opacity:.5985;filter:blur(2.7377px);clip-path:inset(0% 98.3238% 0% 0%)}12.5%{scale:1.0578;opacity:.6936;filter:blur(2.0891px);clip-path:inset(0% 96.2555% 0% 0%)}16.67%{scale:1.056;opacity:.7653;filter:blur(1.6001px);clip-path:inset(0% 93.4041% 0% 0%)}20.83%{scale:1.0539;opacity:.8187;filter:blur(1.2362px);clip-path:inset(0% 89.8118% 0% 0%)}25%{scale:1.0513;opacity:.8587;filter:blur(.9635px);clip-path:inset(0% 85.5327% 0% 0%)}29.17%{scale:1.0484;opacity:.8891;filter:blur(.756px);clip-path:inset(0% 80.6334% 0% 0%)}33.33%{scale:1.0451;opacity:.9126;filter:blur(.5956px);clip-path:inset(0% 75.1935% 0% 0%)}37.5%{scale:1.0416;opacity:.9311;filter:blur(.47px);clip-path:inset(0% 69.3041% 0% 0%)}41.67%{scale:1.0378;opacity:.9457;filter:blur(.3705px);clip-path:inset(0% 63.0673% 0% 0%)}45.83%{scale:1.034;opacity:.9573;filter:blur(.2911px);clip-path:inset(0% 56.5937% 0% 0%)}50%{scale:1.03;opacity:.9667;filter:blur(.2273px);clip-path:inset(0% 50% 0% 0%)}54.17%{scale:1.026;opacity:.9742;filter:blur(.1759px);clip-path:inset(0% 43.4063% 0% 0%)}58.33%{scale:1.0222;opacity:.9803;filter:blur(.1345px);clip-path:inset(0% 36.9327% 0% 0%)}62.5%{scale:1.0184;opacity:.9852;filter:blur(.1011px);clip-path:inset(0% 30.6959% 0% 0%)}66.67%{scale:1.0149;opacity:.9891;filter:blur(.0745px);clip-path:inset(0% 24.8065% 0% 0%)}70.83%{scale:1.0116;opacity:.9922;filter:blur(.0533px);clip-path:inset(0% 19.3666% 0% 0%)}75%{scale:1.0087;opacity:.9946;filter:blur(.0367px);clip-path:inset(0% 14.4673% 0% 0%)}79.17%{scale:1.0061;opacity:.9965;filter:blur(.0239px);clip-path:inset(0% 10.1882% 0% 0%)}83.33%{scale:1.004;opacity:.9979;filter:blur(.0144px);clip-path:inset(0% 6.5959% 0% 0%)}87.5%{scale:1.0022;opacity:.9989;filter:blur(.0077px);clip-path:inset(0% 3.7445% 0% 0%)}91.67%{scale:1.001;opacity:.9995;filter:blur(.0032px);clip-path:inset(0% 1.6762% 0% 0%)}95.83%{scale:1.0003;opacity:.9999;filter:blur(.0008px);clip-path:inset(0% .4212% 0% 0%)}to{scale:1;opacity:1;filter:blur(0px);clip-path:inset(0% 0% 0% 0%)}}@keyframes cv-boot-fade-in{0%{opacity:0}4.17%{opacity:.0033}8.33%{opacity:.0136}12.5%{opacity:.0311}16.67%{opacity:.0561}20.83%{opacity:.0888}25%{opacity:.1292}29.17%{opacity:.177}33.33%{opacity:.2318}37.5%{opacity:.2928}41.67%{opacity:.3588}45.83%{opacity:.4285}50%{opacity:.5}54.17%{opacity:.5715}58.33%{opacity:.6412}62.5%{opacity:.7072}66.67%{opacity:.7682}70.83%{opacity:.823}75%{opacity:.8708}79.17%{opacity:.9112}83.33%{opacity:.9439}87.5%{opacity:.9689}91.67%{opacity:.9864}95.83%{opacity:.9967}to{opacity:1}}@keyframes cv-boot-slide-up{0%{translate:0px 100%;opacity:0}4.17%{translate:0px 99.6658%;opacity:.0033}8.33%{translate:0px 98.6395%;opacity:.0136}12.5%{translate:0px 96.8886%;opacity:.0311}16.67%{translate:0px 94.3869%;opacity:.0561}20.83%{translate:0px 91.1188%;opacity:.0888}25%{translate:0px 87.0838%;opacity:.1292}29.17%{translate:0px 82.3026%;opacity:.177}33.33%{translate:0px 76.8225%;opacity:.2318}37.5%{translate:0px 70.7229%;opacity:.2928}41.67%{translate:0px 64.1174%;opacity:.3588}45.83%{translate:0px 57.1522%;opacity:.4285}50%{translate:0px 50%;opacity:.5}54.17%{translate:0px 42.8478%;opacity:.5715}58.33%{translate:0px 35.8826%;opacity:.6412}62.5%{translate:0px 29.2771%;opacity:.7072}66.67%{translate:0px 23.1775%;opacity:.7682}70.83%{translate:0px 17.6974%;opacity:.823}75%{translate:0px 12.9162%;opacity:.8708}79.17%{translate:0px 8.8812%;opacity:.9112}83.33%{translate:0px 5.6131%;opacity:.9439}87.5%{translate:0px 3.1114%;opacity:.9689}91.67%{translate:0px 1.3605%;opacity:.9864}95.83%{translate:0px .3342%;opacity:.9967}to{translate:0px 0px;opacity:1}}@keyframes cv-boot-zoom-in{0%{scale:0;opacity:0}4.17%{scale:.0033;opacity:.0033}8.33%{scale:.0136;opacity:.0136}12.5%{scale:.0311;opacity:.0311}16.67%{scale:.0561;opacity:.0561}20.83%{scale:.0888;opacity:.0888}25%{scale:.1292;opacity:.1292}29.17%{scale:.177;opacity:.177}33.33%{scale:.2318;opacity:.2318}37.5%{scale:.2928;opacity:.2928}41.67%{scale:.3588;opacity:.3588}45.83%{scale:.4285;opacity:.4285}50%{scale:.5;opacity:.5}54.17%{scale:.5715;opacity:.5715}58.33%{scale:.6412;opacity:.6412}62.5%{scale:.7072;opacity:.7072}66.67%{scale:.7682;opacity:.7682}70.83%{scale:.823;opacity:.823}75%{scale:.8708;opacity:.8708}79.17%{scale:.9112;opacity:.9112}83.33%{scale:.9439;opacity:.9439}87.5%{scale:.9689;opacity:.9689}91.67%{scale:.9864;opacity:.9864}95.83%{scale:.9967;opacity:.9967}to{scale:1;opacity:1}}@keyframes cv-boot-rotate-in{0%{scale:0;rotate:-180deg;opacity:0}4.17%{scale:.0033;rotate:-179.3985deg;opacity:.0033}8.33%{scale:.0136;rotate:-177.5511deg;opacity:.0136}12.5%{scale:.0311;rotate:-174.3995deg;opacity:.0311}16.67%{scale:.0561;rotate:-169.8965deg;opacity:.0561}20.83%{scale:.0888;rotate:-164.0138deg;opacity:.0888}25%{scale:.1292;rotate:-156.7509deg;opacity:.1292}29.17%{scale:.177;rotate:-148.1446deg;opacity:.177}33.33%{scale:.2318;rotate:-138.2805deg;opacity:.2318}37.5%{scale:.2928;rotate:-127.3013deg;opacity:.2928}41.67%{scale:.3588;rotate:-115.4112deg;opacity:.3588}45.83%{scale:.4285;rotate:-102.874deg;opacity:.4285}50%{scale:.5;rotate:-90deg;opacity:.5}54.17%{scale:.5715;rotate:-77.126deg;opacity:.5715}58.33%{scale:.6412;rotate:-64.5888deg;opacity:.6412}62.5%{scale:.7072;rotate:-52.6987deg;opacity:.7072}66.67%{scale:.7682;rotate:-41.7195deg;opacity:.7682}70.83%{scale:.823;rotate:-31.8554deg;opacity:.823}75%{scale:.8708;rotate:-23.2491deg;opacity:.8708}79.17%{scale:.9112;rotate:-15.9862deg;opacity:.9112}83.33%{scale:.9439;rotate:-10.1035deg;opacity:.9439}87.5%{scale:.9689;rotate:-5.6005deg;opacity:.9689}91.67%{scale:.9864;rotate:-2.4489deg;opacity:.9864}95.83%{scale:.9967;rotate:-.6015deg;opacity:.9967}to{scale:1;rotate:0deg;opacity:1}}@keyframes cv-boot-blur-in{0%{opacity:0;filter:blur(10px)}4.17%{opacity:.0033;filter:blur(9.9666px)}8.33%{opacity:.0136;filter:blur(9.864px)}12.5%{opacity:.0311;filter:blur(9.6889px)}16.67%{opacity:.0561;filter:blur(9.4387px)}20.83%{opacity:.0888;filter:blur(9.1119px)}25%{opacity:.1292;filter:blur(8.7084px)}29.17%{opacity:.177;filter:blur(8.2303px)}33.33%{opacity:.2318;filter:blur(7.6823px)}37.5%{opacity:.2928;filter:blur(7.0723px)}41.67%{opacity:.3588;filter:blur(6.4117px)}45.83%{opacity:.4285;filter:blur(5.7152px)}50%{opacity:.5;filter:blur(5px)}54.17%{opacity:.5715;filter:blur(4.2848px)}58.33%{opacity:.6412;filter:blur(3.5883px)}62.5%{opacity:.7072;filter:blur(2.9277px)}66.67%{opacity:.7682;filter:blur(2.3177px)}70.83%{opacity:.823;filter:blur(1.7697px)}75%{opacity:.8708;filter:blur(1.2916px)}79.17%{opacity:.9112;filter:blur(.8881px)}83.33%{opacity:.9439;filter:blur(.5613px)}87.5%{opacity:.9689;filter:blur(.3111px)}91.67%{opacity:.9864;filter:blur(.136px)}95.83%{opacity:.9967;filter:blur(.0334px)}to{opacity:1;filter:blur(0px)}}@media (prefers-reduced-motion:no-preference){.cv-js cv-stage>cv-scene:first-of-type:not([preload],[zone],[track],[sequence]):not(:has(cv-animate:is([fx],[from]):not(:is([fx=fade i],[fx=rise i],[fx=grow i],[fx=focus i],[fx=wipe i],[fx=push i],[fx=duotone i],[fx=draw i],[fx=axis i],[fx=reveal i],[fx=fade-in i],[fx=slide-up i],[fx=zoom-in i],[fx=rotate-in i],[fx=blur-in i]):not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target])))) cv-animate[fx=fade i]:not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target]):not([data-cv-live]){animation:cv-boot-fade .6s linear both}.cv-js cv-stage>cv-scene:first-of-type:not([preload],[zone],[track],[sequence]):not(:has(cv-animate:is([fx],[from]):not(:is([fx=fade i],[fx=rise i],[fx=grow i],[fx=focus i],[fx=wipe i],[fx=push i],[fx=duotone i],[fx=draw i],[fx=axis i],[fx=reveal i],[fx=fade-in i],[fx=slide-up i],[fx=zoom-in i],[fx=rotate-in i],[fx=blur-in i]):not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target])))) cv-animate[fx=rise i]:not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target]):not([data-cv-live]){animation:cv-boot-rise .95s linear both}.cv-js cv-stage>cv-scene:first-of-type:not([preload],[zone],[track],[sequence]):not(:has(cv-animate:is([fx],[from]):not(:is([fx=fade i],[fx=rise i],[fx=grow i],[fx=focus i],[fx=wipe i],[fx=push i],[fx=duotone i],[fx=draw i],[fx=axis i],[fx=reveal i],[fx=fade-in i],[fx=slide-up i],[fx=zoom-in i],[fx=rotate-in i],[fx=blur-in i]):not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target])))) cv-animate[fx=grow i]:not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target]):not([data-cv-live]){animation:cv-boot-grow .8s linear both}.cv-js cv-stage>cv-scene:first-of-type:not([preload],[zone],[track],[sequence]):not(:has(cv-animate:is([fx],[from]):not(:is([fx=fade i],[fx=rise i],[fx=grow i],[fx=focus i],[fx=wipe i],[fx=push i],[fx=duotone i],[fx=draw i],[fx=axis i],[fx=reveal i],[fx=fade-in i],[fx=slide-up i],[fx=zoom-in i],[fx=rotate-in i],[fx=blur-in i]):not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target])))) cv-animate[fx=focus i]:not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target]):not([data-cv-live]){animation:cv-boot-focus .9s linear both}.cv-js cv-stage>cv-scene:first-of-type:not([preload],[zone],[track],[sequence]):not(:has(cv-animate:is([fx],[from]):not(:is([fx=fade i],[fx=rise i],[fx=grow i],[fx=focus i],[fx=wipe i],[fx=push i],[fx=duotone i],[fx=draw i],[fx=axis i],[fx=reveal i],[fx=fade-in i],[fx=slide-up i],[fx=zoom-in i],[fx=rotate-in i],[fx=blur-in i]):not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target])))) cv-animate[fx=wipe i]:not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target]):not([data-cv-live]){animation:cv-boot-wipe 1.1s linear both}.cv-js cv-stage>cv-scene:first-of-type:not([preload],[zone],[track],[sequence]):not(:has(cv-animate:is([fx],[from]):not(:is([fx=fade i],[fx=rise i],[fx=grow i],[fx=focus i],[fx=wipe i],[fx=push i],[fx=duotone i],[fx=draw i],[fx=axis i],[fx=reveal i],[fx=fade-in i],[fx=slide-up i],[fx=zoom-in i],[fx=rotate-in i],[fx=blur-in i]):not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target])))) cv-animate[fx=push i]:not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target]):not([data-cv-live]){animation:cv-boot-push 1.2s linear both}.cv-js cv-stage>cv-scene:first-of-type:not([preload],[zone],[track],[sequence]):not(:has(cv-animate:is([fx],[from]):not(:is([fx=fade i],[fx=rise i],[fx=grow i],[fx=focus i],[fx=wipe i],[fx=push i],[fx=duotone i],[fx=draw i],[fx=axis i],[fx=reveal i],[fx=fade-in i],[fx=slide-up i],[fx=zoom-in i],[fx=rotate-in i],[fx=blur-in i]):not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target])))) cv-animate[fx=duotone i]:not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target]):not([data-cv-live]){animation:cv-boot-duotone .9s linear both}.cv-js cv-stage>cv-scene:first-of-type:not([preload],[zone],[track],[sequence]):not(:has(cv-animate:is([fx],[from]):not(:is([fx=fade i],[fx=rise i],[fx=grow i],[fx=focus i],[fx=wipe i],[fx=push i],[fx=duotone i],[fx=draw i],[fx=axis i],[fx=reveal i],[fx=fade-in i],[fx=slide-up i],[fx=zoom-in i],[fx=rotate-in i],[fx=blur-in i]):not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target])))) cv-animate[fx=draw i]:not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target]):not([data-cv-live]){animation:cv-boot-draw 1.4s linear both}.cv-js cv-stage>cv-scene:first-of-type:not([preload],[zone],[track],[sequence]):not(:has(cv-animate:is([fx],[from]):not(:is([fx=fade i],[fx=rise i],[fx=grow i],[fx=focus i],[fx=wipe i],[fx=push i],[fx=duotone i],[fx=draw i],[fx=axis i],[fx=reveal i],[fx=fade-in i],[fx=slide-up i],[fx=zoom-in i],[fx=rotate-in i],[fx=blur-in i]):not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target])))) cv-animate[fx=axis i]:not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target]):not([data-cv-live]){animation:cv-boot-axis 1.1s linear both}.cv-js cv-stage>cv-scene:first-of-type:not([preload],[zone],[track],[sequence]):not(:has(cv-animate:is([fx],[from]):not(:is([fx=fade i],[fx=rise i],[fx=grow i],[fx=focus i],[fx=wipe i],[fx=push i],[fx=duotone i],[fx=draw i],[fx=axis i],[fx=reveal i],[fx=fade-in i],[fx=slide-up i],[fx=zoom-in i],[fx=rotate-in i],[fx=blur-in i]):not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target])))) cv-animate[fx=reveal i]:not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target]):not([data-cv-live]){animation:cv-boot-reveal 1.2s linear both}.cv-js cv-stage>cv-scene:first-of-type:not([preload],[zone],[track],[sequence]):not(:has(cv-animate:is([fx],[from]):not(:is([fx=fade i],[fx=rise i],[fx=grow i],[fx=focus i],[fx=wipe i],[fx=push i],[fx=duotone i],[fx=draw i],[fx=axis i],[fx=reveal i],[fx=fade-in i],[fx=slide-up i],[fx=zoom-in i],[fx=rotate-in i],[fx=blur-in i]):not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target])))) cv-animate[fx=fade-in i]:not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target]):not([data-cv-live]){animation:cv-boot-fade-in .6s linear both}.cv-js cv-stage>cv-scene:first-of-type:not([preload],[zone],[track],[sequence]):not(:has(cv-animate:is([fx],[from]):not(:is([fx=fade i],[fx=rise i],[fx=grow i],[fx=focus i],[fx=wipe i],[fx=push i],[fx=duotone i],[fx=draw i],[fx=axis i],[fx=reveal i],[fx=fade-in i],[fx=slide-up i],[fx=zoom-in i],[fx=rotate-in i],[fx=blur-in i]):not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target])))) cv-animate[fx=slide-up i]:not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target]):not([data-cv-live]){animation:cv-boot-slide-up .6s linear both}.cv-js cv-stage>cv-scene:first-of-type:not([preload],[zone],[track],[sequence]):not(:has(cv-animate:is([fx],[from]):not(:is([fx=fade i],[fx=rise i],[fx=grow i],[fx=focus i],[fx=wipe i],[fx=push i],[fx=duotone i],[fx=draw i],[fx=axis i],[fx=reveal i],[fx=fade-in i],[fx=slide-up i],[fx=zoom-in i],[fx=rotate-in i],[fx=blur-in i]):not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target])))) cv-animate[fx=zoom-in i]:not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target]):not([data-cv-live]){animation:cv-boot-zoom-in .6s linear both}.cv-js cv-stage>cv-scene:first-of-type:not([preload],[zone],[track],[sequence]):not(:has(cv-animate:is([fx],[from]):not(:is([fx=fade i],[fx=rise i],[fx=grow i],[fx=focus i],[fx=wipe i],[fx=push i],[fx=duotone i],[fx=draw i],[fx=axis i],[fx=reveal i],[fx=fade-in i],[fx=slide-up i],[fx=zoom-in i],[fx=rotate-in i],[fx=blur-in i]):not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target])))) cv-animate[fx=rotate-in i]:not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target]):not([data-cv-live]){animation:cv-boot-rotate-in .6s linear both}.cv-js cv-stage>cv-scene:first-of-type:not([preload],[zone],[track],[sequence]):not(:has(cv-animate:is([fx],[from]):not(:is([fx=fade i],[fx=rise i],[fx=grow i],[fx=focus i],[fx=wipe i],[fx=push i],[fx=duotone i],[fx=draw i],[fx=axis i],[fx=reveal i],[fx=fade-in i],[fx=slide-up i],[fx=zoom-in i],[fx=rotate-in i],[fx=blur-in i]):not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target])))) cv-animate[fx=blur-in i]:not([delay],[after],[at],[stagger],[split],[from],[to],[on],[duration],[ease],[display],[target]):not([data-cv-live]){animation:cv-boot-blur-in .6s linear both}}:root{--ground: #0f0e0d;--surface: #181614;--surface-2: #211e1b;--ink: #ede6dc;--ink-soft: #a39a8e;--gold: #bd9661;--gold-light: #e7c399;--gold-deep: #896b48;--line: #2c2823;--on-gold: #0f0e0d;--font-sans: "Barlow", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--u: calc(min(100vw, 177.78vh, 1920px) / 1920);--m: max(20px, calc(120 * var(--u)));--bar-h: 72px;color-scheme:dark;--cv-veil: rgb(15 14 13 / 72%)}@font-face{font-family:Noto Sans SC;src:url(/assets/sans-400-vtJKb7pk.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Noto Sans SC;src:url(/assets/sans-700-BXGf0zuw.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Barlow;src:url(/assets/barlow-400-wyfFnIo7.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Barlow;src:url(/assets/barlow-600-J1zJqx1m.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Barlow;src:url(/assets/barlow-700-kJDbtVj-.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/mono-400-DgkgR3ll.woff2) format("woff2");font-weight:400;font-display:swap}*,*:before,*:after{box-sizing:border-box}html{background:var(--ground);-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font:400 18px/1.7 var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p,dl,dd,figure,ul{margin:0}ul{padding:0;list-style:none}img{display:block;max-width:100%;height:auto}a{color:inherit}em{font-style:normal;color:var(--gold)}::selection{background:var(--gold);color:var(--on-gold)}.mono{font-family:var(--font-mono);letter-spacing:.08em}html[lang=en] [lang=zh-CN],html[lang=zh-CN] [lang=en]{display:none!important}html[lang=en] .bar [data-set-lang][lang=zh-CN],html[lang=zh-CN] .bar [data-set-lang][lang=en]{display:inline-flex!important}:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px;border-radius:4px}.skip{position:fixed;left:16px;top:-80px;z-index:30;padding:10px 16px;border-radius:999px;background:var(--gold);color:var(--on-gold);text-decoration:none;font-weight:600}.skip:focus{top:16px}.bar{position:fixed;inset:0 0 auto;z-index:20;height:var(--bar-h);display:flex;align-items:center;gap:28px;padding:0 var(--m);background:linear-gradient(to bottom,#0f0e0ddb,#0f0e0d00);pointer-events:none;transition:background-color .3s,backdrop-filter .3s,border-color .3s;border-bottom:1px solid transparent}.bar>*{pointer-events:auto}.bar[data-solid]{background:#0f0e0dcc;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;letter-spacing:.04em}.brand img{width:32px;height:32px;border-radius:50%;border:1px solid var(--gold-deep)}.bar-nav{display:flex;gap:26px;margin-left:auto;font-size:15px}.bar-nav a{text-decoration:none;color:var(--ink-soft);transition:color .2s}.bar-nav a:hover,.bar-nav a[aria-current=true]{color:var(--gold-light)}.langs{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:999px}.langs button{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border:0;border-radius:999px;background:none;color:var(--ink-soft);font:600 13px/1 var(--font-sans);cursor:pointer}.langs button[aria-pressed=true]{background:var(--surface-2);color:var(--gold-light)}cv-stage{background:var(--ground)}.act{background:var(--ground)}h2 .clip>cv-animate>span,.road-title{text-wrap:balance}.clip{display:block;overflow:clip;overflow-clip-margin:calc(10 * var(--u));padding-bottom:.06em}.kicker{display:inline-flex;align-items:center;gap:14px;color:var(--gold);font-size:13px;text-transform:uppercase}.kicker:before{content:"";width:28px;height:1px;background:var(--gold-deep)}.actions{display:flex;flex-wrap:wrap;gap:14px}.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;font-weight:600;font-size:16px;text-decoration:none;transition:background .2s,color .2s,border-color .2s}.btn-gold{background:var(--gold);color:var(--on-gold)}.btn-gold:hover{background:var(--gold-light)}.btn-line{border:1px solid var(--gold-deep);color:var(--gold-light)}.btn-line:hover{border-color:var(--gold-light);background:#bd966114}.hello{position:relative;display:grid;grid-template-columns:min(56vw,calc(100svh * 1532 / 1519)) minmax(0,1fr);min-height:100svh}.hello-photo{position:relative;height:100svh;overflow:hidden}.hello-photo::part(layer){height:100%;transform-origin:60% 40%}.hello-photo img{width:100%;height:100%;object-fit:cover;object-position:72% 45%}.hello-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,transparent 62%,var(--ground) 99%),linear-gradient(to top,rgb(15 14 13 / .5),transparent 30%)}.hello-copy{align-self:center;display:grid;justify-items:start;gap:calc(40 * var(--u));padding:calc(120 * var(--u)) var(--m) calc(120 * var(--u)) calc(80 * var(--u))}.hello-rule{width:calc(220 * var(--u));min-width:96px}.hello-rule::part(layer){transform-origin:left center}.hello-rule span{display:block;height:2px;background:linear-gradient(to right,var(--gold),var(--gold-deep))}.hello-title{display:grid;font-weight:700;line-height:1}.hello-title .hi{display:block;font-size:max(26px,calc(58 * var(--u)));font-weight:400;color:var(--ink-soft);letter-spacing:.02em}.hello-title .name{display:block;font-size:max(84px,calc(236 * var(--u)));letter-spacing:-.03em;line-height:.92;background:linear-gradient(176deg,var(--gold-light) 18%,var(--gold) 58%,var(--gold-deep) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hello-line{font-size:max(19px,calc(34 * var(--u)));line-height:1.6;color:var(--ink)}.hello-role{font-size:12px;color:var(--ink-soft)}.scroll-cue{position:absolute;left:50%;bottom:28px;translate:-50% 0;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--gold);text-decoration:none;animation:cue 2.4s ease-in-out infinite}@keyframes cue{50%{translate:-50% 6px}}.about{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:calc(110 * var(--u));min-height:100svh;padding:calc(180 * var(--u)) var(--m);overflow:clip}.about-map{position:absolute;inset:0;pointer-events:none}.about-map::part(layer){height:100%}.contours{width:100%;height:100%}.contours path{fill:none;stroke:var(--gold-deep);stroke-width:1.2;opacity:.42}.about-main,.skills{position:relative}.about-main{display:grid;gap:calc(48 * var(--u));container-type:inline-size}.about-title{font-weight:700;font-size:clamp(26px,8.4cqi,calc(84 * var(--u)));line-height:1.14;letter-spacing:-.01em}.about-text{display:grid;gap:10px;color:var(--ink-soft);font-size:max(17px,calc(28 * var(--u)))}.skill-list{display:grid}.skill{display:grid;grid-template-columns:minmax(96px,.36fr) 1fr;gap:24px;align-items:baseline;padding:calc(30 * var(--u)) 0;border-top:1px solid var(--line)}.skill:last-child{border-bottom:1px solid var(--line)}.skill dt{color:var(--gold);font-weight:600;font-size:15px;letter-spacing:.06em}.skill dd{font-size:max(16px,calc(26 * var(--u)))}#road{height:calc(4300px + 100svh)}.road{position:relative;height:100svh;overflow:clip;background:#000}.road-video,.road-shade,.road-dim,.road-end{position:absolute;inset:0}.road-video::part(video){width:100%;height:100%;object-fit:cover}.road-shade{pointer-events:none;background:linear-gradient(to right,rgb(15 14 13 / .78),rgb(15 14 13 / .15) 46%,transparent 70%),linear-gradient(to top,rgb(15 14 13 / .7),transparent 34%)}.road-intro{position:absolute;left:var(--m);bottom:calc(150 * var(--u))}.road-intro-inner{display:grid;gap:18px}.road-title{font-weight:700;font-size:max(56px,calc(150 * var(--u)));line-height:1;letter-spacing:-.02em;text-shadow:0 2px 30px rgb(0 0 0 / .35)}.road-hint{color:var(--gold-light);font-size:13px}@keyframes road-intro-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-40px)}}.road-sign{position:absolute;left:var(--m);top:50%;translate:0 -50%}.sign{display:grid;grid-template-columns:auto 1fr;column-gap:22px;align-items:baseline;padding:calc(34 * var(--u)) calc(46 * var(--u)) calc(34 * var(--u)) calc(34 * var(--u));min-width:min(440px,80vw);border-left:3px solid var(--gold);background:linear-gradient(to right,#0f0e0dd1,#0f0e0d59);backdrop-filter:blur(6px)}.sign-no{grid-row:span 2;color:var(--gold);font-size:14px}.sign-word{font-weight:700;font-size:max(48px,calc(118 * var(--u)));line-height:1.05;color:var(--ink)}.sign-note{color:var(--ink-soft);font-size:max(15px,calc(24 * var(--u)))}@keyframes road-sign{0%{opacity:0;transform:translate(80px)}22%{opacity:1;transform:none}74%{opacity:1;transform:none}to{opacity:0;transform:translate(-60px) scale(.96)}}.road-progress{position:absolute;left:0;right:0;bottom:0}.road-progress::part(layer){transform-origin:left center}.road-progress span{display:block;height:3px;background:var(--gold)}.road-dim{pointer-events:none}.road-dim span{display:block;width:100%;height:100%;background:var(--ground)}.road-end{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:1fr auto;column-gap:calc(80 * var(--u));padding:calc(140 * var(--u)) var(--m) calc(120 * var(--u));pointer-events:none}.road-snow{grid-row:1 / span 2;align-self:stretch;min-height:0}.road-snow::part(layer){height:100%}.road-snow img{width:100%;height:100%;object-fit:cover;border-radius:4px}.road-group{align-self:end}.road-group figure{display:grid;gap:14px}.road-group img{width:100%;border-radius:4px;box-shadow:0 30px 80px #00000080}.road-group figcaption{color:var(--ink-soft);font-size:12px}.road-outro{align-self:start;padding-top:calc(36 * var(--u))}.road-outro p{font-weight:700;font-size:max(24px,calc(52 * var(--u)));line-height:1.25}.works{display:grid;grid-template-columns:minmax(0,1fr);gap:calc(96 * var(--u));padding:calc(180 * var(--u)) var(--m) calc(160 * var(--u))}.works>*,.cv>*,.cv-copy>*,.about>*,.road-end>*,.follow-inner>*{min-width:0}.works-head{display:grid;gap:calc(28 * var(--u))}.works-title{font-weight:700;font-size:max(34px,calc(96 * var(--u)));line-height:1.1;letter-spacing:-.01em}.cv{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:calc(90 * var(--u));padding:calc(64 * var(--u));border:1px solid var(--line);border-radius:20px;background:linear-gradient(150deg,var(--surface-2),var(--surface) 60%)}.cv-copy{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:calc(44 * var(--u))}.cv-name{display:flex;align-items:baseline;gap:16px;font-weight:700;font-size:max(32px,calc(64 * var(--u)));letter-spacing:-.01em}.cv-version{color:var(--gold);font-size:13px;font-weight:400}.cv-lead{margin-top:18px;color:var(--ink-soft);font-size:max(16px,calc(25 * var(--u)));line-height:1.75}.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.fact{display:grid;gap:6px;padding-top:16px;border-top:1px solid var(--gold-deep)}.fact-num{display:inline-block;font-weight:700;font-size:max(32px,calc(60 * var(--u)));line-height:1;color:var(--gold-light);font-variant-numeric:tabular-nums}.fact dd{color:var(--ink-soft);font-size:14px;line-height:1.4}.code{border:1px solid var(--line);border-radius:12px;background:#0b0a09;overflow:hidden}.code figcaption{padding:10px 16px;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:11px}.code pre{margin:0;padding:16px;overflow-x:auto;font:13px/1.7 var(--font-mono);color:var(--ink-soft);white-space:pre-wrap;overflow-wrap:anywhere}.code .t{color:var(--gold)}.code .a{color:var(--gold-light)}.code .s{color:#c9bfae}.shot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.shot-main{grid-column:1 / -1}.shot a{display:grid;gap:10px;text-decoration:none}.shot img{width:100%;aspect-ratio:16 / 10;object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:10px;transition:transform .35s cubic-bezier(.16,.84,.24,1),border-color .2s}.shot a:hover img{transform:translateY(-4px);border-color:var(--gold-deep)}.shot-cap{color:var(--ink-soft);font-size:13px}.shot a:hover .shot-cap{color:var(--gold-light)}.other-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(40 * var(--u))}.other{display:grid;align-content:start;gap:14px;padding:calc(48 * var(--u));border:1px solid var(--line);border-radius:16px;background:var(--surface)}.other-tag{color:var(--gold);font-size:12px;text-transform:uppercase}.other-name{font-weight:700;font-size:max(26px,calc(44 * var(--u)))}.other-desc{color:var(--ink-soft);font-size:max(16px,calc(23 * var(--u)))}.other-foot{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 20px;padding-top:14px;border-top:1px solid var(--line)}.other-stack{color:var(--ink-soft);font-size:12px}.other-link{color:var(--gold-light);font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap}.other-link:hover{color:var(--gold)}.follow{display:grid;grid-template-rows:1fr auto;min-height:100svh;padding:calc(160 * var(--u)) var(--m) 32px}.follow-inner{align-self:center;display:grid;gap:calc(56 * var(--u))}.follow-title{font-weight:700;font-size:max(40px,calc(128 * var(--u)));line-height:1.05;letter-spacing:-.02em}.link-list{display:grid}.link a{display:grid;grid-template-columns:minmax(80px,.22fr) 1fr auto;align-items:baseline;gap:24px;padding:calc(34 * var(--u)) 0;border-top:1px solid var(--line);text-decoration:none;transition:color .2s,padding .3s cubic-bezier(.16,.84,.24,1)}.link:last-child a{border-bottom:1px solid var(--line)}.link-k{color:var(--gold);font-size:13px;text-transform:uppercase}.link-v{font-weight:600;font-size:max(22px,calc(48 * var(--u)));overflow-wrap:anywhere}.link-go{color:var(--gold);font-size:22px}.link a:hover{color:var(--gold-light);padding-left:12px}.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:var(--ink-soft);font-size:12px}@media (max-width: 760px){:root{--u: calc(100vw / 750);--m: 22px;--bar-h: 60px}body{font-size:16px}.bar{gap:14px}.bar-nav{display:none}.langs{margin-left:auto}.hello{grid-template-columns:1fr;grid-template-rows:auto 1fr}.hello-photo{height:auto;aspect-ratio:1532 / 1519}.hello-photo:after{background:linear-gradient(to top,var(--ground) 2%,transparent 45%)}.hello-copy{align-self:start;gap:22px;margin-top:-48px;padding:0 var(--m) 96px;position:relative}.hello-title .name{font-size:96px}.scroll-cue{display:none}.about{grid-template-columns:1fr;gap:48px;padding:120px var(--m) 96px}.road-intro{bottom:120px}.road-shade{background:linear-gradient(to top,#0f0e0de0,#0f0e0d59 55%,#0f0e0d1a)}.road-sign{left:var(--m);right:var(--m)}.sign{min-width:0}.road-end{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto auto;row-gap:18px;padding:84px var(--m) 40px}.road-snow{grid-row:auto}.road-group{justify-self:end;width:72%;margin-top:-90px}.road-outro{padding-top:0}.works{gap:48px;padding:120px var(--m) 96px}.works-title{font-size:30px}.follow-title{font-size:40px}.road-title{font-size:46px}.code pre{font-size:11.5px}.cv{grid-template-columns:1fr;gap:40px;padding:24px}.facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}.shot-grid{grid-template-columns:1fr 1fr}.other-list{grid-template-columns:1fr;gap:16px}.other{padding:24px}.follow{padding:120px var(--m) 28px}.link a{grid-template-columns:1fr auto;row-gap:4px}.link-k{grid-column:1 / -1}}@media (min-width: 761px) and (max-width: 1100px) and (orientation: portrait){.hello{grid-template-columns:1fr;grid-template-rows:auto 1fr}.hello-photo{height:auto;aspect-ratio:1532 / 1519;max-height:62svh}.hello-photo img{object-position:60% 40%}.hello-photo:after{background:linear-gradient(to top,var(--ground) 2%,transparent 40%)}.hello-copy{align-self:start;margin-top:-64px;padding:0 var(--m) 96px;position:relative}.hello-actions .actions{flex-wrap:nowrap}.scroll-cue{display:none}.about{grid-template-columns:1fr;gap:56px}.cv{grid-template-columns:minmax(0,1fr)}.road-end{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto auto;row-gap:22px}.road-snow{grid-row:auto}.road-group{justify-self:end;width:62%;margin-top:-140px}}@media (max-height: 560px) and (min-width: 761px){.road-end{padding-top:84px;padding-bottom:40px}.sign-word{font-size:44px}}@media (prefers-reduced-motion: reduce){.scroll-cue{animation:none}.shot img,.link a{transition:none}}
