/* ============================================================
   בין כוח לרכות — ריטריט רצות קדימה
   Landing page styles — RTL, mobile-first
   ============================================================ */

:root{
  /* Colors */
  --sand:        #F6F1E9;   /* base background */
  --sand-2:      #EFE7DA;   /* slightly deeper */
  --cream:       #FBF8F3;   /* cards */
  --forest:      #2F3A2E;   /* deep olive/forest — strength */
  --forest-soft: #47543F;
  --sage:        #7C8A6E;   /* muted sage */
  --clay:        #B27A5B;   /* warm clay accent */
  --clay-dark:   #9A6446;
  --rose:        #C9A18A;   /* soft rose-taupe — softness */
  --gold:        #A98C6B;
  --ink:         #2A2E27;   /* main text */
  --ink-soft:    #55594F;   /* secondary text */
  --line:        #E2D8C8;   /* borders */
  --white:       #ffffff;

  --shadow-sm: 0 2px 10px rgba(47,58,46,.06);
  --shadow-md: 0 10px 30px rgba(47,58,46,.10);
  --shadow-lg: 0 24px 60px rgba(47,58,46,.16);

  --radius:   18px;
  --radius-sm:12px;
  --maxw: 1180px;

  --font-head: "Frank Ruhl Libre", "Assistant", Georgia, serif;
  --font-body: "Assistant", "Heebo", "Segoe UI", Arial, sans-serif;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:104px; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--sand);
  line-height:1.7;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ font-family:var(--font-head); font-weight:700; line-height:1.25; margin:0 0 .4em; color:var(--forest); }
p{ margin:0 0 1em; }

.container{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:22px; }

.section{ padding:54px 0; }
.section--tight{ padding:42px 0; }
.section--sand2{ background:var(--sand-2); }
.section--forest{ background:var(--forest); color:#EFE9DD; }
.section--forest h2,.section--forest h3{ color:#F4EEE2; }

.eyebrow{
  display:inline-block;
  font-size:.82rem; font-weight:700; letter-spacing:.18em;
  color:var(--clay); text-transform:uppercase;
  margin-bottom:.7rem;
}
.section--forest .eyebrow{ color:var(--rose); }

.section-head{ text-align:center; max-width:720px; margin:0 auto 32px; }
.section-head h2{ font-size:clamp(1.7rem, 4.4vw, 2.6rem); }
.section-head p{ color:var(--ink-soft); font-size:1.05rem; }
.section--forest .section-head p{ color:#D8D0C1; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  font-family:var(--font-body); font-weight:700; font-size:1rem;
  padding:.9em 1.8em; border-radius:100px; border:1.5px solid transparent;
  cursor:pointer; transition:transform .18s ease, background .2s ease, box-shadow .2s ease;
  text-align:center; line-height:1.2;
}
.btn:active{ transform:translateY(1px); }
.btn--primary{ background:var(--clay); color:#fff; box-shadow:var(--shadow-sm); }
.btn--primary:hover{ background:var(--clay-dark); box-shadow:var(--shadow-md); }
.btn--forest{ background:var(--forest); color:#F4EEE2; }
.btn--forest:hover{ background:var(--forest-soft); }
.btn--ghost{ background:transparent; border-color:currentColor; color:var(--forest); }
.btn--ghost:hover{ background:rgba(47,58,46,.06); }
.btn--light{ background:#fff; color:var(--forest); }
.btn--light:hover{ background:#f3ede2; }
.btn--block{ width:100%; }
.btn--lg{ font-size:1.08rem; padding:1.05em 2.2em; }

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed; inset-block-start:0; inset-inline:0; z-index:100;
  background:rgba(246,241,233,.86); backdrop-filter:blur(10px);
  border-bottom:1px solid transparent; transition:box-shadow .25s, background .25s, border-color .25s;
}
.nav.scrolled{ box-shadow:var(--shadow-sm); border-color:var(--line); }
.nav__inner{ display:flex; align-items:center; justify-content:space-between; height:92px; gap:16px; }
.nav__brand{ display:flex; align-items:center; gap:10px; font-family:var(--font-head); font-weight:700; color:var(--forest); font-size:1.2rem; }
.nav__brand img{ height:62px; width:auto; }
.nav__links{ display:none; align-items:center; gap:26px; list-style:none; margin:0; padding:0; }
.nav__links a{ font-weight:600; font-size:.98rem; color:var(--ink-soft); transition:color .2s; }
.nav__links a:hover{ color:var(--clay); }
.nav__cta{ display:none; }
.nav__toggle{
  display:inline-flex; flex-direction:column; gap:5px; background:none; border:none;
  cursor:pointer; padding:8px;
}
.nav__toggle span{ width:24px; height:2px; background:var(--forest); border-radius:2px; transition:.25s; }
.nav.open .nav__toggle span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav.open .nav__toggle span:nth-child(2){ opacity:0; }
.nav.open .nav__toggle span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.nav__mobile{
  display:block; max-height:0; overflow:hidden; transition:max-height .3s ease;
  background:var(--cream); border-top:1px solid var(--line);
}
.nav.open .nav__mobile{ max-height:520px; }
.nav__mobile ul{ list-style:none; margin:0; padding:10px 22px 20px; }
.nav__mobile a{ display:block; padding:12px 0; border-bottom:1px solid var(--line); font-weight:600; color:var(--forest); }
.nav__mobile .btn{ margin-top:16px; }

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

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:center;
  color:#fff; text-align:center; padding:110px 0 90px;
  background:#2b332a;
}
.hero__bg{ position:absolute; inset:0; z-index:0; }
.hero__bg img{ width:100%; height:100%; object-fit:cover; }
.hero__bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(30,38,28,.55) 0%, rgba(30,38,28,.42) 40%, rgba(28,34,26,.78) 100%);
}
.hero__inner{ position:relative; z-index:2; width:100%; max-width:800px; margin:0 auto; padding-inline:22px; }
.hero__logo{ height:150px; width:auto; max-width:88%; margin:0 auto 18px; filter:drop-shadow(0 4px 16px rgba(0,0,0,.4)); }
@media(min-width:760px){ .hero__logo{ height:200px; } }
.hero__title{
  color:#fff; font-size:clamp(2.6rem, 9vw, 5rem); line-height:1.05; margin:0 0 .25em;
  text-shadow:0 4px 24px rgba(0,0,0,.35); letter-spacing:.01em;
}
.hero__sub{
  font-size:clamp(1.05rem, 3.2vw, 1.4rem); font-weight:600; color:#F1E9DA;
  max-width:620px; margin:0 auto 1.6em; text-shadow:0 2px 10px rgba(0,0,0,.4);
}
.hero__meta{
  display:flex; flex-wrap:wrap; justify-content:center; gap:14px 26px;
  margin-bottom:2rem; font-weight:600; font-size:1.02rem;
}
.hero__meta span{ display:inline-flex; align-items:center; gap:8px; }
.hero__meta svg{ width:19px; height:19px; opacity:.9; }
.hero__scroll{
  position:absolute; inset-block-end:26px; inset-inline-start:50%; transform:translateX(50%);
  z-index:2; color:#fff; opacity:.8; animation:bob 2.2s ease-in-out infinite;
}
@keyframes bob{ 0%,100%{ transform:translate(50%,0);} 50%{ transform:translate(50%,8px);} }

/* ============================================================
   PERSONAL INVITE
   ============================================================ */
.invite__grid{ display:grid; gap:34px; align-items:center; }
.invite__photo{ position:relative; }
.invite__photo img{ width:100%; border-radius:var(--radius); box-shadow:var(--shadow-md); aspect-ratio:3/2; object-fit:cover; object-position:center 30%; }
.invite__photo::before{
  content:""; position:absolute; inset-block-start:-14px; inset-inline-end:-14px; inset-block-end:26px; inset-inline-start:26px;
  border:2px solid var(--rose); border-radius:var(--radius); z-index:-1;
}
.invite__body h2{ font-size:clamp(1.6rem,4vw,2.3rem); }
.invite__body p{ color:var(--ink-soft); font-size:1.06rem; }
.signature{ font-family:var(--font-head); font-size:1.35rem; color:var(--clay); margin-top:1.1rem; }
.signature small{ display:block; font-family:var(--font-body); font-size:.9rem; color:var(--ink-soft); font-weight:600; }
@media(min-width:860px){
  .invite__grid{ grid-template-columns:0.85fr 1.15fr; gap:56px; }
}

/* ============================================================
   AUDIENCE CARDS
   ============================================================ */
.cards{ display:grid; gap:20px; grid-template-columns:1fr; }
@media(min-width:620px){ .cards--4{ grid-template-columns:repeat(2,1fr);} }
@media(min-width:980px){ .cards--4{ grid-template-columns:repeat(4,1fr);} }
.icard{
  background:var(--cream); border:1px solid var(--line); border-radius:var(--radius);
  padding:30px 24px; text-align:center; box-shadow:var(--shadow-sm);
  transition:transform .2s, box-shadow .2s;
}
.icard:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.icard__ic{
  width:58px; height:58px; margin:0 auto 16px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--sand-2); color:var(--clay);
}
.icard__ic svg{ width:28px; height:28px; }
.icard h3{ font-size:1.18rem; margin-bottom:.35em; }
.icard p{ color:var(--ink-soft); font-size:.98rem; margin:0; }

/* ============================================================
   ABOUT PLACE + GALLERY
   ============================================================ */
.place__lead{ max-width:760px; margin:0 auto 40px; text-align:center; color:var(--ink-soft); font-size:1.06rem; }
.gallery{
  display:grid; gap:14px;
  grid-template-columns:repeat(2,1fr);
  grid-auto-rows:150px;
}
.gallery figure{ margin:0; overflow:hidden; border-radius:var(--radius-sm); box-shadow:var(--shadow-sm); cursor:pointer; }
.gallery img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gallery figure:hover img{ transform:scale(1.06); }
.gallery .g-tall{ grid-row:span 2; }
.gallery .g-wide{ grid-column:span 2; }
@media(min-width:760px){
  .gallery{ grid-template-columns:repeat(4,1fr); grid-auto-rows:180px; }
}

/* ============================================================
   ACTIVITIES
   ============================================================ */
.acts{ display:grid; gap:22px; grid-template-columns:1fr; }
@media(min-width:640px){ .acts{ grid-template-columns:repeat(2,1fr);} }
@media(min-width:980px){ .acts{ grid-template-columns:repeat(3,1fr);} }
.act{
  background:var(--cream); border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow-sm); border:1px solid var(--line);
  transition:transform .2s, box-shadow .2s;
}
.act:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.act__img{ aspect-ratio:3/2; overflow:hidden; }
.act__img img{ width:100%; height:100%; object-fit:cover; object-position:center 40%; transition:transform .5s; }
.act:hover .act__img img{ transform:scale(1.05); }
.act__body{ padding:20px 22px 24px; }
.act__body h3{ font-size:1.2rem; margin-bottom:.3em; }
.act__body p{ color:var(--ink-soft); font-size:.97rem; margin:0; }

/* ============================================================
   FACILITATORS
   ============================================================ */
.facs{ display:grid; gap:20px; grid-template-columns:repeat(2,1fr); }
@media(min-width:680px){ .facs{ grid-template-columns:repeat(3,1fr);} }
@media(min-width:1040px){ .facs{ grid-template-columns:repeat(5,1fr);} }
.fac{
  background:var(--cream); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow-sm); text-align:center;
  transition:transform .2s, box-shadow .2s;
}
.fac:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.fac__img{ aspect-ratio:1/1; overflow:hidden; background:var(--sand-2); }
.fac__img img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; transition:transform .5s; }
.fac:hover .fac__img img{ transform:scale(1.05); }
.fac__body{ padding:16px 14px 20px; }
.fac__body h3{ font-size:1.08rem; margin-bottom:.1em; }
.fac__role{ display:block; color:var(--clay); font-weight:700; font-size:.82rem; margin-bottom:.55em; }
.fac__body p{ color:var(--ink-soft); font-size:.85rem; margin:0; line-height:1.55; }

/* ============================================================
   SCHEDULE
   ============================================================ */
.sched{ display:grid; gap:34px; }
@media(min-width:900px){ .sched{ grid-template-columns:1fr 1fr; gap:40px; } }
.day{ background:var(--cream); border:1px solid var(--line); border-radius:var(--radius); padding:30px 26px; box-shadow:var(--shadow-sm); }
.day__head{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.day__head h3{ margin:0; font-size:1.35rem; }
.day__head span{ color:var(--clay); font-weight:700; }
.tl{ list-style:none; margin:0; padding:0; }
.tl li{ display:grid; grid-template-columns:64px 1fr; gap:14px; padding:9px 0; align-items:start; }
.tl li + li{ border-top:1px dashed var(--line); }
.tl time{ font-weight:700; color:var(--forest); font-size:.95rem; white-space:nowrap; }
.tl p{ margin:0; color:var(--ink-soft); font-size:.98rem; }
.sched__note{ text-align:center; color:var(--ink-soft); font-size:.92rem; margin-top:26px; font-style:italic; }

/* ============================================================
   INCLUDED
   ============================================================ */
.incl__grid{ display:grid; gap:34px; align-items:center; }
@media(min-width:880px){ .incl__grid{ grid-template-columns:1.1fr .9fr; gap:48px; } }
.incl__list{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.incl__list li{ display:flex; gap:14px; align-items:flex-start; font-size:1.05rem; }
.incl__list .tick{
  flex:0 0 auto; width:28px; height:28px; border-radius:50%; background:var(--sage);
  color:#fff; display:flex; align-items:center; justify-content:center; margin-top:2px;
}
.incl__list .tick svg{ width:16px; height:16px; }
.incl__media{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.incl__media img{ border-radius:var(--radius-sm); box-shadow:var(--shadow-sm); height:100%; object-fit:cover; aspect-ratio:1/1; }
.incl__media img:first-child{ grid-column:span 2; aspect-ratio:16/10; }

/* ============================================================
   ROOMS
   ============================================================ */
.rooms{ display:grid; gap:24px; grid-template-columns:1fr; }
@media(min-width:760px){ .rooms{ grid-template-columns:repeat(3,1fr);} }
.room{
  background:var(--cream); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column;
  transition:transform .2s, box-shadow .2s;
}
.room:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.room__img{ aspect-ratio:3/2; overflow:hidden; }
.room__img img{ width:100%; height:100%; object-fit:cover; }
.room__body{ padding:22px 22px 24px; display:flex; flex-direction:column; flex:1; }
.room__body h3{ font-size:1.3rem; margin-bottom:.1em; }
.room__tag{ font-size:.85rem; font-weight:700; color:var(--clay); letter-spacing:.03em; margin-bottom:14px; }
.room__prices{ list-style:none; margin:0 0 20px; padding:0; display:grid; gap:8px; }
.room__prices li{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; padding:9px 12px; background:var(--sand); border-radius:10px; }
.room__prices .lbl{ color:var(--ink-soft); font-size:.96rem; }
.room__prices .price{ font-family:var(--font-head); font-weight:700; color:var(--forest); font-size:1.05rem; white-space:nowrap; }
.room__prices .per{ font-size:.72rem; color:var(--ink-soft); font-weight:600; }
.room .btn{ margin-top:auto; }
.room__thumbs{ display:flex; gap:8px; margin:0 0 18px; }
.room__thumbs img{
  width:100%; height:84px; object-fit:cover; object-position:center; border-radius:10px; cursor:pointer;
  border:1px solid var(--line); transition:transform .2s, box-shadow .2s;
}
.room__thumbs img:hover{ transform:translateY(-2px); box-shadow:var(--shadow-sm); }
/* sold-out room */
.room--soldout{ position:relative; }
.room--soldout .room__img img{ filter:grayscale(.55) brightness(.92); }
.room--soldout .room__prices .price{ color:var(--ink-soft); text-decoration:line-through; }
.sold-badge{
  position:absolute; inset-block-start:14px; inset-inline-start:14px; z-index:2;
  background:var(--forest); color:#fff; font-weight:800; font-size:.82rem;
  letter-spacing:.06em; padding:.4em 1em; border-radius:100px; box-shadow:var(--shadow-sm);
}
.btn.room-soldout{
  background:var(--sand-2); color:var(--ink-soft); border:1.5px solid var(--line);
  cursor:not-allowed; font-weight:700;
}
.btn.room-soldout:hover{ transform:none; background:var(--sand-2); box-shadow:none; }

.rooms__note{
  margin-top:28px; text-align:center; background:var(--sand-2); border:1px dashed var(--gold);
  border-radius:var(--radius); padding:18px 22px; font-weight:600; color:var(--forest);
}
.rooms__note strong{ color:var(--clay-dark); }

/* subsidy badge */
.subsidy{
  display:inline-flex; align-items:center; gap:9px; margin:0 auto;
  background:#eef3e8; border:1px solid #b9cda2; color:#3c5127;
  border-radius:100px; padding:.55em 1.2em; font-weight:700; font-size:.98rem;
}
.subsidy svg{ width:18px; height:18px; flex:0 0 auto; }
.subsidy--center{ display:flex; justify-content:center; margin-bottom:30px; }
.hero__badge{
  display:inline-flex; align-items:center; gap:8px; margin:0 auto 20px;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.35);
  color:#fff; border-radius:100px; padding:.5em 1.15em; font-weight:700; font-size:.92rem;
  backdrop-filter:blur(4px);
}
.hero__badge svg{ width:17px; height:17px; flex:0 0 auto; }

/* ============================================================
   REGISTRATION FORM
   ============================================================ */
.reg__grid{ display:grid; gap:30px; }
@media(min-width:980px){ .reg__grid{ grid-template-columns:1.35fr .8fr; gap:40px; align-items:start; } }
.form{
  background:var(--cream); border:1px solid var(--line); border-radius:var(--radius);
  padding:30px 26px; box-shadow:var(--shadow-sm);
}
.form__row{ display:grid; gap:18px; }
@media(min-width:640px){ .form__row.cols-2{ grid-template-columns:1fr 1fr; } }
.field{ display:flex; flex-direction:column; gap:6px; margin-bottom:18px; }
.field label{ font-weight:600; font-size:.95rem; color:var(--forest); }
.field .req{ color:var(--clay); }
.field input, .field select, .field textarea{
  font-family:var(--font-body); font-size:1rem; color:var(--ink);
  padding:.72em .9em; border:1.5px solid var(--line); border-radius:12px; background:#fff;
  transition:border-color .2s, box-shadow .2s; width:100%;
}
.field textarea{ resize:vertical; min-height:90px; }
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--clay); box-shadow:0 0 0 3px rgba(178,122,91,.15);
}
.field input.invalid, .field select.invalid{ border-color:#c0553f; box-shadow:0 0 0 3px rgba(192,85,63,.12); }
.field .err{ color:#c0553f; font-size:.82rem; min-height:0; display:none; }
.field.show-err .err{ display:block; }
.checks{ display:grid; gap:14px; margin:6px 0 22px; }
.check{ display:flex; gap:12px; align-items:flex-start; font-size:.95rem; color:var(--ink-soft); cursor:pointer; }
.check input{ width:20px; height:20px; margin-top:2px; accent-color:var(--clay); flex:0 0 auto; }
.roommate-wrap{ transition:opacity .2s; }
.roommate-wrap.disabled{ opacity:.45; pointer-events:none; }

/* summary card */
.summary{
  background:var(--forest); color:#EDE7D9; border-radius:var(--radius); padding:26px 24px;
  position:sticky; top:88px; box-shadow:var(--shadow-md);
}
.summary h3{ color:#F4EEE2; font-size:1.25rem; margin-bottom:4px; }
.summary__hint{ font-size:.88rem; color:#C9C1B0; margin-bottom:18px; }
.summary__row{ display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.12); font-size:.98rem; }
.summary__row .k{ color:#C9C1B0; }
.summary__row .v{ font-weight:700; text-align:left; }
.summary__total{ display:flex; justify-content:space-between; align-items:baseline; margin:18px 0 20px; }
.summary__total .k{ font-size:1rem; color:#D8D0C1; }
.summary__total .v{ font-family:var(--font-head); font-size:1.7rem; color:#fff; }
.summary__total .per{ font-size:.75rem; color:#C9C1B0; }
.summary__secure{ display:flex; align-items:center; gap:8px; justify-content:center; font-size:.82rem; color:#C9C1B0; margin-top:14px; }
.summary__secure svg{ width:15px; height:15px; }

/* success message */
.form__success{
  display:none; background:#eef3e8; border:1px solid #b9cda2; color:#2f3a2e;
  border-radius:var(--radius); padding:22px 24px; margin-top:20px;
}
.form__success.show{ display:block; }
.form__success h3{ color:#3c5127; margin-bottom:.3em; }

/* ============================================================
   ASSIGNMENT PROCESS
   ============================================================ */
.steps{ display:grid; gap:18px; grid-template-columns:1fr; counter-reset:step; }
@media(min-width:760px){ .steps{ grid-template-columns:repeat(2,1fr);} }
@media(min-width:1040px){ .steps{ grid-template-columns:repeat(4,1fr);} }
.step{
  background:var(--cream); border:1px solid var(--line); border-radius:var(--radius);
  padding:26px 22px; position:relative; box-shadow:var(--shadow-sm);
}
.step__n{
  width:40px; height:40px; border-radius:50%; background:var(--clay); color:#fff;
  display:flex; align-items:center; justify-content:center; font-family:var(--font-head);
  font-weight:700; font-size:1.15rem; margin-bottom:14px;
}
.step h3{ font-size:1.08rem; margin-bottom:.3em; }
.step p{ color:var(--ink-soft); font-size:.95rem; margin:0; }

/* ============================================================
   FAQ
   ============================================================ */
.faq{ max-width:820px; margin:0 auto; display:grid; gap:12px; }
.qa{ background:var(--cream); border:1px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; }
.qa__q{
  width:100%; text-align:start; background:none; border:none; cursor:pointer;
  font-family:var(--font-body); font-weight:700; font-size:1.05rem; color:var(--forest);
  padding:20px 22px; display:flex; justify-content:space-between; align-items:center; gap:14px;
}
.qa__q .chev{ flex:0 0 auto; transition:transform .25s; color:var(--clay); }
.qa.open .qa__q .chev{ transform:rotate(180deg); }
.qa__a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.qa__a p{ padding:0 22px 20px; margin:0; color:var(--ink-soft); }
.qa__policy{ padding:0 22px 18px; color:var(--ink-soft); }
.qa__policy ul{ margin:0 0 12px; padding-inline-start:18px; display:grid; gap:8px; }
.qa__policy li{ font-size:.98rem; }
.qa__policy strong{ color:var(--forest); }
.qa__legal{ font-size:.85rem; color:var(--ink-soft); background:var(--sand-2); border-radius:10px; padding:12px 14px !important; margin:0 !important; }

/* cancellation box in the form */
.cancel-note{
  border:1px solid var(--gold); background:var(--sand-2); border-radius:var(--radius-sm);
  padding:0; margin:0 0 22px; overflow:hidden;
}
.cancel-note summary{
  cursor:pointer; list-style:none; padding:14px 18px; font-weight:700; color:var(--clay-dark);
  display:flex; align-items:center; gap:10px; font-size:.98rem;
}
.cancel-note summary::-webkit-details-marker{ display:none; }
.cancel-note summary svg{ width:19px; height:19px; flex:0 0 auto; }
.cancel-note[open] summary{ border-bottom:1px solid var(--line); }
.cancel-note ul{ margin:14px 18px 10px; padding-inline-start:18px; display:grid; gap:8px; }
.cancel-note li{ font-size:.94rem; color:var(--ink); }
.cancel-note strong{ color:var(--clay-dark); }
.cancel-note > p{ margin:0 18px 16px; font-size:.82rem; color:var(--ink-soft); }

/* ============================================================
   ABOUT ORG
   ============================================================ */
.org{ text-align:center; max-width:760px; margin:0 auto; }
.org__logo{ height:132px; width:auto; margin:0 auto 22px; }
.org p{ color:#D8D0C1; font-size:1.06rem; }
.org__quote{ font-family:var(--font-head); font-size:1.4rem; color:var(--rose); margin:22px 0; }
.org__gallery{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:30px 0 6px; }
@media(min-width:760px){ .org__gallery{ grid-template-columns:repeat(4,1fr); } }
.org__gallery img{ width:100%; aspect-ratio:3/4; object-fit:cover; object-position:center 30%; border-radius:14px; box-shadow:var(--shadow-md); }
.org__social{ display:flex; justify-content:center; gap:16px; margin-top:24px; flex-wrap:wrap; }
.org__social a{
  display:inline-flex; align-items:center; gap:8px; padding:.7em 1.3em; border-radius:100px;
  border:1.5px solid rgba(255,255,255,.3); color:#EDE7D9; font-weight:600; font-size:.95rem;
  transition:background .2s, border-color .2s;
}
.org__social a:hover{ background:rgba(255,255,255,.1); border-color:var(--rose); }
.org__social svg{ width:18px; height:18px; }

/* ============================================================
   CLOSING
   ============================================================ */
.closing{
  position:relative; text-align:center; color:#fff; padding:100px 0; overflow:hidden;
  background:#2b332a;
}
.closing__bg{ position:absolute; inset:0; z-index:0; }
.closing__bg img{ width:100%; height:100%; object-fit:cover; }
.closing__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(28,34,26,.62), rgba(28,34,26,.78)); }
.closing__inner{ position:relative; z-index:2; max-width:680px; margin:0 auto; padding-inline:22px; }
.closing h2{ color:#fff; font-size:clamp(1.8rem,5vw,2.9rem); text-shadow:0 3px 18px rgba(0,0,0,.4); margin-bottom:.6em; }
.closing p{ color:#EDE4D4; font-size:1.1rem; margin-bottom:1.8em; }

/* ============================================================
   FOOTER
   ============================================================ */
.footer{ background:#232b22; color:#B7B3A6; text-align:center; padding:34px 0; font-size:.9rem; }
.footer img{ height:60px; margin:0 auto 14px; opacity:.9; }
.footer a{ color:#D3CDBE; }

/* ============================================================
   STICKY MOBILE CTA
   ============================================================ */
.sticky-cta{
  position:fixed; inset-inline:0; inset-block-end:0; z-index:90;
  background:rgba(246,241,233,.95); backdrop-filter:blur(8px);
  border-top:1px solid var(--line); padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  box-shadow:0 -6px 20px rgba(47,58,46,.1); transform:translateY(110%); transition:transform .3s ease;
}
.sticky-cta.show{ transform:translateY(0); }
.sticky-cta .btn{ width:100%; }
@media(min-width:960px){ .sticky-cta{ display:none; } }
body.has-sticky{ padding-bottom:0; }

/* ============================================================
   FLOATING WHATSAPP
   ============================================================ */
.wa-float{
  position:fixed; z-index:95; inset-block-end:24px; inset-inline-start:20px;
  display:inline-flex; align-items:center; gap:10px;
  background:#25D366; color:#fff; border-radius:100px; padding:12px 18px;
  box-shadow:0 8px 24px rgba(0,0,0,.22); font-weight:700; font-size:.94rem;
  text-decoration:none; transition:transform .2s ease, box-shadow .2s ease;
}
.wa-float:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(0,0,0,.3); }
.wa-float svg{ width:26px; height:26px; flex:0 0 auto; }
.wa-float__label{ white-space:nowrap; }
@media(max-width:680px){
  .wa-float{ inset-block-end:88px; padding:14px; gap:0; }
  .wa-float__label{ display:none; }
}
@media(prefers-reduced-motion:reduce){ .wa-float{ transition:none; } }

/* ============================================================
   LIGHTBOX
   ============================================================ */
.lightbox{
  position:fixed; inset:0; z-index:200; background:rgba(20,24,19,.92);
  display:none; align-items:center; justify-content:center; padding:24px;
}
.lightbox.open{ display:flex; }
.lightbox img{ max-width:94vw; max-height:88vh; border-radius:10px; box-shadow:var(--shadow-lg); }
.lightbox__close{
  position:absolute; top:18px; inset-inline-end:20px; background:none; border:none; color:#fff;
  font-size:2.2rem; cursor:pointer; line-height:1; width:44px; height:44px;
}
.lightbox__nav{
  position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.12);
  border:none; color:#fff; width:52px; height:52px; border-radius:50%; cursor:pointer; font-size:1.6rem;
}
.lightbox__nav:hover{ background:rgba(255,255,255,.22); }
.lightbox__prev{ inset-inline-end:16px; }
.lightbox__next{ inset-inline-start:16px; }

/* ---------- reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in{ opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
  .hero__scroll{ animation:none; }
}
