/* =====================================================================
   AZURE CHROME — shared design system layer applied to every page.
   Components: nav transform, splash, custom cursor, SMS pill, cookie pill,
   IntersectionObserver reveal-on-scroll, animation easings.

   To opt a page in: <link rel="stylesheet" href="/static/cha-design/azure-chrome.css">
                     <script src="/static/cha-design/azure-chrome.js" defer></script>
                     <body class="az">       (or class="home az" for video-hero pages)

   The .az class scopes ALL chrome rules so non-opted pages aren't affected.
   ===================================================================== */

html.az, body.az { scroll-behavior: smooth; }
body.az *, body.az *::before, body.az *::after { box-sizing: border-box; }

body.az {
  --ease-azure: cubic-bezier(0.65, 0, 0.05, 1);
  --ease-soft: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Nav rules intentionally left to each page's existing CSS (treatment-page.css
   provides the standard 6-link layout; index.html overrides for the homepage
   video-hero transparent overlay). Azure chrome does not transform the nav. */

/* ============== SPLASH (one per session) ============== */

.az-splash {
  position: fixed; inset: 0; z-index: 1000;
  background: var(--bg-paper);
  display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 18px;
  pointer-events: none;
  opacity: 1;
  /* 800ms total. 4 phrases shift through, then settle, then fade out.
     Splash starts fading at 650ms (150ms transition), fully gone by 800ms. */
  transition: opacity 150ms var(--ease-azure) 650ms, visibility 0s linear 800ms;
}
.az-splash.gone { opacity: 0; visibility: hidden; }
.az-splash .wm { font-family: var(--font-serif); font-size: 56px; letter-spacing: -0.02em; color: var(--fg); opacity: 0; transform: translateY(8px); animation: az-splashIn 130ms var(--ease-soft) 30ms forwards; }
@keyframes az-splashIn { to { opacity: 1; transform: translateY(0); } }

/* Specialty cycle: four phrases shift through beneath the Cha wordmark */
.az-splash .tag-cycle {
  position: relative;
  height: 14px;
  width: 320px;
  text-align: center;
}
.az-splash .tag-cycle .tag {
  position: absolute; left: 0; right: 0;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: var(--fg-faint);
  opacity: 0;
  /* Each phrase: 210ms slot. Fade-in 30%, peak 40%, fade-out 30% */
  animation: az-tagCycle 210ms linear forwards;
}
.az-splash .tag-cycle .tag:nth-child(1) { animation-delay: 160ms; }
.az-splash .tag-cycle .tag:nth-child(2) { animation-delay: 290ms; }
.az-splash .tag-cycle .tag:nth-child(3) { animation-delay: 420ms; }
@keyframes az-tagCycle {
  0%   { opacity: 0; transform: translateY(2px); }
  30%  { opacity: 1; transform: translateY(0); }
  70%  { opacity: 1; transform: translateY(0); }
  100% { opacity: 0; transform: translateY(-2px); }
}
/* Last specialty (Physical Therapy) fades in and stays */
.az-splash .tag-cycle .tag:nth-child(4) {
  animation: az-tagSettle 150ms linear 550ms forwards;
}
@keyframes az-tagSettle {
  0%   { opacity: 0; transform: translateY(2px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* ============== CUSTOM CURSOR ============== */

.az-cursor {
  position: fixed; top: 0; left: 0;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: var(--bg-paper);
  mix-blend-mode: difference;
  pointer-events: none;
  z-index: 999;
  transform: translate(-50%, -50%);
  transition: width 240ms var(--ease-soft), height 240ms var(--ease-soft), background 240ms var(--ease-soft);
}
.az-cursor.expand { width: 56px; height: 56px; background: var(--warm); }
@media (hover: none), (pointer: coarse) { .az-cursor { display: none; } }

/* ============== FLOATING PILLS ============== */

/* "Text us" floating button — opens the chat panel on click */
.az-sms {
  position: fixed; bottom: 24px; right: 24px; z-index: 90;
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 20px 14px 16px;
  border-radius: 999px;
  background: var(--accent-strong); color: var(--bg-paper);
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  text-decoration: none; cursor: pointer; border: 0;
  box-shadow: 0 8px 24px rgba(35,31,26,0.25);
  transition: transform 240ms var(--ease-soft), background 240ms var(--ease-soft);
  opacity: 0; transform: translateY(80px);
  animation: az-pillIn 700ms var(--ease-soft) 1000ms forwards;
}
.az-sms:hover { transform: translateY(-2px); background: var(--accent); }
.az-sms svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }
@keyframes az-pillIn { to { opacity: 1; transform: translateY(0); } }

/* Chat panel overlay */
.az-chat {
  position: fixed; bottom: 24px; right: 24px; z-index: 200;
  width: 380px; max-width: calc(100vw - 32px);
  max-height: 580px; max-height: min(580px, calc(100vh - 48px));
  display: none; flex-direction: column;
  background: var(--bg-paper);
  border: 1px solid var(--border-soft);
  border-radius: 18px;
  box-shadow: 0 16px 48px rgba(35,31,26,0.22);
  overflow: hidden;
  opacity: 0; transform: translateY(20px) scale(0.98);
  transition: opacity 280ms var(--ease-soft), transform 280ms var(--ease-soft);
}
.az-chat.open { display: flex; opacity: 1; transform: translateY(0) scale(1); }

.az-chat-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 18px 20px;
  background: var(--fg); color: var(--bg-paper);
  border-bottom: 1px solid var(--border-soft);
}
.az-chat-head .title { font-family: var(--font-serif); font-size: 18px; line-height: 1.2; }
.az-chat-head .sub { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(255,254,250,0.6); margin-top: 4px; display: block; }
.az-chat-head .close {
  background: transparent; border: 0; color: rgba(255,254,250,0.85);
  font-family: var(--font-mono); font-size: 22px; line-height: 1; cursor: pointer;
  padding: 4px 8px; align-self: flex-start;
}
.az-chat-head .close:hover { color: var(--bg-paper); }

.az-chat-log {
  flex: 1; overflow-y: auto;
  padding: 22px 20px;
  display: flex; flex-direction: column; gap: 14px;
  background: var(--bg-base);
}
.az-chat-bubble {
  max-width: 86%;
  padding: 12px 16px;
  border-radius: 14px;
  font-family: var(--font-serif); font-size: 15px; line-height: 1.5;
  align-self: flex-start;
  background: var(--bg-paper); color: var(--fg);
  border: 1px solid var(--border-soft);
}
.az-chat-bubble.you {
  align-self: flex-end;
  background: var(--accent-strong); color: var(--bg-paper); border: 0;
}
.az-chat-bubble .label { display: block; font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--fg-faint); margin-bottom: 4px; }
.az-chat-bubble.you .label { color: rgba(255,254,250,0.6); }

.az-chat-form {
  padding: 16px 20px;
  border-top: 1px solid var(--border-soft);
  background: var(--bg-paper);
  display: flex; flex-direction: column; gap: 10px;
}
.az-chat-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.az-chat-form input,
.az-chat-form textarea {
  width: 100%; box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid var(--border); border-radius: 8px;
  font-family: var(--font-serif); font-size: 14px; color: var(--fg);
  background: var(--bg-paper); resize: none;
}
.az-chat-form input:focus,
.az-chat-form textarea:focus { outline: 0; border-color: var(--accent); }
.az-chat-form textarea { min-height: 60px; }
.az-chat-form .send {
  padding: 11px 18px; border-radius: 999px; border: 0;
  background: var(--fg); color: var(--bg-paper);
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  cursor: pointer;
  transition: background 200ms var(--ease-soft);
}
.az-chat-form .send:hover { background: var(--accent-strong); }
.az-chat-form .send:disabled { opacity: 0.5; cursor: wait; }
.az-chat-form .note { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--fg-faint); }

.az-cookie {
  position: fixed; bottom: 24px; left: 50%;
  z-index: 90;
  display: inline-flex; align-items: center; gap: 14px;
  padding: 10px 12px 10px 22px;
  border-radius: 999px;
  background: var(--fg); color: rgba(255,254,250,0.88);
  font-family: var(--font-serif); font-size: 13px;
  box-shadow: 0 8px 24px rgba(35,31,26,0.3);
  opacity: 0; transform: translate(-50%, 80px);
  animation: az-cookieIn 700ms var(--ease-soft) 3200ms forwards;
}
.az-cookie .acc { color: var(--warm); }
.az-cookie button {
  padding: 8px 18px;
  border-radius: 999px;
  background: var(--bg-paper); color: var(--fg);
  border: 0;
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
  cursor: pointer;
}
@keyframes az-cookieIn { to { opacity: 1; transform: translate(-50%, 0); } }
@media (max-width: 700px) {
  .az-cookie { left: 12px; right: 12px; transform: translateY(80px); animation: az-cookieMobile 700ms var(--ease-soft) 3200ms forwards; justify-content: space-between; }
  @keyframes az-cookieMobile { to { opacity: 1; transform: translateY(0); } }
}

/* ============== REVEAL-ON-SCROLL ============== */

body.az .az-reveal {
  opacity: 0; transform: translateY(48px);
  transition: opacity 1000ms var(--ease-soft), transform 1000ms var(--ease-soft);
}
body.az .az-reveal.in { opacity: 1; transform: translateY(0); }

/* Stagger direct children of common grid containers when their section reveals.
   Each child animates in sequence so the grid populates like a wave. */
body.az .az-reveal .treat-grid > *,
body.az .az-reveal .team-grid > *,
body.az .az-reveal .conds-grid > *,
body.az .az-reveal .philo-grid > *,
body.az .az-reveal .ways-grid > *,
body.az .az-reveal .pkg-grid > *,
body.az .az-reveal .stories-grid > *,
body.az .az-reveal .ins-grid > *,
body.az .az-reveal .ig-grid > *,
body.az .az-reveal .reviews-fallback > *,
body.az .az-reveal .market-grid > *,
body.az .az-reveal .apart-grid > *,
body.az .az-reveal .numbers-grid > *,
body.az .az-reveal .pillar-stack > *,
body.az .az-reveal .nar-list > *,
body.az .az-reveal .life-grid > * {
  opacity: 0; transform: translateY(24px);
  transition: opacity 700ms var(--ease-soft), transform 700ms var(--ease-soft);
}
body.az .az-reveal.in .treat-grid > *,
body.az .az-reveal.in .team-grid > *,
body.az .az-reveal.in .conds-grid > *,
body.az .az-reveal.in .philo-grid > *,
body.az .az-reveal.in .ways-grid > *,
body.az .az-reveal.in .pkg-grid > *,
body.az .az-reveal.in .stories-grid > *,
body.az .az-reveal.in .ins-grid > *,
body.az .az-reveal.in .ig-grid > *,
body.az .az-reveal.in .reviews-fallback > *,
body.az .az-reveal.in .market-grid > *,
body.az .az-reveal.in .apart-grid > *,
body.az .az-reveal.in .numbers-grid > *,
body.az .az-reveal.in .pillar-stack > *,
body.az .az-reveal.in .nar-list > *,
body.az .az-reveal.in .life-grid > * {
  opacity: 1; transform: translateY(0);
}
/* Per-index delays, applied via the .in state to start clean */
body.az .az-reveal.in .treat-grid > :nth-child(1),
body.az .az-reveal.in .team-grid > :nth-child(1),
body.az .az-reveal.in .conds-grid > :nth-child(1),
body.az .az-reveal.in .philo-grid > :nth-child(1),
body.az .az-reveal.in .ways-grid > :nth-child(1),
body.az .az-reveal.in .pkg-grid > :nth-child(1),
body.az .az-reveal.in .stories-grid > :nth-child(1),
body.az .az-reveal.in .ins-grid > :nth-child(1),
body.az .az-reveal.in .market-grid > :nth-child(1),
body.az .az-reveal.in .apart-grid > :nth-child(1),
body.az .az-reveal.in .numbers-grid > :nth-child(1),
body.az .az-reveal.in .pillar-stack > :nth-child(1) { transition-delay: 80ms; }
body.az .az-reveal.in .treat-grid > :nth-child(2),
body.az .az-reveal.in .team-grid > :nth-child(2),
body.az .az-reveal.in .conds-grid > :nth-child(2),
body.az .az-reveal.in .philo-grid > :nth-child(2),
body.az .az-reveal.in .ways-grid > :nth-child(2),
body.az .az-reveal.in .pkg-grid > :nth-child(2),
body.az .az-reveal.in .stories-grid > :nth-child(2),
body.az .az-reveal.in .ins-grid > :nth-child(2),
body.az .az-reveal.in .market-grid > :nth-child(2),
body.az .az-reveal.in .apart-grid > :nth-child(2),
body.az .az-reveal.in .numbers-grid > :nth-child(2),
body.az .az-reveal.in .pillar-stack > :nth-child(2) { transition-delay: 180ms; }
body.az .az-reveal.in .treat-grid > :nth-child(3),
body.az .az-reveal.in .team-grid > :nth-child(3),
body.az .az-reveal.in .conds-grid > :nth-child(3),
body.az .az-reveal.in .philo-grid > :nth-child(3),
body.az .az-reveal.in .ways-grid > :nth-child(3),
body.az .az-reveal.in .pkg-grid > :nth-child(3),
body.az .az-reveal.in .stories-grid > :nth-child(3),
body.az .az-reveal.in .ins-grid > :nth-child(3),
body.az .az-reveal.in .market-grid > :nth-child(3),
body.az .az-reveal.in .apart-grid > :nth-child(3),
body.az .az-reveal.in .numbers-grid > :nth-child(3),
body.az .az-reveal.in .pillar-stack > :nth-child(3) { transition-delay: 280ms; }
body.az .az-reveal.in .treat-grid > :nth-child(4),
body.az .az-reveal.in .team-grid > :nth-child(4),
body.az .az-reveal.in .conds-grid > :nth-child(4),
body.az .az-reveal.in .philo-grid > :nth-child(4),
body.az .az-reveal.in .ways-grid > :nth-child(4),
body.az .az-reveal.in .pkg-grid > :nth-child(4),
body.az .az-reveal.in .apart-grid > :nth-child(4),
body.az .az-reveal.in .numbers-grid > :nth-child(4),
body.az .az-reveal.in .pillar-stack > :nth-child(4) { transition-delay: 380ms; }
body.az .az-reveal.in .treat-grid > :nth-child(5),
body.az .az-reveal.in .conds-grid > :nth-child(5),
body.az .az-reveal.in .ways-grid > :nth-child(5),
body.az .az-reveal.in .pillar-stack > :nth-child(5) { transition-delay: 480ms; }
body.az .az-reveal.in .treat-grid > :nth-child(6),
body.az .az-reveal.in .conds-grid > :nth-child(6),
body.az .az-reveal.in .ways-grid > :nth-child(6) { transition-delay: 580ms; }
body.az .az-reveal.in .treat-grid > :nth-child(7),
body.az .az-reveal.in .conds-grid > :nth-child(7) { transition-delay: 680ms; }
body.az .az-reveal.in .treat-grid > :nth-child(8),
body.az .az-reveal.in .conds-grid > :nth-child(8) { transition-delay: 780ms; }

/* The sechead inside a revealed section: stagger eyebrow → h2 → lede */
body.az .az-reveal .sechead .meta,
body.az .az-reveal .sechead h2,
body.az .az-reveal .sechead .lede,
body.az .az-reveal .sechead p {
  opacity: 0; transform: translateY(20px);
  transition: opacity 800ms var(--ease-soft), transform 800ms var(--ease-soft);
}
body.az .az-reveal.in .sechead .meta { opacity: 1; transform: translateY(0); transition-delay: 0ms; }
body.az .az-reveal.in .sechead h2 { opacity: 1; transform: translateY(0); transition-delay: 120ms; }
body.az .az-reveal.in .sechead .lede,
body.az .az-reveal.in .sechead p { opacity: 1; transform: translateY(0); transition-delay: 220ms; }

/* Page hero on internal pages: animate in on load (same feel as section reveal) */
body.az:not(.home) main > section:first-child .hero-a .head > *,
body.az:not(.home) main > section:first-child .a-hero > *,
body.az:not(.home) main > section:first-child .pkg-hero > *,
body.az:not(.home) main > section:first-child .st-hero > *,
body.az:not(.home) main > section:first-child .give-hero > *,
body.az:not(.home) main > section:first-child .v-hero > div > *,
body.az:not(.home) main > section:first-child .method-hero > *,
body.az:not(.home) main > section:first-child .story-hero > div > * {
  opacity: 0; transform: translateY(24px);
  animation: az-heroLoad 900ms var(--ease-soft) forwards;
}
body.az:not(.home) main > section:first-child *:nth-child(1) { animation-delay: 200ms; }
body.az:not(.home) main > section:first-child *:nth-child(2) { animation-delay: 320ms; }
body.az:not(.home) main > section:first-child *:nth-child(3) { animation-delay: 440ms; }
body.az:not(.home) main > section:first-child *:nth-child(4) { animation-delay: 560ms; }
body.az:not(.home) main > section:first-child *:nth-child(5) { animation-delay: 680ms; }
@keyframes az-heroLoad { to { opacity: 1; transform: translateY(0); } }

/* Subtle parallax: image placeholders within revealed sections drift up slightly more */
body.az .az-reveal .img,
body.az .az-reveal .portrait,
body.az .az-reveal .photo {
  transform: translateY(60px) scale(1.02);
  transition: opacity 1100ms var(--ease-soft), transform 1100ms var(--ease-soft);
  opacity: 0;
}
body.az .az-reveal.in .img,
body.az .az-reveal.in .portrait,
body.az .az-reveal.in .photo {
  transform: translateY(0) scale(1);
  opacity: 1;
}

/* ============== EM FRAGMENT COLOR (global) ==============
   Every italic em inside a heading reads as a brand accent. Default is
   terracotta (--warm). Pages can opt to sage (--accent) by adding the
   `.em-sage` class to the heading. Never grey. */
body.az h1 em,
body.az h2 em,
body.az h3 em,
body.az h4 em,
body.az h5 em,
body.az h6 em {
  font-style: italic;
  color: var(--warm) !important;
}
body.az h1.em-sage em,
body.az h2.em-sage em,
body.az h3.em-sage em,
body.az h4.em-sage em,
body.az h5.em-sage em {
  color: var(--accent-strong) !important;
}

/* Exception: shared .final CTA panel sits on sage green (treatment-page.css
   sets `background: var(--accent)`). Terracotta italic em on sage clashes,
   so on this surface only the em flips to dark walnut ink. This is the
   only place on the site where italic em is not terracotta or sage.
   Schroth has its own .final with a walnut bg and doesn't load
   treatment-page.css, so it is unaffected. */
body.az .final h2 em {
  color: var(--fg-soft) !important;
}

/* ============== AZURE HERO TREATMENT (non-home pages) ==============
   Unified editorial heroes across every page. Massive serif headlines,
   terracotta italic em fragments, generous whitespace, atmospheric oval. */

body.az:not(.home) main > section:first-child {
  position: relative;
  padding-top: 144px !important;
  padding-bottom: 96px !important;
  overflow: hidden;
}
@media (max-width: 800px) {
  body.az:not(.home) main > section:first-child {
    padding-top: 112px !important;
    padding-bottom: 64px !important;
  }
}

/* Atmospheric stroked oval drawn into the first hero section.
   Sage stroke at low opacity, animates in on page load. */
body.az:not(.home) main > section:first-child::before {
  content: "";
  position: absolute;
  top: 8%;
  left: -10%;
  width: 70%;
  height: 84%;
  border: 1px solid var(--accent);
  border-radius: 50%;
  opacity: 0;
  transform: scale(0.92) rotate(-3deg);
  pointer-events: none;
  z-index: 0;
  animation: az-heroOval 1800ms var(--ease-soft) 400ms forwards;
}
@keyframes az-heroOval {
  to { opacity: 0.35; transform: scale(1) rotate(-3deg); }
}

/* Make sure hero content sits above the oval */
body.az:not(.home) main > section:first-child > * { position: relative; z-index: 1; }

/* Unified hero h1 treatment across every page-hero class on the site */
body.az:not(.home) .hero-a h1,
body.az:not(.home) .a-hero h1,
body.az:not(.home) .ab-hero h1,
body.az:not(.home) .book-hero h1,
body.az:not(.home) .cm-hero h1,
body.az:not(.home) .give-hero h1,
body.az:not(.home) .idx-hero h1,
body.az:not(.home) .method-hero h1,
body.az:not(.home) .pkg-hero h1,
body.az:not(.home) .pr-hero h1,
body.az:not(.home) .st-hero h1,
body.az:not(.home) .story-hero h1,
body.az:not(.home) .tx-hero h1,
body.az:not(.home) .v-hero h1,
body.az:not(.home) .wt-hero h1 {
  font-family: var(--font-serif) !important;
  font-weight: 400 !important;
  font-size: clamp(56px, 9vw, 140px) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.025em !important;
  color: var(--fg) !important;
  max-width: 16ch !important;
  margin: 0 !important;
  text-wrap: balance;
}

/* Terracotta italic em fragments in hero headlines, brand-wide */
body.az:not(.home) .hero-a h1 em,
body.az:not(.home) .a-hero h1 em,
body.az:not(.home) .ab-hero h1 em,
body.az:not(.home) .book-hero h1 em,
body.az:not(.home) .cm-hero h1 em,
body.az:not(.home) .give-hero h1 em,
body.az:not(.home) .idx-hero h1 em,
body.az:not(.home) .method-hero h1 em,
body.az:not(.home) .pkg-hero h1 em,
body.az:not(.home) .pr-hero h1 em,
body.az:not(.home) .st-hero h1 em,
body.az:not(.home) .story-hero h1 em,
body.az:not(.home) .tx-hero h1 em,
body.az:not(.home) .v-hero h1 em,
body.az:not(.home) .wt-hero h1 em {
  font-style: italic !important;
  color: var(--warm) !important;
  display: inline !important;
}

/* Hero sub / standfirst styling: italic serif, generous max-width */
body.az:not(.home) .hero-a .sub,
body.az:not(.home) .a-hero .sub,
body.az:not(.home) .st-hero .standfirst,
body.az:not(.home) .method-hero .sub,
body.az:not(.home) .story-hero .sub,
body.az:not(.home) .give-hero .standfirst,
body.az:not(.home) .pkg-hero .sub,
body.az:not(.home) .v-hero .sub,
body.az:not(.home) .pr-hero .sub {
  font-family: var(--font-serif) !important;
  font-style: italic !important;
  font-size: clamp(20px, 2vw, 28px) !important;
  line-height: 1.45 !important;
  color: var(--fg-soft) !important;
  max-width: 52ch !important;
  margin-top: 28px !important;
  text-wrap: pretty;
}

/* Hero eyebrow / num: unified mono uppercase */
body.az:not(.home) .hero-a .num,
body.az:not(.home) .hero-a .pill,
body.az:not(.home) .a-hero .num,
body.az:not(.home) .st-hero .eyebrow,
body.az:not(.home) .method-hero .num,
body.az:not(.home) .story-hero .num,
body.az:not(.home) .give-hero .eyebrow,
body.az:not(.home) .pkg-hero .eyebrow,
body.az:not(.home) .v-hero .num,
body.az:not(.home) .pr-hero .eyebrow {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  display: inline-block !important;
}

/* Hero CTAs: cream pill primary, ghost-outline secondary */
body.az:not(.home) main > section:first-child .ctas .btn {
  padding: 14px 24px;
  border-radius: 999px;
  font-size: 13px;
  letter-spacing: 0.04em;
}

/* Replace the small hatched .img placeholders in the hero with a quieter atmospheric panel */
body.az:not(.home) .hero-a > .img,
body.az:not(.home) .story-hero > .portrait,
body.az:not(.home) .v-hero > .img,
body.az:not(.home) .pr-hero > .img {
  position: relative;
  border: 1px solid var(--border-soft);
  background: repeating-linear-gradient(45deg, var(--border-soft) 0 22px, var(--bg-paper) 22px 44px) !important;
}

/* ============== REDUCED MOTION ============== */

@media (prefers-reduced-motion: reduce) {
  body.az *, body.az *::before, body.az *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  body.az .az-reveal { opacity: 1; transform: none; }
  .az-splash { display: none; }
}
