.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}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/cormorant-garamond-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:300 500;font-display:swap;src:url(/fonts/cormorant-garamond-latin-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Libre Franklin;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/libre-franklin-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:root{--color-bg: #FDFBF7;--color-bg-warm: #F7F3EC;--color-bg-accent: #EDE8DF;--color-text: #2C2825;--color-text-muted: #6B6259;--color-text-light: #9A9088;--color-accent: #B8860B;--color-accent-soft: #D4A843;--color-sage: #7A8B6F;--color-sage-light: #E8EDE5;--color-border: #E2DDD6;--color-border-dark: #C8C1B8;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Libre Franklin", -apple-system, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 4rem;--space-2xl: 6rem;--space-3xl: 10rem;--max-width: 1200px;--content-width: 800px;--header-height: 5rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .2s;--duration-normal: .4s;--duration-slow: .8s}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-normal: 0ms;--duration-slow: 0ms}}[data-theme=dark]{--color-bg: #1C1A17;--color-bg-warm: #242119;--color-bg-accent: #2E2A24;--color-text: #F0EDE8;--color-text-muted: #B5AFA6;--color-text-light: #8A837A;--color-accent: #D4A843;--color-accent-soft: #B8860B;--color-sage: #9AAF8D;--color-sage-light: #2A3326;--color-border: #3A3530;--color-border-dark: #4A443D}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-weight:300;font-size:1rem;line-height:1.7;color:var(--color-text);background-color:var(--color-bg);min-height:100vh}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:9999}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:1.2}a{color:var(--color-accent);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-text)}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}img{max-width:100%;height:auto;display:block}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.reveal{opacity:0;transform:translateY(24px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.reveal.visible{opacity:1;transform:translateY(0)}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:color-mix(in srgb,var(--color-bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);height:var(--header-height)}.nav-container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg);height:100%;display:flex;align-items:center;justify-content:space-between}.nav-links{display:flex;align-items:center;gap:var(--space-lg)}.nav-links a{font-size:.875rem;font-weight:400;color:var(--color-text-muted);letter-spacing:.03em;text-transform:uppercase;transition:color var(--duration-fast) var(--ease-out);position:relative}.nav-links a:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--color-accent);transition:width var(--duration-fast) var(--ease-out)}.nav-links a:hover{color:var(--color-text)}.nav-links a:hover:after{width:100%}.nav-links a[aria-current=page]{color:var(--color-text)}.nav-links a[aria-current=page]:after{width:100%}.nav-cta:after{display:none}.nav-cta{padding:.5rem 1.25rem;border:1px solid var(--color-border-dark);border-radius:2px;transition:all var(--duration-fast) var(--ease-out)}.nav-cta:hover{background:var(--color-text);color:var(--color-bg)!important;border-color:var(--color-text)}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--space-sm);flex-direction:column;gap:5px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--color-text);transition:transform var(--duration-fast) var(--ease-out)}.nav-actions{display:flex;align-items:center;gap:var(--space-md)}.theme-toggle{background:none;border:none;cursor:pointer;padding:var(--space-sm);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.theme-toggle:hover{color:var(--color-text);background:var(--color-bg-accent);transform:rotate(15deg)}.theme-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.icon-moon{display:none}.icon-sun,[data-theme=dark] .icon-moon{display:block}[data-theme=dark] .icon-sun{display:none}@media(max-width:768px){.nav-links{display:none;position:absolute;top:var(--header-height);left:0;right:0;background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-direction:column;padding:var(--space-lg);gap:var(--space-md)}.nav-links.open,.nav-toggle{display:flex}}.site-footer{background:var(--color-bg-warm);border-top:1px solid var(--color-border);padding:var(--space-xl) var(--space-lg);margin-top:var(--space-3xl)}.footer-inner{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:var(--space-lg);align-items:start}.footer-name{font-family:var(--font-display);font-size:1.25rem;font-weight:500;margin-bottom:var(--space-xs)}.footer-affiliation{font-size:.875rem;color:var(--color-text-muted);line-height:1.5}.footer-links{display:flex;gap:var(--space-lg)}.footer-links a{font-size:.875rem;color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-out);position:relative}.footer-links a:after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--color-accent);transition:width var(--duration-fast) var(--ease-out)}.footer-links a:hover{color:var(--color-accent)}.footer-links a:hover:after{width:100%}.footer-bottom{grid-column:1 / -1;padding-top:var(--space-lg);border-top:1px solid var(--color-border);font-size:.8rem;color:var(--color-text-muted)}@media(max-width:768px){.footer-inner{grid-template-columns:1fr}.footer-links{flex-direction:column;gap:var(--space-sm)}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
