.testimonials { background: #f3f5ef; }
.testimonial-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; }
.testimonial-controls { display:flex; align-items:center; gap:.75rem; flex:0 0 auto; }
.testimonial-arrow { width:48px; height:48px; border:1px solid rgba(28,45,52,.45); border-radius:50%; cursor:pointer; font-size:1.25rem; transition:background .2s,color .2s,transform .2s; }
.testimonial-arrow:hover,.testimonial-arrow:focus-visible { background:#1d292f; color:#fff; transform:translateY(-2px); outline:none; }
.testimonial-counter { min-width:3.2rem; text-align:center; color:rgba(28,45,52,.7); font-size:.75rem; letter-spacing:.08em; }
.testimonial-carousel { max-width:860px; margin:3.5rem auto 0; outline:none; }
.testimonial-card { display:none; min-width:0; background:#f3f5ef; border-top:1px solid rgba(28,45,52,.28); border-bottom:1px solid rgba(28,45,52,.28); padding:clamp(1.75rem,4vw,3.5rem); }
.testimonial-card.is-active { display:block; animation:testimonial-in .32s ease both; }
@keyframes testimonial-in { from{opacity:0;transform:translateX(14px)} to{opacity:1;transform:translateX(0)} }
.testimonial-card .quote-mark { display:block; margin-bottom:1.25rem; color:rgba(28,45,52,.42); font-family:Georgia,serif; font-size:3.5rem; line-height:.7; }
.testimonial-card h3 { margin:0 0 1rem; font-family:Georgia,serif; font-size:clamp(1.35rem,2vw,1.75rem); font-weight:400; line-height:1.12; }
.testimonial-preview,.testimonial-full p { line-height:1.65; }
.testimonial-preview { margin:0; }
.testimonial-card details { margin-top:1.35rem; }
.testimonial-card summary { display:inline-flex; align-items:center; gap:.55rem; cursor:pointer; list-style:none; border-bottom:1px solid currentColor; padding-bottom:.2rem; font-size:.82rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.testimonial-card summary::-webkit-details-marker { display:none; }
.testimonial-card summary::after { content:"+"; font-size:1.1rem; line-height:1; }
.testimonial-card details[open] summary::after { content:"−"; }
.testimonial-full { padding-top:1.1rem; }
.testimonial-full p { margin:0 0 1rem; }
.testimonial-source { display:block; margin-top:1.4rem; color:rgba(28,45,52,.7); font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; }
@media (max-width:640px) { .testimonial-heading{align-items:flex-start;flex-direction:column}.testimonial-controls{align-self:stretch;justify-content:center}.testimonial-carousel{margin-top:2.25rem}.testimonial-card{padding:1.5rem}.testimonial-preview{font-size:.95rem}.testimonial-arrow{width:44px;height:44px} }

/* JungYoga palette: Calm Sand, Sage Balance, Grounded Ink, Clay Warmth */
:root {
  --blue: #F6F1E8;
  --sage: #A8BFA8;
  --blush: #F6F1E8;
  --cream: #F6F1E8;
  --paper: #F6F1E8;
  --ink: #25302A;
  --muted: #25302A;
  --clay: #D8A48F;
  --clay-dark: #25302A;
  --line: #25302A38;
}
.site-header { background: #F6F1E8F0; }
.business { background: #A8BFA8; }
.testimonials { background: #F6F1E8; }
footer { background: #25302A; }
.testimonial-arrow { border-color: #25302A73; color: #25302A; }
.testimonial-arrow:hover,.testimonial-arrow:focus-visible { background: #25302A; color: #F6F1E8; }
.testimonial-counter,.testimonial-source { color: #25302AB3; }
.testimonial-card { background: #F6F1E8; border-color: #25302A47; }
.testimonial-card .quote-mark { color: #25302A6B; }

/* Hand-drawn navigation symbols */
.desktop-nav {
  align-items: center;
  gap: clamp(.9rem, 1.8vw, 1.8rem);
}
.desktop-nav a {
  align-items: center;
  display: inline-flex;
  gap: .55rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .015em;
  white-space: nowrap;
}
.nav-symbol {
  color: var(--ink);
  flex: 0 0 auto;
  height: 39px;
  overflow: visible;
  transition: transform .25s ease;
  width: 39px;
}
.nav-symbol * {
  vector-effect: non-scaling-stroke;
}
.nav-symbol .nav-line {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.75;
}
.nav-symbol .nav-accent-line {
  fill: none;
  stroke: var(--clay);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}
.nav-symbol .nav-accent-dot {
  fill: var(--clay);
}
.desktop-nav a:hover .nav-symbol,
.desktop-nav a:focus-visible .nav-symbol {
  transform: translateY(-2px);
}
.desktop-nav a::after {
  bottom: -.28rem;
}

@media (width <= 1240px) and (width > 1050px) {
  .desktop-nav { gap: .75rem; }
  .desktop-nav a { gap: .35rem; font-size: .7rem; }
  .nav-symbol { height: 31px; width: 31px; }
}

@media (width <= 760px) {
  .mobile-nav a {
    align-items: center;
    display: flex;
    gap: .28rem;
    justify-content: center;
  }
  .mobile-nav .nav-symbol {
    height: 21px;
    width: 21px;
  }
}

/* About Anke: compact biography + portrait, credentials below */
@media (width > 900px) {
  .about {
    display: block;
    position: relative;
  }
  .about-copy {
    column-gap: 6vw;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr);
  }
  .about-copy > .eyebrow,
  .about-copy > h2,
  .about-copy > p,
  .about-copy > .teaching-principle {
    grid-column: 1;
  }
  .about-copy > .eyebrow { grid-row: 1; }
  .about-copy > h2 { grid-row: 2; }
  .about-copy > p:first-of-type { grid-row: 3; }
  .about-copy > p:nth-of-type(2) { grid-row: 4; }
  .about-copy > .teaching-principle { grid-row: 5; }
  .about-image {
    aspect-ratio: 6 / 5;
    height: auto;
    min-height: 0;
    position: absolute;
    right: 8vw;
    top: 9rem;
    width: calc(50% - 11vw);
  }
  .about-image img {
    object-position: 50% 42%;
  }
  .about-copy > .qualifications,
  .about-copy > .experience-list {
    align-self: start;
    border-top: 1px solid var(--line);
    margin-top: 4rem;
    padding-top: 2rem;
  }
  .about-copy > .qualifications {
    grid-column: 1;
    grid-row: 6;
  }
  .about-copy > .experience-list {
    grid-column: 2;
    grid-row: 6;
  }
}

@media (width <= 900px) {
  .about {
    display: grid;
    grid-template-columns: 1fr;
    position: static;
  }
  .about-copy {
    display: block;
  }
  .about-image {
    aspect-ratio: 6 / 5;
    grid-row: 1;
    height: auto;
    inset: auto;
    min-height: 0;
    position: relative;
    width: 100%;
  }
  .about-image img {
    object-position: 50% 42%;
  }
}
