@import url('/css/v2/ui/primitives.css');
@import url('/fonts/v2/fonts.css');
@import url('/css/v2/tokens.css');

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--ivory);color:var(--ink);font:var(--ui-text-body)/1.55 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ul,ol,fieldset{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;letter-spacing:-.015em;text-wrap:balance}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:4px}
button,input,select,textarea{font:inherit}
button,summary{cursor:pointer;touch-action:manipulation}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--forest);outline-offset:4px}
.wrap{max-width:1200px;margin-inline:auto;padding-inline:var(--ui-gutter)}
.ui-page{max-width:var(--ui-content-width);margin-inline:auto;padding:var(--ui-page-space) var(--ui-gutter) var(--ui-space-8)}
.ui-header{max-width:var(--ui-prose-width);display:grid;gap:var(--ui-space-4)}
.ui-eyebrow{font-size:var(--ui-text-label);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--forest)}
.ui-title{font-size:var(--ui-title);color:var(--forest);font-weight:600;max-width:22ch}
.ui-lead{font-size:var(--ui-text-body);max-width:60ch}
.ui-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Shared mobile breakpoint: 820px, matching the prototype. Media queries cannot use var(). */
@media(max-width:820px){
 :root{--ui-gutter:20px;--ui-page-space:32px;--ui-title:34px;--ui-heading:26px}
 .ui-page{padding-bottom:var(--ui-space-7)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.ui-sidebar-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--ui-space-6);align-items:start}
@media(max-width:820px){.ui-sidebar-layout{grid-template-columns:1fr}}
