/* gta-launch: one stylesheet for the launch site. Mobile first. Palette from the GTA campaign assets. */

/* Montserrat (variable, Latin subset), the homepage font, under its own family name so Elementor's font CSS cannot override it, from the copy Elementor already hosts in uploads on live and staging. No font service, no third-party request. */
@font-face { font-family: "GTA Montserrat"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../../../../uploads/elementor/google-fonts/fonts/montserrat-jtusjig1_i6t8kchkm459wlhyw.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
	--gta-orange: #CC6316;
	--gta-orange-deep: #AD5210; /* orange for text and button fills: 5.3:1 on white, the pure orange is 3.9:1. Brand orange stays for dots and decoration. */
	--gta-orange-press: #95450C; /* hover and pressed state for orange buttons, keeps white text above 4.5:1 */
	--gta-lime: #93B84A;
	--gta-teal: #0F6E70;
	--gta-gold: #F2B01E;
	--gta-coral: #CC4B54;
	--gta-coral-deep: #B33C45;
	--gta-blue: #2C6EB5;
	--gta-ink: #141414;
	--gta-ink-2: #1F1F1F;
	--gta-off: #F5F5F5;
	--gta-white: #FFFFFF;
	--gta-ink-70: #5A5A5A;
	--gta-ink-12: rgba(20, 20, 20, 0.12);
	--gta-ink-06: rgba(20, 20, 20, 0.06);
	--gta-tint: var(--gta-off);
	--gta-line: #DDDCD6;
	--gta-font: "GTA Montserrat", "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--gta-home-gold: #FEBD10; /* homepage accent (Elementor kit 8 primary) */
	--gta-home-ink: #14191D; /* homepage dark (Elementor kit 8 App Black 2) */
	--gta-radius: 18px;
	--gta-radius-s: 12px;
	--gta-wrap: 1120px;
	--gta-gap: clamp(16px, 4vw, 32px);
	--gta-shadow: 0 1px 2px rgba(20, 20, 20, 0.05), 0 16px 40px -18px rgba(20, 20, 20, 0.25);
	--gta-shadow-lift: 0 2px 4px rgba(20, 20, 20, 0.05), 0 24px 48px -16px rgba(20, 20, 20, 0.3);
	--gta-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* ---------- Base ---------- */
.gta { font-family: var(--gta-font); color: var(--gta-ink); background: var(--gta-white); line-height: 1.6; font-size: 1rem; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.gta *, .gta *::before, .gta *::after, .gta-banner *, .gta-banner *::before, .gta-banner *::after { box-sizing: border-box; }
.gta :where(a) { color: var(--gta-teal); text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color 0.15s var(--gta-ease); }
.gta :where(a:hover) { color: var(--gta-orange-deep); }
.gta :focus-visible { outline: 3px solid var(--gta-teal); outline-offset: 3px; border-radius: 4px; }
.gta-dark :focus-visible, .gta-hero :focus-visible, .gta-header :focus-visible, .gta-nav :focus-visible, .gta-foot :focus-visible, .gta-strip :focus-visible, .gta-door :focus-visible, .gta-banner :focus-visible { outline-color: var(--gta-gold); }
.gta img, .gta svg { max-width: 100%; height: auto; }
.gta p { margin: 0 0 1em; }
.gta ul, .gta ol { margin: 0; padding: 0; }
.gta h1, .gta h2, .gta h3, .gta h4 { color: inherit; font-family: var(--gta-font); margin-top: 0; text-wrap: balance; }
.gta-tile__title, .gta-card__title, .gta-feature__title, .gta-kit__title, .gta-timeline__title { color: var(--gta-ink); }
.gta-wrap { width: 100%; max-width: var(--gta-wrap); margin: 0 auto; padding-left: var(--gta-gap); padding-right: var(--gta-gap); }
.gta-narrow { max-width: 780px; }
.gta-section { padding: clamp(48px, 8vw, 96px) 0; }
.gta-section--tint { background: var(--gta-tint); }
.gta-section--tight { padding-top: clamp(32px, 5vw, 56px); }
.gta-section__head { max-width: 62ch; margin-bottom: clamp(24px, 4vw, 40px); }
.gta-section__head .gta-lead { margin-bottom: 0; }
.gta-h1 { font-size: clamp(2rem, 2.4vw + 1.1rem, 3.2rem); line-height: 1.08; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 0.45em; }
.gta-h2 { font-size: clamp(1.5rem, 1.4vw + 1rem, 2.15rem); line-height: 1.15; font-weight: 700; letter-spacing: -0.015em; margin: 0 0 0.45em; }
.gta-h2--small { font-size: clamp(1.25rem, 0.8vw + 1rem, 1.5rem); letter-spacing: -0.01em; }
.gta-lead { font-size: clamp(1.05rem, 0.4vw + 0.95rem, 1.2rem); line-height: 1.55; color: var(--gta-ink-70); max-width: 62ch; margin-bottom: 1.5em; }
.gta-quiet { color: var(--gta-ink-70); font-size: 0.92rem; }
.gta-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: var(--gta-gold); margin: 0 0 1.2em; }
.gta-eyebrow--ink { color: var(--gta-teal); }
.gta-notice { display: inline-flex; align-items: flex-start; gap: 10px; background: #FFF1B8; color: #5A4500; font-weight: 500; font-size: 0.95rem; padding: 10px 14px 10px 12px; border-radius: var(--gta-radius-s); margin: 0 0 1.4em; }
.gta-notice::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--gta-gold); margin-top: 0.45em; }
.gta-tbc { background: #FFF1B8; color: #5A4500; padding: 0 5px; border-radius: 4px; font-weight: 600; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.gta-prose h2 { font-size: 1.3rem; margin: 1.8em 0 0.5em; }
.gta-prose p, .gta-prose li { max-width: 68ch; }
.gta-prose ul { list-style: disc; padding-left: 1.2em; margin-bottom: 1em; }
.gta-prose li { margin-bottom: 0.4em; }

/* ---------- Buttons ---------- */
.gta-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 10px 24px; border-radius: 999px; font: inherit; font-weight: 600; font-size: 1rem; line-height: 1.2; text-decoration: none; border: 2px solid transparent; cursor: pointer; transition: transform 0.2s var(--gta-ease), background 0.2s var(--gta-ease), color 0.2s var(--gta-ease), border-color 0.2s var(--gta-ease), box-shadow 0.2s var(--gta-ease); }
.gta-btn:hover { transform: translateY(-1px); }
.gta-btn:active { transform: translateY(0); }
.gta-btn--primary { background: var(--gta-orange-deep); color: var(--gta-white); box-shadow: 0 8px 20px -10px rgba(173, 82, 16, 0.8); }
.gta-btn--primary:hover { background: var(--gta-orange-press); color: var(--gta-white); box-shadow: 0 12px 24px -10px rgba(173, 82, 16, 0.9); }
.gta-btn--ghost { background: transparent; color: var(--gta-ink); border-color: var(--gta-ink); }
.gta-btn--ghost:hover { color: var(--gta-orange-deep); border-color: var(--gta-orange-deep); }
.gta-hero .gta-btn--ghost, .gta-dark .gta-btn--ghost { color: var(--gta-white); border-color: rgba(255, 255, 255, 0.55); }
.gta-hero .gta-btn--ghost:hover, .gta-dark .gta-btn--ghost:hover { border-color: var(--gta-gold); color: var(--gta-gold); }
.gta-btn--danger { background: var(--gta-coral-deep); color: var(--gta-white); }
.gta-btn--danger:hover { background: var(--gta-coral); color: var(--gta-white); }
.gta-btn--small { min-height: 40px; padding: 6px 18px; font-size: 0.9rem; }
.gta-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.gta-arrow { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--gta-teal); text-decoration: none; }
.gta-arrow::after { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-top: 2px solid currentColor; transform: rotate(45deg); transition: transform 0.2s var(--gta-ease); }
.gta-arrow:hover::after { transform: translateX(3px) rotate(45deg); }

/* ---------- Dots ---------- */
.gta-dots { display: block; }

/* ---------- Document, header ---------- */
body.gta-launch { margin: 0; background: var(--gta-white); }
.gta-skip { position: absolute; left: -9999px; top: 8px; z-index: 100; padding: 8px 14px; background: var(--gta-ink); color: var(--gta-white); border-radius: 8px; }
.gta-skip:focus { left: 8px; }
/* Header: one bar. Logo left, links (from 1024 px) or a menu button, gold RSVP right. */
.gta-header { position: sticky; top: 0; z-index: 40; background: var(--gta-home-ink); color: var(--gta-white); border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.gta-header__inner { position: relative; display: flex; align-items: center; gap: 10px; min-height: 64px; padding-top: 8px; padding-bottom: 8px; }
.gta-header__logo { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; text-decoration: none; color: var(--gta-white); min-width: 0; margin-right: auto; }
.gta .gta-header__logo:hover { color: var(--gta-white); }
.gta-header__logo img { width: 30px; height: auto; aspect-ratio: 699 / 1158; border-radius: 4px; flex: none; }
.gta-header__brand { display: grid; gap: 2px; line-height: 1.15; }
.gta-header__name { font-weight: 700; font-size: 1.05rem; white-space: nowrap; }
.gta-header__line { display: none; font-size: 0.72rem; color: var(--gta-home-gold); letter-spacing: 0.04em; font-weight: 600; white-space: nowrap; }
.gta .gta-header__cta { flex: none; min-height: 44px; padding: 8px 20px; background: var(--gta-home-gold); color: var(--gta-home-ink); box-shadow: none; font-size: 0.95rem; }
.gta .gta-header__cta:hover { background: #FFD24D; color: var(--gta-home-ink); }

.gta-nav--bar { display: none; }
.gta-nav__list { list-style: none; display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; }
.gta .gta-nav__list a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 999px; color: rgba(255, 255, 255, 0.85); text-decoration: none; font-size: 0.93rem; font-weight: 500; white-space: nowrap; }
.gta .gta-nav__list a:hover { background: rgba(255, 255, 255, 0.1); color: var(--gta-white); }
.gta .gta-nav__list a[aria-current="page"] { color: var(--gta-home-gold); font-weight: 700; }

.gta-menu { flex: none; }
.gta-menu__button { display: inline-flex; align-items: center; gap: 8px; min-width: 48px; min-height: 44px; padding: 0 12px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.35); color: var(--gta-white); cursor: pointer; list-style: none; font-weight: 600; font-size: 0.95rem; }
.gta-menu__button::-webkit-details-marker { display: none; }
.gta-menu__button:hover { border-color: var(--gta-home-gold); }
.gta-menu__icon { position: relative; width: 18px; height: 12px; }
.gta-menu__icon::before, .gta-menu__icon::after, .gta-menu__icon span { content: ""; position: absolute; left: 0; width: 18px; height: 2px; border-radius: 2px; background: currentColor; transition: transform 0.2s var(--gta-ease), opacity 0.2s var(--gta-ease); }
.gta-menu__icon::before { top: 0; }
.gta-menu__icon span { top: 5px; }
.gta-menu__icon::after { top: 10px; }
.gta-menu[open] .gta-menu__icon::before { transform: translateY(5px) rotate(45deg); }
.gta-menu[open] .gta-menu__icon span { opacity: 0; }
.gta-menu[open] .gta-menu__icon::after { transform: translateY(-5px) rotate(-45deg); }
.gta-menu__panel { position: absolute; left: 0; right: 0; top: 100%; background: var(--gta-home-ink); border-top: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 18px 30px rgba(0, 0, 0, 0.35); padding: 8px var(--gta-gap) 16px; }
.gta-menu__list { list-style: none; margin: 0; padding: 0; display: grid; }
.gta .gta-menu__list a { display: flex; align-items: center; min-height: 52px; padding: 0 4px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); color: var(--gta-white); text-decoration: none; font-size: 1.05rem; font-weight: 600; }
.gta .gta-menu__list li:last-child a { border-bottom: 0; }
.gta .gta-menu__list a[aria-current="page"] { color: var(--gta-home-gold); }
.gta .gta-menu__list a:hover { color: var(--gta-home-gold); }
@media (max-width: 419px) {
	.gta-menu__button { padding: 0; width: 48px; justify-content: center; }
	.gta .gta-menu__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.gta .gta-header__cta { padding: 8px 16px; }
	.gta-header__logo { gap: 10px; }
}
@media (min-width: 420px) { .gta-header__line { display: block; } }
@media (min-width: 1024px) {
	.gta-nav--bar { display: block; margin-left: auto; }
	.gta-menu { display: none; }
	.gta-header__logo { margin-right: 0; }
	.gta-header__line { display: none; }
	.gta-header__logo img { width: 34px; }
}
@media (min-width: 1200px) { .gta-header__line { display: block; } }

/* ---------- Hero ---------- */
.gta-hero { background: radial-gradient(70% 90% at 90% 30%, rgba(15, 110, 112, 0.45), transparent 65%), radial-gradient(40% 50% at 70% 100%, rgba(44, 110, 181, 0.25), transparent 70%), var(--gta-ink); color: var(--gta-white); position: relative; overflow: hidden; }
.gta-hero__inner { position: relative; display: grid; grid-template-columns: 1fr; gap: 8px; padding-top: clamp(24px, 5vw, 64px); padding-bottom: clamp(48px, 8vw, 104px); }
.gta-hero__art { order: -1; display: flex; justify-content: flex-end; margin-right: calc(var(--gta-gap) * -0.5); pointer-events: none; }
.gta-hero__dots { width: clamp(140px, 36vw, 200px); height: auto; opacity: 0.9; }
.gta-hero__copy { position: relative; z-index: 2; max-width: 640px; }
.gta-hero__title { font-size: clamp(2.1rem, 3.4vw + 1.2rem, 4rem); line-height: 1.04; font-weight: 700; letter-spacing: -0.025em; margin: 0 0 0.45em; }
.gta-hero__sub { font-size: clamp(1.05rem, 0.5vw + 0.95rem, 1.25rem); line-height: 1.55; color: rgba(255, 255, 255, 0.8); max-width: 54ch; margin-bottom: 1.8em; }
.gta-hero__count-label { font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: rgba(255, 255, 255, 0.6); margin: 0 0 10px; }
.gta-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 2em 0 0; }
.gta-hero .gta-eyebrow { color: var(--gta-gold); }
.gta-hero .gta-stores { margin-top: 0.5em; }

/* ---------- Countdown ---------- */
.gta-countdown__units { display: inline-flex; max-width: 100%; border: 1px solid rgba(255, 255, 255, 0.16); background: rgba(255, 255, 255, 0.05); border-radius: 14px; padding: 6px; }
.gta-countdown__unit { display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1 1 0; min-width: 0; padding: 10px 10px 12px; text-align: center; }
.gta-countdown__unit + .gta-countdown__unit { border-left: 1px solid rgba(255, 255, 255, 0.12); }
.gta-countdown__n { font-size: clamp(1.7rem, 2vw + 1rem, 2.6rem); font-weight: 700; line-height: 1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.gta-countdown__l { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.1em; margin-top: 8px; color: rgba(255, 255, 255, 0.65); }
.gta-countdown__live-label { font-size: clamp(1.2rem, 3vw, 1.6rem); font-weight: 700; margin: 0 0 14px; }
.gta-countdown--compact .gta-countdown__units { border: 0; background: rgba(255, 255, 255, 0.12); padding: 0; border-radius: 999px; }
.gta-countdown--compact .gta-countdown__unit { flex-direction: row; gap: 6px; padding: 5px 12px; }
.gta-countdown--compact .gta-countdown__n { font-size: 1rem; }
.gta-countdown--compact .gta-countdown__l { margin: 0; font-size: 0.7rem; }

/* ---------- Store buttons ---------- */
.gta-stores { display: flex; flex-wrap: wrap; gap: 10px; }
.gta-store { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 18px; border-radius: 12px; background: var(--gta-ink); color: var(--gta-white); text-decoration: none; font-weight: 600; font-size: 0.95rem; line-height: 1.2; border: 1px solid transparent; transition: background 0.2s var(--gta-ease), color 0.2s var(--gta-ease), transform 0.2s var(--gta-ease); }
.gta-store:hover { background: var(--gta-ink-2); color: var(--gta-white); transform: translateY(-1px); }
.gta-stores--dark .gta-store { background: var(--gta-white); color: var(--gta-ink); }
.gta-stores--dark .gta-store:hover { background: var(--gta-gold); color: var(--gta-ink); }
.gta-store--quiet { background: transparent; border-color: currentColor; }
.gta-stores--dark .gta-store--quiet { background: transparent; color: var(--gta-white); border-color: rgba(255, 255, 255, 0.5); }

/* ---------- Homepage banner ---------- */
/* Sits above the Elementor page, whose theme sets html to 10px, so sizes here are in px, not rem. */
.gta-banner { background: var(--gta-ink); color: var(--gta-white); font-family: var(--gta-font); font-size: 15px; line-height: 1.4; position: relative; z-index: 50; }
.gta-banner .gta-wrap { max-width: var(--gta-wrap); margin: 0 auto; padding-left: 16px; padding-right: 16px; }
.gta-banner__inner { display: flex; align-items: center; gap: 8px 14px; flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px; }
.gta-banner__dots { flex: none; width: 28px; height: 28px; object-fit: contain; }
.gta-banner__text { margin: 0; font-size: 15px; font-weight: 500; line-height: 1.35; color: var(--gta-white); flex: 1 1 200px; }
.gta-banner .gta-countdown--compact .gta-countdown__unit { padding: 4px 10px; }
.gta-banner .gta-countdown--compact .gta-countdown__n { font-size: 15px; line-height: 1; }
.gta-banner .gta-countdown--compact .gta-countdown__l { font-size: 12px; letter-spacing: 0.08em; }
.gta-banner a.gta-btn { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 16px; border-radius: 999px; background: var(--gta-orange-deep); color: var(--gta-white); font-family: var(--gta-font); font-size: 15px; font-weight: 600; line-height: 1.2; text-decoration: none; border: 0; box-shadow: none; }
.gta-banner a.gta-btn:hover { background: var(--gta-orange-press); color: var(--gta-white); }
@media (max-width: 479px) {
	.gta-banner__text { flex-basis: calc(100% - 42px); }
	.gta-banner .gta-countdown { margin-left: 42px; }
}

/* ---------- Tiles (RSVP doors) ---------- */
.gta-tiles { display: grid; grid-template-columns: 1fr; gap: 14px; margin: 0 0 1.4em; }
.gta-tile { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "dot title" "dot desc" "dot cta"; column-gap: 16px; row-gap: 4px; align-items: start; padding: 22px 22px 22px 20px; border-radius: var(--gta-radius); background: var(--gta-white); border: 1px solid var(--gta-line); color: var(--gta-ink); text-decoration: none; position: relative; box-shadow: var(--gta-shadow); transition: transform 0.25s var(--gta-ease), box-shadow 0.25s var(--gta-ease), border-color 0.25s var(--gta-ease); }
.gta-tile:hover { transform: translateY(-3px); box-shadow: var(--gta-shadow-lift); color: var(--gta-ink); border-color: transparent; }
.gta-tile__dot { grid-area: dot; width: 28px; height: 28px; border-radius: 50%; background: var(--gta-orange); margin-top: 2px; transition: transform 0.25s var(--gta-ease); }
.gta-tile:hover .gta-tile__dot { transform: scale(1.15); }
.gta-tile--vendor .gta-tile__dot { background: var(--gta-lime); }
.gta-tile--media .gta-tile__dot { background: var(--gta-blue); }
.gta-tile__title { grid-area: title; font-size: 1.2rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; }
.gta-tile__desc { grid-area: desc; color: var(--gta-ink-70); font-size: 0.95rem; }
.gta-tile__cta { grid-area: cta; margin-top: 10px; }

/* ---------- Cards ---------- */
.gta-cards { list-style: none; display: grid; grid-template-columns: 1fr; gap: 14px; }
.gta-card { background: var(--gta-white); border-radius: var(--gta-radius); padding: 24px; border: 1px solid var(--gta-line); }
.gta-section--tint .gta-card { border-color: transparent; box-shadow: var(--gta-shadow); }
.gta-card__dot { display: block; width: 16px; height: 16px; border-radius: 50%; margin-bottom: 16px; background: var(--gta-orange); }
.gta-card__dot--1 { background: var(--gta-lime); }
.gta-card__dot--2 { background: var(--gta-teal); }
.gta-card__dot--3 { background: var(--gta-gold); }
.gta-card__dot--4 { background: var(--gta-coral); }
.gta-card__dot--5 { background: var(--gta-blue); }
.gta-card__title { font-size: 1.12rem; line-height: 1.3; margin: 0 0 6px; }
.gta-card p { color: var(--gta-ink-70); font-size: 0.95rem; }
.gta-card p:last-child { margin-bottom: 0; }
.gta-cards--list { grid-template-columns: 1fr; }

/* ---------- Split, venue, map ---------- */
.gta-split { display: grid; grid-template-columns: 1fr; gap: 32px; }
.gta-venue__name { font-size: 1.25rem; font-weight: 700; margin-bottom: 0.2em; }
.gta-venue__meta { display: grid; gap: 4px; margin: 0 0 1.2em; color: var(--gta-ink-70); }
.gta-venue__meta p { margin: 0; }
.gta-map { border-radius: var(--gta-radius); overflow: hidden; border: 1px solid var(--gta-line); aspect-ratio: 4 / 3; background: var(--gta-tint); box-shadow: var(--gta-shadow); }
.gta-map iframe { width: 100%; height: 100%; border: 0; display: block; }

/* ---------- Programme ---------- */
.gta-timeline { list-style: none; display: grid; gap: 0; position: relative; padding-left: 26px; }
.gta-timeline::before { content: ""; position: absolute; left: 6px; top: 12px; bottom: 12px; width: 2px; background: var(--gta-line); border-radius: 2px; }
.gta-timeline__item { display: grid; grid-template-columns: 1fr; gap: 2px 16px; padding: 14px 0; position: relative; }
.gta-timeline__item + .gta-timeline__item { border-top: 1px solid var(--gta-ink-06); }
.gta-timeline__item::before { content: ""; position: absolute; left: -26px; top: 20px; width: 14px; height: 14px; border-radius: 50%; background: var(--gta-gold); box-shadow: 0 0 0 4px var(--gta-white); }
.gta-section--tint .gta-timeline__item::before { box-shadow: 0 0 0 4px var(--gta-tint); }
.gta-timeline__item.is-confirmed::before { background: var(--gta-teal); }
.gta-timeline__time { font-weight: 700; font-variant-numeric: tabular-nums; font-size: 1.05rem; letter-spacing: -0.01em; }
.gta-timeline__title { font-size: 1.08rem; line-height: 1.3; margin: 0 0 4px; }
.gta-timeline__desc { margin: 0 0 4px; color: var(--gta-ink-70); font-size: 0.95rem; }
.gta-timeline__speaker { margin: 0; font-size: 0.88rem; font-weight: 600; color: var(--gta-teal); }
.gta-timeline__key { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 14px 0 0; font-size: 0.85rem; color: var(--gta-ink-70); }
.gta-timeline__key span { display: inline-flex; align-items: center; gap: 8px; }
.gta-timeline__key i { width: 10px; height: 10px; border-radius: 50%; background: var(--gta-gold); }
.gta-timeline__key i.is-confirmed { background: var(--gta-teal); }

/* ---------- Strip, logos, footer ---------- */
.gta-strip { background: var(--gta-teal); color: var(--gta-white); padding: clamp(32px, 5vw, 56px) 0; }
.gta-strip--card { border-radius: var(--gta-radius); padding: clamp(24px, 4vw, 40px) clamp(20px, 4vw, 40px); margin-top: 1.5em; }
.gta-strip--card .gta-wrap { padding-left: 0; padding-right: 0; }
.gta-strip .gta-h2 { color: var(--gta-white); }
.gta-strip p { color: rgba(255, 255, 255, 0.85); margin: 0; max-width: 56ch; }
.gta-strip__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; }
.gta-strip .gta-btn--primary { background: var(--gta-gold); color: var(--gta-ink); box-shadow: none; flex: none; }
.gta-strip .gta-btn--primary:hover { background: #F8C24A; color: var(--gta-ink); }
.gta-logos { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 1em; }
.gta-logos__ph { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 84px; padding: 12px; border: 1px dashed #C4C3BC; border-radius: var(--gta-radius-s); color: var(--gta-ink-70); font-size: 0.82rem; font-weight: 500; line-height: 1.3; background: var(--gta-white); }
.gta-foot { background: var(--gta-ink); color: rgba(255, 255, 255, 0.78); padding: clamp(40px, 6vw, 64px) 0 32px; }
.gta-foot__inner { display: grid; gap: 28px; }
.gta-foot__brand { display: grid; gap: 14px; }
.gta-foot__brand p { max-width: 44ch; }
.gta-foot p { margin: 0; }
.gta-foot strong { color: var(--gta-white); }
.gta-foot__links { display: flex; flex-wrap: wrap; gap: 8px 20px; list-style: none; }
.gta-foot__links a { color: rgba(255, 255, 255, 0.85); text-decoration: none; font-weight: 500; font-size: 0.95rem; }
.gta-foot__links a:hover { color: var(--gta-gold); }
.gta-foot__cols { display: grid; gap: 20px; }
.gta-foot__label { font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; color: rgba(255, 255, 255, 0.5); margin: 0 0 10px; }
.gta-foot__copy { font-size: 0.82rem; color: rgba(255, 255, 255, 0.5); border-top: 1px solid rgba(255, 255, 255, 0.12); padding-top: 20px; margin-top: 8px; }

/* ---------- RSVP page ---------- */
.gta-type-banner { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; font-size: 0.85rem; letter-spacing: 0.04em; text-transform: uppercase; padding: 7px 14px 7px 10px; border-radius: 999px; background: var(--gta-tint); color: var(--gta-ink); margin: 0 0 1.4em; }
.gta-type-banner::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--gta-orange); }
.gta-type-banner--vendor::before { background: var(--gta-lime); }
.gta-type-banner--media::before { background: var(--gta-blue); }
.gta-type-banner--mec::before { background: var(--gta-teal); }
.gta-facts { display: grid; gap: 12px; margin: 0 0 1.8em; padding: 20px 22px; background: var(--gta-tint); border-radius: var(--gta-radius); }
.gta-facts div { display: grid; grid-template-columns: 72px 1fr; gap: 10px; align-items: baseline; }
.gta-facts dt { font-size: 0.76rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; color: var(--gta-ink-70); }
.gta-facts dd { margin: 0; font-weight: 500; }
.gta-form-card { background: var(--gta-white); border: 1px solid var(--gta-line); border-radius: var(--gta-radius); padding: clamp(20px, 4vw, 36px); box-shadow: var(--gta-shadow); }
.gta-form-card > .gta-h2 { margin-bottom: 1em; }
.gta-split--wide .gta-form-card, .gta-split--form .gta-form-card { align-self: start; }
.gta-rsvp-page .gta-timeline { margin-bottom: 1em; }

/* ---------- Forms ---------- */
.gta-form { display: grid; gap: 18px; }
.gta-form__note { font-size: 0.88rem; color: var(--gta-ink-70); margin: 0; }
.gta-field { display: grid; gap: 6px; }
.gta-field[hidden] { display: none; }
.gta-field label { font-weight: 600; font-size: 0.95rem; }
.gta-req { color: var(--gta-coral-deep); }
.gta-field__help { margin: 0; font-size: 0.86rem; color: var(--gta-ink-70); }
.gta-field input:not([type="checkbox"]), .gta-field select, .gta-field textarea { width: 100%; min-height: 50px; padding: 12px 16px; border: 1.5px solid #8A8A8A; border-radius: var(--gta-radius-s); background: var(--gta-white); color: var(--gta-ink); font: inherit; font-size: 1rem; line-height: 1.4; transition: border-color 0.15s var(--gta-ease), box-shadow 0.15s var(--gta-ease); }
.gta-field input:not([type="checkbox"]):hover, .gta-field select:hover, .gta-field textarea:hover { border-color: var(--gta-ink); }
.gta-field input:not([type="checkbox"]):focus-visible, .gta-field select:focus-visible, .gta-field textarea:focus-visible { outline: none; border-color: var(--gta-teal); box-shadow: 0 0 0 3px rgba(242, 176, 30, 0.75); }
.gta-field textarea { min-height: 110px; resize: vertical; }
.gta-field select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23141414' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; padding-right: 44px; }
.gta-field.has-error input, .gta-field.has-error select, .gta-field.has-error textarea { border-color: var(--gta-coral-deep); }
.gta-field__error { margin: 0; color: var(--gta-coral-deep); font-size: 0.88rem; font-weight: 600; }
.gta-field--consent { padding: 16px 18px; background: var(--gta-tint); border-radius: var(--gta-radius-s); }
.gta-field__privacy { font-size: 0.88rem; margin: 0 0 12px; color: var(--gta-ink-70); }
.gta-check { display: grid; grid-template-columns: 24px 1fr; gap: 12px; align-items: start; }
.gta-check input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--gta-teal); }
.gta-check label { font-weight: 500; font-size: 0.95rem; }
.gta-form__status { background: #FBEBEC; border: 1px solid var(--gta-coral); border-radius: var(--gta-radius-s); padding: 14px 18px; }
.gta-form__status-title { font-weight: 700; margin: 0 0 6px; }
.gta-form__status ul { list-style: disc; padding-left: 20px; font-size: 0.95rem; }
.gta-form__status a { color: var(--gta-coral-deep); }
.gta-form__actions { margin-top: 6px; }
.gta-form__actions .gta-btn { width: 100%; }
.gta-form-closed { padding: 18px 20px; background: var(--gta-tint); border-radius: var(--gta-radius-s); }
.gta-form-closed p:last-child { margin: 0; }
.gta-hp { position: absolute !important; left: -9999px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }
.gta-form--inline { gap: 12px; }
.gta-form--inline .gta-actions { margin-top: 4px; }

/* ---------- Thank you ---------- */
.gta-thanks__card { background: var(--gta-white); border: 1px solid var(--gta-line); border-radius: var(--gta-radius); padding: clamp(24px, 5vw, 48px); box-shadow: var(--gta-shadow); }
.gta-thanks__dots { margin-bottom: 20px; }
.gta-thanks .gta-lead { font-size: clamp(1rem, 0.3vw + 0.93rem, 1.1rem); line-height: 1.6; }
.gta-thanks .gta-h2--small { margin-top: 1.6em; }
.gta-share { margin-bottom: 1.5em; }
.gta-share .gta-btn { min-height: 44px; }

/* ---------- Press kit ---------- */
.gta-kit { list-style: none; display: grid; grid-template-columns: 1fr; gap: 14px; }
.gta-kit__item { display: grid; grid-template-columns: 88px 1fr; gap: 16px; padding: 16px; border: 1px solid var(--gta-line); border-radius: var(--gta-radius); background: var(--gta-white); box-shadow: var(--gta-shadow); }
.gta-kit__item.is-pending { box-shadow: none; border-style: dashed; border-color: #C4C3BC; background: transparent; }
.gta-kit__thumb { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: var(--gta-radius-s); background: var(--gta-tint); overflow: hidden; font-size: 0.72rem; font-weight: 600; text-align: center; color: var(--gta-ink-70); padding: 6px; }
.gta-kit__thumb img { width: 100%; height: 100%; object-fit: cover; }
.gta-kit__title { font-size: 1rem; line-height: 1.3; margin: 0 0 4px; }
.gta-kit__meta { margin: 0 0 6px; font-size: 0.82rem; color: var(--gta-ink-70); }
.gta-kit__usage { margin: 0 0 10px; font-size: 0.9rem; }
.gta-kit__pending { display: inline-block; font-size: 0.8rem; font-weight: 600; color: var(--gta-orange-deep); }
.gta-kit .gta-btn--small { border-color: var(--gta-ink); }

/* ---------- Feature grid, steps, pricing, FAQ (app pages) ---------- */
.gta-features { list-style: none; display: grid; grid-template-columns: 1fr; gap: 14px; }
.gta-feature { padding: 24px; border-radius: var(--gta-radius); background: var(--gta-white); box-shadow: var(--gta-shadow); }
.gta-feature__icon { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; margin-bottom: 16px; color: var(--gta-white); background: var(--gta-orange); }
.gta-feature__icon--orange { background: var(--gta-orange); }
.gta-feature__icon--lime { background: var(--gta-lime); color: var(--gta-ink); }
.gta-feature__icon--teal { background: var(--gta-teal); }
.gta-feature__icon--gold { background: var(--gta-gold); color: var(--gta-ink); }
.gta-feature__icon--coral { background: var(--gta-coral); }
.gta-feature__icon--blue { background: var(--gta-blue); }
.gta-feature__title { font-size: 1.1rem; line-height: 1.3; margin: 0 0 6px; }
.gta-feature p { color: var(--gta-ink-70); font-size: 0.95rem; }
.gta-feature p:last-child { margin-bottom: 0; }
.gta-steps { list-style: none; counter-reset: step; display: grid; gap: 16px; }
.gta-step { display: grid; grid-template-columns: 40px 1fr; gap: 14px; align-items: start; }
.gta-step::before { counter-increment: step; content: counter(step); width: 40px; height: 40px; border-radius: 50%; background: var(--gta-ink); color: var(--gta-white); font-weight: 700; font-size: 0.95rem; display: grid; place-items: center; }
.gta-step h3 { font-size: 1.05rem; line-height: 1.3; margin: 8px 0 4px; }
.gta-step p { margin: 0; color: var(--gta-ink-70); font-size: 0.95rem; }
.gta-checklist { list-style: none; display: grid; gap: 10px; }
.gta-checklist li { padding-left: 30px; position: relative; }
.gta-checklist li::before { content: ""; position: absolute; left: 0; top: 0.35em; width: 16px; height: 16px; border-radius: 50%; background: var(--gta-lime); }
.gta-checklist li::after { content: ""; position: absolute; left: 5px; top: calc(0.35em + 3px); width: 5px; height: 8px; border-right: 2px solid var(--gta-ink); border-bottom: 2px solid var(--gta-ink); transform: rotate(45deg); }
.gta-stack > * + * { margin-top: clamp(28px, 4vw, 40px); }
.gta-price { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--gta-white); border-radius: var(--gta-radius); overflow: hidden; border: 1px solid var(--gta-line); box-shadow: var(--gta-shadow); }
.gta-price th, .gta-price td { text-align: left; padding: 16px 18px; border-bottom: 1px solid var(--gta-line); vertical-align: top; }
.gta-price th { width: 42%; font-weight: 600; background: var(--gta-tint); font-size: 0.95rem; }
.gta-price tr:last-child th, .gta-price tr:last-child td { border-bottom: 0; }
.gta-faq { display: grid; gap: 10px; }
.gta-faq details { border: 1px solid var(--gta-line); border-radius: var(--gta-radius-s); background: var(--gta-white); }
.gta-faq details[open] { border-color: var(--gta-ink); }
.gta-faq summary { cursor: pointer; padding: 16px 18px; font-weight: 600; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.gta-faq summary::-webkit-details-marker { display: none; }
.gta-faq summary::after { content: ""; flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--gta-ink); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' d='M6 2v8M2 6h8'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; transition: transform 0.25s var(--gta-ease); }
.gta-faq details[open] summary::after { transform: rotate(45deg); }
.gta-faq details > div { padding: 0 18px 16px; color: var(--gta-ink-70); }
.gta-faq details > div p:last-child { margin: 0; }
.gta-phone { aspect-ratio: 9 / 19; width: 100%; max-width: 260px; margin: 0 auto; border-radius: 36px; border: 8px solid var(--gta-ink); background: var(--gta-white); display: grid; place-items: center; color: var(--gta-ink-70); font-size: 0.85rem; text-align: center; padding: 16px; position: relative; box-shadow: var(--gta-shadow-lift); }
.gta-phone::before { content: ""; position: absolute; top: 10px; left: 50%; transform: translateX(-50%); width: 80px; height: 6px; border-radius: 3px; background: var(--gta-ink); opacity: 0.12; }
.gta-columns { display: grid; grid-template-columns: 1fr; gap: 20px; }
.gta-doors { display: grid; grid-template-columns: 1fr; gap: 14px; }
.gta-door { display: grid; gap: 10px; padding: 28px; border-radius: var(--gta-radius); background: var(--gta-ink); color: var(--gta-white); position: relative; overflow: hidden; }
.gta-door--1 { background: var(--gta-teal); }
.gta-door--2 { background: var(--gta-blue); }
.gta-door__title { font-size: 1.35rem; font-weight: 700; margin: 0; letter-spacing: -0.01em; }
.gta-door p { color: rgba(255, 255, 255, 0.85); margin: 0; }
.gta-door .gta-btn { justify-self: start; margin-top: 10px; background: var(--gta-white); color: var(--gta-ink); }
.gta-door .gta-btn:hover { background: var(--gta-gold); color: var(--gta-ink); }

/* ---------- Fact sheet (print) ---------- */
.gta-factsheet { background: var(--gta-white); border: 1px solid var(--gta-line); border-radius: var(--gta-radius); padding: clamp(20px, 4vw, 36px); box-shadow: var(--gta-shadow); }
.gta-factsheet h3 { font-size: 1.05rem; margin: 1.4em 0 0.3em; }
.gta-factsheet h3:first-of-type { margin-top: 0; }
.gta-factsheet p { max-width: 68ch; }
.gta-factsheet__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 1.2em; }
.gta-factsheet__head .gta-h2 { margin: 0; }

/* ---------- Launch hub: sketch structure in the homepage's look (16 Sep 2026) ---------- */
.gta-gold { color: var(--gta-home-gold); }
.gta-btn--large { min-height: 58px; padding: 14px 36px; font-size: 1.15rem; }
.gta-btn--gold { background: var(--gta-home-gold); color: var(--gta-home-ink); box-shadow: 0 10px 24px -12px rgba(254, 189, 16, 0.8); }
.gta-btn--gold:hover { background: #FFD24D; color: var(--gta-home-ink); }
.gta-btn--dark { background: var(--gta-home-ink); color: var(--gta-white); }
.gta-btn--dark:hover { background: #000; color: var(--gta-white); }
.gta-badge { display: inline-flex; border-radius: 8px; line-height: 0; transition: transform 0.2s var(--gta-ease); }
.gta-badge:hover { transform: translateY(-1px); }
.gta-badge img { height: 48px; width: auto; display: block; }
.gta-stores { align-items: center; }
.gta-foot { background: var(--gta-home-ink); }

.gta-hero--launch { background: var(--gta-home-ink); padding: 0; isolation: isolate; }
.gta-hero__bg { position: absolute; inset: 0; z-index: -2; }
.gta-hero__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gta-hero--launch::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(20, 25, 29, 0.78), rgba(20, 25, 29, 0.7) 60%, rgba(20, 25, 29, 0.88)); }
.gta-hero__box { position: relative; display: grid; grid-template-columns: 1fr; gap: 0; padding-top: 28px; padding-bottom: 36px; text-align: center; }
.gta-hero--launch .gta-hero__copy { max-width: none; justify-self: center; }
.gta .gta-hero--launch .gta-eyebrow { color: var(--gta-white); font-weight: 500; font-size: 0.72rem; letter-spacing: 0.08em; justify-content: center; margin: 0 0 12px; }
.gta .gta-hero--launch .gta-hero__title { font-size: clamp(1.95rem, 2.4vw + 1.2rem, 3.2rem); font-weight: 700; line-height: 1.08; letter-spacing: -0.02em; max-width: 18ch; margin: 0 auto 18px; text-wrap: balance; }
.gta .gta-hero--launch .gta-hero__count-label { color: rgba(255, 255, 255, 0.75); font-size: 0.7rem; margin: 0 0 8px; }
.gta-hero--launch .gta-countdown__units { background: rgba(20, 25, 29, 0.55); border-color: rgba(254, 189, 16, 0.45); }
.gta-countdown--dhm .gta-countdown__units { padding: 4px; border-radius: 12px; }
.gta-countdown--dhm .gta-countdown__unit { padding: 8px 14px 9px; min-width: 72px; }
.gta-countdown--dhm .gta-countdown__n { font-size: clamp(1.55rem, 1.2vw + 1.1rem, 2.2rem); }
.gta-countdown--dhm .gta-countdown__l { font-size: 0.6rem; margin-top: 5px; }
.gta .gta-hero__join { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 16px; margin: 26px 0 0; }
.gta-hero--launch .gta-btn--large { min-height: 52px; padding: 12px 32px; font-size: 1.05rem; }
.gta-hero__join-label { font-size: clamp(1.15rem, 0.8vw + 0.95rem, 1.45rem); font-weight: 700; }
.gta-hero__phones { display: none; }
.gta-hero__circle { position: absolute; left: 50%; top: 20px; width: 440px; height: 440px; margin-left: -220px; border-radius: 50%; background: var(--gta-home-gold); }
.gta-hero__phone { position: absolute; height: auto; filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.35)); }
.gta-hero__phone--front { width: 190px; left: 50%; margin-left: -120px; top: 60px; }
.gta-hero__phone--back { width: 140px; left: 50%; margin-left: 10px; top: 20px; }

.gta-rsvp-row { padding: clamp(36px, 6vw, 64px) 0; }
.gta-rsvp-row__head { display: grid; gap: 4px; margin-bottom: 20px; }
.gta-rsvp-row__head .gta-h2 { margin: 0; }
.gta .gta-rsvp-row__facts { margin: 0; color: var(--gta-ink-70); max-width: 70ch; }
.gta-tiles--compact { margin-bottom: 12px; }
.gta-tiles--compact .gta-tile { padding: 18px 18px 18px 16px; column-gap: 14px; }
.gta-tiles--compact .gta-tile__dot { width: 22px; height: 22px; }
.gta-tiles--compact .gta-tile__title { font-size: 1.05rem; }
.gta-tiles--compact .gta-tile__desc { font-size: 0.9rem; }
.gta-tiles--compact .gta-tile__cta { margin-top: 6px; }
.gta .gta-rsvp-row__note { margin: 0; }

.gta-band { padding: clamp(56px, 9vw, 112px) 0; background: var(--gta-white); color: var(--gta-home-ink); overflow: hidden; }
.gta-band--tint { background: var(--gta-tint); }
.gta-band--ink { background: var(--gta-home-ink); color: var(--gta-white); }
.gta-band__inner { display: grid; grid-template-columns: 1fr; gap: clamp(28px, 5vw, 48px); align-items: start; }
.gta-band__statement { font-size: clamp(2.5rem, 4.4vw + 1rem, 4.2rem); line-height: 1.02; font-weight: 700; letter-spacing: -0.025em; margin: 0; }
.gta-band__statement span { display: block; }
.gta-band--ink .gta-band__statement { color: var(--gta-home-gold); }
.gta .gta-band--ink .gta-band__regions { color: rgba(255, 255, 255, 0.82); }
.gta .gta-band__regions { margin: 22px 0 0; font-weight: 500; color: var(--gta-ink-70); max-width: 40ch; }
.gta-band__phone { position: relative; width: 240px; margin: 28px auto 0; padding-top: 20px; }
.gta-band__phone::before { content: ""; position: absolute; left: 50%; top: 50%; width: 280px; height: 280px; margin: -140px 0 0 -140px; border-radius: 50%; background: var(--gta-home-gold); }
.gta-band__phone--blue::before { background: var(--gta-blue); }
.gta-band__phone--lime::before { background: var(--gta-lime); }
.gta-band--ink .gta-band__phone { width: 300px; padding: 28px 30px 20px; background: var(--gta-white); border-radius: 28px; overflow: hidden; }
.gta-band__phone-img { position: relative; width: 100%; height: auto; display: block; filter: drop-shadow(0 16px 28px rgba(0, 0, 0, 0.25)); }
.gta-band__list { list-style: none; display: grid; gap: 0; }
.gta-band__item { display: grid; grid-template-columns: 18px 1fr; column-gap: 16px; row-gap: 2px; padding: 18px 0; border-top: 1px solid var(--gta-ink-12); }
.gta-band__item:last-child { border-bottom: 1px solid var(--gta-ink-12); }
.gta-band--ink .gta-band__item { border-color: rgba(255, 255, 255, 0.16); }
.gta-band__item::before { content: ""; grid-row: 1 / span 2; width: 16px; height: 16px; border-radius: 50%; margin-top: 0.3em; background: var(--gta-orange); }
.gta-band__item--1::before { background: var(--gta-lime); }
.gta-band__item--2::before { background: var(--gta-teal); }
.gta-band__item--3::before { background: var(--gta-gold); }
.gta-band__item--4::before { background: var(--gta-coral); }
.gta-band__item--5::before { background: var(--gta-blue); }
.gta-band--ink .gta-band__item--2::before { background: #4C917B; }
.gta-band__item-title { font-size: clamp(1.1rem, 0.5vw + 1rem, 1.3rem); font-weight: 700; line-height: 1.3; }
.gta-band__item-desc { color: var(--gta-ink-70); font-size: 0.97rem; }
.gta-band--ink .gta-band__item-desc { color: rgba(255, 255, 255, 0.8); }
.gta .gta-band__cta { margin: clamp(24px, 4vw, 36px) 0 0; }
.gta .gta-band__download { margin: clamp(28px, 4vw, 40px) 0 12px; font-weight: 700; font-size: 1.15rem; }
.gta-band__banner { display: block; width: 100%; height: auto; border-radius: 14px; margin-top: clamp(40px, 6vw, 72px); box-shadow: var(--gta-shadow); }

.gta-section--quiet { padding: clamp(40px, 6vw, 72px) 0; }
.gta .gta-hero--launch .gta-hero__sub { color: rgba(255, 255, 255, 0.85); font-size: clamp(1rem, 0.4vw + 0.92rem, 1.15rem); line-height: 1.55; max-width: 52ch; margin: -4px auto 0; }
.gta-hero__stores { margin-top: 22px; }
.gta-hero__stores .gta-stores { justify-content: center; }
.gta-hero--page .gta-hero__join .gta-btn--large { min-height: 52px; }
.gta-cta-band__inner { display: grid; justify-items: center; gap: 16px; text-align: center; }
.gta-cta-band__inner .gta-h2 { margin: 0; }
.gta .gta-cta-band__more { margin: 8px 0 0; }
.gta .gta-price__terms { margin: 16px 0 0; }
.gta .gta-price__tbc { margin: 10px 0 0; }
.gta .gta-band__para { margin: 0 0 1em; font-size: 1.02rem; max-width: 60ch; }
.gta-band--ink .gta-band__para { color: rgba(255, 255, 255, 0.85); }
.gta .gta-band__list-heading { font-size: 1.1rem; font-weight: 700; margin: 0 0 6px; }
.gta-sections__grid { list-style: none; display: grid; grid-template-columns: 1fr; gap: 12px; }
.gta-sections__card { display: grid; grid-template-columns: 14px 1fr; column-gap: 14px; row-gap: 4px; height: 100%; padding: 20px; border: 1px solid var(--gta-line); border-radius: var(--gta-radius); background: var(--gta-white); color: var(--gta-home-ink); text-decoration: none; transition: transform 0.2s var(--gta-ease), box-shadow 0.2s var(--gta-ease), border-color 0.2s var(--gta-ease); }
.gta .gta-sections__card:hover { color: var(--gta-home-ink); transform: translateY(-2px); box-shadow: var(--gta-shadow-lift); border-color: transparent; }
.gta-sections__card::before { content: ""; grid-row: 1 / span 3; width: 12px; height: 12px; border-radius: 50%; margin-top: 0.45em; background: var(--gta-orange); }
.gta-sections__card.gta-band__item--1::before, .gta-toolkit__heading.gta-band__item--1::before { background: var(--gta-lime); }
.gta-sections__card.gta-band__item--2::before, .gta-toolkit__heading.gta-band__item--2::before { background: var(--gta-teal); }
.gta-sections__card.gta-band__item--3::before, .gta-toolkit__heading.gta-band__item--3::before { background: var(--gta-gold); }
.gta-sections__card.gta-band__item--4::before, .gta-toolkit__heading.gta-band__item--4::before { background: var(--gta-coral); }
.gta-sections__card.gta-band__item--5::before, .gta-toolkit__heading.gta-band__item--5::before { background: var(--gta-blue); }
.gta-sections__name { font-weight: 700; font-size: 1.08rem; }
.gta-sections__desc { color: var(--gta-ink-70); font-size: 0.93rem; }
.gta-sections__url { font-size: 0.85rem; margin-top: 6px; }
.gta-toolkit__groups { display: grid; grid-template-columns: 1fr; gap: 28px; }
.gta .gta-toolkit__heading { display: flex; align-items: center; gap: 10px; font-size: 1.05rem; font-weight: 700; margin: 0 0 8px; }
.gta-toolkit__heading::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--gta-orange); }
.gta-toolkit__list { list-style: none; display: grid; gap: 0; }
.gta-toolkit__list li { padding: 10px 0; border-top: 1px solid var(--gta-ink-12); font-size: 0.93rem; }
.gta-toolkit__tool { display: block; font-weight: 600; }
.gta-toolkit__line { color: var(--gta-ink-70); }
.gta .gta-toolkit__more { margin: 32px 0 0; }
.gta-get-app { background: var(--gta-home-ink); color: var(--gta-white); }
.gta-get-app .gta-h2 { color: var(--gta-white); }
.gta-get-app__inner { display: grid; gap: 32px; }
.gta .gta-get-app__web { margin: 18px 0 0; }
.gta .gta-get-app .gta-arrow { color: var(--gta-home-gold); }
.gta-night__inner { display: grid; gap: 20px; }
.gta-night__head .gta-h2 { margin-bottom: 6px; }
.gta .gta-night__intro { margin: 0; color: var(--gta-ink-70); max-width: 52ch; }
.gta-night__list { list-style: none; display: grid; grid-template-columns: 1fr; gap: 0 40px; align-items: start; }
.gta-night__item { display: grid; grid-template-columns: 14px 1fr; align-content: start; column-gap: 14px; row-gap: 2px; padding: 14px 0; border-top: 1px solid var(--gta-ink-12); }
.gta-night__item::before { content: ""; grid-row: 1 / span 2; width: 12px; height: 12px; border-radius: 50%; margin-top: 0.4em; background: var(--gta-orange); }
.gta-night__item.gta-band__item--1::before { background: var(--gta-lime); }
.gta-night__item.gta-band__item--2::before { background: var(--gta-teal); }
.gta-night__item.gta-band__item--3::before { background: var(--gta-gold); }
.gta-night__item.gta-band__item--4::before { background: var(--gta-coral); }
.gta-night__title { font-weight: 700; }
.gta-night__desc { color: var(--gta-ink-70); font-size: 0.95rem; }
.gta-strip--ink { background: var(--gta-home-ink); }
.gta-foot__social { list-style: none; display: flex; gap: 10px; }
.gta-foot__social a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--gta-home-gold); color: var(--gta-home-ink); transition: transform 0.2s var(--gta-ease), background 0.2s var(--gta-ease); }
.gta-foot__social a:hover { background: #FFD24D; color: var(--gta-home-ink); transform: translateY(-1px); }

/* ---------- Breakpoints ---------- */
@media (min-width: 640px) {
	.gta-sections__grid, .gta-toolkit__groups { grid-template-columns: repeat(2, 1fr); }
	.gta-doors--two { grid-template-columns: repeat(2, 1fr); }
	.gta-countdown--dhm .gta-countdown__unit { padding: 14px 24px 16px; }
	.gta-tiles, .gta-cards, .gta-features, .gta-kit, .gta-doors { grid-template-columns: repeat(2, 1fr); }
	.gta-cards--list { grid-template-columns: 1fr; }
	.gta-logos { grid-template-columns: repeat(3, 1fr); }
	.gta-hero__dots { width: clamp(180px, 28vw, 260px); }
	.gta-countdown__unit { padding: 12px 18px 14px; }
	.gta-form__actions .gta-btn { width: auto; }
	.gta-timeline__item { grid-template-columns: 76px 1fr; }
	.gta-timeline__time { padding-top: 2px; }
	.gta-foot__cols { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
	.gta-sections__grid { grid-template-columns: repeat(3, 1fr); }
	.gta-toolkit__groups { grid-template-columns: repeat(3, 1fr); }
	.gta .gta-doors--two { grid-template-columns: repeat(2, 1fr); }
	.gta-get-app__inner { grid-template-columns: 1.4fr 1fr; align-items: start; }
	.gta-night__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px; align-items: start; }
	.gta-night__list { grid-template-columns: 1fr 1fr; }
	.gta-hero__box { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); align-items: center; gap: 24px; text-align: left; padding-top: 44px; padding-bottom: 44px; }
	.gta-hero--launch .gta-hero__copy { justify-self: start; padding-bottom: 0; }
	.gta .gta-hero--launch .gta-eyebrow, .gta .gta-hero__join { justify-content: flex-start; }
	.gta .gta-hero--launch .gta-hero__sub { margin-left: 0; }
	.gta-hero__stores .gta-stores { justify-content: flex-start; }
	.gta-hero--launch .gta-hero__title { margin-left: 0; }
	.gta-hero__phones { display: block; position: relative; height: 400px; margin: -44px 0; align-self: stretch; }
	.gta-hero__circle { width: 460px; height: 460px; left: auto; right: -120px; top: -10px; margin: 0; }
	.gta-hero__phone--front { width: 210px; left: auto; right: 150px; top: 70px; margin: 0; }
	.gta-hero__phone--back { width: 165px; left: auto; right: 50px; top: 30px; margin: 0; }
	.gta-hero--launch { overflow: hidden; }
	.gta-band__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; align-items: center; }
	.gta-band__statement { font-size: clamp(3rem, 2.6vw + 1.2rem, 3.6rem); }
	.gta-band__phone { width: 280px; margin: 40px 0 0 40px; }
	.gta-band--ink .gta-band__phone { width: 340px; margin-left: 0; }
	.gta-band__phone::before { width: 340px; height: 340px; margin: -170px 0 0 -170px; }
	.gta-rsvp-row__head { grid-template-columns: auto 1fr; align-items: baseline; gap: 24px; }
	.gta-hero__inner { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; gap: 40px; padding-top: clamp(56px, 8vw, 96px); }
	.gta-hero__art { order: 0; margin: 0; justify-self: end; align-self: center; }
	.gta-hero__dots { width: clamp(300px, 30vw, 400px); }
	.gta-tiles, .gta-cards, .gta-features, .gta-doors, .gta-columns { grid-template-columns: repeat(3, 1fr); }
	.gta-cards--list { grid-template-columns: 1fr; }
	.gta-logos { grid-template-columns: repeat(5, 1fr); }
	.gta-split { grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
	.gta-split--wide { grid-template-columns: 1.1fr 0.9fr; }
	.gta-split--form { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
	.gta-split--form .gta-form-card { position: sticky; top: 72px; }
	.gta-foot__inner { grid-template-columns: 1.2fr 1fr; align-items: start; column-gap: 48px; }
	.gta-foot__copy { grid-column: 1 / -1; }
	.gta-timeline__item { grid-template-columns: 96px 1fr; }
}

/* ---------- Mobile pass (Bokang, 16 Sep 2026): phone is the primary target ---------- */
/* Eyebrows in sentence case everywhere: long capital runs are hard to read on a phone. */
.gta .gta-eyebrow { text-transform: none; letter-spacing: 0.01em; font-size: 0.9rem; font-weight: 600; line-height: 1.4; }
.gta .gta-hero--launch .gta-eyebrow { font-size: 0.9rem; letter-spacing: 0.01em; }
/* Anchored sections clear the sticky header. */
.gta [id] { scroll-margin-top: 80px; }
/* Statements and titles never break inside a word. */
.gta-band__statement, .gta-hero__title, .gta-h1, .gta-h2 { overflow-wrap: normal; word-break: normal; hyphens: manual; }
/* Touch targets that are easy to miss at any width. */
.gta .gta-arrow { min-height: 44px; }
.gta-foot__social { gap: 12px; }
.gta .gta-foot__social a { width: 44px; height: 44px; }
.gta .gta-foot__links { gap: 0 20px; }
.gta .gta-foot__links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 1rem; }
.gta-check input { width: 26px; height: 26px; margin-top: 0; }
.gta-check { grid-template-columns: 26px 1fr; align-items: center; }
.gta .gta-check label { padding: 9px 0; }
.gta-banner a.gta-btn { min-height: 44px; }

@media (max-width: 639px), (max-height: 480px) and (orientation: landscape) {
	/* Type: body copy at 16 px. */
	.gta .gta-band__item-desc, .gta .gta-night__desc, .gta .gta-timeline__desc, .gta .gta-tile__desc, .gta .gta-sections__desc,
	.gta .gta-toolkit__line, .gta .gta-toolkit__tool, .gta .gta-card p, .gta .gta-feature p, .gta .gta-quiet, .gta .gta-notice,
	.gta .gta-kit__usage, .gta .gta-field label, .gta .gta-field__help, .gta .gta-field__privacy, .gta .gta-check label,
	.gta .gta-form__note, .gta .gta-price th, .gta .gta-price td, .gta .gta-step p, .gta .gta-faq summary, .gta .gta-faq details > div,
	.gta .gta-rsvp-row__facts, .gta .gta-venue__meta, .gta .gta-band__para, .gta .gta-type-banner, .gta .gta-facts dd { font-size: 1rem; }
	.gta .gta-timeline__speaker, .gta .gta-kit__meta, .gta .gta-kit__pending, .gta .gta-logos__ph, .gta .gta-foot__copy { font-size: 0.95rem; }
	.gta .gta-countdown__l { font-size: 0.72rem; }
	.gta .gta-hero__count-label, .gta .gta-foot__label { font-size: 0.8rem; }

	/* Small labels and buttons. */
	.gta .gta-menu__label, .gta .gta-timeline__key { font-size: 1rem; }
	.gta .gta-foot__links { row-gap: 8px; }
	.gta-menu__list { gap: 6px; }
	.gta .gta-menu__list a { min-height: 48px; border-bottom: 0; border-radius: 10px; padding: 0 12px; background: rgba(255, 255, 255, 0.04); }

	/* Bands: tighter; the phone mock-up sits beside the statement so the list follows straight on. */
	.gta-band__lead { display: grid; grid-template-columns: minmax(0, 1fr) 96px; column-gap: 14px; align-items: start; }
	.gta-band__lead > .gta-band__statement, .gta-band__lead > .gta-band__regions { grid-column: 1; }
	.gta-band__lead > .gta-band__phone { grid-column: 2; grid-row: 1 / span 2; }
	.gta .gta-band__phone { width: 96px; margin: 0; padding-top: 6px; }
	.gta .gta-band__phone::before { width: 118px; height: 118px; margin: -59px 0 0 -59px; }
	.gta .gta-band--ink .gta-band__phone { width: 96px; padding: 10px 8px 6px; border-radius: 14px; }
	.gta .gta-band--ink .gta-band__phone::before { width: 90px; height: 90px; margin: -45px 0 0 -45px; }
	.gta-band { padding: 48px 0; }
	.gta-band__inner { gap: 20px; }
	.gta .gta-band__statement { font-size: clamp(1.85rem, 6.6vw, 2.3rem); line-height: 1.06; }
	.gta-band__statement::before { width: 14px; height: 14px; box-shadow: 22px 0 0 var(--gta-lime), 44px 0 0 var(--gta-gold); margin-bottom: 14px; }
	.gta .gta-band__regions { margin-top: 12px; }
	.gta-band__item { padding: 13px 0; column-gap: 12px; grid-template-columns: 14px 1fr; }
	.gta-band__item::before { width: 12px; height: 12px; }
	.gta .gta-band__cta { margin-top: 22px; }
	.gta .gta-band__download { margin-top: 24px; }
	.gta-band__banner { margin-top: 28px; border-radius: 10px; }
	.gta-section { padding: 44px 0; }
	.gta-section--quiet { padding: 40px 0; }
	.gta-section__head { margin-bottom: 20px; }

	/* /app: "Inside the app" as a swipeable row with the next card peeking in; toolkit shows tool names. */
	.gta-sections__grid { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; margin: 0 calc(var(--gta-gap) * -1); padding: 4px var(--gta-gap) 12px; scroll-padding: 0 var(--gta-gap); scrollbar-width: none; }
	.gta-sections__grid::-webkit-scrollbar { display: none; }
	.gta-sections__grid > li { flex: 0 0 78%; scroll-snap-align: start; }
	.gta-sections__card { padding: 16px; row-gap: 2px; }
	.gta .gta-sections__url { display: none; }
	.gta-toolkit__groups { gap: 18px; }
	.gta .gta-toolkit__list { grid-template-columns: 1fr 1fr; column-gap: 12px; }
	.gta-toolkit__list li { display: flex; align-items: center; min-height: 44px; padding: 6px 0; }
	.gta .gta-toolkit__line { display: none; }

	/* Vendors: who, what you need and steps closer together. */
	.gta-checklist { gap: 6px; }
	.gta-steps { gap: 10px; }
	.gta-stack > * + * { margin-top: 24px; }

	/* Launch: venue map shorter, RSVP doors compact. */
	.gta-map { aspect-ratio: 16 / 10; }
	.gta-tiles--compact .gta-tile { padding: 14px 16px; }

	/* RSVP pages: facts compact so the first fields come sooner. */
	.gta-rsvp-page .gta-type-banner { margin-bottom: 12px; }
	.gta-rsvp-page .gta-h1 { font-size: 2rem; margin-bottom: 10px; }
	.gta-rsvp-page .gta-lead { margin-bottom: 14px; }
	.gta-facts { gap: 6px; padding: 12px 14px; margin-bottom: 20px; }
	.gta-facts div { grid-template-columns: 58px 1fr; gap: 8px; }
	.gta-form-card { padding: 18px 16px; border-radius: 16px; }
	.gta-form-card > .gta-h2 { margin-bottom: 12px; }
	.gta-form { gap: 16px; }

	/* Press kit compact: no thumbnail while an asset is still pending (its type shows in the meta line). */
	.gta-kit { gap: 8px; }
	.gta-kit__item { grid-template-columns: 56px 1fr; gap: 12px; padding: 12px; }
	.gta-kit__item.is-pending { grid-template-columns: 1fr; }
	.gta-kit__item.is-pending .gta-kit__thumb { display: none; }
	.gta .gta-kit__title { margin-bottom: 2px; }
	.gta .gta-kit__meta { margin-bottom: 2px; }
	.gta .gta-kit__usage { margin-bottom: 2px; }

	/* Programme timeline tighter. */
	.gta-timeline__item { padding: 10px 0; gap: 0; }
	.gta-timeline__item::before { top: 15px; }
	.gta .gta-timeline__title { margin-bottom: 2px; }
	.gta .gta-timeline__speaker { font-size: 1rem; }

	/* Night list tighter. */
	.gta-night__item { padding: 10px 0; }

	/* Footer. */
	.gta-foot { padding: 36px 0 24px; }
	.gta-foot__inner { gap: 22px; }
	.gta-foot__cols { gap: 16px; }
}

/* Phone landscape: short screens get a shorter hero. */
@media (max-height: 480px) and (orientation: landscape) {
	.gta .gta-hero--launch .gta-hero__title { font-size: 1.8rem; margin-bottom: 10px; }
	.gta-hero__box { padding-top: 16px; padding-bottom: 20px; }
	.gta .gta-hero__join { margin-top: 14px; }
	.gta-header { position: static; }
}

/* ---------- Motion ---------- */
@media (prefers-reduced-motion: reduce) {
	.gta *, .gta-banner * { transition: none !important; animation: none !important; }
	.gta-btn:hover, .gta-tile:hover, .gta-store:hover { transform: none; }
	.gta-tile:hover .gta-tile__dot { transform: none; }
}

/* ---------- Print (fact sheet) ---------- */
@media print {
	.gta-header, .gta-foot, .gta-banner, .gta-no-print, .gta-hero__art { display: none !important; }
	.gta { color: #000; background: #fff; }
	.gta-section { padding: 12pt 0; }
	.gta-factsheet { border: 0; padding: 0; box-shadow: none; }
	.gta a { color: #000; text-decoration: none; }
	@page { size: A4; margin: 18mm; }
}

/* ---------- Small layout helpers ---------- */
.gta-timeline__more { margin: 1.8em 0 0; }
.gta-cards__after { margin-top: 1.2em; }
.gta-split--venue > div:first-child p:last-child { margin-bottom: 0; }
