/* Motion and visual hierarchy without changing editable Page content. */
.practice-showcase { align-items: flex-start; gap: 36px; margin-bottom: 32px; }
.practice-showcase .wp-block-column { min-width: 0; }
.practice-showcase h3 { font: 25px/1.2 var(--serif); margin-top: 28px; }
.practice-showcase p { font-size: 15px; color: var(--muted); }
.practice-showcase figure { display: flex; justify-content: center; }
.practice-showcase img { width: auto; height: 350px; border-radius: 8px; box-shadow: 0 18px 35px #28241e18; }
.showcase-screens { display: flex; justify-content: center; align-items: center; gap: 24px; min-height: 420px; }
.showcase-screens figure { min-width: 0; flex: 1; max-width: 215px; }
.showcase-screens img { width: 100%; height: auto; max-height: 450px; object-fit: contain; border-radius: 8px; box-shadow: 0 18px 35px #28241e18; }
.showcase-screens.tablet-screens figure { max-width: 480px; }
.screen-zoom-image a { display: block; cursor: zoom-in; transition: transform .4s var(--ease-out); }
.screen-zoom-image a:hover { transform: translateY(-5px); }
.screen-dialog { width: min(920px,calc(100% - 24px)); max-width: none; max-height: calc(100dvh - 24px); padding: 0; border: 1px solid var(--line); border-radius: 8px; background: var(--white); color: var(--ink); }
.screen-dialog::backdrop { background: #28241edb; backdrop-filter: blur(8px); }
.screen-dialog-top { position: sticky; top: 0; background: var(--white); display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 20px; border-bottom: 1px solid var(--line); z-index: 1; }
.screen-dialog h2 { font: 600 15px/1.4 var(--sans); margin: 0; }
.screen-dialog-image { padding: 16px; display: flex; justify-content: center; }
.screen-dialog-image img { max-height: calc(100dvh - 128px); width: auto; max-width: 100%; object-fit: contain; }
.screen-dialog[open] { animation: dialog-in .3s var(--ease-out); }
@media(max-width:780px) {
  .practice-showcase { gap: 42px; }
  .practice-showcase img { height: 380px; }
  .practice-showcase h3,.practice-showcase p { max-width: 440px; margin-inline: auto; }
  .practice-showcase h3 { margin-top: 24px; margin-bottom: 12px; }
  .showcase-screens { gap: 18px; min-height: 0; }
  .showcase-screens img { max-height: 380px; }
  .screen-dialog-top { padding: 10px 14px; }
}
:root { --ease-out: cubic-bezier(.22,1,.36,1); --muted: #665f55; }
.site-header { background: #f4f0e6f2; backdrop-filter: blur(16px); }
.site-header.scrolled { box-shadow: 0 6px 24px #28241e12; }
.hero h1 em { position: relative; width: fit-content; padding-bottom: 6px; }
.hero h1 em::after { content: ''; position: absolute; bottom: 0; inset-inline: 0; height: 2px; background: var(--accent); transform-origin: left; animation: ink-line 1.1s var(--ease-out) .3s both; }
.hero-copy > * { animation: entrance .9s var(--ease-out) both; }
.hero-copy > :nth-child(2) { animation-delay: .1s; }
.hero-copy > :nth-child(3) { animation-delay: .18s; }
.hero-copy > :nth-child(4) { animation-delay: .26s; }
.hero-copy > :nth-child(5) { animation-delay: .34s; }
.hero-media { perspective: 1200px; }
.hero-media img { box-shadow: 0 24px 48px #28241e26, 0 2px 5px #28241e12; }
.wp-block-button__link,.button { box-shadow: 0 4px 10px #9d4b221b; transition: transform .35s var(--ease-out),box-shadow .35s,background .25s; }
.wp-block-button__link:hover,.button:hover { transform: translateY(-3px); box-shadow: 0 9px 22px #9d4b2230; }
.wp-block-button__link:active,.button:active,.icon-button:active { transform: translateY(0) scale(.98); }
.is-style-outline .wp-block-button__link { box-shadow: none; }
.is-style-outline .wp-block-button__link:hover { background: #f1e6d7; }
.watch-button svg { background: var(--white); box-shadow: 0 0 0 5px #9d4b2210; }
.watch-button:hover svg { box-shadow: 0 0 0 9px #9d4b2218; transform: scale(1.06); }
.watch-button { transition: color .25s; }
.watch-button:hover { color: var(--accent); }
.section-heading .eyebrow,.feature-copy .eyebrow { display: flex; align-items: center; gap: 12px; }
.section-heading .eyebrow::before,.feature-copy .eyebrow::before { content: ''; width: 28px; height: 2px; background: currentColor; flex: none; }
.heading-emphasis { color: var(--accent); }
.green-band { background: #e1ede5; }
.blue-band { background: #e4edf3; }
.proof-line { margin-bottom: 58px; border-bottom: 1px solid var(--line); padding-block: 28px; }
.proof-line .wp-block-column { padding-inline-start: 16px; border-inline-start: 2px solid #9d4b2250; }
.proof-line h3 { color: var(--ink); }
.feature-picture { perspective: 1000px; }
.feature-picture img { translate: 0 var(--screen-shift,0px); transition: translate .2s linear,box-shadow .5s; box-shadow: 0 22px 42px #28241e1a,0 2px 4px #28241e0c; }
.feature-picture:hover img { box-shadow: 0 30px 55px #28241e25; }
.feature-list li { transition: background .3s,padding .3s var(--ease-out); }
.feature-list li:hover { background: #ffffff70; padding-inline-start: 12px; }
.gallery-tabs button { position: relative; transition: color .3s,padding .4s var(--ease-out),background .3s; }
.gallery-tabs button:hover { color: var(--accent); background: #9d4b2206; }
.gallery-tabs button[aria-selected=true] { background: #9d4b2209; }
.gallery-tabs button::before { content: ''; position: absolute; inset-block: 20px; inset-inline-start: 0; width: 3px; background: var(--accent); transform: scaleY(0); transition: transform .4s var(--ease-out); }
.gallery-tabs button[aria-selected=true]::before { transform: scaleY(1); }
.screen-stage img { box-shadow: 0 28px 48px #28241e20; }
.voice-row { transition: border-color .3s,box-shadow .3s,transform .4s var(--ease-out); }
.voice-row:hover { transform: translateY(-3px); border-color: #9d4b2260; box-shadow: 0 10px 25px #28241e0a; }
.voice-row.playing { border-color: var(--accent); box-shadow: 0 0 0 1px #9d4b2220; }
.voice-row.playing .voice-avatar { background: #f1dfcb; }
.voice-meter { display: flex; align-items: center; gap: 3px; height: 24px; margin-inline-start: auto; color: var(--accent); opacity: 0; transition: opacity .25s; }
.voice-meter i { display: block; width: 3px; height: 5px; background: currentColor; border-radius: 2px; }
.playing .voice-meter { opacity: 1; }
.playing .voice-meter i { animation: sound-bar .7s ease-in-out infinite alternate; }
.voice-meter i:nth-child(2) { animation-delay: -.25s; }
.voice-meter i:nth-child(3) { animation-delay: -.5s; }
.voice-meter i:nth-child(4) { animation-delay: -.15s; }
.voice-meter i:nth-child(5) { animation-delay: -.4s; }
.voice-row .icon-button { margin-inline-start: 0; }
.video-teaser { box-shadow: 0 16px 35px #28241e18; }
.video-teaser img { opacity: 1; }
.video-teaser-label { padding: 6px 10px; background: #28241eef; border-radius: 4px; }
.play-orbit { box-shadow: 0 0 0 10px #fffdf850,0 6px 24px #28241e35; }
.video-teaser:hover .play-orbit { box-shadow: 0 0 0 22px #fffdf830,0 6px 24px #28241e35; }
.video-dialog[open] { animation: dialog-in .35s var(--ease-out); }
.steps-grid .wp-block-column { transition: border-color .3s; }
.steps-grid .eyebrow { font: italic 38px/1 var(--serif); margin-bottom: 18px; }
.steps-grid .wp-block-column:nth-child(2) { border-color: var(--green); }
.steps-grid .wp-block-column:nth-child(2) .eyebrow { color: var(--green); }
.steps-grid .wp-block-column:nth-child(3) { border-color: var(--blue); }
.steps-grid .wp-block-column:nth-child(3) .eyebrow { color: #426275; }
.pricing-grid > .wp-block-column:last-child { border-top: 3px solid var(--accent); background: #fff9ef; }
.faq-list summary::after { transition: transform .3s var(--ease-out); }
.faq-list details[open] summary::after { transform: rotate(180deg); }
.post-card:hover { transform: translateY(-7px); box-shadow: 0 18px 35px #28241e14; }
.post-card h3 { transition: color .25s; }
.post-card:hover h3 { color: var(--accent); }
.download-band { background: #e1ede5; border-block: 1px solid #ccdace; }
.reveal-ready { transform: translateY(40px); transition: opacity .8s var(--ease-out),transform .9s var(--ease-out); transition-delay: var(--reveal-delay,0ms); }
.reveal-ready.revealed { transform: none; }
.post-card.revealed:hover { transform: translateY(-7px); }
.voice-row.revealed:hover { transform: translateY(-3px); }
@keyframes entrance { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes ink-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes sound-bar { from { height: 5px; } to { height: 23px; } }
@keyframes dialog-in { from { opacity: 0; transform: translateY(20px) scale(.97); } to { opacity: 1; transform: none; } }
@media(min-width:1060px) {
  .hero-media { inset-inline-start: auto; inset-inline-end: max(32px,calc((100% - 1200px)/2)); width: 48%; max-width: 600px; margin: 0; }
  .hero-media .wp-block-image { position: absolute; top: 50%; inset-inline-end: 100px; transform: translateY(-50%) rotateY(-5deg) translate3d(var(--hero-x,0px),var(--hero-y,0px),0); transition: transform .6s var(--ease-out); z-index: 2; }
  .hero-media img { margin: 0; }
  .hero-media .hero-extra { display: block; z-index: 1; inset-inline-end: 290px; transform: translateY(-43%) rotate(-8deg); }
  .hero-media .hero-extra img { width: 150px; height: auto; animation-delay: -2s; }
  .hero-media .hero-extra:last-child { inset-inline-end: 5px; transform: translateY(-55%) rotate(7deg); }
  .hero-media .hero-extra:last-child img { animation-delay: -4s; }
}
@media(max-width:780px) {
  .gallery-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: hidden; }
  .gallery-tabs button { min-width: 0; min-height: 46px; border-bottom: 1px solid var(--line); }
  .gallery-tabs button:nth-child(n+4) { border-bottom: 0; }
  .gallery-tabs button[aria-selected=true] { background: var(--accent); color: white; }
  .gallery-tabs button::before { display: none; }
  .hero-media img { box-shadow: 0 10px 22px #28241e20; }
  .hero-media .wp-block-image { animation: entrance 1s var(--ease-out) .2s both; }
  .hero-media .wp-block-image:nth-child(2) { animation-delay: .35s; }
  .hero-media .wp-block-image:nth-child(3) { animation-delay: .5s; }
  .hero-media .hero-extra:first-child { transform: rotate(-6deg); }
  .hero-media .hero-extra:last-child { transform: rotate(6deg); }
  .proof-line { margin-bottom: 36px; }
  .voice-meter { gap: 2px; }
  .reveal-ready { transform: translateY(24px); }
  .reveal-ready.revealed { transform: none; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-copy > *,.hero-media .wp-block-image { animation: none; opacity: 1; }
  .hero-media .wp-block-image { transition: none; }
  .feature-picture img { translate: none; }
  .reveal-ready { opacity: 1; transform: none; transition: none; }
  .playing .voice-meter i { animation: none; height: 14px; }
}
