:root{--color-accent-ink: #c42d00;--color-on-accent: #fff;--color-on-dark-dim: #9a9a93;--color-on-dark-muted: #6e6e67;--color-border-dark: #2a2a26;--color-ph-dark-bg: #141416;--color-ph-dark-line: #33332e;--color-ph-dark-text: #7e7e77;--color-ph-dark-label: #c9c8c1;--motion: 0.15s;--motion-slow: 0.5s;--type-eyebrow: var(--text-xs);--type-caption: var(--text-xs);--type-button: var(--text-sm);--type-small: var(--text-sm);--type-body: var(--text-base);--type-lead: var(--text-base);--type-title: var(--text-base);--pad: clamp(1.1rem, 4vw, 3rem);--rule: 1px solid var(--color-border)}body{margin: 0;background: var(--color-bg);font-family: var(--font-body);font-size: var(--text-base);line-height: var(--leading-body);color: var(--color-text);-webkit-font-smoothing: antialiased;overflow-x: hidden}::selection{background: var(--color-accent);color: var(--color-on-accent)}a{text-decoration: none;color: inherit}:focus-visible{outline: 2px solid var(--color-accent);outline-offset: 2px}img{max-width: 100%;height: auto}.skip-link{position: absolute;left: -9999px}.skip-link:focus{top: 8px;left: var(--pad);z-index: 99;padding: 8px 14px;background: var(--color-surface-alt);color: var(--color-text-invert)}.container{max-width: var(--container-content);margin: 0 auto;padding-inline: var(--pad)}.container--wide{max-width: var(--container)}.container--narrow{max-width: var(--container-narrow)}.section{padding-block: clamp(2.8rem, 6.5vw, 5rem);border-top: var(--rule)}.section--alt{background: var(--color-bg-alt)}.section--flush{border-top: 0}h1, h2, h3, h4{margin: 0;font-family: var(--font-heading);font-weight: var(--weight-bold);letter-spacing: -0.028em;text-wrap: balance}h1{font-size: var(--text-4xl);line-height: var(--leading-tight);letter-spacing: -0.04em}h2{margin-bottom: 0.75rem;font-size: var(--text-2xl);line-height: var(--leading-tight)}h3{margin-bottom: 0.3rem;font-size: var(--text-base);letter-spacing: -0.012em}p{margin: 0 0 0.95em;text-wrap: pretty}.lead{max-width: 62ch;font-size: var(--type-lead);color: var(--color-text-dim)}.muted{font-size: var(--type-caption);line-height: var(--leading-body);color: var(--color-text-muted)}.data{font-family: var(--font-heading);font-weight: var(--weight-medium);font-variant-numeric: tabular-nums}strong, b{font-weight: var(--weight-medium);color: var(--color-text)}.label{display: flex;gap: 0.6rem;align-items: center;margin: 0 0 1rem;font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-medium);letter-spacing: 0.17em;text-transform: uppercase;color: var(--color-text-muted)}.label__no{font-weight: var(--weight-bold);color: var(--color-accent-ink)}.label::after{flex: 1;max-width: 5rem;height: 1px;background: var(--color-border);content: ""}.btn{position: relative;isolation: isolate;overflow: hidden}.btn::before{position: absolute;inset: 0;z-index: 1;background: var(--color-text);transform: scale(0);transition: transform var(--dur-slow) var(--ease-out);content: "";transform-origin: var(--btn-x, 50%) var(--btn-y, 50%)}.btn:hover::before, .btn:focus-visible::before{transform: scale(1)}.btn > span{position: relative;z-index: 2}.btn:hover{background: var(--color-cta)}.btn:hover > span, .btn:focus-visible > span{color: var(--color-text-invert);transition: color var(--dur-base) var(--ease-out) 0.08s}.btn--ghost:hover, .btn--ghost:focus-visible{border-color: var(--color-text);background: transparent}.thesis .btn::before, .cta .btn::before, .site-footer .btn::before{background: var(--color-text-invert)}.thesis .btn:hover > span, .cta .btn:hover > span, .site-footer .btn:hover > span{color: var(--color-text)}.thesis .btn--ghost:hover, .cta .btn--ghost:hover, .site-footer .btn--ghost:hover{border-color: var(--color-text-invert)}.site-header{position: sticky;top: 0;z-index: 40;background: var(--color-bg);border-bottom: var(--rule)}.site-header__inner{display: flex;gap: 1.4rem;align-items: center;min-height: 66px}.site-header__brand{display: block;margin-right: auto;line-height: 0;color: var(--color-text)}.brand-logo{display: block;width: 83px;height: 34px}.site-nav__list{display: flex;flex-wrap: wrap;gap: clamp(0.8rem, 2vw, 1.7rem);margin: 0;padding: 0;font-family: var(--font-heading);font-size: var(--type-button);font-weight: var(--weight-medium);color: var(--color-text-dim);list-style: none}.site-nav__list a:hover, .site-nav__list .current-menu-item > a{color: var(--color-accent-ink)}.site-header__cta{padding: 0.55rem 1rem;border: 1px solid var(--color-surface-alt);background: var(--color-surface-alt);font-family: var(--font-heading);font-size: var(--type-button);font-weight: var(--weight-bold);color: var(--color-text-invert)}.site-header__cta:hover{border-color: var(--color-accent);background: var(--color-accent);color: var(--color-on-accent)}.nav-toggle{display: none;flex-direction: column;justify-content: space-between;width: 40px;height: 36px;padding: 9px 8px;border: 1px solid var(--color-border-strong);background: transparent;cursor: pointer}.nav-toggle span{display: block;height: 1.5px;background: var(--color-text)}@media (max-width: 980px){.nav-toggle{display: flex}.site-nav{display: none;width: 100%;padding-bottom: 1rem;order: 3}.site-nav.is-open{display: block}.site-nav__list{flex-direction: column;gap: 0.75rem;font-size: var(--type-lead)}.site-header__inner{flex-wrap: wrap}}.hero{position: relative;padding-block: clamp(3rem, 8vw, 6.5rem) clamp(2.2rem, 5vw, 3.6rem);overflow: hidden}.hero__grid{position: absolute;inset: 0;background-image: linear-gradient(var(--color-border) 1px, transparent 1px), linear-gradient(90deg, var(--color-border) 1px, transparent 1px);opacity: 0.45;background-size: 72px 72px;-webkit-mask-image: radial-gradient(120% 90% at 78% 18%, rgb(0 0 0) 0%, transparent 72%);mask-image: radial-gradient(120% 90% at 78% 18%, rgb(0 0 0) 0%, transparent 72%);pointer-events: none}.hero__net{position: absolute;inset: 0;display: block;width: 100%;height: 100%;pointer-events: none}.hero__inner{position: relative}.hero__kicker{display: flex;gap: 0.7rem;align-items: center;margin: 0 0 1.4rem;font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-medium);letter-spacing: 0.2em;text-transform: uppercase;color: var(--color-text-muted)}.hero__kicker b{font-weight: var(--weight-bold);letter-spacing: 0.2em;color: var(--color-text)}.hero__kicker i{display: block;width: 26px;height: 1px;background: var(--color-accent)}.hero__title{max-width: 17ch}.hero__title em{color: var(--color-accent);font-style: normal}.hero__foot{display: grid;gap: 1.6rem;margin-top: clamp(1.8rem, 4vw, 2.8rem)}@media (min-width: 980px){.hero__foot{grid-template-columns: minmax(0, 42ch) auto;align-items: end;justify-content: space-between}}.hero__lead{margin: 0;font-size: var(--type-lead);color: var(--color-text-dim)}.actions{display: flex;flex-wrap: wrap;gap: 0.6rem}.spec, .statbar{margin: 0}.spec dt, .spec dd, .statbar dt, .statbar dd{margin: 0}.statbar{display: grid;grid-template-columns: repeat(2, 1fr);gap: clamp(1.1rem, 3vw, 2.4rem) clamp(1.4rem, 4vw, 3.2rem);margin-top: clamp(2rem, 5vw, 3.4rem);padding-top: clamp(1.1rem, 2.4vw, 1.5rem);border-top: var(--rule)}@media (min-width: 980px){.statbar{grid-template-columns: repeat(4, 1fr)}}.stat__k{display: block;font-family: var(--font-heading);font-size: var(--text-lg);font-weight: var(--weight-bold);line-height: var(--leading-tight);letter-spacing: -0.028em;text-wrap: balance}.stat__v{display: block;max-width: 30ch;margin-top: 0.35rem;font-size: var(--type-caption);line-height: var(--leading-body);color: var(--color-text-muted);text-wrap: balance}.thesis{display: grid;grid-template-columns: 1fr;background: var(--color-surface-alt);color: var(--color-text-invert)}.thesis__txt{padding: clamp(2.6rem, 6vw, 4.4rem) var(--pad)}.thesis__media{position: relative;aspect-ratio: 16 / 10}@media (min-width: 980px){.thesis{grid-template-columns: minmax(0, 1fr) minmax(0, 42%)}.thesis__txt{padding-block: clamp(3rem, 6vw, 4.6rem);padding-right: clamp(1.6rem, 3vw, 2.6rem);padding-left: max(var(--pad), (100vw - var(--container)) / 2 + var(--pad))}.thesis__media{aspect-ratio: auto}}.split{display: grid;grid-template-columns: 1fr;gap: clamp(1.6rem, 4vw, 3rem);align-items: start;margin-top: 1.8rem}@media (min-width: 768px){.split{grid-template-columns: minmax(0, 1fr) minmax(0, 22rem)}.split--wide-media{grid-template-columns: minmax(0, 1fr) minmax(0, 30rem)}}.split__media{position: relative}.split__body > :first-child{margin-top: 0}.thesis__title{max-width: 26ch;font-size: var(--text-2xl);line-height: var(--leading-tight)}.thesis__title em{color: var(--color-accent);font-style: normal}.thesis__sub{max-width: 56ch;margin: 1.1rem 0 0;font-size: var(--type-lead);color: var(--color-on-dark-dim)}.thesis .label{color: var(--color-ph-dark-text)}.thesis .label::after{background: var(--color-border-dark)}.thesis .label__no{color: var(--color-accent)}.ph{position: relative;display: flex;flex-direction: column;gap: 0.3rem;align-items: center;justify-content: center;padding: 1rem;border: 1px solid var(--color-border-strong);background: var(--color-surface);background-image: repeating-linear-gradient( 135deg, rgb(180 179 171 / 16%) 0 1px, transparent 1px 11px );text-align: center;color: var(--color-text-muted)}.ph::before, .ph::after{position: absolute;width: 9px;height: 9px;border: 1px solid var(--color-border-strong);content: ""}.ph::before{top: 6px;left: 6px;border-bottom: 0;border-right: 0}.ph::after{right: 6px;bottom: 6px;border-left: 0;border-top: 0}.ph__l{font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-bold);letter-spacing: 0.12em;text-transform: uppercase;color: var(--color-text-dim)}.ph__d{font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-medium);color: var(--color-accent-ink);font-variant-numeric: tabular-nums}.ph__n{max-width: 26ch;font-size: var(--type-eyebrow);line-height: var(--leading-snug);text-wrap: balance}.ph--16x10{aspect-ratio: 16 / 10}.ph--16x9{aspect-ratio: 16 / 9}.ph--4x3{aspect-ratio: 4 / 3}.ph--1x1{aspect-ratio: 1 / 1}.ph--fill{position: absolute;inset: 0}.ph--dark{border-color: var(--color-ph-dark-line);background: var(--color-ph-dark-bg);background-image: repeating-linear-gradient( 135deg, rgb(255 255 255 / 5%) 0 1px, transparent 1px 11px );color: var(--color-ph-dark-text)}.ph--dark::before, .ph--dark::after{border-color: var(--color-ph-dark-line)}.ph--dark .ph__l{color: var(--color-ph-dark-label)}.ph--dark .ph__d{color: var(--color-accent)}.media-img{display: block;width: 100%;height: 100%;object-fit: cover}.rail{margin-top: 1.8rem;padding-bottom: 0.3rem;overflow-x: auto}.rail__inner{display: grid;grid-template-columns: repeat(5, minmax(172px, 1fr));gap: 1px;min-width: 880px;border: var(--rule);background: var(--color-border)}.step{padding: 1rem 0.9rem 1.1rem;background: var(--color-bg)}.step__no{display: block;margin-bottom: 0.5rem;font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-medium);letter-spacing: 0.14em;color: var(--color-text-muted);font-variant-numeric: tabular-nums}.step__title{display: block;font-family: var(--font-heading);font-size: var(--type-title);font-weight: var(--weight-bold);letter-spacing: -0.012em}.step__tags{display: flex;gap: 0.25rem;margin-top: 0.45rem}.chip{padding: 0.12rem 0.36rem;font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-bold);line-height: var(--leading-snug);letter-spacing: 0.07em;color: var(--color-on-accent)}.chip--human{background: var(--color-text)}.chip--ai{background: var(--color-accent)}.step__gate{display: block;margin-top: 0.5rem;font-size: var(--type-eyebrow);font-weight: var(--weight-medium);color: var(--color-accent-ink)}.step__desc{display: block;margin-top: 0.45rem;font-size: var(--type-small);line-height: var(--leading-snug);color: var(--color-text-dim);text-wrap: balance}.outcomes{display: grid;gap: 1px;margin-top: 1.6rem;border: var(--rule);background: var(--color-border)}@media (min-width: 768px){.outcomes{grid-template-columns: repeat(4, 1fr)}}.outcome{padding: 0.95rem 1rem;background: var(--color-bg)}.outcome__i{display: block;margin-bottom: 0.35rem;font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-bold);color: var(--color-accent-ink)}.outcome__t{display: block;font-size: var(--type-small);line-height: var(--leading-snug);color: var(--color-text-dim);text-wrap: balance}.services{display: grid;margin-top: 1.8rem;border-left: var(--rule);border-top: var(--rule)}@media (min-width: 560px){.services{grid-template-columns: repeat(2, 1fr)}}@media (min-width: 980px){.services{grid-template-columns: repeat(3, 1fr)}}.service{display: flex;flex-direction: column;gap: 0.35rem;padding: 1.35rem 1.25rem 1.45rem;background: var(--color-bg);border-bottom: var(--rule);border-right: var(--rule)}.service--feature{background: var(--color-surface)}.service__no{font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-medium);letter-spacing: 0.14em;color: var(--color-text-muted);font-variant-numeric: tabular-nums}.service--feature .service__no{color: var(--color-accent-ink)}.service__icon{display: block;width: 34px;height: 34px;margin: 0.35rem 0 0.55rem;color: var(--color-accent-ink)}.service__desc{margin: 0.15rem 0 0;font-size: var(--type-small);line-height: var(--leading-body);color: var(--color-text-dim)}.service__list{display: grid;gap: 0.3rem;margin: 0.85rem 0 0;padding: 0;list-style: none}.service__list li{position: relative;padding-left: 0.85rem;font-size: var(--type-caption);line-height: var(--leading-snug);color: var(--color-text-muted)}.service__list li::before{position: absolute;top: 0.55em;left: 0;width: 4px;height: 1px;background: var(--color-accent);content: ""}.service__more{margin-top: auto;padding-top: 1.05rem;font-family: var(--font-heading);font-size: var(--type-button);font-weight: var(--weight-bold);color: var(--color-accent-ink)}.service__more:hover{color: var(--color-accent)}.work__top{display: flex;flex-wrap: wrap;gap: 1rem;align-items: end;justify-content: space-between;margin-top: 1.6rem}.carousel-nav{display: flex;gap: 0.4rem}.carousel-nav button{display: grid;place-items: center;width: 38px;height: 38px;border: 1px solid var(--color-border-strong);background: transparent;font-family: var(--font-heading);font-size: var(--text-base);line-height: 1;color: var(--color-text);cursor: pointer}.carousel-nav button:hover:not(:disabled){border-color: var(--color-surface-alt);background: var(--color-surface-alt);color: var(--color-text-invert)}.carousel-nav button:disabled{color: var(--color-border-strong);cursor: default}.work{display: flex;gap: 1.1rem;margin-top: 1rem;padding-bottom: 0.6rem;list-style: none;overflow-x: auto;scroll-behavior: smooth;scroll-snap-type: x mandatory;scrollbar-width: none}.work::-webkit-scrollbar{display: none}.work > li{flex: 0 0 min(340px, 82%);scroll-snap-align: start}@media (min-width: 980px){.work > li{flex: 0 0 calc((100% - 2.2rem) / 3)}}.project__meta{display: flex;gap: 0.8rem;align-items: baseline;justify-content: space-between;margin-top: 0.7rem}.project__tag{font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-medium);letter-spacing: 0.12em;text-transform: uppercase;color: var(--color-text-muted)}.project__year{font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-medium);color: var(--color-text-muted);font-variant-numeric: tabular-nums}.project__title{margin: 0.25rem 0 0.2rem;font-size: var(--text-base)}.project__desc{margin: 0;font-size: var(--type-small);line-height: var(--leading-body);color: var(--color-text-dim);text-wrap: balance}.work__foot{display: flex;flex-wrap: wrap;gap: 1rem;align-items: center;margin-top: 1.4rem;padding-top: 1.2rem;border-top: var(--rule)}.why{margin: 1.8rem 0 0;padding: 0;border-top: var(--rule);counter-reset: why;list-style: none}.why > li{display: grid;grid-template-columns: 1fr;gap: 0.5rem 1.6rem;padding: clamp(1.1rem, 2.6vw, 1.7rem) 0;border-bottom: var(--rule);counter-increment: why}@media (min-width: 768px){.why > li{grid-template-columns: 4.5rem minmax(0, 22ch) minmax(0, 1fr);align-items: start}}.why > li::before{font-family: var(--font-heading);font-size: var(--text-2xl);font-weight: var(--weight-bold);line-height: 0.9;color: var(--color-border-strong);content: "0" counter(why);font-variant-numeric: tabular-nums}.why h3{margin: 0;font-size: var(--text-lg)}.why p{max-width: 60ch;margin: 0;font-size: var(--type-small);line-height: var(--leading-body);color: var(--color-text-dim)}.faq-group{margin: 2.2rem 0 0.2rem;font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-medium);letter-spacing: 0.16em;text-transform: uppercase;color: var(--color-accent-ink)}.faq-group:first-of-type{margin-top: 1.8rem}.faq{border-top: var(--rule)}.faq details{border-bottom: var(--rule)}.faq summary{position: relative;padding: 0.95rem 2rem 0.95rem 0;font-family: var(--font-heading);font-size: var(--type-title);font-weight: var(--weight-bold);letter-spacing: -0.012em;cursor: pointer;list-style: none}.faq summary::-webkit-details-marker{display: none}.faq summary::after{position: absolute;top: 0.85rem;right: 0.2rem;font-family: var(--font-heading);font-size: var(--text-lg);font-weight: var(--weight-bold);color: var(--color-accent);content: "+"}[open] .faq__q::after{content: "\2212"}.faq p{max-width: 70ch;margin: 0;padding: 0 2rem 0.95rem 0;font-size: var(--type-small);line-height: var(--leading-body);color: var(--color-text-dim)}.cta{padding-block: clamp(2.6rem, 6vw, 4.2rem);background: var(--color-surface-alt);color: var(--color-text-invert);border-top: 0}.cta__inner{display: grid;gap: 1.5rem;align-items: end}@media (min-width: 768px){.cta__inner{grid-template-columns: 1fr auto}}.cta__title{max-width: 20ch;font-size: var(--text-2xl);line-height: var(--leading-tight)}.cta__detail{margin: 0.8rem 0 0;font-size: var(--type-small);color: var(--color-on-dark-dim)}.cta__detail b{font-weight: var(--weight-medium);color: var(--color-text-invert)}.cta__detail a:hover{color: var(--color-accent)}.site-footer{padding-block: clamp(2.2rem, 5vw, 3.4rem) 0;background: var(--color-surface-alt);color: var(--color-on-dark-dim);border-top: 1px solid var(--color-border-dark)}.site-footer__grid{display: grid;grid-template-columns: 1fr;gap: 2rem 1.6rem}@media (min-width: 560px){.site-footer__grid{grid-template-columns: repeat(2, 1fr)}}@media (min-width: 980px){.site-footer__grid{grid-template-columns: 1.5fr 1fr 1fr 1.2fr}}.site-footer__brand{display: block;margin-bottom: 1rem;line-height: 0;color: var(--color-text-invert)}.site-footer__brand .brand-logo{width: 107px;height: 44px}.site-footer__blurb{max-width: 34ch;margin: 0 0 0.9rem;font-size: var(--type-small);line-height: var(--leading-body)}.site-footer__legal{margin: 0;font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-medium);color: var(--color-on-dark-muted)}.site-footer__h{margin: 0 0 0.8rem;font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-bold);letter-spacing: 0.15em;text-transform: uppercase;color: var(--color-text-invert)}.site-footer ul{display: grid;gap: 0.45rem;margin: 0;padding: 0;list-style: none}.site-footer a{font-size: var(--type-caption);color: var(--color-on-dark-dim)}.site-footer a:hover{color: var(--color-accent)}.site-footer__contact{display: grid;gap: 0.45rem;font-size: var(--type-caption);line-height: var(--leading-snug)}.site-footer__contact b{font-weight: var(--weight-medium);color: var(--color-text-invert)}.site-footer__bar{display: flex;flex-wrap: wrap;gap: 1rem;justify-content: space-between;margin-top: clamp(1.8rem, 4vw, 2.6rem);padding-block: 1rem 1.2rem;font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-medium);letter-spacing: 0.04em;color: var(--color-on-dark-muted);border-top: 1px solid var(--color-border-dark)}.page-hero{position: relative;padding-block: clamp(2.6rem, 6vw, 4.4rem) clamp(1.6rem, 3vw, 2.4rem);border-bottom: var(--rule);overflow: hidden}.page-hero__title{max-width: 20ch;font-size: var(--text-3xl)}.page-hero__lead{max-width: 60ch;margin: 1rem 0 0;font-size: var(--type-lead);color: var(--color-text-dim)}.breadcrumb{display: flex;flex-wrap: wrap;gap: 0.4rem;margin: 0 0 1rem;font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-medium);color: var(--color-text-muted)}.breadcrumb a:hover{color: var(--color-accent-ink)}.prose{max-width: var(--container-narrow)}.prose h2{margin-top: 2.2rem}.prose h3{margin-top: 1.6rem;font-size: var(--text-lg)}.prose p, .prose li{line-height: var(--leading-body);color: var(--color-text-dim)}.prose ul, .prose ol{padding-left: 1.2rem}.prose img{margin-block: 1.4rem}.prose blockquote{margin: 1.8rem 0;padding-left: 1.2rem;font-size: var(--text-lg);color: var(--color-text);border-left: 2px solid var(--color-accent)}.prose a{text-decoration: underline;color: var(--color-accent-ink);text-underline-offset: 0.18em}.tile-grid{display: grid;gap: 1.4rem;margin: 1.8rem 0 0;padding: 0;list-style: none}@media (min-width: 560px){.tile-grid{grid-template-columns: repeat(2, 1fr)}}@media (min-width: 980px){.tile-grid{grid-template-columns: repeat(3, 1fr)}}.tile__title{margin: 0.6rem 0 0.25rem;font-size: var(--text-base)}.tile__excerpt{margin: 0;font-size: var(--type-small);line-height: var(--leading-body);color: var(--color-text-dim)}.tile:hover .tile__title{color: var(--color-accent-ink)}.spec{margin-top: 1.6rem;border-top: var(--rule)}.spec__row{display: grid;grid-template-columns: 1fr;gap: 0.2rem 1.5rem;padding: 0.8rem 0;font-size: var(--type-small);border-bottom: var(--rule)}@media (min-width: 560px){.spec__row{grid-template-columns: 14rem 1fr}}.spec__k{padding-top: 0.15rem;font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-medium);letter-spacing: 0.13em;text-transform: uppercase;color: var(--color-text-muted)}.spec__v{color: var(--color-text-dim)}.form{display: grid;gap: 0.9rem;max-width: 640px;margin-top: 1.6rem}.form__note{margin: 0;font-size: var(--type-caption);color: var(--color-text-muted)}.notice{padding: 0.8rem 1rem;border: 1px solid var(--color-border-strong);background: var(--color-surface);font-size: var(--type-small)}.notice--ok{border-color: var(--color-accent)}.cat-nav{display: flex;flex-wrap: wrap;gap: 0.4rem;margin-bottom: 2rem}.cat-nav__link{display: inline-flex;gap: 0.45rem;align-items: baseline;padding: 0.42rem 0.8rem;border: var(--rule);font-family: var(--font-heading);font-size: var(--type-button);font-weight: var(--weight-medium);text-decoration: none;color: var(--color-text);transition: border-color var(--dur-base) var(--ease-out)}.cat-nav__link:hover{border-color: var(--color-text)}.cat-nav__link--on{border-color: var(--color-text);background: var(--color-text);color: var(--color-text-invert)}.cat-nav__n{font-size: var(--type-caption);color: var(--color-text-muted);font-variant-numeric: tabular-nums}.cat-nav__link--on .cat-nav__n{color: var(--color-on-dark-dim)}.tile__meta{display: flex;flex-wrap: wrap;gap: 0.5rem 0.7rem;align-items: baseline;margin: 0.7rem 0 0;font-size: var(--type-caption);color: var(--color-text-muted)}.tile__cat{font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-bold);letter-spacing: 0.07em;text-transform: uppercase;text-decoration: none;color: var(--color-accent-ink)}.tile__cat:hover{text-decoration: underline}.post-meta{display: flex;flex-wrap: wrap;gap: 0.5rem 0.9rem;align-items: baseline;margin-top: 1rem;font-size: var(--type-caption)}.post-nav{display: grid;gap: 1px;margin-top: 2.6rem;background: var(--color-border);border-bottom: var(--rule);border-top: var(--rule)}.post-nav__side{display: flex;flex-direction: column;gap: 0.3rem;padding: 1.2rem 0;background: var(--color-bg);text-decoration: none;color: var(--color-text)}.post-nav__dir{font-family: var(--font-heading);font-size: var(--type-eyebrow);font-weight: var(--weight-medium);letter-spacing: 0.1em;text-transform: uppercase;color: var(--color-text-muted)}.post-nav__t{font-family: var(--font-heading);font-size: var(--type-title);font-weight: var(--weight-medium);line-height: var(--leading-snug)}.post-nav__side:hover .post-nav__t{text-decoration: underline}@media (min-width: 768px){.post-nav{grid-template-columns: 1fr 1fr}.post-nav__side{padding: 1.4rem 1.6rem}.post-nav__side--next{align-items: flex-end;text-align: right}}.pagination{display: flex;flex-wrap: wrap;gap: 0.4rem;margin-top: 2.4rem;font-family: var(--font-heading);font-size: var(--type-button);font-weight: var(--weight-medium)}.pagination .page-numbers{padding: 0.45rem 0.75rem;border: 1px solid var(--color-border)}.pagination .current{border-color: var(--color-surface-alt);background: var(--color-surface-alt);color: var(--color-text-invert)}.reveal{opacity: 0;transform: translateY(14px);transition: opacity var(--motion-slow) ease, transform var(--motion-slow) ease}.reveal.is-in{opacity: 1;transform: none}@media (prefers-reduced-motion: reduce){:root{--motion: 1ms;--motion-slow: 1ms;--dur-fast: 1ms;--dur-base: 1ms;--dur-slow: 1ms}.work{scroll-behavior: auto}.reveal{opacity: 1;transform: none}}