.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%;
  }
}

/* v12 approved identity: supplied purple logo + organic text navigation */
:root {
  --brand-purple: #75506F;
}

.site-header {
  min-height: 92px;
}

.hero {
  min-height: calc(100vh - 92px);
}

.site-header .brand {
  align-items: center;
  display: inline-flex;
  gap: .55rem;
  letter-spacing: 0;
}

.site-header .brand-logo {
  height: 68px;
  object-fit: contain;
  width: auto;
}

.site-header .brand i {
  color: var(--ink);
  font-size: .88rem;
  margin-left: 0;
}

.desktop-nav {
  gap: clamp(1.1rem, 1.7vw, 2rem);
}

.desktop-nav a {
  display: inline-flex;
  font: 400 .9rem Georgia, "Times New Roman", serif;
  letter-spacing: 0;
}

.nav-symbol {
  display: none !important;
}

.desktop-nav [data-pricing-nav] {
  color: var(--brand-purple);
  font-weight: 700;
}

.desktop-nav [data-pricing-nav]::after {
  background: var(--brand-purple);
  right: 0;
}

.site-header .button-small {
  background: var(--brand-purple);
  border-color: var(--brand-purple);
}

.site-header .button-small:hover,
.site-header .button-small:focus-visible {
  background: #60415B;
  border-color: #60415B;
}

/* Selective tightening: preserve hero and image-led sections */
.section {
  padding-bottom: 7.25rem;
  padding-top: 7.25rem;
}

.section-heading {
  margin-bottom: 3.25rem;
}

.portugal.section {
  padding-bottom: 0;
  padding-top: 0;
}

@media (width > 900px) {
  .about-image {
    top: 7.25rem;
  }

  .about-copy > .qualifications,
  .about-copy > .experience-list {
    margin-top: 2.75rem;
  }
}

footer {
  padding-top: 4rem;
}

.footer-bottom > div {
  flex-wrap: wrap;
}

.norte-credit {
  color: #A79DA7;
  white-space: nowrap;
}

.norte-credit:hover,
.norte-credit:focus-visible {
  color: #C9A3C2;
}

@media (width <= 1240px) and (width > 1050px) {
  .site-header .brand-logo {
    height: 58px;
  }

  .site-header .brand i {
    display: none;
  }

  .desktop-nav {
    gap: .95rem;
  }

  .desktop-nav a {
    font-size: .8rem;
  }
}

@media (width <= 760px) {
  .site-header {
    min-height: 68px;
  }

  .site-header .brand-logo {
    height: 52px;
    max-width: 145px;
  }

  .site-header .brand i {
    display: none;
  }

  .mobile-nav {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .mobile-nav a {
    font-size: clamp(.52rem, 2.35vw, .67rem);
  }

  .mobile-nav [data-pricing-nav] {
    border-color: #75506F66;
    color: var(--brand-purple);
  }

  .section {
    padding-bottom: 4.75rem;
    padding-top: 4.75rem;
  }
}
