/* RemoteTourDesk — Clear & Light
   Poppins (SIL OFL 1.1, see assets/fonts/Poppins-OFL.txt) is embedded below so it also loads when opened from disk.
   ---------------------------------------------------------------- */

@font-face { font-family: "Poppins"; font-style: normal; font-weight: 400; font-display: swap; src: url(data:font/woff2;base64,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) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url(data:font/woff2;base64,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) format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url(data:font/woff2;base64,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) format("woff2"); }

:root {
  --canvas: #FCFCFA;
  --surface: #FFFFFF;
  --navy: #102E49;
  --navy-2: #1B3F5F;
  --text-2: #5D7081;
  --orange: #D76A17;        /* large text, icons, accents */
  --orange-ink: #A94F0E;    /* small orange text (AA) */
  --orange-soft: #F2A65A;   /* button on navy */
  --blue: #087EA0;
  --blue-ink: #06708F;      /* small blue text on tints (AA) */
  --green: #157C67;
  --pale-blue: #F1F7FA;
  --peach: #FFF3E8;
  --mint: #EAF4F0;
  --line: #E3E8EC;
  --line-2: #D3DCE3;
  --focus: #087EA0;

  --font: "Poppins", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --radius-s: 8px;
  --radius: 12px;
  --radius-l: 18px;
  --radius-xl: 28px;
  --shadow-s: 0 1px 2px rgba(16, 46, 73, .06);
  --shadow: 0 12px 32px -12px rgba(16, 46, 73, .18), 0 2px 6px rgba(16, 46, 73, .05);
  --shadow-l: 0 30px 60px -24px rgba(16, 46, 73, .28);
  --container: 1312px;
  --gutter: clamp(20px, 4.4vw, 64px);
  --ease: cubic-bezier(.2, .8, .3, 1);
  --header-h: 84px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }
body {
  margin: 0;
  background: var(--canvas);
  color: var(--navy);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4 { margin: 0; font-weight: 500; letter-spacing: -.015em; line-height: 1.15; text-wrap: balance; }
p { margin: 0; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; }
[hidden] { display: none !important; }

:focus { outline: none; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 6px; }

.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; left: 16px; top: -60px; z-index: 100;
  background: var(--navy); color: #fff; padding: 10px 16px; border-radius: var(--radius-s);
  text-decoration: none; font-weight: 500; transition: top .2s;
}
.skip-link:focus { top: 12px; }

.container { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin: 0 auto; padding: 0 var(--gutter); }

/* ---------------- Type helpers ---------------- */
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase;
  color: var(--blue-ink);
}
.eyebrow--pill { background: var(--pale-blue); padding: 6px 14px 6px 12px; border-radius: 999px; }
.eyebrow--pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }
.eyebrow--orange { color: var(--orange-ink); }
.lead { font-size: clamp(16px, 1.3vw, 18px); color: var(--text-2); line-height: 1.7; }
.muted { color: var(--text-2); }
.small { font-size: 14px; }
.section-head { max-width: 720px; display: grid; gap: 14px; margin-bottom: clamp(32px, 4vw, 52px); }
.section-head h2 { font-size: clamp(28px, 3.1vw, 42px); }
.section-head p { color: var(--text-2); font-size: 16.5px; }
.tag-example {
  display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 500;
  color: var(--orange-ink); background: var(--peach); border: 1px solid #F6DCC4;
  padding: 3px 10px; border-radius: 999px; letter-spacing: .02em;
}

/* ---------------- Buttons ---------------- */
.btn {
  --btn-bg: var(--navy); --btn-fg: #fff; --btn-bd: var(--navy);
  display: inline-flex; align-items: center; justify-content: space-between; gap: 18px;
  min-height: 52px; padding: 0 20px 0 22px;
  background: var(--btn-bg); color: var(--btn-fg); border: 1.5px solid var(--btn-bd);
  border-radius: var(--radius); font-size: 15.5px; font-weight: 500; line-height: 1.2;
  text-decoration: none; white-space: nowrap;
  transition: background-color .2s, border-color .2s, color .2s, transform .2s var(--ease), box-shadow .2s;
}
.btn svg { width: 16px; height: 16px; flex: none; transition: transform .25s var(--ease); }
.btn {
  /* glossy finish: light top half, soft shade at the bottom, inner highlight */
  background-image: linear-gradient(180deg, rgba(255,255,255,.26) 0%, rgba(255,255,255,.08) 48%, rgba(255,255,255,0) 52%, rgba(0,0,0,.12) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32), inset 0 -2px 0 rgba(0,0,0,.14), 0 10px 20px -12px rgba(16,46,73,.6);
}
.btn:hover { --btn-bg: var(--navy-2); --btn-bd: var(--navy-2); box-shadow: inset 0 1px 0 rgba(255,255,255,.38), inset 0 -2px 0 rgba(0,0,0,.14), 0 14px 26px -12px rgba(16,46,73,.65); }
.btn:hover svg { transform: translate(2px, -2px); }
.btn:active { transform: translateY(1px); }
.btn--ghost { --btn-bg: var(--surface); --btn-fg: var(--navy); --btn-bd: var(--line-2); }
.btn--ghost { background-image: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 45%, #EEF4F8 100%); box-shadow: inset 0 1px 0 #fff, inset 0 -2px 0 rgba(16,46,73,.05), 0 8px 18px -12px rgba(16,46,73,.35); }
.btn--ghost:hover { --btn-bg: var(--surface); --btn-bd: var(--navy); box-shadow: inset 0 1px 0 #fff, 0 12px 22px -12px rgba(16,46,73,.4); }
.btn--sun { --btn-bg: var(--orange-soft); --btn-fg: var(--navy); --btn-bd: var(--orange-soft); }
.btn--sun:hover { --btn-bg: #F5B574; --btn-bd: #F5B574; }
.btn--sm { min-height: 42px; padding: 0 14px 0 16px; font-size: 14.5px; gap: 12px; border-radius: 10px; }
.btn--block { width: 100%; }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; box-shadow: none; }
/* same gloss on the other pressed-state controls */
.chip[aria-pressed="true"], .segmented button[aria-checked="true"] {
  background-image: linear-gradient(180deg, rgba(255,255,255,.24) 0%, rgba(255,255,255,.06) 48%, rgba(255,255,255,0) 52%, rgba(0,0,0,.12) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 6px 12px -8px rgba(16,46,73,.6);
}
.link-arrow {
  display: inline; align-items: center; gap: 8px; color: var(--navy); font-weight: 500;
  text-decoration: underline; text-decoration-color: var(--line-2); text-underline-offset: 5px;
}
.link-arrow:hover { text-decoration-color: var(--orange); }
.link-arrow svg { display: inline-block; vertical-align: -1px; margin-left: 4px; width: 14px; height: 14px; }

/* ---------------- Header ---------------- */
.site-header {
  position: sticky; top: env(safe-area-inset-top, 0px); z-index: 40;
  background: color-mix(in srgb, var(--canvas) 88%, transparent);
  -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px);
}
.site-header__bar {
  display: flex; align-items: center; gap: 24px; height: var(--header-h);
  border-bottom: 1px solid var(--line);
}
.brand { display: block; width: fit-content; flex: none; }
.brand img { display: block; width: 226px; height: auto; }
.nav { margin-left: auto; }
.nav ul { list-style: none; display: flex; gap: clamp(18px, 2.6vw, 44px); }
.nav a {
  position: relative; display: inline-block; padding: 8px 0; font-size: 15px; color: var(--navy);
  text-decoration: none; white-space: nowrap;
}
.nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 2px; border-radius: 2px;
  background: var(--orange); transform: scaleX(0); transform-origin: left; transition: transform .25s var(--ease);
}
.nav a:hover::after, .nav a[aria-current="page"]::after { transform: scaleX(1); }
.nav a[aria-current="page"] { font-weight: 500; }
.header-actions { display: flex; align-items: center; gap: 16px; margin-left: clamp(12px, 2vw, 32px); }

.desk-status {
  display: inline-flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 500;
  color: var(--navy); background: var(--surface); border: 1px solid var(--line);
  border-radius: 999px; padding: 7px 14px 7px 12px; white-space: nowrap; text-decoration: none;
}
.desk-status__dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: var(--green); flex: none; }
.desk-status__dot::after {
  content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--green);
  animation: pulse 1.9s cubic-bezier(.4,0,.2,1) infinite;
}
.desk-status.is-closed .desk-status__dot { background: #9AA8B4; }
.desk-status.is-closed .desk-status__dot::after { display: none; }
.desk-status__meta { color: var(--text-2); font-weight: 400; }
@keyframes pulse { 0% { opacity: .6; transform: scale(1); } 70%, 100% { opacity: 0; transform: scale(2.8); } }

.menu-toggle {
  display: none; margin-left: auto; width: 46px; height: 46px; border-radius: 10px;
  background: transparent; border: 1px solid var(--line); align-items: center; justify-content: center;
}
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after {
  display: block; width: 20px; height: 2px; background: var(--navy); border-radius: 2px; position: relative;
  transition: transform .25s var(--ease), background-color .2s;
}
.menu-toggle span::before, .menu-toggle span::after { content: ""; position: absolute; left: 0; }
.menu-toggle span::before { top: -6px; }
.menu-toggle span::after { top: 6px; }
.menu-toggle[aria-expanded="true"] span { background: transparent; }
.menu-toggle[aria-expanded="true"] span::before { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span::after { transform: translateY(-6px) rotate(-45deg); }

.mobile-menu {
  display: none; position: absolute; left: 0; right: 0; top: 100%;
  max-height: calc(100dvh - var(--header-h) - env(safe-area-inset-top, 0px)); overflow-y: auto; overscroll-behavior: contain;
  background: var(--canvas); border-bottom: 1px solid var(--line);
  box-shadow: 0 24px 40px -24px rgba(16,46,73,.35);
  padding: 4px 0 22px;
}
.mobile-menu ul { list-style: none; display: grid; }
.mobile-menu nav a {
  display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 54px; padding: 0 4px;
  font-size: 17px; font-weight: 500; color: var(--navy); text-decoration: none; border-bottom: 1px solid var(--line);
}
.mobile-menu nav a svg { width: 16px; height: 16px; color: var(--text-2); transition: transform .2s var(--ease), color .2s; }
.mobile-menu nav a:hover svg, .mobile-menu nav a:focus-visible svg { color: var(--orange); transform: translate(2px, -2px); }
.mobile-menu nav a[aria-current="page"] { color: var(--orange-ink); }
.mobile-menu nav a[aria-current="page"] svg { color: var(--orange); }
.mobile-menu__foot { display: grid; gap: 12px; padding-top: 18px; }
.mobile-menu__foot .desk-status { justify-self: start; font-size: 13.5px; padding: 8px 14px 8px 12px; }
/* solid header while the menu is open, so page content doesn't show through */
.site-header:has(.mobile-menu.is-open) { background: var(--canvas); -webkit-backdrop-filter: none; backdrop-filter: none; }

/* ---------------- Hero ---------------- */
.hero { padding: clamp(32px, 4.5vw, 60px) 0 clamp(16px, 2vw, 24px); }
.hero__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.hero__copy { display: grid; gap: 28px; justify-items: start; }
.hero h1 { font-size: clamp(34px, 3.8vw, 54px); line-height: 1.08; text-wrap: pretty; letter-spacing: -.025em; font-weight: 500; }
.hero h1 .accent { color: var(--orange); display: block; }
.hero .lead { max-width: 30em; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.checks { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 40px; font-size: 14.5px; color: var(--green); font-weight: 500; }
.checks li { display: inline-flex; align-items: center; gap: 8px; }
.checks svg { width: 16px; height: 16px; }

.preview-stage {
  position: relative; background: var(--pale-blue); border-radius: var(--radius-xl);
  padding: clamp(28px, 4vw, 56px) clamp(18px, 3vw, 40px) 30px; isolation: isolate; overflow: hidden;
}
.ops-card {
  position: relative; background: var(--surface); border-radius: var(--radius-l); box-shadow: var(--shadow-l);
  overflow: hidden; border: 1px solid #E6EDF2;
}
.ops-card::after { /* stacked sheet */
  content: ""; position: absolute; inset: auto 10px -10px 10px; height: 20px; border-radius: 0 0 var(--radius-l) var(--radius-l);
  background: #E3EEF2; z-index: -1;
}
.ops-card__head { display: flex; align-items: center; gap: 12px; background: var(--navy); color: #fff; padding: 16px 20px; }
.ops-card__avatar { width: 34px; height: 34px; border-radius: 50%; background: #fff; display: grid; place-items: center; flex: none; overflow: hidden; }
.ops-card__avatar img { width: 26px; height: 26px; object-fit: contain; }
.ops-card__title { font-size: 16px; font-weight: 500; line-height: 1.3; }
.ops-card__sub { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #C4D2DE; }
.ops-card__head .tag-example { margin-left: auto; background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); color: #FCE3CC; }
.ops-card__body { padding: 22px 24px 24px; display: grid; gap: 18px; }
.ops-card__trip { display: grid; gap: 2px; }
.ops-card__trip strong { font-size: clamp(18px, 1.6vw, 21px); font-weight: 500; }
.ops-card__trip span { font-size: 14px; color: var(--text-2); }
.ops-steps { list-style: none; display: grid; gap: 4px; }
.ops-step { display: grid; grid-template-columns: 32px 1fr auto; gap: 14px; align-items: center; padding: 10px 0; }
.ops-step__n { width: 32px; height: 32px; border-radius: 9px; background: var(--pale-blue); color: var(--blue-ink); display: grid; place-items: center; font-size: 13.5px; font-weight: 500; }
.ops-step__t { font-size: 15px; font-weight: 500; line-height: 1.35; }
.ops-step__d { font-size: 13px; color: var(--text-2); }
.ops-step__s { font-size: 12.5px; font-weight: 500; color: var(--blue-ink); background: var(--pale-blue); padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.ops-step__s--ok { color: var(--green); background: var(--mint); }
.ops-cost { background: var(--mint); border-radius: var(--radius); padding: 14px 16px; display: grid; gap: 2px; }
.ops-cost strong { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 500; }
.ops-cost strong::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--green); }
.ops-cost span { font-size: 13px; color: var(--text-2); padding-left: 17px; }

/* hero preview motion */
.js-motion .ops-card.is-playing .ops-step, .js-motion .ops-card.is-playing .ops-cost { animation: rise .55s var(--ease) backwards; }
.js-motion .ops-card.is-playing .ops-step:nth-child(1) { animation-delay: .1s; }
.js-motion .ops-card.is-playing .ops-step:nth-child(2) { animation-delay: .25s; }
.js-motion .ops-card.is-playing .ops-step:nth-child(3) { animation-delay: .4s; }
.js-motion .ops-card.is-playing .ops-cost { animation-delay: .6s; }
@keyframes rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.hero .lead { max-width: 32em; font-size: clamp(15.5px, 1.2vw, 17px); }
.hero__copy { gap: 24px; position: relative; }
.hero__copy::before { /* soft veil so the background routes fade behind the text */
  content: ""; position: absolute; inset: -48px -72px -40px -64px; z-index: -1; pointer-events: none;
  background: radial-gradient(closest-side, rgba(236,244,249,.92), rgba(236,244,249,.75) 62%, rgba(236,244,249,0));
}
.hero-handle__lead { line-height: 1.35; }

/* tag: two live desks + audience */
.hero-tag { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 7px 16px 7px 12px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow-s); font-size: 12.5px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.hero-tag__desk { display: inline-flex; align-items: center; gap: 7px; color: var(--navy); }
.hero-tag__desk::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 18%, transparent); }
.hero-tag__desk--jp::before { background: var(--blue); }
.hero-tag__desk--vn::before { background: var(--green); }
.hero-tag__who { color: var(--text-2); padding-left: 14px; border-left: 1px solid var(--line); }

/* "TourOps" matches the orange of "Under your brand, at cost." */
.hero-brand { color: var(--orange); }

/* hand-drawn underline under "at cost." */
.hero-mark { position: relative; white-space: nowrap; }
.hero-mark::after {
  content: ""; position: absolute; left: -2%; right: -4%; bottom: -.12em; height: .32em; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M3 14 C 45 6, 110 4, 197 9' fill='none' stroke='%23D76A17' stroke-width='5' stroke-linecap='round' opacity='.55'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}
.js-motion .hero-mark::after { animation: mark-draw .9s cubic-bezier(.6,0,.3,1) .5s backwards; }
@keyframes mark-draw { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }

/* "We handle the ___" rotating line */
.hero-handle { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .1em .4em; font-size: clamp(18px, 1.7vw, 23px); font-weight: 500; line-height: 1.35; color: var(--navy); margin-top: -4px; }
.rotator { color: var(--orange-ink); }
.rotator.is-live { position: relative; display: inline-block; height: 1.35em; overflow: hidden; vertical-align: bottom; transition: width .45s var(--ease); background: linear-gradient(var(--peach), var(--peach)) left bottom / 100% .32em no-repeat; padding: 0 .12em; border-radius: 2px; }
.rotator__word { position: absolute; left: .12em; top: 0; white-space: nowrap; opacity: 0; transform: translateY(90%); transition: transform .5s var(--ease), opacity .4s ease; }
.rotator__word.is-on { opacity: 1; transform: none; }
.rotator__word.is-out { opacity: 0; transform: translateY(-90%); }

/* at-a-glance cards */
.hero-stats { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; width: 100%; max-width: 640px; margin-top: 4px; }
.stat { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-s); }
.stat__icon { flex: none; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; }
.stat__icon svg { width: 18px; height: 18px; }
.stat--green .stat__icon { background: var(--mint); color: var(--green); }
.stat--orange .stat__icon { background: var(--peach); color: var(--orange); }
.stat--blue .stat__icon { background: var(--pale-blue); color: var(--blue); }
.stat__text { display: grid; gap: 1px; min-width: 0; }
.stat__label { font-size: 12px; font-weight: 500; letter-spacing: .07em; text-transform: uppercase; color: var(--text-2); }
.stat__value { font-size: 19px; font-weight: 600; line-height: 1.3; letter-spacing: -.01em; color: var(--navy); white-space: nowrap; }
.stat--green .stat__value { color: var(--green); }
.stat__note { font-size: 13px; line-height: 1.4; color: var(--text-2); }
@media (max-width: 1180px) and (min-width: 1025px) {
  .hero-stats { grid-template-columns: 1fr; max-width: 420px; }
}
@media (max-width: 720px) {
  .hero-tag { font-size: 12px; gap: 6px 10px; }
  .hero-tag__who { flex-basis: 100%; padding-left: 0; border-left: 0; }
  .hero-stats { grid-template-columns: 1fr; gap: 8px; }
  .stat { align-items: center; padding: 12px 14px; }
  .stat__text { grid-template-columns: auto 1fr; column-gap: 10px; align-items: baseline; }
  .stat__label { grid-column: 1 / -1; }
}

/* ---------------- Value strip ---------------- */
/* --- Why agencies: heading + three detailed value cards --- */
.values { display: grid; gap: clamp(28px, 3.5vw, 44px); padding: clamp(56px, 7vw, 96px) 0 clamp(8px, 2vw, 16px); }
.values__head { display: grid; gap: 12px; justify-items: center; text-align: center; max-width: 720px; margin: 0 auto; }
.values__head h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.12; letter-spacing: -.02em; font-weight: 500; }
.values__head h2 .accent { display: block; color: var(--orange); }
.values__head p { font-size: clamp(15px, 1.2vw, 17px); color: var(--text-2); max-width: 62ch; }
.values__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 22px); align-items: stretch; }
.value { --tone: var(--orange); --tone-ink: var(--orange-ink); --tint: var(--peach);
  position: relative; display: flex; flex-direction: column; padding: 24px 22px 22px; background: var(--surface);
  border: 1px solid var(--line); border-radius: var(--radius-l); box-shadow: var(--shadow-s); overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.value::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--tone); }
.value--green { --tone: var(--green); --tone-ink: var(--green); --tint: var(--mint); }
.value--blue { --tone: var(--blue); --tone-ink: var(--blue-ink); --tint: var(--pale-blue); }
.value:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: color-mix(in srgb, var(--tone) 30%, var(--line)); }
.value__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.value__icon { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--tint); color: var(--tone); }
.value__icon svg { width: 22px; height: 22px; }
.value__n { font-size: 13px; font-weight: 500; letter-spacing: .1em; color: color-mix(in srgb, var(--tone) 70%, var(--text-2)); }
.value h3 { font-size: 20px; font-weight: 500; line-height: 1.25; }
.value__promise { margin-top: 6px; font-size: 15.5px; line-height: 1.45; font-weight: 500; color: var(--tone-ink); }
.value__visual { margin: 18px 0 0; padding: 14px; border-radius: 14px; background: var(--tint); font-size: 13px; line-height: 1.35; color: var(--navy); }
.vis-ex { font-size: 12px; font-weight: 500; padding: 2px 8px; border-radius: 999px; background: rgba(255,255,255,.85); border: 1px solid var(--line); color: var(--text-2); white-space: nowrap; }
.value__list { list-style: none; display: grid; gap: 10px; margin: 20px 0 0; padding-top: 18px; border-top: 1px solid var(--line); }
.value__list li { display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; font-size: 14.5px; line-height: 1.5; color: var(--navy); }
.value__list svg { width: 18px; height: 18px; margin-top: 2px; color: var(--tone); }
.value__link { margin-top: auto; padding-top: 20px; display: inline-flex; align-items: center; gap: 6px; font-size: 14.5px; font-weight: 500; color: var(--tone-ink); text-decoration: none; }
.value__link svg { width: 16px; height: 16px; transition: transform .2s ease; }
.value__link:hover { text-decoration: underline; text-underline-offset: 3px; }
.value__link:hover svg { transform: translate(2px, -2px); }
/* staffing options */
.vis-staff { display: grid; gap: 12px; }
.vis-staff__split { display: grid; grid-template-columns: 1fr 1fr; border-radius: 10px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--orange) 25%, var(--line)); }
.vis-staff__split span { display: grid; gap: 1px; padding: 9px 11px; background: var(--surface); }
.vis-staff__split span + span { background: var(--navy); color: #fff; }
.vis-staff__split small { font-size: 12px; color: var(--text-2); }
.vis-staff__split span + span small { color: #BFD0DD; }
.vis-staff__split b { font-weight: 500; line-height: 1.3; }
.vis-staff__rows { list-style: none; display: grid; gap: 6px; }
.vis-staff__rows li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 7px 10px; border-radius: 9px; background: rgba(255,255,255,.75); }
.vis-staff__rows b { font-weight: 500; }
.vis-staff__rows em { font-style: normal; font-size: 12px; color: var(--orange-ink); white-space: nowrap; }
.vis-invoice__cols { display: flex; justify-content: space-between; font-size: 12px; color: var(--text-2); }
.vis-invoice em { display: inline-flex; align-items: center; gap: 4px; }
.vis-invoice em svg { width: 13px; height: 13px; flex: none; }
/* example voucher */
.vis-voucher { background: var(--surface); border: 1px dashed color-mix(in srgb, var(--orange) 45%, var(--line)); }
.vis-voucher__head { display: flex; align-items: center; gap: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.vis-voucher__head > span:nth-child(2) { display: grid; flex: 1; min-width: 0; }
.vis-voucher__head small { font-size: 12px; color: var(--text-2); }
.vis-voucher__mark { width: 32px; height: 32px; flex: none; border-radius: 9px; display: grid; place-items: center; background: var(--peach); color: var(--orange-ink); font-size: 12px; font-weight: 600; letter-spacing: .04em; }
.vis-voucher__rows { display: grid; gap: 6px; margin: 10px 0; }
.vis-voucher__rows div { display: flex; justify-content: space-between; gap: 10px; }
.vis-voucher__rows dt { color: var(--text-2); }
.vis-voucher__rows dd { margin: 0; font-weight: 500; }
.vis-voucher__foot { padding-top: 8px; border-top: 1px dashed var(--line); font-size: 12px; color: var(--orange-ink); font-weight: 500; }
/* example quote */
.vis-invoice { display: grid; gap: 7px; }
.vis-invoice__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-bottom: 8px; border-bottom: 1px solid color-mix(in srgb, var(--green) 20%, transparent); }
.vis-invoice__head b { font-weight: 600; }
.vis-invoice > span { display: flex; justify-content: space-between; gap: 10px; }
.vis-invoice > span b { font-weight: 400; }
.vis-invoice em { font-style: normal; color: var(--green); font-weight: 500; white-space: nowrap; }
.vis-invoice .is-fee { padding-top: 7px; border-top: 1px dashed color-mix(in srgb, var(--green) 35%, transparent); }
.vis-invoice .is-fee b { font-weight: 500; }
.vis-invoice .is-fee em { color: var(--orange-ink); }
.vis-invoice__foot { display: flex; align-items: center; gap: 6px; margin-top: 2px; font-size: 12px; color: var(--text-2); }
.vis-invoice__foot svg { width: 14px; height: 14px; color: var(--green); }
/* before · during · after */
.vis-steps { list-style: none; display: grid; gap: 12px; position: relative; }
.vis-steps::before { content: ""; position: absolute; left: 20px; top: 22px; bottom: 22px; width: 2px; background: color-mix(in srgb, var(--blue) 28%, transparent); }
.vis-steps li { position: relative; display: grid; grid-template-columns: 14px 1fr; gap: 12px; align-items: start; padding-left: 0; }
.vis-steps i { position: relative; z-index: 1; width: 14px; height: 14px; margin: 3px 0 0 0; border-radius: 50%; background: var(--surface); border: 2px solid var(--blue); }
.vis-steps span { display: grid; gap: 1px; }
.vis-steps b { font-weight: 500; }
.vis-steps small { font-size: 12.5px; color: var(--text-2); }
.vis-steps .is-now b { color: var(--blue-ink); }
.vis-steps .is-now i { background: var(--blue); box-shadow: 0 0 0 4px color-mix(in srgb, var(--blue) 22%, transparent); }
.js-motion .vis-steps .is-now i { animation: value-pulse 2.4s ease-in-out infinite; }
@keyframes value-pulse { 50% { box-shadow: 0 0 0 7px color-mix(in srgb, var(--blue) 10%, transparent); } }
@media (max-width: 1100px) {
  .values__cards { grid-template-columns: 1fr; max-width: 760px; margin: 0 auto; width: 100%; }
  .value { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 24px; }
  .value > :not(.value__visual) { grid-column: 1; }
  .value__visual { grid-column: 2; grid-row: 1 / span 5; align-self: start; margin-top: 0; }
  .value__link { margin-top: 0; }
}
@media (max-width: 640px) {
  .value { display: flex; }
  .value__visual { margin-top: 16px; align-self: stretch; }
}

/* ---------------- Sections ---------------- */
.section { padding: clamp(56px, 7vw, 96px) 0; }
.section--tight { padding: clamp(48px, 6vw, 80px) 0; }

.icon-tile { width: 44px; height: 44px; border-radius: 12px; background: var(--peach); color: var(--orange); display: grid; place-items: center; flex: none; }
.icon-tile svg { width: 22px; height: 22px; }
/* --- Scope of services --- */
.svc-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(20px, 4vw, 64px); align-items: end; margin-bottom: clamp(28px, 3.5vw, 44px); }
.svc-head h2 { margin-top: 12px; font-size: clamp(28px, 3vw, 40px); line-height: 1.12; letter-spacing: -.02em; font-weight: 500; }
.svc-head h2 .accent { display: block; color: var(--orange); }
.svc-head__side { display: grid; gap: 16px; justify-items: start; }
.svc-head__side p { font-size: 16px; line-height: 1.6; color: var(--text-2); }
/* ---- services: compact, minimal ---- */
.section--compact { padding: clamp(44px, 5.5vw, 72px) 0; }
.services-wrap { background: var(--canvas); }
.svc-compact { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.svc-compact__head { display: grid; gap: 14px; justify-items: start; }
.svc-compact__head h2 { font-size: clamp(26px, 2.6vw, 34px); line-height: 1.15; letter-spacing: -.02em; font-weight: 500; }
.svc-compact__head p { font-size: 15.5px; line-height: 1.6; color: var(--text-2); max-width: 36ch; }
.svc-mini-grid { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.svc-mini { display: grid; grid-template-columns: 40px 1fr; gap: 14px; align-items: start; padding: 16px 18px; background: var(--surface); border: 1px solid #DCE7EE; border-radius: 14px; }
.svc-mini__ic { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; background: var(--peach); color: var(--orange); }
.svc-mini__ic svg { width: 20px; height: 20px; }
.svc-mini h3 { font-size: 15.5px; font-weight: 500; line-height: 1.35; color: var(--navy); }
.svc-mini p { margin-top: 3px; font-size: 13.5px; line-height: 1.5; color: var(--text-2); }
/* navy panel with soft glows, dot texture and route arcs */
.svc-panel { position: relative; isolation: isolate; overflow: hidden; border-radius: 32px; padding: clamp(28px, 4.4vw, 60px);
  background:
    radial-gradient(60% 70% at 100% 0%, rgba(215,106,23,.30) 0%, rgba(215,106,23,0) 60%),
    radial-gradient(55% 70% at 0% 100%, rgba(8,126,160,.38) 0%, rgba(8,126,160,0) 60%),
    linear-gradient(160deg, #143A5C 0%, var(--navy) 55%, #0B2236 100%);
  box-shadow: 0 40px 80px -48px rgba(16,46,73,.65); }
.svc-panel::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: radial-gradient(rgba(255,255,255,.10) 1px, transparent 1px); background-size: 18px 18px;
  -webkit-mask-image: radial-gradient(80% 90% at 30% 20%, #000 0%, transparent 75%); mask-image: radial-gradient(80% 90% at 30% 20%, #000 0%, transparent 75%); }
.svc-panel::after { content: ""; position: absolute; z-index: -1; pointer-events: none; width: 720px; height: 720px; right: -260px; top: -380px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.08); box-shadow: 0 0 0 60px rgba(255,255,255,.015), 0 0 0 120px rgba(255,255,255,.012), inset 0 0 0 60px rgba(255,255,255,.015); }
.svc-panel .eyebrow { color: #8FD0E6; }
.svc-panel .svc-compact__head h2 { color: #fff; }
.svc-panel .svc-compact__head p { color: #BFD0DD; }
.svc-panel .btn--ghost { background: rgba(255,255,255,.96); }
.svc-panel .svc-mini { background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04)); border-color: rgba(255,255,255,.13);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); transition: border-color .25s ease, background .25s ease; }
.svc-panel .svc-mini:hover { border-color: rgba(242,166,90,.45); background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05)); }
.svc-panel .svc-mini__ic { background: rgba(242,166,90,.14); color: var(--orange-soft); box-shadow: inset 0 0 0 1px rgba(242,166,90,.28); }
.svc-panel .svc-mini h3 { color: #fff; }
.svc-panel .svc-mini p { color: #B7CAD8; }
/* richer mini cards: stage label, accent glow, key fact, watermark number */
.svc-panel .svc-mini { --acc: var(--orange-soft); --acc-rgb: 242,166,90; position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 6px; padding: 18px 18px 16px; }
.svc-panel .svc-mini--b { --acc: #6CC4E4; --acc-rgb: 108,196,228; }
.svc-panel .svc-mini--g { --acc: #7FD3B8; --acc-rgb: 127,211,184; }
.svc-panel .svc-mini::before { content: ""; position: absolute; left: 18px; right: 18px; top: 0; height: 2px; border-radius: 0 0 2px 2px;
  background: linear-gradient(90deg, var(--acc), rgba(var(--acc-rgb), 0)); opacity: .9; }
.svc-panel .svc-mini::after { content: ""; position: absolute; right: -40px; top: -40px; width: 130px; height: 130px; border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--acc-rgb), .16), rgba(var(--acc-rgb), 0) 70%); pointer-events: none; }
.svc-mini__top { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; min-width: 0; }
.svc-panel .svc-mini__ic { width: 38px; height: 38px; background: rgba(var(--acc-rgb), .14); color: var(--acc); box-shadow: inset 0 0 0 1px rgba(var(--acc-rgb), .32); }
.svc-panel .svc-mini__ic svg { width: 19px; height: 19px; }
.svc-mini__stage { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: rgba(var(--acc-rgb), 1); opacity: .9; }
.svc-panel .svc-mini h3 { font-size: 16px; text-wrap: balance; }
.svc-panel .svc-mini p { margin-top: 0; text-wrap: pretty; }
.svc-mini__fact { flex: none; margin-left: auto; max-width: 100%; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px 5px 8px; border-radius: 999px;
  font-size: 12px; font-weight: 500; color: #fff; background: rgba(var(--acc-rgb), .14); border: 1px solid rgba(var(--acc-rgb), .3); }
.svc-mini__fact svg { width: 13px; height: 13px; color: var(--acc); flex: none; }
.svc-mini__n { position: absolute; right: 14px; bottom: 4px; font-size: 34px; font-weight: 600; line-height: 1; letter-spacing: -.03em;
  color: rgba(255,255,255,.045); pointer-events: none; font-variant-numeric: tabular-nums; }
.svc-panel .svc-mini:hover { border-color: rgba(var(--acc-rgb), .5); }
.svc-panel .svc-mini-grid { gap: 14px; }
@media (max-width: 640px) { .svc-panel { border-radius: 22px; padding: 24px 18px; } }
.svc-panel .svc-mini { container-type: inline-size; }
@container (max-width: 380px) { .svc-mini__stage { display: none; } }
@supports not (container-type: inline-size) { @media (max-width: 1320px) { .svc-mini__stage { display: none; } } }
@media (max-width: 1024px) { .svc-compact { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .svc-mini-grid { grid-template-columns: 1fr; gap: 10px; } .svc-mini { padding: 14px; } }
/* ---- services as alternating rows: two services + a composed pair of example screens ---- */
.svc-rows { display: grid; gap: clamp(20px, 2.4vw, 32px); }
.svc-row { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(24px, 4vw, 64px); align-items: center;
  padding: clamp(22px, 3vw, 44px); background: var(--surface); border: 1px solid #DCE7EE; border-radius: 28px;
  box-shadow: 0 1px 2px rgba(16,46,73,.05), 0 30px 60px -44px rgba(16,46,73,.35); }
.svc-row--flip .svc-row__visual { order: -1; }
.svc-row__text { display: grid; gap: 0; }
.svc-item { display: grid; gap: 10px; justify-items: start; padding: 26px 0; border-top: 1px solid var(--line); }
.svc-item:first-child { padding-top: 0; border-top: 0; }
.svc-item:last-child { padding-bottom: 0; }
.svc-item h3 { font-size: clamp(19px, 1.6vw, 22px); font-weight: 500; line-height: 1.25; letter-spacing: -.01em; color: var(--navy); }
.svc-item p { font-size: 15px; line-height: 1.6; color: var(--text-2); max-width: 52ch; }
.svc-item .bx__list { margin: 2px 0 0; }
.svc-item__meta { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; font-size: 13px; color: var(--text-2); }
.svc-item__meta svg { width: 15px; height: 15px; color: var(--blue); flex: none; }
.svc-item .grp-table { width: 100%; max-width: 420px; }
.svc-row__visual { position: relative; align-self: stretch; display: grid; place-items: center; padding: clamp(18px, 2.6vw, 36px); border-radius: 22px;
  background: radial-gradient(120% 90% at 0% 0%, #FFFFFF 0%, rgba(255,255,255,0) 55%), linear-gradient(145deg, #EAF3F9 0%, #F4F8FB 55%, #FFF3E6 100%); overflow: hidden; }
.svc-row__visual::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(16,46,73,.08) 1px, transparent 1px); background-size: 16px 16px;
  -webkit-mask-image: linear-gradient(160deg, #000 0%, transparent 70%); mask-image: linear-gradient(160deg, #000 0%, transparent 70%); pointer-events: none; }
.svc-row--navy .svc-row__visual { background: radial-gradient(100% 80% at 100% 0%, #24557F 0%, #143756 55%, var(--navy) 100%); }
.svc-row--navy .svc-row__visual::before { background-image: radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px); }
/* the stack: screen A top-left, screen B overlapping bottom-right */
.stack { position: relative; width: 100%; max-width: 560px; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: auto 20px auto; }
.stack__a { grid-column: 1 / 11; grid-row: 1 / 3; position: relative; z-index: 1; }
.stack__b { grid-column: 3 / 13; grid-row: 2 / 4; position: relative; z-index: 2; }
.stack__a .ui::after { content: ""; display: block; height: 22px; background: #FBFCFD; border-top: 1px solid #EEF2F5; }
.stack__b .ui { box-shadow: 0 2px 4px rgba(16,46,73,.08), 0 30px 50px -24px rgba(16,46,73,.5); }
.svc-row--navy .ui { border-color: rgba(255,255,255,.4); }
/* also available */
.svc-more { margin-top: clamp(20px, 2.4vw, 32px); display: grid; grid-template-columns: auto 1fr; gap: 16px 32px; align-items: center; padding: 20px 26px;
  border-radius: 20px; background: rgba(255,255,255,.8); border: 1px dashed #D2DEE7; }
.svc-more__label { font-size: 12.5px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--orange-ink); }
.svc-more ul { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 24px; }
.svc-more li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; }
.svc-more li > div { display: grid; gap: 2px; }
.svc-more b { font-size: 14.5px; font-weight: 500; color: var(--navy); }
.svc-more li span:not(.extra-ic) { font-size: 13px; color: var(--text-2); }
.svc-more .is-soon span:not(.extra-ic) { color: var(--orange-ink); }
@media (max-width: 1100px) {
  .svc-row { grid-template-columns: minmax(0, 1fr); }
  .svc-row--flip .svc-row__visual { order: 0; }
  .svc-row__visual { order: -1; }
  .svc-more { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .svc-row { padding: 16px; border-radius: 22px; }
  .svc-row__visual { padding: 14px; border-radius: 16px; }
  .stack { grid-template-rows: auto 14px auto; }
  .stack__a, .stack__b { grid-column: 1 / 13; }
  .stack__b { margin-left: 10px; }
  .svc-row__visual { padding: 12px 16px 14px 10px; }
  .svc-more { padding: 18px; }
  .svc-more ul { grid-template-columns: 1fr; }
}
/* bento grid: 3 columns, wide cards span 2 */
.bento { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.5vw, 20px); }
.bx { position: relative; display: flex; flex-direction: column; gap: 10px; padding: clamp(20px, 2vw, 28px); background: var(--surface);
  border: 1px solid #DCE7EE; border-radius: 22px; box-shadow: 0 1px 2px rgba(16,46,73,.05), 0 18px 40px -30px rgba(16,46,73,.35); overflow: hidden; }
.bx--wide { grid-column: span 2; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(18px, 2.4vw, 32px); align-items: stretch; }
.bx__body { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.bx__top { display: flex; align-items: center; gap: 12px; margin-bottom: 6px; }
.bx__icon { width: 46px; height: 46px; flex: none; border-radius: 14px; display: grid; place-items: center; background: var(--peach); color: var(--orange); box-shadow: inset 0 0 0 1px rgba(215,106,23,.12); }
.bx__icon svg { width: 22px; height: 22px; }
.bx__kicker { font-size: 12px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--blue-ink); padding: 5px 10px; border-radius: 999px; background: var(--pale-blue); border: 1px solid #DCE7EE; }
.bx h3 { font-size: clamp(18px, 1.45vw, 21px); font-weight: 500; line-height: 1.25; letter-spacing: -.01em; color: var(--navy); }
.bx p { font-size: 14.5px; line-height: 1.6; color: var(--text-2); }
.bx__list { list-style: none; display: grid; gap: 8px; margin-top: 4px; }
.bx__list li { display: grid; grid-template-columns: 18px 1fr; gap: 9px; align-items: start; font-size: 14.5px; line-height: 1.5; color: var(--navy); }
.bx__list svg { width: 18px; height: 18px; margin-top: 2px; color: var(--green); }
.bx__chips { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.bx__chips li { font-size: 13px; padding: 6px 11px; border-radius: 999px; background: var(--canvas); border: 1px solid var(--line-2); color: var(--navy); }
.bx__meta { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-2); }
.bx__list + .bx__meta, .bx__chips + .bx__meta { margin-top: auto; }
.bx > .bx__list:last-child, .bx > .bx__chips:last-child { margin-bottom: 0; }
.bx__meta svg { width: 15px; height: 15px; flex: none; color: var(--blue); }
.bx > .bx__meta { margin-top: auto; }
.bx p + .bx__list, .bx p + .bx__chips { margin-bottom: 12px; }
/* feature: example itinerary */
.bx--feature { background: linear-gradient(135deg, #FFFFFF 0%, #FFFFFF 55%, #FFF7EF 100%); }
.it-card { align-self: stretch; display: flex; flex-direction: column; gap: 10px; padding: 16px 16px 12px; border-radius: 16px; background: var(--surface); border: 1px solid #F0DCC8; box-shadow: 0 16px 30px -24px rgba(169,79,14,.55); }
.it-card__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--line); font-size: 14px; }
.it-card__head b { font-weight: 600; color: var(--navy); }
.it-days { list-style: none; display: grid; gap: 2px; position: relative; }
.it-days::before { content: ""; position: absolute; left: 25px; top: 12px; bottom: 12px; width: 2px; background: repeating-linear-gradient(180deg, #F2C9A3 0 4px, transparent 4px 8px); }
.it-days li { position: relative; display: grid; grid-template-columns: 52px 1fr; gap: 12px; align-items: start; padding: 6px 0; }
.it-day { position: relative; z-index: 1; justify-self: start; font-size: 12px; font-weight: 600; letter-spacing: .02em; padding: 4px 7px; border-radius: 8px; background: var(--peach); color: var(--orange-ink); white-space: nowrap; }
.it-days b { display: block; font-size: 14px; font-weight: 500; color: var(--navy); line-height: 1.3; }
.it-days small { display: block; font-size: 12.5px; color: var(--text-2); line-height: 1.4; }
/* illustrations */
.art { display: block; width: 100%; height: auto; }
.bx__art { margin: -4px -4px 8px; border-radius: 16px; overflow: hidden; }
.bx__art .art { aspect-ratio: 320 / 140; }
.it-map { align-self: stretch; display: flex; flex-direction: column; gap: 12px; padding: 12px; border-radius: 18px; background: var(--surface); border: 1px solid #E6ECF1; box-shadow: 0 18px 36px -28px rgba(16,46,73,.45); }
.it-map__art { flex: 1; min-height: 190px; display: flex; border-radius: 12px; overflow: hidden; background: #E6F0F6; }
.it-map__art .art { width: 100%; height: 100%; }
.it-map__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 0 4px; font-size: 14px; }
.it-map__head b { font-weight: 600; color: var(--navy); }
.it-strip { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); position: relative; padding: 0 2px 4px; }
.it-strip::before { content: ""; position: absolute; left: 10%; right: 10%; top: 9px; height: 2px; background: repeating-linear-gradient(90deg, #F2C9A3 0 5px, transparent 5px 9px); }
.it-strip li { position: relative; display: grid; justify-items: center; gap: 2px; text-align: center; }
.it-strip li::before { content: ""; width: 12px; height: 12px; margin: 3px 0 6px; border-radius: 50%; background: var(--surface); border: 2.5px solid var(--orange); }
.it-strip li.is-key::before { background: var(--orange); box-shadow: 0 0 0 4px rgba(215,106,23,.18); }
.it-strip span { font-size: 12px; color: var(--text-2); }
.it-strip b { font-size: 13px; font-weight: 500; color: var(--navy); }
.grp-visual { display: grid; gap: 12px; align-self: center; }
.grp-art .art { border-radius: 16px; }
.extra-list li { grid-template-columns: 34px 1fr; column-gap: 12px; align-items: start; }
.extra-list li > div { display: grid; gap: 2px; }
.extra-ic { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: #fff; border: 1px solid #F1D5BA; color: var(--orange); }
.extra-ic svg { width: 17px; height: 17px; }
.extra-list .is-soon .extra-ic { border-style: dashed; }
/* gentle motion (only when motion is allowed) */
.js-motion .art-flow { animation: art-flow 1.6s linear infinite; }
.js-motion .art-pulse { transform-box: fill-box; transform-origin: center; animation: art-pulse 2.4s ease-out infinite; }
.js-motion .art-ring { transform-box: fill-box; transform-origin: center; animation: art-ring 2.8s ease-out infinite; }
.js-motion .art-ring--2 { animation-delay: .5s; }
.js-motion .art-ring--3 { animation-delay: 1s; }
.js-motion .art-float { animation: art-float 5s ease-in-out infinite; }
.js-motion .art-drive { animation: art-drive 3.2s ease-in-out infinite; }
@keyframes art-flow { to { stroke-dashoffset: -22; } }
@keyframes art-pulse { 0% { transform: scale(.6); opacity: .5; } 100% { transform: scale(1.8); opacity: 0; } }
@keyframes art-ring { 0% { transform: scale(.85); } 50% { transform: scale(1.04); } 100% { transform: scale(.85); } }
@keyframes art-float { 50% { transform: translateY(-4px); } }
@keyframes art-drive { 50% { transform: translateX(4px); } }
/* ---- UI mockups (examples of desk work) ---- */
.bx__ui { margin: -4px -4px 10px; padding: 14px; border-radius: 16px; background: linear-gradient(180deg, #EEF5FA, #F6FAFC); border: 1px solid #E3ECF2; }
.bx--wide > .bx__visual { align-self: center; padding: 16px; border-radius: 18px; background: linear-gradient(160deg, #EEF5FA 0%, #F8FBFD 60%, #FFF6EC 100%); border: 1px solid #E3ECF2; }
.ui { background: #fff; border: 1px solid #DDE6ED; border-radius: 12px; box-shadow: 0 1px 2px rgba(16,46,73,.06), 0 14px 30px -20px rgba(16,46,73,.4); overflow: hidden; font-size: 12.5px; color: var(--navy); text-align: left; }
.ui__bar { display: flex; align-items: center; gap: 10px; padding: 9px 12px; background: #F7FAFC; border-bottom: 1px solid #E6EDF2; }
.ui__dots { display: inline-flex; gap: 4px; }
.ui__dots i { width: 7px; height: 7px; border-radius: 50%; background: #D5DEE5; }
.ui__dots i:first-child { background: #F3B8A0; } .ui__dots i:nth-child(2) { background: #F5D59A; } .ui__dots i:nth-child(3) { background: #A9D8C3; }
.ui__title { flex: 1; min-width: 0; font-weight: 600; font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui__ex { font-size: 12px; color: var(--text-2); padding: 1px 8px; border: 1px solid var(--line-2); border-radius: 999px; background: #fff; }
.ui__sub { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 9px 12px; color: var(--text-2); font-size: 12px; border-bottom: 1px solid #EEF2F5; }
.ui-pill { display: inline-flex; align-items: center; gap: 4px; flex: none; font-size: 12px; font-weight: 500; line-height: 1; padding: 5px 8px; border-radius: 999px; white-space: nowrap; }
.ui-pill svg { width: 12px; height: 12px; }
.ui-pill--ok { background: var(--mint); color: var(--green); }
.ui-pill--wait { background: var(--peach); color: var(--orange-ink); }
.ui-pill--info { background: var(--pale-blue); color: var(--blue-ink); border: 1px solid #D6E6EF; }
/* quotation table */
.ui-table > div { display: grid; grid-template-columns: minmax(0, 1fr) 78px 82px; gap: 8px; align-items: center; padding: 8px 12px; border-top: 1px solid #EEF2F5; }
.ui-table > .ui-table__head { border-top: 0; background: #FBFCFD; font-size: 12px; color: var(--text-2); font-weight: 500; }
.ui-table b { display: block; font-weight: 500; font-size: 12.5px; }
.ui-table small { display: block; font-size: 12px; color: var(--text-2); }
.ui-nett { justify-self: start; font-size: 12px; font-weight: 600; color: var(--green); background: var(--mint); padding: 3px 8px; border-radius: 6px; }
.ui-doc { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--blue-ink); }
.ui-doc svg { color: var(--blue); flex: none; }
.ui-table__fee { background: #FFFAF4; }
.ui-fee { font-size: 12px; font-weight: 600; color: var(--orange-ink); white-space: nowrap; }
.ui__actions { display: flex; justify-content: flex-end; gap: 8px; padding: 10px 12px; border-top: 1px solid #EEF2F5; background: #FBFCFD; }
.ui-btn { font-size: 12px; font-weight: 500; padding: 7px 12px; border-radius: 8px; background: var(--navy); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.2); }
.ui-btn--ghost { background: #fff; color: var(--navy); border: 1px solid var(--line-2); box-shadow: none; }
/* tracker rows */
.ui-progress { display: grid; gap: 6px; padding: 10px 12px; border-bottom: 1px solid #EEF2F5; font-size: 12px; color: var(--text-2); }
.ui-progress b { color: var(--navy); font-weight: 600; }
.ui-progress i { display: block; height: 6px; border-radius: 3px; background: #EAF0F4; overflow: hidden; }
.ui-progress i b { display: block; height: 100%; border-radius: 3px; background: linear-gradient(90deg, var(--green), #2FA487); }
.ui-rows { list-style: none; }
.ui-rows li { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 12px; border-top: 1px solid #EEF2F5; }
.ui-rows li:first-child { border-top: 0; }
.ui-rows b { display: block; font-weight: 500; font-size: 12.5px; }
.ui-rows small { display: block; font-size: 12px; color: var(--text-2); }
.ui-ic { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; background: var(--pale-blue); color: var(--blue-ink); }
.ui-av { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-weight: 600; font-size: 12px; background: var(--peach); color: var(--orange-ink); }
.ui-av--2 { background: var(--mint); color: var(--green); }
.ui-sent { display: flex; align-items: center; gap: 6px; padding: 9px 12px; border-top: 1px solid #EEF2F5; background: #FBFCFD; font-size: 12px; color: var(--text-2); }
.ui-sent svg { color: var(--green); flex: none; }
/* voucher preview */
.ui-doc-sheet { margin: 12px; padding: 12px; border: 1px dashed #E6C9AC; border-radius: 10px; background: #fff; }
.ui-doc-sheet__head { display: flex; align-items: center; gap: 10px; padding-bottom: 9px; border-bottom: 1px solid var(--line); }
.ui-doc-sheet__head b { display: block; font-weight: 600; font-size: 13px; }
.ui-doc-sheet__head small { display: block; font-size: 12px; color: var(--text-2); }
.ui-logo { width: 42px; height: 34px; border-radius: 8px; display: grid; place-items: center; font-size: 12px; font-weight: 600; color: var(--orange-ink); background: repeating-linear-gradient(45deg, #FFF3E8 0 6px, #FFE7D1 6px 12px); border: 1px solid #F1D5BA; }
.ui-doc-sheet dl { display: grid; gap: 5px; margin: 9px 0; }
.ui-doc-sheet dl div { display: flex; justify-content: space-between; gap: 8px; }
.ui-doc-sheet dt { color: var(--text-2); }
.ui-doc-sheet dd { margin: 0; font-weight: 500; }
.ui-doc-sheet__foot { padding-top: 7px; border-top: 1px dashed var(--line); font-size: 12px; color: var(--orange-ink); }
.ui-toggles { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 0 12px 12px; font-size: 12px; color: var(--text-2); }
.ui-toggles span { display: inline-flex; align-items: center; gap: 7px; }
.ui-sw { position: relative; width: 28px; height: 16px; border-radius: 999px; background: #D5DEE5; }
.ui-sw::after { content: ""; position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.2); }
.ui-sw--on { background: var(--green); }
.ui-sw--on::after { left: 14px; }
/* on-trip case (inside dark card) */
.bx--dark .bx__ui { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); }
.ui-steps { list-style: none; padding: 10px 12px 12px; display: grid; gap: 0; }
.ui-steps li { position: relative; padding: 0 0 10px 22px; }
.ui-steps li::before { content: ""; position: absolute; left: 3px; top: 4px; width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--blue); background: #fff; }
.ui-steps li::after { content: ""; position: absolute; left: 8px; top: 16px; bottom: 0; width: 2px; background: #D6E6EF; }
.ui-steps li.is-last { padding-bottom: 0; }
.ui-steps li.is-last::before { background: var(--green); border-color: var(--green); }
.ui-steps li.is-last::after { display: none; }
.ui-steps b { display: block; font-weight: 500; font-size: 12.5px; }
.ui-steps small { display: block; font-size: 12px; color: var(--text-2); }
/* group file */
.ui-kpis { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid #EEF2F5; }
.ui-kpis span { display: grid; gap: 1px; padding: 10px 12px; border-left: 1px solid #EEF2F5; }
.ui-kpis span:first-child { border-left: 0; }
.ui-kpis b { font-size: 18px; font-weight: 600; line-height: 1.1; color: var(--navy); }
.ui-kpis small { font-size: 12px; color: var(--text-2); }
.ui-table--rooms > div { grid-template-columns: 52px 1fr 56px 1fr; }
.ui-table--rooms .is-more span { color: var(--text-2); font-size: 12px; }
.ui-table--rooms .is-more span:first-child { grid-column: 1 / -1; }
.ui-table--rooms .is-more span:not(:first-child) { display: none; }
@media (max-width: 480px) {
  .ui--quote .ui-table > div { grid-template-columns: minmax(0, 1fr) auto; }
  .ui--quote .ui-table > div > span:nth-child(3) { display: none; }
  .bx__ui { margin: -4px -4px 10px; padding: 10px; }
}
/* gentle motion */
.js-motion .ui-progress i b { animation: ui-fill 1.6s var(--ease) both; }
@keyframes ui-fill { from { width: 0 !important; } }
/* in-trip: dark card */
.bx--dark { background: radial-gradient(120% 90% at 100% 0%, #1F4A70 0%, var(--navy) 60%); border-color: var(--navy); color: #fff; }
.bx--dark h3 { color: #fff; }
.bx--dark p { color: #CFE2EE; }
.bx--dark .bx__icon { background: rgba(242,166,90,.16); color: var(--orange-soft); box-shadow: inset 0 0 0 1px rgba(242,166,90,.3); }
.bx--dark .bx__kicker { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.16); color: #CFE2EE; }
.bx__big { display: grid; gap: 4px; padding: 14px 16px; margin: 4px 0 6px; border-radius: 14px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); }
.bx__big b { font-size: 40px; font-weight: 600; line-height: 1; letter-spacing: -.02em; color: var(--orange-soft); }
.bx__big span { font-size: 13.5px; color: #CFE2EE; line-height: 1.45; }
.bx--dark .bx__list li { color: #E8F1F7; }
.bx--dark .bx__list svg { color: #7FD3B8; }
/* groups: fee table */
.grp-table { margin: 6px 0 4px; display: grid; gap: 0; border-radius: 16px; overflow: hidden; border: 1px solid #DCE7EE; background: var(--surface); font-size: 14px; }
.grp-table > div { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--line); align-items: center; }
.grp-table > .grp-table__head { border-top: 0; background: var(--pale-blue); font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-ink); }
.grp-table b { font-weight: 600; color: var(--navy); font-variant-numeric: tabular-nums; }
.grp-table span { color: var(--navy); }
.grp-table small { display: block; padding: 9px 16px; border-top: 1px solid var(--line); font-size: 12px; color: var(--text-2); background: var(--canvas); }
/* also available */
.bx--extra { background: linear-gradient(180deg, #FFF8F1, #FFFFFF); border-style: dashed; border-color: #EBCFB4; }
.bx--extra .bx__kicker { align-self: flex-start; background: var(--peach); border-color: #F1D5BA; color: var(--orange-ink); }
.extra-list { list-style: none; display: grid; gap: 0; margin-top: 4px; }
.extra-list li { display: grid; gap: 2px; padding: 12px 0; border-bottom: 1px dashed #EBCFB4; }
.extra-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.extra-list b { font-size: 15px; font-weight: 500; color: var(--navy); }
.extra-list span { font-size: 13px; color: var(--text-2); }
.extra-list .is-soon span { color: var(--orange-ink); }
@media (max-width: 1100px) {
  .svc-head { grid-template-columns: 1fr; align-items: start; }
  .bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bx--wide { grid-column: 1 / -1; }
  .bx--extra { grid-column: 1 / -1; }
  .extra-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .extra-list li { border-bottom: 0; padding: 4px 0 0; }
}
@media (max-width: 720px) {
  .bento { grid-template-columns: 1fr; }
  .bx--wide { grid-template-columns: minmax(0, 1fr); }
  .bx--wide > .bx__visual { order: -1; padding: 10px; }
  .ui__actions { flex-wrap: wrap; }
  .it-map__art { min-height: 0; }
  .bx__big b { font-size: 34px; }
  .extra-list { grid-template-columns: 1fr; gap: 0; }
  .extra-list li { border-bottom: 1px dashed #EBCFB4; padding: 12px 0; }
}

.panel { background: var(--pale-blue); border-radius: var(--radius-xl); padding: clamp(32px, 5vw, 64px) clamp(22px, 4vw, 56px); }
.steps { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 48px); counter-reset: s; }
.step { display: grid; grid-template-columns: 36px 1fr; gap: 16px; align-items: start; }
.step__n { width: 34px; height: 34px; border-radius: 50%; background: var(--surface); color: var(--blue-ink); display: grid; place-items: center; font-size: 14px; font-weight: 500; box-shadow: var(--shadow-s); }
.step h3 { font-size: 19px; margin: 4px 0 8px; }
.step p { font-size: 15px; color: var(--text-2); }



/* ---------------- Pricing summary cards ---------------- */
/* --- pricing summary v2 --- */
.plans-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px 40px; align-items: end; margin-bottom: 26px; }
.plans-head h2 { margin-top: 12px; font-size: clamp(28px, 3vw, 40px); line-height: 1.12; letter-spacing: -.02em; font-weight: 500; }
.plans-head h2 .accent { color: var(--orange); }
.plans-head p { margin-top: 12px; font-size: 16px; line-height: 1.6; color: var(--text-2); max-width: 56ch; }
.plans-switch { display: none; gap: 8px; justify-items: end; }
.js .plans-switch { display: grid; }
.plans-switch__label { font-size: 12.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); }
.plans-scale { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 14px; padding-bottom: 12px; font-size: 13px; font-weight: 500; color: var(--navy); }
.plans-scale::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; border-radius: 4px; background: linear-gradient(90deg, #BFE0EC 0%, var(--blue) 30%, var(--orange-soft) 48%, var(--orange) 66%, var(--navy) 100%); opacity: .8; }
.plans-scale span { display: inline-flex; align-items: center; gap: 8px; padding-left: 4px; }
.plans-scale span::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--blue); }
.plans-scale span:nth-child(2)::before { background: var(--orange); }
.plans-scale span:nth-child(3)::before { background: var(--navy); }
.plan__top { display: flex; }
.plan__tag { font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; background: var(--pale-blue); color: var(--blue-ink); border: 1px solid #D6E6EF; }
.plan__tag--hot { background: var(--orange); color: #fff; border-color: var(--orange); }
.plan__prices { display: grid; gap: 10px; }
.plan__price { display: flex; flex-direction: column; gap: 4px; }
.plan__amt { font-size: clamp(34px, 3vw, 44px); font-weight: 600; letter-spacing: -.03em; line-height: 1.05; color: var(--navy); font-variant-numeric: tabular-nums; }
.plan__unit { font-size: 14px; color: var(--text-2); }
.plan__list { list-style: none; display: grid; gap: 9px; align-content: start; border-top: 1px solid var(--line); padding-top: 16px; }
.plan--featured .plan__list { border-color: #F1D2B4; }
.plan__list li, .plan__li { display: flex; align-items: flex-start; gap: 9px; font-size: 14.5px; line-height: 1.45; color: var(--navy); }
.plan__list svg { width: 17px; height: 17px; flex: none; margin-top: 2px; color: var(--green); }
.plan__val { margin-left: auto; padding-left: 8px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.plan__val[data-price-vn]::before { content: "· Vietnam "; font-weight: 400; color: var(--text-2); }
.plan__val[data-price-jp] + .plan__val[data-price-vn] { margin-left: 0; }
/* without JS both prices show, labelled; with JS only the chosen destination */
.plan__price::before { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-ink); }
.plan__price[data-price-jp]::before { content: "Japan"; }
.plan__price[data-price-vn]::before { content: "Vietnam"; }
.js .plan__price::before, .js .plan__val[data-price-vn]::before { display: none; content: none; }
.js [data-plans][data-dest="jp"] [data-price-vn], .js [data-plans][data-dest="vn"] [data-price-jp] { display: none; }
.js [data-plans] .plan__li + .plan__val { margin-left: auto; }
.js [data-plans][data-dest="vn"] .plan__val[data-price-vn] { margin-left: auto; }
.plan__for { min-height: 2.9em; }
.js .plan__amt { animation: price-in .35s var(--ease); }
@keyframes price-in { from { opacity: 0; transform: translateY(4px); } }
.plans-offer { margin-top: 22px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 16px 22px; border-radius: 18px; background: linear-gradient(90deg, var(--navy), #1B4A70); color: #fff; }
.plans-offer__badge { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--navy); background: var(--orange-soft); padding: 5px 11px; border-radius: 999px; }
.plans-offer__badge svg { width: 14px; height: 14px; }
.plans-offer p { flex: 1; min-width: 220px; font-size: 15px; color: #D5E3EE; }
.plans-offer p b { color: #fff; font-weight: 500; }
.plans-offer .link-arrow { color: #fff; text-decoration-color: rgba(255,255,255,.4); }
@media (max-width: 1100px) { .plans-scale { display: none; } }
@media (max-width: 720px) { .plans-head { grid-template-columns: 1fr; } .plans-switch { justify-items: start; } }
.plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.plan {
  position: relative; display: grid; grid-template-rows: auto auto 1fr auto; gap: 22px;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-l); padding: 26px 24px 24px;
  transition: box-shadow .25s, transform .25s var(--ease), border-color .25s;
}
.plan:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.plan--featured { background: var(--peach); border-color: #F4D5B8; }
.plan h3 { font-size: 21px; }
.plan__for { font-size: 14px; color: var(--text-2); margin-top: 4px; }
.plan__prices { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.price-block { display: grid; gap: 2px; }
.price-block__dest { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-ink); }
.plan--featured .price-block__dest { color: var(--orange-ink); }
.price-block__amt { font-size: clamp(28px, 2.4vw, 34px); font-weight: 500; letter-spacing: -.02em; line-height: 1.15; font-variant-numeric: tabular-nums; }
.price-block__unit { font-size: 13px; color: var(--text-2); }
.plan__notes { list-style: none; display: grid; gap: 6px; font-size: 14px; color: var(--text-2); align-content: start; border-top: 1px solid var(--line); padding-top: 16px; }
.plan--featured .plan__notes { border-color: #F1D2B4; }
.plans-foot { margin-top: 20px; font-size: 14px; color: var(--text-2); }

/* ---------------- CTA band ---------------- */
.cta-band {
  position: relative; overflow: hidden; background: var(--navy); color: #fff; border-radius: var(--radius-xl);
  padding: clamp(32px, 4.4vw, 56px) clamp(24px, 4vw, 56px);
  display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap;
}
.cta-band::before {
  content: ""; position: absolute; right: -80px; top: -120px; width: 320px; height: 320px; border-radius: 50%;
  background: radial-gradient(circle, rgba(242,166,90,.22), rgba(242,166,90,0) 70%);
}
.cta-band > * { position: relative; }
.cta-band .eyebrow { color: #F6BE87; }
.cta-band h2 { font-size: clamp(26px, 2.8vw, 36px); margin: 10px 0 10px; }
.cta-band p { color: #C9D6E2; font-size: 15.5px; }

/* ---------------- Footer ---------------- */
.site-footer { position: relative; padding: 0 0 36px; margin-top: clamp(24px, 3vw, 40px); background: linear-gradient(180deg, var(--canvas) 0, #EEF4F8 120px, #EAF2F7 100%); }
.footer-cta { position: relative; overflow: hidden; isolation: isolate; margin: 0 0 48px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px;
  padding: clamp(24px, 3vw, 36px) clamp(22px, 3.4vw, 44px); border-radius: 26px; color: #fff;
  background: radial-gradient(60% 120% at 100% 0%, rgba(215,106,23,.35), rgba(215,106,23,0) 60%), radial-gradient(50% 120% at 0% 100%, rgba(8,126,160,.4), rgba(8,126,160,0) 60%), linear-gradient(135deg, #16405F, var(--navy));
  box-shadow: 0 30px 60px -36px rgba(16,46,73,.7); }
.footer-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(rgba(255,255,255,.09) 1px, transparent 1px); background-size: 18px 18px;
  -webkit-mask-image: linear-gradient(90deg, #000, transparent 70%); mask-image: linear-gradient(90deg, #000, transparent 70%); }
.footer-cta__eyebrow { font-size: 12.5px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--orange-soft); }
.site-footer .footer-cta__title { margin: 6px 0 0; letter-spacing: -.01em; text-transform: none; font-size: clamp(22px, 2.2vw, 30px); font-weight: 500; line-height: 1.2; color: #fff; }
.site-footer .footer-cta p { margin-top: 6px; font-size: 15px; color: #C9D8E4; max-width: 60ch; }
.footer-cta p b { color: #fff; font-weight: 500; }
.footer-cta__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.site-footer .footer-cta__link { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 500; color: #fff; text-decoration: none; }
.site-footer .footer-cta__link:hover { text-decoration: underline; text-underline-offset: 4px; }
.site-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px clamp(24px, 3vw, 48px); }
.site-footer__brand { display: grid; gap: 14px; justify-items: start; align-content: start; }
.site-footer .brand img { width: 210px; }
.site-footer__brand p { max-width: 34ch; }
.site-footer h2 { font-size: 12.5px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--blue-ink); margin-bottom: 14px; }
.site-footer ul { list-style: none; display: grid; gap: 10px; font-size: 14.5px; }
.site-footer a { color: var(--navy); text-decoration: none; }
.site-footer nav a { color: var(--text-2); transition: color .2s ease; }
.site-footer nav a:hover { color: var(--navy); text-decoration: underline; text-underline-offset: 4px; }
.site-footer p { font-size: 14.5px; line-height: 1.6; color: var(--text-2); }
.footer-desks li { display: flex; align-items: center; gap: 9px; white-space: nowrap; color: var(--navy); font-weight: 500; }
.footer-desks span { font-size: 12px; font-weight: 500; color: var(--green); background: var(--mint); padding: 1px 8px; border-radius: 999px; }
.fd { width: 8px; height: 8px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 3px rgba(8,126,160,.15); }
.fd--vn { background: var(--green); box-shadow: 0 0 0 3px rgba(21,124,103,.15); }
.footer-note { margin-top: 12px; font-size: 13.5px !important; }
.desk-status--footer { background: #fff; }
.site-footer__base { margin-top: 40px; padding-top: 20px; border-top: 1px solid #D6E3EB; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; font-size: 13.5px; color: var(--text-2); }
.site-footer__promise { display: inline-flex; align-items: center; gap: 7px; }
.site-footer__promise svg { color: var(--green); }
.site-footer__top { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; }
.site-footer__top:hover { text-decoration: underline; text-underline-offset: 4px; }

/* ---------------- Page heads ---------------- */
.page-head { padding: clamp(40px, 5vw, 72px) 0 clamp(28px, 3vw, 40px); display: grid; gap: 16px; }
.page-head h1 { font-size: clamp(34px, 4.2vw, 56px); letter-spacing: -.022em; }
.page-head .lead { max-width: 44em; }
.page-head__row { display: flex; flex-wrap: wrap; gap: 20px; align-items: end; justify-content: space-between; }

/* ---------------- Tabs / segmented ---------------- */
.tabs { position: relative; display: flex; gap: clamp(18px, 2.4vw, 32px); border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.tabs::-webkit-scrollbar { display: none; }
.tab {
  background: none; border: 0; padding: 12px 2px 14px; font-size: 15.5px; color: var(--text-2); white-space: nowrap;
  display: inline-flex; gap: 8px; align-items: center; transition: color .2s;
}
.tab:hover { color: var(--navy); }
.tab[aria-selected="true"] { color: var(--navy); font-weight: 500; }
.tab__count { font-size: 12px; background: var(--pale-blue); color: var(--blue-ink); padding: 1px 8px; border-radius: 999px; font-weight: 500; }
.tabs__line { position: absolute; left: 0; bottom: -1px; height: 2px; width: var(--w, 0); background: var(--orange); border-radius: 2px; transform: translateX(var(--x, 0)); transition: transform .32s var(--ease), width .32s var(--ease); }

.segmented { display: inline-flex; padding: 4px; background: var(--surface); border: 1px solid var(--line); border-radius: 999px; gap: 4px; }
.segmented button {
  border: 0; background: transparent; padding: 10px 22px; border-radius: 999px; font-size: 15px; font-weight: 500; color: var(--text-2);
  transition: background-color .2s, color .2s;
}
.segmented button[aria-checked="true"] { background: var(--navy); color: #fff; }
.segmented button:not([aria-checked="true"]):hover { color: var(--navy); background: var(--pale-blue); }

/* ---------------- Operations board ---------------- */
.board-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; padding: 22px 0 18px; }
.search { position: relative; flex: 1 1 280px; max-width: 420px; }
.search svg { position: absolute; left: 14px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); color: var(--text-2); pointer-events: none; }
.search input {
  width: 100%; height: 48px; border: 1px solid var(--line-2); border-radius: var(--radius); background: var(--surface);
  padding: 0 14px 0 42px; font-size: 15.5px;
}
.search input::placeholder { color: #7F909E; }
.search input:focus-visible { outline: 3px solid var(--focus); outline-offset: 1px; border-color: var(--blue); }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  border: 1px solid var(--line-2); background: var(--surface); color: var(--navy); border-radius: 999px;
  padding: 8px 14px; font-size: 14px; display: inline-flex; align-items: center; gap: 6px; transition: background-color .2s, border-color .2s, color .2s;
}
.chip:hover { border-color: var(--navy); }
.chip[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: #fff; }
.chip[aria-pressed="true"]::before { content: ""; width: 12px; height: 12px; background: currentColor; -webkit-mask: var(--check) center/contain no-repeat; mask: var(--check) center/contain no-repeat; }
:root { --check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.board-meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 14px; color: var(--text-2); padding-bottom: 12px; }
.btn-text { background: none; border: 0; padding: 4px 2px; color: var(--navy); font-weight: 500; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--line-2); }
.btn-text:hover { text-decoration-color: var(--orange); }

.table-wrap { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-l); overflow: hidden; }
.ops-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.ops-table caption { text-align: left; }
.ops-table th { text-align: left; font-weight: 500; font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-2); background: #F7F9FA; border-bottom: 1px solid var(--line); padding: 0; }
.ops-table th > span, .sort-btn { display: flex; align-items: center; gap: 6px; padding: 14px 18px; }
.sort-btn { width: 100%; background: none; border: 0; font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; text-align: left; }
.sort-btn:hover { color: var(--navy); }
.sort-btn svg { width: 12px; height: 12px; opacity: .35; transition: transform .2s, opacity .2s; }
th[aria-sort="ascending"] .sort-btn, th[aria-sort="descending"] .sort-btn { color: var(--navy); }
th[aria-sort="ascending"] .sort-btn svg { opacity: 1; }
th[aria-sort="descending"] .sort-btn svg { opacity: 1; transform: rotate(180deg); }
.ops-table td { padding: 16px 18px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.ops-table tbody tr:last-child td { border-bottom: 0; }
.ops-row { cursor: pointer; transition: background-color .18s, box-shadow .2s; box-shadow: inset 3px 0 0 transparent; }
.ops-row:hover { background: #FBFAF8; box-shadow: inset 3px 0 0 var(--orange), inset 44px 0 34px -34px rgba(215,106,23,.28); }
.js-motion .ops-row.is-entering { animation: rise .38s cubic-bezier(.2,.8,.2,1) calc(var(--i, 0) * 40ms) both; }
.js-motion .is-xfade { animation: xfade .2s ease-out both; }
@keyframes xfade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.op-name { font-weight: 500; display: block; }
.op-sum { display: block; font-size: 13.5px; color: var(--text-2); margin-top: 2px; max-width: 38ch; }
.dest-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.pill { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 500; padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
.pill--jp { background: var(--pale-blue); color: var(--blue-ink); }
.pill--vn { background: var(--mint); color: var(--green); }
.pill--cat { background: #F3F4F2; color: var(--navy); }
.status { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 500; padding: 4px 11px; border-radius: 999px; white-space: nowrap; }
.status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status--live { color: var(--green); background: var(--mint); }
.status--soon { color: var(--orange-ink); background: var(--peach); }
.basis { font-size: 14px; color: var(--navy); max-width: 30ch; }
.basis small { display: block; color: var(--text-2); font-size: 13px; }
.col-when { white-space: nowrap; font-size: 14px; }
.empty {
  display: grid; justify-items: center; text-align: center; gap: 10px; padding: 56px 20px;
  background: var(--surface); border: 1px dashed var(--line-2); border-radius: var(--radius-l);
}
.empty__icon { width: 52px; height: 52px; border-radius: 50%; background: var(--pale-blue); color: var(--blue); display: grid; place-items: center; }
.empty__icon svg { width: 24px; height: 24px; }
.empty h2 { font-size: 20px; }
.empty p { color: var(--text-2); max-width: 40ch; }

/* ---------------- Drawers (native dialog) ---------------- */
dialog.drawer {
  margin: 0 0 0 auto; height: 100%; max-height: 100dvh; width: min(560px, 100vw); max-width: 100vw;
  padding: 0; border: 0; background: var(--canvas); color: var(--navy);
  box-shadow: -24px 0 60px -20px rgba(16,46,73,.35);
}
dialog.drawer[open] { display: flex; flex-direction: column; }
dialog.drawer::backdrop { background: rgba(16, 46, 73, .42); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.js-motion dialog.drawer[open] { animation: drawer-in .38s var(--ease); }
.js-motion dialog.drawer[open]::backdrop { animation: fade-in .3s ease; }
.js-motion dialog.drawer.is-closing { animation: drawer-out .24s ease-in forwards; }
.js-motion dialog.drawer.is-closing::backdrop { animation: fade-out .24s ease-in forwards; }
@keyframes drawer-in { from { transform: translateX(40px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes drawer-out { to { transform: translateX(40px); opacity: 0; } }
@keyframes fade-in { from { opacity: 0; } }
@keyframes fade-out { to { opacity: 0; } }
.drawer__head { display: flex; align-items: flex-start; gap: 16px; padding: 22px 24px 18px; border-bottom: 1px solid var(--line); background: var(--surface); }
.drawer__head h2 { font-size: 22px; line-height: 1.25; }
.drawer__head p { font-size: 14.5px; color: var(--text-2); margin-top: 4px; }
.drawer__close {
  margin-left: auto; flex: none; width: 42px; height: 42px; border-radius: 10px; border: 1px solid var(--line);
  background: var(--surface); display: grid; place-items: center;
}
.drawer__close:hover { border-color: var(--navy); }
.drawer__close svg { width: 18px; height: 18px; }
.drawer__body { flex: 1; overflow-y: auto; padding: 22px 24px 28px; display: grid; gap: 26px; align-content: start; overscroll-behavior: contain; }
.drawer__foot { padding: 16px 24px 20px; border-top: 1px solid var(--line); background: var(--surface); display: grid; gap: 10px; }
.drawer h3 { font-size: 13px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); margin-bottom: 12px; }

.stat-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.stat-tile { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; display: grid; gap: 4px; align-content: start; }
.stat-tile span { font-size: 12px; color: var(--text-2); letter-spacing: .02em; }
.stat-tile strong { font-size: 15px; font-weight: 500; line-height: 1.35; }
.run-steps { list-style: none; display: grid; gap: 14px; }
.run-steps li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; font-size: 15px; }
.run-steps li span { width: 28px; height: 28px; border-radius: 50%; background: var(--pale-blue); color: var(--blue-ink); display: grid; place-items: center; font-size: 13px; font-weight: 500; }
.needs { list-style: none; display: grid; gap: 8px; font-size: 15px; }
.needs li { display: grid; grid-template-columns: 18px 1fr; gap: 10px; }
.needs svg { width: 16px; height: 16px; margin-top: 4px; color: var(--green); }
.basis-box { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.basis-box div { display: grid; grid-template-columns: 96px 1fr; gap: 12px; padding: 12px 16px; font-size: 15px; }
.basis-box div + div { border-top: 1px solid var(--line); }
.basis-box dt { font-weight: 500; }
.basis-box dd { margin: 0; color: var(--navy); }
.note { font-size: 13.5px; color: var(--text-2); }
.soon-note { background: var(--peach); border-radius: var(--radius); padding: 12px 14px; font-size: 14.5px; color: #7A3A0A; }

/* ---------------- Form ---------------- */
.form { display: grid; gap: 18px; }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { display: grid; gap: 6px; align-content: start; }
.field label, .field legend { font-size: 14.5px; font-weight: 500; padding: 0; }
.field .req { color: var(--orange-ink); }
.field .hint { font-size: 13px; color: var(--text-2); }
.field input, .field select, .field textarea {
  width: 100%; min-height: 48px; border: 1px solid var(--line-2); border-radius: 10px; background: var(--surface);
  padding: 10px 14px; font-size: 16px; line-height: 1.4; transition: border-color .2s, box-shadow .2s;
}
.field textarea { min-height: 120px; resize: vertical; }
.field select { appearance: none; -webkit-appearance: none; padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23102E49' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; }
.field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { outline: 3px solid rgba(8,126,160,.35); outline-offset: 0; border-color: var(--blue); }
.field[data-invalid] input, .field[data-invalid] select, .field[data-invalid] textarea { border-color: #B3261E; }
.field__error { font-size: 13.5px; color: #B3261E; display: flex; gap: 6px; align-items: center; }
.field__error:empty { display: none; }
.radio-row { display: flex; flex-wrap: wrap; gap: 8px; }
.radio-card { position: relative; }
.radio-card input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.radio-card span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--line-2); border-radius: 10px; background: var(--surface); font-size: 15px; transition: background-color .2s, border-color .2s, color .2s; }
.radio-card input:checked + span { background: var(--navy); color: #fff; border-color: var(--navy); }
.radio-card input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 2px; }
.field[data-invalid] .radio-card span { border-color: #B3261E; }
fieldset.field { border: 0; margin: 0; padding: 0; min-width: 0; }
.plan-hint { font-size: 13.5px; color: var(--green); background: var(--mint); padding: 8px 12px; border-radius: 8px; }
.plan-hint:empty { display: none; }
.alert { border-radius: var(--radius); padding: 14px 16px; font-size: 14.5px; display: grid; gap: 4px; }
.alert strong { font-weight: 500; }
.alert--warn { background: var(--peach); color: #6B3308; border: 1px solid #F4D5B8; }
.alert--ok { background: var(--mint); color: #0F5B4B; border: 1px solid #CFE5DC; }
.alert--error { background: #FDECEA; color: #8C1D18; border: 1px solid #F4C7C3; }
.send-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.send-row .btn { justify-content: center; gap: 10px; }
.btn--wa { --btn-bg: var(--green); --btn-bd: var(--green); }
.btn--wa:hover { --btn-bg: #11695A; --btn-bd: #11695A; }
.message-preview { background: #F5F7F8; border: 1px solid var(--line); border-radius: var(--radius); padding: 14px; font-size: 13.5px; white-space: pre-wrap; max-height: 200px; overflow: auto; font-family: var(--font); color: var(--navy); margin: 0; }
details.preview-toggle summary { cursor: pointer; font-size: 14px; font-weight: 500; padding: 4px 0; }
details.preview-toggle[open] summary { margin-bottom: 8px; }

/* ---------------- Pricing page ---------------- */
.price-switch-bar { position: sticky; top: calc(var(--header-h) + env(safe-area-inset-top, 0px)); z-index: 20; background: color-mix(in srgb, var(--canvas) 94%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 12px 0; margin-bottom: 20px; }
.price-switch-bar p { font-size: 14px; color: var(--text-2); }
.products { display: grid; gap: 24px; }
.product { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-l); padding: clamp(22px, 3vw, 36px); display: grid; gap: 22px; }
.product--featured { background: linear-gradient(180deg, var(--peach), #FFF9F3 70%); border-color: #F4D5B8; }
.product__head { display: flex; justify-content: space-between; align-items: start; gap: 20px; flex-wrap: wrap; }
.product__head h2 { font-size: clamp(24px, 2.4vw, 30px); }
.product__head p { color: var(--text-2); font-size: 15.5px; margin-top: 6px; max-width: 52ch; }
.for-badge { display: inline-flex; font-size: 13px; font-weight: 500; color: var(--blue-ink); background: var(--pale-blue); padding: 5px 12px; border-radius: 999px; margin-bottom: 10px; }
.product--featured .for-badge { background: #FFE6CF; color: var(--orange-ink); }
.kv { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.kv > div { border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; display: grid; gap: 4px; background: var(--surface); }
.kv dt { font-size: 13px; color: var(--text-2); }
.kv dd { margin: 0; font-size: 24px; font-weight: 500; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.kv dd small { display: block; font-size: 13px; line-height: 1.4; font-weight: 400; color: var(--text-2); letter-spacing: 0; margin-top: 2px; }
.tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.tier { background: var(--surface); border: 1px solid #F0DCC8; border-radius: var(--radius); padding: 20px; display: grid; gap: 14px; align-content: start; }
.tier--mid { border-color: var(--orange); box-shadow: 0 0 0 1px var(--orange) inset; }
.tier__name { display: flex; justify-content: space-between; align-items: center; font-size: 18px; font-weight: 500; }
.tier__price { font-size: 34px; font-weight: 500; letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.tier__price small { font-size: 14px; font-weight: 400; color: var(--text-2); letter-spacing: 0; }
.tier dl { display: grid; gap: 0; margin: 0; font-size: 14.5px; }
.tier dl div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--line); }
.tier dt { color: var(--text-2); }
.tier dd { margin: 0; font-weight: 500; text-align: right; font-variant-numeric: tabular-nums; }
.agent-opts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.agent-opt { border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; display: grid; gap: 8px; align-content: start; }
.agent-opt h3 { font-size: 17px; }
.agent-opt--na { background: #F7F8F7; color: var(--text-2); border-style: dashed; }
.addons { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.addon { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; display: grid; gap: 10px; align-content: start; }
.addon__head { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.addon h3 { font-size: 17px; }
.addon p { font-size: 14.5px; color: var(--text-2); }
.addon ul { list-style: none; display: grid; gap: 4px; }
.addon li { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; border-top: 1px solid var(--line); padding-top: 8px; }
.addon li b { font-weight: 500; font-variant-numeric: tabular-nums; }
.rules { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 40px; }
.rules li { display: grid; grid-template-columns: 22px 1fr; gap: 12px; padding: 14px 0; border-top: 1px solid var(--line); font-size: 15px; }
.rules svg { width: 18px; height: 18px; color: var(--green); margin-top: 3px; }
.num-flash { transition: opacity .18s; }
.is-swapping .num-flash { opacity: 0; }

/* ---------------- Contact ---------------- */
.contact-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.contact-grid > * { min-width: 0; }
.contact-list li > div { min-width: 0; }
.contact-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-l); padding: clamp(22px, 3vw, 32px); display: grid; gap: 20px; }
.contact-list { list-style: none; display: grid; gap: 0; }
.contact-list li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 18px 0; border-top: 1px solid var(--line); align-items: start; }
.contact-list li:first-child { border-top: 0; padding-top: 0; }
.contact-list h2 { font-size: 17px; margin-bottom: 4px; }
.contact-list p { font-size: 15px; color: var(--text-2); }
.contact-list a { color: var(--navy); font-weight: 500; }
.hours-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.hours-table th, .hours-table td { text-align: left; padding: 10px 0; border-top: 1px solid var(--line); font-weight: 400; }
.hours-table th { color: var(--text-2); width: 34%; }
.hours-table thead th { font-size: 12.5px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-ink); border-top: 0; padding-top: 0; width: auto; }
.hours-table td + td { color: var(--text-2); }
.hours-table tr.is-today td, .hours-table tr.is-today th { font-weight: 500; color: var(--navy); }
.emergency { background: var(--navy); color: #fff; border-radius: var(--radius-l); padding: 24px; display: grid; gap: 8px; }
.emergency h2 { font-size: 19px; }
.emergency p { color: #C9D6E2; font-size: 15px; }
.emergency strong { color: #fff; font-weight: 500; }
.local-time { font-size: 14px; color: var(--text-2); }

/* ---------------- Reveal on scroll ---------------- */
/* Content stays visible at rest; only a gentle lift on hover-capable cards. */

/* ---------------- Responsive ---------------- */
@media (max-width: 1320px) {
  .header-actions .desk-status__meta { display: none; }
  .brand img { width: 196px; }
  .nav ul { gap: clamp(16px, 2vw, 28px); }
}
@media (max-width: 1100px) {
  :root { --header-h: 72px; }
  .nav, .header-actions { display: none; }
  .menu-toggle { display: inline-flex; }
  .mobile-menu.is-open { display: block; }
}
@media (max-width: 1024px) {
  .hero__grid { grid-template-columns: 1fr; }
  .plans { grid-template-columns: 1fr; max-width: 560px; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .site-footer__brand, .site-footer__grid > div:last-child { grid-column: 1 / -1; }
  .kv { grid-template-columns: repeat(2, 1fr); }
  .tiers { grid-template-columns: 1fr; }
  .agent-opts { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }

  /* table -> cards */
  .table-wrap { background: transparent; border: 0; border-radius: 0; overflow: visible; }
  .ops-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ops-table, .ops-table tbody { display: block; }
  .ops-table tr.ops-row {
    display: grid; grid-template-columns: 1fr auto; gap: 10px 12px; background: var(--surface);
    border: 1px solid var(--line); border-radius: var(--radius-l); padding: 18px; margin-bottom: 12px;
  }
  .ops-table td { display: block; padding: 0; border: 0; }
  .ops-table td.col-name { grid-column: 1 / -1; }
  .ops-table td.col-dest { grid-column: 1 / 2; }
  .ops-table td.col-cat { grid-column: 2 / 3; justify-self: end; }
  .ops-table td.col-when, .ops-table td.col-basis { grid-column: 1 / -1; font-size: 14px; white-space: normal; }
  .ops-table td[data-label]::before { content: attr(data-label); display: block; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--text-2); margin-bottom: 2px; }
  .ops-table td.col-status { grid-column: 1 / 2; align-self: center; }
  .ops-table td.col-action { grid-column: 2 / 3; justify-self: end; }
  .basis { max-width: none; }
}
@media (max-width: 720px) {
  body { font-size: 16px; }
  .desk-status { white-space: normal; flex-wrap: wrap; row-gap: 2px; }
  .brand img { width: 168px; }
  .hero__copy { gap: 22px; }
  .hero__actions { width: 100%; }
  .hero__actions .btn { flex: 1 1 100%; }
  .checks { gap: 8px 24px; }
  .steps { grid-template-columns: 1fr; gap: 24px; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .form__row { grid-template-columns: 1fr; }
  .stat-tiles { grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
  .stat-tile { padding: 12px 10px; }
  .stat-tile strong { font-size: 14px; }
  .addons, .rules { grid-template-columns: 1fr; }
  .kv dd { font-size: 21px; }
  .ops-step { grid-template-columns: 30px 1fr; row-gap: 6px; }
  .ops-step__s { grid-column: 2; justify-self: start; }
    .cta-band .btn { width: 100%; }
  .search { max-width: none; flex-basis: 100%; }
  .tabs { gap: 18px; }
  .tab { font-size: 15px; }
  .drawer__head, .drawer__body, .drawer__foot { padding-left: 18px; padding-right: 18px; }
  .send-row { grid-template-columns: 1fr; }
  .price-switch-bar p { display: none; }
  .segmented { width: 100%; }
  .segmented button { flex: 1; }
}
@media (max-width: 440px) {
  .tab__count { display: none; }
}
@media (max-width: 380px) {
  .stat-tiles { grid-template-columns: 1fr; }
  .plan__prices { grid-template-columns: 1fr 1fr; }
}


/* ================= Motion kit, adapted to Clear & Light ================= */

/* --- Hero background map (from the logo-reveal flight path), looping ---
   Lines are drawn in a 0–100 box stretched to the hero, so they fit any screen;
   the points and labels are HTML placed with the same percentages. */
.hero {
  position: relative; isolation: isolate; overflow: hidden; padding-bottom: clamp(40px, 5vw, 72px);
  /* solid glossy pale blue: base colour + top sheen + soft light pools */
  background-color: #E6F0F7;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.75) 0%, rgba(255,255,255,.25) 38%, rgba(255,255,255,0) 60%),
    radial-gradient(60% 55% at 18% 8%, rgba(255,255,255,.9), rgba(255,255,255,0) 70%),
    radial-gradient(45% 60% at 92% 30%, rgba(255,243,232,.7), rgba(255,243,232,0) 70%),
    linear-gradient(180deg, #EDF5FA 0%, #E2EEF6 100%);
  border-bottom: 1px solid #D5E3EC;
  box-shadow: inset 0 -30px 60px -40px rgba(16,46,73,.12);
}
.hero > .container { position: relative; z-index: 1; }
.hero-map { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
/* faint map. Script scales and places it so India, Vietnam and Japan sit on their real
   positions, spread behind the hero content (nothing is reserved in the layout). */
.hero-world { position: absolute; left: 50%; top: 50%; width: min(100%, 1560px); height: auto; max-width: none; transform: translate(-50%, -50%); opacity: .38; user-select: none; }
.hero-map.is-geo .hero-world { transform: none; }
.hero-map:not(.is-geo) .hm-lines, .hero-map:not(.is-geo) .hm-point { display: none; }
.hm-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
/* every city is linked; links between live points are solid, links to coming-soon cities dashed */
.hm-link { fill: none; stroke-linecap: round; }
.hm-link--live { stroke: var(--orange); stroke-width: 1.6; opacity: .32; }
.hm-link--soon { stroke: #6F8496; stroke-width: 1.1; stroke-dasharray: 4 6; opacity: .24; }
.js-motion .hm-link { animation: hm-links-in 1.6s ease-out both; }
@keyframes hm-links-in { from { opacity: 0; } }
/* packets (added by script): a request travels out, the reply comes back */
.hm-pkt { fill: none; stroke-width: 10; stroke-linecap: round; stroke-dasharray: .001 2; opacity: 0; }
.hm-pkt--soon { stroke-width: 7; }
.hm-point { position: absolute; width: 0; height: 0; }
.hm-dot, .hm-ring { position: absolute; left: -7px; top: -7px; width: 14px; height: 14px; border-radius: 50%; }
.hm-point--in .hm-dot { background: var(--canvas); border: 2.5px solid var(--text-2); box-shadow: 0 0 0 4px rgba(255,255,255,.6); }
.hm-point--vn .hm-dot { background: var(--green); }
.hm-point--jp .hm-dot { background: var(--blue); }
.hm-point--soon .hm-dot { left: -5px; top: -5px; width: 10px; height: 10px; background: var(--canvas); border: 2px solid #8FA3B3; }
.hm-ring { border: 2px solid currentColor; opacity: 0; }
.hm-point--in { color: var(--orange); }
.hm-point--vn { color: var(--green); }
.hm-point--jp { color: var(--blue-ink); }
.hm-point--soon { color: #6F8496; }
.hm-point b { position: absolute; left: 0; top: 13px; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--text-2); }
.hm-point--soon b { font-size: 11px; letter-spacing: .1em; color: #6F8496; }
.hm-point b em { font-style: normal; font-size: 9.5px; letter-spacing: .08em; padding: 2px 6px; border-radius: 999px; background: var(--peach); color: var(--orange-ink); }
.hm-point--vn b { color: var(--green); }
.hm-point--jp b { color: var(--blue-ink); top: auto; bottom: 12px; left: auto; right: -10px; transform: none; }
.hm-point--hk b { top: 0; left: 12px; transform: translateY(-50%); }
.hm-point--th b { top: 0; left: auto; right: 12px; transform: translateY(-50%); }
.hm-point--uk b { left: -10px; transform: none; }
/* chat window is glass, so routes behind it still show */
.hero .chat__card { background: rgba(255,255,255,.4); border-color: rgba(206,221,231,.95); }
.hero .chat__head { background: linear-gradient(180deg, rgba(241,247,250,.7), rgba(255,255,255,.25)); }
.hero .chat__viewport { background: transparent; }
.hero .chat__viewport::before { background: linear-gradient(rgba(246,250,252,.75), rgba(246,250,252,0)); }
.hero .chat__composer { background: rgba(255,255,255,.45); }
.hero .chat .bubble--agent { background: rgba(230,242,236,.84); }
.hero .chat .bubble--desk { background: rgba(232,242,247,.84); }
/* no panel behind the hero chat: the card carries its own shadow and glow */
.preview-stage { background: none !important; border: 0; box-shadow: none; padding: 0 !important; border-radius: 0; overflow: visible; }
/* traffic timing lives in motion.js (HeroMap); pings use the rings below */
@keyframes rtd-ring { 0% { opacity: .55; transform: scale(1); } 70%, 100% { opacity: 0; transform: scale(2.6); } }
@media (max-width: 1024px) {
  .hero__grid { row-gap: 48px; }
  /* stacked: text sits over the map, so keep map and routes quiet */
  .hero-world { opacity: .2; }
  .hero-map.is-geo .hm-lines, .hero-map.is-geo .hm-point { opacity: .5; }
  .hm-link--live { stroke-width: 1.3; }
  .hm-link--soon { stroke-width: 1; stroke-dasharray: 3 5; }
  .hm-pkt { stroke-width: 7; }
  .hm-pkt--soon { stroke-width: 5; }
  .hm-dot, .hm-ring { left: -5px; top: -5px; width: 10px; height: 10px; }
  .hm-point--soon .hm-dot { left: -4px; top: -4px; width: 8px; height: 8px; border-width: 1.5px; }
  .hm-point--in .hm-dot { border-width: 2px; box-shadow: none; }
  .hm-point--soon b { display: none; }   /* stacked: soon labels would run through the text */
}
@media (max-width: 600px) {
  .hm-point b { display: none; }   /* labels would sit on the headline; the tag above names the desks */
}

/* --- Brand film (logo animation video) + counters --- */
.brand-band { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.brand-film { position: relative; margin: 0; width: 100%; max-width: 520px; aspect-ratio: 1 / 1; border-radius: var(--radius-xl); overflow: hidden; background: #F3F6FA; border: 1px solid var(--line); box-shadow: var(--shadow); }
.brand-film__video { display: block; width: 100%; height: 100%; object-fit: cover; }
.brand-film__replay {
  position: absolute; right: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 8px;
  min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line-2);
  background: rgba(255,255,255,.92); color: var(--navy); font-size: 14px; font-weight: 500;
  transition: border-color .2s, background-color .2s;
}
.brand-film__replay:hover { border-color: var(--navy); background: #fff; }
.brand-film__replay svg { width: 16px; height: 16px; }
.brand-band__copy { display: grid; gap: 18px; align-content: start; }
.brand-band__copy h2 { font-size: clamp(28px, 3.1vw, 42px); text-wrap: balance; }
.brand-band__copy h2 .accent { display: block; color: var(--orange); }
.brand-band__copy p { color: var(--text-2); font-size: 16.5px; max-width: 54ch; }
.brand-band__copy .brand-band__lead { font-size: clamp(17px, 1.35vw, 19px); line-height: 1.55; color: var(--navy); max-width: 46ch; }
.split { display: grid; grid-template-columns: 1fr 1fr; border-radius: 18px; overflow: hidden; border: 1px solid var(--line); box-shadow: 0 16px 32px -28px rgba(16,46,73,.4); }
.split__col { padding: 16px 18px 18px; background: var(--surface); }
.split__col--we { background: linear-gradient(160deg, #143A5C, var(--navy)); color: #fff; }
.split__tag { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 12.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-ink); }
.split__tag svg { width: 16px; height: 16px; }
.split__col--we .split__tag { color: var(--orange-soft); }
.split__col ul { list-style: none; display: grid; gap: 7px; }
.split__col li { position: relative; padding-left: 20px; font-size: 14.5px; line-height: 1.45; color: var(--navy); }
.split__col li::before { content: ""; position: absolute; left: 2px; top: .5em; width: 8px; height: 8px; border-radius: 50%; border: 2px solid var(--blue); }
.split__col--we li { color: #E8F1F7; }
.split__col--we li::before { border-color: var(--orange-soft); background: var(--orange-soft); }
@media (max-width: 480px) { .split { grid-template-columns: 1fr; } }
.counters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 6px 0 0; }
.counter { --tone: var(--orange); --tint: var(--peach); position: relative; overflow: hidden; display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 10px;
  padding: 20px 18px 18px; background: var(--surface); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 1px 2px rgba(16,46,73,.04), 0 16px 32px -26px rgba(16,46,73,.35); }
.counter::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--tone); }
.counter::after { content: ""; position: absolute; right: -36px; top: -36px; width: 110px; height: 110px; border-radius: 50%; background: radial-gradient(circle, var(--tint), transparent 70%); pointer-events: none; }
.counter--b { --tone: var(--blue); --tint: #DDEFF6; }
.counter--g { --tone: var(--green); --tint: var(--mint); }
.counter dd { position: relative; z-index: 1; margin: 0; display: flex; align-items: baseline; gap: 5px; font-size: clamp(34px, 3.2vw, 44px); font-weight: 600; line-height: 1; letter-spacing: -.03em; color: var(--navy); font-variant-numeric: tabular-nums; }
.counter dd small { font-size: 15px; font-weight: 500; letter-spacing: 0; color: var(--tone); }
.counter--o dd small { color: var(--orange-ink); }
.counter--b dd small { color: var(--blue-ink); }
.counter dt { position: relative; z-index: 1; display: grid; gap: 4px; }
.counter dt b { font-size: 14px; font-weight: 500; color: var(--navy); line-height: 1.35; }
.counter dt > span { font-size: 12.5px; line-height: 1.45; color: var(--text-2); }
.counter__live { display: inline-flex !important; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
.counter__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px rgba(21,124,103,.16); flex: none; }
.counter__live.is-closed .counter__dot { background: #9AA8B4; box-shadow: 0 0 0 3px rgba(154,168,180,.2); }
.counter__meta::before { content: "· "; }
.counter__live [data-desk-label] { color: var(--navy); font-weight: 500; }
/* destination desks strip */
.desk-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding-top: 16px; border-top: 1px solid var(--line); }
.desk-row__label { font-size: 12.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); margin-right: 2px; }
.desk-chip { display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px 6px 9px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line-2); font-size: 13.5px; font-weight: 500; color: var(--navy); }
.desk-chip i { width: 8px; height: 8px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 3px rgba(8,126,160,.16); }
.desk-chip--vn i { background: var(--green); box-shadow: 0 0 0 3px rgba(21,124,103,.16); }
.desk-chip em { font-style: normal; font-size: 12px; font-weight: 500; padding: 1px 7px; border-radius: 999px; background: var(--mint); color: var(--green); }
.desk-row__soon { font-size: 13px; color: var(--text-2); }
@media (max-width: 640px) {
  .counters { grid-template-columns: 1fr; gap: 10px; }
  .counter { flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: 16px; padding: 16px 16px 16px 18px; }
  .counter dd { flex: none; min-width: 88px; font-size: 34px; }
  .counter dt { flex: 1; min-width: 0; }
}

/* --- How it works: steps beside the example chat --- */
.how-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.steps--stack { grid-template-columns: 1fr; gap: 30px; }

/* --- How it works v2 --- */
.panel--how { position: relative; overflow: hidden; isolation: isolate;
  background: radial-gradient(70% 90% at 100% 0%, rgba(255,243,232,.9), rgba(255,243,232,0) 60%), linear-gradient(180deg, #F1F7FA, #EAF3F8); }
.panel--how::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: radial-gradient(rgba(16,46,73,.07) 1px, transparent 1px); background-size: 18px 18px;
  -webkit-mask-image: linear-gradient(120deg, #000, transparent 55%); mask-image: linear-gradient(120deg, #000, transparent 55%); }
.how-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 16px clamp(24px, 4vw, 56px); align-items: end; margin-bottom: clamp(28px, 3.6vw, 48px); }
.how-head h2 { margin-top: 12px; font-size: clamp(28px, 3vw, 40px); line-height: 1.12; letter-spacing: -.02em; font-weight: 500; }
.how-head h2 .accent { display: block; color: var(--orange); }
.how-head p { font-size: 16px; line-height: 1.6; color: var(--text-2); max-width: 44ch; }
.how-flow { display: grid; gap: 28px; }
.flow { list-style: none; display: grid; gap: 0; position: relative; }
.flow__step { position: relative; display: grid; grid-template-columns: 44px 1fr; gap: 18px; padding-bottom: 26px; }
.flow__step:last-child { padding-bottom: 0; }
.flow__step:not(:last-child)::before { content: ""; position: absolute; left: 21px; top: 46px; bottom: 4px; width: 2px; background: linear-gradient(180deg, var(--orange), rgba(215,106,23,.15)); border-radius: 2px; }
.flow__n { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-size: 16px; font-weight: 600; color: var(--orange-ink); background: var(--surface); border: 2px solid var(--orange); box-shadow: 0 6px 16px -8px rgba(215,106,23,.6); }
.flow__step:last-child .flow__n { background: var(--navy); border-color: var(--navy); color: #fff; box-shadow: 0 6px 16px -8px rgba(16,46,73,.7); }
.flow__body { display: grid; gap: 6px; justify-items: start; padding-top: 2px; }
.flow__who { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; }
.flow__who--you { color: var(--blue-ink); background: #fff; border: 1px solid #D6E6EF; }
.flow__who--desk { color: #fff; background: var(--navy); }
.flow__body h3 { font-size: 19px; font-weight: 500; line-height: 1.3; }
.flow__body p { font-size: 15px; line-height: 1.55; color: var(--text-2); max-width: 44ch; }
.how-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; padding-left: 62px; }
.ops-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.ops-progress span { position: relative; display: grid; gap: 7px; font-size: 12px; color: var(--text-2); }
.ops-progress span::before { content: ""; height: 5px; border-radius: 3px; background: #E3EBF0; }
.ops-progress span::after { content: ""; position: absolute; left: 0; top: 0; height: 5px; width: var(--fill, 100%); border-radius: 3px; background: var(--green); transition: width 1.6s cubic-bezier(.4,0,.2,1); }
.ops-progress b { font-weight: 500; }
.ops-progress .is-now b, .ops-progress .is-done b { color: var(--navy); }
.ops-step__n svg { width: 16px; height: 16px; }
.ops-step__s--brand { color: var(--orange-ink); background: var(--peach); }
/* synced step animation (only when motion is allowed; otherwise everything shows complete) */
.flow__step:not(:last-child)::after { content: ""; position: absolute; left: 21px; top: 46px; width: 2px; height: 0; background: var(--orange); border-radius: 2px; }
.js-motion [data-how] .flow__step:not(:last-child)::before { background: #E6D6C8; }
.js-motion [data-how] .flow__step { transition: opacity .5s ease; }
.js-motion [data-how].is-live .flow__step { opacity: .45; }
.js-motion [data-how].is-live .flow__step.is-active, .js-motion [data-how].is-live .flow__step.is-done { opacity: 1; }
.js-motion [data-how] .flow__step.is-done:not(:last-child)::after { height: calc(100% - 50px); transition: height .9s cubic-bezier(.4,0,.2,1); }
.js-motion [data-how] .flow__n { transition: background .35s ease, color .35s ease, transform .35s ease; }
.js-motion [data-how] .flow__step.is-active .flow__n { background: var(--orange); color: #fff; transform: scale(1.06); animation: how-ring 1.6s ease-out infinite; }
.js-motion [data-how] .flow__step:last-child.is-active .flow__n { background: var(--navy); animation-name: how-ring-navy; }
.js-motion [data-how] .flow__step.is-done .flow__n { background: var(--orange); color: #fff; }
.js-motion [data-how] .flow__step:last-child.is-done .flow__n { background: var(--navy); }
@keyframes how-ring { 0% { box-shadow: 0 0 0 0 rgba(215,106,23,.45); } 100% { box-shadow: 0 0 0 12px rgba(215,106,23,0); } }
@keyframes how-ring-navy { 0% { box-shadow: 0 0 0 0 rgba(16,46,73,.45); } 100% { box-shadow: 0 0 0 12px rgba(16,46,73,0); } }
.js-motion [data-how].is-live .ops-progress span::after { --fill: 0%; }
.js-motion [data-how].is-live .ops-progress span.is-now::after, .js-motion [data-how].is-live .ops-progress span.is-done::after { --fill: 100%; }
.js-motion [data-how].is-live .ops-progress span.is-now::after { background: linear-gradient(90deg, var(--green), #2FA487); }
@media (max-width: 640px) { .flow__step:not(:last-child)::after { left: 18px; top: 40px; } .js-motion [data-how] .flow__step.is-done:not(:last-child)::after { height: calc(100% - 44px); } }
/* example card: brief -> quote -> on the ground panels */
.ops-stage { display: grid; gap: 14px; }
.ops-panel { display: grid; gap: 10px; align-content: start; }
.ops-panel__label { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-ink); }
.ops-panel__label svg { width: 15px; height: 15px; }
.ops-panel--brief .ops-panel__label svg { color: #1FA855; }
.ops-panel__note { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; color: var(--green); font-weight: 500; }
.ops-panel__note svg { width: 15px; height: 15px; flex: none; }
.brief-msg { position: relative; justify-self: start; max-width: 100%; padding: 12px 14px 22px; border-radius: 14px 14px 14px 4px; background: #E7F6EC; border: 1px solid #CFEBDA; font-size: 13.5px; line-height: 1.45; color: var(--navy); }
.brief-msg p { margin-bottom: 6px; }
.brief-msg ul { list-style: none; display: grid; gap: 3px; }
.brief-msg li { display: grid; grid-template-columns: 66px 1fr; gap: 8px; }
.brief-msg li b { font-weight: 500; color: var(--text-2); font-size: 12.5px; }
.brief-msg__time { position: absolute; right: 10px; bottom: 5px; display: inline-flex; align-items: center; font-size: 12px; color: var(--text-2); }
.brief-msg__time svg { width: 12px; height: 12px; color: var(--blue); margin-left: -4px; }
.brief-msg__time svg:first-of-type { margin-left: 4px; }
.mini-quote { list-style: none; display: grid; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.mini-quote li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 12px; font-size: 13.5px; color: var(--navy); border-top: 1px solid var(--line); }
.mini-quote li:first-child { border-top: 0; }
.mini-quote em { font-style: normal; font-size: 12px; font-weight: 600; color: var(--green); background: var(--mint); padding: 2px 8px; border-radius: 6px; white-space: nowrap; }
.mini-quote .is-fee { background: #FFFAF4; }
.mini-quote .is-fee em { color: var(--orange-ink); background: var(--peach); }
/* animated: panels share one cell, only the current stage shows */
.js-motion [data-how].is-live .ops-stage { grid-template-areas: "p"; }
.js-motion [data-how].is-live .ops-panel { grid-area: p; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .45s ease, transform .45s cubic-bezier(.2,.8,.3,1), visibility 0s linear .45s; }
.js-motion [data-how].is-live:not(.s2):not(.s3) .ops-panel--brief,
.js-motion [data-how].is-live.s2 .ops-panel--quote,
.js-motion [data-how].is-live.s3 .ops-panel--ground { opacity: 1; visibility: visible; transform: none; transition: opacity .45s ease .15s, transform .45s cubic-bezier(.2,.8,.3,1) .15s, visibility 0s; }
.js-motion [data-how].is-live .brief-msg li, .js-motion [data-how].is-live .mini-quote li, .js-motion [data-how].is-live .ops-step { opacity: 0; transform: translateY(6px); transition: opacity .4s ease, transform .4s ease; }
.js-motion [data-how].is-live.s1 .brief-msg li, .js-motion [data-how].is-live.s2 .mini-quote li, .js-motion [data-how].is-live.s3 .ops-step { opacity: 1; transform: none; }
.js-motion [data-how].is-live .brief-msg li:nth-child(2), .js-motion [data-how].is-live .mini-quote li:nth-child(2), .js-motion [data-how].is-live .ops-step:nth-child(2) { transition-delay: .35s; }
.js-motion [data-how].is-live .brief-msg li:nth-child(3), .js-motion [data-how].is-live .mini-quote li:nth-child(3), .js-motion [data-how].is-live .ops-step:nth-child(3) { transition-delay: .6s; }
.js-motion [data-how].is-live .brief-msg li:nth-child(4), .js-motion [data-how].is-live .mini-quote li:nth-child(4) { transition-delay: .85s; }
.js-motion [data-how].is-live .ops-panel__note { opacity: 0; transition: opacity .4s ease; }
.js-motion [data-how].is-live.s1 .ops-panel--brief .ops-panel__note, .js-motion [data-how].is-live.s2 .ops-panel--quote .ops-panel__note, .js-motion [data-how].is-live.s3 .ops-panel--ground .ops-panel__note { opacity: 1; transition-delay: 1.3s; }
/* static (reduced motion): show the three panels one after another, with dividers */
.ops-panel + .ops-panel { padding-top: 14px; border-top: 1px dashed var(--line-2); }
.js-motion [data-how].is-live .ops-panel + .ops-panel { padding-top: 0; border-top: 0; }
@media (max-width: 1024px) { .how-head { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .how-cta { padding-left: 0; } .flow__step { grid-template-columns: 38px 1fr; gap: 14px; } .flow__n { width: 38px; height: 38px; font-size: 15px; } .flow__step:not(:last-child)::before { left: 18px; top: 40px; } }

/* --- Hero chat sits in the hero stage; the ops card moves to "How it works" --- */
.preview-stage { padding-top: clamp(24px, 3vw, 40px); }
.preview-stage .chat__viewport { height: 330px; }
.preview-stage .chat__cap { margin-top: 4px; }
.how-grid .ops-card { width: 100%; max-width: 540px; justify-self: center; }

/* --- Example chat (from the hero chat animation) --- */
.chat { position: relative; margin: 0; display: grid; justify-items: center; gap: 12px; isolation: isolate; }
.chat__halo { position: absolute; z-index: -1; width: 78%; height: 72%; top: 10%; border-radius: 50%; background: radial-gradient(circle, rgba(215,106,23,.17), rgba(8,126,160,.07) 55%, transparent 72%); filter: blur(28px); pointer-events: none; }
.chat__card { position: relative; width: 100%; max-width: 470px; background: var(--surface); border: 1px solid #DCE7EE; border-radius: 20px; box-shadow: var(--shadow-l); overflow: hidden; }
.js-motion .chat__halo { animation: rtd-halo 7s ease-in-out infinite; }
.js-motion .chat__card { animation: rtd-float 6.5s ease-in-out infinite; }
@keyframes rtd-halo { 0%, 100% { opacity: .55; transform: scale(1); } 50% { opacity: 1; transform: scale(1.06); } }
@keyframes rtd-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.chat__head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, var(--pale-blue), var(--surface)); }
.chat__avatar { width: 38px; height: 38px; flex: none; border-radius: 50%; background: var(--surface); border: 1px solid var(--line); display: grid; place-items: center; }
.chat__avatar img { width: 26px; height: 26px; object-fit: contain; }
.chat__who { display: grid; gap: 2px; min-width: 0; }
.chat__who strong { font-size: 14.5px; font-weight: 500; line-height: 1.3; }
.chat__status { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 7px; font-size: 12.5px; color: var(--text-2); }
.chat__status [data-desk-label] { color: var(--navy); font-weight: 500; }
.chat__status-meta::before { content: "· "; }
.chat__status.is-closed .desk-status__dot { background: #9AA8B4; }
.chat__status.is-closed .desk-status__dot::after { display: none; }
.chat__head .tag-example { margin-left: auto; flex: none; }
.chat__viewport { position: relative; height: 400px; overflow: hidden; background: #FAFBFC; }
.chat__viewport::before { content: ""; position: absolute; z-index: 2; inset: 0 0 auto; height: 56px; background: linear-gradient(#FAFBFC, rgba(250,251,252,0)); pointer-events: none; }
.chat__thread { list-style: none; position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; gap: 10px; padding: 16px; transition: opacity .5s ease; }
.chat .bubble { max-width: 84%; padding: 10px 14px; border-radius: 16px; font-size: 14.5px; line-height: 1.55; }
.chat .bubble small { display: block; margin-bottom: 2px; font-size: 12px; font-weight: 500; color: var(--text-2); }
.chat .bubble--agent { align-self: flex-end; background: #E6F2EC; border-bottom-right-radius: 4px; }
.chat .bubble--desk { align-self: flex-start; background: #E8F2F7; border-bottom-left-radius: 4px; }
.chat__file { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding: 8px 10px; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; }
.chat__file svg { width: 22px; height: 22px; flex: none; color: var(--orange); }
.chat__file span { display: grid; min-width: 0; }
.chat__file b { font-size: 13px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chat__file small { margin: 0 !important; font-weight: 400 !important; }
.chat__chip { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: var(--mint); border: 1px solid #CFE5DC; color: var(--green); font-size: 13px; font-weight: 500; }
.chat__chip svg { width: 14px; height: 14px; }
.chat__typing { align-self: flex-start; display: flex; gap: 5px; padding: 14px 15px; border-radius: 16px 16px 16px 4px; background: #E8F2F7; }
.chat__typing i { width: 6px; height: 6px; border-radius: 50%; background: var(--orange); animation: rtd-dot 1s ease-in-out infinite; }
.chat__typing i:nth-child(2) { animation-delay: .15s; }
.chat__typing i:nth-child(3) { animation-delay: .3s; }
.chat__thread > .is-new { animation: rtd-chat-in .5s cubic-bezier(.2,.8,.3,1) both; }
@keyframes rtd-dot { 0%, 100% { transform: translateY(0); opacity: .45; } 50% { transform: translateY(-4px); opacity: 1; } }
@keyframes rtd-chat-in { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } }
.chat__composer { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-top: 1px solid var(--line); font-size: 14px; color: var(--text-2); }
.chat__composer > span:first-child { flex: 1; }
.chat__send { width: 32px; height: 32px; border-radius: 9px; background: var(--navy); color: #fff; display: grid; place-items: center; }
.chat__send svg { width: 15px; height: 15px; }
.chat__cap { font-size: 12.5px; color: var(--text-2); text-align: center; }

@media (max-width: 1024px) {
  .brand-band { grid-template-columns: 1fr; }
  .brand-film { max-width: 440px; }
  .how-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .chat__viewport { height: 430px; }
  .chat .bubble { max-width: 90%; font-size: 14.5px; }
  .counter { padding: 18px 14px 16px; }
  .counter dd { font-size: 32px; }
}
@media (max-width: 480px) {
  .chat__status-meta { display: none; }
  .chat__who strong { font-size: 14px; }
  .chat__head { padding: 12px 14px; gap: 10px; }
}
@media (max-width: 380px) {
}

/* ---------------- Reduced motion ---------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .desk-status__dot::after { display: none; }
}

.nowrap { white-space: nowrap; }

/* ================= How it works page ================= */
.hw-head h1 .accent { display: block; color: var(--orange); }
.hw-jump { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.hw-jump a { font-size: 14px; font-weight: 500; color: var(--navy); text-decoration: none; padding: 8px 14px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line-2); transition: border-color .2s ease, background .2s ease; }
.hw-jump a:hover { border-color: var(--orange); background: var(--peach); }
.hw-section { padding: clamp(40px, 5vw, 72px) 0 0; scroll-margin-top: calc(var(--header-h) + 12px); }
/* process stages */
.hw-stages { list-style: none; display: grid; gap: 0; }
.hw-stage { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 0 20px; }
.hw-stage__rail { position: relative; display: flex; justify-content: center; }
.hw-stage__rail::before { content: ""; position: absolute; top: 52px; bottom: -8px; left: 50%; width: 2px; transform: translateX(-50%); background: linear-gradient(180deg, var(--orange), rgba(215,106,23,.15)); }
.hw-stage:last-child .hw-stage__rail::before { display: none; }
.hw-stage__n { position: relative; z-index: 1; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; font-size: 15px; font-weight: 600; color: var(--orange-ink); background: var(--surface); border: 2px solid var(--orange); box-shadow: 0 8px 18px -10px rgba(215,106,23,.6); font-variant-numeric: tabular-nums; }
.hw-stage__card { margin-bottom: 18px; padding: 20px 22px; background: var(--surface); border: 1px solid #DCE7EE; border-radius: 18px; box-shadow: 0 1px 2px rgba(16,46,73,.04), 0 18px 36px -30px rgba(16,46,73,.4); display: grid; gap: 8px; }
.hw-stage__top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.hw-stage__icon { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: var(--peach); color: var(--orange); }
.hw-stage__icon svg { width: 18px; height: 18px; }
.hw-stage__kicker { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-ink); }
.hw-stage__when { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--text-2); padding: 4px 10px; border-radius: 999px; background: var(--pale-blue); }
.hw-stage__when svg { width: 13px; height: 13px; color: var(--blue); }
.hw-stage__card h3 { font-size: 20px; font-weight: 500; }
.hw-stage__card p { font-size: 15px; line-height: 1.6; color: var(--text-2); max-width: 70ch; }
.hw-stage__card ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 4px; }
.hw-stage__card li { display: inline-flex; align-items: flex-start; gap: 7px; font-size: 14px; color: var(--navy); }
.hw-stage__card li svg { width: 16px; height: 16px; margin-top: 2px; color: var(--green); flex: none; }
/* plans */
.hw-plans { display: grid; gap: 20px; }
.hw-plan { background: var(--surface); border: 1px solid #DCE7EE; border-radius: 22px; overflow: hidden; box-shadow: 0 1px 2px rgba(16,46,73,.04), 0 24px 48px -36px rgba(16,46,73,.45); scroll-margin-top: calc(var(--header-h) + 12px); }
.hw-plan--featured { border-color: #F1D2B4; }
.hw-plan--featured .hw-plan__head { background: linear-gradient(135deg, #FFF6EE, #FFFFFF 70%); }
.hw-plan__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 20px 36px; align-items: start; padding: 24px 26px; border-bottom: 1px solid var(--line); }
.hw-plan__head > div { display: grid; gap: 8px; justify-items: start; }
.hw-plan__head h3 { font-size: 24px; font-weight: 500; }
.hw-plan__head p { font-size: 15px; line-height: 1.6; color: var(--text-2); max-width: 56ch; }
.hw-price, .hw-tiers { width: 100%; border-collapse: collapse; font-size: 14px; }
.hw-price th, .hw-price td, .hw-tiers th, .hw-tiers td { padding: 9px 12px; text-align: left; border-top: 1px solid var(--line); }
.hw-price thead th, .hw-tiers thead th { border-top: 0; font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-ink); background: var(--pale-blue); }
.hw-price tbody th, .hw-tiers tbody th { font-weight: 400; color: var(--text-2); }
.hw-price td, .hw-tiers td { font-weight: 600; color: var(--navy); font-variant-numeric: tabular-nums; white-space: nowrap; }
.hw-price { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; border-collapse: separate; border-spacing: 0; }
.hw-tier-wrap { padding: 20px 26px 0; overflow-x: auto; }
.hw-tiers { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; border-collapse: separate; border-spacing: 0; min-width: 560px; }
.hw-tiers thead th:not(:first-child) { color: var(--orange-ink); background: #FFF3E8; }
.hw-plan__body { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 24px 36px; padding: 22px 26px; }
.hw-plan__body h4 { font-size: 13px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-ink); margin-bottom: 12px; }
.hw-flow { list-style: none; display: grid; gap: 10px; counter-reset: none; }
.hw-flow li { display: grid; grid-template-columns: 26px 1fr; gap: 12px; align-items: start; font-size: 14.5px; line-height: 1.5; color: var(--navy); }
.hw-flow li span { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: 12.5px; font-weight: 600; color: #fff; background: var(--navy); }
.hw-notes { list-style: none; display: grid; gap: 10px; }
.hw-notes li { display: flex; gap: 9px; align-items: flex-start; font-size: 14.5px; line-height: 1.5; color: var(--navy); }
.hw-notes svg { width: 17px; height: 17px; margin-top: 2px; color: var(--green); flex: none; }
.hw-plan__foot { padding: 0 26px 22px; }
/* roles */
.hw-roles { overflow-x: auto; border: 1px solid #DCE7EE; border-radius: 18px; background: var(--surface); }
.hw-roles table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 14.5px; }
.hw-roles th, .hw-roles td { padding: 13px 18px; text-align: left; border-top: 1px solid var(--line); vertical-align: top; }
.hw-roles thead th { border-top: 0; font-size: 12.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-ink); background: var(--pale-blue); }
.hw-roles tbody th { font-weight: 500; color: var(--navy); width: 34%; }
.hw-roles td { color: var(--text-2); }
.hw-roles td.is-you { color: var(--blue-ink); font-weight: 500; }
.hw-roles td.is-desk { color: var(--orange-ink); font-weight: 500; }
/* faq */
.hw-faq { display: grid; gap: 10px; max-width: 880px; }
.hw-faq details { background: var(--surface); border: 1px solid #DCE7EE; border-radius: 14px; padding: 0 18px; }
.hw-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; font-size: 16px; font-weight: 500; color: var(--navy); }
.hw-faq summary::-webkit-details-marker { display: none; }
.hw-faq summary::after { content: "+"; flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: 18px; color: var(--orange-ink); background: var(--peach); transition: transform .2s ease; }
.hw-faq details[open] summary::after { transform: rotate(45deg); }
.hw-faq summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 8px; }
.hw-faq details p { padding: 0 0 16px; font-size: 15px; line-height: 1.6; color: var(--text-2); max-width: 72ch; }
#how-it-works .plans-offer, .hw-section + .plans-offer { margin-top: clamp(40px, 5vw, 64px); }
@media (max-width: 900px) {
  .hw-plan__head, .hw-plan__body { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .hw-stage { grid-template-columns: 40px minmax(0, 1fr); gap: 0 12px; }
  .hw-stage__n { width: 40px; height: 40px; font-size: 13px; }
  .hw-stage__rail::before { top: 40px; }
  .hw-stage__when { margin-left: 0; }
  .hw-stage__card { padding: 16px; }
  .hw-plan__head, .hw-plan__body { padding: 18px; }
  .hw-tier-wrap { padding: 16px 18px 0; }
  .hw-plan__foot { padding: 0 18px 18px; }
}

/* Desk Plans country switch on the How it works page */
.hw-switch { display: none; gap: 8px; justify-items: end; align-self: start; }
.js .hw-switch { display: grid; }
.hw-tiers td [data-price-vn]::before { content: " / "; font-weight: 400; color: var(--text-2); }
.js .hw-tiers td [data-price-vn]::before { content: none; }
.js .hw-tiers td span { animation: price-in .35s var(--ease); }
.hw-tiers tbody tr:first-child td { font-size: 17px; color: var(--orange-ink); }
@media (max-width: 900px) { .hw-switch { justify-items: start; } }
@media (max-width: 640px) { .hw-tiers { min-width: 0; font-size: 13px; } .hw-tiers th, .hw-tiers td { padding: 8px 6px; } .hw-tiers thead th { letter-spacing: .03em; } .hw-tiers td { white-space: normal; } .hw-tiers tbody tr:first-child td { font-size: 15px; } }

/* ================= Operations board v2 ================= */
.ops-head h1 .accent { display: block; color: var(--orange); }
.ops-kpis { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 10px; border: 1px solid #DCE7EE; border-radius: 18px; overflow: hidden; background: var(--surface); box-shadow: 0 16px 32px -28px rgba(16,46,73,.4); }
.ops-kpis li { display: grid; gap: 2px; padding: 16px 20px; border-left: 1px solid var(--line); }
.ops-kpis li:first-child { border-left: 0; }
.ops-kpis b { font-size: clamp(24px, 2.2vw, 30px); font-weight: 600; line-height: 1.1; letter-spacing: -.02em; color: var(--navy); font-variant-numeric: tabular-nums; }
.ops-kpis li:nth-child(2) b { color: var(--green); }
.ops-kpis li:nth-child(3) b { color: var(--orange-ink); }
.ops-kpis span { font-size: 13px; color: var(--text-2); }
.chip--cat { display: inline-flex; align-items: center; gap: 7px; }
.chip--cat svg { width: 16px; height: 16px; color: var(--orange); flex: none; }
.chip--cat[aria-pressed="true"] svg { display: none; }
.chip__n { font-size: 12px; font-weight: 500; min-width: 20px; padding: 1px 6px; border-radius: 999px; background: var(--pale-blue); color: var(--blue-ink); text-align: center; }
.chip--cat[aria-pressed="true"] .chip__n { background: rgba(255,255,255,.18); color: #fff; }
.table-wrap { border-radius: 20px; box-shadow: 0 1px 2px rgba(16,46,73,.04), 0 24px 48px -40px rgba(16,46,73,.45); }
.op-cell { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; align-items: start; }
.op-ic { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; background: var(--peach); color: var(--orange); }
.op-ic svg { width: 19px; height: 19px; }
.op-ic--booking { background: var(--pale-blue); color: var(--blue); }
.op-ic--documents { background: #FFF3E8; color: var(--orange-ink); }
.op-ic--meals, .op-ic--groups { background: var(--mint); color: var(--green); }
.op-ic--ontrip { background: #E8EEF6; color: var(--navy); }
.ops-table .op-sum { max-width: 46ch; }
.op-dests { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 6px; font-size: 12.5px; color: var(--text-2); }
.op-dests > span { display: inline-flex; align-items: center; gap: 6px; }
.op-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); }
.op-dot--vn { background: var(--green); }
.ops-table tbody tr.ops-row { cursor: pointer; transition: background .2s ease; }
.ops-table tbody tr.ops-row:hover { background: #FBFCFD; }
.ops-table .basis { font-weight: 500; color: var(--navy); }
.ops-foot { display: flex; gap: 8px; align-items: flex-start; margin-top: 18px; }
.ops-foot svg { width: 16px; height: 16px; flex: none; margin-top: 2px; color: var(--blue); }
@media (max-width: 1100px) {
  .ops-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .ops-kpis li:nth-child(4) { border-left: 0; }
  .ops-kpis li:nth-child(n+4) { border-top: 1px solid var(--line); }
  .ops-table td.col-cat { grid-column: 2 / 3; grid-row: 1; justify-self: end; align-self: start; }
  .ops-table td.col-name { grid-column: 1 / 2; grid-row: 1; }
  .ops-table td.col-when { grid-column: 1 / 2; }
  .ops-table td.col-basis { grid-column: 2 / 3; }
  .ops-table td.col-when, .ops-table td.col-basis { padding-top: 12px; border-top: 1px dashed var(--line); }
  .ops-table tr.ops-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ops-table td.col-basis { justify-self: stretch; }
}
@media (max-width: 640px) {
  .ops-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ops-kpis li { padding: 12px 14px; border-left: 0; border-top: 1px solid var(--line); }
  .ops-kpis li:nth-child(even) { border-left: 1px solid var(--line); }
  .ops-kpis li:first-child, .ops-kpis li:nth-child(2) { border-top: 0; }
  .ops-kpis li:last-child { grid-column: 1 / -1; border-left: 0; }
  .op-cell { grid-template-columns: 36px minmax(0, 1fr); gap: 12px; }
  .op-ic { width: 36px; height: 36px; }
  .ops-table td.col-cat { display: none; }
  .ops-table td.col-name { grid-column: 1 / -1; }
}

/* operations table at mid widths: keep the name column readable */
.ops-table td.col-name { min-width: 300px; }
@media (max-width: 1280px) and (min-width: 1025px) {
  .ops-table td.col-name { min-width: 280px; }
  .ops-table .op-sum { font-size: 13px; }
  .ops-table td, .ops-table th > span, .ops-table .sort-btn { padding-left: 12px; padding-right: 12px; }
  .col-when { white-space: normal; }
}
@media (max-width: 1024px) { .ops-table td.col-name { min-width: 0; } }

/* operation details: centred pop-up on desktop, bottom sheet on phones */
dialog.drawer--modal { margin: auto; height: auto; max-height: min(86dvh, 820px); width: min(680px, calc(100vw - 48px)); border-radius: 24px; overflow: hidden; box-shadow: 0 40px 90px -30px rgba(16,46,73,.55); }
dialog.drawer--modal .drawer__head { border-radius: 24px 24px 0 0; }
.js-motion dialog.drawer--modal[open] { animation: modal-in .32s var(--ease); }
.js-motion dialog.drawer--modal.is-closing { animation: modal-out .2s ease-in forwards; }
@keyframes modal-in { from { transform: translateY(14px) scale(.97); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes modal-out { to { transform: translateY(10px) scale(.98); opacity: 0; } }
@media (max-width: 720px) {
  dialog.drawer--modal { margin: auto 0 0 0; width: 100vw; max-width: 100vw; max-height: 88dvh; border-radius: 22px 22px 0 0; }
  dialog.drawer--modal .drawer__head { position: relative; padding-top: 26px; }
  dialog.drawer--modal .drawer__head::before { content: ""; position: absolute; top: 9px; left: 50%; width: 42px; height: 5px; margin-left: -21px; border-radius: 3px; background: #D3DCE3; }
  .js-motion dialog.drawer--modal[open] { animation: sheet-in .36s var(--ease); }
  .js-motion dialog.drawer--modal.is-closing { animation: sheet-out .24s ease-in forwards; }
  dialog.drawer--modal .drawer__foot { padding-bottom: max(20px, env(safe-area-inset-bottom)); }
}
@keyframes sheet-in { from { transform: translateY(100%); } to { transform: none; } }
@keyframes sheet-out { to { transform: translateY(100%); } }

/* ================= Pricing page v2 ================= */
.pr-head h1 .accent { display: block; color: var(--orange); }
.pr-fit { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 8px; }
.pr-fit__card { position: relative; display: grid; gap: 2px; padding: 18px 20px; border-radius: 18px; background: var(--surface); border: 1px solid #DCE7EE; color: var(--navy); text-decoration: none; box-shadow: 0 16px 32px -28px rgba(16,46,73,.4); transition: transform .2s ease, border-color .2s ease; }
.pr-fit__card::before { content: ""; position: absolute; left: 0; top: 16px; bottom: 16px; width: 3px; border-radius: 0 3px 3px 0; background: var(--blue); }
.pr-fit__card--hot::before { background: var(--orange); }
.pr-fit__card:nth-child(3)::before { background: var(--navy); }
.pr-fit__card:hover { transform: translateY(-2px); border-color: #BFD3E0; }
.pr-fit__n { font-size: 26px; font-weight: 600; letter-spacing: -.02em; line-height: 1.1; }
.pr-fit__u { font-size: 13px; color: var(--text-2); }
.pr-fit__card b { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 15.5px; font-weight: 500; }
.pr-fit__card b svg { width: 14px; height: 14px; color: var(--orange); }
.pr-fit__card small { font-size: 13px; color: var(--text-2); }
.pr-included { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-bottom: 24px; padding: 14px 20px; border-radius: 16px; background: var(--mint); border: 1px solid #CFE5DC; }
.pr-included__label { font-size: 12.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--green); }
.pr-included ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; }
.pr-included li { display: inline-flex; align-items: center; gap: 7px; font-size: 14.5px; color: var(--navy); }
.pr-included svg { width: 16px; height: 16px; color: var(--green); flex: none; }
.products .product { box-shadow: 0 1px 2px rgba(16,46,73,.04), 0 24px 48px -40px rgba(16,46,73,.45); scroll-margin-top: calc(var(--header-h) + 80px); }
.kv dd { font-size: 28px; font-weight: 600; color: var(--navy); }
.tier__name { flex-direction: column; align-items: flex-start; gap: 4px; }
.tier__fit { font-style: normal; font-size: 12.5px; font-weight: 500; color: var(--orange-ink); background: var(--peach); padding: 3px 9px; border-radius: 999px; }
.tier__price { font-weight: 600; color: var(--navy); }
.rules li { font-size: 14.5px; line-height: 1.55; }
@media (max-width: 900px) { .pr-fit { grid-template-columns: 1fr; } .pr-fit__card { grid-template-columns: auto 1fr; column-gap: 12px; align-items: baseline; } .pr-fit__card b, .pr-fit__card small { grid-column: 1 / -1; } }
@media (max-width: 640px) { .pr-included ul { flex-direction: column; gap: 8px; } .kv dd { font-size: 24px; } }

/* ================= Pricing page v3 (detailed) ================= */
html:not(.js) [data-price-jp]::before { content: "JP "; font-size: .75em; color: var(--text-2); }
html:not(.js) [data-price-vn]::before { content: " · VN "; font-size: .75em; color: var(--text-2); }
.js [data-plans][data-dest="jp"] [data-price-vn], .js [data-plans][data-dest="vn"] [data-price-jp] { display: none; }
.pp-section { padding-top: clamp(40px, 5vw, 64px); scroll-margin-top: calc(var(--header-h) + 76px); }
.pp-table-wrap { overflow-x: auto; border: 1px solid #DCE7EE; border-radius: 18px; background: var(--surface); box-shadow: 0 18px 36px -32px rgba(16,46,73,.4); }
.pp-table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.pp-table th, .pp-table td { padding: 13px 16px; text-align: left; border-top: 1px solid var(--line); vertical-align: top; }
.pp-table thead th { border-top: 0; font-size: 12.5px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-ink); background: var(--pale-blue); white-space: nowrap; }
.pp-table tbody th { font-weight: 500; color: var(--navy); width: 26%; }
.pp-table td { color: var(--navy); }
.pp-table td small { display: block; font-size: 12.5px; color: var(--text-2); }
#pp-compare .pp-table { min-width: 760px; }
#pp-compare .pp-table thead th:nth-child(3) { color: var(--orange-ink); background: #FFF3E8; }
#pp-compare .pp-table td:nth-child(3) { background: #FFFBF6; }
#pp-compare .pr-included { margin: 16px 0 0; }
.pp-soon { font-style: normal; font-size: 12px; font-weight: 500; color: var(--orange-ink); background: var(--peach); padding: 2px 8px; border-radius: 999px; margin-left: 6px; white-space: nowrap; }
.pp-plan { margin-top: clamp(28px, 4vw, 48px); padding: clamp(22px, 3vw, 36px); background: var(--surface); border: 1px solid #DCE7EE; border-radius: 24px; box-shadow: 0 1px 2px rgba(16,46,73,.04), 0 28px 56px -44px rgba(16,46,73,.5); display: grid; gap: 22px; }
.pp-plan--featured { border-color: #F1D2B4; background: linear-gradient(180deg, #FFF8F1, #FFFFFF 40%); }
.pp-plan__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 16px 32px; }
.pp-plan__head > div:first-child { display: grid; gap: 8px; justify-items: start; max-width: 62ch; }
.pp-plan__head h2 { font-size: clamp(26px, 2.6vw, 34px); font-weight: 500; }
.pp-plan__head p { font-size: 15.5px; line-height: 1.6; color: var(--text-2); }
.pp-big { display: grid; justify-items: end; text-align: right; }
.pp-big b { font-size: clamp(36px, 3.4vw, 48px); font-weight: 600; letter-spacing: -.03em; line-height: 1; color: var(--navy); }
.pp-big > span { font-size: 14px; color: var(--text-2); margin-top: 4px; }
.pp-plan__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 22px; align-items: start; }
.pp-plan__grid > div:first-child { display: grid; gap: 14px; }
.pp-example { display: grid; gap: 6px; padding: 14px 16px; border-radius: 14px; background: var(--pale-blue); border: 1px dashed #BFD6E3; }
.pp-example > span { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-ink); }
.pp-example p { font-size: 14.5px; line-height: 1.55; color: var(--navy); }
.pp-pc { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pp-pc__col { padding: 16px 18px; border-radius: 16px; }
.pp-pc__col--pro { background: var(--mint); border: 1px solid #CFE5DC; }
.pp-pc__col--con { background: #FFF6EE; border: 1px solid #F2DCC6; }
.pp-pc__col h3 { font-size: 13px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px; }
.pp-pc__col--pro h3 { color: var(--green); }
.pp-pc__col--con h3 { color: var(--orange-ink); }
.pp-pc__col ul { list-style: none; display: grid; gap: 9px; }
.pp-pc__col li { display: grid; grid-template-columns: 17px 1fr; gap: 8px; font-size: 14px; line-height: 1.5; color: var(--navy); }
.pp-pc__col svg { width: 17px; height: 17px; margin-top: 2px; }
.pp-pc__col--pro svg { color: var(--green); }
.pp-pc__col--con svg { color: var(--orange); }
.pp-plan__foot { display: flex; }
.pp-plan > .pp-table-wrap .pp-table tbody tr:nth-child(2) td { font-size: 17px; font-weight: 600; color: var(--orange-ink); }
.pp-plan > .pp-table-wrap .pp-table thead th:not(:first-child) { color: var(--orange-ink); background: #FFF3E8; }
.pp-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pp-guide__card { display: grid; gap: 4px; align-content: start; padding: 20px; border-radius: 18px; background: var(--surface); border: 1px solid #DCE7EE; }
.pp-guide__card b { font-size: 34px; font-weight: 600; letter-spacing: -.02em; line-height: 1; color: var(--orange-ink); }
.pp-guide__card > span { font-size: 13px; color: var(--text-2); }
.pp-guide__card p { margin-top: 8px; font-size: 14.5px; line-height: 1.55; color: var(--navy); }
.pp-bill { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.pp-bill__card { display: grid; gap: 8px; align-content: start; padding: 20px; border-radius: 18px; background: var(--surface); border: 1px solid #DCE7EE; }
.pp-bill__ic { width: 40px; height: 40px; border-radius: 11px; display: grid; place-items: center; background: var(--peach); color: var(--orange); }
.pp-bill__ic svg { width: 19px; height: 19px; }
.pp-bill__card h3 { font-size: 17px; font-weight: 500; }
.pp-bill__card p { font-size: 14.5px; line-height: 1.55; color: var(--text-2); }
.pp-terms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; counter-reset: term; }
.pp-terms > div { padding: 20px 22px; border-radius: 18px; background: var(--surface); border: 1px solid #DCE7EE; }
.pp-terms h3 { font-size: 16px; font-weight: 500; margin-bottom: 10px; color: var(--navy); }
.pp-terms ol { list-style: none; display: grid; gap: 10px; }
.pp-terms li { counter-increment: term; display: grid; grid-template-columns: 28px 1fr; gap: 10px; font-size: 14.5px; line-height: 1.55; color: var(--navy); }
.pp-terms li::before { content: counter(term); width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 600; color: var(--blue-ink); background: var(--pale-blue); }
#pricing-scope > .plans-offer { margin-top: clamp(40px, 5vw, 64px); }
@media (max-width: 1100px) { .pp-plan__grid { grid-template-columns: 1fr; } .pp-bill { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) {
  .pp-pc, .pp-guide, .pp-bill, .pp-terms { grid-template-columns: 1fr; }
  .pp-big { justify-items: start; text-align: left; }
  .pp-table th, .pp-table td { padding: 10px 10px; font-size: 13.5px; }
  .pp-plan { padding: 18px; }
}
@media (max-width: 720px) {
  .pp-plan .pp-table th, .pp-plan .pp-table td { padding: 9px 6px; font-size: 13px; }
  .pp-plan .pp-table thead th { letter-spacing: .02em; font-size: 12px; }
  .pp-plan .pp-table tbody th { width: auto; }
  .pp-plan > .pp-table-wrap .pp-table tbody tr:nth-child(2) td { font-size: 15px; }
  #pp-compare .pp-table-wrap::after { content: "Swipe to compare →"; position: sticky; left: 0; display: block; padding: 8px 12px; font-size: 12px; color: var(--text-2); border-top: 1px solid var(--line); }
}
.pp-plan > *, .pp-plan__grid > *, .pp-plan__head > div { min-width: 0; }
.pp-plan .plan__tag { white-space: normal; line-height: 1.4; }
@media (max-width: 480px) { .pp-plan__foot .btn { width: 100%; white-space: normal; } }
/* fee tables: label left, amount right, even rows */
.pp-table--fees th, .pp-table--fees td { vertical-align: middle; padding-top: 14px; padding-bottom: 14px; }
.pp-table--fees tbody th { width: auto; font-weight: 500; }
.pp-table--fees tbody th small { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 400; color: var(--text-2); }
.pp-table--fees thead th:last-child, .pp-table--fees td:last-child { text-align: right; }
.pp-table--fees td:last-child { font-weight: 600; font-size: 16px; color: var(--navy); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pp-table--fees td:last-child small { font-size: 12.5px; font-weight: 400; color: var(--text-2); white-space: normal; }
#pp-addons .pp-table--fees td:last-child { font-size: 15px; white-space: normal; min-width: 150px; }
#pp-addons .pp-table--fees td:nth-child(2) { color: var(--text-2); }
.pp-table--fees td:not(:last-child) { color: var(--text-2); }
.pp-na { font-size: 14px; font-weight: 500; color: var(--text-2); }

/* pricing: destination picker first */
.dest-pick { display: grid; gap: 16px; margin-top: 10px; padding: clamp(18px, 2.6vw, 28px); border-radius: 24px; background: linear-gradient(135deg, #F1F7FA, #FFFFFF 55%, #FFF6EE); border: 1px solid #DCE7EE; box-shadow: 0 24px 48px -40px rgba(16,46,73,.5); }
.dest-pick__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; }
.dest-pick__head h2 { font-size: clamp(20px, 2vw, 26px); font-weight: 500; color: var(--navy); }
.dest-pick__head p { flex-basis: 100%; font-size: 14.5px; color: var(--text-2); }
.dest-pick__step { display: inline-flex; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--orange); padding: 3px 10px; border-radius: 999px; }
.dest-pick__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.dest-card { position: relative; display: grid; gap: 6px; text-align: left; padding: 20px 22px; border-radius: 18px; background: var(--surface); border: 2px solid #DCE7EE; color: var(--navy); font: inherit; cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.dest-card:hover { transform: translateY(-2px); border-color: #BFD3E0; }
.dest-card:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.dest-card[aria-checked="true"] { border-color: var(--navy); box-shadow: 0 18px 36px -24px rgba(16,46,73,.55); }
.dest-card__check { position: absolute; top: 16px; right: 16px; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; border: 2px solid #CBD8E2; color: transparent; }
.dest-card__check svg { width: 15px; height: 15px; }
.dest-card[aria-checked="true"] .dest-card__check { background: var(--navy); border-color: var(--navy); color: #fff; }
.dest-card__name { display: inline-flex; align-items: center; gap: 9px; font-size: 20px; font-weight: 500; }
.dest-card__name::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(21,124,103,.15); }
.dest-card--jp .dest-card__name::before { background: var(--blue); box-shadow: 0 0 0 4px rgba(8,126,160,.15); }
.dest-card__sub { font-size: 13.5px; color: var(--text-2); padding-right: 30px; }
.dest-card__prices { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13.5px; color: var(--text-2); }
.dest-card__prices b { font-size: 20px; font-weight: 600; color: var(--navy); margin-right: 3px; }
.dest-pick__go { justify-self: start; display: inline-flex; align-items: center; gap: 10px; font-size: 15.5px; font-weight: 500; color: var(--navy); text-decoration: none; }
.dest-pick__go:hover { text-decoration: underline; text-underline-offset: 4px; }
.dest-pick__go .dest-pick__step { background: var(--navy); }
.dest-pick__go svg { width: 15px; height: 15px; color: var(--orange); }
.pr-head .hw-jump { margin-top: 18px; }
@media (max-width: 640px) { .dest-pick__cards { grid-template-columns: 1fr; } .dest-card { padding: 16px 18px; } }

/* ===============================================================
   Contact page v3: contact details + request form
   =============================================================== */
.ct-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: 24px; align-items: start; }
.ct-main > * { min-width: 0; }
.ct-side { display: grid; gap: 16px; position: sticky; top: calc(var(--header-h) + 16px); }
.ct-channel { display: grid; grid-template-columns: 44px 1fr; gap: 16px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-l); padding: 24px; }
.ct-channel > div { min-width: 0; }
.ct-channel--wa .icon-tile { background: var(--mint); color: var(--green); }
.ct-channel__top { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.ct-channel h2 { font-size: 18px; }
.ct-channel p { font-size: 14.5px; color: var(--text-2); line-height: 1.5; }
.ct-tag { font-size: 12px; font-weight: 600; padding: 2px 9px; border-radius: 999px; background: var(--mint); color: var(--green); }
.ct-channel__v { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--line-2); font-size: 14px !important; }
.ct-channel__v a { color: var(--navy); font-weight: 600; font-size: 15.5px; text-decoration: underline; text-decoration-color: var(--line-2); text-underline-offset: 4px; overflow-wrap: anywhere; }
.ct-channel__v a:hover { text-decoration-color: var(--orange); }

.ct-formcard { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-xl); box-shadow: var(--shadow); overflow: hidden; }
.ct-formcard__head { padding: clamp(22px, 3vw, 32px) clamp(20px, 3vw, 36px) 0; }
.ct-formcard__head h2 { font-size: clamp(22px, 2.2vw, 26px); margin-bottom: 6px; }
.ct-formcard__head p { color: var(--text-2); font-size: 15px; }
.ct-form { padding: 22px clamp(20px, 3vw, 36px) 24px; }
.ct-formcard__foot { padding: 20px clamp(20px, 3vw, 36px); background: #F7F9FA; border-top: 1px solid var(--line); display: grid; gap: 12px; }

@media (max-width: 900px) {
  .ct-main { grid-template-columns: 1fr; }
  .ct-side { position: static; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .ct-side { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .ct-channel { grid-template-columns: 40px 1fr; gap: 12px; padding: 18px; }
}

/* Keep approval chips readable on narrow phones. */
.chat__chip { white-space: normal; overflow-wrap: anywhere; min-width: 0; }
.chat__chip svg { flex-shrink: 0; }
