:root{--font-sans: ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--color-ink: #0c0c0c;--color-paper: #f6f3ec;--space-1: .5rem;--space-2: .85rem;--space-3: 1rem;--space-4: 1.4rem;--space-5: clamp(1.5rem, 3vw, 2.5rem);--space-6: clamp(2rem, 5vw, 3.5rem);--space-7: clamp(3rem, 6vh, 5rem);--motion-fast: .2s;--motion-medium: .6s;--motion-cinematic: .9s;--ease-rise: cubic-bezier(.2, .7, .2, 1);--ease-glide: cubic-bezier(.2, .8, .2, 1);--container-max: 1280px;--container-pad: clamp(1.25rem, 4vw, 3rem)}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}@media print{*,*:before,*:after{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;font-family:var(--font-sans);color:var(--color-ink);background:var(--color-paper)}button:not(:disabled),input[type=submit]:not(:disabled),input[type=button]:not(:disabled),input[type=reset]:not(:disabled){cursor:pointer}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:focus-visible{outline:2px solid var(--focus-ring, currentColor);outline-offset:3px;border-radius:2px}#consent-banner[data-astro-cid-yp7hiyuz]{position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;flex-direction:column;gap:1rem;padding:1.1rem 1.25rem calc(1.1rem + env(safe-area-inset-bottom,0px));background:var(--topo-paper-cream, #faf7ee);color:var(--topo-ink, #0d1119);border-top:1px solid var(--topo-rule, rgba(13, 17, 25, .18));font-family:var(--font-body, "Instrument Sans", system-ui, sans-serif);box-shadow:0 -8px 30px #0d11191f}#consent-banner[data-astro-cid-yp7hiyuz][hidden]{display:none}#consent-banner[data-astro-cid-yp7hiyuz]:not([hidden]){animation:consent-fade .32s ease}@keyframes consent-fade{0%{opacity:0}to{opacity:1}}#consent-banner[data-astro-cid-yp7hiyuz] .consent-text[data-astro-cid-yp7hiyuz]{margin:0;font-size:.85rem;line-height:1.55;color:var(--topo-ink-soft, #2c3a4a);max-width:62ch}#consent-banner[data-astro-cid-yp7hiyuz] .consent-text[data-astro-cid-yp7hiyuz] a[data-astro-cid-yp7hiyuz]{color:var(--topo-dawn-deep, #a05538);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}#consent-banner[data-astro-cid-yp7hiyuz] .consent-actions[data-astro-cid-yp7hiyuz]{display:flex;gap:.75rem;flex-wrap:wrap}#consent-banner[data-astro-cid-yp7hiyuz] .consent-actions[data-astro-cid-yp7hiyuz] button[data-astro-cid-yp7hiyuz]{flex:1 1 auto;padding:.8rem 1.2rem;font-family:inherit;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--topo-ink, #0d1119);background:transparent;border:1px solid var(--topo-ink, #0d1119);cursor:pointer;transition:background .2s ease,color .2s ease}#consent-banner[data-astro-cid-yp7hiyuz] .consent-actions[data-astro-cid-yp7hiyuz] button[data-astro-cid-yp7hiyuz]:hover{background:var(--topo-ink, #0d1119);color:var(--topo-paper-cream, #faf7ee)}#consent-banner[data-astro-cid-yp7hiyuz] .consent-actions[data-astro-cid-yp7hiyuz] button[data-astro-cid-yp7hiyuz]:focus-visible{outline:2px solid var(--focus-ring, var(--topo-dawn-deep, #a05538));outline-offset:2px}@media(min-width:720px){#consent-banner[data-astro-cid-yp7hiyuz]{left:50%;right:auto;bottom:1.5rem;transform:translate(-50%);width:min(560px,calc(100vw - 3rem));padding:1.4rem 1.6rem;border:1px solid var(--topo-rule, rgba(13, 17, 25, .18));box-shadow:0 16px 48px #0d111929}#consent-banner[data-astro-cid-yp7hiyuz] .consent-actions[data-astro-cid-yp7hiyuz] button[data-astro-cid-yp7hiyuz]{flex:1 1 0}}@media(prefers-reduced-motion:reduce){#consent-banner[data-astro-cid-yp7hiyuz]:not([hidden]){animation:none}}html.has-consent-banner{scroll-padding-bottom:calc(var(--consent-banner-h, 0px) + 1rem)}html.has-consent-banner body{padding-bottom:calc(var(--consent-banner-h, 0px) + 1rem)}body a.skip-link{position:absolute;top:-100px;left:1rem;z-index:1000;padding:.75rem 1rem;background:var(--color-ink, #0c0c0c);color:var(--color-paper, #f6f3ec);text-decoration:none;font-size:.85rem;letter-spacing:.06em;border:2px solid var(--focus-ring, currentColor);transition:top .2s ease}body a.skip-link:focus,body a.skip-link:focus-visible{top:1rem;outline:none}.dir-topo{--topo-paper: #f4f0e6;--topo-paper-deep: #ebe5d6;--topo-paper-cream: #faf7ee;--topo-ink: #0d1119;--topo-ink-soft: #2c3a4a;--topo-faint: rgba(13, 17, 25, .62);--topo-altitude: #9bb4c7;--topo-slate: #6a7a8c;--topo-deep-blue: #3d536b;--topo-deep-slate: #2c3a4a;--topo-dawn: #c46a4e;--topo-dawn-deep: #a05538;--topo-dawn-text: #98502f;--focus-ring: var(--topo-dawn-deep);--topo-rule: rgba(13, 17, 25, .18);--topo-rule-strong: rgba(13, 17, 25, .42);--topo-rule-faint: rgba(13, 17, 25, .08);--font-display: "Fraunces", "Tiempos Headline", Georgia, serif;--font-body: "Instrument Sans", "Söhne", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;background:var(--topo-paper);color:var(--topo-ink);font-family:var(--font-body);min-height:100vh;overflow-x:hidden}.dir-topo .display{font-family:var(--font-display);font-weight:360;letter-spacing:-.025em;line-height:.96;font-variation-settings:"opsz" 144,"SOFT" 30}.dir-topo .display em{font-style:normal;font-variation-settings:"opsz" 144,"SOFT" 30}.dir-topo .eyebrow{text-wrap:balance;overflow-wrap:anywhere;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--topo-dawn-text);font-weight:500}.dir-topo .label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:var(--topo-faint)}.dir-topo .label.warm{color:var(--topo-dawn-text)}.dir-topo .body-prose{font-size:1.0625rem;line-height:1.7;color:var(--topo-ink-soft)}.dir-topo .quote-prose{font-family:var(--font-display);font-style:italic;font-weight:360;font-variation-settings:"opsz" 56,"SOFT" 60;line-height:1.25;letter-spacing:-.012em;color:var(--topo-ink)}.dir-topo .footnote{font-family:var(--font-mono);font-size:.78rem;line-height:1.6;color:var(--topo-faint)}.dir-topo a{color:var(--topo-dawn-deep);text-decoration-thickness:1px;text-underline-offset:4px;transition:opacity .2s ease}.dir-topo a:hover{opacity:.75;text-decoration-thickness:2px}.dir-topo .btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.3rem;font-family:var(--font-body);border:1px solid var(--topo-ink);color:var(--topo-ink);text-decoration:none;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;transition:background .2s ease,color .2s ease,border-color .2s ease}.dir-topo .btn-primary{background:var(--topo-ink);color:var(--topo-paper-cream);border-color:var(--topo-ink)}.dir-topo .btn-primary:hover{background:var(--topo-dawn-deep);border-color:var(--topo-dawn-deep);color:var(--topo-paper-cream);opacity:1}.dir-topo .btn-primary:focus-visible{outline-color:var(--topo-paper-cream)}.dir-topo .btn-ghost:focus-visible{outline-color:var(--topo-ink)}.dir-topo .btn-ghost{background:transparent;color:var(--topo-ink);border-color:var(--topo-rule-strong)}.dir-topo .btn-ghost:hover{background:color-mix(in oklab,var(--topo-ink) 6%,transparent);border-color:var(--topo-ink);opacity:1}.dir-topo{--footer-bg: var(--topo-paper-deep);--footer-text: var(--topo-faint);--footer-strong: var(--topo-ink);--footer-accent: var(--topo-dawn-deep);--footer-rule: var(--topo-rule)}
