@font-face{font-family:Fraunces Variable;font-style:normal;font-weight:100 900;font-display:optional;src:url(/fonts/fraunces-latin-normal.woff2) format("woff2-variations");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:DM Sans Variable;font-style:normal;font-weight:100 1000;font-display:optional;src:url(/fonts/dm-sans-latin-normal.woff2) format("woff2-variations");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:Fraunces Fallback;src:local("Georgia");ascent-override:91%;descent-override:26%;line-gap-override:0%;size-adjust:102%}@font-face{font-family:DM Sans Fallback;src:local("Arial");ascent-override:94%;descent-override:24%;line-gap-override:0%;size-adjust:99%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:light;--color-bg: #f9f8f6;--color-surface: #ffffff;--color-surface-2: #f3f2ef;--color-surface-dark: #0c1220;--color-text: #111827;--color-text-muted: #5f6b79;--color-text-light: #9ca3af;--color-primary: #4338ca;--color-primary-hover:#3730a3;--color-primary-light:#e0e7ff;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-accent: #e0e7ff;--color-focus: #f59e0b;--a11y-text-scale: 1;--font-display: "Fraunces Variable", "Fraunces Fallback", Georgia, serif;--font-sans: "DM Sans Variable", "DM Sans Fallback", system-ui, sans-serif;--radius-sm: .25rem;--radius: .625rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--shadow-sm: 0 1px 2px rgba(0,0,0,.04), 0 1px 5px rgba(0,0,0,.03);--shadow: 0 2px 8px rgba(0,0,0,.06), 0 2px 14px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.08), 0 8px 28px rgba(0,0,0,.05);--shadow-lg: 0 12px 40px rgba(0,0,0,.12), 0 4px 16px rgba(0,0,0,.06);--transition: .18s ease;--transition-slow: .3s ease;--max-content: 740px;--max-wide: 1160px}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}html{overflow-x:hidden;background:var(--color-bg);color-scheme:light;font-size:calc(100% * var(--a11y-text-scale))}body{font-family:var(--font-sans);font-size:1rem;line-height:1.75;color:var(--color-text);background:var(--color-bg);min-width:320px;overflow-x:hidden;-webkit-font-smoothing:antialiased}.skip-link{position:absolute;top:-100%;left:1rem;background:var(--color-primary);color:#fff;padding:.5rem 1rem;border-radius:var(--radius);text-decoration:none;font-weight:600;z-index:1000}.skip-link:focus{top:1rem}.container{width:100%;max-width:var(--max-wide);margin-inline:auto;padding-inline:1.5rem}.site-header{position:sticky;top:0;z-index:100;background:#f9f8f6f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.07);box-shadow:0 1px #0000000d}.header-inner{display:flex;align-items:center;gap:1.5rem;height:62px}.site-logo{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:-.01em;color:var(--color-text);text-decoration:none;white-space:nowrap;flex-shrink:0;transition:color var(--transition)}.site-logo:hover{color:var(--color-primary)}.logo-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-primary)}.logo-text{line-height:1.2}.logo-accent{color:var(--color-primary)}.site-nav{margin-left:auto}.main-menu{display:flex;align-items:stretch;gap:.1rem;list-style:none}.menu-item{position:relative}.site-nav .nav-link{display:flex;align-items:center;min-height:62px;padding:0 .62rem;font-size:.79rem;font-weight:600;color:var(--color-text-muted);text-decoration:none;border-bottom:2px solid transparent;transition:color var(--transition),border-color var(--transition),background var(--transition);white-space:nowrap}.site-nav .nav-link:hover,.site-nav .nav-link:focus-visible{color:var(--color-primary);border-bottom-color:var(--color-primary)}.site-nav .nav-link.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.site-nav .dropdown-caret{display:inline-flex;margin-left:.25rem;font-size:.72rem;line-height:1;transition:transform var(--transition)}.mega-menu{position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(8px);display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:1.1rem;width:min(660px,calc(100vw - 3rem));padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;z-index:300;transition:opacity var(--transition),transform var(--transition),visibility var(--transition)}.mega-menu:before{content:"";position:absolute;top:-.75rem;left:0;right:0;height:.75rem}.has-mega:hover .mega-menu,.has-mega:focus-within .mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(0)}.has-mega:hover .dropdown-caret,.has-mega:focus-within .dropdown-caret{transform:rotate(180deg)}.mega-heading{margin-bottom:.45rem;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.mega-links{display:grid;gap:.1rem;list-style:none}.mega-link{display:block;padding:.45rem .5rem;border-radius:var(--radius-sm);color:var(--color-text);font-size:.86rem;line-height:1.35;text-decoration:none;transition:background var(--transition),color var(--transition)}.mega-link:hover,.mega-link:focus-visible{background:var(--color-primary-light);color:var(--color-primary)}.mobile-menu-wrapper{display:none;margin-left:auto;position:relative}.mobile-menu-wrapper>summary{display:inline-flex;align-items:center;min-height:44px;padding:.45rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-weight:700;cursor:pointer;list-style:none}.mobile-menu-wrapper>summary::-webkit-details-marker{display:none}.mobile-menu-wrapper>summary:after{content:"";width:.48rem;height:.48rem;margin-left:.55rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform var(--transition)}.mobile-menu-wrapper[open]>summary:after{transform:rotate(225deg) translateY(-1px)}.mobile-nav{position:absolute;top:calc(100% + .55rem);right:0;width:min(88vw,380px);max-height:calc(100vh - 5.25rem);overflow-y:auto;padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.mobile-nav a,.mobile-nav-section>summary{display:flex;align-items:center;min-height:44px;padding:.62rem .75rem;border-radius:var(--radius-sm);color:var(--color-text);font-size:.94rem;font-weight:650;line-height:1.35;text-decoration:none}.mobile-nav a:hover,.mobile-nav a:focus-visible,.mobile-nav-section>summary:hover,.mobile-nav-section>summary:focus-visible{background:var(--color-primary-light);color:var(--color-primary)}.mobile-nav-section{border-top:1px solid var(--color-border-light)}.mobile-nav-section:first-of-type{border-top:0}.mobile-nav-section>summary{cursor:pointer;list-style-position:inside}.mobile-nav-section ul{display:grid;gap:.05rem;list-style:none;padding:.15rem 0 .55rem}.mobile-nav-section a{padding-left:1rem;font-weight:550}.mobile-section-label{padding:.7rem .75rem .2rem;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}@media(max-width:980px){.desktop-nav{display:none}.mobile-menu-wrapper{display:block}.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#f9f8f6fa}}.site-footer{margin-top:4rem;background:var(--color-surface-dark);padding-block:3rem 1.75rem;font-size:.875rem;color:#fff9}.footer-inner{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.footer-brand{display:flex;flex-direction:column;gap:.5rem;max-width:240px}.footer-logo{font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:-.01em;color:#ffffffeb;text-decoration:none;transition:color var(--transition)}.footer-logo:hover{color:var(--color-primary)}.footer-tagline{font-style:italic;font-size:.83rem;line-height:1.6;color:#ffffffa6}.footer-cols{display:flex;gap:3rem;flex-wrap:wrap}.footer-col{min-width:120px}.footer-col-heading{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;margin-bottom:.9rem}.footer-links{list-style:none;display:flex;flex-direction:column;gap:.25rem}.footer-links a{color:#fff9;text-decoration:none;font-size:.85rem;transition:color var(--transition);display:inline-flex;min-height:28px;align-items:center}.footer-links a:hover{color:var(--color-primary)}.footer-copy{font-size:.78rem;color:#ffffff8c;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}@media(max-width:600px){.footer-inner{flex-direction:column;gap:1.5rem}.footer-brand{max-width:100%}.footer-cols{gap:1.5rem}}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--font-display);line-height:1.2;font-weight:700;margin-top:2.5rem;margin-bottom:.75rem;color:var(--color-text);letter-spacing:-.01em}.prose h1{font-size:clamp(1.5rem,3vw,2.2rem);margin-top:0}.prose h2{font-size:clamp(1.2rem,2vw,1.5rem);padding-bottom:.5rem;border-bottom:1px solid var(--color-border-light)}.prose h3{font-size:1.15rem;font-weight:700}.prose p{margin-bottom:1.15rem;line-height:1.85}.prose a{color:var(--color-primary);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size var(--transition),color var(--transition)}.prose a:hover{background-size:100% 1px}.prose ul,.prose ol{padding-left:1.5rem;margin-bottom:1.15rem}.prose li{margin-bottom:.45rem;line-height:1.75}.prose strong{font-weight:700;color:var(--color-text)}.prose table{width:100%;border-collapse:collapse;margin-bottom:1.75rem;font-size:.875rem}@media(max-width:480px){.prose table{font-size:.8rem}.prose th,.prose td{padding:.5rem .7rem}}.prose th{background:#1e293b;color:#f1f5f9;font-weight:600;text-align:left;white-space:nowrap;font-size:.82rem;letter-spacing:.02em}.prose th,.prose td{padding:.7rem .9rem;border:1px solid var(--color-border);vertical-align:top;line-height:1.56}.prose tbody tr:nth-child(2n) td{background:var(--color-surface-2)}.prose tbody tr:hover td{background:#f0f4ff}.prose tbody tr:last-child td,.prose tbody tr:last-child th{border-bottom:none}.prose blockquote{border-left:3px solid var(--color-primary);padding:.85rem 1.1rem;color:var(--color-text-muted);font-style:italic;margin:1.75rem 0;background:var(--color-primary-light);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.prose code{font-size:.875em;background:var(--color-surface-2);padding:.1em .35em;border-radius:3px}.prose pre{overflow-x:auto;padding:1rem;border-radius:var(--radius);margin-bottom:1rem;background:#0f172a;color:#e2e8f0}.prose pre code{background:none;padding:0;color:inherit}.prose img{max-width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow);display:block}.prose figure{margin:2rem 0}.prose figure img{width:100%}.prose figcaption{text-align:center;font-size:.8rem;color:var(--color-text-muted);margin-top:.6rem;font-style:italic;line-height:1.5}.prose hr{border:none;border-top:1px solid var(--color-border);margin-block:2.25rem}.prose p,.prose li{overflow-wrap:break-word}.prose a{overflow-wrap:break-word;word-break:break-word}.prose td,.prose th{overflow-wrap:break-word}.prose code{overflow-wrap:break-word;word-break:break-word;max-width:100%}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;margin-block:1.75rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.table-wrapper .prose table,.table-wrapper table{margin-bottom:0!important;border:none;border-radius:0}.table-wrapper .prose table{display:table;overflow-x:visible;min-width:480px}img,svg,video,canvas,iframe{max-width:100%}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes heroReveal{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .45s ease both}.fade-up-delay-1{animation:fadeUp .45s .1s ease both}.fade-up-delay-2{animation:fadeUp .45s .2s ease both}.reveal{opacity:1;transform:none}
