/* Les5C / Signal: editorial hierarchy, local assets, no external imports. */:root {
  color-scheme:dark;
  --bg:#0b100f;
  --panel:#101615;
  --raised:#18201d;
  --ink:#f1eee6;
  --muted:#b3bbb4;
  --rule:#38413b;
  --focus:#90d0ff;
  --paper:#ece7db;
  --header-h:84px;
  --gutter:clamp(20px,4.25vw,76px);
  --serif:Georgia,"Times New Roman",serif;
  --sans:Arial,Helvetica,sans-serif;
  --accent:#66bdff;
  --image-shade:.88
}
:root[data-theme=light] {
  color-scheme:light;
  --bg:#f5f1e8;
  --panel:#eae5db;
  --raised:#e0dbcf;
  --ink:#17201b;
  --muted:#525e55;
  --rule:#b9bcae;
  --focus:#145a89;
  --image-shade:.25
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 120px)
}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:16px/1.65 var(--sans);
  overflow-wrap:break-word
}
body, button, input {
  font-family:var(--sans)
}
a {
  color:inherit;
  text-decoration:none
}
a, button, summary {
  -webkit-tap-highlight-color:transparent
}
button, input, summary {
  font:inherit
}
button, summary {
  cursor:pointer
}
button {
  color:inherit
}
img {
  display:block;
  max-width:100%;
  height:auto
}
svg {
  display:block;
  flex:none
}
.icon {
  width:22px;
  height:22px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round
}
button svg, a svg {
  pointer-events:none
}
h1, h2, h3, p, figure {
  margin:0
}
h1, h2, h3 {
  font-family:var(--serif);
  font-weight:400;
  line-height:1.04;
  letter-spacing:-.048em;
  text-wrap:balance
}
h1 {
  font-size:clamp(3rem,5.3vw,5.85rem)
}
h2 {
  font-size:clamp(2rem,3.1vw,3.3rem)
}
h3 {
  font-size:1.55rem
}
p+p {
  margin-top:1em
}
button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible {
  outline:3px solid var(--focus);
  outline-offset:5px
}
button:disabled {
  cursor:default
}
a:hover {
  color:var(--ink)
}
.skip-link {
  position:fixed;
  inset-block-start:8px;
  inset-inline-start:12px;
  padding:12px 20px;
  background:var(--ink);
  color:var(--bg);
  z-index:100;
  transform:translateY(-180%)
}
.skip-link:focus {
  transform:none
}
main {
  outline:0
}
main:focus-visible {
  outline:0
}
.eyebrow {
  font-size:11px;
  line-height:1.7;
  letter-spacing:.14em;
  text-transform:uppercase
}
.small {
  font-size:.8rem;
  line-height:1.6
}
.muted {
  color:var(--muted)
}
.metadata {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 15px;
  font-size:12px;
  color:var(--muted);
  line-height:1.6
}
.metadata span {
  display:inline-flex;
  gap:6px;
  align-items:center
}
.metadata .icon {
  width:14px;
  height:14px
}
.metadata .sep {
  opacity:.5
}
.category-label {
  display:flex;
  align-items:center;
  gap:10px;
  font:600 11px/1.45 var(--sans);
  letter-spacing:.06em;
  text-transform:uppercase
}
.dot {
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-radius:50%;
  background:var(--accent)
}
.cat-cyber {
  --accent:#ff7950
}
.cat-ai {
  --accent:#66bdff
}
.cat-economy {
  --accent:#f4cd58
}
.cat-tech {
  --accent:#ed9ce0
}
.cat-food {
  --accent:#72d18b
}
/* Header: a real navigation in every language and viewport. */.site-header {
  position:relative;
  z-index:30;
  display:flex;
  align-items:center;
  gap:20px;
  min-height:var(--header-h);
  padding:15px var(--gutter);
  border-bottom:1px solid var(--rule);
  background:var(--bg)
}
.brand {
  display:inline-flex;
  direction:ltr;
  align-items:baseline;
  white-space:nowrap;
  line-height:1;
  letter-spacing:-.055em;
  min-height:44px;
  padding-block:5px
}
.brand-les {
  font-size:24px;
  font-weight:400;
  letter-spacing:-.08em
}
.brand-core {
  font-size:41px;
  font-weight:700;
  letter-spacing:-.075em
}
.brand-caption {
  max-width:100px;
  font-size:9px;
  line-height:1.5;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding-inline-start:17px;
  border-inline-start:1px solid var(--rule)
}
.desktop-nav {
  display:flex;
  gap:clamp(12px,2vw,30px);
  margin-inline:auto;
  align-items:center
}
.desktop-nav a {
  padding:12px 0;
  font-size:10px;
  line-height:1.4;
  text-transform:uppercase;
  letter-spacing:.08em;
  position:relative;
  font-weight:600
}
.desktop-nav a:after {
  position:absolute;
  content:"";
  bottom:4px;
  inset-inline-start:0;
  width:0;
  height:2px;
  background:var(--accent);
  transition:width .25s
}
.desktop-nav a:hover:after, .desktop-nav a:focus-visible:after {
  width:100%
}
.header-tools {
  display:flex;
  align-items:center;
  gap:5px;
  margin-inline-start:auto
}
.icon-button, .header-tools summary {
  min-width:44px;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:none;
  border:0;
  border-radius:50%;
  padding:10px
}
.icon-button:hover, .header-tools summary:hover {
  background:var(--raised)
}
details summary {
  list-style:none
}
details summary::-webkit-details-marker {
  display:none
}
.language-menu {
  position:relative
}
.language-menu summary {
  gap:7px;
  font-size:11px;
  border-radius:0
}
.language-menu summary .icon {
  width:13px;
  height:13px;
  transform:rotate(90deg)
}
.language-options {
  position:absolute;
  inset-block-start:calc(100% + 12px);
  inset-inline-end:0;
  min-width:160px;
  background:var(--panel);
  border:1px solid var(--rule);
  padding:8px;
  box-shadow:0 15px 40px #0004
}
.language-options a {
  display:block;
  padding:10px 14px;
  min-height:44px;
  font-size:14px
}
.language-options a:hover, .language-options a[aria-current] {
  background:var(--raised)
}
.mobile-menu {
  display:none
}
.mobile-menu nav {
  position:absolute;
  inset-inline:var(--gutter);
  top:calc(100% - 1px);
  background:var(--panel);
  border:1px solid var(--rule);
  padding:14px;
  box-shadow:0 20px 35px #0005
}
.mobile-menu nav a {
  display:flex;
  min-height:48px;
  padding:10px;
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--rule);
  font-size:13px
}
.mobile-menu nav a:last-child {
  border:0
}
.mobile-menu nav .icon {
  margin-inline-start:auto
}
/* Shared action vocabulary: one circular arrow, never a fake button. */.round-link {
  display:inline-flex;
  align-items:center;
  gap:15px;
  font-size:13px;
  font-weight:600;
  line-height:1.5;
  min-height:48px
}
.round-icon {
  display:grid;
  place-items:center;
  flex:0 0 48px;
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--ink);
  color:var(--bg);
  transition:transform .25s
}
.round-link:hover .round-icon, .round-link:focus-visible .round-icon {
  transform:rotate(-25deg)
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:12px;
  line-height:1.45;
  min-height:44px
}
.text-link .icon {
  width:18px;
  height:18px;
  transition:transform .25s
}
.text-link:hover .icon {
  transform:translateX(4px)
}
.outline-arrow {
  width:36px;
  height:36px;
  border:1px solid #ecebe2a8;
  border-radius:50%;
  display:grid;
  place-items:center
}
.outline-arrow .icon {
  width:18px;
  height:18px;
  transition:transform .25s
}
.outline-arrow:hover .icon {
  transform:translateX(2px)
}
.section-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px
}
/* Lead composition: five C shapes are art, all labels remain real HTML. *//* Five directions, without five identical content cards. */.method-strip {
  padding:32px var(--gutter) 35px;
  border-bottom:1px solid var(--rule);
  display:grid;
  grid-template-columns:250px 1fr;
  gap:35px
}
.method-strip h2 {
  font-size:2.5rem;
  line-height:1.03;
  max-width:230px;
  margin:10px 0 12px
}
.method-strip p.small {
  max-width:230px
}
.method-steps {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:stretch
}
.method-steps a {
  padding:20px 15px 12px;
  border-inline-start:1px solid var(--rule);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:6px;
  min-width:0
}
.method-steps .icon {
  width:49px;
  height:49px;
  stroke-width:.8;
  margin-bottom:12px
}
.method-steps b {
  font-size:11px;
  font-weight:400
}
.method-steps strong {
  font-size:9px;
  letter-spacing:.06em;
  text-transform:uppercase
}
.method-steps span {
  font-size:11px;
  line-height:1.55;
  color:var(--muted)
}
.method-steps a:hover .icon {
  transform:rotate(8deg)
}
.method-steps .icon, .method-glyph .icon {
  transition:transform .45s,opacity .45s
}
.source-strip {
  display:grid;
  grid-template-columns:260px 1fr auto;
  align-items:center;
  gap:30px;
  padding:30px var(--gutter);
  border-bottom:1px solid var(--rule)
}
.source-strip h2 {
  font-size:1.9rem;
  margin:6px 0 10px
}
.source-badges {
  display:flex;
  align-items:flex-start;
  justify-content:space-evenly;
  gap:12px;
  flex-wrap:wrap
}
.source-badges a {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  font-size:9px;
  letter-spacing:.05em;
  padding:5px
}
.source-badge {
  width:58px;
  height:58px;
  flex:0 0 58px;
  border:1px solid var(--muted);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(155deg,var(--bg),var(--raised));
  color:var(--ink);
  font:600 10px/1 var(--sans);
  letter-spacing:0;
  direction:ltr
}
.source-badges a:hover .source-badge {
  border-color:var(--ink);
  background:var(--raised)
}
.source-strip .text-link {
  font-size:10px
}
.closing-scene {
  position:relative;
  isolation:isolate;
  min-height:190px;
  padding:38px var(--gutter);
  color:#f3f0e9;
  background:#101510;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center
}
.closing-scene img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 38%;
  z-index:-2;
  opacity:.65
}
.closing-scene:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#09100deb,transparent);
  z-index:-1
}
.closing-scene p {
  font:italic clamp(1.55rem,2.4vw,2.5rem)/1.12 var(--serif);
  letter-spacing:-.025em;
  max-width:540px;
  text-wrap:balance
}
.closing-scene span {
  font-size:9px;
  letter-spacing:.17em;
  margin-top:15px
}
.site-footer {
  border-top:1px solid var(--rule);
  padding:0 var(--gutter);
  background:var(--bg)
}
.footer-main {
  display:flex;
  align-items:center;
  gap:25px;
  padding:27px 0;
  border-bottom:1px solid var(--rule)
}
.footer-signature {
  border-inline-start:1px solid var(--rule);
  padding-inline-start:25px;
  font:14px/1.5 var(--serif);
  min-width:160px
}
.footer-signature strong {
  font-weight:400;
  display:block
}
.footer-signature span {
  font:10px/1.5 var(--sans);
  color:var(--muted)
}
.footer-main nav {
  margin-inline-start:auto;
  display:flex;
  flex-wrap:wrap;
  gap:0 20px;
  justify-content:flex-end
}
.footer-main nav a {
  font-size:11px;
  display:inline-flex;
  align-items:center;
  min-height:44px
}
.footer-main nav a:hover, .footer-bottom a:hover {
  text-decoration:underline;
  text-underline-offset:4px
}
.footer-bottom {
  display:flex;
  align-items:center;
  gap:24px;
  padding:18px 0;
  color:var(--muted);
  font-size:10px;
  line-height:1.5
}
.footer-bottom nav {
  display:flex;
  gap:20px;
  margin-inline-start:auto;
  flex-wrap:wrap
}
.footer-bottom a {
  min-height:44px;
  display:inline-flex;
  align-items:center
}
.back-top {
  gap:8px
}
.back-top .icon {
  width:17px;
  height:17px
}
/* Article, contents navigation and reusable source panel. */.breadcrumbs {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:10px;
  color:var(--muted);
  padding:15px var(--gutter) 0;
  min-height:42px
}
.breadcrumbs a {
  min-height:32px;
  display:flex;
  align-items:center
}
.breadcrumbs .icon {
  width:12px;
  height:12px
}
.article-hero {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(200px,.8fr) minmax(100px,.25fr);
  padding:32px var(--gutter) 40px;
  gap:34px;
  align-items:center;
  min-height:430px
}
.article-hero h1 {
  font-size:clamp(2.6rem,4.5vw,4.8rem);
  margin-top:20px;
  max-width:720px;
  line-height:1.02
}
.article-deck {
  font-size:15px;
  line-height:1.65;
  max-width:555px;
  margin-top:22px;
  color:var(--muted)
}
.article-hero .metadata {
  margin-top:23px
}
.article-hero .small {
  margin-top:9px
}
.article-hero .text-link {
  margin-top:15px
}
.article-hero figure {
  align-self:stretch;
  position:relative;
  min-height:310px;
  isolation:isolate;
  background:#0b100f
}
.article-hero figure img {
  width:100%;
  height:100%;
  max-height:450px;
  object-fit:cover;
  object-position:center;
  opacity:.92
}
.article-hero figcaption {
  position:absolute;
  inset-inline:12px;
  bottom:10px;
  color:#ecece6;
  font-size:9px;
  line-height:1.5;
  letter-spacing:.035em;
  background:#08100fd9;
  padding:5px 7px;
  max-width:260px
}
.article-margin {
  border-inline-start:1px solid var(--rule);
  padding-inline-start:21px;
  font-size:9px;
  letter-spacing:.09em;
  line-height:1.9;
  color:var(--muted);
  text-transform:uppercase
}
.article-margin i {
  display:block;
  width:24px;
  height:1px;
  background:var(--muted);
  margin-block:25px
}
.article-margin em {
  font:italic 16px/1.35 var(--serif);
  letter-spacing:0;
  text-transform:none
}
.chapter-nav {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  position:sticky;
  top:0;
  background:var(--bg);
  z-index:20;
  border-block:1px solid var(--rule);
  padding-inline:var(--gutter)
}
.chapter-nav a {
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:center;
  padding:16px 12px;
  gap:14px;
  border-inline-end:1px solid var(--rule);
  position:relative
}
.chapter-nav a:last-child {
  border:0
}
.chapter-nav .icon {
  width:32px;
  height:32px;
  stroke-width:1
}
.chapter-nav a>span {
  font-size:9px;
  line-height:1.6;
  text-transform:uppercase;
  letter-spacing:.09em
}
.chapter-nav b {
  display:block;
  font-size:11px;
  letter-spacing:.04em;
  font-weight:400
}
.chapter-nav a:after {
  content:"";
  position:absolute;
  inset-inline:10px;
  bottom:-1px;
  height:2px;
  background:var(--accent);
  transform:scaleX(0);
  transition:transform .25s
}
.chapter-nav a[aria-current=location]:after, .chapter-nav a:hover:after {
  transform:scaleX(1)
}
.chapter-nav a[aria-current=location] .icon {
  color:var(--accent)
}
:root[data-theme=light] .chapter-nav a[aria-current=location] .icon {
  color:var(--ink)
}
.article-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:0;
  padding-inline:var(--gutter)
}
.chapters {
  padding-inline-end:36px;
  border-inline-end:1px solid var(--rule);
  min-width:0
}
.chapter {
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1fr);
  gap:30px;
  padding:45px 0;
  border-bottom:1px solid var(--rule);
  scroll-margin-top:20px
}
.chapter-heading {
  position:relative;
  isolation:isolate;
  min-width:0
}
.chapter-heading .eyebrow {
  margin-bottom:18px
}
.chapter-heading .eyebrow span {
  color:var(--muted);
  padding-inline-end:12px
}
.chapter h2 {
  font-size:clamp(1.9rem,2.8vw,3rem);
  line-height:1.09
}
.ghost-glyph {
  display:block;
  opacity:.12;
  margin-top:30px
}
.ghost-glyph .icon {
  width:95px;
  height:95px;
  stroke-width:.5
}
.chapter-copy {
  font-size:14px;
  line-height:1.85;
  min-width:0
}
.chapter-copy p {
  color:var(--ink)
}
.take-note {
  display:flex;
  gap:12px;
  margin-block:22px;
  padding:16px 0;
  border-block:1px solid var(--rule);
  font:italic 17px/1.45 var(--serif)
}
.take-note .icon {
  width:20px;
  height:20px;
  color:var(--muted)
}
.inline-sources {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  font-size:10px;
  line-height:1.5;
  margin-top:20px;
  color:var(--muted)
}
.inline-sources>a {
  border-bottom:1px solid var(--rule);
  min-height:32px;
  display:flex;
  align-items:center
}
.source-sidebar {
  padding:25px 0 25px 24px;
  min-width:0
}
.source-panel {
  border:1px solid var(--rule);
  padding:17px
}
.source-panel h2 {
  font-size:1.8rem;
  letter-spacing:-.03em
}
.source-panel .section-top {
  margin-bottom:12px
}
.count-badge {
  border:1px solid var(--rule);
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:11px
}
.source-reference {
  display:flex;
  align-items:flex-start;
  gap:10px;
  border-top:1px solid var(--rule);
  padding:15px 0;
  scroll-margin-top:110px
}
.source-reference:first-of-type {
  margin-top:16px
}
.source-reference .source-badge {
  width:34px;
  height:34px;
  flex-basis:34px;
  font-size:6px
}
.source-reference>span:nth-child(2) {
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0
}
.source-reference strong {
  font-size:10px;
  letter-spacing:.055em;
  font-weight:600;
  line-height:1.3
}
.source-reference span[lang] {
  font-size:10px;
  line-height:1.5;
  color:var(--muted)
}
.source-reference small {
  font-size:9px;
  color:var(--muted)
}
.source-reference .icon {
  width:12px;
  height:12px;
  margin-inline-start:auto
}
.source-reference:hover span[lang] {
  text-decoration:underline;
  text-underline-offset:3px
}
.sidebar-note {
  padding:25px 17px;
  margin-top:18px;
  border:1px solid var(--rule);
  font:italic 22px/1.3 var(--serif)
}
.sidebar-note .icon {
  margin-bottom:13px;
  opacity:.5
}
.related {
  margin-top:28px
}
.related h2 {
  font-size:1.8rem
}
.related .metadata .sep, .related .metadata span:last-child {
  display:none
}
.article-end {
  padding:35px 0 55px;
  max-width:670px
}
.article-end h2 {
  font-size:2.35rem;
  margin-bottom:20px
}
.article-end p {
  font-size:15px
}
.article-end p.small {
  font-size:12px;
  color:var(--muted);
  margin-block:16px
}
.article-end .text-link {
  margin-top:15px
}
/* Catalogue and explanatory pages retain the magazine language. */.page-header {
  padding:60px var(--gutter) 42px;
  max-width:1150px
}
.page-header .eyebrow {
  color:var(--muted);
  margin-bottom:21px
}
.page-header h1 {
  font-size:clamp(3rem,5.2vw,5.5rem);
  max-width:900px
}
.page-header>p:last-child {
  max-width:720px;
  font-size:17px;
  line-height:1.75;
  margin-top:23px;
  color:var(--muted)
}
.catalog {
  padding:0 var(--gutter) 60px
}
.filter-nav {
  display:flex;
  gap:12px 30px;
  flex-wrap:wrap;
  align-items:center;
  border-block:1px solid var(--rule);
  padding:8px 0
}
.filter-nav a {
  display:flex;
  align-items:center;
  min-height:44px;
  font-size:12px
}
.filter-nav a[aria-current] {
  text-decoration:underline;
  text-underline-offset:6px
}
.search-form {
  max-width:730px;
  margin-block:32px
}
.search-form>label, .feed-address label {
  display:block;
  font-size:12px;
  margin-bottom:9px
}
.search-form>div {
  display:flex;
  border:1px solid var(--rule);
  background:var(--panel)
}
.search-form input, .feed-address input {
  width:100%;
  min-width:0;
  color:var(--ink);
  background:transparent;
  padding:14px 16px;
  border:0;
  min-height:52px;
  font-size:15px;
  border-radius:0
}
.search-form input::placeholder {
  color:var(--muted);
  opacity:1
}
.search-form button, .feed-address button {
  border:0;
  background:var(--ink);
  color:var(--bg);
  padding:12px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  font-size:12px;
  flex-shrink:0
}
.search-form>p {
  margin-top:8px
}
.catalog-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:40px 30px
}
.catalog-story {
  min-width:0;
  padding-bottom:24px;
  border-bottom:1px solid var(--rule)
}

.catalog-story img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s
}
.catalog-story:hover img {
  transform:scale(1.04)
}
.catalog-story>.category-label {
  margin-top:18px;
  font-size:10px
}
.catalog-story h2 {
  font-size:clamp(1.8rem,2.7vw,2.75rem);
  margin-top:13px;
  line-height:1.1
}
.catalog-story h2 a:hover {
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:5px
}
.catalog-story>p:not(.category-label) {
  margin-top:15px;
  font-size:13px;
  line-height:1.7;
  color:var(--muted)
}
.catalog-story>.metadata {
  margin-top:20px;
  font-size:11px
}
.result-count {
  margin-bottom:30px;
  font-size:14px;
  overflow-wrap:anywhere
}
.empty-state {
  padding:40px 0 70px;
  max-width:600px
}
.empty-state>svg {
  width:36px;
  height:36px;
  margin-bottom:22px
}
.empty-state h2 {
  margin-bottom:20px
}
.empty-state .text-link {
  margin-top:20px
}
.prose-page {
  max-width:860px;
  margin:0 var(--gutter);
  padding-bottom:65px
}
.prose-page section {
  border-top:1px solid var(--rule);
  padding:28px 0
}
.prose-page h2 {
  font-size:2rem;
  margin-bottom:20px
}
.prose-page p {
  font-size:15px;
  line-height:1.85
}
.prose-page .round-link {
  margin:20px 0
}
.prose-page .small {
  font-size:12px
}
.feed-address {
  padding-top:20px;
  max-width:620px
}
.feed-address input {
  border:1px solid var(--rule);
  direction:ltr;
  font-size:12px
}
.feed-address button {
  margin-top:12px
}
.feed-address #copy-status {
  min-height:30px;
  font-size:12px
}
.method-page {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 45px;
  padding:0 var(--gutter) 60px
}
.method-page>article {
  border-top:1px solid var(--rule);
  padding:30px 0;
  display:flex;
  gap:30px
}
.method-glyph .icon {
  width:65px;
  height:65px;
  stroke-width:.7
}
.method-page h2 {
  font-size:2.1rem;
  margin:8px 0 20px
}
.method-page p:not(.eyebrow) {
  font-size:14px;
  line-height:1.8;
  max-width:430px
}
.method-manifest {
  padding:30px;
  background:var(--panel);
  border-top:1px solid var(--rule);
  margin-top:1px
}
.method-manifest .round-link {
  margin-top:25px
}
.sources-page {
  padding:0 var(--gutter) 60px
}
.source-library {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 45px
}
.source-card {
  display:flex;
  gap:20px;
  padding:27px 0;
  border-top:1px solid var(--rule);
  scroll-margin-top:30px
}
.source-card h2 {
  font-size:1.9rem;
  margin-bottom:10px
}
.source-card p {
  font-size:13px;
  line-height:1.65
}
.source-card .eyebrow {
  font-size:10px
}
.source-card .text-link {
  margin-top:9px
}
.source-card>div {
  min-width:0
}
.sources-intro {
  max-width:770px;
  margin-bottom:30px;
  font-size:13px;
  color:var(--muted)
}
.error-page {
  min-height:60vh;
  padding:65px var(--gutter);
  max-width:950px
}
.error-page h1 {
  margin:20px 0
}
.error-page p {
  max-width:580px
}
.error-page .round-link {
  margin-top:25px
}
/* Direction-aware composition, without mirroring letterforms or artwork. */[dir=rtl] body {
  font-family:Tahoma,Arial,sans-serif;
  line-height:1.85
}
[dir=rtl] h1, [dir=rtl] h2, [dir=rtl] h3 {
  font-family:Tahoma,Arial,sans-serif;
  letter-spacing:0;
  line-height:1.3
}
[dir=rtl] .eyebrow, [dir=rtl] .category-label, [dir=rtl] .chapter-nav span {
  letter-spacing:0
}
[dir=rtl] .closing-scene:after {
  background:linear-gradient(270deg,#09100deb,transparent)
}
[dir=rtl] .text-link .icon, [dir=rtl] .round-icon .icon, [dir=rtl] .outline-arrow .icon {
  transform:scaleX(-1)
}
[dir=rtl] .source-sidebar {
  padding-inline-start:24px;
  padding-inline-end:0
}
[dir=rtl] .article-hero h1 {
  font-size:clamp(2.6rem,4vw,4.3rem)
}
[dir=rtl] .brand-caption {
  letter-spacing:0
}
/* Small screens are composed independently rather than shrinking the desktop. */@media (min-width:1600px) {
body {
  max-width:1680px;
  margin:auto;
  border-inline:1px solid var(--rule)
}
}
@media (max-width:1150px) {
.brand-caption {
  display:none
}
.method-strip {
  grid-template-columns:210px 1fr;
  gap:20px
}
.method-steps a {
  padding-inline:9px
}
.source-strip {
  grid-template-columns:230px 1fr
}
.source-strip>.text-link {
  grid-column:2
}
.source-strip {
  gap:15px 30px
}
.article-hero {
  grid-template-columns:minmax(0,1.2fr) minmax(190px,.8fr)
}
.article-margin {
  display:none
}
.article-layout {
  grid-template-columns:minmax(0,1fr) 265px
}
.chapters {
  padding-inline-end:26px
}
.chapter {
  grid-template-columns:1fr;
  gap:22px
}
.ghost-glyph {
  position:absolute;
  inset-inline-end:0;
  top:0;
  margin:0;
  z-index:-1
}
.chapter-heading h2 {
  max-width:540px
}
.source-sidebar {
  padding-inline-start:20px
}
.footer-main {
  flex-wrap:wrap
}
.footer-main nav {
  margin-inline-start:0;
  justify-content:flex-start;
  flex:1 1 420px
}
}
@media (max-width:899px) {
:root {
  --header-h:75px
}
.desktop-nav {
  display:none
}
.mobile-menu {
  display:block
}
.method-strip {
  grid-template-columns:1fr;
  gap:18px
}
.method-strip>div:first-child {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:5px 28px
}
.method-strip h2 {
  max-width:400px;
  font-size:2.4rem;
  grid-row:2/4;
  margin:0
}
.method-strip .eyebrow {
  grid-column:1/-1
}
.method-strip .small {
  max-width:350px
}
.method-steps a:first-child {
  border-inline-start:0
}
.source-strip {
  grid-template-columns:1fr
}
.source-strip>.text-link {
  grid-column:1;
  justify-self:start
}
.source-strip>div:first-child {
  max-width:580px
}
.source-badges {
  justify-content:space-between
}
.article-hero h1 {
  font-size:clamp(2.8rem,5.3vw,3.9rem)
}
.article-layout {
  grid-template-columns:1fr
}
.chapters {
  padding-inline-end:0;
  border-inline-end:0
}
.chapter {
  grid-template-columns:.75fr 1fr;
  gap:28px
}
.source-sidebar, [dir=rtl] .source-sidebar {
  padding:5px 0 45px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px
}
.source-panel {
  grid-row:span 2
}
.sidebar-note {
  margin-top:0;
  align-self:start
}
.related {
  margin-top:0
}
.source-reference span[lang] {
  font-size:12px
}
.source-reference .source-badge {
  width:40px;
  height:40px;
  flex-basis:40px;
  font-size:7px
}
.source-reference small {
  font-size:10px
}
.chapter-nav {
  padding-inline:0
}
.chapter-nav a {
  gap:7px;
  padding-inline:8px
}
.chapter-nav .icon {
  width:28px;
  height:28px
}
.chapter-nav a>span {
  font-size:8px
}
.catalog-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:35px 25px
}
.method-page {
  gap:0 30px
}
.method-page>article {
  gap:18px
}
.method-glyph .icon {
  width:45px;
  height:45px
}
.source-library {
  gap:0 25px
}
.source-card {
  gap:13px
}
.source-card .source-badge {
  width:44px;
  height:44px;
  flex-basis:44px;
  font-size:8px
}
.footer-main nav {
  flex-basis:100%
}
.footer-bottom {
  flex-wrap:wrap;
  gap:5px 20px
}
.footer-bottom nav {
  margin-inline-start:0
}
.back-top {
  margin-inline-start:auto
}
}
@media (max-width:599px) {
:root {
  --gutter:22px;
  --header-h:72px
}
.site-header {
  padding:12px var(--gutter);
  gap:5px
}
.brand-les {
  font-size:21px
}
.brand-core {
  font-size:37px
}
.header-tools {
  gap:0
}
.icon-button, .header-tools summary {
  min-width:41px;
  min-height:44px;
  padding:9px
}
.round-icon {
  width:44px;
  height:44px;
  flex-basis:44px
}
.method-strip {
  padding-block:27px
}
.method-strip>div:first-child {
  display:block
}
.method-strip h2 {
  font-size:2.65rem;
  max-width:300px;
  margin:9px 0 15px
}
.method-strip .small {
  font-size:12px
}
.method-steps {
  grid-template-columns:1fr
}
.method-steps a {
  display:grid;
  grid-template-columns:38px 22px minmax(80px,.8fr) minmax(0,1fr);
  gap:11px;
  align-items:center;
  text-align:start;
  border-inline:0;
  border-top:1px solid var(--rule);
  padding:14px 0
}
.method-steps .icon {
  width:32px;
  height:32px;
  margin:0
}
.method-steps b {
  font-size:10px
}
.method-steps strong {
  font-size:9px;
  letter-spacing:0
}
.method-steps span {
  font-size:11px;
  line-height:1.4
}
.source-strip {
  padding-block:25px;
  gap:20px
}
.source-strip h2 {
  font-size:2rem
}
.source-badges {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px
}
.source-badge {
  width:56px;
  height:56px;
  flex-basis:56px;
  font-size:9px
}
.source-strip .text-link {
  font-size:12px
}
.closing-scene {
  min-height:180px;
  padding-block:35px
}
.closing-scene p {
  font-size:1.8rem;
  max-width:320px
}
.closing-scene img {
  object-position:64% 50%;
  opacity:.55
}
.footer-main {
  gap:20px 22px;
  padding:26px 0 18px
}
.footer-signature {
  font-size:13px;
  min-width:0;
  padding-inline-start:18px;
  max-width:190px
}
.footer-main nav {
  display:grid;
  grid-template-columns:1fr 1fr;
  width:100%;
  gap:0 22px
}
.footer-main nav a {
  font-size:12px
}
.footer-bottom {
  align-items:flex-start;
  padding-block:18px;
  gap:12px
}
.footer-bottom>span {
  flex-basis:100%;
  font-size:10px
}
.footer-bottom nav {
  gap:0 15px;
  font-size:10px
}
.footer-bottom .back-top {
  margin-inline-start:0;
  font-size:11px;
  min-height:40px
}
.breadcrumbs {
  padding-top:10px
}
.article-hero {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  padding-top:20px;
  gap:25px;
  min-height:0
}
.article-hero h1 {
  font-size:clamp(2.65rem,10.8vw,3.7rem);
  margin-top:20px;
  line-height:1.04
}
.article-deck {
  font-size:14px;
  line-height:1.7;
  margin-top:20px
}
.article-hero .metadata {
  font-size:11px;
  margin-top:20px
}
.article-hero figure {
  min-height:0;
  height:240px;
  aspect-ratio:1.45
}
.article-hero figure img {
  height:100%;
  object-position:50% 38%
}
.article-hero figcaption {
  font-size:8px;
  max-width:240px
}
.article-hero .small {
  font-size:10px
}
.chapter-nav a {
  flex-direction:column;
  gap:5px;
  padding:11px 3px;
  min-height:79px
}
.chapter-nav .icon {
  width:25px;
  height:25px
}
.chapter-nav a>span {
  font-size:7px;
  line-height:1.6;
  letter-spacing:0;
  overflow-wrap:anywhere;
  text-align:center
}
.chapter-nav b {
  font-size:9px
}
.chapter-nav a:after {
  inset-inline:4px
}
.chapter {
  grid-template-columns:1fr;
  padding-block:33px;
  gap:20px
}
.chapter h2 {
  font-size:2.4rem;
  line-height:1.12
}
.chapter-heading .eyebrow {
  font-size:10px;
  margin-bottom:15px
}
.ghost-glyph .icon {
  width:70px;
  height:70px
}
.chapter-copy {
  font-size:14px;
  line-height:1.85
}
.take-note {
  font-size:18px
}
.article-end h2 {
  font-size:2.4rem
}
.source-sidebar, [dir=rtl] .source-sidebar {
  display:block;
  padding-bottom:35px
}
.source-panel {
  padding:20px
}
.source-reference .source-badge {
  width:43px;
  height:43px;
  flex-basis:43px;
  font-size:8px
}
.source-reference span[lang] {
  font-size:12px
}
.source-reference strong {
  font-size:11px
}
.source-reference small {
  font-size:10px
}
.source-reference .icon {
  width:15px;
  height:15px
}
.sidebar-note {
  margin-top:18px
}
.related {
  margin-top:26px
}
.page-header {
  padding-top:38px;
  padding-bottom:29px
}
.page-header h1 {
  font-size:clamp(2.8rem,11.6vw,4rem)
}
.page-header>p:last-child {
  font-size:15px;
  line-height:1.75
}
.page-header .eyebrow {
  font-size:10px;
  margin-bottom:18px
}
.filter-nav {
  gap:0 17px
}
.filter-nav a {
  font-size:10px
}
.filter-nav .dot {
  width:7px;
  height:7px;
  flex-basis:7px
}
.search-form {
  margin-block:25px
}
.search-form input {
  padding-inline:12px;
  font-size:14px
}
.search-form button {
  padding:12px;
  gap:7px
}
.search-form button span {
  font-size:11px
}
.search-form button .icon {
  width:18px;
  height:18px
}
.catalog-grid {
  grid-template-columns:1fr;
  gap:28px
}
.catalog-story h2 {
  font-size:2.2rem
}

.catalog-story>p:not(.category-label) {
  font-size:14px
}
.method-page {
  display:block
}
.method-page>article {
  gap:22px
}
.method-page h2 {
  font-size:2.15rem
}
.method-page p:not(.eyebrow) {
  font-size:14px
}
.method-manifest {
  padding:23px;
  margin-top:12px
}
.source-library {
  display:block
}
.source-card {
  gap:15px
}
.source-card h2 {
  font-size:1.65rem;
  line-height:1.2
}
.source-card .source-badge {
  width:46px;
  height:46px;
  flex-basis:46px;
  font-size:8px
}
.source-card .text-link {
  font-size:11px
}
.prose-page h2 {
  font-size:1.95rem;
  line-height:1.13
}
.prose-page p {
  font-size:14px
}
.prose-page .take-note {
  padding:18px;
  font-style:normal;
  background:var(--panel)
}
.error-page h1 {
  font-size:3rem
}
[dir=rtl] .article-hero h1 {
  font-size:clamp(2.35rem,9vw,3.5rem)
}
[dir=rtl] .method-steps a {
  grid-template-columns:32px 18px minmax(70px,.8fr) minmax(0,1fr)
}
[dir=rtl] .chapter h2 {
  font-size:2rem
}
}
@media (max-width:359px) {
:root {
  --gutter:17px
}
.brand-les {
  font-size:19px
}
.brand-core {
  font-size:32px
}
.header-tools .icon-button, .header-tools summary {
  min-width:38px;
  padding:8px
}
.method-steps a {
  grid-template-columns:29px 17px 78px 1fr;
  gap:8px
}
.method-steps strong {
  font-size:8px
}
.chapter-nav a>span {
  font-size:6.5px
}
.source-strip .source-badge {
  width:48px;
  height:48px;
  flex-basis:48px
}
.footer-signature {
  font-size:12px;
  padding-inline-start:14px;
  max-width:170px
}
}
/* Motion decorates glyphs, never delays or hides the editorial content. */@media (prefers-reduced-motion:no-preference) {
.method-glyph, .ghost-glyph {
  transition:transform .55s cubic-bezier(.2,.6,.3,1),opacity .55s
}
.chapter:not(.is-visible) .ghost-glyph {
  transform:translateY(7px) rotate(-8deg);
  opacity:.07
}
.chapter.is-visible .ghost-glyph {
  transform:none;
  opacity:.12
}
}
@media (prefers-reduced-motion:reduce) {
html {
  scroll-behavior:auto
}
*, *::before, *::after {
  animation:none!important;
  transition:none!important;
  scroll-behavior:auto!important
}
}
@media print {
.site-header, .chapter-nav, .header-tools, .closing-scene, .site-footer, .related, .search-form {
  display:none!important
}
:root {
  --bg:#fff;
  --ink:#000;
  --muted:#333;
  --rule:#aaa;
  color-scheme:light
}
body {
  font-size:11pt
}
.article-layout {
  display:block;
  padding:0
}
.chapters {
  border:0;
  padding:0
}
.chapter {
  break-inside:avoid;
  padding:20px 0
}
.source-sidebar {
  padding:20px 0;
  display:block
}
.article-hero {
  display:block;
  padding:0
}
.article-hero figure {
  display:none
}
.article-hero h1 {
  font-size:30pt
}
.source-reference {
  break-inside:avoid
}
.source-reference:after {
  content:attr(href);
  font-size:8pt;
  word-break:break-all
}
.source-reference {
  flex-wrap:wrap
}
.page-header, .prose-page {
  margin:0;
  padding:15px 0
}
.skip-link {
  display:none
}
}
/* Component-specific refinements */.method-step h3 {
  font:600 9px/1.5 var(--sans);
  letter-spacing:.05em;
  text-transform:uppercase;
  overflow-wrap:anywhere
}
.method-step p {
  font:11px/1.6 var(--sans);
  color:var(--muted);
  max-width:130px
}
.method-step .step-number {
  font-size:11px;
  color:var(--ink)
}
.error-number {
  font:11px/1 var(--sans);
  letter-spacing:.1em;
  color:var(--muted)
}
@media (max-width:599px) {
.method-steps .method-glyph .icon {
  margin:0
}
.method-step h3 {
  font-size:9px;
  letter-spacing:0
}
.method-step p {
  font-size:11px;
  line-height:1.45
}
.method-step .step-number {
  font-size:10px
}
.method-steps .method-glyph {
  width:32px
}
}
@media (max-width:359px) {
.method-step h3 {
  font-size:8px
}
.method-steps .method-glyph {
  width:29px
}
.method-step p {
  font-size:10px
}
}
/* 1.3 / Real page refinements. Color is a section cue, never the only label. */:root {
  --gutter:clamp(22px,4vw,62px);
  --rule:#303935;
  --ink:#f3f0e8;
  --muted:#b7beb8;
  --serif:Georgia,"Times New Roman",serif
}
:root[data-theme=light] {
  --bg:#f6f3ec;
  --panel:#ede9df;
  --raised:#e4dfd3;
  --ink:#17211e;
  --muted:#515b55;
  --rule:#c9c9bf
}
body {
  max-width:1600px;
  margin-inline:auto;
  font-size:17px;
  line-height:1.7
}
.site-header {
  min-height:86px;
  gap:18px
}
.desktop-nav a {
  font-size:11px;
  padding:16px 0
}
.brand-caption {
  font-size:9px;
  max-width:118px;
  line-height:1.55
}
.brand-core {
  font-size:42px
}
.header-tools {
  gap:8px
}
.eyebrow {
  font-size:11px;
  letter-spacing:.13em
}
.small {
  font-size:13px
}
.category-label {
  font-size:11px;
  letter-spacing:.07em
}
.metadata {
  font-size:12px;
  gap:10px 15px
}
.metadata .icon {
  width:15px;
  height:15px
}
.section-top {
  margin-bottom:17px
}
.section-top .text-link {
  font-size:11px
}
.text-link:hover {
  color:var(--ink)
}
.method-strip {
  padding-block:34px
}
.method-strip h2 {
  font-size:clamp(28px,2.6vw,39px);
  line-height:1.08
}
.method-step h3 {
  font-size:10px
}
.method-step p {
  font-size:12px;
  line-height:1.55;
  max-width:148px
}
.method-glyph .icon {
  width:54px;
  height:54px
}
.method-step .step-number {
  font-size:12px
}
.method-glyph {
  color:var(--ink);
  opacity:.78
}
.source-strip {
  display:grid;
  grid-template-columns:minmax(170px,.9fr) minmax(0,2.3fr) auto;
  padding-block:32px;
  gap:26px;
  align-items:center
}
.source-strip h2 {
  font-size:30px;
  line-height:1.06
}
.source-strip .small {
  font-size:12px;
  margin-top:8px;
  max-width:260px
}
.source-badges {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px
}
.source-badges a {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  text-align:center;
  font-size:10px;
  letter-spacing:.07em;
  min-width:0
}
.source-badge {
  border-radius:4px;
  width:78px;
  height:62px;
  flex:0 0 62px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--rule);
  background:var(--panel);
  font-size:11px;
  font-weight:600;
  color:var(--ink);
  letter-spacing:.015em;
  overflow:hidden
}
.has-logo {
  background:#172b49;
  border-color:#172b49
}
.has-logo.logo-anssi, .has-logo.logo-ue {
  background:#f6f5f0;
  border-color:#ddd
}
.source-logo {
  width:100%;
  height:100%;
  max-width:58px;
  max-height:37px;
  object-fit:contain;
  padding:0
}
.logo-anssi .source-logo {
  max-width:45px;
  max-height:51px
}
.logo-ue .source-logo {
  max-width:55px;
  max-height:42px
}
.source-badges a:hover .source-badge {
  box-shadow:0 0 0 2px var(--muted)
}
.textual-badge {
  font-size:11px;
  letter-spacing:.06em;
  background:transparent;
  position:relative
}
.textual-badge:after {
  content:"";
  position:absolute;
  bottom:10px;
  width:19px;
  height:1px;
  background:var(--muted);
  opacity:.5
}
.closing-scene {
  min-height:164px;
  position:relative;
  padding-block:31px;
  overflow:hidden;
  background:#111816;
  color:#f4f1e8
}
.closing-scene img {
  opacity:.55;
  object-position:center center;
  filter:none
}
.closing-scene:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#09100ebb,transparent 72%);
  pointer-events:none
}
.closing-scene p, .closing-scene>span {
  position:relative;
  z-index:1
}
.closing-scene p {
  font-size:clamp(27px,3vw,43px);
  max-width:690px;
  line-height:1.08;
  letter-spacing:-.03em
}
.closing-scene>span {
  font-size:10px;
  letter-spacing:.16em
}
.footer-main {
  padding-block:29px;
  gap:24px
}
.footer-main nav {
  gap:10px 20px
}
.footer-main nav a {
  font-size:12px;
  min-height:44px;
  display:inline-flex;
  align-items:center
}
.footer-signature {
  font-size:15px
}
.footer-signature>span {
  font-size:11px
}
.footer-bottom {
  padding-block:14px 20px;
  font-size:11px
}
.footer-bottom nav a, .footer-bottom .back-top {
  font-size:11px;
  min-height:44px;
  display:inline-flex;
  align-items:center
}
/* Article: asymmetric introduction, legible reading column, persistent source rail. */.breadcrumbs {
  font-size:11px;
  padding-top:18px;
  padding-bottom:0;
  gap:7px
}
.breadcrumbs a {
  min-height:36px;
  display:inline-flex;
  align-items:center
}
.article-hero {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(80px,.23fr);
  min-height:490px;
  align-items:center;
  padding:35px var(--gutter) 45px;
  gap:30px
}
.article-hero h1 {
  font-size:clamp(40px,4.65vw,70px);
  line-height:1.02;
  letter-spacing:-.048em;
  margin-top:21px;
  max-width:680px
}
.article-deck {
  font-size:16px;
  line-height:1.65;
  max-width:560px;
  margin-top:22px
}
.article-hero .metadata {
  margin-top:22px
}
.article-hero .small {
  font-size:11px;
  margin-top:9px
}
.article-hero figure {
  position:relative;
  aspect-ratio:1.3;
  min-height:0;
  height:350px;
  max-width:560px;
  background:#101715;
  align-self:center;
  overflow:hidden
}
.article-hero figure img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:35% center
}
.article-hero figcaption {
  position:absolute;
  inset-block-end:0;
  inset-inline:0;
  font-size:9px;
  line-height:1.5;
  padding:12px;
  color:#f1efe8;
  background:linear-gradient(transparent,#000a);
  max-width:none
}
.article-margin {
  font-size:9px;
  line-height:1.9;
  letter-spacing:.1em
}
.article-margin em {
  font-size:18px;
  line-height:1.35
}
.article-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:18px;
  margin-top:24px
}
.article-actions .round-link {
  font-size:12px
}
.article-actions .round-icon {
  width:40px;
  height:40px;
  flex-basis:40px
}
.article-source-jump {
  font-size:12px;
  text-decoration:underline;
  text-decoration-color:var(--rule);
  text-underline-offset:5px
}
.article-source-jump .icon {
  width:17px;
  height:17px
}
.chapter-nav {
  position:sticky;
  top:0;
  z-index:25;
  background:var(--bg);
  padding-inline:var(--gutter);
  border-block:1px solid var(--rule);
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr))
}
.chapter-nav a {
  position:relative;
  display:flex;
  justify-content:center;
  gap:13px;
  padding:16px 8px;
  min-height:77px;
  align-items:center;
  border-inline-end:1px solid var(--rule)
}
.chapter-nav a:first-child {
  border-inline-start:1px solid var(--rule)
}
.chapter-nav a>span {
  font-size:10px;
  letter-spacing:.09em;
  line-height:1.65
}
.chapter-nav b {
  font-size:11px;
  font-weight:400;
  display:block;
  line-height:1.5
}
.chapter-nav .icon {
  width:31px;
  height:31px;
  opacity:.7
}
.chapter-nav a[aria-current] {
  background:var(--panel)
}
.chapter-nav a[aria-current]:after {
  inset-inline:14px;
  height:2px;
  background:var(--accent);
  bottom:0
}
.chapter-nav a:hover .icon {
  opacity:1;
  transform:scale(1.1)
}
.article-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 270px;
  gap:0;
  padding-inline:var(--gutter)
}
.chapters {
  padding-inline-end:42px;
  border-inline-end:1px solid var(--rule)
}
.chapter {
  display:grid;
  grid-template-columns:66px minmax(0,1fr);
  gap:22px;
  padding-block:45px;
  border-bottom:1px solid var(--rule);
  scroll-margin-top:95px;
  position:relative;
  isolation:isolate
}
.chapter-index {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:32px;
  align-items:flex-start
}
.chapter-number {
  font:400 52px/1 var(--serif);
  letter-spacing:-.07em;
  color:var(--muted);
  opacity:.75
}
.chapter-index .ghost-glyph {
  position:static;
  opacity:.46!important;
  display:block;
  pointer-events:none
}
.chapter-index .ghost-glyph .icon {
  width:49px;
  height:49px;
  color:var(--muted)
}
.chapter-heading .eyebrow {
  font-size:10px;
  margin-bottom:15px;
  color:var(--muted);
  letter-spacing:.14em
}
.chapter h2 {
  font-size:clamp(29px,2.85vw,42px);
  line-height:1.12;
  letter-spacing:-.04em;
  max-width:760px;
  text-wrap:pretty;
  margin:0 0 24px
}
.chapter-copy {
  font:17px/1.85 var(--sans);
  max-width:68ch
}
.chapter-copy>p+p {
  margin-top:18px
}
.take-note {
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-block:25px 0;
  padding:17px 18px;
  border-block:0;
  border-inline-start:2px solid var(--accent);
  background:var(--panel);
  font:italic 19px/1.5 var(--serif);
  color:var(--ink)
}
.take-note .icon {
  width:22px;
  height:22px;
  color:var(--muted);
  margin-top:4px
}
.take-note p {
  margin:0
}
.chapter-3 .take-note {
  border-inline-start-style:dashed
}
.chapter-5 .take-note {
  background:none;
  border:1px solid var(--rule);
  border-inline-start:2px solid var(--accent)
}
.inline-sources {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  font:10px/1.5 var(--sans);
  margin-top:18px;
  text-transform:none;
  letter-spacing:.04em
}
.inline-sources>span {
  font-size:9px;
  text-transform:uppercase;
  color:var(--muted);
  margin-inline-end:4px
}
.inline-sources a {
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid var(--rule);
  padding:5px 8px;
  min-height:32px
}
.inline-sources a .icon {
  width:12px;
  height:12px
}
.inline-sources a:hover {
  background:var(--raised)
}
.article-end {
  padding-block:35px 45px;
  padding-inline-start:88px
}
.article-end h2 {
  font-size:34px;
  margin-block:12px 16px;
  line-height:1.12
}
.article-end>p {
  font-size:16px;
  line-height:1.8
}
.article-end .small {
  font-size:13px
}
.article-end .text-link {
  margin-top:15px
}
.source-sidebar {
  padding:28px 0 30px 25px;
  display:block;
  min-width:0;
  scroll-margin-top:105px
}
.sidebar-inner {
  position:sticky;
  top:95px;
  max-height:calc(100vh - 110px);
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:var(--rule) transparent;
  padding-inline-end:4px
}
.source-panel {
  padding:18px 15px;
  background:var(--panel);
  border:1px solid var(--rule)
}
.source-panel h2 {
  font-size:28px
}
.source-panel .section-top {
  margin-bottom:10px
}
.source-panel>.small {
  font-size:12px;
  line-height:1.6
}
.count-badge {
  font-size:11px;
  min-width:25px;
  min-height:25px;
  display:grid;
  place-items:center;
  border:1px solid var(--rule);
  border-radius:50%
}
.source-reference {
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 12px;
  gap:11px;
  padding-block:18px;
  align-items:start;
  scroll-margin-top:120px
}
.source-reference .source-badge {
  width:44px;
  height:42px;
  flex-basis:auto;
  border-radius:3px
}
.source-reference .source-logo {
  max-width:33px;
  max-height:23px;
  padding:0
}
.source-reference .logo-anssi .source-logo {
  max-width:29px;
  max-height:35px
}
.source-reference .textual-badge {
  font-size:8px
}
.source-reference .textual-badge:after {
  display:none
}
.source-reference strong {
  font-size:11px;
  letter-spacing:.04em
}
.source-reference span[lang] {
  font-size:12px;
  line-height:1.5;
  display:block;
  margin-top:6px
}
.source-reference small {
  font-size:10px;
  line-height:1.7;
  display:block;
  margin-top:6px;
  color:var(--muted)
}
.source-reference>.icon {
  width:12px;
  height:12px;
  margin-top:3px
}
.source-reference:hover span[lang] {
  text-decoration:underline;
  text-underline-offset:3px
}
.source-reference:target {
  outline:2px solid var(--accent);
  outline-offset:4px
}
.sidebar-note {
  padding:18px 15px;
  margin-top:18px;
  border:1px solid var(--rule)
}
.sidebar-note p {
  font-size:20px;
  line-height:1.35
}
.sidebar-note .icon {
  width:22px;
  height:22px;
  opacity:.55;
  margin-bottom:8px
}
.related {
  margin-top:24px
}
.related h2 {
  font-size:27px
}
.related .category-label {
  font-size:8px
}
.sources-return {
  font-size:11px;
  min-height:36px
}
/* Real category pages: a spread, not an almost empty three-column grid. */.page-header {
  padding:45px var(--gutter) 35px
}
.page-header h1 {
  font-size:clamp(42px,5.3vw,77px);
  margin-block:17px 20px
}
.page-header>div>p:last-child {
  font-size:17px;
  color:var(--muted)
}
.category-cover {
  position:relative;
  background:#101b19;
  isolation:isolate;
  min-height:235px;
  color:#f4f1e9;
  overflow:hidden;
  display:flex;
  align-items:center
}
.category-cover>div:not(.category-cover-art) {
  position:relative;
  z-index:2;
  max-width:74%
}
.category-cover .eyebrow {
  display:flex;
  align-items:center;
  gap:9px;
  color:#ced6cf
}
.category-cover>div>p:last-child {
  color:#e1e7df
}
.category-cover-art {
  position:absolute;
  inset-inline-end:0;
  inset-block:0;
  width:41%;
  max-width:520px;
  z-index:0;
  opacity:.75;
  display:grid;
  place-items:center;
  background:#101b19
}
.category-cover-art img {
  width:100%;
  max-width:340px;
  max-height:235px;
  object-fit:contain;
  filter:none
}
.category-cover:after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,#101b19 4%,#101b19cc 45%,transparent 84%)
}
.catalog {
  padding-block:0 45px
}
.filter-nav {
  padding-block:9px;
  gap:0 25px
}
.filter-nav a {
  font-size:11px;
  min-height:45px
}
.catalog-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  padding-block:23px 28px
}
.catalog-toolbar>div .eyebrow {
  margin-bottom:8px
}
.catalog-toolbar>div .muted {
  font-size:14px;
  max-width:340px;
  line-height:1.6
}
.catalog-toolbar .search-form {
  width:420px;
  max-width:48%;
  margin:0
}
.search-form label {
  font-size:12px;
  display:block;
  margin-bottom:7px
}
.search-form input {
  font-size:14px;
  min-height:48px;
  padding:12px
}
.search-form button {
  min-height:48px;
  padding:10px 14px;
  font-size:12px
}
.search-form .small {
  font-size:10px;
  margin-top:7px
}
.catalog-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:30px
}
.catalog-story {
  border-bottom:1px solid var(--rule);
  padding-bottom:23px;
  position:relative
}


.image-index {
  position:absolute;
  inset-block-end:7px;
  inset-inline-start:9px;
  padding:3px 6px;
  font-size:9px;
  color:#fff;
  background:#081511b0;
  letter-spacing:.14em
}
.catalog-story-copy .category-label {
  font-size:9px;
  margin-block:16px 12px;
  gap:7px
}
.catalog-story-copy h2 {
  font-size:clamp(25px,2.4vw,35px);
  line-height:1.11;
  letter-spacing:-.04em;
  margin:0 0 14px
}
.catalog-story-copy>p:not(.category-label) {
  font-size:14px;
  line-height:1.7;
  margin-bottom:18px
}
.catalog-story-copy .metadata {
  font-size:10px
}
.catalog-read {
  margin-top:12px;
  font-size:12px
}
.catalog-story h2 a:hover {
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px
}
.catalog-small {
  grid-template-columns:1fr;
  gap:30px
}
.catalog-feature {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);
  gap:0;
  border:1px solid var(--rule);
  padding-bottom:0;
  min-height:295px
}



.catalog-feature .image-index {
  inset-block-end:20px;
  inset-inline-start:24px;
  font-size:12px;
  background:transparent;
  opacity:.8
}
.catalog-feature .catalog-story-copy {
  padding:29px 34px
}
.catalog-feature .catalog-story-copy .category-label {
  margin-top:0;
  font-size:10px
}
.catalog-feature h2 {
  font-size:clamp(29px,3.15vw,44px);
  max-width:650px
}
.catalog-feature .catalog-story-copy>p:not(.category-label) {
  font-size:16px;
  max-width:57ch
}
.catalog-feature .metadata {
  font-size:11px
}
.catalog-feature .catalog-read {
  margin-top:14px;
  font-size:13px
}
.explore-next {
  margin-top:42px;
  display:grid;
  grid-template-columns:200px 1fr;
  gap:32px;
  border-top:1px solid var(--rule);
  padding-top:28px
}
.explore-next h2 {
  font-size:30px;
  margin-top:8px
}
.explore-next nav {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 25px
}
.explore-next nav a {
  min-height:58px;
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--rule);
  font-size:13px
}
.explore-next nav a .icon {
  width:18px;
  height:18px;
  margin-inline-start:auto
}
.explore-next nav a:hover {
  background:var(--panel)
}
.source-library {
  gap:20px 35px
}
.source-card {
  padding:24px 0
}
.source-card h2 {
  font-size:25px;
  line-height:1.16;
  letter-spacing:-.025em;
  margin:12px 0
}
.source-card .eyebrow {
  font-size:10px
}
.source-card .source-badge {
  width:78px;
  height:65px
}
.source-card .small {
  font-size:12px
}
.sources-intro {
  font-size:15px;
  max-width:75ch
}
.prose-page p, .method-page p:not(.eyebrow) {
  font-size:17px;
  line-height:1.85
}
.prose-page h2 {
  line-height:1.15;
  font-size:34px
}
.error-page .icon {
  width:56px;
  height:56px
}
[dir=rtl] .source-sidebar {
  padding:28px 25px 30px 0
}
[dir=rtl] .category-cover:after {
  background:linear-gradient(270deg,#101b19 4%,#101b19cc 45%,transparent 84%)
}
[dir=rtl] .chapter h2 {
  font-size:34px;
  line-height:1.6;
  letter-spacing:0
}
[dir=rtl] h1 {
  letter-spacing:0
}
[dir=rtl] .chapter-copy {
  font-size:18px;
  line-height:2
}
@media (min-width:1600px) {
body {
  border-inline:1px solid var(--rule)
}
}
@media (max-width:1199px) {
.brand-caption {
  display:none
}
.desktop-nav {
  gap:19px
}
.source-strip {
  grid-template-columns:190px 1fr
}
.source-strip>.text-link {
  grid-column:2;
  justify-self:end
}
.source-badges {
  gap:9px
}
.source-badge {
  width:66px;
  height:56px
}
.article-hero {
  grid-template-columns:1.2fr 1fr;
  gap:27px
}
.article-margin {
  display:none
}
.article-hero h1 {
  font-size:56px
}
.article-hero figure {
  height:330px
}
.article-layout {
  grid-template-columns:minmax(0,1fr) 245px
}
.chapters {
  padding-inline-end:26px
}
.chapter {
  grid-template-columns:47px minmax(0,1fr);
  gap:17px;
  padding-block:34px
}
.chapter-number {
  font-size:42px
}
.chapter-index .ghost-glyph .icon {
  width:37px;
  height:37px
}
.chapter h2 {
  font-size:33px
}
.chapter-copy {
  font-size:16px
}
.source-sidebar {
  padding-inline-start:18px
}
.source-panel {
  padding:15px 12px
}
.source-reference {
  grid-template-columns:38px minmax(0,1fr) 10px;
  gap:8px
}
.source-reference .source-badge {
  width:38px;
  height:38px
}
.source-reference .source-logo {
  max-width:29px;
  max-height:22px
}
.article-end {
  padding-inline-start:64px
}
.catalog-feature h2 {
  font-size:35px
}
.catalog-feature .catalog-story-copy {
  padding:26px
}
.catalog-story-copy h2 {
  font-size:29px
}
.catalog-grid {
  gap:23px
}
.catalog-toolbar {
  gap:20px
}
}
@media (max-width:899px) {
.desktop-nav {
  display:none
}
.mobile-menu {
  display:block
}
.brand-caption {
  display:block
}
.method-strip {
  grid-template-columns:1fr;
  gap:23px
}
.method-intro {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px
}
.method-strip h2 {
  font-size:30px;
  max-width:290px
}
.method-steps {
  width:100%;
  grid-template-columns:repeat(5,minmax(0,1fr))
}
.method-step {
  padding:14px 8px
}
.method-step p {
  font-size:11px
}
.method-step h3 {
  font-size:9px
}
.method-glyph .icon {
  width:43px;
  height:43px
}
.source-strip {
  grid-template-columns:1fr
}
.source-strip>div:first-child {
  max-width:500px
}
.source-strip .small {
  max-width:500px
}
.source-strip>.text-link {
  grid-column:auto
}
.source-badges {
  grid-template-columns:repeat(6,1fr)
}
.source-badge {
  width:76px;
  height:57px
}
.article-hero {
  min-height:410px
}
.article-hero h1 {
  font-size:44px
}
.article-hero figure {
  height:290px
}
.article-deck {
  font-size:15px
}
.article-actions .text-link {
  font-size:11px
}
.chapter-nav {
  padding-inline:var(--gutter)
}
.chapter-nav a {
  gap:8px;
  padding:14px 5px
}
.chapter-nav a>span {
  font-size:8px;
  letter-spacing:.025em
}
.chapter-nav .icon {
  width:26px;
  height:26px
}
.article-layout {
  grid-template-columns:1fr
}
.chapters {
  padding-inline-end:0;
  border-inline-end:0
}
.chapter {
  grid-template-columns:65px minmax(0,1fr);
  gap:24px;
  padding-block:39px
}
.chapter h2 {
  font-size:39px
}
.chapter-copy {
  font-size:17px
}
.chapter-number {
  font-size:53px
}
.source-sidebar, [dir=rtl] .source-sidebar {
  padding:30px 0;
  display:block;
  border-top:1px solid var(--rule)
}
.sidebar-inner {
  position:static;
  max-height:none;
  overflow:visible;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:20px
}
.source-panel {
  grid-row:span 2
}
.sidebar-note {
  margin:0;
  align-self:start
}
.related {
  margin:0;
  align-self:start
}
.source-reference {
  grid-template-columns:44px minmax(0,1fr) 12px;
  gap:13px
}
.source-reference .source-badge {
  width:44px;
  height:42px
}
.source-reference span[lang] {
  font-size:13px
}
.source-reference small {
  font-size:11px
}
.article-end {
  padding-inline-start:89px
}
.catalog-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.catalog-small {
  grid-template-columns:1fr
}
.catalog-feature {
  grid-template-columns:.9fr 1.1fr
}
.catalog-feature .catalog-story-copy {
  padding:24px
}
.catalog-feature h2 {
  font-size:31px
}
.catalog-feature .catalog-story-copy>p:not(.category-label) {
  font-size:14px
}
.category-cover h1 {
  font-size:54px
}
.catalog-toolbar>div .muted {
  font-size:12px
}
.explore-next {
  grid-template-columns:160px 1fr;
  gap:20px
}
.explore-next nav a {
  font-size:12px
}
.footer-main nav {
  width:100%;
  justify-content:flex-start
}
.footer-main {
  padding-block:26px;
  gap:12px 24px
}
.footer-main nav a {
  font-size:12px
}
.footer-bottom nav {
  gap:12px
}
}
@media (max-width:599px) {
:root {
  --gutter:21px;
  --header-h:73px
}
.site-header {
  min-height:73px;
  padding-block:12px;
  gap:8px
}
.brand-core {
  font-size:35px
}
.brand-les {
  font-size:21px
}
.brand-caption {
  display:none
}
.header-tools {
  gap:1px
}
.header-tools .icon-button, .header-tools summary {
  min-width:41px;
  min-height:44px
}
.round-icon {
  width:43px;
  height:43px;
  flex-basis:43px
}
.method-strip {
  padding-block:26px;
  gap:18px
}
.method-intro {
  display:block
}
.method-strip h2 {
  font-size:35px;
  max-width:350px
}
.method-intro .text-link {
  margin-top:8px
}
.method-steps {
  display:grid;
  grid-template-columns:1fr
}
.method-step {
  display:grid;
  grid-template-columns:36px 18px 1fr 1.2fr;
  align-items:center;
  gap:12px;
  padding:17px 0;
  border-inline:0;
  border-top:1px solid var(--rule)
}
.method-glyph .icon {
  width:32px;
  height:32px
}
.method-step h3 {
  font-size:10px;
  letter-spacing:.025em
}
.method-step p {
  font-size:12px;
  line-height:1.5;
  max-width:none
}
.method-step .step-number {
  font-size:10px
}
.source-strip {
  padding-block:28px;
  gap:24px
}
.source-strip h2 {
  font-size:33px
}
.source-strip .small {
  font-size:13px
}
.source-badges {
  grid-template-columns:repeat(3,1fr);
  gap:20px 10px
}
.source-badge {
  width:80px;
  height:62px
}
.source-badges a {
  font-size:10px;
  gap:8px
}
.source-strip>.text-link {
  font-size:12px
}
.closing-scene {
  min-height:168px;
  padding-block:31px
}
.closing-scene p {
  font-size:30px;
  line-height:1.15;
  max-width:370px
}
.closing-scene img {
  opacity:.5;
  object-position:center
}
.footer-main {
  gap:20px;
  padding-block:26px
}
.footer-main nav {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 20px
}
.footer-main nav a {
  font-size:13px
}
.footer-signature {
  max-width:220px;
  font-size:14px;
  padding-inline-start:15px
}
.footer-signature>span {
  font-size:10px
}
.footer-bottom {
  align-items:flex-start;
  gap:7px;
  padding-block:17px
}
.footer-bottom>span {
  flex-basis:100%;
  font-size:11px
}
.footer-bottom nav {
  gap:8px 17px;
  flex-wrap:wrap
}
.footer-bottom nav a {
  font-size:11px
}
.footer-bottom .back-top {
  margin:0;
  font-size:11px
}
.breadcrumbs {
  font-size:10px;
  padding-top:6px;
  gap:5px
}
.article-hero {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:25px;
  padding:20px var(--gutter) 26px;
  min-height:0
}
.article-hero .category-label {
  font-size:10px
}
.article-hero h1 {
  font-size:clamp(37px,10.5vw,55px);
  line-height:1.06;
  margin-top:19px
}
.article-deck {
  font-size:16px;
  line-height:1.7;
  margin-top:20px
}
.article-hero .metadata {
  font-size:11px;
  margin-top:20px;
  gap:7px 11px
}
.article-hero .small {
  font-size:11px;
  line-height:1.65
}
.article-actions {
  margin-top:19px;
  gap:10px 18px
}
.article-actions .round-link {
  font-size:12px
}
.article-source-jump {
  font-size:11px
}
.article-hero figure {
  aspect-ratio:1.65;
  height:auto;
  max-height:330px;
  width:100%;
  max-width:560px;
  min-height:0
}
.article-hero figure img {
  width:100%;
  height:100%;
  object-fit:cover
}
.article-hero figcaption {
  font-size:8px
}
.chapter-nav {
  padding-inline:0
}
.chapter-nav a {
  min-height:74px;
  flex-direction:column;
  gap:4px;
  padding:8px 3px
}
.chapter-nav .icon {
  width:24px;
  height:24px
}
.chapter-nav a>span {
  font-size:7px;
  letter-spacing:0;
  line-height:1.5;
  word-break:normal;
  overflow-wrap:anywhere
}
.chapter-nav b {
  font-size:10px;
  line-height:1.4
}
.chapter-nav a[aria-current]:after {
  inset-inline:5px
}
.article-layout {
  padding-inline:var(--gutter)
}
.chapter {
  display:block;
  padding-block:31px;
  scroll-margin-top:90px
}
.chapter-index {
  display:flex;
  flex-direction:row;
  justify-content:space-between;
  align-items:center;
  margin-bottom:13px
}
.chapter-number {
  font-size:42px;
  line-height:1;
  opacity:.8
}
.chapter-index .ghost-glyph {
  opacity:.5!important
}
.chapter-index .ghost-glyph .icon {
  width:34px;
  height:34px
}
.chapter-heading .eyebrow {
  font-size:10px;
  margin-bottom:13px
}
.chapter h2 {
  font-size:31px;
  line-height:1.15;
  margin-bottom:21px;
  letter-spacing:-.035em
}
.chapter-copy {
  font-size:16px;
  line-height:1.85
}
.chapter-copy>p+p {
  margin-top:18px
}
.take-note {
  font-size:19px;
  line-height:1.5;
  padding:15px 13px;
  gap:10px;
  margin-top:22px
}
.take-note .icon {
  width:18px;
  height:18px
}
.inline-sources {
  margin-top:17px;
  gap:9px
}
.inline-sources a {
  min-height:36px;
  font-size:11px
}
.inline-sources>span {
  font-size:9px
}
.article-end {
  padding:28px 0 36px
}
.article-end h2 {
  font-size:32px
}
.article-end>p {
  font-size:16px;
  line-height:1.8
}
.article-end .small {
  font-size:13px
}
.sidebar-inner {
  display:block;
  position:static;
  max-height:none;
  overflow:visible;
  padding:0
}
.source-panel {
  padding:22px 18px
}
.source-panel h2 {
  font-size:32px
}
.source-panel>.small {
  font-size:13px
}
.source-reference {
  grid-template-columns:53px minmax(0,1fr) 15px;
  gap:14px
}
.source-reference .source-badge {
  width:53px;
  height:48px
}
.source-reference .source-logo {
  max-width:39px;
  max-height:29px
}
.source-reference .logo-anssi .source-logo {
  max-width:34px;
  max-height:40px
}
.source-reference span[lang] {
  font-size:14px;
  line-height:1.55
}
.source-reference strong {
  font-size:12px
}
.source-reference small {
  font-size:11px
}
.source-reference .icon {
  width:15px;
  height:15px
}
.sources-return {
  font-size:12px;
  min-height:44px
}
.sidebar-note {
  margin-top:18px;
  padding:22px
}
.sidebar-note p {
  font-size:24px
}
.related {
  margin-top:28px
}
.related .category-label {
  font-size:9px
}
.page-header {
  padding-block:31px 26px
}
.page-header h1 {
  font-size:clamp(39px,11vw,59px);
  line-height:1.08;
  margin-block:16px
}
.page-header>div>p:last-child {
  font-size:16px
}
.category-cover {
  min-height:220px
}
.category-cover>div:not(.category-cover-art) {
  max-width:100%
}
.category-cover-art {
  width:75%;
  max-width:340px;
  inset-block:auto 0;
  height:100px;
  opacity:.45
}
.category-cover-art img {
  max-width:258px;
  max-height:100px
}
.category-cover:after {
  background:linear-gradient(90deg,#101b19e6,transparent),linear-gradient(#101b1933,#101b19bb)
}
.category-cover .eyebrow {
  font-size:9px
}
.catalog-toolbar {
  display:block;
  padding-block:23px
}
.catalog-toolbar>div {
  margin-bottom:20px
}
.catalog-toolbar>div .muted {
  font-size:14px;
  max-width:400px
}
.catalog-toolbar .search-form {
  max-width:100%;
  width:100%
}
.search-form label {
  font-size:12px
}
.search-form input {
  font-size:14px;
  padding:12px;
  min-width:0
}
.search-form button {
  padding:10px 13px;
  font-size:11px
}
.search-form button span {
  font-size:11px
}
.search-form .small {
  font-size:11px
}
.filter-nav {
  gap:0 17px;
  padding-block:10px
}
.filter-nav a {
  font-size:10px;
  min-height:38px;
  letter-spacing:0
}
.filter-nav .dot {
  width:7px;
  height:7px;
  flex-basis:7px
}
.catalog-grid {
  grid-template-columns:1fr;
  gap:28px
}

.catalog-story-copy h2 {
  font-size:32px;
  line-height:1.1
}
.catalog-story-copy>p:not(.category-label) {
  font-size:15px;
  line-height:1.75
}
.catalog-story-copy .metadata {
  font-size:11px
}
.catalog-story-copy .category-label {
  font-size:10px
}
.catalog-read {
  font-size:12px
}
.catalog-feature {
  display:block;
  border:1px solid var(--rule);
  padding:0
}



.catalog-feature .image-index {
  inset-inline-start:13px;
  inset-block-end:10px;
  font-size:10px
}
.catalog-feature .catalog-story-copy {
  padding:23px 21px
}
.catalog-feature h2 {
  font-size:32px
}
.catalog-feature .catalog-story-copy>p:not(.category-label) {
  font-size:15px
}
.explore-next {
  display:block;
  margin-top:30px;
  padding-top:26px
}
.explore-next h2 {
  font-size:32px;
  margin-bottom:20px
}
.explore-next nav {
  grid-template-columns:1fr;
  gap:0
}
.explore-next nav a {
  font-size:14px;
  min-height:55px
}
.source-library {
  display:block
}
.source-card {
  gap:18px
}
.source-card .source-badge {
  width:64px;
  height:56px;
  flex-basis:64px
}
.source-card h2 {
  font-size:24px;
  line-height:1.2
}
.source-card .eyebrow {
  font-size:9px
}
.source-card .small {
  font-size:11px
}
.prose-page p, .method-page p:not(.eyebrow) {
  font-size:16px
}
.prose-page h2 {
  font-size:30px
}
.method-manifest {
  padding:23px
}
[dir=rtl] .article-hero h1 {
  font-size:clamp(32px,9vw,45px);
  line-height:1.45
}
[dir=rtl] .chapter h2 {
  font-size:29px;
  line-height:1.55
}
[dir=rtl] .chapter-copy {
  font-size:17px;
  line-height:2
}
[dir=rtl] .method-step {
  grid-template-columns:32px 15px 1fr 1.2fr
}
}
@media (max-width:359px) {
:root {
  --gutter:17px
}
.header-tools .icon-button, .header-tools summary {
  min-width:38px;
  padding:8px
}
.brand-core {
  font-size:32px
}
.brand-les {
  font-size:18px
}
.method-step {
  grid-template-columns:28px 14px .85fr 1.15fr;
  gap:8px
}
.method-step h3 {
  font-size:9px
}
.method-step p {
  font-size:11px
}
.method-glyph .icon {
  width:27px;
  height:27px
}
.article-hero h1 {
  font-size:37px
}
.chapter h2 {
  font-size:29px
}
.chapter-copy {
  font-size:16px
}
.catalog-feature .catalog-story-copy {
  padding:20px 17px
}
.catalog-feature h2 {
  font-size:30px
}
.source-reference {
  gap:11px;
  grid-template-columns:45px minmax(0,1fr) 12px
}
.source-reference .source-badge {
  width:45px;
  height:43px
}
.footer-signature {
  font-size:12px;
  max-width:175px
}
}
@media (prefers-reduced-motion:no-preference) {
.chapter-nav .icon {
  transition:transform .2s,opacity .2s
}
.chapter-index .ghost-glyph {
  transition:transform .45s ease
}
.chapter:not(.is-visible) .ghost-glyph {
  transform:translateY(6px) rotate(-6deg)
}
.chapter.is-visible .ghost-glyph {
  transform:none
}
.method-step:hover .method-glyph {
  transform:translateY(-3px)
}
}
@media (prefers-reduced-motion:reduce) {
html {
  scroll-behavior:auto
}
*, *::before, *::after {
  animation:none!important;
  transition:none!important;
  scroll-behavior:auto!important
}
}
@media print {
.sidebar-inner {
  position:static;
  max-height:none;
  overflow:visible;
  display:block
}
.chapter {
  display:block
}
.chapter-index {
  display:none
}
.article-layout {
  display:block
}
.source-sidebar {
  padding:20px 0
}
.chapter h2 {
  font-size:22pt
}
.chapter-copy {
  font-size:11pt
}
.article-end {
  padding:20px 0
}
.take-note {
  border:1px solid #aaa;
  background:#fff
}
.sources-return, .article-source-jump {
  display:none
}
}
/* Preserve the new artwork at a reasonable display scale instead of stretching a crop vertically. *//* Final composition corrections after visual review. */.category-cover {
  width:100%;
  max-width:none;
  margin-inline:0
}
.category-cover-art img {
  mask-image:linear-gradient(90deg,transparent,#000 25%,#000 85%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 25%,#000 85%,transparent)
}
.article-layout {
  max-width:1290px;
  margin-inline:auto;
  padding-inline:40px;
  grid-template-columns:minmax(0,1fr) 280px
}
.chapter {
  grid-template-columns:65px minmax(0,1fr);
  gap:19px;
  padding-block:36px
}
.chapter h2 {
  font-size:39px;
  max-width:710px;
  margin-bottom:20px
}
.chapter-copy {
  max-width:none;
  line-height:1.75
}
.chapter-copy>p+p {
  margin-top:16px
}
.take-note {
  margin-top:20px;
  padding-block:15px
}
.article-end {
  padding-inline-start:84px
}
.sidebar-inner {
  overflow:visible;
  max-height:none
}
.catalog-feature {
  grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr)
}


.catalog-feature .image-index {
  font:400 51px/1 var(--serif);
  opacity:.18;
  inset-block-start:17px;
  inset-block-end:auto;
  inset-inline-start:20px
}
@media (max-width:1199px) {
.article-layout {
  padding-inline:var(--gutter);
  grid-template-columns:minmax(0,1fr) 245px
}
.chapter {
  grid-template-columns:43px minmax(0,1fr);
  gap:16px
}
.chapter h2 {
  font-size:33px
}
.article-end {
  padding-inline-start:59px
}
.source-panel {
  padding-inline:12px
}
}
@media (max-width:899px) {
.article-layout {
  grid-template-columns:1fr
}
.chapter {
  grid-template-columns:56px minmax(0,1fr);
  gap:21px
}
.chapter h2 {
  font-size:37px
}
.article-end {
  padding-inline-start:77px
}
.sidebar-inner {
  position:static
}
.catalog-feature {
  grid-template-columns:.9fr 1.1fr
}
}
@media (max-width:599px) {
.article-layout {
  padding-inline:var(--gutter)
}
.chapter {
  display:block;
  padding-block:29px
}
.chapter h2 {
  font-size:31px;
  line-height:1.15
}
.chapter-copy {
  font-size:16px;
  line-height:1.85
}
.article-end {
  padding-inline-start:0
}
.catalog-feature {
  display:block
}
.catalog-feature .image-index {
  font-size:37px;
  top:11px;
  left:12px
}
.category-cover-art img {
  max-width:258px
}
[dir=rtl] .chapter h2 {
  font-size:29px
}
}
/* Regression: intrinsic figure ratio must not widen a tablet grid track. */.article-hero figure {
  width:100%;
  min-width:0;
  aspect-ratio:auto
}
@media (max-width:599px) {
.article-hero figure {
  aspect-ratio:1.65
}
.chapter-nav a>span {
  font-size:8px
}
.header-tools .icon-button, .header-tools summary {
  min-width:44px
}
}

/* 1.6.8 About + Journal: long-form narrative pages with a native editorial rhythm. */
.page-header-manifest {
  max-width:1180px;
  padding-bottom:48px
}
.page-header-manifest h1 {
  max-width:980px;
  text-wrap:pretty
}
.page-header-manifest>p:last-child {
  max-width:790px;
  font-size:18px;
  color:var(--ink)
}
.about-page, .journal-page {
  padding:0 var(--gutter) 84px
}
.about-origin, .about-method-block, .about-universe-block, .about-principles-block, .about-closing, .journal-timeline {
  max-width:1180px;
  margin-inline:0
}
.about-origin {
  display:grid;
  grid-template-columns:minmax(210px,.36fr) minmax(0,1fr);
  border-top:1px solid var(--rule)
}
.about-mark {
  position:sticky;
  top:calc(var(--header-h) + 28px);
  align-self:start;
  height:320px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-inline-end:1px solid var(--rule)
}
.about-mark span {
  position:absolute;
  width:clamp(112px,11vw,170px);
  height:clamp(112px,11vw,170px);
  display:grid;
  place-items:center;
  border:1px solid var(--rule);
  border-radius:50%;
  font:400 clamp(54px,6vw,86px)/1 var(--serif);
  color:var(--ink);
  background:color-mix(in srgb,var(--bg) 88%,transparent)
}
.about-mark span:nth-child(1) { transform:translate(-38px,-18px); opacity:.95 }
.about-mark span:nth-child(2) { transform:translate(-19px,-9px); opacity:.78 }
.about-mark span:nth-child(3) { transform:translate(0,0); opacity:.62 }
.about-mark span:nth-child(4) { transform:translate(19px,9px); opacity:.46 }
.about-mark span:nth-child(5) { transform:translate(38px,18px); opacity:.3 }
.about-narrative {
  min-width:0
}
.about-chapter {
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:28px;
  padding:44px 0 46px 44px;
  border-bottom:1px solid var(--rule)
}
.about-chapter-index {
  padding-top:5px;
  font-size:11px;
  letter-spacing:.16em;
  color:var(--muted)
}
.about-chapter h2, .about-section-heading h2, .about-closing h2, .journal-copy h2 {
  letter-spacing:-.035em;
  text-wrap:pretty
}
.about-chapter h2 {
  font-size:clamp(2rem,3.5vw,3.45rem);
  max-width:840px;
  margin-bottom:24px
}
.about-chapter p {
  max-width:760px;
  font-size:16px;
  line-height:1.9;
  color:var(--muted)
}
.about-chapter p+p {
  color:var(--ink)
}
.about-story-flow {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:44px;
  border-block:1px solid var(--rule)
}
.about-story-flow article {
  position:relative;
  min-height:230px;
  padding:30px 34px 34px 0
}
.about-story-flow article+article {
  padding-inline-start:34px;
  border-inline-start:1px solid var(--rule)
}
.about-story-flow article:not(:last-child):after {
  content:"→";
  position:absolute;
  inset-inline-end:-17px;
  inset-block-start:31px;
  z-index:2;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid var(--rule);
  border-radius:50%;
  background:var(--bg);
  color:var(--muted)
}
[dir=rtl] .about-story-flow article:not(:last-child):after { content:"←" }
.about-flow-number, .method-number, .principle-index {
  display:block;
  font-size:10px;
  letter-spacing:.16em;
  color:var(--muted)
}
.about-story-flow h2 {
  margin:28px 0 14px;
  font-size:clamp(1.75rem,2.3vw,2.45rem)
}
.about-story-flow p {
  font-size:14px;
  line-height:1.75;
  color:var(--muted)
}
.about-method-block, .about-universe-block, .about-principles-block {
  margin-top:76px;
  padding-top:44px;
  border-top:1px solid var(--rule)
}
.about-section-heading {
  display:grid;
  grid-template-columns:minmax(120px,.28fr) minmax(0,1.05fr) minmax(280px,.7fr);
  gap:36px;
  align-items:start;
  margin-bottom:34px
}
.about-section-heading h2 {
  font-size:clamp(2.2rem,4vw,4rem)
}
.about-section-heading>p:last-child {
  color:var(--muted);
  font-size:15px;
  line-height:1.8
}
.about-method-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border:1px solid var(--rule)
}
.method-card {
  position:relative;
  min-height:330px;
  padding:24px 20px 26px;
  overflow:hidden;
  border-inline-end:1px solid var(--rule)
}
.method-card:last-child { border-inline-end:0 }
.method-card:before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:var(--method-accent,#f1eee6)
}
.method-card:nth-child(1) { --method-accent:#ff7950 }
.method-card:nth-child(2) { --method-accent:#66bdff }
.method-card:nth-child(3) { --method-accent:#f4cd58 }
.method-card:nth-child(4) { --method-accent:#ed9ce0 }
.method-card:nth-child(5) { --method-accent:#72d18b }
.method-c {
  display:block;
  margin:30px 0 8px;
  font:400 86px/.8 var(--serif);
  color:var(--method-accent);
  opacity:.8
}
.method-card h3 {
  font-size:1.65rem;
  margin-bottom:16px
}
.method-card p {
  color:var(--muted);
  font-size:13px;
  line-height:1.75
}
.about-universe-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-block:1px solid var(--rule)
}
.about-universe-card {
  position:relative;
  min-height:250px;
  padding:28px 23px 30px;
  border-inline-end:1px solid var(--rule)
}
.about-universe-card:last-child { border-inline-end:0 }
.about-universe-card:after {
  content:"";
  position:absolute;
  inset-inline:23px;
  inset-block-end:0;
  height:3px;
  background:var(--accent)
}
.about-universe-card .dot { margin-bottom:38px }
.about-universe-card h3 {
  font-size:1.55rem;
  margin-bottom:15px
}
.about-universe-card p {
  color:var(--muted);
  font-size:13px;
  line-height:1.75
}
.about-principles-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px
}
.about-principles-grid article {
  min-height:260px;
  padding:26px;
  border:1px solid var(--rule);
  background:linear-gradient(150deg,color-mix(in srgb,var(--raised) 72%,transparent),transparent 68%)
}
.about-principles-grid h3 {
  margin:32px 0 16px;
  font-size:1.7rem;
  line-height:1.15
}
.about-principles-grid p {
  color:var(--muted);
  font-size:14px;
  line-height:1.8
}
.about-closing {
  position:relative;
  display:grid;
  grid-template-columns:minmax(180px,.3fr) minmax(0,1fr);
  gap:44px;
  margin-top:76px;
  padding:46px 0 54px;
  border-block:1px solid var(--rule);
  overflow:hidden
}
.about-closing-sign {
  font:400 clamp(88px,12vw,168px)/.8 var(--serif);
  letter-spacing:-.08em;
  color:var(--ink);
  opacity:.12;
  direction:ltr
}
.about-closing h2 {
  max-width:760px;
  font-size:clamp(2.2rem,4vw,4.2rem);
  margin-bottom:22px
}
.about-closing p {
  max-width:760px;
  font-size:16px;
  line-height:1.9;
  color:var(--muted)
}
.journal-page {
  max-width:1180px
}
.journal-axis {
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:22px;
  color:var(--muted);
  font-size:10px;
  letter-spacing:.14em
}
.journal-axis i {
  height:1px;
  flex:1;
  background:var(--rule)
}
.journal-timeline {
  position:relative
}
.journal-timeline:before {
  content:"";
  position:absolute;
  inset-block:0;
  inset-inline-start:210px;
  width:1px;
  background:var(--rule)
}
.journal-entry {
  display:grid;
  grid-template-columns:176px 68px minmax(0,1fr);
  min-height:230px;
  border-top:1px solid var(--rule)
}
.journal-entry:last-child { border-bottom:1px solid var(--rule) }
.journal-meta {
  padding:36px 22px 34px 0;
  display:flex;
  flex-direction:column;
  gap:8px
}
.journal-date {
  font-size:11px;
  line-height:1.5;
  color:var(--muted)
}
.journal-version {
  font:400 27px/1 var(--serif);
  color:var(--ink)
}
.journal-node {
  position:relative;
  display:grid;
  place-items:start center;
  padding-top:31px
}
.journal-node:before {
  content:"";
  width:15px;
  height:15px;
  border:1px solid var(--ink);
  border-radius:50%;
  background:var(--bg);
  z-index:1
}
.journal-node span {
  position:absolute;
  top:58px;
  font-size:9px;
  letter-spacing:.12em;
  color:var(--muted)
}
.journal-copy {
  padding:34px 0 42px 28px;
  max-width:780px
}
.journal-copy h2 {
  font-size:clamp(2rem,3.3vw,3.25rem);
  margin-bottom:22px
}
.journal-copy p {
  color:var(--muted);
  font-size:15px;
  line-height:1.9
}
.journal-entry:last-child .journal-node:before {
  background:var(--ink);
  box-shadow:0 0 0 7px color-mix(in srgb,var(--ink) 10%,transparent)
}
[dir=rtl] .journal-timeline:before { inset-inline-start:210px }
[dir=rtl] .journal-meta { padding-inline:22px 0 }
[dir=rtl] .journal-copy { padding-inline:28px 0 }
[dir=rtl] .about-chapter { padding-inline:44px 0 }

@media (max-width:1050px) {
  .about-section-heading { grid-template-columns:120px minmax(0,1fr) }
  .about-section-heading>p:last-child { grid-column:2 }
  .about-method-grid, .about-universe-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .method-card, .about-universe-card { border-bottom:1px solid var(--rule) }
  .method-card:nth-child(even), .about-universe-card:nth-child(even) { border-inline-end:0 }
  .method-card:last-child, .about-universe-card:last-child { grid-column:1 / -1 }
}
@media (max-width:760px) {
  .page-header-manifest>p:last-child { font-size:16px }
  .about-page, .journal-page { padding-bottom:60px }
  .about-origin { display:block }
  .about-mark { position:relative; top:auto; height:170px; border-inline-end:0; border-bottom:1px solid var(--rule) }
  .about-mark span { width:104px; height:104px; font-size:50px }
  .about-chapter { grid-template-columns:36px minmax(0,1fr); gap:15px; padding:30px 0 }
  [dir=rtl] .about-chapter { padding-inline:0 }
  .about-chapter h2 { font-size:30px; line-height:1.12; margin-bottom:18px }
  .about-chapter p { font-size:16px; line-height:1.85 }
  .about-story-flow { display:block; margin-top:32px }
  .about-story-flow article { min-height:0; padding:26px 0 28px }
  .about-story-flow article+article { padding-inline-start:0; border-inline-start:0; border-top:1px solid var(--rule) }
  .about-story-flow article:not(:last-child):after { inset-inline-end:0; inset-block-end:-17px; inset-block-start:auto; transform:rotate(90deg) }
  [dir=rtl] .about-story-flow article:not(:last-child):after { transform:rotate(-90deg) }
  .about-method-block, .about-universe-block, .about-principles-block { margin-top:52px; padding-top:30px }
  .about-section-heading { display:block; margin-bottom:24px }
  .about-section-heading .eyebrow { margin-bottom:13px }
  .about-section-heading h2 { font-size:33px; line-height:1.1; margin-bottom:16px }
  .about-section-heading>p:last-child { font-size:15px }
  .about-method-grid, .about-universe-grid, .about-principles-grid { display:block }
  .method-card, .about-universe-card { min-height:0; border-inline-end:0; border-bottom:1px solid var(--rule); padding:24px 20px 27px }
  .method-card:last-child, .about-universe-card:last-child { border-bottom:0 }
  .method-c { font-size:64px; margin:22px 0 4px }
  .about-universe-card .dot { margin-bottom:24px }
  .about-principles-grid article { min-height:0; margin-bottom:12px }
  .about-closing { display:block; margin-top:52px; padding:34px 0 40px }
  .about-closing-sign { font-size:92px; margin-bottom:26px }
  .about-closing h2 { font-size:34px; line-height:1.1 }
  .journal-axis { margin-bottom:8px }
  .journal-timeline:before { inset-inline-start:16px }
  [dir=rtl] .journal-timeline:before { inset-inline-start:16px }
  .journal-entry { display:grid; grid-template-columns:34px minmax(0,1fr); min-height:0; padding:0 }
  .journal-meta { grid-column:2; grid-row:1; padding:28px 0 0; flex-direction:row; flex-wrap:wrap; gap:8px 15px; align-items:baseline }
  [dir=rtl] .journal-meta { padding-inline:0 }
  .journal-version { font-size:20px }
  .journal-node { grid-column:1; grid-row:1 / span 2; padding-top:33px; justify-items:start }
  .journal-node span { display:none }
  .journal-copy { grid-column:2; grid-row:2; padding:14px 0 34px 18px }
  [dir=rtl] .journal-copy { padding-inline:18px 0 }
  .journal-copy h2 { font-size:29px; line-height:1.12; margin-bottom:17px }
  .journal-copy p { font-size:16px; line-height:1.85 }
}


/* 1.6.11 static page visuals and icons */
.page-header.has-page-visual,
.page-header.category-cover{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center}
.page-header.has-page-visual>div:not(.page-cover-art),
.page-header.category-cover>div:not(.category-cover-art){min-width:0}
.page-cover-art{border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;background:radial-gradient(circle at top left,rgba(75,141,244,.16),transparent 45%),#081018;box-shadow:0 24px 50px rgba(0,0,0,.34)}
.page-cover-art img{display:block;width:100%;height:auto;aspect-ratio:1200 / 630;object-fit:cover}
@media (min-width: 900px){.page-header.has-page-visual,.page-header.category-cover{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)}.page-cover-art,.category-cover-art{order:2}.page-header.has-page-visual>div:not(.page-cover-art),.page-header.category-cover>div:not(.category-cover-art){order:1}}
/* Les5C 1.6.13: release asset closure fix, forces fresh main stylesheet URL. */

/* Les5C 1.6.14: scoped public-page refinement. */
.home-return{border-top:1px solid var(--rule);padding:clamp(34px,5vw,72px) var(--gutter);background:var(--bg)}
.home-return>div{max-width:760px}
.home-return .eyebrow{margin:0 0 16px;letter-spacing:.15em}
.home-return h2{font:normal clamp(32px,4.4vw,58px)/1.04 var(--serif);max-width:700px;margin:0 0 18px}
.home-return p:not(.eyebrow){max-width:610px;color:var(--muted);font-size:16px;line-height:1.75;margin:0}
.home-return .round-link{margin-top:24px}

.method-deep{padding:0 var(--gutter) clamp(56px,7vw,96px)}
.method-deep-heading{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:36px;border-top:1px solid var(--rule);padding:36px 0}
.method-deep-heading h2{font:normal clamp(28px,3.7vw,48px)/1.12 var(--serif);margin:0;max-width:900px}
.method-foundations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.method-foundations article{padding:28px 28px 32px 0;border-inline-end:1px solid var(--rule)}
.method-foundations article+article{padding-inline-start:28px}
.method-foundations article:last-child{border-inline-end:0}
.method-foundations h3{font:normal 28px/1.15 var(--serif);margin-bottom:14px}
.method-foundations p{color:var(--muted);font-size:14px;line-height:1.75}
.method-angle-details{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--rule)}
.method-angle-details article{padding:30px 20px;min-width:0;border-inline-end:1px solid var(--rule)}
.method-angle-details article:last-child{border-inline-end:0}
.method-angle-head{display:flex;gap:12px;align-items:baseline;margin-bottom:24px}
.method-angle-head>span{font-size:11px;color:var(--muted);letter-spacing:.12em}
.method-angle-head h3{font:normal 24px/1.08 var(--serif)}
.method-angle-details dl,.method-angle-details dd{margin:0}
.method-angle-details dl>div+div{margin-top:22px}
.method-angle-details dt{font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}
.method-angle-details dd{font-size:13px;line-height:1.68;color:var(--muted)}
.method-deep>.method-manifest{margin-top:32px;max-width:860px}

.sources-header .sources-cover-art{min-height:280px;align-self:stretch;background:#081018}
.sources-header .sources-cover-art img{width:100%;height:100%;min-height:280px;object-fit:cover;opacity:1}
.sources-guide{margin-bottom:46px;border-top:1px solid var(--rule)}
.sources-guide>header{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,.7fr) minmax(0,1fr);gap:28px;padding:32px 0}
.sources-guide>header h2{font:normal clamp(30px,3.2vw,46px)/1.1 var(--serif);margin:0}
.sources-guide>header>p:last-child{color:var(--muted);font-size:14px;line-height:1.75;margin:0}
.sources-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.sources-guide-grid article{padding:28px 22px;border-inline-end:1px solid var(--rule)}
.sources-guide-grid article:first-child{padding-inline-start:0}
.sources-guide-grid article:last-child{border-inline-end:0}
.sources-guide-grid article>span{font-size:11px;letter-spacing:.12em;color:var(--muted)}
.sources-guide-grid h3{font:normal 24px/1.12 var(--serif);margin:12px 0 14px}
.sources-guide-grid p{font-size:13px;line-height:1.72;color:var(--muted)}

.follow-hub{padding:0 var(--gutter) clamp(56px,7vw,96px)}
.follow-intro-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.follow-intro-grid article{padding:30px 24px;border-inline-end:1px solid var(--rule)}
.follow-intro-grid article:first-child{padding-inline-start:0}
.follow-intro-grid article:last-child{border-inline-end:0}
.follow-intro-grid article>span{font-size:11px;color:var(--muted);letter-spacing:.12em}
.follow-intro-grid h2{font:normal 25px/1.1 var(--serif);margin:13px 0}
.follow-intro-grid p{font-size:13px;line-height:1.72;color:var(--muted)}
.follow-feed-card{margin-top:38px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:44px;padding:34px;border:1px solid var(--rule);background:var(--panel)}
.follow-feed-card h2{font:normal clamp(32px,3.5vw,50px)/1.08 var(--serif);margin:12px 0}
.follow-feed-card>div>p:not(.eyebrow){color:var(--muted);line-height:1.7}
.feed-copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
.feed-copy-row input{min-width:0}
.feed-copy-row button{margin-top:0;white-space:nowrap}
.feed-language-section,.follow-steps{margin-top:42px;border-top:1px solid var(--rule);padding-top:30px}
.feed-language-section>header,.follow-steps>header{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}
.feed-language-section h2,.follow-steps h2{font:normal clamp(28px,3vw,42px)/1.1 var(--serif)}
.feed-language-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--rule)}
.feed-language-grid a{display:grid;gap:7px;padding:22px;min-width:0;border-inline-end:1px solid var(--rule);text-decoration:none}
.feed-language-grid a:last-child{border-inline-end:0}
.feed-language-grid strong{font-size:16px}
.feed-language-grid span{font-size:11px;color:var(--muted)}
.feed-language-grid small{font-size:10px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
.feed-language-grid .icon{width:20px;height:20px;margin-top:8px}
.follow-steps>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule)}
.follow-steps article{padding:26px 24px;border-inline-end:1px solid var(--rule)}
.follow-steps article:first-child{padding-inline-start:0}
.follow-steps article:last-child{border-inline-end:0}
.follow-steps article>span{font-size:11px;color:var(--muted)}
.follow-steps h3{font:normal 26px/1.1 var(--serif);margin:12px 0}
.follow-steps p{font-size:13px;line-height:1.7;color:var(--muted)}

.contact-workflow{list-style:none;padding:0;margin:24px 0 0}
.contact-workflow li{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--rule)}
.contact-workflow li>span{font-size:11px;letter-spacing:.12em;color:var(--muted)}
.contact-workflow li p{margin:0;font-size:13px;line-height:1.65}

@media(max-width:980px){
  .method-angle-details{grid-template-columns:repeat(2,minmax(0,1fr))}
  .method-angle-details article{border-bottom:1px solid var(--rule)}
  .sources-guide-grid,.follow-intro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feed-language-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .follow-feed-card{grid-template-columns:1fr}
}
@media(max-width:700px){
  .home-return{padding-block:32px}
  .method-deep-heading,.sources-guide>header{grid-template-columns:1fr;gap:14px}
  .method-foundations,.method-angle-details,.sources-guide-grid,.follow-intro-grid,.feed-language-grid,.follow-steps>div{grid-template-columns:1fr}
  .method-foundations article,.method-foundations article+article,.method-angle-details article,.sources-guide-grid article,.sources-guide-grid article:first-child,.follow-intro-grid article,.follow-intro-grid article:first-child,.feed-language-grid a,.follow-steps article,.follow-steps article:first-child{padding:24px 0;border-inline-end:0;border-bottom:1px solid var(--rule)}
  .method-foundations article:last-child,.sources-guide-grid article:last-child,.follow-intro-grid article:last-child,.feed-language-grid a:last-child,.follow-steps article:last-child{border-bottom:0}
  .follow-feed-card{padding:24px 18px}
  .feed-copy-row{grid-template-columns:1fr}
  .feed-copy-row button{width:100%}
  .sources-header .sources-cover-art,.sources-header .sources-cover-art img{min-height:190px}
}


/* Les5C 1.6.16: headline continuity and page visual refinement. */
.page-header h1,
.home-return h2,
.follow-intro-grid h2,
.about-section-heading h2,
.about-closing h2,
.method-deep-heading h2,
.chapter h2,
.journal-copy h2 {
  text-wrap: pretty;
}
.page-header > div,
.home-return > div {
  min-width: 0;
}
.home-return > div {
  max-width: 980px;
}
.home-return h2 {
  max-width: 980px;
}
.home-return p:not(.eyebrow) {
  max-width: 820px;
}
.page-header.has-page-visual,
.page-header.category-cover {
  gap: clamp(28px, 4vw, 56px);
}
.page-header.has-page-visual > div:not(.page-cover-art),
.page-header.category-cover > div:not(.category-cover-art) {
  max-width: none;
}
.page-header.has-page-visual h1,
.page-header.category-cover h1 {
  max-width: 16ch;
}
.page-header.has-page-visual > div > p:last-child,
.page-header.category-cover > div > p:last-child {
  max-width: 68ch;
}
.page-cover-art,
.category-cover-art {
  border-radius: 24px;
  overflow: hidden;
  background: radial-gradient(circle at top left, rgba(75,141,244,.18), transparent 42%), #081018;
  box-shadow: 0 28px 54px rgba(0,0,0,.36);
}
.category-cover-art img,
.page-cover-art img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
@media (min-width: 900px) {
  .page-header.has-page-visual,
  .page-header.category-cover {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  }
  .page-header.has-page-visual h1,
  .page-header.category-cover h1 {
    max-width: none;
  }
  .page-cover-art,
  .category-cover-art {
    width: min(100%, 400px);
    max-width: none;
    justify-self: end;
  }
  .category-cover-art {
    inset: auto;
    height: auto;
    opacity: .92;
  }
  .category-cover-art img {
    max-width: none;
    max-height: none;
    min-height: 240px;
    aspect-ratio: 1200 / 630;
  }
  .page-cover-art img {
    min-height: 240px;
  }
}
@media (min-width: 1200px) {
  .home-return > div {
    max-width: 1080px;
  }
  .home-return h2,
  .home-return p:not(.eyebrow) {
    max-width: none;
  }
}
