/* ============ base ============ */
* { margin:0; padding:0; box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { font-family:-apple-system,"Helvetica Neue",Helvetica,Arial,sans-serif; background:#f2f1ee; color:#000; -webkit-font-smoothing:antialiased; }
button { font:inherit; color:inherit; background:none; border:none; cursor:pointer; text-align:left; }
a { color:#000; }
.svgmono { font-family:"SF Mono",ui-monospace,Menlo,Consolas,monospace; }
.eyebrow { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:#777; }

.page { max-width:1200px; margin:0 auto; }
.ptabs { position:sticky; top:0; z-index:50; background:#000; color:#fff; display:flex; gap:8px; align-items:center; padding:10px 12px; overflow-x:auto; scrollbar-width:none; }
.ptabs::-webkit-scrollbar { display:none; }
.ptl { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:#999; flex:none; }
.ptabs button { flex:none; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:11.5px; letter-spacing:.06em; color:#cfcfcf; border:1px solid #444; border-radius:999px; padding:6px 13px; white-space:nowrap; }
.ptabs button.on { background:#fff; color:#000; border-color:#fff; }
.shell { background:#fff; display:flex; flex-direction:column; }
.topline { padding:22px 24px 0; }
.brand { font-size:17px; font-weight:700; letter-spacing:-.01em; }
.brand small { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-weight:400; font-size:10px; letter-spacing:.22em; color:#888; margin-left:12px; }
.foot { margin-top:auto; display:flex; justify-content:space-between; padding:26px 24px 22px; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10.5px; color:#999; border-top:1px solid #ececec; }
.foot a { color:#999; text-decoration:none; }

/* ============ components ============ */
.tag { display:inline-block; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10px; letter-spacing:.14em; text-transform:uppercase; padding:4px 9px; border:1px solid #000; }
.tag.solid { background:#000; color:#fff; }
.tag.ghost { border-color:#cfcfcf; color:#777; }
.card { border:1px solid #000; background:#fff; position:relative; }
.card-h { display:flex; align-items:center; gap:10px; padding:11px 16px; border-bottom:1px solid #e6e6e6; }
.card-h .t { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; }
.card-h .t.muted { color:#888; }
.card-h .when { margin-left:auto; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10.5px; color:#888; }
.card-b { padding:14px 16px; }
.sig-title { font-size:17px; font-weight:650; letter-spacing:-.01em; margin-bottom:10px; }
.spark { border:1px solid #e2e2e2; padding:10px 12px 6px; }
.spark svg { display:block; height:86px; }
.spark.big svg { height:170px; }
.spark-cap { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10px; color:#888; padding:6px 2px 2px; }
.spark-cap b { color:#000; font-weight:600; }
.chips { display:flex; gap:8px; margin-top:11px; flex-wrap:wrap; }
.chip { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10px; padding:4px 9px; border:1px solid #d4d4d4; color:#555; }
.det-text { font-size:14px; line-height:1.55; color:#333; }
.det-text.small { font-size:13px; }
.ev-rows { margin-top:12px; border-top:1px solid #e6e6e6; }
.ev-row { display:flex; gap:10px; align-items:baseline; padding:7px 0; border-bottom:1px solid #e6e6e6; font-size:12.5px; }
.ev-row .rid { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:9.5px; color:#000; border:1px solid #000; padding:2px 6px; white-space:nowrap; flex:none; }
.ev-row .rx { color:#555; }
.draft { border:1px solid #e2e2e2; padding:12px 14px; font-size:13.5px; line-height:1.5; color:#333; background:#fafafa; }
.draft b { color:#000; }
.gate { display:flex; align-items:center; gap:8px; margin-top:10px; flex-wrap:wrap; }
.btn { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; padding:8px 14px; border:1px solid #000; background:#fff; }
.btn.solid { background:#000; color:#fff; }
.btn:active { transform:translateY(1px); }
.btn:disabled { opacity:.45; cursor:not-allowed; }
.gate .who { margin-left:auto; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10.5px; color:#888; }
.audit { margin-top:9px; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10px; color:#999; line-height:1.5; }
.sample-note { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:#999; margin-top:12px; text-align:right; }
.card.act.st-approved { outline:2px solid #000; outline-offset:3px; }
.card.act.st-rejected { opacity:.62; }
.stack { position:relative; }
.stack .card { margin-bottom:16px; }
.node { display:none; }

/* console */
.console { border:1px solid #000; display:flex; flex-direction:column; }
.con-top { display:flex; align-items:center; gap:18px; flex-wrap:wrap; padding:14px 18px; border-bottom:1px solid #000; }
.con-top .ws { font-weight:700; font-size:14.5px; }
.con-top .ws span { color:#888; font-weight:400; }
.con-tabs { display:flex; gap:16px; flex-wrap:wrap; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; }
.con-tabs .on { border-bottom:2px solid #000; padding-bottom:3px; }
.con-tabs .off { color:#999; }
.quiet { margin-left:auto; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10px; color:#888; display:flex; align-items:center; gap:7px; }
.quiet i { width:6px; height:6px; border-radius:50%; background:#000; }
.con-grid { display:grid; grid-template-columns:1fr; }
.rail { border-right:none; border-bottom:1px solid #e6e6e6; padding:16px 0; }
.rail-h { padding:0 18px 10px; }
.sig-item { width:100%; display:flex; gap:11px; align-items:flex-start; padding:12px 18px; border-bottom:1px solid #eee; }
.sig-item.sel { background:#f6f6f6; box-shadow:inset 2px 0 0 #000; }
.sig-item .st { display:block; font-size:13px; font-weight:600; line-height:1.35; }
.sig-item .sm { display:block; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:9.5px; color:#888; margin-top:3px; }
.dot { width:8px; height:8px; border-radius:50%; margin-top:4px; flex:none; }
.dot.open { background:#000; } .dot.watch { background:#fff; border:1.5px solid #000; } .dot.done { background:#fff; border:1.5px solid #bbb; }
.detail { padding:20px 18px; }
.det-head { display:flex; align-items:flex-start; gap:12px; flex-wrap:wrap; }
.det-head h3 { font-size:21px; letter-spacing:-.02em; line-height:1.15; }
.det-sub { margin-top:9px; font-size:13.5px; color:#555; line-height:1.55; max-width:62ch; }
.detail .spark.big { margin-top:18px; }
.det-grid { display:grid; grid-template-columns:1fr; gap:0; margin-top:18px; border:1px solid #e6e6e6; }
.det-cell { padding:16px 18px; }
.det-cell + .det-cell { border-top:1px solid #e6e6e6; }
.det-cell .eyebrow { margin-bottom:10px; }
.det-placeholder { margin-top:20px; border:1px dashed #bbb; padding:20px; }
.action-col { padding:18px; border-top:1px solid #e6e6e6; }
.action-col .card { margin-bottom:16px; }
.con-note { padding:10px 18px; border-top:1px solid #e6e6e6; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:#999; display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; }

/* sections */
main { padding:0 24px; }
.sec { padding:44px 0; border-top:1px solid #ececec; scroll-margin-top:64px; }
.sec:first-child { border-top:none; padding-top:34px; }
.shead .snum { margin-bottom:14px; }
.shead h2 { font-size:34px; letter-spacing:-.025em; line-height:1.04; font-weight:700; }
.lede { margin-top:16px; font-size:15px; line-height:1.6; color:#333; max-width:56ch; }
.hero-meta { display:flex; gap:8px; margin-top:22px; flex-wrap:wrap; }
button.tag { background:none; color:inherit; cursor:pointer; }
button.tag.solid { background:#000; color:#fff; }
button.tag:focus-visible { outline:1px solid #000; outline-offset:2px; }
.hero-def { font-size:12px; line-height:1.7; color:#3f3f46; max-width:560px; margin:12px 0 0; }
.pull { margin-top:26px; font-size:19px; font-weight:600; letter-spacing:-.01em; border-left:3px solid #000; padding-left:16px; }
.sig-grid { display:grid; grid-template-columns:1fr; gap:12px; margin-top:24px; }
.sig-tile { border:1px solid #000; padding:16px; position:relative; }
.sig-tile .dot { margin:0 0 10px; }
.sig-tile .stt { font-size:15px; font-weight:650; margin-bottom:6px; }
.sig-tile p { font-size:13px; color:#555; line-height:1.5; }
.sig-tile .tile-state { position:absolute; top:14px; right:14px; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:#999; }
.rec-line { display:flex; align-items:center; gap:10px; margin-top:26px; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; flex-wrap:wrap; }
.rec-line i { flex:1; min-width:20px; height:1px; background:#000; }
.sec-overview .ov-copy { margin-bottom:28px; }

/* ============ navs ============ */
.nav { display:flex; gap:18px; padding:16px 24px; overflow-x:auto; scrollbar-width:none; border-bottom:1px solid #ececec; }
.nav::-webkit-scrollbar { display:none; }
.nav button { flex:none; font-size:13.5px; color:#777; padding-bottom:3px; border-bottom:2px solid transparent; display:flex; align-items:center; gap:7px; }
.nav button.on { color:#000; border-bottom-color:#000; }
.nav button em { font-style:normal; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:9.5px; color:#aaa; }
.nav button.on em { color:#000; }
.nav button .tick { width:7px; height:7px; border-radius:50%; background:#cfcfcf; }
.nav button.on .tick { background:#000; }


/* ============ generic desktop ============ */
@media (min-width:720px) {
  .topline { padding:30px 40px 0; }
  main { padding:0 40px; }
  .foot { padding:30px 40px 26px; }
  .sec { padding:64px 0; scroll-margin-top:64px; }
  .shead h2 { font-size:44px; }
  .nav { padding:20px 40px; }
}

/* ============ shared content patterns ============ */
.prose-col { margin-top:26px; max-width:64ch; }
.prose-item { font-size:16px; line-height:1.65; color:#222; margin-bottom:18px; }
.prose-item b { font-weight:700; }
.sig-grid { display:grid; grid-template-columns:1fr; gap:12px; margin-top:26px; }
@media (min-width:720px){ .sig-grid { grid-template-columns:1fr 1fr; gap:14px; } }
.sig-tile { border:1px solid #000; padding:16px; position:relative; }
.sig-tile .stt { font-size:15px; font-weight:650; margin-bottom:6px; }
.sig-tile p { font-size:13px; color:#555; line-height:1.5; }
.sig-tile .dot { margin:0 0 10px; }
.dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:#000; }
.dot.open { background:var(--acc,#000); }
.how-list { margin-top:26px; border-top:1px solid #000; }
.how-step { display:grid; grid-template-columns:120px 1fr; gap:18px; padding:20px 0; border-bottom:1px solid #e6e6e6; }
.how-k em { display:block; font-style:normal; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10px; color:var(--acc,#999); letter-spacing:.14em; }
.how-k span { display:block; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:13px; letter-spacing:.1em; text-transform:uppercase; margin-top:6px; font-weight:600; }
.how-tech { font-size:14.5px; line-height:1.6; color:#111; max-width:64ch; }
@media (max-width:719px){ .how-step { grid-template-columns:1fr; gap:8px; } }
@media (max-width:719px){ .nav { flex-wrap:wrap; overflow-x:visible; row-gap:10px; } }
.how-table { width:100%; margin-top:26px; border-collapse:collapse; }
.how-table td { padding:14px 12px; border-bottom:1px solid #e6e6e6; vertical-align:top; font-size:13.5px; line-height:1.55; }
.how-table td.hk { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:12px; letter-spacing:.06em; text-transform:uppercase; font-weight:600; white-space:nowrap; }
.how-table td.hn { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10px; color:var(--acc,#999); }
@media (max-width:719px){ .how-table td { padding:10px 8px; font-size:12.5px; } .how-table td.hk { white-space:normal; } }
.pull { margin-top:26px; font-size:19px; font-weight:600; letter-spacing:-.01em; border-left:3px solid var(--acc,#000); padding-left:16px; }

/* ============ heroes ============ */
.hero-display .shead h2 { font-size:clamp(46px,9vw,110px); letter-spacing:-.04em; }
.hero-display .lede { font-size:17px; max-width:60ch; }
.hero-split .sec-in { display:grid; grid-template-columns:1fr; gap:34px; }
@media (min-width:1000px){ .hero-split .sec-in { grid-template-columns:46% 54%; gap:44px; } }
.hero-split .shead h2 { font-size:clamp(38px,5vw,58px); }
.split-index { border-left:1px solid #000; padding-left:24px; }
.split-row { display:flex; gap:14px; align-items:baseline; padding:10px 0; border-bottom:1px solid #ececec; }
.split-row .hn { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10px; color:var(--acc,#999); }
.split-row .hk { font-size:14px; font-weight:650; }
.term-window { margin-top:28px; border:1px solid #000; background:#0b0b0b; color:#e8e8e8; font-family:"SF Mono",ui-monospace,Menlo,Consolas,monospace; font-size:13px; line-height:1.7; }
.term-bar { display:flex; gap:6px; align-items:center; padding:10px 14px; border-bottom:1px solid #2a2a2a; }
.term-bar i { width:9px; height:9px; border-radius:50%; border:1px solid #555; }
.term-bar span { margin-left:10px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:#777; }
.term-body { padding:16px 18px; white-space:pre-wrap; word-break:break-word; }
.term-body .tp { color:var(--acc,#7ee787); }
.term-body .tc { color:#888; }
.spec-table { width:100%; margin-top:28px; border-collapse:collapse; }
.spec-table td { padding:14px 0; border-bottom:1px solid #e0e0e0; vertical-align:top; font-size:14.5px; line-height:1.55; }
.spec-table td:first-child { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; width:150px; padding-right:18px; }
.index-list { margin-top:28px; border-top:1px solid #000; }
.index-row { display:flex; align-items:baseline; gap:16px; padding:16px 0; border-bottom:1px solid #000; }
.index-row .hn { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:11px; color:var(--acc,#999); }
.index-row .hk { font-size:20px; font-weight:700; letter-spacing:-.01em; }
.index-row .dots { flex:1; border-bottom:1px dotted #bbb; transform:translateY(-5px); }
.hero-diagram .diagram { margin-top:30px; border:1px solid #000; padding:10px; }
.hero-diagram .diagram svg { display:block; width:100%; height:auto; }
.hero-diagram .dlabel { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; fill:#666; }

/* ============ section frames ============ */
/* sticky dossier rail */
.frame-sticky .sec-in { display:grid; grid-template-columns:1fr; gap:20px; }
@media (min-width:1000px){
  .frame-sticky .sec-in { grid-template-columns:230px 1fr; gap:44px; }
  .frame-sticky .rail-l { position:sticky; top:70px; align-self:start; }
}
.frame-sticky .rail-l em { display:block; font-style:normal; font-size:54px; font-weight:800; letter-spacing:-.04em; color:var(--acc,#000); line-height:1; }
.frame-sticky .rail-l span { display:block; margin-top:8px; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#888; }
.frame-sticky .rail-r .shead .snum { display:none; }
.frame-sticky .rail-r .shead h2 { font-size:34px; }
/* directory rows */
.frame-rows .sec { padding:0; border-top:1px solid #000; }
.frame-rows .sec:first-of-type { border-top:none; }
.frame-rows .sec-in { padding:26px 0; }
.frame-rows .drow-h { display:flex; align-items:baseline; gap:18px; border-bottom:2px solid #000; padding-bottom:12px; }
.frame-rows .drow-h em { font-style:normal; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:12px; color:var(--acc,#999); }
.frame-rows .drow-h h2 { font-size:26px; letter-spacing:-.02em; }
.frame-rows .drow-h .dsub { margin-left:auto; font-size:12.5px; color:#888; max-width:34ch; text-align:right; }
@media (max-width:719px){ .frame-rows .drow-h .dsub { display:none; } }
/* poster */
.frame-poster .sec { position:relative; overflow:hidden; }
.frame-poster .pnum { position:absolute; top:-30px; right:-10px; font-size:240px; font-weight:800; letter-spacing:-.06em; color:var(--acc,#000); opacity:.07; line-height:1; pointer-events:none; }
.frame-poster .shead h2 { font-size:clamp(38px,6vw,72px); text-transform:none; letter-spacing:-.04em; }
/* terminal sections */
.term-sec { border:1px solid #000; margin-bottom:18px; }
.term-cmd { background:#0b0b0b; color:#e8e8e8; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:12.5px; padding:10px 16px; }
.term-cmd .tp { color:var(--acc,#7ee787); }
.term-sec .term-out { padding:22px 18px; }
.term-sec .shead .snum, .term-sec .shead h2 { display:none; }
.frame-term .sec { padding:10px 0; border-top:none; }
/* spine timeline */
.frame-spine main { position:relative; }
.frame-spine .sec { position:relative; padding-left:34px; }
.frame-spine .sec:before { content:""; position:absolute; left:8px; top:0; bottom:0; width:1.5px; background:#000; opacity:.15; }
.frame-spine .sec:after { content:""; position:absolute; left:2.5px; top:70px; width:12px; height:12px; border-radius:50%; border:2px solid var(--acc,#000); background:#fff; }
@media (max-width:719px){ .frame-spine .sec:after { top:50px; } }

/* ============ nav systems ============ */
@media (min-width:1000px) {
  .nav-side .shell { display:grid; grid-template-columns:220px 1fr; }
  .nav-side .topline { grid-column:1 / -1; }
  .nav-side .nav { flex-direction:column; align-items:stretch; border-bottom:none; border-right:1px solid #ececec; position:sticky; top:60px; align-self:start; padding:10px 24px 20px; gap:4px; }
  .nav-side .nav button { padding:8px 0; }
  .nav-side .foot { grid-column:2; }
}
.nav-bottom main { order:1; }
.nav-bottom .foot { order:2; }
.nav-bottom .nav { position:sticky; bottom:0; background:#fff; border-top:1px solid #000; border-bottom:none; z-index:40; order:3; }
.nav-index .nav { gap:10px; }
.nav-index .nav button { border:1px solid #000; padding:7px 12px; font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.nav-index .nav button.on { background:#000; color:#fff; }
.nav-index .nav button em { color:#999; }
.nav-index .nav button.on em { color:#fff; }

/* ============ type modes ============ */
.type-serif .shead h2, .type-serif .brand, .type-serif .lede, .type-serif .prose-item { font-family:Georgia,'Times New Roman',serif; }
.type-serif .shead h2 { font-weight:400; }
.type-serif .brand { font-size:22px; }
.type-mono .shell, .type-mono .shead h2, .type-mono .brand, .type-mono .how-tech, .type-mono .prose-item { font-family:"SF Mono",ui-monospace,Menlo,Consolas,monospace; }
.type-mono .shead h2 { font-size:24px; letter-spacing:0; }
.type-mono .brand { font-size:14px; letter-spacing:.06em; }

/* ============ version identities ============ */
/* 1 Manifesto - centered giant serif */
.v1 .sec-overview { text-align:center; }
.v1 .hero-display .lede { margin-left:auto; margin-right:auto; }
.v1 .hero-meta { justify-content:center; }
.v1 .frame-poster .pnum, .v1 .pnum { left:0; right:0; text-align:center; }
/* 2 Dossier - sticky rails, crimson */
.v2 .sec { border-top:1px solid #000; }
.v2 .sec:first-child { border-top:none; }
/* 3 Terminal */
.v3 .sec-overview .shead h2:before { content:"> "; color:var(--acc); }
/* 4 Datasheet */
.v4 .shell { font-variant-numeric:tabular-nums; }
.v4 .frame-rows .drow-h h2 { font-weight:500; font-size:22px; }
/* 5 Editorial - drop cap, narrow measure */
.v5 .topline { border-bottom:3px double #000; padding-bottom:18px; }
.v5 .sec { border-top:1px solid #000; }
.v5 .sec:first-child { border-top:none; }
.v5 .prose-item:first-of-type::first-letter { font-size:56px; line-height:.9; float:left; padding:4px 10px 0 0; font-weight:400; color:var(--acc,#000); }
.v5 .pull { font-family:Georgia,serif; font-style:italic; font-weight:400; border-left:none; padding-left:26px; position:relative; }
.v5 .pull:before { content:"\201C"; position:absolute; left:0; top:-4px; font-size:40px; }
/* 6 Sidebar */
.v6 .rail-l em { font-size:44px; }
/* 7 Index */
.v7 .shead h2 { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:22px; text-transform:uppercase; letter-spacing:.02em; }
.v7 .brand { font-variant:small-caps; }
/* 8 Atlas - diagram-led, generous */
.v8 .shead h2 { letter-spacing:-.03em; }
.v8 .sig-tile { border-width:1px; }
/* 9 Blueprint - grid paper */
.v9 .shell { background-image:linear-gradient(#eef2f6 1px,transparent 1px),linear-gradient(90deg,#eef2f6 1px,transparent 1px); background-size:32px 32px; }
.v9 .sig-tile, .v9 .inq-f input, .v9 .inq-f select, .v9 .inq-f textarea, .v9 .term-sec { background:#fff; }
.v9 .shead h2 { font-family:"SF Mono",ui-monospace,Menlo,monospace; text-transform:uppercase; font-size:22px; letter-spacing:.04em; }
.v9 .shead .snum { color:var(--acc); }
/* 10 Timeline */
.v10 .shead h2 { font-weight:800; letter-spacing:-.03em; }
/* 11 Ledger - serif numerals, hard rules */
.v11 .shell { font-variant-numeric:tabular-nums; }
.v11 .frame-rows .drow-h { border-bottom:3px double #000; }
.v11 .how-table td { border-bottom:1px solid #000; }
/* 12 Cards - boxed on paper gray */
.v12 .shell { background:#f7f6f3; }
.v12 .sec { border-top:none; padding:26px 0; }
.v12 .sec-in { background:#fff; border:1px solid #e0e0e0; padding:26px; }
@media (min-width:720px){ .v12 .sec-in { padding:40px; } }
/* 13 Tints - alternating accent-tinted bands */
.v13 .sec:nth-of-type(odd) .sec-in { background:color-mix(in srgb, var(--acc) 5%, #fff); padding:30px 24px; }
.v13 .sec { padding:30px 0; border-top:none; }
.v13 .shead h2 { font-weight:800; letter-spacing:-.03em; }
/* 14 Directory */
.v14 .frame-rows .drow-h h2 { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:20px; text-transform:uppercase; }
/* 15 Marginalia */
.v15 .shead h2 { font-family:Georgia,serif; font-weight:400; }
.v15 .sec { border-top:1px solid #000; }
.v15 .sec:first-child { border-top:none; }
.v15 .prose-item:first-of-type::first-letter { font-size:48px; line-height:.9; float:left; padding:4px 10px 0 0; color:var(--acc,#000); }
/* 16 Poster - brutalist uppercase */
.v16 .shead h2 { text-transform:uppercase; font-weight:800; }
.v16 .brand { text-transform:uppercase; letter-spacing:.12em; }
/* 17 System */
.v17 .shead h2 { letter-spacing:-.02em; }

/* ============ inquiries ============ */
.inq { margin-top:26px; max-width:760px; }
.inq-row { display:grid; grid-template-columns:1fr; gap:14px; }
@media (min-width:720px){ .inq-row { grid-template-columns:1fr 1fr 1fr; } }
.inq-f { display:flex; flex-direction:column; gap:7px; margin-bottom:14px; }
.inq-f span { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:#999; }
.inq-f input, .inq-f select, .inq-f textarea { font:inherit; font-size:14px; color:#000; background:#fff; border:1px solid #000; padding:10px 12px; border-radius:0; outline:none; width:100%; }
.inq-f input:focus, .inq-f select:focus, .inq-f textarea:focus { border-color:var(--acc,#000); box-shadow:inset 0 0 0 1px var(--acc,#000); }
.inq-f textarea { resize:vertical; }
.inq-foot { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:6px; }
.inq-status { font-size:12.5px; color:#777; max-width:52ch; line-height:1.5; }
.btn { font-family:"SF Mono",ui-monospace,Menlo,monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; border:1px solid #000; padding:9px 16px; }
.btn.solid { background:var(--acc,#000); border-color:var(--acc,#000); color:#fff; }

.inq-f input[type="file"] { border:1px solid #000; padding:10px 12px; font-family:inherit; font-size:12.5px; background:#fff; width:100%; box-sizing:border-box; }

.brand{display:flex;align-items:center;gap:9px}
.brand svg{flex:none}

/* compact inquiries + vector attach (user 00:55) */
#sec-inquiries .inq { margin-top:16px; }
.inq-row { gap:10px; }
.inq-f { gap:5px; margin-bottom:10px; }
.inq-f input, .inq-f select, .inq-f textarea { padding:8px 10px; }
.inq-f input.inq-file { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; padding:0; border:0; }
.inq-attach { display:inline-flex; align-items:center; gap:8px; border:1px solid #000; background:#fff; padding:8px 12px; cursor:pointer; font-size:13px; width:fit-content; }
.inq-attach svg { width:14px; height:14px; stroke:#000; flex:none; }
.inq-attach-name { color:#777; }
