/* Browser printing (Ctrl/Cmd+P): portrait, light mode, no interface chrome.
   A4 by default; US pages also load print-letter.css. The typeset PDF edition
   (built with Typst) is linked from the menu and footer. */
@page { size: A4 portrait; margin: 18mm 18mm 20mm; }

:root, :root[data-theme="dark"] {
  --paper: #FFFFFF; --paper-deep: #F2F4EF; --ink: #111A21; --ink-soft: #3F4A54;
  --olive: #4E5F3B; --blue: #24507C; --rule: #BFC7B9; --shadow: none;
  color-scheme: light;
}
html { font-size: 10.5pt; }
body { background: #fff; color: var(--ink); font-size: 10.5pt; line-height: 1.5; }
:lang(ja) body, :lang(ko) body, :lang(zh) body { line-height: 1.75; }

.site-header, .skip, .consent, .menu, .lang, .actions, .contact .button, .drawer { display: none !important; }
.wrap { max-width: none; padding: 0; }

.hero { padding: 0 0 8mm; }
.hero h1 { font-size: 26pt; max-width: none; }
.hero .lede { font-size: 12pt; max-width: none; color: var(--ink); }
.eyebrow { margin-bottom: 4mm; }

section { padding: 7mm 0; break-inside: auto; }
.section-grid { display: block; }
.section-head { position: static; margin-bottom: 3mm; break-after: avoid; }
.section-head h2 { font-size: 15pt; }
.body { max-width: none; }
.body > p:first-child { font-size: 1.05em; }
.problems { display: block; }
.problems li { break-inside: avoid; padding: 3mm 0; }
.problems li:nth-last-child(2) { border-bottom: 0; }
h2, h3 { break-after: avoid; }
p { orphans: 3; widows: 3; }
.fig, .pair, .pull { break-inside: avoid; }
.fig { background: #fff; border: 1px solid var(--rule); }
.cycle { grid-template-columns: 1fr 24px 1fr 24px 1fr; }
.arr svg { transform: none; }

.contact { padding-top: 6mm; }
.contact h2 { font-size: 18pt; }
.contact p::after { content: " contact@derivedlogic.ai"; font-weight: 600; color: var(--ink); }
.contact p:lang(ja)::after, .contact p:lang(ko)::after, .contact p:lang(zh)::after { content: "（contact@derivedlogic.ai）"; }

.site-footer { padding: 5mm 0 0; break-inside: avoid; }
.footer-links { display: none; }
a { color: inherit; text-decoration: none; }
