.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}*{box-sizing:border-box;font-family:inherit}html{font-family:var(--font-ui);color-scheme:light dark}:root{--font-ui: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "EB Garamond", "Apple Garamond", Garamond, "Times New Roman", serif;--bg: #fefaf5;--fg: #0b0b0c;--muted: rgba(11, 11, 12, .68);--border: rgba(11, 11, 12, .14);--card: rgba(255, 255, 255, .72);--cardSolid: rgba(255, 255, 255, .92);--radius: 16px;--shadow: 0 14px 50px rgba(11, 11, 12, .08);--accentA: rgba(245, 158, 11, 1);--accentB: rgba(244, 63, 94, 1);--ringA: rgba(245, 158, 11, .38);--ringB: rgba(244, 63, 94, .26);--s1: 6px;--s2: 10px;--s3: 14px;--s4: 18px;--s5: 24px;--s6: 32px;--s7: 40px;--s8: 56px;--s9: 72px;--paperTop: rgba(255, 255, 255, .88);--paperMid: rgba(255, 255, 255, .78);--paperBot: rgba(255, 255, 255, .86);--keyWarm: rgba(245, 158, 11, .24);--fillCoolA: rgba(124, 58, 237, .13);--fillCoolB: rgba(14, 165, 233, .11);--vignette: rgba(11, 11, 12, .04)}@media (prefers-color-scheme: dark){:root{--bg: #0b0b0c;--fg: #f9f6f1;--muted: rgba(249, 246, 241, .7);--border: rgba(249, 246, 241, .22);--card: rgba(22, 22, 24, .74);--cardSolid: rgba(26, 26, 30, .9);--shadow: 0 18px 60px rgba(0, 0, 0, .48);--paperTop: rgba(11, 11, 12, .9);--paperMid: rgba(11, 11, 12, .82);--paperBot: rgba(11, 11, 12, .9);--keyWarm: rgba(245, 158, 11, .22);--fillCoolA: rgba(124, 58, 237, .12);--fillCoolB: rgba(14, 165, 233, .1);--vignette: rgba(0, 0, 0, .42)}}body{margin:0;padding:0;font-family:var(--font-ui);line-height:1.6;background:var(--bg);color:var(--fg)}main{min-height:100vh}a{color:inherit;text-decoration:none}.container{max-width:1100px;margin:0 auto;padding:0 var(--s5)}.ambient{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,var(--paperTop) 0%,var(--paperMid) 45%,var(--paperBot) 100%),radial-gradient(1200px 650px at 50% -10%,var(--keyWarm),transparent 58%),radial-gradient(900px 520px at 0% 38%,var(--fillCoolA),transparent 60%),radial-gradient(900px 520px at 100% 42%,var(--fillCoolB),transparent 62%),radial-gradient(1200px 900px at 50% 120%,var(--vignette),transparent 55%)}.ambient:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='180'%20height='180'%3E%3Cfilter%20id='n'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='.75'%20numOctaves='3'%20stitchTiles='stitch'/%3E%3C/filter%3E%3Crect%20width='180'%20height='180'%20filter='url(%23n)'%20opacity='.25'/%3E%3C/svg%3E");background-repeat:repeat;background-size:180px 180px}@media (prefers-color-scheme: dark){.ambient:before{opacity:.04}}.header{padding:var(--s5) 0}.headerInner{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);view-transition-name:vt-header}.brand{display:inline-flex;align-items:center;gap:var(--s2)}.brand img{height:28px;width:auto;display:block}.nav{display:flex;align-items:center;gap:var(--s1);view-transition-name:vt-nav}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--s2) var(--s3);border-radius:999px;border:1px solid var(--border);background:#ffffff8c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-weight:600;letter-spacing:.02em;font-size:13px;line-height:1;transition:transform .2s cubic-bezier(.4,0,.2,1),background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:0;background:#ffffff1a;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);pointer-events:none}.btn:after{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 30% 30%,rgba(245,158,11,.18),transparent 55%),radial-gradient(circle at 70% 70%,rgba(244,63,94,.12),transparent 60%);opacity:0;filter:blur(18px);transition:opacity .2s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:-1}.btn:hover{transform:translateY(-2px);background:#ffffffc7;border-color:#0b0b0c3d;box-shadow:0 4px 12px #0b0b0c14}.btn:hover:before{opacity:1}.btn:hover:after,.btn:focus-visible:after{opacity:1}.btnGhost{background:transparent}.btnGhost:hover{background:#ffffff8c}.btnOutline{background:#ffffff9e}.btnPrimary{background:var(--fg);color:var(--bg);border-color:transparent}.btnPrimary:hover{background:var(--fg);border-color:transparent;filter:brightness(1.06)}@media (prefers-color-scheme: dark){.btnPrimary:hover{filter:brightness(1.03)}}@media (prefers-color-scheme: dark){.btn{background:#121214ad;border-color:#f7f3ee2e}.btn:before{background:#f7f3ee14}.btn:hover{background:#121214e0;border-color:#f7f3ee52;box-shadow:0 4px 12px #0000003d}.btnGhost{background:transparent}.btnGhost:hover{background:#121214ad}.btnOutline{background:#121214c7}.btn:focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 6px var(--ringA),0 10px 26px #00000059}.navLink:focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 6px var(--ringA),0 4px 16px #00000047}}.muted{color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.navLink{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:var(--s2) var(--s2);border-radius:var(--s2);transition:background .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),transform .12s ease}.navLink:hover{background:#ffffff8c;color:#0b0b0cdb;transform:translateY(-1px)}.navLink:active{transform:translateY(0)}.navLink:focus-visible{outline:2px solid rgba(11,11,12,.4);outline-offset:2px}@view-transition{navigation: auto;}::view-transition-old(root),::view-transition-new(root){animation-duration:.45s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(root){animation-name:fade-out}::view-transition-new(root){animation-name:fade-in}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}::view-transition-old(vt-header){animation:vtHeaderOut .45s cubic-bezier(.2,.8,.2,1) both}::view-transition-new(vt-header){animation:vtHeaderIn .45s cubic-bezier(.2,.8,.2,1) both}@keyframes vtHeaderOut{to{opacity:0;transform:translateY(-6px);filter:blur(2px)}}@keyframes vtHeaderIn{0%{opacity:0;transform:translateY(6px);filter:blur(2px)}}::view-transition-old(vt-nav){animation:vtNavOut .45s cubic-bezier(.2,.8,.2,1) both}::view-transition-new(vt-nav){animation:vtNavIn .45s cubic-bezier(.2,.8,.2,1) both}@keyframes vtNavOut{to{opacity:0;transform:translateY(-3px);filter:blur(2px)}}@keyframes vtNavIn{0%{opacity:0;transform:translateY(3px);filter:blur(2px)}}@media (prefers-reduced-motion: reduce){::view-transition-old(root),::view-transition-new(root),::view-transition-old(vt-header),::view-transition-new(vt-header),::view-transition-old(vt-nav),::view-transition-new(vt-nav){animation:none}}.btn:active{transform:translateY(0);transition:transform 80ms ease,background .12s ease,border-color .12s ease}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 6px var(--ringA),0 10px 26px #0b0b0c1a}.navLink:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 6px var(--ringA),0 4px 16px #0b0b0c14;border-radius:10px}.navLink:active{transform:scale(.98);transition:transform 80ms ease,background .12s ease,color .12s ease}.nav a{transition:all .2s cubic-bezier(.4,0,.2,1)}::selection{background:#f59e0b38}.nav a,.footer a,a.navLink{position:relative;display:inline-block}.nav a:after,.footer a:after,a.navLink:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:currentColor;opacity:0;transform:scaleX(0);transform-origin:left;transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1)}.nav a:hover:after,.footer a:hover:after,a.navLink:hover:after{opacity:.6;transform:scaleX(1)}.nav a:focus-visible,.footer a:focus-visible,a.navLink:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 6px var(--ringA);border-radius:6px}.nav a:focus-visible:after,.footer a:focus-visible:after,a.navLink:focus-visible:after{opacity:.6;transform:scaleX(1)}.nav a:active,.footer a:active,a.navLink:active{opacity:.7}.btn:active{transform:translateY(1px) scale(.99);filter:brightness(.98);transition:transform .1s ease,filter .1s ease,background .1s ease,border-color .1s ease}.card:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 6px var(--ringA),0 8px 24px #0b0b0c1a}input[type=text]:focus-visible,input[type=email]:focus-visible,input[type=password]:focus-visible,input[type=search]:focus-visible,input[type=tel]:focus-visible,input[type=url]:focus-visible,input[type=number]:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 5px var(--ringA),0 4px 16px #0b0b0c14}@media (prefers-color-scheme: dark){input[type=text]:focus-visible,input[type=email]:focus-visible,input[type=password]:focus-visible,input[type=search]:focus-visible,input[type=tel]:focus-visible,input[type=url]:focus-visible,input[type=number]:focus-visible,textarea:focus-visible,select:focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 5px var(--ringA),0 4px 16px #00000047}.card:focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 6px var(--ringA),0 8px 24px #00000059}}.kinetic{opacity:0;transform:translateY(12px) scale(.99)}.kinetic.is-in{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1)}@media (prefers-reduced-motion: reduce){.kinetic{opacity:1;transform:none;transition:none}.btn,.btn:hover,.btn:active,.btn:focus-visible,.card,.card:hover,.card:active,.card:focus-visible{transform:none!important}.nav a:after,.footer a:after,a.navLink:after{transition:transform .15s ease,opacity .15s ease}.nav a:active,.footer a:active,a.navLink:active{transition:opacity .1s ease}.nav a:focus-visible,.footer a:focus-visible,a.navLink:focus-visible,.btn:focus-visible,.card:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{transition:box-shadow .15s ease}}
