/* Testimonials — evidence-led, editorial, and deliberately human. */
.dr-testimonial-page { overflow: clip; background: var(--dr-ink-950, #08080a); }

.dr-testimonial-hero {
  min-height: min(780px, calc(100svh - 76px));
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(480px, 1.12fr);
  align-items: stretch;
  border-bottom: 1px solid var(--dr-line);
}

.dr-testimonial-hero-copy {
  position: relative;
  z-index: 2;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(100px, 11vw, 156px) clamp(38px, 6vw, 92px) clamp(82px, 9vw, 126px) var(--gx);
  background: var(--dr-ink-950, #08080a);
  animation: drTestimonialHeroCopy .78s cubic-bezier(.2,.7,.2,1) both;
}

.dr-testimonial-kicker { display: inline-flex; align-items: center; gap: 12px; color: var(--gold); font: 700 11px/1 var(--font-display); letter-spacing: .16em; text-transform: uppercase; }
.dr-testimonial-kicker::before { content: ''; width: 34px; height: 1px; background: currentColor; }
.dr-testimonial-hero h1 { max-width: 760px; margin: 26px 0 28px; color: var(--studio); font: 700 clamp(48px, 6.4vw, 92px)/.99 var(--font-display); letter-spacing: -.04em; text-wrap: balance; }
.dr-testimonial-hero-copy > p { max-width: 620px; margin: 0; color: var(--dr-copy); font-size: clamp(1rem, 1.4vw, 1.125rem); line-height: 1.72; text-wrap: pretty; }

.dr-testimonial-hero-visual { position: relative; min-height: 680px; overflow: hidden; animation: drTestimonialHeroReveal 1s .08s cubic-bezier(.2,.7,.2,1) both; }
.dr-testimonial-hero-visual > img { width: 100%; height: 100%; object-fit: cover; object-position: 61% center; filter: saturate(.72) contrast(1.08); transform: scale(1.018); }
.dr-testimonial-hero-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--dr-ink-950, #08080a) 0%, transparent 28%), linear-gradient(0deg, rgba(8,8,10,.82), transparent 48%); pointer-events: none; }
.dr-testimonial-hero-note { position: absolute; z-index: 2; left: clamp(30px, 4vw, 62px); right: clamp(26px, 4vw, 58px); bottom: clamp(34px, 5vw, 68px); display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: start; max-width: 620px; }
.dr-testimonial-hero-note > span { color: var(--gold); font: 700 clamp(50px, 6vw, 82px)/.72 Georgia,serif; }
.dr-testimonial-hero-note p { max-width: 24ch; margin: 0; color: var(--studio); font: 600 clamp(22px, 2.7vw, 38px)/1.4 var(--font-display); letter-spacing: -.025em; text-wrap: balance; }
.dr-testimonial-pulse { position: absolute; z-index: 2; top: 36px; right: 36px; width: 10px; height: 10px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 0 rgba(34,211,238,.42); animation: drTestimonialPulse 2.8s ease-out infinite; }

.dr-testimonial-page .dr-testimonial-showcase { padding: clamp(82px, 10vw, 136px) var(--gx); }
.dr-testimonial-page .dr-testimonial-section + .dr-testimonial-section { margin-top: clamp(94px, 11vw, 150px); }
.dr-testimonial-page .dr-testimonial-section-head { grid-template-columns: minmax(260px, .8fr) minmax(280px, .55fr); padding-bottom: 26px; margin-bottom: 22px; border-bottom: 1px solid var(--dr-line); }
.dr-testimonial-page .dr-testimonial-section-head h2 { margin: 0; color: var(--studio); font: 700 clamp(32px, 4.5vw, 58px)/1.06 var(--font-display); letter-spacing: -.035em; text-wrap: balance; }
.dr-testimonial-page .dr-testimonial-section-head > p { max-width: 50ch; color: var(--dr-copy); font-size: 1rem; }

.dr-testimonial-page .dr-testimonial-service-grid { grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 1px; background: var(--dr-line); }
.dr-testimonial-page .dr-testimonial-card { border: 0; background: var(--dr-ink-900, #101014); }
.dr-testimonial-page .dr-testimonial-card::after { opacity: .8; }
.dr-testimonial-page .dr-testimonial-service-grid .dr-testimonial-card:first-child { min-height: 520px; border: 0; background: linear-gradient(145deg, var(--dr-gold-wash), var(--dr-ink-900, #101014) 62%); }
.dr-testimonial-page .dr-testimonial-card blockquote { display: block; overflow: visible; -webkit-line-clamp: initial; color: var(--studio); }
.dr-testimonial-page .dr-testimonial-service-grid .dr-testimonial-card:first-child blockquote { max-width: 42ch; -webkit-line-clamp: initial; font-size: clamp(1rem, 2.25vw, 1.125rem); line-height: 1.7; }
.dr-testimonial-page .dr-testimonial-card footer small { color: var(--dr-copy); }

.dr-testimonial-page .dr-testimonial-course-marquee { padding-block: 10px 24px; }
.dr-testimonial-page .dr-testimonial-course-set .dr-testimonial-card { min-height: 390px; background: var(--dr-ink-900, #101014); border: 1px solid var(--dr-line); }
.dr-testimonial-page .dr-testimonial-course-set .dr-testimonial-card:nth-child(3n + 2) { background: linear-gradient(150deg, var(--dr-gold-wash), var(--dr-ink-900, #101014) 48%); }
.dr-testimonial-page .dr-testimonial-course-set .dr-testimonial-card:nth-child(3n) { background: linear-gradient(150deg, var(--dr-violet-wash), var(--dr-ink-900, #101014) 48%); }

.dr-testimonial-scenes { padding: clamp(82px, 9vw, 126px) var(--gx); background: var(--dr-surface, #f7f6f3); color: var(--dr-ink-950, #08080a); }
.dr-testimonial-scenes > header { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(260px, .56fr); align-items: end; gap: 38px; margin-bottom: clamp(38px, 5vw, 64px); }
.dr-testimonial-scenes h2 { max-width: 760px; margin: 0; font: 700 clamp(38px, 5.4vw, 70px)/1.04 var(--font-display); letter-spacing: -.04em; text-wrap: balance; }
.dr-testimonial-scenes header p { max-width: 48ch; margin: 0; color: var(--dr-ink-800); font-size: 1rem; line-height: 1.7; }
.dr-testimonial-scene-grid { display: grid; grid-template-columns: 1.2fr .8fr; grid-template-rows: repeat(2, minmax(230px, 1fr)); gap: 10px; }
.dr-testimonial-scene { position: relative; min-height: 260px; margin: 0; overflow: hidden; animation: drTestimonialSceneIn .68s calc(var(--scene-index) * 90ms) cubic-bezier(.2,.7,.2,1) both; }
.dr-testimonial-scene:first-child { grid-row: 1 / 3; min-height: 560px; }
.dr-testimonial-scene img { width: 100%; height: 100%; object-fit: cover; transition: transform .75s cubic-bezier(.2,.7,.2,1), filter .35s ease; }
.dr-testimonial-scene:nth-child(2) img { object-position: 52% center; }
.dr-testimonial-scene:nth-child(3) img { object-position: 58% center; }
.dr-testimonial-scene::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,8,10,.72), transparent 48%); pointer-events: none; }
.dr-testimonial-scene figcaption { position: absolute; z-index: 2; left: 22px; right: 22px; bottom: 20px; display: flex; justify-content: space-between; align-items: center; color: var(--dr-white); font-weight: 700; }
.dr-testimonial-scene figcaption i { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid color-mix(in oklch, var(--dr-white) 48%, transparent); border-radius: 50%; font-style: normal; transition: transform .28s ease, background-color .28s ease, color .28s ease; }

.dr-testimonial-cta { display: flex; align-items: center; justify-content: space-between; gap: 36px; padding: clamp(70px, 9vw, 122px) var(--gx); background: linear-gradient(115deg, var(--dr-ink-900, #101014), var(--dr-ink-950, #08080a)); border-top: 1px solid var(--dr-line); }
.dr-testimonial-cta p { max-width: 760px; margin: 0; color: var(--studio); font: 700 clamp(34px, 5vw, 68px)/1.08 var(--font-display); letter-spacing: -.04em; text-wrap: balance; }
.dr-testimonial-cta button { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 22px; min-height: 54px; padding: 15px 22px; border: 0; border-radius: 999px; background: var(--gold); color: var(--base); font-weight: 700; cursor: pointer; }

@media (hover: hover) and (pointer: fine) {
  .dr-testimonial-page .dr-testimonial-card:hover { transform: translateY(-3px); border-color: transparent !important; }
  .dr-testimonial-scene:hover img { transform: scale(1.035); filter: saturate(1.06); }
  .dr-testimonial-scene:hover figcaption i { transform: rotate(45deg); background: var(--gold); color: var(--base); }
}

@media (max-width: 900px) {
  .dr-testimonial-hero { grid-template-columns: 1fr; }
  .dr-testimonial-hero-copy { padding-right: var(--gx); }
  .dr-testimonial-hero-visual { min-height: 620px; }
  .dr-testimonial-hero-visual::after { background: linear-gradient(0deg, rgba(8,8,10,.88), transparent 58%); }
  .dr-testimonial-page .dr-testimonial-section-head, .dr-testimonial-scenes > header { grid-template-columns: 1fr; align-items: start; }
  .dr-testimonial-scene-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
  .dr-testimonial-scene:first-child { grid-column: 1 / 3; grid-row: auto; min-height: 460px; }
}

@media (max-width: 600px) {
  .dr-testimonial-hero-copy { padding-top: 84px; padding-bottom: 62px; }
  .dr-testimonial-hero h1 { font-size: clamp(2.5rem, 13.2vw, 4.75rem); }
  .dr-testimonial-hero-visual { min-height: 520px; }
  .dr-testimonial-hero-note { left: 20px; right: 20px; bottom: 28px; gap: 10px; }
  .dr-testimonial-hero-note p { font-size: 1.55rem; }
  .dr-testimonial-pulse { top: 24px; right: 24px; }
  .dr-testimonial-page .dr-testimonial-showcase { padding-block: 72px; }
  .dr-testimonial-page .dr-testimonial-service-grid { background: transparent; }
  .dr-testimonial-page .dr-testimonial-service-grid .dr-testimonial-card, .dr-testimonial-page .dr-testimonial-service-grid .dr-testimonial-card:first-child { min-height: 380px; }
  .dr-testimonial-page .dr-testimonial-course-marquee { overflow-x: auto; mask-image: none; -webkit-mask-image: none; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .dr-testimonial-page .dr-testimonial-course-track { animation: none; }
  .dr-testimonial-page .dr-testimonial-course-set[aria-hidden="true"] { display: none; }
  .dr-testimonial-page .dr-testimonial-course-set .dr-testimonial-card { min-height: 390px; scroll-snap-align: start; }
  .dr-testimonial-scenes { padding-block: 72px; }
  .dr-testimonial-scenes h2 { font-size: clamp(2.5rem, 7vw, 4.75rem); }
  .dr-testimonial-scene-grid { display: flex; width: auto; margin-right: calc(var(--gx) * -1); overflow-x: auto; gap: 10px; padding-right: var(--gx); scroll-snap-type: x mandatory; scrollbar-width: none; }
  .dr-testimonial-scene-grid::-webkit-scrollbar { display: none; }
  .dr-testimonial-scene, .dr-testimonial-scene:first-child { flex: 0 0 min(84vw, 350px); min-height: 440px; scroll-snap-align: start; }
  .dr-testimonial-cta { align-items: flex-start; flex-direction: column; }
}

@keyframes drTestimonialHeroCopy { from { opacity: 0; transform: translateY(24px); filter: blur(7px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes drTestimonialHeroReveal { from { opacity: .35; clip-path: inset(0 0 0 18%); filter: blur(7px); } to { opacity: 1; clip-path: inset(0); filter: none; } }
@keyframes drTestimonialSceneIn { from { opacity: .35; transform: translateY(22px); clip-path: inset(8% 0 0); } to { opacity: 1; transform: none; clip-path: inset(0); } }
@keyframes drTestimonialPulse { 55%, 100% { box-shadow: 0 0 0 18px rgba(34,211,238,0); } }

@media (prefers-reduced-motion: reduce) {
  .dr-testimonial-hero-copy, .dr-testimonial-hero-visual, .dr-testimonial-scene, .dr-testimonial-pulse { animation: none !important; }
  .dr-testimonial-scene img, .dr-testimonial-scene figcaption i { transition-duration: .01ms !important; }
}
