:root{
  --dark:#8b3b63;
  --dark-2:#62324e;
  --pink:#f29ac2;
  --coral:#ef7f91;
  --cream:#fff7f7;
  --paper:#ffffff;
  --ink:#3d2433;
  --muted:#76566a;
  --line:rgba(139,59,99,.16);
  --shadow:0 20px 50px rgba(63,27,49,.10);
  --radius:24px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.55;
}
a{color:var(--dark); text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%; display:block}
.container{width:min(1180px, calc(100% - 32px)); margin:0 auto}

.topbar{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,247,247,.92);
  border-bottom:1px solid var(--line);
  backdrop-filter: blur(14px);
}
.topbar__inner{
  height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.brand{display:flex; align-items:center}
.brand__logo{height:68px; width:auto; object-fit:contain}
.nav{display:flex; align-items:center; gap:8px}
.nav__link, .lang__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  color:var(--dark-2);
  font-weight:900;
  border:0;
  background:transparent;
  cursor:pointer;
}
.nav__link--cta{
  background:var(--dark);
  color:#fff;
  box-shadow:0 12px 26px rgba(139,59,99,.20);
}
.lang__btn{
  border:1px solid var(--line);
  background:#fff;
}
.nav__link--mobile{display:none}
.burger{display:none; border:0; background:#fff; border-radius:14px; padding:10px; box-shadow:0 6px 18px rgba(139,59,99,.12)}
.burger span{display:block; width:25px; height:3px; background:var(--dark); margin:5px; border-radius:99px}

.hero{
  position:relative;
  overflow:hidden;
  padding:74px 0 70px;
  background:linear-gradient(180deg,#fff 0%, var(--cream) 100%);
}
.hero__wash{
  position:absolute; inset:auto 0 0 0; height:44%;
  background:url("assets/heart-wave.svg") center bottom/100% 100% no-repeat;
  opacity:.86;
  pointer-events:none;
}
.hero__grid{
  position:relative;
  display:grid;
  grid-template-columns:1.06fr .72fr;
  align-items:center;
  gap:52px;
}
.hero__kicker{display:flex; align-items:center; gap:10px; color:var(--muted); font-weight:900; margin-bottom:16px}
.pill{background:rgba(242,154,194,.24); color:var(--dark); border:1px solid rgba(242,154,194,.48); padding:7px 12px; border-radius:999px}
.dot{width:8px; height:8px; border-radius:999px; background:var(--pink)}
.hero h1{
  margin:0 0 18px;
  color:var(--dark);
  font-size:clamp(2.7rem, 5vw, 5.2rem);
  line-height:.98;
  letter-spacing:-.05em;
}
.hero__desc{max-width:680px; font-size:1.18rem; color:var(--muted); margin:0 0 26px}
.hero__actions{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:50px; padding:0 22px; border-radius:999px;
  font-weight:950; border:1px solid transparent;
  cursor:pointer; font-family:inherit; font-size:1rem;
}
.btn--primary{background:var(--dark); color:#fff; box-shadow:0 14px 26px rgba(139,59,99,.22)}
.btn--ghost{background:#fff; color:var(--dark); border-color:var(--line)}
.btn--wide{width:100%}
.meta{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px}
.meta__item{
  display:flex; gap:12px; align-items:center;
  background:#fff; border:1px solid var(--line); border-radius:18px; padding:14px;
  box-shadow:0 8px 22px rgba(139,59,99,.06);
}
.meta__item img{width:32px; height:32px}
.meta__label{text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; color:var(--muted); font-weight:950}
.meta__value{font-weight:950; color:var(--dark-2)}
.hero__poster{
  background:#fff; border-radius:32px; padding:12px; border:1px solid var(--line); box-shadow:var(--shadow);
  transform:rotate(1.2deg);
}
.hero__poster img{border-radius:24px; width:100%; object-fit:cover}

.section{padding:76px 0}
.section--alt{background:#fff}
.section__head{text-align:center; max-width:780px; margin:0 auto 34px}
.section__head h2{
  margin:0 0 10px;
  color:var(--dark);
  font-size:clamp(2rem, 3.2vw, 3rem);
  line-height:1.1;
}
.lead{font-size:1.08rem; color:var(--muted); margin:0 auto}

.cards{display:grid; gap:22px}
.cards--three{grid-template-columns:repeat(3, minmax(0,1fr))}
.cards--two{grid-template-columns:repeat(2, minmax(0,1fr))}
.card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px;
  box-shadow:0 16px 40px rgba(139,59,99,.06);
}
.card__icon{
  width:48px; height:48px; display:grid; place-items:center; background:rgba(242,154,194,.16);
  border-radius:16px; margin-bottom:16px;
}
.card__icon img{width:30px; height:30px}
.card h3{margin:0 0 8px; color:var(--dark)}
.card p{margin:0; color:var(--muted)}
.pricePanel{
  margin-top:26px; background:linear-gradient(135deg, rgba(139,59,99,.08), rgba(242,154,194,.14));
  border:1px solid var(--line); border-radius:26px; padding:24px; box-shadow:0 18px 40px rgba(139,59,99,.06);
}
.pricePanel__head{display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:16px}
.pricePanel__head h3{margin:0; color:var(--dark); font-size:1.6rem}
.pricePanel__head span{font-weight:900; color:var(--muted)}
.priceGrid{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px}
.priceTier{background:#fff; border:1px solid var(--line); border-radius:20px; padding:18px}
.priceTier__date{font-weight:950; color:var(--dark); margin-bottom:10px}
.priceTier div:not(.priceTier__date){display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid rgba(139,59,99,.10)}
.priceTier span{font-weight:950}

.dayTag{
  display:inline-flex; align-items:center;
  padding:8px 14px; border-radius:999px;
  background:rgba(242,154,194,.18); border:1px solid rgba(242,154,194,.46);
  color:var(--dark); font-weight:950; margin-bottom:16px;
}
.agenda__list{list-style:none; padding:0; margin:0; display:grid; gap:10px}
.agenda__list li{
  display:grid; grid-template-columns:105px 1fr; gap:14px; align-items:start;
  padding:12px 14px; border-radius:16px; border:1px solid var(--line); background:#fff;
}
.agenda__time{font-weight:950; color:var(--dark); white-space:nowrap; text-align:right}
.agenda__item{line-height:1.45}
.agenda__break{background:rgba(242,154,194,.16)!important; border-style:dashed!important}
.agenda__break .agenda__time{opacity:.68}
.agenda__break .agenda__item{font-weight:850}

.registerGrid{display:grid; grid-template-columns:1.1fr .74fr; gap:24px; align-items:start}
.form,.side__box{
  background:#fff; border:1px solid var(--line); border-radius:28px; padding:24px; box-shadow:var(--shadow);
}
.row{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px}
.field{display:grid; gap:7px; margin-bottom:16px}
label{font-weight:950; color:var(--dark-2)}
input,select{
  width:100%; min-height:48px; border:1px solid rgba(139,59,99,.22); border-radius:15px;
  padding:0 14px; font:inherit; background:#fff; color:var(--ink);
}
input:focus, select:focus{outline:3px solid rgba(242,154,194,.26); border-color:var(--pink)}
.checks{display:flex; gap:12px; flex-wrap:wrap; margin:8px 0 16px}
.check{
  display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:999px; padding:10px 13px; background:#fff;
}
.check input{width:auto; min-height:auto}
.check--rodo{border-radius:18px; align-items:flex-start; line-height:1.35}
.box{background:rgba(242,154,194,.09); border:1px solid rgba(242,154,194,.28); border-radius:20px; padding:16px; margin:14px 0}
.hidden{display:none!important}
.price{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  border:1px solid var(--line); border-radius:22px; padding:18px; margin:16px 0;
  background:linear-gradient(135deg, rgba(242,154,194,.14), rgba(139,59,99,.07));
}
.price__label{text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; color:var(--muted); font-weight:950}
.price__hint{font-size:.9rem; color:var(--muted)}
.price__amount{font-size:2rem; font-weight:950; color:var(--dark); white-space:nowrap}
.form__note{font-size:.92rem; color:var(--muted)}
.toast{display:none; margin-top:12px; padding:12px; border-radius:16px; background:#fff3f6; color:var(--dark); font-weight:900}
.toast.show{display:block}
.side{display:grid; gap:18px}
.side__box h3{margin:0 0 12px; color:var(--dark)}
.muted{color:var(--muted)}
.payBox{
  margin-top:12px; padding:14px; border-radius:18px; border:1px dashed rgba(139,59,99,.22);
  background:rgba(139,59,99,.03);
}
.payBox--active{
  border-style:solid; border-color:rgba(139,59,99,.55); background:rgba(242,154,194,.15);
  box-shadow:0 12px 24px rgba(139,59,99,.07);
}
.payBox__tag{font-weight:950; color:var(--dark); letter-spacing:.1em; font-size:.78rem; margin-bottom:6px}
.contactLine{display:flex; gap:10px; align-items:center; font-weight:900}
.contactLine a{color:var(--dark); text-decoration:none}

.termsBox{
  background:#fff; border:1px solid var(--line); border-radius:28px; padding:22px 24px; box-shadow:var(--shadow);
}
.termsBox summary{cursor:pointer; display:flex; flex-direction:column; gap:4px; font-size:1.4rem; font-weight:950; color:var(--dark)}
.termsBox summary small{font-size:.95rem; color:var(--muted); font-weight:650}
.termsContent{margin-top:22px}
.rulesList{margin:0; padding-left:22px; display:grid; gap:12px}
.rulesList li{line-height:1.55}
.rulesList ul{margin-top:8px; padding-left:18px; display:grid; gap:6px}

.footer{background:var(--dark); color:#fff; padding:26px 0}
.footer__inner{display:flex; align-items:center; justify-content:center; gap:10px; font-weight:850}
.sep{opacity:.55}

.sponsors{background:var(--paper)}
.sponsorGroup + .sponsorGroup{margin-top:48px}
.sponsors .section__head{text-align:center}
.sponsorGrid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; list-style:none; margin:0; padding:0}
.sponsorLogo{display:flex; align-items:center; justify-content:center; min-width:0; height:130px; padding:20px; background:#fff; border:1px solid var(--line); border-radius:var(--radius)}
.sponsorLogo img{width:100%; height:100%; object-fit:contain}
.sponsorGrid--main .sponsorLogo{height:170px}
@media (max-width:760px){
  .sponsorGrid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px}
  .sponsorLogo{height:110px; padding:14px}
  .sponsorGrid--main .sponsorLogo{height:140px}
}
@media (max-width:380px){
  .sponsorGrid{grid-template-columns:1fr}
}

@media (max-width: 980px){
  .topbar__inner{height:76px}
  .brand__logo{height:56px}
  .burger{display:block}
  .nav{
    position:absolute; top:76px; left:16px; right:16px; display:none; flex-direction:column; align-items:stretch;
    padding:14px; background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow);
  }
  .nav.is-open{display:flex}
  .nav__link,.lang__btn{width:100%; justify-content:flex-start}
  .nav__link--mobile{display:inline-flex}
  .hero{padding:44px 0 58px}
  .hero__grid{grid-template-columns:1fr; gap:30px}
  .hero__poster{max-width:520px; margin:0 auto}
  .meta{grid-template-columns:1fr}
  .cards--three,.cards--two,.registerGrid,.priceGrid{grid-template-columns:1fr}
  .row{grid-template-columns:1fr}
  .pricePanel__head{align-items:flex-start; flex-direction:column}
}
@media (max-width: 520px){
  .container{width:min(100% - 22px, 1180px)}
  .hero h1{font-size:2.55rem}
  .hero__actions{flex-direction:column}
  .btn{width:100%}
  .agenda__list li{grid-template-columns:1fr; gap:5px}
  .agenda__time{text-align:left; opacity:.7}
  .price{align-items:flex-start; flex-direction:column}
  .price__amount{font-size:1.72rem}
}


/* RECOVER workshop */
.workshopSection{background:linear-gradient(180deg,var(--cream),#fff)}
.workshopCard{display:grid;grid-template-columns:.72fr 1.28fr;gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:32px;padding:26px;box-shadow:var(--shadow)}
.workshopCard__visual{min-height:300px;border-radius:24px;background:linear-gradient(145deg,rgba(139,59,99,.12),rgba(242,154,194,.26));display:grid;place-items:center;overflow:hidden}
.workshopCard__visual img{width:min(82%,360px);height:auto;display:block}
.workshopCard__eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(242,154,194,.22);color:var(--dark);font-weight:950;margin-bottom:12px}
.workshopCard__content h2{margin:0 0 14px;color:var(--dark);font-size:clamp(2rem,3vw,3rem);line-height:1.05}
.workshopCard__content p{color:var(--muted);font-size:1.05rem}
.workshopCard__price{display:inline-flex;margin:12px 0;padding:12px 16px;border-radius:16px;background:var(--dark);color:#fff;font-weight:950}
.workshopCard__note{font-size:.92rem!important}
.btn.is-disabled,.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
@media(max-width:980px){.workshopCard{grid-template-columns:1fr}.workshopCard__visual{min-height:220px}}


/* ===== RECOVER WORKSHOP DATE ===== */

.workshopDate{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:4px 0 18px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(0,164,160,.10);
  border:1px solid rgba(0,164,160,.22);
  color:#012A4A;
  font-weight:800;
}

.workshopDate__icon{
  color:#00a4a0;
  font-size:.65em;
}


/* ===== RECOVER SCHEDULE ===== */

.workshopSchedule{
  margin:24px 0;
  border:1px solid rgba(1,42,74,.10);
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}

.workshopSchedule summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:16px 18px;
  font-weight:900;
  color:#012A4A;
}

.workshopSchedule summary::-webkit-details-marker{
  display:none;
}

.workshopSchedule__arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:rgba(0,164,160,.10);
  color:#00a4a0;
  font-size:20px;
  line-height:1;
  transition:transform .2s ease;
}

.workshopSchedule[open] .workshopSchedule__arrow{
  transform:rotate(45deg);
}

.workshopSchedule__content{
  padding:0 18px 20px;
}


/* ===== RECOVER AGENDA ===== */

.recoverAgenda{
  display:grid;
  gap:16px;
}

.recoverAgenda__total{
  padding:12px 14px;
  border-radius:12px;
  background:#FFF8EE;
  color:#012A4A;
}

.recoverModule{
  padding:18px;
  border-radius:16px;
  background:#f7fafb;
  border:1px solid rgba(1,42,74,.08);
}

.recoverModule__head{
  display:grid;
  gap:5px;
  margin-bottom:14px;
}

.recoverModule__number{
  color:#00a4a0;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.12em;
}

.recoverModule__head h4{
  margin:0;
  color:#012A4A;
}

.recoverModule__time{
  font-size:.9rem;
  opacity:.7;
}

.recoverModule ul{
  margin:0;
  padding-left:20px;
  line-height:1.55;
}

.recoverModule ul ul{
  margin-top:5px;
}

.recoverModule li + li{
  margin-top:6px;
}

.recoverNotice{
  margin-top:16px;
  padding:12px 14px;
  border-left:3px solid #00a4a0;
  background:rgba(0,164,160,.07);
  border-radius:0 10px 10px 0;
  line-height:1.45;
}

.recoverBreak{
  justify-self:center;
  padding:6px 14px;
  border-radius:999px;
  background:rgba(1,42,74,.06);
  color:#012A4A;
  font-size:.85rem;
  font-weight:800;
}


/* ===== MOBILE ===== */

@media(max-width:768px){
  .workshopSchedule summary{
    padding:14px;
  }

  .workshopSchedule__content{
    padding:0 14px 16px;
  }

  .recoverModule{
    padding:14px;
  }
}
