:root{--color-bg: #FAF6F1;--color-text: #2B2622;--color-text-secondary: #6B5F54;--color-accent: #D46A4E;--color-divider: #E8DFD5;--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--text-sm: clamp(.8rem, .75rem + .25vw, .875rem);--text-base: clamp(1rem, .95rem + .25vw, 1.0625rem);--text-lg: clamp(1.125rem, 1rem + .5vw, 1.25rem);--text-xl: clamp(1.5rem, 1.25rem + 1vw, 2rem);--text-2xl: clamp(2rem, 1.5rem + 2vw, 3rem);--text-hero: clamp(2.25rem, 1.5rem + 3vw, 3.75rem);--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 3rem;--space-xl: 6rem;--space-2xl: 9rem;--max-width: 72rem;--content-width: 42rem;--nav-height: 4rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;color:var(--color-text);background-color:var(--color-bg)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.2;color:var(--color-text)}h1{font-size:var(--text-hero)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{max-width:var(--content-width)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-md)}.divider{border:none;border-top:1px solid var(--color-divider);margin-block:var(--space-lg)}::selection{background-color:var(--color-accent);color:var(--color-bg)}.constraint-table-wrap{border:1px solid var(--color-divider);border-radius:4px;overflow:hidden;cursor:zoom-in;transition:border-color .2s ease}.constraint-table-wrap:hover,.constraint-table-wrap:focus-visible{border-color:var(--color-accent);outline:none}.constraint-table{width:100%;border-collapse:collapse;table-layout:fixed;background-color:var(--color-bg);font-size:var(--text-sm)}.constraint-table col.col-num{width:5%}.constraint-table col.col-constraint{width:55%}.constraint-table col.col-status{width:15%}.constraint-table col.col-rationale{width:25%}.constraint-table th,.constraint-table td{text-align:left;vertical-align:top;padding:.7rem .85rem}.constraint-table thead th{font-family:var(--font-display);font-weight:600;color:var(--color-text);border-bottom:1.5px solid var(--color-divider)}.constraint-table tbody td{font-family:var(--font-body);color:var(--color-text);line-height:1.5;border-bottom:1px solid var(--color-divider)}.constraint-table tbody tr:last-child td{border-bottom:none}.constraint-table .cell-num{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.constraint-table .cell-rationale{color:var(--color-text-secondary)}.constraint-table .cell-rationale.is-dash{text-align:center}.status-pill{display:inline-block;font-family:var(--font-display);font-weight:500;font-size:.82em;line-height:1.25;padding:.22em .6em;border-radius:999px}.status-pill--enforced{color:var(--color-text);background-color:transparent;border:1px solid var(--color-text)}.status-pill--relaxed{color:var(--color-accent);background-color:#faf0ec;border:1px solid var(--color-accent)}.status-pill--notmodeled{color:var(--color-text-secondary);background-color:transparent;border:1px solid var(--color-divider)}.lightbox-html{width:100%;display:none}.lightbox-html .constraint-table{font-size:var(--text-base)}.lightbox-html .constraint-table th,.lightbox-html .constraint-table td{padding:.85rem 1rem}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;background-color:var(--color-bg);border-bottom:1px solid var(--color-divider);height:var(--nav-height);display:flex;align-items:center}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:center}.wordmark[data-astro-cid-3ef6ksr2]{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;color:var(--color-text);text-decoration:none;letter-spacing:-.01em}.wordmark[data-astro-cid-3ef6ksr2]:hover{text-decoration:none;color:var(--color-accent)}.nav-list[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--space-md);list-style:none}.nav-link[data-astro-cid-3ef6ksr2]{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;letter-spacing:.02em;text-transform:uppercase}.nav-link[data-astro-cid-3ef6ksr2]:hover,.nav-link[data-astro-cid-3ef6ksr2].active{color:var(--color-text)}.menu-toggle[data-astro-cid-3ef6ksr2]{display:none;background:none;border:none;cursor:pointer;padding:.5rem;flex-direction:column;gap:6px}.menu-bar[data-astro-cid-3ef6ksr2]{display:block;width:24px;height:2px;background-color:var(--color-text);transition:transform .2s ease,opacity .2s ease}@media(max-width:640px){.menu-toggle[data-astro-cid-3ef6ksr2]{display:flex}.nav[data-astro-cid-3ef6ksr2]{position:fixed;top:var(--nav-height);left:0;right:0;background-color:var(--color-bg);border-bottom:1px solid var(--color-divider);padding:var(--space-md);transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .25s ease}.nav[data-astro-cid-3ef6ksr2].is-open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-list[data-astro-cid-3ef6ksr2]{flex-direction:column;gap:var(--space-sm)}.nav-link[data-astro-cid-3ef6ksr2]{font-size:var(--text-base);display:block;padding-block:var(--space-xs)}.menu-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .menu-bar[data-astro-cid-3ef6ksr2]:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .menu-bar[data-astro-cid-3ef6ksr2]:last-child{transform:translateY(-4px) rotate(-45deg)}}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--color-divider);padding-block:var(--space-lg);margin-top:var(--space-2xl)}.footer-inner[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.footer-text[data-astro-cid-sz7xmlte],.footer-email[data-astro-cid-sz7xmlte]{font-size:var(--text-sm);color:var(--color-text-secondary)}.footer-email[data-astro-cid-sz7xmlte]:hover{color:var(--color-accent)}
