/* Shared styles for /terms, /privacy and /sms. Tokens mirror src/index.css (ivory / petrol / brass). Draft — pending attorney review. */
:root { --ivory:#f8f7f3; --paper:#fff; --petrol:#0e3a40; --deep:#082a2f; --brass:#b8925a; --brass-ink:#9a7744; --muted:#4b5a5d; --line:rgba(14,58,64,.14); }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; background:var(--ivory); color:var(--petrol); font-family:"Jost","Futura","Avenir Next",system-ui,sans-serif; font-weight:400; line-height:1.65; font-size:17px; }
a { color:var(--petrol); text-decoration-color:var(--brass); text-underline-offset:3px; }
a:hover { color:var(--brass-ink); }
:focus-visible { outline:2px solid var(--brass); outline-offset:3px; border-radius:2px; }
.skip { position:absolute; left:-9999px; top:0; background:var(--petrol); color:var(--ivory); padding:.75rem 1rem; z-index:10; }
.skip:focus { left:0; }
.top { border-bottom:1px solid var(--line); }
.top-in, .foot-in { max-width:1200px; margin:0 auto; padding:1rem 5vw; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.brand { display:inline-flex; align-items:center; gap:.65rem; text-decoration:none; font-family:"Instrument Serif",Georgia,serif; font-size:1.6rem; line-height:1; color:inherit; }
.home { font-size:11px; letter-spacing:.18em; text-transform:uppercase; text-decoration:none; min-height:44px; display:inline-flex; align-items:center; color:var(--muted); }
main { max-width:44rem; margin:0 auto; padding:4.5rem 5vw 6rem; }
.rule { display:block; width:2.5rem; height:1px; background:var(--brass); margin-bottom:1.5rem; }
h1, h2 { font-family:"Instrument Serif","Iowan Old Style",Georgia,serif; font-weight:400; letter-spacing:-.01em; }
h1 { font-size:clamp(2.6rem,6vw,4rem); line-height:1.05; margin:0 0 .5rem; }
h2 { font-size:1.65rem; line-height:1.2; margin:2.75rem 0 .5rem; padding-top:1.5rem; border-top:1px solid var(--line); }
.updated { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin:0 0 2rem; }
.lede { font-size:1.15rem; color:rgba(14,58,64,.8); }
p, li { color:rgba(14,58,64,.88); }
p { margin:0 0 1rem; }
ul { padding-left:1.25rem; margin:0 0 1rem; }
li { margin:.4rem 0; padding-left:.25rem; }
li::marker { color:var(--brass); }
.quote li { font-style:italic; }
table { width:100%; border-collapse:collapse; margin:1rem 0; font-size:15.5px; background:var(--paper); border:1px solid var(--line); border-radius:6px; }
th, td { text-align:left; padding:.7rem .9rem; border-bottom:1px solid var(--line); vertical-align:top; }
thead th { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); font-weight:500; }
tbody th { font-weight:500; white-space:nowrap; }
tr:last-child > * { border-bottom:0; }
.foot { background:var(--deep); color:var(--ivory); }
.foot a { color:rgba(248,247,243,.7); text-decoration:none; }
.foot a:hover { color:var(--brass); }
.foot .brand { color:var(--ivory); }
.foot nav { display:flex; flex-wrap:wrap; gap:.25rem 1.5rem; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(248,247,243,.7); align-items:center; }
.foot nav a { min-height:44px; display:inline-flex; align-items:center; }
@media (max-width:520px) { body { font-size:16px; } tbody th { white-space:normal; } }
