/* Structured Notepad Aioasia: a serious, monochrome company file using only text labels, box rules, and command-state buttons. */

:root {
  --background: #ffffff;
  --foreground: #000000;
  --primary: #000000;
  --primary-foreground: #ffffff;
  --border: #000000;
}

* { box-sizing: border-box; }
html { background: #ffffff; scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  background: #ffffff;
  color: #000000;
  font-family: "Courier New", Courier, monospace;
  font-size: 15px;
  line-height: 1.52;
}
a { color: #000000; }
img { display: block; max-width: 100%; }

.notepad-page { width: min(100%, 1120px); padding: 26px 22px 32px; }

.command-button {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  min-width: 156px;
  border: 1px solid #000000;
  padding: 8px 9px;
  background: #ffffff;
  color: #000000;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background 120ms linear, color 120ms linear;
}
.command-button:hover, .command-button:focus-visible { background: #000000; color: #ffffff; outline: 0; }
.command-button:active { transform: translate(1px, 1px); }
.command-button b { font-size: 14px; line-height: 0; }

.document-section { margin-top: 24px; }
.overview-section { margin-top: 0; }
.text-rule { overflow: hidden; height: 19px; white-space: nowrap; font-size: 13px; line-height: 16px; }
.section-bar { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; padding: 8px 0 10px; border-bottom: 1px solid #000000; }
.section-bar p, .section-bar span { margin: 0; font-size: 12px; font-weight: 700; }
.section-bar span { font-size: 10px; }

h1, h2 { margin: 0; font-family: "Courier New", Courier, monospace; font-size: 17px; font-weight: 700; line-height: 1.42; }
.section-copy h1, .section-copy h2 { margin-bottom: 16px; }
.section-copy p { max-width: 680px; margin: 0 0 13px; }
.statement { margin-top: 20px !important; font-weight: 700; }
.role-line { font-size: 12px; font-weight: 700; }

.overview-copy { max-width: 700px; }

.document-section > h2 { margin: 20px 0 14px; }
.brand-directory { display: grid; max-width: 960px; border-top: 1px solid #000000; }
.brand-record { display: grid; grid-template-columns: minmax(170px, 0.7fr) minmax(170px, 1fr) minmax(150px, 0.45fr); align-items: stretch; border-bottom: 1px solid #000000; }
.record-id { padding: 14px 12px; display: grid; align-content: center; gap: 2px; border-right: 1px solid #000000; }
.record-id span { font-size: 10px; }
.record-id strong { font-size: 13px; overflow-wrap: anywhere; }
.logo-placeholder { min-height: 72px; display: grid; place-items: center; padding: 10px; text-align: center; font-size: 11px; border-right: 1px solid #000000; }
/* Widths are set per brand so the marks carry equal weight despite very
   different aspect ratios; height stays auto so a narrow cell shrinks them
   proportionally instead of squashing them. The two wordmarks match at 24px
   of ink; HokAI is a bare letterform rather than a word, so it is set taller
   (40px) — matched to the wordmarks' height it would read as a stray glyph. */
.brand-logo { display: block; height: auto; max-width: 100%; }
.brand-logo--hokai { width: 31px; }
.brand-logo--tsa { width: 285px; }
.brand-logo--sola { width: 149px; }
.brand-record .command-button { align-self: center; margin: 12px; min-width: 0; }
.field-note { margin: 14px 0 0; font-size: 11px; }

.people-content { max-width: 700px; padding-top: 18px; }
.portrait-figure { width: 155px; margin: 0 0 14px; }
.portrait-figure img { width: 100%; height: auto; image-rendering: pixelated; }

.notepad-footer { margin-top: 30px; font-size: 10px; font-weight: 700; }
.notepad-footer p { margin: 0; }

@media (max-width: 700px) {
  body { font-size: 14px; }
  .notepad-page { padding: 10px 10px 26px; }
  .command-button { min-width: 0; }
  .section-bar { align-items: start; flex-direction: column; gap: 2px; }
  .brand-record { grid-template-columns: 1fr; }
  .record-id, .logo-placeholder { border-right: 0; border-bottom: 1px solid #000000; }
  .logo-placeholder { min-height: 82px; }
  .brand-record .command-button { margin: 10px; }
  .portrait-figure { width: 135px; }
}

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
