:root {
  --sky: #7cc4ff;
  --sky-deep: #2f6fb5;
  --ink: #1d2742;
  --ink-soft: #4d5a7c;
  --ink-faint: rgba(29, 39, 66, .14);
  --cream: #fff8ee;
  --paper: #fbf2e4;
  --peach: #ffcfb0;
  --coral: #e5ad31;
  --coral-deep: #d9603f;
  --gold: #d9a45a;
  --serif: 'Young Serif', 'Iowan Old Style', Georgia, serif;
  --sans: 'Nunito Sans', system-ui, sans-serif;
  --ease: cubic-bezier(.2, .8, .2, 1);
  --pad: clamp(18px, 4vw, 56px);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { background: #9fd0ff; color: var(--ink); -webkit-font-smoothing: antialiased; }
body { font: 400 16px/1.55 var(--sans); font-optical-sizing: auto; background: #9fd0ff; overflow-x: hidden; }
a { color: inherit; }
#gl { position: fixed; inset: 0; width: 100vw; height: 100vh; display: block; z-index: 0; }

/* ── loader ─────────────────────────────────────────── */
.loader { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center;
  background: radial-gradient(120% 90% at 50% 0%, #fffaf2 0%, #fbf0e1 60%, #f6e3cf 100%); }
.loader::after { content: ''; position: absolute; left: -2%; right: -2%; bottom: -54px; height: 110px; pointer-events: none;
  background:
    radial-gradient(60px 50px at 4% 20%, #f6e3cf 98%, #0000) ,
    radial-gradient(80px 64px at 16% 30%, #f6e3cf 98%, #0000),
    radial-gradient(70px 56px at 29% 18%, #f6e3cf 98%, #0000),
    radial-gradient(90px 70px at 43% 34%, #f6e3cf 98%, #0000),
    radial-gradient(70px 56px at 57% 20%, #f6e3cf 98%, #0000),
    radial-gradient(84px 66px at 70% 30%, #f6e3cf 98%, #0000),
    radial-gradient(64px 52px at 83% 18%, #f6e3cf 98%, #0000),
    radial-gradient(80px 64px at 96% 28%, #f6e3cf 98%, #0000); }
.loader-card { display: grid; justify-items: center; gap: 18px; color: var(--ink); text-align: center; padding: 0 16px; }
.loader-mark { font: 400 clamp(44px, 6vw, 76px)/.9 var(--serif); letter-spacing: -.025em; margin-bottom: 18px; }
.loader-mark i { display: block; font: 800 11px/1 var(--sans); letter-spacing: .32em; text-transform: uppercase; color: var(--ink-soft); margin-top: 14px; font-style: normal; }
.loader-sub { font: 700 10.5px/1.5 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ink-soft); opacity: .8; }
.loader::before { content: ''; position: absolute; left: 50%; top: 50%; width: min(760px, 120vw); aspect-ratio: 1; transform: translate(-50%, -50%); opacity: .07; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%231d2742' stroke-width='.6'%3E%3Ccircle cx='100' cy='100' r='96'/%3E%3Ccircle cx='100' cy='100' r='80'/%3E%3Ccircle cx='100' cy='100' r='40'/%3E%3Cpath d='M100 4v192M4 100h192M32 32l136 136M168 32L32 168'/%3E%3C/g%3E%3Cpath d='M100 10l8 90-8 90-8-90z' fill='%231d2742'/%3E%3C/svg%3E") center / contain no-repeat; }
.loader-route { width: min(440px, 84vw); height: auto; color: rgba(29, 39, 66, .45); overflow: visible; }
.loader-label { font: 700 9px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; fill: var(--ink-soft); }
.loader-line { font: 400 21px/1 var(--serif); letter-spacing: .005em; }
.loader-pct { font-variant-numeric: tabular-nums; display: inline-block; min-width: 2ch; text-align: right; }

/* ── nav ────────────────────────────────────────────── */
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between;
  padding: 20px var(--pad); pointer-events: none; }
.nav > * { pointer-events: auto; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); }
.brand svg { width: 38px; height: 38px; }
.brand-words { display: grid; line-height: 1; }
.brand-words b { font: 400 23px/1 var(--serif); letter-spacing: .01em; }
.brand-words i { font: 700 9.5px/1.2 var(--sans); letter-spacing: .24em; text-transform: uppercase; font-style: normal; color: var(--ink-soft); margin-top: 4px; }
.links { display: flex; gap: 6px; padding: 6px; border-radius: 999px; background: rgba(255, 250, 242, .42); backdrop-filter: blur(12px) saturate(1.3);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55); }
.links a { text-decoration: none; font: 700 13px/1 var(--sans); padding: 10px 16px; border-radius: 999px; color: var(--ink); transition: background .3s, color .3s; }
.links a:hover { background: rgba(255, 255, 255, .7); }
.links a.is-active { background: var(--ink); color: var(--cream); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 46px; padding: 0 24px; border-radius: 999px; border: 0; cursor: pointer;
  text-decoration: none; font: 800 14px/1 var(--sans); letter-spacing: .01em; transition: background .35s, color .35s, box-shadow .35s, transform .35s; white-space: nowrap; }
.btn-coral { background: var(--coral); color: #fff; box-shadow: 0 10px 24px -10px rgba(193, 141, 34, .8), inset 0 -2px 0 rgba(0, 0, 0, .12); }
.btn-coral:hover { background: var(--coral-deep); }
.btn-ink { background: var(--ink); color: var(--cream); box-shadow: 0 14px 30px -14px rgba(29, 39, 66, .9); }
.btn-ink:hover { background: #2c3a60; }
.btn-ink::after { content: '↓'; font-size: 15px; transition: transform .4s var(--ease); }
.btn-ink:hover::after { transform: translateY(3px); }

/* ── scroll track: each stop is a spacer, its panel is fixed and switched on by the camera ─────── */
.track { position: relative; z-index: 2; }
.stop { position: relative; height: 175vh; }
.stop-hero { height: 150vh; }
.stop-book { height: 150vh; }

.panel { position: fixed; z-index: 10; pointer-events: none; visibility: hidden; }
.panel.is-on { visibility: visible; pointer-events: auto; }
.panel [data-rise] { opacity: 0; transform: translate3d(0, 18px, 0); filter: blur(3px);
  transition: opacity .3s ease, transform .4s var(--ease), filter .3s ease; transition-delay: 0s; }
.panel.is-on [data-rise] { opacity: 1; transform: none; filter: none; transition: opacity .5s ease, transform .7s var(--ease), filter .35s ease;
  transition-delay: calc(var(--i, 0) * 40ms + 60ms); }
.panel.is-leaving { visibility: visible; }

.kicker { font: 800 11.5px/1.3 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--ink-soft); }
.kicker span { color: var(--coral); margin: 0 .5em; }

/* hero */
.hero { left: var(--pad); bottom: 11vh; max-width: min(1000px, 70vw); }
.hero .kicker { margin-bottom: 22px; }
.hero-title { font-weight: 400; display: grid; gap: .1em; }
.hero-line1 { font: 400 clamp(24px, 2.5vw, 40px)/1.05 var(--serif); letter-spacing: -.005em; color: var(--ink-soft); }
.hero-line2 { font: 400 clamp(52px, min(6.6vw, 12.5vh), 118px)/.92 var(--serif); letter-spacing: -.028em; color: var(--ink); }
.hero-line2 em { font-style: normal; color: var(--coral); position: relative; white-space: nowrap; }
.hero-line2 em::after { content: ''; position: absolute; left: .02em; right: .1em; bottom: .02em; height: .14em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M2 12 C 30 2, 50 2, 70 10 S 110 18, 130 9 S 175 2, 198 10' fill='none' stroke='%23ef7d5c' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat; opacity: .8; }
.hero-sub { max-width: 30em; margin-top: 26px; font: 500 clamp(16px, 1.25vw, 19px)/1.55 var(--sans); color: var(--ink); }
.hero-cta { display: flex; align-items: center; gap: 26px; margin-top: 32px; flex-wrap: wrap; }
.hint { display: inline-flex; align-items: center; gap: 12px; font: 700 13px/1 var(--sans); color: var(--ink); padding: 11px 16px 11px 12px; border-radius: 999px;
  background: rgba(255, 250, 242, .55); backdrop-filter: blur(10px); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6); }
.hint-ring { position: relative; width: 14px; height: 14px; border-radius: 50%; background: var(--coral); }
.hint-ring::before, .hint-ring::after { content: ''; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--coral); animation: ping 2.2s var(--ease) infinite; }
.hint-ring::after { animation-delay: 1.1s; }
@keyframes ping { from { transform: scale(1); opacity: .9; } to { transform: scale(3.2); opacity: 0; } }

/* destination tickets */
.ticket { top: 50%; width: min(440px, 36vw); transform: translateY(-46%); padding: 26px 30px 0; border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 251, 245, .9), rgba(252, 244, 232, .86)); backdrop-filter: blur(16px) saturate(1.25);
  box-shadow: 0 40px 80px -40px rgba(36, 64, 120, .55), 0 2px 0 rgba(255, 255, 255, .7) inset, 0 0 0 1px rgba(255, 255, 255, .5) inset;
  opacity: 0; clip-path: inset(0 0 100% 0 round 22px); transition: opacity .4s ease, transform .9s var(--ease), clip-path .5s cubic-bezier(.6, 0, .9, .4);
  /* punched ticket notches at the perforation */
  -webkit-mask: radial-gradient(circle 11px at 0 calc(100% - 89px), #0000 97%, #000) left / 51% 100% no-repeat,
                radial-gradient(circle 11px at 100% calc(100% - 89px), #0000 97%, #000) right / 51% 100% no-repeat;
          mask: radial-gradient(circle 11px at 0 calc(100% - 89px), #0000 97%, #000) left / 51% 100% no-repeat,
                radial-gradient(circle 11px at 100% calc(100% - 89px), #0000 97%, #000) right / 51% 100% no-repeat; }
.ticket.is-on { opacity: 1; clip-path: inset(0 0 0 0 round 22px); transition: opacity .25s ease, transform .7s var(--ease), clip-path .6s var(--ease); }
.t-left { left: var(--pad); }
.t-right { right: var(--pad); top: auto; bottom: 236px; transform: none; }
@media (max-height: 880px) and (min-width: 761px) { .ticket .t-facts { display: none; } .ticket { width: min(420px, 36vw); } }
@media (max-height: 760px) and (min-width: 761px) { .ticket .t-list { display: none; } }
.t-left:not(.is-on) { transform: translate(-30px, -46%); }
.t-right:not(.is-on) { transform: translate(30px, 0); }
.t-head { display: flex; align-items: center; gap: 12px; font: 800 10.5px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--ink-soft);
  padding-bottom: 16px; border-bottom: 1px solid var(--ink-faint); }
.t-num { display: grid; place-items: center; min-width: 30px; height: 30px; padding: 0 6px; border-radius: 999px; background: var(--ink); color: var(--cream); font: 400 13px/1 var(--serif); letter-spacing: 0; }
.t-route i { font-style: normal; color: var(--coral); margin: 0 .3em; }
.t-code { margin-left: auto; color: var(--coral); }
.t-name { font: 400 clamp(40px, 4.2vw, 64px)/1 var(--serif); letter-spacing: -.02em; margin-top: 22px; }
.t-meta { margin-top: 10px; font: 600 15px/1.3 var(--sans); color: var(--ink-soft); }
.t-meta b { color: var(--ink); font-weight: 900; }
.t-meta span { color: var(--coral); margin: 0 .35em; }
.t-lede { margin-top: 16px; font: 400 16px/1.6 var(--sans); color: var(--ink); }
.t-list { list-style: none; margin-top: 16px; display: grid; gap: 7px; }
.t-list li { position: relative; padding-left: 24px; font: 600 14.5px/1.4 var(--sans); color: var(--ink); }
.t-list li::before { content: ''; position: absolute; left: 2px; top: .38em; width: 11px; height: 11px; border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, var(--coral) 0 35%, #0000 38%), radial-gradient(circle, #0000 58%, rgba(229, 173, 49, .45) 60% 72%, #0000 74%); }
.t-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 20px; border-top: 1px solid var(--ink-faint); padding-top: 14px; gap: 8px; }
.t-facts dt { font: 800 9.5px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--ink-soft); }
.t-facts dd { margin-top: 6px; font: 400 15px/1.2 var(--serif); }
.t-stub { position: relative; display: flex; align-items: center; gap: 16px; height: 88px; margin: 22px -30px 0; padding: 0 30px;
  border-top: 2px dashed rgba(29, 39, 66, .2); background: rgba(255, 207, 176, .22); border-radius: 0 0 22px 22px; }
.t-price { display: grid; grid-template-columns: auto auto; align-items: baseline; column-gap: 6px; line-height: 1; }
.t-price small { grid-column: 1 / -1; font: 800 9.5px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 6px; }
.t-price b { font: 400 40px/1 var(--serif); letter-spacing: -.02em; }
.t-price span { font: 700 13px/1 var(--sans); color: var(--ink-soft); }
.t-when { font: 700 12px/1.3 var(--sans); color: var(--ink-soft); margin-left: auto; text-align: right; }
.t-stub .btn { height: 44px; padding: 0 20px; }

/* fleet */
.fleet { left: var(--pad); top: max(96px, 14vh); width: min(560px, 42vw); }
.fleet-title { font: 400 clamp(32px, min(3.9vw, 6.8vh), 62px)/1.02 var(--serif); letter-spacing: -.02em; margin-top: 14px; }
.fleet-lede { margin-top: 18px; font: 500 17px/1.55 var(--sans); max-width: 30em; }
.ships { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 28px; width: min(760px, 60vw); }
.ship { padding: 18px 18px 20px; border-radius: 18px; background: rgba(255, 250, 242, .72); backdrop-filter: blur(14px); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6); }
.ship.is-here { background: rgba(255, 250, 242, .92); box-shadow: inset 0 0 0 1.5px var(--coral); }
.ship-tag { font: 800 9.5px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--coral); }
.ship h3 { font: 400 26px/1 var(--serif); margin-top: 12px; }
.ship p { font: 700 12.5px/1.35 var(--sans); color: var(--ink-soft); margin-top: 6px; }
.ship .ship-note { font: 500 13.5px/1.45 var(--sans); color: var(--ink); margin-top: 10px; }
.fleet-stats { display: flex; gap: 34px; margin-top: 26px; }
.fleet-stats dt { font: 400 28px/1 var(--serif); }
.fleet-stats dd { font: 700 12px/1.3 var(--sans); color: var(--ink-soft); margin-top: 6px; max-width: 12em; }

/* booking */
.book { left: var(--pad); top: max(96px, calc(50% - 340px)); width: min(620px, 48vw); }
@media (max-height: 780px) and (min-width: 761px) { .book-lede, .book-note { display: none; } .booking { margin-top: 20px; } }
.book-title { font: 400 clamp(38px, min(4.9vw, 8.4vh), 82px)/.98 var(--serif); letter-spacing: -.025em; margin-top: 14px; color: var(--ink); }
.book-lede { margin-top: 20px; font: 500 17px/1.55 var(--sans); max-width: 28em; }
.booking { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 30px; padding: 14px; border-radius: 22px;
  background: rgba(255, 250, 242, .82); backdrop-filter: blur(16px) saturate(1.2); box-shadow: 0 30px 60px -30px rgba(80, 50, 60, .5), inset 0 0 0 1px rgba(255, 255, 255, .6); }
.field { display: grid; gap: 6px; padding: 12px 16px; border-radius: 14px; background: rgba(255, 255, 255, .7); box-shadow: inset 0 0 0 1px var(--ink-faint); }
.field span { font: 800 9.5px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--ink-soft); }
.field input, .field select { font: 400 18px/1.2 var(--serif); color: var(--ink); background: none; border: 0; outline: none; width: 100%; appearance: none; -webkit-appearance: none; }
.field select { cursor: pointer; padding-right: 20px; text-overflow: ellipsis; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231d2742' stroke-width='1.6'/%3E%3C/svg%3E") right 2px center / 12px no-repeat; }
.field:focus-within { box-shadow: inset 0 0 0 1.5px var(--coral); }
.btn-big { grid-column: 1 / -1; height: 56px; font-size: 15px; border-radius: 14px; }
.book-note { margin-top: 16px; font: 600 12.5px/1.5 var(--sans); color: var(--ink-soft); max-width: 36em; }

/* ── footer ─────────────────────────────────────────── */
.foot { position: relative; z-index: 12; background: var(--paper); color: var(--ink); padding: 40px var(--pad) 90px; }
.foot-cloud { position: absolute; left: 0; right: 0; top: -58px; height: 60px; pointer-events: none;
  background:
    radial-gradient(70px 52px at 3% 100%, var(--paper) 98%, #0000), radial-gradient(90px 60px at 13% 100%, var(--paper) 98%, #0000),
    radial-gradient(64px 44px at 22% 100%, var(--paper) 98%, #0000), radial-gradient(110px 58px at 33% 100%, var(--paper) 98%, #0000),
    radial-gradient(70px 40px at 45% 100%, var(--paper) 98%, #0000), radial-gradient(96px 56px at 56% 100%, var(--paper) 98%, #0000),
    radial-gradient(76px 46px at 67% 100%, var(--paper) 98%, #0000), radial-gradient(104px 60px at 79% 100%, var(--paper) 98%, #0000),
    radial-gradient(70px 42px at 90% 100%, var(--paper) 98%, #0000), radial-gradient(84px 56px at 99% 100%, var(--paper) 98%, #0000); }
.foot-inner { max-width: 1320px; margin: 0 auto; }
.foot-mark { font: 400 clamp(64px, 11vw, 190px)/.9 var(--serif); letter-spacing: -.035em; }
.foot-mark i { font-style: normal; display: block; font-size: .32em; letter-spacing: -.01em; color: var(--ink-soft); margin-top: .2em; }
.foot-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; margin-top: 70px; padding-top: 34px; border-top: 1px solid var(--ink-faint); }
.foot-cols h4 { font: 800 10.5px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--coral); margin-bottom: 14px; }
.foot-cols p { font: 500 15px/1.8 var(--sans); color: var(--ink); }
.foot-cols a { text-decoration: none; border-bottom: 1px solid var(--ink-faint); transition: border-color .3s; }
.foot-cols a:hover { border-color: var(--coral); }
.foot-small { display: flex; justify-content: space-between; gap: 20px; margin-top: 60px; font: 700 11px/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); padding-left: 190px; }

/* ── pins over islands ──────────────────────────────── */
.pins { position: fixed; inset: 0; z-index: 8; pointer-events: none; }
.pin { position: absolute; left: 0; top: 0; display: grid; justify-items: center; opacity: 0; transition: opacity .45s ease; will-change: transform; }
.pin.on { opacity: 1; }
.pin-card { display: flex; align-items: baseline; gap: 8px; padding: 8px 13px 9px; border-radius: 999px; background: rgba(255, 250, 242, .88); backdrop-filter: blur(8px);
  box-shadow: 0 10px 24px -12px rgba(29, 39, 66, .55), inset 0 0 0 1px rgba(255, 255, 255, .7); white-space: nowrap; transform-origin: 50% 100%; transition: transform .45s var(--ease), background .3s; }
.pin-card b { font: 400 16px/1 var(--serif); }
.pin-card span { font: 800 10px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-soft); }
.pin-card em { font: 400 11px/1 var(--serif); font-style: normal; color: var(--coral); }
.pin-stem { width: 1.5px; height: 30px; background: linear-gradient(rgba(29, 39, 66, .6), rgba(29, 39, 66, 0)); }
.pin-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ink); margin-top: -3px; box-shadow: 0 0 0 4px rgba(255, 250, 242, .5); }
.pin.hot .pin-card { transform: scale(1.12); background: #fff; }
.pin.hot .pin-card::after { content: 'Fly there →'; font: 800 10px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--coral); margin-left: 4px; }

/* ── chart of the drift ─────────────────────────────── */
.chart { position: fixed; right: var(--pad); bottom: 22px; z-index: 20; width: 272px; padding: 12px 12px 12px; border-radius: 20px;
  background: rgba(255, 250, 242, .78); backdrop-filter: blur(14px) saturate(1.2); box-shadow: 0 24px 50px -28px rgba(29, 39, 66, .6), inset 0 0 0 1px rgba(255, 255, 255, .65);
  transition: opacity .6s, transform .6s var(--ease); }
.chart-title { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 2px 6px 10px; }
.chart-title span { font: 800 9.5px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--ink-soft); }
.chart-where { font: 400 13px/1 var(--serif); font-style: normal; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chart-map { position: relative; height: 136px; border-radius: 12px; overflow: hidden; background: #f7ecdb; }
.chart-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.chart-dots { position: absolute; inset: 0; }
.chart-dot { position: absolute; width: 30px; height: 30px; margin: -15px 0 0 -15px; border-radius: 50%; border: 0; background: none; cursor: pointer;
  display: grid; place-items: center; font: 400 11px/1 var(--serif); color: var(--ink); }
.chart-dot i { position: absolute; inset: 7px; border-radius: 50%; background: var(--cream); box-shadow: 0 0 0 1.5px var(--ink); transition: transform .35s var(--ease), background .3s; }
.chart-dot b { position: relative; font-weight: 400; }
.chart-dot:hover i { transform: scale(1.25); }
.chart-dot.on i { background: var(--coral); box-shadow: 0 0 0 1.5px var(--coral-deep), 0 0 0 6px rgba(229, 173, 49, .25); }
.chart-dot.on b { color: #fff; }
.is-foot .chart { opacity: 0; transform: translateY(20px); pointer-events: none; }

.toast { position: fixed; left: 50%; bottom: 28px; transform: translate(-50%, 16px); z-index: 40; padding: 14px 22px; border-radius: 999px; background: var(--ink); color: var(--cream);
  font: 700 14px/1.3 var(--sans); opacity: 0; pointer-events: none; transition: opacity .45s, transform .45s var(--ease); box-shadow: 0 20px 40px -18px rgba(29, 39, 66, .8); max-width: calc(100vw - 32px); text-align: center; }
.toast.on { opacity: 1; transform: translate(-50%, 0); }

.is-flying .hint { opacity: .0; }

/* ── mobile ─────────────────────────────────────────── */
@media (max-width: 760px) {
  .nav { padding: 14px 16px; }
  .brand svg { width: 32px; height: 32px; }
  .brand-words b { font-size: 20px; }
  .brand-words i { font-size: 8.5px; letter-spacing: .2em; }
  .links { display: none; }
  .nav .btn { height: 38px; padding: 0 15px; font-size: 12.5px; }
  .hero { left: 16px; right: 16px; bottom: 76px; max-width: none; }
  .hero .kicker { font-size: 10px; margin-bottom: 14px; }
  .hero-line1 { font-size: 22px; }
  .hero-line2 { font-size: 50px; }
  .hero-sub { font-size: 15px; margin-top: 16px; }
  .hero-cta { gap: 12px; margin-top: 20px; }
  .hero-cta .btn { height: 42px; }
  .hint { font-size: 12px; padding: 9px 12px 9px 10px; }
  .ticket { top: auto; bottom: 62px; left: 12px; right: 12px; width: auto; transform: none; padding: 18px 20px 0; border-radius: 18px; }
  .t-left:not(.is-on), .t-right:not(.is-on) { transform: translateY(30px); }
  .t-name { font-size: 38px; margin-top: 14px; }
  .t-lede { font-size: 14px; margin-top: 10px; line-height: 1.5; }
  .t-list, .t-facts, .t-when { display: none; }
  .t-head { font-size: 9px; padding-bottom: 12px; }
  .t-stub { margin: 14px -20px 0; padding: 14px 20px 16px; border-radius: 0 0 18px 18px; }
  .t-price b { font-size: 32px; }
  .t-stub .btn { margin-left: auto; height: 40px; }
  .fleet { left: 16px; right: 16px; top: auto; bottom: 62px; width: auto; }
  .fleet-title { font-size: 32px; }
  .fleet-lede { font-size: 14.5px; }
  .ships { grid-template-columns: 1fr; width: auto; gap: 8px; margin-top: 16px; }
  .ship:not(.is-here) { display: none; }
  .ship .ship-note { display: none; }
  .fleet-stats { display: none; }
  .book { left: 16px; right: 16px; top: auto; bottom: 62px; transform: none; width: auto; }
  .book-title { font-size: 36px; }
  .book-lede { font-size: 14.5px; }
  .booking { grid-template-columns: 1fr 1fr; margin-top: 18px; padding: 10px; gap: 8px; }
  .field { padding: 10px 12px; }
  .field input, .field select { font-size: 15px; }
  .book-note { display: none; }
  .chart { right: auto; left: 50%; top: 66px; bottom: auto; transform: translateX(-50%); width: auto; padding: 5px; border-radius: 999px; }
  .chart-title { display: none; }
  .chart-map { height: 34px; width: 170px; background: none; overflow: visible; }
  .chart-canvas { display: none; }
  .is-foot .chart { transform: translate(-50%, -10px); }
  .foot-cols { grid-template-columns: 1fr 1fr; gap: 28px; }
  .foot-small { flex-direction: column; padding-left: 0; padding-bottom: 40px; }
  .pin-card span, .pin-card em { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .panel [data-rise], .panel.is-on [data-rise] { transition: opacity .4s ease; transform: none; filter: none; }
}
/* Exlink Silver / Gold: light canvas, navy type, restrained gold controls. */
:root{--ink:#19283d;--ink-soft:#485b72;--cream:#f7f9fc;--paper:#e8eef4;--coral:#e5ad31;--coral-deep:#c18d22;--gold:#d3a33e;--serif:system-ui,-apple-system,'Segoe UI',sans-serif;--sans:system-ui,-apple-system,'Segoe UI',sans-serif}
.brand-logo{width:clamp(130px,16vw,230px);height:auto;display:block}.brand{padding:10px 14px;background:#19283d;border-radius:10px}.nav{gap:12px}.btn-coral{color:#19283d;box-shadow:none}.nav select{max-width:72px;border:1px solid #9aa9ba;border-radius:8px;padding:8px;background:#f7f9fc;color:#19283d}.nav-actions{display:flex;align-items:center;gap:10px;pointer-events:auto}.nav-actions a{font-size:13px}.hero-title{font-weight:750;letter-spacing:-.055em}.hero-line1{font-size:.65em}.hero-line2 em{color:#a67521;font-style:normal}.brand-line{height:2px;width:90px;background:#d3a33e;margin:20px 0 12px}.brand-tagline{font-size:11px;font-weight:700;letter-spacing:.2em}.booking{grid-template-columns:1fr 1fr}.booking .wide{grid-column:1/-1}.booking textarea{min-height:70px;font:inherit;padding:10px;border:1px solid #a1b0c2;border-radius:8px;background:#fff}.booking label{min-width:0}.booking .consent{display:flex;align-items:flex-start;gap:10px;font-size:12px}.consent input{width:17px;height:17px;flex-shrink:0;margin-top:2px}.book{max-height:calc(100svh - 150px);overflow:auto}.book-title{font-size:clamp(27px,3vw,46px)}.book-lede{font-size:14px}.foot-mark img{width:240px;background:#19283d;padding:18px;border-radius:12px}.mode-toggle{position:fixed;bottom:18px;right:20px;z-index:40;border:1px solid #a9b7c9;background:#f7f9ce;color:#19283d;padding:9px 14px;border-radius:20px;cursor:pointer}.t-stub{display:flex;gap:12px;justify-content:flex-start}.t-stub .btn{font-size:12px;padding:0 17px}.t-lede{font-size:15px}.ticket{max-height:calc(100svh - 160px);overflow:auto}.hint{font-size:12px}.foot-cols a{display:inline-block;padding:4px 0}.page-status{margin:20px 0;white-space:pre-line}.subpage{background:#edf2f7;color:#19283d}.subpage .nav{position:sticky;background:#e7eef5ee;border-bottom:1px solid #c5d2e0}.subpage main{max-width:1200px;margin:auto;padding:64px 28px 100px;min-height:70vh}.subpage main>section{margin-bottom:38px}.subpage h1{font-size:clamp(38px,6vw,74px);line-height:1.08;letter-spacing:-.05em;margin:16px 0 24px}.subpage h2{font-size:clamp(24px,3vw,38px);line-height:1.2;margin:18px 0}.subpage h3{font-size:21px;margin:16px 0}.subpage p{margin:12px 0;max-width:72ch}.subpage .card,.subpage .service-card,.subpage .service-card-v3,.subpage .product-card,.subpage article,.subpage .guide-article,.subpage .faq-item,.subpage .quote-side{padding:24px;border:1px solid #cad5e0;background:#fff;border-radius:18px}.subpage .service-grid-v3,.subpage .service-grid,.subpage .grid,.subpage .resource-grid,.subpage .guide-grid,.subpage .contact-layout,.subpage .quote-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.subpage img{max-width:100%;height:auto;border-radius:12px}.subpage .booking{display:grid;max-width:780px;gap:16px}.subpage input,.subpage select,.subpage textarea{font:inherit;max-width:100%;padding:12px;border:1px solid #a1b0c2;border-radius:8px}.subpage label{display:grid;gap:6px}.subpage form{display:grid;gap:16px;max-width:780px}.subpage .consent{display:flex}.subpage .muted,.subpage .v3-lede{color:#485b72}.subpage .kicker{color:#947022}.subpage details{padding:16px 0;border-bottom:1px solid #cad5e0}.subpage summary{cursor:pointer;font-weight:700}.subpage ul,.subpage ol{padding-left:22px}.subpage a{overflow-wrap:anywhere}.subpage .row{display:flex;gap:15px;flex-wrap:wrap}.subpage .foot{background:#dce5ef}.subpage .card-pad{padding:24px}.static-mode #gl,.static-mode .pins,.static-mode .chart{display:none!important}.static-mode .loader{display:none!important}.static-mode .nav{position:sticky;background:#edf2f7}.static-mode .stop{height:auto!important;padding:40px 20px}.static-mode .panel{position:relative!important;inset:auto!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;width:min(900px,100%)!important;max-height:none!important;margin:0 auto!important;overflow:visible!important}.static-mode .panel [data-rise]{opacity:1!important;transform:none!important}.static-mode .hero{padding-block:40px}.static-mode .chart{display:none}.static-mode .foot{margin-top:0}.static-mode .hint{display:none}.static-mode .ticket{padding:28px}.static-mode .stop:nth-child(even){background:#e7eef5}.static-mode .hero-title{font-size:clamp(42px,7vw,80px)}
@media(max-width:900px){.nav{padding:12px 16px}.nav .links{display:none}.nav-actions>.btn{display:none}.nav-actions{gap:8px}.nav select{font-size:12px}.nav .brand-logo{width:132px}.nav .brand{padding:7px}.subpage main{padding:35px 20px}.subpage .service-grid-v3,.subpage .service-grid,.subpage .grid,.subpage .resource-grid,.subpage .guide-grid,.subpage .contact-layout,.subpage .quote-layout{grid-template-columns:1fr}.booking{gap:10px}.booking .field{min-width:0}.book{max-height:calc(100svh - 120px)}.book .booking input,.book .booking select{height:38px}.ticket .t-lede{font-size:13px}.mode-toggle{bottom:14px;font-size:11px}.subpage .foot-cols{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.subpage .subhero{position:relative;isolation:isolate;padding:42px 32px;min-height:340px;display:flex;align-items:center;overflow:hidden;border-radius:24px;background:#e0e9f2}.subpage .subhero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18;z-index:-1;border-radius:0}.subpage .breadcrumbs{display:flex;gap:10px;font-size:12px;color:#485b72}.subpage .eyebrow{display:block;font-size:11px;letter-spacing:.17em;font-weight:750;color:#947022;margin:16px 0}.subpage .btn-primary{background:#e5ad31;color:#19283d}.subpage .tools-grid,.subpage .tool-layout,.subpage .faq-layout,.subpage .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.subpage .tool-card{padding:24px;background:#fff;border:1px solid #cad5e0;border-radius:18px}.subpage .shipping-checklist label{display:flex;align-items:center;gap:12px;margin:10px 0}.subpage .shipping-checklist input{width:18px;height:18px}.subpage .resource-cta{padding:30px;border-radius:20px;background:#dbe5f0;margin-top:24px}.subpage .about-layout,.subpage .about-proof,.subpage .journey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.subpage svg{max-width:24px;max-height:24px}.subpage .about-art{display:grid;place-items:center;min-height:220px;background:#19283d;color:#e5ad31;border-radius:20px}.subpage .about-art svg{max-width:80%;max-height:220px;width:100%;height:220px}.subpage .resource-card{display:block;background:#fff;border-radius:18px;padding:20px}.subpage .resource-card img{max-height:250px;width:100%;object-fit:cover}.subpage .grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.foot .brand-logo{border-radius:0}.panel{backdrop-filter:none!important}.subpage table{width:100%;border-collapse:collapse}.subpage th,.subpage td{padding:12px;text-align:left;border-bottom:1px solid #cad5e0}.subpage .table-wrap{overflow:auto}
@media(max-width:800px){.subpage .tools-grid,.subpage .tool-layout,.subpage .faq-layout,.subpage .grid2,.subpage .about-layout,.subpage .about-proof,.subpage .journey-grid,.subpage .grid3{grid-template-columns:1fr}.subpage .subhero{padding:26px 20px}.subpage .foot-cols{grid-template-columns:1fr}.subpage .subhero h1{font-size:36px}.t-stub{flex-wrap:wrap}}

.static-mode{background:#eef3f8}.static-mode .stop-hero{background:radial-gradient(ellipse at 80% 0%,#d8e8f7,#f2f5f9 75%)}.hero-line1,.hero-line2{font-weight:750}.hero-line2 em::after{background:#d3a33e!important}

.nav-menu{position:relative}.nav-menu summary{cursor:pointer;list-style:none;padding:8px 12px;border:1px solid #a1b0c2;border-radius:8px;background:#f7f9fc}.nav-menu nav{position:absolute;right:0;top:48px;width:220px;display:grid;padding:12px;background:#f7f9fc;border:1px solid #c5d2e0;border-radius:14px;box-shadow:0 15px 40px #19283d20}.nav-menu a{padding:10px;text-decoration:none}.nav-menu a:hover{background:#e1e9f3;border-radius:8px}
.hero-line1{font-size:clamp(24px,3.1vw,42px);line-height:1.2}.hero-line2{font-size:clamp(38px,6vw,94px);line-height:1.08}.hero-line2 em{white-space:normal}.panel,.panel p,.panel h1,.panel h2,.foot-cols{overflow-wrap:break-word}.static-mode .panel{min-width:0!important}.foot-cols>div{min-width:0}
@media(max-width:700px){.hero-line1{font-size:24px}.hero-line2{font-size:clamp(30px,9vw,40px)}.booking{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.nav-actions{gap:6px}.nav .brand-logo{width:120px}.hero-sub{font-size:14px}}
.hero-line2 em::after{display:none}
.fleet{max-height:calc(100svh - 160px);overflow:auto}.static-mode .ship{display:block}.static-mode .t-list{display:grid}.static-mode .fleet{max-height:none;overflow:visible}
@media(max-width:760px){.fleet .ship{display:block}.fleet{max-height:calc(100svh - 160px)}}
/* 160: light SVG technical illustrations and an accessible service dossier. */
.panel-schematic{display:flex;align-items:center;gap:12px;margin-top:14px;padding:8px 12px;background:#e9f0f5;border:1px solid #d3dfe8;border-radius:12px}.service-art{display:block;width:100%;height:auto}.panel-schematic .service-art{width:132px;flex:0 0 132px}.panel-schematic ul{list-style:none;font-size:11px;line-height:1.6;font-weight:700;color:#426078;letter-spacing:.025em}.detail-link{display:inline-block;font-size:12px;font-weight:750;color:#72541f;text-underline-offset:4px;padding:10px 0}.detail-link:hover{color:#192d43}.ticket .t-name{font-size:clamp(30px,3.2vw,48px)}.ticket .t-lede{font-size:14px}.ticket .t-list{font-size:12px}.service-inline{margin:30px 0;background:#f8fbfd;border:1px solid #c8d8e5;border-radius:20px;padding:24px}.service-inline>.detail-hero{max-width:600px;margin:auto}.detail-hero{padding:16px 24px;background:linear-gradient(145deg,#edf4f9,#e2ecf3);border:1px solid #d2dfe9;border-radius:16px}.detail-badge{display:flex;gap:9px;align-items:center;margin-top:12px;font-size:11px;font-weight:700;color:#4c674f}.detail-badge span{font-size:22px;color:#80976c}.service-drawer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;background:transparent;padding:0;margin:0;overflow:hidden;color:#192d43}.service-drawer::backdrop{background:#1021368c;transition:background .2s}.drawer-panel{margin-left:auto;width:min(720px,100%);height:100%;background:#f7fafd;display:flex;flex-direction:column;box-shadow:-20px 0 65px #0b1d312b;transform:translateX(100%);transition:transform .2s ease-out}.service-drawer.is-open .drawer-panel{transform:none}.drawer-head{padding:22px 28px;border-bottom:1px solid #d3dfe8;display:flex;align-items:flex-start;gap:18px;background:#f7fafd}.drawer-head>div{flex:1;min-width:0}.drawer-kicker{font-size:10px;letter-spacing:.18em;font-weight:750;color:#947124}.drawer-head h2{font-size:clamp(23px,3vw,32px);line-height:1.15;letter-spacing:-.03em;margin:8px 0 0}.drawer-close{border:1px solid #c2d2df;background:#eaf1f6;min-width:42px;height:42px;border-radius:10px;cursor:pointer;color:#192d43;font-size:22px}.drawer-scroll{padding:24px 28px;overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-gutter:stable}.detail-section{margin-top:26px}.detail-section h3{font-size:18px;line-height:1.3;letter-spacing:-.02em;margin:0 0 14px}.workflow-art{width:100%;height:auto;display:block;margin:0 0 16px}.detail-steps{list-style:none;padding:0;margin:0;display:grid;gap:12px}.detail-steps li{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.6}.step-number{flex:0 0 28px;display:grid;place-items:center;height:28px;border-radius:8px;background:#e5edf4;color:#85672e;font-size:11px;font-weight:750}.detail-steps li p{margin:2px 0}.doc-checklist{list-style:none;padding:0!important;margin:0;display:grid;gap:10px}.doc-checklist label{display:flex!important;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;padding:12px 14px;border-radius:10px;border:1px solid #d1dfeb;background:#fff}.doc-checklist input{width:17px;height:17px;margin:3px 0 0;flex-shrink:0;accent-color:#956e26}.detail-table-wrap{overflow:auto;border:1px solid #cbdbe7;border-radius:12px}.detail-table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.65}.detail-table th,.detail-table td{padding:12px 14px!important;border-bottom:1px solid #d8e4ed;text-align:left;vertical-align:top;overflow-wrap:anywhere}.detail-table thead{background:#e5eef5}.detail-table tbody th{font-weight:650;width:38%}.detail-table tbody tr:last-child>*{border-bottom:0}.detail-note{font-size:11px!important;color:#63788d;margin:20px 0 0!important;line-height:1.7}.drawer-foot{border-top:1px solid #cbdbe7;padding:16px 28px max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:16px;background:#f7fafd;flex-wrap:wrap}.drawer-foot .btn{flex:1;font-size:13px}.drawer-foot>a:not(.btn){font-size:12px;color:#506a7f}.subpage .service-art{max-width:none;max-height:none}.subpage .workflow-art{max-width:none;max-height:none}.service-inline .doc-checklist{grid-template-columns:1fr 1fr}.service-inline .detail-steps{grid-template-columns:1fr 1fr}.static-mode .panel-schematic .service-art{width:180px;flex-basis:180px}body.details-open{overscroll-behavior:none}
@media(max-width:760px){.drawer-head{padding:17px 20px}.drawer-scroll{padding:18px 20px}.drawer-foot{padding:12px 20px max(12px,env(safe-area-inset-bottom));gap:10px}.drawer-foot .btn{min-height:44px;white-space:normal;text-align:center}.drawer-foot>a:not(.btn){width:100%;text-align:center}.panel-schematic .service-art{width:110px;flex-basis:110px}.panel-schematic ul{font-size:10px}.ticket .t-name{font-size:30px}.ticket .panel-schematic{margin-top:10px;padding:4px 8px}.service-inline .doc-checklist,.service-inline .detail-steps{grid-template-columns:1fr}.service-inline{padding:18px}.detail-steps li{font-size:13px}.detail-table{font-size:11px}.drawer-head h2{font-size:25px}.static-mode .panel-schematic .service-art{width:120px;flex-basis:120px}}
@media(prefers-reduced-motion:reduce){.drawer-panel{transition:none}}

.t-stub [data-detail]::after{display:none}

.panel [data-rise]{filter:none!important}
.drawer-panel{transform:none;transition:none}
:root{--ink:#0A192F;--coral:#D4AF37;--gold:#D4AF37}.hero{left:50%;right:auto;transform:translateX(-50%);width:min(1000px,90vw);max-width:none;text-align:center}.hero .brand-line{margin:20px auto 12px}.hero-sub{margin-left:auto;margin-right:auto}.hero-cta{justify-content:center}.hero-title{text-transform:uppercase}.comparison{width:100%;height:auto;margin-top:14px}.reference-note{display:none;font-size:11px;color:#654b1b;background:#fff5d9;border-radius:8px;padding:8px;margin-top:10px}.atlas-reference .reference-note{display:block}.static-mode .reference-note{display:none}.tracking-progress{display:flex;gap:4px;list-style:none;padding:0;margin:15px 0}.tracking-progress li{flex:1;border-top:4px solid #b5c4d2;padding:8px 2px;font-size:10px;overflow-wrap:anywhere}.tracking-progress li.done{border-color:#D4AF37;color:#19283d}.tracking-form{margin-top:18px}.tracking-form .field{min-width:0}@media(max-width:760px){.hero{left:16px;right:16px;transform:none;width:auto}.hero-title{text-align:center}.comparison{margin-top:7px}.tracking-progress li{font-size:9px}}

.service-shortcuts{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.service-shortcuts a{font-size:10px;border:1px solid #c6d5e1;border-radius:12px;padding:4px 7px;color:#263f58;text-decoration:none}.service-shortcuts a:hover{background:#dfeaf2}
/* 162: Montserrat, editorial service pages and real model previews. */
@font-face{font-family:Montserrat;src:url('/assets/montserrat-regular.woff') format('woff'),url('/assets/montserrat-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/montserrat-semibold.woff') format('woff'),url('/assets/montserrat-semibold.ttf') format('truetype');font-weight:500 600;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/montserrat-bold.woff') format('woff'),url('/assets/montserrat-bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
:root{--sans:Montserrat,Arial,sans-serif;--serif:Montserrat,Arial,sans-serif;--coral-deep:#bc942b}
body,input,select,textarea,button{font-family:var(--sans)}
.subpage{background:#f6f8fb}.subpage main{max-width:1440px;padding:52px clamp(22px,4vw,64px) 90px}.subpage main>a:first-child{font-size:12px;text-decoration:none;color:#596b7e}
.subpage h1{font-weight:700;font-size:clamp(32px,4.2vw,62px);letter-spacing:-.045em;line-height:1.12}.subpage h2{letter-spacing:-.035em}.subpage p{font-size:15px;line-height:1.85}.subpage .subhero{padding:clamp(26px,5vw,64px);margin:24px 0 40px;min-height:350px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(110deg,#10243c,#324b65);color:#fff;border-radius:24px}.subpage .subhero>img{opacity:.24}.subpage .subhero p,.subpage .subhero .breadcrumbs{color:#e3ebf2}.subpage .subhero .eyebrow{color:#edc96b}
.service-intro{display:grid;grid-template-columns:1fr 1.15fr;gap:36px;align-items:center;margin:28px 0 50px}.service-intro h1{margin:15px 0 22px}.service-intro ul{padding-left:20px;margin:22px 0 28px;font-size:14px;line-height:1.85}.service-intro>.model-preview{min-height:440px}.model-preview{position:relative;overflow:hidden;isolation:isolate;border-radius:20px;background:radial-gradient(ellipse at 50% 35%,#fff 0%,#e7edf3 60%,#d7e0ea 100%);aspect-ratio:1.44}.model-preview img.service-art{display:block;width:100%;height:100%;object-fit:contain;max-width:none;max-height:none}.model-preview canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y}.model-preview.viewer-active>img{visibility:hidden}.model-preview button{position:absolute;z-index:2;right:18px;bottom:18px;border:1px solid #fff9;background:#10243ced;color:#fff;border-radius:99px;padding:10px 16px;font-size:12px;cursor:pointer;box-shadow:0 4px 18px #10243c26}.model-preview button span{font-size:20px;margin-right:5px}.model-preview button:hover{background:#34516d}.model-caption{position:absolute;bottom:20px;left:22px;font-size:9px;letter-spacing:.14em;font-weight:700;color:#465d72;pointer-events:none}.detail-hero{padding:0;background:none;border:0}.detail-badge{margin:14px 0}.detail-section h3{font-weight:700}.service-inline{background:#fff;padding:36px;border-radius:22px}.service-inline>.detail-section:first-child{margin-top:0}.subpage .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.service-grid article{display:flex;flex-direction:column;gap:8px}.service-grid .model-preview{order:-1;margin:-12px -12px 12px}.service-grid article>a:last-child{margin-top:auto;font-size:13px;font-weight:600;text-decoration:none;padding-top:14px}.service-grid article>a:last-child:hover{color:#a77e1d}.panel-schematic .model-preview{width:160px;flex:0 0 160px}.panel-schematic button,.panel-schematic .model-caption{display:none}.subpage .solutions-grid,.subpage .solution-grid,.subpage .pain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.subpage .pain-card,.subpage .solution-card{border:1px solid #d7e1e9;padding:32px;background:#fff;border-radius:20px}.subpage .pain-card h3,.subpage .solution-card h3{font-size:22px}.subpage main>section+section{margin-top:32px}.subpage article+article{margin-top:24px}
.foot{background:#0d2037;color:#dbe5ef;padding:48px var(--pad) 32px}.foot-inner{max-width:1320px}.foot-banner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px;padding:0 0 42px;margin-bottom:36px;border-bottom:1px solid #ffffff21}.foot-banner h2{font-size:clamp(28px,3.5vw,48px);line-height:1.18;letter-spacing:-.04em;max-width:15ch;margin:18px 0 26px}.foot-banner img{width:100%;border-radius:20px;background:#cbd8e4}.foot-mark img{width:280px;padding:0;background:transparent}.foot-cols{margin-top:30px;padding-top:30px;border-color:#ffffff21;gap:36px}.foot-cols p{color:#dbe5ef!important}.foot-cols a{border:0;font-size:13px;line-height:1.65;color:#c5d2df}.foot-cols a:hover{color:#edc96b}.foot-cols h4,.foot .kicker{color:#edc96b}.foot-small{padding-left:0;margin-top:36px;padding-top:24px;border-top:1px solid #ffffff21;font-size:9px;color:#91a6bb}.btn-coral{background:#d4af37;color:#0a192f}.service-drawer .drawer-panel{width:min(800px,100%)}
@media(max-width:800px){.service-intro{grid-template-columns:1fr;gap:22px;margin:24px 0}.service-intro>.model-preview{min-height:0;order:-1}.subpage main{padding-top:28px}.subpage .service-grid,.subpage .solutions-grid,.subpage .solution-grid,.subpage .pain-grid{grid-template-columns:1fr}.service-inline{padding:20px}.foot-banner{grid-template-columns:1fr}.foot-banner img{max-height:300px;object-fit:contain}.foot-cols{grid-template-columns:1fr 1fr}.foot-mark img{width:240px}.model-caption{font-size:8px;left:15px}.subpage .subhero{min-height:300px}}
.subpage .needs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.subpage .need-card{position:relative;padding:34px!important;min-height:270px;display:flex;flex-direction:column;gap:10px;overflow:hidden;background:linear-gradient(135deg,#fff,#edf3f8)}.subpage .need-number{font-size:13px;color:#aa8228;letter-spacing:.1em;font-weight:700}.subpage .need-card h3{font-size:23px;max-width:24ch}.subpage .need-card .link{margin-top:auto;font-weight:600;font-size:13px;text-decoration:none}.subpage .need-card strong{display:block;margin-top:8px}.subpage .section-head{margin-bottom:28px;max-width:850px}.subpage .section-head p{font-size:16px}.subpage .container{width:100%;max-width:none;margin:0}.subpage .section{padding:32px 0}.subpage .resource-cta{padding:36px;background:linear-gradient(120deg,#16304b,#304d67);color:#fff}.subpage .resource-cta .muted{color:#ced9e4}.subpage .service-grid article+article{margin-top:0}
@media(max-width:800px){.subpage .needs-grid{grid-template-columns:1fr}.subpage .need-card{padding:24px!important;min-height:230px}.subpage .resource-cta{padding:24px}}
.subpage .foot{background:#0d2037;color:#dbe5ef}.foot-banner h2{color:#f6f9fc}.subpage .foot-cols{grid-template-columns:repeat(4,minmax(0,1fr))}.foot .foot-banner p{color:#edc96b}.foot .foot-cols p{color:#dbe5ef}.foot .foot-small{color:#91a6bb}.subpage .prep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.subpage .prep-grid>div{padding:24px;border-top:2px solid #d4af37;background:#edf2f7;border-radius:0 0 14px 14px}.subpage .prep-grid h3{font-size:20px}
@media(max-width:800px){.subpage .foot-cols{grid-template-columns:1fr 1fr}.subpage .prep-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.model-preview *{transition:none}}
/* 163: quiet, compact footer; the journey itself carries the large graphics. */
.foot,.subpage .foot{padding:38px var(--pad) 22px;background:#0b1d31;color:#c1cedb}.foot-inner{max-width:1320px}.foot-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid #ffffff18}.foot-brand{display:inline-flex;flex-direction:column;gap:10px;text-decoration:none}.foot-brand .brand-logo{width:220px;height:auto}.foot-brand>span{font-size:10px;color:#91a6bb;letter-spacing:.12em}.foot-contact{display:flex;gap:32px;align-items:center;font-size:15px;font-weight:600;text-decoration:none;color:#f0e6c9}.foot-contact>span{font-size:26px;color:#d4af37}.foot-cols,.subpage .foot-cols{grid-template-columns:1.4fr 1fr 1.3fr .8fr;gap:36px;margin-top:26px;padding-top:0;border:0}.foot-cols h4{font-size:9px;letter-spacing:.14em;color:#a5b7c8}.foot-cols p{font-size:12px!important;color:#9dafc1!important}.foot-cols a{font-size:12px;line-height:1.65;padding:3px 0;color:#a9bdcd}.foot-small{font-size:8px;letter-spacing:.1em;margin-top:25px;padding-top:18px;border-color:#ffffff18;color:#7891a7}.foot-cols a:hover,.foot-contact:hover{color:#e5c868}.foot-banner{display:none}.foot .foot-cols>div:first-child>p{display:none}
body[data-station="0"] .hero{background:radial-gradient(ellipse,#f4f7fa80,#fff0 72%)}.hero .hint::before{content:'↓';display:inline-block;margin-right:10px;color:#9e7720;animation:scroll-cue 1.8s ease-in-out infinite}.hero-line1,.hero-line2{font-size:clamp(30px,4.5vw,70px)!important;font-weight:700;letter-spacing:-.04em}.hero-line2 em{color:#142e47}.brand-line{width:110px;background:#d4af37}.brand-tagline{text-transform:none;font-size:13px;letter-spacing:.18em}.hero .hero-sub{max-width:60ch}.hero .hero-cta{margin-top:25px}
@keyframes scroll-cue{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}
@media(max-width:800px){.foot-top{align-items:flex-start}.foot-brand .brand-logo{width:180px}.foot-contact{font-size:12px;gap:14px}.foot-cols,.subpage .foot-cols{grid-template-columns:1fr 1fr;gap:24px}.foot-cols>div:first-child{grid-column:1/-1}.foot .foot-small{font-size:7px;padding-bottom:0}.hero-line1,.hero-line2{font-size:clamp(26px,6vw,42px)!important}.hero .brand-tagline{font-size:11px;letter-spacing:.12em}}
@media(prefers-reduced-motion:reduce){.hero .hint::before{animation:none}}
.foot .foot-small,.subpage .foot-small{max-width:none;font-size:10px;font-weight:400;letter-spacing:.04em;line-height:1.6;text-transform:none;display:block;padding-bottom:0}.foot .foot-brand>span{font-size:10px}
/* 164: readable content in natural document flow on touch screens. */
.about-stamp{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:18px 0}.about-stamp span{font-weight:700;letter-spacing:.12em}.about-stamp small{display:block;font-size:11px;letter-spacing:.1em;color:#5c7186}.about-item{display:flex;align-items:flex-start;gap:14px;margin-top:22px}.about-item>div:last-child{display:grid;gap:6px}.about-item strong,.about-item span{display:block}.about-item span{font-size:14px;line-height:1.8;color:#52687d}.about-item svg{flex:0 0 20px}.about-image{width:100%;object-fit:cover;aspect-ratio:4/3}.book{background:#f6f8fbee;padding:26px;border:1px solid #ffffffa8;border-radius:20px}.book .booking{padding:0}.book .field{background:#fff;padding:12px;border:1px solid #d8e1e9;box-shadow:none}.book .field span{font-size:10px;line-height:1.5;letter-spacing:.07em}.book input,.book select{min-height:38px;font-family:Montserrat,Arial,sans-serif;font-size:16px}.t-stub .btn{white-space:normal;text-align:center;min-height:44px;height:auto;padding-block:12px}.t-stub{flex-shrink:0}.ticket{padding-bottom:4px}
.subpage .subhero-rich{position:relative;isolation:isolate;min-height:490px;padding:60px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:24px;background:linear-gradient(125deg,#0c2139,#274762)}.subhero-rich .container{position:relative;z-index:1;min-width:0}.subpage .subhero-rich h1{font-size:clamp(32px,3.6vw,56px)}.subpage .subhero-rich>img{opacity:.1}.hero-diorama{margin:0;min-width:0}.subpage .hero-diorama img{width:100%;height:auto;filter:drop-shadow(0 24px 22px #0003)}.solution-studio{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;padding:25px 0}.solution-visual{position:sticky;top:140px;align-self:start;background:radial-gradient(ellipse,#f8fbff,#dce7f1);border-radius:24px;overflow:hidden}.solution-visual img{width:100%;aspect-ratio:1.25;object-fit:contain}.solution-visual img[hidden]{display:none}.solution-visual>span{display:block;margin:0 26px 24px;font-size:10px;letter-spacing:.14em;color:#536b82}.subpage .solution-issues details{padding:22px 0;border-bottom:1px solid #ced9e4}.solution-issues summary{display:flex;gap:18px;align-items:center;list-style:none;font-size:20px;line-height:1.4}.solution-issues summary::-webkit-details-marker{display:none}.solution-issues summary>span{color:#a28235;font-size:11px}.solution-issues summary>b{margin-left:auto;font-weight:400;color:#8d7238}.solution-issues details[open] summary>b{transform:rotate(45deg)}.solution-answer{padding-left:36px}.solution-answer p{font-size:14px}.solution-answer small{font-size:10px;color:#708397}.solution-answer strong{display:block;font-size:13px;margin:5px 0 14px}.solution-answer .link{font-size:12px;font-weight:600}.subpage .audience-list{display:block}.subpage .audience-list article{display:grid;grid-template-columns:50px 1fr 1.2fr 240px;gap:24px;align-items:center;background:transparent;border:0;border-top:1px solid #cfdbe6;border-radius:0;padding:28px 0;margin:0}.audience-list article .eyebrow{margin:0!important}.audience-list h3{font-size:21px!important;margin:0!important}.audience-list p{font-size:14px!important;margin:0!important}.audience-list .audience-image{grid-column:4;grid-row:1/3;width:100%;height:170px;object-fit:cover}.audience-list article>a{grid-column:2/4;margin:0!important;font-size:12px;font-weight:600}.form-editorial{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:start;margin-top:30px}.form-editorial-intro{position:sticky;top:130px}.form-editorial-intro img{width:100%;background:radial-gradient(ellipse,#f8fbff,#e2ebf3);border-radius:20px}.form-editorial form{padding:30px;background:#fff;border:1px solid #d6e1eb;border-radius:20px;max-width:none!important}.form-editorial form label{font-size:12px}.subpage .tools-grid{gap:35px}.subpage .tool-card{background:#edf3f8;border:0;padding:32px}.subpage .shipping-checklist label{padding:10px 0;border-bottom:1px solid #d3e0ea}
@media(max-width:1100px){.solution-studio{gap:28px}.subpage .audience-list article{grid-template-columns:35px 1fr 1fr 180px;gap:18px}.subpage .subhero-rich{padding:35px}.form-editorial{gap:28px}}
@media(max-width:900px){
body:not(.subpage):not(.static-mode) .track .stop{height:auto;min-height:100svh;padding:36svh 14px 28px;display:flex;align-items:flex-end}body:not(.subpage) .track .stop-hero{padding-top:150px;min-height:100svh;align-items:center}.track .stop .panel,.track .stop .panel:not(.is-on){position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:none;max-height:none;overflow:visible;visibility:visible;opacity:1;pointer-events:auto;margin:0}.track .panel [data-rise]{opacity:1;transform:none;filter:none}.track .ticket{padding:20px 20px 0;background:#f8faf4f2}.track .t-name{font-size:28px!important}.track .t-lede{font-size:14px;line-height:1.7}.track .t-stub{margin:18px -20px 0;padding:16px 20px;display:grid;grid-template-columns:1fr;border-radius:0 0 18px 18px;gap:10px}.track .t-stub .btn{width:100%;margin:0;min-height:44px;font-size:12px}.track .panel-schematic{display:none}.track .book{padding:22px 18px;background:#f7f9fcf5;box-shadow:0 10px 35px #12314b12}.track .booking{grid-template-columns:1fr;gap:12px;margin-top:22px}.track .booking .wide{grid-column:1}.track .field{min-height:0;padding:10px 12px}.track .field input,.track .field select{min-height:42px;font-size:16px}.track .book-title{font-size:30px}.track .book-lede{font-size:14px;line-height:1.7}.track .hero-sub{font-size:14px;line-height:1.7}.track .hero-cta{flex-wrap:wrap}.nav{gap:8px;padding:10px 14px}.nav .brand-logo{width:clamp(110px,28vw,150px)}.nav-actions{gap:7px}.nav-actions>a:not(.btn){font-size:12px}.nav select{padding:8px 4px}.chart{top:78px!important}.subpage .subhero-rich{grid-template-columns:1fr;min-height:0;padding:28px 22px;gap:15px}.hero-diorama{max-width:440px;margin:auto}.subpage .subhero-rich h1{font-size:32px}.solution-studio{grid-template-columns:1fr;gap:16px}.solution-visual{position:relative;top:auto;max-height:340px}.solution-visual img{height:300px;aspect-ratio:auto}.solution-visual>span{margin:0 20px 16px}.solution-issues summary{font-size:18px}.subpage .audience-list article{grid-template-columns:30px 1fr;gap:16px}.audience-list .audience-image{grid-column:1/3;grid-row:auto;height:200px}.audience-list p,.audience-list article>a{grid-column:2!important}.form-editorial{grid-template-columns:1fr;gap:24px}.form-editorial-intro{position:relative;top:auto}.form-editorial-intro img{max-height:270px;object-fit:contain}.form-editorial form{padding:20px}.subpage .booking{grid-template-columns:1fr}.subpage .booking .wide{grid-column:1}.subpage main{padding-inline:18px}.subpage .about-layout{gap:28px}.about-stamp{flex-direction:column;align-items:flex-start;gap:7px}
}
@media(max-width:360px){.nav-actions>a:not(.btn){display:none}.track .hero-line1,.track .hero-line2{font-size:24px!important}.nav .brand-logo{width:120px}}
@media(max-width:900px){.track .t-stub{height:auto;min-height:130px;grid-auto-rows:minmax(44px,auto)}}
.service-intro>*{min-width:0}.service-intro>.model-preview{min-height:0;width:100%;max-width:100%}.subpage .service-grid>*{min-width:0}.form-editorial>*{min-width:0}
/* 165: brighter metallic gold, restrained navy and consistent control states. */
:root{--coral:#ffd447;--gold:#ffd447;--coral-deep:#f2bd2c}
.btn-coral,.subpage .btn-primary{background:linear-gradient(115deg,#fff0a1 0%,#ffdc54 28%,#efba24 65%,#ffe584 100%);color:#10243c;border:1px solid #d4aa30;box-shadow:inset 0 1px 0 #fff8d9,0 3px 8px #73540012;font-weight:700}.btn-coral:hover,.subpage .btn-primary:hover{background:linear-gradient(115deg,#fff5b9,#ffe16c 35%,#f6c43a 70%,#ffeca5);color:#10243c;box-shadow:inset 0 1px 0 #fff,0 4px 12px #73540020}.btn:active{transform:translateY(1px)}button:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:wait;box-shadow:none}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a67512;outline-offset:4px}input,textarea,select{scroll-margin-top:150px}.links{border-radius:12px}.links a{border-radius:8px}.ticket{border:1px solid #d0dce5;background:#f7fafbea;border-radius:18px;box-shadow:0 10px 35px #142d4710}.t-stub{border-top:1px solid #d2dce5;background:#f1f5f8}.t-stub::before,.t-stub::after{display:none}.panel .t-lede{color:#3f5369}.panel .t-route{letter-spacing:.13em}.subpage .card,.subpage article,.form-editorial form{border-radius:14px}.subpage .resource-cta{border-radius:16px}.subpage .hero-diorama img{filter:drop-shadow(0 14px 22px #0002)}.nav a[aria-current=page]{text-decoration:underline;text-decoration-color:#d9ad31;text-underline-offset:7px}.nav-menu summary,.nav select{min-height:44px;min-width:44px}.nav-menu[open]{z-index:60}.book .field:focus-within{border-color:#ad8522;box-shadow:0 0 0 2px #f8d45d42}.page-status:not(:empty){padding:18px;border-left:3px solid #d4ab31;background:#eaf1f7;border-radius:0 10px 10px 0}.drawer-foot .btn{min-height:46px}
@media(max-width:900px){.track .ticket{background:#f7fafbf5}.track .t-stub{background:#eff4f8}.nav-menu nav{max-height:70svh;overflow:auto}.nav-menu nav a{display:block;min-height:44px;padding:12px}.subpage .btn{min-height:44px;white-space:normal;text-align:center}.foot-cols a{padding-block:7px}}
@media(prefers-reduced-motion:reduce){.btn{transition:none;transform:none}.drawer-panel{transition:none}}
button[aria-busy=true]::after{content:'…';margin-left:6px}#public-track-form button{min-height:46px}.service-grid article>a:last-child,.detail-link{min-height:44px;display:inline-flex;align-items:center}
.nav-actions>a:not(.btn){min-height:44px;display:inline-flex;align-items:center}.model-preview button{min-height:44px;min-width:76px}
/* 166: one gesture per station; detail sheets expand only on deliberate input. */
.journey-snap .track .stop{height:100svh!important;min-height:100svh!important;padding:0!important;display:block!important}.journey-snap .track .stop .panel{position:fixed!important;inset:auto 18px 16px!important;width:calc(100% - 36px)!important;max-width:600px;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;transform:none!important;visibility:hidden!important;pointer-events:none!important;z-index:12;background:#f7fafbf5;border:1px solid #d2dfe8;border-radius:16px}.journey-snap .track .stop .panel.is-on{visibility:visible!important;pointer-events:auto!important}.journey-snap .panel [data-rise]{opacity:1!important;transform:none!important;filter:none!important}.sheet-toggle{position:relative;display:flex;justify-content:center;align-items:center;width:100%;min-height:44px;padding:10px 20px;border:0;border-bottom:1px solid #d6e0e9;background:#edf3f8;color:#29445e;font:600 12px Montserrat,Arial,sans-serif;cursor:pointer}.sheet-toggle::before{content:'';width:28px;height:3px;border-radius:3px;background:#b4c3d1;margin-right:12px}.sheet-content{padding:18px 22px;max-height:27svh;overflow:hidden;overscroll-behavior:contain}.journey-snap .panel:not(.sheet-open) .booking,.journey-snap .panel:not(.sheet-open) .comparison,.journey-snap .panel:not(.sheet-open) .service-shortcuts,.journey-snap .panel:not(.sheet-open) .t-stub,.journey-snap .panel:not(.sheet-open) .panel-schematic{display:none!important}.journey-snap .panel:not(.sheet-open) .t-lede,.journey-snap .panel:not(.sheet-open) .book-lede{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.journey-snap .panel .t-head{font-size:9px;margin:0;padding-bottom:10px}.journey-snap .panel .t-name,.journey-snap .panel .book-title{font-size:clamp(23px,2.5vw,34px)!important;line-height:1.25;margin:10px 0}.journey-snap .panel.sheet-open{max-width:640px}.journey-snap .sheet-open .sheet-content{max-height:calc(100svh - var(--nav-height,90px) - 128px);overflow:auto;scrollbar-gutter:stable}.journey-snap .panel .booking{grid-template-columns:1fr 1fr;padding:0;gap:10px}.journey-snap .panel .field{padding:8px 10px;gap:3px;min-height:0;border-radius:9px}.journey-snap .field span{font-size:9px;line-height:1.35;letter-spacing:.05em}.journey-snap .field input,.journey-snap .field select{font-size:16px;min-height:36px;height:36px}.journey-snap .panel textarea{min-height:70px}.journey-snap .track .stop .hero{inset:auto 50% 12svh auto!important;transform:translateX(50%)!important;width:min(950px,90vw)!important;max-width:none;background:transparent;border:0;overflow:visible!important;box-shadow:none;text-align:center}.journey-snap .hero .hero-cta{justify-content:center}.journey-snap .hero .hero-line1,.journey-snap .hero .hero-line2{font-size:clamp(25px,4vw,58px)!important}.journey-snap .chart{position:fixed;top:calc(var(--nav-height,90px) + 8px)!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translateX(-50%)!important;width:auto!important;max-width:calc(100vw - 28px);padding:4px 8px;border-radius:30px;z-index:20;background:#f7fafbe8}.journey-snap .chart-title,.journey-snap .chart-canvas{display:none!important}.journey-snap .chart-map{position:static;width:auto!important;height:auto!important;background:none;overflow:visible}.journey-snap .chart-dots{position:static;display:flex;align-items:center;gap:2px}.journey-snap .chart-dot{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;margin:0!important;width:40px;height:40px;flex:0 0 40px;transform:none!important}.journey-snap[data-station="0"] .chart{visibility:hidden;pointer-events:none}.journey-snap .track .t-stub{height:auto;margin:16px -22px -18px;padding:14px 22px;min-height:0}.journey-snap .panel .kicker{font-size:10px;letter-spacing:.13em;margin:0}.journey-snap .panel .book-lede{font-size:14px;line-height:1.6}.journey-snap .track .hero-sub{font-size:14px;line-height:1.7;max-width:64ch;margin-inline:auto}
@media(min-width:1101px){.journey-snap .track .t-right{left:auto!important;right:24px!important;width:min(570px,43vw)!important}.journey-snap .track .t-left,.journey-snap .track .book{left:24px!important;right:auto!important;width:min(570px,43vw)!important}}
@media(max-width:1100px){.journey-snap .track .stop .panel{max-width:none;bottom:max(12px,env(safe-area-inset-bottom))!important}.journey-snap .sheet-content{padding:14px 18px;max-height:23svh}.journey-snap .sheet-open .sheet-content{max-height:calc(100svh - var(--nav-height,86px) - 130px)}.journey-snap .panel .booking{grid-template-columns:1fr}.journey-snap .panel .booking .wide{grid-column:1}.journey-snap .panel .t-head{gap:8px}.journey-snap .panel .t-route{font-size:8px}.journey-snap .track .t-stub{margin-inline:-18px}.journey-snap .track .stop .hero{bottom:13svh!important}.journey-snap .hero .hint{display:none}.journey-snap .hero-sub{font-size:13px!important}.journey-snap .hero-cta{margin-top:16px}.journey-snap .panel.sheet-open .t-lede{font-size:14px;line-height:1.65}.journey-snap .chart-dot{width:38px;height:38px;flex-basis:38px}.journey-snap .panel .t-name,.journey-snap .panel .book-title{font-size:25px!important}}
@media(max-height:600px){.journey-snap .sheet-content{max-height:20svh}.journey-snap .panel:not(.sheet-open) .t-lede,.journey-snap .panel:not(.sheet-open) .book-lede{display:none}.journey-snap .track .stop .hero{bottom:8svh!important}.journey-snap .hero-sub{display:none}.journey-snap .hero .hero-line1,.journey-snap .hero .hero-line2{font-size:26px!important}}
.journey-snap .track .stop .hero{bottom:45svh!important;transform:translate(50%,50%)!important}
.journey-snap .track .stop .panel.sheet-open{bottom:calc(12px + var(--keyboard-inset,0px))!important}.journey-snap .sheet-open .sheet-content{max-height:max(80px,calc(var(--view-height,100svh) - var(--nav-height,90px) - 128px))}
/* 167: editorial hierarchy, operational context and architectural 3D. */
:root{--ink:#10243a;--ink-soft:#51677c}.hero-services{font-size:12px;font-weight:600;text-underline-offset:5px;padding:12px 4px;min-height:44px;display:inline-flex;align-items:center;color:#2f485e}.hero .hero-cta{gap:22px}.hero .hero-sub{font-weight:400}.hero-title{letter-spacing:-.035em}.journey-snap .panel:not(.sheet-open) .service-scope,.journey-snap .panel:not(.sheet-open) .form-assurance{display:none}.service-scope{margin:22px 0;border-top:1px solid #d7e1ea;padding-top:16px}.service-scope>p{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:#9b7622}.service-scope ul{list-style:none;padding:0;margin:12px 0}.service-scope li{padding:9px 0 9px 18px;border-bottom:1px solid #e0e8ef;position:relative;font-size:13px;line-height:1.65;color:#455c71}.service-scope li::before{content:'';position:absolute;left:0;top:17px;width:5px;height:5px;border-radius:50%;background:#c6a146}.form-assurance{font-size:11px;line-height:1.7;color:#536b7f;margin:16px 0 4px}.confidence-band{padding:38px 0 56px;margin-bottom:30px;border-bottom:1px solid #ffffff20}.confidence-inner{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.confidence-copy h2{font-size:clamp(28px,3vw,46px);line-height:1.15;letter-spacing:-.04em;color:#f1f5f9;max-width:16ch;margin:16px 0 22px}.confidence-copy>p:not(.kicker){font-size:14px;line-height:1.85;color:#b2c4d5;max-width:54ch}.confidence-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:28px}.confidence-actions>a:not(.btn){font-size:12px;text-underline-offset:5px;color:#cad8e5;min-height:44px;display:flex;align-items:center}.confidence-inner ol{padding:0;list-style:none;margin:0}.confidence-inner li{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid #ffffff20}.confidence-inner li>span{font-size:11px;color:#d2ad56;padding-top:4px}.confidence-inner h3{font-size:17px;font-weight:600;color:#ecf3fa;margin-bottom:8px}.confidence-inner li p{font-size:12px;line-height:1.8;color:#a5bbcc;max-width:44ch}.foot-editorial{padding-top:28px}.catalog-intro{margin:30px 0 40px;max-width:850px}.catalog-intro h2{font-size:clamp(30px,4vw,48px)!important;max-width:22ch}.service-catalog article{position:relative;overflow:hidden;gap:10px!important;padding:24px!important}.service-catalog .catalog-art{position:relative;isolation:isolate;order:-1;border-radius:12px;overflow:hidden;min-height:250px;margin:-8px -8px 10px}.catalog-photo{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;filter:brightness(.55)}.catalog-art>span{position:absolute;top:20px;left:22px;z-index:2;font-size:12px;font-weight:600;color:#ffe08a;letter-spacing:.1em}.service-catalog .model-preview{position:relative;z-index:1;max-width:310px;margin:0 0 0 auto!important;background:transparent;aspect-ratio:1.25;min-height:240px}.service-catalog .model-caption{display:none}.service-catalog article:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;column-gap:35px!important;align-items:center}.service-catalog article:first-child .catalog-art{grid-column:1;grid-row:1/7;height:100%;min-height:350px;margin:0}.service-catalog article:first-child .model-preview{max-width:100%;height:100%;min-height:340px}.service-catalog article:first-child>*:not(.catalog-art){grid-column:2}.service-catalog h2{font-size:28px!important}.service-catalog .catalog-full{border-top:1px solid #d7e2ec;padding-top:18px!important;margin-top:auto;font-weight:600;font-size:12px;text-decoration:none}.service-catalog article>a[data-detail]{font-size:12px;color:#597085}.service-visual{position:relative;padding-bottom:80px;min-width:0}.service-photo{position:relative;margin:0;border-radius:18px;overflow:hidden;aspect-ratio:1.3;background:#d8e1ea}.service-photo img{width:100%;height:100%!important;object-fit:cover}.service-photo figcaption{position:absolute;bottom:14px;left:18px;color:#fff;font-size:9px;letter-spacing:.05em;text-shadow:0 1px 4px #000;z-index:1}.service-photo::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0d2336a6)}.service-visual>.model-preview{width:65%;position:absolute;right:-10px;bottom:0;box-shadow:0 15px 36px #10243c18;border:5px solid #f6f8fb;border-radius:16px}.service-visual>.model-preview .model-caption{font-size:7px;bottom:15px;left:12px}.service-intro{gap:55px}.subpage .service-inline{border:0;border-top:1px solid #d4dfe9;border-radius:0;padding:36px 0;background:transparent}.subpage .detail-section{margin-top:34px}.subpage .detail-section h3{font-size:20px}.subpage .workflow-art{max-width:100%;max-height:130px}.subpage .detail-table{background:#fff}.subpage .detail-steps li{background:#fff;padding:15px;border:1px solid #d9e3ec;border-radius:10px}.subpage .doc-checklist label{min-height:56px}.subpage .subhero-rich{border-radius:18px}.subpage .hero-diorama img{filter:drop-shadow(0 18px 20px #05121f44)}
@media(max-width:900px){.confidence-inner{grid-template-columns:1fr;gap:24px}.confidence-band{padding:22px 0 36px;margin-bottom:26px}.confidence-copy h2{font-size:30px}.confidence-inner li{padding:18px 0}.confidence-actions{gap:18px}.confidence-actions .btn{font-size:12px;min-height:44px}.service-catalog article:first-child{display:flex;grid-column:auto}.service-catalog article:first-child .catalog-art{min-height:280px;margin:-8px -8px 10px}.service-catalog article:first-child .model-preview{min-height:260px;height:auto}.service-catalog h2{font-size:25px!important}.service-visual{padding-bottom:68px}.service-visual>.model-preview{right:0;width:64%}.service-intro{gap:24px}.service-visual{order:-1}.catalog-intro{margin-block:26px}.subpage .workflow-art{margin:0 0 20px}.journey-snap .hero .hero-cta{gap:12px}.hero-services{font-size:11px}.journey-snap .hero .hero-sub{font-size:13px!important}.journey-snap .hero .hero-line1,.journey-snap .hero .hero-line2{letter-spacing:-.04em}.confidence-band .kicker{font-size:9px}}
.service-catalog .model-preview{width:100%;min-height:0!important}.catalog-art{display:grid;align-items:center}.service-visual,.service-catalog article,.confidence-inner>*{min-width:0}.confidence-copy,.confidence-inner li{overflow-wrap:break-word}
/* 168: full-scale land and sea, no floating scene bases. */
.story-tracking{font-size:12px;font-weight:600;color:#405c72;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}.journey-snap .panel .t-head{gap:12px}.journey-snap .panel .t-route{font-size:9px;letter-spacing:.09em}.journey-snap .panel .t-code{font-size:8px;letter-spacing:.07em}.journey-snap .sheet-open .t-stub{display:flex;flex-wrap:wrap;gap:10px}.journey-snap .hero .hero-sub{font-weight:400}.hero-diorama img{filter:none!important}.model-preview{background:linear-gradient(#d9e3e9,#edf2f5)}
@media(max-width:900px){.journey-snap .panel .t-route{font-size:8px}.journey-snap .panel .t-code{font-size:7px}.journey-snap .sheet-open .t-stub{display:grid;grid-template-columns:1fr}.story-tracking{justify-content:center}}
.journey-snap .track .stop .panel.is-on{opacity:1!important;clip-path:none!important;-webkit-mask:none!important;mask:none!important;transition:background .2s}.journey-snap .chart-dot i{transition:transform .2s}.journey-snap .chart-dot.on b{color:#10243c}
/* 169: an opening above the cloud deck, followed by a professional operations story. */
.journey-snap .pins{display:none!important}
.journey-snap .track .stop .hero{inset:calc(var(--nav-height,110px) + clamp(28px,5svh,64px)) 50% auto auto!important;transform:translateX(50%)!important;padding:18px 26px!important;background:radial-gradient(ellipse closest-side,#f7fafb88,#f7fafb20 65%,transparent 100%)!important;border:0;box-shadow:none}
.journey-snap .hero .hero-sub{font-size:15px;line-height:1.75;max-width:66ch;text-wrap:pretty;color:#213d56}
.journey-snap .hero .hero-line1,.journey-snap .hero .hero-line2{font-size:clamp(30px,4vw,62px)!important;text-wrap:balance}
.journey-snap .hero .brand-tagline{color:#1c3750}.journey-snap .hero .hero-cta{gap:14px 24px;flex-wrap:wrap}
.journey-snap .panel .t-code{color:#775c19;white-space:normal;text-align:right;line-height:1.5;max-width:48%}
.journey-snap .panel:not(.sheet-open) .operation-scope{display:none}
.operation-scope{border-top:1px solid #d5e0e7;margin-top:18px;padding-top:18px}.operation-scope h3{font-size:12px;letter-spacing:.04em;color:#213b53;margin:0 0 12px;font-weight:700}.operation-scope ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.operation-scope li{position:relative;padding-left:20px;font-size:14px;line-height:1.7;color:#3b5268}.operation-scope li::before{content:'';position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:#b08a27}.operation-note{font-size:12px;line-height:1.7;color:#53697b;margin-top:16px}
@media(max-width:1100px){.journey-snap .track .stop .hero{inset:calc(var(--nav-height,86px) + 28px) 50% auto auto!important;width:min(94vw,800px)!important;padding:10px 14px!important}.journey-snap .hero .hero-sub{font-size:13px!important;line-height:1.65}.journey-snap .hero .hero-line1,.journey-snap .hero .hero-line2{font-size:clamp(27px,5vw,48px)!important}.journey-snap .hero .brand-line{margin:16px auto 10px}.journey-snap .hero .hero-cta{gap:12px;margin-top:18px}.journey-snap .hero .hero-cta .hint{display:none}.journey-snap .panel .t-name{text-wrap:balance}.operation-scope li{font-size:13px}}
@media(max-width:480px){.journey-snap .hero .hero-cta{flex-direction:column}.journey-snap .hero .hero-line1,.journey-snap .hero .hero-line2{font-size:clamp(25px,6.2vw,32px)!important}.journey-snap .hero .brand-tagline{font-size:10px;letter-spacing:.12em}.journey-snap .hero .kicker{font-size:10px}.journey-snap .hero .hero-services{font-size:12px}.journey-snap .panel .t-code{font-size:8px}.journey-snap .panel .t-name{font-size:23px!important}}
@media(max-height:650px){.journey-snap .track .stop .hero{top:calc(var(--nav-height,80px) + 8px)!important}.journey-snap .hero .brand-line{margin-top:10px;margin-bottom:8px}.journey-snap .hero .hero-sub{margin-block:10px;font-size:12px!important;line-height:1.5}.journey-snap .hero .hero-cta{margin-top:10px;gap:8px}.journey-snap .hero .hero-cta .btn{min-height:42px;height:auto;padding:12px 18px}}

.journey-snap .hero .hero-line1{color:#29465d}.journey-snap .hero .kicker{color:#29465d}
