/* Shared public reading scale. The logo keeps its own canonical law. */
:root{--site-ui:#ff6a1f;--site-gutter:clamp(20px,4vw,64px);--site-reading:1200px}
html{scroll-padding-top:180px}
body{font-size:16px;line-height:1.65}
body .wrap{width:min(var(--site-reading),calc(100% - var(--site-gutter)*2))}
body main{min-width:0}
body main h1{font-size:clamp(34px,4.15vw,60px)!important;line-height:1.12!important;font-weight:500!important;letter-spacing:-.035em!important;text-wrap:balance}
body main h2{font-size:clamp(24px,2.3vw,34px);line-height:1.25;font-weight:500;text-wrap:balance}
body main h3{font-size:22px;line-height:1.35;font-weight:500}
body main p{line-height:1.7}
body main .lede,body main .hero-lede{font-size:clamp(18px,1.6vw,21px);line-height:1.55}
body main .hero-description,body main .entry p,body main .tile .d,body main .entry-intro{font-size:16px;line-height:1.7}
body main .eyebrow,body main .technology,body main .status,body main .chip,body main .release-kicker{font-size:12px;line-height:1.5}
body main .note,body main .entry-help,body main .release-note,body main .journal-footnote,body main .release-subtitle,body main .rail-caption{font-size:14px;line-height:1.65}
body main .table{border:1px solid #25507f;border-radius:8px;overflow:hidden}
body main .trow{gap:20px;padding:18px 22px;line-height:1.6}
body main .trow>span{min-width:0;overflow-wrap:anywhere}
body main table{width:100%;max-width:100%;border-collapse:collapse;table-layout:auto}
body main td,body main th{font-size:16px!important;line-height:1.6!important;padding:16px 20px!important;text-align:left;vertical-align:top;overflow-wrap:anywhere}
body main th{font-weight:600}
body main .stand-table td,body main .stand-table th{white-space:normal}
body main .record-grid{gap:24px}
body main .record-grid>div{padding:16px 0;min-width:0}
body main .record-grid small{font-size:13px;line-height:1.6}
body main .entry-card{padding:clamp(24px,3vw,36px)}
body main .entry-card h2{font-size:30px;line-height:1.25}
body main .entry-card label{font-size:14px}
body main .button,body main .btn,body main button:not(.blueprint){min-height:44px;font-size:15px}
body .site-cta,body main a.button:not(.ghost){background:#ff6a1f;border-color:#ff6a1f}
body .site-top{height:auto!important;min-height:78px;flex-wrap:wrap;padding-block:14px;gap:12px 24px}
body .site-nav a,body .header-nav a,body nav.main a{min-height:44px;display:inline-flex;align-items:center;font-size:14px;padding:10px 12px;line-height:1.5}
body .site-nav{display:flex!important;flex-wrap:wrap;gap:4px}
body .site-cta{min-height:44px}
body .header-inner{min-height:78px;gap:20px}
body .wordmark-text,body .wordmark .word,body .wordmark .word *,body .site-wordmark,body .site-wordmark *{font-family:"Technovier","Work Sans",sans-serif!important;font-weight:400!important;font-style:normal!important;font-synthesis:none!important;letter-spacing:0!important;text-transform:uppercase!important;text-shadow:none!important;-webkit-text-stroke:0!important}
body .wordmark .word,body .site-wordmark{font-size:24px!important;line-height:1!important}
body .wordmark .titan,body .wm-t{color:#ff7600!important}
body .wordmark .dot,body .wm-d{color:#3d8fe0!important;font-size:1em!important}
body .wordmark .atlas,body .wm-a{color:#ffffff!important}
body .portal-art{width:min(380px,100%);height:auto;max-width:100%;filter:none}
.build-notice{position:relative;z-index:20;margin:0!important;padding:14px var(--site-gutter)!important;background:#0a1830!important;border-block:1px solid #1b3a63;backdrop-filter:blur(14px);color:#9db2ce!important;display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;font:500 13px/1.5 "Work Sans",system-ui,sans-serif!important}
.build-notice strong{font-weight:700}
.build-notice a{color:#ff6a1f!important;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
.build-notice [data-evidence-age]{font-size:13px}
.build-notice[data-freshness="STALE"] [data-evidence-age]{font-weight:700}
body[data-route="upgrades"] .hero{padding-block:64px 48px;gap:64px}
body[data-route="upgrades"] .edition{min-height:0;padding:28px}
body[data-route="upgrades"] .day{font-size:88px}
body[data-route="upgrades"] .edition-copy{font-size:16px;line-height:1.65;max-width:none}
body[data-route="upgrades"] .journal{grid-template-columns:220px minmax(0,1fr);gap:40px;padding-block:48px 64px}
body[data-route="upgrades"] .journal-rail{top:170px}
body[data-route="upgrades"] .journal-rail h2{font-size:26px}
body[data-route="upgrades"] .legend p{font-size:14px}
body[data-route="upgrades"] .entries{grid-template-columns:1fr;gap:0}
body[data-route="upgrades"] .entry{padding-block:28px}
body[data-route="upgrades"] .entry h3{max-width:none;margin-block:0 12px}
body[data-route="upgrades"] .entry p{max-width:75ch}
body[data-route="upgrades"] .entry p.entry-evidence{font-size:13px;line-height:1.5;color:#9fb3c8;margin-block:8px 0}
body[data-route="upgrades"] .entry p.entry-evidence code{color:#3d8fe0}
body[data-route="upgrades"] .entry-time{font-size:13px;color:#c8d9ed;line-height:1.5;max-width:100%}
body[data-route="upgrades"] .release-title{font-size:25px;line-height:1.35}
body[data-route="upgrades"] .release>summary{padding:24px;gap:20px}
body[data-route="upgrades"] .release-body{padding-inline:24px}
body[data-route="upgrades"] .hero-description{max-width:58ch}
body .header .header-inner,body .site-header .header-inner{grid-template-columns:auto 1fr;max-width:1200px}
body .header .header-inner .wordmark,body .site-header .header-inner .wordmark{grid-column:1;justify-self:start}
body .header .header-inner .byline,body .site-header .header-inner .byline{grid-column:1;font-size:12px}
body .header .header-inner .header-nav,body .header .header-inner .main-nav,body .site-header .header-inner .header-nav{grid-column:2;grid-row:1/3;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}
@media(max-width:900px){
body[data-route="upgrades"] .hero{grid-template-columns:1fr;gap:28px;padding-block:40px}
body[data-route="upgrades"] .journal{grid-template-columns:1fr;gap:28px}
body[data-route="upgrades"] .journal-rail{position:static}
body .site-top{justify-content:space-between;gap:10px}
body .site-nav{order:3;width:100%;margin:0!important;justify-content:center}
body .site-nav a{padding:10px}
body .site-cta{margin-left:auto;padding:10px 14px}
body .portal-main{padding-block:40px}
body .portal-layout{gap:32px}
body .atlas-docs .wrap.withside{gap:28px}
}
@media(max-width:540px){
:root{--site-gutter:20px}
body .wordmark .word,body .site-wordmark{font-size:22px!important}
body .site-header .header-inner,body .header .header-inner{width:calc(100% - 40px);grid-template-columns:1fr;gap:12px;padding-block:18px}
body .site-header .header-inner .wordmark,body .header .header-inner .wordmark{grid-column:1;justify-self:center}
body .site-header .header-inner .byline,body .header .header-inner .byline{grid-column:1;justify-self:center}
body .site-header .header-inner .header-nav,body .header .header-inner .header-nav,body .header .header-inner .main-nav{grid-column:1;grid-row:auto;justify-content:center;width:100%;gap:0 8px}
body .header-nav a,body nav.main a{padding:10px 8px;white-space:nowrap}
body .site-nav{gap:0}
body .site-nav a{padding:10px 8px;font-size:13px}
body main .trow{grid-template-columns:1fr!important;gap:8px;padding:18px}
body main td,body main th{padding:12px!important;font-size:15px!important}
body main .stand-table{display:block;overflow-x:auto}
body main .stand-table th,body main .stand-table td{min-width:110px}
body .build-notice{gap:5px;padding-block:10px!important}
body[data-route="upgrades"] .release>summary{padding:18px;gap:12px}
body[data-route="upgrades"] .release-body{padding-inline:18px}
body[data-route="upgrades"] .release-title{font-size:22px}
body[data-route="upgrades"] .edition{padding:24px}
body[data-route="upgrades"] .scope{padding-block:18px}
body[data-route="upgrades"] .journal-rail h2{font-size:24px}
body main .record-grid{grid-template-columns:1fr;gap:4px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Explicit layout constraints found by the 320/390px route court. */
body .header .header-inner,body .site-header .header-inner{display:grid}
body .header .header-inner .wordmark,body .site-header .header-inner .wordmark{grid-row:1}
body .header .header-inner .byline,body .site-header .header-inner .byline{grid-row:2}
body .header-nav a{font-size:14px!important}
body main form.sf{max-width:100%;min-width:0}
body main form.sf>*{min-width:0}
body main form.sf input,body main form.sf select,body main form.sf textarea{min-width:0;width:100%;max-width:100%}
body main .tl-marks{flex-wrap:wrap;justify-content:flex-start;gap:8px}
body .public-role-copy{font-size:14px;line-height:1.65;padding:24px var(--site-gutter);max-width:1200px;margin:0 auto;color:#9db2ce}
body>header{position:relative!important;top:auto!important}
body>.build-notice{position:sticky;top:0;z-index:100}
@media(max-width:540px){body .header .header-inner .header-nav,body .site-header .header-inner .header-nav{grid-row:3}
body main form.sf{grid-template-columns:minmax(0,1fr)}}

/* Owner-selected declaration is kept verbatim; evidence freshness stays separate. */
body .owner-build-notice{font-size:14px;line-height:1.6;text-align:left;padding:14px var(--site-gutter);color:#052b55}
body .owner-build-notice .owner-declaration{display:block;font-weight:700}
body .owner-build-notice .build-evidence-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;margin-top:6px;font-size:13px}
body .owner-build-notice a{color:#052b55;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
body .owner-build-notice[data-freshness="STALE"] [data-evidence-age]{font-weight:700}

/* A quiet evidence row stays distinct from the owner's saffron declaration. */
body .titan-owner-chrome + .build-notice{background:#0a1830;color:#9db2ce;border-bottom:1px solid #1b3a63;padding:10px var(--site-gutter);font-size:13px;line-height:1.5}
body .build-notice .build-evidence-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;width:100%}
body .build-notice .build-evidence-row a{color:#ff6a1f;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px}
.foot-ping{color:#35c4b5;font-size:.78rem;letter-spacing:.02em;text-align:center;margin:16px auto 0}
body .site-cta + .site-cta{margin-left:8px}

/* Canonical logo and product-label colors; intentionally excludes body prose. */
body .wordmark-text .titan,body .wordmark .titan,body .wm-t,body .wm .t,body .atlas-brand-label .brand-titan{color:#ff7600!important}
body .wordmark-text .dot,body .wordmark .dot,body .wm-d,body .wm .d,body .atlas-brand-label .brand-dot{color:#3d8fe0!important}
body .wordmark-text .atlas,body .wordmark .atlas,body .wm-a,body .wm .a,body .atlas-brand-label .brand-atlas{color:#ffffff!important}
.atlas-brand-label{white-space:nowrap}

/* Chex bounded public-site repair 2026-10-18: no product-copy or Abilities layout changes. */
body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #7cc0ff!important;outline-offset:4px!important;scroll-margin-block:24px}
.site-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.atlas-repair-footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;width:100%;margin:24px 0 0;padding-top:20px;border-top:1px solid #25507f}
.atlas-repair-footer-links a{display:inline-flex;align-items:center;min-height:44px;color:#a4d6ff!important;font:500 14px/1.5 "Work Sans",system-ui,sans-serif;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
body:has(#atlas-desk-launcher) :is(.foot,.launch-footer,.site-footer){padding-bottom:110px}
body main :is(.meet-card>p,.launch-section>p,.hero-description,.sec-lede){max-width:75ch}
.atlas-repair-menu{display:none}
@media(max-width:820px){
 body .site-top[data-atlas-repair-header]{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px!important;padding:12px 16px!important;min-height:68px!important;height:auto!important}
 body [data-atlas-repair-header] .site-brand{grid-column:1;grid-row:1;flex:1 1 auto!important;justify-content:flex-start!important;min-width:0}
 body [data-atlas-repair-header] .site-cta{grid-column:3;grid-row:1;order:2;flex:0 0 auto;margin:0!important;min-height:44px;font-size:13px;padding:10px 12px}
 body [data-atlas-repair-header] .atlas-repair-menu{grid-column:2;grid-row:1;order:3;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:66px;min-height:44px;margin:0;padding:10px 12px;border:1px solid #55708e;border-radius:8px;background:#0a1830;color:#fff;font:600 14px/1.5 "Work Sans",system-ui,sans-serif;cursor:pointer}
 body [data-atlas-repair-header] .site-nav{grid-column:1/-1;grid-row:2;order:4;flex:0 0 100%;width:100%;margin:0;display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:4px!important;padding:8px 0 0;border-top:1px solid #25507f}
 body [data-atlas-repair-header] .site-nav[hidden]{display:none!important}
 body [data-atlas-repair-header] .site-nav a{flex:1 1 40%;min-height:44px;margin:0;padding:10px 12px;font-size:15px;line-height:1.5}
 body [data-atlas-repair-header] .site-wordmark{font-size:17px!important}
}
@media(max-width:360px){body [data-atlas-repair-header]{grid-template-columns:minmax(0,1fr) auto}body [data-atlas-repair-header] .site-brand{grid-column:1/-1;grid-row:1}body [data-atlas-repair-header] .atlas-repair-menu{grid-column:1;grid-row:2;justify-self:start}body [data-atlas-repair-header] .site-cta{grid-column:2;grid-row:2}body [data-atlas-repair-header] .site-nav{grid-row:3}}
@media(prefers-reduced-motion:reduce){.atlas-repair-menu,.atlas-repair-footer-links a{transition:none!important}}

/* Shared header can contain the legacy second CTA: keep one unambiguous mobile target. */
@media(max-width:820px){body [data-atlas-repair-header] .site-cta[href^="/meet-atlas"]{display:none!important}}
body:has(#atlas-desk-launcher) .footer{padding-bottom:110px}

/* Claire tranche1: readable small captions, wrap real evidence tokens, keep CSP strict. */
body[data-route="upgrades"] :is(.journal-main,.release-body,.entries,.entry){min-width:0}
body[data-route="upgrades"] .entry{overflow-wrap:anywhere}
body[data-route="upgrades"] .entry code{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
body[data-route="resources"] main .resource .eyebrow{font-size:12px!important;line-height:1.5}
body[data-route="abilities"] main :is(.ex-tag,.sx-h,.stand-h,.ctx-out .closed,.it small,.months li,.tl-cap time,.sheet-h,small):not(#stands *){font-size:12px!important;line-height:1.6}
body[data-route="home"] main :is(.demo .tag,.edition-tag){font-size:12px!important;line-height:1.5}
body[data-route="home"] main .editions-line{font-size:14px!important;line-height:1.6;letter-spacing:.03em;text-transform:none}
.site-top .atlas-csp-cta-spacing{margin-right:8px}
.atlas-csp-plan-note{max-width:72ch;color:#b5b5b5}

/* One existing variable Work Sans face for every route using the shared shell. */
@font-face{font-family:"Work Sans";src:url("/fonts/work-sans.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}

/* ===== 2026-10-19 harmonize v3: universal 1200px column ===== */
/* Scene content lands on the same left edge as .wrap at every width.
   .scene box caps at 1720px centred: cap 260px inset above 1720px viewport,
   tracks calc(50% - 600px) below it, floor = gutter on small screens. */
.scene {
  padding-inline: min(260px, max(var(--site-gutter, 32px), calc(50% - 600px)));
}
/* Hero: atlas-home-motion-v1.css sets #hero{max-width:1520px;padding-inline:4vw}
   with ID specificity and loads later, so override with .scene#hero (1,1,0). */
.scene#hero {
  max-width: 1720px;
  padding-inline: min(260px, max(var(--site-gutter, 32px), calc(50% - 600px)));
}
/* Sub-page hero: assets/site.css caps .page-hero at 990px and centres it,
   which pushed About/Trust/How-it-works headings ~105px right of the column. */
.page-hero { max-width: none; }
.page-hero.has-aside { max-width: none; }

/* ===== 2026-10-19 harmonize v6: hero joins the column ===== */
/* body[data-route="home"] #hero in atlas-home-motion-v1.css is (1,1,1);
   out-specify it so the hero lands on the same 1200px content edge. */
body[data-route="home"] .scene#hero {
  max-width: 1720px;
  padding-inline: min(260px, max(var(--site-gutter, 32px), calc(50% - 600px)));
}


/* ===== 2026-10-19 harmonize pass v2-mirrored: one page measure, one clean footer ===== */

/* Footer content rides the same 1200px column as the body */
.footer-grid.wrap,
.footer-bottom.wrap,
.estate-notice.wrap,
.footer .wrap {
  width: min(1200px, calc(100% - var(--site-gutter, 32px) * 2)) !important;
  margin-inline: auto;
}

/* Scenes align their content column to the same left edge as .wrap.
   Scene box is capped at 1720px and centred, so above 1720px viewport the
   inset is a fixed 260px; below that it tracks the viewport edge. */
.scene {
  padding-inline: min(260px, max(var(--site-gutter, 32px), calc(50% - 600px)));
}

/* Every section container rides the same 1200px column */
.explore {
  width: min(1200px, calc(100% - var(--site-gutter, 32px) * 2));
  max-width: none;
  padding-inline: 0;
}
.editions-inner { max-width: 1200px; }
.launch-home-card {
  width: min(1200px, calc(100% - var(--site-gutter, 32px) * 2));
  max-width: none;
  margin-inline: auto !important;
  box-sizing: border-box;
}

/* Footer breathing room */
.footer { padding-bottom: 8px; }
.footer-grid.wrap { padding-block: 48px; }
.footer-grid .brand { margin-bottom: 4px; }

/* SynOct badge: signature, not billboard */
.sy-titans__img { max-width: 150px !important; height: auto; }

/* Titan sigil strip: quiet signature instead of a second billboard.
   !important: titan-footer-v2-20261011.css loads after this file. */
.titan-footer.titan-footer {
  padding: 44px 0 36px !important;
  text-align: center;
}
.titan-footer.titan-footer .titan-footer__mark {
  width: 84px !important;
  max-width: 84px !important;
  margin-left: 0 !important;
}
.titan-footer.titan-footer .titan-footer__word {
  font-size: clamp(26px, 3vw, 40px) !important;
  margin: 14px 0 8px;
}
.titan-footer.titan-footer .titan-footer__line2 {
  font-size: clamp(13px, 1.4vw, 18px) !important;
  letter-spacing: 0.12em;
}
.titan-footer.titan-footer .titan-footer__rule {
  width: 120px !important;
  height: 2px !important;
  margin: 14px auto;
}
.titan-footer.titan-footer .titan-footer__hosting {
  font-size: 12px;
  opacity: 0.75;
}

/* Bottom bar: calm */
.footer-bottom.wrap { padding-block: 18px; font-size: 11px; }

/* Pings line + estate notices: quiet legal strip */
.foot-ping {
  text-align: center;
  font-size: 12px;
  color: #6d81a0;
  margin: 10px auto 4px;
}
.estate-notice.wrap {
  border-top: 0;
  padding-top: 0;
  font-size: 11px;
  line-height: 1.6;
  color: #6d81a0;
  margin-block: 10px;
}
.public-role-copy {
  width: min(1200px, calc(100% - var(--site-gutter, 32px) * 2));
  margin: 14px auto;
  padding-inline: 0;
  font-size: 11px;
  line-height: 1.6;
  color: #6d81a0;
}

/* Legal link row: one tidy centered line.
   flex-direction is required: .footer nav sets column. */
nav.atlas-repair-footer-links {
  width: min(1200px, calc(100% - var(--site-gutter, 32px) * 2));
  margin: 18px auto 26px;
  padding-top: 16px;
  border-top: 1px solid #1b3a63;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 26px;
  font-size: 12px;
}
nav.atlas-repair-footer-links a { white-space: nowrap; min-height: auto; }

/* ===== 2026-10-19 bottom rail, remaining items, on top of the harmonize pass v2 (atlas-standard-footer.css ?v=20261019-4) =====
   The harmonize passes put the section scenes, the Explore block, the footer and its notices on one rail (the page minus
   the site gutter each side, up to 1200px, centred). Five things are still off it (1 to 3 on every page that loads this file, 4 and 5 on the home page only).
   Each rule below is independent. */

/* 1. Editions block: its own side padding puts the cards 17px left of the rail at 1024px, 11px at 1280px, 6px at 768px
      and 2px at 390px. */
.editions-showcase{padding-inline:0}
.editions-showcase .editions-inner{width:min(1200px,calc(100% - var(--site-gutter,32px) * 2));max-width:none;margin-inline:auto}

/* 2. The role paragraph in the footer keeps the page gutter as inner padding, so its text starts a gutter inside the
      rail (64px at 1920). */
html body .public-role-copy{padding-inline:0}

/* 3. TITANS lockup. Left edge on the rail under the SynOct badge, in a 224px box (the tagline and the hosting link each
      stay on one line); its contents stay centred inside that box. Sizes go back to the 11 Oct owner ruling in
      titan-footer-v2-20261011.css ("make it smaller ... blended into the background of the page it's on. EVERY site."):
      the harmonize pass set the word to 26-40px and the tagline to 13-18px, about twice the ruled size, which also
      wraps the tagline onto two lines from 1024px up. */
.footer-grid .titan-footer.titan-footer{width:224px;max-width:100%;margin:0;padding:24px 0 0!important}
.footer-grid .titan-footer.titan-footer .titan-footer__mark{width:85px!important;max-width:85px!important;margin-inline:auto!important}
.footer-grid .titan-footer.titan-footer .titan-footer__word{font-size:clamp(16px,1.4vw,22px)!important;margin:6px 0 0}
.footer-grid .titan-footer.titan-footer .titan-footer__rule{width:clamp(56px,5vw,84px)!important;height:2px!important;margin:6px auto}
.footer-grid .titan-footer.titan-footer .titan-footer__line2{font-size:clamp(9px,.75vw,11px)!important;letter-spacing:.26em}
.footer-grid .titan-footer.titan-footer .titan-footer__hosting{font-size:11px;opacity:1}

/* 4. Home page, "Your world has a history" section (#time). atlas-home-motion-v1.css caps it at 1440px centred with 4vw side
      padding, so its text starts 43px left of the rail at 1920px and 62px at 1440px. Same padding formula the harmonize pass
      used for the hero (box capped at 1720px; inset = rail). */
body[data-route="home"] #time{max-width:1720px;padding-inline:min(260px,max(var(--site-gutter,32px),calc(50% - 600px)))}

/* 5. Home page, "Where she stands" fold (#state). The summary line, the heading block and the opened table sit on 5vw padding inside a 1720px box,
      164px left of the rail at 1920px. Put the summary and the heading text on the rail, and the table box itself. */
body[data-route="home"] .stateFold summary{padding-inline:max(var(--site-gutter,20px),calc(50% - 600px))}
body[data-route="home"] .state .sec-head{max-width:none;margin-inline:0;padding-inline:max(var(--site-gutter,20px),calc(50% - 600px))}
body[data-route="home"] .state .table{box-sizing:border-box;width:min(1200px,calc(100% - var(--site-gutter,20px) * 2));max-width:none;margin-inline:auto;padding-inline:0}

/* ===== 2026-10-19 rail v9: specificity fixes ===== */
/* #time: motion-v1's body[data-route="home"] #time is (1,1,1) and loads after
   this file — win on specificity, not order. #time carries class "scene". */
body[data-route="home"] .scene#time {
  max-width: 1720px;
  padding-inline: min(260px, max(var(--site-gutter, 32px), calc(50% - 600px)));
}
/* Editions: editions-showcase.css and site-polish.css (both later, same 0,1,0)
   re-apply side padding — raise specificity and pin the inner grid to the rail. */
body .editions-showcase.editions-showcase { padding-inline: 0; }
body .editions-showcase .editions-inner {
  width: min(1200px, calc(100% - var(--site-gutter, 32px) * 2));
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}

/* 2026-10-19 sub-page column: the shared footer (titan-footer.css, --tf-width) and the home sections sit on a 1280px column, the .wrap pages were still on 1200px (page headings 40px right of the footer at 1440px and up). */
:root{--site-reading:max(1280px,70vw)}
/* Home, "Where she stands": the shared design now puts .state itself on the column, so the older inner offsets (a gutter of padding and a 64px table margin) double up. Text, heading and table start on the column edge. */
body[data-route="home"] .stateFold summary{padding-inline:0}
body[data-route="home"] .state .sec-head{padding-inline:0}
body[data-route="home"] .state .table{width:auto;max-width:none;margin-inline:0}

/* 2026-10-20 Dark.Matter gets her own mark: the shared ribbon renderer paints one orb into both the Atlas and Dark.Matter cards. Hue-shift the beta seat so the three cards read as three. */
/* 2026-10-20 sisters spin: each marks painted pearl rotates gently in place. */
.edition-stage .consciousness-mark,.consciousness-hero{overflow:hidden;border-radius:50%}
body.titan-standard .edition-stage .consciousness-mark{top:50%;bottom:auto;left:50%;right:auto;width:88%;height:auto;aspect-ratio:1/1;transform:translate(-50%,-50%)}
.consciousness-mark.ribbon-rendered::before{display:none}
@media (prefers-reduced-motion:no-preference){.edition-stage .consciousness-mark canvas,.consciousness-hero .consciousness-canvas{animation:titan-orb-spin 44s linear infinite;transform-origin:50% 50%}}
@keyframes titan-orb-spin{to{transform:rotate(360deg)}}

.hub-subnav{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding:14px 0 0;font-size:14px}
.hub-subnav .hub-subnav-label{font-weight:800;letter-spacing:.16em;font-size:11px;color:#ffae6a}
.hub-subnav a{color:#dfe9f2;text-decoration:none;border-bottom:1px solid rgba(161,199,235,.35)}
.hub-subnav a:hover{color:#fff}


/* 2026-10-20 Papa nav: white items, orange | separators, current = orange with white | */
body[data-site-shell] .site-nav{display:flex;align-items:center}
body[data-site-shell] .site-nav a{color:#fff!important;background:none!important;border-radius:0!important}
body[data-site-shell] .site-nav a:not(:first-child)::before{content:"|";color:#ff6a1f;display:inline-block;margin:0 11px;font-weight:400}
body[data-site-shell] .site-nav a[aria-current="page"]{color:#ff8117!important}
body[data-site-shell] .site-nav a[aria-current="page"]::before{color:#fff!important}
body[data-site-shell] .site-nav a:hover{color:#ff8117!important}
.site-brand{display:inline-flex;align-items:center;gap:12px}
#siteHeaderOrb{width:30px;height:30px;flex:none;position:relative;border-radius:50%;overflow:hidden;display:inline-block}
#siteHeaderOrb .consciousness-canvas,#dlHeroOrb .consciousness-canvas{width:100%!important;height:100%!important;display:block}

.nine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}
.nine-tile{border:1px solid #293b45;border-radius:12px;background:#111c23;padding:18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.nine-orb{width:110px;height:110px;object-fit:cover;border-radius:50%}
.nine-meta b{display:block;font-size:17px;color:#f3f6f7}
.nine-os{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:#a8b8c2;margin-top:2px}
.nine-ed{display:inline-block;margin-top:6px;padding:2px 9px;border:1px solid #ff811766;border-radius:999px;font:600 9px/1.6 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.2em;text-transform:uppercase;color:#ff9a4d}
.nine-st{display:block;margin-top:8px;font-size:12px;color:#7e919c}
.nine-st.live{color:#9fe3b0}
@media(max-width:900px){.nine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.nine-grid{grid-template-columns:1fr}}

.ollie-card{display:flex;align-items:center;gap:26px;border:1px solid #293b45;border-radius:14px;background:#111c23;padding:24px 28px}
.ollie-icon{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:none}
.ollie-card h3{margin:6px 0 8px}
.ollie-card p{color:#a8b8c2;margin:0 0 10px}
@media(max-width:560px){.ollie-card{flex-direction:column;text-align:center}}

/* symmetric nav separators + leading pipe for first-item current */
body[data-site-shell] .site-nav a{padding-inline:0!important}
body[data-site-shell] .site-nav a:not(:first-child)::before{margin:0 12px!important}
body[data-site-shell] .site-nav a[aria-current="page"]:first-child::before{content:"|";display:inline-block;color:#fff!important;margin:0 12px 0 0!important}
/* Cleo: canvas square inside non-square stage */
body.titan-standard .edition-stage>canvas#face{height:100%!important;width:auto!important;aspect-ratio:1/1;max-width:100%;display:block;margin-inline:auto}
/* header orb: dont squeeze wordmark on phones */
@media(max-width:560px){body[data-site-shell] #siteHeaderOrb{width:22px!important;height:22px!important}body[data-site-shell] .site-brand{gap:8px!important}}
/* footer: hosting link = own column; ping line orange */
body #titan-standard-footer .footer-family>a.titan-footer__hosting{align-self:center;flex:0 0 auto;margin:0!important}
body #titan-standard-footer .footer-family .foot-ping,body[data-site-shell] .foot-ping{color:#ff8117!important}
/* about: Ollie hero card + full-width disclosures */
body[data-site-shell] .page-hero.about-hero{display:grid!important;grid-template-columns:1.25fr .75fr;gap:44px;align-items:center}
body[data-site-shell] .about-hero .ollie-card{background:linear-gradient(150deg,#14243d,#0a1830);border:1px solid #2a4a6e;border-radius:18px;padding:32px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}
body[data-site-shell] .about-hero .ollie-card img{width:150px;height:150px;object-fit:contain}
body[data-site-shell] .about-hero .ollie-card h2{font-family:var(--font-h,"Work Sans",sans-serif);font-size:24px;font-weight:800;color:#f2f7ff;margin:0}
body[data-site-shell] .about-hero .ollie-card p{color:#b9c8dc;font-size:15px;line-height:1.6;margin:0}
body[data-site-shell] .about-hero .ollie-card a{color:#ff8117;text-decoration:none;font-weight:700}
body[data-site-shell] .about-hero .ollie-card .eyebrow{margin:0}
@media(max-width:960px){body[data-site-shell] .page-hero.about-hero{grid-template-columns:1fr}}
body[data-site-shell] .disclosures{max-width:none!important}


/* === titan-shared-header r2 20261020 ===
   One rail for the shared header on every public page: --site-reading capped by --site-gutter
   (inner pages used the full-bleed shell padding, home used --titan-width; same numbers, one seam). */
body[data-site-shell] .site-top{padding-inline:max(var(--site-gutter),calc((100% - var(--site-reading))/2))!important}
body.titan-standard .site-top{padding-inline:max(var(--titan-gutter),calc((100% - var(--site-reading))/2))!important}

/* same brand size on every page (home target) */
body[data-site-shell] .site-brand .site-wordmark{font-size:26px!important}

/* top menu: Work Sans 15px, weight 500, line-height 1.5, gap 0, link padding-inline 0,
   orange pipes with a 12px margin each side, current page keeps a white leading pipe (incl. first item) */
body[data-site-shell] .site-nav{gap:0!important}
body[data-site-shell] .site-nav a{font-family:"Work Sans",system-ui,sans-serif!important;font-size:15px!important;font-weight:500!important;line-height:1.5!important;padding-inline:0!important}
body[data-site-shell] .site-nav a:not(:first-child)::before{margin:0 12px!important}
/* reserved invisible leading pipe keeps nav width identical across current-page variations;
   only a current first item shows it white */
body[data-site-shell] .site-nav a:first-child::before{content:"|";display:inline-block;visibility:hidden;margin:0 12px 0 0!important}
body[data-site-shell] .site-nav a[aria-current]:first-child::before{visibility:visible;color:#fff!important}
body[data-site-shell] .site-nav a[aria-current="true"]{color:#ff8117!important}
body[data-site-shell] .site-nav a[aria-current="true"]::before{color:#fff!important}

/* uniform header dimensions across page shells (home was 84px, inner pages 80px) */
@media(min-width:1201px){
  body[data-site-shell] .site-top{height:84px!important;min-height:84px!important;box-sizing:border-box!important;padding-block:0!important;gap:20px!important}
  body.titan-standard .site-top{height:84px!important;min-height:84px!important;box-sizing:border-box!important;padding-block:0!important;gap:20px!important}
  body[data-site-shell] .site-top .site-nav a[href]{display:inline-flex!important}
}
/* 821-1200px: explicit two-row header so the CTA never orphans and nothing overflows */
@media(min-width:821px) and (max-width:1200px){
  body[data-site-shell] .site-top{flex-wrap:wrap;row-gap:8px;height:auto!important;min-height:84px!important;padding-block:12px!important}
  body[data-site-shell] .site-top .site-nav{order:3;flex:0 0 100%;justify-content:flex-start}
  body[data-site-shell] .site-top .site-nav a[href]{display:inline-flex!important}
}
/* <=820px: existing menu toggle / mobile rules stay in charge; no pipes anywhere */
@media(max-width:820px){
  body[data-site-shell] .site-nav a::before{display:none!important}
}
/* 821px+: desktop nav is always visible on every shell (defeats legacy
   titan-standard hide-at-1150 and stray hide-Engineering rules) */
@media(min-width:821px){
  body[data-site-shell] .site-top .site-nav{display:flex!important}
  body[data-site-shell] .site-top .atlas-repair-menu{display:none!important}
}

/* downloads: the main wrapper joins the shared rail; inner copy keeps its readable widths */
body[data-route="downloads"] main.meet>.in{width:min(var(--site-reading),calc(100% - var(--site-gutter)*2));max-width:none;box-sizing:border-box}

/* about: Ollie on his own teal/blue card, 260px picture, stacks on narrow screens */
body[data-site-shell] .about-hero .ollie-card{background:linear-gradient(150deg,#0f4c5c,#0a2547)!important;border:1px solid #2a6f8e!important}
body[data-site-shell] .about-hero .ollie-card img{width:260px!important;height:260px!important;object-fit:contain}
@media(max-width:960px){body[data-site-shell] .page-hero.about-hero{grid-template-columns:1fr}body[data-site-shell] .about-hero .ollie-card{justify-self:center;max-width:440px;width:100%}}

/* platform: nine art tiles at up to 240px (Ubuntu and Mac sources unchanged) */
body[data-site-shell] .nine-orb{width:min(240px,100%);height:auto;aspect-ratio:1/1;border-radius:16px}

/* family strip: SynOct logo | Titans | Hosted by | orange ping - every logo and name a link, Work Sans for Titans */
.family-strip{display:flex;align-items:center;flex-wrap:wrap;gap:18px 40px}
.family-strip__synoct{display:inline-block}
.family-strip__synoct-img{display:block;width:184px;height:auto;max-width:46vw}
.family-strip__titans{display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.family-strip__sigil{width:40px;height:40px;flex:none}
.family-strip__word{font-family:"Work Sans",sans-serif;font-weight:700;font-size:20px;color:#f2f7ff;letter-spacing:.02em}
.family-strip__tag{font-family:"Work Sans",sans-serif;font-size:14px;white-space:nowrap}
.family-strip__tag .fs-b{color:#fff}.family-strip__tag .fs-y{color:#ffb347}.family-strip__tag .fs-w{color:#9db2ce}
.family-strip__hosted{margin:0;display:flex;flex-direction:column;gap:2px;font:13px/1.4 "Work Sans",sans-serif;color:#9db2ce}
.family-strip__hosted a{color:#dfe9f2}
.family-strip__hosted a:hover{color:#ff8117}
.family-strip__ping{margin:0 0 0 auto;font:15px/1.5 "Work Sans",sans-serif;color:#ff8117}
@media(max-width:720px){.family-strip{flex-direction:column;align-items:flex-start;gap:14px}.family-strip__ping{margin-left:0}}
/* follow-up: protect ping color from page-shell .footer p rules */
.family-strip .family-strip__ping{color:#ff8117!important}

/* === true 70vw rail law 20261020 ===
   Desktop (>=1280): the shared reading rail is exactly 70vw (no 1280px floor).
   Below 1280: near-full width inside the gutters, unchanged. */
/* important on the custom properties: titan-foundation.css and titan-footer.css
   load after this file and re-declare the same vars unconditionally */
@media(min-width:1280px){
  :root{--site-reading:70vw!important;--titan-width:70vw!important}
  body #titan-standard-footer{--tf-width:70vw!important}
}
@media(max-width:1279px){
  :root{--site-reading:calc(100% - var(--site-gutter,32px)*2)!important;--titan-width:calc(100% - var(--titan-gutter,32px)*2)!important}
  body #titan-standard-footer{--tf-width:calc(100% - var(--titan-gutter,32px)*2)!important}
}
/* outer containers that were pinned to the old 1200px literal now ride the rail */
body .footer-grid.wrap,body .footer-bottom.wrap,body .estate-notice.wrap,body .footer .wrap,
body .explore,body .launch-home-card,body .public-role-copy,body nav.atlas-repair-footer-links,
body .editions-showcase .editions-inner,body .editions-inner{
  width:min(var(--site-reading),calc(100% - var(--site-gutter,32px)*2))!important;
  max-width:none!important;margin-inline:auto;box-sizing:border-box}
/* >=1280: the primary main column and known capped content wrappers join the rail.
   (below 1280 main keeps its natural full-bleed box; inner caps are unchanged) */
@media(min-width:1280px){
  body[data-site-shell] main,body.titan-standard main{
    width:min(var(--site-reading),calc(100% - var(--site-gutter,32px)*2))!important;
    max-width:none!important;margin-inline:auto;box-sizing:border-box}
  /* wrappers inside the railed main must fill it, not re-apply the viewport gutter */
  body[data-site-shell] main>.in,body.titan-standard main>.in,
  body[data-site-shell] main .page-hero,body.titan-standard main .page-hero,
  body[data-site-shell] main .hero .wrap,body.titan-standard main .hero .wrap,
  body[data-site-shell] main .meet>.in,body.titan-standard main .meet>.in,
  body[data-route="home"] main .scene,body[data-route="home"] main .scene#hero,body[data-route="home"] main .scene#time,
  body[data-site-shell] main .editions-inner,body.titan-standard main .editions-inner,
  body.titan-standard[data-route="home"] main #editions > .editions-inner,
  body.titan-standard[data-route="home"] main .editions-showcase > .editions-inner{
    width:100%!important;max-width:none!important;margin-inline:0!important}
}
/* home scenes/hero: the 1720px cap with computed insets becomes the rail itself at >=1280 */
@media(min-width:1280px){
  body .scene,body .scene#hero,body[data-route="home"] .scene#hero,body[data-route="home"] .scene#time{
    max-width:var(--site-reading)!important;margin-inline:auto;padding-inline:0!important}
  body[data-route="home"] .stateFold summary,body[data-route="home"] .state .sec-head{padding-inline:0!important}
}
/* 1280-1599: 70vw cannot fit brand+nav+CTA in one row -> explicit two-row header
   (821-1200 two-row rule above stays; 1201-1279 keeps the single 84px row) */
@media(min-width:1280px) and (max-width:1599px){
  body[data-site-shell] .site-top{flex-wrap:wrap;row-gap:8px;height:auto!important;min-height:84px!important;padding-block:12px!important}
  body[data-site-shell] .site-top .site-nav{order:3;flex:0 0 100%;justify-content:flex-start}
}
/* single 84px row only where it fits: 1201-1279 and >=1600 */
@media(min-width:1201px) and (max-width:1279px){
  body[data-site-shell] .site-top,body.titan-standard .site-top{height:84px!important;min-height:84px!important;box-sizing:border-box!important;padding-block:0!important;gap:20px!important;flex-wrap:nowrap}
}
@media(min-width:1600px){
  body[data-site-shell] .site-top,body.titan-standard .site-top{height:84px!important;min-height:84px!important;box-sizing:border-box!important;padding-block:0!important;gap:20px!important;flex-wrap:nowrap}
}
/* === end 70vw rail === */

/* === navigation font alias + canonical CTA 20261020 ===
   Alias guarantees the existing shared Work Sans variable file is what the header
   uses (a computed family name alone does not prove the file loaded).
   Same file as the existing "Work Sans" face - no new font, no bundled font. */
@font-face{font-family:"TitanNavigation";src:url("/fonts/work-sans.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
body[data-site-shell] .site-top .site-nav a,body[data-site-shell] .site-top .site-nav a::before,
body.titan-standard .site-top .site-nav a,body.titan-standard .site-top .site-nav a::before{
  font-family:"TitanNavigation","Work Sans",system-ui,sans-serif!important;
  letter-spacing:normal!important;text-transform:none!important}
body[data-site-shell] .site-top .site-cta,body.titan-standard .site-top .site-cta{
  font-family:"TitanNavigation","Work Sans",system-ui,sans-serif!important}
/* canonical header CTA on every shell: exactly one Get Atlas link
   (Meet's 8px margin is removed), pinned to the rail's right edge */
body[data-site-shell] .site-top .site-cta,body.titan-standard .site-top .site-cta{
  display:inline-flex;align-items:center;font-size:14px!important;font-weight:600!important;
  line-height:1.5!important;min-height:44px;padding:10px 16px!important;margin:0 0 0 auto!important}
/* owner banner metrics follow the home shell on every route: the default face is
   rem-based, so pages with a larger root font-size were inflating the banner
   (abilities: ~15px/42.7px tall vs home 11px/37.5px -> header sat ~5px low).
   Same orange/navy text, same padding - metrics only. */
body .titan-owner-banner{font-size:11px!important;line-height:1.5!important;padding-block:10px!important}
/* === end navigation font + CTA === */

/* === railed-main inner wrappers 20261020 ===
   main is the rail at >=1280, so direct wrap-level children must fill it,
   not re-apply the viewport gutter (double inset). Inner card/copy caps stay. */
@media(min-width:1280px){
  body[data-site-shell] main>.wrap,body.titan-standard main>.wrap,
  body[data-site-shell] main>.in>.wrap,body.titan-standard main>.in>.wrap,
  body[data-site-shell] main>.state,body.titan-standard main>.state,
  body[data-site-shell] main .wrap,body.titan-standard main .wrap,
  body[data-site-shell] main .state .table,body.titan-standard main .state .table,
  body[data-site-shell] main .cta,body.titan-standard main .cta{
    width:100%!important;max-width:none!important;margin-inline:0!important}
}
/* === end railed-main inner wrappers === */

/* why-atlas joins the shared rail; its copy is uncapped inside it */
body main.why-atlas{width:min(var(--site-reading),calc(100% - var(--site-gutter)*2));padding-inline:0;max-width:none}
body main.why-atlas .why-atlas-copy{max-width:none}
/* wide text sections become readable columns; about disclosures pair up */
@media(min-width:1400px){
  body main.meet>.in>section.meet-card{column-count:2;column-gap:56px}
  body main.meet>.in>section.meet-card p{break-inside:avoid;margin-top:0}
  body[data-route="about"] .disclosures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px}
}
/* phone grid: brand row, then Menu+CTA row — extends the <=360 two-row layout to 560 */
@media(max-width:560px){
  body[data-site-shell] .site-top[data-atlas-repair-header]{grid-template-columns:minmax(0,1fr) auto!important}
  body[data-site-shell] .site-top[data-atlas-repair-header] .site-brand{grid-column:1/-1;grid-row:1;justify-self:start;min-width:0;max-width:100%}
  body[data-site-shell] .site-top[data-atlas-repair-header] .atlas-repair-menu{grid-column:1;grid-row:2;justify-self:start}
  body[data-site-shell] .site-top[data-atlas-repair-header] .site-cta{grid-column:2;grid-row:2;justify-self:end;margin:0!important}
  body[data-site-shell] .site-top[data-atlas-repair-header] .site-nav{grid-column:1/-1;grid-row:3}
}
/* family strip fills the railed footer parent; phone wraps the unbreakable tag */
body[data-site-shell] .footer-family>.family-strip{flex:1 1 100%;width:100%;min-width:0}
@media(max-width:560px){
  body[data-site-shell] .family-strip__titans{flex-wrap:wrap;max-width:100%}
  body[data-site-shell] .family-strip__tag{flex-basis:100%}
}
/* === end titan-shared-header r2 === */









