/* why: house base = reset, type, buttons, fields, data table; ref: ux/mockups/house.css */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;color-scheme:light}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--t-16);line-height:1.5;font-variant-numeric:proportional-nums;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:500;color:var(--ink);margin:0 0 .5em;line-height:1.2;letter-spacing:-.01em;text-wrap:balance}
/* trap: Newsreader kerns '. X' across the space, sentences run together */
h1,h2,h3,h4,h5,h6,.serif{font-kerning:none}
p{margin:0 0 1em}
a{color:var(--accent-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;transition:color var(--fast) var(--ease)}
a:hover{color:var(--accent-ink-hover)}
:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;border-radius:2px}
.wrap{width:auto;max-width:var(--page);margin:0 auto;padding:0 var(--s-48)}
.screen-reader-text,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 var(--s-16);border-radius:var(--r-control);border:1px solid var(--line-control);background:transparent;color:var(--ink);font:500 var(--t-14)/1 var(--sans);letter-spacing:0;text-transform:none;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease)}
.btn:hover{border-color:var(--ink);background:transparent;color:var(--ink);text-decoration:none}
.btn--solid{background:var(--accent);border-color:transparent;color:var(--on-accent)}
.btn--solid:hover{background:var(--accent-hover);border-color:transparent;color:var(--on-accent)}
.btn--sm{height:32px;padding:0 var(--s-12);font-size:var(--t-13);font-weight:500;letter-spacing:0;border:1px solid var(--line-control);color:var(--ink)}
.field{display:grid;gap:var(--s-8)}
.field label{font-size:var(--t-14);color:var(--ink)}
.field input,.field textarea{font:400 var(--t-16)/1.4 var(--sans);color:var(--ink);background:var(--field);border:1px solid var(--line-control);border-radius:var(--r-control);padding:9px var(--s-12);width:100%}
.field textarea{min-height:128px;resize:vertical}
.field input:focus-visible,.field textarea:focus-visible{outline-offset:0;border-color:var(--accent-ink)}
.table-scroll{overflow-x:auto;max-width:100%}
table.data{border-collapse:collapse;width:100%;font-size:var(--t-14)}
table.data th{font-weight:500;color:var(--ink-2);text-align:left;font-size:var(--t-13);padding:0 var(--s-16) var(--s-8) 0;border-bottom:1px solid var(--line-strong);vertical-align:bottom}
table.data td{padding:0 var(--s-16) 0 0;height:40px;border-bottom:1px solid var(--line)}
.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
@media(max-width:760px){.wrap{padding:0 var(--s-16)}}
@media(prefers-reduced-motion:reduce){*{transition-duration:0ms!important}}
.eyebrow{font-family:var(--sans);font-size:var(--t-14);font-weight:600;letter-spacing:0;color:var(--ink-2);margin:0 0 var(--s-8)}
