/* Liorvae Gold public pages. Layered on the canonical public-site tokens. */

.wrap { max-width:1180px; margin:0 auto; padding:0 clamp(20px,5vw,56px); }
.narrow { max-width:660px; }

/* masthead */
.masthead { border-bottom:1px solid var(--rule); }
.masthead .wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:22px; flex-wrap:wrap; }
.mark { display:flex; align-items:center; gap:10px; }
.mark img { height:34px; width:auto; }
.mark b { font-family:var(--font-display); font-size:19px; letter-spacing:.14em; font-weight:400; display:block; line-height:1; }
.mark i { font-family:var(--font-mono); font-style:normal; font-size:10px; letter-spacing:.28em; color:var(--gold); display:block; margin-top:3px; }
.masthead nav { display:flex; flex-wrap:wrap; gap:6px 22px; font-size:14px; }
.masthead nav a[aria-current] { color:var(--gold); }

/* prelaunch strip */
.strip { background:var(--bg3); border-bottom:1px solid var(--rule); font-family:var(--font-mono); font-size:12px; }
.strip .wrap { display:flex; justify-content:space-between; gap:16px; padding-block:9px; flex-wrap:wrap; }
.strip b { font-weight:500; }
.strip span { color:var(--ink2); }

/* type */
h1 { font-family:var(--font-display); font-weight:600; font-size:clamp(40px,6vw,64px); line-height:1.02; letter-spacing:-.01em; margin:0 0 22px; }
h2 { font-family:var(--font-display); font-weight:600; font-size:clamp(28px,3.4vw,40px); line-height:1.08; letter-spacing:-.01em; margin:0 0 16px; }
h3 { font-family:var(--font-display); font-size:24px; font-weight:600; line-height:1.2; letter-spacing:-.01em; margin:0 0 8px; }
p { margin:0 0 16px; max-width:62ch; }
.lead { font-size:19px; line-height:1.5; color:var(--ink); max-width:56ch; }
.muted { color:var(--ink2); }
.small { font-size:14px; }
.num { font-family:var(--font-mono); font-variant-numeric:tabular-nums; }

/* section rhythm: a mono section number on a rule, never an uppercase eyebrow */
section.block { border-top:1px solid var(--rule); }
section.block.block-first { border-top:0; }
section.block > .wrap { padding-block:clamp(44px,6vw,76px); }
.secno { font-family:var(--font-mono); font-size:12px; color:var(--gold); margin:0 0 14px; }
.split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:clamp(28px,5vw,72px); align-items:start; }
@media (max-width:820px){ .split { grid-template-columns:1fr; } }

/* tables */
table.spec { width:100%; border-collapse:collapse; }
table.spec caption { text-align:left; font-family:var(--font-ui); font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink3); padding-bottom:8px; border-bottom:1px solid var(--rule2); }
table.spec th { font-weight:400; color:var(--ink2); text-align:left; padding:11px 16px 11px 0; border-bottom:1px solid var(--rule); vertical-align:baseline; width:46%; }
table.spec td { font-family:var(--font-mono); font-size:14px; font-variant-numeric:tabular-nums; padding:11px 0; border-bottom:1px solid var(--rule); vertical-align:baseline; }
table.spec tr:last-child th, table.spec tr:last-child td { border-bottom:1px solid var(--rule2); }
table.spec td em { font-style:normal; color:var(--ink2); }

/* ruled list, replaces numbered card grids */
ol.ruled { list-style:none; margin:0; padding:0; counter-reset:s; border-top:1px solid var(--rule2); }
ol.ruled li { counter-increment:s; position:relative; padding:18px 0 18px 46px; border-bottom:1px solid var(--rule); }
ol.ruled li::before { content:counter(s,decimal-leading-zero); position:absolute; left:0; top:20px; font-family:var(--font-mono); font-size:12px; color:var(--gold); }
ol.ruled p { color:var(--ink2); margin:0; }

dl.qa { margin:0; border-top:1px solid var(--rule2); }
dl.qa dt { font-size:18px; font-weight:600; padding:20px 0 6px; }
dl.qa dd { margin:0 0 18px; padding-bottom:18px; border-bottom:1px solid var(--rule); color:var(--ink2); max-width:62ch; }

.flag { font-family:var(--font-ui); font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; border:1px solid var(--rule2); border-radius:999px; padding:2px 7px; color:var(--ink3); white-space:nowrap; }
.note { border:1px solid var(--metal-border); border-radius:16px; background:var(--bg2); background-image:var(--metal); padding:clamp(20px,3vw,22px); }
.note h2 { font-size:20px; }
.note p { font-size:15px; color:var(--ink2); max-width:70ch; }
.mt-14 { margin-top:14px; }
.mt-18 { margin-top:18px; }
.mt-20 { margin-top:20px; }
.mt-22 { margin-top:22px; }
.mt-24 { margin-top:24px; }
.mt-26 { margin-top:26px; }
.mb-8 { margin-bottom:8px; }
.spec-narrow { max-width:760px; }

.btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 20px; border:1px solid transparent; border-radius:999px; background:var(--gold-fill); color:var(--btnink); font-family:var(--font-ui); font-size:14px; font-weight:600; line-height:1.3; }
.btn:hover { color:var(--btnink); filter:brightness(1.06); }
.btn.secondary { background:transparent; color:var(--gold); border-color:rgba(232,207,138,.55); }
.btn.secondary:hover { color:var(--gold2); border-color:var(--gold); filter:none; }
.btn[aria-disabled="true"] { opacity:.4; cursor:not-allowed; filter:none; }

/* legal documents */
/* Markers wrap. They carry whole sentences, and nowrap pushed the legal
   pages into horizontal overflow at every width. */
.todo { font-family:var(--font-mono); font-size:.92em; color:var(--gold); border-bottom:1px dashed var(--gold); }
.clauses table.spec th, .clauses table.spec td { overflow-wrap:anywhere; }
.docmeta { font-family:var(--font-mono); font-size:12px; color:var(--ink2); margin:0 0 20px; }
.draftnote { border:1px solid var(--gold); border-radius:16px; padding:clamp(16px,3vw,24px); margin:0 0 32px; }
.draftnote h2 { font-family:var(--font-ui); font-size:17px; font-weight:500; margin:0 0 8px; }
.draftnote p { font-size:14px; color:var(--ink2); margin:0 0 8px; max-width:74ch; }
.draftnote p:last-child { margin-bottom:0; }
.clauses { counter-reset:cl; }
.clauses > section { counter-increment:cl; border-top:1px solid var(--rule); padding-top:26px; margin-top:26px; }
.clauses > section:first-child { border-top:0; padding-top:0; margin-top:0; }
.clauses > section > h2 { font-family:var(--font-ui); font-size:20px; font-weight:500; margin:0 0 12px; }
.clauses > section > h2::before { content:counter(cl) ". "; font-family:var(--font-mono); font-size:13px; color:var(--gold); }
.clauses h3 { margin-top:18px; }
.clauses ul { margin:0 0 16px; padding-left:20px; max-width:70ch; }
.clauses li { margin-bottom:6px; }

@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; } }
