/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/themes/custom/yusu/dist/./assets/anton-latin-400-normal-Byf51wtH.woff2) format("woff2"),url(/themes/custom/yusu/dist/./assets/anton-latin-400-normal-AUNGEG_V.woff) format("woff")}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/themes/custom/yusu/dist/./assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/themes/custom/yusu/dist/./assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/themes/custom/yusu/dist/./assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/themes/custom/yusu/dist/./assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/themes/custom/yusu/dist/./assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/themes/custom/yusu/dist/./assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(/themes/custom/yusu/dist/./assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff) format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/themes/custom/yusu/dist/./assets/caveat-latin-600-normal-zlTlWIYU.woff2) format("woff2"),url(/themes/custom/yusu/dist/./assets/caveat-latin-600-normal-DUjB8dgm.woff) format("woff")}:root{--c-paper:#f3efe6;--c-paper-2:#e8e1d2;--c-ink:#121212;--c-ink-2:#22211f;--c-smoke:#625d55;--c-chrome:#b8b3a8;--c-red:#d7372b;--c-red-deep:#a8281e;--c-mustard:#e3a82b;--color-bg:var(--c-paper);--color-surface:var(--c-paper-2);--color-fg:var(--c-ink);--color-muted:var(--c-smoke);--color-line:var(--c-ink);--color-accent:var(--c-red);--color-accent-text:var(--c-red-deep);--color-on-accent:var(--c-ink);--color-highlight:var(--c-mustard);--color-focus:var(--c-red);--font-display:"Anton","Bebas Neue",Impact,"Arial Narrow",sans-serif;--font-body:"Space Grotesk Variable","Space Grotesk",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--font-hand:"Caveat","Segoe Print","Bradley Hand",cursive;--step--2:clamp(.72rem,.7rem + .1vw,.78rem);--step--1:clamp(.84rem,.82rem + .12vw,.92rem);--step-0:clamp(1rem,.96rem + .2vw,1.13rem);--step-1:clamp(1.2rem,1.12rem + .38vw,1.45rem);--step-2:clamp(1.44rem,1.3rem + .7vw,1.95rem);--step-3:clamp(1.8rem,1.5rem + 1.4vw,2.8rem);--step-4:clamp(2.4rem,1.9rem + 2.6vw,4.4rem);--step-5:clamp(3.2rem,2.2rem + 5vw,7rem);--step-display:clamp(3.8rem,1.6rem + 11vw,13rem);--leading-tight:.92;--leading-snug:1.2;--leading-body:1.6;--tracking-display:.01em;--tracking-label:.14em;--space-3xs:clamp(.25rem,.23rem + .1vw,.31rem);--space-2xs:clamp(.5rem,.47rem + .15vw,.6rem);--space-xs:clamp(.75rem,.7rem + .25vw,.9rem);--space-s:clamp(1rem,.94rem + .3vw,1.2rem);--space-m:clamp(1.5rem,1.4rem + .5vw,1.8rem);--space-l:clamp(2rem,1.8rem + 1vw,2.6rem);--space-xl:clamp(3rem,2.6rem + 2vw,4.5rem);--space-2xl:clamp(4rem,3.2rem + 4vw,7.5rem);--space-3xl:clamp(6rem,4.5rem + 7vw,11rem);--container:90rem;--container-text:42rem;--gutter:clamp(1rem,.5rem + 3vw,3rem);--line-hair:1px;--line:2px;--line-bold:3px;--radius-0:0;--radius-s:4px;--radius-pill:999px;--shadow-hard:6px 6px 0 0 var(--color-line);--shadow-hard-s:3px 3px 0 0 var(--color-line);--ease-out:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--dur-fast:.14s;--dur:.28s;--dur-slow:.6s;--z-base:0;--z-raised:10;--z-header:100;--z-overlay:200;--z-grain:300}[data-tone=ink]{--color-bg:var(--c-ink);--color-surface:var(--c-ink-2);--color-fg:var(--c-paper);--color-muted:var(--c-chrome);--color-line:var(--c-paper);--color-accent-text:var(--c-red);--color-on-accent:var(--c-ink)}[data-tone=red]{--color-bg:var(--c-red);--color-surface:var(--c-red-deep);--color-fg:var(--c-ink);--color-muted:var(--c-ink);--color-line:var(--c-ink);--color-accent:var(--c-ink);--color-accent-text:var(--c-ink);--color-on-accent:var(--c-paper);--color-focus:var(--c-ink)}[data-tone]{background-color:var(--color-bg);color:var(--color-fg)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:none;text-size-adjust:none;scroll-padding-top:6rem}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{min-height:100svh;background-color:var(--color-bg);color:var(--color-fg);font-family:var(--font-body);font-size:var(--step-0);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}body:after{content:"";position:fixed;inset:0;z-index:var(--z-grain);pointer-events:none;opacity:.09;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}img,picture,svg,video{display:block;max-width:100%}img{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}ul[role=list],ol[role=list]{list-style:none;padding:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:var(--leading-tight);letter-spacing:var(--tracking-display);text-transform:uppercase;text-wrap:balance}h1{font-size:var(--step-5)}h2{font-size:var(--step-4)}h3{font-size:var(--step-2)}h4{font-size:var(--step-1)}p,li{text-wrap:pretty}a{color:inherit;text-decoration-line:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:2px;text-underline-offset:.2em;transition:text-decoration-thickness var(--dur-fast) var(--ease-out)}@media(hover:hover){a:hover{text-decoration-thickness:.4em;text-decoration-skip-ink:none}}strong{font-weight:700}::selection{background-color:var(--c-red);color:var(--c-ink)}:focus-visible{outline:var(--line-bold) solid var(--color-focus);outline-offset:3px}.prose{max-width:var(--container-text)}.prose>*+*{margin-top:var(--space-s)}.prose h2,.prose h3{margin-top:var(--space-l)}.prose blockquote{border-left:var(--line-bold) solid var(--color-accent);padding-left:var(--space-s);font-family:var(--font-hand);font-size:var(--step-2);line-height:var(--leading-snug)}.container{width:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto}.section{padding-block:var(--space-2xl)}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px);white-space:nowrap}.visually-hidden.focusable:is(:active,:focus){position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto}.skip-link{position:absolute;top:var(--space-xs);left:var(--space-xs);z-index:var(--z-overlay);padding:var(--space-2xs) var(--space-s);background:var(--c-red);color:var(--c-ink);font-weight:700}.page-main{display:block}.page-main>.page-content{padding-block:var(--space-xl) var(--space-2xl)}.page-content h1{margin-bottom:var(--space-l)}@media(prefers-reduced-motion:no-preference){.js-motion [data-reveal]:not(.is-revealed){opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.about__grid{display:grid;gap:var(--space-xl);align-items:start;}@media (min-width:56em){.about__grid{grid-template-columns:5fr 7fr;gap:var(--space-2xl);}.about__portrait{position:sticky;top:7rem;}}.about__portrait{display:grid;gap:var(--space-s);max-width:28rem;}.about__frame{aspect-ratio:4 / 5;overflow:hidden;border:var(--line-bold) solid var(--color-line);background:var(--color-surface);box-shadow:12px 12px 0 0 var(--c-red);transform:rotate(-1.5deg);& img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15);}}.about__placeholder{width:100%;height:100%;padding:10%;fill:none;stroke:var(--color-fg);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}.about__caption{color:var(--color-accent-text);font-family:var(--font-hand);font-size:var(--step-2);font-weight:600;line-height:1.1;transform:rotate(-2deg);}.about__content .section-heading{margin-bottom:var(--space-l);}.about__text{display:grid;gap:var(--space-s);max-width:var(--container-text);font-size:var(--step-1);line-height:var(--leading-snug);& p:first-child::first-letter{float:left;margin:0.06em 0.12em 0 0;color:var(--color-accent);font-family:var(--font-display);font-size:3.6em;line-height:0.8;}}.about__passions{display:flex;flex-wrap:wrap;gap:var(--space-s);margin-top:var(--space-l);}
.area__grid{display:grid;gap:var(--space-xl);align-items:start;}@media (min-width:56em){.area__grid{grid-template-columns:7fr 5fr;gap:var(--space-2xl);}.area__places{position:sticky;top:7rem;}}.area__content .section-heading{margin-bottom:var(--space-l);}.area__body{max-width:var(--container-text);font-size:var(--step-1);line-height:var(--leading-snug);& :is(p,ul,ol,h2,h3) + :is(p,ul,ol,h2,h3){margin-top:var(--space-s);}& h2,& h3{font-family:var(--font-display);font-size:var(--step-2);font-weight:400;text-transform:uppercase;}}.area__tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-l);}.area__places{padding:var(--space-m);border:var(--line-bold) solid var(--color-line);background:var(--color-surface);box-shadow:var(--shadow-hard);& ul{display:grid;}& li + li{border-top:var(--line-hair) dashed var(--color-line);}}.area__places-title{margin-bottom:var(--space-xs);color:var(--color-accent-text);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:0.12em;text-transform:uppercase;}.area__place{display:flex;align-items:baseline;gap:var(--space-xs);padding-block:var(--space-xs);color:inherit;text-decoration:none;}.area__place-name{font-family:var(--font-display);font-size:var(--step-3);line-height:1;text-transform:uppercase;}.area__place-note{font-family:var(--font-hand);font-size:var(--step-1);font-weight:600;color:var(--color-accent-text);}.area__place-arrow{margin-left:auto;font-size:var(--step-1);transition:transform var(--dur) var(--ease-out);}.area__place.is-current .area__place-name{color:var(--color-accent-text);}@media (hover:hover){.area__place:hover .area__place-arrow{transform:translateX(6px);}.area__place:hover .area__place-name{text-decoration:underline;text-decoration-thickness:var(--line);text-underline-offset:0.12em;}}.area__place:focus-visible{outline:var(--line-bold) solid var(--color-focus);outline-offset:2px;}.area__more{display:inline-block;margin-top:var(--space-s);color:inherit;font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;}
.button{--button-bg:var(--color-accent);--button-fg:var(--color-on-accent);--button-shadow:var(--shadow-hard-s);display:inline-flex;align-items:center;gap:0.7em;min-height:3rem;padding:0.8em 1.4em;border:var(--line) solid var(--color-line);border-radius:var(--radius-0);background:var(--button-bg);color:var(--button-fg);box-shadow:var(--button-shadow);font-family:var(--font-mono);font-size:var(--step--1);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;text-decoration:none;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background-color var(--dur) var(--ease-out);}.button--outline{--button-bg:transparent;--button-fg:var(--color-fg);}.button--ghost{--button-bg:transparent;--button-fg:var(--color-fg);--button-shadow:none;border-color:transparent;padding-inline:0;}.button__arrow{width:1.15em;height:1.15em;transition:transform var(--dur) var(--ease-out);}@media (hover:hover){.button:hover{text-decoration:none;}.button:not(.button--ghost):hover{transform:translate(3px,3px);box-shadow:0 0 0 0 var(--color-line);}.button:hover .button__arrow{transform:translateX(4px);}}.button:active{transform:translate(3px,3px) scale(0.98);box-shadow:none;}
.cta{position:relative;overflow:clip;padding-block:var(--space-3xl);}.cta__inner{position:relative;display:grid;gap:var(--space-l);}.cta__eyebrow{font-family:var(--font-mono);font-size:var(--step--1);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;}.cta__title{position:relative;z-index:var(--z-raised);max-width:12ch;font-size:var(--step-display);line-height:0.85;}.cta__bottom{position:relative;z-index:var(--z-raised);display:grid;gap:var(--space-m);max-width:36rem;}.cta__text{font-size:var(--step-1);line-height:var(--leading-snug);}.cta__action{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-s) var(--space-m);& .button{--button-bg:var(--c-ink);--button-fg:var(--c-paper);}}.cta__email{font-family:var(--font-mono);font-weight:700;text-decoration-color:var(--c-ink);}.cta__note{font-family:var(--font-hand);font-size:var(--step-2);font-weight:600;transform:rotate(-3deg);}.cta__mark{position:absolute;right:-8%;bottom:-30%;width:clamp(16rem,42vw,40rem);opacity:0.16;& .logo{--logo-size:100%;display:block;}& .logo__mark{width:100%;height:auto;}& .logo__star{fill:var(--c-paper);}}.cta__form{display:grid;gap:var(--space-s);& form{display:grid;gap:var(--space-s);}& .form-item{display:grid;gap:var(--space-3xs);margin:0;}& label{font-family:var(--font-mono);font-size:var(--step--1);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;}& .form-required::after{content:" *";}& input:not([type="submit"]):not([type="hidden"]),& select,& textarea{width:100%;min-height:3rem;padding:0.7em 0.9em;border:var(--line-bold) solid var(--c-ink);border-radius:var(--radius-0);background:var(--c-paper);color:var(--c-ink);font:inherit;font-size:max(16px,var(--step-0));transition:box-shadow var(--dur-fast) var(--ease-out);}& select{appearance:none;padding-inline-end:2.5em;background-image:linear-gradient(45deg,transparent 50%,var(--c-ink) 50%),linear-gradient(135deg,var(--c-ink) 50%,transparent 50%);background-position:calc(100% - 1.2em) 55%,calc(100% - 0.8em) 55%;background-size:0.4em 0.4em;background-repeat:no-repeat;cursor:pointer;}& textarea{min-height:9rem;resize:vertical;}& input:not([type="submit"]):focus-visible,& select:focus-visible,& textarea:focus-visible{outline:none;box-shadow:var(--shadow-hard-s);}& .form-actions{margin-block-start:var(--space-2xs);}& .button{--button-bg:var(--c-ink);--button-fg:var(--c-paper);cursor:pointer;}& .description{font-size:var(--step--1);}& .form-item--error-message,& .messages{font-weight:700;}& .webform-confirmation{padding:var(--space-m);border:var(--line-bold) solid var(--c-ink);background:var(--c-paper);color:var(--c-ink);box-shadow:var(--shadow-hard-s);}}
.doodle{--doodle-stroke:4;overflow:visible;fill:none;stroke-width:var(--doodle-stroke);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none;}.doodle path{vector-effect:non-scaling-stroke;}.doodle--accent{stroke:var(--color-accent);}.doodle--fg{stroke:currentColor;}
.hero{position:relative;padding-block:calc(var(--space-3xl) + 2rem) var(--space-xl);overflow:clip;}.hero__inner{position:relative;display:grid;gap:var(--space-l);}.hero__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-s);}.hero__title{display:grid;font-size:clamp(3.4rem,0.8rem + 10.6vw,12rem);line-height:0.92;letter-spacing:0;}.hero__line{display:block;}.hero__line--outline{color:transparent;-webkit-text-stroke:max(2px,0.022em) var(--color-fg);}.hero__line--red{color:var(--color-accent);}.hero__circled{position:relative;display:inline-block;& .doodle{position:absolute;inset:-14% -7% -10% -9%;width:116%;height:124%;--doodle-stroke:5;}}.hero__bottom{display:grid;gap:var(--space-xl);align-items:end;}.hero__copy{display:grid;gap:var(--space-m);max-width:34rem;}.hero__intro{font-size:var(--step-1);line-height:var(--leading-snug);}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-s) var(--space-m);}.hero__badge{position:relative;justify-self:end;width:clamp(9rem,22vw,17rem);}.hero__mark .logo{--logo-size:100%;display:block;}.hero__mark .logo__mark{width:100%;height:auto;}.hero__note{position:absolute;bottom:88%;right:70%;display:flex;align-items:flex-end;gap:0.25rem;color:var(--color-accent-text);font-family:var(--font-hand);font-size:var(--step-2);font-weight:600;line-height:1;white-space:nowrap;transform:rotate(-8deg);& .doodle{width:3.5rem;height:2.4rem;transform:translateY(1.2rem) rotate(40deg);}}.hero__scroll{display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-label);text-transform:uppercase;}.hero__scroll-line{position:relative;width:5rem;height:var(--line);overflow:hidden;background:color-mix(in oklab,currentColor 20%,transparent);&::after{content:'';position:absolute;inset:0;background:var(--color-accent);animation:hero-throttle 2.2s var(--ease-in-out) infinite;}}@keyframes hero-throttle{from{transform:translateX(-100%);}to{transform:translateX(100%);}}@media (min-width:48em){.hero__bottom{grid-template-columns:1fr auto;}}@media (max-width:47.99em){.hero__note{display:none;}.hero__badge{width:7rem;margin-top:calc(-1 * var(--space-xl));}}@media (min-width:64em){.hero__bottom{grid-template-columns:1fr;}.hero__badge{position:absolute;top:14%;right:0;width:clamp(16rem,25vw,26rem);}}
.logo{--logo-size:2.75rem;display:inline-flex;align-items:center;gap:0.6em;color:inherit;text-decoration:none;}.logo__mark{width:var(--logo-size);height:var(--logo-size);flex:none;}.logo__star{fill:var(--c-red);}.logo__word{display:inline-flex;font-family:var(--font-display);font-size:calc(var(--logo-size) * 0.62);line-height:1;letter-spacing:0.02em;text-transform:uppercase;}.logo__dev{-webkit-text-fill-color:transparent;-webkit-text-stroke:max(1px,0.045em) currentColor;}a.logo{transition:transform var(--dur) var(--ease-out);}@media (hover:hover){a.logo:hover .logo__mark{transform:rotate(-12deg);}}.logo__mark{transition:transform var(--dur-slow) var(--ease-out);}
.marquee{position:relative;overflow:clip;padding-block:var(--space-s);border-block:var(--line-bold) solid var(--color-line);}.marquee--tilt{margin-block:var(--space-m);transform:rotate(-2deg) scale(1.04);}.marquee__track{display:flex;width:max-content;will-change:transform;}.marquee__group{display:flex;align-items:center;flex:none;}.marquee__item{padding-inline:var(--space-m);font-family:var(--font-display);font-size:var(--step-4);line-height:1;text-transform:uppercase;white-space:nowrap;}.marquee__item--outline{color:transparent;-webkit-text-stroke:max(1.5px,0.025em) var(--color-fg);}.marquee__star{width:clamp(1.4rem,1rem + 1.5vw,2.4rem);flex:none;fill:var(--color-accent);}[data-tone='red'] .marquee__star{fill:var(--c-paper);}@media (prefers-reduced-motion:no-preference){html:not(.js-motion) .marquee__track{animation:marquee-roll 40s linear infinite;}}@keyframes marquee-roll{to{transform:translateX(-50%);}}
.project-card{display:grid;gap:var(--space-s);}.project-card__link{display:grid;gap:var(--space-s);color:inherit;text-decoration:none;}.project-card__media{position:relative;aspect-ratio:4 / 3;overflow:hidden;border:var(--line) solid var(--color-line);background:var(--c-ink-2);& img{width:100%;height:112%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out),filter var(--dur-slow) var(--ease-out);filter:grayscale(1) contrast(1.1);}}.project-card__media--red{background:var(--c-red);color:var(--c-ink);}.project-card__media--ink{background:var(--c-ink-2);color:var(--c-paper);}.project-card__media--mustard{background:var(--c-mustard);color:var(--c-ink);}.project-card__media--paper{background:var(--c-paper-2);color:var(--c-ink);}.project-card__cover{position:absolute;inset:0;display:grid;place-items:center;background-image:repeating-linear-gradient(-45deg,transparent 0 14px,color-mix(in oklab,currentColor 9%,transparent) 14px 15px);transition:transform var(--dur-slow) var(--ease-out);& .doodle{position:absolute;top:12%;right:10%;width:22%;height:auto;aspect-ratio:1;}}.project-card__index{font-family:var(--font-display);font-size:clamp(5rem,12vw,10rem);line-height:1;-webkit-text-fill-color:transparent;-webkit-text-stroke:2px currentColor;}.project-card__meta{display:flex;gap:var(--space-s);justify-content:space-between;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:var(--tracking-label);text-transform:uppercase;}.project-card__title{font-size:var(--step-3);}.project-card__summary{color:var(--color-muted);}.project-card__tags{display:flex;flex-wrap:wrap;gap:var(--space-2xs);}@media (hover:hover){.project-card__link:hover img{transform:scale(1.04);filter:grayscale(0) contrast(1);}.project-card__link:hover .project-card__cover{transform:scale(1.04) rotate(-1deg);}.project-card__link:hover .project-card__title{text-decoration:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:0.12em;text-underline-offset:0.12em;}}
.route__road{position:relative;padding-left:clamp(3.5rem,8vw,7rem);}.route__road::before{content:'';position:absolute;top:0;bottom:0;left:clamp(0.75rem,2.5vw,2rem);width:clamp(1.25rem,2.4vw,2rem);background:var(--c-ink);}.route__line{position:absolute;top:0;bottom:0;left:calc(clamp(0.75rem,2.5vw,2rem) + clamp(1.25rem,2.4vw,2rem) / 2 - 5px);width:10px;height:100%;overflow:visible;& path{fill:none;stroke:var(--c-mustard);stroke-width:4;vector-effect:non-scaling-stroke;}}.route__line{-webkit-mask:repeating-linear-gradient(to bottom,#000 0 18px,transparent 18px 34px);mask:repeating-linear-gradient(to bottom,#000 0 18px,transparent 18px 34px);}.route__steps{display:grid;gap:var(--space-2xl);}.route__step{position:relative;display:grid;gap:var(--space-s);}@media (min-width:48em){.route__step{grid-template-columns:minmax(8rem,1fr) 2fr;align-items:start;gap:var(--space-xl);}}.route__km{font-family:var(--font-display);font-size:var(--step-5);line-height:0.8;color:transparent;-webkit-text-stroke:2px var(--color-fg);}.route__step::before{content:'';position:absolute;top:0.4em;left:calc(-1 * clamp(3.5rem,8vw,7rem) + clamp(0.75rem,2.5vw,2rem) - 0.4rem);width:calc(clamp(1.25rem,2.4vw,2rem) + 0.8rem);aspect-ratio:1;border:var(--line-bold) solid var(--c-ink);border-radius:50%;background:var(--c-red);}.route__body{display:grid;gap:var(--space-2xs);max-width:var(--container-text);}.route__label{color:var(--color-accent-text);font-family:var(--font-hand);font-size:var(--step-2);font-weight:600;line-height:1;}.route__title{font-size:var(--step-3);}.route__text{color:var(--color-muted);}
.section-heading{display:grid;gap:var(--space-s);margin-bottom:var(--space-xl);}.section-heading__eyebrow{display:flex;align-items:center;gap:0.75em;font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:var(--tracking-label);text-transform:uppercase;}.section-heading__number{color:var(--color-accent-text);font-weight:700;}.section-heading__number::after{content:'';display:inline-block;width:2.5em;height:var(--line);margin-left:0.75em;vertical-align:middle;background:currentColor;}.section-heading__title{max-width:16ch;font-size:var(--step-5);}.section-heading__aside{display:grid;gap:var(--space-s);max-width:var(--container-text);}.section-heading__intro{color:var(--color-muted);font-size:var(--step-1);line-height:var(--leading-snug);}.section-heading__note{position:relative;display:inline-flex;align-items:flex-end;gap:var(--space-2xs);color:var(--color-accent-text);font-family:var(--font-hand);font-size:var(--step-2);font-weight:600;line-height:1;transform:rotate(-3deg);transform-origin:left;& .doodle{width:4.5rem;height:2.5rem;transform:scaleY(-1) rotate(10deg);}}@media (min-width:56em){.section-heading--split{grid-template-columns:1.4fr 1fr;align-items:end;column-gap:var(--space-xl);& .section-heading__eyebrow{grid-column:1 / -1;}}}
.service-card{display:flex;flex-direction:column;gap:var(--space-s);height:100%;padding:var(--space-m);border:var(--line) solid var(--color-line);background:var(--color-bg);transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out);}@media (hover:hover){.service-card:hover{transform:translate(-6px,-6px) rotate(-0.6deg);box-shadow:var(--shadow-hard);}.service-card:hover .service-card__icon{transform:rotate(72deg) scale(1.1);}}.service-card__top{display:flex;justify-content:space-between;align-items:start;}.service-card__number{font-family:var(--font-display);font-size:var(--step-4);line-height:0.8;color:transparent;-webkit-text-stroke:1.5px var(--color-fg);}.service-card__icon{width:2.75rem;height:2.75rem;color:var(--color-accent);transition:transform var(--dur-slow) var(--ease-out);& .doodle{width:100%;height:100%;}}.service-card__title{font-size:var(--step-3);}.service-card__text{color:var(--color-muted);}.service-card__list{display:grid;gap:var(--space-3xs);margin-top:auto;padding-top:var(--space-s);border-top:var(--line-hair) dashed var(--color-line);font-family:var(--font-mono);font-size:var(--step--1);& li::before{content:'→ ';color:var(--color-accent-text);}}
.services__grid{display:grid;gap:var(--space-m);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));}
.site-footer{padding-block:var(--space-2xl) var(--space-m);overflow:clip;}.site-footer__grid{display:grid;gap:var(--space-l);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));padding-bottom:var(--space-xl);border-bottom:var(--line-hair) dashed var(--color-line);& ul{display:grid;gap:var(--space-3xs);}}.site-footer__col{display:grid;align-content:start;gap:var(--space-xs);}.site-footer__label{color:var(--c-red);font-family:var(--font-mono);font-size:var(--step--2);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;}.site-footer__email{font-size:var(--step-1);font-weight:600;overflow-wrap:anywhere;}.site-footer__muted{color:var(--color-muted);}.site-footer__word{display:flex;justify-content:space-between;padding-block:var(--space-m) var(--space-s);font-family:var(--font-display);font-size:clamp(4rem,23.5vw,24rem);line-height:0.8;text-transform:uppercase;}.site-footer__dev{color:transparent;-webkit-text-stroke:max(2px,0.012em) var(--color-fg);}.site-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-s);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-label);text-transform:uppercase;}
.site-header{position:fixed;inset:0 0 auto;z-index:var(--z-header);padding-block:var(--space-xs);color:var(--c-ink);transition:transform var(--dur-slow) var(--ease-out),background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out);border-bottom:var(--line) solid transparent;& .logo{--logo-size:2.6rem;position:relative;z-index:2;}}.site-header.is-scrolled{background:var(--c-paper);border-bottom-color:var(--c-ink);}.site-header.is-hidden{transform:translateY(-110%);}.site-header__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-m);}.site-header__links{display:flex;gap:var(--space-xs);& a{display:inline-flex;align-items:baseline;gap:0.4em;padding:0.5em 0.6em;font-family:var(--font-mono);font-size:var(--step--1);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;text-decoration:none;}& a:hover,& a[aria-current='page']{background:var(--c-ink);color:var(--c-paper);}}.site-header__index{color:var(--c-red-deep);font-size:0.8em;}.site-header__links a:hover .site-header__index,.site-header__links a[aria-current='page'] .site-header__index{color:var(--c-red);}.site-header__toggle{position:relative;z-index:2;display:none;align-items:center;gap:0.6em;min-height:2.75rem;padding:0.5em 0.9em;border:var(--line) solid currentColor;background:var(--c-paper);font-family:var(--font-mono);font-size:var(--step--1);font-weight:700;letter-spacing:var(--tracking-label);text-transform:uppercase;}.site-header__burger{display:grid;gap:5px;width:1.3rem;& span{height:2px;background:currentColor;transition:transform var(--dur) var(--ease-out);}}.site-header.is-open .site-header__burger span:first-child{transform:translateY(3.5px) rotate(45deg);}.site-header.is-open .site-header__burger span:last-child{transform:translateY(-3.5px) rotate(-45deg);}.site-header__nav{display:flex;align-items:center;gap:var(--space-m);}@media (max-width:55.99em){.site-header__toggle{display:inline-flex;}.site-header__nav{position:fixed;inset:0;z-index:1;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--space-xl);padding:var(--space-3xl) var(--gutter) var(--space-xl);background:var(--c-ink);color:var(--c-paper);clip-path:circle(0 at calc(100% - 3rem) 2.5rem);visibility:hidden;transition:clip-path var(--dur-slow) var(--ease-in-out),visibility 0s linear var(--dur-slow);}.site-header.is-open .site-header__nav{clip-path:circle(150% at calc(100% - 3rem) 2.5rem);visibility:visible;transition:clip-path var(--dur-slow) var(--ease-in-out);}.site-header.is-open .logo{color:var(--c-paper);}.site-header__links{flex-direction:column;gap:0;& a{padding:0.1em 0;font-family:var(--font-display);font-size:var(--step-5);font-weight:400;letter-spacing:0;line-height:1.05;}& a:hover,& a[aria-current='page']{background:none;color:var(--c-red);}}.site-header__index{font-family:var(--font-mono);font-size:var(--step-0);color:var(--c-red);}.site-header__action .button{--button-bg:var(--c-red);--button-fg:var(--c-ink);border-color:var(--c-paper);box-shadow:3px 3px 0 0 var(--c-paper);}}html.menu-open{overflow:hidden;}
.stamp{display:inline-block;padding:0.35em 0.7em;border:var(--line-hair) solid currentColor;font-family:var(--font-mono);font-size:var(--step--2);font-weight:700;letter-spacing:var(--tracking-label);line-height:1.2;text-transform:uppercase;white-space:nowrap;}.stamp--stamp{border:var(--line) solid var(--color-accent-text);border-radius:var(--radius-s);color:var(--color-accent-text);transform:rotate(-4deg);box-shadow:inset 0 0 0 2px var(--color-bg),inset 0 0 0 3px var(--color-accent-text);}.stamp--solid{border-color:var(--color-fg);background:var(--color-fg);color:var(--color-bg);}
.work{overflow:clip;}.work__pin{padding-block:var(--space-2xl);}.work__track{display:grid;gap:var(--space-xl);width:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto;}.work__intro{display:grid;align-content:start;justify-items:start;gap:var(--space-m);& .section-heading{margin-bottom:0;}}.work__list{display:grid;gap:var(--space-xl);}@media (min-width:40em) and (max-width:63.99em){.work__list{grid-template-columns:repeat(2,1fr);}}@media (min-width:64em){.work__pin{display:flex;align-items:center;min-height:100svh;}.work__track{display:flex;align-items:center;gap:var(--space-2xl);width:max-content;margin:0;padding-inline:var(--gutter) 12vw;}.work__intro{width:min(34rem,40vw);flex:none;}.work__list{display:flex;gap:var(--space-xl);}.work__item{width:clamp(22rem,32vw,34rem);flex:none;}.work__item:nth-child(even){transform:translateY(var(--space-xl));}}@media (min-width:64em) and (prefers-reduced-motion:reduce){.work__pin{overflow-x:auto;}}
