/* Aleutian Research / Local Models — series stylesheet.
   Built on the Harbor design system (../ds/styles.css, loaded first by every
   page) so the series reads as part of aleutian.ai: dark brand bands for the
   masthead, heroes and footer — same palette as the homepage — and light
   Harbor surfaces for long-form reading. Every rule is scoped to .lm-site and
   classes are prefixed lm- so nothing leaks into the skill-tree page. */

.lm-site {
  --brand-lightest:#2CD7C7; --brand-light:#20B9B4; --brand-dark:#16858E; --brand-darker:#157483;
  --brand-deep-light:#2C4A54; --brand-deep-dark:#0C424E; --brand-deep-darker:#0D2F39; --brand-deep-darkest:#0F1923;
  --accent:var(--brand-dark); --accent-strong:var(--brand-darker);
  --accent-soft:rgba(29,157,160,0.09);
  /* Plex has no Japanese glyphs; name the platform CJK faces explicitly so
     kana/kanji in the articles don't fall through to a mismatched default. */
  --lm-cjk:'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans JP','Noto Sans CJK JP',sans-serif;
  --lm-sans:'IBM Plex Sans',system-ui,var(--lm-cjk);
  --lm-serif:'Source Serif 4',Georgia,var(--lm-cjk);
  --lm-mono:'IBM Plex Mono',Menlo,monospace;
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--lm-sans); font-size:16px; line-height:1.7;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
.lm-site *, .lm-site *::before, .lm-site *::after {box-sizing:border-box}
.lm-site a {color:var(--accent-strong);text-decoration:none}
.lm-site a:hover {color:var(--accent)}
.lm-site a:focus-visible, .lm-site button:focus-visible {outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}
.lm-site h1, .lm-site h2, .lm-site h3 {font-family:var(--lm-serif);color:var(--ink);text-wrap:balance}
.lm-site .lm-sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lm-site .lm-sr-only:focus {position:fixed;top:9px;left:9px;width:auto;height:auto;clip:auto;padding:10px 14px;margin:0;color:var(--on-accent);background:var(--accent);border-radius:var(--radius-control);z-index:100}
.lm-site .lm-wrap {max-width:1160px;margin:0 auto;padding:0 32px}
.lm-site .lm-eyebrow {font:var(--text-label);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-strong)}
.lm-site .lm-small {color:var(--muted);font-size:.86rem}
.lm-site code {font-family:var(--lm-mono);font-size:.86em}

/* ---- Dark brand band (masthead + hero), mirrors the homepage's .dark ---- */
.lm-site .lm-dark {
  --ink:#F9FAFB; --ink-2:#D1D5DB; --muted:#9CA3AF; --faint:#6B7280;
  --surface:var(--brand-deep-darker); --border:var(--brand-deep-light); --hairline:rgba(255,255,255,0.08);
  --accent:var(--brand-light); --accent-strong:var(--brand-lightest); --on-accent:var(--brand-deep-darkest);
  background:var(--brand-deep-darkest); color:var(--ink); position:relative; overflow:hidden;
}
.lm-site .lm-glow {position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(600px 380px at 85% 10%,rgba(44,215,199,0.14),transparent 70%),
             radial-gradient(520px 340px at 0% 100%,rgba(29,157,160,0.18),transparent 70%)}
.lm-site .lm-grid-bg {position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,0.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.035) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(180deg,#000 0%,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 85%)}

.lm-site .lm-masthead {position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid rgba(255,255,255,0.08)}
.lm-site .lm-brand {display:flex;align-items:center;gap:10px;color:var(--ink)}
.lm-site .lm-brand:hover {color:var(--ink)}
.lm-site .lm-brand img {height:30px;width:auto}
.lm-site .lm-brand-name {font-family:var(--lm-serif);font-weight:700;font-size:21px}
.lm-site .lm-brand-sub {font:var(--text-label);text-transform:uppercase;letter-spacing:var(--label-tracking);color:var(--muted);margin-left:6px}
.lm-site .lm-topnav {display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-size:.86rem}
.lm-site .lm-topnav a {color:var(--ink-2)}
.lm-site .lm-topnav a:hover, .lm-site .lm-topnav a[aria-current="page"] {color:var(--accent-strong)}
.lm-site .lm-topnav .lm-cta {padding:8px 16px;border-radius:var(--radius-control);background:var(--accent);color:var(--on-accent);font-weight:600;white-space:nowrap}
.lm-site .lm-topnav .lm-cta:hover {background:var(--brand-lightest);color:var(--on-accent)}

/* ---- Series landing hero ---- */
.lm-site .lm-hero {position:relative;z-index:1;padding:76px 0 88px}
.lm-site .lm-hero-layout {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);gap:56px;align-items:center}
.lm-site .lm-hero .lm-eyebrow {color:var(--brand-lightest)}
.lm-site .lm-hero h1 {font-size:clamp(2.4rem,5.4vw,4rem);line-height:1.06;font-weight:700;letter-spacing:-.02em;margin:18px 0 22px}
.lm-site .lm-hero h1 em {font-style:normal;color:var(--brand-lightest)}
.lm-site .lm-hero .lm-lede {font-size:1.14rem;line-height:1.65;color:var(--ink-2);max-width:56ch;margin:0;text-wrap:pretty}
.lm-site .lm-hero-actions {display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.lm-site .lm-button {display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--radius-control);border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600;font-size:.94rem;transition:all .15s ease}
.lm-site .lm-button:hover {background:var(--brand-lightest);border-color:var(--brand-lightest);color:var(--on-accent)}
.lm-site .lm-button.lm-button-ghost {background:transparent;border-color:var(--border);color:var(--ink)}
.lm-site .lm-button.lm-button-ghost:hover {border-color:var(--accent);color:var(--accent-strong)}

.lm-site .lm-terminal {background:var(--brand-deep-darker);border:1px solid var(--brand-deep-light);border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,0.45),0 0 0 1px rgba(44,215,199,0.06);overflow:hidden}
.lm-site .lm-terminal-bar {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid #104855;background:var(--brand-deep-dark);font:var(--text-meta);font-family:var(--lm-mono);color:var(--muted)}
.lm-site .lm-terminal-bar i {display:inline-block;border-radius:50%;width:8px;height:8px;margin-right:8px;background:var(--brand-lightest)}
.lm-site .lm-terminal-body {padding:14px 20px 20px}
.lm-site .lm-step {display:grid;grid-template-columns:28px 1fr;gap:12px;padding:10px 0;align-items:start}
.lm-site .lm-step-number {font:var(--text-evidence);color:var(--brand-lightest);padding-top:1px}
.lm-site .lm-step strong {display:block;font-size:.9rem;font-weight:600;color:var(--ink)}
.lm-site .lm-step small {display:block;color:var(--muted);font-size:.78rem;line-height:1.55;margin-top:2px}
.lm-site .lm-terminal-note {border-top:1px solid rgba(255,255,255,0.08);padding-top:14px;margin-top:8px;color:var(--muted);font-size:.76rem;line-height:1.6}

/* ---- Headline results strip (light, sits under the dark hero) ---- */
.lm-site .lm-proof-strip {background:var(--surface);border-bottom:var(--hairline-rule)}
.lm-site .lm-proof-inner {display:grid;grid-template-columns:repeat(3,1fr)}
.lm-site .lm-proof {padding:28px 30px;border-right:var(--hairline-rule)}
.lm-site .lm-proof:first-child {padding-left:0}
.lm-site .lm-proof:last-child {border-right:0}
.lm-site .lm-proof-number {font-family:var(--lm-mono);font-weight:600;font-size:1.9rem;color:var(--accent-strong);letter-spacing:-.03em;line-height:1.25}
.lm-site .lm-proof-title {font-size:.92rem;color:var(--ink);margin-top:6px;line-height:1.45}
.lm-site .lm-proof-source {font:var(--text-meta);color:var(--faint);margin-top:8px}

/* ---- Landing sections ---- */
.lm-site .lm-section {padding:88px 0}
.lm-site .lm-section-alt {background:var(--surface);border-block:var(--hairline-rule)}
.lm-site .lm-section-heading {display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:36px}
.lm-site h2.lm-section-title {font-size:clamp(1.7rem,3.4vw,2.4rem);line-height:1.15;font-weight:700;letter-spacing:-.01em;margin:12px 0 0}
.lm-site .lm-section-intro {color:var(--ink-2);font-size:1rem;max-width:48ch;margin:0;line-height:1.7;text-wrap:pretty}

.lm-site .lm-articles-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.lm-site .lm-article-card {position:relative;display:flex;flex-direction:column;min-height:260px;padding:28px 28px 22px;background:var(--surface);border:1px solid var(--border);border-radius:14px;color:var(--ink);overflow:hidden;transition:border-color .15s ease,transform .15s ease}
.lm-site .lm-article-card::before {content:'';position:absolute;left:0;right:0;top:0;height:4px;background:var(--accent)}
.lm-site .lm-article-card:hover {border-color:var(--accent);color:var(--ink);transform:translateY(-2px)}
.lm-site .lm-card-top {display:flex;justify-content:space-between;gap:16px;align-items:start;font:var(--text-label);text-transform:uppercase;letter-spacing:var(--label-tracking);color:var(--faint)}
.lm-site .lm-card-number {font:var(--text-evidence);color:var(--accent-strong)}
.lm-site .lm-article-card h3 {font-size:clamp(1.3rem,2.2vw,1.6rem);line-height:1.25;font-weight:700;margin:22px 0 10px}
.lm-site .lm-article-card p {font-size:.96rem;line-height:1.6;color:var(--ink-2);margin:0 0 20px}
.lm-site .lm-card-bottom {margin-top:auto;display:flex;justify-content:space-between;align-items:center;font:var(--text-meta);font-weight:600;color:var(--accent-strong)}

.lm-site .lm-teaching-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.lm-site .lm-teaching-step {background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-card);padding:20px 18px 22px}
.lm-site .lm-teaching-step .lm-num {font:var(--text-evidence);color:var(--accent-strong)}
.lm-site .lm-teaching-step h3 {font-size:1.02rem;line-height:1.3;margin:14px 0 8px}
.lm-site .lm-teaching-step p {font-size:.86rem;color:var(--ink-2);line-height:1.55;margin:0}

.lm-site .lm-table-scroll {overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}
.lm-site .lm-table {width:100%;border-collapse:collapse;min-width:670px}
.lm-site .lm-table th {text-align:left;background:var(--inset);font:var(--text-label);text-transform:uppercase;letter-spacing:var(--label-tracking);color:var(--muted);padding:14px 18px;border-bottom:1px solid var(--border);white-space:nowrap}
.lm-site .lm-table td {font-size:.92rem;padding:16px 18px;border-bottom:var(--hairline-rule);vertical-align:top;color:var(--ink-2)}
.lm-site .lm-table tr:last-child td {border-bottom:0}
.lm-site .lm-table td:first-child {font-weight:600;color:var(--ink);white-space:nowrap}

.lm-site .lm-note {border:1px solid var(--warn-border);border-left:3px solid var(--warn);background:var(--warn-soft);border-radius:var(--radius-control);padding:18px 22px;color:var(--ink-2);font-size:.92rem;line-height:1.65}
.lm-site .lm-note strong {color:var(--ink)}
.lm-site .lm-notes-grid {display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-top:32px}
.lm-site .lm-mini {background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:24px 26px}
.lm-site .lm-section-alt .lm-mini {background:var(--bg)}
.lm-site .lm-mini h3 {margin:8px 0 8px;font-size:1.12rem;line-height:1.3}
.lm-site .lm-mini p {margin:0;color:var(--ink-2);font-size:.92rem;line-height:1.6}
.lm-site .lm-note-space {margin-top:28px}
.lm-site .lm-meta-spacing {margin-top:16px}

/* ---- Footer (dark, matches homepage) ---- */
.lm-site .lm-footer {padding:0}
.lm-site .lm-footer-inner {max-width:1160px;margin:0 auto;display:flex;justify-content:space-between;align-items:start;gap:24px;flex-wrap:wrap;padding:28px 32px 40px;position:relative;z-index:1}
.lm-site .lm-footer p {margin:6px 0 0;font:var(--text-meta);color:var(--muted);max-width:62ch}
.lm-site .lm-footer-brand {font:var(--text-meta);color:var(--faint)}
.lm-site .lm-footer-links {display:flex;gap:18px;flex-wrap:wrap;font:var(--text-meta)}
.lm-site .lm-footer-links a {color:var(--muted)}
.lm-site .lm-footer-links a:hover {color:var(--accent-strong)}

/* ---- Article pages ---- */
.lm-site .lm-article-hero {position:relative;z-index:1;padding:52px 0 60px}
.lm-site .lm-article-hero .lm-eyebrow {color:var(--brand-lightest)}
.lm-site .lm-article-hero h1 {max-width:22ch;font-size:clamp(2.2rem,4.6vw,3.4rem);line-height:1.1;font-weight:700;letter-spacing:-.015em;margin:16px 0 20px}
.lm-site .lm-article-summary {font-size:1.12rem;line-height:1.65;color:var(--ink-2);max-width:62ch;margin:0;text-wrap:pretty}
.lm-site .lm-breadcrumbs {display:flex;gap:9px;align-items:center;flex-wrap:wrap;font:var(--text-meta);color:var(--muted);margin-bottom:22px}
.lm-site .lm-breadcrumbs a {color:var(--ink-2)}
.lm-site .lm-breadcrumbs a:hover {color:var(--accent-strong)}
.lm-site .lm-article-tags {display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.lm-site .lm-tag {padding:5px 12px;border-radius:var(--radius-chip);border:1px solid var(--border);font:var(--text-meta);color:var(--ink-2)}

.lm-site .lm-article-layout {display:grid;grid-template-columns:minmax(0,720px) minmax(180px,240px);justify-content:space-between;gap:64px;align-items:start;padding-top:56px;padding-bottom:88px}
.lm-site .lm-article-text {min-width:0;font-size:1.04rem;line-height:1.78;color:var(--ink-2)}
.lm-site .lm-article-text > :first-child {margin-top:0}
.lm-site .lm-article-text h2 {font-size:clamp(1.5rem,2.4vw,1.9rem);line-height:1.25;font-weight:700;margin:56px 0 18px;scroll-margin-top:24px}
.lm-site .lm-article-text h3 {font-size:1.22rem;line-height:1.35;margin:36px 0 12px}
.lm-site .lm-article-text p {margin:0 0 22px}
.lm-site .lm-article-text > p:first-of-type {font-size:1.12rem;color:var(--ink)}
.lm-site .lm-article-text strong {color:var(--ink);font-weight:600}
.lm-site .lm-article-text a {text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
.lm-site .lm-article-text ul, .lm-site .lm-article-text ol {margin:12px 0 28px;padding-left:24px}
.lm-site .lm-article-text li {padding-left:4px;margin-bottom:10px}
.lm-site .lm-article-text li::marker {color:var(--accent)}
.lm-site .lm-article-text blockquote {margin:30px 0 34px;padding:20px 24px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-control) var(--radius-control) 0;font-size:1.08rem;color:var(--ink);line-height:1.6}
.lm-site .lm-article-text blockquote p:last-child {margin-bottom:0}
.lm-site .lm-article-text pre {overflow-x:auto;margin:28px 0 34px;padding:20px 22px;background:var(--brand-deep-darker);border:1px solid var(--brand-deep-light);border-radius:var(--radius-card);color:#D1D5DB;font:.84rem/1.75 var(--lm-mono);tab-size:2}
.lm-site .lm-article-text code {color:var(--accent-strong);background:var(--inset);padding:1px 5px;border-radius:4px}
.lm-site .lm-article-text pre code {font-size:inherit;color:inherit;background:none;padding:0}
.lm-site .lm-article-text table {width:100%;border-collapse:collapse;display:block;overflow-x:auto;margin:28px 0 34px;font-size:.9rem;line-height:1.5}
.lm-site .lm-article-text table th {white-space:nowrap;background:var(--inset);font:var(--text-label);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:left;padding:12px 14px;border:1px solid var(--border)}
.lm-site .lm-article-text table td {padding:12px 14px;border:1px solid var(--border);background:var(--surface);vertical-align:top;min-width:90px}
.lm-site .lm-article-text .lm-cell-right {text-align:right;font-family:var(--lm-mono);font-size:.86rem;white-space:nowrap}
.lm-site .lm-article-text hr {border:0;border-top:var(--hairline-rule);margin:44px 0}
.lm-site .lm-article-text > h2:last-of-type {padding-top:28px;border-top:1px solid var(--border)}

.lm-site .lm-toc {position:sticky;top:28px;border-top:2px solid var(--accent);padding-top:18px}
.lm-site .lm-toc .lm-label {font:var(--text-label);text-transform:uppercase;letter-spacing:var(--label-tracking);color:var(--faint);margin-bottom:14px}
.lm-site .lm-toc ul {list-style:none;padding:0;margin:0}
.lm-site .lm-toc li {margin:0 0 10px}
.lm-site .lm-toc a {display:block;font-size:.84rem;line-height:1.45;color:var(--ink-2)}
.lm-site .lm-toc a:hover {color:var(--accent-strong)}
.lm-site .lm-toc-foot {margin-top:26px;padding-top:18px;border-top:var(--hairline-rule);font:var(--text-meta);color:var(--muted)}

.lm-site .lm-related {padding:56px 0 80px;background:var(--surface);border-top:var(--hairline-rule)}
.lm-site .lm-related-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.lm-site .lm-related-link {display:block;padding:20px 22px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-card);color:var(--ink);transition:border-color .15s ease}
.lm-site .lm-related-link:hover {border-color:var(--accent);color:var(--ink)}
.lm-site .lm-related-link small {font:var(--text-label);text-transform:uppercase;letter-spacing:var(--label-tracking);color:var(--accent-strong)}
.lm-site .lm-related-link strong {display:block;font-family:var(--lm-serif);font-size:1.15rem;line-height:1.3;margin-top:10px}

@media (max-width:1000px) {
  .lm-site .lm-hero-layout {grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:36px}
  .lm-site .lm-teaching-grid {grid-template-columns:repeat(3,1fr)}
  .lm-site .lm-article-layout {grid-template-columns:minmax(0,1fr) 200px;gap:36px}
}
@media (max-width:760px) {
  .lm-site .lm-wrap {padding:0 16px}
  .lm-site .lm-topnav {gap:16px;font-size:.82rem}
  .lm-site .lm-topnav .lm-opt, .lm-site .lm-brand-sub {display:none}
  .lm-site .lm-hero {padding:52px 0 64px}
  .lm-site .lm-hero-layout {grid-template-columns:1fr;gap:36px}
  .lm-site .lm-proof-inner {grid-template-columns:1fr}
  .lm-site .lm-proof {padding:20px 0;border-right:0;border-bottom:var(--hairline-rule)}
  .lm-site .lm-proof:last-child {border-bottom:0}
  .lm-site .lm-section {padding:60px 0}
  .lm-site .lm-section-heading {display:block}
  .lm-site .lm-section-intro {margin-top:14px}
  .lm-site .lm-articles-grid, .lm-site .lm-notes-grid, .lm-site .lm-related-grid {grid-template-columns:1fr}
  .lm-site .lm-teaching-grid {grid-template-columns:repeat(2,1fr)}
  .lm-site .lm-footer-inner {padding:24px 16px 36px}
  .lm-site .lm-article-hero {padding:40px 0 48px}
  .lm-site .lm-article-layout {grid-template-columns:1fr;padding-top:36px;padding-bottom:60px}
  .lm-site .lm-toc {position:static;grid-row:1;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--accent);border-radius:var(--radius-control)}
  .lm-site .lm-toc-foot {display:none}
  .lm-site .lm-article-text h2 {margin-top:44px}
}
@media (max-width:440px) {
  .lm-site .lm-teaching-grid {grid-template-columns:1fr}
  .lm-site .lm-article-card {min-height:0;padding:24px 22px 20px}
  .lm-site .lm-topnav a:not(.lm-cta):not([aria-current]) {display:none}
}
@media (prefers-reduced-motion:reduce) {
  .lm-site *, .lm-site *::before, .lm-site *::after {scroll-behavior:auto!important;transition:none!important}
}
@media print {
  .lm-site, .lm-site .lm-dark {background:#fff;color:#0C2430;font-size:11pt}
  .lm-site .lm-masthead, .lm-site .lm-glow, .lm-site .lm-grid-bg, .lm-site .lm-toc, .lm-site .lm-related, .lm-site .lm-footer, .lm-site .lm-hero-actions {display:none!important}
  .lm-site .lm-dark * {color:#0C2430!important}
  .lm-site .lm-article-layout {display:block;padding:0}
  .lm-site .lm-article-text pre {white-space:pre-wrap;background:#ECF1F1;color:#0C2430}
}
