/* Slow Vale: a quiet, illustrated field guide around the living game. */
@font-face {
  font-family:"Source Sans 3";
  src:url("/fonts/source-sans-3-latin.woff2") format("woff2");
  font-weight:200 900;
  font-style:normal;
  font-display:swap;
}
:root {
  color-scheme:light;
  --page:#f5f3ec;
  --paper:#fffdf8;
  --ink:#203b3c;
  --muted:#586963;
  --line:#d3d9ce;
  --green:#2c5e50;
  --green-dark:#183e35;
  --tint:#e7eddf;
  --rust:#995432;
  --gold:#b97d3d;
  --game-panel:#182f4c;
  --game-border:#08192b;
  --body:"Source Sans 3",sans-serif;
  --display:var(--body);
  --wrap:1120px;
  --reading:680px;
  --page-top:58px;
  --page-bottom:72px;
}
* { box-sizing:border-box; }
html { scrollbar-gutter:stable; scroll-behavior:smooth; scroll-padding-top:104px; -webkit-text-size-adjust:100%; }
body { display:flex; flex-direction:column; min-height:100svh; margin:0; background:var(--page); color:var(--ink); font:19px/1.7 var(--body); }
body>main { flex:1; }
body:has(dialog[open]) { overflow:hidden; }
h1,h2,h3,p,ul,ol,dl,figure { margin:0; }
a { color:inherit; text-underline-offset:4px; }
button { font:inherit; }
img { display:block; max-width:100%; height:auto; }
button,a,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid var(--rust); outline-offset:5px; }
::selection { background:#d3e5bf; color:var(--ink); }
.wrap { width:min(100% - 80px,var(--wrap)); margin-inline:auto; }
.dim { color:var(--muted); }
.fine,.entry-note { font-size:16px; line-height:1.7; color:var(--muted); }
.lede { font-size:20px; line-height:1.7; max-width:56ch; }
.eyebrow,.section-number,.kicker { font-size:14px; font-weight:650; letter-spacing:.13em; line-height:1.6; color:var(--green); }
.eyebrow { margin-bottom:20px; }
h1,h2,h3 { text-wrap:balance; }
h1,h2 { font-family:var(--display); font-weight:600; letter-spacing:-.02em; }
h1 { font-size:clamp(36px,4.5vw,52px); line-height:1.12; }
h1 em { font-style:normal; color:var(--green); }
h2 { font-size:clamp(30px,3vw,38px); line-height:1.2; }
h3 { font-size:25px; line-height:1.3; font-weight:550; letter-spacing:-.02em; }
.skip { position:fixed; left:16px; top:-100px; z-index:100; padding:10px 20px; background:var(--ink); color:var(--paper); }
.skip:focus { top:12px; }
.btn { display:inline-flex; gap:24px; align-items:center; justify-content:center; min-height:46px; padding:12px 22px; background:var(--paper); border:1px solid var(--green); border-radius:5px; color:var(--green); text-decoration:none; font-size:17px; font-weight:600; cursor:pointer; transition:background .18s,transform .18s; }
.btn:hover { background:var(--tint); transform:translateY(-1px); }
.btn--primary { background:var(--green); color:var(--paper); }
.btn--primary:hover { background:var(--green-dark); }
.btn--sm { padding:9px 16px; min-height:40px; font-size:16px; }
.text-link { display:inline-flex; gap:18px; align-items:center; text-decoration:none; font-size:17px; font-weight:550; color:var(--green); padding-bottom:5px; border-bottom:1px solid currentColor; }
.text-link:hover { color:var(--rust); }
.mast { position:sticky; top:0; z-index:20; background:var(--page); border-bottom:1px solid var(--line); }
.mast__row { display:flex; align-items:center; min-height:76px; gap:34px; }
.brand { display:inline-flex; align-items:center; gap:11px; text-decoration:none; flex-shrink:0; }
.brand__name { font-size:17px; letter-spacing:.12em; font-weight:800; }
.brand__mark { width:18px; height:20px; background:var(--gold); clip-path:polygon(0 25%,25% 25%,25% 0,75% 0,75% 25%,100% 25%,100% 100%,0 100%); position:relative; }
.brand__mark:after { content:""; position:absolute; bottom:0; left:7px; width:4px; height:8px; background:var(--page); }
.nav { display:flex; gap:26px; margin-left:16px; }
.nav a,.sign-in { text-decoration:none; font-size:16px; }
.nav a { padding-block:6px; color:var(--muted); border-bottom:1px solid transparent; }
.nav a:hover,.nav a[aria-current="page"] { color:var(--ink); border-bottom-color:var(--green); }
.sign-in { margin-left:auto; }
.mast__cta { margin-left:auto; }
.sign-in+.mast__cta { margin-left:0; }
.hero { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:48px; padding-block:74px 62px; }
.hero h1 { font-size:clamp(38px,4.2vw,52px); }
.hero-copy .lede { font-size:19px; line-height:1.7; color:var(--muted); margin-top:28px; max-width:47ch; }
.hero-aside { margin-top:18px; font-size:18px; }
.hero-actions { display:flex; gap:24px; flex-wrap:wrap; align-items:center; margin-top:28px; }
.hero .entry-note { margin-top:15px; }
.status-dot { display:inline-block; width:6px; height:6px; background:var(--green); margin-right:10px; vertical-align:middle; }
.hero-scene { position:relative; }
.hero-scene>a { display:block; background:var(--tint); border-radius:8px; overflow:hidden; box-shadow:12px 12px 0 var(--tint); }
.hero-scene img { width:100%; aspect-ratio:1.1; object-fit:cover; object-position:55% center; image-rendering:pixelated; }
.hero-scene figcaption { padding-top:24px; font-size:15px; color:var(--muted); }
.developer-banner { background:var(--green-dark); color:var(--paper); }
.developer-banner__layout { display:grid; grid-template-columns:1fr 1.15fr; gap:72px; align-items:center; padding-block:44px; }
.developer-banner .eyebrow { color:var(--tint); margin-bottom:16px; }
.developer-banner h2 { max-width:20ch; font-size:38px; }
.developer-banner h2 a { text-decoration:none; }
.developer-banner h2 a:hover { text-decoration:underline; }
.developer-banner__body p { color:var(--tint); font-size:19px; line-height:1.7; }
.developer-banner .btn { margin-top:24px; border-color:var(--paper); }
.developer-banner a:focus-visible { outline-color:var(--paper); }
.chapter-nav { display:flex; justify-content:space-between; gap:16px; padding-block:20px; border-top:1px solid var(--line); font-size:15px; }
.chapter-nav a { text-decoration:none; color:var(--muted); }
.chapter-nav a:hover { color:var(--green); }
.chapter-nav span { color:var(--rust); margin-right:10px; font-size:14px; }
.life-section { padding:72px 0 48px; background:var(--paper); border-top:1px solid var(--line); }
.section-heading { display:grid; grid-template-columns:1fr 1fr; gap:0 72px; align-items:end; margin-bottom:46px; }
.section-heading>.eyebrow { grid-column:1/-1; }
.section-heading h2 { max-width:18ch; }
.section-intro { max-width:46ch; font-size:19px; line-height:1.7; color:var(--muted); }
.story-pair { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.interaction-story { display:flex; flex-direction:column; gap:24px; padding-top:28px; border-top:1px solid var(--line); }
.story-copy { flex:1; }
.section-number { display:block; margin-bottom:16px; color:var(--rust); font-size:14px; }
.story-copy h3 { font-size:28px; margin-bottom:20px; max-width:22ch; }
.story-copy p { font-size:18px; line-height:1.7; margin-bottom:16px; }
.interface-shot { width:100%; max-width:360px; justify-self:center; align-self:center; }
.interface-shot>a { display:block; background:var(--game-panel); padding:5px; border:1px solid var(--game-border); border-radius:9px; overflow:hidden; box-shadow:0 14px 28px #203b3c18; }
.interface-shot>a:hover { box-shadow:0 14px 28px #203b3c30; }
.interface-shot img { width:100%; border-radius:4px; }
.interface-shot figcaption { font-size:15px; color:var(--muted); margin-top:14px; text-align:center; }
.story-log { max-width:360px; }
.exchange-note { display:flex; gap:18px; align-items:center; border-top:1px solid var(--line); padding-top:16px; margin-top:22px; font-size:14px; color:var(--muted); }
.exchange-note strong { display:block; color:var(--green); font-weight:550; font-size:16px; margin-top:3px; }
.exchange-note>span:nth-child(2) { color:var(--rust); font-size:24px; }
.social-story { display:grid; grid-template-columns:.9fr 1.1fr; align-items:start; gap:54px; padding:42px; margin:64px 0 28px; background:var(--tint); border-radius:6px; }
.social-story h3 { font-family:var(--display); font-size:30px; line-height:1.25; font-weight:600; margin-bottom:22px; }
.social-story p { font-size:18px; line-height:1.7; margin-bottom:18px; }
.social-excerpt { border-left:2px solid var(--green); padding-left:22px; margin-bottom:24px; }
.social-excerpt>span { font-size:14px; letter-spacing:.1em; color:var(--muted); }
.social-excerpt blockquote { font-family:var(--display); font-size:22px; line-height:1.5; margin:12px 0 0; }
.social-excerpt--reply { border-color:var(--rust); margin-bottom:0; }
.interaction-index { display:grid; grid-template-columns:1fr 1fr; gap:0 64px; }
.interaction-index article { border-bottom:1px solid var(--line); padding:28px 0; }
.interaction-index h3 { font-size:21px; margin-bottom:14px; }
.interaction-index p { color:var(--muted); font-size:18px; line-height:1.7; }
.interaction-index .section-number { margin-bottom:12px; }
.section-footnote { color:var(--muted); max-width:86ch; font-size:17px; padding:28px 0 0; }
.city-section { padding-block:72px; }
.city-panorama { margin-block:32px 40px; }
.city-panorama img { width:100%; max-height:300px; object-fit:cover; object-position:center 45%; image-rendering:pixelated; border-radius:6px; }
.city-panorama figcaption,.scene-inset figcaption { font-size:15px; color:var(--muted); margin-top:12px; }
.catalog-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:22px; }
.catalog-heading h3 { font-size:25px; }
.catalog-heading p { font-size:16px; color:var(--muted); }
.job-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:30px; }
.job-list>div { padding:18px 0; border-top:1px solid var(--line); }
.job-list dt { font-size:19px; font-weight:600; }
.job-list dd { font-size:16px; color:var(--muted); margin:6px 0 0; line-height:1.75; }
.business-block { display:grid; grid-template-columns:1fr 1.5fr; gap:64px; padding-block:40px; margin-top:24px; border-block:1px solid var(--line); }
.business-block h3,.places-copy h3 { font-family:var(--display); font-size:30px; line-height:1.25; font-weight:600; }
.business-block p:not(.eyebrow) { font-size:18px; color:var(--muted); }
.business-list { display:flex; flex-wrap:wrap; gap:10px 24px; list-style:none; padding:0; margin-top:20px; }
.business-list li { font-size:17px; font-weight:550; color:var(--green); }
.places-block { display:grid; grid-template-columns:1fr 1.15fr; gap:64px; align-items:center; margin-top:48px; }
.place-list { margin-top:24px; }
.place-list>div { margin-top:16px; }
.place-list dt { font-size:17px; font-weight:600; }
.place-list dd { font-size:17px; color:var(--muted); margin:4px 0 0; }
.scene-inset a { display:block; }
.scene-inset img { width:100%; border-radius:6px; image-rendering:pixelated; }
.simulation-section { background:var(--paper); padding:72px 0; border-block:1px solid var(--line); }
.activity-catalog { border-top:1px solid var(--line); }
.activity-catalog details { border-bottom:1px solid var(--line); }
.activity-catalog summary { display:flex; align-items:center; gap:36px; padding:24px 0; cursor:pointer; list-style:none; }
summary::-webkit-details-marker { display:none; }
.activity-catalog summary:after { content:'+'; font-size:24px; color:var(--green); margin-left:auto; }
.activity-catalog details[open] summary:after { content:'−'; }
.activity-catalog summary>span:first-child { min-width:330px; }
.catalog-label { display:block; font-size:14px; letter-spacing:.1em; color:var(--rust); margin-bottom:5px; }
.activity-catalog summary strong { font-size:21px; font-weight:500; }
.catalog-summary { font-size:16px; color:var(--muted); }
.activity-body { padding:0 0 26px; font-size:18px; color:var(--muted); max-width:900px; }
.activity-body>p { max-width:82ch; margin-bottom:20px; }
.activity-body dl { display:grid; grid-template-columns:1fr 1fr; gap:20px 40px; }
.activity-body dt { color:var(--ink); font-weight:550; margin-bottom:6px; }
.activity-body dd { margin:0; font-size:17px; }
.process-list { columns:2; padding-left:20px; font-size:17px; }
.process-list li { padding:4px 0; break-inside:avoid; }
.state-showcase { display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; align-items:center; padding-top:56px; }
.state-copy h3 { font-family:var(--display); font-size:30px; font-weight:600; }
.state-copy p:not(.eyebrow) { font-size:18px; margin-block:20px; }
.state-images { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
.state-images .interface-shot { align-self:start; }
.state-images img { width:100%; height:auto; }
.player-section { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; padding-block:72px; }
.player-copy { max-width:470px; }
.player-copy h2 { margin-bottom:24px; }
.player-copy p:not(.eyebrow) { margin-bottom:20px; font-size:19px; }
.player-copy .lede { font-size:20px; }
.player-message-shot { width:320px; max-width:100%; }
.journal-teaser { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding-block:40px 64px; border-top:1px solid var(--line); }
.journal-teaser h2 { font-size:36px; }
.journal-teaser__body { align-self:center; max-width:46ch; font-size:18px; color:var(--muted); }
.journal-teaser__body .text-link { margin-top:22px; }
.arrival { background:var(--tint); padding:64px 0; border-top:1px solid var(--line); }
.arrival-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.arrival .lede { font-size:19px; color:var(--muted); margin:24px 0; max-width:44ch; }
.arrival .entry-note { margin-top:18px; }
.faq { align-self:start; border-top:1px solid #bdcbbc; }
.faq details { border-bottom:1px solid #bdcbbc; }
.faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; list-style:none; cursor:pointer; font-size:18px; font-weight:500; }
.faq summary:after { content:'+'; font-size:22px; color:var(--green); }
.faq details[open] summary:after { content:'−'; }
.faq p { color:var(--muted); font-size:17px; line-height:1.7; padding:0 15px 20px 0; }
.foot { background:var(--page); color:var(--muted); font-size:16px; }
.foot__grid { display:grid; grid-template-columns:1fr auto; gap:64px; padding-block:52px 44px; border-top:1px solid var(--line); }
.foot .brand { color:var(--ink); }
.foot__brand p { margin-top:18px; max-width:30ch; font-size:18px; }
.foot__links { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.foot__links h2 { font-family:var(--body); font-size:16px; font-weight:600; letter-spacing:0; line-height:1.7; margin-bottom:8px; color:var(--ink); }
.foot nav a { text-decoration:none; }
.foot nav a:hover { color:var(--green); text-decoration:underline; }
.foot__base { display:flex; justify-content:space-between; align-items:start; gap:40px; padding-block:24px 32px; border-top:1px solid var(--line); font-size:14px; }
.foot__base p { max-width:74ch; }
.foot__base p+p { margin-top:5px; }
.foot__base nav { display:flex; gap:24px; flex-shrink:0; }
.foot .arrival { color:var(--ink); }
.image-dialog { width:min(94vw,1100px); max-height:94vh; padding:54px 20px 20px; background:var(--paper); color:var(--ink); border:0; border-radius:8px; box-shadow:0 20px 100px #0005; }
.image-dialog::backdrop { background:#102a2ad9; }
.image-dialog figure { display:flex; flex-direction:column; align-items:center; gap:14px; }
.image-dialog__picture { display:flex; justify-content:center; max-width:100%; }
.image-dialog img { max-height:76vh; max-width:100%; width:auto; object-fit:contain; }
.image-dialog figcaption { color:var(--muted); font-size:16px; text-align:center; }
.image-dialog__close { position:absolute; right:16px; top:10px; padding:6px 12px; border:1px solid var(--line); border-radius:4px; color:var(--ink); background:var(--page); cursor:pointer; }
/* Shared reading surfaces. */
.legal-main { width:min(100% - 80px,var(--reading)); margin-inline:auto; padding:var(--page-top) 0 var(--page-bottom); }
.legal-main h1 { font-size:48px; margin:8px 0 24px; }
.legal-main h2 { font-size:30px; margin:36px 0 16px; }
.legal-main h3 { font-size:22px; margin:24px 0 12px; }
.legal-main p+p { margin-top:16px; }
.legal-main li+li { margin-top:8px; }
.legal-meta { color:var(--muted); margin-bottom:28px; }
.legal-note { padding:20px; background:var(--tint); border-left:2px solid var(--green); }
.legal-main .btn { margin-top:24px; }
.section { padding:50px 0; }
.sec-head { color:var(--green); font-size:15px; letter-spacing:.1em; margin-bottom:24px; }
.section h2 { margin-bottom:20px; }
.section .dim { margin:14px 0; }
.almanac { padding:var(--page-top) 0 var(--page-bottom); }
.almanac>.wrap { max-width:840px; }
.almanac-head { max-width:var(--reading); margin:0 auto 36px; }
.almanac-head h1 { font-size:50px; margin-block:12px 20px; }
.almanac-index { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:48px; }
.almanac-index__group { display:grid; align-content:start; gap:8px; padding:24px; background:var(--paper); border-top:2px solid var(--green); }
.almanac-index__group b { font-size:16px; color:var(--green); margin-bottom:8px; }
.almanac-index__group a { font-size:18px; text-decoration:none; }
.almanac-group { padding-top:28px; }
.almanac-entry { background:var(--paper); border:1px solid var(--line); border-radius:5px; padding:28px; margin-bottom:22px; scroll-margin-top:100px; }
.almanac-entry h3 { display:flex; gap:12px; align-items:center; font-size:24px; }
.almanac-blurb { color:var(--green); font-size:17px; margin:10px 0 20px; }
.almanac-entry p { font-size:19px; }
.almanac-entry p+p { margin-top:14px; }
.almanac-facts { margin-top:20px; padding:12px 16px; background:var(--page); }
.almanac-facts div { display:grid; grid-template-columns:150px 1fr; gap:18px; border-bottom:1px solid var(--line); padding:10px 0; font-size:17px; }
.almanac-facts div:last-child { border:0; }
.almanac-facts dt { color:var(--muted); }
.almanac-facts dd { margin:0; }
.almanac-related { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:16px!important; }
.almanac-you { padding:14px 18px; border-left:2px solid var(--green); }
/* Homepage prose and the complete gameplay appendix. */
.home-prose h3 { margin-bottom:20px; font-size:28px; }
.home-prose p { font-size:19px; line-height:1.75; }
.home-prose p+p,.business-block p+p,.player-copy p+p { margin-top:18px; }
.home-prose--wide { max-width:var(--reading); margin-top:30px; }
.home-columns { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:48px; }
.home-columns--ruled { padding-top:40px; border-top:1px solid var(--line); }
.home-section-link { margin-top:32px; }
.home-state { padding-bottom:56px; }
.home-state .state-showcase { padding-top:0; }
.activity-index { padding-block:40px var(--page-bottom); }
.activity-index>.section-intro { margin-block:22px 32px; max-width:64ch; }
.activity-index .activity-body { max-width:none; }
.table-scroll { max-width:100%; overflow-x:auto; border-block:1px solid var(--line); }
.table-hint { display:none; color:var(--muted); font-size:15px; line-height:1.5; margin-bottom:10px; }
.table-hint span { margin-right:6px; }
.table-scroll:focus-visible { outline:2px solid var(--rust); outline-offset:4px; }
.table-scroll table { width:100%; border-collapse:collapse; text-align:left; font-size:17px; line-height:1.55; }
.table-scroll th,.table-scroll td { padding:14px 16px; vertical-align:top; border-bottom:1px solid var(--line); }
.table-scroll thead th { background:var(--tint); font-weight:600; color:var(--ink); }
.table-scroll tbody th { font-weight:550; color:var(--ink); }
.table-scroll tbody tr:last-child>* { border-bottom:0; }
.activity-index table { table-layout:fixed; }
.activity-index th:first-child { width:25%; }
.activity-index th:nth-child(2):not(:last-child) { width:29%; }
.activity-index table:has(th:nth-child(3)) td:first-child { color:var(--muted); font-size:15px; }
@media(max-width:1000px) {
 .wrap { width:calc(100% - 48px); }
 .mast__row { gap:16px; }
 .nav { margin-left:0; gap:18px; }
 .hero { gap:32px; padding-block:50px; }
 .hero h1 { font-size:42px; }
 .section-heading,.story-pair { gap:0 40px; }
 .social-story { padding:30px; gap:32px; }
 .job-list { grid-template-columns:repeat(3,1fr); }
 .places-block,.business-block,.state-showcase,.player-section,.arrival-grid { gap:40px; }
 .catalog-summary { display:none; }
 .home-columns { gap:40px; }
 .developer-banner__layout { gap:40px; }
}
@media(max-width:760px) {
 :root { --page-top:36px; --page-bottom:44px; }
 html { scroll-padding-top:132px; }
 .wrap { width:calc(100% - 40px); }
 .mast__row { flex-wrap:wrap; gap:0 16px; min-height:0; padding-top:14px; }
 .brand__name { font-size:16px; }
 .mast__cta { order:2; margin-left:auto!important; min-height:38px; padding:8px 12px; font-size:15px; gap:15px; }
 .nav { order:3; width:100%; gap:28px; padding:9px 0 8px; margin-top:7px; }
 .nav a { font-size:16px; }
 .sign-in { display:none; }
 .hero { grid-template-columns:1fr; gap:32px; padding-block:36px; }
 .hero h1 { font-size:36px; }
 .hero .eyebrow { font-size:14px; letter-spacing:.1em; margin-bottom:18px; }
 .hero-copy .lede { margin-top:22px; font-size:18px; }
 .hero-aside { font-size:17px; }
 .hero-actions { gap:16px; margin-top:24px; }
 .hero-actions .text-link { font-size:16px; }
 .hero-scene>a { box-shadow:7px 7px 0 var(--tint); }
 .hero-scene img { aspect-ratio:1.42; }
 .hero-scene figcaption { padding-top:18px; }
 .developer-banner__layout { grid-template-columns:1fr; gap:22px; padding-block:32px; }
 .developer-banner h2 { font-size:30px; }
 .developer-banner__body p { font-size:18px; }
 .chapter-nav { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding-block:18px; font-size:14px; }
 .chapter-nav span { margin-right:5px; }
 .life-section,.city-section,.simulation-section { padding-block:44px; }
 .section-heading { grid-template-columns:1fr; gap:18px; margin-bottom:30px; }
 .section-heading>.eyebrow { margin:0; }
 .section-heading h2 { max-width:none; font-size:30px; }
 .section-intro { font-size:18px; }
 .story-pair { grid-template-columns:1fr; gap:38px; }
 .interaction-story { padding-top:24px; gap:20px; }
 .story-copy h3 { font-size:26px; max-width:none; }
 .story-copy p { font-size:18px; }
 .interface-shot { max-width:340px; }
 .social-story { grid-template-columns:1fr; gap:24px; padding:25px 20px; margin:40px -8px 20px; }
 .social-story h3 { font-size:28px; }
 .social-story .eyebrow { font-size:14px; }
 .social-excerpt { padding-left:16px; }
 .social-excerpt blockquote { font-size:21px; }
 .interaction-index { grid-template-columns:1fr; }
 .interaction-index article { padding:24px 0; }
 .interaction-index h3 { font-size:21px; }
 .section-footnote { font-size:16px; padding-top:24px; }
 .city-panorama { margin-block:28px; }
 .city-panorama img { max-height:none; }
 .catalog-heading { display:block; }
 .catalog-heading h3 { font-size:24px; margin-bottom:8px; }
 .job-list { grid-template-columns:1fr 1fr; column-gap:22px; }
 .job-list dt { font-size:18px; }
 .job-list dd { font-size:16px; }
 .business-block { grid-template-columns:1fr; gap:20px; padding-block:30px; }
 .business-block h3,.places-copy h3 { font-size:28px; }
 .business-block .eyebrow { margin-bottom:14px; }
 .places-block { grid-template-columns:1fr; gap:28px; margin-top:36px; }
 .activity-catalog summary { gap:14px; padding-block:22px; }
 .activity-catalog summary>span:first-child { min-width:0; }
 .activity-catalog summary strong { font-size:19px; }
 .catalog-label { font-size:14px; }
 .activity-body dl { grid-template-columns:1fr; gap:18px; }
 .process-list { columns:1; }
 .state-showcase { grid-template-columns:1fr; gap:28px; padding-top:40px; }
 .state-copy h3 { font-size:28px; }
 .state-images { grid-template-columns:1fr; gap:28px; }
 .state-images .interface-shot>a { padding:3px; border-radius:6px; }
 .state-images figcaption { font-size:14px; }
 .player-section { grid-template-columns:1fr; gap:28px; padding-block:44px; }
 .player-copy h2 { font-size:30px; }
 .player-message-shot { width:min(100%,320px); }
 .journal-teaser { grid-template-columns:1fr; gap:24px; padding-block:32px 44px; }
 .journal-teaser h2 { font-size:30px; }
 .arrival { padding-block:44px; }
 .arrival-grid { grid-template-columns:1fr; gap:34px; }
 .arrival .btn { width:100%; }
 .foot__grid { grid-template-columns:1fr; gap:30px; padding-block:36px; }
 .foot__links { flex-direction:row; flex-wrap:wrap; gap:10px 24px; }
 .foot__links h2 { flex-basis:100%; margin-bottom:0; }
 .foot__brand p { margin-top:12px; }
 .foot__base { flex-direction:column; gap:20px; padding-block:24px; }
 .legal-main { width:calc(100% - 40px); }
 .image-dialog { padding:52px 10px 16px; }
 .almanac-index { grid-template-columns:1fr; gap:20px; }
 .almanac-entry { padding:22px 18px; }
 .almanac-entry h3 { font-size:21px; }
 .almanac-facts div { grid-template-columns:1fr; gap:5px; }
 .legal-main h1,.almanac-head h1 { font-size:38px; }
 .home-columns { grid-template-columns:1fr; gap:32px; margin-top:32px; }
 .home-columns--ruled { padding-top:32px; }
 .home-prose h3 { font-size:25px; }
 .home-prose p { font-size:18px; }
 .home-state { padding-bottom:36px; }
 .activity-index { padding-top:30px; }
 .activity-index table:has(th:nth-child(3)) { min-width:570px; }
 .activity-index table:not(:has(th:nth-child(3))) th:first-child { width:36%; }
 .table-scroll th,.table-scroll td { padding:12px; }
}
/* The 570px activity table overflows below a 610px viewport (40px page gutters). */
@media(max-width:609px) {
 .activity-index .table-hint { display:block; margin-bottom:10px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scrollbar-gutter:stable; scroll-behavior:auto; }
 .btn { transition:none; }
}
