/* =========================================================
   YUGAPO FIKIXE — core stylesheet
   Type-Driven / Editorial system built with color-mix()
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

:root{
  
  --color-ink:#181410;
  --color-paper:#faf6ee;
  --color-paper-alt:#f0e9db;
  --color-primary:#d9502f;
  --color-secondary:#1f3d3a;
  --color-accent:#e8b23d;

  
  --color-primary-light: color-mix(in oklch, var(--color-primary), white 28%);
  --color-primary-dark:  color-mix(in oklch, var(--color-primary), black 22%);
  --color-primary-soft:  color-mix(in oklch, var(--color-primary), var(--color-paper) 85%);
  --color-secondary-light: color-mix(in oklch, var(--color-secondary), white 30%);
  --color-secondary-soft:  color-mix(in oklch, var(--color-secondary), var(--color-paper) 88%);
  --color-accent-soft: color-mix(in oklch, var(--color-accent), var(--color-paper) 80%);
  --color-ink-soft: color-mix(in oklch, var(--color-ink), var(--color-paper) 25%);
  --color-ink-faint: color-mix(in oklch, var(--color-ink), transparent 45%);
  --color-border: color-mix(in oklch, var(--color-ink), transparent 88%);
  --color-border-strong: color-mix(in oklch, var(--color-ink), transparent 72%);
  --color-surface: color-mix(in oklch, var(--color-paper), var(--color-ink) 3%);
  --color-surface-raised: color-mix(in oklch, var(--color-paper), white 60%);

  --shadow-color: color-mix(in oklch, var(--color-ink), transparent 84%);
  --shadow-color-soft: color-mix(in oklch, var(--color-ink), transparent 92%);
  --shadow-sm: 1px 2px 4px var(--shadow-color-soft), 0px 1px 2px var(--shadow-color-soft);
  --shadow-md: 3px 6px 14px var(--shadow-color-soft), 8px 14px 28px var(--shadow-color);
  --shadow-lg: 8px 18px 36px var(--shadow-color), 18px 36px 64px color-mix(in oklch, var(--color-ink), transparent 90%);
  --shadow-xl: 14px 30px 60px color-mix(in oklch, var(--color-ink), transparent 80%), 26px 50px 90px color-mix(in oklch, var(--color-ink), transparent 90%);
  --shadow-accent: 6px 14px 30px color-mix(in oklch, var(--color-primary), transparent 62%);

  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --radius-xl: 40px;
  --radius-pill: 999px;

  --ease: cubic-bezier(.22,1,.36,1);
  --transition: .3s var(--ease);

  --fs-display: clamp(2.6rem, 5vw + 1.2rem, 6.2rem);
  --fs-h1: clamp(2.1rem, 3.4vw + 1rem, 3.8rem);
  --fs-h2: clamp(1.7rem, 2.4vw + 1rem, 2.8rem);
  --fs-h3: clamp(1.25rem, 1.4vw + 0.9rem, 1.8rem);
  --fs-lead: clamp(1.15rem, 0.6vw + 1rem, 1.4rem);
  --fs-body: clamp(1rem, 0.2vw + 0.95rem, 1.08rem);

  --container: 1240px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:'Geist','Inter',system-ui,-apple-system,sans-serif;
  background:var(--color-paper);
  color:var(--color-ink-soft);
  font-size:var(--fs-body);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
input,textarea{ font-family:inherit; }
h1,h2,h3,h4{ margin:0; font-weight:800; color:var(--color-ink); letter-spacing:-0.02em; line-height:1.05; }
p{ margin:0; }

.container{ max-width:var(--container); margin-inline:auto; padding-inline:clamp(1.25rem,5vw,3rem); }

section{ position:relative; }

::selection{ background:var(--color-accent); color:var(--color-ink); }


a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--color-primary); outline-offset:3px;
}


.global-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  padding:1rem 1.8rem; border-radius:var(--radius-pill);
  font-weight:700; font-size:.98rem; border:2px solid transparent;
  transition:transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition), border-color var(--transition);
  min-height:44px; white-space:nowrap;
}
.global-btn--primary{
  background:var(--color-primary); color:var(--color-paper); box-shadow:var(--shadow-accent);
}
.global-btn--primary:hover{ background:var(--color-primary-dark); transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.global-btn--outline{
  background:transparent; color:var(--color-ink); border-color:var(--color-ink);
}
.global-btn--outline:hover{ background:var(--color-ink); color:var(--color-paper); transform:translateY(-3px); }
.global-btn--ghost{
  background:var(--color-surface-raised); color:var(--color-ink); box-shadow:var(--shadow-sm);
}
.global-btn--ghost:hover{ box-shadow:var(--shadow-md); transform:translateY(-2px); }
.global-btn--light{ background:transparent; color:var(--color-paper); border-color:var(--color-paper); }
.global-btn--light:hover{ background:var(--color-paper); color:var(--color-ink); }


.global-header{ position:relative; z-index:60; padding:1rem clamp(1rem,3vw,2rem) 0; }
.global-nav-wrap{ max-width:var(--container); margin-inline:auto; }
.global-nav{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  background:var(--color-surface-raised);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
  padding:.7rem .8rem .7rem 1.2rem;
}
.global-nav__brand{ display:flex; align-items:center; gap:.6rem; }
.global-nav__logo{ height:34px; width:auto; }
.global-nav__brandtext{ font-weight:800; font-size:1.05rem; letter-spacing:-0.02em; color:var(--color-ink); }
.global-nav__links{ display:none; align-items:center; gap:.4rem; }
.global-nav__links a{
  padding:.6rem 1rem; border-radius:var(--radius-pill); font-weight:600; font-size:.94rem;
  color:var(--color-ink-soft); transition:background var(--transition), color var(--transition);
}
.global-nav__links a:hover{ background:var(--color-primary-soft); color:var(--color-primary-dark); }
.global-nav__cta{ display:none; }
.global-nav__toggle{
  width:46px; height:46px; border-radius:var(--radius-md); border:1px solid var(--color-border);
  background:var(--color-paper); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  transition:background var(--transition);
}
.global-nav__toggle span{ width:20px; height:2px; background:var(--color-ink); border-radius:2px; transition:transform var(--transition), opacity var(--transition); }
.global-nav__toggle:hover{ background:var(--color-primary-soft); }

@media (min-width:960px){
  .global-nav__links{ display:flex; }
  .global-nav__toggle{ display:none; }
  .global-nav__cta{ display:inline-flex; }
}


.global-mobile-menu{
  position:fixed; inset:0; z-index:200; background:var(--color-secondary);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  transform:translateY(-100%); transition:transform .55s var(--ease);
  padding:2rem 1.5rem;
}
.global-mobile-menu.is-open{ transform:translateY(0); }
.global-mobile-menu__links{ display:flex; flex-direction:column; align-items:center; gap:.4rem; margin-bottom:2.5rem; }
.global-mobile-menu__links li{ overflow:hidden; }
.global-mobile-menu__links a{
  display:block; font-size:clamp(1.8rem,7vw,2.6rem); font-weight:800; color:var(--color-paper);
  opacity:0; transform:translateY(-28px); transition:opacity .5s var(--ease), transform .5s var(--ease);
  padding:.35rem .5rem;
}
.global-mobile-menu.is-open .global-mobile-menu__links a{ opacity:1; transform:translateY(0); }
.global-mobile-menu.is-open .global-mobile-menu__links li:nth-child(1) a{ transition-delay:.12s; }
.global-mobile-menu.is-open .global-mobile-menu__links li:nth-child(2) a{ transition-delay:.19s; }
.global-mobile-menu.is-open .global-mobile-menu__links li:nth-child(3) a{ transition-delay:.26s; }
.global-mobile-menu.is-open .global-mobile-menu__links li:nth-child(4) a{ transition-delay:.33s; }
.global-mobile-menu.is-open .global-mobile-menu__links li:nth-child(5) a{ transition-delay:.4s; }
.global-mobile-menu__links a:hover{ color:var(--color-accent); }
.global-mobile-menu__close{
  border:2px solid var(--color-paper); color:var(--color-paper); background:transparent;
  padding:.9rem 2rem; border-radius:var(--radius-pill); font-weight:700; display:inline-flex; gap:.5rem; align-items:center;
  transition:background var(--transition), color var(--transition);
  min-height:44px;
}
.global-mobile-menu__close:hover{ background:var(--color-paper); color:var(--color-secondary); }
body.no-scroll{ overflow:hidden; }


.global-back-to-top{
  position:fixed; right:1.4rem; bottom:1.4rem; z-index:150;
  width:52px; height:52px; border-radius:50%; border:none;
  background:var(--color-ink); color:var(--color-paper); box-shadow:var(--shadow-lg);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:opacity var(--transition), transform var(--transition), visibility var(--transition), background var(--transition);
}
.global-back-to-top.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.global-back-to-top:hover{ background:var(--color-primary); }


.global-sidebar-cta{
  position:fixed; right:0; top:50%; transform:translateY(-50%); z-index:140;
  background:var(--color-primary); color:var(--color-paper);
  padding:1.1rem .7rem; border-radius:var(--radius-md) 0 0 var(--radius-md);
  box-shadow:var(--shadow-lg); writing-mode:vertical-rl; text-orientation:mixed;
  display:flex; align-items:center; gap:.6rem; font-weight:700; letter-spacing:.02em;
  transition:padding var(--transition), background var(--transition);
}
.global-sidebar-cta:hover{ background:var(--color-primary-dark); padding-inline:.95rem; }
@media (max-width:640px){
  .global-sidebar-cta{ top:auto; bottom:6.6rem; right:.9rem; transform:none; writing-mode:horizontal-tb; border-radius:var(--radius-pill); padding:.75rem 1.1rem; font-size:.85rem; }
}


.global-footer{ background:var(--color-ink); color:color-mix(in oklch, var(--color-paper), transparent 6%); margin-top:clamp(3rem,8vw,6rem); }
.global-footer__quote{
  max-width:900px; margin:0 auto; padding:clamp(3.5rem,8vw,6rem) clamp(1.25rem,5vw,3rem) 2.5rem; text-align:center;
}
.global-footer__quote p{
  font-size:clamp(1.5rem,3vw,2.4rem); font-weight:700; color:var(--color-paper); line-height:1.3; letter-spacing:-0.01em;
}
.global-footer__quote span{ display:block; margin-top:1.4rem; color:var(--color-accent); font-weight:600; font-size:.95rem; letter-spacing:.04em; text-transform:uppercase; }
.global-footer__grid{
  border-top:1px solid color-mix(in oklch, var(--color-paper), transparent 88%);
  max-width:var(--container); margin:0 auto; padding:2.6rem clamp(1.25rem,5vw,3rem);
  display:grid; gap:2.2rem; grid-template-columns:1fr;
}
@media (min-width:720px){ .global-footer__grid{ grid-template-columns:1.4fr 1fr 1fr 1.2fr; } }
.global-footer__col h4{ color:var(--color-paper); font-size:.95rem; letter-spacing:.05em; text-transform:uppercase; margin-bottom:1rem; font-weight:700; }
.global-footer__col p, .global-footer__col a{ color:color-mix(in oklch, var(--color-paper), transparent 25%); font-size:.92rem; display:block; margin-bottom:.6rem; transition:color var(--transition); }
.global-footer__col a:hover{ color:var(--color-accent); }
.global-footer__brand{ display:flex; align-items:center; gap:.6rem; margin-bottom:1rem; }
.global-footer__brand img{ height:30px; }
.global-footer__brand span{ color:var(--color-paper); font-weight:800; font-size:1.1rem; }
.global-footer__bottom{
  border-top:1px solid color-mix(in oklch, var(--color-paper), transparent 88%);
  max-width:var(--container); margin:0 auto; padding:1.4rem clamp(1.25rem,5vw,3rem) 2rem;
  display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center;
  font-size:.83rem; color:color-mix(in oklch, var(--color-paper), transparent 35%);
}
.global-footer__bottom a{ color:inherit; }
.global-footer__bottom a:hover{ color:var(--color-accent); }
.global-footer__legal{ display:flex; gap:1.2rem; flex-wrap:wrap; }


.global-cookie-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:300;
  background:var(--color-surface-raised); border-top:1px solid var(--color-border);
  box-shadow:var(--shadow-xl);
  display:none; grid-template-columns:1.3fr 1fr;
  transform:translateY(100%); transition:transform .5s var(--ease);
}
.global-cookie-banner.is-visible{ display:grid; }
.global-cookie-banner.is-shown{ transform:translateY(0); }
.global-cookie-banner__text{ padding:1.6rem clamp(1.25rem,4vw,2.5rem); border-right:1px solid var(--color-border); }
.global-cookie-banner__text h3{ font-size:1.05rem; margin-bottom:.5rem; }
.global-cookie-banner__text p{ font-size:.88rem; color:var(--color-ink-faint); line-height:1.55; }
.global-cookie-banner__text a{ text-decoration:underline; color:var(--color-primary); }
.global-cookie-banner__actions{ padding:1.6rem clamp(1.25rem,4vw,2.5rem); display:flex; flex-direction:column; gap:.8rem; }
.global-cookie-banner__toggles{ display:flex; flex-wrap:wrap; gap:.6rem; }
.global-cookie-banner__toggle{ display:flex; align-items:center; gap:.4rem; font-size:.8rem; background:var(--color-surface); padding:.4rem .7rem; border-radius:var(--radius-pill); border:1px solid var(--color-border); }
.global-cookie-banner__toggle input{ accent-color:var(--color-primary); width:16px; height:16px; }
.global-cookie-banner__buttons{ display:flex; gap:.6rem; flex-wrap:wrap; }
.global-cookie-banner__buttons button{
  padding:.65rem 1.1rem; border-radius:var(--radius-pill); font-weight:700; font-size:.83rem; border:2px solid var(--color-ink); min-height:44px;
  transition:var(--transition);
}
.global-cookie-banner__accept{ background:var(--color-ink); color:var(--color-paper); }
.global-cookie-banner__accept:hover{ background:var(--color-primary); border-color:var(--color-primary); }
.global-cookie-banner__necessary-only{ background:transparent; color:var(--color-ink); }
.global-cookie-banner__necessary-only:hover{ background:var(--color-ink); color:var(--color-paper); }
.global-cookie-banner__save{ background:var(--color-paper); color:var(--color-ink); border-style:dashed; }
.global-cookie-banner__save:hover{ border-style:solid; }

@media (max-width:800px){
  .global-cookie-banner{ grid-template-columns:1fr; max-height:88vh; overflow-y:auto; }
  .global-cookie-banner__text{ border-right:none; border-bottom:1px solid var(--color-border); }
}


.section-pad{ padding-block:clamp(3.5rem,8vw,6.5rem); }
.section-label{
  display:inline-flex; align-items:center; gap:.5rem; font-size:.78rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--color-primary-dark); margin-bottom:1rem;
}
.section-label::before{ content:''; width:26px; height:2px; background:var(--color-primary); display:inline-block; }


.home-hero{ padding-block:clamp(2rem,6vw,4rem) clamp(3rem,7vw,5rem); overflow:hidden; }
.home-hero__grid{ display:grid; gap:2.5rem; align-items:end; }
.home-hero__eyebrow{ display:inline-flex; align-items:center; gap:.6rem; background:var(--color-accent-soft); color:var(--color-primary-dark); padding:.5rem 1rem; border-radius:var(--radius-pill); font-size:.82rem; font-weight:700; letter-spacing:.03em; margin-bottom:1.6rem; }
.home-hero__title{ font-size:var(--fs-display); font-weight:800; letter-spacing:-0.035em; line-height:.98; }
.home-hero__title em{ font-style:normal; color:var(--color-primary); }
.home-hero__title .u{ position:relative; white-space:nowrap; }
.home-hero__lead{ font-size:var(--fs-lead); color:var(--color-ink-faint); max-width:46ch; margin-top:1.8rem; }
.home-hero__actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.2rem; }
.home-hero__media{ position:relative; }
.home-hero__media img{ width:100%; height:clamp(260px,38vw,420px); object-fit:cover; border-radius:var(--radius-xl); box-shadow:var(--shadow-xl); }
.home-hero__media-tag{
  position:absolute; left:-1rem; bottom:-1.2rem; background:var(--color-paper); border:1px solid var(--color-border);
  padding:.9rem 1.2rem; border-radius:var(--radius-md); box-shadow:var(--shadow-lg); max-width:220px; font-size:.85rem; color:var(--color-ink-faint);
}
.home-hero__media-tag strong{ display:block; color:var(--color-ink); font-size:1.4rem; }
@media (min-width:960px){
  .home-hero__grid{ grid-template-columns:1.15fr .85fr; }
}


.home-mission{ background:var(--color-paper-alt); }
.home-mission__grid{ display:grid; gap:2rem; }
.home-mission__label{ font-size:.85rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--color-secondary); }
.home-mission__text{ font-size:var(--fs-h2); font-weight:700; letter-spacing:-0.02em; line-height:1.2; }
.home-mission__text .accent{ color:var(--color-primary); }
.home-mission__note{ font-size:1.02rem; color:var(--color-ink-faint); max-width:42ch; align-self:end; }
@media (min-width:860px){
  .home-mission__grid{ grid-template-columns:.7fr 2fr; align-items:start; }
}


.home-courses{ padding-block:clamp(4rem,9vw,7rem) clamp(6rem,12vw,9rem); }
.home-courses__head{ max-width:640px; margin-bottom:2.6rem; }
.home-courses__head h2{ font-size:var(--fs-h1); }
.home-courses__cascade{ display:flex; flex-direction:column; }
.home-courses__card{
  display:grid; gap:1.6rem; background:var(--color-surface-raised); border:1px solid var(--color-border);
  border-radius:var(--radius-lg); padding:clamp(1.4rem,3vw,2.2rem); box-shadow:var(--shadow-md);
  position:relative; transition:transform var(--transition), box-shadow var(--transition);
}
.home-courses__card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-xl); }
.home-courses__card:not(:first-child){ margin-top:-2.4rem; }
.home-courses__card:nth-child(1){ z-index:4; }
.home-courses__card:nth-child(2){ z-index:3; margin-left:clamp(0px,3vw,2.2rem); }
.home-courses__card:nth-child(3){ z-index:2; margin-left:clamp(0px,6vw,4.4rem); }
.home-courses__card:nth-child(4){ z-index:1; margin-left:clamp(0px,9vw,6.6rem); }
.home-courses__card img{ width:100%; height:190px; object-fit:cover; border-radius:var(--radius-md); }
.home-courses__num{ position:absolute; top:1.2rem; right:1.4rem; font-size:2.6rem; font-weight:800; color:var(--color-border-strong); }
.home-courses__card h3{ font-size:1.5rem; margin-bottom:.6rem; padding-right:3rem; }
.home-courses__card p{ color:var(--color-ink-faint); }
.home-courses__card .tag{ display:inline-flex; align-items:center; gap:.4rem; margin-top:1rem; font-size:.82rem; font-weight:700; color:var(--color-secondary); cursor:help; border-bottom:1px dashed var(--color-secondary); }
@media (min-width:760px){
  .home-courses__card{ grid-template-columns:220px 1fr; align-items:center; }
  .home-courses__card img{ height:150px; }
}


.home-cta-split, .courses-cta-split, .families-cta-split, .psychology-cta-split{
  background:var(--color-secondary); color:var(--color-paper); border-radius:var(--radius-xl);
  margin-inline:clamp(1.25rem,5vw,3rem); padding:clamp(2.5rem,6vw,4rem); box-shadow:var(--shadow-lg);
  display:grid; gap:2rem;
}
@media (min-width:820px){
  .home-cta-split, .courses-cta-split, .families-cta-split, .psychology-cta-split{ grid-template-columns:1.3fr .7fr; align-items:center; }
}
.home-cta-split h2, .courses-cta-split h2, .families-cta-split h2, .psychology-cta-split h2{ color:var(--color-paper); font-size:var(--fs-h2); }
.home-cta-split p, .courses-cta-split p, .families-cta-split p, .psychology-cta-split p{ color:color-mix(in oklch, var(--color-paper), transparent 22%); margin-top:1rem; max-width:44ch; }
.home-cta-split__actions, .courses-cta-split__actions, .families-cta-split__actions, .psychology-cta-split__actions{ display:flex; flex-direction:column; gap:.9rem; align-items:flex-start; }
@media (min-width:820px){ .home-cta-split__actions, .courses-cta-split__actions, .families-cta-split__actions, .psychology-cta-split__actions{ align-items:flex-end; } }


.home-steps{ padding-block:clamp(4rem,9vw,7rem); }
.home-steps__head{ display:flex; flex-direction:column; gap:.6rem; margin-bottom:3rem; max-width:560px; }
.home-steps__head h2{ font-size:var(--fs-h1); }
.home-steps__list{ display:grid; gap:0; border-top:1px solid var(--color-border); }
.home-steps__item{ display:grid; grid-template-columns:70px 1fr; gap:1.4rem; padding-block:1.8rem; border-bottom:1px solid var(--color-border); align-items:start; transition:background var(--transition); }
.home-steps__item:hover{ background:var(--color-primary-soft); }
.home-steps__item span{ font-size:2rem; font-weight:800; color:var(--color-border-strong); }
.home-steps__item h3{ font-size:1.25rem; margin-bottom:.4rem; }
.home-steps__item p{ color:var(--color-ink-faint); max-width:56ch; }
@media (min-width:760px){ .home-steps__item{ grid-template-columns:100px 1fr; } }


.home-psychology{ background:var(--color-accent-soft); border-radius:var(--radius-xl); margin-inline:clamp(1.25rem,5vw,3rem); padding:clamp(2.5rem,6vw,4.5rem); display:grid; gap:2.4rem; }
.home-psychology img{ width:100%; height:clamp(220px,30vw,340px); object-fit:cover; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); }
.home-psychology blockquote{ font-size:var(--fs-h2); font-weight:700; line-height:1.25; letter-spacing:-0.015em; margin:0 0 1.2rem; }
.home-psychology a.global-btn{ margin-top:.6rem; }
@media (min-width:900px){ .home-psychology{ grid-template-columns:1fr 1fr; align-items:center; } .home-psychology--rev{ direction:rtl; } .home-psychology--rev > *{ direction:ltr; } }


.home-families{ padding-block:clamp(4rem,9vw,7rem); }
.home-families__inner{ display:grid; gap:2rem; align-items:center; background:var(--color-surface-raised); border:1px solid var(--color-border); border-radius:var(--radius-xl); box-shadow:var(--shadow-md); padding:clamp(1.6rem,4vw,3rem); }
.home-families img{ width:100%; height:220px; object-fit:cover; border-radius:var(--radius-lg); }
.home-families__content h2{ font-size:var(--fs-h2); }
.home-families__content p{ color:var(--color-ink-faint); margin-top:1rem; max-width:52ch; }
@media (min-width:860px){ .home-families__inner{ grid-template-columns:.8fr 1.2fr; } }


.home-glossary, .psychology-glossary{ padding-block:clamp(4rem,9vw,7rem); }
.home-glossary__head, .psychology-glossary__head{ max-width:600px; margin-bottom:2.2rem; }
.home-glossary__head h2, .psychology-glossary__head h2{ font-size:var(--fs-h1); }
.home-glossary__chips, .psychology-glossary__chips{ display:flex; flex-wrap:wrap; gap:.8rem; }
.home-glossary__chip, .psychology-glossary__chip{
  padding:.9rem 1.3rem; border-radius:var(--radius-pill); background:var(--color-ink); color:var(--color-paper);
  font-weight:600; font-size:.95rem; cursor:help; transition:transform var(--transition), background var(--transition);
}
.home-glossary__chip:hover, .psychology-glossary__chip:hover{ background:var(--color-primary); transform:translateY(-3px); }


.page-hero{ padding-block:clamp(2.5rem,6vw,4.5rem) clamp(3rem,7vw,5rem); }
.page-hero__eyebrow{ font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--color-primary-dark); margin-bottom:1.2rem; display:block; }
.page-hero__title{ font-size:var(--fs-display); line-height:.98; letter-spacing:-0.03em; max-width:16ch; }
.page-hero__title .accent{ color:var(--color-primary); }
.page-hero__lead{ font-size:var(--fs-lead); color:var(--color-ink-faint); max-width:60ch; margin-top:1.6rem; }
.page-hero__media{ margin-top:2.4rem; border-radius:var(--radius-xl); overflow:hidden; box-shadow:var(--shadow-xl); }
.page-hero__media img{ width:100%; height:clamp(220px,34vw,420px); object-fit:cover; }


.courses-list{ padding-block:clamp(3rem,7vw,5.5rem); display:flex; flex-direction:column; gap:clamp(2.5rem,5vw,4rem); }
.courses-list__item{ display:grid; gap:1.6rem; border-top:1px solid var(--color-border); padding-top:2.4rem; }
.courses-list__item:first-child{ border-top:none; padding-top:0; }
.courses-list__num{ font-size:.9rem; font-weight:700; color:var(--color-primary); letter-spacing:.08em; }
.courses-list__item h3{ font-size:var(--fs-h2); margin-top:.5rem; max-width:20ch; }
.courses-list__item p{ color:var(--color-ink-faint); max-width:60ch; margin-top:1rem; }
.courses-list__meta{ display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.2rem; }
.courses-list__meta span{ background:var(--color-secondary-soft); color:var(--color-secondary); font-size:.8rem; font-weight:700; padding:.4rem .8rem; border-radius:var(--radius-pill); }
.courses-list__img{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); }
.courses-list__img img{ width:100%; height:clamp(180px,26vw,300px); object-fit:cover; }
@media (min-width:860px){ .courses-list__item{ grid-template-columns:1fr .8fr; align-items:center; } .courses-list__item:nth-child(even){ direction:rtl; } .courses-list__item:nth-child(even) > *{ direction:ltr; } }

.courses-steps{ background:var(--color-paper-alt); padding-block:clamp(3.5rem,7vw,6rem); }
.courses-steps__grid{ display:grid; gap:1.6rem; margin-top:2.2rem; }
.courses-steps__card{ background:var(--color-surface-raised); border:1px solid var(--color-border); border-radius:var(--radius-lg); padding:1.8rem; box-shadow:var(--shadow-sm); transition:box-shadow var(--transition), transform var(--transition); }
.courses-steps__card:hover{ box-shadow:var(--shadow-md); transform:translateY(-4px); }
.courses-steps__card i{ font-size:1.4rem; color:var(--color-primary); margin-bottom:.9rem; display:block; }
@media (min-width:720px){ .courses-steps__grid{ grid-template-columns:repeat(4,1fr); } }

.courses-note{ padding-block:clamp(3rem,6vw,5rem); }
.courses-note__box{ border:2px dashed var(--color-border-strong); border-radius:var(--radius-lg); padding:clamp(1.6rem,4vw,2.6rem); max-width:820px; }
.courses-note__box h3{ font-size:1.3rem; margin-bottom:.8rem; }
.courses-note__box p{ color:var(--color-ink-faint); }
.courses-note__box p + p{ margin-top:.8rem; }


.families-content{ padding-block:clamp(3.5rem,7vw,6rem); }
.families-content__grid{ display:grid; gap:2rem; }
.families-content__text h2{ font-size:var(--fs-h2); max-width:18ch; }
.families-content__text p{ color:var(--color-ink-faint); margin-top:1.2rem; max-width:52ch; }
.families-content__text p + p{ margin-top:1rem; }
@media (min-width:900px){ .families-content__grid{ grid-template-columns:1fr 1fr; } }

.families-grid{ padding-block:clamp(3.5rem,7vw,6rem); background:var(--color-paper-alt); }
.families-grid__list{ display:grid; gap:1.4rem; margin-top:2.2rem; }
.families-grid__item{ background:var(--color-surface-raised); border-radius:var(--radius-lg); padding:1.8rem; box-shadow:var(--shadow-sm); border-left:4px solid var(--color-primary); transition:transform var(--transition), box-shadow var(--transition); }
.families-grid__item:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.families-grid__item h3{ font-size:1.15rem; margin-bottom:.6rem; }
.families-grid__item p{ color:var(--color-ink-faint); font-size:.94rem; }
@media (min-width:760px){ .families-grid__list{ grid-template-columns:repeat(2,1fr); } }


.psychology-content{ padding-block:clamp(3.5rem,7vw,6rem); display:flex; flex-direction:column; gap:clamp(3rem,6vw,4.5rem); }
.psychology-content__block{ display:grid; gap:1.4rem; }
.psychology-content__block h2{ font-size:var(--fs-h2); max-width:18ch; }
.psychology-content__block p{ color:var(--color-ink-faint); max-width:62ch; }
.psychology-content__quote{ font-size:var(--fs-h3); font-weight:700; color:var(--color-secondary); border-left:4px solid var(--color-accent); padding-left:1.4rem; max-width:56ch; }
.psychology-content__img{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); }
.psychology-content__img img{ width:100%; height:clamp(200px,30vw,320px); object-fit:cover; }
@media (min-width:860px){ .psychology-content__block--media{ grid-template-columns:1fr 1fr; align-items:center; } }




.contact-form-section{ padding-block:clamp(3rem,7vw,5.5rem); }
.contact-form-section__intro{ max-width:640px; margin:0 auto 2.6rem; text-align:center; }
.contact-form-section__intro h1{ font-size:var(--fs-h1); }
.contact-form-section__intro p{ color:var(--color-ink-faint); margin-top:1rem; }
.contact-form-section__quote{ font-size:1.05rem; font-style:italic; color:var(--color-secondary); margin-top:1.4rem; }
.contact-form-section__grid{ display:grid; gap:2.4rem; max-width:900px; margin:0 auto; }
.contact-form-section form{
  background:var(--color-surface-raised); border:1px solid var(--color-border); border-radius:var(--radius-xl);
  padding:clamp(1.6rem,5vw,3rem); box-shadow:var(--shadow-lg); display:flex; flex-direction:column; gap:1.8rem;
}
.contact-form-section__field label{ display:block; font-weight:700; margin-bottom:.5rem; font-size:.95rem; }
.contact-form-section__field input,
.contact-form-section__field textarea{
  width:100%; padding:.95rem 1.1rem; border-radius:var(--radius-md); border:1px solid var(--color-border-strong);
  background:var(--color-paper); font-size:1rem; color:var(--color-ink); transition:border-color var(--transition), box-shadow var(--transition);
}
.contact-form-section__field input:focus, .contact-form-section__field textarea:focus{ border-color:var(--color-primary); box-shadow:0 0 0 4px var(--color-primary-soft); outline:none; }
.contact-form-section__help{ font-size:.82rem; color:var(--color-ink-faint); margin-top:.45rem; }
.contact-form-section__privacy{ display:flex; align-items:flex-start; gap:.7rem; font-size:.92rem; }
.contact-form-section__privacy input{ margin-top:.3rem; width:18px; height:18px; accent-color:var(--color-primary); flex-shrink:0; }
.contact-form-section__submit{ align-self:flex-start; }
.contact-form-section__map{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); border:1px solid var(--color-border); }
.contact-form-section__map iframe{ width:100%; height:280px; border:0; display:block; }
.contact-form-section__details{ display:grid; gap:1rem; margin-top:1.6rem; }
@media (min-width:700px){ .contact-form-section__details{ grid-template-columns:repeat(3,1fr); } }
.contact-form-section__details div{ background:var(--color-paper-alt); padding:1.2rem; border-radius:var(--radius-md); }
.contact-form-section__details i{ color:var(--color-primary); margin-right:.5rem; }

.iti, #phone{ width:100%; }


.thanks-hero{ min-height:70vh; display:flex; align-items:center; justify-content:center; text-align:center; background:var(--color-secondary); color:var(--color-paper); padding:4rem 1.5rem; border-radius:var(--radius-xl); margin:1.5rem clamp(1rem,4vw,2rem); }
.thanks-hero__inner{ max-width:600px; }
.thanks-hero__inner i{ font-size:2.6rem; color:var(--color-accent); margin-bottom:1.4rem; }
.thanks-hero__inner h1{ color:var(--color-paper); font-size:var(--fs-h1); }
.thanks-hero__inner p{ margin-top:1.2rem; color:color-mix(in oklch, var(--color-paper), transparent 15%); font-size:1.1rem; }
.thanks-hero__inner .global-btn{ margin-top:2rem; }


.legal-hero{ padding-block:clamp(2.5rem,6vw,4rem) 1rem; }
.legal-hero h1{ font-size:var(--fs-h1); }
.legal-hero p{ color:var(--color-ink-faint); margin-top:.9rem; max-width:60ch; }
.legal-hero__date{ display:inline-flex; align-items:center; gap:.5rem; margin-top:1.2rem; background:var(--color-accent-soft); color:var(--color-primary-dark); padding:.5rem 1rem; border-radius:var(--radius-pill); font-weight:700; font-size:.85rem; }

.privacy-timeline{ padding-block:clamp(2rem,5vw,4rem) clamp(4rem,8vw,6rem); position:relative; max-width:820px; margin-inline:auto; }
.privacy-timeline::before{ content:''; position:absolute; left:20px; top:0; bottom:0; width:2px; background:var(--color-border-strong); }
.privacy-timeline__item{ position:relative; padding-left:56px; margin-bottom:2.6rem; }
.privacy-timeline__item::before{ content:''; position:absolute; left:12px; top:6px; width:18px; height:18px; border-radius:50%; background:var(--color-primary); border:4px solid var(--color-paper); box-shadow:0 0 0 2px var(--color-border-strong); }
.privacy-timeline__date{ font-size:.78rem; font-weight:700; color:var(--color-primary-dark); text-transform:uppercase; letter-spacing:.06em; }
.privacy-timeline__item h2{ font-size:1.35rem; margin:.4rem 0 .7rem; }
.privacy-timeline__item p{ color:var(--color-ink-faint); }
.privacy-timeline__item p + p{ margin-top:.7rem; }

.terms-timeline{ padding-block:clamp(2rem,5vw,4rem) clamp(4rem,8vw,6rem); max-width:800px; margin-inline:auto; }
.terms-timeline__item{ display:grid; grid-template-columns:70px 1fr; gap:1.4rem; padding-block:2rem; border-bottom:1px solid var(--color-border); }
.terms-timeline__item:first-child{ border-top:1px solid var(--color-border); }
.terms-timeline__letter{ font-size:2.4rem; font-weight:800; color:var(--color-secondary-light); }
.terms-timeline__item h2{ font-size:1.3rem; margin-bottom:.6rem; }
.terms-timeline__item p{ color:var(--color-ink-faint); }
.terms-timeline__item p + p{ margin-top:.6rem; }
.terms-timeline__badge{ display:inline-block; margin-top:.8rem; font-size:.74rem; font-weight:700; color:var(--color-secondary); background:var(--color-secondary-soft); padding:.3rem .7rem; border-radius:var(--radius-pill); }

.cookies-blocks{ padding-block:clamp(2rem,5vw,4rem) clamp(4rem,8vw,6rem); max-width:760px; margin-inline:auto; display:grid; gap:1.4rem; }
.cookies-blocks__item{ background:var(--color-surface-raised); border:1px solid var(--color-border); border-radius:var(--radius-lg); padding:1.8rem; box-shadow:var(--shadow-sm); }
.cookies-blocks__item i{ font-size:1.3rem; color:var(--color-primary); }
.cookies-blocks__item h2{ font-size:1.15rem; margin:.7rem 0 .6rem; }
.cookies-blocks__item p{ color:var(--color-ink-faint); font-size:.94rem; }
.cookies-blocks__item table{ width:100%; margin-top:1rem; border-collapse:collapse; font-size:.85rem; }
.cookies-blocks__item th, .cookies-blocks__item td{ text-align:left; padding:.5rem; border-bottom:1px solid var(--color-border); }


.tippy-box[data-theme~='custom']{ background:var(--color-ink); color:var(--color-paper); font-size:.85rem; border-radius:var(--radius-sm); box-shadow:var(--shadow-md); }
.tippy-box[data-theme~='custom'][data-placement^='top'] .tippy-arrow::before{ border-top-color:var(--color-ink); }
.tippy-box[data-theme~='custom'][data-placement^='bottom'] .tippy-arrow::before{ border-bottom-color:var(--color-ink); }


[data-aos]{ pointer-events:auto; }


@media (max-width:480px){
  .home-courses__card:not(:first-child){ margin-top:-1.4rem; }
  .home-courses__card:nth-child(2), .home-courses__card:nth-child(3), .home-courses__card:nth-child(4){ margin-left:0; }
}
@media (min-width:1200px){
  .container{ padding-inline:2.4rem; }
}