/* Audience pages (Events, Startups, Agencies, E-commerce and the rest). Prefix au-.
   Shared skeleton, so the pages read as siblings:
     1. Hero            eyebrow = audience name, one green word, lead, CTAs, one audience-specific visual   (required)
     2. Why it fits     three numbered reasons, written for this audience                                     (required)
     3. Audience module one section only this audience needs (Events: a campaign in phases)                  (optional, one per page)
     4. What it costs   three or four board types that suit this audience, plus a worked example (locale)   (required)
     5. Proof           one case study or customer line                                                       (required when we have one)
     6. FAQ             questions for this audience (the Industries CMS item feeds these)                     (required)
     7. Other audiences links to the sibling pages                                                            (required)
     8. Close panel     same as every page                                                                    (required)
   Reuses base.css plus the close panel from home.css. */

.au-hero { padding-bottom: clamp(56px, 6vw, 112px); }
.au-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(40px, 6vw, 120px); align-items: center; }
.au-hero .cs-display { font-size: clamp(44px, 5.6vw, 96px); }

/* reasons */
.au-reasons { margin-top: 56px; border-top: 1px solid var(--cs-border-strong); }
.au-reason { display: grid; grid-template-columns: 96px minmax(220px, .9fr) 1.4fr; gap: 28px clamp(24px, 3vw, 56px); align-items: start; padding: 36px 16px; border-bottom: 1px solid var(--cs-border-strong); }
.au-reason-num { font-weight: 800; font-size: clamp(52px, 5vw, 80px); line-height: .85; letter-spacing: -0.05em; color: transparent; -webkit-text-stroke: 2px var(--cs-green); }
.au-reason-title { font-size: clamp(26px, 2.8vw, 42px); line-height: 1.02; letter-spacing: -0.03em; }
.au-reason-text { font-size: 19px; line-height: 1.5; color: #b3cacf; max-width: 640px; }

/* campaign in phases (Events module and hero visual) */
.au-phases { position: relative; display: grid; gap: 14px; padding-left: 44px; }
.au-phases::before { content: ''; position: absolute; left: 15px; top: 14px; bottom: 14px; width: 3px; border-radius: 3px; background: var(--cs-dark4); }
.au-phase { position: relative; padding: 18px 22px; border-radius: 18px; border: 1.5px solid var(--cs-dark4); background: var(--cs-grad-panel); opacity: .55; animation: au-phase 16s infinite; }
.au-phase::before { content: ''; position: absolute; left: -41px; top: 50%; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%; background: var(--cs-dark1); border: 3px solid var(--cs-dark4); animation: au-node 16s infinite; animation-delay: inherit; }
.au-phase:nth-child(1), .au-phase:nth-child(1)::before { animation-delay: 0s; }
.au-phase:nth-child(2), .au-phase:nth-child(2)::before { animation-delay: 4s; }
.au-phase:nth-child(3), .au-phase:nth-child(3)::before { animation-delay: 8s; }
.au-phase:nth-child(4), .au-phase:nth-child(4)::before { animation-delay: 12s; }
.au-phase-when { font-family: var(--cs-font-label); font-weight: 800; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--cs-green); }
.au-phase-title { font-size: clamp(22px, 2vw, 30px); margin-top: 4px; }
.au-phase-ad { display: inline-block; margin-top: 10px; padding: 6px 14px; border-radius: 8px; background: var(--cs-pale); color: var(--cs-dark1); font-weight: 800; font-size: 15px; }
.au-phase-note { font-size: 16px; margin-top: 8px; color: var(--cs-text-soft); }
@keyframes au-phase { 0%, 4% { opacity: .55; border-color: var(--cs-dark4); box-shadow: none; } 8%, 24% { opacity: 1; border-color: var(--cs-green-bright); box-shadow: 0 0 40px rgba(37, 242, 26, .25); } 28%, 100% { opacity: .55; border-color: var(--cs-dark4); box-shadow: none; } }
@keyframes au-node { 0%, 4% { background: var(--cs-dark1); border-color: var(--cs-dark4); } 8%, 24% { background: var(--cs-green-bright); border-color: var(--cs-green-bright); } 28%, 100% { background: var(--cs-dark1); border-color: var(--cs-dark4); } }
.au-illustrative { position: static; display: block; margin-top: 16px; text-align: right; }

.au-module { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 6vw, 120px); align-items: center; }

/* cost */
.au-cost-top { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 96px); align-items: end; }
.au-example { display: grid; grid-template-columns: repeat(2, auto); justify-content: start; gap: 12px clamp(24px, 3vw, 56px); padding: 28px 32px; border-radius: var(--cs-radius-panel); border: 1.5px solid var(--cs-dark4); background: var(--cs-grad-panel); }
.au-example-item b { display: block; font-weight: 800; font-size: clamp(30px, 3vw, 46px); line-height: 1; letter-spacing: -0.03em; color: var(--cs-pale); font-variant-numeric: tabular-nums; }
.au-example-item span { display: block; font-family: var(--cs-font-label); font-weight: 800; font-size: 12px; letter-spacing: .07em; text-transform: uppercase; color: var(--cs-text-faint); margin-top: 8px; }
.au-example-note { grid-column: 1 / -1; font-size: 14px; color: var(--cs-text-faint); }

/* proof */
.au-proof { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px, 6vw, 112px); align-items: center; }
.au-proof-date { font-family: var(--cs-font-label); font-weight: 800; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--cs-text-faint); }
.au-proof-title { font-size: clamp(32px, 4vw, 60px); line-height: 1; letter-spacing: -0.03em; margin-top: 14px; }
.au-proof-text { font-size: 20px; line-height: 1.5; margin-top: 18px; color: #b3cacf; max-width: 620px; }

/* faq */
.au-faq { margin-top: 48px; border-top: 1px solid var(--cs-border-strong); }
.au-q { border-bottom: 1px solid var(--cs-border-strong); }
.au-q summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 84px; padding: 22px 8px; list-style: none; cursor: pointer; font-weight: 800; font-size: clamp(20px, 2vw, 28px); line-height: 1.2; letter-spacing: -0.02em; color: var(--cs-text); }
.au-q summary::-webkit-details-marker { display: none; }
.au-q summary::after { content: '+'; flex: 0 0 auto; font-weight: 400; font-size: 36px; line-height: 1; color: var(--cs-green-bright); transition: transform .2s; }
.au-q[open] summary::after { transform: rotate(45deg); }
.au-q summary:hover { color: var(--cs-green-bright); }
.au-a { padding: 0 8px 28px; max-width: 760px; font-size: 18px; line-height: 1.55; color: #b3cacf; }

@media (prefers-reduced-motion: reduce) {
  .au-phase, .au-phase::before { animation: none; }
  .au-phase { opacity: 1; }
}
@media (max-width: 991px) {
  .au-hero-grid, .au-module, .au-cost-top, .au-proof { grid-template-columns: 1fr; gap: 40px; }
  .au-reason { grid-template-columns: 72px 1fr; }
  .au-reason-text { grid-column: 2; }
  .au-sib-text { display: none; }
}
@media (max-width: 479px) {
  .au-example { grid-template-columns: 1fr 1fr; padding: 22px; }
  .au-reason { grid-template-columns: 1fr; gap: 14px; padding: 28px 4px; }
  .au-reason-text { grid-column: 1; }
}

/* Events module: the venue map */
.au-map { display: flex; flex-direction: column; align-items: flex-start; }
.au-map-svg { width: 100%; height: auto; }
.au-ring { stroke: rgba(59, 214, 43, .22); stroke-width: 1.5; stroke-dasharray: 4 7; }
.au-route { fill: none; stroke: #1d3f48; stroke-width: 9; stroke-linecap: round; }
.au-route--minor { stroke-width: 5; opacity: .7; }
.au-pin circle { fill: #25f21a; filter: drop-shadow(0 0 8px rgba(37, 242, 26, .9)); animation: au-pulse 3.2s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.au-pin--2 circle { animation-delay: .4s; } .au-pin--3 circle { animation-delay: .8s; } .au-pin--4 circle { animation-delay: 1.2s; } .au-pin--5 circle { animation-delay: 1.6s; } .au-pin--6 circle { animation-delay: 2s; } .au-pin--7 circle { animation-delay: 2.4s; }
.au-venue { filter: drop-shadow(0 0 22px rgba(214, 255, 210, .8)); }
.au-label { font-family: var(--cs-font-label); font-weight: 800; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; fill: #f8f8f8; }
@keyframes au-pulse { 0%, 100% { transform: scale(1); opacity: .85; } 50% { transform: scale(1.35); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .au-pin circle { animation: none; } }

/* module legend: dots match the pins on the map */
.au-keys { display: grid; gap: 28px; margin-top: 40px; }
.au-key { display: flex; align-items: flex-start; gap: 20px; }
.au-key-dot { flex: 0 0 auto; width: 22px; height: 22px; margin-top: 6px; border-radius: 50%; }
.au-key-dot--near { background: var(--cs-pale); box-shadow: 0 0 18px rgba(214, 255, 210, .7); }
.au-key-dot--route { background: var(--cs-green-bright); box-shadow: 0 0 18px rgba(37, 242, 26, .7); }
.au-key-dot--around { border: 3px solid var(--cs-green-bright); background: transparent; }
.au-key h3 { font-size: clamp(24px, 2.4vw, 34px); line-height: 1.05; letter-spacing: -0.02em; }
.au-key p { font-size: 18px; margin-top: 6px; color: var(--cs-text-soft); }
.au-pin--near circle { fill: #d6ffd2; filter: drop-shadow(0 0 8px rgba(214, 255, 210, .9)); }
.au-pin--around circle { fill: #0a2229; stroke: #25f21a; stroke-width: 3; filter: none; }

/* ---- Proof: a real case study card ---- */
.au-case { display: grid; grid-template-columns: 1.05fr .95fr; gap: 0; margin-top: 8px; border-radius: 28px; overflow: hidden; border: 1.5px solid var(--cs-dark4); background: var(--cs-grad-panel); text-decoration: none; color: inherit; transition: border-color .2s, box-shadow .2s; }
.au-case:hover, .au-case:focus-visible { border-color: var(--cs-green-bright); box-shadow: var(--cs-shadow-glow); }
.au-case-media { margin: 0; min-height: 420px; position: relative; background: var(--cs-dark3); }
.au-case-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.au-case:hover .au-case-media img { transform: scale(1.03); }
.au-case-body { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 4vw, 64px); }
.au-case-brand { display: flex; align-items: center; gap: 16px; }
.au-case-logo { height: 44px; width: auto; max-width: 120px; object-fit: contain; }
.au-case-brand > span { display: flex; flex-direction: column; font-weight: 800; font-size: 17px; color: var(--cs-text); }
.au-case-brand em { font-style: normal; font-weight: 400; font-size: 15px; color: var(--cs-text-soft); }
.au-case-title { font-size: clamp(30px, 3.4vw, 54px); line-height: 1.02; letter-spacing: -0.03em; margin-top: 28px; }
.au-case-text { font-size: 18px; line-height: 1.5; margin-top: 18px; color: #b3cacf; }
.au-case-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--cs-border-strong); }
.au-case-stats b { display: block; font-weight: 800; font-size: clamp(26px, 2.6vw, 40px); line-height: 1; letter-spacing: -0.03em; color: var(--cs-green-bright); font-variant-numeric: tabular-nums; }
.au-case-stats span { display: block; margin-top: 8px; font-size: 13px; line-height: 1.3; font-family: var(--cs-font-label); font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--cs-text-faint); }
.au-case-link { margin-top: 28px; font-weight: 800; font-size: 17px; color: var(--cs-pale); }
.au-others-label { margin-top: 56px; }
.au-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 20px clamp(28px, 4vw, 64px); margin-top: 20px; }
.au-logo-img { display: block; height: 36px; width: auto; max-width: 150px; object-fit: contain; filter: brightness(0) invert(1); opacity: .8; }

/* ---- Other audiences: icon, name, real customers, arrow ---- */
.au-sibs { margin-top: 48px; border-top: 1px solid var(--cs-border-strong); }
.au-sib { display: grid; grid-template-columns: 56px minmax(220px, 1fr) minmax(260px, 1.2fr) 40px; align-items: center; gap: 28px; padding: 26px 16px; border-bottom: 1px solid var(--cs-border-strong); text-decoration: none; transition: background .2s; }
.au-sib-item { list-style: none; }
.au-sib:hover, .au-sib:focus-visible { background: linear-gradient(90deg, rgba(59, 214, 43, .14), rgba(59, 214, 43, 0)); }
.au-sib-icon { width: 28px; height: 28px; padding: 14px; box-sizing: content-box; border-radius: 16px; background: rgba(59, 214, 43, .12); color: var(--cs-green-bright); transition: background .2s, color .2s; }
.au-sib:hover .au-sib-icon { background: var(--cs-green-bright); color: var(--cs-dark1); }
.au-sib-main { display: flex; flex-direction: column; gap: 6px; }
.au-sib-name { font-weight: 800; font-size: clamp(26px, 3vw, 42px); line-height: 1; letter-spacing: -0.03em; color: var(--cs-text); transition: color .2s; }
.au-sib:hover .au-sib-name { color: var(--cs-green-bright); }
.au-sib-text { display: block; flex: none; max-width: none; font-size: 17px; color: var(--cs-text-soft); }
.au-sib-logos { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; }
.au-sib-logos .au-logo-img { height: 28px; max-width: 110px; opacity: .7; }
.au-sib-arrow { justify-self: end; font-size: 30px; color: var(--cs-green-bright); transition: transform .2s; }
.au-sib:hover .au-sib-arrow { transform: translateX(6px); }

@media (max-width: 991px) {
  .au-case { grid-template-columns: 1fr; }
  .au-case-media { min-height: 280px; }
  .au-sib { grid-template-columns: 56px 1fr 32px; gap: 8px 20px; }
  .au-sib-logos { grid-column: 2 / 3; grid-row: 2; margin-top: 8px; }
  .au-sib-icon { grid-row: 1 / span 2; align-self: start; }
  .au-sib-arrow { grid-row: 1 / span 2; grid-column: 3; align-self: center; }
}
@media (max-width: 479px) {
  .au-case-stats { grid-template-columns: 1fr 1fr; }
  .au-sib { grid-template-columns: 48px 1fr; }
  .au-sib-arrow { display: none; }
  .au-sib-icon { width: 22px; height: 22px; padding: 12px; }
}

/* Startups hero visual: test, learn, scale */
.au-ladder { display: grid; gap: 18px; }
.au-rung { display: grid; grid-template-columns: minmax(120px, 170px) 1fr; grid-template-areas: 'label bar' 'budget plays'; align-items: center; gap: 10px 24px; padding: 22px 26px; border-radius: 22px; border: 1.5px solid var(--cs-dark4); background: var(--cs-grad-panel); }
.au-rung-label { grid-area: label; font-family: var(--cs-font-label); font-weight: 800; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--cs-green); }
.au-rung-budget { grid-area: budget; font-weight: 800; font-size: clamp(34px, 3.4vw, 54px); line-height: 1; letter-spacing: -0.03em; color: var(--cs-green-bright); font-variant-numeric: tabular-nums; }
.au-rung-bar { grid-area: bar; height: 14px; border-radius: 999px; background: var(--cs-dark3); position: relative; overflow: hidden; }
.au-rung-bar::after { content: ''; position: absolute; inset: 0 auto 0 0; width: var(--w); border-radius: 999px; background: linear-gradient(90deg, rgba(59, 214, 43, .45), #25f21a); transform-origin: left; animation: au-grow 1.2s cubic-bezier(.2, .8, .2, 1) both; box-shadow: 0 0 18px rgba(37, 242, 26, .5); }
.au-rung--1 { --w: 18%; } .au-rung--2 { --w: 48%; } .au-rung--3 { --w: 100%; }
.au-rung--2 .au-rung-bar::after { animation-delay: .25s; } .au-rung--3 .au-rung-bar::after { animation-delay: .5s; }
.au-rung-plays { grid-area: plays; font-size: 16px; color: var(--cs-text-soft); }
.au-rung-plays b { color: var(--cs-text); font-weight: 800; font-variant-numeric: tabular-nums; }
@keyframes au-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) { .au-rung-bar::after { animation: none; } }
@media (max-width: 479px) { .au-rung { grid-template-columns: 1fr; grid-template-areas: 'label' 'budget' 'bar' 'plays'; padding: 20px; } }

/* Agencies hero visual: one account, a space per client */
.au-org { display: flex; flex-direction: column; align-items: stretch; }
.au-org-top { align-self: center; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 20px 40px; border-radius: 22px; background: var(--cs-green); color: var(--cs-dark1); box-shadow: 0 0 60px rgba(59, 214, 43, .35); }
.au-org-top b { font-weight: 800; font-size: clamp(22px, 2.2vw, 30px); letter-spacing: -0.02em; }
.au-org-top span { font-family: var(--cs-font-label); font-weight: 800; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; opacity: .75; }
.au-org-trunk { align-self: center; position: relative; width: 3px; height: 44px; background: var(--cs-dark4); overflow: hidden; }
.au-org-trunk::after { content: ''; position: absolute; left: 0; width: 100%; height: 14px; background: var(--cs-green-bright); box-shadow: 0 0 12px #25f21a; animation: au-flow 2.4s linear infinite; }
@keyframes au-flow { from { top: -14px; } to { top: 100%; } }
.au-org-clients { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; padding-top: 18px; border-top: 3px solid var(--cs-dark4); }
.au-org-client { display: flex; flex-direction: column; gap: 6px; padding: 18px; border-radius: 18px; border: 1.5px solid var(--cs-dark4); background: var(--cs-grad-panel); }
.au-org-client b { font-weight: 800; font-size: 19px; letter-spacing: -0.01em; color: var(--cs-text); }
.au-org-client > span { font-size: 15px; color: var(--cs-text-soft); }
.au-org-roles { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.au-org-roles i { font-style: normal; font-family: var(--cs-font-label); font-weight: 800; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; padding: 4px 9px; border-radius: 999px; border: 1.5px solid var(--cs-border-strong); color: var(--cs-pale); }

/* Agencies module: clone a campaign */
.au-clone { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; }
.au-clone-src, .au-clone-copy { padding: 18px 20px; border-radius: 18px; border: 1.5px solid var(--cs-dark4); background: var(--cs-grad-panel); }
.au-clone-src { border-color: var(--cs-green); box-shadow: 0 0 40px rgba(59, 214, 43, .2); }
.au-clone-copies { display: grid; gap: 14px; }
.au-clone-copy { opacity: 0; transform: translateX(-10px); animation: au-copy 8s infinite; }
.au-clone-copy--2 { animation-delay: .8s; }
@keyframes au-copy { 0%, 6% { opacity: 0; transform: translateX(-10px); } 14%, 92% { opacity: 1; transform: none; } 100% { opacity: 0; } }
.au-clone-name { font-weight: 800; font-size: 17px; letter-spacing: -0.01em; color: var(--cs-text); margin-bottom: 10px; }
.au-clone-row { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; font-size: 14px; color: var(--cs-text-soft); }
.au-clone-row b { font-weight: 700; color: var(--cs-text); text-align: right; }
.au-clone-row--new b { color: var(--cs-dark1); background: var(--cs-green-bright); padding: 1px 8px; border-radius: 6px; }
.au-clone-arrow { display: grid; place-items: center; }
.au-clone-arrow span { font-family: var(--cs-font-label); font-weight: 800; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--cs-green-bright); padding: 8px 12px; border-radius: 999px; border: 2px solid var(--cs-green-bright); }
@media (prefers-reduced-motion: reduce) { .au-org-trunk::after { animation: none; } .au-clone-copy { animation: none; opacity: 1; transform: none; } }
@media (max-width: 991px) { .au-org-clients { grid-template-columns: 1fr; } .au-clone { grid-template-columns: 1fr; } .au-clone-arrow { justify-self: start; } }

/* two stats instead of three; mono logo for dark logos */
.au-case-stats--two { grid-template-columns: repeat(2, 1fr); }
.au-case-logo--mono { filter: brightness(0) invert(1); }

/* Retail hero visual: a board and a sale week */
.au-sched { width: 100%; aspect-ratio: auto; }

/* paint the hours when the grid scrolls into view */
.au-sched:not(.is-live) .sc-cell--on { animation: none; }

/* ---- newer audience pages: bespoke module pieces ---- */
@media (max-width: 991px) { .au2-callouts { display: none; } .au2-board .bb { margin: 0 auto; } }


/* hero scenes on the newer audience pages */
.au-scene { display: flex; flex-direction: column; align-items: flex-start; }
.au-scene-svg { width: 100%; height: auto; filter: drop-shadow(0 30px 60px rgba(0, 0, 0, .4)); }

/* ===== newer audience pages, round 2: animated heroes and modules (every loop has a visible resting state) ===== */

/* education: a countdown ticket and a board whose message escalates */
.au2-ticket { --stub: 26%; position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; padding: 18px 28px; transform: rotate(-1.6deg); border-radius: 16px; background: linear-gradient(135deg, var(--cs-pale), #b9f7b2); color: var(--cs-dark1); box-shadow: 0 24px 60px rgba(0, 0, 0, .35), 0 0 70px rgba(37, 242, 26, .16); -webkit-mask: radial-gradient(circle 12px at var(--stub) 0, #0000 97%, #000), radial-gradient(circle 12px at var(--stub) 100%, #0000 97%, #000); -webkit-mask-composite: source-in; mask: radial-gradient(circle 12px at var(--stub) 0, #0000 97%, #000), radial-gradient(circle 12px at var(--stub) 100%, #0000 97%, #000); mask-composite: intersect; }
.au2-ticket-k { flex: 0 0 calc(var(--stub) - 28px); font-family: var(--cs-font-label); font-weight: 800; font-size: 13px; line-height: 1.2; letter-spacing: .1em; text-transform: uppercase; }
.au2-ticket::after { content: ''; position: absolute; left: var(--stub); top: 14px; bottom: 14px; border-left: 2px dashed rgba(0, 26, 35, .35); }
.au2-count { flex: 1; height: 1.1em; overflow: hidden; font-weight: 800; font-size: clamp(34px, 4vw, 54px); line-height: 1.1; letter-spacing: -0.035em; }
.au2-count-strip { display: block; animation: au2-count 12s ease-in-out infinite; }
.au2-count-strip b { display: block; height: 1.1em; padding-left: 8px; }
@keyframes au2-count { 0%, 20% { transform: translateY(0); } 25%, 45% { transform: translateY(-25%); } 50%, 70% { transform: translateY(-50%); } 75%, 95% { transform: translateY(-75%); } 100% { transform: translateY(0); } }
.au2-ticket-n { font-family: var(--cs-font-label); font-weight: 800; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }

/* causes: tick cards and a "won't fly" stamp (the carousel treatment) */

/* health and professional: a schedule control, like the app */
.au2-sched { width: 100%; max-width: 520px; padding: clamp(22px, 2.6vw, 34px); border-radius: 24px; border: 1.5px solid var(--cs-dark4); background: var(--cs-grad-panel); box-shadow: 0 30px 70px rgba(0, 0, 0, .35); }
.au2-sched-title { font-weight: 800; font-size: clamp(22px, 2vw, 28px); letter-spacing: -0.02em; color: var(--cs-text); }
.au2-days { display: flex; gap: 8px; margin-top: 20px; }
.au2-day { flex: 1; display: grid; place-items: center; height: 44px; border-radius: 12px; border: 1.5px solid var(--cs-dark4); background: rgba(255, 255, 255, .03); font-weight: 800; font-size: 15px; color: var(--cs-text-faint); }
.au2-day--on { border-color: var(--cs-green-bright); background: rgba(37, 242, 26, .16); color: var(--cs-pale); }
.au2-day--sat { animation: au2-day 9s ease-in-out infinite; }
@keyframes au2-day { 0%, 35% { border-color: var(--cs-dark4); background: rgba(255, 255, 255, .03); color: var(--cs-text-faint); } 45%, 85% { border-color: var(--cs-green-bright); background: rgba(37, 242, 26, .16); color: var(--cs-pale); } 100% { border-color: var(--cs-dark4); background: rgba(255, 255, 255, .03); color: var(--cs-text-faint); } }
.au2-track { position: relative; height: 46px; margin-top: 30px; border-radius: 23px; background: #0b2128; box-shadow: inset 0 0 0 1.5px var(--cs-dark4); }
.au2-range { position: absolute; top: 6px; bottom: 6px; left: 33.3%; width: 41.7%; border-radius: 17px; background: linear-gradient(90deg, #5cf04b, #1f9a2e); box-shadow: 0 0 26px rgba(37, 242, 26, .45); animation: au2-hours 10s ease-in-out infinite; }
.au2-range i { position: absolute; top: 50%; width: 8px; height: 22px; margin-top: -11px; border-radius: 4px; background: #d6ffd2; }
.au2-range i:first-of-type { left: 8px; } .au2-range i:nth-of-type(2) { right: 8px; }
@keyframes au2-hours { 0%, 38% { left: 33.3%; width: 41.7%; } 50%, 88% { left: 29.2%; width: 50%; } 100% { left: 33.3%; width: 41.7%; } }
.au2-ping { position: absolute; top: 50%; width: 9px; height: 9px; margin-top: -4.5px; border-radius: 50%; background: #001a23; animation: au2-blip 2.4s ease-in-out infinite; }
.au2-ping--1 { left: 22%; } .au2-ping--2 { left: 42%; animation-delay: .5s; } .au2-ping--3 { left: 62%; animation-delay: 1s; } .au2-ping--4 { left: 82%; animation-delay: 1.5s; }
@keyframes au2-blip { 0%, 100% { opacity: .35; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.35); } }
.au2-hours { display: flex; justify-content: space-between; margin-top: 10px; font-family: var(--cs-font-mono, 'Fira Code', monospace); font-size: 12px; color: var(--cs-text-faint); }
.au2-sched-note { margin-top: 18px; font-size: 15px; color: var(--cs-text-soft); } .au2-sched-note b { color: var(--cs-text); }

@media (prefers-reduced-motion: reduce) {
  .sc-cr--a, .sc-cr--b, .sc-vehicle, .sc-ants, .sc-bob, .sc-hand, .sc-sway, .sc-pulse, .au2-count-strip, .au2-ad--1, .au2-ad--2, .au2-ad--3, .au2-ad--4, .au2-card, .au2-tick, .au2-stamp, .au2-day--sat, .au2-range, .au2-ping { animation: none; }
  .sc-cr--b, .au2-ad--2, .au2-ad--3, .au2-ad--4 { opacity: 0; }
}

/* ===== round 3: value-proposition heroes (cards), the year planner and the type collapse ===== */
.au2h-card { width: 100%; max-width: 520px; padding: clamp(22px, 2.6vw, 34px); border-radius: 26px; border: 1.5px solid var(--cs-dark4); background: var(--cs-grad-panel); box-shadow: 0 30px 70px rgba(0, 0, 0, .35); }
.au2h-card--chart { max-width: 560px; padding-top: clamp(26px, 3vw, 40px); }
.au2h-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-weight: 800; font-size: clamp(22px, 2vw, 28px); letter-spacing: -0.02em; color: var(--cs-text); }
.au2h-pill { padding: 5px 12px; border-radius: 999px; background: var(--cs-green-bright); color: var(--cs-dark1); font-family: var(--cs-font-label); font-weight: 800; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.au2h-pill--run { animation: au2h-run 2.4s ease-in-out infinite; }
@keyframes au2h-run { 0%, 100% { box-shadow: 0 0 0 0 rgba(37, 242, 26, .5); } 50% { box-shadow: 0 0 0 8px rgba(37, 242, 26, 0); } }
.au2h-foot, .au2h-cap { margin-top: 18px; font-size: 15px; color: var(--cs-text-soft); }
.au2h-cap { margin: 14px 0 0; color: var(--cs-text-faint); }

/* local: four steps tick through to live */
.au2h-steps { margin-top: 18px; border-top: 1px solid var(--cs-border-strong); }
.au2h-step { display: flex; align-items: center; gap: 16px; padding: 16px 4px; border-bottom: 1px solid var(--cs-border-strong); animation: au2h-step 9s ease-in-out infinite; animation-delay: calc(var(--i) * 1.6s); }
.au2h-step b { display: block; font-weight: 800; font-size: clamp(19px, 1.7vw, 24px); letter-spacing: -0.02em; color: var(--cs-text); }
.au2h-step em { display: block; margin-top: 2px; font-style: normal; font-size: 15px; color: var(--cs-text-faint); }
.au2h-step em b { display: inline; font-size: inherit; color: var(--cs-pale); }
.au2h-check { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 2px solid var(--cs-dark4); color: transparent; font-weight: 800; animation: au2h-check 9s ease-in-out infinite; animation-delay: calc(var(--i) * 1.6s); }
@keyframes au2h-step { 0%, 22% { background: linear-gradient(90deg, rgba(59, 214, 43, .16), rgba(59, 214, 43, 0)); } 28%, 100% { background: transparent; } }
@keyframes au2h-check { 0% { background: transparent; border-color: var(--cs-dark4); color: transparent; transform: scale(1); } 8% { transform: scale(1.18); } 12%, 90% { background: var(--cs-green-bright); border-color: var(--cs-green-bright); color: var(--cs-dark1); transform: scale(1); } 100% { background: transparent; border-color: var(--cs-dark4); color: transparent; } }

/* education: the ticket sits above the graph */
.au2-ticket--hero { max-width: none; margin-bottom: 14px; padding: 14px 24px; }
.au2h-card--chart .au2-count { font-size: clamp(30px, 3.2vw, 44px); }
.au2h-bar { transform-box: fill-box; transform-origin: 50% 100%; animation: au2h-grow 12s ease-in-out infinite; animation-delay: calc(var(--i) * 70ms); }
@keyframes au2h-grow { 0% { transform: scaleY(.06); } 38%, 90% { transform: scaleY(1); } 100% { transform: scaleY(.06); } }
.au2h-flag { transform-box: fill-box; transform-origin: 0 100%; animation: au2h-wave 2.4s ease-in-out infinite; }
@keyframes au2h-wave { 0%, 100% { transform: skewY(0deg); } 50% { transform: skewY(-6deg); } }

/* causes: a fund that drains, then tops up */
.au2h-amount { margin-top: 14px; font-weight: 800; font-size: clamp(44px, 5vw, 68px); line-height: 1; letter-spacing: -0.04em; color: var(--cs-text); }
.au2h-meter { margin-top: 18px; height: 16px; border-radius: 8px; background: #0b2128; box-shadow: inset 0 0 0 1.5px var(--cs-dark4); overflow: hidden; }
.au2h-meter-fill { display: block; height: 100%; border-radius: 8px; background: linear-gradient(90deg, #5cf04b, #1f9a2e); box-shadow: 0 0 20px rgba(37, 242, 26, .5); transform-origin: left; animation: au2h-drain 10s ease-in-out infinite; }
@keyframes au2h-drain { 0% { transform: scaleX(1); } 70% { transform: scaleX(.34); } 78% { transform: scaleX(.34); } 88%, 100% { transform: scaleX(1); } }
.au2h-ticks { display: flex; gap: 6px; margin-top: 14px; }
.au2h-ticks i { flex: 1; height: 6px; border-radius: 3px; background: var(--cs-dark4); animation: au2h-tick 2s ease-in-out infinite; animation-delay: calc(var(--i) * .2s); }
@keyframes au2h-tick { 0%, 100% { background: var(--cs-dark4); } 30% { background: var(--cs-green-bright); box-shadow: 0 0 10px rgba(37, 242, 26, .7); } }
.au2h-fundrow { display: flex; justify-content: space-between; gap: 12px; margin-top: 14px; font-size: 15px; color: var(--cs-text-faint); }
.au2h-fundrow b { color: var(--cs-pale); }
.au2h-btns { display: flex; gap: 10px; margin-top: 18px; }
.au2h-btn { flex: 1; display: grid; place-items: center; height: 46px; border-radius: 14px; border: 1.5px solid var(--cs-dark4); font-weight: 800; font-size: 15px; color: var(--cs-text-soft); }
.au2h-btn--top { border-color: var(--cs-green-bright); background: rgba(37, 242, 26, .12); color: var(--cs-pale); animation: au2h-top 10s ease-in-out infinite; }
@keyframes au2h-top { 0%, 66% { background: rgba(37, 242, 26, .12); transform: none; } 72%, 80% { background: var(--cs-green-bright); color: var(--cs-dark1); transform: scale(1.04); } 88%, 100% { background: rgba(37, 242, 26, .12); color: var(--cs-pale); transform: none; } }

/* health: a live play log */
.au2h-rows { margin-top: 16px; border-top: 1px solid var(--cs-border-strong); }
.au2h-row { display: flex; align-items: center; gap: 14px; padding: 14px 6px; border-bottom: 1px solid var(--cs-border-strong); animation: au2h-hl 10s ease-in-out infinite; animation-delay: calc(var(--i) * 2s - 8s); }
.au2h-row b { flex: 1; font-weight: 800; font-size: 18px; color: var(--cs-text); }
.au2h-row em { font-style: normal; font-family: var(--cs-font-mono, 'Fira Code', monospace); font-size: 13px; color: var(--cs-text-faint); }
.au2h-rdot { width: 12px; height: 12px; border-radius: 50%; background: var(--cs-dark4); animation: au2h-rd 10s ease-in-out infinite; animation-delay: calc(var(--i) * 2s - 8s); }
@keyframes au2h-hl { 0%, 14% { background: linear-gradient(90deg, rgba(59, 214, 43, .2), rgba(59, 214, 43, 0)); } 22%, 100% { background: transparent; } }
@keyframes au2h-rd { 0%, 14% { background: var(--cs-green-bright); box-shadow: 0 0 14px rgba(37, 242, 26, .9); } 22%, 100% { background: var(--cs-dark4); box-shadow: none; } }

/* education module: a year planner with three dated campaigns */
.au2-gantt { width: 100%; max-width: 540px; padding: clamp(22px, 2.6vw, 34px); border-radius: 24px; border: 1.5px solid var(--cs-dark4); background: var(--cs-grad-panel); box-shadow: 0 30px 70px rgba(0, 0, 0, .35); }
.au2-gantt-title { font-weight: 800; font-size: clamp(22px, 2vw, 28px); letter-spacing: -0.02em; color: var(--cs-text); }
.au2-months { display: flex; margin: 18px 0 8px 148px; font-family: var(--cs-font-mono, 'Fira Code', monospace); font-size: 12px; color: var(--cs-text-faint); }
.au2-months li { flex: 1; text-align: center; }
.au2-lane { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-top: 1px solid var(--cs-border-strong); }
.au2-lane-l { flex: 0 0 134px; font-weight: 800; font-size: 15px; line-height: 1.2; color: var(--cs-text); }
.au2-lane-track { position: relative; flex: 1; height: 26px; border-radius: 13px; background: #0b2128; box-shadow: inset 0 0 0 1.5px var(--cs-dark4); }
.au2-lane-bar { position: absolute; top: 3px; bottom: 3px; left: var(--s); width: var(--w); border-radius: 10px; background: linear-gradient(90deg, #5cf04b, #1f9a2e); box-shadow: 0 0 18px rgba(37, 242, 26, .4); transform-origin: left; animation: au2-lane 9s ease-in-out infinite; animation-delay: calc(var(--n) * 1.2s); }
.au2-lane-bar i { position: absolute; top: 50%; width: 6px; height: 14px; margin-top: -7px; border-radius: 3px; background: #d6ffd2; }
.au2-lane-bar i:first-child { left: 6px; } .au2-lane-bar i:last-child { right: 6px; }
@keyframes au2-lane { 0% { transform: scaleX(0); opacity: .2; } 18%, 86% { transform: scaleX(1); opacity: 1; } 100% { transform: scaleX(0); opacity: .2; } }
.au2-gantt-note { margin-top: 14px; font-size: 15px; color: var(--cs-text-soft); }

/* causes module: a crowded paragraph collapses into one line */

@media (prefers-reduced-motion: reduce) {
  .au2h-step, .au2h-check, .au2h-bar, .au2h-flag, .au2h-meter-fill, .au2h-ticks i, .au2h-btn--top, .au2h-row, .au2h-rdot, .au2h-pill--run, .au2-lane-bar { animation: none; }
}
@media (max-width: 599px) { .au2-months { margin-left: 0; } .au2-lane { flex-direction: column; align-items: stretch; gap: 8px; } .au2-lane-l { flex: none; } }
.au2-ticket--hero { --stub: 31%; } .au2-ticket--hero .au2-ticket-k { font-size: 12px; }

/* causes module: separate spaces on one account */
.au2-spaces { width: 100%; max-width: 540px; padding: clamp(22px, 2.6vw, 34px); border-radius: 24px; border: 1.5px solid var(--cs-dark4); background: var(--cs-grad-panel); box-shadow: 0 30px 70px rgba(0, 0, 0, .35); }
.au2-spaces .au2-gantt-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.au2-space-list { margin-top: 18px; display: grid; gap: 12px; }
.au2-space { display: grid; grid-template-columns: 44px minmax(0, 1fr) 96px; align-items: center; gap: 16px; padding: 16px 18px; border-radius: 18px; border: 1.5px solid var(--cs-dark4); background: rgba(255, 255, 255, .02); animation: au2-space 9s ease-in-out infinite; animation-delay: calc(var(--n) * 3s); }
.au2-space-ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: rgba(59, 214, 43, .12); color: var(--cs-green-bright); }
.au2-space-ic svg { width: 22px; height: 22px; }
.au2-space-t b { display: block; font-weight: 800; font-size: 18px; letter-spacing: -0.015em; color: var(--cs-text); }
.au2-space-t em { display: block; margin-top: 2px; font-style: normal; font-size: 14px; color: var(--cs-text-faint); }
.au2-space-meter { height: 10px; border-radius: 5px; background: #0b2128; box-shadow: inset 0 0 0 1.5px var(--cs-dark4); overflow: hidden; }
.au2-space-meter i { display: block; width: var(--w); height: 100%; border-radius: 5px; background: linear-gradient(90deg, #5cf04b, #1f9a2e); }
@keyframes au2-space { 0%, 30% { border-color: var(--cs-green-bright); background: rgba(37, 242, 26, .08); transform: translateX(6px); } 36%, 100% { border-color: var(--cs-dark4); background: rgba(255, 255, 255, .02); transform: none; } }
@media (prefers-reduced-motion: reduce) { .au2-space { animation: none; } }
@media (max-width: 599px) { .au2-space { grid-template-columns: 44px minmax(0, 1fr); } .au2-space-meter { grid-column: 1 / -1; } }

/* ===== fill the column: cards scale with their column the way the older SVG illustrations do (container units, with floors for phones) ===== */
.au2h-card, .au2-gantt, .au2-spaces, .au2-sched { container-type: inline-size; width: 100%; max-width: none; padding: clamp(22px, 5cqw, 44px); border-radius: clamp(22px, 4cqw, 34px); }
.au-scene, .au-map { width: 100%; }
.au2h-title, .au2-gantt-title, .au2-sched-title { font-size: clamp(22px, 4.4cqw, 34px); }
.au2h-pill { font-size: clamp(11px, 1.9cqw, 14px); padding: .7cqw 2cqw; }
.au2h-foot, .au2h-cap, .au2-gantt-note, .au2-sched-note { font-size: clamp(15px, 2.5cqw, 19px); margin-top: clamp(16px, 3cqw, 26px); }
/* local: steps */
.au2h-step { gap: 3cqw; padding: clamp(14px, 3.2cqw, 26px) 1cqw; }
.au2h-step b { font-size: clamp(19px, 3.8cqw, 29px); } .au2h-step em { font-size: clamp(14px, 2.6cqw, 20px); }
.au2h-check { width: clamp(34px, 7cqw, 52px); height: clamp(34px, 7cqw, 52px); font-size: clamp(16px, 3.4cqw, 26px); }
/* education: ticket and graph */
.au2h-card--chart .au2-count { font-size: clamp(32px, 7.4cqw, 58px); }
.au2h-card--chart .au2-ticket { padding: clamp(14px, 3cqw, 26px) clamp(20px, 4.4cqw, 36px); }
.au2h-card--chart .au2-ticket-k, .au2h-card--chart .au2-ticket-n { font-size: clamp(11px, 2.1cqw, 15px); }
/* causes: fund */
.au2h-amount { font-size: clamp(44px, 12cqw, 92px); margin-top: 2.4cqw; }
.au2h-meter { height: clamp(16px, 3.2cqw, 26px); margin-top: 3cqw; border-radius: 99px; } .au2h-meter-fill { border-radius: 99px; }
.au2h-ticks i { height: clamp(6px, 1.2cqw, 9px); }
.au2h-fundrow { font-size: clamp(14px, 2.6cqw, 20px); }
.au2h-btn { height: clamp(46px, 9cqw, 68px); font-size: clamp(15px, 2.9cqw, 22px); border-radius: clamp(14px, 2.4cqw, 20px); }
.au2h-btns { margin-top: clamp(18px, 3.4cqw, 28px); }
/* health: play log */
.au2h-row { gap: 3cqw; padding: clamp(14px, 3.2cqw, 26px) 1.4cqw; }
.au2h-row b { font-size: clamp(18px, 3.6cqw, 28px); } .au2h-row em { font-size: clamp(13px, 2.3cqw, 17px); }
.au2h-rdot { width: clamp(12px, 2.2cqw, 17px); height: clamp(12px, 2.2cqw, 17px); }
/* education module: year planner */
.au2-months { margin-left: 27cqw; font-size: clamp(11px, 2cqw, 15px); margin-top: clamp(18px, 3.4cqw, 28px); }
.au2-lane { gap: 2.6cqw; padding: clamp(14px, 3.2cqw, 26px) 0; }
.au2-lane-l { flex: 0 0 24.4cqw; font-size: clamp(15px, 2.8cqw, 21px); }
.au2-lane-track { height: clamp(26px, 5.4cqw, 40px); border-radius: 99px; } .au2-lane-bar { border-radius: 99px; top: 4px; bottom: 4px; } .au2-lane-bar i { height: 55%; margin-top: 0; top: 22%; }
/* causes module: spaces */
.au2-space { grid-template-columns: clamp(44px, 9cqw, 64px) minmax(0, 1fr) 19cqw; gap: 3cqw; padding: clamp(14px, 3.2cqw, 26px) clamp(16px, 3.4cqw, 28px); border-radius: clamp(16px, 3cqw, 24px); }
.au2-space-ic { width: clamp(44px, 9cqw, 64px); height: clamp(44px, 9cqw, 64px); } .au2-space-ic svg { width: 50%; height: 50%; }
.au2-space-t b { font-size: clamp(17px, 3.4cqw, 26px); } .au2-space-t em { font-size: clamp(13px, 2.4cqw, 18px); }
.au2-space-list { gap: clamp(12px, 2.4cqw, 20px); margin-top: clamp(18px, 3.4cqw, 28px); }
.au2-space-meter { height: clamp(10px, 1.8cqw, 14px); }
/* health module: scheduler */
.au2-days { gap: 1.6cqw; margin-top: clamp(20px, 4cqw, 32px); }
.au2-day { height: clamp(44px, 8.6cqw, 64px); font-size: clamp(15px, 2.8cqw, 21px); border-radius: clamp(12px, 2cqw, 16px); }
.au2-track { height: clamp(46px, 9cqw, 68px); margin-top: clamp(26px, 5cqw, 40px); border-radius: 99px; } .au2-range { top: 12%; bottom: 12%; border-radius: 99px; }
.au2-hours { font-size: clamp(12px, 2.2cqw, 16px); }
@media (max-width: 599px) { .au2-months { margin-left: 0; } .au2-lane { flex-direction: column; align-items: stretch; } .au2-lane-l { flex: none; } .au2-space { grid-template-columns: 44px minmax(0, 1fr); } .au2-space-meter { grid-column: 1 / -1; } }

/* match the height of the older visuals (events, startups, agencies): the card is at least a set shape, and grows if its content needs more */
.au2h-card { display: flex; flex-direction: column; justify-content: center; aspect-ratio: 1 / 1; }
.au2h-card--chart { aspect-ratio: 1 / 1.02; }
.au2-gantt, .au2-spaces, .au2-sched { display: flex; flex-direction: column; justify-content: center; aspect-ratio: 1 / .84; }
.au2h-steps, .au2-space-list { margin-top: clamp(18px, 3.6cqw, 30px); }
@media (max-width: 991px) { .au2h-card, .au2h-card--chart, .au2-gantt, .au2-spaces, .au2-sched { aspect-ratio: auto; } }

/* module text: numbered rows (the dots were a map legend on events and have no meaning on the newer pages) */
.au-module .cs-lead { max-width: 34ch; font-size: clamp(19px, 1.7vw, 25px); line-height: 1.4; }
.au-keys--rows { display: block; margin-top: clamp(28px, 3.4vw, 52px); border-top: 1px solid var(--cs-border-strong); }
.au-krow { display: grid; grid-template-columns: clamp(44px, 4.4vw, 64px) minmax(0, 1fr); gap: 0 clamp(8px, 1vw, 16px); align-items: start; padding: clamp(16px, 1.9vw, 26px) clamp(6px, 1vw, 14px); border-bottom: 1px solid var(--cs-border-strong); transition: background .2s; }
.au-krow:hover { background: linear-gradient(90deg, rgba(59, 214, 43, .12), rgba(59, 214, 43, 0)); }
.au-krow-n { padding-top: .5em; font-family: var(--cs-font-mono, 'Fira Code', monospace); font-weight: 700; font-size: clamp(14px, 1.3vw, 18px); color: var(--cs-green); }
.au-krow h3 { font-size: clamp(24px, 2.4vw, 36px); line-height: 1.04; letter-spacing: -0.03em; transition: color .2s; }
.au-krow:hover h3 { color: var(--cs-green-bright); }
.au-krow p { margin-top: 8px; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.5; color: #b3cacf; max-width: 46ch; }

/* newer pages: the graphic column is never shorter than the text column. The card stretches to the row height; the "Illustrative" label sits under it. */
.au-module--fit { align-items: stretch; }
.au-module--fit > :nth-child(2) { display: flex; flex-direction: column; justify-content: flex-start; }
.au-module--fit > :nth-child(2) > :first-child { flex: 1 1 auto; }
@media (max-width: 991px) { .au-module--fit > :nth-child(2) > :first-child { flex: none; } }
.au-module--fit > :nth-child(2) { position: relative; }
.au-module--fit .au-illustrative { position: absolute; right: clamp(18px, 3cqw, 30px); bottom: 14px; margin: 0; text-align: right; }
.au-module--fit .au-krow, .au-module--tight .au-krow { padding: clamp(12px, 1.3vw, 18px) clamp(6px, 1vw, 14px); }
.au-module--fit .au-krow h3, .au-module--tight .au-krow h3 { font-size: clamp(22px, 2.1vw, 31px); }
.au-module--fit .au-krow p, .au-module--tight .au-krow p { margin-top: 4px; font-size: clamp(15px, 1.3vw, 18px); }
.au-module--fit .au-keys--rows, .au-module--tight .au-keys--rows { margin-top: clamp(22px, 2.6vw, 38px); }
.au-module--fit .cs-title-xl, .au-module--tight .cs-title-xl { font-size: clamp(38px, 4.4vw, 72px); }
.au-module--fit .cs-lead, .au-module--tight .cs-lead { margin-top: clamp(14px, 1.6vw, 22px); }
@media (max-width: 991px) { .au-module--fit .au-illustrative { position: static; margin-top: 12px; text-align: left; } }
.au2-mapcard { display: flex; width: 100%; border-radius: 28px; overflow: hidden; background: #0a2229; }
.au2-mapcard .au-map-svg { width: 100%; height: 100%; min-height: 100%; }

/* events keeps its map legend: the coloured dot is the row marker */
.au-krow-n--dot { display: flex; align-items: center; padding-top: .4em; }
.au-krow-n--dot .au-key-dot { margin: 0; }

/* Retail hero: a paper tear-off calendar for a sale week (a different material from the dark page, like the receipt on Pricing) */
.au-cal { position: relative; width: 100%; max-width: 560px; border-radius: 22px; background: #f1f7ec; color: #06222c; box-shadow: 0 30px 60px rgba(0, 0, 0, .4); overflow: hidden; transform: rotate(1.2deg); }
.au-cal-head { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 24px 16px; background: #06222c; color: #d6ffd2; }
.au-cal-head::before, .au-cal-head::after { content: ''; position: absolute; top: 8px; width: 12px; height: 12px; border-radius: 50%; background: #001a23; box-shadow: inset 0 1px 2px rgba(0, 0, 0, .6); }
.au-cal-head::before { left: 22%; } .au-cal-head::after { right: 22%; }
.au-cal-head b { margin-top: 8px; font-weight: 800; font-size: 24px; letter-spacing: -0.02em; }
.au-cal-head span { margin-top: 8px; font-family: var(--cs-font-label); font-weight: 800; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.au-cal-days { display: grid; grid-template-columns: repeat(4, 1fr); }
.au-cal-day { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 22px 18px 24px; border-left: 2px dashed rgba(6, 34, 44, .22); }
.au-cal-day:first-child { border-left: 0; }
.au-cal-dow { font-family: var(--cs-font-label); font-weight: 800; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: rgba(6, 34, 44, .6); }
.au-cal-n { font-weight: 800; font-size: clamp(20px, 2vw, 26px); line-height: 1.05; letter-spacing: -0.02em; }
.au-cal-note { font-size: 15px; line-height: 1.35; color: rgba(6, 34, 44, .72); }
.au-cal-day--end .au-cal-dow { color: #1a7f12; }
.au-cal-stamp { margin-top: 10px; padding: 4px 10px; border: 2.5px solid #1a7f12; border-radius: 8px; color: #1a7f12; font-style: normal; font-family: var(--cs-font-label); font-weight: 800; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; transform: rotate(-6deg); }
.au-cal-foot { padding: 14px 24px 18px; border-top: 1px solid rgba(6, 34, 44, .12); font-size: 15px; color: rgba(6, 34, 44, .7); }
@media (max-width: 767px) {
  .au-cal { transform: none; }
  .au-cal-days { grid-template-columns: 1fr 1fr; }
  .au-cal-day { padding: 18px 16px 20px; }
  .au-cal-day:nth-child(3) { border-left: 0; }
  .au-cal-day:nth-child(n+3) { border-top: 2px dashed rgba(6, 34, 44, .22); }
}
