@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:300 900;src:url(/fonts/figtree-latin-wght-normal.woff2)format("woff2-variations"),url(/fonts/figtree-latin-wght-normal.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:Figtree;font-style:normal;font-display:swap;font-weight:300 900;src:url(/fonts/figtree-latin-ext-wght-normal.woff2)format("woff2-variations"),url(/fonts/figtree-latin-ext-wght-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:italic;font-display:swap;font-weight:300 900;src:url(/fonts/figtree-latin-wght-italic.woff2)format("woff2-variations"),url(/fonts/figtree-latin-wght-italic.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/jetbrains-mono-latin-400-normal.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/jetbrains-mono-latin-ext-400-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/jetbrains-mono-latin-500-normal.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:dark;--brand-blue-dark:#1a5899;--brand-blue-light:#59adcc;--brand-grey:#8e8e8e;--logo-t-left:#59adcc;--logo-t-right:#3e7fc1;--logo-amp:#8e8e8e;--color-bg:#0e151d;--color-surface:#141e29;--color-surface-2:#1b2835;--color-text:#e6ecf2;--color-text-muted:#a3b1bf;--color-text-display:#f2f5f8;--color-label:#9aa9b8;--color-border:#2a3a4b;--color-border-strong:#6b7d90;--color-hairline:#e6ecf21f;--color-band:#121d28;--color-band-deep:#0a1017;--color-band-glow:#13202c;--color-raised-top:#172330;--color-raised-bottom:#121b25;--color-header-bg:#0e151df0;--color-accent:#6bb8d6;--color-accent-hover:#8fcbe2;--color-on-accent:#0e151d;--color-accent-text:#7fc2dc;--color-accent-soft:#16324a;--color-accent-line:#59adcc;--color-accent-tint:#6bb8d614;--color-link-underline:#7fc2dc73;--color-focus:#8fcbe2;--color-footer-bg:#0a1017;--color-footer-text:#e6ecf2;--color-footer-muted:#a3b1bf;--color-footer-link:#9fd0e4;--practice-noise:#9acdf2;--practice-gis:#7fe0cb;--practice-energy:#e8c66e;--practice-monitoring:#d07ae6;--practice-heritage:#c9ae98;--practice-institutional-ta:#ff7a70;--map-land:#464440;--map-water:#10243a;--map-border-country:#a9b2bc;--map-border-region:#8c959f;--map-coast:#5f6b78;--map-label:#c8ced4;--map-marker-ring:#0e151d;--map-cluster-bg:#e6ecf2;--map-cluster-text:#0e151d;--map-graticule:#e6ecf229;--map-crosshair:#e6ecf273;--map-tag-bg:#e6ecf2;--map-tag-text:#0e151d;--font-sans:"Figtree", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--step-display:clamp(2.625rem, 1.5rem + 5.2vw, 6rem);--step-h1:clamp(2.375rem, 1.4rem + 4vw, 5rem);--step-h2:clamp(2rem, 1.4rem + 2.6vw, 3.5rem);--step-h3:clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);--step-lead:clamp(1.25rem, 1.1rem + .6vw, 1.625rem);--step-quote:clamp(1.25rem, 1rem + 1vw, 1.875rem);--step-pull:clamp(1.375rem, 1.1rem + 1vw, 1.875rem);--step-mail:clamp(1.375rem, .9rem + 2.4vw, 3rem);--step-figure-xl:clamp(6rem, 3rem + 12vw, 13rem);--step-figure:clamp(2rem, 1.6rem + 1.5vw, 2.75rem);--step-prose:1.1875rem;--step-body:1.125rem;--step-ui:.9375rem;--step-label:.8125rem;--step--1:.875rem;--step--2:.75rem;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--leading-display:1.04;--leading-heading:1.08;--leading-tight:1.15;--leading-snug:1.3;--leading-lead:1.55;--leading-prose:1.75;--tracking-display:-.025em;--tracking-heading:-.015em;--tracking-label:.06em;--tracking-caps:.08em;--measure:68ch;--measure-prose:44rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--column-gap-wide:5rem;--section-space:clamp(5rem, 3rem + 8vw, 10rem);--hero-space-top:clamp(4rem, 2rem + 8vw, 9rem);--hero-space-bottom:clamp(3rem, 2rem + 4vw, 6rem);--block-gap:clamp(2rem, 1.5rem + 2vw, 3.5rem);--block-gap-lg:clamp(3rem, 2rem + 3vw, 5rem);--container-max:76rem;--gutter:1rem;--grid-gap:1rem;--header-height:4.5rem;--toc-width:13rem;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-pill:999px;--shadow-highlight:inset 0 1px 0 #ffffff0f;--shadow-panel:var(--shadow-highlight), 0 24px 48px -24px #0009;--shadow-lift:var(--shadow-highlight), 0 18px 40px -20px #000000b3;--shadow-inset-map:0 12px 30px -12px #000000b3;--shadow-btn:inset 0 1px 0 #ffffff59, 0 1px 2px #0006;--shadow-btn-hover:inset 0 1px 0 #ffffff59, 0 8px 24px -10px #6bb8d68c;--border-width:1px;--focus-ring:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-focus);--blur-header:saturate(140%) blur(8px);--duration-fast:.12s;--duration-base:.2s;--duration-page:.26s;--duration-shared:.42s;--duration-reveal:.64s;--reveal-distance:18px;--reveal-stagger:90ms;--menu-stagger:30ms;--ease-out:cubic-bezier(.2, .7, .2, 1)}@media (width>=48em){:root{--gutter:1.5rem;--grid-gap:1.5rem}}@media (width>=64em){:root{--gutter:2rem}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + 1.5rem)}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--step-body);line-height:var(--leading-prose);font-weight:var(--weight-regular);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}p,h1,h2,h3,h4,h5,h6,li,dd,figcaption{overflow-wrap:break-word}ul[role=list],ol[role=list]{padding:0;list-style:none}table{border-collapse:collapse}h1,h2,h3,h4{font-weight:var(--weight-medium);line-height:var(--leading-tight);letter-spacing:var(--tracking-heading);color:var(--color-text-display);text-wrap:balance}h1{font-size:var(--step-h1);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}h2{font-size:var(--step-h2);line-height:var(--leading-heading)}h3{font-size:var(--step-h3)}h4{font-size:var(--step-lead);line-height:var(--leading-snug)}p,ul,ol,dl{max-width:var(--measure)}p{text-wrap:pretty}*+p,*+ul,*+ol,*+dl{margin-top:var(--space-4)}small{font-size:var(--step--1)}strong,b{font-weight:var(--weight-semibold)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.94em}hr{border:0;border-top:var(--border-width) solid var(--color-hairline);margin-block:var(--space-6)}.lead{font-size:var(--step-lead);line-height:var(--leading-lead);color:var(--color-text)}.muted{color:var(--color-text-muted)}.num,.data{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:0}.label{align-items:baseline;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--step-label);font-weight:var(--weight-regular);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-label);line-height:1.5;display:flex}.label .n{color:var(--color-accent-text);font-weight:var(--weight-medium)}.label .n:after{content:"/";margin-left:var(--space-3);color:var(--color-label);font-weight:var(--weight-regular)}.label--rule:after{content:"";background:var(--color-hairline);flex:1;align-self:center;min-width:2rem;height:1px}.meta-mono{font-family:var(--font-mono);font-size:var(--step-label);letter-spacing:.02em;color:var(--color-label)}a{color:var(--color-accent-text);text-underline-offset:.18em;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:var(--color-link-underline);transition:text-decoration-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out)}a:hover{text-decoration-color:currentColor}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.container{width:100%;max-width:calc(var(--container-max) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip-path:inset(50%);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;padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-md);position:absolute;top:-100px}.skip-link:focus{top:var(--space-4)}::selection{background:var(--color-accent-soft);color:var(--color-text)}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--duration-page);animation-timing-function:var(--ease-out)}::view-transition-group(case-title){animation-duration:var(--duration-shared);animation-timing-function:var(--ease-out)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.js [data-reveal]{opacity:0;transform:translateY(var(--reveal-distance));transition:opacity var(--duration-reveal) var(--ease-out), transform var(--duration-reveal) var(--ease-out)}.js [data-reveal].is-in{opacity:1;transform:none}.js [data-reveal="2"]{transition-delay:var(--reveal-stagger)}.js [data-reveal="3"]{transition-delay:calc(2 * var(--reveal-stagger))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}@media (forced-colors:active){.note,.btn,.case,.panel,.chip,.project-card{border:1px solid canvastext}:focus-visible{outline-color:highlight}}@media print{body{color:#000;background:#fff;font-size:11pt}h1,h2,h3,h4,a{color:#000}.site-header,.filter-bar,.map,.band-map__frame,.toc,.skip-link{display:none!important}.js [data-reveal]{opacity:1!important;transform:none!important}}[data-practice=noise]{--practice:var(--practice-noise)}[data-practice=gis]{--practice:var(--practice-gis)}[data-practice=energy]{--practice:var(--practice-energy)}[data-practice=monitoring]{--practice:var(--practice-monitoring)}[data-practice=heritage]{--practice:var(--practice-heritage)}[data-practice=institutional-ta]{--practice:var(--practice-institutional-ta)}[data-practice]{--c:var(--practice)}.dot{background:var(--c,var(--color-border-strong));width:10px;height:10px;box-shadow:0 0 0 1.5px var(--map-marker-ring);border-radius:50%;flex:none;display:inline-block}.practice-tag{font-size:var(--step--1);color:var(--color-text-muted);align-items:center;gap:.45em;line-height:1.3;display:inline-flex}.practice-tag:before{content:"";background:var(--practice);border-radius:50%;flex:none;width:.7em;height:.7em}.pcs{gap:var(--space-1) var(--space-4);flex-wrap:wrap;max-width:none;display:flex}.pcs>span{align-items:center;gap:.45rem;display:inline-flex}.site-header{z-index:50;background:var(--color-header-bg);backdrop-filter:var(--blur-header);border-bottom:var(--border-width) solid var(--color-hairline);view-transition-name:site-header;position:sticky;top:0}.header-inner{align-items:center;gap:var(--space-5);min-height:var(--header-height);display:flex}.brand{align-items:center;gap:var(--space-3);color:var(--color-text);font-weight:var(--weight-semibold);border-radius:3px;margin-right:auto;text-decoration:none;display:flex}.brand:hover{color:var(--color-text)}.brand img{view-transition-name:brand-logo;width:52px;height:auto}.brand span{white-space:nowrap}@media (width<=23.49em){.brand span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}.nav ul{gap:1.75rem;max-width:none;margin:0;padding:0;list-style:none;display:flex}.nav a{padding-block:var(--space-2);color:var(--color-text);font-size:var(--step-ui);text-decoration:none;display:inline-block;position:relative}.nav a:after{content:"";background:var(--color-accent-line);transform-origin:0;height:1px;transition:transform var(--duration-base) var(--ease-out);position:absolute;bottom:.15rem;left:0;right:0;transform:scaleX(0)}.nav a:hover{color:var(--color-text)}.nav a:hover:after,.nav a[aria-current]:after{transform:scaleX(1)}@media (width>=64em) and (width<=79.99em){.nav ul,.header-inner{gap:1.25rem}}.lang{font-family:var(--font-mono);font-size:var(--step-label);display:flex}.lang a,.lang span{border:var(--border-width) solid var(--color-border-strong);min-height:36px;color:var(--color-text);transition:background var(--duration-fast), border-color var(--duration-fast);align-items:center;padding:.375rem .6rem;text-decoration:none;display:inline-flex}.lang>:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.lang>:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.lang span{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.lang a:hover{border-color:var(--color-accent);background:var(--color-accent-tint)}.menu-btn{min-height:40px;font-size:var(--step-ui);color:var(--color-text);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);transition:border-color var(--duration-fast), background var(--duration-fast);background:0 0;align-items:center;gap:.6rem;padding:.45rem .8rem;display:none}.menu-btn:hover{border-color:var(--color-accent);background:var(--color-accent-tint)}.menu-btn__icon{width:16px;height:10px;position:relative}.menu-btn__icon:before,.menu-btn__icon:after{content:"";height:1.5px;transition:transform var(--duration-base) var(--ease-out), top var(--duration-base) var(--ease-out);background:currentColor;border-radius:1px;position:absolute;left:0;right:0}.menu-btn__icon:before{top:0}.menu-btn__icon:after{top:8.5px}.menu-btn[aria-expanded=true] .menu-btn__icon:before{top:4.25px;transform:rotate(45deg)}.menu-btn[aria-expanded=true] .menu-btn__icon:after{top:4.25px;transform:rotate(-45deg)}@media (width<=63.99em){.header-inner{gap:var(--space-3)}.js .menu-btn{display:inline-flex}.js .nav{bottom:0;left:0;right:0;top:var(--menu-top,var(--header-height));z-index:49;background:var(--color-bg);border-top:var(--border-width) solid var(--color-hairline);padding:var(--space-4) var(--gutter) var(--space-6);overscroll-behavior:contain;opacity:0;visibility:hidden;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out), visibility 0s linear var(--duration-base);position:fixed;overflow-y:auto;transform:translateY(-.75rem)}.js .nav.is-open{opacity:1;visibility:visible;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out), visibility 0s;transform:none}.js .nav ul{flex-direction:column;gap:0}.js .nav li{opacity:0;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);transform:translateY(-4px)}.js .nav.is-open li{opacity:1;transform:none}.js .nav.is-open li:nth-child(2){transition-delay:var(--menu-stagger)}.js .nav.is-open li:nth-child(3){transition-delay:calc(2 * var(--menu-stagger))}.js .nav.is-open li:nth-child(4){transition-delay:calc(3 * var(--menu-stagger))}.js .nav.is-open li:nth-child(5){transition-delay:calc(4 * var(--menu-stagger))}.js .nav.is-open li:nth-child(6){transition-delay:calc(5 * var(--menu-stagger))}.js .nav a{padding:var(--space-4) 0;font-size:1.5rem;font-weight:var(--weight-medium);color:var(--color-text-display);border-bottom:var(--border-width) solid var(--color-hairline);justify-content:space-between;align-items:baseline;display:flex}.js .nav a:after{display:none}.js .nav a:before{content:attr(data-n);font-family:var(--font-mono);font-size:var(--step-label);font-weight:var(--weight-regular);color:var(--color-label);order:2}.js .nav a[aria-current]{color:var(--color-accent-text)}html:not(.js) .header-inner{flex-wrap:wrap}html:not(.js) .nav{width:100%;padding-bottom:var(--space-3);order:5}html:not(.js) .nav ul{gap:var(--space-1) 1.25rem;flex-wrap:wrap}}.menu-open{overflow:hidden}.menu-open .site-header{backdrop-filter:none;background:var(--color-bg)}@media (width<=47.99em){.brand{font-size:var(--step-ui);gap:.6rem}.brand img{width:44px}.lang a,.lang span{padding:.3rem .45rem}.menu-btn{padding:.4rem .65rem}}@media (width<=29.99em){.menu-btn{padding:.55rem .6rem}.menu-btn__text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.btn{border:var(--border-width) solid transparent;border-radius:var(--radius-md);min-height:44px;font-size:1rem;font-weight:var(--weight-semibold);transition:background var(--duration-fast), border-color var(--duration-fast), box-shadow var(--duration-base), transform var(--duration-fast) var(--ease-out);align-items:center;gap:.6rem;padding:.875rem 1.375rem;line-height:1.2;text-decoration:none;display:inline-flex}.btn--primary{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-btn)}.btn--primary:hover{background:var(--color-accent-hover);color:var(--color-on-accent);box-shadow:var(--shadow-btn-hover)}.btn--ghost{color:var(--color-text);border-color:var(--color-border-strong)}.btn--ghost:hover{border-color:var(--color-accent);color:var(--color-text);background:var(--color-accent-tint)}.btn:active{transform:translateY(1px)}.btn .arrow{transition:transform var(--duration-base) var(--ease-out)}.btn:hover .arrow,.btn:focus-visible .arrow{transform:translate(4px)}.section{padding-block:var(--section-space)}.section+.section{border-top:var(--border-width) solid var(--color-hairline)}.h2{font-size:var(--step-h2);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);font-weight:var(--weight-medium);color:var(--color-text-display);margin-top:1.25rem}.hero{padding-block:var(--hero-space-top) var(--hero-space-bottom)}.hero h1{font-size:var(--step-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display);max-width:16ch;margin-top:var(--space-5)}.hero__body{gap:2.5rem;margin-top:clamp(2.5rem,1.5rem + 3vw,4.5rem);display:grid}.hero__lead{font-size:var(--step-lead);line-height:var(--leading-lead);color:var(--color-text);max-width:34ch}.hero__more{color:var(--color-text-muted);max-width:52ch}.hero__more p{margin:0}.hero__actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}@media (width>=64em){.hero__body{grid-template-columns:5fr 6fr;align-items:start;gap:4rem}}.band-map{background:var(--color-band);border-block:var(--border-width) solid var(--color-hairline);position:relative}.band-map__head{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-6);flex-wrap:wrap;padding-block:1.25rem;display:flex}.band-map__head p{margin:0}.band-map__frame{max-width:120rem;margin-inline:auto}.band-map__stage{position:relative}.mapframe{background:var(--map-water);position:relative;overflow:hidden}.mapframe>img{width:100%;height:100%;position:absolute;inset:0}.mapframe--narrow{display:none}@media (width<=47.99em){.mapframe--wide{display:none}.mapframe--narrow{display:block}}.mapframe__layer{pointer-events:none;position:absolute;inset:0}.glab{font-family:var(--font-mono);letter-spacing:.02em;color:var(--map-label);text-shadow:0 0 3px var(--map-water), 0 0 2px var(--map-water);white-space:nowrap;font-size:.65625rem;line-height:1;position:absolute}.glab--lon{top:.6rem;transform:translate(-50%)}.glab--lat{left:.6rem;transform:translateY(-50%)}@media (width<=39.99em){.glab--minor{display:none}}.mk{border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.mk--one{background:var(--c);width:12px;height:12px;box-shadow:0 0 0 2px var(--map-marker-ring)}.mk--group{background:radial-gradient(closest-side, var(--map-cluster-bg) calc(100% - 4px), transparent calc(100% - 3.5px)), var(--ring);width:26px;height:26px;box-shadow:0 0 0 1.5px var(--map-marker-ring);font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--weight-semibold);color:var(--map-cluster-text);place-items:center;line-height:1;display:grid}.mk--m{width:clamp(28px,2.2vw,31px);height:clamp(28px,2.2vw,31px)}.mk--l{width:clamp(30px,2.6vw,36px);height:clamp(30px,2.6vw,36px);font-size:.75rem}.inset{right:var(--gutter);bottom:var(--space-4);aspect-ratio:600/340;background:var(--map-water);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);width:clamp(132px,22vw,280px);box-shadow:var(--shadow-inset-map);position:absolute;overflow:hidden}.inset img{width:100%;height:100%}.inset__cap{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-text);border-bottom-right-radius:var(--radius-md);background:#0a1017e6;padding:.15rem .4rem;font-size:.6875rem;line-height:1.4;position:absolute;top:0;left:0}@media (width<=47.99em){.inset{margin:var(--space-3) var(--gutter) 0;width:min(70%,260px);position:relative;bottom:auto;right:auto}}.figcap{gap:var(--space-2) var(--space-5);padding-block:var(--space-4) 1.25rem;font-size:var(--step--1);color:var(--color-text-muted);flex-wrap:wrap;line-height:1.55;display:flex}.figcap>*{max-width:72ch;margin:0}.figcap b{font-family:var(--font-mono);font-weight:var(--weight-medium);color:var(--color-text)}.figcap a{color:inherit}.legend{font-size:var(--step--1);color:var(--color-text-muted);flex-wrap:wrap;gap:.4rem 1.25rem;max-width:none;margin:0;padding:0;list-style:none;display:flex}.legend li{align-items:center;gap:.45rem;display:inline-flex}.map-credit{font-size:var(--step--2)}.xh:before,.xh:after{content:"";position:absolute}.xh:before{border-top:1px dashed var(--map-crosshair);top:50%;left:0;right:0}.xh:after{border-left:1px dashed var(--map-crosshair);top:0;bottom:0;left:50%}.site-pt{background:var(--c);width:12px;height:12px;box-shadow:0 0 0 2px var(--map-marker-ring);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.site-pt:after{content:"";border:1px solid var(--c);opacity:.7;border-radius:50%;position:absolute;inset:-11px}.ctag{border-radius:var(--radius-sm);background:var(--map-tag-bg);color:var(--map-tag-text);font-family:var(--font-mono);white-space:nowrap;padding:.2rem .45rem;font-size:.75rem;line-height:1.3;position:absolute;top:50%;left:calc(50% + 22px);transform:translateY(-50%)}.figures{gap:var(--space-7);margin-top:var(--block-gap);display:grid}.figure-hero{gap:var(--space-2);align-content:start;display:grid}.figure-hero .num{font-family:var(--font-sans);font-size:var(--step-figure-xl);line-height:.85;font-weight:var(--weight-light);letter-spacing:-.04em;color:var(--color-text-display)}.figure-hero .lbl{font-size:var(--step-lead);color:var(--color-text-muted)}.figure-list{border-top:var(--border-width) solid var(--color-hairline);max-width:none;margin:0;padding:0;list-style:none}.figure-list li{border-bottom:var(--border-width) solid var(--color-hairline);grid-template-columns:7.5rem 1fr;align-items:baseline;gap:1.25rem;padding-block:1.1rem;display:grid}.figure-list .num{white-space:nowrap;font-family:var(--font-sans);font-size:var(--step-figure);font-weight:var(--weight-medium);color:var(--color-text-display);font-variant-numeric:tabular-nums;line-height:1}.figure-list .lbl{color:var(--color-text-muted);font-size:1.0625rem;line-height:1.45}@media (width>=64em){.figures{gap:var(--column-gap-wide);grid-template-columns:5fr 6fr}}.note{margin-top:var(--space-6);font-size:var(--step-ui);color:var(--color-text-muted);max-width:60ch;line-height:1.6}.note p{max-width:none;margin:0}.note strong{color:var(--color-text);font-weight:var(--weight-medium)}.note--box{padding:var(--space-4) var(--space-5);border-left:2px solid var(--color-accent-line);background:var(--color-surface);border-radius:0 var(--radius-md) var(--radius-md) 0}.split{gap:2.5rem;display:grid}.split__head p{margin-top:var(--space-5);color:var(--color-text-muted);max-width:36ch}@media (width>=64em){.split{gap:var(--column-gap-wide);grid-template-columns:4fr 7fr}.split__head{top:calc(var(--header-height) + 2rem);align-self:start;position:sticky}}.entries{max-width:none;margin:0;padding:0;list-style:none}.entry{border-top:var(--border-width) solid var(--color-hairline);transition:background var(--duration-base) var(--ease-out);border-radius:2px;grid-template-columns:3.25rem 1fr;gap:0 1.25rem;padding:2.25rem 1rem 2.25rem .5rem;display:grid;position:relative}.entry:last-child{border-bottom:var(--border-width) solid var(--color-hairline)}.entry__idx{font-family:var(--font-mono);color:var(--color-label);padding-top:.45rem;font-size:1rem}.entry__idx:after{content:"";background:var(--c);width:1.75rem;height:3px;margin-top:var(--space-3);transition:width var(--duration-base) var(--ease-out);border-radius:2px;display:block}.entry h3{font-size:var(--step-h3);line-height:var(--leading-tight);letter-spacing:-.01em}.entry h3 a{color:var(--color-text-display);text-decoration:none}.entry h3 a:after{content:"";position:absolute;inset:0}.entry p{color:var(--color-text-muted);max-width:56ch;margin-top:.875rem}.entry__meta{gap:var(--space-2) var(--space-5);font-size:var(--step-ui);flex-wrap:wrap;align-items:center;display:flex;margin-top:var(--space-4)!important}.entry__meta .count{font-family:var(--font-mono);font-size:var(--step--1);color:var(--color-text)}.entry__meta .more{color:var(--color-accent-text)}.entry__meta .more span,.case .go span{transition:transform var(--duration-base) var(--ease-out);display:inline-block}.entry:hover{background:linear-gradient(90deg,#6bb8d612,#0000 70%)}.entry:hover .entry__idx:after{width:2.75rem}.entry:hover .more span{transform:translate(4px)}.feature{margin-top:var(--block-gap);align-items:center;gap:2.5rem;display:grid}.feature__text h3{font-size:var(--step-h2);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);margin-top:var(--space-4);view-transition-name:case-title;width:fit-content;max-width:100%}.feature__text h3 a{color:inherit;text-decoration:none}.feature__text .client{font-weight:var(--weight-semibold);margin-top:1.25rem}.feature__text .sum{margin-top:var(--space-4);color:var(--color-text-muted);max-width:52ch}.feature__text .btn{margin-top:var(--space-6)}@media (width>=64em){.feature{gap:var(--column-gap-wide);grid-template-columns:5fr 6fr}}.panel{background:linear-gradient(180deg, var(--color-raised-top), var(--color-raised-bottom));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);overflow:hidden}.panel__head{justify-content:space-between;gap:var(--space-1) var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--color-border);flex-wrap:wrap;display:flex}.cases{gap:var(--space-5);margin-top:var(--block-gap-lg);display:grid}@media (width>=48em){.cases{grid-template-columns:7fr 5fr}}.case{padding:var(--space-6);border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--color-raised-top), var(--color-raised-bottom));border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-highlight);transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-base), box-shadow var(--duration-base);position:relative}.case:before{content:"";left:var(--space-6);background:var(--c,var(--color-accent-line));width:3rem;height:3px;transition:width var(--duration-base) var(--ease-out);border-radius:0 0 2px 2px;position:absolute;top:0}.case:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lift);transform:translateY(-3px)}.case:hover:before{width:5rem}.case h3{font-size:var(--step-lead);line-height:1.25;font-weight:var(--weight-semibold);margin-top:var(--space-3);letter-spacing:0}.case h3 a{color:var(--color-text);text-decoration:none}.case h3 a:after{content:"";border-radius:var(--radius-lg);position:absolute;inset:0}.case .client{margin-top:var(--space-3);font-size:var(--step-ui);color:var(--color-text-muted)}.case .go{color:var(--color-accent-text);font-size:var(--step-ui);margin-top:1.25rem;display:inline-block}.case:hover .go span{transform:translate(4px)}@media (width<=47.99em){.case{padding:var(--space-5)}.case:before{left:var(--space-5)}}@supports selector(:has(*)){.entry:has(a:focus-visible),.case:has(a:focus-visible),.project-card:has(a:focus-visible),.related li:has(a:focus-visible){outline:2px solid var(--color-focus);outline-offset:3px}.entry h3 a:focus-visible,.case h3 a:focus-visible,.project-card h3 a:focus-visible,.related a:focus-visible{outline:none}}.band-quote{background:radial-gradient(120% 140% at 0% 0%, var(--color-band-glow) 0%, var(--color-band-deep) 60%);border-block:var(--border-width) solid var(--color-hairline);padding-block:var(--section-space)}.band-quote p:not(.label){font-size:var(--step-quote);line-height:var(--leading-lead);max-width:52ch;margin-top:var(--space-6);color:var(--color-text)}.cta .mail{margin-top:var(--space-5);font-size:var(--step-mail);font-weight:var(--weight-medium);letter-spacing:-.01em;color:var(--color-accent-text);overflow-wrap:anywhere;transition:color var(--duration-fast), background-size var(--duration-base) var(--ease-out);background:linear-gradient(currentColor,currentColor) 0 100%/100% 2px no-repeat;padding-bottom:.1em;line-height:1.3;text-decoration:none;display:inline-block}.cta .mail:hover{color:var(--color-accent-hover);background-size:100% 3px}.cta p:not(.label){margin-top:var(--space-5);color:var(--color-text-muted);max-width:56ch}.cta .btn{margin-top:var(--space-6)}.cta--rule{border-top:var(--border-width) solid var(--color-hairline)}.site-footer{background:var(--color-footer-bg);color:var(--color-footer-muted);border-top:var(--border-width) solid var(--color-hairline);padding-block:var(--space-8) var(--space-6);font-size:var(--step-ui)}.footer-grid{gap:2.5rem;display:grid}@media (width>=48em){.footer-grid{grid-template-columns:2fr 1fr 1fr}}.site-footer h2{font-family:var(--font-mono);font-size:var(--step-label);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-label);font-weight:var(--weight-medium);margin-bottom:var(--space-4)}.site-footer ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.site-footer a{color:var(--color-footer-link)}.legal{max-width:none;font-style:normal;line-height:1.7}.legal strong{color:var(--color-footer-text)}.site-footer img{width:64px;height:auto;margin-bottom:var(--space-4)}.footer-bottom{margin-top:var(--space-7);padding-top:var(--space-5);border-top:var(--border-width) solid var(--color-hairline);gap:var(--space-2) var(--space-5);font-size:var(--step-label);flex-wrap:wrap;display:flex}.footer-bottom a{color:inherit}.project-card{gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);background:linear-gradient(180deg, var(--color-raised-top), var(--color-raised-bottom));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-highlight);transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-base), box-shadow var(--duration-base);flex-direction:column;display:flex;position:relative}.project-card:before{content:"";left:var(--space-5);background:var(--c,var(--color-accent-line));width:2.5rem;height:3px;transition:width var(--duration-base) var(--ease-out);border-radius:0 0 2px 2px;position:absolute;top:0}.project-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lift);transform:translateY(-2px)}.project-card:hover:before{width:4rem}.project-card__meta{gap:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:var(--step-label);letter-spacing:.02em;color:var(--color-label);flex-wrap:wrap;align-items:center;margin:0;display:flex}.project-card__meta .sep{color:var(--color-label)}.project-card h3{font-size:1.1875rem;line-height:var(--leading-snug);font-weight:var(--weight-semibold);letter-spacing:0}.project-card h3 a{color:var(--color-text);text-decoration:none}.project-card h3 a:after{content:"";border-radius:var(--radius-lg);position:absolute;inset:0}.project-card__client{font-size:var(--step-ui);color:var(--color-text);font-weight:var(--weight-medium);margin:0}.project-card__summary{font-size:var(--step-ui);color:var(--color-text-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.55;display:-webkit-box;overflow:hidden}.project-card__foot{gap:var(--space-2) var(--space-4);padding-top:var(--space-3);border-top:var(--border-width) solid var(--color-hairline);flex-wrap:wrap;align-items:center;margin-top:auto;display:flex}.project-card--case .project-card__meta:after{content:attr(data-case-label);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);margin-left:auto;padding:.05em .5em}.filter-bar{gap:var(--space-4);padding:var(--space-5);margin-bottom:var(--space-6);background:linear-gradient(180deg, var(--color-raised-top), var(--color-raised-bottom));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-highlight);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=48em){.filter-bar{grid-template-columns:2fr repeat(2,minmax(0,1fr));align-items:end}}.filter-bar__chips{gap:var(--space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}.field{gap:var(--space-1);flex-direction:column;display:flex}.field label,.field legend{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-label)}.field select,.field input{min-height:44px;padding:var(--space-2) var(--space-3);background:var(--color-bg);color:var(--color-text);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md)}.chip{text-align:left;background:var(--color-bg);min-height:36px;color:var(--color-text);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-pill);font-size:var(--step--1);transition:background var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast);align-items:center;gap:.45em;padding:.25em .8em;display:inline-flex}.chip:hover{border-color:var(--color-accent)}.chip:before{content:"";background:var(--practice,var(--color-border-strong));border-radius:50%;width:.65em;height:.65em}.chip[aria-pressed=true]{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.chip[data-empty]:not([aria-pressed=true]){color:var(--color-text-muted);background:0 0;border-style:dashed}.chip[data-empty]:not([aria-pressed=true]):before{opacity:.5}.chip__count{font-family:var(--font-mono);font-size:var(--step--2);color:inherit}.filter-bar__status{font-family:var(--font-mono);font-size:var(--step--1);color:var(--color-label);grid-column:1/-1;margin:0}.map{background:var(--map-water);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);position:relative;overflow:hidden}.map__canvas{aspect-ratio:4/5;min-height:20rem;position:relative}@media (width>=48em){.map__canvas{aspect-ratio:16/9}}.map__canvas svg{width:100%;height:100%}.map__legend{gap:var(--space-1) var(--space-3);padding:var(--space-3);background:var(--color-bg);border-top:var(--border-width) solid var(--color-border);font-size:var(--step--1);grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;margin:0;line-height:1.3;list-style:none;display:grid}@media (width>=48em){.map__legend{left:var(--space-3);bottom:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--step--2);max-width:calc(100% - 2 * var(--space-3));background:#0e151deb;grid-template-columns:1fr;position:absolute}}.map__legend li{align-items:center;gap:.5em;display:flex}.map__legend i{background:var(--practice);width:10px;height:10px;box-shadow:0 0 0 1.5px var(--map-marker-ring);border-radius:50%;flex:none}.map-popup{width:min(18rem,80vw);padding:var(--space-3) var(--space-4);background:var(--color-bg);color:var(--color-text);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);font-size:var(--step--1);line-height:1.45}@media (width<=47.99em){.map .map-popup{right:var(--space-2);width:auto;bottom:1.75rem;left:var(--space-2)!important;top:auto!important}}.placeholder-img{aspect-ratio:16/9;background:repeating-linear-gradient(135deg, var(--color-surface) 0 10px, var(--color-surface-2) 10px 20px);border:var(--border-width) dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--step--1);text-align:center;padding:var(--space-4);place-items:center;display:grid}.docs-request{gap:var(--space-4);padding:var(--space-6);background:linear-gradient(180deg, var(--color-raised-top), var(--color-raised-bottom));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=48em){.docs-request{padding:var(--space-7);grid-template-columns:minmax(0,1fr) auto;align-items:center}}.docs-request h3{font-size:var(--step-h3)}.docs-request p{color:var(--color-text-muted);margin-top:var(--space-2)}.docs-request__pec{font-family:var(--font-mono);font-size:var(--step--1);color:var(--color-label)!important}.contact{gap:var(--space-6);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=64em){.contact{gap:var(--column-gap-wide);grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}.contact__list{border-top:var(--border-width) solid var(--color-hairline);gap:0;max-width:none;display:grid}.contact__row{gap:var(--space-3);border-bottom:var(--border-width) solid var(--color-hairline);grid-template-columns:6.5rem minmax(0,1fr);align-items:baseline;padding-block:1.25rem;display:grid}.contact__row dt{font-family:var(--font-mono);font-size:var(--step--2);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-label)}.contact__row dd{font-size:var(--step-lead);overflow-wrap:anywhere;margin:0;line-height:1.4}.contact__row dd small{font-size:var(--step--1);color:var(--color-text-muted);margin-top:var(--space-1);line-height:1.5;display:block}.page-head{padding-block:var(--hero-space-top) var(--space-7);border-bottom:var(--border-width) solid var(--color-hairline)}.page-head h1{max-width:22ch;margin-top:var(--space-5)}.page-head__intro{margin-top:var(--space-6);max-width:60ch}.section--tight{padding-block:var(--space-8)}.section__head{gap:var(--space-3);margin-bottom:var(--block-gap);display:grid}.section__head h2{margin-top:0}.section__more{margin-top:var(--space-6)}.grid{gap:var(--grid-gap);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=48em){.grid--3,.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64em){.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}.crumb{gap:var(--space-2);font-family:var(--font-mono);font-size:var(--step-label);letter-spacing:.02em;color:var(--color-label);flex-wrap:wrap;max-width:none;margin:0;display:flex}.crumb a{color:var(--color-text-muted);text-decoration:none}.crumb a:hover{color:var(--color-accent-text)}.crumb .sep{color:var(--color-label)}.prose>*+*{margin-top:var(--space-4)}.prose h2{font-size:var(--step-h3);line-height:var(--leading-tight);margin-top:var(--space-8);gap:var(--space-4);align-items:baseline;display:flex}.related-section h2{gap:var(--space-4);align-items:baseline;display:flex}.prose h2 .n,.related-section h2 .n{font-family:var(--font-mono);font-size:var(--step-label);font-weight:var(--weight-medium);color:var(--color-accent-text);letter-spacing:var(--tracking-label);flex:none}.prose h3{font-size:var(--step-lead);margin-top:var(--space-6)}.prose>h2:first-child,.prose>h3:first-child,.prose>section:first-child>h2{margin-top:0}.prose section+section{margin-top:var(--space-8)}.prose section>h2{margin-top:0}.prose section>h2+*{margin-top:var(--space-5)}.prose section>*+*{margin-top:var(--space-4)}.toc .n{font-family:var(--font-mono);font-size:var(--step--2);color:var(--color-label);margin-right:var(--space-3)}.after-related{align-items:baseline}.after-related .label{margin-right:var(--space-2)}.prose ul,.prose ol{padding-left:1.2em}.prose li+li{margin-top:var(--space-2)}.prose .note{margin-block:var(--space-5)}.prose img{border-radius:var(--radius-md)}.table-wrap{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);max-width:100%;overflow-x:auto}.table-wrap table{width:100%;min-width:32rem;font-size:var(--step--1)}.table-wrap th,.table-wrap td{padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top;border-bottom:var(--border-width) solid var(--color-border)}.table-wrap th{font-weight:var(--weight-semibold);background:var(--color-surface)}.table-wrap tr:last-child td{border-bottom:0}.table-wrap--kv table{min-width:0}.table-wrap--kv td{overflow-wrap:anywhere}.p-hero{padding-block:var(--space-7) var(--space-8)}.p-hero .label{margin-top:var(--space-6)}.p-hero h1{margin-top:var(--space-4);max-width:24ch}.case-title{view-transition-name:case-title;width:fit-content;max-width:100%}.standfirst{margin-top:var(--space-6);font-size:var(--step-lead);line-height:var(--leading-lead);color:var(--color-text);max-width:60ch}.facts{margin-top:var(--block-gap);border-top:var(--border-width) solid var(--color-hairline);grid-template-columns:minmax(0,1fr);gap:0;max-width:none;display:grid}.facts>div{gap:var(--space-1);padding-block:var(--space-4);border-bottom:var(--border-width) solid var(--color-hairline);display:grid}.facts dt{font-family:var(--font-mono);font-size:var(--step--2);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--color-label)}.facts dd{font-size:var(--step-ui);color:var(--color-text);margin:0;line-height:1.5}.facts ul{gap:var(--space-1);max-width:none;margin:0;padding:0;list-style:none;display:grid}.facts li{align-items:center;gap:.5rem;margin:0;display:flex}.facts .coord{margin-top:var(--space-1);font-family:var(--font-mono);font-size:var(--step-label);color:var(--color-label);display:block}@media (width>=48em){.facts{column-gap:var(--space-7);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64em){.facts{grid-template-columns:repeat(3,minmax(0,1fr))}}.band-site{background:var(--color-band);border-block:var(--border-width) solid var(--color-hairline)}.band-site .band-map__frame{max-width:120rem}.article{padding-block:var(--section-space)}.article__grid{gap:var(--space-7);grid-template-columns:minmax(0,1fr);display:grid}.article__body{max-width:46rem}.toc{display:none}@media (width>=64em){.article__grid{grid-template-columns:var(--toc-width) minmax(0, 1fr);gap:var(--column-gap-wide)}.toc{top:calc(var(--header-height) + 2rem);align-self:start;display:block;position:sticky}}.toc ol{margin:var(--space-4) 0 0;border-left:var(--border-width) solid var(--color-hairline);max-width:none;padding:0;list-style:none}.toc li{margin:0}.toc a{padding:var(--space-2) var(--space-4);font-size:var(--step-ui);color:var(--color-text-muted);transition:color var(--duration-fast), border-color var(--duration-fast);border-left:2px solid #0000;margin-left:-1px;line-height:1.4;text-decoration:none;display:block}.toc a:hover{color:var(--color-text)}.toc a[aria-current=true]{color:var(--color-text-display);border-left-color:var(--color-accent-line)}.related-section{margin-top:var(--space-8);padding-top:var(--space-7);border-top:var(--border-width) solid var(--color-hairline)}.related-section h2{font-size:var(--step-h3);margin-top:0}.related{margin:var(--space-5) 0 0;counter-reset:rel;border-top:var(--border-width) solid var(--color-hairline);max-width:none;padding:0;list-style:none}.related li{counter-increment:rel;gap:var(--space-1) var(--space-3);padding:var(--space-4) var(--space-2) var(--space-4) 0;border-bottom:var(--border-width) solid var(--color-hairline);transition:background var(--duration-base) var(--ease-out);border-radius:2px;grid-template-columns:2.75rem minmax(0,1fr);display:grid;position:relative}.related li:before{content:counter(rel, decimal-leading-zero);font-family:var(--font-mono);font-size:var(--step-label);color:var(--color-label);grid-row:span 2;padding-top:.2rem}.related li:hover{background:linear-gradient(90deg,#6bb8d60f,#0000 70%)}.related a{color:var(--color-text);font-weight:var(--weight-medium);text-decoration:none}.related a:after{content:"";position:absolute;inset:0}.related small{color:var(--color-text-muted)}.after-related{gap:var(--space-3);margin-top:var(--space-7);flex-wrap:wrap;display:flex}.chip--reset{border-style:dashed}.chip--reset:before{display:none}.list-title{margin-top:var(--space-8);margin-bottom:var(--space-5);font-size:var(--step-h3)}.project-list [hidden]{display:none}.project-list__empty{margin-top:var(--space-5);color:var(--color-text-muted)}.skip-map{position:absolute;left:-9999px}.skip-map:focus{margin-bottom:var(--space-3);display:inline-block;position:static}.map--projects{margin-bottom:var(--space-3);box-shadow:var(--shadow-panel)}.map--projects .map__canvas{overflow:hidden}@media (width>=64em){.map--projects .map__canvas{aspect-ratio:2}}.map__status{padding:var(--space-5);text-align:center;font-size:var(--step--1);color:var(--color-text-muted);place-items:center;max-width:none;display:grid;position:absolute;inset:0}.map__toolbar{top:var(--space-3);left:var(--space-3);z-index:2;gap:var(--space-2);flex-wrap:wrap;display:flex;position:absolute}.map__toolbar .chip:before,.map__toolbar[hidden]{display:none}.map-marker{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;line-height:0}.map-marker:focus-visible{box-shadow:var(--focus-ring);outline:none}.map-marker--cluster text{font:600 11px var(--font-mono)}.map-marker--point{background:var(--dot);width:14px;height:14px;box-shadow:0 0 0 1.5px var(--map-marker-ring);transition:transform var(--duration-fast)}.map-marker--point:hover{transform:scale(1.25)}.tt-popup .maplibregl-popup-content{box-shadow:none;background:0 0;padding:0}.tt-popup .maplibregl-popup-tip{display:none}.tt-popup .maplibregl-popup-close-button{color:var(--color-text-muted);width:28px;height:28px;font-size:18px;top:2px;right:2px}.map-popup__title{font-size:var(--step--1);font-weight:var(--weight-semibold);margin:var(--space-1) 0;line-height:1.35}.map-popup__meta,.map-popup__place{font-size:var(--step--2);color:var(--color-text-muted);margin:0}.map-sheet{left:var(--space-2);right:var(--space-2);bottom:var(--space-2);z-index:3;position:absolute}.map-sheet[hidden]{display:none}.map-sheet .map-popup{width:auto;padding-right:var(--space-7)}.map-sheet__close{top:var(--space-1);right:var(--space-1);width:44px;height:44px;color:var(--color-text-muted);background:0 0;border:0;font-size:22px;position:absolute}.maplibregl-ctrl-group{background:var(--color-bg);border:var(--border-width) solid var(--color-border-strong)}.maplibregl-ctrl-group button+button{border-top-color:var(--color-border)}.maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:invert()}.maplibregl-ctrl button:focus-visible{box-shadow:var(--focus-ring)}.maplibregl-ctrl-attrib,.maplibregl-ctrl-attrib.maplibregl-compact{background:color-mix(in srgb, var(--color-bg) 85%, transparent);color:var(--color-text-muted)}.maplibregl-ctrl-attrib a{color:var(--color-text-muted)}.maplibregl-ctrl-attrib-button{filter:invert()}.maplibregl-cooperative-gesture-screen{background:color-mix(in srgb, var(--color-bg) 70%, transparent);color:var(--color-text);font-size:var(--step-body)}.figure{margin:var(--space-7) 0;max-width:var(--measure)}.figure picture{display:block}.figure img{border:var(--border-width) solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;height:auto;display:block}.prose .figure img{border-radius:var(--radius-sm)}.figure figcaption{margin-top:var(--space-3);max-width:none;font-family:var(--font-mono);font-size:var(--step-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-label);line-height:1.5}.figure figcaption:before{content:"";width:1.5rem;height:1px;margin-right:var(--space-3);vertical-align:middle;background:var(--color-accent-text);display:inline-block}.figure--narrow{max-width:min(24rem,100%)}.figure--wide{max-width:min(60rem,100%)}.figure--aside{max-width:min(20rem,100%);margin-block:var(--space-5) var(--space-6)}@media (width>=48em){.figure--aside{float:right;width:17rem;margin:var(--space-2) 0 var(--space-4) var(--space-6)}.prose:has(.figure--aside){max-width:var(--measure)}.prose h2{clear:both}}.figure-group{gap:var(--space-6);margin:var(--space-7) 0;flex-direction:column;max-width:min(60rem,100%);display:flex}.figure-group .figure{max-width:none;margin:0}.figure-group .figure--upright{max-width:min(24rem,100%)}@media (width>=48em){.figure-group{flex-direction:row;align-items:flex-start}.figure-group .figure{flex:var(--ar) 1 0;min-width:0;max-width:none}}.not-found{padding-block:var(--hero-space-top) var(--section-space)}.not-found h1,.not-found p{margin-top:var(--space-5)}.not-found .btn{margin-top:var(--space-6)}.hero__credit{font-size:var(--step--2);color:var(--color-text-muted);max-width:72ch}.hero__credit a{color:inherit}.article__body .prose{font-size:var(--step-prose)}
