/*
  DATAMET V2 — homepage + shared page-shell styles (nav, footer, lang
  switcher) used by index.html, /venue/index.html, /automation/index.html.
  Mobile-first: base rules target small screens, larger breakpoints
  layer on top via min-width media queries.
*/
/* ============ NAV ============ */
.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  height: var(--nav-h);
  display: flex;
  align-items: center;
  border-bottom: 1px solid transparent;
  transition: background .3s, border-color .3s, backdrop-filter .3s;
}
.nav.scrolled {
  background: rgba(6,11,21,.78);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom-color: var(--line-d);
}
.nav-inner {
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.logo {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 19px;
  letter-spacing: -.02em;
  display: flex;
  align-items: center;
  gap: 9px;
  flex: none;
}
.logo-mark {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--azure), var(--mint));
  position: relative;
  overflow: hidden;
  flex: none;
}
.logo-mark::after {
  content: "";
  position: absolute;
  inset: 7px 7px 7px 7px;
  border-radius: 4px;
  background: var(--ink);
}
.nav-links {
  display: none;
  align-items: center;
  gap: 44px;
  font-size: 17px;
  font-weight: 600;
  color: #e4ecf8;
}
.nav-links a {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding-inline: 4px;
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
}
@media (hover: hover) and (pointer: fine) {
  .nav-links a:hover,
  .mobile-menu-links a:hover {
    color: var(--mint);
    border-bottom-color: var(--mint);
  }
}
.nav-links a:focus-visible,
.mobile-menu-links a:focus-visible {
  outline: 2px solid var(--mint);
  outline-offset: 4px;
}
.nav-links a[aria-current="page"],
.mobile-menu-links a[aria-current="page"] {
  color: var(--mint);
  border-bottom-color: var(--mint);
}
.nav-right {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex-shrink: 1;
}
.nav .btn {
  padding: 10px 18px;
  font-size: 14px;
  min-height: 40px;
}
/* Hamburger (mobile only) */
.nav-burger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  align-items: center;
}
.nav-burger i {
  display: block;
  width: 22px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: transform .25s, opacity .25s;
}
.nav-burger[aria-expanded="true"] i:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.nav-burger[aria-expanded="true"] i:nth-child(2) {
  opacity: 0;
}
.nav-burger[aria-expanded="true"] i:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
/* Mobile menu panel */
.mobile-menu {
  position: fixed;
  inset: var(--nav-h) 0 0 0;
  background: rgba(6,11,21,.98);
  backdrop-filter: blur(20px);
  z-index: 99;
  padding: 36px 24px 28px;
  display: none;
  flex-direction: column;
  gap: 36px;
  overflow-y: auto;
}
.mobile-menu.open {
  display: flex;
}
.mobile-menu-links {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mobile-menu-links a {
  font-family: var(--font-display);
  font-size: 27px;
  font-weight: 600;
  color: #fff;
  padding: 18px 8px;
  border-bottom: 2px solid var(--line-d);
  min-height: 68px;
  display: flex;
  align-items: center;
}
.mobile-menu-links a[href="#contact"] {
  font-size: 20px;
  font-weight: 500;
}
.mobile-menu-lang {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mobile-menu-brand {
  margin-top: auto;
  padding-top: 28px;
  border-top: 1px solid var(--line-d);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mobile-menu-brand .logo {
  font-size: 16px;
}
.mobile-menu-brand p {
  font-size: 13px;
  color: var(--text-d-dim);
  max-width: 320px;
}
.mobile-menu-brand .mm-copy {
  font-size: 12px;
  color: var(--text-d-dim);
  opacity: .8;
}
.mobile-menu-lang-label {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-d-dim);
}
.mobile-menu-lang-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.mobile-menu-lang-grid button {
  min-height: 48px;
  border: 1px solid var(--line-d);
  border-radius: 12px;
  font-family: var(--font-mono);
  font-weight: 600;
  font-size: 14px;
  color: var(--text-d-dim);
  background: rgba(255,255,255,.03);
}
.mobile-menu-lang-grid button[aria-current="true"] {
  color: #fff;
  border-color: var(--azure);
  background: var(--azure-soft);
}
/* ============ LANG SWITCHER (desktop) ============ */
.lang-switch {
  position: relative;
  display: none;
}
.lang-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 9px 13px;
  border: 1px solid var(--line-d);
  border-radius: 9px;
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--text-d);
  background: rgba(255,255,255,.03);
  min-height: 40px;
}
.lang-btn:hover {
  border-color: rgba(148,178,230,.3);
}
.lang-btn svg {
  width: 12px;
  height: 12px;
  transition: transform .2s;
}
.lang-switch.open .lang-btn svg {
  transform: rotate(180deg);
}
.lang-drop {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 150px;
  background: rgba(10,18,32,.97);
  backdrop-filter: blur(20px);
  border: 1px solid var(--line-d);
  border-radius: 12px;
  overflow: hidden;
  display: none;
  z-index: 200;
  box-shadow: 0 16px 40px rgba(0,5,20,.5);
}
.lang-switch.open .lang-drop {
  display: block;
}
.lang-opt {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  text-align: left;
  padding: 12px 15px;
  font-family: var(--font-mono);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-d-dim);
  min-height: 44px;
}
.lang-opt:hover, .lang-opt:focus-visible {
  background: rgba(255,255,255,.06);
  color: var(--text-d);
}
.lang-opt[aria-current="true"] {
  color: var(--azure);
}
/* ============ FOOTER ============ */
footer {
  border-top: 1px solid var(--line-d);
  background: var(--ink-2);
  padding: 48px 0 32px;
}
.foot-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
.foot-brand {
  min-width: 0;
}
.foot-brand p {
  font-size:15px;
  color: var(--text-d-dim);
  margin-top: 12px;
  max-width: 280px;
  line-height:1.7
}
.foot-col {
  min-width: 0;
}
.foot-col h3 {
  font-family: var(--font-mono);
  font-size:14px;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--text-d-dim);
  margin-bottom: 14px;
  font-weight: 500;
  line-height:1.5
}
.foot-col ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.foot-col a {
  font-size:15px;
  color: #9FB0CA;
}
.foot-col a:hover, .foot-col a:focus-visible {
  color: #fff;
}
/* Company + Legal are each a single link — grouped into one column
   (stacked, with their own headings) instead of two thin, sparse
   columns, to balance against the two-link Product column. */
.foot-col-group {
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-width: 0;
}
.foot-bottom {
  margin-top: 40px;
  padding-top: 22px;
  border-top: 1px solid var(--line-d);
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size:14px;
  color: var(--text-d-dim);
  line-height:1.65
}
/* Legal content and preserved image inspector */
.legal-hero {
  padding: 56px 0 8px;
}
.legal-hero-inner {
  max-width: 720px;
}
.legal-eyebrow {
  font-family: var(--font-mono);
  font-size:14px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--azure);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.legal-eyebrow::before {
  content: "";
  width: 22px;
  height: 1px;
  background: var(--azure);
}
.legal-hero h1 {
  font-size: clamp(28px, 6.5vw, 42px);
  line-height: 1.18;
  margin-bottom: 12px;
}
.legal-updated {
  font-family: var(--font-mono);
  font-size:14px;
  color: var(--text-d-dim);
  letter-spacing: .03em;
  line-height:1.65
}
.legal-section {
  padding: 24px 0 64px;
}
.legal-content {
  max-width: 780px;
}
.legal-highlight {
  background: linear-gradient(160deg, rgba(78,140,255,.10), rgba(59,217,196,.07));
  border: 1px solid rgba(78,140,255,.3);
  border-left: 3px solid var(--azure);
  border-radius: 14px;
  padding: 18px 22px;
  margin: 24px 0;
}
.legal-highlight p {
  margin: 0;
  font-size: 14px;
  color: var(--text-d-dim);
  line-height: 1.7;
}
.legal-content h2 {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  margin: 44px 0 14px;
  letter-spacing: -.01em;
  display: flex;
  align-items: center;
  gap: 10px;
}
.legal-content h2::before {
  content: "";
  display: block;
  width: 4px;
  height: 20px;
  border-radius: 2px;
  background: linear-gradient(135deg, var(--azure), var(--mint));
  flex: none;
}
.legal-content > p {
  color: var(--text-d-dim);
  font-size: 14.5px;
  margin-bottom: 12px;
  line-height: 1.75;
}
.legal-list {
  list-style: none;
  margin-bottom: 14px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.legal-list li {
  color: var(--text-d-dim);
  font-size: 14.5px;
  display: flex;
  gap: 10px;
  line-height: 1.6;
}
.legal-list li::before {
  content: "→";
  color: var(--azure);
  font-weight: 700;
  flex: none;
  margin-top: 1px;
}
.legal-list li strong, .legal-list li a {
  color: var(--text-d);
}
.legal-table-wrap {
  overflow-x: auto;
  margin: 18px 0;
  border-radius: 14px;
  border: 1px solid var(--line-d);
}
.legal-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  font-size:15px;
}
.legal-table-wrap th {
  background: rgba(255,255,255,.05);
  color: var(--text-d);
  font-family: var(--font-mono);
  font-size:14px;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 11px 16px;
  text-align: left;
  border-bottom: 1px solid var(--line-d);
  white-space: nowrap;
  line-height:1.65
}
.legal-table-wrap td {
  padding: 11px 16px;
  border-bottom: 1px solid var(--line-d);
  color: var(--text-d-dim);
  vertical-align: top;
  line-height:1.65;
}
.legal-table-wrap tr:last-child td {
  border-bottom: none;
}
.legal-table-wrap td strong {
  color: var(--text-d);
}
.legal-check {
  color: var(--mint);
  font-weight: 700;
}
/* ============================================================
   MEDIA LIGHTBOX — shared fullscreen screenshot viewer.
   Triggers ([data-lightbox-group]) live wherever a product screenshot
   should be inspectable; the dialog itself is injected once by
   assets/js/lightbox.js and lives at the end of <body>.
   ============================================================ */
.media-trigger {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  cursor: zoom-in;
}
.lightbox[hidden] {
  display: none;
}
.lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
}
.lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 7, 14, .92);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity .25s ease;
}
.lightbox-dialog {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  opacity: 0;
  transition: opacity .25s ease;
}
.lightbox.open .lightbox-backdrop, .lightbox.open .lightbox-dialog {
  opacity: 1;
}
.lightbox-stage {
  flex: 1;
  position: relative;
  overflow: hidden;
  touch-action: none;
  padding: 64px 16px 8px;
}
/* Sized and positioned entirely by assets/js/lightbox.js: width/height are
   set to the computed "fit" box, and transform-origin is pinned to 0 0 so
   the translate(tx,ty) scale(s) it applies maps directly to the same
   top-left-anchored math the zoom/pan engine uses — changing this without
   updating the script's boundsFor()/zoomAt() math will visibly desync
   panning from the cursor/finger. */
.lightbox-img {
  position: absolute;
  left: 0;
  top: 0;
  transform-origin: 0 0;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  cursor: zoom-in;
  will-change: transform;
}
.lightbox-zoom-label {
  position: absolute;
  top: calc(14px + env(safe-area-inset-top));
  left: calc(14px + env(safe-area-inset-left));
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .04em;
  color: var(--text-d-dim);
  background: rgba(10, 18, 32, .7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--line-d);
  border-radius: 100px;
  padding: 6px 12px;
  pointer-events: none;
}
.lightbox-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: rgba(10, 18, 32, .7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--line-d);
  transition: background .2s ease;
  flex: none;
}
.lightbox-btn:hover {
  background: rgba(10, 18, 32, .92);
}
.lightbox-btn svg {
  width: 16px;
  height: 16px;
}
.lightbox-close {
  position: absolute;
  top: calc(14px + env(safe-area-inset-top));
  right: calc(14px + env(safe-area-inset-right));
  z-index: 3;
}
.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
}
.lightbox-prev {
  left: calc(10px + env(safe-area-inset-left));
}
.lightbox-next {
  right: calc(10px + env(safe-area-inset-right));
}
.lightbox-nav[hidden] {
  display: none;
}
.lightbox-bottom {
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 10px 16px calc(16px + env(safe-area-inset-bottom));
}
.lightbox-caption {
  max-width: min(640px, 90vw);
  text-align: center;
  font-size: 13.5px;
  color: var(--text-d-dim);
  min-height: 1em;
}
.lightbox-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(10, 18, 32, .7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--line-d);
  border-radius: 100px;
  padding: 6px;
}
.lightbox-toolbar .lightbox-btn {
  width: 38px;
  height: 38px;
  position: static;
}
.lightbox-toolbar .lightbox-btn svg {
  width: 14px;
  height: 14px;
}
.lightbox-zoom-actual span {
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .02em;
}
@media (min-width: 640px) {
  .lightbox-stage {
    padding: 80px 90px 16px;
  }
  .lightbox-btn {
    width: 48px;
    height: 48px;
  }
  .lightbox-btn svg {
    width: 18px;
    height: 18px;
  }
}
/* DATAMET1: shared editorial system. Product evidence stays uncropped. */
:root {
  --radius:2px;
  --text-d-dim:#a5b2c8;
  --line-d:rgba(170,193,222,.22)
}
html {
  overflow-x:clip;
  scroll-padding-top:96px
}
body {
  overflow-wrap:break-word
}
main {
  padding-top:var(--nav-h)
}
.wrap {
  max-width:1600px;
  padding-inline:clamp(24px,5vw,96px)
}
h1,h2,h3 {
  font-weight:500;
  letter-spacing:-.055em
}
h1 {
  font-size:clamp(48px,7.8vw,128px);
  line-height:1.02;
  white-space:pre-line
}
h2 {
  font-size:clamp(34px,4.8vw,76px);
  line-height:1.08;
  white-space:pre-line
}
h3 {
  font-size:clamp(24px,2.6vw,38px);
  letter-spacing:-.035em
}
p {
  color:var(--text-d-dim)
}
.eyebrow {
  font-family:var(--font-body);
  font-size:14px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--mint);
  margin-bottom:28px
}
.state {
  font-family:var(--font-body);
  font-size:14px;
  letter-spacing:.035em;
  color:var(--mint);
  margin-bottom:24px;
  display:flex;
  align-items:center;
  gap:12px
}
.state:before {
  content:"";
  width:20px;
  height:2px;
  background:currentColor
}
.lead {
  font-size:clamp(17px,1.6vw,21px);
  max-width:760px;
  margin-top:28px
}
.fine {
  font-size:14px;
  line-height:1.7;
  margin-top:16px
}
.text-link {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  border-bottom:1px solid currentColor;
  min-height:48px;
  padding-block:12px;
  font-size:15px;
  font-weight:500;
  color:var(--text-d)
}
.text-link>span:last-child {
  font-size:23px;
  line-height:1
}
.text-link:hover {
  color:var(--mint)
}
.nav {
  background:var(--ink);
  border-bottom:1px solid var(--line-d)
}
.nav.scrolled {
  background:rgba(6,11,21,.97);
  backdrop-filter:none
}
.nav .btn {
  min-height:44px;
  border-radius:2px;
  background:none
}
.logo {
  letter-spacing:.02em;
  min-height:44px
}
.logo-mark {
  border-radius:2px;
  background:var(--azure)
}
.logo-mark:after {
  border-radius:0
}
.lang-btn,.lang-drop,.mobile-menu-lang-grid button {
  border-radius:2px;
  font-family:var(--font-body)
}
.lang-btn {
  min-height:44px
}
.mobile-menu-lang-label {
  font-family:var(--font-body)
}
.home-hero {
  position:relative;
  padding-block:76px 74px;
  display:grid;
  grid-template-columns:1fr 340px;
  gap:0 60px
}
.home-hero>.eyebrow {
  grid-column:1/-1
}
.home-hero h1 {
  font-size:clamp(56px,7.5vw,116px)
}
.hero-aside {
  align-self:end;
  padding-bottom:5px
}
.hero-aside p {
  font-size:17px;
  line-height:1.75;
  margin-bottom:24px
}
.world-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  padding-block:25px 36px;
  border-top:1px solid var(--line-d)
}
.world-heading h2 {
  font-size:clamp(32px,4vw,62px)
}
.world-heading .eyebrow {
  margin:0
}
.wide-media {
  margin-inline:clamp(0px,2.4vw,48px)
}
.gallery-item {
  margin:0;
  min-width:0
}
.media-trigger {
  height:auto;
  overflow:hidden;
  background:#0d1928
}
.media-trigger img {
  width:100%;
  height:auto;
  object-fit:contain
}
.media-hint {
  position:absolute;
  right:16px;
  bottom:16px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  background:var(--ink);
  color:white;
  font-size:24px;
  border:1px solid #64738b
}
.gallery-caption {
  font-size:15px;
  line-height:1.65;
  color:var(--text-d-dim);
  padding-block:12px
}
.home-venue .wide-media {
  max-width:1700px;
  margin-inline:auto;
  padding-inline:32px
}
.home-venue .media-trigger {
  max-height:none
}
.world-foot {
  display:flex;
  justify-content:space-between;
  align-items:start;
  gap:40px;
  padding-block:28px 90px
}
.world-foot p {
  font-size:20px;
  max-width:650px
}
.world-foot .text-link {
  flex:none
}
.paper {
  background:#edf2f3;
  color:#132336
}
.paper h2,.paper h3 {
  color:#102237
}
.paper p {
  color:#455766
}
.paper .eyebrow,.paper .state {
  color:#176456
}
.paper .text-link {
  color:#152e41
}
.paper .text-link:hover {
  color:#096f63
}
.home-auto {
  padding-block:100px 80px
}
.auto-intro {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:100px
}
.auto-intro-copy {
  align-self:end;
  font-size:20px
}
.auto-intro-copy p {
  margin-bottom:24px
}
.home-control {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:44px;
  margin-top:80px
}
.home-control>div {
  border-top:1px solid #9baeb4;
  padding-top:22px
}
.home-control h3 {
  font-size:21px;
  letter-spacing:-.03em;
  margin-bottom:14px
}
.home-control p {
  font-size:15px
}
.company-section {
  padding-block:110px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px 80px
}
.company-section>.eyebrow {
  grid-column:1/-1;
  margin-bottom:0
}
.company-section h2 {
  font-size:clamp(34px,4vw,58px)
}
.company-section>p:last-child {
  font-size:18px;
  align-self:end
}
.contact-section {
  border-top:1px solid var(--line-d);
  padding-block:80px;
  background:var(--ink-2)
}
#contact {
  scroll-margin-top:8px
}
#contact:focus {
  outline:none
}
.contact-section:target {
  border-top-color:var(--mint)
}
.contact-layout {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:64px;
  align-items:end
}
.contact-layout h2 {
  font-size:clamp(34px,4vw,58px);
  max-width:750px
}
.contact-layout p {
  font-size:16px;
  max-width:570px;
  margin-top:22px;
  line-height:1.7
}
.contact-channels {
  min-width:0
}
.contact-whatsapp-group {
  min-width:0;
  max-width:450px;
  margin-top:16px
}
.contact-whatsapp-heading {
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 4px;
  color:var(--text-d-dim);
  font-family:var(--font-body);
  font-size:13px;
  font-weight:600
}
.contact-whatsapp-heading svg {
  width:20px;
  height:20px;
  flex:none;
  fill:none;
  stroke:var(--mint);
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round
}
.contact-whatsapp {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
  min-height:64px;
  max-width:450px;
  padding-block:9px;
  border-bottom:1px solid var(--line-d)
}
.contact-whatsapp-name {
  color:var(--text-d);
  font-size:15px;
  font-weight:600
}
.contact-whatsapp-number {
  color:var(--text-d-dim);
  font-size:14px;
  white-space:nowrap
}
.contact-whatsapp:hover,
.contact-whatsapp:focus-visible {
  color:var(--mint);
  border-bottom-color:var(--mint)
}
.contact-whatsapp:hover .contact-whatsapp-name,
.contact-whatsapp:focus-visible .contact-whatsapp-name {
  color:var(--mint)
}
.contact-whatsapp:focus-visible {
  outline:2px solid var(--mint);
  outline-offset:3px
}
.contact-whatsapp-list-item .contact-whatsapp-group {
  flex:1;
  margin-top:0
}
.legal-list .contact-whatsapp {
  display:flex
}
.contact-mailto {
  display:inline-flex;
  align-items:center;
  min-height:44px
}
.contact-email {
  font-size:clamp(20px,2.1vw,34px);
  border-bottom:1px solid var(--mint);
  min-height:52px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-bottom:12px;
  color:var(--mint)
}
footer {
  background:var(--ink);
  padding-block:56px 30px
}
.foot-grid {
  grid-template-columns:2fr 1fr 1fr;
  gap:48px
}
.foot-col h3 {
  font-family:var(--font-body);
  letter-spacing:.04em;
  font-size:14px;
  line-height:1.5
}
.foot-col a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font-size:15px
}
.foot-col ul {
  gap:0
}
.foot-col-group {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:25px
}
.foot-bottom {
  margin-top:32px;
  font-size:14px;
  line-height:1.65
}
.foot-brand p {
  max-width:380px;
  font-size:15px;
  line-height:1.7
}
.venue-intro {
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:80px;
  align-items:end;
  padding-block:80px 56px
}
.venue-intro h1 {
  font-size:clamp(46px,6.5vw,100px);
  max-width:850px
}
.intro-copy {
  font-size:18px
}
.intro-copy p {
  margin-bottom:22px
}
.venue-panorama {
  max-width:1824px;
  margin-inline:auto;
  padding-inline:32px
}
.proof-section {
  padding-block:110px
}
.section-heading {
  margin-bottom:64px
}
.section-heading h2 {
  max-width:1000px
}
.proof-feature {
  display:grid;
  grid-template-columns:2.3fr 1fr;
  gap:50px;
  align-items:center;
  margin-top:70px
}
.proof-feature>div>p {
  margin-top:20px;
  font-size:17px
}
.proof-feature.reverse {
  grid-template-columns:1fr 2.3fr;
  margin-top:90px
}
.proof-feature.reverse>figure {
  order:2
}
.inspection-note {
  font-size:14px!important;
  color:var(--mint)
}
.comparison {
  margin-top:90px
}
.discovery-layout {
  display:grid;
  grid-template-columns:1.75fr 1fr;
  gap:100px;
  align-items:center;
  margin-top:80px
}
.discovery-layout h3 {
  margin-bottom:20px
}
.discovery-layout p {
  max-width:600px;
  margin-bottom:30px
}
.mobile-proof {
  max-width:330px;
  justify-self:center;
  width:100%
}
.mobile-proof img {
  max-height:650px;
  object-fit:contain
}
.mobile-proof .media-hint {
  top:64px;
  bottom:auto
}
.disclaimer {
  border-top:1px solid var(--line-d);
  font-size:14px;
  margin-top:60px;
  padding-top:24px;
  max-width:950px;
  line-height:1.7
}
.pov-section {
  padding-block:20px 100px
}
.night-view {
  width:78%;
  margin-top:55px;
  margin-left:auto;
  margin-right:0
}
.journey-section {
  padding-block:100px
}
.journey-layout {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:90px;
  align-items:start
}
.venue-plan {
  position:sticky;
  top:120px;
  margin:0;
  aspect-ratio:1/1;
  min-width:0
}
.plan-bowl {
  position:absolute;
  inset:14% 1% 19%;
  border:1px solid #9badb4;
  border-radius:24%
}
.plan-seating {
  position:absolute;
  inset:6%;
  border:17px double #9cafb7;
  border-radius:23%;
  background:repeating-linear-gradient(0deg,transparent 0 7px,#bdcad0 7px 8px)
}
.plan-field {
  position:absolute;
  inset:20% 19%;
  background:#c8ded6;
  border:1px solid #769f90
}
.plan-field:before {
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  border-left:1px solid #769f90
}
.plan-field span {
  position:absolute;
  left:39%;
  top:35%;
  width:22%;
  height:30%;
  border:1px solid #769f90;
  border-radius:50%
}
.plan-route {
  position:absolute;
  left:15%;
  top:85%;
  height:35%;
  width:48%;
  border-left:3px solid #16766a;
  border-bottom:3px solid #16766a;
  transform:translateY(-15%)
}
.plan-route:after {
  content:"";
  position:absolute;
  right:-4px;
  bottom:-5px;
  width:9px;
  height:9px;
  background:#16766a
}
.plan-label {
  position:absolute;
  background:#edf2f3;
  padding:4px 8px;
  font-size:14px;
  color:#204d48
}
.plan-label.gate {
  left:0;
  top:84%
}
.plan-label.concourse {
  left:0;
  top:7%
}
.plan-label.seat {
  right:0;
  top:74%
}
.plan-label.services {
  right:0;
  top:7%
}
.venue-plan figcaption {
  position:absolute;
  bottom:-28px;
  left:0;
  right:0;
  font-size:14px;
  color:#566874;
  line-height:1.65
}
.journey-chapters article {
  padding-block:30px;
  border-top:1px solid #a3b4b9
}
.journey-chapters article:first-child {
  padding-top:20px
}
.journey-chapters h3 {
  font-size:34px;
  margin-bottom:16px
}
.journey-chapters p {
  font-size:17px
}
.provider-section {
  padding-block:110px 70px
}
.integration-rows details {
  border-top:1px solid var(--line-d)
}
details:last-child {
  border-bottom:1px solid var(--line-d)
}
summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  min-height:84px;
  padding-block:20px;
  font-size:clamp(24px,2.8vw,38px);
  line-height:1.3;
  letter-spacing:-.035em
}
summary::-webkit-details-marker {
  display:none
}
summary>span:last-child {
  font-size:28px;
  flex:none;
  color:var(--mint)
}
details[open] summary>span:last-child {
  transform:rotate(45deg)
}
summary:focus-visible {
  outline:2px solid var(--mint);
  outline-offset:5px
}
.integration-rows details>div {
  padding-block:0 30px;
  max-width:950px
}
.terms {
  font-size:15px;
  margin-top:20px;
  color:#bdc9da;
  line-height:1.7
}
.expansion {
  padding-block:30px 100px
}
.expansion h2 {
  font-size:36px;
  margin-bottom:22px
}
.expansion p {
  max-width:740px
}
.expansion ul {
  display:flex;
  flex-wrap:wrap;
  gap:16px 30px;
  margin-top:30px;
  color:var(--text-d-dim);
  font-size:15px
}
.automation-hero {
  padding-block:84px 70px
}
.automation-hero h1 {
  max-width:1400px;
  font-size:clamp(45px,7.1vw,112px)
}
.automation-hero-foot {
  margin-top:45px;
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:70px
}
.automation-hero-foot p {
  font-size:20px;
  max-width:550px
}
.system-section {
  padding-block:85px
}
.system-layout {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:100px
}
.system-layout h2 {
  font-size:clamp(34px,4vw,60px);
  max-width:530px
}
.system-layout .fine {
  max-width:470px;
  margin-top:30px
}
.spec-row {
  display:grid;
  grid-template-columns:170px 1fr;
  gap:30px;
  padding-block:24px;
  border-top:1px solid #a3b4b9
}
.spec-row h3 {
  font-family:var(--font-mono);
  font-size:14px;
  line-height:1.65;
  letter-spacing:-.015em
}
.spec-row p {
  font-size:16px;
  line-height:1.7
}
.spec-row.approval {
  border-top:2px solid #177565;
  background:#dfebe7;
  padding-inline:18px;
  margin-inline:-18px
}
.spec-row.approval h3 {
  color:#126455
}
.spec-row:last-child {
  border-bottom:1px solid #a3b4b9
}
.capabilities {
  padding-block:105px
}
.capability-rows details {
  border-top:1px solid var(--line-d)
}
.capability-rows summary {
  min-height:100px
}
.capability-body {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:90px;
  padding-bottom:38px
}
.capability-body>p {
  font-size:18px;
  max-width:750px
}
.capability-body ul {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 25px;
  font-size:16px;
  color:#b4c5d5;
  line-height:1.65
}
.capability-body li {
  padding-left:15px;
  border-left:1px solid var(--mint)
}
.connected-section {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:120px;
  padding-block:20px 100px
}
.connected-section h2 {
  font-size:clamp(34px,4vw,58px)
}
.connected-section p {
  font-size:17px;
  margin-top:25px;
  max-width:620px
}
.systems-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:35px;
  align-content:start
}
.systems-list li {
  border-top:1px solid var(--line-d);
  padding-block:15px;
  font-family:var(--font-mono);
  font-size:15px;
  line-height:1.65
}
.proof-reserve {
  border-top:1px solid var(--line-d);
  padding-block:44px 90px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px
}
.proof-reserve h2 {
  font-size:27px;
  letter-spacing:-.035em
}
.proof-reserve p {
  max-width:580px;
  font-size:16px;
  line-height:1.7
}
.legal-hero {
  padding-block:70px 20px
}
.legal-hero-inner,.legal-content {
  max-width:1050px
}
.legal-hero h1 {
  font-size:clamp(36px,5vw,64px)
}
.legal-highlight {
  background:var(--ink-2);
  border-radius:0
}
.legal-content h2 {
  font-size:23px;
  letter-spacing:-.025em
}
.legal-table-wrap {
  border-radius:0
}
.legal-table-wrap th {
  white-space:normal;
  font-family:var(--font-body);
  letter-spacing:0;
  font-size:14px;
  line-height:1.65
}
.legal-content p,.legal-list li {
  font-size:16px
}
.legal-eyebrow {
  font-family:var(--font-body);
  font-size:14px
}
.lightbox-img {
  max-width:none
}
.lightbox-toolbar .lightbox-btn {
  width:48px;
  height:48px;
  border-radius:3px
}
.lightbox-toolbar {
  border-radius:3px
}
.lightbox-zoom-label {
  border-radius:3px
}
.lightbox-caption {
  font-size:14px
}
@media(min-width:800px) {
  .nav-links {
    display:flex
  }
  .lang-switch {
    display:block
  }
  .nav-burger {
    display:none
  }
}
@media(min-width:1600px) {
  .home-hero {
    padding-block:100px
  }
  .venue-intro {
    padding-block:100px 65px
  }
}
@media(max-width:1050px) {
  .home-hero {
    grid-template-columns:1fr;
    gap:35px
  }
  .hero-aside {
    max-width:600px;
    display:flex;
    gap:40px;
    align-items:end
  }
  .hero-aside p {
    margin:0
  }
  .hero-aside a {
    flex:none
  }
  .home-hero h1 {
    font-size:86px
  }
  .venue-intro {
    gap:40px
  }
  .auto-intro {
    gap:45px
  }
  .system-layout {
    gap:45px
  }
  .spec-row {
    grid-template-columns:1fr;
    gap:8px
  }
  .journey-layout {
    gap:45px
  }
  .proof-feature {
    gap:30px;
    grid-template-columns:2fr 1fr
  }
  .proof-feature.reverse {
    grid-template-columns:1fr 2fr
  }
  .discovery-layout {
    gap:45px
  }
  .connected-section {
    gap:50px
  }
  .foot-col-group {
    grid-template-columns:1fr
  }
  .contact-layout {
    gap:40px
  }
}
@media(max-width:799px) {
  .nav .btn {
    padding:10px 13px
  }
  .nav-right {
    gap:4px
  }
  .nav-inner {
    gap:8px
  }
  .logo {
    font-size:18px
  }
  .home-hero {
    padding-block:48px
  }
  .home-hero h1 {
    font-size:clamp(46px,9vw,72px)
  }
  .home-hero>.eyebrow {
    margin-bottom:0
  }
  .hero-aside {
    display:block
  }
  .hero-aside p {
    font-size:16px
  }
  .hero-aside .text-link {
    margin-top:16px
  }
  .world-heading {
    display:block;
    padding-block:25px
  }
  .world-heading .eyebrow {
    margin-bottom:20px
  }
  .wide-media,.home-venue .wide-media,.venue-panorama {
    padding-inline:0;
    margin-inline:0
  }
  .gallery-caption {
    padding-inline:24px;
    font-size:15px;
    line-height:1.65
  }
  .proof-section .gallery-caption,.night-view .gallery-caption {
    padding-inline:0
  }
  .world-foot {
    display:block;
    padding-block:12px 55px
  }
  .world-foot p {
    font-size:17px
  }
  .world-foot a {
    margin-top:15px
  }
  .home-auto {
    padding-block:55px
  }
  .auto-intro {
    grid-template-columns:1fr;
    gap:28px
  }
  .auto-intro-copy {
    font-size:17px
  }
  .home-control {
    grid-template-columns:1fr;
    gap:28px;
    margin-top:38px
  }
  .home-control>div {
    display:grid;
    grid-template-columns:1fr 1.3fr;
    gap:20px
  }
  .home-control h3 {
    font-size:19px;
    line-height:1.4
  }
  .company-section {
    grid-template-columns:1fr;
    padding-block:60px;
    gap:24px
  }
  .company-section>p:last-child {
    font-size:16px
  }
  .contact-layout {
    grid-template-columns:1fr;
    gap:40px
  }
  .contact-section {
    padding-block:55px
  }
  .contact-email {
    font-size:24px;
    max-width:450px
  }
  .foot-grid {
    grid-template-columns:1fr 1fr;
    gap:35px
  }
  .foot-brand {
    grid-column:1/-1
  }
  .foot-col-group {
    grid-template-columns:1fr
  }
  .venue-intro {
    grid-template-columns:1fr;
    gap:28px;
    padding-block:50px 38px
  }
  .venue-intro h1 {
    font-size:clamp(45px,8vw,70px)
  }
  .intro-copy {
    font-size:16px
  }
  .proof-section {
    padding-block:65px
  }
  .section-heading {
    margin-bottom:35px
  }
  .proof-feature,.proof-feature.reverse {
    display:flex;
    flex-direction:column-reverse;
    align-items:stretch;
    gap:25px;
    margin-top:45px
  }
  .proof-feature.reverse>figure {
    order:0
  }
  .proof-feature>div>p {
    font-size:16px;
    margin-top:14px
  }
  .comparison {
    margin-top:45px
  }
  .discovery-layout {
    grid-template-columns:1fr;
    gap:45px;
    margin-top:45px
  }
  .mobile-proof {
    max-width:310px
  }
  .disclaimer {
    margin-top:40px;
    font-size:14px;
    line-height:1.7
  }
  .pov-section {
    padding-block:0 60px
  }
  .night-view {
    width:100%;
    margin-top:30px
  }
  .journey-section {
    padding-block:60px
  }
  .journey-layout {
    grid-template-columns:1fr;
    gap:50px
  }
  .venue-plan {
    position:relative;
    top:0;
    max-width:520px;
    width:100%;
    justify-self:center
  }
  .plan-label {
    font-size:14px
  }
  .journey-chapters article {
    padding-block:25px
  }
  .journey-chapters h3 {
    font-size:30px
  }
  .journey-chapters p {
    font-size:16px
  }
  .provider-section {
    padding-block:60px 40px
  }
  .expansion {
    padding-bottom:60px
  }
  .expansion h2 {
    font-size:30px
  }
  .automation-hero {
    padding-block:50px
  }
  .automation-hero h1 {
    font-size:clamp(42px,7.8vw,64px);
    hyphens:auto
  }
  .automation-hero-foot {
    display:block;
    margin-top:28px
  }
  .automation-hero-foot p {
    font-size:17px
  }
  .automation-hero-foot a {
    margin-top:20px
  }
  .system-section {
    padding-block:55px
  }
  .system-layout {
    grid-template-columns:1fr;
    gap:40px
  }
  .spec-row {
    grid-template-columns:120px 1fr;
    gap:24px
  }
  .spec-row p {
    font-size:16px;
    line-height:1.7
  }
  .spec-row h3 {
    font-size:14px
  }
  .capabilities {
    padding-block:60px
  }
  .capability-rows summary {
    min-height:84px;
    font-size:clamp(23px,4.8vw,34px)
  }
  .capability-body {
    grid-template-columns:1fr;
    gap:24px
  }
  .capability-body>p {
    font-size:16px
  }
  .connected-section {
    grid-template-columns:1fr;
    gap:35px;
    padding-bottom:60px
  }
  .proof-reserve {
    grid-template-columns:1fr;
    gap:22px;
    padding-block:35px 55px
  }
  .legal-table-wrap th,.legal-table-wrap td {
    padding:10px 8px;
    font-size:14px;
    overflow-wrap:anywhere;
    line-height:1.65
  }
  .legal-content h2 {
    font-size:22px
  }
  .lightbox-caption {
    max-width:100%;
    font-size:12px
  }
  .mobile-menu {
    padding-bottom:calc(28px + env(safe-area-inset-bottom))
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  .venue-plan {
    position:relative;
    top:0
  }
  * {
    transition:none!important
  }
}
/* Safe-area and content finishing. */
.capability-body>* {
  min-width:0;
  overflow-wrap:anywhere
}
/* Homepage: parent brand, equal product introductions, two editorial chapters.
   Every rule is scoped to this page to preserve the approved product routes. */
.home-page .home-hero {
  grid-template-columns:1.6fr 1fr;
  gap:0 80px;
  padding-block:68px 56px
}
.home-page .home-hero h1 {
  font-size:clamp(68px,7.2vw,110px)
}
.home-page .hero-aside {
  display:block;
  max-width:380px;
  padding-bottom:8px
}
.home-page .hero-aside p {
  margin:0;
  font-size:20px;
  line-height:1.6
}
.home-page .home-worlds {
  padding-bottom:60px
}
.home-page .home-worlds h2 {
  padding-top:25px;
  border-top:1px solid var(--line-d);
  font-size:clamp(22px,2.1vw,30px);
  line-height:1.3;
  letter-spacing:-.035em;
  white-space:normal
}
.home-page .home-world-links {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  margin-top:26px
}
.home-page .home-world-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-block:12px 22px;
  border-bottom:1px solid var(--line-d);
  min-height:100px;
  color:var(--text-d)
}
.home-page .home-world-name {
  display:block;
  font-size:clamp(22px,2.1vw,30px);
  letter-spacing:-.045em;
  margin-bottom:8px
}
.home-page .home-world-purpose {
  display:block;
  max-width:430px;
  font-size:15px;
  line-height:1.65;
  color:var(--text-d-dim)
}
.home-page .home-world-link>span:last-child {
  color:var(--mint);
  font-size:28px;
  flex:none
}
.home-page .home-world-link:hover .home-world-name {
  color:var(--mint)
}
.home-page .home-chapter {
  padding-block:76px;
  border-top:1px solid var(--line-d);
  scroll-margin-top:24px
}
.home-page .home-chapter-grid {
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(0,5fr);
  gap:76px;
  align-items:center;
  min-height:410px
}
.home-page .home-chapter h2 {
  font-size:clamp(36px,3.8vw,58px)
}
.home-page .home-chapter-intro {
  max-width:430px;
  font-size:17px;
  line-height:1.75;
  margin-block:24px 18px
}
.home-page .home-chapter-media .gallery-caption {
  padding-inline:0
}
.home-page .home-chapter-media .media-trigger {
  width:100%
}
.home-page .home-spec {
  margin:0;
  border-top:2px solid #176456;
  padding-top:18px
}
.home-page .home-spec-kicker {
  font-size:14px;
  line-height:1.6;
  letter-spacing:.035em;
  color:#176456;
  margin-bottom:10px
}
.home-page .home-spec h3 {
  font-size:clamp(23px,2.1vw,30px);
  line-height:1.3;
  max-width:570px;
  margin-bottom:25px
}
.home-page .home-spec-trace {
  margin:0
}
.home-page .home-spec-trace>div {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);
  gap:24px;
  padding:17px 14px;
  border-top:1px solid #afc1c3
}
.home-page .home-spec-trace dt {
  font-size:14px;
  font-weight:600;
  line-height:1.65
}
.home-page .home-spec-trace dd {
  margin:0;
  color:#455766;
  font-size:16px;
  line-height:1.65
}
.home-page .home-spec-trace .home-spec-control {
  background:#d8e8e3;
  border-left:3px solid #176456;
  padding-left:11px
}
.home-page .home-spec-note {
  border-top:1px solid #afc1c3;
  padding-top:16px;
  font-size:14px;
  line-height:1.7
}
@media(max-width:1050px) {
  .home-page .home-hero {
    grid-template-columns:1fr;
    gap:26px;
    padding-block:48px
  }
  .home-page .home-hero>.eyebrow {
    margin:0
  }
  .home-page .hero-aside {
    max-width:580px
  }
  .home-page .home-chapter-grid {
    gap:40px;
    grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)
  }
  .home-page .home-spec-trace>div {
    grid-template-columns:1fr;
    gap:5px
  }
}
@media(max-width:799px) {
  .home-page .home-hero {
    padding-block:32px 30px;
    gap:20px
  }
  .home-page .home-hero h1 {
    font-size:clamp(45px,9vw,68px)
  }
  .home-page .hero-aside {
    padding:0
  }
  .home-page .hero-aside p {
    font-size:17px
  }
  .home-page .home-worlds {
    padding-bottom:32px
  }
  .home-page .home-worlds h2 {
    padding-top:22px;
    font-size:23px
  }
  .home-page .home-world-links {
    grid-template-columns:1fr;
    gap:0;
    margin-top:14px
  }
  .home-page .home-world-link {
    padding-block:16px;
    min-height:100px
  }
  .home-page .home-world-name {
    font-size:23px;
    margin-bottom:5px
  }
  .home-page .home-world-purpose {
    max-width:480px;
    font-size:15px
  }
  .home-page .home-chapter {
    padding-block:44px
  }
  .home-page .home-chapter-grid {
    grid-template-columns:1fr;
    gap:32px;
    min-height:0
  }
  .home-page .home-chapter .eyebrow {
    margin-bottom:22px
  }
  .home-page .home-chapter h2 {
    font-size:clamp(36px,6vw,46px)
  }
  .home-page .home-chapter-intro {
    max-width:520px;
    margin-block:20px 12px
  }
  .home-page .home-spec-trace dt,
  .home-page .home-spec-trace dd {
    font-size:16px;
    line-height:1.65
  }
}
.legal-list li {
  flex-wrap:wrap;
  column-gap:8px
}
.legal-list a {
  overflow-wrap:anywhere;
  min-height:44px;
  display:inline-flex;
  align-items:center
}
.home-spec-label {
  max-width:1600px;
  margin:50px auto -50px;
  padding-inline:clamp(24px,5vw,96px);
  font-size:13px;
  color:#455766
}
@media(min-width:1060px) {
  .home-hero {
    padding-block:50px
  }
  .home-hero h1 {
    font-size:clamp(80px,6.9vw,110px)
  }
  .world-heading {
    padding-block:22px
  }
  .world-heading h2 {
    font-size:42px;
    white-space:normal;
    max-width:750px
  }
}
@media(min-width:800px) {
  .venue-intro {
    padding-block:55px 40px;
    grid-template-columns:1.65fr 1fr;
    gap:60px
  }
  .venue-intro h1 {
    font-size:clamp(56px,5.3vw,86px);
    text-wrap:balance
  }
}
@media(max-width:799px) {
  .home-hero {
    padding-block:36px
  }
  .home-spec-label {
    margin:38px auto -15px
  }
  .nav-inner {
    padding-left:max(24px,env(safe-area-inset-left));
    padding-right:max(24px,env(safe-area-inset-right))
  }
}

/* Venue identity is a readable caption, separate from the legal disclaimer. */
.stadium-caption {
  font-size:16px;
  font-weight:500;
  color:var(--text-d)
}
