/* Aura Voce — premium navy system and responsive layer */
:root {
  --cream: #f4f1e9;
  --cream-2: #102638;
  --ink: #f4f1e9;
  --pine: #18384e;
  --sage: #9fc5c6;
  --rose: #c9a28e;
  --pink: #f0d7c7;
  --muted: #a8b8c0;
  --line: rgba(232, 239, 240, .16);
  --navy-950: #07131f;
  --navy-900: #0b1b2a;
  --navy-800: #102638;
  --navy-700: #17374d;
  --teal: #8bcac4;
  --sand: #d8b79b;
  --shell: min(1180px, calc(100% - 64px));
}

html { background: var(--navy-950); }
body {
  overflow-x: hidden;
  background: var(--navy-950);
  color: var(--ink);
}
body,
.site-header,
.site-footer,
.page-hero,
.content-section,
.quick-start,
.community-content,
.learning-layout,
.case-section,
.product-hero,
.checkout-layout { background-color: var(--navy-950); }

::selection { background: var(--teal); color: var(--navy-950); }
.skip { background: var(--teal); color: var(--navy-950); }
.eyebrow,
.section-number,
.product-tag,
.course h2 + p,
.detail small,
.case-point span,
.route-grid span { color: var(--teal); }
h1, h2, h3, .serif, .wordmark, .price,
.detail a, .detail p { color: var(--cream); }
em { color: var(--teal); }

.site-header {
  border-bottom-color: var(--line);
  background: rgba(7, 19, 31, .93);
}
.site-header.sticky { background: rgba(7, 19, 31, .82); }
.wordmark { letter-spacing: -.08em; }
.site-nav { color: var(--muted); }
.site-nav > a:hover,
.site-nav > a.active { color: var(--teal); }
.nav-contact { border-color: rgba(244, 241, 233, .65); color: var(--cream) !important; }
.nav-contact:hover { border-color: var(--teal); background: var(--teal); color: var(--navy-950) !important; }
.nav-toggle { color: var(--cream); min-width: 44px; min-height: 44px; }
.nav-toggle span { background: currentColor; }

.button {
  border-color: var(--teal);
  background: var(--teal);
  color: var(--navy-950);
  box-shadow: 0 12px 28px rgba(139, 202, 196, .12);
  touch-action: manipulation;
}
.button:hover,
.button:focus-visible { border-color: var(--sand); background: var(--sand); color: var(--navy-950); }
.button-outline { border-color: rgba(244, 241, 233, .55); background: transparent; color: var(--cream); box-shadow: none; }
.button-outline:hover,
.button-outline:focus-visible { border-color: var(--teal); background: var(--teal); color: var(--navy-950); }
.case-link { border-color: var(--teal); color: var(--cream); }
.case-link:hover { color: var(--teal); }

.platform-hero,
.page-hero,
.course-hero,
.community-hero,
.case-hero {
  background: radial-gradient(circle at 85% 15%, rgba(139, 202, 196, .12), transparent 30%), linear-gradient(135deg, #07131f 0%, #0b1b2a 58%, #12344b 100%);
}
.platform-hero { padding: 94px 0 82px; }
.platform-copy h1,
.community-hero h1,
.page-hero-copy h1,
.course-hero h1,
.case-hero h1,
.product-info h1,
.checkout-card h1 { color: var(--cream); }
.platform-lead,
.page-hero-copy .intro-text,
.community-hero-grid > div > p:last-child,
.case-hero > div > p:last-child,
.product-info > .description,
.course-hero-copy p:last-child,
.story-main p,
.detail-grid p,
.catalog-intro p:last-child,
.quick-start-head > p { color: var(--muted); }
.platform-media,
.start-card,
.product-card,
.checkout-card,
.contact-form,
.case-point,
.community-grid article,
.order-summary {
  border-color: var(--line);
  background: #102638;
  color: var(--cream);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .18);
}
.platform-media-image { filter: saturate(.74) contrast(1.04); }
.platform-media .start-card { background: rgba(16, 38, 56, .96); border-top-color: var(--line); }
.start-card-tag,
.product-meta span { background: rgba(139, 202, 196, .12); color: var(--teal); }
.start-card > p,
.start-card small,
.product-card > div p:not(.product-tag),
.contact-form > p,
.checkout-card > p,
.secure-note,
.community-grid p,
.case-point p,
.footer-main p,
.footer-links,
.footer-bottom,
.story-aside p { color: var(--muted); }
.start-card small { border-top-color: var(--line); }

.quick-start,
.content-section,
.community-content,
.case-section,
.learning-layout { padding-top: 112px; padding-bottom: 112px; }
.quick-start-grid,
.community-grid { gap: 16px; }
.start-path {
  min-height: 290px;
  border: 1px solid rgba(244, 241, 233, .16);
  box-shadow: 0 22px 52px rgba(0, 0, 0, .22);
}
.start-path:hover { transform: translateY(-6px); box-shadow: 0 28px 68px rgba(0, 0, 0, .34); }
.path-courses { background: linear-gradient(135deg, rgba(11, 46, 65, .94), rgba(17, 71, 83, .5)), url('https://images.unsplash.com/photo-1514525253161-7a46d19cd819?auto=format&fit=crop&w=1000&q=84') center/cover; }
.path-guides { background: linear-gradient(135deg, rgba(24, 50, 69, .94), rgba(60, 89, 100, .52)), url('https://images.unsplash.com/photo-1520523839897-bd0b52f945a0?auto=format&fit=crop&w=1000&q=84') center/cover; }
.path-community { background: linear-gradient(135deg, rgba(62, 45, 49, .94), rgba(125, 84, 75, .52)), url('https://images.unsplash.com/photo-1519682337058-a94d519337bc?auto=format&fit=crop&w=1000&q=84') center/cover; }
.community-banner,
.integration,
.route-map,
.community-join,
.detail-band { background: #102638; color: var(--cream); }
.community-banner p,
.integration p,
.community-join p { color: var(--muted); }

.page-hero { min-height: 470px; }
.page-hero-copy { background: transparent; }
.page-hero-image { min-height: 470px; opacity: .78; filter: saturate(.72); }
.image-about,
.image-library,
.image-courses,
.image-contact,
.image-faq { box-shadow: inset 0 0 0 999px rgba(7, 19, 31, .18); }

.catalog-intro { margin-bottom: 58px; }
.course-list { border-top-color: var(--line); }
.course { border-bottom-color: var(--line); }
.course-thumb { border: 1px solid var(--line); }
.play { background: var(--teal); color: var(--navy-950); }
.course > p { color: var(--muted); }
.arrow { width: 44px; height: 44px; border-color: rgba(244, 241, 233, .55); color: var(--cream); touch-action: manipulation; }
.arrow:hover,
.arrow:focus-visible { border-color: var(--teal); background: var(--teal); color: var(--navy-950); }
.integration { border: 1px solid var(--line); }
.integration .button { border-color: var(--teal); color: var(--teal); }
.integration .button:hover { color: var(--navy-950); }

.product-card,
.checkout-card,
.contact-form { border: 1px solid var(--line); }
.product-card { overflow: hidden; }
.product-image { filter: saturate(.75); }
.product-bottom,
.included,
.included div,
.detail-list,
.detail { border-color: var(--line); }
.shop-band { background: #12344b; border: 1px solid var(--line); }
.shop-band p { color: var(--muted); }
.product-cover { filter: saturate(.76); border: 1px solid var(--line); }
.sample-notice { border-left-color: var(--teal); background: rgba(139, 202, 196, .1); color: var(--muted); }
.player-card { background: linear-gradient(135deg, #113d57, #0b1b2a); border: 1px solid rgba(139, 202, 196, .24); }
.player-card:before { border-color: rgba(244, 241, 233, .25); }
.player-card p { color: var(--teal); }
.learning-aside h3,
.curriculum h3,
.order-summary h2,
.contact-form h2 { color: var(--cream); }
.progress { background: rgba(244, 241, 233, .16); }
.progress span { background: var(--teal); }

.contact-form input,
.contact-form textarea,
.contact-form select,
.field input,
.field textarea,
.field select,
.mini-form input { border-color: rgba(244, 241, 233, .28); color: var(--cream); }
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus,
.field input:focus,
.field textarea:focus,
.field select:focus,
.mini-form input:focus { border-color: var(--teal); }
.contact-form option { background: var(--navy-900); color: var(--cream); }
.hours { background: #102638; border: 1px solid var(--line); }
.hours p { color: var(--muted); }
.map { background: #102638; border: 1px solid var(--line); }

.faq-item { border-top-color: var(--line); }
.faq-item:last-child { border-bottom-color: var(--line); }
.faq-question { min-height: 52px; color: var(--cream); touch-action: manipulation; }
.faq-answer { color: var(--muted); }

.case-hero { padding-top: 130px; padding-bottom: 108px; }
.case-points { background: var(--line); }
.case-point { min-height: 250px; }
.route-map { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.route-grid { background: rgba(244, 241, 233, .18); }
.route-grid div { background: #102638; }
.route-grid strong { color: var(--cream); }

.site-footer { border-top-color: var(--line); }
.footer-links strong { color: var(--cream); }
.footer-links a:hover { color: var(--teal); }

/* New trust sections */
.assessment-band {
  padding: 74px 0;
  background: linear-gradient(105deg, #123b4d, #0d2639 60%, #102638);
  border-top: 1px solid rgba(139, 202, 196, .25);
  border-bottom: 1px solid rgba(139, 202, 196, .25);
}
.assessment-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: center; }
.assessment-band h2 { max-width: 680px; margin: 0 0 18px; font-size: clamp(45px, 5vw, 74px); font-weight: 500; line-height: .86; letter-spacing: -.07em; }
.assessment-band p:not(.eyebrow) { max-width: 560px; margin: 0; color: var(--muted); font-size: 15px; }
.assessment-meta { display: grid; gap: 10px; justify-self: end; width: min(100%, 390px); }
.assessment-meta div { display: flex; justify-content: space-between; gap: 20px; padding: 15px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.assessment-meta strong { color: var(--cream); font-weight: 600; }
.assessment-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 28px; }

.teacher-section { padding: 104px 0; background: #0b1b2a; }
.teacher-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 38px; }
.teacher-heading h2 { max-width: 650px; margin: 0; font-size: clamp(46px, 5vw, 73px); font-weight: 500; line-height: .86; letter-spacing: -.07em; }
.teacher-heading > p { max-width: 290px; margin: 0; color: var(--muted); font-size: 13px; }
.teacher-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.teacher-card { display: grid; grid-template-columns: 82px 1fr; gap: 19px; align-items: start; padding: 23px; border: 1px solid var(--line); background: #102638; }
.teacher-avatar { width: 82px; height: 82px; overflow: hidden; border: 2px solid rgba(139, 202, 196, .5); border-radius: 50%; background: #18384e; }
.teacher-avatar img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7); }
.teacher-card h3 { margin: 0 0 5px; font-size: 27px; font-weight: 500; letter-spacing: -.05em; }
.teacher-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.teacher-card .teacher-specialty { margin-top: 12px; color: var(--teal); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.teacher-card .teacher-availability { margin-top: 12px; color: var(--cream); font-size: 11px; }
.teacher-card .teacher-availability::before { display: inline-block; width: 6px; height: 6px; margin: 0 7px 1px 0; border-radius: 50%; background: var(--teal); content: ''; }

.filter-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 0 0 34px; padding: 17px; border: 1px solid var(--line); background: rgba(16, 38, 56, .7); }
.filter-label { margin-right: 5px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.filter-button { min-height: 44px; padding: 0 14px; border: 1px solid rgba(244, 241, 233, .22); border-radius: 999px; background: transparent; color: var(--muted); cursor: pointer; font-size: 11px; touch-action: manipulation; }
.filter-button:hover,
.filter-button:focus-visible,
.filter-button[aria-pressed="true"] { border-color: var(--teal); background: rgba(139, 202, 196, .12); color: var(--teal); }
.filter-divider { width: 1px; height: 22px; margin: 0 4px; background: var(--line); }

.support-note { margin: 0 0 34px; padding: 16px 19px; border-left: 2px solid var(--teal); background: rgba(139, 202, 196, .08); color: var(--muted); font-size: 13px; }
.support-note strong { color: var(--cream); }

.format-band { display: grid; grid-template-columns: 1.15fr .85fr; gap: 45px; align-items: center; margin: 0 0 70px; padding: 30px; border: 1px solid rgba(139, 202, 196, .24); background: rgba(139, 202, 196, .07); }
.format-band h3 { margin: 0 0 9px; font-size: 31px; font-weight: 500; letter-spacing: -.05em; }
.format-band p { max-width: 560px; margin: 0; color: var(--muted); font-size: 13px; }
.format-list { display: grid; gap: 8px; }
.format-list div { display: flex; justify-content: space-between; gap: 20px; padding: 10px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.format-list strong { color: var(--cream); font-weight: 600; }

.dialog-close { width: 44px; height: 44px; }

@media (max-width: 820px) {
  :root { --shell: min(100% - 40px, 1180px); }
  .site-nav { background: rgba(7, 19, 31, .98); }
  .site-nav a { border-bottom-color: var(--line); }
  .platform-hero { padding: 70px 0 58px; }
  .page-hero-image { min-height: 310px; }
  .assessment-grid,
  .teacher-grid { grid-template-columns: 1fr; gap: 28px; }
  .assessment-meta { justify-self: stretch; width: 100%; }
  .format-band { grid-template-columns: 1fr; gap: 24px; }
  .teacher-heading { display: block; }
  .teacher-heading > p { margin-top: 20px; }
  .teacher-card { grid-template-columns: 72px 1fr; }
  .teacher-avatar { width: 72px; height: 72px; }
}

@media (max-width: 520px) {
  .platform-hero { padding: 58px 0 45px; }
  .platform-copy h1,
  .community-hero h1 { font-size: 58px; }
  .assessment-band,
  .teacher-section { padding: 76px 0; }
  .assessment-actions { align-items: stretch; flex-direction: column; }
  .assessment-actions .button { width: 100%; }
  .filter-bar { align-items: stretch; }
  .filter-divider { width: 100%; height: 1px; margin: 3px 0; }
  .filter-button { flex: 1 1 auto; }
  .teacher-card { padding: 19px; }
  .site-footer { padding-bottom: 23px; }
}

@media (prefers-reduced-motion: reduce) {
  .start-path, .button { transition: none; }
}

/* Assessment messaging and touch-safe interaction polish */
body { font-weight: 500; }
.assessment-method {
  display: grid;
  gap: 5px;
  max-width: 590px;
  margin-top: 22px;
  padding: 15px 17px;
  border-left: 2px solid var(--teal);
  background: rgba(139, 202, 196, .08);
}
.assessment-method strong { color: var(--cream); font-size: 13px; }
.assessment-method span { color: var(--muted); font-size: 12px; line-height: 1.55; }
.teacher-card,
.filter-button,
.faq-question,
.dialog-close,
.nav-toggle { touch-action: manipulation; }
.teacher-card:active,
.filter-button:active,
.faq-question:active,
.button:active { transform: translateY(1px); }
.faq-answer[hidden] { display: none; }
.faq-answer[aria-hidden="false"] { display: block; }
.faq-question[aria-expanded="true"] span:last-child { color: var(--teal); transform: rotate(45deg); }
.faq-question span:last-child { display: inline-block; transition: transform .2s ease, color .2s ease; }

@media (max-width: 820px) {
  .site-nav[aria-hidden="true"] { visibility: hidden; }
  .site-nav[aria-hidden="false"] { visibility: visible; }
  .assessment-method { margin-top: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .faq-question span:last-child { transition: none; }
}

/* Cinematic Home Hero — media stays replaceable through Sanity. */
.cinematic-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: max(720px, calc(100svh - 82px));
  overflow: hidden;
  background: #050f1b;
}
.cinematic-hero-media,
.cinematic-hero-overlay,
.cinematic-hero-glow {
  position: absolute;
  inset: 0;
}
.cinematic-hero-media { z-index: -3; background: #07131f; }
.cinematic-hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% center;
  filter: saturate(.64) contrast(1.08) brightness(.72);
  transform: scale(1.035);
}
.cinematic-hero-overlay {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(4, 13, 24, .96) 0%, rgba(5, 16, 28, .83) 37%, rgba(5, 15, 26, .42) 72%, rgba(5, 15, 26, .66) 100%),
    linear-gradient(180deg, rgba(5, 15, 27, .22), rgba(5, 15, 27, .68));
}
.cinematic-hero-glow {
  z-index: 2;
  pointer-events: none;
  background: radial-gradient(circle at 76% 42%, rgba(139, 202, 196, .16), transparent 32%), radial-gradient(circle at 4% 100%, rgba(216, 183, 155, .1), transparent 29%);
  mix-blend-mode: screen;
}
.cinematic-hero-content {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  width: 100%;
  padding-top: clamp(88px, 11vh, 144px);
  padding-bottom: clamp(120px, 15vh, 170px);
}
.cinematic-hero-copy { max-width: 850px; }
.cinematic-hero-copy > * {
  animation: hero-fade-up .8s cubic-bezier(.2, .8, .2, 1) both;
}
.cinematic-hero-copy > :nth-child(2) { animation-delay: .08s; }
.cinematic-hero-copy > :nth-child(3) { animation-delay: .16s; }
.cinematic-hero-copy > :nth-child(4) { animation-delay: .22s; }
.cinematic-hero-copy > :nth-child(5) { animation-delay: .3s; }
.cinematic-hero-copy > :nth-child(6) { animation-delay: .38s; }
.cinematic-hero .eyebrow { color: var(--teal); }
.cinematic-hero h1 {
  max-width: 880px;
  margin: 20px 0 28px;
  color: #f5f4ee;
  font-size: clamp(68px, 8.8vw, 134px);
  font-weight: 500;
  letter-spacing: -.085em;
  line-height: .82;
}
.cinematic-hero h1 em { color: var(--teal); font-style: italic; }
.cinematic-hero-lead {
  max-width: 710px;
  margin: 0;
  color: rgba(245, 244, 238, .89);
  font-size: clamp(16px, 1.45vw, 19px);
  font-weight: 500;
  line-height: 1.62;
}
.cinematic-hero-support {
  max-width: 620px;
  margin: 15px 0 0;
  color: rgba(201, 216, 219, .82);
  font-size: 13px;
  line-height: 1.7;
}
.cinematic-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 34px; }
.cinematic-hero-actions .button { min-height: 54px; padding-inline: 22px; }
.hero-secondary-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(245, 244, 238, .42);
  color: #f5f4ee;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: color .2s ease, border-color .2s ease;
}
.hero-secondary-link span { color: var(--teal); font-size: 17px; line-height: 1; }
.hero-secondary-link:hover,
.hero-secondary-link:focus-visible { border-color: var(--teal); color: var(--teal); }
.cinematic-hero-proof { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 50px; color: rgba(220, 230, 229, .66); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.cinematic-hero-proof span { display: inline-flex; align-items: center; gap: 8px; }
.cinematic-hero-proof b { color: var(--teal); font-size: 9px; font-weight: 700; }
.cinematic-hero-scroll {
  position: absolute;
  z-index: 4;
  right: max(32px, calc((100vw - 1180px) / 2));
  bottom: 34px;
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  gap: 12px;
  color: rgba(245, 244, 238, .68);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}
.cinematic-hero-scroll i { display: block; width: 1px; height: 54px; background: linear-gradient(var(--teal), transparent); animation: scroll-line 1.8s ease-in-out infinite; }
.cinematic-hero-scroll:hover,
.cinematic-hero-scroll:focus-visible { color: var(--teal); }
@keyframes hero-fade-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes scroll-line { 0%, 100% { opacity: .35; transform: scaleY(.7); transform-origin: top; } 50% { opacity: 1; transform: scaleY(1); transform-origin: top; } }

@media (max-width: 820px) {
  .cinematic-hero { min-height: max(760px, 88svh); }
  .cinematic-hero-media { opacity: .93; }
  .cinematic-hero-overlay { background: linear-gradient(180deg, rgba(4, 13, 24, .72) 0%, rgba(5, 15, 26, .82) 62%, rgba(5, 15, 26, .98) 100%); }
  .cinematic-hero-content { align-items: flex-end; padding-top: 100px; padding-bottom: 116px; }
  .cinematic-hero h1 { margin-top: 16px; font-size: clamp(61px, 13vw, 88px); }
  .cinematic-hero-lead { max-width: 680px; font-size: 16px; }
  .cinematic-hero-support { font-size: 13px; }
  .cinematic-hero-proof { margin-top: 35px; }
  .cinematic-hero-scroll { right: 20px; bottom: 20px; }
}
@media (max-width: 520px) {
  .cinematic-hero { min-height: max(760px, 92svh); }
  .cinematic-hero-video { object-position: 57% center; }
  .cinematic-hero-content { padding-top: 82px; padding-bottom: 106px; }
  .cinematic-hero h1 { margin-bottom: 22px; font-size: clamp(54px, 16vw, 72px); }
  .cinematic-hero-lead { font-size: 15px; line-height: 1.58; }
  .cinematic-hero-support { margin-top: 13px; font-size: 12px; }
  .cinematic-hero-actions { align-items: stretch; flex-direction: column; gap: 15px; margin-top: 28px; }
  .cinematic-hero-actions .button { width: 100%; justify-content: center; }
  .hero-secondary-link { align-self: flex-start; }
  .cinematic-hero-proof { gap: 9px 15px; margin-top: 28px; }
  .cinematic-hero-proof span { font-size: 8px; }
  .cinematic-hero-scroll { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .cinematic-hero-copy > * { animation: none; }
  .cinematic-hero-scroll i { animation: none; }
  .hero-secondary-link { transition: none; }
}

/* Home continuity pass: one blended canvas, centered hero, and softer live-practice cards. */
main {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 15%, rgba(139, 202, 196, .08), transparent 28%),
    radial-gradient(circle at 8% 54%, rgba(23, 55, 77, .42), transparent 30%),
    linear-gradient(180deg, #050f1b 0%, #0b1b2a 28%, #081724 61%, #050f1b 100%);
}

main::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 0%, rgba(139, 202, 196, .035) 42%, transparent 78%);
  content: '';
}

.cinematic-hero > .cinematic-hero-content,
.assessment-band > .shell,
.upcoming-section > .shell,
.quick-start > .shell,
.teacher-section > .shell,
.community-banner > .shell {
  width: min(1280px, calc(100% - 80px));
}

.cinematic-hero > .cinematic-hero-content {
  justify-content: center;
  padding-right: 48px;
  padding-left: 48px;
}

.cinematic-hero-copy {
  max-width: 980px;
  margin-inline: auto;
  text-align: center;
}

.cinematic-hero-copy > .eyebrow { justify-content: center; }
.cinematic-hero h1 { max-width: 920px; margin-right: auto; margin-left: auto; line-height: .87; }
.cinematic-hero-lead,
.cinematic-hero-support { margin-right: auto; margin-left: auto; }
.cinematic-hero-actions { justify-content: center; }
.cinematic-hero-proof { justify-content: center; }

.cinematic-hero-overlay {
  background:
    radial-gradient(circle at 50% 42%, rgba(5, 15, 27, .22), rgba(5, 15, 27, .7) 72%),
    linear-gradient(180deg, rgba(5, 15, 27, .34), rgba(5, 15, 27, .78));
}

.assessment-band,
.upcoming-section,
.quick-start,
.teacher-section,
.community-banner {
  position: relative;
  border: 0;
  background: transparent;
}

.assessment-band { padding: clamp(110px, 12vw, 164px) 0; }
.assessment-band::before,
.upcoming-section::before,
.teacher-section::before,
.community-banner::before {
  position: absolute;
  right: -12%;
  left: -12%;
  height: 320px;
  pointer-events: none;
  content: '';
}

.assessment-band::before {
  top: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(139, 202, 196, .12), transparent 67%);
}

.assessment-grid {
  position: relative;
  padding: clamp(34px, 5vw, 68px);
  border: 1px solid rgba(225, 243, 242, .13);
  border-radius: 32px;
  background: linear-gradient(135deg, rgba(18, 59, 77, .62), rgba(13, 38, 57, .34));
  box-shadow: 0 30px 90px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .06);
  backdrop-filter: blur(18px);
}

.upcoming-section { padding: clamp(110px, 12vw, 164px) 0; }
.upcoming-section::before {
  top: 16%;
  background: radial-gradient(ellipse at 22% 40%, rgba(23, 55, 77, .55), transparent 60%);
}

.upcoming-heading,
.teacher-heading,
.quick-start-head {
  position: relative;
  z-index: 1;
}

.upcoming-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 60px;
  margin-bottom: 42px;
}

.upcoming-heading h2 {
  max-width: 750px;
  margin: 0;
  font-size: clamp(50px, 6vw, 86px);
  font-weight: 500;
  letter-spacing: -.075em;
  line-height: .86;
}

.upcoming-heading > p {
  max-width: 310px;
  margin: 0 0 4px;
  color: var(--muted);
  font-size: 13px;
}

.workshop-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.workshop-card {
  position: relative;
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 20px;
  min-height: 350px;
  padding: 23px;
  overflow: hidden;
  border: 1px solid rgba(225, 243, 242, .14);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(20, 51, 70, .74), rgba(11, 28, 43, .46));
  box-shadow: 0 25px 60px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .05);
  backdrop-filter: blur(18px);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.workshop-card::after {
  position: absolute;
  right: -45px;
  bottom: -80px;
  width: 180px;
  height: 180px;
  border: 1px solid rgba(139, 202, 196, .12);
  border-radius: 50%;
  content: '';
}

.workshop-card:hover {
  border-color: rgba(139, 202, 196, .4);
  box-shadow: 0 32px 76px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .08);
  transform: translateY(-5px);
}

.workshop-date {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: start;
  justify-items: center;
  width: 76px;
  height: 92px;
  padding: 10px 6px;
  border: 1px solid rgba(139, 202, 196, .35);
  border-radius: 18px;
  background: rgba(139, 202, 196, .1);
  text-align: center;
}

.workshop-date span,
.workshop-date small,
.workshop-kicker {
  color: var(--teal);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.workshop-date strong {
  display: block;
  margin: 3px 0 0;
  color: var(--cream);
  font: 500 34px/.9 var(--serif);
  letter-spacing: -.06em;
}

.workshop-date small { margin-top: 4px; color: rgba(220, 230, 229, .7); font-size: 8px; letter-spacing: .04em; }
.workshop-body { position: relative; z-index: 1; }
.workshop-kicker { margin: 2px 0 14px; }
.workshop-body h3 { max-width: 230px; margin: 0 0 13px; font-size: 31px; font-weight: 500; letter-spacing: -.06em; line-height: .9; }
.workshop-body > p:not(.workshop-kicker) { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.workshop-meta { display: grid; gap: 5px; margin-top: 20px; color: rgba(245, 244, 238, .72); font-size: 10px; }
.workshop-meta span::before { margin-right: 7px; color: var(--teal); content: '·'; }
.workshop-action {
  position: relative;
  z-index: 1;
  grid-column: 2;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  align-self: end;
  padding: 10px 0;
  border-bottom: 1px solid rgba(245, 244, 238, .42);
  color: var(--cream);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: color .2s ease, border-color .2s ease;
}
.workshop-action span { color: var(--teal); font-size: 18px; }
.workshop-action:hover,
.workshop-action:focus-visible { border-color: var(--teal); color: var(--teal); }

.quick-start { padding: clamp(110px, 12vw, 164px) 0; }
.quick-start::before {
  position: absolute;
  top: 0;
  right: -12%;
  left: -12%;
  height: 300px;
  pointer-events: none;
  background: radial-gradient(ellipse at 78% 0%, rgba(139, 202, 196, .08), transparent 67%);
  content: '';
}

.quick-start-grid { position: relative; z-index: 1; gap: 18px; }
.start-path {
  min-height: 330px;
  border: 1px solid rgba(225, 243, 242, .15);
  border-radius: 28px;
  box-shadow: 0 26px 65px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .06);
  backdrop-filter: blur(12px);
}
.path-private {
  background: linear-gradient(135deg, rgba(25, 74, 78, .96), rgba(12, 39, 55, .88)), radial-gradient(circle at 78% 20%, rgba(216, 183, 155, .34), transparent 32%);
}

.teacher-section { padding: clamp(110px, 12vw, 164px) 0; }
.teacher-section::before {
  top: 24%;
  background: radial-gradient(ellipse at 72% 40%, rgba(23, 55, 77, .52), transparent 62%);
}
.teacher-card {
  border: 1px solid rgba(225, 243, 242, .14);
  border-radius: 26px;
  background: linear-gradient(145deg, rgba(20, 51, 70, .7), rgba(11, 28, 43, .45));
  box-shadow: 0 24px 60px rgba(0, 0, 0, .17), inset 0 1px 0 rgba(255, 255, 255, .05);
  backdrop-filter: blur(16px);
}

.community-banner { padding: clamp(110px, 12vw, 164px) 0; }
.community-banner::before {
  top: 20%;
  background: radial-gradient(ellipse at 50% 50%, rgba(201, 162, 142, .1), transparent 64%);
}
.community-banner-grid {
  position: relative;
  z-index: 1;
  padding: clamp(34px, 5vw, 64px);
  border: 1px solid rgba(225, 243, 242, .12);
  border-radius: 32px;
  background: linear-gradient(135deg, rgba(16, 38, 56, .55), rgba(11, 27, 42, .24));
  box-shadow: 0 28px 74px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .05);
  backdrop-filter: blur(16px);
}

@media (max-width: 820px) {
  .cinematic-hero > .cinematic-hero-content,
  .assessment-band > .shell,
  .upcoming-section > .shell,
  .quick-start > .shell,
  .teacher-section > .shell,
  .community-banner > .shell { width: min(100% - 40px, 1280px); }
  .cinematic-hero > .cinematic-hero-content { padding-right: 20px; padding-left: 20px; }
  .cinematic-hero-copy { max-width: 720px; }
  .upcoming-heading { display: block; }
  .upcoming-heading > p { margin-top: 22px; }
  .workshop-grid { grid-template-columns: 1fr; }
  .workshop-card { min-height: 0; }
}

@media (max-width: 520px) {
  .cinematic-hero-copy > .eyebrow { align-items: flex-start; }
  .cinematic-hero h1 { font-size: clamp(54px, 16vw, 72px); }
  .cinematic-hero-actions { align-items: center; }
  .hero-secondary-link { align-self: center; }
  .upcoming-heading h2 { font-size: 52px; }
  .workshop-card { grid-template-columns: 68px 1fr; gap: 15px; padding: 18px; border-radius: 24px; }
  .workshop-date { width: 68px; height: 86px; }
  .workshop-date strong { font-size: 31px; }
  .workshop-body h3 { font-size: 27px; }
  .workshop-action { grid-column: 1 / -1; }
  .assessment-grid,
  .community-banner-grid { border-radius: 25px; }
}

@media (prefers-reduced-motion: reduce) {
  .workshop-card,
  .workshop-action { transition: none; }
}

/* Art direction pass: human focal point, warmer conversion moments, and editorial rhythm. */
:root {
  --aura-warm: #e6b094;
  --aura-coral: #d98278;
  --aura-warm-ink: #1b2632;
}

.site-header {
  position: sticky;
  top: 0;
  border-bottom-color: rgba(225, 243, 242, .12);
  background: rgba(5, 15, 27, .76);
  backdrop-filter: saturate(135%) blur(18px);
}
.site-header.sticky { background: rgba(5, 15, 27, .76); }
.site-nav { font-size: 11px; }
.nav-contact { border-color: var(--aura-warm); color: var(--aura-warm) !important; }
.nav-contact:hover { border-color: var(--aura-warm); background: var(--aura-warm); color: var(--aura-warm-ink) !important; }

.cinematic-hero {
  min-height: min(900px, calc(100svh - 82px));
  background: #050f1b;
}
.cinematic-hero-overlay {
  background:
    radial-gradient(circle at 76% 45%, rgba(217, 130, 120, .17), transparent 28%),
    linear-gradient(90deg, rgba(4, 13, 24, .97) 0%, rgba(4, 13, 24, .88) 34%, rgba(4, 13, 24, .5) 68%, rgba(4, 13, 24, .25) 100%),
    linear-gradient(180deg, rgba(5, 15, 27, .3), rgba(5, 15, 27, .76));
}
.cinematic-hero-video { filter: saturate(.72) contrast(1.08) brightness(.7); }
.cinematic-hero > .cinematic-hero-content {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(360px, .77fr);
  gap: clamp(44px, 7vw, 110px);
  align-items: center;
  justify-content: initial;
  padding-top: clamp(90px, 12vh, 150px);
  padding-bottom: clamp(110px, 14vh, 160px);
}
.cinematic-hero-copy {
  max-width: 700px;
  margin: 0;
  text-align: left;
}
.cinematic-hero-copy > .eyebrow { justify-content: flex-start; }
.cinematic-hero h1 {
  max-width: 720px;
  margin: 20px 0 25px;
  font-size: clamp(66px, 7.3vw, 116px);
  line-height: .84;
}
.cinematic-hero-lead {
  max-width: 575px;
  margin: 0;
  font-size: clamp(17px, 1.45vw, 20px);
  line-height: 1.55;
}
.cinematic-hero-actions { justify-content: flex-start; margin-top: 34px; }
.cinematic-hero .button,
.assessment-band .button,
.contact-form .button {
  border-color: var(--aura-warm);
  background: var(--aura-warm);
  color: var(--aura-warm-ink);
  box-shadow: 0 14px 32px rgba(230, 176, 148, .18);
}
.cinematic-hero .button:hover,
.cinematic-hero .button:focus-visible,
.assessment-band .button:hover,
.assessment-band .button:focus-visible,
.contact-form .button:hover,
.contact-form .button:focus-visible { border-color: #f3d1b8; background: #f3d1b8; color: var(--aura-warm-ink); }
.cinematic-hero-proof { justify-content: flex-start; gap: 10px 25px; margin-top: 45px; }
.cinematic-hero-proof span { color: rgba(245, 244, 238, .78); }
.cinematic-hero-proof b { color: var(--aura-warm); }

.hero-focus {
  position: relative;
  width: min(100%, 465px);
  min-height: 520px;
  justify-self: end;
}
.hero-focus-media {
  position: absolute;
  inset: 0 0 0 26px;
  overflow: hidden;
  border: 1px solid rgba(245, 244, 238, .25);
  border-radius: 34px 34px 120px 34px;
  background: #18384e;
  box-shadow: 0 32px 90px rgba(0, 0, 0, .35);
  transform: rotate(2deg);
}
.hero-focus-media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 15, 27, .02), rgba(5, 15, 27, .58)), linear-gradient(135deg, rgba(230, 176, 148, .14), transparent 48%);
  content: '';
}
.hero-focus-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 38%; filter: saturate(.78) contrast(1.04); }
.hero-focus-note {
  position: absolute;
  z-index: 2;
  right: -34px;
  bottom: 26px;
  display: grid;
  gap: 5px;
  width: min(290px, 72%);
  padding: 20px 22px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 24px;
  background: rgba(230, 176, 148, .94);
  color: var(--aura-warm-ink);
  box-shadow: 0 20px 48px rgba(0, 0, 0, .26);
  transform: rotate(-3deg);
}
.hero-focus-note span { font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.hero-focus-note strong { font: 500 31px/.92 var(--serif); letter-spacing: -.05em; }
.hero-focus-note small { max-width: 215px; font-size: 11px; line-height: 1.45; }
.hero-focus-signal {
  position: absolute;
  z-index: 2;
  top: 28px;
  left: -22px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(245, 244, 238, .82);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.35;
  text-transform: uppercase;
}
.hero-focus-signal i { width: 8px; height: 8px; border-radius: 50%; background: var(--aura-coral); box-shadow: 0 0 0 6px rgba(217, 130, 120, .16); }

.assessment-band::before { background: radial-gradient(ellipse at 24% 0%, rgba(230, 176, 148, .14), transparent 58%); }
.assessment-steps { display: grid; gap: 12px; }
.assessment-steps > div {
  display: grid;
  grid-template-columns: 45px 1fr;
  gap: 12px 16px;
  padding: 17px 0;
  border-bottom: 1px solid rgba(225, 243, 242, .15);
}
.assessment-steps > div > span { color: var(--aura-warm); font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.assessment-steps strong { color: var(--cream); font-size: 15px; font-weight: 600; }
.assessment-steps p { grid-column: 2; margin: -5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }

.upcoming-section { background: linear-gradient(180deg, transparent, rgba(217, 130, 120, .045) 52%, transparent); }
.workshop-grid { grid-template-columns: 1.35fr .825fr .825fr; }
.workshop-card-featured {
  border-color: rgba(230, 176, 148, .55);
  background: linear-gradient(145deg, rgba(113, 67, 70, .92), rgba(25, 46, 59, .8));
  box-shadow: 0 30px 80px rgba(92, 46, 50, .26), inset 0 1px 0 rgba(255, 255, 255, .1);
}
.workshop-card-featured .workshop-date { border-color: rgba(230, 176, 148, .65); background: rgba(230, 176, 148, .18); }
.workshop-card-featured .workshop-date span,
.workshop-card-featured .workshop-kicker,
.workshop-card-featured .workshop-action span { color: #f3c6ab; }
.workshop-card-featured .workshop-body > p:not(.workshop-kicker),
.workshop-card-featured .workshop-meta { color: rgba(255, 240, 231, .76); }

.quick-start { background: linear-gradient(180deg, transparent, rgba(139, 202, 196, .045) 45%, transparent); }
.quick-start-grid { grid-template-columns: 1.25fr 1fr 1fr; }
.start-path-featured,
.path-private { background: linear-gradient(135deg, rgba(140, 76, 74, .96), rgba(47, 56, 68, .9)), radial-gradient(circle at 78% 20%, rgba(230, 176, 148, .34), transparent 32%); }
.start-path-featured { border-color: rgba(230, 176, 148, .52); }

.teacher-section { background: linear-gradient(180deg, transparent, rgba(23, 55, 77, .22) 45%, transparent); }
.teacher-grid { gap: 18px; }
.teacher-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(20, 51, 70, .7), rgba(11, 28, 43, .45));
}
.teacher-avatar { width: 100%; height: 245px; border: 0; border-radius: 0; }
.teacher-card > div:last-child { padding: 23px; }
.teacher-card h3 { font-size: 32px; }

.contact-hero .page-hero-copy { background: linear-gradient(135deg, rgba(18, 59, 77, .28), transparent); }
.contact-assessment { padding-top: clamp(95px, 11vw, 145px); padding-bottom: clamp(95px, 11vw, 145px); }
.contact-reassurance { max-width: 370px; margin: 0 0 35px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.contact-form {
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(20, 51, 70, .82), rgba(11, 28, 43, .58));
  box-shadow: 0 30px 85px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .06);
  backdrop-filter: blur(18px);
}
.contact-form .button { margin-top: 6px; }
.form-note { margin: 15px 0 0; color: rgba(220, 230, 229, .66); font-size: 11px; }
.next-step-banner {
  padding: clamp(90px, 11vw, 140px) 0;
  background: linear-gradient(135deg, rgba(230, 176, 148, .92), rgba(174, 116, 111, .88));
  color: var(--aura-warm-ink);
}
.next-step-banner .eyebrow { color: var(--aura-warm-ink); }
.next-step-banner h2 { max-width: 720px; margin: 0 0 42px; color: var(--aura-warm-ink); font-size: clamp(48px, 5vw, 76px); font-weight: 500; letter-spacing: -.07em; line-height: .86; }
.next-step-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.next-step-points > div { padding-top: 17px; border-top: 1px solid rgba(27, 38, 50, .28); }
.next-step-points span { font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.next-step-points strong { display: block; margin-top: 32px; font-size: 15px; }
.next-step-points p { max-width: 220px; margin: 8px 0 0; color: rgba(27, 38, 50, .7); font-size: 12px; line-height: 1.55; }

@media (max-width: 820px) {
  .cinematic-hero { min-height: auto; }
  .cinematic-hero > .cinematic-hero-content { grid-template-columns: 1fr; gap: 56px; align-items: start; padding-top: 100px; padding-bottom: 125px; }
  .cinematic-hero-copy { max-width: 720px; }
  .hero-focus { width: min(100%, 520px); min-height: 430px; justify-self: center; }
  .hero-focus-note { right: -8px; }
  .hero-focus-signal { left: 0; }
  .workshop-grid,
  .quick-start-grid { grid-template-columns: 1fr; }
  .workshop-card-featured { min-height: 380px; }
  .teacher-card { display: grid; grid-template-columns: 150px 1fr; }
  .teacher-avatar { width: 150px; height: 100%; min-height: 210px; }
  .teacher-card > div:last-child { padding: 21px; }
  .next-step-points { grid-template-columns: 1fr; gap: 25px; }
  .next-step-points strong { margin-top: 14px; }
}

@media (max-width: 520px) {
  .cinematic-hero > .cinematic-hero-content { padding-top: 82px; padding-bottom: 115px; }
  .cinematic-hero h1 { font-size: clamp(54px, 16vw, 75px); }
  .cinematic-hero-actions { align-items: stretch; flex-direction: column; }
  .cinematic-hero .button { width: 100%; }
  .hero-secondary-link { align-self: flex-start; }
  .cinematic-hero-proof { align-items: flex-start; flex-direction: column; margin-top: 31px; }
  .hero-focus { min-height: 355px; }
  .hero-focus-media { left: 10px; border-radius: 26px 26px 80px 26px; }
  .hero-focus-note { right: -4px; bottom: 14px; width: 245px; padding: 16px 18px; }
  .hero-focus-note strong { font-size: 27px; }
  .assessment-steps > div { grid-template-columns: 35px 1fr; }
  .assessment-steps p { grid-column: 2; }
  .teacher-card { display: flex; }
  .teacher-avatar { width: 100%; height: 220px; min-height: 0; }
  .contact-form { padding: 25px; border-radius: 24px; }
}

/* Human proof moment: a softer, warmer pause before the final conversion CTA. */
.voice-room {
  position: relative;
  padding: clamp(110px, 13vw, 176px) 0;
  background: linear-gradient(180deg, transparent, rgba(230, 176, 148, .055) 50%, transparent);
}
.voice-room::before {
  position: absolute;
  top: 14%;
  right: -16%;
  width: 62%;
  height: 72%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(230, 176, 148, .1), transparent 68%);
  content: '';
}
.voice-room-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(44px, 8vw, 110px);
  align-items: center;
}
.voice-room-art {
  position: relative;
  display: grid;
  min-height: 440px;
  align-items: center;
  overflow: hidden;
  padding: 40px;
  border: 1px solid rgba(230, 176, 148, .38);
  border-radius: 38px 38px 110px 38px;
  background:
    radial-gradient(circle at 30% 18%, rgba(230, 176, 148, .26), transparent 25%),
    radial-gradient(circle at 78% 68%, rgba(139, 202, 196, .15), transparent 34%),
    linear-gradient(145deg, #4d3440, #12283a 68%);
  box-shadow: 0 34px 85px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .09);
}
.voice-room-art::before,
.voice-room-art::after {
  position: absolute;
  border: 1px solid rgba(230, 176, 148, .2);
  border-radius: 50%;
  content: '';
}
.voice-room-art::before { inset: 13% 18%; }
.voice-room-art::after { inset: 24% 31%; border-color: rgba(139, 202, 196, .2); }
.voice-room-wave {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 150px;
}
.voice-room-wave i {
  display: block;
  width: 3px;
  height: 32px;
  border-radius: 999px;
  background: linear-gradient(180deg, #f3d1b8, var(--aura-warm));
  box-shadow: 0 0 18px rgba(230, 176, 148, .34);
  animation: voice-wave 1.6s ease-in-out infinite alternate;
}
.voice-room-wave i:nth-child(2n) { height: 68px; animation-delay: -.3s; }
.voice-room-wave i:nth-child(3n) { height: 104px; animation-delay: -.6s; }
.voice-room-wave i:nth-child(5n) { height: 138px; animation-delay: -.9s; }
.voice-room-wave i:nth-child(7n) { height: 86px; animation-delay: -1.1s; }
@keyframes voice-wave { from { transform: scaleY(.62); opacity: .6; } to { transform: scaleY(1); opacity: 1; } }
.voice-room-art-label {
  position: absolute;
  right: 28px;
  bottom: 28px;
  left: 28px;
  display: grid;
  gap: 5px;
  color: #fff5ef;
}
.voice-room-art-label span { color: #f3c6ab; font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.voice-room-art-label strong { max-width: 260px; font: 500 35px/.9 var(--serif); letter-spacing: -.05em; }
.voice-room-copy { max-width: 570px; }
.voice-room-copy h2 { max-width: 560px; margin: 0 0 25px; font-size: clamp(54px, 6vw, 87px); font-weight: 500; letter-spacing: -.075em; line-height: .86; }
.voice-room-copy > p:not(.eyebrow) { max-width: 480px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.7; }
.voice-room-player {
  min-height: 71px;
  margin-top: 30px;
  padding: 17px 19px;
  border: 1px solid rgba(230, 176, 148, .24);
  border-radius: 18px;
  background: rgba(230, 176, 148, .07);
}
.voice-room-player audio { display: block; width: 100%; height: 36px; }
.voice-room-player audio[hidden] { display: none; }
.voice-room-empty { margin: 0; color: rgba(245, 244, 238, .7); font-size: 12px; line-height: 1.5; }
.voice-room-empty[hidden] { display: none; }
.voice-room-note { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-top: 22px; color: rgba(245, 244, 238, .72); font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.voice-room-note span::before { margin-right: 7px; color: var(--aura-warm); content: '✦'; }
.voice-room-copy .case-link { margin-top: 30px; }
.community-banner-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.community-banner-actions .case-link { margin-top: 0; }

@media (max-width: 820px) {
  .voice-room-grid { grid-template-columns: 1fr; gap: 54px; }
  .voice-room-art { min-height: 390px; }
  .voice-room-copy { max-width: 720px; }
}
@media (max-width: 520px) {
  .voice-room { padding: 94px 0; }
  .voice-room-art { min-height: 335px; padding: 24px; border-radius: 28px 28px 80px 28px; }
  .voice-room-art-label { right: 22px; bottom: 22px; left: 22px; }
  .voice-room-art-label strong { font-size: 30px; }
  .voice-room-wave { gap: 5px; }
  .voice-room-wave i { width: 2px; }
  .voice-room-copy h2 { font-size: 53px; }
  .community-banner-actions { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .voice-room-wave i { animation: none; }
}
