/* ═══════════════════════════════════════════════════════════════════════════
   CABANA · THE LOCAL EFFECT
   Golden hour. Ink green, amber, terracotta and cream.
   ───────────────────────────────────────────────────────────────────────────
   This page is about people vouching for people, so it is built out of warm,
   hand-made things: an arched portal instead of a rectangle, a wax seal, a
   field note, a stamp that lands on the page. Where the other two programmes
   are lit by screens, this one is lit by late afternoon.

   The invitation panel at the foot of the page is rendered by the ambassador
   gateway script and styled by apa-ambassador.css, which is a light theme.
   Rather than fight it, .amb-access re-points that theme's own custom
   properties at this palette — one block of variables, and every control the
   gateway can render arrives already dressed for this room.
   ═══════════════════════════════════════════════════════════════════════════ */

[data-programme='ambassador'] {
  --pg-bg: #07160f;
  --pg-bg-2: #0d2418;
  --pg-surface: rgba(255, 226, 170, .06);
  --pg-surface-2: rgba(255, 226, 170, .11);
  --pg-text: #fdf4e3;
  --pg-muted: rgba(253, 244, 227, .68);
  --pg-faint: rgba(253, 244, 227, .42);
  --pg-accent: #ff9e2c;
  --pg-accent-2: #e0603a;
  --pg-accent-3: #ffd27a;
  --pg-line: rgba(255, 210, 122, .18);
  --pg-line-strong: rgba(255, 210, 122, .36);
  --pg-on-accent: #24120a;

  --pg-display: 'Fraunces Variable', 'Bricolage Grotesque', Georgia, serif;
  --pg-grain-opacity: .07;
  --pg-grain-blend: soft-light;
  --pg-ambient-still: url('/assets/programmes/ambassador-ambient.jpg');

  --amb-paper: #fdf3e0;
  --amb-ink: #1d3126;

  background:
    radial-gradient(110% 72% at 82% -6%, rgba(255, 158, 44, .22), transparent 62%),
    radial-gradient(86% 58% at 2% 10%, rgba(224, 96, 58, .16), transparent 60%),
    var(--pg-bg);
}

/* Fraunces has an optical-size and a softness axis; leaning on both is what
   stops a serif this large from feeling like a newspaper. */
[data-programme='ambassador'] h1,
[data-programme='ambassador'] h2,
[data-programme='ambassador'] h3 {
  font-weight: 700;
  letter-spacing: -.03em;
  font-variation-settings: 'SOFT' 40, 'WONK' 1, 'opsz' 120;
}

/* ══ HERO ════════════════════════════════════════════════════════════════ */
.amb-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(36px, 5vw, 76px) clamp(48px, 6vw, 96px);
  min-height: min(86vh, 900px);
  display: flex;
  align-items: center;
}
.amb-hero-bed { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.amb-hero-bed .pg-ambient-still { opacity: .46; filter: blur(3px) saturate(1.1); }
.amb-hero-bed .pg-ambient { --pg-ambient-opacity: .52; }
.amb-hero-bed::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 22, 15, .3) 0%, rgba(7, 22, 15, .06) 40%, var(--pg-bg) 98%);
}
.amb-ripples { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .85; }

.amb-hero-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .84fr);
  align-items: center;
  gap: clamp(30px, 5vw, 78px);
}
.amb-title {
  margin: 20px 0 0;
  font-size: clamp(50px, 10.6vw, 152px);
  line-height: .86;
}
.amb-title > span { display: block; }
.amb-title-row { display: block; white-space: nowrap; }
.amb-title-row .amb-title-em { display: inline-block; }
.amb-title-em {
  font-style: italic;
  font-variation-settings: 'SOFT' 90, 'WONK' 1, 'opsz' 144;
  background: linear-gradient(96deg, #ffd27a 6%, #ff9e2c 42%, #e0603a 82%, #ffd27a 100%);
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: amb-glow 10s linear infinite;
}
@keyframes amb-glow { to { background-position: 220% 0; } }
.amb-title-row em { font-style: normal; color: var(--pg-accent-2); }
.amb-lede {
  margin-top: clamp(18px, 2.4vw, 28px);
  font-size: clamp(16px, 1.5vw, 20px);
  line-height: 1.5;
  color: var(--pg-muted);
  max-width: 34ch;
}
.amb-lede strong { color: var(--pg-accent-3); font-weight: 600; }
.amb-invitation-note { margin-top: 20px; }

/* ── The portal ───────────────────────────────────────────────────────── */
.amb-hero-art { position: relative; min-width: 0; width: min(100%, 470px); margin-inline: auto; display: grid; justify-items: center; }
.amb-portal {
  position: relative;
  width: min(100%, 420px);
  border-radius: 50% 50% 14px 14px / 34% 34% 14px 14px;
  overflow: hidden;
  border: 1px solid var(--pg-line-strong);
  box-shadow: 0 50px 110px -44px rgba(0, 0, 0, .88), 0 0 0 9px rgba(255, 210, 122, .07);
  transition: transform .6s var(--pg-ease);
}
.amb-portal img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: 50% 32%;
  filter: saturate(1.08) contrast(1.03);
}
.amb-portal figcaption {
  position: absolute;
  inset: auto 0 0;
  padding: clamp(40px, 6vw, 68px) clamp(18px, 2.4vw, 28px) clamp(18px, 2.4vw, 26px);
  background: linear-gradient(180deg, transparent, rgba(7, 22, 15, .9) 64%);
  text-align: center;
}
.amb-portal figcaption span {
  display: block;
  font: 600 10px/1 var(--pg-body);
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--pg-accent-3);
  margin-bottom: 8px;
}
.amb-portal figcaption strong {
  display: block;
  font-family: var(--pg-display);
  font-size: clamp(22px, 2.6vw, 32px);
  font-weight: 700;
  font-style: italic;
  letter-spacing: -.02em;
}

/* The seal. Type on a circle, rotating slowly, the way a stamp would if you
   spun it between two fingers. */
.amb-seal {
  position: absolute;
  right: clamp(-14px, -1.4vw, -6px);
  top: clamp(-18px, -2vw, -8px);
  width: clamp(92px, 11vw, 132px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
}
.amb-seal-ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  animation: amb-rotate 26s linear infinite;
}
.amb-seal-ring text {
  font: 600 13px var(--pg-body);
  letter-spacing: .16em;
  fill: var(--pg-accent-3);
  text-transform: uppercase;
}
@keyframes amb-rotate { to { rotate: 360deg; } }
.amb-seal-core {
  display: grid;
  place-items: center;
  width: 54%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--pg-accent);
  color: var(--pg-on-accent);
  font-size: 22px;
  font-weight: 700;
  box-shadow: 0 14px 34px -10px rgba(255, 158, 44, .8);
}
.amb-note-card {
  position: absolute;
  left: clamp(-18px, -2vw, -6px);
  bottom: clamp(18px, 3vw, 46px);
  max-width: 190px;
  padding: 14px 16px;
  background: var(--amb-paper);
  color: var(--amb-ink);
  font: 500 13px/1.42 var(--pg-body);
  border-radius: 3px;
  rotate: -4deg;
  box-shadow: 0 18px 42px -16px rgba(0, 0, 0, .8);
  animation: amb-sway 7s var(--pg-ease-glide) infinite alternate;
}
.amb-note-card b {
  display: block;
  font: 700 9px/1 var(--pg-body);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--pg-accent-2);
  margin-bottom: 7px;
}
@keyframes amb-sway {
  from { rotate: -4deg; translate: 0 0; }
  to   { rotate: -1.5deg; translate: 0 -8px; }
}

.amb-marquee {
  --pg-marquee-speed: 44s;
  background: linear-gradient(90deg, rgba(255, 158, 44, .1), rgba(224, 96, 58, .1));
}
.amb-marquee .pg-marquee-track > * {
  font-family: var(--pg-display);
  font-style: italic;
  font-size: clamp(15px, 1.7vw, 22px);
  letter-spacing: -.01em;
  text-transform: none;
  color: var(--pg-text);
}

/* ══ SECTION HEADS ═══════════════════════════════════════════════════════ */
.amb-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: end;
  gap: clamp(18px, 3vw, 54px);
  margin-bottom: clamp(30px, 4vw, 58px);
}
.amb-section-head h2 {
  margin-top: 16px;
  font-size: clamp(34px, 5.4vw, 76px);
  line-height: .92;
}
.amb-section-head h2 span {
  font-style: italic;
  color: var(--pg-accent-3);
  font-variation-settings: 'SOFT' 90, 'WONK' 1, 'opsz' 120;
}
.amb-effect-section,
.amb-guide-section,
.amb-clocks-section,
.amb-terms-section { position: relative; padding-block: var(--pg-section); }
.amb-guide-section {
  border-block: 1px solid var(--pg-line);
  background:
    radial-gradient(66% 52% at 88% 8%, rgba(255, 158, 44, .13), transparent 64%),
    radial-gradient(58% 46% at 4% 94%, rgba(224, 96, 58, .12), transparent 62%);
}

/* ══ THE RIPPLE MAP ══════════════════════════════════════════════════════ */
.amb-effect {
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, .7fr);
  gap: clamp(16px, 2vw, 28px);
  align-items: stretch;
}
.amb-effect-stage {
  position: relative;
  border: 1px solid var(--pg-line);
  border-radius: 20px;
  overflow: hidden;
  background:
    radial-gradient(76% 60% at 52% 42%, rgba(255, 158, 44, .13), transparent 68%),
    linear-gradient(170deg, rgba(18, 44, 30, .9), rgba(6, 17, 12, .96));
  box-shadow: 0 44px 100px -50px rgba(255, 158, 44, .5);
}
.amb-effect-stage canvas { width: 100%; aspect-ratio: 1280 / 820; }
.amb-effect-hud {
  position: absolute;
  inset: auto 16px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  font: 600 9.5px/1 var(--pg-body);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--pg-faint);
}
.amb-effect-city { color: var(--pg-accent-3); }
.amb-effect-panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: clamp(18px, 2.2vw, 26px);
  border: 1px solid var(--pg-line);
  border-radius: 20px;
  background: linear-gradient(170deg, rgba(20, 48, 32, .82), rgba(7, 20, 14, .92));
}
.amb-effect-go { width: 100%; }
.amb-tally { display: grid; gap: 1px; background: var(--pg-line); border: 1px solid var(--pg-line); border-radius: 12px; overflow: hidden; }
.amb-tally > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 15px;
  background: rgba(7, 20, 14, .86);
}
.amb-tally dt { font-size: 12.5px; color: var(--pg-muted); }
.amb-tally dd {
  font-family: var(--pg-display);
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 700;
  color: var(--pg-accent-3);
}
.amb-effect-panel .pg-note { margin-top: auto; }

/* ══ THE FIELD GUIDE ═════════════════════════════════════════════════════ */
.amb-guide {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(18px, 2.6vw, 40px);
  align-items: start;
}
.amb-guide-nav { display: grid; gap: 8px; }
.amb-stage {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: clamp(14px, 1.7vw, 19px) clamp(15px, 1.8vw, 21px);
  border: 1px solid var(--pg-line);
  border-radius: 14px;
  text-align: left;
  background: var(--pg-surface);
  transition: background .35s var(--pg-ease), border-color .35s var(--pg-ease),
              transform .4s var(--pg-ease-spring), color .3s var(--pg-ease);
}
.amb-stage span {
  font: 600 10.5px/1 var(--pg-body);
  letter-spacing: .18em;
  color: var(--pg-accent);
}
.amb-stage strong {
  font-family: var(--pg-display);
  font-size: clamp(16px, 1.8vw, 21px);
  font-weight: 600;
  letter-spacing: -.02em;
  color: var(--pg-muted);
  transition: color .3s var(--pg-ease);
}
.amb-stage i { font-style: normal; color: var(--pg-faint); transition: transform .4s var(--pg-ease-spring); }
.amb-stage:hover { transform: translateX(4px); border-color: var(--pg-line-strong); }
.amb-stage:hover strong { color: var(--pg-text); }
.amb-stage[aria-pressed='true'] {
  background: linear-gradient(100deg, rgba(255, 158, 44, .2), rgba(224, 96, 58, .1));
  border-color: var(--pg-accent);
}
.amb-stage[aria-pressed='true'] strong { color: var(--pg-text); }
.amb-stage[aria-pressed='true'] i { transform: translate(4px, -4px); color: var(--pg-accent-3); }
.amb-sample-note { margin-top: 8px; }

/* The card is a page of the guide: paper, a stamp, and a progress rule. */
.amb-journey-card {
  position: relative;
  padding: clamp(24px, 3vw, 40px);
  border-radius: 18px;
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(255, 210, 122, .16), transparent 62%),
    linear-gradient(168deg, rgba(24, 54, 36, .94), rgba(8, 24, 16, .96));
  border: 1px solid var(--pg-line-strong);
  box-shadow: 0 40px 96px -48px rgba(255, 158, 44, .6);
  overflow: hidden;
}
.amb-journey-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 16px;
  border-bottom: 1px dashed var(--pg-line-strong);
  font: 600 9.5px/1 var(--pg-body);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--pg-faint);
}
/* The stamp lands rather than fades — a small thud of ink. */
.amb-journey-stamp {
  position: absolute;
  right: clamp(18px, 2.4vw, 34px);
  top: clamp(52px, 6vw, 82px);
  display: grid;
  place-items: center;
  width: clamp(64px, 7vw, 86px);
  aspect-ratio: 1;
  border: 2px dashed var(--pg-accent);
  border-radius: 50%;
  color: var(--pg-accent-3);
  font-size: clamp(22px, 2.4vw, 30px);
  rotate: -12deg;
}
.amb-journey-card.is-changing .amb-journey-stamp { animation: amb-stamp .55s var(--pg-ease-spring); }
@keyframes amb-stamp {
  0%   { transform: scale(2.1); opacity: 0; }
  55%  { transform: scale(.94); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}
.amb-example-label {
  margin: clamp(22px, 2.6vw, 32px) 0 12px;
  font: 600 10.5px/1 var(--pg-body);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--pg-accent);
}
.amb-journey-card h3 {
  font-size: clamp(28px, 3.6vw, 48px);
  line-height: .96;
  font-style: italic;
  margin-bottom: 16px;
  max-width: 14ch;
}
.amb-journey-card > p#amb-example-copy {
  color: var(--pg-muted);
  font-size: 15px;
  line-height: 1.66;
  max-width: 46ch;
}
.amb-journey-status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  padding: 9px 15px;
  border: 1px solid var(--pg-line);
  border-radius: 100px;
  font-size: 12.5px;
  color: var(--pg-accent-3);
  background: rgba(255, 158, 44, .09);
}
.amb-journey-progress { display: flex; gap: 6px; margin-top: 26px; }
.amb-journey-progress span {
  flex: 1;
  height: 3px;
  border-radius: 3px;
  background: var(--pg-line);
  transition: background .5s var(--pg-ease);
}
.amb-journey-card[data-active-stage='0'] .amb-journey-progress span:nth-child(-n+1),
.amb-journey-card[data-active-stage='1'] .amb-journey-progress span:nth-child(-n+2),
.amb-journey-card[data-active-stage='2'] .amb-journey-progress span:nth-child(-n+3),
.amb-journey-card[data-active-stage='3'] .amb-journey-progress span { background: var(--pg-accent); }
.amb-guide-foot { margin-top: clamp(20px, 2.4vw, 30px); }

/* ══ TWO CLOCKS ══════════════════════════════════════════════════════════ */
.amb-clocks-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr);
  align-items: center;
  gap: clamp(28px, 4.4vw, 74px);
}
.amb-clocks-grid h2 { font-size: clamp(34px, 5vw, 70px); line-height: .94; margin: 15px 0 18px; }
.amb-clocks-grid h2 span { font-style: italic; color: var(--pg-accent-3); }
.amb-clocks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 24px); }
.amb-clock {
  margin: 0;
  padding: clamp(16px, 2vw, 24px);
  border: 1px solid var(--pg-line);
  border-radius: 18px;
  background: linear-gradient(168deg, rgba(20, 48, 32, .8), rgba(7, 20, 14, .92));
  text-align: center;
}
.amb-clock canvas { width: 100%; max-width: 200px; aspect-ratio: 1; margin: 0 auto 14px; }
.amb-clock strong {
  display: block;
  font-family: var(--pg-display);
  font-size: clamp(20px, 2.2vw, 27px);
  font-weight: 700;
  font-style: italic;
  color: var(--pg-accent-3);
  margin-bottom: 8px;
}
.amb-clock span { font-size: 13px; line-height: 1.6; color: var(--pg-muted); }

/* ══ FAQ ═════════════════════════════════════════════════════════════════ */
.amb-terms {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(24px, 4vw, 70px);
  align-items: start;
}
.amb-terms-intro h2 { margin: 15px 0 16px; font-size: clamp(34px, 5vw, 70px); line-height: .94; }
.amb-terms-intro h2 span { font-style: italic; color: var(--pg-accent-3); }

/* ══ THE INVITATION ══════════════════════════════════════════════════════
   The gateway script renders into #panel using apa-ambassador.css classes.
   Re-pointing that stylesheet's variables here dresses everything it can
   render — including states this page never shows in a screenshot. */
.amb-access-section {
  position: relative;
  padding-block: var(--pg-section);
  border-top: 1px solid var(--pg-line);
  background:
    radial-gradient(64% 60% at 78% 20%, rgba(255, 158, 44, .16), transparent 66%),
    linear-gradient(180deg, transparent, rgba(224, 96, 58, .08));
}
.amb-access {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
  gap: clamp(28px, 4.6vw, 76px);
  align-items: center;

  --surface: var(--amb-paper);
  --surface-2: #f6ecd7;
  --surface-3: #eee0c4;
  --surface-glass: var(--amb-paper);
  --ink: var(--amb-ink);
  --ink-2: var(--amb-ink);
  --ink-soft: #4a6354;
  --ink-faint: #6d8375;
  --violet: #b4531f;
  --iris: #b4531f;
  --electric: #b4531f;
  --mint-deep: #2f6b4a;
  --line: rgba(29, 49, 38, .14);
  --line-2: rgba(29, 49, 38, .26);
  --font-d: var(--pg-display);
  --font-b: var(--pg-body);
}
.amb-access-intro h2 { margin: 16px 0 18px; font-size: clamp(42px, 6.4vw, 92px); line-height: .9; }
.amb-access-intro h2 span { font-style: italic; color: var(--pg-accent-3); }
.amb-access-intro .pg-button-ghost { margin-top: 26px; }

.amb-invitation-card {
  position: relative;
  padding: clamp(14px, 1.6vw, 20px);
  border-radius: 6px;
  background: var(--amb-paper);
  color: var(--amb-ink);
  box-shadow: 0 46px 110px -44px rgba(0, 0, 0, .86), 0 0 0 1px rgba(29, 49, 38, .1);
  rotate: -.6deg;
}
.amb-envelope-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 6px 12px;
  border-bottom: 1px dashed rgba(29, 49, 38, .26);
  font: 600 9.5px/1 var(--pg-body);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #6d8375;
}
/* Wax, pressed onto the corner of the envelope. */
.amb-wax {
  position: absolute;
  right: -18px;
  top: -18px;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 48% 52% 46% 54% / 52% 46% 54% 48%;
  background: radial-gradient(circle at 34% 30%, #e0603a, #a8321c 68%);
  color: #ffdfc4;
  font-family: var(--pg-display);
  font-size: 26px;
  font-weight: 700;
  box-shadow: 0 12px 26px -8px rgba(0, 0, 0, .7), inset 0 2px 5px rgba(255, 255, 255, .28);
  rotate: -8deg;
}

/* Gateway components, inside the paper card. */
.amb-access .panel {
  padding: clamp(18px, 2.2vw, 28px) clamp(14px, 1.8vw, 24px) clamp(20px, 2.4vw, 30px);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
  animation: none;
  background: transparent;
  color: var(--amb-ink);
}
.amb-access .h2 {
  font-family: var(--pg-display);
  font-size: clamp(21px, 2.4vw, 29px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: var(--amb-ink);
}
.amb-access .body { font-size: 14px; line-height: 1.68; color: #4a6354; }
.amb-access .small,
.amb-access .hint { font-size: 11.5px; line-height: 1.6; color: #4a6354; }
.amb-access .label { font-size: 12px; font-weight: 600; color: var(--amb-ink); }
.amb-access .btn {
  font-family: var(--pg-body);
  font-size: 13px;
  border-radius: 100px;
  min-height: 48px;
  box-shadow: none;
  white-space: normal;
}
.amb-access .btn-primary {
  background: #b4531f;
  border-color: #b4531f;
  color: var(--amb-paper);
}
.amb-access .btn-primary:hover { background: #963f14; transform: translateY(-2px); box-shadow: none; }
.amb-access .btn-ghost { color: #b4531f; border-color: rgba(29, 49, 38, .26); }
.amb-access .input { border-radius: 10px; background: #fff9ec; color: var(--amb-ink); border-color: rgba(29, 49, 38, .26); }
.amb-access .panel-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #ffd27a;
  color: #7a3a12;
  font-size: 26px;
  margin-bottom: 16px;
  border: 1px solid rgba(29, 49, 38, .2);
  box-shadow: none;
}
.amb-access .panel-icon svg { height: 25px; width: 25px; stroke-width: 1.6; }
.amb-access .who {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0;
  padding: 12px;
  border-radius: 10px;
  background: rgba(29, 49, 38, .05);
}
.amb-access .who-email { overflow-wrap: anywhere; font-size: 12px; }
.amb-access .amb-admin {
  grid-column: 1 / -1;
  padding-top: 26px;
  border-top: 1px solid var(--pg-line);
  color: var(--pg-muted);
}
.amb-admin h3 { font-size: clamp(19px, 2vw, 24px); margin-bottom: 8px; color: var(--pg-text); }
.amb-admin p { margin-bottom: 16px; }

/* ══ RESPONSIVE ══════════════════════════════════════════════════════════ */
@media (max-width: 1080px) {
  .amb-effect { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .amb-hero-shell { grid-template-columns: 1fr; }
  .amb-hero-art { order: -1; max-width: 460px; }
  .amb-section-head { grid-template-columns: 1fr; align-items: start; }
  .amb-guide { grid-template-columns: 1fr; }
  .amb-clocks-grid { grid-template-columns: 1fr; }
  .amb-terms { grid-template-columns: 1fr; }
  .amb-access { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .amb-hero { min-height: 0; }
  .amb-note-card { max-width: 160px; font-size: 12px; left: -10px; bottom: 10px; }
  .amb-journey-stamp { width: 58px; top: 44px; right: 16px; font-size: 20px; }
  .amb-journey-card h3 { max-width: none; }
}
@media (max-width: 420px) {
  .amb-clocks { grid-template-columns: 1fr; }
  .amb-stage { gap: 11px; padding: 13px 14px; }
  .amb-wax { width: 52px; height: 52px; font-size: 21px; right: -12px; top: -12px; }
}
