/* Bodoni 72 is local-only. No font file is embedded or redistributed. */
@font-face { font-family: "Bodoni 72 Local"; src: local("Bodoni 72 Book"), local("BodoniSvtyTwoITCTT-Book"); font-weight: 400; font-style: normal; font-display: swap; }
/* Feijoa Display is served from assets.llmsecession.org (cross-origin: the host must send CORS headers). */
@font-face { font-family: "Feijoa Display"; src: url("https://assets.llmsecession.org/feijoa-display.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
:root {
  --paper:#f7f4ed; --ink:#151513; --plane:#d3cec4; --red:#b7432c; --red-light:#df8067;
  --muted:#595751; --on-dark:#d9d5ca; --rule:#b0aba1; --dark-rule:#727069;
  --display:"Bodoni 72 Local","Bodoni 72","Bodoni Moda","Libre Bodoni",Didot,Georgia,serif;
  --display-alt:"Feijoa Display",Georgia,"Times New Roman",serif;
  --serif-jp:"Hiragino Mincho ProN","Hiragino Mincho Pro","Yu Mincho",YuMincho,"Noto Serif CJK JP",serif;
  --sans:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,"Noto Sans CJK JP",sans-serif;
  --gutter:clamp(1.25rem,4vw,4.5rem); --content-width:90rem;
  color-scheme:light;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:1.5rem; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 1rem/1.85 var(--sans); }
[hidden] { display:none!important; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { color:inherit; cursor:pointer; }
button:disabled { cursor:default; }
button,a,summary { -webkit-tap-highlight-color:rgba(183,67,44,.15); }
:focus-visible { outline:3px solid var(--red); outline-offset:5px; box-shadow:0 0 0 4px var(--paper); }
.hero :focus-visible,.examples-section :focus-visible { outline-color:var(--paper); box-shadow:0 0 0 4px var(--red); }
::selection { background:var(--red); color:#fff; }
p,h1,h2,h3,figure { margin:0; }
svg { display:block; }
.sr-only { position:absolute!important; width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
.skip-link { position:fixed;z-index:100;left:1rem;top:1rem;background:var(--paper);color:var(--ink);padding:.75rem 1rem;transform:translateY(-200%);border:2px solid var(--red);font-weight:600; }
.skip-link:focus { transform:translateY(0); }
#main:focus { outline:none; }
.site-header { display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:5.25rem;padding:.75rem var(--gutter);border-bottom:1px solid var(--rule); }
.brand { display:inline-flex;align-items:center;gap:.875rem;min-height:2.75rem;font-size:.8125rem;letter-spacing:.12em;font-weight:700;white-space:nowrap; }
.brand-mark { width:2.5rem;height:2rem;flex:none;fill:currentColor; }
.site-nav { display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.5rem);font-size:.875rem;font-weight:600; }
.site-nav a { display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem; }
.site-nav a:hover { text-decoration:underline;text-underline-offset:.35em; }
.site-nav .nav-cta { border:1px solid var(--ink);padding:.5rem 1rem;gap:1.5rem; }
.hero { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,4vw,4.5rem);padding:clamp(3rem,5vw,5rem) var(--gutter) 3.5rem;background:var(--ink);color:var(--paper); }
.hero-copy { min-width:0;display:flex;flex-direction:column;justify-content:center; }
.eyebrow { font-family:var(--sans);font-size:.8125rem;line-height:1.6;font-weight:600;letter-spacing:.12em; }
.hero-kicker { color:var(--on-dark);margin-bottom:1.4rem; }
.hero h1 { font-family:var(--display);font-weight:400;font-synthesis:none;font-size:clamp(3.5rem,8.2vw,8.375rem);line-height:1.03;letter-spacing:-.035em;margin-left:-.03em; }
.hero h1 span { display:block; }
.hero-statement { font-family:var(--serif-jp);font-weight:600;font-size:clamp(1.45rem,2.05vw,2.2rem);line-height:1.75;letter-spacing:.015em;margin-top:1.9rem; }
.hero-statement span { display:block; }
.hero-description { color:var(--on-dark);font-size:1rem;line-height:1.9;margin-top:1.1rem; }
.hero-actions { display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:2rem; }
.button { min-height:3.25rem;display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.15rem;font-size:.9375rem;font-weight:600;gap:1.6rem;border:1px solid currentColor; }
.button-primary { background:var(--red);border-color:var(--red);color:#fff; }
.button-primary:hover { background:#9d3825;border-color:#fff; }
.text-link { display:inline-flex;align-items:center;gap:1rem;min-height:2.75rem;font-size:.9375rem;text-decoration:underline;text-underline-offset:.35em;text-decoration-thickness:1px; }
.hero-figure { min-width:0;display:flex;flex-direction:column;justify-content:center; }
.figure-toolbar { display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:3.25rem;border-top:1px solid var(--dark-rule);padding-top:.75rem;color:var(--on-dark); }
.toolbar-slash { margin:0 .6em; }
.motion-control { display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:none;border:1px solid var(--dark-rule);min-height:2.75rem;padding:.4rem .75rem;color:var(--paper);font-size:.8125rem;white-space:nowrap; }
.motion-control:hover { background:#32312d; }
.motion-icon { min-width:1em; }
.visual-stage { width:100%;height:clamp(22rem,33vw,34rem);position:relative;isolation:isolate;overflow:hidden; }
#hero-canvas { display:block;position:absolute;width:100%;height:100%;inset:0;opacity:0;pointer-events:none; }
.visual-stage[data-renderer="webgl"] #hero-canvas { opacity:1; }
.scene-fallback { position:absolute;inset:0;display:flex;align-items:center;justify-content:center; }
.visual-stage[data-renderer="webgl"] .scene-fallback { visibility:hidden; }
.fallback-mark { width:90%;height:90%; }
.fallback-mark .plane { fill:var(--paper); }
.fallback-mark .accent { fill:var(--red); }
.hero-figure figcaption { position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-top:1px solid var(--dark-rule);border-bottom:1px solid var(--dark-rule);padding:1rem 0;color:var(--on-dark); }
#scene-name { color:var(--paper);font-family:var(--display-alt);font-size:1.875rem;line-height:1.3; }
.scene-mode { font-family:var(--serif-jp);font-weight:500;font-size:.9375rem;line-height:1.7;text-align:right;max-width:24rem; }
.topic-index { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--rule);padding:0 var(--gutter); }
.topic-index-link { display:flex;align-items:center;gap:1rem;min-height:7rem;padding:.8rem 1.4rem;border-right:1px solid var(--rule);font-size:.9375rem;font-weight:600;line-height:1.4; }
.topic-index-link:first-child { padding-left:0; }
.topic-index-link:last-child { border-right:none;padding-right:0; }
.topic-index-link:hover { background:#ece8df;text-decoration:underline;text-underline-offset:.3em; }
.index-no { font-size:.75rem;color:var(--muted); }
.index-symbol { width:3.5rem;flex:none; }
.index-symbol .plane { fill:var(--ink); }
.index-symbol .accent { fill:var(--red); }
.index-arrow { margin-left:auto; }
.section { padding:6.5rem var(--gutter);max-width:var(--content-width);margin:auto; }
h2 { font-family:var(--serif-jp);font-size:clamp(2rem,3.2vw,3.5rem);font-weight:600;line-height:1.55;letter-spacing:.02em; }
.section-heading .eyebrow,.section-intro .eyebrow,.examples-inner .eyebrow { display:block;margin-bottom:1.5rem; }
.section-number { color:var(--red); }
.belief { display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,7vw,7rem); }
.belief-body { padding-top:.3rem; }
.belief-body>p { margin-bottom:1.25rem; }
.belief-thesis { font-family:var(--serif-jp);font-size:1.5rem;font-weight:600;line-height:1.7; }
summary { cursor:pointer;min-height:3rem;padding:.9rem .1rem; }
summary:hover { text-decoration:underline; }
.topics-section { border-top:1px solid var(--rule);padding-top:5rem; }
.section-intro { display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,7vw,7rem);align-items:end;margin-bottom:3.5rem; }
.section-intro>p { max-width:38rem; }
.topics-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--rule); }
.topic { padding:2.5rem 3rem 2.5rem 0;min-width:0;border-bottom:1px solid var(--rule);scroll-margin-top:2rem; }
.topic:nth-child(2n) { border-left:1px solid var(--rule);padding-left:3rem;padding-right:0; }
.topic-top { display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem; }
.topic-top .eyebrow { color:var(--muted); }
.topic-symbol { display:block;width:7.5rem;height:5.5rem; }
.topic-symbol svg { width:100%;height:100%; }
.topic-symbol .plane { fill:var(--ink); }
.topic-symbol .accent { fill:var(--red); }
.topic h3 { font-family:var(--display-alt);font-size:clamp(2.5rem,3.5vw,3.75rem);font-weight:400;line-height:1.25;letter-spacing:-.025em;overflow-wrap:normal; }
.topic-question { font-family:var(--serif-jp);font-weight:600;font-size:1.25rem;line-height:1.8;margin:1rem 0; }
.topic-body { max-width:37rem;color:var(--muted); }
.topic-tags { color:var(--red);font-size:.875rem;font-weight:500;margin-top:1.5rem; }
.tag-separator { padding:0 .4em; }
.examples-section { background:var(--ink);color:var(--paper); }
.examples-inner { display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,7vw,7rem); }
.examples-description { margin-top:1.75rem;max-width:30rem;color:var(--on-dark); }
.examples-note { margin-top:1.5rem;font-size:.875rem;color:var(--on-dark); }
.proposal-list { list-style:none;margin:0;padding:0;border-top:1px solid var(--dark-rule); }
.proposal-list li { padding:1.25rem 0;border-bottom:1px solid var(--dark-rule); }
.proposal-list .eyebrow { color:var(--red-light);margin-bottom:.45rem;font-size:.75rem; }
.proposal-list p { font-size:1.125rem;line-height:1.8;font-weight:500; }
.cfp-grid { display:grid;grid-template-columns:1fr 1fr;gap:4rem;border-top:1px solid var(--rule);padding:2.5rem 0; }
.cfp-grid h3,.publication-status h3 { font-size:1.1875rem;font-weight:700;margin-bottom:1rem; }
.cfp-grid p { margin-bottom:1rem; }
.submission-list { margin:.25rem 0 0;padding-left:1.5rem; }
.submission-list li { padding:.3rem 0; }
.publication-status { display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:2rem;border:1px solid var(--rule);background:#ece8df; }
.publication-status h3 { margin-bottom:.4rem; }
.publication-status p { font-size:.9375rem; }
.status-label { border:1px solid var(--muted);padding:.25rem .875rem;white-space:nowrap;font-size:.875rem; }
.site-footer { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem 2rem;padding:2.5rem var(--gutter);border-top:1px solid var(--rule); }
.footer-brand { display:flex;align-items:center;gap:.85rem;min-height:2.75rem;font-family:var(--display-alt);font-size:1.75rem; }
.site-footer p { font-size:.9375rem;color:var(--muted); }
@media(min-width:1700px) { .hero { padding-inline:max(var(--gutter),calc((100vw - 84rem)/2)); } }
@media(max-width:1150px) { .index-no { display:none; }.topic-index-link{gap:.5rem;padding-inline:1rem;}.index-symbol{width:2.75rem;}.index-arrow{display:none;}.hero-actions{gap:.8rem;}.button{gap:1rem;} }
@media(max-width:900px) { .hero{gap:2rem;}.hero h1{font-size:clamp(3.5rem,8.5vw,5.5rem);}.hero-statement{font-size:1.45rem;}.visual-stage{height:22rem;}.figure-toolbar{flex-wrap:wrap;}.topic-index{grid-template-columns:repeat(2,minmax(0,1fr));}.topic-index-link{border-bottom:1px solid var(--rule);min-height:5.5rem;}.topic-index-link:nth-child(2){border-right:none;}.topic-index-link:nth-child(3){padding-left:0;border-bottom:none;}.topic-index-link:nth-child(4){border-bottom:none;}.index-no{display:inline;}.index-arrow{display:block;}.section{padding-block:4.5rem;}.topic{padding-right:2rem;}.topic:nth-child(2n){padding-left:2rem;}.topic h3{font-size:2.5rem;} }
@media(max-width:720px) { .site-header{align-items:center;flex-wrap:wrap;gap:.5rem;min-height:4.5rem;}.site-nav{gap:1rem;font-size:.8125rem;}.site-nav a{min-height:2.75rem;}.site-nav .nav-cta{padding:.4rem .6rem;gap:.75rem;}.hero{grid-template-columns:1fr;padding-top:2.5rem;padding-bottom:2rem;gap:2.75rem;}.hero h1{font-size:clamp(3.5rem,15.5vw,6.5rem);line-height:1.02;}.hero h1 span:first-child{font-size:1.1em;}.hero-statement{font-size:clamp(1.3rem,5.6vw,1.875rem);line-height:1.75;margin-top:1.5rem;}.hero-description{font-size:1rem;}.hero-actions{margin-top:1.5rem;gap:1rem;}.visual-stage{height:clamp(17rem,75vw,29rem);}.figure-toolbar{flex-wrap:nowrap;}.hero-figure figcaption{padding:.75rem 0;}.hero-kicker{font-size:.75rem;}.topic-index-link{font-size:.875rem;gap:.6rem;padding-right:.65rem;}.topic-index-link:nth-child(2n){padding-left:.65rem;}.index-symbol{width:2.5rem;}.index-no{display:none;}.index-arrow{display:none;}.belief,.section-intro,.examples-inner,.cfp-grid{grid-template-columns:1fr;gap:2rem;}.section{padding-block:3.5rem;}.section-intro{margin-bottom:2rem;}.topics-grid{grid-template-columns:1fr;}.topic,.topic:nth-child(2n){padding:2rem 0;border-left:0;}.topic h3{font-size:2.625rem;}.topic-top{margin-bottom:.5rem;}.cfp-grid{gap:2rem;}.publication-status{flex-direction:column;align-items:flex-start;padding:1.25rem;}.site-footer{align-items:flex-start;flex-direction:column;}.site-footer .text-link{margin-top:.5rem;} }
@media(max-width:370px) { .site-nav { width:100%;justify-content:space-between; }.hero h1{font-size:3.45rem;}.hero-statement{font-size:1.25rem;}.figure-toolbar .eyebrow{font-size:.75rem;}.motion-control{padding:.35rem .55rem;font-size:.75rem;}.topic-index-link{font-size:.8125rem;}.index-symbol{width:2.125rem;} }
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto;}*,*::before,*::after{animation:none!important;transition:none!important;} }
@media(forced-colors:active) { .button,.motion-control{border:1px solid ButtonText;}#hero-canvas{display:none;}.scene-fallback{visibility:visible!important;}.fallback-mark .plane,.topic-symbol .plane,.index-symbol .plane{fill:CanvasText;}.fallback-mark .accent,.topic-symbol .accent,.index-symbol .accent{fill:LinkText;} }
@media print { .site-header,.hero-actions,.motion-control,.topic-index,.skip-link{display:none!important;}.hero{background:white;color:black;}.hero-description,.hero-kicker{color:#333;}#hero-canvas{display:none;}.scene-fallback{visibility:visible!important;}.fallback-mark .plane{fill:#111;}.hero{break-inside:avoid;}.section{padding-block:2rem;}.topic{break-inside:avoid;} .examples-section{background:white;color:black;}.examples-description,.examples-note{color:#333;} }
/* Text-size changes must reflow controls instead of making the page wider. */
.topic-index-link { flex-wrap:wrap; }
.topic-index-link>span:not(.index-symbol) { min-width:0;overflow-wrap:anywhere; }
