@charset "UTF-8";.theme-slider[data-astro-cid-qbc3dx7o]{--px: 2.5px;display:block;position:fixed;left:clamp(10px,1.5vw,20px);bottom:36px;z-index:20;width:calc(var(--px) * 21);height:calc(var(--px) * 44)}@media screen and (max-width:899px){.theme-slider[data-astro-cid-qbc3dx7o]{bottom:max(80px,env(safe-area-inset-bottom,0px) + 64px)}}@media screen and (min-width:900px){.theme-slider[data-astro-cid-qbc3dx7o]{--px: 3px}}.theme-slider__toggle[data-astro-cid-qbc3dx7o]{display:none}.theme-slider__panel[data-astro-cid-qbc3dx7o]{position:absolute;inset:0;z-index:2}.theme-slider__layer-wrap[data-astro-cid-qbc3dx7o]{position:absolute;inset:0;pointer-events:none;clip-path:polygon(calc(var(--px) * 2) calc(var(--px) * 0),calc(var(--px) * 19) calc(var(--px) * 0),calc(var(--px) * 19) calc(var(--px) * 1),calc(var(--px) * 20) calc(var(--px) * 1),calc(var(--px) * 20) calc(var(--px) * 2),calc(var(--px) * 21) calc(var(--px) * 2),calc(var(--px) * 21) calc(var(--px) * 42),calc(var(--px) * 20) calc(var(--px) * 42),calc(var(--px) * 20) calc(var(--px) * 42),calc(var(--px) * 20) calc(var(--px) * 43),calc(var(--px) * 19) calc(var(--px) * 43),calc(var(--px) * 19) calc(var(--px) * 44),calc(var(--px) * 2) calc(var(--px) * 44),calc(var(--px) * 2) calc(var(--px) * 43),calc(var(--px) * 1) calc(var(--px) * 43),calc(var(--px) * 1) calc(var(--px) * 42),calc(var(--px) * 0) calc(var(--px) * 42),calc(var(--px) * 0) calc(var(--px) * 2),calc(var(--px) * 1) calc(var(--px) * 2),calc(var(--px) * 1) calc(var(--px) * 1),calc(var(--px) * 2) calc(var(--px) * 1))}.theme-slider__layer[data-astro-cid-qbc3dx7o]{position:absolute;inset:0;background:url("data:image/svg+xml,<svg viewBox='0 0 8 8' xmlns='http://www.w3.org/2000/svg'><circle fill='%232d261e' cx='4' cy='4' r='3' /></svg>") 0 0;background-size:var(--px) var(--px)}.theme-slider__layer--inverted[data-astro-cid-qbc3dx7o]{background-image:url("data:image/svg+xml,<svg viewBox='0 0 8 8' xmlns='http://www.w3.org/2000/svg'><circle fill='%23e4d8cb' cx='4' cy='4' r='3' /></svg>")}.theme-slider__icon[data-astro-cid-qbc3dx7o]{position:absolute;bottom:calc(var(--px) * 5);left:calc(var(--px) * 5);width:calc(var(--px) * 11);height:calc(var(--px) * 11);color:var(--color-accent-text)}.theme-slider__icon[data-astro-cid-qbc3dx7o]:before{position:absolute;top:calc(var(--px) * .125);left:calc(var(--px) * .125);display:block;content:"";width:calc(var(--px) * .75);height:calc(var(--px) * .75);border-radius:50%;filter:drop-shadow(1px 1px var(--color-bg)) drop-shadow(-1px 0 var(--color-bg)) drop-shadow(0 -1px var(--color-bg));box-shadow:calc(var(--px) * 5) calc(var(--px) * 0),calc(var(--px) * 1) calc(var(--px) * 1),calc(var(--px) * 5) calc(var(--px) * 1),calc(var(--px) * 9) calc(var(--px) * 1),calc(var(--px) * 2) calc(var(--px) * 2),calc(var(--px) * 4) calc(var(--px) * 2),calc(var(--px) * 5) calc(var(--px) * 2),calc(var(--px) * 6) calc(var(--px) * 2),calc(var(--px) * 8) calc(var(--px) * 2),calc(var(--px) * 3) calc(var(--px) * 3),calc(var(--px) * 7) calc(var(--px) * 3),calc(var(--px) * 2) calc(var(--px) * 4),calc(var(--px) * 8) calc(var(--px) * 4),calc(var(--px) * 0) calc(var(--px) * 5),calc(var(--px) * 1) calc(var(--px) * 5),calc(var(--px) * 2) calc(var(--px) * 5),calc(var(--px) * 8) calc(var(--px) * 5),calc(var(--px) * 9) calc(var(--px) * 5),calc(var(--px) * 10) calc(var(--px) * 5),calc(var(--px) * 2) calc(var(--px) * 6),calc(var(--px) * 8) calc(var(--px) * 6),calc(var(--px) * 3) calc(var(--px) * 7),calc(var(--px) * 7) calc(var(--px) * 7),calc(var(--px) * 2) calc(var(--px) * 8),calc(var(--px) * 4) calc(var(--px) * 8),calc(var(--px) * 5) calc(var(--px) * 8),calc(var(--px) * 6) calc(var(--px) * 8),calc(var(--px) * 8) calc(var(--px) * 8),calc(var(--px) * 1) calc(var(--px) * 9),calc(var(--px) * 5) calc(var(--px) * 9),calc(var(--px) * 9) calc(var(--px) * 9),calc(var(--px) * 5) calc(var(--px) * 10)}.theme-slider__layer--inverted[data-astro-cid-qbc3dx7o] .theme-slider__icon[data-astro-cid-qbc3dx7o]{color:var(--color-accent-bg)}.theme-slider__input[data-astro-cid-qbc3dx7o]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(90deg);appearance:none;background:transparent;cursor:pointer;margin:0;width:calc(var(--px) * 44);height:calc(var(--px) * 21)}.theme-slider__input[data-astro-cid-qbc3dx7o]::-webkit-slider-runnable-track,.theme-slider__input[data-astro-cid-qbc3dx7o]::-moz-range-track{background:transparent}.theme-slider__input[data-astro-cid-qbc3dx7o]::-webkit-slider-thumb{appearance:none;background:transparent;border:0;width:calc(var(--px) * 5);height:calc(var(--px) * 21);cursor:grab}.theme-slider__input[data-astro-cid-qbc3dx7o]::-moz-range-thumb{background:transparent;border:0;width:calc(var(--px) * 5);height:calc(var(--px) * 21);cursor:grab}.theme-slider__input[data-astro-cid-qbc3dx7o]:focus-visible{outline:2px solid var(--color-title);outline-offset:4px}.theme-slider__input[data-astro-cid-qbc3dx7o]:active::-webkit-slider-thumb{cursor:grabbing}@media screen and (max-width:899px){.theme-slider__toggle[data-astro-cid-qbc3dx7o]{display:flex;align-items:center;justify-content:center;position:absolute;bottom:calc(var(--px) * 5);left:calc(var(--px) * 5);width:calc(var(--px) * 11);height:calc(var(--px) * 11);z-index:1;padding:0;border:0;border-radius:50%;background:var(--color-bg);box-shadow:0 1px 6px #0000002e;color:var(--color-title);cursor:pointer;transition:opacity .18s ease}.theme-slider__toggle-icon[data-astro-cid-qbc3dx7o]{position:relative;width:100%;height:100%;display:block}.theme-slider__toggle-icon[data-astro-cid-qbc3dx7o]:before{position:absolute;top:calc(var(--px) * .125);left:calc(var(--px) * .125);display:block;content:"";width:calc(var(--px) * .75);height:calc(var(--px) * .75);border-radius:50%;box-shadow:calc(var(--px) * 5) calc(var(--px) * 0),calc(var(--px) * 1) calc(var(--px) * 1),calc(var(--px) * 5) calc(var(--px) * 1),calc(var(--px) * 9) calc(var(--px) * 1),calc(var(--px) * 2) calc(var(--px) * 2),calc(var(--px) * 4) calc(var(--px) * 2),calc(var(--px) * 5) calc(var(--px) * 2),calc(var(--px) * 6) calc(var(--px) * 2),calc(var(--px) * 8) calc(var(--px) * 2),calc(var(--px) * 3) calc(var(--px) * 3),calc(var(--px) * 7) calc(var(--px) * 3),calc(var(--px) * 2) calc(var(--px) * 4),calc(var(--px) * 8) calc(var(--px) * 4),calc(var(--px) * 0) calc(var(--px) * 5),calc(var(--px) * 1) calc(var(--px) * 5),calc(var(--px) * 2) calc(var(--px) * 5),calc(var(--px) * 8) calc(var(--px) * 5),calc(var(--px) * 9) calc(var(--px) * 5),calc(var(--px) * 10) calc(var(--px) * 5),calc(var(--px) * 2) calc(var(--px) * 6),calc(var(--px) * 8) calc(var(--px) * 6),calc(var(--px) * 3) calc(var(--px) * 7),calc(var(--px) * 7) calc(var(--px) * 7),calc(var(--px) * 2) calc(var(--px) * 8),calc(var(--px) * 4) calc(var(--px) * 8),calc(var(--px) * 5) calc(var(--px) * 8),calc(var(--px) * 6) calc(var(--px) * 8),calc(var(--px) * 8) calc(var(--px) * 8),calc(var(--px) * 1) calc(var(--px) * 9),calc(var(--px) * 5) calc(var(--px) * 9),calc(var(--px) * 9) calc(var(--px) * 9),calc(var(--px) * 5) calc(var(--px) * 10)}.theme-slider__panel[data-astro-cid-qbc3dx7o]{opacity:0;transform:scale(.001);transform-origin:bottom left;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.theme-slider[data-astro-cid-qbc3dx7o].is-expanded .theme-slider__panel[data-astro-cid-qbc3dx7o]{opacity:1;transform:scale(1);pointer-events:auto}.theme-slider[data-astro-cid-qbc3dx7o].is-expanded .theme-slider__toggle-icon[data-astro-cid-qbc3dx7o]{opacity:0}}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");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:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/playfair-display-italic-latin.woff2) format("woff2");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:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/playfair-display-italic-latin.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2) format("woff2");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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2) format("woff2");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}*{box-sizing:border-box}html{box-sizing:border-box;-webkit-font-smoothing:antialiased}img{max-width:100%}a{color:inherit}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--theme-mix: 0;--color-bg: color-mix(in srgb, #e9e6e4 calc((100 - var(--theme-mix)) * 1%), #121418 calc(var(--theme-mix) * 1%));--text-step: clamp(0, calc((var(--theme-mix) - 54.5) * 999), 1);--color-text: color-mix(in srgb, #161419 calc((1 - var(--text-step)) * 100%), #e9e6e4 calc(var(--text-step) * 100%));--color-title: color-mix(in srgb, #121418 calc((1 - var(--text-step)) * 100%), #e9e6e4 calc(var(--text-step) * 100%));--color-border: #94918f;--color-tint: color-mix(in srgb, var(--color-text) 8%, transparent);--color-shadow: color-mix(in srgb, var(--color-text) 35%, transparent);--color-accent-bg: #121418;--color-accent-text: #e9e6e4}*:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:8px;z-index:100;background:var(--color-accent-bg);color:var(--color-accent-text);padding:10px 16px;text-decoration:none;font-family:Inter,sans-serif;font-size:14px;transition:top .15s ease}.skip-link:focus-visible{top:8px}body{background-color:var(--color-bg);color:var(--color-text);display:flex;font-family:Inter,sans-serif;justify-content:center;align-items:stretch;flex-direction:column;width:100%;padding:0;font-weight:400;min-height:100vh;margin:0;transition:color .15s ease}.ticker{font-family:Space Grotesk,sans-serif;font-size:18px;background-color:var(--color-accent-bg);color:var(--color-accent-text);padding:6px 0;width:calc(100vw - var(--scrollbar-width, 0px));margin-left:calc(-50vw + 50% + var(--scrollbar-width, 0px) / 2);flex-shrink:0;overflow:hidden;white-space:nowrap}.ticker__track{display:inline-flex;animation:ticker-scroll calc(22s * var(--repeats, 1)) linear infinite}.ticker:hover .ticker__track{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.ticker .ticker__track{animation:none}}.ticker span{display:inline-block;padding:0 16px}.ticker span:before{display:inline-block;content:"";border-radius:50%;width:10px;height:10px;position:relative;top:-1px;vertical-align:baseline;background-color:var(--color-accent-text);margin-right:16px}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.page{width:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background-color:var(--color-bg);color:var(--color-text);transition:background-color .15s ease,color .15s ease}.page-nav{display:flex;align-items:center;justify-content:space-between;padding:20.5px clamp(20px,4vw,64px);border-bottom:1px solid var(--color-border);font-family:Inter,sans-serif}.page-nav__brand{display:inline-block;text-decoration:none}.page-nav__brand-mark{display:inline-block;width:41px;height:41px;background-color:var(--color-text);-webkit-mask:url(/logo.png) no-repeat center/contain;mask:url(/logo.png) no-repeat center/contain;transition:transform .5s ease}.page-nav__brand:hover .page-nav__brand-mark,.page-nav__brand:focus-visible .page-nav__brand-mark{transform:rotate(-360deg)}@media(prefers-reduced-motion:reduce){.page-nav__brand-mark{transition:none}.page-nav__brand:hover .page-nav__brand-mark,.page-nav__brand:focus-visible .page-nav__brand-mark{transform:none}}.page-nav nav{display:flex;gap:28px}.page-nav nav a{color:var(--color-text);text-decoration:none;font-size:17px;letter-spacing:-.3px}.page-nav nav a:hover{font-style:italic;font-family:Playfair Display,serif}.page-nav nav .page-nav__lang{border:1px solid var(--color-border);border-radius:999px;padding:2px 12px;font-size:14px}.page-nav nav .page-nav__lang:hover{font-style:normal;font-family:Inter,sans-serif;background:var(--color-accent-bg);color:var(--color-accent-text)}@media screen and (max-width:560px){.page-nav{flex-direction:column;gap:12px;padding:20px}.page-nav nav{gap:18px;flex-wrap:wrap;justify-content:center}}.page-main{flex:1;width:100%;max-width:920px;margin:0 auto;padding:clamp(32px,6vw,80px) clamp(20px,4vw,32px)}@media screen and (max-width:899px){.page-main{padding-bottom:220px}}.page-body{width:100%}.page-hero{margin:0 0 clamp(32px,5vw,56px)}.page-hero img{width:100%;height:clamp(220px,40vh,420px);object-fit:cover;display:block}.page-head{border-bottom:1px solid var(--color-border);padding-bottom:28px;margin-bottom:40px}.page-head--plain{border-bottom:none;padding-bottom:0;margin-bottom:clamp(40px,6vw,64px)}.page-head--plain .page-title{font-size:clamp(56px,10vw,148px);letter-spacing:-5px}@media screen and (max-width:768px){.page-head--plain{margin-bottom:16px}}.page-head--no-deck{padding-bottom:29px}@media screen and (max-width:768px){.page-head--no-deck{padding-bottom:4px}}.page-eyebrow{font-family:Playfair Display,serif;font-style:italic;font-size:18px;margin-bottom:14px;color:var(--color-text)}.page-title{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(40px,7vw,88px);letter-spacing:-3px;line-height:1;margin:0 0 18px;color:var(--color-title)}.page-deck{font-size:20px;line-height:1.45;max-width:55ch;margin:0;color:var(--color-text)}.prose{font-size:18px;line-height:1.65;color:var(--color-text);max-width:65ch}.prose>*+*{margin-top:1.1em}.prose h2{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:32px;letter-spacing:-1px;margin-top:1.6em;color:var(--color-title)}.prose h3{font-family:Space Grotesk,sans-serif;font-weight:500;font-size:24px;letter-spacing:-.5px;margin-top:1.4em;color:var(--color-title)}.prose a{color:var(--color-title);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.prose blockquote{font-family:Playfair Display,serif;font-style:italic;font-size:24px;line-height:1.4;border-left:1px solid var(--color-border);padding-left:20px;margin:1.6em 0;color:var(--color-title)}.prose code{font-family:Space Grotesk,sans-serif;font-size:.92em;background:var(--color-tint);padding:2px 6px;border-radius:2px}.prose pre{background:var(--color-accent-bg);color:var(--color-accent-text);padding:20px;overflow-x:auto;font-size:14px;line-height:1.55}.prose pre code{background:transparent;padding:0;color:inherit}.prose img{width:100%;margin:1.6em 0}.prose ul,.prose ol{padding-left:1.4em}.prose ul li+li,.prose ol li+li{margin-top:.5em}.prose hr{border:0;border-top:1px solid var(--color-border);margin:2em 0}.start-project-form{margin-top:3em;padding-top:2.5em;border-top:1px solid var(--color-border);max-width:640px}.start-project-form__heading{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(32px,5vw,56px);letter-spacing:-2px;line-height:1;margin:0 0 36px;color:var(--color-title)}.start-project-form__heading em{font-family:Playfair Display,serif;font-style:italic;font-weight:400}.start-project-form__form{display:flex;flex-direction:column;gap:28px}.start-project-form__form label{display:flex;flex-direction:column;gap:8px;font-family:Inter,sans-serif;font-size:15px;color:var(--color-text)}.start-project-form__form input[type=text],.start-project-form__form input[type=email],.start-project-form__form textarea{font-family:Inter,sans-serif;font-size:16px;color:var(--color-title);background:transparent;border:0;border-bottom:1px solid var(--color-border);padding:8px 0;resize:vertical;transition:border-color .15s ease}.start-project-form__form input[type=text]:focus-visible,.start-project-form__form input[type=email]:focus-visible,.start-project-form__form textarea:focus-visible{border-color:var(--color-title)}.start-project-form__form button[type=submit]{align-self:flex-start;margin-top:8px;padding:14px 32px;border:0;border-radius:999px;background:var(--color-accent-bg);color:var(--color-accent-text);font-family:Inter,sans-serif;font-size:15px;cursor:pointer;transition:opacity .15s ease}.start-project-form__form button[type=submit]:hover:not(:disabled),.start-project-form__form button[type=submit]:focus-visible{opacity:.85}.start-project-form__form button[type=submit]:disabled{cursor:default;opacity:.6}.start-project-form__row{display:grid;grid-template-columns:1fr 1fr;gap:28px}@media(max-width:480px){.start-project-form__row{grid-template-columns:1fr}}.start-project-form__status{margin:0;font-size:14px;min-height:1.2em}.start-project-form__status[data-state=success]{color:var(--color-title)}.start-project-form__status[data-state=error]{color:#b3261e}.site-footer{border-top:1px solid var(--color-border);background-color:var(--color-bg);margin-top:auto;transition:background-color .15s ease}.site-footer__inner{max-width:1200px;margin:0 auto;padding:40px clamp(20px,4vw,64px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px}@media screen and (max-width:768px){.site-footer__inner{grid-template-columns:1fr;justify-items:center;text-align:center;gap:18px}}.site-footer__brand{display:inline-flex;align-items:center;justify-self:start}@media screen and (max-width:768px){.site-footer__brand{justify-self:center}}.site-footer__brand-mark{display:block;width:41px;height:41px;background-color:var(--color-text);-webkit-mask:url(/logo.png) no-repeat center/contain;mask:url(/logo.png) no-repeat center/contain;transition:transform .5s ease}.site-footer__brand:hover .site-footer__brand-mark,.site-footer__brand:focus-visible .site-footer__brand-mark{transform:rotate(-360deg)}@media(prefers-reduced-motion:reduce){.site-footer__brand-mark{transition:none}.site-footer__brand:hover .site-footer__brand-mark,.site-footer__brand:focus-visible .site-footer__brand-mark{transform:none}}.site-footer__nav{display:flex;justify-content:center;flex-wrap:wrap;gap:24px}.site-footer__nav a{color:var(--color-text);text-decoration:none;font-size:15px}.site-footer__nav a:hover{font-family:Playfair Display,serif;font-style:italic}.site-footer__meta{font-size:13px;color:var(--color-text);font-family:Playfair Display,serif;font-style:italic}.project-section{margin-top:40px}.project-section+.project-section{margin-top:64px}.project-section__heading,.home-projects-heading{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:clamp(24px,3vw,32px);letter-spacing:-.5px;margin-bottom:16px;border-bottom:1px solid var(--color-border);padding-bottom:8px}.see-all{margin-top:40px;line-height:1.45;height:24.65px;overflow:visible}.see-all a{font-size:17px;text-decoration:underline;text-underline-offset:4px}.see-all a:hover{font-family:Playfair Display,serif;font-style:italic}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:32px}@media screen and (max-width:560px){.project-grid{grid-template-columns:1fr}}.project-grid--large .project-item{grid-column:1/-1}.project-grid--large .project-item img{height:clamp(360px,60vh,680px);object-fit:cover}.project-item{text-decoration:none;color:inherit}.project-item__cover{overflow:hidden;margin-bottom:14px}.project-item img{width:100%;height:260px;object-fit:cover;display:block;transition:transform .4s ease}.project-item:hover img{transform:scale(1.04)}@media(prefers-reduced-motion:reduce){.project-item img{transition:none}.project-item:hover img{transform:none}}.project-item__year{font-family:Playfair Display,serif;font-style:italic;font-size:13px;color:var(--color-text)}.project-item__title{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:22px;letter-spacing:-.5px;margin:4px 0 6px;color:var(--color-title)}.project-item__summary{font-size:15px;line-height:1.4;max-width:40ch}.project-detail__cover{margin:0 0 clamp(24px,4vw,40px)}.project-detail__cover img{width:100%;height:auto;display:block}.fact-line{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:15px;color:var(--color-text);border-bottom:1px solid var(--color-border);padding-bottom:20px;margin-bottom:24px}.fact-line span+span:before{content:"·";margin-right:16px;color:var(--color-border)}.credential-link{display:inline-flex;align-items:center;gap:6px;margin-left:10px;padding:4px 14px;font-size:14px;color:var(--color-title);text-decoration:none;border:1px solid var(--color-border);border-radius:999px;white-space:nowrap}.credential-link:hover{font-family:Playfair Display,serif;font-style:italic}.tool-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0 0 40px;padding:0}.tool-list li{font-size:14px;padding:6px 14px;border:1px solid var(--color-border);border-radius:999px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:40px}@media screen and (max-width:560px){.gallery{grid-template-columns:1fr}}.gallery img{width:100%;height:auto;display:block}.gallery__item--large{grid-column:1/-1}.not-found{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.not-found__code{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(120px,28vw,320px);letter-spacing:-8px;line-height:1;color:var(--color-title)}.not-found__title{font-family:Playfair Display,serif;font-style:italic;font-size:28px;margin:8px 0 24px}.not-found a{color:var(--color-title);text-decoration:underline;text-underline-offset:4px}@keyframes home-hero-reveal{0%{opacity:0;filter:blur(14px)}to{opacity:1;filter:blur(0)}}@keyframes home-hero-zoom{0%{transform:scale(1)}to{transform:scale(1.02)}}.home-hero{position:relative}.home-hero>:not(.home-bg){position:relative;z-index:1}.home-hero{width:auto;margin-right:calc(-50vw + 50% + var(--scrollbar-width, 0px));display:grid;grid-template-columns:repeat(12,1fr);grid-template-areas:"a a a a a a a . b b b b" "text text text text text text . c c c c c";column-gap:clamp(16px,2.5vw,32px);row-gap:clamp(40px,6vw,72px);padding-right:clamp(20px,4vw,32px);margin-top:0;margin-bottom:clamp(56px,8vw,137px)}.home-hero--no-image{grid-template-columns:1fr;grid-template-areas:"text";margin-right:0;padding-right:0}.home-hero__image{overflow:hidden}.home-hero__image--a{grid-area:a}.home-hero__image--b{grid-area:b;margin-top:clamp(48px,9vw,120px)}.home-hero__image--c{grid-area:c}.home-hero__image img{width:100%;object-fit:cover;display:block}.home-hero__image--a img{height:clamp(500px,68vh,860px)}.home-hero__image--b img{height:clamp(280px,40vh,460px)}.home-hero__image--c img{height:clamp(220px,32vh,360px)}.home-hero__reveal{animation:home-hero-reveal 1.4s ease-out both}.home-hero__reveal.home-hero__zoom{animation:home-hero-reveal 1.4s ease-out both,home-hero-zoom 32s ease-in-out infinite alternate}@media(prefers-reduced-motion:reduce){.home-hero__reveal,.home-hero__zoom{animation:none}}.home-hero__intro{grid-area:text;max-width:60ch;align-self:end}.home-hero__intro a:hover{font-family:Playfair Display,serif;font-style:italic}@media screen and (max-width:768px){.home-hero{grid-template-columns:1fr;grid-template-areas:"a" "b" "text" "c";margin-right:0;padding-right:0;row-gap:clamp(24px,6vw,40px)}.home-hero__image--b{margin-top:0}.home-hero__image--a img{height:clamp(320px,54vh,520px)}.home-hero__image--b img,.home-hero__image--c img{height:clamp(240px,42vh,400px)}}.about-hero{display:flex;gap:clamp(24px,4vw,48px);align-items:flex-start;margin-bottom:clamp(32px,5vw,56px)}@media screen and (max-width:768px){.about-hero{flex-direction:column;align-items:center;text-align:center}}.about-hero__portrait{position:relative;flex-shrink:0}.about-hero__portrait img:not(.about-hero__sigil){width:260px;height:330px;object-fit:cover;border-radius:130px 130px 8px 8px;display:block}.about-hero__sigil{position:absolute;bottom:-16px;right:-16px;width:72px;height:72px;border-radius:4px;box-shadow:0 2px 12px var(--color-shadow);z-index:2}@media screen and (max-width:768px){.about-hero__sigil{right:50%;transform:translate(52px)}}.about-hero__frame,.about-hero__frame-crest{position:absolute;background-repeat:no-repeat;filter:grayscale(1) invert(calc(var(--theme-mix) * 1%));opacity:.85;pointer-events:none}.about-hero__frame{top:50%;left:50%;transform:translate(-50%,-50%);width:320px;height:410px;background-image:url(/backgrounds/about-frame.png);background-size:100% 100%}@media screen and (max-width:768px){.about-hero__frame{transform:translate(-50%,-50%) scale(.93)}}.about-hero__frame-crest{top:-39px;left:50%;transform:translate(-50%);width:217px;height:67px;background-image:url(/backgrounds/about-frame-crest.png);background-size:contain;background-position:center}.about-hero__text{padding-top:8px;max-width:22em}.about-hero__text.prose,.about-hero__text.prose p{font-family:Playfair Display,serif;font-style:italic;font-size:18px;font-weight:400;line-height:1.45;color:var(--color-text);max-width:none}.about-hero__text.prose p{margin:0}.about-hero__text.prose>*+*{margin-top:0}
