
:root{
  --c-ink:#352c22;
  --c-cream:#faf5ee;
  --c-paper:#fffaf4;
  --c-clay:#b3603f;
  --c-sage:#727f68;
  --c-gold:#c9974f;

  --c-ink-70: color-mix(in oklch, var(--c-ink), white 30%);
  --c-ink-50: color-mix(in oklch, var(--c-ink), white 50%);
  --c-ink-20: color-mix(in oklch, var(--c-ink), white 82%);
  --c-ink-10: color-mix(in oklch, var(--c-ink), white 92%);

  --c-clay-light: color-mix(in oklch, var(--c-clay), white 84%);
  --c-clay-mid: color-mix(in oklch, var(--c-clay), white 55%);
  --c-clay-dark: color-mix(in oklch, var(--c-clay), black 15%);
  --c-clay-hover: color-mix(in oklch, var(--c-clay), black 8%);

  --c-sage-light: color-mix(in oklch, var(--c-sage), white 86%);
  --c-sage-mid: color-mix(in oklch, var(--c-sage), white 60%);
  --c-sage-dark: color-mix(in oklch, var(--c-sage), black 12%);

  --c-gold-light: color-mix(in oklch, var(--c-gold), white 85%);

  --c-border: color-mix(in oklch, var(--c-ink), white 84%);
  --c-border-soft: color-mix(in oklch, var(--c-ink), white 90%);

  --shadow-sm: 0 1px 2px color-mix(in oklch, var(--c-ink), transparent 90%), 0 1px 1px color-mix(in oklch, var(--c-ink), transparent 95%);
  --shadow-md: 0 10px 24px color-mix(in oklch, var(--c-ink), transparent 88%), 0 3px 8px color-mix(in oklch, var(--c-ink), transparent 92%);
  --shadow-lg: 0 24px 55px color-mix(in oklch, var(--c-ink), transparent 85%), 0 8px 20px color-mix(in oklch, var(--c-ink), transparent 90%);

  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 26px;
  --radius-xl: 36px;
  --radius-pill: 999px;

  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2.5rem;
  --space-5: 4rem;
  --space-6: 6rem;
  --space-7: 8rem;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-in: cubic-bezier(.7,0,.84,0);
  --dur: .32s;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Albert Sans', sans-serif;
  color:var(--c-ink);
  background:var(--c-cream);
  line-height:1.65;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{
  font-family:'Crimson Pro', serif;
  font-weight:600;
  line-height:1.15;
  margin:0 0 .6em;
  color:var(--c-ink);
}
p{margin:0 0 1em;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;}

.container{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:0 1.25rem;
}


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


.pace .pace-progress{background:var(--c-clay);height:3px;}
.pace .pace-progress-inner{box-shadow:0 0 8px var(--c-clay), 0 0 4px var(--c-clay);}
.pace .pace-activity{border-top-color:var(--c-clay);border-left-color:var(--c-clay);}


body.page--home{scroll-snap-type:y proximity;}
.snap-section{scroll-snap-align:start;}


.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:200;
  background:color-mix(in oklch, var(--c-cream), transparent 6%);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--c-border-soft);
  transform:translateY(0);
  transition:transform .4s var(--ease-out), background .3s;
}
.site-header--hidden{transform:translateY(-100%);}

.nav__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1rem 1.25rem;
  max-width:1180px;
  margin:0 auto;
}
.nav__brand{display:flex;align-items:center;gap:.6rem;}
.nav__logo{width:36px;height:36px;}
.nav__brand-text{
  font-family:'Crimson Pro',serif;
  font-weight:600;
  font-size:1.2rem;
  letter-spacing:.01em;
}
.nav__desktop{display:none;}
@media (min-width:900px){
  .nav__desktop{
    display:flex;
    align-items:center;
    gap:2rem;
  }
  .nav__list{display:flex;gap:1.75rem;}
}
.nav__link{
  position:relative;
  font-size:.95rem;
  font-weight:500;
  color:var(--c-ink-70);
  padding:.4rem 0;
  transition:color .25s var(--ease-out);
}
.nav__link::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:0%;height:2px;
  background:var(--c-clay);
  transition:width .3s var(--ease-out);
}
.nav__link:hover{color:var(--c-ink);}
.nav__link:hover::after{width:100%;}
.nav__link--active{color:var(--c-clay-dark);}
.nav__link--active::after{width:100%;}

.nav__toggle{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:44px;height:44px;
  background:none;
  border:1px solid var(--c-border);
  border-radius:var(--radius-sm);
  cursor:pointer;
  align-items:center;
  transition:background .25s, border-color .25s;
}
.nav__toggle:hover{background:var(--c-clay-light);border-color:var(--c-clay-mid);}
.nav__toggle-bar{
  width:18px;height:2px;background:var(--c-ink);
  transition:transform .3s var(--ease-out), opacity .3s;
}
.nav__toggle--active .nav__toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav__toggle--active .nav__toggle-bar:nth-child(2){opacity:0;}
.nav__toggle--active .nav__toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media (min-width:900px){.nav__toggle{display:none;}}

.nav__mobile-panel{
  max-height:0;
  overflow:hidden;
  transition:max-height .4s var(--ease-out);
  background:var(--c-paper);
  border-top:1px solid var(--c-border-soft);
}
.nav__mobile-list{padding:.5rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.25rem;}
.nav__mobile-list .nav__link{padding:.75rem .25rem;font-size:1.02rem;display:block;}
.nav__mobile-cta{margin-top:.5rem;text-align:center;}
@media (min-width:900px){.nav__mobile-panel{display:none;}}

.nav__progress{height:3px;background:var(--c-border-soft);}
.nav__progress-bar{
  display:block;height:100%;width:0%;
  background:linear-gradient(90deg, var(--c-clay), var(--c-gold));
  transition:width .15s linear;
}


.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.85rem 1.6rem;
  border-radius:var(--radius-pill);
  font-weight:600;
  font-size:.95rem;
  cursor:pointer;
  border:1px solid transparent;
  transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out), background .25s var(--ease-out), color .25s var(--ease-out), border-color .25s;
  min-height:44px;
  white-space:nowrap;
}
.btn--primary{
  background:var(--c-clay);
  color:var(--c-paper);
  box-shadow:var(--shadow-sm);
}
.btn--primary:hover{
  background:var(--c-clay-hover);
  box-shadow:var(--shadow-md);
  transform:translateY(-2px);
}
.btn--ghost{
  background:transparent;
  color:var(--c-ink);
  border-color:var(--c-border);
}
.btn--ghost:hover{
  border-color:var(--c-clay);
  color:var(--c-clay-dark);
  transform:translateY(-2px);
}
.btn--outline{
  background:transparent;
  border-color:var(--c-clay-mid);
  color:var(--c-clay-dark);
}
.btn--outline:hover{
  background:var(--c-clay-light);
  transform:translateY(-2px);
}
.btn--sm{padding:.6rem 1.15rem;font-size:.85rem;min-height:40px;}
.btn--lg{padding:1rem 2rem;font-size:1rem;}


.hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  position:relative;
  padding:7rem 0 3rem;
  background:radial-gradient(circle at 15% 20%, var(--c-clay-light), var(--c-cream) 55%);
  overflow:hidden;
}
.hero__bg-shape{
  position:absolute;
  border-radius:50%;
  filter:blur(60px);
  opacity:.5;
}
.hero__bg-shape--one{
  width:420px;height:420px;
  background:var(--c-gold-light);
  top:-120px;right:-100px;
}
.hero__bg-shape--two{
  width:320px;height:320px;
  background:var(--c-sage-light);
  bottom:-100px;left:-80px;
}
.hero__container{
  display:grid;
  gap:2.5rem;
  align-items:center;
  position:relative;
  z-index:2;
}
@media (min-width:960px){
  .hero__container{grid-template-columns:1.1fr .9fr;}
}
.hero__eyebrow{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  font-weight:600;
  color:var(--c-clay-dark);
  margin-bottom:1rem;
}
.hero__title{
  font-size:clamp(2.2rem, 5vw, 3.6rem);
  margin-bottom:1.1rem;
}
.hero__subtitle{
  font-size:1.08rem;
  color:var(--c-ink-70);
  max-width:560px;
  margin-bottom:2rem;
}
.hero__actions{display:flex;flex-wrap:wrap;gap:1rem;}
.hero__media{position:relative;}
.hero__image{
  border-radius:60% 40% 55% 45%/50% 55% 45% 50%;
  box-shadow:var(--shadow-lg);
  aspect-ratio:4/5;
  object-fit:cover;
}


.section{padding:var(--space-6) 0;}
.section--problem{background:var(--c-clay-light);min-height:100vh;display:flex;align-items:center;}
.section--program{background:var(--c-paper);min-height:100vh;display:flex;align-items:center;}
.section--method{background:var(--c-sage-light);min-height:100vh;display:flex;align-items:center;}
.section--audience{background:var(--c-cream);min-height:100vh;display:flex;align-items:center;}
.section--contact-preview{background:var(--c-ink);color:var(--c-paper);min-height:100vh;display:flex;align-items:center;}
.section--cta{background:linear-gradient(135deg, var(--c-clay), var(--c-gold));color:var(--c-paper);min-height:60vh;display:flex;align-items:center;}
.section--alt-a{background:var(--c-paper);}
.section--alt-b{background:var(--c-cream);}

.section__grid{
  display:grid;
  gap:2.5rem;
  align-items:center;
}
@media (min-width:900px){
  .section__grid{grid-template-columns:1fr 1fr;gap:4rem;}
  .section__grid--reverse .section__media{order:2;}
}
.section__eyebrow{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  font-weight:600;
  color:var(--c-clay-dark);
  margin-bottom:.6rem;
}
.section--contact-preview .section__eyebrow{color:var(--c-gold-light);}
.section__title{font-size:clamp(1.7rem, 3.4vw, 2.5rem);margin-bottom:1rem;}
.section--contact-preview .section__title{color:var(--c-paper);}
.section__lead{font-size:1.05rem;color:var(--c-ink-70);max-width:640px;}
.section--contact-preview .section__lead{color:color-mix(in oklch, var(--c-paper), transparent 15%);}
.section__header{margin-bottom:2.5rem;max-width:720px;}
.section__header--light{max-width:720px;}
.section__image{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;object-fit:cover;aspect-ratio:4/3;}


.curriculum{display:grid;gap:2.5rem;}
@media (min-width:900px){.curriculum{grid-template-columns:1fr 1fr;}}
.curriculum__day{
  background:var(--c-paper);
  border:1px solid var(--c-border-soft);
  border-radius:var(--radius-lg);
  padding:2rem;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .3s var(--ease-out), transform .3s var(--ease-out);
}
.curriculum__day:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);}
.curriculum__day-header{display:flex;align-items:baseline;gap:.9rem;margin-bottom:1.5rem;}
.curriculum__day-number{
  font-family:'Crimson Pro',serif;
  font-size:1rem;
  font-weight:600;
  color:var(--c-clay);
  border:1px solid var(--c-clay-mid);
  padding:.25rem .8rem;
  border-radius:var(--radius-pill);
}
.curriculum__day-title{font-size:1.4rem;margin:0;}
.curriculum__list{display:flex;flex-direction:column;gap:1.3rem;}
.curriculum__item{display:flex;gap:1rem;align-items:flex-start;}
.curriculum__item-icon{
  flex-shrink:0;
  width:42px;height:42px;
  border-radius:var(--radius-sm);
  background:var(--c-clay-light);
  color:var(--c-clay-dark);
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;
}
.curriculum__item h4{margin:0 0 .3rem;font-size:1.02rem;font-family:'Albert Sans',sans-serif;font-weight:600;}
.curriculum__item p{margin:0;font-size:.92rem;color:var(--c-ink-70);}


.audience-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;margin-bottom:2.5rem;}
@media (min-width:700px){.audience-grid{grid-template-columns:1fr 1fr;}}
@media (min-width:1100px){.audience-grid{grid-template-columns:repeat(4,1fr);}}
.card{
  background:var(--c-paper);
  border:1px solid var(--c-border-soft);
  border-radius:var(--radius-md);
  padding:1.8rem;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .3s var(--ease-out), transform .3s var(--ease-out), border-color .3s;
}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);border-color:var(--c-clay-mid);}
.card--outline{background:transparent;}
.card__icon{
  display:inline-flex;
  width:48px;height:48px;
  border-radius:var(--radius-sm);
  background:var(--c-clay-light);
  color:var(--c-clay-dark);
  align-items:center;justify-content:center;
  font-size:1.15rem;
  margin-bottom:1rem;
}
.card__title{font-size:1.1rem;margin-bottom:.5rem;}
.card__body{font-size:.92rem;color:var(--c-ink-70);margin:0;}

.format-box{
  display:flex;flex-wrap:wrap;gap:1rem;
  background:var(--c-paper);
  border:1px solid var(--c-border-soft);
  border-radius:var(--radius-lg);
  padding:1.5rem 2rem;
  box-shadow:var(--shadow-sm);
}
.format-box__item{
  display:flex;align-items:center;gap:.6rem;
  font-size:.9rem;font-weight:500;color:var(--c-ink-70);
}
.format-box__item i{color:var(--c-clay);}


.contact-cards{display:grid;gap:1.5rem;grid-template-columns:1fr;}
@media (min-width:700px){.contact-cards{grid-template-columns:1fr 1fr;}}
@media (min-width:1100px){.contact-cards{grid-template-columns:repeat(4,1fr);}}
.contact-cards--vertical{grid-template-columns:1fr;margin-bottom:2rem;}
.contact-card{
  background:color-mix(in oklch, var(--c-ink), white 8%);
  border:1px solid color-mix(in oklch, var(--c-ink), white 20%);
  border-radius:var(--radius-md);
  padding:1.6rem;
  transition:transform .3s var(--ease-out), background .3s;
}
.section--contact-preview .contact-card:hover{transform:translateY(-4px);background:color-mix(in oklch, var(--c-ink), white 14%);}
.contact-card__icon{
  display:inline-flex;width:44px;height:44px;
  border-radius:50%;
  background:color-mix(in oklch, var(--c-gold), transparent 65%);
  color:var(--c-gold-light);
  align-items:center;justify-content:center;
  margin-bottom:.9rem;
  font-size:1.1rem;
}
.contact-card__title{font-size:1rem;margin-bottom:.4rem;color:var(--c-paper);}
.contact-card__body{margin:0;color:color-mix(in oklch, var(--c-paper), transparent 15%);font-size:.9rem;}
.contact-card__body a{text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .25s;}
.contact-card__body a:hover{text-decoration-color:var(--c-gold-light);}
.contact-layout .contact-card{
  background:var(--c-paper);
  border-color:var(--c-border-soft);
}
.contact-layout .contact-card__title{color:var(--c-ink);}
.contact-layout .contact-card__body{color:var(--c-ink-70);}
.contact-layout .contact-card__icon{background:var(--c-clay-light);color:var(--c-clay-dark);}


.cta__inner{text-align:center;max-width:760px;margin:0 auto;}
.cta__title{color:var(--c-paper);font-size:clamp(1.7rem,3.6vw,2.6rem);margin-bottom:1rem;}
.cta__lead{color:color-mix(in oklch, var(--c-paper), transparent 12%);margin-bottom:2rem;font-size:1.05rem;}
.section--cta .btn--primary{background:var(--c-ink);}
.section--cta .btn--primary:hover{background:color-mix(in oklch, var(--c-ink), white 10%);}


.footer{background:var(--c-ink);color:color-mix(in oklch, var(--c-paper), transparent 8%);margin-top:auto;}
.footer__bar{height:5px;background:linear-gradient(90deg, var(--c-clay), var(--c-gold), var(--c-sage));}
.footer__inner{max-width:1180px;margin:0 auto;padding:3.5rem 1.25rem 2rem;}
.footer__grid{display:grid;gap:2.5rem;grid-template-columns:1fr;}
@media (min-width:700px){.footer__grid{grid-template-columns:1.3fr 1fr 1fr 1fr;}}
.footer__logo{width:38px;height:38px;margin-bottom:1rem;}
.footer__desc{font-size:.9rem;color:color-mix(in oklch, var(--c-paper), transparent 30%);max-width:280px;}
.footer__heading{font-family:'Albert Sans',sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-gold-light);margin-bottom:1.1rem;font-weight:600;}
.footer__list{display:flex;flex-direction:column;gap:.65rem;font-size:.9rem;}
.footer__list a{color:color-mix(in oklch, var(--c-paper), transparent 22%);transition:color .25s;}
.footer__list a:hover{color:var(--c-paper);}
.footer__list li{display:flex;gap:.5rem;align-items:flex-start;color:color-mix(in oklch, var(--c-paper), transparent 22%);}
.footer__list i{margin-top:.2rem;color:var(--c-gold-light);}
.footer__bottom{
  border-top:1px solid color-mix(in oklch, var(--c-paper), transparent 85%);
  margin-top:2.5rem;padding-top:1.5rem;
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;
  font-size:.8rem;color:color-mix(in oklch, var(--c-paper), transparent 40%);
}


.page-hero{padding:8.5rem 0 3.5rem;background:var(--c-clay-light);}
.page-hero--about{background:var(--c-sage-light);}
.page-hero--workshops{background:var(--c-gold-light);}
.page-hero--video{background:var(--c-clay-light);}
.page-hero--contact{background:var(--c-sage-light);}
.page-hero--legal{background:var(--c-cream);}
.page-hero__eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:600;color:var(--c-clay-dark);margin-bottom:.8rem;}
.page-hero__title{font-size:clamp(2rem,4.4vw,3rem);margin-bottom:1rem;}
.page-hero__lead{font-size:1.05rem;color:var(--c-ink-70);max-width:680px;}


.philosophy-grid{display:grid;gap:2rem;grid-template-columns:1fr;}
@media (min-width:700px){.philosophy-grid{grid-template-columns:1fr 1fr;}}
.philosophy-item{padding:1.5rem 0;border-top:1px solid var(--c-border);}
.philosophy-item__number{font-family:'Crimson Pro',serif;font-size:1.6rem;color:var(--c-clay-mid);}
.philosophy-item h3{font-size:1.1rem;margin:.5rem 0;}
.philosophy-item p{color:var(--c-ink-70);font-size:.92rem;margin:0;}
.values-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;}
@media (min-width:700px){.values-grid{grid-template-columns:1fr 1fr;}}
@media (min-width:1100px){.values-grid{grid-template-columns:repeat(4,1fr);}}


.workshop-list{display:flex;flex-direction:column;gap:2.5rem;}
.workshop-card{
  display:grid;gap:2rem;
  background:var(--c-paper);
  border:1px solid var(--c-border-soft);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .3s var(--ease-out);
}
.workshop-card:hover{box-shadow:var(--shadow-md);}
@media (min-width:800px){
  .workshop-card{grid-template-columns:1fr 1.3fr;align-items:stretch;}
  .workshop-card--reverse{grid-template-columns:1.3fr 1fr;}
  .workshop-card--reverse .workshop-card__media{order:2;}
}
.workshop-card__media{overflow:hidden;min-height:220px;}
.workshop-card__media img{width:100%;height:100%;object-fit:cover;min-height:220px;transition:transform .5s var(--ease-out);}
.workshop-card:hover .workshop-card__media img{transform:scale(1.05);}
.workshop-card__body{padding:2rem;display:flex;flex-direction:column;justify-content:center;}
.workshop-card__tag{
  display:inline-block;
  font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;
  color:var(--c-clay-dark);background:var(--c-clay-light);
  padding:.3rem .7rem;border-radius:var(--radius-pill);
  margin-bottom:.8rem;width:fit-content;
}
.workshop-card__title{font-size:1.4rem;margin-bottom:.5rem;}
.workshop-card__meta{font-size:.85rem;color:var(--c-ink-50);margin-bottom:.8rem;}
.workshop-card__desc{color:var(--c-ink-70);margin-bottom:1.2rem;font-size:.95rem;}

.format-details{display:grid;gap:1.5rem;grid-template-columns:1fr;}
@media (min-width:800px){.format-details{grid-template-columns:repeat(3,1fr);}}
.format-details__item{background:var(--c-paper);border:1px solid var(--c-border-soft);border-radius:var(--radius-md);padding:1.6rem;}
.format-details__item h3{font-size:1.02rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;}
.format-details__item h3 i{color:var(--c-clay);}
.format-details__item p{font-size:.9rem;color:var(--c-ink-70);margin:0;}


.video-grid{display:grid;gap:1.8rem;grid-template-columns:1fr;}
@media (min-width:700px){.video-grid{grid-template-columns:1fr 1fr;}}
.video-card{
  background:var(--c-paper);
  border:1px solid var(--c-border-soft);
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .3s var(--ease-out), transform .3s var(--ease-out);
}
.video-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);}
.video-card__thumb{position:relative;aspect-ratio:16/10;overflow:hidden;}
.video-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out);}
.video-card:hover .video-card__thumb img{transform:scale(1.06);}
.video-card__play{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:54px;height:54px;border-radius:50%;
  background:color-mix(in oklch, var(--c-ink), transparent 25%);
  color:var(--c-paper);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;
  transition:background .3s, transform .3s var(--ease-out);
}
.video-card:hover .video-card__play{background:var(--c-clay);transform:translate(-50%,-50%) scale(1.1);}
.video-card__duration{
  position:absolute;bottom:.7rem;right:.7rem;
  background:color-mix(in oklch, var(--c-ink), transparent 15%);
  color:var(--c-paper);font-size:.72rem;font-weight:600;
  padding:.2rem .5rem;border-radius:var(--radius-sm);
}
.video-card__body{padding:1.4rem;}
.video-card__title{font-size:1.05rem;margin-bottom:.5rem;}
.video-card__desc{font-size:.88rem;color:var(--c-ink-70);margin:0;}

.note-box{
  display:flex;gap:1.2rem;
  background:var(--c-sage-light);
  border:1px solid color-mix(in oklch, var(--c-sage), white 60%);
  border-radius:var(--radius-lg);
  padding:2rem;
  align-items:flex-start;
}
.note-box__icon{font-size:1.6rem;color:var(--c-sage-dark);margin-top:.2rem;}
.note-box__title{font-size:1.15rem;margin-bottom:.6rem;}
.note-box__text{margin:0;color:var(--c-ink-70);font-size:.95rem;}


.contact-layout{display:grid;gap:2.5rem;grid-template-columns:1fr;}
@media (min-width:900px){.contact-layout{grid-template-columns:1.15fr .85fr;}}
.contact-layout__title{font-size:1.5rem;margin-bottom:1.5rem;}
.contact-layout__image{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-top:.5rem;aspect-ratio:4/3;object-fit:cover;}

.form{display:flex;flex-direction:column;gap:1.4rem;}
.form__group{display:flex;flex-direction:column;gap:.5rem;}
.form__label{font-size:.88rem;font-weight:600;color:var(--c-ink-70);}
.form__input{
  padding:.85rem 1rem;
  border-radius:var(--radius-sm);
  border:1px solid var(--c-border);
  background:var(--c-paper);
  font-family:inherit;
  font-size:.95rem;
  color:var(--c-ink);
  transition:border-color .25s, box-shadow .25s;
  min-height:48px;
}
.form__input:focus{
  outline:none;
  border-color:var(--c-clay);
  box-shadow:0 0 0 3px var(--c-clay-light);
}
.form__input--textarea{min-height:130px;resize:vertical;}
.form__input--error{border-color:#a13b2c;}
.form__checkbox-row{display:flex;align-items:flex-start;gap:.7rem;font-size:.88rem;color:var(--c-ink-70);}
.form__checkbox-row input{width:20px;height:20px;margin-top:.15rem;accent-color:var(--c-clay);flex-shrink:0;}
.form__checkbox-row a{text-decoration:underline;color:var(--c-clay-dark);}
.form__submit{align-self:flex-start;margin-top:.5rem;}

.iti{width:100%;}

.urgent-box{
  display:flex;gap:1.5rem;align-items:flex-start;
  background:var(--c-ink);
  color:var(--c-paper);
  border-radius:var(--radius-lg);
  padding:2.2rem;
  box-shadow:var(--shadow-md);
}
.urgent-box__icon{
  width:52px;height:52px;flex-shrink:0;
  border-radius:50%;
  background:color-mix(in oklch, var(--c-gold), transparent 55%);
  color:var(--c-gold-light);
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;
}
.urgent-box__title{color:var(--c-paper);font-size:1.25rem;margin-bottom:.6rem;}
.urgent-box__text{color:color-mix(in oklch, var(--c-paper), transparent 15%);margin-bottom:1.2rem;font-size:.95rem;}

.map-box{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--c-border-soft);}
.map-box iframe{display:block;width:100%;}


.legal-main{padding-top:0;}
.legal{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:2.4rem;}
.legal__section{padding-bottom:2rem;border-bottom:1px solid var(--c-border-soft);}
.legal__section:last-child{border-bottom:none;}
.legal__summary{
  display:inline-block;
  font-weight:600;
  color:var(--c-clay-dark);
  background:var(--c-clay-light);
  padding:.7rem 1.1rem;
  border-radius:var(--radius-sm);
  margin-bottom:1rem;
  font-size:.92rem;
}
.legal__heading{font-size:1.3rem;margin-bottom:.9rem;}
.legal__details{color:var(--c-ink-70);font-size:.96rem;}
.legal--lettered .legal__summary{background:var(--c-sage-light);color:var(--c-sage-dark);}
.legal--unnumbered .legal__summary{background:var(--c-gold-light);color:color-mix(in oklch, var(--c-gold), black 30%);}
.legal__table{width:100%;border-collapse:collapse;font-size:.9rem;}
.legal__table th,.legal__table td{text-align:left;padding:.7rem .8rem;border:1px solid var(--c-border-soft);}
.legal__table th{background:var(--c-cream);font-weight:600;}


.thanks-main{min-height:80vh;display:flex;align-items:center;padding:9rem 0 4rem;background:radial-gradient(circle at 80% 10%, var(--c-gold-light), var(--c-cream) 60%);}
.thanks-card{
  max-width:520px;margin:0 auto;text-align:center;
  background:var(--c-paper);
  border:1px solid var(--c-border-soft);
  border-radius:var(--radius-xl);
  padding:3rem 2.2rem;
  box-shadow:var(--shadow-lg);
}
.thanks-card__icon{
  display:inline-flex;width:64px;height:64px;
  border-radius:50%;
  background:var(--c-sage-light);
  color:var(--c-sage-dark);
  align-items:center;justify-content:center;
  font-size:1.6rem;margin-bottom:1.3rem;
}
.thanks-card__title{font-size:1.7rem;margin-bottom:.9rem;}
.thanks-card__text{color:var(--c-ink-70);margin-bottom:1.8rem;}


.sidebar-cta{
  position:fixed;
  right:1.25rem;
  bottom:1.5rem;
  z-index:150;
}
.sidebar-cta__link{
  display:flex;align-items:center;gap:.6rem;
  background:var(--c-clay);
  color:var(--c-paper);
  padding:.85rem 1.3rem;
  border-radius:var(--radius-pill);
  font-weight:600;font-size:.88rem;
  box-shadow:var(--shadow-md);
  transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out), background .3s;
}
.sidebar-cta__link:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);background:var(--c-clay-hover);}
@media (min-width:900px){
  .sidebar-cta{top:50%;right:1.75rem;bottom:auto;transform:translateY(-50%);}
}


.cookie-consent{
  position:fixed;
  top:1.25rem;left:1.25rem;
  z-index:500;
  max-width:320px;
  transform:translateX(-130%);
  opacity:0;
  transition:transform .5s var(--ease-out), opacity .5s var(--ease-out);
}
.cookie-consent--visible{transform:translateX(0);opacity:1;}
.cookie-consent__card{
  background:var(--c-paper);
  border:1px solid var(--c-border-soft);
  border-radius:var(--radius-md);
  padding:1.3rem;
  box-shadow:var(--shadow-lg);
}
.cookie-consent__icon{font-size:1.3rem;color:var(--c-clay);margin-bottom:.6rem;display:block;}
.cookie-consent__text{font-size:.85rem;color:var(--c-ink-70);margin-bottom:.5rem;}
.cookie-consent__text--sub{font-size:.8rem;color:var(--c-ink-50);}
.cookie-consent__actions{display:flex;gap:.6rem;margin-top:.8rem;flex-wrap:wrap;}

.cookie-modal{
  position:fixed;inset:0;z-index:600;
  display:none;
  align-items:center;justify-content:center;
  padding:1.5rem;
}
.cookie-modal--open{display:flex;}
.cookie-modal__overlay{
  position:absolute;inset:0;
  background:color-mix(in oklch, var(--c-ink), transparent 40%);
}
.cookie-modal__panel{
  position:relative;
  background:var(--c-paper);
  border-radius:var(--radius-lg);
  padding:2.2rem;
  max-width:520px;width:100%;
  max-height:85vh;overflow-y:auto;
  box-shadow:var(--shadow-lg);
  animation:modalIn .35s var(--ease-out);
}
@keyframes modalIn{from{opacity:0;transform:translateY(16px) scale(.98);}to{opacity:1;transform:translateY(0) scale(1);}}
.cookie-modal__title{font-size:1.4rem;margin-bottom:.6rem;}
.cookie-modal__lead{font-size:.9rem;color:var(--c-ink-70);margin-bottom:1.4rem;}
.cookie-modal__category{padding:1rem 0;border-top:1px solid var(--c-border-soft);}
.cookie-modal__category-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem;font-weight:600;}
.cookie-modal__category p{margin:0;font-size:.85rem;color:var(--c-ink-70);}
.cookie-modal__actions{display:flex;gap:.8rem;margin-top:1.6rem;flex-wrap:wrap;}

.switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0;}
.switch input{opacity:0;width:0;height:0;}
.switch__track{
  position:absolute;inset:0;
  background:var(--c-border);
  border-radius:var(--radius-pill);
  transition:background .25s;
  cursor:pointer;
}
.switch__track::before{
  content:"";
  position:absolute;top:3px;left:3px;
  width:18px;height:18px;border-radius:50%;
  background:var(--c-paper);
  transition:transform .25s var(--ease-out);
  box-shadow:var(--shadow-sm);
}
.switch input:checked + .switch__track{background:var(--c-clay);}
.switch input:checked + .switch__track::before{transform:translateX(18px);}
.switch--disabled .switch__track{opacity:.55;cursor:not-allowed;}


@media (max-width:640px){
  .hero{padding-top:6.5rem;}
  .section{padding:4rem 0;}
  .section--problem,.section--program,.section--method,.section--audience,.section--contact-preview{min-height:auto;padding:4.5rem 0;}
  .urgent-box{flex-direction:column;}
  .cookie-consent{max-width:88vw;}
}