/* Ironlight Marketing. Kin to the publisher (ivory, iron, forge gold) but sans-serif, product-like, fast: no web fonts. */
:root { --bg: #F7F4EE; --paper: #FFFFFF; --ink: #14161A; --ink-2: #3A3D44; --soft: #6B6E75; --line: #E4DED2; --iron: #14161A; --gold: #B8903F; --gold-2: #DDBB6E; --gold-ink: #86672A; --ok: #2F7A4A; --warn: #9A6B12; --err: #A33A2E; --tint: #EFE9DD; --r: 10px;
  --sans: "Inter", "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
* { box-sizing: border-box; } html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 17px/1.55 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: var(--gold-ink); } h1, h2, h3 { line-height: 1.12; margin: 0 0 .6rem; letter-spacing: -.01em; font-weight: 650; }
h1 { font-size: clamp(2rem, 4.4vw, 3.4rem); } h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); margin-top: 2.2rem; } h3 { font-size: 1.2rem; }
p { margin: 0 0 1rem; } ul, ol { margin: 0 0 1rem; padding-left: 1.3rem; } code, pre { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .88em; } pre { white-space: pre-wrap; }
.wrap { max-width: 1100px; margin: 0 auto; padding: 0 1.25rem; } .narrow { max-width: 760px; }
.muted { color: var(--soft); } .small { font-size: .9rem; } .hint { color: var(--soft); font-size: .88rem; margin: .4rem 0 0; } .sr { position: absolute; left: -9999px; }
.kicker { text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; font-weight: 600; color: var(--gold-ink); margin-bottom: .8rem; }
.lede { font-size: 1.2rem; color: var(--ink-2); max-width: 46em; }
button, input, select, textarea { font: inherit; color: inherit; }
input:not([type=checkbox]):not([type=radio]), select, textarea { width: 100%; padding: .7rem .85rem; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--gold-2); outline-offset: 1px; border-color: var(--gold); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .8rem 1.3rem; border-radius: 8px; border: 1px solid var(--iron); background: var(--iron); color: #F4EEE2; font-weight: 600; text-decoration: none; cursor: pointer; white-space: nowrap; transition: transform .1s, background .15s; }
.btn:hover { background: #000; } .btn:active { transform: translateY(1px); } .btn--gold { background: var(--gold-2); border-color: var(--gold-2); color: var(--iron); } .btn--gold:hover { background: #E8CA84; }
.btn--ghost { background: transparent; color: var(--ink); } .btn--ghost:hover { background: var(--tint); } .btn--danger { background: transparent; color: var(--err); border-color: #E3C2B9; } .btn--danger:hover { background: #F7E4DE; }
.btn--small { padding: .5rem .85rem; font-size: .9rem; } .btn[disabled] { opacity: .5; cursor: not-allowed; }
.lnk { font-weight: 600; text-decoration: none; } .lnk:hover { text-decoration: underline; }

/* Header, footer */
.hd { background: var(--bg); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 10; } .hd__in { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 64px; }
.brand { display: flex; align-items: center; gap: .6rem; text-decoration: none; color: inherit; } .brand__mark { width: 28px; height: 28px; border-radius: 7px; background: var(--iron); position: relative; flex: none; }
.brand__mark::before { content: ""; position: absolute; left: 10px; top: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--gold-2); } .brand__mark::after { content: ""; position: absolute; left: 6px; bottom: 6px; width: 16px; height: 3px; background: #C5C8CC; }
.brand__name { font-weight: 500; letter-spacing: .01em; } .brand__name b { font-weight: 700; }
.nav { display: flex; gap: .2rem; flex-wrap: wrap; } .nav a { padding: .5rem .75rem; border-radius: 7px; text-decoration: none; color: var(--ink-2); font-weight: 500; font-size: .95rem; } .nav a:hover { background: var(--tint); } .nav a[aria-current] { color: var(--ink); background: var(--tint); }
.ft { border-top: 1px solid var(--line); margin-top: 4rem; padding: 2rem 0 2.5rem; font-size: .9rem; color: var(--soft); } .ft__ai { max-width: 60em; } .ft__row { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin: 0; } .ft__row a { color: var(--soft); margin-left: .9rem; } .ft__row span:first-child a { margin-left: 0; }

/* Sections */
.hero { padding: 4.5rem 0 3.5rem; } .hero h1 { max-width: 16em; } .hero .lede { margin-bottom: 1.8rem; }
.auditform { display: grid; grid-template-columns: 1fr auto; gap: .6rem; max-width: 620px; } .auditform input { font-size: 1.05rem; padding: .9rem 1rem; } .auditform .hint { grid-column: 1 / -1; }
.band { background: var(--iron); color: #E8E2D6; padding: 3rem 0; } .band h2 { color: #fff; font-size: 1.25rem; margin-top: 0; } .band p { color: #C7C1B5; margin: 0; }
.grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; } .grid2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
.sec { padding: 3.2rem 0 1rem; } .sec__h { margin-top: 0; } .sec--dark { background: var(--iron); color: #E8E2D6; padding: 3.5rem 0; margin-top: 2rem; } .sec--dark h2 { color: #fff; } .sec--dark .lnk { color: var(--gold-2); } .sec--tint { background: var(--tint); padding: 3rem 0; }
.checks { list-style: none; padding: 0; } .checks li { padding: .35rem 0 .35rem 1.6rem; position: relative; } .checks li::before { content: ""; position: absolute; left: 0; top: .78rem; width: .7rem; height: .7rem; border-radius: 50%; background: var(--gold-2); }
.never { columns: 2; column-gap: 2.5rem; } .never p { break-inside: avoid; color: #D9D3C7; } .never b { color: #fff; display: block; } .never span { font-size: .93rem; color: #B8B2A6; }
.plans .plan { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 1.5rem; } .plan h3 { margin-bottom: .2rem; } .plan__price { font-size: 2rem; font-weight: 700; margin: 0; } .plan__price span { font-size: 1rem; font-weight: 500; color: var(--soft); } .plan ul { padding-left: 1.1rem; margin: .8rem 0 0; font-size: .95rem; }
.notice { background: #FBF3DC; border: 1px solid #EBD6A6; color: #5E4408; padding: .9rem 1.1rem; border-radius: var(--r); }
.steps li { margin-bottom: .55rem; } .steps.small { font-size: .95rem; }
.tbl { border-collapse: collapse; width: auto; } .tbl--wide { width: 100%; } .tbl td, .tbl th { text-align: left; padding: .55rem .7rem; border-bottom: 1px solid var(--line); vertical-align: top; } .tbl th { font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; color: var(--soft); } .tbl td:last-child { white-space: nowrap; } .tbl.log td:last-child, .tbl--wide td:last-child { white-space: normal; }
.tbl .tot td { font-weight: 700; border-top: 2px solid var(--ink); } .tbl .disc td { color: var(--ok); }
.toast { padding: .85rem 1.1rem; border-radius: var(--r); margin: 0 0 1.2rem; font-weight: 500; background: #E6F0E6; color: #24502F; border: 1px solid #C6DCC8; } .toast--warn { background: #FBF0D9; color: #6B4B0C; border-color: #EBD6A6; } .toast--err { background: #F7E4DE; color: #7A2F22; border-color: #E8C3B8; }

/* Forms */
.form label { display: block; margin-bottom: .9rem; font-weight: 500; font-size: .95rem; } .form label input, .form label select, .form label textarea { margin-top: .3rem; font-weight: 400; }
.row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; } .row3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 1rem; }
.chk { display: flex !important; gap: .6rem; align-items: flex-start; font-weight: 400 !important; } .chk input { margin-top: .3rem; } .chk span { font-size: .95rem; }
fieldset { border: 0; padding: 0; margin: 0 0 1rem; } legend { font-weight: 500; font-size: .95rem; margin-bottom: .4rem; }
.radios { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; } .radio { display: flex; flex-direction: column; gap: .1rem; padding: .8rem .9rem; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); cursor: pointer; } .radio input { margin: 0 0 .3rem; } .radio:has(input:checked) { border-color: var(--gold); outline: 2px solid var(--gold-2); } .radio span { color: var(--soft); font-size: .9rem; }
.chips { display: flex; flex-wrap: wrap; gap: .5rem; } .chip { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .7rem; border: 1px solid var(--line); border-radius: 99px; background: var(--paper); font-size: .9rem; font-weight: 400 !important; margin: 0 !important; } .chip select { width: auto; padding: .15rem .3rem; }
.row-actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; margin-top: .8rem; } .row-actions input { flex: 1 1 200px; width: auto; padding: .5rem .7rem; }

/* Audit report */
.scores { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; margin: 1.5rem 0 2rem; }
.score { text-align: center; } .score__ring { width: 86px; height: 86px; margin: 0 auto .5rem; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--gold) calc(var(--v) * 1%), var(--line) 0); } .score__ring span { width: 68px; height: 68px; border-radius: 50%; background: var(--paper); display: grid; place-items: center; font-weight: 700; font-size: 1.35rem; }
.score--big .score__ring { width: 120px; height: 120px; background: conic-gradient(var(--iron) calc(var(--v) * 1%), var(--line) 0); } .score--big .score__ring span { width: 96px; height: 96px; font-size: 2rem; } .score--na .score__ring { background: var(--line); } .score p { margin: 0; font-weight: 500; } .score small { color: var(--soft); font-weight: 400; }
.report { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 1.6rem 1.8rem; max-width: 760px; } .report h2 { font-size: 1.25rem; margin-top: 1.2rem; } .report h2:first-child { margin-top: 0; } .report ul, .report ol { padding-left: 1.2rem; }
.facts { background: var(--tint); padding: 1rem; border-radius: 8px; font-size: .82rem; max-width: 760px; } details summary { cursor: pointer; color: var(--gold-ink); font-weight: 500; }
.quote { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 1.5rem 1.8rem; margin-top: 1.5rem; } .quote h3 { font-size: 1.5rem; } .quote h3 small { font-size: 1rem; color: var(--soft); font-weight: 500; } .quote .notes { font-size: .9rem; color: var(--soft); margin-top: 1rem; }

/* Cards (portal and console) */
.card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 1.1rem 1.3rem; margin-bottom: 1rem; } .card--warn { border-color: #EBD6A6; background: #FFFBF0; } .card__meta { color: var(--soft); font-size: .86rem; margin-bottom: .3rem; } .card h3 { margin-bottom: .4rem; } .card__body { font-size: .98rem; } .card__body p:last-child { margin-bottom: 0; }
.reason { color: var(--warn); font-size: .92rem; background: #FBF3DC; padding: .4rem .7rem; border-radius: 6px; display: inline-block; }
.list { list-style: none; padding: 0; } .list li { padding: .4rem 0; border-bottom: 1px solid var(--line); }

/* Console */
.console { font-size: 15.5px; } .killbar { background: var(--err); color: #fff; padding: .6rem 1.4rem; font-weight: 600; display: flex; gap: 1rem; align-items: center; } .killbar .btn { background: #fff; color: var(--err); border-color: #fff; }
.chd { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 1.5rem; padding: 0 1.4rem; min-height: 58px; background: var(--iron); color: #EDE6D8; } .chd .brand { color: #fff; } .chd .brand__mark { background: #2A2E35; }
.cnav { display: flex; gap: .15rem; flex: 1; flex-wrap: wrap; } .cnav a { padding: .45rem .75rem; border-radius: 6px; text-decoration: none; color: #BDB5A6; font-weight: 500; font-size: .92rem; white-space: nowrap; } .cnav a:hover { color: #fff; background: rgba(255,255,255,.06); } .cnav a[aria-current] { color: #fff; background: rgba(221,187,110,.16); }
.badge { display: inline-grid; place-items: center; min-width: 1.25rem; height: 1.25rem; padding: 0 .3rem; margin-left: .35rem; border-radius: 99px; background: var(--gold-2); color: var(--iron); font-size: .72rem; font-weight: 700; } .chd__end { display: flex; gap: 1rem; align-items: center; font-size: .88rem; } .chd__end a { color: #BDB5A6; text-decoration: none; } .linkbtn { background: none; border: 0; padding: 0; cursor: pointer; color: #BDB5A6; text-decoration: underline; }
.cmain { max-width: 1180px; margin: 0 auto; padding: 1.8rem 1.4rem 5rem; } .cmain h1 { font-size: 1.9rem; margin-bottom: 1.2rem; }
.panel { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 1.3rem 1.4rem; margin-bottom: 1.2rem; } .panel h2 { font-size: 1.25rem; margin-top: 0; display: flex; align-items: center; gap: .5rem; } .panel h3 { font-size: 1.05rem; margin-top: 1.4rem; } .panel--danger { border-style: dashed; } .panel.narrow { max-width: 760px; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: .9rem; margin-bottom: 1.2rem; } .stat { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 1rem 1.1rem; text-decoration: none; color: inherit; display: block; } .stat b { display: block; font-size: 1.7rem; line-height: 1.1; } .stat span { color: var(--soft); font-size: .86rem; } .stat--warn { border-color: #EBD6A6; background: #FFFBF0; }
.tabs { display: flex; gap: .2rem; border-bottom: 1px solid var(--line); margin-bottom: 1.2rem; flex-wrap: wrap; } .tabs a { padding: .55rem .9rem; text-decoration: none; color: var(--soft); font-weight: 500; border-bottom: 2px solid transparent; margin-bottom: -1px; } .tabs a[aria-current] { color: var(--ink); border-color: var(--gold); }
.pill { display: inline-block; padding: .1rem .55rem; border-radius: 99px; font-size: .8rem; font-weight: 600; background: var(--tint); } .pill--active, .pill--published { background: #E6F0E6; color: #24502F; } .pill--approval, .pill--approved, .pill--preview, .pill--paused, .pill--onboarding { background: #FBF0D9; color: #6B4B0C; } .pill--blocked, .pill--killed, .pill--rejected, .pill--failed { background: #F7E4DE; color: #7A2F22; }
.warnrow td { background: #FFFBF0; }
.auth { display: grid; place-items: center; min-height: 100vh; } .authbox { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 2.2rem; width: min(420px, 92vw); } .authbox .brand__mark { display: block; margin-bottom: 1rem; } .authbox h1 { font-size: 1.5rem; }

@media (max-width: 900px) { .grid3, .grid2, .row3, .radios { grid-template-columns: 1fr 1fr; } .scores { grid-template-columns: repeat(3, 1fr); } .stats { grid-template-columns: 1fr 1fr; } .never { columns: 1; } }
@media (max-width: 600px) { .grid3, .grid2, .row2, .row3, .radios { grid-template-columns: 1fr; } .auditform { grid-template-columns: 1fr; } .hero { padding: 3rem 0 2.5rem; } .scores { grid-template-columns: repeat(2, 1fr); } .hd__in { flex-wrap: wrap; padding-bottom: .5rem; } .ft__row { flex-direction: column; } .ft__row a { margin: 0 .9rem 0 0; } .stats { grid-template-columns: 1fr; } .tbl--wide { display: block; overflow-x: auto; } }
