@font-face{font-family:Besley;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/besley-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Besley;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/besley-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/schibsted-grotesk-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/schibsted-grotesk-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--color-bg:#d8d5ce;--color-surface:#fff;--color-surface-2:#e7e4de;--color-text:#1f2a2e;--color-text-muted:#454b4b;--color-border:#b5b1a8;--color-border-strong:#5a605f;--color-accent:#7a3a20;--color-accent-hover:#5f2c17;--color-on-accent:#fff;--color-accent-soft:#efe0d8;--color-focus:#1f2a2e;--color-error:#9e1b12;--color-success:#2f6b3a;--color-line:#1f2a2e;--color-footer-bg:#6a321c;--color-footer-fg:#fff;--color-footer-muted:#e9d3c8;--color-scrim:#14110f9e;--tag-shadow:0 1px 0 #1f2a2e14, 0 18px 36px -24px #1f2a2e59;--lip-line:#1f2a2e24;--lip-shadow:0 -14px 24px -18px #1f2a2e66;--photo-filter:none;--font-display:"Besley", Georgia, "Times New Roman", serif;--font-body:"Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:88px;--space-10:120px;--section:64px;--gutter:16px;--header-h:64px;--max:1280px;--tab-h:44px;--hole:12px;--mount:12px;--drawer-step:44px;--drawer-top:56px;--band-h:clamp(420px, 40vw, 540px);--motion-fast:.15s;--rv-dur:.5s;--rv-y:16px;--rv-step:80ms;--ease-out:cubic-bezier(.25, .8, .25, 1);--ease-sig:cubic-bezier(.65, 0, .35, 1);--draw-dur:.6s;--lay-y:14px;--lay-dur:.42s;--lift:10px}@media (width>=48em){:root{--section:88px;--gutter:32px}}@media (width>=64em){:root{--header-h:72px}}@media (width>=80em){:root{--section:120px;--mount:16px}}@media (width>=90em){:root{--rv-y:24px}}:root[data-theme=dark]{color-scheme:dark;--color-bg:#1a2023;--color-surface:#242b2f;--color-surface-2:#2d3539;--color-text:#ece8e1;--color-text-muted:#b6bdb9;--color-border:#3f4a4f;--color-border-strong:#8c9794;--color-accent:#e8a788;--color-accent-hover:#f2c2aa;--color-on-accent:#1a2023;--color-accent-soft:#3e2e27;--color-focus:#ece8e1;--color-error:#ff9a8a;--color-success:#8fd19e;--color-line:#ece8e1;--color-footer-bg:#3a2419;--color-footer-fg:#ece8e1;--color-footer-muted:#d9c3b6;--color-scrim:#0000009e;--tag-shadow:0 18px 36px -24px #000000b3;--lip-line:#ffffff1a;--lip-shadow:0 -14px 24px -18px #000000b3;--photo-filter:brightness(.92)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-bg:#1a2023;--color-surface:#242b2f;--color-surface-2:#2d3539;--color-text:#ece8e1;--color-text-muted:#b6bdb9;--color-border:#3f4a4f;--color-border-strong:#8c9794;--color-accent:#e8a788;--color-accent-hover:#f2c2aa;--color-on-accent:#1a2023;--color-accent-soft:#3e2e27;--color-focus:#ece8e1;--color-error:#ff9a8a;--color-success:#8fd19e;--color-line:#ece8e1;--color-footer-bg:#3a2419;--color-footer-fg:#ece8e1;--color-footer-muted:#d9c3b6;--color-scrim:#0000009e;--tag-shadow:0 18px 36px -24px #000000b3;--lip-line:#ffffff1a;--lip-shadow:0 -14px 24px -18px #000000b3;--photo-filter:brightness(.92)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);margin:0;font-size:1.0625rem;line-height:1.55}@media (width>=80em){body{font-size:1.125rem}}img,svg,picture{max-width:100%;display:block}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}ul,ol{padding:0}a{color:inherit;text-underline-offset:.25em}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}main:focus{outline:none}::selection{background:var(--color-accent-soft);color:var(--color-text)}.visually-hidden,.vh{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--space-4);z-index:100;background:var(--color-surface);color:var(--color-text);padding:12px 20px;font-weight:600;position:absolute;top:-100px}.skip-link:focus{top:var(--space-2)}.container{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.section{padding-top:var(--section)}.page-head{padding-top:clamp(32px,5vw,72px)}h1,h2,.display,.pull,.num{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;font-weight:500}.display{letter-spacing:-.015em;max-width:24ch;font-size:clamp(2.125rem,1.3rem + 3vw,3.625rem);line-height:1.08}h1{letter-spacing:-.02em;font-size:clamp(2.5rem,1.5rem + 3.6vw,4.5rem);line-height:1.04}h2{font-size:clamp(1.75rem,1.25rem + 1.8vw,2.75rem);line-height:1.12}h3{font-family:var(--font-body);font-size:clamp(1.125rem,1.05rem + .2vw,1.3125rem);font-weight:600;line-height:1.3}em,.italic{font-style:normal;font-weight:600}.lead{max-width:64ch;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);line-height:1.55}.caption{color:var(--color-text-muted);font-size:.875rem;font-weight:500;line-height:1.4}.label{color:var(--color-text-muted);font-size:.875rem;font-weight:600;line-height:1.4}.pull{font-size:1.3125rem;line-height:1.45}.prose{max-width:65ch}.prose>*+*{margin-top:1.1em}.prose h2{margin-top:2em;font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}.prose h3{margin-top:1.6em}.prose ul{padding-left:1.2em}.prose li+li{margin-top:.4em}.nums{font-variant-numeric:lining-nums}.stack>*+*{margin-top:var(--space-4)}.sec-h{margin-bottom:clamp(20px,3vw,36px)}.head-meta{margin-top:var(--space-3);color:var(--color-text-muted);font-weight:500}.head-lead{margin-top:var(--space-4)}.after-head{margin-top:var(--space-8)}.tag{background:var(--color-surface);box-shadow:var(--tag-shadow);position:relative}.holed{padding-top:40px}.holed:before{content:"";width:var(--hole);height:var(--hole);background:var(--color-bg);pointer-events:none;border-radius:50%;position:absolute;top:14px;left:14px;box-shadow:inset 0 1px 2px #00000040}.mount{padding:var(--mount)}.folder{margin-top:var(--tab-h);background:var(--color-surface);box-shadow:var(--tag-shadow);position:relative}.tab{height:var(--tab-h);background:var(--color-surface);box-shadow:-1px 0 0 var(--lip-line), 1px 0 0 var(--lip-line), 0 -1px 0 var(--lip-line), var(--lip-shadow);align-items:center;gap:10px;padding:0 18px;font-size:.875rem;font-weight:600;line-height:1;display:inline-flex;position:absolute;bottom:100%;left:0}.tab-chips{gap:4px;display:inline-flex}.tab-chips .chip{width:14px;height:14px}.type-tab{background:var(--color-text);min-height:32px;color:var(--color-surface);align-items:center;padding:0 12px;font-size:.8125rem;font-weight:600;line-height:1;display:inline-flex}.btn{white-space:nowrap;background:var(--color-accent);min-height:52px;color:var(--color-on-accent);border:0;border-radius:0;justify-content:center;align-items:center;padding:0 26px;font-size:.9375rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{background:var(--color-accent-hover)}.btn:active{transform:translateY(1px)}.btn[aria-disabled=true],.btn:disabled{opacity:.45;cursor:not-allowed}.btn--ghost,.btn--secondary{background:var(--color-surface);min-height:44px;color:var(--color-text);border:1px solid var(--color-border-strong);padding:0 16px;font-size:.875rem}.btn--ghost:hover,.btn--secondary:hover{background:var(--color-accent-soft)}.btn.is-loading:before{content:"";border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;margin-right:10px}@media (prefers-reduced-motion:no-preference){.btn{transition:background-color .2s var(--ease-out), transform .12s var(--ease-out)}.btn.is-loading:before{animation:.9s linear infinite spin}}@keyframes spin{to{transform:rotate(360deg)}}.btn-text{min-height:44px;color:var(--color-text);text-underline-offset:.25em;align-items:center;font-weight:600;text-decoration:underline 2px;display:inline-flex}.btn-text:hover{text-decoration-thickness:3px}.btn-row{gap:var(--space-3) var(--space-5);flex-wrap:wrap;align-items:center;display:flex}.concept-banner{background:var(--color-surface);border-bottom:2px solid var(--color-line);font-size:.875rem}.concept-banner .container{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:44px;display:flex}.concept-banner p{color:var(--color-text);padding-block:6px;font-weight:500;line-height:1.4}.concept-banner a{color:var(--color-text);white-space:nowrap;padding-block:12px;font-weight:600;display:inline-block}.concept-banner button{background:0 0;border:0;flex:none;width:44px;height:44px;font-size:1.5rem;line-height:1}.concept-banner__links{align-items:center;gap:var(--space-2);flex:none;display:flex}.site-header{z-index:50;background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0}.js .site-header{border-bottom-color:#0000}.js .site-header.is-scrolled{border-bottom-color:var(--color-border)}.top-sentinel{pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0}.header__row{min-height:var(--header-h);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.wordmark{min-height:44px;color:inherit;align-items:center;text-decoration:none;display:inline-flex}.wordmark__name{font-family:var(--font-display);font-size:1.375rem;font-weight:700;line-height:1.1}.header__tools{align-items:center;gap:var(--space-2);display:flex}.theme-btn{background:var(--color-surface);border:1px solid var(--color-border-strong);width:44px;height:44px;color:var(--color-text);justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-btn:hover{background:var(--color-accent-soft)}.menu-btn{background:var(--color-surface);border:1px solid var(--color-border-strong);justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0 16px;font-size:.9375rem;font-weight:600;display:none}.menu-btn:hover{background:var(--color-accent-soft)}.theme-btn svg{width:20px;height:20px}.theme-btn .i-moon,:root[data-theme=dark] .theme-btn .i-sun{display:none}:root[data-theme=dark] .theme-btn .i-moon{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-btn .i-sun{display:none}:root:not([data-theme=light]) .theme-btn .i-moon{display:block}}.site-nav{display:none}.js .menu-btn{display:inline-flex}.site-nav ul{gap:0 var(--space-2);flex-wrap:wrap;list-style:none;display:flex}.site-nav a:not(.btn){min-width:44px;min-height:44px;color:inherit;justify-content:center;align-items:center;padding:0 8px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.site-nav a:not(.btn):hover{text-underline-offset:.25em;text-decoration:underline 2px}.site-nav a[aria-current=page]{text-underline-offset:.25em;font-weight:600;text-decoration:underline 2px}html:not(.js) .site-nav{width:100%;display:block}html:not(.js) .header__row{flex-wrap:wrap}html:not(.js) .site-nav .btn{display:none}@media (width<=63.99em){.js .site-nav{z-index:-1;padding:var(--space-5) var(--gutter) var(--space-6);background:var(--color-bg);flex-direction:column;justify-content:space-between;display:none;position:fixed;inset:0;overflow-y:auto}.js .site-nav.is-open{z-index:40;display:flex}.js .site-nav ul{flex-direction:column;gap:0}.js .site-nav li{border-top:1px solid var(--color-border)}.js .site-nav li:first-child{border-top:0}.js .site-nav a:not(.btn){font-family:var(--font-display);width:100%;min-height:60px;padding:0;font-size:1.75rem;font-weight:500}.js .site-nav .btn{width:100%;margin-top:var(--space-5)}.js .header__row>.wordmark,.js .header__tools{z-index:45;position:relative}}@media (width>=64em){.menu-btn,.js .menu-btn{display:none}.site-nav{align-items:center;gap:var(--space-4);margin-left:auto;display:flex}html:not(.js) .site-nav{width:auto;display:flex}html:not(.js) .site-nav .btn{display:inline-flex}html:not(.js) .header__row{flex-wrap:nowrap}}.ph{background-position:50%;background-size:cover;background-color:var(--color-surface-2);display:block;position:relative;overflow:hidden}.ph img{width:100%;height:auto;filter:var(--photo-filter)}.ph--fill img{object-fit:cover;height:100%}.ph img.is-pending{opacity:0}@media (prefers-reduced-motion:no-preference){.ph img{transition:opacity .4s ease, transform .45s var(--ease-out)}}.frame{background:var(--color-surface);box-shadow:var(--tag-shadow);padding:var(--mount)}.hl-head{justify-content:space-between;align-items:center;gap:16px;min-height:48px;margin-bottom:4px;display:flex}.hl-head>:first-child,.hl-hd>*{margin:0}.hl-viewport{padding:8px var(--hl-pad,0px);scroll-padding-inline:var(--hl-pad,0px);overscroll-behavior-x:contain;contain:layout paint;overflow-x:auto}.hl[data-hl=static] .hl-viewport,html:not(.js) .hl-viewport{scroll-snap-type:x proximity}html .hl .hl-viewport:focus-within{scroll-snap-type:none}.hl-track{width:max-content;display:flex}.hl-set{flex:none;margin:0;padding:0;list-style:none;display:flex}.hl-set>li{margin:0 var(--hl-gap,8px) 0 0;scroll-snap-align:start;flex:none;display:flex}.hl-copy{display:none}.hl-steps{gap:8px;margin-top:4px;display:flex}.hl-steps[hidden],.hl-pause[hidden]{display:none}.hl-step{width:48px;padding:0}.hl-pause{gap:8px}.hl-pause svg{flex:none}.hl-pause .i-play,.hl-pause[data-p] .i-pause{display:none}.hl-pause[data-p] .i-play{display:block}.hl-item{scroll-margin-block:var(--hl-top,0px)}.hl-step[aria-disabled=true]{opacity:.45;cursor:not-allowed}.is-broken{visibility:hidden}.hl[data-hl=still]:not([data-copy]) .hl-copy{display:flex}@media (prefers-reduced-motion:no-preference){.js:not(.sd) .hl:not([data-hl]) .hl-viewport,.hl[data-hl=live] .hl-viewport{touch-action:pan-y;padding-bottom:calc(8px + var(--hl-sb,0px));overflow:hidden}.js:not(.sd) .hl:not([data-hl]) .hl-copy,.hl[data-hl=live] .hl-copy{display:flex}.hl[data-hl=live] .hl-track{animation:hl-run var(--hl-dur) linear var(--hl-delay,0s) infinite;will-change:transform}.hl[data-hl=live].is-held .hl-track{will-change:auto;animation-play-state:paused}}@keyframes hl-run{to{transform:translate3d(calc(-100% / var(--hl-n,2)), 0, 0)}}@media (prefers-reduced-motion:reduce){.js .hl-steps[hidden]{visibility:hidden;display:flex!important}}.js.sd .hl-steps[hidden]{visibility:hidden;display:flex!important}@media print{.hl-copy,.hl-pause,.hl-steps{display:none!important}.hl-viewport{contain:none;padding-inline:0;overflow:visible!important}.hl-track{width:auto;display:block;animation:none!important;transform:none!important}.hl-set{flex-wrap:wrap}}.hl-ls{--hl-gap:16px;--dw:152px;--hl-pad:6px;--hl-top:calc(var(--header-h) + 16px)}.hl-ls .hl-head{align-items:flex-end;margin-bottom:8px}.hl-ls .hl-title{font-size:clamp(1.75rem,1.25rem + 1.8vw,2.75rem);line-height:1.12}.hl-ls .hl-viewport{margin-inline:-6px}.hl-ls .hl-set>li{margin-bottom:24px}.hl-item{width:var(--dw);background:var(--color-surface);box-shadow:var(--tag-shadow);flex-direction:column;text-decoration:none;display:flex}.hl-ls .hl-item .ph{width:var(--dw);aspect-ratio:4/5;background-color:var(--color-surface-2)}.hl-ls .hl-item .ph img{object-fit:cover;height:100%}.hl-tag{background:var(--color-surface);flex-direction:column;flex:1;gap:4px;padding:12px;display:flex}.hl-tag__row{align-items:center;gap:8px;display:flex}.hl-tag__chips{flex:none;gap:4px;display:flex}.hl-tag__chips .chip{width:18px;height:18px}.hl-tag__name{font:700 1rem/1.25 var(--font-display)}.hl-tag__cap{font-size:.875rem;line-height:1.4}.hl-tag__proj{color:var(--color-text-muted);font-size:.875rem;font-weight:500;line-height:1.4}.hl-item:hover .hl-tag__proj{text-decoration:underline}.hl-dt.is-hit .ph{outline:3px solid var(--color-line);outline-offset:2px}.hl-dt.is-dim .ph{opacity:.35}@media (prefers-reduced-motion:no-preference){.js .hl-dt .ph{transition:opacity .12s linear}}@media (width>=48em){.hl-ls{--dw:168px}}@media (width>=80em){.hl-ls{--dw:200px}}.site-footer{margin-top:var(--section);background:var(--color-footer-bg);color:var(--color-footer-fg);padding-block:var(--space-7) var(--space-6);--color-focus:var(--color-footer-fg);font-size:.9375rem}.footer__grid{gap:var(--space-6);display:grid}@media (width>=48em){.footer__grid{gap:var(--space-7);grid-template-columns:2fr 1fr 1fr}}.site-footer .wordmark{color:inherit}.site-footer h2{font-family:var(--font-body);letter-spacing:0;margin-bottom:var(--space-2);color:var(--color-footer-muted);font-size:.875rem;font-weight:600}.site-footer ul{list-style:none}.site-footer li a,.site-footer address a{min-width:44px;color:var(--color-footer-fg);padding-block:11px;display:inline-block}.site-footer address{margin-top:var(--space-3);font-style:normal}.site-footer .caption,.site-footer a{color:var(--color-footer-fg)}.site-footer .footer__note{color:var(--color-footer-muted);margin-top:var(--space-3)}.footer__concept{margin-top:var(--space-6);padding-top:var(--space-5);color:var(--color-footer-muted);border-top:1px solid #ffffff40;padding-right:max(0px,100% - 90ch)}.site-footer .footer__concept a{color:var(--color-footer-muted)}.hero{align-items:end;gap:24px;padding-block:clamp(32px,5vw,72px) clamp(28px,4vw,48px);display:grid}@media (width<=47.99em){.hero .btn{width:100%}}@media (width>=64em){.hero{grid-template-columns:minmax(0,1fr) auto;gap:48px}}.mband__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 0;display:grid}.mband__photo{background:var(--color-surface);box-shadow:var(--tag-shadow);flex-direction:column;grid-column:1/-1;display:flex}.mband__photo .ph{aspect-ratio:3/2}.mband__photo figcaption{padding:12px 16px;font-size:.875rem;font-weight:500;line-height:1.4}.sample{flex-direction:column;min-width:0;display:flex;position:relative}.sw{background:#ddd;flex:none;width:100%;height:120px;position:relative;overflow:hidden}.sw svg{width:100%;max-width:none;height:100%;position:absolute;inset:0}.stag{background:var(--color-surface);width:100%;min-height:64px;color:var(--color-text);border:0;border-top:2px solid var(--color-line);text-align:left;border-radius:0;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 10px 12px;display:flex}button.stag{cursor:pointer}.stop{font-size:0}.stag__name{font-family:var(--font-display);font-size:1rem;font-weight:700;line-height:1.2}.stag__use{color:var(--color-text-muted);font-size:.8125rem;font-weight:500;line-height:1.4}button.stag:hover .stag__name{text-underline-offset:.2em;text-decoration:underline 2px}.stag[aria-pressed=true]{background:var(--color-text);color:var(--color-surface)}.stag[aria-pressed=true] .stag__use{color:inherit}button.stag:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.sample:has(.stag:focus-visible):after{content:"";z-index:2;border:3px solid var(--color-focus);box-shadow:inset 0 0 0 3px var(--color-surface);pointer-events:none;position:absolute;inset:0}.sample:has(.stag:focus-visible) .stag:focus-visible{outline:0}.sample:has(.stag[aria-pressed=true]) .sw{transform:translateY(calc(var(--lift) * -1))}@media (prefers-reduced-motion:no-preference){.sw{transition:transform .38s var(--ease-out)}}.board__status{min-height:1.55em;margin-top:16px;font-weight:600}.board__status a{text-underline-offset:.25em;text-decoration-thickness:2px}@media (width>=48em){.mband__grid{gap:20px 0}.sw{height:160px}.stag{padding:12px 14px 14px}.stag__name{font-size:1.0625rem}}@media (width>=64em){.mband__grid{height:var(--band-h);grid-template-rows:minmax(0,1fr);grid-template-columns:2.4fr repeat(6,minmax(0,1fr));gap:0}.mband__photo{grid-column:auto}.mband__photo .ph{aspect-ratio:auto;flex:1;min-height:0}.mband__photo .ph img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.sw{flex:1;height:auto;min-height:0}}@media (width<=23.99em){.stag{padding-inline:8px}.stag__name{font-size:1rem}}.projects{padding-top:20px;list-style:none}.drawer-title{margin-bottom:0}.project{--n:0;box-shadow:0 -1px 0 var(--lip-line), var(--lip-shadow), var(--tag-shadow);grid-template-columns:minmax(0,1fr);gap:20px;margin-top:64px;padding:16px 16px 24px;display:grid}.project:first-child{margin-top:var(--tab-h)}.project .ph{aspect-ratio:3/2;background-color:var(--color-surface-2)}.project .ph img{object-fit:cover;height:100%}.project>a{display:block}.project__body{flex-direction:column;align-content:start;gap:12px;display:flex}.project h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(1.625rem,1.3rem + 1.2vw,2.375rem);font-weight:500;line-height:1.1}.project h3 a{min-height:44px;scroll-margin-top:calc(var(--header-h) + var(--drawer-top) + 3 * var(--drawer-step));text-decoration:none;display:inline-block}.project h3 a:hover{text-underline-offset:.2em;text-decoration:underline 2px}.project .meta{color:var(--color-text-muted);font-size:.875rem;font-weight:500;line-height:1.4}@media (width>=64em){.project{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:stretch;gap:40px;padding:20px}.project__body{padding:12px 8px 8px 0}}@media (width>=64em) and (height>=45em){.projects{padding-bottom:40px}.project{top:calc(var(--header-h) + var(--drawer-top) + var(--n) * var(--drawer-step));margin-top:180px;position:sticky}.project:first-child{margin-top:var(--tab-h)}.project .tab{left:calc(var(--n) * 220px)}}.more-link{margin-top:var(--space-5)}@media (prefers-reduced-motion:no-preference){.js .project .ph{transition:opacity .12s linear}}.project.is-dim .ph{opacity:.35}.strip{flex-wrap:wrap;gap:12px;margin-top:4px;list-style:none;display:flex}.strip li{flex-direction:column;align-items:flex-start;gap:6px;font-size:.8125rem;font-weight:500;line-height:1.25;display:flex;position:relative}.strip--lg{gap:16px}.strip--lg li{font-size:.9375rem}.chip{background:#ccc;width:44px;height:44px;display:block;box-shadow:inset 0 0 0 1px #0000001a}.strip--lg .chip{width:72px;height:72px}.chip--limewash{background:#e4e1d8 radial-gradient(#46403429 1px,#0000 1.3px) 0 0/5px 5px}.chip--oak{background-color:#c3a072;background-image:repeating-linear-gradient(92deg,#5a3c1929 0 1px,#0000 1px 6px)}.chip--narra{background-color:#7b3f24;background-image:repeating-linear-gradient(92deg,#1908024d 0 1px,#0000 1px 5px),repeating-linear-gradient(88deg,#d296642e 0 1px,#0000 1px 9px)}.chip--linen{background-color:#bdb3a2;background-image:repeating-linear-gradient(0deg,#5a504033 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#ebe4d666 0 1px,#0000 1px 3px)}.chip--terrazzo{background-color:#d9d6cf;background-image:radial-gradient(circle at 20% 30%,#7b3f24 0 3px,#0000 3.5px),radial-gradient(circle at 70% 25%,#2f3a3a 0 2.5px,#0000 3px),radial-gradient(circle at 45% 75%,#2f3a3a 0 3px,#0000 3.5px),radial-gradient(circle at 85% 70%,#7b3f24 0 2.5px,#0000 3px),radial-gradient(circle at 10% 85%,#e9e6df 0 3px,#0000 3.5px)}.chip--claytile{background-color:#b0603d;background-image:linear-gradient(#3c190a40 1px,#0000 1px),linear-gradient(90deg,#3c190a40 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:14px 14px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box}.chip--bricktile{background-color:#a5553a;background-image:linear-gradient(#f0dcc859 2px,#0000 2px),linear-gradient(90deg,#f0dcc859 2px,#0000 2px);background-position:0 0;background-repeat:repeat;background-size:16px 8px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box}.chip--rattan{background-color:#b4853a;background-image:repeating-linear-gradient(45deg,#462d0a4d 0 2px,#0000 2px 6px),repeating-linear-gradient(-45deg,#ebc8824d 0 2px,#0000 2px 6px)}.chip--solihiya{background-color:#c9a96e;background-image:repeating-linear-gradient(45deg,#4a392073 0 2px,#0000 2px 8px),repeating-linear-gradient(-45deg,#4a392073 0 2px,#0000 2px 8px)}.chip--plaster{background:#d8d1c4 radial-gradient(#4640341a 1px,#0000 1.4px) 0 0/6px 6px}.chip--ashwood{background-color:#cdb791;background-image:repeating-linear-gradient(93deg,#6e502833 0 1px,#0000 1px 7px)}.chip--birch{background-color:#e0cfa8;background-image:repeating-linear-gradient(90deg,#785a322e 0 1px,#0000 1px 9px),repeating-linear-gradient(0deg,#785a321a 0 1px,#0000 1px 22px)}.chip--steel{background:linear-gradient(135deg,#7c8487,#5e666a 60%,#7c8487)}.chip--glass{background:linear-gradient(135deg,#d2e2e4,#afc9cc)}@media (prefers-reduced-motion:no-preference) and (forced-colors:none){.strip .chip{outline-offset:2px;transition:outline-color .15s var(--ease-out);outline:3px solid #0000}}.strip li.is-hit .chip{outline:3px solid var(--color-text);outline-offset:2px}.svc-wrap{gap:24px;display:grid}@media (width>=64em){.svc-wrap{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:48px}}.services{gap:16px;list-style:none;display:grid}.services li{padding-inline:20px;align-content:start;gap:8px;padding-bottom:22px;display:grid}.services h3{font-family:var(--font-display);font-size:1.375rem;font-weight:500;line-height:1.15}.services p{max-width:38ch}@media (width>=48em){.services{grid-template-columns:1fr 1fr;padding-bottom:28px}.services li:nth-child(2n){translate:0 28px}}.svc-full{gap:16px;list-style:none;display:grid}@media (width>=64em){.svc-full{grid-template-columns:1fr 1fr;gap:24px}}.svc-full li{gap:var(--space-3);align-content:start;padding:40px 24px 28px;display:grid}.svc-full h2{letter-spacing:0;font-size:1.375rem;font-weight:500;line-height:1.15}.svc-full ul{gap:var(--space-2);list-style:none;display:grid}.svc-full ul li{padding:0 0 0 20px;display:block;position:relative}.svc-full ul li:before{content:"";background:var(--color-accent);width:6px;height:6px;position:absolute;top:.6em;left:0}.process{counter-reset:s;grid-template-columns:minmax(0,1fr);list-style:none;display:grid;position:relative}.process:before{content:"";background-color:var(--color-surface);width:44px;box-shadow:var(--tag-shadow);pointer-events:none;background-image:repeating-linear-gradient(180deg, var(--color-line) 0 1px, transparent 1px 10px), repeating-linear-gradient(180deg, var(--color-line) 0 2px, transparent 2px 50px);background-position:0 0,0 0;background-repeat:no-repeat;background-size:14px 100%,26px 100%;position:absolute;top:0;bottom:0;left:0}.process li{counter-increment:s;padding:14px 0 20px 68px;position:relative}.process li:after{content:"";border-top:2px solid var(--color-accent);transform-origin:0;pointer-events:none;width:54px;position:absolute;top:24px;left:0}.process strong{font-family:var(--font-display);font-size:1.375rem;font-weight:600;line-height:1.15;display:block}.process strong:before{content:counter(s);color:var(--color-accent);margin-right:8px;font-size:.875rem;font-weight:700}.process .caption{margin-top:4px;display:block}.process .need{margin-top:var(--space-2);color:var(--color-text-muted);max-width:52ch;font-size:.9375rem}@media (width>=64em){.process--row{grid-template-columns:repeat(5,minmax(0,1fr));padding-top:52px}.process--row:before{background-image:repeating-linear-gradient(90deg, var(--color-line) 0 1px, transparent 1px 10px), repeating-linear-gradient(90deg, var(--color-line) 0 2px, transparent 2px 50px);background-size:100% 14px,100% 26px;width:auto;height:44px;inset:0 0 auto}.process--row li{padding:20px 16px 0 0}.process--row li:after{border-top:0;border-left:2px solid var(--color-accent);transform-origin:0 0;width:0;height:28px;top:-8px;left:0}}.cta-sheet{justify-items:start;gap:18px;padding:clamp(36px,5vw,64px) clamp(20px,5vw,64px);display:grid}.cta-sheet h2{max-width:20ch;font-size:clamp(2rem,1.4rem + 2.4vw,3.5rem);line-height:1.06}.cta-sheet p{max-width:52ch}.filter-tabs{margin:var(--space-6) 0 0;flex-wrap:wrap;align-items:flex-end;list-style:none;display:flex}.filter-tabs a,.filter-tabs button{min-height:var(--tab-h);background:var(--color-surface);min-width:44px;color:var(--color-text);border:0;justify-content:center;align-items:center;margin-bottom:4px;padding:0 20px;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.filter-tabs a:not([aria-current=true]):hover,.filter-tabs button:not([aria-pressed=true]):hover{background:var(--color-accent-soft)}.filter-tabs [aria-current=true],.filter-tabs [aria-pressed=true]{background:var(--color-surface-2);box-shadow:inset 0 3px 0 var(--color-text);margin-bottom:0;font-weight:600}@media (forced-colors:active){.filter-tabs [aria-current=true],.filter-tabs [aria-pressed=true]{border-top:3px solid canvastext}}.filter-tabs .count{color:var(--color-text-muted);margin-left:6px;font-weight:500}@media (width<=47.99em){.filter-tabs a,.filter-tabs button{padding:0 10px;font-size:.875rem}.filter-tabs .count{margin-left:4px}}.project-grid{gap:var(--space-4);padding:var(--space-4);background:var(--color-surface-2);list-style:none;display:grid}@media (width>=48em){.project-grid{gap:var(--space-5);padding:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=80em){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid .is-wide{grid-column:span 2}}.project-card-li{padding:var(--mount);background:var(--color-surface);box-shadow:var(--tag-shadow);flex-direction:column;display:flex}.project-card{color:var(--color-text);text-decoration:none;display:block;position:relative}.project-card .ph{aspect-ratio:4/5;background-color:var(--color-surface-2)}.project-card.is-wide .ph{aspect-ratio:3/2}.project-card .ph img{object-fit:cover;height:100%}.project-card .card-title{font-family:var(--font-display);margin-top:var(--space-3);font-size:1.375rem;font-weight:500;line-height:1.2}.project-card:hover .card-title{text-underline-offset:.2em;text-decoration:underline 2px}.project-card .caption{margin-top:var(--space-1)}.project-card-li .strip{margin-top:var(--space-3)}.related{max-width:480px;list-style:none}.empty{padding:var(--space-6) var(--space-4);background:var(--color-surface-2)}.p-head{gap:var(--space-3);justify-items:start;padding-top:clamp(28px,4vw,56px);display:grid}.p-head .head-meta{margin-top:0}.p-hero{margin-top:72px}.p-hero .ph{aspect-ratio:4/5}@media (width>=64em){.p-hero .ph{aspect-ratio:3/2}}.brief-grid{gap:var(--space-6);display:grid}.brief-grid .brief{order:2;max-width:62ch}.brief-grid .brief p+p{margin-top:var(--space-4)}.brief .pull{margin-bottom:0}@media (width>=64em){.brief-grid{gap:var(--space-8);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}.brief-grid .brief{order:0}.brief-grid .spec-wrap{top:calc(var(--header-h) + 24px);position:sticky}}.spec{padding:40px 22px 18px}.spec dl{display:grid}.spec .row{gap:var(--space-3);grid-template-columns:6.5rem 1fr;padding:9px 0;display:grid}.spec .row+.row,.spec dl+details .row:first-child{border-top:1px solid var(--color-border)}.spec dt{color:var(--color-text-muted);font-size:.875rem;font-weight:600}.spec dd{font-size:.9375rem}.spec details summary{justify-content:space-between;align-items:center;gap:var(--space-4);cursor:pointer;min-height:44px;font-weight:600;list-style:none;display:flex}.spec details summary::-webkit-details-marker{display:none}.spec details summary:after{content:"";background:linear-gradient(currentColor,currentColor) 50%/100% 2px no-repeat,linear-gradient(currentColor,currentColor) 50%/2px 100% no-repeat;flex:none;width:14px;height:14px}.spec details[open] summary:after{background:linear-gradient(currentColor,currentColor) 50%/100% 2px no-repeat}.spec-more{display:block}@media (width>=64em){.spec details summary{display:none}.spec details{display:contents}.spec details::details-content{content-visibility:visible;display:block}}.plan-finished{gap:var(--space-5);display:grid}@media (width>=64em){.plan-finished{gap:var(--space-5);grid-template-columns:1fr 1fr}}.plan-finished figure{padding:16px}.plan-finished figcaption{margin-bottom:var(--space-2);font-size:.875rem;font-weight:600}.plan-finished .ph{aspect-ratio:4/3}.floorplan{aspect-ratio:4/3;width:100%;height:auto;color:var(--color-line)}.floorplan text{font-family:var(--font-body);fill:var(--color-text-muted);font-size:11px}.gallery{gap:var(--space-4);display:grid}.gal-item{flex-direction:column;padding:10px 10px 12px;display:flex}.gal-btn{color:inherit;background:0 0;border:0;flex:1;padding:0;text-decoration:none;display:block}.gal-item .ph{aspect-ratio:4/5}.gal-item.r-32 .ph{aspect-ratio:3/2}.gal-item .ph img{object-fit:cover;height:100%}.gal-item figcaption{margin-top:10px}@media (prefers-reduced-motion:no-preference){.gal-btn:hover .ph img{filter:brightness(1.03)}}@media (width>=48em){.gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}.gal-item{grid-column:span 4}.gal-item.g1{grid-column:span 8}.gal-item.g6{grid-column:span 5}.gal-item.g7{grid-column:span 7}.gal-item.r-45 .gal-btn{display:flex}.gal-item.r-45 .ph{aspect-ratio:auto;flex:1;min-height:240px}.gal-item.r-45 .ph img{width:100%;height:100%;position:absolute;inset:0}}.gallery-note{margin-top:var(--space-4)}.area{background:var(--color-surface);min-height:36px;box-shadow:var(--tag-shadow);align-items:center;padding:0 14px;font-size:.9375rem;font-weight:500;display:inline-flex}.areas{gap:var(--space-2);flex-wrap:wrap;list-style:none;display:flex}.next-project{gap:var(--space-4);padding:var(--mount);display:grid}.next-project .ph{aspect-ratio:3/2}.next-project .ph img{object-fit:cover;height:100%}.next-project h2{font-size:clamp(1.625rem,1.3rem + 1.2vw,2.375rem);line-height:1.1}.next-project h2 a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.next-project h2 a:hover{text-underline-offset:.2em;text-decoration:underline 2px}@media (width>=48em){.next-project{gap:var(--space-6);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;padding:20px}}.lightbox{background:var(--color-bg);color:var(--color-text);border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0}.lightbox::backdrop{background:#000c}.lightbox__inner{gap:var(--space-3);height:100%;padding:var(--space-3) var(--gutter);grid-template-rows:auto 1fr auto;display:grid}.lightbox__top{justify-content:space-between;align-items:center;display:flex}.lightbox__close,.lightbox__nav{background:var(--color-surface);border:1px solid var(--color-border-strong);justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;line-height:1;display:inline-flex}.lightbox__stage{justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.lightbox__stage picture{display:contents}.lightbox__stage img{object-fit:contain;background-position:50%;background-size:cover;width:auto;max-width:100%;height:auto;max-height:90vh}.lightbox__foot{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.lightbox__navs{gap:var(--space-2);display:flex}@media (width>=48em){.lightbox__inner{grid-template-rows:auto 1fr auto;grid-template-columns:56px 1fr 56px}.lightbox__top{grid-column:1/-1}.lightbox__foot{display:contents}.lightbox__foot>p{grid-area:3/2}.lightbox__stage{grid-area:2/2}.lightbox__navs{display:contents}.lightbox__nav--prev{grid-area:2/1;align-self:center}.lightbox__nav--next{grid-area:2/3;align-self:center}}@media (prefers-reduced-motion:no-preference){.lightbox__stage img{animation:.2s fadein}}@keyframes fadein{0%{opacity:0}}@media (width>=80em){.indent{margin-left:calc((100% + var(--gutter)) / 6)}.indent--3{margin-left:calc((100% + var(--gutter)) / 4)}}.faq{gap:var(--space-3);max-width:760px;display:grid}.faq details{background:var(--color-surface);box-shadow:var(--tag-shadow)}.faq summary{justify-content:space-between;align-items:center;gap:var(--space-4);cursor:pointer;min-height:56px;font-family:var(--font-display);padding:8px 20px;font-size:1.125rem;font-weight:500;line-height:1.3;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";background:linear-gradient(currentColor,currentColor) 50%/100% 2px no-repeat,linear-gradient(currentColor,currentColor) 50%/2px 100% no-repeat;flex:none;width:16px;height:16px}.faq details[open] summary:after{background:linear-gradient(currentColor,currentColor) 50%/100% 2px no-repeat}.faq details p{max-width:62ch;padding:0 20px 20px}.team{gap:var(--space-4);list-style:none;display:grid}@media (width>=64em){.team{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr))}}.team li{padding:40px 24px 28px}.monogram{border:2px solid var(--color-line);width:56px;height:56px;font-family:var(--font-display);margin-bottom:var(--space-4);place-items:center;font-size:1.5rem;font-weight:700;display:grid}.team h3{font-family:var(--font-display);font-size:1.375rem;font-weight:500}.two-col{gap:var(--space-6);display:grid}@media (width>=64em){.two-col{gap:var(--space-8);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}}.map-tag{padding:var(--mount)}.map{aspect-ratio:16/10;width:100%;height:auto;color:var(--color-border-strong)}.map text{font-family:var(--font-body);fill:var(--color-text);paint-order:stroke;stroke:var(--color-surface);stroke-width:4px;stroke-linejoin:round;font-size:11px}.map .map-pin{fill:var(--color-accent)}.detail-list{list-style:none}.detail-list li{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.detail-list strong{color:var(--color-text-muted);font-size:.875rem;font-weight:600;display:block}.form-grid{gap:var(--space-6) var(--gutter);display:grid}@media (width>=64em){.form-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}.form-grid .form-main{grid-column:1/9}.form-grid .form-side{top:calc(var(--header-h) + 24px);grid-column:10/13;position:sticky}}.form-main{background:var(--color-surface);box-shadow:var(--tag-shadow);padding:20px 16px 24px}@media (width>=48em){.form-main{padding:32px}}.form-side{padding-inline:22px;padding-bottom:22px}.form-side h2{letter-spacing:0;font-size:1.5rem}.form-side ol{margin-top:var(--space-3);counter-reset:n;padding:0;list-style:none}.form-side li{counter-increment:n;gap:12px;padding:12px 0;display:flex}.form-side li+li{border-top:1px solid var(--color-border)}.form-side li:before{content:counter(n);font-family:var(--font-display);min-width:1ch;color:var(--color-accent);font-weight:700}.field{margin-bottom:var(--space-5)}.field label,.field legend{margin-bottom:6px;padding:0;font-weight:600;display:block}.field .req{color:var(--color-text-muted);font-size:.875rem;font-weight:400}.hint{color:var(--color-text-muted);margin-bottom:6px;font-size:.875rem;font-weight:500;display:block}fieldset{margin:0 0 var(--space-5);border:0;min-width:0;padding:0}.input,.select,.textarea{background:var(--color-surface);width:100%;min-height:48px;color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:0;padding:10px 12px;display:block}.textarea{resize:vertical;min-height:140px}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-text)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border:2px solid var(--color-error)}.input:disabled{background:var(--color-surface-2);color:var(--color-text-muted)}.size-row{align-items:center;gap:var(--space-3);max-width:14rem;display:flex}.size-row .input{flex:1}.radio-cards{gap:var(--space-2);display:grid}@media (width>=48em){.radio-cards{grid-template-columns:1fr 1fr}}.radio-card{font-weight:500;position:relative}.radio-card input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.radio-card span{border:1px solid var(--color-border-strong);background:var(--color-surface);align-items:center;gap:10px;min-height:48px;padding:0 12px;display:flex}.radio-card span:before{content:"";border:2px solid;border-radius:50%;flex:none;width:18px;height:18px}.radio-card:hover span{background:var(--color-accent-soft)}.radio-card input:checked+span{background:var(--color-text);color:var(--color-surface);border-color:var(--color-text)}.radio-card input:checked+span:before{background:radial-gradient(currentColor 0 38%,#0000 42%)}.radio-card input:focus-visible+span{outline:2px solid var(--color-focus);outline-offset:3px}.check{gap:var(--space-3);align-items:flex-start;display:flex}.check input{width:24px;height:24px;accent-color:var(--color-accent);flex:none;margin:10px 0 0}.check label{margin:0;padding:10px 0;font-weight:400}.error-msg{color:var(--color-error);gap:8px;margin-top:6px;font-size:.9375rem;font-weight:600;display:flex}.error-msg:before{content:"!";background:var(--color-error);width:18px;height:18px;color:var(--color-surface);flex:none;place-items:center;margin-top:3px;font-size:.75rem;font-weight:700;display:grid}.error-summary{border:2px solid var(--color-error);background:var(--color-surface);padding:var(--space-4);margin-bottom:var(--space-5)}.error-summary h2{color:var(--color-error);font-size:1.25rem;font-family:var(--font-body);letter-spacing:0;margin-bottom:var(--space-3);font-weight:700}.error-summary ul{padding-left:1.2em}.error-summary a{color:var(--color-error);padding-block:6px;font-weight:500;display:inline-block}.counter{color:var(--color-text-muted);margin-top:var(--space-2);font-size:.875rem}.success{border:2px solid var(--color-success);padding:var(--space-5);background:var(--color-surface)}.success h2{color:var(--color-success);font-size:clamp(1.25rem,1rem + 1vw,1.75rem);line-height:1.2}.success .demo{margin-top:var(--space-4);font-weight:600}.note-box{border-left:4px solid var(--color-line);background:var(--color-bg);margin-bottom:var(--space-5);padding:12px 14px;font-weight:500}.form-main .note-box~.note-box,.form-main>.note-box:last-child{margin-bottom:0}.note-box details summary{cursor:pointer;text-underline-offset:.25em;align-items:center;min-height:44px;font-weight:500;text-decoration:underline;display:flex}.noscript-note{margin-bottom:var(--space-5)}.post-list{gap:var(--space-5);list-style:none;display:grid}.post{gap:var(--space-4);padding:var(--mount);align-content:start;display:grid}.post .ph{aspect-ratio:3/2}.post .cat{color:var(--color-text-muted);font-size:.875rem;font-weight:600;line-height:1.4}.post h2{letter-spacing:0;font-size:clamp(1.5rem,1.3rem + .8vw,2rem)}.post h2 a{min-height:44px;color:var(--color-text);align-items:center;text-decoration:none;display:inline-flex}.post a:hover h2,.post h2 a:hover{text-underline-offset:.2em;text-decoration:underline 2px}@media (width>=48em){.post{align-items:center;gap:var(--space-6);grid-template-columns:5fr 7fr}}.article-head,.article-body{max-width:68ch}.article-body h2{font-family:var(--font-display)}.article-cover{margin-block:var(--space-6)}.article-cover .ph{aspect-ratio:3/2}.banner-off .concept-banner{display:none}code{font-family:inherit;font-weight:600}.field .radio-card{font-weight:500}@keyframes rv-safety{to{opacity:1;clip-path:none;transform:none}}@media screen and (prefers-reduced-motion:no-preference){[data-rv=rise].rv-wait{opacity:0;transform:translateY(var(--rv-y))}[data-rv=pin].rv-wait,.mo-pre [data-rv-load][data-rv=pin]{opacity:0;transform:translateY(calc(var(--lay-y) * -1))}.mo-pre [data-rv-load][data-rv=pin]{animation:0s 2s forwards rv-safety}[data-rv].rv-in{transition:opacity var(--rv-dur) var(--ease-out), transform var(--rv-dur) var(--ease-out), clip-path var(--rv-dur) var(--ease-out);transition-delay:calc(var(--i,0) * var(--rv-step) + var(--lag,0s))}[data-rv=pin].rv-in{transition:opacity var(--lay-dur) var(--ease-out), transform var(--lay-dur) var(--ease-out);transition-delay:calc(var(--i,0) * var(--rv-step) + var(--lag,0s))}.process:before{transform-origin:top}.process:has(>li.rv-wait):before{transform:scaleY(0)}.process:has(>li.rv-in):before{transition:transform var(--draw-dur) var(--ease-sig)}[data-rv=rule].rv-wait:after{transform:scaleX(0)}[data-rv=rule].rv-wait>*{opacity:0;transform:translateY(var(--rv-y))}[data-rv=rule].rv-in{transition:none}[data-rv=rule].rv-in:after{transition:transform .3s var(--ease-sig);transition-delay:calc(.24s + var(--i,0) * var(--rv-step))}[data-rv=rule].rv-in>*{transition:opacity var(--rv-dur) var(--ease-out), transform var(--rv-dur) var(--ease-out);transition-delay:calc(.34s + var(--i,0) * var(--rv-step))}}@media screen and (prefers-reduced-motion:no-preference) and (width>=64em){.process--row:before{transform-origin:0}.process--row:has(>li.rv-wait):before{transform:scaleX(0)}.process--row li[data-rv=rule].rv-wait:after{transform:scaleY(0)}}@media screen and (prefers-reduced-motion:no-preference) and (width>=48em){.mband__grid>:nth-child(3){--lag:80ms}.mband__grid>:nth-child(4){--lag:.16s}.mband__grid>:nth-child(5){--lag:.24s}.mband__grid>:nth-child(6){--lag:.32s}.mband__grid>:nth-child(7){--lag:.4s}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.project-card:is(:hover,:focus-visible) .ph img,.next-project a:is(:hover,:focus-visible) .ph img,.post a:is(:hover,:focus-visible) .ph img{transform:scale(1.03)}}@media (hover:hover) and (pointer:fine){.project:has(>a:hover,h3 a:hover) h3 a{text-underline-offset:.2em;text-decoration:underline 2px}}.project h3 a:focus-visible{text-underline-offset:.2em;text-decoration:underline 2px}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project:has(>a:hover,h3 a:hover) .ph img{transform:scale(1.03)}}@media (prefers-reduced-motion:no-preference){.project:has(h3 a:focus-visible) .ph img{transform:scale(1.03)}}@media (width<=63.99em) and (prefers-reduced-motion:no-preference){.js .site-nav.is-open{transition:opacity .2s var(--ease-out), transform .2s var(--ease-out)}@starting-style{.js .site-nav.is-open{opacity:0;transform:translateY(-8px)}}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}::view-transition-group(.photo){animation-duration:.35s;animation-timing-function:var(--ease-sig)}::view-transition-old(.photo),::view-transition-new(.photo){object-fit:cover;height:100%}}@media screen and (prefers-reduced-motion:no-preference){[data-rv=plan].rv-wait{opacity:0;transform:translateY(var(--rv-y))}[data-rv=plan].rv-wait .box{clip-path:inset(0 100% 100% 0)}[data-rv=plan].rv-in .box{clip-path:inset(0);transition:clip-path var(--draw-dur) var(--ease-sig);transition-delay:calc(var(--i,0) * var(--rv-step) + .15s)}}@media print{.project{position:static}.concept-banner button{display:none}.site-footer{color:#000;background:#fff}.site-footer,.site-footer a,.site-footer h2,.site-footer .caption,.footer__concept,.site-footer .footer__concept a,.site-footer .footer__note{color:#000}.footer__concept{border-top-color:#000}}
