:root {
  --clr-bg: #050505;
  --clr-surface: #0d0d0d;
  --clr-surface-2: #141414;
  --clr-white: #f5f0ec;
  --clr-white-dim: rgba(245, 240, 236, 0.68);
  --clr-accent: #d4a87c;
  --clr-accent-2: #c79164;
  --clr-accent-glow: rgba(212, 168, 124, 0.25);
  --clr-glass: rgba(255, 255, 255, 0.05);
  --clr-glass-b: rgba(255, 255, 255, 0.1);
  --clr-overlay-rgb: 5, 5, 5;
  --clr-shadow-rgb: 0, 0, 0;
  --clr-glass-rgb: 255, 255, 255;
  --ff-display: 'Cormorant Garamond', Georgia, serif;
  --ff-sans: 'Outfit', 'Helvetica Neue', sans-serif;
  --ease: cubic-bezier(.16, 1, .3, 1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{background:var(--clr-bg);color:var(--clr-white);font-family:var(--ff-sans);overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}

/* ── Container ── */
.container{width:90%;max-width:1200px;margin:0 auto}

/* ══════════ HERO SCROLL CINEMATIC ══════════ */
.hero-scroll-world {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background: var(--clr-bg);
  z-index: 1;
}
.hero-sticky-container {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-media-box {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
  background: var(--clr-bg);
}
.hero-bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1);
  will-change: transform;
  filter: brightness(0.92) contrast(1.05);
}
.hero-media-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  background:
    radial-gradient(ellipse 70% 60% at 50% 50%, rgba(5, 5, 5, 0.45) 0%, rgba(5, 5, 5, 0.15) 55%, transparent 100%),
    linear-gradient(to bottom, rgba(5, 5, 5, 0.7) 0%, transparent 20%, transparent 70%, rgba(5, 5, 5, 0.98) 100%),
    linear-gradient(to right, rgba(5, 5, 5, 0.35) 0%, transparent 20%, transparent 80%, rgba(5, 5, 5, 0.35) 100%);
}
.hero-stage {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(20px, 4vw, 40px);
  will-change: transform, opacity;
  pointer-events: none;
}
.hero-stage__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  margin: 0 auto;
}
.hero-stage--intro {
  pointer-events: all;
}
.hero-stage--intro .hero-stage__content {
  max-width: 960px;
}
.hero-stage--mid {
  opacity: 0;
  pointer-events: none;
}
.hero-stage--mid .hero-stage__content {
  max-width: 860px;
}
.hero-stage--mid.is-active {
  pointer-events: all;
}
.hero-badges-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.hero-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 1.1rem;
  border-radius: 100px;
  background: rgba(18, 18, 18, 0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(212, 168, 124, 0.3);
  color: var(--clr-accent);
  font-size: 0.76rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 400;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}
.hero-badge-pill svg {
  color: var(--clr-accent);
  flex-shrink: 0;
}
.hero__title {
  font-family: var(--ff-display);
  font-weight: 300;
  font-size: clamp(3.2rem, 8.5vw, 6.8rem);
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--clr-white);
  margin-bottom: 0.5rem;
}
.hero__title em {
  font-style: italic;
  font-weight: 300;
  color: var(--clr-accent);
}
.hero__title-by {
  font-style: italic;
  font-weight: 300;
  color: var(--clr-white-dim);
  font-size: 0.6em;
  margin: 0 0.25em;
}
.hero__sub-title {
  font-family: var(--ff-sans);
  font-size: clamp(0.78rem, 1.4vw, 0.95rem);
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--clr-accent);
  margin-bottom: 1rem;
  font-weight: 300;
}
.hero__lead-text {
  font-size: clamp(0.95rem, 1.8vw, 1.15rem);
  line-height: 1.7;
  color: var(--clr-white-dim);
  font-weight: 300;
  max-width: 620px;
  margin: 0 auto 1.8rem;
}
.hero__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.btn-booksy {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 2.2rem;
  border-radius: 100px;
  background: linear-gradient(135deg, #d4a87c 0%, #b88554 100%);
  color: #050505 !important;
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: 0 10px 30px rgba(212, 168, 124, 0.3);
  transition: all 0.35s var(--ease);
}
.btn-booksy:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 38px rgba(212, 168, 124, 0.45);
  filter: brightness(1.05);
}
.btn-hero-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.95rem 2rem;
  border-radius: 100px;
  border: 1px solid var(--clr-glass-b);
  background: rgba(18, 18, 18, 0.65);
  color: var(--clr-white);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: all 0.35s var(--ease);
}
.btn-hero-secondary:hover {
  border-color: var(--clr-accent);
  background: rgba(212, 168, 124, 0.15);
  color: var(--clr-accent);
  transform: translateY(-2px);
}
.hero-mid-eyebrow {
  font-family: var(--ff-sans);
  font-weight: 300;
  font-size: clamp(0.72rem, 1.2vw, 0.88rem);
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--clr-accent);
  margin-bottom: 0.85rem;
}
.hero-mid-title {
  font-family: var(--ff-display);
  font-weight: 300;
  font-size: clamp(2.4rem, 5.5vw, 4.4rem);
  line-height: 1.12;
  color: var(--clr-white);
  max-width: 800px;
}
.hero-mid-title em {
  font-style: italic;
  color: var(--clr-accent);
}
.hero-mid-sub {
  font-family: var(--ff-sans);
  font-weight: 300;
  font-size: clamp(0.9rem, 1.6vw, 1.1rem);
  color: var(--clr-white-dim);
  max-width: 600px;
  margin: 1.25rem auto 0;
  line-height: 1.7;
}
.hero-mid-pills {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}
.hero-mid-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 1.3rem;
  border-radius: 100px;
  background: rgba(20, 20, 20, 0.7);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(212, 168, 124, 0.25);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}
.hero-mid-pill strong {
  font-family: var(--ff-display);
  color: var(--clr-accent);
  font-size: 1.15rem;
  font-weight: 500;
}
.hero-mid-pill span {
  font-size: 0.75rem;
  color: var(--clr-white);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.hero-mid-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 2rem;
  padding: 0.9rem 2.2rem;
  border-radius: 100px;
  background: linear-gradient(135deg, #d4a87c 0%, #b88554 100%);
  color: #050505;
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: 0 10px 30px rgba(212, 168, 124, 0.35);
  transition: all 0.35s var(--ease);
}
.hero-mid-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 38px rgba(212, 168, 124, 0.5);
  filter: brightness(1.05);
}
.hero__scroll {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  pointer-events: none;
  transition: opacity 0.3s;
}
.hero__scroll-text {
  font-weight: 300;
  font-size: 0.65rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--clr-white-dim);
}
.hero__scroll-line {
  width: 1px;
  height: 36px;
  background: linear-gradient(to bottom, var(--clr-accent), transparent);
  animation: scrollPulse 2s ease-in-out infinite;
}
@keyframes scrollPulse {
  0%, 100% { opacity: 0.3; transform: scaleY(0.6); }
  50% { opacity: 1; transform: scaleY(1); }
}
.hero__metrics-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  width: 100%;
  max-width: 780px;
}
.hero-metric {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}
.hero-metric__val {
  font-family: var(--ff-display);
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--clr-accent);
}
.hero-metric__label {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--clr-white-dim);
}

/* ── Reveal ── */
.reveal{opacity:0;transform:translateY(28px);animation:revealUp 1s var(--ease) forwards}
.reveal[data-delay="0.3"]{animation-delay:.3s}.reveal[data-delay="0.5"]{animation-delay:.5s}
.reveal[data-delay="0.7"]{animation-delay:.7s}.reveal[data-delay="0.9"]{animation-delay:.9s}
.reveal[data-delay="1.1"]{animation-delay:1.1s}.reveal[data-delay="1.4"]{animation-delay:1.4s}
.reveal[data-delay="1.8"]{animation-delay:1.8s}
@keyframes revealUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

/* ── Scroll reveal ── */
.scroll-reveal{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}

/* ══════════ SECTIONS ══════════ */
.section{padding:7rem 0}
.section__header{text-align:center;margin-bottom:4rem}
.section__tag{display:inline-block;font-family:var(--ff-sans);font-weight:300;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--clr-accent);margin-bottom:1rem}
.section__title{font-family:var(--ff-display);font-weight:300;font-size:clamp(2rem,4vw,3.2rem);line-height:1.15;color:var(--clr-white)}
.section__title em{font-style:italic;color:var(--clr-accent)}
.section__body{font-weight:300;font-size:.95rem;line-height:1.7;color:var(--clr-white-dim);max-width:540px;margin-top:1rem}

/* ══════════ ABOUT ══════════ */
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about__images{position:relative;display:grid;grid-template-columns:3fr 2fr;gap:1rem;height:500px}
.about__img-main{border-radius:12px;overflow:hidden}
.about__img-secondary{border-radius:12px;overflow:hidden;margin-top:3rem}
.about__img-main img,.about__img-secondary img{width:100%;height:100%;object-fit:cover}
.about__text{display:flex;flex-direction:column}
.about__badges{display:flex;flex-wrap:wrap;gap:2rem;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08)}
.badge{display:flex;flex-direction:column}
.badge__number{font-family:var(--ff-display);font-size:2rem;font-weight:400;color:var(--clr-accent)}
.badge__label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--clr-white-dim);margin-top:.25rem}

/* ══════════ SERVICES ══════════ */
.services{background:var(--clr-surface)}
.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.service-card{padding:2.5rem 2rem;border-radius:16px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03);transition:transform .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease)}
.service-card:hover{transform:translateY(-6px);border-color:rgba(212,168,124,.3);box-shadow:0 20px 50px rgba(0,0,0,.3)}
.service-card__icon{width:48px;height:48px;margin-bottom:1.5rem;color:var(--clr-accent)}
.service-card__icon svg{width:100%;height:100%}
.service-card__title{font-family:var(--ff-display);font-size:1.4rem;font-weight:400;margin-bottom:.75rem}
.service-card__desc{font-size:.85rem;font-weight:300;line-height:1.7;color:var(--clr-white-dim)}
.service-card--featured{border-color:rgba(212,168,124,.25);background:linear-gradient(135deg,rgba(212,168,124,.08),rgba(212,168,124,.02))}
.service-card__tag{display:inline-block;margin-top:1rem;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--clr-accent);padding:.4rem .8rem;border:1px solid rgba(212,168,124,.3);border-radius:100px}

/* ══════════ GALLERY PANELS ══════════ */
.gallery-panels{padding-bottom:0}
.gallery-panels .section__header{margin-bottom:2.5rem}
.panels{display:flex;width:100%;height:68vh;min-height:420px;max-height:600px;overflow:hidden}
.panel{position:relative;flex:1 1 0%;background-size:cover;background-position:center;cursor:pointer;overflow:hidden;border:2px solid #1a1a1a;transition:flex .7s cubic-bezier(.16,1,.3,1),border-color .4s ease,box-shadow .7s ease;will-change:flex,box-shadow;opacity:0;transform:translateX(-60px)}
.panel.active{flex:4 1 0%;border-color:rgba(212,168,124,.35);box-shadow:0 20px 60px rgba(0,0,0,.55)}
.panel:not(.active){box-shadow:0 10px 30px rgba(0,0,0,.3)}
.panel:not(.active):hover{border-color:#333}
.panel.is-visible{opacity:1;transform:translateX(0);transition:opacity .6s var(--ease),transform .6s var(--ease),flex .7s cubic-bezier(.16,1,.3,1),border-color .4s ease,box-shadow .7s ease}
.panel__shadow{position:absolute;left:0;right:0;pointer-events:none;transition:all .7s ease;height:140px}
.panel.active .panel__shadow{bottom:0;box-shadow:inset 0 -140px 140px -80px #000,inset 0 -100px 100px -60px rgba(0,0,0,.8)}
.panel:not(.active) .panel__shadow{bottom:-50px;box-shadow:inset 0 -80px 0 -80px #000}
.panel__label{position:absolute;left:0;right:0;bottom:1.4rem;display:flex;align-items:center;gap:.75rem;padding:0 1.2rem;z-index:2;pointer-events:none}
.panel__icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(20,20,20,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1.5px solid #444;color:var(--clr-accent);transition:border-color .4s ease}
.panel__icon svg{width:22px;height:22px}
.panel.active .panel__icon{border-color:rgba(212,168,124,.5)}
.panel__info{overflow:hidden}
.panel__title{font-family:var(--ff-display);font-size:1.15rem;font-weight:400;color:#fff;white-space:nowrap;opacity:0;transform:translateX(25px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.panel__desc{font-size:.78rem;font-weight:300;color:rgba(255,255,255,.6);white-space:nowrap;opacity:0;transform:translateX(25px);transition:opacity .6s .05s var(--ease),transform .6s .05s var(--ease)}
.panel.active .panel__title,.panel.active .panel__desc{opacity:1;transform:translateX(0)}


/* ══════════ FORMATION CTA BANNER ══════════ */
.formation-cta{position:relative;padding:8rem 0;overflow:hidden;min-height:420px;display:flex;align-items:center}
.formation-cta__bg{position:absolute;inset:0;z-index:0}
.formation-cta__bg img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:brightness(.42) saturate(.95);transform:scale(1.05)}
.formation-cta__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(var(--clr-overlay-rgb),.85) 0%,rgba(var(--clr-overlay-rgb),.5) 50%,var(--clr-glass-b) 100%)}
.formation-cta__content{position:relative;z-index:2;max-width:600px}
.formation-cta__title{font-size:clamp(2rem,4.5vw,3.5rem)}
.formation-cta__body{color:var(--clr-white-dim);max-width:500px}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.8rem;border-radius:100px;font-family:var(--ff-sans);font-size:.8rem;font-weight:300;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .4s var(--ease);margin-top:1.5rem}
.btn--primary{background:var(--clr-accent);color:var(--clr-bg);border:1px solid var(--clr-accent)}
.btn--primary:hover{background:var(--clr-accent-2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(212,168,124,.25)}
.btn--outline{background:transparent;border:1px solid var(--clr-glass-b);color:var(--clr-white)}
.btn--outline:hover{border-color:var(--clr-accent);color:var(--clr-accent);transform:translateY(-2px)}
.btn--accent{background:linear-gradient(135deg,var(--clr-accent),var(--clr-accent-2));color:var(--clr-bg);border:1px solid var(--clr-accent);font-weight:400;padding:1rem 2.2rem;font-size:.85rem}
.btn--accent:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(212,168,124,.3)}
.btn--accent svg{transition:transform .4s var(--ease)}.btn--accent:hover svg{transform:translateX(4px)}

/* ══════════ TESTIMONIALS VERTICAL MARQUEE ══════════ */
.reviews{background:var(--clr-surface);position:relative;overflow:hidden}
.reviews__rating-summary{display:flex;align-items:center;gap:.75rem;justify-content:center;margin-top:1rem}
.stars{color:var(--clr-accent);font-size:1.1rem;letter-spacing:2px}
.reviews__score{font-family:var(--ff-display);font-size:1.3rem;font-weight:400}
.reviews__count{font-size:.8rem;color:var(--clr-white-dim);font-weight:300}

.testimonials-marquee {
  position: relative;
  max-width: 1200px;
  margin: 3rem auto 0;
  height: 620px;
  overflow: hidden;
  mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 88%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 12%, black 88%, transparent 100%);
}
.testimonials-marquee:hover .testimonials-track {
  animation-play-state: paused;
}
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  height: 100%;
}
.testimonials-col {
  overflow: hidden;
  position: relative;
}
.testimonials-track {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  animation: marquee-up 28s linear infinite;
  will-change: transform;
}
.testimonials-col--slower .testimonials-track {
  animation-duration: 36s;
}
.testimonials-col--faster .testimonials-track {
  animation-duration: 23s;
}
@keyframes marquee-up {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-50%);
  }
}
.t-card {
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: linear-gradient(180deg, #151515 0%, #0c0c0c 100%);
  padding: 1.8rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
  transition: border-color 0.3s var(--ease), transform 0.3s var(--ease);
}
.t-card:hover {
  border-color: rgba(212, 168, 124, 0.35);
  transform: translateY(-2px);
}
.t-card__stars {
  color: var(--clr-accent);
  font-size: 0.85rem;
  letter-spacing: 2px;
  margin-bottom: 0.85rem;
}
.t-card__text {
  font-family: var(--ff-display);
  font-size: 1.05rem;
  font-style: italic;
  line-height: 1.6;
  color: rgba(245, 240, 236, 0.92);
  font-weight: 300;
}
.t-card__author {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.t-card__avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(212, 168, 124, 0.25), rgba(212, 168, 124, 0.08));
  border: 1px solid rgba(212, 168, 124, 0.3);
  color: var(--clr-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 0.82rem;
  flex-shrink: 0;
}
.t-card__info {
  display: flex;
  flex-direction: column;
}
.t-card__name {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--clr-white);
  letter-spacing: 0.02em;
}
.t-card__role {
  font-size: 0.72rem;
  color: var(--clr-white-dim);
  margin-top: 0.15rem;
}

/* ══════════ CONTACT ══════════ */
.contact__card{display:grid;grid-template-columns:1fr 1fr;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03)}
.contact__info{padding:3rem}
.contact__details{margin-top:2rem;display:flex;flex-direction:column;gap:1.5rem}
.contact__item{display:flex;gap:1rem;align-items:flex-start}
.contact__item svg{flex-shrink:0;margin-top:.2rem;color:var(--clr-accent)}
.contact__item strong{display:block;font-weight:400;font-size:.85rem;margin-bottom:.25rem}
.contact__item p{font-size:.85rem;font-weight:300;color:var(--clr-white-dim);line-height:1.5}
.contact__item a{color:var(--clr-accent);transition:opacity .3s}.contact__item a:hover{opacity:.7}
.contact__actions{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}
.contact__map{min-height:400px;background:var(--clr-surface)}
.contact__map iframe{width:100%;height:100%;filter:invert(90%) hue-rotate(180deg) brightness(.8) contrast(1.2)}

/* ══════════ SOLACEUI-INSPIRED LUXURY FOOTER ══════════ */
.footer-solace {
  position: relative;
  padding: 5rem 0 2.5rem;
  overflow: hidden;
  background: #050505;
}
.footer__stroke-banner {
  width: 100%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: -3.8rem;
  position: relative;
  z-index: 1;
  pointer-events: none;
  user-select: none;
}
.footer__stroke-text {
  font-family: var(--ff-display);
  font-size: clamp(3.2rem, 13vw, 11rem);
  font-weight: 700;
  line-height: 0.85;
  letter-spacing: 0.04em;
  color: transparent;
  -webkit-text-stroke: 1.2px rgba(212, 168, 124, 0.25);
  text-transform: uppercase;
  white-space: nowrap;
  display: block;
}
.footer__glass-card {
  position: relative;
  z-index: 2;
  background: radial-gradient(ellipse 90% 70% at 50% 0%, rgba(212, 168, 124, 0.07) 0%, rgba(16, 16, 16, 0.94) 70%);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 32px;
  padding: clamp(2.5rem, 5vw, 4.5rem);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}
.footer__main-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 3rem;
}
.footer__brand-col {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.footer__logo-mark {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}
.footer__logo-title {
  font-family: var(--ff-display);
  font-size: 1.55rem;
  font-weight: 400;
  color: var(--clr-white);
  letter-spacing: 0.02em;
}
.footer__logo-title em {
  font-style: italic;
  color: var(--clr-accent);
}
.footer__tagline-text {
  font-size: 0.88rem;
  line-height: 1.7;
  color: var(--clr-white-dim);
  font-weight: 300;
  max-width: 320px;
}
.footer__social-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.5rem;
}
.footer__social-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--clr-white-dim);
  transition: all 0.3s var(--ease);
}
.footer__social-icon:hover {
  background: rgba(212, 168, 124, 0.15);
  border-color: var(--clr-accent);
  color: var(--clr-accent);
  transform: translateY(-2px);
}
.footer__social-icon--booksy {
  background: rgba(212, 168, 124, 0.1);
  border-color: rgba(212, 168, 124, 0.3);
  color: var(--clr-accent);
}
.footer__booksy-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  padding: 0.35rem 0.85rem;
  border-radius: 100px;
  background: rgba(212, 168, 124, 0.12);
  border: 1px solid rgba(212, 168, 124, 0.28);
  color: var(--clr-accent);
  font-weight: 400;
  margin-top: 0.5rem;
  width: fit-content;
  transition: all 0.3s var(--ease);
}
.footer__booksy-badge:hover {
  background: var(--clr-accent);
  color: #050505;
}
.footer__col-title {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--clr-accent);
  margin-bottom: 1.25rem;
  font-weight: 500;
}
.footer__link-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.footer__link-list a, .footer__link-list span {
  font-size: 0.85rem;
  color: var(--clr-white-dim);
  font-weight: 300;
  transition: color 0.3s var(--ease), transform 0.3s var(--ease);
  display: inline-block;
}
.footer__link-list a:hover {
  color: var(--clr-white);
  transform: translateX(3px);
}
.footer__link-list a.is-highlight {
  color: var(--clr-accent);
  font-weight: 400;
}
.footer__bottom-bar {
  margin-top: 3.5rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.4);
}
.footer__bottom-links {
  display: flex;
  gap: 1.5rem;
}
.footer__bottom-links a {
  color: rgba(255, 255, 255, 0.45);
  transition: color 0.3s;
}
.footer__bottom-links a:hover {
  color: var(--clr-accent);
}

/* ══════════ NAV ══════════ */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 5%;background:transparent;transition:background .4s var(--ease),padding .4s var(--ease),backdrop-filter .4s var(--ease)}
.nav.scrolled{background:rgba(var(--clr-overlay-rgb),.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:.8rem 5%}
.nav__logo{font-family:var(--ff-display);font-size:1.2rem;font-weight:300;opacity:0;transition:opacity .4s var(--ease)}
.nav__logo em{font-style:italic;color:var(--clr-white-dim);font-size:.8em}
.nav.scrolled .nav__logo{opacity:1}
.nav__links{display:flex;gap:2rem;align-items:center}
.nav__links a{font-size:.75rem;font-weight:300;letter-spacing:.15em;text-transform:uppercase;color:var(--clr-white-dim);transition:color .3s}.nav__links a:hover{color:var(--clr-white)}
.nav__cta{padding:.5rem 1.2rem;border:1px solid var(--clr-glass-b);border-radius:100px;color:var(--clr-white)!important;transition:border-color .3s var(--ease),background .3s var(--ease)!important}
.nav__cta:hover{border-color:var(--clr-accent)!important;background:rgba(212,168,124,.1)!important}
.nav__burger{display:none;background:none;border:none;cursor:pointer;width:28px;height:20px;position:relative;flex-direction:column;justify-content:space-between}
.nav__burger span{display:block;width:100%;height:1.5px;background:var(--clr-white);border-radius:2px;transition:all .3s var(--ease)}

/* Mobile menu */
.mobile-menu{position:fixed;inset:0;z-index:99;background:rgba(var(--clr-overlay-rgb),.95);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
.mobile-menu.open{opacity:1;pointer-events:all}
.mobile-menu__link{font-family:var(--ff-display);font-size:2rem;font-weight:300;color:var(--clr-white);transition:color .3s}.mobile-menu__link:hover{color:var(--clr-accent)}
.mobile-menu__cta{font-size:1rem;font-family:var(--ff-sans);padding:.7rem 2rem;border:1px solid var(--clr-accent);border-radius:100px;color:var(--clr-accent);margin-top:1rem}

/* ══════════ WHATSAPP FLOAT ══════════ */
.whatsapp-float{position:fixed;bottom:1.8rem;right:1.8rem;z-index:999;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.4);transition:transform .4s var(--ease),box-shadow .4s var(--ease);animation:waPulse 2.5s ease-in-out infinite}
.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(37,211,102,.55)}
@keyframes waPulse{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.4)}50%{box-shadow:0 4px 20px rgba(37,211,102,.4),0 0 0 12px rgba(37,211,102,.12)}}

/* ══════════ RESPONSIVE ══════════ */
@media(max-width:1024px){
  .about__grid{grid-template-columns:1fr;gap:2.5rem}
  .about__images{height:350px}
  .services__grid{grid-template-columns:repeat(2,1fr)}
  .testimonials-grid{grid-template-columns:repeat(2,1fr)}
  .testimonials-col:nth-child(3){display:none}
  .panels{height:55vh;min-height:360px}
  .contact__card{grid-template-columns:1fr}
  .contact__map{min-height:300px}
  .footer__main-grid{grid-template-columns:1.2fr 1fr 1fr;gap:2.5rem}
  .footer__brand-col{grid-column:span 3}
}
@media(max-width:768px){
  .section{padding:5rem 0}
  .hero-stage{padding:4.5rem 1.2rem 2rem}
  .hero__title{font-size:clamp(2.4rem,11vw,3.8rem)}
  .hero__sub-title{font-size:.7rem;letter-spacing:.25em}
  .hero__actions{flex-direction:column;width:100%}
  .btn-booksy, .btn-hero-secondary{width:100%;justify-content:center}
  .hero-mid-title{font-size:clamp(1.8rem, 7vw, 2.6rem)}
  .hero-mid-pills{gap:0.6rem}
  .hero-mid-pill{padding:0.4rem 0.9rem}
  .hero-mid-cta{width:100%;justify-content:center}
  .nav__links{display:none}
  .nav__burger{display:flex}
  .nav__logo{opacity:1}
  .services__grid{grid-template-columns:1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .testimonials-col:nth-child(2){display:none}
  .testimonials-marquee{height:520px}
  .panels{flex-direction:column;height:auto;min-height:unset}
  .panel{min-height:110px;flex:1 1 110px!important;border-width:1px}
  .panel.active{flex:3 1 260px!important}
  .panel__title,.panel__desc{white-space:normal}
  .about__images{height:280px}
  .formation-cta{padding:5rem 0;min-height:auto}
  .contact__info{padding:2rem}
  .contact__actions{flex-direction:column}
  .contact__actions .btn{justify-content:center}
  .footer-solace{padding:4rem 0 2rem}
  .footer__stroke-banner{margin-bottom:-1.8rem}
  .footer__glass-card{padding:2.2rem 1.4rem}
  .footer__main-grid{grid-template-columns:1fr;gap:2.2rem}
  .footer__brand-col{grid-column:auto}
  .footer__bottom-bar{flex-direction:column;text-align:center;gap:1.2rem}
  .footer__bottom-links{justify-content:center;flex-wrap:wrap}
}
@media(max-width:480px){
  .hero__title-by{font-size:.5em}
  .about__badges{flex-direction:column;gap:1rem}
}

/* ══════════ LEGAL PAGES ══════════ */
.legal-hero {
  padding: 8.5rem 1.5rem 3.5rem;
  text-align: center;
  background: radial-gradient(ellipse at 50% 0%, rgba(212, 168, 124, 0.12) 0%, #050505 70%);
}
.legal-hero__title {
  font-family: var(--ff-display);
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 300;
  color: var(--clr-white);
  margin-bottom: 0.75rem;
}
.legal-hero__title em {
  font-style: italic;
  color: var(--clr-accent);
}
.legal-hero__subtitle {
  font-size: 0.95rem;
  color: var(--clr-white-dim);
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
}
.legal-content-wrap {
  padding: 1.5rem 0 6rem;
}
.legal-nav-tabs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 3rem;
}
.legal-tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 1.4rem;
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--clr-white-dim);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: all 0.3s var(--ease);
}
.legal-tab-btn:hover {
  background: rgba(212, 168, 124, 0.15);
  border-color: var(--clr-accent);
  color: var(--clr-accent);
}
.legal-card {
  background: rgba(18, 18, 18, 0.75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 28px;
  padding: clamp(2rem, 4vw, 3.5rem);
  margin-bottom: 3rem;
  scroll-margin-top: 100px;
}
.legal-card h2 {
  font-family: var(--ff-display);
  font-size: 2rem;
  color: var(--clr-white);
  margin-bottom: 1.25rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(212, 168, 124, 0.2);
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.legal-card h2 em {
  font-style: italic;
  color: var(--clr-accent);
}
.legal-card h3 {
  font-size: 1.1rem;
  color: var(--clr-accent);
  margin: 2rem 0 0.75rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.legal-card p, .legal-card li {
  font-size: 0.92rem;
  line-height: 1.75;
  color: var(--clr-white-dim);
  font-weight: 300;
  margin-bottom: 1rem;
}
.legal-card strong {
  color: var(--clr-white);
  font-weight: 500;
}
.legal-card ul {
  padding-left: 1.5rem;
  margin-bottom: 1.5rem;
}
.legal-data-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0 2rem;
}
.legal-data-item {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 14px;
  padding: 1.1rem;
}
.legal-data-item strong {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--clr-accent);
  margin-bottom: 0.35rem;
}
.legal-data-item span {
  font-size: 0.92rem;
  color: var(--clr-white);
}
