:root {
  --bg: #060609;
  --surface: #101014;
  --surface-2: #16161d;
  --text: #f7f6f2;
  --muted: #a4a2ab;
  --dim: #66636f;
  --line: rgba(255,255,255,.12);
  --coral: #ff5b45;
  --violet: #8c6cff;
  --cyan: #45d6df;
  --lime: #d8ff5f;
  --font: 'Inter','Noto Sans JP',system-ui,sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--bg); font-family: var(--font); -webkit-font-smoothing: antialiased; }
button, a { font: inherit; }
button { color: inherit; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 999; padding: .8rem 1rem; background: #fff; color: #000; }
.skip-link:focus { top: 1rem; }

.site-header { position: sticky; top: 0; z-index: 100; height: 70px; padding: 0 clamp(1.25rem,4vw,4rem); display: flex; align-items: center; gap: 1.25rem; border-bottom: 1px solid var(--line); background: rgba(6,6,9,.82); backdrop-filter: blur(22px) saturate(160%); }
.brand img { display: block; width: 124px; height: auto; }
.publication-mark { display: flex; align-items: center; gap: 1.25rem; color: inherit; font-size: .78rem; font-weight: 800; letter-spacing: .2em; text-decoration: none; }
.publication-divider { width: 1px; height: 22px; background: var(--line); }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: clamp(1rem,3vw,2.5rem); }
.header-actions a { color: var(--muted); text-decoration: none; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.header-actions a:hover { color: #fff; }
.rss-status { color: var(--dim); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.rss-status:hover, .subscription-badge:hover { color: var(--paper); border-color: rgba(255,255,255,.28); }
.rss-status i, .subscription-badge i, .dialog-state span { display: inline-block; width: 6px; height: 6px; margin-right: .45rem; border-radius: 50%; background: var(--coral); box-shadow: 0 0 12px rgba(255,91,69,.8); }

.masthead { position: relative; min-height: 560px; padding: clamp(5rem,10vw,9rem) clamp(1.25rem,7vw,7.5rem) clamp(4rem,8vw,7rem); display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3rem; align-items: end; overflow: hidden; border-bottom: 1px solid var(--line); background:#060609; isolation:isolate; }
.masthead::before { content: ''; position: absolute; z-index:1; width: 50vw; height: 50vw; min-width: 560px; min-height: 560px; left: 40%; top: -50%; border-radius: 50%; background: radial-gradient(circle,rgba(99,75,255,.16),rgba(99,75,255,0) 68%); filter: blur(10px); pointer-events:none; }
.masthead::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(6,6,9,.97) 0%,rgba(6,6,9,.78) 39%,rgba(6,6,9,.32) 78%,rgba(6,6,9,.46) 100%),linear-gradient(0deg,rgba(6,6,9,.86),transparent 60%); pointer-events:none; }
.masthead-motion { position:absolute; inset:-3%; z-index:0; width:106%; height:106%; object-fit:cover; object-position:center; opacity:.52; filter:brightness(.66) saturate(.82) contrast(1.07); transition:opacity 1.2s ease; }
.masthead-motion.is-ready { opacity:.66; }
.masthead-copy { position: relative; z-index: 2; max-width: 1040px; }
.eyebrow, .section-kicker { margin: 0 0 1.5rem; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow span { color: var(--coral); }
.masthead h1 { max-width: 950px; margin: 0; font-size: clamp(3rem,7.5vw,7.2rem); line-height: .98; letter-spacing: -.065em; font-weight: 900; }
.masthead h1 em { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.8); font-style: normal; }
.masthead-lead { max-width: 720px; margin: 2.2rem 0 0; color: var(--muted); font-size: clamp(.98rem,1.5vw,1.2rem); line-height: 2; }
.masthead-aside { position: relative; z-index: 2; display: flex; min-width: 150px; flex-direction: column; align-items: flex-end; gap: .35rem; text-align: right; }
.masthead-aside span { color: var(--coral); font: 800 .72rem/1 var(--font); letter-spacing: .2em; }
.masthead-aside strong { font-size: 1.1rem; letter-spacing: .14em; }
.masthead-aside small { margin-top: 1.2rem; color: var(--dim); font-size: .72rem; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; }
.masthead-orbit { position: absolute; z-index:2; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; pointer-events: none; }
.masthead-orbit-one { right: 4vw; top: 7rem; width: 260px; height: 260px; animation: orbit 16s linear infinite; }
.masthead-orbit-two { right: 12vw; top: 13rem; width: 110px; height: 110px; border-color: rgba(255,91,69,.22); animation: orbit 9s linear infinite reverse; }
.masthead-orbit::after { content: ''; position: absolute; top: 50%; left: -4px; width: 7px; height: 7px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 16px var(--coral); }
@keyframes orbit { to { transform: rotate(360deg); } }

.feature { padding: clamp(2rem,5vw,5rem) clamp(1.25rem,4vw,4rem); border-bottom: 1px solid var(--line); }
.feature-rail { position: relative; min-height: min(650px,72vw); overflow: hidden; border: 1px solid var(--line); background: var(--surface); }
.feature-slide { position: absolute; inset: 0; display: grid; grid-template-columns: 1.15fr .85fr; opacity: 0; visibility: hidden; transform: translateX(2%); transition: opacity .65s ease, transform .65s ease, visibility .65s; }
.feature-slide.is-active { opacity: 1; visibility: visible; transform: translateX(0); }
.feature-art { position: relative; min-height: 520px; padding: clamp(1.5rem,4vw,4rem); display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; background: #321a1b; isolation: isolate; }
.feature-art::before { content: ''; position: absolute; inset: 0; z-index: -2; background-image: var(--feature-image); background-position: center; background-size: cover; transform: scale(1.02); }
.feature-art.has-image::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(2,3,8,.88),rgba(2,3,8,.1)),linear-gradient(0deg,rgba(2,3,8,.75),transparent 60%); }
.feature-motion { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .6s ease; }
.feature-motion.is-ready { opacity:1; }
.feature-art.has-motion::before { opacity:1; transition:opacity .6s ease; }
.feature-art.has-motion:has(.feature-motion.is-ready)::before { opacity:0; }
.feature-art.image-bright::after { background: linear-gradient(90deg,rgba(244,236,220,.86),rgba(244,236,220,.02)),linear-gradient(0deg,rgba(244,236,220,.45),transparent 55%); }
.theme-governance .feature-art { background: radial-gradient(circle at 65% 35%,#682d37 0,#25141a 35%,#0d0a10 78%); }
.governance-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom,black,transparent 82%); }
.governance-grid::after { content: ''; position: absolute; width: 48%; aspect-ratio: 1; right: 5%; top: 16%; border: 1px solid rgba(255,91,69,.5); border-radius: 50%; box-shadow: 0 0 0 30px rgba(255,91,69,.04),0 0 0 70px rgba(255,91,69,.025); }
.art-kicker { position: relative; color: #ffb5a9; font-size: .72rem; font-weight: 900; letter-spacing: .22em; }
.art-kicker.dark, .art-caption.dark, .art-word.dark { color: #101014; text-shadow: none; }
.art-word { position: relative; align-self: flex-start; color: #fff; font-size: clamp(4rem,9vw,9rem); line-height: .76; letter-spacing: -.075em; font-weight: 900; text-shadow: 0 10px 35px rgba(0,0,0,.25); }
.art-word.compact { font-size: clamp(4rem,8vw,8rem); line-height: .82; }
.art-caption { position: relative; color: rgba(255,255,255,.7); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.feature-copy { padding: clamp(2rem,5vw,5rem); display: flex; flex-direction: column; justify-content: center; background: #0c0c11; }
.story-meta, .card-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1.5rem; color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.story-meta span, .card-meta > .card-category { color: var(--coral); }
.story-meta b, .card-meta b { color: var(--dim); font-weight: 700; }
.feature-copy h2 { margin: 0; font-size: clamp(2rem,4.2vw,4.4rem); line-height: 1.15; letter-spacing: -.045em; }
.feature-copy > p:not(.story-meta) { margin: 1.6rem 0 0; color: var(--muted); font-size: clamp(.9rem,1.4vw,1.05rem); line-height: 1.9; }
.story-preview { align-self: flex-start; margin-top: 2.5rem; padding: 0 0 .55rem; border: 0; border-bottom: 1px solid rgba(255,255,255,.45); color: #fff; background: transparent; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-decoration:none; cursor: pointer; }
.story-preview span { display: inline-block; margin-left: 1rem; transition: transform .25s; }
.story-preview:hover span { transform: translate(3px,-3px); }
.feature-controls { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 1rem; margin-top: 1rem; }
.feature-arrow { width: 46px; height: 42px; border: 1px solid var(--line); background: transparent; cursor: pointer; }
.feature-arrow:hover { border-color: rgba(255,255,255,.45); }
.feature-dots { min-width: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.feature-dots button { min-width: 0; padding: .5rem; display: grid; grid-template-columns: 88px minmax(0,1fr); align-items: center; gap: .8rem; border: 1px solid var(--line); color: var(--dim); background: rgba(255,255,255,.018); text-align: left; cursor: pointer; transition: color .25s,border-color .25s,background .25s,transform .25s; }
.feature-dots button:hover { color: var(--text); border-color: rgba(255,255,255,.28); transform: translateY(-2px); }
.feature-dots button.is-active { color: #fff; border-color: rgba(255,91,69,.75); background: rgba(255,91,69,.07); }
.feature-dot-visual { position: relative; aspect-ratio: 16/10; padding: .45rem; display: flex; align-items: flex-end; overflow: hidden; color: #fff; background-position: center; background-size: cover; isolation: isolate; }
.feature-dot-visual::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,rgba(4,4,8,.86),rgba(4,4,8,.06)); }
.feature-dot-visual b { font-size: .8rem; line-height: .8; letter-spacing: -.04em; }
.dot-governance { color: #1b0d0b; background: radial-gradient(circle at 72% 25%,#ff9a7c,#ee5d46 42%,#7f261e); }
.dot-governance::after { background: linear-gradient(135deg,transparent,rgba(67,17,12,.18)); }
.dot-media { background-image: url('./assets/media-voice.jpg'); }
.dot-g2 { color: #101014; background-image: url('./assets/even-g2.jpg'); }
.dot-g2::after { background: linear-gradient(90deg,rgba(245,236,219,.78),transparent); }
.feature-dot-copy { min-width: 0; display: block; }
.feature-dot-copy small { display: block; margin-bottom: .35rem; color: var(--dim); font-size: .56rem; font-weight: 800; letter-spacing: .09em; white-space: nowrap; }
.feature-dots button.is-active .feature-dot-copy small { color: #ff917f; }
.feature-dot-copy strong { display: block; overflow: hidden; font-size: .72rem; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.feature-progress { position: relative; grid-column: 1 / -1; height: 1px; margin: 0; overflow: hidden; background: var(--line); }
.feature-progress span { display: block; width: 0; height: 100%; background: var(--coral); }
.feature-progress span.is-running { animation: progress 8s linear forwards; }
@keyframes progress { to { width: 100%; } }

.story-section { padding: clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,5rem); }
.section-heading { display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: end; margin-bottom: 3rem; }
.section-heading h2, .principles h2, .subscription h2 { margin: 0; font-size: clamp(2.2rem,5vw,5rem); line-height: 1.04; letter-spacing: -.05em; }
.section-heading > p { max-width: 470px; margin: 0; color: var(--muted); line-height: 1.9; }
.category-filter { display: flex; gap: .55rem; margin-bottom: 1.25rem; overflow-x: auto; scrollbar-width: none; }
.category-filter::-webkit-scrollbar { display: none; }
.category-filter button { flex: 0 0 auto; padding: .72rem 1rem; border: 1px solid var(--line); border-radius: 100px; color: var(--muted); background: transparent; font-size: .72rem; font-weight: 700; cursor: pointer; }
.category-filter button span { margin-left: .35rem; color: var(--dim); }
.category-filter button:hover, .category-filter button.is-active { border-color: #f1eee6; color: #060609; background: #f1eee6; }
.story-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.story-card { min-width: 0; background: var(--bg); }
.story-card.is-hidden { display: none; }
.story-card.is-wide-tail { grid-column: 1 / -1; }
.story-card-link { width: 100%; height: 100%; padding: 0; display: grid; grid-template-columns: 1fr 1fr; border: 0; color:inherit; background: transparent; text-align: left; text-decoration:none; cursor: pointer; }
.card-visual { position: relative; min-height: 330px; padding: 1.4rem; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; isolation: isolate; }
.visual-index { position: absolute; top: 1.3rem; left: 1.4rem; z-index: 3; font-size: .66rem; font-weight: 900; letter-spacing: .18em; }
.card-visual strong { position: relative; z-index: 2; font-size: clamp(2.4rem,4.5vw,5rem); line-height: .78; letter-spacing: -.07em; }
.card-body { position: relative; min-height: 330px; padding: clamp(1.5rem,3vw,2.5rem); display: flex; flex-direction: column; border-left: 1px solid var(--line); background: var(--surface); transition: background .3s; }
.story-card-link:hover .card-body { background: var(--surface-2); }
.card-meta { align-items: flex-start; }
.card-meta-detail { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: .55rem; flex-wrap: wrap; color: var(--dim); }
.card-date { color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.card-status { padding: .24rem .42rem; border: 1px solid rgba(255,91,69,.55); color: #ff927f; background: rgba(255,91,69,.08); font-size: .56rem; font-style: normal; font-weight: 900; letter-spacing: .11em; line-height: 1; }
.card-status.is-updated { border-color: rgba(86,213,220,.5); color: #83e8ed; background: rgba(86,213,220,.08); }
.card-body h3 { margin: auto 0 0; font-size: clamp(1.25rem,2vw,2rem); line-height: 1.45; letter-spacing: -.025em; }
.card-body > p:not(.card-meta) { margin: 1.1rem 0 0; color: var(--muted); font-size: .9rem; line-height: 1.7; }
.card-arrow { position: absolute; right: 1.3rem; top: 1.25rem; font-size: 1.15rem; transition: transform .25s; }
.story-card-link:hover .card-arrow { transform: translate(3px,-3px); }
.visual-governance { background: #ee5d46; color: #170c0b; }
.visual-governance.has-eyecatch { color:#fff; background:#0a090d; }
.visual-governance.has-eyecatch::after { content:''; position:absolute; inset:0; z-index:0; background:linear-gradient(0deg,rgba(4,4,8,.93),rgba(4,4,8,.06)),var(--card-image) center/cover; }
.visual-governance.has-eyecatch > * { z-index:2; }
.visual-governance::before { content: ''; position: absolute; width: 78%; aspect-ratio: 1; right: -28%; top: -20%; border: 2px solid rgba(22,11,10,.35); border-radius: 50%; box-shadow: 0 0 0 28px rgba(22,11,10,.08),0 0 0 58px rgba(22,11,10,.05); }
.visual-governance i { position: absolute; left: 8%; right: 8%; height: 1px; background: rgba(22,11,10,.28); }
.visual-governance i:nth-of-type(1) { top: 30%; } .visual-governance i:nth-of-type(2) { top: 45%; } .visual-governance i:nth-of-type(3) { top: 60%; }
.visual-provenance { background: linear-gradient(145deg,#082c33,#05080b); color: #dcfffb; }
.visual-provenance.has-eyecatch,.visual-crossover.has-eyecatch,.visual-harness.has-eyecatch { color:#fff; background:#08090c; }
.visual-provenance.has-eyecatch::after,.visual-crossover.has-eyecatch::after,.visual-harness.has-eyecatch::after { content:''; position:absolute; inset:0; z-index:0; background:linear-gradient(0deg,rgba(4,4,8,.94) 0%,rgba(4,4,8,.24) 48%,rgba(4,4,8,.05) 100%),var(--card-image) 68% center/cover no-repeat; transform:scale(1.02); transition:transform .6s ease; }
.visual-crossover.has-eyecatch::after { background-position:64% center; }
.visual-harness.has-eyecatch::after { background-position:70% center; }
.visual-provenance.has-eyecatch > *,.visual-crossover.has-eyecatch > *,.visual-harness.has-eyecatch > * { z-index:2; }
.story-card-link:hover .visual-provenance.has-eyecatch::after,.story-card-link:hover .visual-crossover.has-eyecatch::after,.story-card-link:hover .visual-harness.has-eyecatch::after { transform:scale(1.07); }
.visual-provenance.has-eyecatch .scan-face { opacity:.42; mix-blend-mode:screen; }
.visual-crossover.has-eyecatch .role { color:#fff; border-color:rgba(255,255,255,.5); background:rgba(5,5,8,.34); backdrop-filter:blur(5px); }
.visual-harness.has-eyecatch .terminal-lines { opacity:.22; }
.scan-face { position: absolute; width: 52%; aspect-ratio: 1; right: 6%; top: 12%; border: 1px solid rgba(69,214,223,.7); border-radius: 50% 44% 48% 42%; box-shadow: inset 18px 0 30px rgba(69,214,223,.12); }
.scan-face::before,.scan-face::after,.scan-face span { content: ''; position: absolute; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); }
.scan-face::before { width: 5px; height: 5px; left: 28%; top: 37%; }.scan-face::after { width: 5px; height: 5px; right: 25%; top: 37%; }.scan-face span { width: 28%; height: 1px; left: 38%; top: 67%; }
.visual-crossover { background: #ded8ff; color: #160d36; }
.role { position: absolute; padding: .55rem .75rem; border: 1px solid rgba(22,13,54,.5); font-size: .58rem; font-weight: 900; letter-spacing: .12em; transform: rotate(-7deg); }
.role-a { right: 13%; top: 14%; }.role-b { right: 30%; top: 38%; transform: rotate(5deg); }.role-c { right: 8%; top: 55%; transform: rotate(-2deg); }
.visual-harness { background: #111317; color: var(--lime); }
.terminal-lines { position: absolute; inset: 2rem; display: grid; align-content: start; gap: .9rem; opacity: .35; }
.terminal-lines i { height: 1px; background: linear-gradient(90deg,var(--lime) 0 65%,transparent 65%); }.terminal-lines i:nth-child(2){width:70%}.terminal-lines i:nth-child(3){width:45%}.terminal-lines i:nth-child(4){width:82%}.terminal-lines i:nth-child(5){width:56%}
.visual-search,.visual-voice,.visual-g2 { color: #fff; background: #08090c; }
.visual-search::before,.visual-voice::before,.visual-g2::before { content: ''; position: absolute; inset: 0; z-index: -2; background: var(--card-image) center/cover; transform: scale(1.03); transition: transform .6s ease; }
.visual-search::after,.visual-voice::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,rgba(3,5,8,.95),rgba(3,5,8,.08)); }
.visual-g2::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,rgba(3,5,8,.84),rgba(3,5,8,0) 70%); }
.story-card-link:hover .visual-search::before,.story-card-link:hover .visual-voice::before,.story-card-link:hover .visual-g2::before { transform: scale(1.08); }
.visual-note { position: relative; z-index: 2; margin-top: .65rem; font-size: .62rem; font-weight: 900; letter-spacing: .18em; }

.principles { padding: clamp(5rem,10vw,9rem) clamp(1.25rem,7vw,7.5rem); display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem,8vw,9rem); background: #f0eee8; color: #0b0a0d; }
.principles .section-kicker { color: #6c6870; }
.principle-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(10,10,13,.2); }
.principle-list li { padding: 1.6rem 0; display: grid; grid-template-columns: 52px 1fr; gap: 1rem; border-bottom: 1px solid rgba(10,10,13,.2); }
.principle-list li > span { color: #847f87; font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.principle-list strong { font-size: 1.25rem; }
.principle-list p { margin: .45rem 0 0; color: #5a565d; line-height: 1.7; }
.subscription { padding: clamp(4rem,8vw,7rem) clamp(1.25rem,7vw,7.5rem); display: flex; align-items: end; justify-content: space-between; gap: 3rem; border-bottom: 1px solid var(--line); }
.subscription > div > p:last-child { color: var(--muted); }
.subscription-badge { flex: 0 0 auto; padding: .8rem 1rem; border: 1px solid var(--line); color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-decoration: none; transition: color .2s ease, border-color .2s ease; }
.card-generic .card-visual { background-image: linear-gradient(180deg, transparent 25%, rgba(5,5,8,.78)), var(--card-image); background-position: center; background-size: cover; }
.card-generic .card-visual strong { position: absolute; left: 1.15rem; bottom: 1.05rem; max-width: calc(100% - 2.3rem); font-size: clamp(1.15rem,2vw,1.75rem); line-height: 1.08; letter-spacing: -.035em; color: #fff; text-shadow: 0 2px 24px rgba(0,0,0,.8); }
.site-footer { padding: 3rem clamp(1.25rem,5vw,5rem); display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 2rem; }
.site-footer img { width: 140px; }
.site-footer p { margin: 0; color: var(--dim); font-size: .78rem; }
.site-footer small { color: var(--dim); font-size: .68rem; }

.story-dialog { width: min(680px,calc(100vw - 2rem)); padding: clamp(2rem,5vw,4rem); border: 1px solid rgba(255,255,255,.18); color: var(--text); background: #111116; box-shadow: 0 30px 90px rgba(0,0,0,.65); }
.story-dialog::backdrop { background: rgba(0,0,0,.74); backdrop-filter: blur(8px); }
.dialog-close { position: absolute; top: 1rem; right: 1rem; width: 42px; height: 42px; border: 1px solid var(--line); background: transparent; font-size: 1.5rem; cursor: pointer; }
.dialog-kicker { margin: 0 0 1rem; color: var(--coral); font-size: .7rem; font-weight: 900; letter-spacing: .15em; }
.story-dialog h2 { margin: 0; font-size: clamp(2rem,5vw,3.6rem); line-height: 1.18; letter-spacing: -.045em; }
.dialog-excerpt { margin: 1.5rem 0 0; color: var(--muted); line-height: 1.9; }
.dialog-state { display: inline-flex; margin-top: 2rem; padding: .65rem .8rem; border: 1px solid var(--line); color: var(--muted); font-size: .65rem; font-weight: 800; letter-spacing: .12em; }
.dialog-note { margin: 1rem 0 0; color: var(--dim); font-size: .78rem; line-height: 1.75; }

@media (max-width: 980px) {
  .masthead { grid-template-columns: 1fr; }.masthead-aside { display: none; }
  .feature-rail { min-height: 930px; }.feature-slide { grid-template-columns: 1fr; grid-template-rows: 1.05fr .95fr; }.feature-art { min-height: 430px; }.feature-copy { min-height: 390px; }
  .story-grid { grid-template-columns: 1fr; }.story-card-link { grid-template-columns: .85fr 1.15fr; }
  .principles { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .site-header { height: 62px; }.brand img { width: 105px; }.publication-mark { gap: .7rem; font-size: .66rem; }.publication-divider { height: 17px; }.header-actions a { display: none; }.rss-status { font-size: 0; }.rss-status i { margin: 0; }
  .masthead { min-height: 500px; padding-top: 6rem; }.masthead-motion{object-position:60% center}.masthead h1 { font-size: clamp(3rem,15vw,4.8rem); }.masthead-lead { line-height: 1.8; }
  .feature { padding-inline: 0; }.feature-rail { min-height: 790px; border-inline: 0; }.feature-art { min-height: 350px; }.feature-copy { min-height: 360px; }.feature-controls { padding-inline: 1rem; grid-template-columns: 1fr; }.feature-arrow { display: none; }.feature-dots { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }.feature-dots::-webkit-scrollbar { display: none; }.feature-dots button { flex: 0 0 min(78vw,270px); grid-template-columns: 82px minmax(0,1fr); scroll-snap-align: start; }.feature-progress { display: none; }.art-word,.art-word.compact { font-size: clamp(3.4rem,20vw,5.5rem); }
  .story-section { padding-inline: 1rem; }.section-heading { grid-template-columns: 1fr; gap: 1.2rem; }.section-heading > p { font-size: .9rem; }
  .story-card-link { grid-template-columns: 1fr; }.card-visual { min-height: 280px; }.card-body { min-height: 265px; border-left: 0; border-top: 1px solid var(--line); }
  .subscription { align-items: flex-start; flex-direction: column; }.site-footer { grid-template-columns: 1fr; align-items: start; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; } *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }.feature-motion { display:none; }.masthead-motion{opacity:.5}
}
