:root{--color-bg: #070707;--color-surface: #0e0e0d;--color-surface-2: #161614;--color-text: #ebe6dd;--color-accent: #c8a96a;--color-on-accent: #0b0a08;--color-divider: color-mix(in srgb, #ebe6dd 12%, transparent);--color-divider-strong: color-mix(in srgb, #ebe6dd 26%, transparent);--color-neutral-100: #f4f1eb;--color-neutral-200: #e2ddd4;--color-neutral-300: #c6c0b5;--color-neutral-400: #a59e92;--color-neutral-500: #8a8378;--color-neutral-600: #686259;--color-neutral-700: #47433d;--color-neutral-800: #292724;--color-neutral-900: #181715;--color-accent-100: #f7efdc;--color-accent-200: #eddfbd;--color-accent-300: #e0ca98;--color-accent-400: #d3b87f;--color-accent-500: #c8a96a;--color-accent-600: #a88a50;--color-accent-700: #7d673d;--color-accent-800: #3d3320;--color-accent-900: #1c1810;--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;--radius-sm: 2px;--radius-md: 3px;--radius-lg: 4px;--shadow-sm: 0 0 0 1px var(--color-divider);--shadow-md: 0 0 0 1px color-mix(in srgb, var(--color-accent) 45%, transparent), 0 30px 60px -30px #000;--ease: cubic-bezier(.22, 1, .36, 1);--ease-cine: cubic-bezier(.76, 0, .24, 1);--dur-fast: .18s;--dur: .32s;--enter: .3s;--maxw: 1200px;--gutter: clamp(20px, 5vw, 72px);--measure: 68ch;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--color-bg)}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text);font-family:var(--font);font-size:16px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}main{flex:1}h1,h2,h3,h4{font-weight:500;line-height:1.12;letter-spacing:-.01em;margin:0;text-wrap:balance}h1{font-family:var(--font-display);font-weight:400;letter-spacing:-.015em}h1 em{font-style:italic;color:var(--color-accent)}p{margin:0 0 .75em;text-wrap:pretty}a{color:var(--color-accent);text-underline-offset:4px;text-decoration-thickness:1px;transition:color var(--dur-fast) var(--ease)}img{display:block;max-width:100%;height:auto}:focus{outline:none}:focus-visible{outline:1px solid var(--color-accent);outline-offset:4px}::selection{background:var(--color-accent);color:var(--color-on-accent)}.container{width:100%;max-width:calc(var(--maxw) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.page{padding-block:36px 96px}.page-head{display:flex;flex-direction:column;gap:10px;margin-bottom:34px;max-width:780px}.page-head h1{font-size:clamp(38px,4.8vw,58px);line-height:1}.page-head p{margin:0;color:var(--color-neutral-300);font-size:16px}.kicker{display:inline-flex;align-items:center;gap:14px;font-size:10.5px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--color-accent)}.kicker:before{content:"";width:36px;height:1px;background:currentColor;flex:none}.muted{color:var(--color-neutral-500)}.rule,.rows>li+li:before{height:1px;border:0;background:linear-gradient(to right,transparent,var(--color-divider) 48px,var(--color-divider) calc(100% - 48px),transparent)}.rule{margin:24px 0}.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 26px;font:inherit;font-size:10.5px;font-weight:600;line-height:1;letter-spacing:.22em;text-transform:uppercase;color:var(--color-text);text-decoration:none;background:transparent;border:1px solid var(--color-divider-strong);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--color-text);transform:translateY(101%);transition:transform .52s var(--ease)}.btn:hover{color:var(--color-bg);border-color:var(--color-text)}.btn:hover:before{transform:none}.btn-primary{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.btn-primary:before{background:var(--color-accent-100)}.btn-primary:hover{color:var(--color-on-accent);border-color:var(--color-accent-100)}.card{position:relative;display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text);text-decoration:none;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.card:hover,.card:focus-within{box-shadow:var(--shadow-md);transform:translateY(-4px)}.card-kicker{font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent)}.card-title{font-family:var(--font-display);font-size:28px;font-weight:500;line-height:1.1}.card-body{font-size:14px;color:var(--color-neutral-300);margin:0}.card-meta{font-size:12px;color:var(--color-neutral-400)}.card-link{color:inherit;text-decoration:none}.card-link:after{content:"";position:absolute;inset:0;border-radius:inherit}.card-link:focus-visible{outline:none}.card:has(.card-link:focus-visible){outline:1px solid var(--color-accent);outline-offset:4px}.card .above{position:relative;z-index:1}.card:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .5s var(--ease);background:radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%),color-mix(in srgb,var(--color-accent) 11%,transparent),transparent 65%)}.card:hover:before{opacity:1}.tags{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.tag{display:inline-flex;align-items:center;font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-divider);color:var(--color-neutral-300)}.tag-accent{border-color:color-mix(in srgb,var(--color-accent) 40%,transparent);color:var(--color-accent-300)}.rows{list-style:none;padding:0;margin:0}.rows>li+li:before{content:"";display:block}.prose{max-width:var(--measure);font-size:17px;line-height:1.75;color:var(--color-neutral-200)}.prose h2{font-family:var(--font-display);font-weight:500;font-size:34px;line-height:1.1;margin:1.8em 0 .5em;color:var(--color-text)}.prose h3{font-size:19px;margin:1.6em 0 .5em;color:var(--color-text)}.prose p,.prose ul,.prose ol{margin:0 0 1.15em}.prose a{color:var(--color-accent-300);text-decoration-color:color-mix(in srgb,var(--color-accent) 45%,transparent)}.prose a:hover{text-decoration-color:currentColor}.prose strong{color:var(--color-text);font-weight:500}.prose img{border-radius:var(--radius-md);margin:1.5em 0}.prose blockquote{margin:1.8em 0;padding-left:1.1em;border-left:1px solid var(--color-accent);font-family:var(--font-display);font-style:italic;font-size:1.4em;line-height:1.35;color:var(--color-neutral-200)}.prose code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.86em}.prose :not(pre)>code{background:var(--color-surface-2);padding:.12em .4em;border-radius:var(--radius-sm)}.prose pre{overflow-x:auto;padding:18px;border-radius:var(--radius-md);font-size:14px;line-height:1.5;box-shadow:var(--shadow-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body:before{content:"";position:fixed;z-index:-1;top:-30vh;right:-20vw;width:75vw;height:75vh;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--color-accent) 9%,transparent),transparent);will-change:transform}body:after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes draw{0%{transform:scaleX(0)}}@keyframes float{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(-16vw,14vh,0) scale(1.2)}}@keyframes vt-out{to{transform:translateY(-5vh) scale(.975);filter:brightness(.25)}}@keyframes vt-in{0%{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}@view-transition{navigation:auto}@media(prefers-reduced-motion:no-preference){::view-transition-image-pair(root){isolation:auto}::view-transition-old(root){animation:vt-out .76s var(--ease-cine) both;mix-blend-mode:normal}::view-transition-new(root){animation:vt-in .76s var(--ease-cine) both;mix-blend-mode:normal}body:before{animation:float 34s ease-in-out infinite}.page-head>*,.back{animation:rise .9s var(--ease) both;animation-delay:var(--enter)}.page-head>:nth-child(2){animation-delay:calc(var(--enter) + 90ms)}.page-head>:nth-child(3){animation-delay:calc(var(--enter) + .18s)}.page-head>:nth-child(n+4){animation-delay:calc(var(--enter) + .27s)}.kicker:before{transform-origin:left;animation:draw 1.2s var(--ease) calc(var(--enter) + .15s) both}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--enter) + var(--d, 0ms))}.js .reveal.in{opacity:1;transform:none}.js .card.reveal.in{transition:opacity .9s var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.js .card.reveal.in:hover,.js .card.reveal.in:focus-within{transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}@view-transition{navigation:none}}.rule[data-astro-cid-sz7xmlte]{margin:0 0 22px}.row[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-bottom:30px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-neutral-500)}.links[data-astro-cid-sz7xmlte]{display:flex;gap:28px}.links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--color-neutral-300);text-decoration:none}.links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-accent)}.site-top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--color-bg) 70%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid color-mix(in srgb,var(--color-text) 8%,transparent)}.progress{position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:left}@supports (animation-timeline: scroll()){.progress{animation:progress linear both;animation-timeline:scroll(root)}}@keyframes progress{to{transform:scaleX(1)}}
