:root{--ink:#1e293b;--muted:#5b677a;--paper:#fff;--wash:#f5f7fa;--line:#dfe4eb;--accent:#b42318;--accent-dark:#7a1a14;--blue:#1e4f78;--sidebar:#172231;--sidebar-muted:#a9b8c9;--shadow:0 16px 40px rgba(23,34,49,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.68}
a{color:var(--blue);text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{color:var(--accent)}
img{max-width:100%;height:auto}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:30;padding:.7rem 1rem;background:#fff;color:#111;border-radius:.25rem;box-shadow:var(--shadow)}
.skip-link:focus{top:1rem}
.layout{min-height:100vh;display:grid;grid-template-columns:290px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:2.2rem 1.7rem;background:var(--sidebar);color:#fff;overflow-y:auto}
.brand{display:block;width:124px;height:85px;overflow:hidden;color:#fff;text-decoration:none;margin-bottom:2.1rem}
.brand:hover{color:#fff}
.brand-logo{display:block;width:127px;height:90px;max-width:none;transform:translate(-1px,-2px);border:0;border-radius:0;box-shadow:none}
.site-nav{display:grid;gap:.18rem}
.site-nav a{padding:.55rem .75rem;border-left:3px solid transparent;border-radius:0 .35rem .35rem 0;color:#dbe4ee;text-decoration:none;font-weight:600;font-size:.92rem}
.site-nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.site-nav a.active{border-left-color:#f15b4f;background:rgba(255,255,255,.1);color:#fff}
.sidebar-links{display:flex;flex-wrap:wrap;gap:.7rem 1rem;margin-top:auto;padding-top:2rem;border-top:1px solid rgba(255,255,255,.14)}
.sidebar-links a{color:var(--sidebar-muted);font-size:.8rem;text-decoration:none}.sidebar-links a:hover{color:#fff}
.main{width:min(100%,1050px);padding:4.6rem clamp(2rem,7vw,7.5rem) 2.5rem}
.page-header{padding-bottom:1.8rem;margin-bottom:2.2rem;border-bottom:1px solid var(--line)}
.page-header h1{max-width:820px;margin:.2rem 0 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.45rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.035em;color:#142131}
.home-header{padding:2.4rem clamp(1.6rem,4vw,3rem);margin-left:clamp(-3rem,-3vw,-1rem);margin-right:clamp(-3rem,-3vw,-1rem);border:1px solid #ecd9d6;border-radius:1rem;background:linear-gradient(135deg,#fff8f6,#f7fafc 70%);box-shadow:var(--shadow)}
.home-header h1{max-width:760px}.eyebrow{margin:0 0 .85rem;color:var(--accent);font-weight:800;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase}
.lede{max-width:740px;margin:1.25rem 0 0;color:var(--muted);font-size:clamp(1.05rem,2vw,1.28rem)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.button{display:inline-block;padding:.7rem 1rem;border:1px solid var(--accent);border-radius:.38rem;font-weight:750;text-decoration:none}.button.primary{background:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-dark);color:#fff}.button.secondary{background:#fff;color:var(--accent)}
.prose{overflow-wrap:anywhere;font-family:Georgia,"Times New Roman",serif;font-size:1.04rem}
.prose a{overflow-wrap:anywhere}
.prose>p:first-child{font-size:1.12rem}.prose h2,.prose h3,.prose h4{font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.25;color:#182638}.prose h2{margin:2.7rem 0 1rem;font-size:1.65rem}.prose h3{margin:2.1rem 0 .8rem;font-size:1.28rem}
.prose p,.prose ul,.prose ol,.prose figure,.prose table{margin:0 0 1.25rem}.prose li+li{margin-top:.5rem}.prose strong{color:#172231}.prose figure{text-align:center}.prose figcaption{color:var(--muted);font:italic .85rem/1.5 Georgia,serif}
.prose img{border-radius:.3rem}.prose table{display:block;width:100%;overflow:auto;border-collapse:collapse;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.9rem}.prose th,.prose td{padding:.65rem .8rem;border:1px solid var(--line);text-align:left}.prose th{background:var(--wash)}
.prose pre{overflow:auto;padding:1rem;background:#111b27;color:#e7edf4;border-radius:.45rem}.prose code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}
.page-footer{display:flex;justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:1.2rem;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}.page-footer a{text-decoration:none}
.menu-button{display:none}
@media(max-width:820px){.layout{display:block}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:min(86vw,310px);height:100vh;transform:translateX(-105%);transition:transform .2s ease;box-shadow:var(--shadow)}body.menu-open .sidebar{transform:translateX(0)}.menu-button{position:fixed;right:1rem;top:1rem;z-index:25;display:flex;align-items:center;gap:.45rem;padding:.62rem .85rem;border:0;border-radius:999px;background:var(--sidebar);color:#fff;box-shadow:var(--shadow);font:700 .8rem/1 Inter,ui-sans-serif,system-ui,sans-serif}.main{padding:5rem 1.3rem 2rem}.home-header{margin-left:0;margin-right:0}.page-header h1{font-size:clamp(2.25rem,10vw,3rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sidebar{transition:none}}
