/* Public presentation additions. No remote fonts, trackers or new runtimes. */
.public-site { --gold:#e5d0a4; --muted:#b5c8c0; }
.public-site ::selection { background:#b6ebc0; color:#06231a; }
.public-site :where(main, section, article, aside, .section-heading > *, .command-preview) { min-width:0; }
.public-site :where(p, h1, h2, h3, a, button) { overflow-wrap:break-word; }
.public-site .eyebrow { font-size:12px; }
.public-site .card-number { font-size:11px; }
.public-site :where(.section-heading>p,.capability-card p,.editorial-grid p,.editorial-aside p) { font-size:15px; }
.public-site :where(.public-nav a,.footer-links a) { font-size:13px; }
.public-site .public-header { background:#061311f5; }
.public-site .expedition-hero { background:radial-gradient(ellipse at 85% 12%,#446c5e 0,transparent 52%),linear-gradient(165deg,#062423,#081410 75%); }
.public-site .hero-landscape { background:radial-gradient(ellipse at 80% 0,#6ec69626 0,transparent 65%); }
.public-site .hero-copy { position:relative; }
.public-site .hero-copy h1 { text-shadow:0 5px 50px #04100c60; }
.public-site .hero-note { font-size:12px; }
.public-site .hero-caption { font-size:10px; }
.public-site .hero-coordinate { font-size:10px; }

/* A real, native table of contents; no auto-scroll, pinned scenes or scroll-jack. */
.public-wayfinder { position:sticky; top:0; z-index:6; display:flex; align-items:center;
  justify-content:space-between; gap:24px; padding:16px max(32px,calc((100vw - 1176px)/2));
  background:#061311f5; border-block:1px solid #b6ebc025; }
.public-wayfinder > span { white-space:nowrap; font:10px/1.5 ui-monospace,monospace; letter-spacing:.12em; color:var(--gold); }
.public-wayfinder > div { display:flex; align-items:center; gap:30px; }
.public-wayfinder a { display:inline-flex; gap:10px; min-height:44px; align-items:center;
  font-size:12px; text-decoration:none; color:var(--muted); border-bottom:1px solid transparent; }
.public-wayfinder a span { font:10px ui-monospace,monospace; color:var(--gold); }
.public-wayfinder a:hover,.public-wayfinder a[aria-current="location"] { color:var(--accent); border-bottom-color:var(--accent); }
.public-site :where(#experience,#capabilities,#living-sky,#maine-ai) { scroll-margin-top:100px; }

/* Supporting pages now carry the same landscape, restrained motion and scale. */
.public-site.public-subpage main { isolation:isolate; position:relative; }
.public-horizon { pointer-events:none; position:absolute; z-index:-1; inset:0 0 auto;
  height:660px; overflow:hidden; background:radial-gradient(ellipse at 90% 0,#255f50 0,transparent 65%); }
.public-horizon picture,.public-horizon img { display:block; width:100%; height:100%; }
.public-horizon img { object-fit:cover; object-position:70% 38%; opacity:.32; }
.public-horizon::after { content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,#061311ed,transparent 95%),linear-gradient(0deg,#061311,transparent 80%); }
.public-horizon-aurora { position:absolute; inset:-10% 0 0 25%; opacity:.23; mix-blend-mode:screen; }
.public-horizon-aurora video { width:100%; height:100%; object-fit:cover; }
.public-site.public-subpage .editorial-hero { padding-top:85px; padding-bottom:85px; }
.public-site.public-subpage .editorial-hero h1 { font-size:clamp(3rem,6.1vw,5.7rem); max-width:800px; }
.public-site .editorial-aside { background:#10291fdc; border-top:2px solid #b6ebc06b;
  box-shadow:0 16px 55px #0002; }
.public-site .editorial-grid article { background:linear-gradient(130deg,#1b362655,#081d16); }
.public-site .editorial-grid .text-link { display:inline-block; margin-top:12px; font-size:13px; }
.public-site .public-breadcrumb { flex-wrap:wrap; align-items:center; min-height:52px; }

/* Never expose a stale previously played frame as a different selected state. */
[data-cinema] video { visibility:hidden; }
[data-cinema][data-playback="playing"] video,
[data-cinema][data-playback="paused"] video { visibility:visible; }
[data-cinema] { background:radial-gradient(ellipse at 65% 5%,#356d5877,transparent 68%),#041512; }
[data-cinema] [data-cinema-poster] { position:absolute; inset:0; display:block;
  width:100%; height:100%; object-fit:cover; }
[data-cinema][data-playback="playing"] [data-cinema-poster] { visibility:hidden; }
.hero-aurora,.public-horizon-aurora { background:transparent; }
.motion-stage { background:radial-gradient(ellipse at 30% 0,#517b5970,transparent 70%),#041512; }
.motion-stage-caption { min-height:300px; }
.motion-stage-caption strong { max-width:100%; }
.motion-readout { display:flex; justify-content:space-between; align-items:center; gap:20px;
  min-height:58px; border-top:1px solid var(--line); }
.public-site .motion-status { font-size:12px; margin:12px 0; }
.motion-readout button { flex-shrink:0; min-height:44px; padding:9px 14px; background:transparent;
  border:1px solid #8db792; border-radius:6px; color:var(--accent); font-size:12px; }
.public-site .state-controls button { min-height:52px; font-size:13px; }
.public-site .motion-help { font-size:12px; }
.public-site .motion-control-dock { min-height:44px; font-size:12px; }
.public-site .preview-top { flex-wrap:wrap; }
.public-site .preview-bottom { font-size:10px; flex-wrap:wrap; }
.public-site .demo-disclosure { font-size:10px; }
.public-site .demo-fallback { grid-column:1/-1; padding:10px; font-size:13px; }
.public-site .capability-card { box-shadow:inset 0 1px 0 #e8f0d507; }
.public-site .capability-card:focus-visible { outline-offset:-5px; }
.public-site .capability-card:hover { box-shadow:inset 0 1px 0 #d3edc928,0 14px 40px #0002; }
.public-site .faq-list summary { display:list-item; min-height:44px; font-size:16px; }
.public-site .faq-list p { font-size:14px; }
.public-site .closing-section { background:radial-gradient(ellipse at 50% 100%,#41603455,transparent 70%); }
.public-site .public-footer { padding-bottom:90px!important; }

@media(max-width:900px) {
  .public-wayfinder { padding:10px 24px; gap:12px; }
  .public-wayfinder > div { gap:16px; }
  .public-wayfinder > span { display:none; }
  .public-wayfinder > div { width:100%; justify-content:space-between; }
}
@media(max-width:760px) {
  .public-site .public-header { align-items:center; }
  .public-site .public-nav a { min-height:44px; display:inline-flex; align-items:center; }
  .public-site .nav-toggle { min-height:44px; }
  .public-wayfinder { padding:8px 16px; }
  .public-wayfinder a { font-size:11px; gap:5px; }
  .public-wayfinder a span { font-size:9px; }
  .public-site .hero-coordinate { font-size:9px; }
  .public-site .hero-caption { font-size:9px; }
  .public-site.public-subpage .editorial-hero { padding-top:45px; padding-bottom:50px; }
  .public-horizon { height:700px; }
  .public-horizon img { object-position:65% 50%; opacity:.26; }
  .public-horizon-aurora { inset:0 -20% 15% 10%; }
  .motion-readout { align-items:flex-start; flex-direction:column; gap:0; }
  .motion-readout button { margin:0 0 12px; }
  .public-site .maine-compass { max-width:100%; }
  .public-site .footer-links { gap:22px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public-site .footer-links a { min-height:30px; }
  .public-site .footer-links strong { font-size:10px; }
}
@media(max-width:360px) {
  .public-wayfinder a { font-size:10px; }
  .public-wayfinder a span { display:none; }
  .public-site .hero-coordinate { flex-wrap:wrap; font-size:8px; }
  .public-site .button { max-width:100%; gap:12px; }
  .public-site .preview-bottom { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .public-site *, .public-site *::before, .public-site *::after { animation:none!important;
    transition:none!important; scroll-behavior:auto!important; }
  .public-site .button:hover { transform:none; }
}
@media(forced-colors:active) {
  .public-site :where(.button,.capability-card,.editorial-aside,.example-artifact,.state-controls button) { border:1px solid ButtonText; }
  .public-wayfinder a[aria-current] { border-color:LinkText; }
  .public-horizon,.hero-landscape { display:none; }
}
@media print {
  .public-wayfinder,.public-horizon,.motion-readout,.motion-control-dock { display:none!important; }
  .public-site :where(.public-header,.card,.editorial-aside,.capability-card,.example-artifact) { background:#fff!important; color:#000!important; }
  .public-site section { border-bottom:1px solid #999; }
}
/* A preference-enforced, disabled control need not cover the reading surface. */
.public-site .motion-control-dock:disabled {
  position:static; display:block; width:max-content; max-width:calc(100% - 44px);
  margin:0 22px 24px auto; box-shadow:none; backdrop-filter:none;
}
