:root{
  --color-bg: #faf6ef;
  --color-bg-alt: #f2ebe0;
  --color-surface: #fffdfa;
  --color-ink: #201c18;
  --color-text-soft: #4c463f;
  --color-navy: #16273d;
  --color-navy-light: #24405f;
  --color-navy-deep: #0e1b2b;
  --color-accent: #ff6a3d;
  --color-accent-dark: #dd5027;
  --color-amber: #ffb648;
  --color-teal: #1f7a6c;
  --color-line: rgba(22,39,61,0.12);

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-xl: 32px;
  --radius-pill: 999px;

  --shadow-sm: 0 1px 2px rgba(22,39,61,0.07), 0 1px 1px rgba(22,39,61,0.04);
  --shadow-md: 0 10px 22px -8px rgba(22,39,61,0.18), 0 4px 8px -4px rgba(22,39,61,0.10);
  --shadow-lg: 0 26px 50px -16px rgba(22,39,61,0.28), 0 10px 20px -10px rgba(22,39,61,0.14);
  --shadow-glow: 0 0 0 1px rgba(255,106,61,0.18), 0 16px 30px -10px rgba(255,106,61,0.35);

  --ease: cubic-bezier(.22,.86,.30,1);
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  font-family:'Albert Sans', sans-serif;
  color: var(--color-ink);
  background: var(--color-bg);
  line-height: 1.65;
  font-weight: 400;
  overflow-x: hidden;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:'Albert Sans', sans-serif; margin:0; color: var(--color-navy); font-weight:700; }
p{ margin:0; }
button{ font-family:inherit; border:none; background:none; cursor:pointer; }
input, textarea{ font-family:inherit; }

.page-shell{
  background: var(--color-bg);
  min-height:100vh;
  position:relative;
  z-index:10;
  transform: translateX(0) scale(1);
  transition: transform .5s var(--ease);
  transform-origin: left center;
}


.btn{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding: 1rem 1.8rem;
  border-radius: var(--radius-pill);
  font-weight:600;
  font-size:.95rem;
  border:2px solid transparent;
  transition: transform .35s var(--ease), box-shadow .35s ease, background .35s ease, color .35s ease, border-color .35s ease;
  white-space:nowrap;
  min-height:44px;
}
.btn--primary{ background: var(--color-accent); color:#fff; box-shadow: var(--shadow-md); }
.btn--primary:hover{ transform: translateY(-3px) scale(1.02); box-shadow: var(--shadow-glow); background: var(--color-accent-dark); }
.btn--ghost{ background: transparent; border-color: rgba(22,39,61,.22); color: var(--color-navy); }
.btn--ghost:hover{ background: rgba(22,39,61,.06); border-color: var(--color-navy); transform: translateY(-2px); }
.btn--lg{ padding: 1.15rem 2.2rem; font-size:1.02rem; }
.btn--block{ width:100%; justify-content:center; }


.section-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color: var(--color-accent-dark);
  margin-bottom:1rem;
}
.section-eyebrow--light{ color: var(--color-amber); }
.section-title{
  font-size: clamp(1.9rem, 1.4rem + 2vw, 2.9rem);
  line-height:1.15;
  margin-bottom:1.5rem;
  max-width: 46rem;
}
.section-title--light{ color:#fff; }


.glass-panel{
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255,255,255,0.65);
  box-shadow: var(--shadow-lg);
}


.reveal{ opacity:0; transform: translateY(28px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal--visible{ opacity:1; transform: translateY(0); }


.hero__title .char{
  display:inline-block;
  opacity:0;
  transform: translateY(60%) rotate(4deg);
  animation: charIn .8s var(--ease) forwards;
  animation-delay: calc(var(--char-index) * 22ms + .15s);
}
@keyframes charIn{ to{ opacity:1; transform: translateY(0) rotate(0); } }


.nav{
  position: sticky;
  top:0;
  z-index:40;
  background: rgba(250,246,239,0.86);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom:1px solid var(--color-line);
  transition: transform .4s var(--ease);
}
.nav--hidden{ transform: translateY(-100%); }
.nav__inner{
  max-width:1280px;
  margin:0 auto;
  padding: .9rem 1.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
}
.nav__brand{ display:flex; align-items:center; gap:.6rem; flex-shrink:0; }
.nav__logo{ width:36px; height:36px; }
.nav__brand-text{ font-weight:800; font-size:1.15rem; color:var(--color-navy); letter-spacing:-.01em; }
.nav__desktop{ flex:1; display:flex; justify-content:center; }
.nav__list{ display:flex; gap:2.1rem; }
.nav__link{
  position:relative;
  font-weight:500;
  font-size:.95rem;
  color: var(--color-text-soft);
  padding: .3rem 0;
  transition: color .3s ease;
}
.nav__link::after{
  content:'';
  position:absolute; left:0; bottom:-2px;
  width:100%; height:2px;
  background: var(--color-accent);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .35s var(--ease);
}
.nav__link:hover{ color: var(--color-navy); }
.nav__link:hover::after, .nav__link--active::after{ transform: scaleX(1); transform-origin:left; }
.nav__link--active{ color: var(--color-navy); font-weight:700; }
.nav__cta{ flex-shrink:0; }
.nav__toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  padding:10px;
  min-width:44px;
  min-height:44px;
  align-items:center;
  justify-content:center;
}
.nav__toggle span{
  width:24px; height:2px; background: var(--color-navy);
  transition: transform .35s var(--ease), opacity .3s ease;
  border-radius:2px;
}


.nav__mobile-panel{
  position:fixed;
  top:0; right:0;
  height:100vh;
  width:min(82vw, 360px);
  background: var(--color-navy-deep);
  color:#fff;
  transform: translateX(100%);
  transition: transform .5s var(--ease);
  z-index:60;
  box-shadow: var(--shadow-lg);
  padding: 2rem 1.6rem;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:1.6rem;
}
.nav__mobile-panel--open{ transform: translateX(0); }
.nav__mobile-header{ display:flex; align-items:center; justify-content:space-between; }
.nav__mobile-header .nav__brand-text{ color:#fff; }
.nav__close{ color:#fff; font-size:1.6rem; min-width:44px; min-height:44px; }
.nav__mobile-list{ display:flex; flex-direction:column; gap:.3rem; }
.nav__mobile-link{
  display:block;
  padding: .85rem 0;
  font-size:1.1rem;
  font-weight:600;
  color: rgba(255,255,255,0.85);
  border-bottom:1px solid rgba(255,255,255,0.1);
  transition: color .3s ease, padding-left .3s ease;
}
.nav__mobile-link:hover{ color:#fff; padding-left:.5rem; }
.nav__mobile-cta{ justify-content:center; }
.nav__mobile-contact{ display:flex; flex-direction:column; gap:.7rem; margin-top:auto; }
.nav__mobile-contact a{ display:flex; align-items:center; gap:.6rem; color: rgba(255,255,255,0.75); font-size:.92rem; }


.hero{
  position:relative;
  padding: clamp(3rem, 6vw, 6.5rem) 1.5rem clamp(4rem, 8vw, 8rem);
  overflow:hidden;
  background: radial-gradient(circle at 15% 10%, #fdf1e6 0%, var(--color-bg) 45%);
}
.hero__blob{
  position:absolute;
  border-radius:50%;
  filter: blur(60px);
  opacity:.5;
  z-index:0;
  animation: floatBlob 12s ease-in-out infinite;
}
.hero__blob--one{ width:340px; height:340px; background: var(--color-amber); top:-80px; right:-60px; }
.hero__blob--two{ width:260px; height:260px; background: var(--color-teal); bottom:-60px; left:10%; animation-delay:2s; }
@keyframes floatBlob{ 0%,100%{ transform: translateY(0) scale(1); } 50%{ transform: translateY(-24px) scale(1.06); } }

.hero__container{
  max-width:1280px;
  margin:0 auto;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 3.5rem;
  align-items:center;
  position:relative;
  z-index:1;
}
.hero__eyebrow{
  display:inline-flex; align-items:center; gap:.5rem;
  background: rgba(255,106,61,0.12);
  color: var(--color-accent-dark);
  padding: .5rem 1rem;
  border-radius: var(--radius-pill);
  font-weight:600;
  font-size:.85rem;
  margin-bottom:1.4rem;
}
.hero__title{
  font-size: clamp(2.4rem, 1.6rem + 3.4vw, 4rem);
  line-height:1.08;
  letter-spacing:-.02em;
  color: var(--color-navy);
  margin-bottom:1.4rem;
}
.hero__subtitle{
  font-size: clamp(1.02rem, .95rem + .3vw, 1.2rem);
  color: var(--color-text-soft);
  max-width:38rem;
  margin-bottom:2rem;
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:2.2rem; }
.hero__meta{ display:flex; flex-wrap:wrap; gap:1.6rem; }
.hero__meta-item{ display:flex; align-items:center; gap:.5rem; font-size:.9rem; color: var(--color-text-soft); font-weight:500; }
.hero__meta-item i{ color: var(--color-accent); }

.hero__panel{ position:relative; }
.hero__image{
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
  aspect-ratio: 4/5;
  object-fit:cover;
  width:100%;
}
.hero__panel-card{
  position:absolute;
  bottom:-1.6rem;
  left:-1.8rem;
  max-width: 260px;
  padding: 1.4rem 1.5rem;
  border-radius: var(--radius-lg);
}
.hero__panel-card-label{ font-weight:700; color: var(--color-navy); margin-bottom:.7rem; font-size:.95rem; }
.hero__panel-list{ display:flex; flex-direction:column; gap:.5rem; }
.hero__panel-list li{ display:flex; align-items:center; gap:.55rem; font-size:.83rem; color: var(--color-text-soft); font-weight:500; }
.hero__panel-list i{ color: var(--color-teal); }
.hero__scroll-cue{
  position:absolute; bottom:1.6rem; left:50%; transform:translateX(-50%);
  width:28px; height:44px; border:2px solid rgba(22,39,61,.25); border-radius:20px;
  display:flex; justify-content:center; padding-top:8px;
}
.hero__scroll-cue span{ width:4px; height:8px; border-radius:2px; background: var(--color-accent); animation: scrollCue 1.6s ease infinite; }
@keyframes scrollCue{ 0%{ opacity:1; transform:translateY(0);} 100%{ opacity:0; transform:translateY(14px);} }


.intro{ background: var(--color-surface); padding: clamp(4rem,7vw,7rem) 1.5rem; }
.intro__container{ max-width:1180px; margin:0 auto; }
.intro__columns{ display:grid; grid-template-columns: 1.5fr 1fr; gap:3rem; margin-top:1rem; }
.intro__text{ column-count:1; }
.intro__text p{ margin-bottom:1.2rem; color: var(--color-text-soft); font-size:1.02rem; }
.pull-quote{
  font-family:'Albert Sans', serif;
  font-size:1.35rem;
  font-weight:600;
  color: var(--color-navy);
  border-left:4px solid var(--color-accent);
  padding: .3rem 0 .3rem 1.5rem;
  margin: 1.8rem 0;
  line-height:1.4;
}
.feature-box{
  background: var(--color-bg-alt);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  align-self:start;
  box-shadow: var(--shadow-sm);
  transition: transform .4s var(--ease), box-shadow .4s ease;
}
.feature-box:hover{ transform: translateY(-6px); box-shadow: var(--shadow-md); }
.feature-box__image{ border-radius: var(--radius-md); margin-bottom:1rem; aspect-ratio: 4/3; object-fit:cover; width:100%; }
.feature-box__caption{ color: var(--color-text-soft); font-size:.92rem; font-style:italic; }


.process{
  background: linear-gradient(160deg, var(--color-navy-deep), var(--color-navy) 70%);
  padding: clamp(4.5rem,7vw,7.5rem) 1.5rem;
}
.process__container{ max-width:1220px; margin:0 auto; }
.process__lead{ color: rgba(255,255,255,0.72); max-width:40rem; margin-bottom:3rem; font-size:1.05rem; }
.process__grid{
  display:grid; grid-template-columns: repeat(4,1fr); gap:1.6rem; position:relative;
}
.card--step{
  background: rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-lg);
  padding: 2rem 1.6rem;
  position:relative;
  transition: transform .4s var(--ease), box-shadow .4s ease, background .4s ease;
}
.card--step:hover{ transform: translateY(-8px); background: rgba(255,255,255,0.1); box-shadow: var(--shadow-lg); }
.step__number{ font-size:2.2rem; font-weight:800; color: rgba(255,255,255,0.18); margin-bottom:.6rem; }
.step__icon{ font-size:1.5rem; color: var(--color-amber); margin-bottom:1rem; display:block; }
.step__title{ color:#fff; font-size:1.15rem; margin-bottom:.6rem; }
.step__text{ color: rgba(255,255,255,0.68); font-size:.92rem; }


.services{ background: var(--color-bg); padding: clamp(4.5rem,7vw,7.5rem) 1.5rem; }
.services__container{ max-width:1220px; margin:0 auto; }
.services__grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:1.7rem; }
.card{ border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); transition: transform .4s var(--ease), box-shadow .4s ease; }
.card--service{ background: var(--color-surface); padding:2rem 1.7rem; border:1px solid var(--color-line); }
.card--service:hover, .card--benefit:hover, .card--approach:hover, .card--format:hover, .card--thanks:hover{ transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.card--featured{ border:1px solid rgba(255,106,61,0.35); background: linear-gradient(160deg, #fff, #fff6ee); }
.card__icon{
  width:52px; height:52px; border-radius: var(--radius-md);
  background: rgba(255,106,61,0.1); color: var(--color-accent-dark);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:1.3rem;
  transition: transform .4s var(--ease), background .4s ease;
}
.card:hover .card__icon{ transform: rotate(-6deg) scale(1.08); }
.card__title{ font-size:1.15rem; margin-bottom:.6rem; }
.card__text{ color: var(--color-text-soft); font-size:.94rem; }


.curriculum{ background: var(--color-bg-alt); padding: clamp(4.5rem,7vw,7.5rem) 1.5rem; }
.curriculum__container{ max-width:1220px; margin:0 auto; }
.curriculum__grid{ display:grid; grid-template-columns: repeat(2,1fr); gap:1rem; margin-bottom:3rem; }
.curriculum__item{
  display:flex; align-items:center; gap:1.2rem;
  background: var(--color-surface);
  padding:1.2rem 1.4rem;
  border-radius: var(--radius-md);
  border:1px solid var(--color-line);
  transition: transform .35s var(--ease), box-shadow .35s ease, border-color .35s ease;
}
.curriculum__item:hover{ transform: translateX(6px); box-shadow: var(--shadow-md); border-color: rgba(255,106,61,0.3); }
.curriculum__week{ font-weight:800; color: var(--color-accent-dark); min-width:82px; font-size:.92rem; }
.curriculum__topic{ color: var(--color-navy); font-weight:500; font-size:.96rem; }
.curriculum__image-wrap{ border-radius: var(--radius-xl); overflow:hidden; box-shadow: var(--shadow-lg); }
.curriculum__image{ width:100%; aspect-ratio: 21/9; object-fit:cover; }


.benefits{ background: var(--color-surface); padding: clamp(4.5rem,7vw,7.5rem) 1.5rem; }
.benefits__container{ max-width:1220px; margin:0 auto; }
.benefits__grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:1.5rem; }
.card--benefit{ background: var(--color-bg); padding:1.9rem 1.5rem; border:1px solid var(--color-line); }


.cta-banner{ padding: 0 1.5rem clamp(4.5rem,7vw,7.5rem); background: var(--color-surface); }
.cta-banner__inner{
  max-width:1100px; margin:0 auto;
  border-radius: var(--radius-xl);
  padding: clamp(2.5rem,5vw,4rem);
  display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap;
  background: linear-gradient(120deg, rgba(255,106,61,0.14), rgba(31,122,108,0.1));
}
.cta-banner__title{ font-size: clamp(1.5rem,1.2rem+1.4vw,2.1rem); margin-bottom:.8rem; max-width:28rem; }
.cta-banner__desc{ color: var(--color-text-soft); max-width:28rem; }


.page-hero{
  padding: clamp(4rem,7vw,6.5rem) 1.5rem clamp(3rem,5vw,4.5rem);
  background: radial-gradient(circle at 85% 0%, #fdf1e6 0%, var(--color-bg) 55%);
}
.page-hero__container{ max-width:900px; margin:0 auto; text-align:center; }
.page-hero__title{ font-size: clamp(2rem,1.5rem+2.4vw,3.2rem); margin-bottom:1.2rem; line-height:1.12; }
.page-hero__subtitle{ color: var(--color-text-soft); font-size:1.08rem; max-width:42rem; margin:0 auto; }
.page-hero--skeptic{ background: radial-gradient(circle at 15% 0%, #eaf3f1 0%, var(--color-bg) 55%); }
.page-hero--contact{ background: radial-gradient(circle at 50% 0%, #fdf1e6 0%, var(--color-bg) 60%); }


.team{ background: var(--color-surface); padding: clamp(2rem,4vw,3rem) 1.5rem clamp(4rem,6vw,6rem); }
.team__container{ max-width:1120px; margin:0 auto; display:flex; flex-direction:column; gap: clamp(3rem,5vw,5rem); }
.team__person{ display:grid; grid-template-columns: .8fr 1.2fr; gap:2.6rem; align-items:center; }
.team__person--reverse{ direction: rtl; }
.team__person--reverse > *{ direction: ltr; }
.team__photo-wrap{ border-radius: var(--radius-xl); overflow:hidden; box-shadow: var(--shadow-lg); }
.team__photo{ width:100%; aspect-ratio: 3/4; object-fit:cover; transition: transform .5s var(--ease); }
.team__photo-wrap:hover .team__photo{ transform: scale(1.05); }
.team__role{ display:inline-block; color: var(--color-accent-dark); font-weight:700; font-size:.85rem; text-transform:uppercase; letter-spacing:.05em; margin-bottom:.6rem; }
.team__name{ font-size:1.7rem; margin-bottom:1rem; }
.team__text{ color: var(--color-text-soft); margin-bottom:1rem; }
.team__together{
  display:grid; grid-template-columns: 1fr 1fr; gap:2.5rem; align-items:center;
  background: var(--color-bg-alt); border-radius: var(--radius-xl); padding: clamp(1.8rem,3vw,3rem); box-shadow: var(--shadow-sm);
}
.team__together-image{ border-radius: var(--radius-lg); width:100%; aspect-ratio:4/3; object-fit:cover; box-shadow: var(--shadow-md); }
.team__together-title{ font-size:1.4rem; margin-bottom:.9rem; }

.approach{ background: var(--color-bg-alt); padding: clamp(4.5rem,7vw,7.5rem) 1.5rem; }
.approach__container{ max-width:1180px; margin:0 auto; }
.approach__grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:1.5rem; }
.card--approach{ background: var(--color-surface); padding:1.9rem 1.5rem; border:1px solid var(--color-line); text-align:left; }
.card--approach .card__icon{ background: rgba(31,122,108,0.1); color: var(--color-teal); width:46px; height:46px; }


.sample-lesson{ background: var(--color-surface); padding: clamp(2rem,4vw,3rem) 1.5rem clamp(4rem,6vw,6rem); }
.sample-lesson__container{ max-width:1180px; margin:0 auto; display:grid; grid-template-columns: 1fr 1fr; gap:3rem; align-items:center; }
.sample-lesson__image-wrap{ position:relative; border-radius: var(--radius-xl); overflow:hidden; padding:0; }
.sample-lesson__image{ width:100%; aspect-ratio: 4/3; object-fit:cover; }
.sample-lesson__play{
  position:absolute; top:50%; left:50%; transform: translate(-50%,-50%);
  width:76px; height:76px; border-radius:50%; background: rgba(255,255,255,0.9);
  color: var(--color-accent-dark); font-size:1.5rem; display:flex; align-items:center; justify-content:center;
  box-shadow: var(--shadow-lg); transition: transform .35s var(--ease), background .35s ease;
}
.sample-lesson__play:hover{ transform: translate(-50%,-50%) scale(1.1); background:#fff; }
.sample-lesson__title{ font-size:1.7rem; margin-bottom:1.1rem; }
.sample-lesson__text{ color: var(--color-text-soft); margin-bottom:1.4rem; }
.sample-lesson__list{ display:flex; flex-direction:column; gap:.8rem; margin-bottom:1.8rem; }
.sample-lesson__list li{ display:flex; align-items:center; gap:.7rem; color: var(--color-navy); font-weight:500; font-size:.96rem; }
.sample-lesson__list i{ color: var(--color-teal); }

.sample-format{ background: var(--color-bg-alt); padding: clamp(4.5rem,7vw,7.5rem) 1.5rem; }
.sample-format__container{ max-width:1180px; margin:0 auto; }
.sample-format__grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:1.5rem; }
.card--format{ background: var(--color-surface); padding:1.8rem 1.5rem; border:1px solid var(--color-line); }
.card--format .card__icon{ width:46px; height:46px; }

.sample-image-band{ background: var(--color-surface); padding: clamp(4rem,6vw,6rem) 1.5rem; }
.sample-image-band__container{ max-width:1180px; margin:0 auto; display:grid; grid-template-columns: .9fr 1.1fr; gap:3rem; align-items:center; }
.sample-image-band__image{ border-radius: var(--radius-xl); width:100%; aspect-ratio:4/3; object-fit:cover; box-shadow: var(--shadow-lg); }
.sample-image-band__title{ font-size:1.5rem; margin-bottom:1rem; }
.sample-image-band__desc{ color: var(--color-text-soft); }


.skeptic-intro{ background: var(--color-surface); padding: clamp(2rem,4vw,3rem) 1.5rem clamp(4rem,6vw,6rem); }
.skeptic-intro__container{ max-width:1120px; margin:0 auto; display:grid; grid-template-columns: 1.2fr .8fr; gap:3rem; align-items:center; }
.skeptic-intro__text p{ color: var(--color-text-soft); margin-bottom:1.1rem; }
.skeptic-intro__photo{ border-radius: var(--radius-xl); width:100%; aspect-ratio: 4/5; object-fit:cover; box-shadow: var(--shadow-lg); }

.faq{ background: var(--color-bg-alt); padding: clamp(4.5rem,7vw,7.5rem) 1.5rem; }
.faq__container{ max-width:900px; margin:0 auto; }
.faq__list{ display:flex; flex-direction:column; gap:1rem; }
.faq__item{
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  border:1px solid var(--color-line);
  overflow:hidden;
  transition: box-shadow .35s ease, border-color .35s ease;
}
.faq__item--open{ box-shadow: var(--shadow-md); border-color: rgba(255,106,61,0.3); }
.faq__question{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  padding: 1.3rem 1.6rem; text-align:left; font-weight:600; font-size:1rem; color: var(--color-navy);
  min-height:44px;
}
.faq__icon{ color: var(--color-accent); transition: transform .4s var(--ease); flex-shrink:0; margin-left:1rem; }
.faq__item--open .faq__icon{ transform: rotate(45deg); }
.faq__answer{ max-height:0; overflow:hidden; transition: max-height .4s var(--ease); }
.faq__answer p{ padding: 0 1.6rem 1.5rem; color: var(--color-text-soft); }


.contact-section{ background: var(--color-surface); padding: clamp(2rem,4vw,3rem) 1.5rem clamp(4rem,6vw,6rem); }
.contact-section__container{ max-width:1180px; margin:0 auto; display:grid; grid-template-columns: 1fr 1fr; gap:3rem; align-items:start; }
.contact-section__form-wrap{ border-radius: var(--radius-xl); padding: clamp(1.8rem,3vw,2.6rem); }
.contact-section__form-title{ font-size:1.4rem; margin-bottom:1.4rem; }
.contact-form{ display:flex; flex-direction:column; gap:1.2rem; }
.form__group{ display:flex; flex-direction:column; gap:.5rem; }
.form__label{ font-size:.88rem; font-weight:600; color: var(--color-navy); }
.form__input, .form__textarea{
  padding: .85rem 1rem; border-radius: var(--radius-md); border:1px solid var(--color-line);
  background: var(--color-bg); font-size:.96rem; color: var(--color-ink);
  transition: border-color .3s ease, box-shadow .3s ease; min-height:44px;
}
.form__textarea{ resize:vertical; min-height:120px; }
.form__input:focus, .form__textarea:focus{ outline:none; border-color: var(--color-accent); box-shadow: 0 0 0 3px rgba(255,106,61,0.14); }
.form__group--checkbox{ flex-direction:row; align-items:flex-start; gap:.7rem; }
.form__group--checkbox input{ width:20px; height:20px; margin-top:.15rem; accent-color: var(--color-accent); flex-shrink:0; }
.form__group--checkbox label{ font-size:.88rem; color: var(--color-text-soft); }
.form__group--checkbox a{ color: var(--color-accent-dark); text-decoration:underline; }

.contact-section__info{ display:flex; flex-direction:column; gap:2rem; }
.contact-section__quote{ background: var(--color-bg-alt); border-radius: var(--radius-lg); padding:1.8rem; position:relative; }
.contact-section__quote-icon{ color: rgba(255,106,61,0.3); font-size:1.6rem; margin-bottom:.8rem; }
.contact-section__quote-text{ font-size:1.05rem; color: var(--color-navy); font-weight:500; line-height:1.55; }
.contact-section__details{ display:flex; flex-direction:column; gap:.9rem; }
.contact-section__detail-item{ display:flex; align-items:center; gap:.8rem; color: var(--color-text-soft); font-weight:500; }
.contact-section__detail-item i{ color: var(--color-accent); width:20px; }
.contact-section__detail-item a:hover{ color: var(--color-accent-dark); }
.contact-section__image{ border-radius: var(--radius-lg); width:100%; aspect-ratio:16/10; object-fit:cover; box-shadow: var(--shadow-md); transition: transform .5s var(--ease); }
.contact-section__image:hover{ transform: scale(1.02); }

.contact-map{ background: var(--color-bg-alt); padding: 0 1.5rem clamp(4rem,6vw,6rem); }
.contact-map__container{ max-width:1180px; margin:0 auto; border-radius: var(--radius-xl); overflow:hidden; box-shadow: var(--shadow-lg); }
.contact-map__frame{ width:100%; height:380px; border:0; display:block; }


.thanks-hero{
  background: linear-gradient(135deg, var(--color-navy-deep), var(--color-accent-dark) 120%);
  padding: clamp(5rem,9vw,8rem) 1.5rem;
  text-align:center;
}
.thanks-hero__container{ max-width:700px; margin:0 auto; }
.thanks-hero__icon{ font-size:3rem; color:#fff; margin-bottom:1.2rem; }
.thanks-hero__title{ color:#fff; font-size: clamp(2rem,1.5rem+2.2vw,3rem); margin-bottom:1.1rem; }
.thanks-hero__subtitle{ color: rgba(255,255,255,0.85); font-size:1.08rem; }
.thanks-next{ background: var(--color-surface); padding: clamp(4rem,6vw,6rem) 1.5rem; text-align:center; }
.thanks-next__container{ max-width:1000px; margin:0 auto; }
.thanks-next__title{ font-size:1.7rem; margin-bottom:2.2rem; }
.thanks-next__grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:1.5rem; margin-bottom:2.6rem; }
.card--thanks{ background: var(--color-bg); padding:1.8rem 1.4rem; border:1px solid var(--color-line); text-align:left; }
.thanks-next__button{ margin:0 auto; }


.legal{ background: var(--color-surface); padding: clamp(4.5rem,7vw,7rem) 1.5rem clamp(4rem,6vw,6rem); }
.legal__container{ max-width:820px; margin:0 auto; }
.legal__title{ font-size: clamp(1.9rem,1.5rem+1.8vw,2.6rem); margin-bottom:1.2rem; }
.legal__intro{ color: var(--color-text-soft); margin-bottom:2.4rem; font-size:1.02rem; }
.legal__section{ margin-bottom:2.2rem; }
.legal__heading{ font-size:1.2rem; margin-bottom:.7rem; color: var(--color-navy); }
.legal__section p{ color: var(--color-text-soft); }
.legal--lettered .legal__heading{ color: var(--color-teal); }
.legal--plain .legal__heading{ border-left:3px solid var(--color-accent); padding-left:.8rem; }


.footer{ background: var(--color-navy-deep); color: rgba(255,255,255,0.75); padding: clamp(3.5rem,6vw,5rem) 1.5rem 2rem; margin-top:auto; }
.footer__container{ max-width:1280px; margin:0 auto; }
.footer__grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap:2.5rem; margin-bottom:2.5rem; }
.footer__col--brand .nav__brand-text{ color:#fff; }
.footer__desc{ margin-top:1rem; font-size:.9rem; line-height:1.6; color: rgba(255,255,255,0.6); }
.footer__heading{ color:#fff; font-size:.95rem; text-transform:uppercase; letter-spacing:.05em; margin-bottom:1.1rem; }
.footer__link{ display:block; font-size:.9rem; color: rgba(255,255,255,0.65); margin-bottom:.7rem; transition: color .3s ease, padding-left .3s ease; }
.footer__link:hover{ color:#fff; padding-left:.25rem; }
.footer__link--address{ display:flex; gap:.5rem; }
.footer__bottom{ border-top:1px solid rgba(255,255,255,0.1); padding-top:1.6rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:.6rem; font-size:.82rem; color: rgba(255,255,255,0.5); }


.cookie-consent{ position:fixed; bottom:1.4rem; right:1.4rem; z-index:80; }
.cookie-consent__bell{
  width:56px; height:56px; border-radius:50%; background: var(--color-navy);
  color:#fff; font-size:1.3rem; display:flex; align-items:center; justify-content:center;
  box-shadow: var(--shadow-lg); position:relative; transition: transform .35s var(--ease), background .35s ease;
}
.cookie-consent__bell:hover{ transform: translateY(-4px) rotate(-6deg); background: var(--color-accent-dark); }
.cookie-consent__badge{
  position:absolute; top:2px; right:2px; width:12px; height:12px; border-radius:50%;
  background: var(--color-accent); border:2px solid var(--color-navy); display:none;
}
.cookie-consent__panel{
  position:fixed; bottom:0; right:0; left:0; max-width:420px; margin:0 auto 0 auto;
  background: var(--color-surface); border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  box-shadow: var(--shadow-lg); padding: 1.8rem 1.6rem 1.5rem;
  transform: translateY(120%); transition: transform .5s var(--ease);
  max-height:82vh; overflow-y:auto;
}
@media (min-width:500px){
  .cookie-consent__panel{ right:1.4rem; left:auto; bottom:5.4rem; border-radius: var(--radius-xl); width:380px; }
}
.cookie-consent__panel--open{ transform: translateY(0); }
.cookie-consent__header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:.8rem; }
.cookie-consent__header h3{ font-size:1.15rem; }
.cookie-consent__close{ font-size:1.4rem; color: var(--color-text-soft); min-width:36px; min-height:36px; }
.cookie-consent__panel p{ color: var(--color-text-soft); font-size:.88rem; margin-bottom:1.2rem; }
.cookie-consent__category{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding: .8rem 0; border-top:1px solid var(--color-line); }
.cookie-consent__category div{ display:flex; flex-direction:column; gap:.15rem; }
.cookie-consent__category strong{ font-size:.9rem; color: var(--color-navy); }
.cookie-consent__category span{ font-size:.78rem; color: var(--color-text-soft); }
.cookie-consent__toggle{ position:relative; width:44px; height:26px; flex-shrink:0; }
.cookie-consent__toggle input{ opacity:0; width:0; height:0; }
.cookie-consent__toggle span{
  position:absolute; inset:0; background: rgba(22,39,61,0.18); border-radius: var(--radius-pill); transition: background .3s ease;
}
.cookie-consent__toggle span::before{
  content:''; position:absolute; width:20px; height:20px; border-radius:50%; background:#fff; top:3px; left:3px; transition: transform .3s var(--ease); box-shadow: var(--shadow-sm);
}
.cookie-consent__toggle input:checked + span{ background: var(--color-accent); }
.cookie-consent__toggle input:checked + span::before{ transform: translateX(18px); }
.cookie-consent__toggle--disabled{ opacity:.6; }
.cookie-consent__actions{ display:flex; gap:.8rem; margin: 1.2rem 0 1rem; }
.cookie-consent__actions .btn{ flex:1; padding:.8rem; font-size:.86rem; justify-content:center; }
.cookie-consent__link{ display:block; text-align:center; font-size:.82rem; color: var(--color-accent-dark); text-decoration:underline; }


@media (max-width: 1024px){
  .hero__container{ grid-template-columns:1fr; }
  .hero__panel{ order:-1; max-width:520px; margin:0 auto; }
  .process__grid, .services__grid, .benefits__grid, .approach__grid, .sample-format__grid, .thanks-next__grid{ grid-template-columns: repeat(2,1fr); }
  .intro__columns, .team__person, .team__together, .sample-lesson__container, .skeptic-intro__container, .contact-section__container, .sample-image-band__container{ grid-template-columns:1fr; }
  .team__person--reverse{ direction: ltr; }
  .footer__grid{ grid-template-columns: 1fr 1fr; }
  .curriculum__grid{ grid-template-columns: 1fr; }
}

@media (max-width: 860px){
  .nav__desktop, .nav__cta{ display:none; }
  .nav__toggle{ display:flex; }
}

@media (max-width: 640px){
  .process__grid, .services__grid, .benefits__grid, .approach__grid, .sample-format__grid, .thanks-next__grid{ grid-template-columns:1fr; }
  .footer__grid{ grid-template-columns:1fr; }
  .footer__bottom{ flex-direction:column; }
  .cta-banner__inner{ flex-direction:column; align-items:flex-start; }
  .hero__panel-card{ position:static; margin-top:1rem; max-width:100%; }
  .team__together{ text-align:left; }
  .contact-map__frame{ height:280px; }
}