.anchor-alias { display: block; height: 0; scroll-margin-top: 100px; }
.section { padding-block: clamp(66px, 6vw, 92px); }
.hero { padding-bottom: 18px; }
.market { border-block: 1px solid #ffffff14; padding-block: 22px; }
.market p { color: #b0b3b2; font-size: 13px; line-height: 1.8; }
.market strong { color: #e7e7e1; font-weight: 560; margin-right: 5px; }
.market a { color: #a6aaa5; white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; margin-left: 6px; }
.site-nav { gap: 20px; }
.nav-inner { gap: 22px; }
.gallery-compact { color-scheme: light; background: #f6f7f8; color: #191a1b; padding-block: 64px; }
.gallery-compact > .container { width: min(1180px, calc(100% - 64px)); }
.gallery-compact .gallery-heading { max-width: 800px; }
.gallery-compact .eyebrow { color: #5f6368; letter-spacing: .14em; font-weight: 600; }
.gallery-compact .gallery-heading h2 { font-size: clamp(42px, 5.35vw, 72px); line-height: 1.06; letter-spacing: -.054em; text-wrap: initial; color: #171819; }
.gallery-compact .intro { color: #555d65; font-size: 18px; line-height: 1.65; max-width: 710px; margin-top: 25px; }
.gallery-compact .gallery-heading .button { margin-top: 28px; background: linear-gradient(105deg, #fff8be, #ffe0d8); min-height: 48px; min-width: 184px; font-size: 13px; color: #141615; }
.gallery-compact .audio-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 46px; }
.gallery-compact .audio-card { position: relative; display: block; isolation: isolate; padding: 0; min-height: 0; aspect-ratio: 3 / 4; border: 0; border-radius: 23px; overflow: hidden; background: #202427; box-shadow: 0 18px 35px -18px #17191b3d; }
.gallery-compact .audio-photo { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; aspect-ratio: auto; }
.gallery-compact .audio-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 50% 50%; }
.compact-shade { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, #0000 38%, #00000012 54%, #000000b8 100%); }
.gallery-compact .audio-play { position: absolute; z-index: 3; left: 50%; top: 50%; width: 76px; height: 76px; margin: 0; padding: 0; display: grid; place-items: center; transform: translate(-50%, -50%); border: 0; border-radius: 50%; color: #171b19; background: radial-gradient(circle at 28% 25%, #ffffffb8, transparent 48%), conic-gradient(from 130deg, #fff7bd, #ffdfd8, #c9b9ee, #68d5ad, #fff7bd); box-shadow: 0 5px 20px #00000012; transition: transform .2s, box-shadow .2s; }
.gallery-compact .audio-play:hover { transform: translate(-50%, -50%) scale(1.035); box-shadow: 0 7px 24px #00000029; }
.gallery-compact .audio-play:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.gallery-compact .audio-play .icon { width: 24px; height: 24px; }
.gallery-compact .audio-play .icon-play { display: block; }
.gallery-compact .audio-play .icon-pause { display: none; }
.gallery-compact .audio-card[data-playing="true"] .icon-play { display: none; }
.gallery-compact .audio-card[data-playing="true"] .icon-pause { display: block; }
.compact-caption { position: absolute; z-index: 2; left: 18px; right: 14px; bottom: 18px; transition: bottom .2s; color: #fff; }
.compact-caption h3 { font-size: 18px; line-height: 1.2; font-weight: 620; letter-spacing: -.025em; }
.compact-caption p { color: #f0f0ed; margin-top: 7px; font-size: 11px; line-height: 1.4; }
.compact-player { position: absolute; z-index: 3; bottom: 17px; left: 18px; right: 18px; gap: 10px; align-items: center; display: none; color: #fff; }
.compact-player .audio-time { flex: 0 0 auto; min-width: 29px; color: #fff; font-size: 10px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.gallery-compact .compact-player .audio-seek { flex: 1; width: 100%; min-width: 0; margin: 0; accent-color: #e7d8ba; }
.gallery-compact .audio-card[data-interacted="true"] .compact-caption { bottom: 61px; }
.gallery-compact .audio-card[data-interacted="true"] .compact-player { display: flex; }
.gallery-compact .audio-error { position: absolute; z-index: 5; inset: 14px 14px auto; padding: 13px; border: 1px solid #ffffff38; border-radius: 9px; background: #151a1bef; color: #fff; font-size: 12px; line-height: 1.5; margin: 0; }
.gallery-compact .audio-error a { display: block; margin-top: 5px; color: #f5e1b5; text-decoration: underline; text-underline-offset: 3px; }
.gallery-compact .audio-error[hidden] { display: none; }
.gallery-compact .photo-fallback { color: #d6dbd7; padding: 22px 20px; align-content: start; font-size: 12px; }
.gallery-compact .photo-fallback a { color: #eadbbd; }
.native-audio-link { position: absolute; z-index: 4; left: 22px; right: 22px; top: 45%; padding: 12px; border-radius: 6px; background: #eee9df; color: #222; text-align: center; font-size: 13px; }
.gallery-meta { display: flex; flex-wrap: wrap; gap: 12px 30px; justify-content: space-between; margin-top: 23px; color: #646b70; font-size: 11px; line-height: 1.6; }
.sample-transcripts summary { cursor: pointer; text-decoration: underline; text-underline-offset: 4px; color: #4e565a; }
.sample-transcripts[open] { flex-basis: 100%; }
.transcript-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 35px; margin-top: 25px; }
.transcript-grid h3 { color: #232a2c; font-size: 17px; margin-bottom: 8px; }
.transcript-grid p { font-size: 13px; line-height: 1.7; margin-top: 5px; }
.transcript-grid strong { font-weight: 600; }
.gallery-swipe-note { display: none; }
.gallery-compact summary:focus-visible, .gallery-compact a:focus-visible { outline-color: #565e51; }
.proof-main { display: grid; grid-template-columns: 1fr 1.15fr; gap: 80px; align-items: center; }
.award-detail { margin-top: 24px; color: #cccac0; font-size: 14px; line-height: 1.8; }
.award-detail span { color: #a7aaa5; }
.proof-quote blockquote { margin: 0; color: #e3e4dd; font-size: clamp(21px, 2.1vw, 28px); line-height: 1.45; letter-spacing: -.025em; font-weight: 400; }
.proof-quote figcaption { font-size: 12px; color: #b0b5ae; margin-top: 22px; }
.proof-logos { border-top: 1px solid var(--line); margin-top: 53px; padding-top: 29px; }
.proof-logos > p { color: #a9aca6; font-size: 12px; line-height: 1.7; }
.proof-logo-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: center; justify-items: center; gap: 32px; margin-top: 29px; min-height: 47px; }
.proof-logo-row img { display: block; max-width: 100%; width: 130px; height: 38px; object-fit: contain; color: #eee; font-size: 13px; }
.proof-logo-row .logo-tata { width: 76px; height: 46px; }
.proof-logo-row a { display: block; width: 100%; }
.proof-wordmark { font-size: 14px; font-weight: 650; letter-spacing: .035em; text-align: center; }
.problem-section { border-top: 1px solid var(--line); padding-top: 74px; }
.problem-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 95px; align-items: start; }
.problem-list article { display: grid; grid-template-columns: 24px 1fr; gap: 16px; border-top: 1px solid var(--line); padding-block: 24px; }
.problem-list article > span { color: #a6a493; font-size: 11px; margin-top: 5px; }
.problem-list h3 { font-size: 21px; line-height: 1.3; letter-spacing: -.025em; }
.problem-list p { margin-top: 9px; color: #a9ada7; font-size: 14px; line-height: 1.75; }
.process-section { padding-block: 26px 44px; }
.process-panel { padding: 55px; }
.training-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 84px; align-items: center; }
.training-stage-media { position: relative; isolation: isolate; overflow: hidden; border-radius: 20px; aspect-ratio: 1.13; background: #191d1e; }
.training-stage-media > img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.training-stage-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0000 40%, #000000a8 100%); pointer-events: none; }
.training-prompt { position: absolute; z-index: 2; bottom: 26px; left: 26px; right: 26px; color: #f7f8f4; }
.training-prompt > span { display: block; font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px; }
.training-prompt > p { max-width: 400px; font-size: 25px; line-height: 1.3; letter-spacing: -.035em; }
.training-stage > figcaption { font-size: 10px; color: #989e96; margin-top: 11px; }
.training-topic-list { margin-top: 28px; }
.training-topic { display: flex; width: 100%; align-items: center; gap: 14px; text-align: left; border: 0; border-top: 1px solid var(--line); padding: 15px 0; background: transparent; color: #969f97; font-size: 20px; font-weight: 470; letter-spacing: -.025em; }
.training-topic > span { color: #d5c7a7; opacity: 0; font-size: 18px; }
.training-topic.is-active { color: #f0eee5; }
.training-topic.is-active > span { opacity: 1; }
.training-topic:hover { color: #eee9df; }
.training-description { margin-top: 20px; color: #aeb2aa; font-size: 14px; line-height: 1.75; min-height: 5.25em; }
.training-access { padding-block: 24px 48px; }
.practice-life { padding-block: 20px; }
.practice-photo { width: min(100%, 420px); }
.custom-facts article { padding-block: 24px; border-top: 1px solid var(--line); }
.custom-facts h3 { color: #ebebe5; font-size: 21px; line-height: 1.3; letter-spacing: -.025em; }
.custom-facts p { color: #a7ada5; font-size: 14px; line-height: 1.75; margin-top: 10px; }
.comparison-section { color-scheme: light; background: #f6f7f8; color: #232627; }
.comparison-section > .container { width: min(1180px, calc(100% - 64px)); }
.comparison-section .eyebrow { color: #62696b; }
.comparison-section .intro { color: #5d6466; font-size: 17px; max-width: 635px; }
.comparison-table { margin-top: 40px; width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; text-align: left; font-size: 14px; line-height: 1.6; }
.comparison-table col:first-child { width: 21%; }
.comparison-table col:nth-child(2) { width: 39.5%; }
.comparison-table col:nth-child(3) { width: 39.5%; }
.comparison-table th, .comparison-table td { padding: 18px 25px; vertical-align: top; border-bottom: 1px solid #d8dcdd; font-weight: 400; overflow-wrap: break-word; }
.comparison-table tbody th { color: #3f494b; font-weight: 560; font-size: 13px; padding-left: 0; }
.comparison-table thead th { padding-top: 24px; padding-bottom: 24px; background: #e9edee; font-size: 17px; font-weight: 560; vertical-align: middle; }
.comparison-table thead th:first-child { background: transparent; font-size: 12px; font-weight: 500; color: #616a6d; padding-left: 0; }
.comparison-table thead th:nth-child(2) { border-top-left-radius: 13px; }
.comparison-table thead .is-carl { border-top-right-radius: 13px; background: #e7dcc4; color: #2a342b; font-size: 24px; letter-spacing: -.025em; }
.comparison-table thead .is-carl > span { display: inline-block; font-size: 11px; letter-spacing: 0; margin-left: 11px; color: #565d4f; font-weight: 450; }
.comparison-table td { color: #626d70; }
.comparison-table td.is-carl { color: #354039; background: #ede7d9; border-bottom-color: #d8d4c9; }
.comparison-table tbody tr:last-child > * { border-bottom: 0; }
.comparison-table tbody tr:last-child > td.is-carl { border-bottom-right-radius: 13px; border-bottom-left-radius: 13px; }
.mobile-cell-label { display: none; }
.partner-section { padding-top: 90px; }
.partner-offer h3 { line-height: 1.15; font-size: 29px; letter-spacing: -.035em; }
.faq-section { padding-top: 6px; }
@media (max-width: 1199px) {
  .site-nav { gap: 15px; font-size: 11px; }
  .nav-inner { gap: 19px; }
  .proof-main, .problem-grid, .training-grid { gap: 54px; }
  .proof-logo-row { gap: 20px; }
  .compact-caption h3 { font-size: 17px; }
  .compact-caption { left: 16px; }
  .compact-caption p { font-size: 10px; }
  .gallery-compact .audio-play { width: 67px; height: 67px; }
}
@media (max-width: 980px) {
  .site-nav .nav-optional { display: none; }
  .gallery-compact .audio-grid { gap: 14px; }
  .gallery-compact .audio-card { border-radius: 17px; }
  .compact-caption { bottom: 15px; left: 13px; right: 10px; }
  .compact-caption h3 { font-size: 15px; }
  .compact-caption p { font-size: 10px; line-height: 1.3; }
  .gallery-compact .audio-play { width: 61px; height: 61px; }
  .proof-main, .problem-grid, .training-grid { gap: 37px; }
  .proof-logo-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
  .process-panel { padding: 40px; }
  .training-prompt { left: 20px; right: 20px; bottom: 20px; }
  .training-prompt > p { font-size: 21px; }
  .training-topic { font-size: 18px; padding-block: 13px; }
  .comparison-table th, .comparison-table td { padding: 17px; }
  .comparison-table thead th { font-size: 15px; }
  .comparison-table thead .is-carl > span { display: block; margin: 2px 0 0; }
}
@media (max-width: 760px) {
  .site-nav .nav-optional { display: block; }
  .market p { font-size: 12px; }
  .gallery-compact { padding-block: 51px; }
  .gallery-compact > .container, .comparison-section > .container { width: calc(100% - 40px); }
  .gallery-compact .gallery-heading h2 { font-size: clamp(38px, 7.7vw, 55px); }
  .gallery-compact .intro { font-size: 15px; margin-top: 21px; }
  .gallery-compact .gallery-heading .button { margin-top: 22px; }
  .gallery-compact .audio-grid { margin-top: 28px; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(76vw, 280px); gap: 14px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #b7bfc1 transparent; padding: 3px 3px 16px; scroll-padding-inline: 3px; }
  .gallery-compact .audio-card { scroll-snap-align: start; border-radius: 21px; box-shadow: none; }
  .gallery-compact .audio-play { width: 70px; height: 70px; }
  .compact-caption { left: 18px; bottom: 19px; }
  .compact-caption h3 { font-size: 18px; }
  .compact-caption p { font-size: 11px; }
  .gallery-swipe-note { display: block; margin-top: 28px; margin-bottom: -14px; font-size: 11px; color: #697276; }
  .gallery-meta { font-size: 11px; margin-top: 9px; }
  .transcript-grid { grid-template-columns: 1fr; gap: 20px; }
  .proof-main, .problem-grid, .training-grid { grid-template-columns: minmax(0, 1fr); gap: 33px; }
  .proof-quote blockquote { font-size: 24px; }
  .proof-logos { margin-top: 35px; padding-top: 24px; }
  .proof-logo-row { gap: 23px; }
  .proof-wordmark { font-size: 11px; }
  .proof-logo-row img { height: 30px; }
  .problem-section { padding-top: 56px; }
  .problem-list article { padding-block: 21px; }
  .problem-list h3, .custom-facts h3 { font-size: 20px; }
  .process-section { padding-block: 10px 24px; }
  .process-panel { padding: 34px 26px; }
  .training-showcase { padding-top: 36px; }
  .training-topics { grid-row: 1; }
  .training-description { min-height: 0; }
  .training-stage-media { aspect-ratio: 1.15; }
  .training-prompt > p { font-size: 23px; }
  .training-access { padding-block: 0 32px; }
  .practice-life { padding-top: 15px; }
  .custom-facts article:first-child { padding-top: 24px; }
  .partner-section { padding-top: 62px; }
  .faq-section { padding-top: 0; }
}
@media (max-width: 640px) {
  .comparison-table { display: block; margin-top: 29px; }
  .comparison-table colgroup { display: none; }
  .comparison-table thead { position: absolute; width: 1px; height: 1px; margin: -1px; clip: rect(0,0,0,0); overflow: hidden; }
  .comparison-table tbody { display: block; }
  .comparison-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-bottom: 0; border-top: 1px solid #d0d7d7; }
  .comparison-table tbody th { grid-column: 1 / -1; font-size: 14px; padding: 18px 0 13px; border: 0; }
  .comparison-table tbody td { display: block; font-size: 13px; line-height: 1.65; padding: 14px 13px 20px; border: 0; }
  .comparison-table tbody td:not(.is-carl) { padding-left: 0; padding-right: 17px; }
  .comparison-table td.is-carl { border-radius: 9px 9px 0 0; }
  .mobile-cell-label { display: block; color: #303d3d; font-size: 11px; font-weight: 650; margin-bottom: 8px; }
  .comparison-section .intro { font-size: 15px; }
}
@media (max-width: 389px) {
  .gallery-compact > .container, .comparison-section > .container { width: calc(100% - 32px); }
  .gallery-compact .gallery-heading h2 { font-size: 38px; }
  .gallery-compact .audio-grid { grid-auto-columns: min(77vw, 280px); }
  .process-panel { padding: 30px 22px; }
  .training-prompt > p { font-size: 21px; }
  .proof-logo-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .comparison-table tbody td { font-size: 12.5px; padding-right: 11px; padding-left: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .gallery-compact .audio-play:hover { transform: translate(-50%, -50%); }
}
@media print {
  .market, .proof-section, .problem-section, .custom-section, .training-showcase { color: #111; background: #fff; }
  .gallery-compact .audio-grid { display: grid; grid-auto-flow: initial; grid-template-columns: repeat(4, 1fr); overflow: visible; }
  .compact-player, .gallery-swipe-note, .photo-fallback { display: none !important; }
  .comparison-table { break-inside: avoid; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
