

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../assets/fonts/inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('../assets/fonts/cormorant-garamond-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url('../assets/fonts/cormorant-garamond-latin-italic.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../assets/fonts/dancing-script-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {

  --color-amber-50:  #fdf7f2;
  --color-amber-100: #faecd9;
  --color-amber-200: #f6ddb8;
  --color-amber-300: #f2c896;
  --color-amber-400: rgb(231, 169, 116);
  --color-amber-500: #d88c3b;
  --color-amber-600: #b96c1e;
  --color-amber-700: #95521a;
  --color-amber-800: #7a4118;
  --color-amber-900: #78350f;

  --color-slate-50:  #f8fafc;
  --color-slate-100: #f1f5f9;
  --color-slate-200: #e2e8f0;
  --color-slate-300: #cbd5e1;
  --color-slate-400: #94a3b8;
  --color-slate-500: #64748b;
  --color-slate-600: #475569;
  --color-slate-700: #334155;
  --color-slate-800: #1e293b;
  --color-slate-900: #0f172a;

  --color-stone-800: #292524;
  --color-white:     #ffffff;
  --color-acica-ink: #241c2c;
  --color-acica-rust: #9a5634;
  --color-acica-clay: #b96c4b;
  --color-acica-rose: #b76b61;
  --color-acica-linen: #fff8f1;
  --color-acica-blush: #fff0ea;
  --color-acica-mist: #eef3f6;

  --color-bg-base:       var(--color-amber-50);
  --color-bg-alt:        var(--color-slate-50);
  --color-bg-card:       var(--color-white);

  --color-primary:       var(--color-amber-500);
  --color-primary-light: var(--color-amber-100);
  --color-primary-hover: var(--color-amber-600);
  --color-primary-dark:  var(--color-amber-700);
  --color-accent:        var(--color-amber-400);

  --color-text-main:     var(--color-slate-900);
  --color-text-muted:    var(--color-slate-700);
  --color-text-subtle:   var(--color-slate-500);
  --color-text-light:    var(--color-slate-100);
  --color-text-dark:     var(--color-stone-800);

  --color-border-light:  var(--color-slate-200);
  --color-border-accent: var(--color-amber-100);

  --spacing-container-max: 1280px;
  --spacing-container-px:  clamp(1rem, 4vw, 1.5rem);
  --spacing-section-mb:    4rem;

  --font-sans:  'Inter', sans-serif;
  --font-serif: 'Dancing Script', cursive;

  --font-size-base: 1rem;
  --font-size-lg:   1.125rem;
  --font-size-xl:   1.25rem;
  --font-size-h2:   clamp(1.5rem, 4vw, 2.25rem);

  --radius-sm:   0.5rem;
  --radius-md:   0.75rem;
  --radius-lg:   1rem;
  --radius-full: 9999px;

  --shadow-sm: 0 1px 4px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.12);

  --transition-fast:   all 0.2s ease;
  --transition-normal: all 0.3s ease;
  --transition-slow:   all 0.5s ease;
  --transition-layout: all 0.8s ease;

  --z-navbar:  40;
  --z-overlay: 40;
  --z-drawer:  50;

  --amber-50:  var(--color-amber-50);
  --amber-100: var(--color-amber-100);
  --amber-200: var(--color-amber-200);
  --amber-300: var(--color-amber-300);
  --amber-400: var(--color-amber-400);
  --amber-500: var(--color-amber-500);
  --amber-600: var(--color-amber-600);
  --amber-700: var(--color-amber-700);
  --amber-800: var(--color-amber-800);
  --amber-900: var(--color-amber-900);

  --slate-50:  var(--color-slate-50);
  --slate-100: var(--color-slate-100);
  --slate-200: var(--color-slate-200);
  --slate-300: var(--color-slate-300);
  --slate-400: var(--color-slate-400);
  --slate-500: var(--color-slate-500);
  --slate-600: var(--color-slate-600);
  --slate-700: var(--color-slate-700);
  --slate-800: var(--color-slate-800);
  --slate-900: var(--color-slate-900);

  --stone-800: var(--color-stone-800);

  --container-max: var(--spacing-container-max);
  --container-px:  var(--spacing-container-px);
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-sans);
  background-color: var(--color-bg-base);
  color: var(--color-text-main);
  line-height: 1.6;
  -webkit-tap-highlight-color: transparent;
}

img {
  max-width: 100%;
  display: block;
}

picture {
  display: contents;
  min-height: inherit;
}

a {
  text-decoration: none;
  color: inherit;
}

ul {
  list-style: none;
}

button {
  cursor: pointer;
  border: none;
  background: none;
  font-family: inherit;
}

.skip-link {
  position: absolute;
  left: 0;
  top: -3rem;
  z-index: 1000;
  padding: 0.7rem 1.25rem;
  background: var(--amber-400);
  color: var(--slate-900);
  font-weight: 600;
  border-radius: 0 0 8px 0;
  transition: top 0.2s ease;
}
.skip-link:focus {
  top: 0;
}

:focus-visible {
  outline: 2px solid var(--amber-500);
  outline-offset: 2px;
}

.container {
  width: 100%;
  max-width: var(--spacing-container-max);
  margin-inline: auto;
  padding-inline: var(--spacing-container-px);
}

.text-center {
  text-align: center;
}

.text-primary {
  color: var(--color-primary);
}

.pos-relative {
  position: relative;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.flag-icon {
  width: 1.25rem;
  height: 1.25rem;
  display: inline-block;
  vertical-align: middle;
  margin-right: .5rem;
  stroke: var(--color-accent);
  fill: none;
}

.section-header {
  text-align: center;
  margin-bottom: var(--spacing-section-mb);
}

.section-header__title {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.45rem, 5vw, 4.35rem);
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: 0;
  color: var(--slate-900);
  margin-bottom: 1.5rem;
}

.section-header__title span {
  color: var(--color-primary);
}

.section-header__desc {
  color: var(--color-text-muted);
  max-width: 48rem;
  margin-inline: auto;
}

.section-label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  gap: 1rem;
}

.section-label__line {
  height: 1px;
  width: 4rem;
  background-color: var(--color-accent);
}

.section-label__text {
  color: var(--color-primary);
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .75rem;
  font-weight: 600;
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(40px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-40px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(40px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes blobAnim {
  0%   { transform: translate(0, 0) scale(1); }
  33%  { transform: translate(30px, -50px) scale(1.1); }
  66%  { transform: translate(-20px, 20px) scale(0.9); }
  100% { transform: translate(0, 0) scale(1); }
}
@keyframes glowCW {
  0%   { background-position: 0% 50%; }
  25%  { background-position: 100% 50%; }
  50%  { background-position: 100% 100%; }
  75%  { background-position: 0% 100%; }
  100% { background-position: 0% 50%; }
}

.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .8s ease, transform .8s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.himalayan-img-col.reveal {
  opacity: 0;
  transform: translateY(0) scale(0.9);
  transition: opacity 1s ease, transform 1s ease;
}
.himalayan-img-col.reveal.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.navbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 40;
  padding: 1.05rem 0;
  background: rgba(255, 253, 250, 0.96);
  transition: all .5s ease;
}
.navbar.scrolled {
  padding: .7rem 0;
  background: rgba(255, 253, 250, 0.86);
  backdrop-filter: blur(12px);
  box-shadow: 0 1px 12px rgba(0,0,0,.08);
}
@media (min-width: 1024px) {
  .navbar { background: rgba(255, 253, 250, 0.92); }
  .navbar.scrolled { background: rgba(255, 253, 250, 0.82); }
}
.navbar__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.navbar__logo img { height: 3.2rem; width: auto; transition: all .3s; }
@media (min-width: 768px) { .navbar__logo img { height: 3.5rem; } }

.navbar__links {
  display: none;
  align-items: center;
  gap: 2rem;
}
@media (min-width: 1024px) { .navbar__links { display: flex; } }

.navbar__link {
  position: relative;
  font-size: 1rem;
  font-weight: 500;
  color: var(--slate-700);
  transition: color .3s;
}
.navbar__link:hover,
.navbar__link.active { color: var(--amber-500); }
.navbar__link.active::after {
  content: '';
  position: absolute;
  bottom: -.25rem; left: 0; right: 0;
  height: 2px;
  background: var(--amber-500);
  border-radius: 999px;
}

.navbar__dropdown {
  position: relative;
  display: inline-block;
}
.navbar__dropdown-toggle {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  font-family: inherit;
}
.navbar__dropdown-toggle svg.dropdown-chevron {
  width: 0.85rem;
  height: 0.85rem;
  transition: transform 0.3s ease;
}
.navbar__dropdown:hover .navbar__dropdown-toggle svg.dropdown-chevron,
.navbar__dropdown.open .navbar__dropdown-toggle svg.dropdown-chevron {
  transform: rotate(180deg);
}
.navbar__dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  min-width: 150px;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  padding: 0.5rem 0;
  z-index: 50;
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}
.navbar.scrolled .navbar__dropdown-menu {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(0, 0, 0, 0.04);
}
.navbar__dropdown:hover .navbar__dropdown-menu,
.navbar__dropdown:focus-within .navbar__dropdown-menu,
.navbar__dropdown.open .navbar__dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.navbar__dropdown-item {
  padding: 0.6rem 1.2rem;
  font-size: 0.95rem;
  color: var(--slate-700);
  font-weight: 500;
  transition: background 0.2s, color 0.2s;
  text-align: left;
  white-space: nowrap;
}
.navbar__dropdown-item:hover {
  background: rgba(245, 158, 11, 0.08);
  color: var(--amber-500);
}

.navbar__dropdown-item.active {
  color: var(--amber-500);
  background: rgba(245, 158, 11, 0.08);
}

.btn-cta {
  display: none;
  padding: .5rem 1.5rem;
  background: var(--amber-400);
  color: var(--slate-900);
  border-radius: 999px;
  font-weight: 500;
  transition: background .3s, transform .3s;
}
.btn-cta:hover { background: var(--amber-500); transform: scale(1.05); }
@media (min-width: 1024px) { .btn-cta { display: inline-block; } }

.navbar__hamburger {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .45rem;
  border-radius: 50%;
  transition: background .2s;
}
.navbar__hamburger:hover { background: var(--slate-100); }
@media (min-width: 1024px) { .navbar__hamburger { display: none; } }
.navbar__hamburger svg { width: 2.15rem; height: 2.15rem; stroke: #253746; stroke-width: 1.8; }

.mobile-overlay {
  display: none;
  position: fixed; inset: 0; z-index: 40;
  background: rgba(0,0,0,.4);
  backdrop-filter: blur(4px);
}
.mobile-overlay.open { display: block; }

.mobile-drawer {
  position: fixed;
  top: 4rem; right: .5rem; z-index: 50;
  width: 18rem; max-width: calc(100vw - 1rem);
  max-height: 80vh;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 20px 60px rgba(0,0,0,.15);
  display: flex; flex-direction: column;
  transform: translateY(-1rem);
  opacity: 0;
  pointer-events: none;
  transition: transform .3s ease, opacity .3s ease;
}
.mobile-drawer.open { transform: translateY(0); opacity: 1; pointer-events: auto; }

.mobile-drawer__header {
  display: flex; align-items: center; justify-content: space-between;
  padding: .5rem 1rem;
  border-bottom: 1px solid var(--slate-200);
}
.mobile-drawer__header h3 { font-size: 1.125rem; font-weight: 500; color: var(--slate-800); }
.mobile-drawer__close svg { width: 1.5rem; height: 1.5rem; stroke: var(--slate-700); }

.mobile-drawer__links { flex: 1; overflow-y: auto; padding: 1rem .5rem; }
.mobile-drawer__link {
  display: block;
  width: 100%;
  text-align: left;
  padding: .5rem 1rem;
  border-radius: .5rem;
  font-size: 1rem;
  font-weight: 500;
  color: var(--slate-800);
  background: var(--slate-50);
  margin-bottom: .5rem;
  transition: background .2s, color .2s;
}
.mobile-drawer__link:hover,
.mobile-drawer__link.active { background: var(--amber-100); color: var(--amber-500); }

.mobile-drawer__footer {
  padding: 1rem;
  border-top: 1px solid var(--slate-200);
}
.mobile-drawer__footer .btn-mobile-cta {
  display: block;
  width: 100%;
  text-align: center;
  padding: .625rem 1.5rem;
  background: var(--amber-400);
  color: var(--slate-900);
  border-radius: .5rem;
  font-weight: 500;
  transition: background .3s;
}
.mobile-drawer__footer .btn-mobile-cta:hover { background: var(--amber-500); }

#hero {
  position: relative;
  background: #fffdfa;
}

.hero-services {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.04rem, 4.575vw, 2.55rem);
  line-height: 1.22;
  font-weight: 500;
  letter-spacing: 0.075em;
  text-align: center;
  color: var(--color-acica-rust);
  margin: 0;
  padding: clamp(5.8rem, 19vw, 6.8rem) clamp(1.25rem, 5vw, 3rem) 0;
}

.hero-services span {
  display: inline-block;
  margin-inline: 0.18em;
}

@media (max-width: 374px) {
  .hero-services {
    font-size: 0.92rem;
    letter-spacing: 0.055em;
    padding-inline: 1rem;
  }

  .hero-services span {
    margin-inline: 0.12em;
  }
}

.hero-divider {
  width: min(10.6rem, 42vw);
  height: 0.82rem;
  margin: clamp(0.35rem, 1.4vw, 0.65rem) auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.48rem;
}

.hero-divider::before,
.hero-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(154, 86, 52, 0.26);
}

.hero-divider span,
.hero-soul::after {
  background:
    radial-gradient(circle, rgba(154, 86, 52, 0.72) 0 13%, transparent 14% 100%),
    repeating-conic-gradient(from 0deg, rgba(154, 86, 52, 0.38) 0 7deg, transparent 7deg 14deg);
  border-radius: 50%;
  box-shadow: inset 0 0 0 0.28rem rgba(255, 253, 250, 0.8);
}

.hero-divider span {
  width: 0.82rem;
  height: 0.82rem;
  flex: 0 0 auto;
}

.hero-mobile, .hero-desktop { position: relative; }

.hero-mobile::before,
.hero-desktop::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: clamp(6rem, 23vw, 9rem);
  background: linear-gradient(to bottom, #fffdfa 0%, rgba(255, 253, 250, 0.92) 22%, rgba(255, 253, 250, 0) 100%);
  z-index: 5;
  pointer-events: none;
}

@media (min-width: 768px) {
  .hero-desktop::before { height: 150px; }
}

#hero .hero-mobile { padding-top: 0; }

.hero-mobile { display: block; }
.hero-mobile img { width: 100%; height: auto; display: block; }
.hero-mobile__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  text-align: center;
  padding: clamp(6.6rem, 29vw, 10.25rem) 1rem 0;
  z-index: 10;
}

.art-hero-overlay.d2-overlay {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1),
              transform 1.5s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.art-hero-overlay.d2-overlay.loaded {
  opacity: 1;
  transform: translateY(0);
}

@media (min-width: 768px) {
  .hero-desktop__content .art-hero-overlay.d2-overlay {
    align-self: flex-start;
    margin-left: auto;
    margin-right: clamp(2rem, 6vw, 6rem);
    text-align: right;
    padding-top: clamp(1rem, 2vh, 4rem);
    align-items: flex-end;
  }
}

.hero-mobile__overlay .art-hero-overlay.d2-overlay {
  justify-content: flex-start;
  align-items: center;
  padding-top: 0;
  text-align: center;
}

.d2-slogan {
  max-width: 720px;
  pointer-events: auto;
  text-align: center;
}

.hero-desktop__content .d2-slogan * {
  -webkit-text-stroke: 1px #000000;
}

.d2-make {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(2.44rem, 11.2vw, 4.48rem);
  color: #ffffff;
  line-height: 0.95;
  display: block;
  text-shadow: 0 2px 5px rgba(0,0,0,0.34);
}

.d2-art {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  font-size: clamp(3.28rem, 14.4vw, 5.44rem);
  text-transform: uppercase;
  line-height: 0.9;
  color: #ffffff;
  letter-spacing: 0.045em;
  display: block;
  margin: clamp(2px, 0.6vw, 6px) 0;
  text-shadow: 0 2px 5px rgba(0,0,0,0.34);
}

.d2-notwar {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(2.6rem, 12vw, 4.8rem);
  color: #ffffff;
  line-height: 0.98;
  display: block;
  text-shadow: 0 2px 5px rgba(0,0,0,0.34);
}

@media (min-width: 768px) {
  .d2-make {
    font-size: clamp(3.05rem, 14vw, 5.6rem);
  }

  .d2-art {
    font-size: clamp(4.1rem, 18vw, 6.8rem);
  }

  .d2-notwar {
    font-size: clamp(3.25rem, 15vw, 6rem);
  }
}

.d2-war-word {
  display: inline-block;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: #ffffff;
  position: relative;

  text-shadow: 0 2px 4px rgba(0,0,0,0.25);
}

.hero-association {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(0.95rem, 4vw, 1.65rem);
  letter-spacing: 0.04em;
  text-align: center;
  color: var(--color-acica-rust);
  margin: 0;
  padding: clamp(0.25rem, 1vw, 0.45rem) 1rem 0;
  background: #fffdfa;
}
@media (min-width: 768px) {
  .hero-association {
    padding-bottom: 0;
  }
}

.hero-soul {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0;
  text-transform: none;
  text-align: center;
  color: #95521a;
  margin: 0;
  padding: clamp(1.55rem, 5vw, 2.35rem) 1rem clamp(2.4rem, 7vw, 3.5rem);
  background: #fffdfa;
}

.hero-soul::after {
  content: "";
  display: block;
  width: min(10.4rem, 42vw);
  height: 1.15rem;
  margin: clamp(0.9rem, 3vw, 1.2rem) auto 0;
  background:
    radial-gradient(circle, rgba(154, 86, 52, 0.72) 0 13%, transparent 14% 100%) center / 1.05rem 1.05rem no-repeat,
    repeating-conic-gradient(from 0deg, rgba(154, 86, 52, 0.38) 0 7deg, transparent 7deg 14deg) center / 1.05rem 1.05rem no-repeat,
    linear-gradient(rgba(154, 86, 52, 0.23), rgba(154, 86, 52, 0.23)) left 50% / 4.25rem 1px no-repeat,
    linear-gradient(rgba(154, 86, 52, 0.23), rgba(154, 86, 52, 0.23)) right 50% / 4.25rem 1px no-repeat;
}

@media (max-width: 374px) {
  .hero-soul {
    font-size: 1rem;
  }
}

@media (min-width: 640px) {
  .hero-soul {
    font-size: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .hero-soul {
    font-size: 1.875rem;
  }
}

@media (prefers-reduced-motion: no-preference) {
  @supports ((animation-timeline: view()) and (animation-range: entry)) {
    @keyframes fadeScaleUp {
      to {
        opacity: 0;
        transform: translateY(-50px) scale(0.95);
      }
    }
    .art-hero-overlay.d2-overlay {
      animation: fadeScaleUp auto linear forwards;
      animation-timeline: view();
      animation-range: exit 0% exit 60%;
    }
  }
}

.hero-desktop { display: none; }
@media (min-width: 768px) {
  .hero-mobile { display: none; }
  .hero-desktop {
    display: block;
    position: relative;
    height: clamp(34rem, 58vw, 50rem);
    background: var(--amber-50);
  }
  .hero-desktop img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover; object-position: bottom;
  }
  .hero-desktop__content {
    position: relative;
    z-index: 10;
    display: flex; align-items: flex-start; justify-content: center;
    height: 100%;
    text-align: center;
    padding: clamp(8rem, 18vw, 13rem) 1rem 0;
  }
}

#welcome {
  padding: 3rem var(--container-px);
  background: var(--amber-50);
}
@media (min-width: 768px) { #welcome { padding: 3rem 2rem 3rem 4rem; } }
@media (min-width: 1024px) { #welcome { padding: 3rem 4rem 3rem 4rem; } }

#welcome .welcome-inner { max-width: 56rem; }
#welcome h2 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: var(--amber-700);
}
@media (min-width: 768px) { #welcome h2 { font-size: 1.875rem; } }
#welcome p {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--stone-800);
}
#welcome p + p { margin-top: 1rem; }
@media (min-width: 768px) { #welcome p { font-size: 1.125rem; } }
#welcome strong { font-weight: 700; color: var(--amber-700); }

#gallery-carousel {
  padding-bottom: 3rem;
  background: var(--amber-50);
}
@media (min-width: 768px) { #gallery-carousel { padding-bottom: 4rem; } }

.gallery-carousel__controls {
  display: flex; justify-content: flex-end;
  margin-bottom: 2rem;
  gap: .75rem;
}
.gallery-carousel__btn {
  width: 2.75rem; height: 2.75rem;
  border-radius: 50%;
  background: #fff;
  color: var(--amber-700);
  box-shadow: 0 2px 8px rgba(0,0,0,.1);
  border: 1px solid var(--amber-100);
  display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
.gallery-carousel__btn:hover { background: var(--amber-100); }
.gallery-carousel__btn svg { width: 1.25rem; height: 1.25rem; stroke: currentColor; }

.gallery-carousel__track {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 1rem;
  scrollbar-width: none;
}
.gallery-carousel__track::-webkit-scrollbar { display: none; }

.gallery-carousel__item {
  scroll-snap-align: start;
  flex-shrink: 0;
  width: 78vw;
}
@media (min-width: 640px)  { .gallery-carousel__item { width: 48vw; } }
@media (min-width: 1024px) { .gallery-carousel__item { width: 30vw; } }

.gallery-carousel__img-wrap {
  aspect-ratio: 4/5;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
  background: #fff;
}
.gallery-carousel__img-wrap img { width: 100%; height: 100%; object-fit: cover; }
.gallery-carousel__caption {
  margin-top: .75rem;
  font-size: .875rem;
  font-weight: 500;
  color: var(--slate-700);
}

#mission {
  padding: 4.5rem 0 5rem;
  background:
    linear-gradient(180deg, #fff 0%, var(--amber-50) 100%);
  overflow: hidden;
}
@media (min-width: 768px) { #mission { padding: 6rem 0 6.5rem; } }

.mission-editorial {
  max-width: 48rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  position: relative;
}

.mission-photo-panel {
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 20px 48px rgba(15, 23, 42, .16);
  background: var(--amber-50);
  position: relative;
}

.mission-photo-panel img {
  width: 100%;
  height: auto;
  display: block;
}

.mission-overlay-card {
  width: 100%;
  margin: 1.6rem auto 0;
  padding: 0;
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) { .mission-overlay-card { margin-top: 2rem; } }

.mission-overlay-card h2 {
  font-size: 1.65rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--amber-700);
  margin-bottom: 1.25rem;
}
@media (min-width: 768px) { .mission-overlay-card h2 { font-size: 2.6rem; } }

.mission-overlay-card p {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--stone-800);
}
@media (min-width: 768px) { .mission-overlay-card p { font-size: 1.125rem; } }

#retreats-india {
  padding: 4.75rem 0 5.25rem;
  background:
    radial-gradient(circle at 12% 9%, rgba(231, 169, 116, 0.2), transparent 18rem),
    linear-gradient(180deg, var(--amber-50) 0%, #fffaf5 100%);
  overflow: hidden;
}
@media (min-width: 768px) { #retreats-india { padding: 6rem 0 6.5rem; } }

.retreats-india-editorial {
  max-width: 76rem;
  margin-inline: auto;
  display: grid;
  align-items: center;
  gap: 0;
  position: relative;
}
@media (min-width: 900px) {
  .retreats-india-editorial {
    grid-template-columns: minmax(0, .52fr) minmax(0, .48fr);
    min-height: 42rem;
  }
}

.retreats-india-copy {
  order: 2;
  width: calc(100% - 1.25rem);
  margin: -2.25rem auto 0;
  background: rgba(255, 250, 245, .95);
  border: 1px solid rgba(216, 140, 59, .26);
  border-radius: .7rem;
  padding: clamp(1.35rem, 5vw, 1.9rem);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .14);
  backdrop-filter: blur(10px);
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) { .retreats-india-copy { padding: 2.35rem; } }
@media (min-width: 900px) {
  .retreats-india-copy {
    order: initial;
    width: auto;
    margin: 0 -3.75rem 3rem 0;
    transform: translateY(.75rem);
  }
}

.retreats-india-copy h2 {
  font-size: 1.55rem;
  line-height: 1.15;
  font-weight: 700;
  color: var(--amber-700);
  margin-bottom: 1.25rem;
}
@media (min-width: 768px) { .retreats-india-copy h2 { font-size: 2.35rem; } }

.retreats-india-copy p {
  font-size: 1rem;
  line-height: 1.78;
  color: var(--stone-800);
  margin: 0;
}
.retreats-india-copy p + p { margin-top: 1rem; }
@media (min-width: 768px) { .retreats-india-copy p { font-size: 1.08rem; } }

.retreats-india-copy a {
  color: var(--amber-700);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}

.retreats-india-photo {
  order: 1;
  border-radius: .7rem;
  overflow: hidden;
  box-shadow: 0 20px 48px rgba(15, 23, 42, .16);
  background: var(--amber-100);
  position: relative;
  isolation: isolate;
}
@media (min-width: 900px) { .retreats-india-photo { order: initial; } }

.retreats-india-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(253, 247, 242, 0) 50%, rgba(253, 247, 242, .34) 100%);
  pointer-events: none;
}

.retreats-india-photo img {
  width: 100%;
  aspect-ratio: 4/5;
  height: auto;
  object-fit: cover;
  object-position: center;
  display: block;
}

#retreats-spain,
#workshops {
  padding: 4.5rem 0 5rem;
  overflow: hidden;
}
@media (min-width: 768px) {
  #retreats-spain,
  #workshops {
    padding: 6rem 0 6.5rem;
  }
}

#retreats-spain {
  background:
    radial-gradient(circle at 84% 8%, rgba(183, 107, 97, 0.13), transparent 18rem),
    linear-gradient(180deg, var(--amber-50) 0%, #fff 100%);
}

#workshops {
  background:
    radial-gradient(circle at 12% 14%, rgba(238, 243, 246, 0.9), transparent 18rem),
    linear-gradient(180deg, #fff 0%, var(--amber-50) 100%);
}

.retreats-spain-editorial,
.workshops-editorial {
  max-width: 76rem;
  margin-inline: auto;
  display: grid;
  align-items: center;
  gap: 0;
  position: relative;
}

@media (min-width: 900px) {
  .retreats-spain-editorial {
    grid-template-columns: minmax(0, .48fr) minmax(0, .52fr);
    min-height: 42rem;
  }

  .workshops-editorial {
    grid-template-columns: minmax(0, .52fr) minmax(0, .48fr);
    min-height: 42rem;
  }
}

.retreats-spain-copy,
.workshops-copy {
  order: 2;
  width: calc(100% - 1.25rem);
  margin: -2.25rem auto 0;
  background: rgba(255, 250, 245, .95);
  border: 1px solid rgba(216, 140, 59, .26);
  border-radius: .7rem;
  padding: clamp(1.35rem, 5vw, 1.9rem);
  box-shadow: 0 18px 42px rgba(15, 23, 42, .14);
  backdrop-filter: blur(10px);
  position: relative;
  z-index: 2;
}

@media (min-width: 768px) {
  .retreats-spain-copy,
  .workshops-copy {
    padding: 2.35rem;
  }
}

@media (min-width: 900px) {
  .retreats-spain-copy {
    order: initial;
    width: auto;
    margin: 0 0 3rem -3.75rem;
    transform: translateY(.75rem);
  }

  .workshops-copy {
    order: initial;
    width: auto;
    margin: 0 -3.75rem 3rem 0;
    transform: translateY(.75rem);
  }
}

.retreats-spain-copy h2,
.workshops-copy h2 {
  font-size: 1.55rem;
  line-height: 1.15;
  font-weight: 700;
  color: var(--amber-700);
  margin-bottom: 1.25rem;
}

@media (min-width: 768px) {
  .retreats-spain-copy h2,
  .workshops-copy h2 {
    font-size: 2.35rem;
  }
}

.retreats-spain-copy p,
.workshops-copy p {
  font-size: 1rem;
  line-height: 1.78;
  color: var(--stone-800);
  margin: 0;
}

.retreats-spain-copy p + p,
.workshops-copy p + p {
  margin-top: 1rem;
}

@media (min-width: 768px) {
  .retreats-spain-copy p,
  .workshops-copy p {
    font-size: 1.08rem;
  }
}

.retreats-spain-photo,
.workshops-photo {
  order: 1;
  border-radius: .7rem;
  overflow: hidden;
  box-shadow: 0 20px 48px rgba(15, 23, 42, .16);
  background: var(--amber-100);
  position: relative;
  isolation: isolate;
}

@media (min-width: 900px) {
  .retreats-spain-photo,
  .workshops-photo {
    order: initial;
  }
}

.retreats-spain-photo::after,
.workshops-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(253, 247, 242, 0) 50%, rgba(253, 247, 242, .34) 100%);
  pointer-events: none;
}

.retreats-spain-photo img,
.workshops-photo img {
  width: 100%;
  aspect-ratio: 4/5;
  height: auto;
  object-fit: cover;
  object-position: center;
  display: block;
}

#transformation {
  padding: 4rem 0;
  background: #fff;
}
@media (min-width: 768px) { #transformation { padding: 6rem 0; } }

.transformation-grid {
  max-width: 72rem;
  margin-inline: auto;
  display: grid;
  gap: 2.5rem;
}
@media (min-width: 1024px) {
  .transformation-grid { grid-template-columns: 1.05fr 0.95fr; gap: 3.5rem; align-items: center; }
}

.transformation-grid__text h2 {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1.5rem;
  color: var(--slate-900);
}
@media (min-width: 768px) { .transformation-grid__text h2 { font-size: 3rem; } }

.transformation-grid__text p {
  font-size: 1.125rem;
  line-height: 1.75;
  color: var(--slate-700);
  margin-bottom: 1.25rem;
}

.transformation-grid__points {
  background: var(--amber-50);
  border-radius: 1rem;
  padding: 1.5rem;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  border: 1px solid var(--amber-100);
  display: grid; gap: 1rem;
}
@media (min-width: 768px) { .transformation-grid__points { padding: 2rem; } }

.transformation-point {
  display: flex; align-items: flex-start; gap: 1rem;
}
.transformation-point__icon {
  width: 2.75rem; height: 2.75rem;
  border-radius: 50%;
  background: #fff;
  color: var(--amber-700);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 1px 4px rgba(0,0,0,.08);
}
.transformation-point__icon svg { width: 1.25rem; height: 1.25rem; stroke: currentColor; fill: none; }
.transformation-point p { color: var(--slate-800); font-weight: 500; line-height: 1.5; }

.transformation-cta {
  font-size: 1.25rem;
  line-height: 1.6;
  color: var(--slate-800);
  max-width: 62rem;
}
@media (min-width: 768px) { .transformation-cta { font-size: 1.5rem; } }
@media (min-width: 1024px) { .transformation-cta, .transformation-join { grid-column: span 2; } }

.transformation-join {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--amber-700);
}
@media (min-width: 768px) { .transformation-join { font-size: 1.875rem; } }

#about-arya {
  padding: 5rem 0;
  background: #fff;
}
@media (min-width: 768px) { #about-arya { padding: 8rem 0; } }

.about-arya__inner {
  display: flex; flex-direction: column;
  gap: 3rem;
}
@media (min-width: 1024px) {
  .about-arya__inner { flex-direction: row; align-items: center; gap: 5rem; }
}

.about-arya__image-col { flex: 1; }
@media (min-width: 1024px) { .about-arya__image-col { flex: 0 0 50%; max-width: 50%; } }

.about-arya__img-frame {
  position: relative;
  border-radius: .75rem;
  border-left: 8px solid var(--amber-400);
}
.about-arya__img-frame img {
  border-radius: .5rem;
  box-shadow: 0 20px 60px rgba(0,0,0,.12);
  width: 100%; height: auto; object-fit: cover;
}

.about-arya__img-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent, rgba(0,0,0,.8));
  border-radius: .5rem;
  padding: 1.5rem;
  display: flex; flex-direction: column; justify-content: flex-end;
  z-index: 1;
}
@media (min-width: 1024px) { .about-arya__img-overlay { display: none; } }
.about-arya__img-overlay h2 {
  font-size: 1.875rem; font-weight: 700; color: #fff; margin-bottom: 1rem;
}
.about-arya__img-overlay h2 span { color: var(--amber-400); }
.about-arya__img-overlay p { color: rgba(255,255,255,.9); line-height: 1.6; font-size: 1.125rem; }

.about-arya__quote {
  margin-top: 1rem;
  padding: 1rem;
  background: rgba(255,255,255,.95);
  border-radius: .75rem;
  box-shadow: 0 8px 24px rgba(0,0,0,.1);
  border-left: 8px solid var(--amber-400);
}
.about-arya__quote p { font-size: .875rem; font-style: italic; color: var(--slate-700); text-align: center; font-weight: 500; }
@media (min-width: 768px) { .about-arya__quote p { font-size: 1rem; } }
.about-arya__quote cite { display: block; text-align: right; font-size: .75rem; color: var(--slate-500); font-weight: 500; margin-top: .5rem; }

.about-arya__text-col { flex: 1; }

.about-arya__desktop-title { display: none; }
@media (min-width: 1024px) { .about-arya__desktop-title { display: block; } }
.about-arya__desktop-title h2 { font-size: 2.25rem; font-weight: 700; color: var(--slate-900); margin-bottom: 1.5rem; }
.about-arya__desktop-title h2 span { color: var(--amber-500); }
.about-arya__desktop-title p { color: var(--slate-700); line-height: 1.75; margin-bottom: 1.5rem; }

.about-arya__qualifications {
  background: var(--amber-50);
  padding: 1rem;
  border-radius: .5rem;
  border-left: 4px solid var(--amber-400);
  margin-bottom: 1.5rem;
}
.about-arya__qualifications h3 { font-weight: 700; color: var(--slate-900); margin-bottom: .5rem; }
.about-arya__qualifications li {
  display: flex; align-items: flex-start; gap: .5rem;
  color: var(--slate-700);
  margin-bottom: .5rem;
}
.about-arya__qualifications li svg {
  width: 1.25rem; height: 1.25rem; flex-shrink: 0; margin-top: 2px;
  stroke: var(--amber-500); fill: none;
}

.about-arya__stats {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 1rem; margin-bottom: 2rem;
}
@media (min-width: 768px) { .about-arya__stats { grid-template-columns: repeat(4, 1fr); } }

.stat-card {
  display: flex; flex-direction: column; align-items: center;
  padding: 1rem;
  background: rgba(250,236,217,.5);
  border-radius: .5rem;
}
.stat-card__value { font-size: 1.875rem; font-weight: 700; color: var(--amber-500); margin-bottom: .25rem; }
.stat-card__label { font-size: .875rem; color: var(--slate-600); text-align: center; }

#himalayan-yoga {
  position: relative;
  min-height: 100vh;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  background: linear-gradient(135deg, var(--slate-50), var(--amber-50));
}

.himalayan-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  pointer-events: none;
}
.himalayan-blob--amber {
  top: -25%; right: -25%;
  width: 100%; height: 100%;
  background: rgba(250,236,217,.3);
  mix-blend-mode: multiply;
}
.himalayan-blob--blue {
  bottom: -25%; left: -25%;
  width: 100%; height: 100%;
  background: rgba(219,234,254,.3);
  mix-blend-mode: multiply;
}

.himalayan-inner {
  position: relative; z-index: 1;
  width: 100%;
  max-width: 88rem;
  margin-inline: auto;
  padding: 5rem var(--container-px);
}

.himalayan-grid {
  display: flex; flex-direction: column;
  gap: 3rem;
}
@media (min-width: 1024px) {
  .himalayan-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
}

.himalayan-tag {
  display: inline-flex; align-items: center;
  padding: .5rem 1rem;
  border-radius: 999px;
  background: var(--amber-100);
  color: var(--amber-800);
  font-size: .875rem; font-weight: 500;
  margin-bottom: 1.5rem;
}
.himalayan-tag span { display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; background: var(--amber-500); margin-right: .5rem; }

.himalayan-mobile-img {
  position: relative;
  height: 31rem;
  border-radius: 1rem;
  overflow: hidden;
  margin: 1.5rem 0;
}
@media (min-width: 1024px) { .himalayan-mobile-img { display: none; } }

.himalayan-mobile-img .bg-img {
  position: absolute; inset: 0;
  background-image: url('../assets/images/rishikesh.jpeg');
  background-size: cover; background-position: center;
}
.himalayan-mobile-img .bg-img::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent, rgba(0,0,0,.6), rgba(0,0,0,.8));
}
.himalayan-mobile-img__text {
  position: absolute; inset: 0; padding: 1.5rem;
  display: flex; flex-direction: column; justify-content: flex-end;
  color: #fff;
}
.himalayan-mobile-img__text h1 { font-size: 1.875rem; font-weight: 700; margin-bottom: 1rem; }
.himalayan-mobile-img__text h1 span { color: var(--amber-400); }
.himalayan-mobile-img__text p { color: rgba(255,255,255,.9); font-size: 1rem; line-height: 1.6; }

.himalayan-desktop-text { display: none; }
@media (min-width: 1024px) { .himalayan-desktop-text { display: block; } }
.himalayan-desktop-text h1 {
  font-size: 3.5rem; font-weight: 700;
  line-height: 1.1; margin-bottom: 2rem; color: var(--slate-900);
}
@media (min-width: 1024px) { .himalayan-desktop-text h1 { font-size: 4rem; } }
.himalayan-desktop-text h1 span { color: var(--amber-600); }
.himalayan-desktop-text p { font-size: 1.125rem; color: var(--slate-600); line-height: 1.75; margin-bottom: 2.5rem; }

.himalayan-btns { display: flex; flex-direction: column; gap: 1rem; }
@media (min-width: 640px) { .himalayan-btns { flex-direction: row; } }

.btn-primary {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 1rem 2rem;
  background: var(--amber-600);
  color: #fff;
  font-weight: 500;
  border-radius: .5rem;
  overflow: hidden;
  transition: background .3s, transform .2s, box-shadow .3s;
}
.btn-primary:hover { background: var(--amber-700); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(185,108,30,.3); }
.btn-primary svg { width: 1.25rem; height: 1.25rem; margin-left: .5rem; stroke: currentColor; fill: none; transition: transform .3s; }
.btn-primary:hover svg { transform: translateX(4px); }

.btn-ghost {
  display: inline-flex; align-items: center;
  padding: 1rem 1.5rem;
  font-weight: 500;
  color: var(--slate-700);
  border-radius: .5rem;
  transition: color .3s;
}
.btn-ghost:hover { color: var(--amber-700); }
.btn-ghost svg { width: 1rem; height: 1rem; margin-left: .5rem; stroke: currentColor; fill: none; transition: transform .3s; }
.btn-ghost:hover svg { transform: translateX(4px); }

.himalayan-testimonial {
  margin-top: 3rem;
  padding: 1.5rem;
  background: rgba(255,255,255,.5);
  backdrop-filter: blur(8px);
  border-radius: .75rem;
  border: 1px solid var(--slate-200);
}
.himalayan-testimonial__avatar {
  width: 3rem; height: 3rem;
  border-radius: 50%;
  background: var(--amber-100);
  color: var(--amber-600);
  font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.himalayan-testimonial__inner { display: flex; align-items: center; gap: 1rem; }
.himalayan-testimonial p { font-style: italic; color: var(--slate-700); }
.himalayan-testimonial cite { font-size: .875rem; color: var(--slate-500); margin-top: .25rem; display: block; }

.himalayan-img-col { display: none; }
@media (min-width: 1024px) {
  .himalayan-img-col {
    display: block;
    position: relative;
    height: 31rem;
    border-radius: 1rem;
    overflow: hidden;
  }
}
.himalayan-img-col .bg-img {
  position: absolute; inset: 0;
  background-image: url('../assets/images/card1.avif');
  background-size: cover; background-position: center;
  transition: transform 1s ease;
}
.himalayan-img-col:hover .bg-img { transform: scale(1.05); }
.himalayan-img-col .overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(217,119,6,.1), transparent); }
.himalayan-img-col .deco1 { position: absolute; bottom: -1.5rem; right: -1.5rem; width: 8rem; height: 8rem; border-radius: 50%; background: rgba(245,158,11,.1); }
.himalayan-img-col .deco2 { position: absolute; top: -1.5rem; left: -1.5rem; width: 6rem; height: 6rem; border-radius: 50%; background: rgba(59,130,246,.1); }

#school-offerings { padding: 4rem 0; background: #fff; }
@media (min-width: 768px) { #school-offerings { padding: 6rem 0; } }

.offerings-heading { text-align: center; margin-bottom: 4rem; }
.offerings-heading h2 { font-size: 2.5rem; font-weight: 700; color: var(--slate-900); font-family: 'Georgia', serif; margin-bottom: 1rem; }
@media (min-width: 768px) { .offerings-heading h2 { font-size: 3rem; } }
.offerings-heading h2 span { color: var(--amber-500); }
.offerings-heading p { color: var(--slate-600); max-width: 42rem; margin-inline: auto; font-size: 1.125rem; }

.offerings-grid {
  display: grid; gap: 2rem;
  max-width: 62rem; margin-inline: auto;
}
@media (min-width: 1024px) { .offerings-grid { grid-template-columns: repeat(2, 1fr); } }

.offering-card {
  position: relative;
  height: 31rem;
  border-radius: 1rem;
  overflow: hidden;
}
.offering-card img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}
.offering-card:hover img { transform: scale(1.05); }
.offering-card__grad {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.3), transparent, transparent);
}

.offering-card__title {
  position: absolute; top: 1.5rem; left: 0; right: 0;
  display: flex; justify-content: center;
}
@media (min-width: 768px) { .offering-card__title { justify-content: flex-start; padding-left: 1.5rem; } }

.offering-card__title h3 {
  display: inline-block;
  padding: .5rem 1rem;
  background: rgba(255,255,255,.9);
  color: var(--slate-900);
  font-size: 1.25rem; font-weight: 700;
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(0,0,0,.1);
  backdrop-filter: blur(4px);
}

.offering-card__hover {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 1.5rem;
  background: linear-gradient(to top, rgba(0,0,0,.8), transparent);
  transform: translateY(100%);
  transition: transform .5s ease;
}
.offering-card:hover .offering-card__hover { transform: translateY(0); }

.offering-card__hover-inner {
  padding: 1.5rem;
  background: #fff;
  border-radius: 1rem 1rem 0 0;
}
.offering-card__hover-inner p { color: var(--slate-700); margin-bottom: 1rem; }
.offering-card__hover-inner button {
  font-size: .875rem; font-weight: 500;
  color: var(--amber-600);
  transition: color .2s;
}
.offering-card__hover-inner button:hover { color: var(--amber-700); }

.offering-card__corner-tr, .offering-card__corner-bl {
  position: absolute;
  width: .75rem; height: .75rem;
  opacity: 0;
  transition: opacity .5s;
}
.offering-card__corner-tr {
  top: 1rem; right: 1rem;
  border-top: 2px solid var(--amber-400);
  border-right: 2px solid var(--amber-400);
}
.offering-card__corner-bl {
  bottom: 1rem; left: 1rem;
  border-bottom: 2px solid var(--amber-400);
  border-left: 2px solid var(--amber-400);
}
.offering-card:hover .offering-card__corner-tr,
.offering-card:hover .offering-card__corner-bl { opacity: 1; }

#target-audience { padding: 5rem 0; background: #fff; }
@media (min-width: 768px) { #target-audience { padding: 8rem 0; } }

.audience-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-bottom: 2rem; }
.audience-tab {
  padding: .5rem 1rem;
  border-radius: 999px;
  font-size: .875rem; font-weight: 500;
  background: rgba(250,236,217,.5);
  color: var(--slate-700);
  transition: background .3s, color .3s;
}
.audience-tab:hover { background: rgba(246,221,184,.5); }
.audience-tab.active { background: var(--amber-400); color: var(--slate-900); }

.audience-panel {
  background: var(--amber-50);
  border-radius: 1rem;
  padding: 1.5rem;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  display: none;
}
.audience-panel.active {
  display: block;
}
@media (min-width: 768px) {
  .audience-panel {
    padding: 2rem;
  }
}

.audience-panel__inner {
  display: flex; flex-direction: column; gap: 2rem;
}
@media (min-width: 1024px) { .audience-panel__inner { flex-direction: row; } }

.audience-panel__main { flex: 1; }
.audience-panel__main h3 { font-size: 1.5rem; font-weight: 700; color: var(--slate-900); margin-bottom: 1rem; }
.audience-panel__main > p { color: var(--slate-700); margin-bottom: 1.5rem; line-height: 1.7; }

.audience-benefits { margin-bottom: 1.5rem; }
.audience-benefits h4 { font-weight: 600; color: var(--slate-900); margin-bottom: .75rem; }
.audience-benefits li { display: flex; align-items: flex-start; gap: .5rem; margin-bottom: .5rem; }
.audience-benefits li svg { width: 1.25rem; height: 1.25rem; flex-shrink: 0; margin-top: 2px; stroke: var(--amber-500); fill: none; }
.audience-benefits li span { color: var(--slate-700); }

.audience-programs { margin-bottom: 1.5rem; }
.audience-programs h4 { font-weight: 600; color: var(--slate-900); margin-bottom: .75rem; }
.audience-programs__tags { display: flex; flex-wrap: wrap; gap: .5rem; }
.audience-programs__tag {
  padding: .25rem .75rem;
  background: #fff;
  border-radius: 999px;
  font-size: .875rem;
  color: var(--slate-700);
  border: 1px solid var(--amber-200);
}

.audience-testimonial {
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 1024px) { .audience-testimonial { width: 33%; } }

.audience-testimonial__card {
  background: #fff;
  padding: 1.5rem;
  border-radius: .75rem;
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
}
.audience-testimonial__header { display: flex; align-items: center; margin-bottom: 1rem; }
.audience-testimonial__header img { width: 3rem; height: 3rem; border-radius: 50%; object-fit: cover; margin-right: 1rem; }
.audience-testimonial__header h4 { font-weight: 600; color: var(--slate-900); font-size: .9375rem; }
.audience-testimonial__header p { font-size: .75rem; color: var(--slate-500); }
.audience-testimonial blockquote { font-style: italic; color: var(--slate-700); margin-bottom: 1rem; font-size: .9375rem; }
.stars { display: flex; color: var(--amber-400); }
.stars svg { width: 1.25rem; height: 1.25rem; fill: currentColor; }

#results, #results-section { padding: 5rem 0; background: var(--amber-50); }
@media (min-width: 768px) { #results, #results-section { padding: 8rem 0; } }

.results-grid {
  display: grid; gap: 2rem;
  margin-bottom: 4rem;
}
@media (min-width: 768px) { .results-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .results-grid { grid-template-columns: repeat(4, 1fr); } }

.result-card {
  background: #fff;
  border-radius: .75rem;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  padding: 1.5rem;
  transition: box-shadow .3s, transform .3s;
}
.result-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,.12); transform: translateY(-4px); }
.result-card__icon { font-size: 2.5rem; margin-bottom: 1rem; }
.result-card h3 { font-size: 1.25rem; font-weight: 700; color: var(--slate-900); margin-bottom: .75rem; }
.result-card p { color: var(--slate-700); font-size: .875rem; line-height: 1.6; margin-bottom: 1.5rem; }
.result-card__stat {
  background: rgba(250,236,217,.5);
  padding: 1rem;
  border-radius: .5rem;
}
.result-card__stat-value { font-size: 1.5rem; font-weight: 700; color: var(--amber-500); }
.result-card__stat-label { font-size: .875rem; color: var(--slate-600); }

.testimonials-heading { font-size: 1.5rem; font-weight: 700; text-align: center; color: var(--slate-900); margin-bottom: 2rem; }

.testimonials-grid {
  display: grid;
  gap: 2rem;
  margin-bottom: 3rem;
  position: relative;
}
@media (min-width: 768px) {
  .testimonials-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.testimonial-before-after {
  background: #fff;
  border-radius: .75rem;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  overflow: hidden;
  display: none;
  flex-direction: column;
}
.testimonial-before-after.active {
  display: flex;
}
@media (min-width: 768px) {
  .testimonial-before-after {
    display: flex;
    flex-direction: row;
  }
}

.testimonial-before-after__sidebar {
  background: var(--amber-100);
  padding: 1.5rem;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center;
}
@media (min-width: 768px) { .testimonial-before-after__sidebar { width: 33%; } }

.testimonial-before-after__sidebar img {
  width: 4rem; height: 4rem;
  border-radius: 50%;
  margin-inline: auto;
  margin-bottom: .5rem;
}
.testimonial-before-after__sidebar p { font-weight: 500; color: var(--slate-900); }
.testimonial-before-after__badge {
  margin-top: .75rem;
  padding: .25rem .75rem;
  background: var(--amber-200);
  border-radius: 999px;
  font-size: .75rem;
  color: var(--amber-800);
}

.testimonial-before-after__content { padding: 1.5rem; flex: 1; }
.testimonial-before-after__content h4 { font-weight: 600; color: var(--slate-900); margin-bottom: .5rem; }
.testimonial-before-after__content p { font-style: italic; color: var(--slate-700); margin-bottom: 1rem; }

.testimonials-nav-mobile {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  padding: 0 0.5rem;
  z-index: 5;
}
@media (min-width: 768px) {
  .testimonials-nav-mobile {
    display: none;
  }
}
.testimonials-nav-mobile__btn {
  width: 2.5rem;
  height: 2.5rem;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--amber-500);
  pointer-events: auto;
  border: none;
  cursor: pointer;
  transition: background var(--transition-normal), color var(--transition-normal);
}
.testimonials-nav-mobile__btn:hover {
  background: #fff;
  color: var(--amber-600);
}
.testimonials-nav-mobile__btn svg {
  width: 1.5rem;
  height: 1.5rem;
}

#faq { padding: 5rem 0; background: #fff; }
@media (min-width: 768px) { #faq { padding: 8rem 0; } }

.faq-inner { max-width: 56rem; margin-inline: auto; }

.faq-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-bottom: 2rem; }
.faq-tab {
  padding: .5rem 1rem;
  border-radius: 999px;
  font-size: .875rem; font-weight: 500;
  background: rgba(250,236,217,.5);
  color: var(--slate-700);
  transition: background .3s;
}
.faq-tab.active { background: var(--amber-400); color: var(--slate-900); }
.faq-tab:hover { background: rgba(246,221,184,.5); }

.faq-list { display: flex; flex-direction: column; gap: 1rem; }

.faq-item { background: var(--amber-50); border-radius: .5rem; overflow: hidden; }
.faq-item[hidden] { display: none; }

.faq-question {
  display: flex; justify-content: space-between; align-items: center;
  width: 100%;
  padding: 1.25rem;
  text-align: left;
}
.faq-question span { font-weight: 600; color: var(--slate-900); }
.faq-question svg {
  width: 1.25rem; height: 1.25rem;
  stroke: var(--amber-500); fill: none;
  transition: transform .3s;
  flex-shrink: 0;
}
.faq-question[aria-expanded="true"] svg { transform: rotate(180deg); }

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease, padding .3s ease;
}
.faq-answer.open { max-height: 24rem; padding: 0 1.25rem 1.25rem; }
.faq-answer p { color: var(--slate-700); }

.faq-cta-wrap { text-align: center; margin-top: 3rem; }
.btn-pill {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .75rem 1.5rem;
  background: var(--amber-400);
  color: var(--slate-900);
  border-radius: 999px;
  font-weight: 500;
  transition: background .3s, transform .3s;
}
.btn-pill:hover { background: var(--amber-500); transform: scale(1.05); }
.btn-pill svg { width: 1.25rem; height: 1.25rem; stroke: currentColor; fill: none; }

#spanish-reviews { padding: 5rem 0; background: #fff; }
@media (min-width: 768px) { #spanish-reviews { padding: 7rem 0; } }

.spanish-reviews__header { max-width: 48rem; margin-bottom: 3rem; }
.spanish-reviews__header h2 { font-size: 1.875rem; font-weight: 700; color: var(--slate-900); margin-bottom: 1rem; }
@media (min-width: 768px) { .spanish-reviews__header h2 { font-size: 2.25rem; } }
.spanish-reviews__header p { color: var(--slate-700); font-size: 1.125rem; }

.reviews-grid {
  display: grid; gap: 1.5rem;
}
@media (min-width: 768px) { .reviews-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1280px) { .reviews-grid { grid-template-columns: repeat(3, 1fr); } }

.review-card {
  background: var(--amber-50);
  border-radius: 1rem;
  padding: 1.5rem;
  box-shadow: 0 1px 6px rgba(0,0,0,.05);
  border: 1px solid var(--amber-100);
  display: flex; flex-direction: column;
}
.review-card blockquote { color: var(--slate-700); line-height: 1.7; flex: 1; }
.review-card__author { display: flex; align-items: center; gap: .75rem; margin-top: 1.5rem; }
.review-card__author img {
  width: 4rem; height: 4rem;
  border-radius: 50%; object-fit: cover;
  border: 2px solid var(--amber-300);
  box-shadow: 0 1px 4px rgba(0,0,0,.1);
  flex-shrink: 0;
}
.review-card__author span { font-weight: 600; color: var(--amber-700); }

#instagram-contact { padding: 5rem 0; background: var(--amber-50); }
@media (min-width: 768px) { #instagram-contact { padding: 8rem 0; } }

#transformation,
#about-arya,
#himalayan-yoga,
#school-offerings,
#target-audience,
#results,
#faq,
#spanish-reviews,
#endorsement {
  display: none;
}

#welcome {
  padding: clamp(4rem, 8vw, 6rem) var(--container-px);
  background:
    radial-gradient(circle at 12% 20%, rgba(231, 169, 116, 0.22), transparent 20rem),
    linear-gradient(180deg, var(--amber-50) 0%, #fff 100%);
}

#welcome .welcome-inner {
  max-width: 62rem;
  margin-inline: auto;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(231, 169, 116, 0.22);
  border-radius: 0.5rem;
  padding: clamp(1.4rem, 4vw, 2.4rem);
  box-shadow: 0 22px 60px rgba(36, 28, 44, 0.08);
}

#welcome h2,
.mission-overlay-card h2,
.retreats-india-copy h2,
.retreats-spain-copy h2,
.workshops-copy h2 {
  font-family: "Cormorant Garamond", serif;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 0.98;
  color: var(--slate-900);
}

#welcome h2 {
  font-size: clamp(2.45rem, 5vw, 4.35rem);
  margin-bottom: 1.1rem;
}

#welcome p {
  color: var(--slate-700);
  max-width: 52rem;
}

.gallery-carousel__img-wrap,
.mission-photo-panel,
.retreats-india-photo,
.retreats-spain-photo,
.workshops-photo {
  border-radius: 0.5rem;
  box-shadow: 0 28px 70px rgba(36, 28, 44, 0.16);
}

.gallery-carousel__img-wrap img,
.mission-photo-panel img,
.retreats-india-photo img,
.retreats-spain-photo img,
.workshops-photo img,
.program-card__media img,
.team-card__media img {
  transition: transform 0.7s ease;
}

.gallery-carousel__item:hover img,
.mission-photo-panel:hover img,
.retreats-india-photo:hover img,
.retreats-spain-photo:hover img,
.workshops-photo:hover img,
.program-card:hover .program-card__media img,
.team-card:hover .team-card__media img {
  transform: scale(1.045);
}

.retreats-india-copy,
.retreats-spain-copy,
.workshops-copy {
  border-radius: 0.5rem;
  border-color: rgba(185, 108, 75, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 248, 241, 0.92));
  box-shadow: 0 24px 70px rgba(36, 28, 44, 0.12);
}

.mission-overlay-card::before,
.retreats-india-copy::before,
.retreats-spain-copy::before,
.workshops-copy::before {
  content: "";
  display: block;
  width: 4rem;
  height: 2px;
  margin-bottom: 1rem;
  background: var(--amber-400);
}

.mission-overlay-card h2,
.retreats-india-copy h2,
.retreats-spain-copy h2,
.workshops-copy h2 {
  font-size: clamp(2.45rem, 5vw, 4.35rem);
}

.program-section__header {
  max-width: 64rem;
  margin-inline: auto;
  text-align: center;
}

.program-section__header::before {
  content: "";
  display: block;
  width: 4rem;
  height: 2px;
  margin: 0 auto 1.15rem;
  background: var(--amber-400);
}

.program-section__header p {
  max-width: 48rem;
  margin-inline: auto;
}

.about-hero__image,
.program-card,
.team-card,
.testimonial-card,
.contact-method-card,
.project-collab-card,
.apply-panel,
.apply-side,
.contact-topic-list,
.project-ethics-card {
  border-radius: 0.5rem;
}

.program-card,
.team-card,
.testimonial-card,
.contact-method-card,
.project-collab-card,
.apply-panel {
  box-shadow: 0 22px 58px rgba(36, 28, 44, 0.09);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.program-card:hover,
.team-card:hover,
.testimonial-card:hover,
.contact-method-card:hover,
.project-collab-card:hover {
  transform: translateY(-5px);
  border-color: rgba(216, 140, 59, 0.36);
  box-shadow: 0 30px 74px rgba(36, 28, 44, 0.14);
}

.program-card__media,
.team-card__media {
  position: relative;
}

.program-card__media::after,
.team-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(36, 28, 44, 0) 52%, rgba(36, 28, 44, 0.18) 100%);
  pointer-events: none;
}

.program-card__meta span,
.project-collab-card span,
.contact-method-card span {
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(185, 108, 75, 0.12);
}

.testimonial-card {
  position: relative;
  padding-top: clamp(1.8rem, 3vw, 2.2rem);
}

.testimonial-card::before {
  content: "“";
  position: absolute;
  top: 0.2rem;
  left: 1rem;
  font-family: "Cormorant Garamond", serif;
  font-size: 4rem;
  line-height: 1;
  color: rgba(216, 140, 59, 0.22);
}

.about-value {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 248, 241, 0.9));
  border: 1px solid rgba(185, 108, 75, 0.18);
  border-left: 0.35rem solid var(--color-acica-rust);
  border-radius: 0.5rem;
  padding: clamp(1rem, 2.5vw, 1.35rem);
  box-shadow: 0 18px 48px rgba(36, 28, 44, 0.07);
}

.about-value span {
  background: var(--amber-400);
  color: var(--slate-900);
}

.team-card {
  background: #fff;
}

.team-card__role {
  width: fit-content;
  border-radius: 999px;
  background: var(--color-acica-blush);
  padding: 0.35rem 0.75rem;
}

.contact-method-card,
.apply-side div,
.contact-topic-list div {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 248, 241, 0.92));
}

.apply-panel {
  position: relative;
  overflow: hidden;
}

.apply-panel::after {
  content: "";
  position: absolute;
  right: -4rem;
  top: -4rem;
  width: 12rem;
  height: 12rem;
  border: 1px solid rgba(185, 108, 75, 0.14);
  border-radius: 50%;
}

.apply-form {
  position: relative;
  z-index: 1;
}

@media (max-width: 719px) {
  #welcome .welcome-inner {
    padding: 1.25rem;
  }

  .program-section__header {
    text-align: left;
    margin-inline: 0;
  }

  .program-section__header::before {
    margin-inline: 0;
  }

  .program-card:hover,
  .team-card:hover,
  .testimonial-card:hover,
  .contact-method-card:hover,
  .project-collab-card:hover {
    transform: none;
  }
}

#instagram-contact .contact-top {
  max-width: 56rem;
  margin-inline: auto;
}

.contact-top {
  display: flex; flex-direction: column; gap: 2rem;
}
@media (min-width: 768px) { .contact-top { flex-direction: row; } }

.contact-card {
  background: #fff;
  padding: 2rem;
  border-radius: .75rem;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  flex: 1;
}

.instagram-card {
  background: linear-gradient(135deg, #7c3aed, #ec4899, #f97316);
  padding: 1.5rem;
  border-radius: .75rem;
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
  margin-bottom: 2rem;
}
.instagram-card__header { display: flex; align-items: center; margin-bottom: 1rem; }
.instagram-card__header svg { width: 2rem; height: 2rem; color: #fff; margin-right: .75rem; }
.instagram-card__header h3 { font-size: 1.5rem; font-weight: 700; color: #fff; }
.instagram-card p { color: rgba(255,255,255,.9); margin-bottom: 1.5rem; line-height: 1.6; }
.instagram-card a {
  display: inline-flex; align-items: center;
  padding: .75rem 1.5rem;
  background: #fff;
  color: #ec4899;
  border-radius: 999px;
  font-weight: 500;
  transition: transform .2s, box-shadow .2s;
}
.instagram-card a:hover { transform: scale(1.05); box-shadow: 0 4px 16px rgba(0,0,0,.15); }
.instagram-card a svg { width: 1.25rem; height: 1.25rem; margin-right: .5rem; }

.contact-info h4 { font-weight: 600; color: var(--slate-900); margin-bottom: 1rem; }
.contact-info-item { display: flex; align-items: flex-start; gap: .5rem; margin-bottom: .75rem; }
.contact-info-item svg { width: 1.25rem; height: 1.25rem; stroke: var(--amber-500); fill: none; flex-shrink: 0; margin-top: 2px; }
.contact-info-item span { color: var(--slate-700); }

.contact-form { display: flex; flex-direction: column; }
@media (min-width: 768px) { .contact-form { flex: 1; } }
.contact-form h3 { font-size: 1.5rem; font-weight: 700; color: var(--slate-900); margin-bottom: 1.5rem; }
.form-field { margin-bottom: 1rem; }
.form-field label { display: block; font-size: .875rem; font-weight: 500; color: var(--slate-700); margin-bottom: .25rem; }
.form-field input,
.form-field textarea {
  width: 100%;
  padding: .5rem 1rem;
  border: 1px solid var(--slate-300);
  border-radius: .5rem;
  font-family: inherit;
  font-size: 1rem;
  color: var(--slate-900);
  transition: border-color .2s, box-shadow .2s;
}
.form-field input:focus,
.form-field textarea:focus {
  outline: none;
  border-color: var(--amber-500);
  box-shadow: 0 0 0 3px rgba(216,140,59,.15);
}
.form-field textarea { resize: vertical; min-height: 7.5rem; }
.btn-submit {
  width: 100%;
  padding: .75rem 1.5rem;
  background: var(--amber-400);
  color: var(--slate-900);
  font-weight: 500;
  border-radius: .5rem;
  transition: background .3s;
  margin-top: auto;
}
.btn-submit:hover { background: var(--amber-500); }

.intl-heading { font-size: 1.5rem; font-weight: 700; text-align: center; color: var(--slate-900); margin: 2rem 0 .75rem; }
.intl-heading span { color: var(--amber-500); }
.intl-subtext { text-align: center; color: var(--slate-700); max-width: 48rem; margin-inline: auto; margin-bottom: 2rem; }

.intl-grid { display: grid; gap: 2rem; }
@media (min-width: 768px) { .intl-grid { grid-template-columns: repeat(2, 1fr); } }

.location-card {
  background: #fff;
  border-radius: .75rem;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  overflow: hidden;
  display: flex; flex-direction: column;
}
.location-card__img { height: 15rem; overflow: hidden; position: relative; }
.location-card__img img { width: 100%; height: 100%; object-fit: cover; }
.location-card__img-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.7), transparent);
  display: flex; align-items: flex-end;
}
.location-card__img-label { padding: 1.5rem; }
.location-card__img-label h3 { font-size: 1.25rem; font-weight: 700; color: #fff; }
.location-card__img-label p { color: rgba(255,255,255,.9); font-size: .875rem; }
.location-card__img-label .flag-icon { width: 1.25rem; height: 1.25rem; stroke: var(--amber-400); fill: none; display: inline-block; vertical-align: middle; margin-right: .5rem; }

.location-card__body { padding: 1.5rem; flex: 1; }
.location-card__teacher { display: flex; align-items: center; margin-bottom: 1rem; }
.location-card__teacher img { width: 3rem; height: 3rem; border-radius: 50%; object-fit: cover; margin-right: 1rem; }
.location-card__teacher h4 { font-weight: 700; color: var(--slate-900); }
.location-card__teacher p { color: var(--amber-500); font-size: .875rem; }

.btn-whatsapp {
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%;
  padding: .5rem 1rem;
  background: #22c55e;
  color: #fff;
  border-radius: .5rem;
  font-weight: 500;
  transition: background .3s;
  margin-top: .5rem;
}
.btn-whatsapp:hover { background: #16a34a; }
.btn-whatsapp svg { width: 1.25rem; height: 1.25rem; margin-right: .5rem; fill: currentColor; }

.whatsapp-badge {
  font-size: .75rem;
  background: #dcfce7;
  color: #166534;
  padding: .125rem .5rem;
  border-radius: 999px;
  margin-left: .5rem;
}

.privacy-banner {
  margin-top: 3rem;
  background: #fff;
  padding: 1.5rem;
  border-radius: .75rem;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  text-align: center;
}
.privacy-banner h3 { font-weight: 600; color: var(--slate-900); font-size: 1.125rem; margin-bottom: .5rem; }
.privacy-banner p { color: var(--slate-700); margin-bottom: 1rem; }

#endorsement {
  width: 100%;
  padding: 5rem 1rem;
  background: linear-gradient(135deg, var(--amber-50), #fff);
  display: flex; justify-content: center; align-items: center;
}
.endorsement-inner { position: relative; max-width: 88rem; width: 100%; }
.endorsement-card {
  position: relative;
  background: #fff;
  border: 2px solid var(--amber-300);
  border-radius: 1rem;
  box-shadow: 0 20px 60px rgba(0,0,0,.1);
  padding: 5rem 2rem 2.5rem;
  display: flex; flex-direction: column; align-items: center; text-align: center;
}
.endorsement-avatar {
  position: absolute; top: -4rem; left: 50%;
  transform: translateX(-50%);
}
.endorsement-avatar img {
  width: 8rem; height: 8rem;
  border-radius: 50%;
  border: 4px solid var(--amber-400);
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
  object-fit: cover;
  background: #fff;
}
.endorsement-label {
  font-size: 1.25rem; font-weight: 800;
  color: var(--amber-600);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 1rem;
}
.endorsement-card blockquote {
  font-size: 1.125rem;
  font-style: italic;
  color: var(--slate-700);
  line-height: 1.75;
  margin-bottom: 1.5rem;
  max-width: 70ch;
}
@media (min-width: 768px) { .endorsement-card blockquote { font-size: 1.25rem; } }
.endorsement-cite { font-size: 1rem; font-weight: 600; color: var(--amber-700); }

footer {
  background: var(--slate-900);
  color: #fff;
}
.footer-top { padding: 4rem 0 2rem; }

.footer-grid {
  display: grid; gap: 3rem;
  margin-bottom: 3rem;
}
@media (min-width: 768px) { .footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .footer-grid { grid-template-columns: repeat(4, 1fr); } }

.footer-logo { margin-bottom: 1rem; }
.footer-logo img { height: 3.5rem; width: auto; filter: brightness(0) invert(1) sepia(1) saturate(2) hue-rotate(10deg); }
.footer-desc { color: var(--slate-400); line-height: 1.75; margin-top: 1rem; font-size: .9375rem; }
.footer-socials { display: flex; gap: 1rem; margin-top: 1.5rem; }
.footer-social-link {
  width: 2.5rem; height: 2.5rem;
  background: var(--slate-800);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--slate-400);
  transition: background .3s, color .3s;
}
.footer-social-link:hover { background: var(--amber-400); color: #fff; }
.footer-social-link svg { width: 1.25rem; height: 1.25rem; }

.footer-col-title { font-size: 1.125rem; font-weight: 700; color: #fff; margin-bottom: 1.5rem; }

.footer-links li { margin-bottom: 1rem; }
.footer-links a {
  color: var(--slate-400);
  transition: color .3s;
  display: flex; align-items: center; gap: .5rem;
  font-size: .9375rem;
}
.footer-links a:hover { color: var(--amber-400); }
.footer-links__dot { width: .375rem; height: .375rem; background: var(--amber-400); border-radius: 50%; }

.footer-programs li {
  display: flex; align-items: flex-start; gap: .75rem;
  margin-bottom: 1rem;
}
.footer-programs li svg { width: 1.25rem; height: 1.25rem; color: var(--amber-400); flex-shrink: 0; margin-top: 2px; stroke: currentColor; fill: none; }
.footer-programs__name { color: #fff; font-weight: 500; font-size: .9375rem; }
.footer-programs__sub { color: var(--slate-400); font-size: .8125rem; }

.footer-contact li { display: flex; align-items: flex-start; gap: .75rem; margin-bottom: 1rem; }
.footer-contact li svg { width: 1.25rem; height: 1.25rem; stroke: var(--amber-400); fill: none; flex-shrink: 0; margin-top: 2px; }
.footer-contact li span, .footer-contact li a { color: var(--slate-400); font-size: .9375rem; }

.footer-emergency {
  margin-top: 1.5rem;
  padding: 1rem;
  background: var(--slate-800);
  border-radius: .5rem;
}
.footer-emergency h4 { color: #fff; font-weight: 500; margin-bottom: .25rem; }
.footer-emergency p { color: var(--slate-400); font-size: .875rem; }
.footer-emergency__number { color: var(--amber-400); font-weight: 500; }

.footer-middle {
  display: grid; gap: 2rem;
  padding: 2rem 0;
  border-top: 1px solid var(--slate-800);
}
@media (min-width: 768px) { .footer-middle { grid-template-columns: repeat(3, 1fr); } }

.footer-certs h4, .footer-events h4, .footer-payment h4 {
  color: #fff; font-weight: 500; margin-bottom: 1rem;
}
.footer-cert-badges { display: flex; flex-wrap: wrap; gap: 1rem; }
.footer-cert-badge {
  background: var(--slate-800);
  padding: .75rem;
  border-radius: .5rem;
}
.footer-cert-badge span:first-child { color: var(--amber-400); font-size: .75rem; display: block; }
.footer-cert-badge span:last-child { color: #fff; font-size: .875rem; }

.footer-events li { display: flex; align-items: flex-start; gap: .5rem; margin-bottom: .75rem; }
.footer-events li svg { width: 1rem; height: 1rem; stroke: var(--amber-400); fill: none; flex-shrink: 0; margin-top: 2px; }
.footer-events__title { color: #fff; font-size: .875rem; }
.footer-events__date { color: var(--slate-400); font-size: .75rem; }

.footer-payment-methods { display: flex; flex-wrap: wrap; gap: .5rem; }
.payment-badge {
  background: var(--slate-800);
  padding: .5rem .75rem;
  border-radius: .25rem;
  color: #fff;
  font-size: .875rem;
}

.footer-bottom {
  padding-top: 2rem;
  border-top: 1px solid var(--slate-800);
  display: flex; flex-direction: column; gap: 1rem;
  align-items: center;
}
@media (min-width: 768px) { .footer-bottom { flex-direction: row; justify-content: space-between; } }

.footer-bottom p { color: var(--slate-500); font-size: .875rem; }
.footer-bottom__links { display: flex; gap: 1.5rem; }
.footer-bottom__links a { color: var(--slate-500); font-size: .875rem; transition: color .3s; }
.footer-bottom__links a:hover { color: var(--amber-400); }

#back-to-top {
  position: fixed;
  bottom: 2rem; right: 2rem;
  z-index: 50;
  width: 3rem; height: 3rem;
  background: var(--amber-400);
  color: var(--slate-900);
  border-radius: 50%;
  display: none; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
  transition: background .3s, transform .2s;
}
#back-to-top.visible { display: flex; }
#back-to-top:hover { background: var(--amber-500); transform: translateY(-2px); }
#back-to-top svg { width: 1.25rem; height: 1.25rem; stroke: currentColor; fill: none; }

.events-fab {
  position: fixed;
  bottom: 2rem; left: 2rem;
  z-index: 35;
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  padding: .7rem 1.4rem;
  background: var(--amber-400);
  color: var(--slate-900);
  font-weight: 600;
  font-size: .95rem;
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-md);
  transition: background .3s ease, transform .2s ease, box-shadow .3s ease;
}
.events-fab:hover { background: var(--amber-500); transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.events-fab svg { width: 1.4rem; height: 1.4rem; stroke: currentColor; fill: none; flex-shrink: 0; }

.events-modal {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(36, 28, 44, .5);
  backdrop-filter: blur(4px);
}
.events-modal.open { display: flex; }

.events-modal__panel {
  position: relative;
  width: 100%;
  max-width: 28rem;
  max-height: 80vh;
  overflow-y: auto;
  background: var(--color-white);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
}
.events-modal.open .events-modal__panel {
  animation: eventsModalIn .3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.events-modal__header {
  position: sticky;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: var(--color-white);
  border-bottom: 1px solid var(--slate-200);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
.events-modal__title { font-size: 1.25rem; font-weight: 700; color: var(--slate-900); overflow-wrap: anywhere; }
.events-modal__close { display: flex; color: var(--slate-500); transition: color .2s ease; }
.events-modal__close:hover { color: var(--slate-700); }
.events-modal__close svg { width: 1.5rem; height: 1.5rem; stroke: currentColor; fill: none; }

.events-modal__body { padding: 1.25rem; }

.events-card {
  padding: 1rem;
  border: 1px solid var(--amber-200);
  border-radius: var(--radius-md);
  transition: background .2s ease;
}
.events-card + .events-card { margin-top: 1rem; }
.events-card:hover { background: var(--amber-50); }
.events-card__title { font-size: 1rem; font-weight: 700; color: var(--slate-900); overflow-wrap: anywhere; }
.events-card__meta { margin-top: .5rem; }
.events-card__date { font-size: .875rem; color: var(--slate-600); }
.events-card__link {
  display: inline-block;
  margin-top: .75rem;
  font-size: .875rem;
  font-weight: 600;
  color: var(--amber-500);
  transition: color .2s ease;
}
.events-card__link:hover { color: var(--amber-600); }

.events-empty { color: var(--slate-600); font-size: .9375rem; text-align: center; padding: 1rem 0; }

@keyframes eventsModalIn {
  from { transform: scale(.96); opacity: 0; }
  to   { transform: scale(1);   opacity: 1; }
}

@media (max-width: 640px) {
  .events-fab {
    bottom: 1.25rem; left: 1rem;
    padding: .6rem 1.1rem;
    font-size: .85rem;
  }
  .events-fab svg { width: 1.2rem; height: 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .events-fab { transition: none; }
  .events-fab:hover { transform: none; }
  .events-modal.open .events-modal__panel { animation: none; }
}

.about-arya__bio-desc {
  color: var(--color-text-muted);
  line-height: 1.75;
  margin-bottom: 2rem;
}

.contact-info__social-icon {
  color: #fff;
  width: 2rem;
  height: 2rem;
  margin-right: .75rem;
}

.contact-info__details-icon {
  width: 1.25rem;
  height: 1.25rem;
  stroke: #ec4899;
  margin-right: .5rem;
}

.form-field--flex-grow {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.form-field__textarea--fill {
  flex: 1;
}

.location-card__contact-info {
  margin-bottom: 1rem;
}

.footer-contact__hours-label {
  display: block;
}

.about-page {
  background:
    radial-gradient(circle at 12% 8%, rgba(217, 173, 129, 0.28), transparent 26rem),
    radial-gradient(circle at 86% 20%, rgba(238, 243, 246, 0.9), transparent 28rem),
    linear-gradient(180deg, rgba(255, 248, 241, 0.98) 0%, #fff 38%, #fff4ee 100%);
  overflow: hidden;
}

.about-hero {
  padding: clamp(7rem, 12vw, 10rem) 0 clamp(4rem, 8vw, 6rem);
  position: relative;
}

.about-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(216, 140, 59, 0.15) 0%, rgba(216, 140, 59, 0) 34%),
    linear-gradient(150deg, rgba(36, 28, 44, 0.04) 52%, rgba(183, 107, 97, 0.16) 100%);
  pointer-events: none;
}

.about-hero__grid {
  position: relative;
  display: grid;
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: center;
}

@media (min-width: 960px) {
  .about-hero__grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(24rem, 1.1fr);
  }
}

.about-hero__content {
  max-width: 42rem;
}

.about-hero__content h1 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.45rem, 5vw, 4.35rem);
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: 0;
  color: var(--slate-900);
  margin-bottom: 1.35rem;
}

.about-hero__lead {
  font-size: clamp(1.2rem, 2.2vw, 1.65rem);
  line-height: 1.4;
  color: var(--color-acica-rust);
  font-weight: 600;
  max-width: 38rem;
  margin-bottom: 1.25rem;
}

.about-hero__text {
  color: var(--slate-700);
  font-size: 1.05rem;
  line-height: 1.85;
  max-width: 39rem;
}

.about-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 2rem;
}

.about-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.8rem 1.25rem;
  border-radius: 9999px;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.about-button:hover {
  transform: translateY(-2px);
}

.about-button--primary {
  background: var(--amber-500);
  color: #fff;
  box-shadow: 0 16px 36px rgba(185, 108, 30, 0.24);
}

.about-button--primary:hover {
  background: var(--amber-600);
}

.about-button--ghost {
  background: rgba(255, 255, 255, 0.78);
  color: var(--slate-800);
  border: 1px solid rgba(185, 108, 30, 0.22);
}

.about-button--ghost:hover {
  border-color: rgba(185, 108, 30, 0.46);
  color: var(--amber-700);
}

.about-button--light {
  background: #fff;
  color: var(--color-acica-rust);
}

.about-button--light:hover {
  background: var(--amber-100);
}

.about-hero__visual {
  position: relative;
  min-height: 22rem;
}

.about-hero__image {
  border-radius: 0.5rem;
  overflow: hidden;
  min-height: clamp(26rem, 50vw, 41rem);
  box-shadow: 0 30px 80px rgba(15, 23, 42, 0.18);
}

.about-hero__image img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.about-hero__quote {
  position: absolute;
  left: clamp(-1.25rem, -2.5vw, -2.5rem);
  bottom: clamp(-2rem, -3vw, -2.75rem);
  width: min(25rem, calc(100% - 2rem));
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(246, 221, 184, 0.85);
  border-radius: 0.5rem;
  padding: clamp(1.15rem, 3vw, 1.65rem);
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.12);
  backdrop-filter: blur(16px);
}

.about-hero__quote span {
  display: block;
  color: var(--amber-700);
  font-weight: 800;
  margin-bottom: 0.45rem;
  letter-spacing: 0;
}

.about-hero__quote p {
  color: var(--slate-700);
  line-height: 1.65;
  font-size: 0.96rem;
}

.about-hero__visual--full .about-hero__image {
  min-height: 0;
}

.about-hero__visual--full .about-hero__image img {
  height: auto;
  min-height: 0;
}

.about-values {
  background:
    linear-gradient(180deg, #fff 0%, var(--color-acica-linen) 100%);
  padding: clamp(4rem, 8vw, 7rem) 0;
}

.about-values__inner {
  display: grid;
  gap: clamp(2.5rem, 5vw, 4rem);
}

@media (min-width: 980px) {
  .about-values__inner {
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
    align-items: start;
  }
}

.about-values__intro h2,
.about-closing__inner h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.45rem, 5vw, 4.35rem);
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: 0;
  color: var(--slate-900);
  margin-bottom: 1rem;
}

.about-values__intro p {
  color: var(--slate-700);
  font-size: 1.06rem;
  line-height: 1.85;
  max-width: 42rem;
}

.about-values__columns {
  display: grid;
  gap: 1rem;
}

.about-value {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.7rem 1.2rem;
  padding: 1.25rem 0 1.25rem 1.25rem;
  border-left: 1px solid rgba(216, 140, 59, 0.32);
}

.about-value span {
  grid-row: span 2;
  width: 2.45rem;
  height: 2.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-acica-blush);
  color: var(--color-acica-rust);
  font-weight: 800;
  font-size: 0.85rem;
}

.about-value h3 {
  color: var(--slate-900);
  font-size: 1.35rem;
  line-height: 1.2;
  margin-top: 0.1rem;
}

.about-value p {
  color: var(--slate-600);
  line-height: 1.75;
}

.about-team {
  padding: clamp(4rem, 8vw, 7.5rem) 0;
  background:
    radial-gradient(circle at 92% 10%, rgba(238, 243, 246, 0.9), transparent 22rem),
    linear-gradient(180deg, var(--color-acica-linen) 0%, #fff6ef 100%);
}

.team-page .about-team {
  padding-top: clamp(7rem, 12vw, 10rem);
}

.about-team__header {
  max-width: 52rem;
  margin-bottom: clamp(2rem, 5vw, 4rem);
}

.team-page .about-team__header {
  max-width: 60rem;
}

.team-page .about-team__header h1,
.about-team__header h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.45rem, 5vw, 4.35rem);
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: 0;
  color: var(--slate-900);
  margin-bottom: 1rem;
}

.about-team__intro-line {
  font-family: "Cormorant Garamond", serif;
  color: var(--color-acica-rust);
  font-size: clamp(1.55rem, 3.2vw, 2.55rem);
  line-height: 1.18;
  font-weight: 600;
  max-width: 54rem;
  margin-bottom: 1rem;
}

.about-team__header p {
  color: var(--slate-700);
  font-size: 1.08rem;
  line-height: 1.8;
}

.about-team__featured {
  display: grid;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

@media (min-width: 960px) {
  .about-team__featured {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.about-team__grid {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 720px) {
  .about-team__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1180px) {
  .about-team__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.team-card {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 248, 241, 0.9));
  border: 1px solid rgba(185, 108, 75, 0.2);
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(36, 28, 44, 0.08);
  min-width: 0;
}

.team-card--featured {
  display: grid;
}

@media (min-width: 640px) {
  .team-card--featured {
    grid-template-columns: minmax(12rem, 0.75fr) minmax(0, 1fr);
  }
}

.team-card__media {
  aspect-ratio: 6 / 7;
  background: var(--amber-100);
  overflow: hidden;
}

.about-team__grid .team-card__media {
  width: min(100%, 300px);
  margin-inline: auto;
}

.team-card--featured .team-card__media {
  aspect-ratio: auto;
  min-height: 22rem;
}

.team-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.team-card__media--focus-top img { object-position: 50% 15%; }

.team-card__body {
  padding: clamp(1.25rem, 3vw, 1.75rem);
}

.team-card__role {
  color: var(--color-acica-rust);
  font-size: 0.78rem;
  line-height: 1.45;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
  margin-bottom: 0.75rem;
}

.team-card h2,
.team-card h3 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.9rem, 3vw, 2.45rem);
  line-height: 1;
  font-weight: 600;
  color: var(--slate-900);
  margin-bottom: 0.85rem;
  letter-spacing: 0;
}

.team-card p:not(.team-card__role) {
  color: var(--slate-700);
  line-height: 1.75;
  font-size: 0.96rem;
}

.team-card p + p {
  margin-top: 0.85rem;
}

.team-practice-strip {
  display: grid;
  gap: 1px;
  margin-top: clamp(2rem, 5vw, 3.5rem);
  background: rgba(185, 108, 75, 0.22);
  border: 1px solid rgba(185, 108, 75, 0.22);
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 20px 55px rgba(36, 28, 44, 0.08);
}

@media (min-width: 840px) {
  .team-practice-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.team-practice-strip div {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 248, 241, 0.92));
  padding: clamp(1.05rem, 2.4vw, 1.35rem);
}

.team-practice-strip span {
  display: block;
  color: var(--color-acica-rust);
  font-weight: 800;
  margin-bottom: 0.4rem;
}

.team-practice-strip p {
  color: var(--slate-600);
  font-size: 0.93rem;
  line-height: 1.58;
}

.program-page {
  background:
    radial-gradient(circle at 10% 14%, rgba(246, 221, 184, 0.45), transparent 28rem),
    radial-gradient(circle at 88% 8%, rgba(238, 243, 246, 0.86), transparent 24rem),
    linear-gradient(180deg, #fffaf4 0%, #fff 47%, #fff2ec 100%);
  overflow: hidden;
}

.program-page .about-hero__content h1 {
  font-size: clamp(2.45rem, 5vw, 4.35rem);
}

.program-page .about-hero__lead {
  max-width: 42rem;
}

.program-page .about-hero__text a {
  color: var(--amber-700);
  font-weight: 700;
  border-bottom: 1px solid rgba(216, 140, 59, 0.34);
}

.program-page .about-hero__image {
  min-height: clamp(28rem, 45vw, 40rem);
}

.program-page .about-hero__quote {
  max-width: 24rem;
}

.projects-page .about-hero__content h1 {
  font-size: clamp(2.45rem, 5vw, 4.35rem);
  max-width: 34rem;
}

.project-hero-panel {
  min-height: clamp(34rem, 52vw, 45rem);
  display: grid;
  align-content: end;
  position: relative;
}

.project-hero-photo {
  position: relative;
  min-height: inherit;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 32px 86px rgba(36, 28, 44, 0.18);
  isolation: isolate;
}

.project-hero-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(36, 28, 44, 0.04) 0%, rgba(36, 28, 44, 0.58) 100%),
    linear-gradient(90deg, rgba(36, 28, 44, 0.2), transparent 45%);
  z-index: 1;
}

.project-hero-photo img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: 50% 42%;
  transform: scale(1.01);
}

.project-hero-photo figcaption {
  position: absolute;
  left: clamp(1rem, 3vw, 1.6rem);
  right: clamp(1rem, 3vw, 1.6rem);
  bottom: clamp(5.7rem, 8vw, 6.8rem);
  z-index: 2;
  color: #fff;
  max-width: 28rem;
}

.project-hero-photo figcaption span {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  color: var(--amber-100);
  padding: 0.35rem 0.8rem;
  font-size: 0.78rem;
  font-weight: 800;
  margin-bottom: 0.85rem;
  backdrop-filter: blur(14px);
}

.project-hero-photo figcaption p {
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.02rem;
  line-height: 1.62;
}

.project-hero-summary {
  width: min(38rem, calc(100% - 2rem));
  justify-self: center;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: -3.4rem;
  padding: 0.7rem;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 22px 58px rgba(36, 28, 44, 0.14);
  backdrop-filter: blur(16px);
  position: relative;
  z-index: 3;
}

.project-hero-summary div {
  padding: 0.85rem;
  border-radius: 0.45rem;
  background: rgba(255, 248, 241, 0.78);
}

.project-hero-summary span {
  display: block;
  color: var(--color-acica-rust);
  font-weight: 800;
  margin-bottom: 0.25rem;
}

.project-hero-summary p {
  color: var(--slate-600);
  font-size: 0.88rem;
  line-height: 1.42;
}

.project-ethics-card,
.project-ethics-note {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(255, 240, 234, 0.9));
  border: 1px solid rgba(185, 108, 75, 0.2);
  border-radius: 0.5rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  box-shadow: 0 30px 80px rgba(36, 28, 44, 0.12);
  position: relative;
  overflow: hidden;
}

.project-ethics-card::after {
  content: "";
  position: absolute;
  right: -3rem;
  bottom: -3rem;
  width: 13rem;
  height: 13rem;
  border: 1px solid rgba(185, 108, 75, 0.18);
  border-radius: 50%;
}

.project-ethics-card h2,
.project-institutional h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.45rem, 5vw, 4.35rem);
  font-weight: 600;
  line-height: 0.98;
  color: var(--slate-900);
  letter-spacing: 0;
  margin-bottom: 1rem;
}

.project-ethics-card > p,
.project-ethics-note p,
.project-institutional p {
  color: var(--slate-700);
  font-size: 1.03rem;
  line-height: 1.78;
  max-width: 42rem;
}

.project-ethics-card__grid {
  display: grid;
  gap: 0.8rem;
  margin-top: 1.4rem;
  position: relative;
  z-index: 1;
}

@media (min-width: 720px) {
  .project-ethics-card__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.project-ethics-card__grid div {
  border-top: 1px solid rgba(185, 108, 75, 0.22);
  padding-top: 0.8rem;
}

.project-ethics-card__grid span,
.project-privacy-note span {
  display: block;
  color: var(--color-acica-rust);
  font-weight: 800;
  margin-bottom: 0.25rem;
}

.project-ethics-card__grid p,
.project-privacy-note p {
  color: var(--slate-600);
  font-size: 0.92rem;
  line-height: 1.55;
}

.project-privacy-note {
  width: min(28rem, calc(100% - 2rem));
  justify-self: end;
  margin-top: -1.3rem;
  margin-right: clamp(0rem, 4vw, 2rem);
  background: var(--color-acica-ink);
  border-radius: 0.5rem;
  padding: 1.15rem;
  box-shadow: 0 20px 50px rgba(36, 28, 44, 0.18);
}

.project-privacy-note span {
  color: var(--amber-200);
}

.project-privacy-note p {
  color: rgba(255, 255, 255, 0.84);
}

.project-ethics-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: start;
  padding: 1rem;
  box-shadow: 0 14px 36px rgba(36, 28, 44, 0.07);
}

.project-ethics-note span {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
  border-radius: 999px;
  background: var(--color-acica-rust);
  color: #fff;
  padding: 0.35rem 0.75rem;
  font-size: 0.78rem;
  font-weight: 800;
}

.program-intro-band {
  padding: clamp(4rem, 8vw, 7rem) 0;
  background:
    linear-gradient(180deg, #fff 0%, var(--color-acica-linen) 100%);
}

.program-intro {
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

@media (min-width: 940px) {
  .program-intro {
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  }
}

.program-intro__label {
  color: var(--color-acica-rust);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
  margin-bottom: 0.9rem;
}

.program-intro h2,
.program-section__header h2,
.program-closing h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.45rem, 5vw, 4.35rem);
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: 0;
  color: var(--slate-900);
}

.program-intro__copy {
  display: grid;
  gap: 1.1rem;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(185, 108, 75, 0.14);
  border-radius: 0.5rem;
  padding: clamp(1.2rem, 3vw, 1.8rem);
  box-shadow: 0 20px 55px rgba(36, 28, 44, 0.06);
  color: var(--slate-700);
  font-size: 1.04rem;
  line-height: 1.82;
}

.program-list {
  display: grid;
  gap: 1rem;
}

.program-list li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.85rem;
  align-items: start;
  color: var(--slate-700);
  line-height: 1.72;
}

.program-list li::before {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background: var(--color-acica-rust);
  margin-top: 0.72rem;
}

.program-section {
  padding: clamp(4rem, 8vw, 7rem) 0;
}

.program-section--white {
  background: #fff;
}

.program-section--sage {
  background:
    linear-gradient(180deg, #fff4ee 0%, var(--color-acica-linen) 100%);
}

.program-section__header {
  max-width: 58rem;
  margin-bottom: clamp(2rem, 4vw, 3.4rem);
}

.program-section__header p {
  color: var(--slate-700);
  font-size: 1.06rem;
  line-height: 1.78;
  margin-top: 1rem;
}

.program-grid {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 820px) {
  .program-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1180px) {
  .program-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.program-card {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 248, 241, 0.86));
  border: 1px solid rgba(185, 108, 75, 0.18);
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 20px 55px rgba(36, 28, 44, 0.08);
  min-width: 0;
}

.program-card__media {
  aspect-ratio: 16 / 10;
  background: var(--amber-100);
  overflow: hidden;
}

.program-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.program-card__body {
  padding: clamp(1.25rem, 3vw, 1.8rem);
}

.program-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-bottom: 1rem;
}

.program-card__meta span {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  border-radius: 999px;
  background: var(--color-acica-blush);
  color: var(--color-acica-rust);
  padding: 0.35rem 0.75rem;
  font-size: 0.78rem;
  font-weight: 800;
}

.program-card h3 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.95rem, 3.1vw, 2.6rem);
  line-height: 1;
  font-weight: 600;
  color: var(--slate-900);
  letter-spacing: 0;
  margin-bottom: 0.9rem;
}

.program-card p {
  color: var(--slate-700);
  line-height: 1.76;
  font-size: 0.98rem;
}

.program-card p + p,
.program-card ul + p,
.program-card p + ul {
  margin-top: 0.85rem;
}

.program-card ul {
  display: grid;
  gap: 0.35rem;
  color: var(--slate-700);
  line-height: 1.7;
}

.testimonial-grid {
  display: grid;
  gap: 1rem;
}

@media (min-width: 720px) {
  .testimonial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1180px) {
  .testimonial-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.testimonial-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(231, 169, 116, 0.2);
  border-radius: 0.5rem;
  padding: clamp(1.15rem, 2.5vw, 1.45rem);
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.07);
}

.testimonial-card p {
  color: var(--slate-700);
  line-height: 1.72;
  font-size: 0.94rem;
}

.testimonial-card__author {
  margin-top: auto;
  padding-top: 1.15rem;
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.testimonial-card__author picture {
  flex-shrink: 0;
  line-height: 0;
}

.testimonial-card__author img {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  object-fit: cover;
}

.testimonial-card cite {
  color: var(--amber-700);
  font-weight: 800;
  font-size: 0.9rem;
  font-style: normal;
}

.program-closing {
  padding: clamp(4rem, 8vw, 7rem) 0;
  background:
    radial-gradient(circle at 88% 12%, rgba(216, 140, 59, 0.28), transparent 20rem),
    linear-gradient(135deg, var(--color-acica-ink) 0%, #3a2632 58%, var(--color-acica-rust) 100%);
  color: #fff;
}

.program-closing h2 {
  color: #fff;
}

.program-closing p {
  color: rgba(255, 255, 255, 0.84);
  font-size: 1.08rem;
  line-height: 1.8;
  max-width: 46rem;
  margin: 1rem 0 1.9rem;
}

.project-impact-strip {
  display: grid;
  gap: 0.85rem;
  margin-top: 0.8rem;
  counter-reset: project-impact;
}

@media (min-width: 760px) {
  .project-impact-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.project-impact-item {
  background:
    linear-gradient(135deg, rgba(255, 240, 234, 0.96), rgba(255, 250, 244, 0.96));
  border: 1px solid rgba(185, 108, 75, 0.16);
  border-radius: 0.5rem;
  padding: 1.05rem;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
  position: relative;
  overflow: hidden;
}

.project-impact-item::after {
  counter-increment: project-impact;
  content: "0" counter(project-impact);
  position: absolute;
  right: 0.8rem;
  top: 0.6rem;
  font-family: "Cormorant Garamond", serif;
  font-size: 3.4rem;
  line-height: 1;
  color: rgba(185, 108, 75, 0.1);
}

.project-impact-item span {
  display: block;
  color: var(--color-acica-rust);
  font-family: "Cormorant Garamond", serif;
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0.45rem;
}

.project-impact-item p {
  color: var(--slate-600);
  font-size: 0.92rem;
  line-height: 1.62;
}

.projects-method-card {
  min-height: 100%;
  position: relative;
  overflow: hidden;
}

.projects-method-card::before {
  content: "";
  display: block;
  height: 0.35rem;
  background: linear-gradient(90deg, var(--color-acica-rust), var(--amber-400));
}

.project-method-number {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(3.2rem, 6vw, 5rem);
  line-height: 0.85;
  color: rgba(185, 108, 75, 0.16);
  margin-bottom: 0.2rem;
}

.project-collab-layout {
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

@media (min-width: 1040px) {
  .project-collab-layout {
    grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr);
  }
}

.project-collab-intro h2,
.project-support h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.45rem, 5vw, 4.35rem);
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: 0;
}

.project-collab-intro h2 {
  color: var(--slate-900);
  margin-bottom: 1rem;
}

.project-collab-intro p {
  color: var(--slate-700);
  font-size: 1.06rem;
  line-height: 1.8;
  max-width: 36rem;
}

.project-collab-grid {
  display: grid;
  gap: 1rem;
}

.project-collab-card {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 248, 241, 0.92));
  border: 1px solid rgba(185, 108, 75, 0.2);
  border-radius: 0.5rem;
  padding: clamp(1.2rem, 3vw, 1.65rem);
  box-shadow: 0 20px 50px rgba(36, 28, 44, 0.08);
  position: relative;
  overflow: hidden;
}

.project-collab-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0.35rem;
  background: linear-gradient(90deg, var(--color-acica-rust), var(--amber-400));
}

.project-collab-card::after {
  content: "";
  position: absolute;
  right: -4.2rem;
  bottom: -4.2rem;
  width: 10rem;
  height: 10rem;
  border: 1px solid rgba(185, 108, 75, 0.13);
  border-radius: 50%;
}

.project-collab-card span {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  border-radius: 999px;
  background: var(--color-acica-blush);
  color: var(--color-acica-rust);
  padding: 0.35rem 0.75rem;
  font-size: 0.78rem;
  font-weight: 800;
  margin-bottom: 0.85rem;
}

.project-collab-card h3 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.9rem, 3vw, 2.45rem);
  line-height: 1;
  font-weight: 600;
  color: var(--slate-900);
  margin-bottom: 0.75rem;
}

.project-collab-card p {
  color: var(--slate-700);
  font-size: 0.98rem;
  line-height: 1.72;
}

.project-collab-card a {
  display: inline-flex;
  margin-top: 1rem;
  color: var(--amber-700);
  font-weight: 800;
  border-bottom: 1px solid rgba(216, 140, 59, 0.35);
}

.project-institutional {
  background:
    linear-gradient(180deg, var(--color-acica-linen) 0%, #fff 100%);
}

.project-institutional__inner {
  max-width: 58rem;
  border: 1px solid rgba(185, 108, 75, 0.18);
  border-top: 0.35rem solid var(--color-acica-rust);
  border-radius: 0.5rem;
  padding: clamp(1.4rem, 4vw, 2.2rem);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 18px 50px rgba(36, 28, 44, 0.06);
}

.project-support {
  padding: clamp(4rem, 8vw, 7rem) 0;
  background:
    radial-gradient(circle at 14% 0%, rgba(216, 140, 59, 0.34), transparent 24rem),
    linear-gradient(135deg, var(--color-acica-ink) 0%, #3a2632 54%, var(--color-acica-rust) 100%);
  color: #fff;
}

.project-support__inner {
  display: grid;
  gap: clamp(1.75rem, 4vw, 3rem);
  align-items: center;
}

@media (min-width: 900px) {
  .project-support__inner {
    grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
  }
}

.project-support .program-intro__label {
  color: var(--amber-200);
}

.project-support h2 {
  color: #fff;
  max-width: 52rem;
}

.project-support p {
  color: rgba(255, 255, 255, 0.84);
  font-size: 1.08rem;
  line-height: 1.8;
  max-width: 38rem;
  margin-bottom: 1.8rem;
}

.contact-page,
.apply-page {
  background:
    radial-gradient(circle at 12% 8%, rgba(231, 169, 116, 0.28), transparent 24rem),
    radial-gradient(circle at 88% 18%, rgba(255, 240, 234, 0.95), transparent 26rem),
    linear-gradient(180deg, #fffaf4 0%, #fff 42%, #fff2ec 100%);
}

.contact-page .about-hero__image,
.apply-page .about-hero__image {
  min-height: clamp(27rem, 46vw, 39rem);
}

.contact-method-grid {
  display: grid;
  gap: 1rem;
}

@media (min-width: 760px) {
  .contact-method-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.contact-method-card {
  min-width: 0;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 248, 241, 0.9));
  border: 1px solid rgba(185, 108, 75, 0.18);
  border-radius: 0.5rem;
  padding: clamp(1.15rem, 2.7vw, 1.65rem);
  box-shadow: 0 20px 50px rgba(36, 28, 44, 0.08);
}

.contact-method-card span {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  border-radius: 999px;
  background: var(--color-acica-blush);
  color: var(--color-acica-rust);
  padding: 0.35rem 0.75rem;
  font-size: 0.78rem;
  font-weight: 800;
  margin-bottom: 1rem;
}

.contact-method-card h3 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.7rem, 2.6vw, 2.35rem);
  line-height: 1;
  font-weight: 600;
  color: var(--slate-900);
  letter-spacing: 0;
  overflow-wrap: anywhere;
  margin-bottom: 0.75rem;
}

.contact-method-card p {
  color: var(--slate-700);
  font-size: 0.96rem;
  line-height: 1.72;
  margin-bottom: 1.2rem;
}

.contact-method-card a {
  margin-top: auto;
  width: fit-content;
  color: var(--amber-700);
  font-weight: 800;
  border-bottom: 1px solid rgba(216, 140, 59, 0.36);
}

.contact-split {
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

@media (min-width: 960px) {
  .contact-split {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  }
}

.contact-split__intro h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.35rem, 5vw, 4.35rem);
  line-height: 0.98;
  font-weight: 600;
  color: var(--slate-900);
  letter-spacing: 0;
}

.contact-topic-list {
  display: grid;
  gap: 1px;
  border: 1px solid rgba(185, 108, 75, 0.2);
  border-radius: 0.5rem;
  overflow: hidden;
  background: rgba(185, 108, 75, 0.2);
  box-shadow: 0 20px 55px rgba(36, 28, 44, 0.08);
}

.contact-topic-list div {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: start;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 248, 241, 0.92));
  padding: clamp(1rem, 2.5vw, 1.35rem);
}

.contact-topic-list span,
.apply-side span {
  color: var(--color-acica-rust);
  font-family: "Cormorant Garamond", serif;
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1;
}

.contact-topic-list p {
  color: var(--slate-700);
  line-height: 1.68;
}

.contact-location {
  padding: clamp(4rem, 8vw, 7rem) 0;
  background:
    radial-gradient(circle at 18% 0%, rgba(216, 140, 59, 0.3), transparent 22rem),
    linear-gradient(135deg, var(--color-acica-ink) 0%, #3a2632 58%, var(--color-acica-rust) 100%);
  color: #fff;
}

.contact-location__inner {
  display: grid;
  gap: 1.75rem;
  align-items: center;
}

@media (min-width: 840px) {
  .contact-location__inner {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

.contact-location .program-intro__label {
  color: var(--amber-200);
}

.contact-location h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.1rem, 4.6vw, 4rem);
  line-height: 0.98;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0;
  margin-bottom: 0.8rem;
}

.contact-location p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.08rem;
}

.apply-layout {
  display: grid;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}

#apply-form {
  scroll-margin-top: 5.5rem;
}

@media (min-width: 980px) {
  .apply-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
  }
}

.apply-panel {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 248, 241, 0.95));
  border: 1px solid rgba(185, 108, 75, 0.18);
  border-radius: 0.75rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  box-shadow: 0 24px 70px rgba(36, 28, 44, 0.1);
  position: relative;
  overflow: hidden;
}

.apply-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--color-acica-rust), var(--color-amber-400), var(--color-acica-rose));
}

.apply-panel h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.25rem, 4.8vw, 4rem);
  line-height: 0.98;
  font-weight: 600;
  color: var(--slate-900);
  letter-spacing: 0;
  margin-bottom: 1.4rem;
}

.apply-form {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 720px) {
  .apply-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.apply-field {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-width: 0;
  position: relative;
}

.apply-field--full {
  grid-column: 1 / -1;
}

.apply-field label {
  color: var(--slate-700);
  font-size: 0.88rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.apply-field label::after {
  content: " *";
  color: var(--color-acica-rose);
  font-weight: bold;
}

.apply-field.no-require label::after {
  content: "";
}

.input-container {
  position: relative;
  width: 100%;
}

.input-container svg {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.15rem;
  height: 1.15rem;
  color: var(--color-slate-400);
  pointer-events: none;
  transition: color 0.2s ease;
}

.apply-field input,
.apply-field select,
.apply-field textarea {
  width: 100%;
  border: 1px solid rgba(185, 108, 75, 0.24);
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.96);
  color: var(--slate-900);
  font: inherit;
  font-size: 1rem;
  padding: 0.85rem 1rem;
  min-height: 48px;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.input-container input,
.input-container select {
  padding-left: 2.75rem;
}

.apply-field textarea {
  resize: vertical;
  min-height: 9rem;
  padding-top: 1rem;
}

.apply-field input:focus,
.apply-field select:focus,
.apply-field textarea:focus {
  outline: none;
  border-color: var(--color-amber-500);
  box-shadow: 0 0 0 4px rgba(216, 140, 59, 0.15);
}

.apply-field input:focus + svg,
.input-container select:focus + svg {
  color: var(--color-amber-500);
}

.select-wrapper {
  position: relative;
  width: 100%;
}

.select-wrapper select {
  appearance: none;
  padding-right: 2.5rem;
}

.select-wrapper::after {
  content: "";
  position: absolute;
  right: 1.1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.6rem;
  height: 0.6rem;
  border-right: 2px solid var(--color-slate-600);
  border-bottom: 2px solid var(--color-slate-600);
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
  transition: border-color 0.2s ease;
}

.select-wrapper:focus-within::after {
  border-color: var(--color-amber-500);
}

.apply-field.has-error input,
.apply-field.has-error select,
.apply-field.has-error textarea {
  border-color: #ef4444;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.15);
}

.apply-field.has-error svg {
  color: #ef4444 !important;
}

.error-msg {
  color: #ef4444;
  font-size: 0.78rem;
  font-weight: 600;
  margin-top: 0.15rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  opacity: 0;
  transform: translateY(-5px);
  height: 0;
  overflow: hidden;
  transition: all 0.25s ease;
}

.apply-field.has-error .error-msg {
  opacity: 1;
  transform: translateY(0);
  height: auto;
  margin-top: 0.25rem;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-6px); }
  40%, 80% { transform: translateX(6px); }
}

.shake {
  animation: shake 0.4s ease-in-out;
}

.apply-form .about-button {
  width: fit-content;
  border: 0;
  margin-top: 0.5rem;
  cursor: pointer;
}

.message-preview-card {
  background: #fffdf9;
  border: 1px solid rgba(154, 86, 52, 0.2);
  border-radius: 0.75rem;
  padding: 1.5rem;
  box-shadow: 0 15px 40px rgba(36, 28, 44, 0.06);
  position: relative;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

.message-preview-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background-image: repeating-linear-gradient(
    -45deg,
    #b76b61,
    #b76b61 10px,
    #fffdf9 10px,
    #fffdf9 20px,
    #9a5634 20px,
    #9a5634 30px,
    #fffdf9 30px,
    #fffdf9 40px
  );
}

.preview-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px dashed rgba(185, 108, 75, 0.25);
  padding-bottom: 0.75rem;
  margin-bottom: 1rem;
}

.preview-title {
  font-family: 'Dancing Script', cursive;
  font-size: 1.5rem;
  color: var(--color-acica-rust);
  font-weight: 700;
}

.preview-stamp {
  width: 40px;
  height: 50px;
  border: 2px dashed rgba(154, 86, 52, 0.3);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.55rem;
  text-transform: uppercase;
  color: rgba(154, 86, 52, 0.4);
  font-weight: 800;
  transform: rotate(5deg);
  background: rgba(255, 248, 241, 0.5);
  user-select: none;
}

.preview-body {
  font-family: monospace;
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--slate-700);
  white-space: pre-wrap;
  min-height: 180px;
}

.context-info-card {
  background: #ffffff;
  border: 1px solid rgba(185, 108, 75, 0.16);
  border-radius: 0.75rem;
  box-shadow: 0 15px 40px rgba(36, 28, 44, 0.05);
  margin-bottom: 1.5rem;
  overflow: hidden;
  display: none;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.context-info-card.active {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

.context-card-media {
  height: 140px;
  position: relative;
}

.context-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.context-card-media__overlay {
  position: absolute;
  bottom: 0.75rem;
  left: 0.75rem;
  background: rgba(36, 28, 44, 0.75);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.context-card-body {
  padding: 1.15rem;
}

.context-card-body h4 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--slate-900);
  margin-bottom: 0.45rem;
}

.context-card-body p {
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--slate-600);
  margin-bottom: 0.75rem;
}

.context-card-bullets {
  display: grid;
  gap: 0.35rem;
  font-size: 0.85rem;
  color: var(--slate-700);
  padding: 0;
  margin: 0;
  list-style: none;
}

.context-card-bullets li {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
}

.context-card-bullets li::before {
  content: "✦";
  color: var(--color-acica-rust);
  font-size: 0.75rem;
  margin-top: 0.15rem;
}

.apply-steps {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  border: 1px solid rgba(185, 108, 75, 0.18);
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 15px 40px rgba(36, 28, 44, 0.06);
  background: var(--color-white);
  padding: 1.25rem 1.25rem 0.5rem;
}

.apply-steps-header {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--slate-900);
  border-bottom: 1px solid rgba(185, 108, 75, 0.12);
  padding-bottom: 0.6rem;
  margin-bottom: 0.8rem;
}

.apply-step-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  position: relative;
  padding-bottom: 1.25rem;
}

.apply-step-item:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 1.15rem;
  top: 2.3rem;
  bottom: 0;
  width: 2px;
  background-image: linear-gradient(to bottom, var(--color-acica-rust) 50%, rgba(185, 108, 75, 0) 50%);
  background-size: 2px 8px;
  background-repeat: repeat-y;
}

.apply-step-number {
  width: 2.3rem;
  height: 2.3rem;
  background: var(--color-acica-blush);
  border: 2px solid var(--color-acica-rust);
  border-radius: 50%;
  color: var(--color-acica-rust);
  font-family: "Cormorant Garamond", serif;
  font-size: 1.15rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.apply-step-text h3 {
  color: var(--slate-900);
  font-size: 0.98rem;
  line-height: 1.2;
  margin: 0.15rem 0 0.35rem;
  font-weight: 700;
}

.apply-step-text p {
  color: var(--slate-600);
  font-size: 0.88rem;
  line-height: 1.5;
  margin: 0;
}

.apply-dialog {
  border: 0;
  border-radius: 0.85rem;
  padding: 2rem;
  width: 90%;
  max-width: 540px;
  background: #ffffff;
  box-shadow: 0 30px 90px rgba(36, 28, 44, 0.25);
  box-sizing: border-box;
  overflow: visible;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
}

.apply-dialog::backdrop {
  background: rgba(36, 28, 44, 0.45);
  backdrop-filter: blur(10px);
  transition: opacity 0.3s ease;
}

.apply-dialog[open] {
  animation: modalScaleUp 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

@keyframes modalScaleUp {
  from {
    transform: translate(-50%, -45%) scale(0.95);
    opacity: 0;
  }
  to {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
}

.dialog-close-btn {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 0;
  background: var(--color-slate-100);
  color: var(--color-slate-600);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.dialog-close-btn:hover {
  background: var(--color-acica-blush);
  color: var(--color-acica-rust);
  transform: rotate(90deg);
}

.dialog-close-btn svg {
  width: 1.15rem;
  height: 1.15rem;
}

.dialog-header {
  text-align: center;
  margin-bottom: 1.5rem;
}

.dialog-icon {
  width: 4rem;
  height: 4rem;
  background: #ecfdf5;
  color: #10b981;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.75rem;
}

.dialog-icon svg {
  width: 2.25rem;
  height: 2.25rem;
}

.dialog-header h3 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.85rem;
  font-weight: 700;
  color: var(--slate-900);
  margin-bottom: 0.35rem;
}

.dialog-header p {
  color: var(--slate-600);
  font-size: 0.92rem;
  line-height: 1.5;
  margin: 0;
}

.dialog-preview-box {
  background: var(--color-slate-50);
  border: 1px solid var(--color-slate-200);
  border-radius: 0.5rem;
  padding: 1rem;
  margin-bottom: 1.5rem;
  position: relative;
}

.dialog-preview-box h4 {
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--color-slate-400);
  margin-bottom: 0.5rem;
  letter-spacing: 0.05em;
}

.dialog-preview-text {
  font-family: monospace;
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--slate-800);
  max-height: 120px;
  overflow-y: auto;
  white-space: pre-wrap;
  border: 0;
  padding: 0;
  margin: 0;
}

.dialog-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.dialog-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  min-height: 3rem;
  border-radius: 0.5rem;
  font-size: 0.98rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 0;
}

.dialog-btn--whatsapp {
  background: #25D366;
  color: #ffffff;
}

.dialog-btn--whatsapp:hover {
  background: #1fba58;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.25);
}

.dialog-btn--email {
  background: var(--color-amber-500);
  color: #ffffff;
}

.dialog-btn--email:hover {
  background: var(--color-amber-600);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(216, 140, 59, 0.25);
}

.dialog-btn--copy {
  background: #ffffff;
  border: 1px solid var(--color-slate-200);
  color: var(--slate-700);
}

.dialog-btn--copy:hover {
  background: var(--color-slate-50);
  border-color: var(--color-slate-300);
}

.dialog-btn svg {
  width: 1.25rem;
  height: 1.25rem;
}

.toast-msg {
  position: fixed;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%) translateY(100px);
  background: var(--color-acica-ink);
  color: #ffffff;
  padding: 0.75rem 1.5rem;
  border-radius: 2rem;
  font-size: 0.9rem;
  font-weight: 600;
  box-shadow: 0 8px 30px rgba(0,0,0,0.2);
  z-index: 9999;
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.toast-msg.show {
  transform: translateX(-50%) translateY(0);
}

.about-closing {
  padding: clamp(4rem, 8vw, 7rem) 0;
  background:
    radial-gradient(circle at 86% 8%, rgba(216, 140, 59, 0.28), transparent 22rem),
    linear-gradient(135deg, var(--color-acica-ink) 0%, #3a2632 58%, var(--color-acica-rust) 100%);
  color: #fff;
}

.about-closing__inner {
  max-width: 58rem;
}

.about-closing__inner h2 {
  color: #fff;
}

.about-closing__inner p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.1rem;
  line-height: 1.8;
  max-width: 44rem;
  margin-bottom: 1.8rem;
}

@media (max-width: 719px) {
  .about-hero {
    padding-top: 6.4rem;
  }

  .about-hero__visual {
    order: -1;
  }

  .projects-page .about-hero__visual {
    order: initial;
  }

  .project-hero-panel {
    min-height: auto;
  }

  .project-hero-photo,
  .project-hero-photo img {
    min-height: 27rem;
  }

  .project-hero-photo img {
    object-position: 50% 42%;
  }

  .project-hero-summary {
    width: calc(100% - 1rem);
    grid-template-columns: 1fr;
    margin-top: 0.75rem;
  }

  .project-hero-photo figcaption {
    bottom: 1rem;
  }

  .project-ethics-note {
    grid-template-columns: 1fr;
  }

  .about-hero__image {
    min-height: 23rem;
  }

  .about-hero__quote {
    position: relative;
    left: auto;
    bottom: auto;
    width: calc(100% - 1.25rem);
    margin: 1.25rem auto 0;
  }

  .about-hero__actions {
    align-items: stretch;
  }

  .about-button {
    width: 100%;
  }

  .program-page .about-hero__content h1 {
    overflow-wrap: anywhere;
  }

  .about-value {
    grid-template-columns: 1fr;
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(216, 140, 59, 0.32);
  }

  .about-value span {
    grid-row: auto;
  }

  .team-card--featured .team-card__media {
    min-height: 19rem;
  }

  .team-card__body {
    padding: 1.15rem;
  }

  .footer-bottom__links {
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media (max-width: 639px) {
  .team-card--featured .team-card__media {
    aspect-ratio: 6 / 7;
    width: min(100%, 300px);
    margin-inline: auto;
    min-height: 0;
  }
}

#transformation,
#about-arya,
#himalayan-yoga,
#school-offerings,
#target-audience,
#results,
#faq,
#spanish-reviews,
#endorsement {
  display: none;
}

.section-photo--portrait {
  width: min(100%, 28rem);
  margin-inline: auto;
}

.section-photo--portrait img {
  aspect-ratio: 3 / 4;
  min-height: 27rem;
}

.retreats-india-photo.section-photo--portrait img {
  object-position: 50% 50%;
}

.retreats-spain-photo.section-photo--portrait img {
  object-position: 50% 45%;
}

.workshops-photo.section-photo--portrait img {
  object-position: 50% 44%;
}

.retreats-india-photo.section-photo--portrait,
.retreats-spain-photo.section-photo--portrait,
.workshops-photo.section-photo--portrait {
  box-shadow: 0 28px 70px rgba(36, 28, 44, 0.18);
}

.about-hero__image--portrait {
  min-height: 0;
  aspect-ratio: 3 / 4;
  max-height: 44rem;
}

.about-hero__image--portrait img {
  min-height: 0;
  height: 100%;
  object-position: 50% 44%;
}

.program-card__media--portrait {
  aspect-ratio: 3 / 4;
}

.program-card__media--portrait img {
  object-position: 50% 44%;
}

@media (max-width: 899px) {
  #retreats-india,
  #retreats-spain,
  #workshops {
    padding-top: 4rem;
    padding-bottom: 4.75rem;
  }

  .retreats-india-editorial,
  .retreats-spain-editorial,
  .workshops-editorial {
    align-items: start;
  }

  .retreats-india-copy,
  .retreats-spain-copy,
  .workshops-copy {
    width: min(calc(100% - 1rem), 31rem);
    padding: 1.45rem;
  }

  .retreats-india-copy p,
  .retreats-spain-copy p,
  .workshops-copy p {
    font-size: 0.98rem;
    line-height: 1.72;
  }

  .section-photo--portrait {
    width: min(100%, 25rem);
  }

  .section-photo--portrait img {
    min-height: 0;
    max-height: 34rem;
  }

  .about-hero__image--portrait {
    aspect-ratio: 4 / 5;
    min-height: 0;
    max-height: none;
  }
}

@media (min-width: 900px) {
  .section-photo--portrait {
    width: 100%;
  }

  .section-photo--portrait img {
    aspect-ratio: 4 / 5;
    min-height: 39rem;
    max-height: 46rem;
  }

  .workshops-photo.section-photo--portrait img {
    min-height: 40rem;
  }
}

@media (max-width: 899px) {
  .mission-photo-panel {
    width: 100%;
    max-width: 28rem;
    margin-inline: auto;
  }

  .mission-photo-panel img {
    aspect-ratio: 3 / 4;
    height: auto;
    object-fit: cover;
    object-position: 50% 40%;
    max-height: 34rem;
  }
}

@media (max-width: 899px) {
  .retreats-india-editorial,
  .retreats-spain-editorial,
  .workshops-editorial {
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-template-columns: none;
    min-height: 0;
  }

  .retreats-india-photo.section-photo--portrait,
  .retreats-spain-photo.section-photo--portrait,
  .workshops-photo.section-photo--portrait {
    order: 1;
    width: 100%;
    max-width: 28rem;
    margin-inline: auto;
  }

  .retreats-india-photo::after,
  .retreats-spain-photo::after,
  .workshops-photo::after { display: none; }

  .retreats-india-copy,
  .retreats-spain-copy,
  .workshops-copy {
    order: 2;
    width: 100%;
    max-width: 30rem;
    margin: 1.6rem auto 0;
    padding: 0;
    background: none;
    border: none;
    box-shadow: none;
    backdrop-filter: none;
    transform: none;
  }
}

.legal-content { padding: 3rem 0 5rem; background: #fff; }
.legal-doc { color: var(--slate-700); max-width: 48rem; margin-inline: auto; line-height: 1.7; }
.legal-doc h2 { margin: 2.25rem 0 .5rem; color: var(--slate-900); font-size: 1.25rem; }
.legal-doc p { margin: 0 0 1rem; }
.legal-doc ul { margin: .25rem 0 1.25rem 1.25rem; }
.legal-doc li { margin-bottom: .4rem; }
.legal-doc a { text-decoration: underline; }

.form-banner {
  border-radius: 0.5rem;
  padding: 0.85rem 1.1rem;
  margin-bottom: 1.25rem;
  font-size: 0.95rem;
  line-height: 1.45;
}
.form-banner--ok  { background: #e8f5ec; color: #1b5e34; border: 1px solid #b7dcc2; }
.form-banner--err { background: #fdecea; color: #8a1c12; border: 1px solid #f3c3bd; }

.hp-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
