﻿:root {

  --cream: #fdf8f2;

  --lavender: #ebe7ff;

  --blush: #f9e1cf;

  --iris: #6e5bff;

  --iris-dark: #4c3ccc;

  --taupe: #7a6a5d;

  --ink: #1f1915;

  --white: #ffffff;

  --neutral: #f2e8db;

  --logo-height: 72px;



  --sand: #f5efe6;

  --clay: #cbb8a3;

  --gold: #c7a26c;

  --max-width: 1180px;

  --radius-large: 32px;

  --radius-medium: 24px;

  --shadow-soft: 0 25px 60px rgba(31, 25, 21, 0.15);

  --ease: cubic-bezier(0.22, 1, 0.36, 1);

  font-size: 16px;

}



* {

  box-sizing: border-box;

}



body {

  margin: 0;

  font-family: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;

  color: var(--ink);

  background: radial-gradient(140% 140% at 20% 10%, var(--sand), var(--lavender) 55%, var(--cream));

  -webkit-font-smoothing: antialiased;

  min-height: 100vh;

  transition: background 0.6s ease;

  overflow-x: hidden;

}



a {

  color: inherit;

  text-decoration: none;

}



a:focus-visible,

button:focus-visible {

  outline: 2px solid var(--iris);

  outline-offset: 4px;

}



img {

  display: block;

  width: 100%;

  height: auto;

}



.button {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 0.4rem;

  padding: 0.85rem 1.6rem;

  border-radius: 999px;

  font-weight: 600;

  border: 1px solid rgba(31, 25, 21, 0.25);

  background: var(--white);

  color: var(--ink);

  cursor: pointer;

  transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease), background 0.2s ease, color 0.2s ease;

}



.button:hover {

  transform: translateY(-1px);

  box-shadow: 0 12px 30px rgba(31, 25, 21, 0.08);

}



.button--solid {

  background: var(--ink);

  color: var(--white);

  border-color: var(--ink);

}



.button--solid:hover {

  background: var(--iris-dark);

}



.button--ghost {

  background: transparent;

  border-color: rgba(31, 25, 21, 0.3);

  color: var(--ink);

}



.button--ghost:hover {

  border-color: var(--ink);

}



.button--whatsapp {

  background: #25d366;

  color: #0f2417;

  border-color: #1ebe5d;

}



.button--whatsapp:hover {

  background: #1ebe5d;

  color: #ffffff;

}



.button--tiktok {

  background: #000000;

  color: #ffffff;

  border-color: #000000;

}



.button--tiktok:hover {

  background: #ff0050;

  border-color: #ff0050;

}



.treatwell-anchor {

  position: absolute;

  width: 1px;

  height: 1px;

  margin: -1px;

  padding: 0;

  overflow: hidden;

  clip: rect(0 0 0 0);

  clip-path: inset(50%);

  border: 0;

  pointer-events: none;

}



.site-shell {

  min-height: 100vh;

  display: flex;

  flex-direction: column;

  transition: transform 0.28s var(--ease), opacity 0.28s var(--ease);

}



body:not(.is-loaded) .site-shell {

  opacity: 0;

  transform: translateX(40px);

}



body.is-transitioning .site-shell {

  opacity: 0;

  transform: translateX(-40px);

}



.site-header {

  background: rgba(255, 255, 255, 0.9);

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  border-bottom: 1px solid rgba(31, 25, 21, 0.08);

  position: sticky;

  top: 0;

  z-index: 20;

  box-shadow: 0 10px 30px rgba(31, 25, 21, 0.05);

}



.site-header__inner {

  width: min(100%, var(--max-width));

  margin: 0 auto;

  padding: 0.1rem clamp(1rem, 3vw, 2rem);

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 1rem;

  flex-wrap: wrap;

}



.brand-mark {

  display: inline-flex;

  align-items: center;

  height: var(--logo-height);

  max-height: var(--logo-height);

  line-height: 0;

}



.brand-mark img {

  display: block;

  height: 100%;

  max-height: var(--logo-height);

  width: auto;

}



.site-nav {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 1.25rem;

  font-size: 0.95rem;

  flex: 1;

  flex-wrap: wrap;

}



.site-nav a {

  padding-bottom: 0.25rem;

  border-bottom: 2px solid transparent;

  font-weight: 500;

  color: rgba(31, 25, 21, 0.78);

  transition: color 0.2s ease, border-color 0.2s ease;

}



.site-nav a:hover {

  color: var(--iris);

}



.site-nav a[aria-current="page"] {

  color: var(--iris);

  border-color: var(--iris);

}



.site-header__actions {

  display: flex;

  align-items: center;

  gap: 0.75rem;

  flex-wrap: wrap;

  justify-content: flex-end;

}



.lang-switch {

  display: inline-flex;

  border: 1px solid rgba(31, 25, 21, 0.15);

  border-radius: 999px;

  overflow: hidden;

}



.lang-switch button {

  border: none;

  background: transparent;

  color: var(--taupe);

  font-weight: 600;

  padding: 0.35rem 0.9rem;

  cursor: pointer;

  transition: background 0.2s ease, color 0.2s ease;

}



.lang-switch button.is-active {

  background: var(--ink);

  color: var(--white);

}



main {

  flex: 1;

  background: rgba(255, 255, 255, 0.9);

  backdrop-filter: blur(14px);

  border-radius: var(--radius-large) var(--radius-large) 0 0;

  margin-top: 1rem;

}



.section {

  padding: clamp(3rem, 6vw, 5rem) 0;

}



.section__inner {

  width: min(100%, var(--max-width));

  margin: 0 auto;

  padding: 0 clamp(1.25rem, 3vw, 2.5rem);

}



.section__heading {

  margin-bottom: 2rem;

}



.section__heading p {

  margin: 0;

  max-width: 640px;

  color: rgba(31, 25, 21, 0.8);

  line-height: 1.6;

}



.kicker {

  text-transform: uppercase;

  letter-spacing: 0.3em;

  font-size: 0.78rem;

  color: var(--taupe);

}



.hero {

  background: linear-gradient(145deg, var(--white), var(--lavender));

}



.hero__grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));

  gap: 2.5rem;

  align-items: center;

}



.hero__content {

  display: flex;

  flex-direction: column;

  gap: 1rem;

}



.hero__eyebrow {

  margin: 0;

  text-transform: uppercase;

  letter-spacing: 0.3em;

  font-size: 0.78rem;

  color: var(--gold);

}



.hero__content h1 {

  font-family: "Playfair Display", "Times New Roman", serif;

  font-size: clamp(2.6rem, 5vw, 3.4rem);

  margin: 0;

}



.hero__lead {

  margin: 0 0 1.5rem;

  color: rgba(31, 25, 21, 0.85);

  line-height: 1.7;

}



.hero__cta {

  display: flex;

  flex-wrap: wrap;

  gap: 0.75rem;

  align-items: center;

}



.hero__gallery {

  border-radius: var(--radius-large);

  overflow: hidden;

  box-shadow: var(--shadow-soft);

  max-width: 520px;

  width: 100%;

  background: transparent;

}



.hero__slides {

  position: relative;

  display: grid;

  grid-template-columns: 1fr;

  min-height: 420px;

}



.hero__slide {

  grid-area: 1 / 1;

  display: flex;

  flex-direction: column;

  gap: 0.85rem;

  opacity: 0;

  visibility: hidden;

  transition: opacity 0.6s var(--ease);

}



.hero__slide.is-active {

  opacity: 1;

  visibility: visible;

}



.hero__media {

  width: 100%;

  aspect-ratio: 4 / 5;

  object-fit: cover;

  border-radius: var(--radius-large);

  background: var(--neutral);

}



.hero__slide figcaption {

  margin: 0;

  color: rgba(31, 25, 21, 0.78);

  font-size: 0.95rem;

  line-height: 1.5;

}



.lookbook {

  background: linear-gradient(130deg, var(--sand), var(--lavender));

}



.lookbook__grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));

  gap: 1.5rem;

}



.lookbook__card {

  background: var(--white);

  border-radius: var(--radius-medium);

  overflow: hidden;

  box-shadow: var(--shadow-soft);

  display: flex;

  flex-direction: column;

  min-height: 100%;

}



.lookbook__media {

  position: relative;

}



.lookbook__media img,

.lookbook__media video {

  width: 100%;

  height: 340px;

  aspect-ratio: 3 / 4;

  object-fit: cover;

  display: block;

  transition: transform 0.45s var(--ease);

}



.lookbook__card:hover .lookbook__media img,

.lookbook__card:hover .lookbook__media video {

  transform: scale(1.02);

}



.lookbook__card figcaption {

  padding: 1rem 1.25rem 1.2rem;

  display: flex;

  flex-direction: column;

  gap: 0.35rem;

}



.lookbook__card strong {

  display: block;

  font-size: 1rem;

  margin-bottom: 0.1rem;

}



.lookbook__card p {

  font-size: 0.95rem;

  line-height: 1.5;

  color: rgba(31, 25, 21, 0.78);

}



.page-intro {

  padding-bottom: clamp(2rem, 4vw, 3rem);

}



.page-intro__inner {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 2rem;

  flex-wrap: wrap;

}



.intro-actions {

  display: flex;

  flex-direction: column;

  gap: 0.75rem;

  min-width: 220px;

}



.card-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));

  gap: 1.5rem;

}



.card {

  background: var(--white);

  border-radius: var(--radius-medium);

  padding: clamp(1.5rem, 3vw, 2rem);

  box-shadow: var(--shadow-soft);

  display: flex;

  flex-direction: column;

  gap: 0.75rem;

  transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);

}



.card:hover {

  transform: translateY(-6px);

  box-shadow: 0 30px 60px rgba(31, 25, 21, 0.12);

}



.card ul {

  margin: 0;

  padding-left: 1.25rem;

  color: rgba(31, 25, 21, 0.78);

  line-height: 1.5;

}



.card li + li {

  margin-top: 0.35rem;

}



.service-card__meta {

  margin: 0;

  font-size: 0.75rem;

  letter-spacing: 0.25em;

  text-transform: uppercase;

  color: var(--taupe);

}

.social-strip {
  background: var(--sand);
}

.social-strip__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.social-strip__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.social-strip .button--social {
  min-width: 200px;
  justify-content: center;
}





.about__grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

  gap: 1.25rem;

}



.about-card {

  padding: 1.5rem;

  border-radius: var(--radius-medium);

  background: rgba(255, 255, 255, 0.9);

  box-shadow: var(--shadow-soft);

}



.review-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));

  gap: 1.25rem;

}



.review-card {

  padding: 1.5rem;

  border-radius: var(--radius-medium);

  background: var(--white);

  box-shadow: var(--shadow-soft);

  border-left: 4px solid var(--iris);

}



.review-card header {

  margin-bottom: 0.75rem;

}



.review-card p {

  margin: 0;

}



.coming-soon-panel {

  background: var(--neutral);

  border-radius: var(--radius-large);

  box-shadow: var(--shadow-soft);

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

  gap: 1.5rem;

  align-items: start;

  padding: clamp(2rem, 4vw, 3rem);

}



.coming-soon__copy {

  display: flex;

  flex-direction: column;

  gap: 0.75rem;

}



.coming-soon__actions {

  display: flex;

  flex-wrap: wrap;

  gap: 0.75rem;

}



.coming-soon__list {

  margin: 0;

  padding-left: 1.25rem;

  color: rgba(31, 25, 21, 0.78);

}



.academy__list {

  list-style: disc;

}



.cta-banner__inner {

  background: var(--ink);

  color: var(--white);

  border-radius: var(--radius-large);

  padding: clamp(2rem, 5vw, 3.5rem);

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 1.5rem;

  flex-wrap: wrap;

}



.cta-banner__actions {

  display: flex;

  flex-wrap: wrap;

  gap: 0.75rem;

}



.cta-banner .kicker {

  color: rgba(255, 255, 255, 0.7);

}



.cta-banner .button--ghost {

  color: var(--white);

  border-color: rgba(255, 255, 255, 0.6);

}



.cta-banner .button--ghost:hover {

  background: rgba(255, 255, 255, 0.08);

}



.info-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

  gap: 1.25rem;

}



.info-card {

  background: var(--white);

  border-radius: var(--radius-medium);

  padding: 1.5rem;

  box-shadow: var(--shadow-soft);

}



.info-card h3 {

  margin-top: 0;

}



.info-card p,

.info-card a {

  overflow-wrap: anywhere;

  word-break: break-word;

}



.social-links {

  display: flex;

  gap: 0.85rem;

  flex-wrap: wrap;

}



.site-footer {

  padding: 2rem 0 3rem;

  color: rgba(31, 25, 21, 0.7);

}



.site-footer__inner {

  width: min(100%, var(--max-width));

  margin: 0 auto;

  padding: 0 clamp(1.25rem, 3vw, 2.5rem);

  display: flex;

  justify-content: space-between;

  align-items: flex-start;

  gap: 2rem;

  flex-wrap: wrap;

}



.site-footer p {

  margin: 0.25rem 0;

}



.site-footer__brand {

  flex: 1 1 240px;

}



.policy-links {

  flex: 1 1 360px;

  display: flex;

  gap: 1rem;

  flex-wrap: wrap;

  justify-content: flex-end;

}



.policy-links details {

  flex: 1 1 260px;

  background: rgba(255, 255, 255, 0.9);

  border: 1px solid rgba(31, 25, 21, 0.1);

  border-radius: var(--radius-medium);

  padding: 1rem 1.25rem;

  box-shadow: 0 14px 30px rgba(31, 25, 21, 0.08);

}



.policy-links summary {

  cursor: pointer;

  font-weight: 600;

  list-style: none;

  margin: 0;

  display: flex;

  align-items: center;

  gap: 0.5rem;

}



.policy-links summary::-webkit-details-marker {

  display: none;

}



.policy-links__body {

  margin-top: 0.65rem;

  font-size: 0.9rem;

  color: rgba(31, 25, 21, 0.75);

  line-height: 1.5;

}



@media (max-width: 640px) {

  .policy-links {

    justify-content: flex-start;

  }

  .policy-links details {

    flex-basis: 100%;

  }

}




#wahanda-online-booking-widget,

#wahanda-online-booking-widget-header {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 0.85rem 1.6rem;

  border-radius: 999px;

  border: 1px solid var(--ink);

  background: var(--ink) !important;

  color: var(--white) !important;

  font-weight: 600;

  text-decoration: none;

}



#wahanda-online-booking-widget:hover,

#wahanda-online-booking-widget-header:hover {

  background: var(--iris-dark) !important;

}



@media (max-width: 1024px) {

  .site-header__inner {

    flex-direction: column;

    align-items: flex-start;

  }



  .site-nav {

    width: 100%;

    justify-content: flex-start;

  }



  .site-header__actions {

    width: 100%;

    justify-content: flex-start;

  }

}




@media (max-width: 1024px) {

  :root {

    --logo-height: 64px;

  }

}

@media (max-width: 768px) {

  body {

    font-size: 15px;

  }



  :root {

    --logo-height: 58px;

  }



  .page-intro__inner,

  .cta-banner__inner {

    flex-direction: column;

    align-items: flex-start;

  }



  .intro-actions,

  .cta-banner__actions {

    width: 100%;

  }



  .hero__gallery {

  border-radius: var(--radius-large);

  overflow: hidden;

  box-shadow: var(--shadow-soft);

  max-width: 520px;

  width: 100%;

  background: transparent;

}

}



@media (max-width: 560px) {

  .site-nav {

    flex-direction: column;

    align-items: flex-start;

    gap: 0.5rem;

  }



  .site-header__actions {

    flex-direction: column;

    align-items: stretch;

  }



  .hero__cta {

    flex-direction: column;

    align-items: stretch;

  }



  .button,

  #wahanda-online-booking-widget,

  #wahanda-online-booking-widget-header {

    width: 100%;

    justify-content: center;

  }

}











video {

  display: block;

}



.button--social {

  background: rgba(255, 255, 255, 0.9);

  border: 1px solid rgba(31, 25, 21, 0.15);

  color: var(--ink);

  padding-inline: 1.25rem;

  border-radius: 999px;

}



.button__icon {

  display: inline-flex;

  width: 1.1rem;

  height: 1.1rem;

}



.button__icon svg {

  width: 100%;

  height: 100%;

  fill: currentColor;

}



.button--instagram {

  background: linear-gradient(135deg, #fdd9c0, #f4a3ce);

  color: #471b1e;

}



.button--tiktok {

  background: linear-gradient(135deg, #0e0f10, #2f4858);

  color: #f5f5f5;

}



.info-line {

  display: flex;

  align-items: center;

  gap: 0.65rem;

  margin-bottom: 0.5rem;

}



.info-line__icon {

  font-size: 1.2rem;

}



.page-intro__inner--stack {

  flex-direction: column;

  align-items: flex-start;

}



.intro-actions--row {

  flex-direction: row;

  flex-wrap: wrap;

  gap: 0.75rem;

}



.academy-hero__meta {

  display: flex;

  gap: 0.75rem;

  flex-wrap: wrap;

  margin: 1.5rem auto 0;

  justify-content: flex-start;

  width: 100%;

}



.status-pill {

  display: inline-flex;

  align-items: center;

  padding: 0.45rem 1.1rem;

  border-radius: 999px;

  background: rgba(199, 162, 108, 0.18);

  color: var(--gold);

  font-weight: 600;

  font-size: 0.85rem;

}



.status-pill--outline {

  border: 1px solid rgba(199, 162, 108, 0.5);

  background: transparent;

}



.course-block {

  background: var(--white);

  border-radius: var(--radius-large);

  box-shadow: var(--shadow-soft);

  margin-bottom: clamp(2rem, 4vw, 3rem);

}



.course-block__header {

  display: flex;

  gap: 2rem;

  flex-wrap: wrap;

  padding: clamp(1.5rem, 3vw, 2.5rem);

  border-bottom: 1px solid rgba(31, 25, 21, 0.08);

}



.course-meta {

  list-style: none;

  padding: 0;

  margin: 1rem 0 0;

  display: flex;

  flex-direction: column;

  gap: 0.35rem;

  color: rgba(31, 25, 21, 0.68);

  font-size: 0.95rem;

}



.course-block__cta {

  min-width: 220px;

  display: flex;

  flex-direction: column;

  gap: 0.65rem;

}



.course-price {

  margin: 0;

  font-size: 2rem;

  font-weight: 600;

}



.course-price small {

  display: block;

  font-size: 0.9rem;

  color: rgba(31, 25, 21, 0.65);

}



.course-block__content {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));

  gap: 1.5rem;

  padding: clamp(1.5rem, 3vw, 2.5rem);

}



.course-section {

  background: var(--sand);

  border-radius: var(--radius-medium);

  padding: 1.5rem;

  display: flex;

  flex-direction: column;

  gap: 0.75rem;

  box-shadow: inset 0 0 0 1px rgba(31, 25, 21, 0.05);

}



.course-section--email {

  grid-column: 1 / -1;

}



.course-section--compact {

  gap: 0.5rem;

}



.course-list {

  margin: 0;

  padding-left: 1.2rem;

  display: flex;

  flex-direction: column;

  gap: 0.45rem;

}



.course-list--emoji {
  list-style: none;
  padding-left: 0;
}

.icon-bullet {
  list-style: none;
  width: 100%;
  background: linear-gradient(135deg, rgba(249, 225, 207, 0.25), rgba(235, 231, 255, 0.25));
  border: 1px solid rgba(31, 25, 21, 0.08);
  border-radius: var(--radius-medium);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.icon-bullet__meta {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.icon-bullet__icon {
  font-size: 1.35rem;
  font-family: 'Segoe UI Emoji', 'Apple Color Emoji', 'Noto Color Emoji', 'Noto Emoji', sans-serif;
  line-height: 1;
}

.icon-bullet__text {
  font-weight: 500;
  color: rgba(31, 25, 21, 0.9);
}

.course-list--payment {

  list-style: disc;

  padding-left: 1.5rem;

}



.course-steps {

  margin: 0;

  padding-left: 1.2rem;

  display: flex;

  flex-direction: column;

  gap: 0.5rem;

}



.course-panel-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

  gap: 1rem;

}



.course-panel {

  background: var(--white);

  border-radius: var(--radius-medium);

  padding: 1.25rem;

  box-shadow: inset 0 0 0 1px rgba(31, 25, 21, 0.05);

}



.note {

  background: rgba(255, 255, 255, 0.7);

  border-radius: var(--radius-medium);

  padding: 1rem;

  border: 1px solid rgba(31, 25, 21, 0.08);

}



.waitlist-form {

  display: flex;

  flex-direction: column;

  gap: 0.75rem;

}



.waitlist-form__controls {

  display: flex;

  gap: 0.75rem;

  flex-wrap: wrap;

}



.waitlist-form__controls input,

.waitlist-form__controls textarea {

  flex: 1;

  min-width: 220px;

  padding: 0.85rem 1rem;

  border-radius: 999px;

  border: 1px solid rgba(31, 25, 21, 0.2);

  font: inherit;

}



.waitlist-form__field {

  display: flex;

  flex-direction: column;

  gap: 0.35rem;

  flex: 1;

  min-width: 220px;

}



.waitlist-form__field label {

  font-size: 0.85rem;

  font-weight: 600;

}

.waitlist-form__controls textarea {

  min-height: 120px;

  border-radius: 24px;

  resize: vertical;

}





.waitlist-form__feedback {

  min-height: 1.2rem;

  font-weight: 600;

}



.waitlist-form__feedback[data-state='success'] {

  color: #1d7a3e;

}



.waitlist-form__feedback[data-state='error'] {

  color: #c0392b;

}



.email-list {

  display: flex;

  flex-direction: column;

  gap: 1rem;

}



@media (max-width: 720px) {

  .course-block__header {

    flex-direction: column;

  }



  .course-block__content {

    grid-template-columns: 1fr;

  }



  .waitlist-form__controls {

    flex-direction: column;

  }

}



@media (max-width: 720px) {

  .lookbook__media img,

  .lookbook__media video {

    height: auto;

    aspect-ratio: 3 / 4;

  }

}

.course-section--journey {

  grid-column: 1 / -1;

}



.journey-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

  gap: 1rem;

}



.journey-card {

  background: var(--white);

  border-radius: var(--radius-medium);

  padding: 1.25rem;

  box-shadow: inset 0 0 0 1px rgba(31, 25, 21, 0.08);

}



.journey-card h4 {

  margin: 0 0 0.75rem;

  font-size: 1rem;

}



.journey-card ul {

  margin: 0;

  padding-left: 1.1rem;

  display: flex;

  flex-direction: column;

  gap: 0.35rem;

}



.course-section--cred {

  grid-column: 1 / -1;

}



.credibility-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));

  gap: 1rem;

}



.credibility-card {

  background: var(--white);

  border-radius: var(--radius-medium);

  padding: 1rem 1.25rem;

  box-shadow: inset 0 0 0 1px rgba(31, 25, 21, 0.08);

}



.credibility-card p {

  margin: 0;

  font-size: 0.95rem;

  line-height: 1.4;

}



.cta-duo {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));

  gap: 1.5rem;

  width: 100%;

}



.cta-card {

  background: var(--white);

  border-radius: var(--radius-medium);

  padding: clamp(1.5rem, 3vw, 2rem);

  box-shadow: var(--shadow-soft);

  display: flex;

  flex-direction: column;

  gap: 1rem;

}



.cta-card h3 {

  margin: 0;

}



.cta-card--ghost {

  background: rgba(255, 255, 255, 0.4);

  border: 1px solid rgba(31, 25, 21, 0.12);

}



@media (max-width: 720px) {

  .journey-grid,

  .credibility-grid,

  .cta-duo {

    grid-template-columns: 1fr;

  }

}



@media (max-width: 520px) {

  :root {

    --logo-height: 50px;

    --logo-scale: 1.8;

  }

}



/* Header refresh overrides */
.site-header {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(31, 25, 21, 0.08);
  position: sticky;
  top: 0;
  z-index: 30;
  box-shadow: 0 10px 30px rgba(31, 25, 21, 0.05);
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}
.site-header--hidden {
  transform: translateY(-100%);
  box-shadow: none;
}
.site-header.is-menu-open {
  box-shadow: 0 25px 60px rgba(31, 25, 21, 0.15);
}
.site-header__inner {
  position: relative;
}
.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(31, 25, 21, 0.16);
  background: var(--white);
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-direction: column;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.nav-toggle span {
  width: 20px;
  height: 2px;
  background: var(--ink);
  transition: transform 0.25s ease, opacity 0.25s ease;
}
.site-header.is-menu-open .nav-toggle span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
.site-header.is-menu-open .nav-toggle span:nth-child(2) {
  opacity: 0;
}
.site-header.is-menu-open .nav-toggle span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}
.site-nav {
  position: relative;
  z-index: 2;
}
@media (max-width: 960px) {
  .nav-toggle {
    display: inline-flex;
  }
  .site-header__inner {
    flex-wrap: nowrap;
    align-items: center;
  }
  .site-nav {
    position: absolute;
    left: clamp(1rem, 3vw, 2.25rem);
    right: clamp(1rem, 3vw, 2.25rem);
    top: calc(100% - 0.2rem);
    background: rgba(255, 255, 255, 0.98);
    border-radius: var(--radius-large);
    border: 1px solid rgba(31, 25, 21, 0.08);
    box-shadow: 0 25px 60px rgba(31, 25, 21, 0.16);
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-0.5rem);
    transition: opacity 0.25s ease, transform 0.25s ease, max-height 0.25s ease;
  }
  .site-header.is-menu-open .site-nav {
    max-height: 460px;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
  .site-header__actions {
    margin-left: auto;
  }
}


.course-section--dual {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
  align-items: flex-start;
}

.course-section__column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.course-section--column {
  height: 100%;
}

.faq-section {
  background: var(--cream);
}

.faq-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.faq-item {
  border: 1px solid rgba(31, 25, 21, 0.1);
  border-radius: var(--radius-medium);
  background: var(--white);
  padding: 1rem 1.25rem;
  transition: box-shadow 0.25s var(--ease), border-color 0.25s var(--ease), transform 0.25s var(--ease);
}

.faq-item[open] {
  border-color: rgba(199, 162, 108, 0.6);
  box-shadow: 0 20px 45px rgba(31, 25, 21, 0.08);
}

.faq-item summary {
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  content: '+';
  font-size: 1.25rem;
  color: var(--gold);
  transition: transform 0.2s ease, color 0.2s ease;
}

.faq-item[open] summary::after {
  content: '-';
}

.faq-item p {
  margin: 0.75rem 0 0;
  color: rgba(31, 25, 21, 0.75);
  line-height: 1.6;
}

.policy-card {
  background: var(--white);
  border: 1px solid rgba(31, 25, 21, 0.08);
  border-radius: var(--radius-medium);
  padding: clamp(1.5rem, 3vw, 2rem);
  box-shadow: 0 25px 60px rgba(31, 25, 21, 0.08);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.policy-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.policy-list li strong {
  display: block;
  font-size: 1rem;
  margin-bottom: 0.25rem;
}

.policy-list p {
  margin: 0;
  color: rgba(31, 25, 21, 0.75);
  line-height: 1.6;
}

@media (max-width: 960px) {
  .faq-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .course-section--dual {
    grid-template-columns: 1fr;
  }
}

.cookie-banner {
  position: fixed;
  left: 50%;
  bottom: 1.5rem;
  transform: translate(-50%, 2rem);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s var(--ease), transform 0.25s var(--ease);
  z-index: 50;
}
.cookie-banner.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
.cookie-banner--hidden {
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 2rem);
}
.cookie-banner__inner {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(31, 25, 21, 0.1);
  border-radius: var(--radius-large);
  box-shadow: 0 25px 60px rgba(31, 25, 21, 0.2);
  padding: 1.5rem;
  display: flex;
  gap: 1.5rem;
  align-items: center;
  width: min(960px, calc(100vw - 2rem));
}
.cookie-banner__title {
  font-weight: 600;
  margin: 0 0 0.35rem;
}
.cookie-banner__link {
  background: none;
  border: none;
  padding: 0;
  color: var(--iris);
  text-decoration: underline;
  font-weight: 600;
  cursor: pointer;
}
.cookie-banner__actions {
  display: flex;
  gap: 0.5rem;
}
@media (max-width: 720px) {
  .cookie-banner__inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .cookie-banner {
    left: 1rem;
    right: 1rem;
    transform: translateY(2rem);
  }
  .cookie-banner.is-visible,
  .cookie-banner--hidden {
    transform: translateY(0);
  }
}
