/* Shared editorial rhythm; keep Corvax's existing moss, amber and typography. */
.home-page .rail-status { display:none; }
.home-page .top-rail .rail-nav { margin-left:auto; }
.home-page .page-intro { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:48px; padding-block:48px 40px; margin:0; align-items:center; }
.home-page .page-intro h1 { margin:0; max-width:16ch; font:600 56px/1.08 var(--display); letter-spacing:-.025em; }
.home-page .intro-copy>p { margin:0; max-width:47ch; font:400 17px/1.65 var(--sans); color:var(--muted); }
.home-page .intro-actions { margin-top:22px; gap:12px 24px; flex-wrap:wrap; }
.home-page .intro-actions a { padding-block:8px; border-bottom:1px solid var(--keyline-soft); font-size:13px; }
.home-page .project-directory { margin-top:0; }
.home-page .directory-heading { margin-bottom:24px; }
.home-page .directory-heading h2,.home-page .news-heading h2,.home-context h2 { font:600 32px/1.2 var(--display); letter-spacing:-.015em; margin:0; }
.home-page .feature-kicker { display:none; }
.home-page .project-feature { padding-top:24px; }
.home-page .project-feature h3 { font-size:32px; }
.home-page .feature-header .project-arrow { margin-top:7px; }
.home-page .project-feature .feature-summary { max-width:86ch; font-size:15px; margin-top:12px; }
.home-page .feature-body { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:40px; margin-top:24px; }
.home-page .project-feature .project-preview { height:440px; aspect-ratio:auto; background:#f6f7f3; }
.home-page .feature-screen figcaption { font-size:11px; }
.home-page .terra-board dl,.home-page .status-age { font-size:11px; }
.home-page .terra-board { padding-bottom:14px; }
.home-page .project-feature .board-specimen { width:148px; height:126px; }
.home-page .terra-path { margin-top:18px; }
.home-page .terra-path li { padding-bottom:18px; }
.home-page .terra-path h4 { font-size:20px; }
.home-page .terra-path p { font-size:13px; }
.home-page .terra-details { margin-top:18px; }
.home-page .terra-details .terra-food { margin-top:0; padding-top:8px; border-top:0; }
.home-page .terra-details .terra-detail-grid { padding-top:24px; }
.tv-teaser { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:48px; align-items:center; padding-block:28px; }
.tv-teaser figure { margin:0; }
.tv-teaser img { display:block; width:100%; height:auto; object-fit:contain; aspect-ratio:1; border-radius:3px; }
.tv-teaser h3 { margin:0; font:600 36px/1.2 var(--display); letter-spacing:-.02em; }
.tv-teaser-copy>p { max-width:48ch; margin:18px 0 0; font:400 17px/1.65 var(--sans); color:var(--muted); }
.tv-teaser-copy .teaser-spec { font:400 12px/1.6 var(--mono); margin-top:24px; }
.teaser-action { display:inline-flex; align-items:center; gap:22px; min-height:44px; margin-top:22px; color:var(--amber); font:500 14px/1.5 var(--sans); }
.teaser-action svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.3; }
.home-page .game-drawer { margin-block:28px 48px; }
.home-page #news { margin-block:48px; }
.home-page #news .news-use { display:none; }
.home-page #news .news-summary { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; overflow:hidden; }
.home-page #news .news-footer a:first-child { color:var(--amber); }
.home-context { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; margin-block:64px 30px; align-items:start; }
.home-context .workroom { width:100%; margin:0; }
.home-context .workroom-heading { margin-bottom:22px; }
.home-context .workroom-heading p,.server-summary>p { margin:12px 0 0; color:var(--muted); font:400 14px/1.65 var(--sans); }
.home-context .room-stage { height:380px; }
.home-context .room-viewport { top:20px; }
.server-summary .hero-summary-text { font-size:12px; }
.server-summary .quick-readings { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:24px; }
.server-summary .quick-readings>div { padding:20px; }
.server-summary .quick-readings>div:nth-child(3) { border-left:0; }
.server-summary .quick-readings>div:nth-child(n+3) { border-top:1px solid var(--keyline-soft); }
.server-summary .quick-readings dd { font-size:28px; }
.server-summary .summary-update { font:400 11px/1.6 var(--sans); margin-top:12px; }
.text-link,.story-back { display:inline-flex; align-items:center; gap:18px; min-height:44px; color:var(--amber); text-decoration:underline; text-underline-offset:5px; font:500 14px/1.5 var(--sans); }
.system-details { border-block:1px solid var(--keyline-soft); margin-bottom:48px; }
.system-details>summary { padding:22px 0; cursor:pointer; font:500 15px/1.5 var(--sans); }
.system-details>summary:focus-visible,.text-link:focus-visible,.story-back:focus-visible { outline:2px solid var(--amber); outline-offset:4px; }
.system-details .machine-section { margin-top:24px; }
.system-details .maintenance-drawer { margin-bottom:24px; }
/* Dedicated project page. */
.tv-page .project-rail .rail-nav { margin-left:auto; }
.project-story { padding-top:40px; }
.tv-story-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; }
.tv-story-intro .tv-photo { margin:0; }
.tv-story-intro .tv-photo img { display:block; width:100%; height:auto; border-radius:3px; }
.tv-story-copy h1 { margin:0 0 20px; font:600 58px/1.05 var(--display); letter-spacing:-.025em; }
.tv-story-copy>p { margin:16px 0 0; max-width:52ch; color:var(--muted); font:400 15px/1.7 var(--sans); }
.tv-story-copy .project-lead { color:var(--paper); font-size:21px; line-height:1.5; }
.tv-story-copy .text-link { margin-top:16px; }
.tv-story-copy .tv-specs { gap:22px; }
.story-section { border-top:1px solid var(--keyline-soft); margin-top:64px; padding-top:30px; }
.story-section h2 { margin:0; font:600 34px/1.2 var(--display); letter-spacing:-.015em; }
.story-heading { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:baseline; margin-bottom:28px; }
.story-heading>p,.story-note { margin:0; color:var(--muted); font:400 14px/1.65 var(--sans); max-width:60ch; }
.tv-page .tv-project { border:0; padding:0; }
.tv-page .tv-demo { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:40px; align-items:center; border:0; padding:0; width:auto; max-width:none; }
.tv-page .tv-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tv-page .tv-guide { margin-top:0; }
.tv-page .tv-figure figcaption,.tv-page .tv-index { font-size:11px; }
.tv-page .story-note { margin-top:18px; max-width:90ch; font-size:12px; }
.capability-list { margin:24px 0 0; }
.capability-list>div { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:48px; padding:24px 0; border-top:1px solid var(--keyline-soft); }
.capability-list dt { font:600 24px/1.3 var(--display); }
.capability-list dd { margin:0; max-width:70ch; color:var(--muted); font:400 16px/1.7 var(--sans); }
.device-facts { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.device-facts dl { margin:0; }
.device-facts dl>div { display:grid; grid-template-columns:1fr 1.4fr; gap:20px; border-top:1px solid var(--keyline-soft); padding:15px 0; font:400 14px/1.6 var(--sans); }
.device-facts dt { color:var(--muted); }.device-facts dd { margin:0; }
.device-facts h3,.story-columns h3 { margin:0 0 14px; font:600 24px/1.25 var(--display); }
.device-facts p,.story-columns p,.project-state>p { max-width:70ch; color:var(--muted); font:400 16px/1.7 var(--sans); }
.connection-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; margin:30px 0; padding:20px 0; border-block:1px solid var(--keyline-soft); }
.connection-flow li { position:relative; padding-inline:28px; }
.connection-flow li:first-child { padding-left:0; }.connection-flow li:last-child { padding-right:0; }
.connection-flow li+li { border-left:1px solid var(--keyline-soft); }
.connection-flow strong { display:block; margin-bottom:8px; font:600 21px/1.3 var(--display); }
.connection-flow span { display:block; color:var(--muted); font:400 13px/1.6 var(--sans); }
.story-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.story-columns p { font-size:15px; }
.project-state .state-date { font:400 12px/1.6 var(--mono); margin-top:14px; }
.story-back { margin:28px 0 40px; }
@media(max-width:1100px) {
 .home-page .page-intro,.home-page .feature-body,.home-context,.tv-story-intro,.story-heading,.device-facts { gap:28px; }
 .home-page .page-intro h1 { font-size:48px; }
 .home-page .project-feature .project-preview { height:410px; }
 .tv-teaser { gap:32px; }
 .tv-story-copy h1 { font-size:48px; }
 .tv-story-copy .project-lead { font-size:19px; }
}
@media(max-width:800px) {
 .home-page .page-intro { grid-template-columns:1fr; gap:18px; padding-block:32px; }
 .home-page .page-intro h1 { font-size:43px; max-width:17ch; }
 .home-page .intro-copy>p { font-size:16px; }
 .home-page .intro-actions { margin-top:18px; }
 .home-page .feature-body,.home-context,.tv-story-intro,.tv-page .tv-demo,.device-facts,.story-heading { grid-template-columns:1fr; }
 .home-page .project-feature .project-preview { height:auto; max-height:500px; aspect-ratio:1100/1167; }
 .home-page .terra-path { display:block; }
 .home-page .terra-path li { display:grid; }
 .home-page .terra-path li:not(:last-child)::after { display:block; }
 .home-page .terra-step { padding-top:3px; }
 .tv-teaser { gap:26px; }
 .tv-teaser-copy>p { font-size:15px; }
 .home-context { margin-top:48px; gap:40px; }
 .home-context .room-stage { height:390px; }
 .home-page .top-rail .rail-nav,.tv-page .top-rail .rail-nav { margin-left:0; }
 .project-story { padding-top:28px; }
 .tv-story-intro .tv-photo { max-width:580px; margin:auto; }
 .tv-story-copy h1 { font-size:44px; }
 .story-section { margin-top:44px; padding-top:24px; }
 .story-heading { gap:14px; }
 .tv-page .tv-demo { gap:24px; }
 .tv-page .tv-figure { max-width:580px; width:100%; margin:auto; }
 .capability-list>div { grid-template-columns:1fr; gap:12px; padding-block:22px; }
 .story-columns { grid-template-columns:1fr; gap:24px; }
 .device-facts { gap:28px; }
 .connection-flow li { padding-inline:14px; }
}
@media(max-width:540px) {
 .home-page .page-intro h1 { font-size:40px; }
 .home-page .intro-actions { gap:8px 18px; }
 .home-page .project-feature h3 { font-size:29px; }
 .tv-teaser { grid-template-columns:1fr; gap:22px; }
 .tv-teaser img { max-height:none; aspect-ratio:1; }
 .tv-teaser h3 { font-size:32px; }
 .tv-teaser-copy>p { margin-top:12px; }
 .tv-teaser-copy .teaser-spec,.teaser-action { margin-top:14px; }
 .home-page #news .news-summary { -webkit-line-clamp:4; }
 .home-page .news-heading h2,.home-context h2 { font-size:30px; }
 .home-context .room-stage { height:360px; }
 .home-context .room-views button { font-size:11px; padding-inline:4px; }
 .server-summary .quick-readings>div { padding:16px 12px; }
 .server-summary .quick-readings dd { font-size:23px; white-space:nowrap; }
 .tv-page .top-rail { grid-template-columns:minmax(0,1fr) auto 44px; }
 .tv-page .rail-nav { grid-column:1/-1; gap:20px; }
 .tv-story-copy h1 { font-size:42px; }
 .story-section h2 { font-size:30px; }
 .connection-flow { grid-template-columns:1fr; gap:18px; }
 .connection-flow li,.connection-flow li:first-child,.connection-flow li:last-child { border:0; padding:0; }
 .device-facts dl>div { grid-template-columns:.85fr 1.15fr; gap:14px; font-size:13px; }
}
