/* KSI Montenegro admissions pages. Brand system taken from ksi-montenegro.com:
   PT Serif headings, Poppins body, navy committed, raspberry only on the booking button. */
:root{
  --navy:#262453;
  --navy-deep:#1b1a3f;
  --royal:#0c4da2;
  --cta:#b30555;
  --cta-deep:#8f0444;
  --mist:#f3f4f8;
  --line:#dcdee8;
  --ink:#262453;
  --ink-soft:#4a4968;
  --on-navy:rgba(255,255,255,.86);
  --white:#fff;
  --wa:#1c8f4c;
  --accent:#0098d6;
  --wrap:1160px;
  --gutter:20px;
  --ease:cubic-bezier(.25,1,.5,1);
  --section:clamp(3.5rem, 9vw, 6.5rem);
}
*{ box-sizing:border-box; }
[hidden]{ display:none !important; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:120px; }
body{
  margin:0;
  font-family:'Poppins', system-ui, sans-serif;
  font-size:1.0625rem;
  line-height:1.65;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{ margin:0; line-height:1.15; text-wrap:balance; }
h1,h2{ font-family:'PT Serif', Georgia, serif; font-weight:700; letter-spacing:-.01em; }
h3{ font-weight:600; }
p{ margin:0; text-wrap:pretty; }
img{ max-width:100%; height:auto; display:block; }
figure{ margin:0; }
a{ color:var(--royal); }
:focus-visible{ outline:3px solid #0098d6; outline-offset:2px; }
.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 var(--gutter); }
.section-title{ font-size:clamp(1.75rem, 4.6vw, 2.6rem); max-width:22ch; }

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  min-height:54px; padding:.85rem 1.7rem; border-radius:8px;
  font:inherit; font-weight:600; font-size:1rem; line-height:1.2; text-decoration:none; text-align:center;
  border:none; cursor:pointer; transition:background-color .2s var(--ease), transform .2s var(--ease);
}
.btn:active{ transform:translateY(1px); }
.btn-cta{ background:var(--cta); color:var(--white); }
.btn-cta:hover{ background:var(--cta-deep); }
.btn-sm{ min-height:42px; padding:.55rem 1.1rem; font-size:.9rem; }
.btn-submit{ background:var(--navy); color:var(--white); width:100%; }
.btn-submit:hover{ background:var(--navy-deep); }
.btn[disabled]{ opacity:.65; cursor:wait; }

.wa-link{
  display:inline-flex; align-items:center; gap:.5rem; font-weight:500; font-size:.95rem;
  color:var(--white); text-decoration:underline; text-decoration-color:rgba(255,255,255,.4); text-underline-offset:4px;
}
.wa-link:hover{ text-decoration-color:currentColor; }
.wa-link svg{ flex:none; }
.reassure{ font-size:.875rem; color:var(--on-navy); }

/* Header + programme switcher */
.top{ position:sticky; top:0; z-index:40; background:var(--navy); color:var(--white); }
.top-inner{
  max-width:var(--wrap); margin:0 auto; padding:.6rem var(--gutter) .7rem;
  display:grid; grid-template-columns:auto 1fr auto; grid-template-areas:"brand . lang" "tabs tabs tabs";
  align-items:center; row-gap:.6rem; column-gap:1rem; transition:padding .25s var(--ease);
}
.brand{ grid-area:brand; display:block; }
.brand img{ width:64px; height:auto; transition:width .25s var(--ease); }
.tabs{ grid-area:tabs; display:grid; grid-template-columns:repeat(4, 1fr); gap:4px; padding:4px; background:rgba(255,255,255,.08); border-radius:10px; }
.tab{
  position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:48px; padding:.35rem .25rem; border-radius:7px;
  color:var(--on-navy); text-decoration:none; line-height:1.15; text-align:center;
  transition:background-color .2s var(--ease), color .2s var(--ease);
}
.tab:hover{ background:rgba(255,255,255,.08); color:var(--white); }
.tab-name{ font-weight:600; font-size:.88rem; }
.tab-age{ font-size:.72rem; opacity:.8; margin-top:2px; }
.tab[aria-current="page"]{ background:var(--white); color:var(--navy); }
.tab[aria-current="page"]::after{
  content:""; position:absolute; left:22%; right:22%; bottom:4px; height:3px; border-radius:2px; background:var(--accent);
}
.tab[aria-current="page"] .tab-age{ opacity:1; color:var(--ink-soft); }
.lang-switch{
  grid-area:lang; display:inline-flex; align-items:center; justify-content:center;
  min-width:48px; min-height:40px; padding:0 .8rem; border:1px solid rgba(255,255,255,.45); border-radius:8px;
  color:var(--white); font-weight:600; font-size:.88rem; letter-spacing:.06em; text-decoration:none;
}
.lang-switch:hover{ background:rgba(255,255,255,.1); }
.top-cta{ display:none; }
.top.is-scrolled .top-inner{ padding-top:.4rem; padding-bottom:.45rem; row-gap:.4rem; }
.top.is-scrolled .brand img{ width:48px; }
.top.is-scrolled .tab{ min-height:40px; }
.top.is-scrolled .tab-age{ display:none; }

/* Hero: photo shown clean, copy on its own navy panel */
.hero{ background:var(--navy); color:var(--white); }
.hero-media img{ width:100%; height:min(36vh, 320px); object-fit:cover; object-position:50% 35%; }
.hero-panel{ padding:1.75rem var(--gutter) 2.5rem; max-width:640px; }
.chip{ display:inline-flex; align-items:center; gap:.55rem; font-size:.85rem; font-weight:500; letter-spacing:.02em; color:var(--on-navy); margin-bottom:1rem; }
.chip::before{ content:""; width:10px; height:10px; border-radius:50%; background:var(--accent); flex:none; }
.hero h1{ font-size:clamp(2.05rem, 7.4vw, 3.4rem); margin-bottom:1rem; }
.hero .sub{ font-size:1.08rem; color:var(--on-navy); margin-bottom:1.75rem; max-width:46ch; }
.hero-actions{ display:grid; gap:.85rem; justify-items:start; }
.hero-actions .btn-cta{ width:100%; }
@media (prefers-reduced-motion:no-preference){
  .hero-panel > *{ animation:rise .7s var(--ease) both; }
  .hero-panel > :nth-child(2){ animation-delay:.06s; }
  .hero-panel > :nth-child(3){ animation-delay:.12s; }
  .hero-panel > :nth-child(4){ animation-delay:.18s; }
  @keyframes rise{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
}

/* Proof band */
.proof{ border-bottom:1px solid var(--line); padding:2.25rem 0; }
.proof-inner{ display:grid; gap:1.5rem; }
.logos{ display:flex; flex-wrap:wrap; align-items:center; gap:1.1rem 1.6rem; }
.logos img{ height:38px; width:auto; }
.logos img:first-child{ height:58px; }
.proof h2{ font-size:clamp(1.3rem, 3.4vw, 1.65rem); margin-bottom:.75rem; }
.proof-list{ list-style:none; margin:0; padding:0; display:grid; gap:.35rem; color:var(--ink-soft); font-size:.95rem; }
.proof-list li{ display:flex; gap:.6rem; align-items:baseline; }
.proof-list li::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--accent); flex:none; transform:translateY(-1px); }

/* Why: two photo rows, then a typographic list */
.why{ padding:var(--section) 0; }
.why .section-title{ margin-bottom:clamp(2rem, 5vw, 3.5rem); }
.feature{ display:grid; gap:1.4rem; margin-bottom:clamp(2.75rem, 7vw, 5rem); }
.feature figure img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:6px; }
.feature h3{ font-family:'PT Serif', Georgia, serif; font-weight:700; font-size:clamp(1.45rem, 3.6vw, 1.95rem); margin-bottom:.85rem; }
.feature h3::before{ content:""; display:block; width:44px; height:4px; border-radius:2px; background:var(--accent); margin-bottom:1rem; }
.feature .lead{ font-size:1.12rem; color:var(--ink); margin-bottom:.8rem; }
.feature p{ color:var(--ink-soft); max-width:56ch; }
.why-list{ list-style:none; margin:0; padding:0; display:grid; gap:0 3rem; }
.why-list li{ border-top:1px solid var(--line); padding:1.35rem 0 1.5rem; }
.why-list h3{ font-size:1.08rem; margin-bottom:.35rem; }
.why-list p{ color:var(--ink-soft); max-width:52ch; }

/* Age-band section */
.band{ background:var(--mist); padding:var(--section) 0; }
.band-inner{ display:grid; gap:2rem; }
.band-photo img{ width:100%; aspect-ratio:4/5; max-height:520px; object-fit:cover; border-radius:6px; }
.band .section-title{ margin-bottom:1rem; }
.band-intro{ color:var(--ink-soft); max-width:60ch; margin-bottom:1.5rem; }
.band-list{ margin:1.5rem 0 0; display:grid; gap:0 2rem; }
.band-list > div{ border-top:1px solid var(--line); padding:1.1rem 0 1.25rem; }
.band-list dt{ font-weight:600; display:flex; align-items:baseline; gap:.6rem; margin-bottom:.3rem; }
.band-list dt::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--accent); flex:none; transform:translateY(-2px); }
.band-list dd{ margin:0; color:var(--ink-soft); }

/* Language reassurance */
.lang-sec{ padding:var(--section) 0; }
.lang-inner{ display:grid; gap:2rem; align-items:center; }
.lang-sec h2{ font-size:clamp(1.65rem, 4.2vw, 2.35rem); margin-bottom:1.1rem; max-width:20ch; }
.lang-sec p{ color:var(--ink-soft); max-width:58ch; }
.lang-sec p + p{ margin-top:.9rem; }
.lang-photo img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:6px; }

/* Offer, next to its button */
.offer{ background:var(--navy); color:var(--white); padding:clamp(3rem, 8vw, 5.5rem) 0; }
.offer-inner{ display:grid; gap:2rem; }
.offer h2{ font-size:clamp(1.65rem, 4.4vw, 2.5rem); margin-bottom:.9rem; max-width:22ch; }
.offer p{ color:var(--on-navy); max-width:56ch; }
.includes{ list-style:none; margin:1.4rem 0 0; padding:0; display:grid; gap:.55rem; }
.includes li{ display:flex; gap:.7rem; align-items:baseline; }
.includes li::before{
  content:""; flex:none; width:12px; height:7px; border-left:2.5px solid var(--accent); border-bottom:2.5px solid var(--accent);
  transform:translateY(-3px) rotate(-45deg);
}
.offer-cta{ display:grid; gap:.75rem; align-content:center; }
.offer-cta .btn{ width:100%; }

/* Admission steps */
.steps{ padding:var(--section) 0; }
.steps .section-title{ margin-bottom:.8rem; }
.steps-intro{ color:var(--ink-soft); max-width:58ch; margin-bottom:2.25rem; }
.step-list{ list-style:none; margin:0; padding:0; display:grid; gap:1.75rem; counter-reset:step; }
.step-list li{ counter-increment:step; display:grid; grid-template-columns:3.2rem 1fr; column-gap:1rem; align-content:start; }
.step-list li::before{
  content:counter(step); grid-row:span 2; font-family:'PT Serif', Georgia, serif; font-weight:700; font-size:2.6rem; line-height:1;
  color:var(--navy); padding-bottom:.45rem; border-bottom:4px solid var(--accent); align-self:start; text-align:center;
}
.step-list h3{ font-size:1.1rem; margin:.15rem 0 .35rem; }
.step-list p{ color:var(--ink-soft); }

/* FAQ */
.faq{ background:var(--mist); padding:var(--section) 0; }
.faq-inner{ display:grid; gap:1.75rem; }
.faq-list{ border-top:1px solid var(--line); }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{
  list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1rem;
  padding:1.15rem 0; font-weight:600; font-size:1.02rem;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary svg{ flex:none; color:var(--navy); transition:transform .25s var(--ease); }
.faq details[open] summary svg{ transform:rotate(45deg); }
.faq details p{ color:var(--ink-soft); padding:0 2.5rem 1.3rem 0; max-width:68ch; }

/* Final CTA + enquiry form */
.final{ background:var(--navy); color:var(--white); padding:var(--section) 0; }
.final-inner{ display:grid; gap:2.5rem; }
.final h2{ font-size:clamp(1.85rem, 5vw, 2.8rem); margin-bottom:1rem; max-width:18ch; }
.final-copy > p:not(.reassure){ color:var(--on-navy); max-width:50ch; margin-bottom:1.6rem; }
.final-copy .btn-cta{ width:100%; margin-bottom:.75rem; }
.contact-row{ display:grid; gap:.6rem; margin-top:1.6rem; }
.contact-btn{
  display:flex; align-items:center; gap:.7rem; min-height:52px; padding:.7rem 1rem; border-radius:8px;
  border:1px solid rgba(255,255,255,.35); color:var(--white); text-decoration:none; font-weight:500; font-size:.95rem;
  transition:background-color .2s var(--ease);
}
.contact-btn:hover, button.contact-btn:hover{ background:rgba(255,255,255,.08); }
.form-card{ background:var(--white); color:var(--ink); border-radius:10px; padding:1.6rem 1.25rem; }
.form-card h3{ font-family:'PT Serif', Georgia, serif; font-weight:700; font-size:1.45rem; margin-bottom:.4rem; }
.form-sub{ color:var(--ink-soft); font-size:.92rem; margin-bottom:1.25rem; }
form{ display:grid; gap:.9rem; }
form label{ display:grid; gap:.3rem; font-weight:500; font-size:.92rem; }
form input{
  font:inherit; font-size:16px; padding:.75rem .85rem; border-radius:8px; min-height:50px;
  border:1px solid #b9bccd; background:var(--white); color:var(--ink);
}
form select{
  font:inherit; font-size:16px; padding:.75rem 2.4rem .75rem .85rem; border-radius:8px; min-height:50px;
  border:1px solid #b9bccd; color:var(--ink); appearance:none; -webkit-appearance:none;
  background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23262453' stroke-width='2' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right .9rem center;
}
form input:focus, form select:focus{ outline:2px solid var(--royal); outline-offset:1px; border-color:var(--royal); }
form input[aria-invalid="true"], form select[aria-invalid="true"]{ border-color:#b3261e; background-color:#fdf3f2; }
.field-row{ display:grid; gap:.9rem; }
form input, form select{ width:100%; min-width:0; }
form label, .field{ min-width:0; }
.field{ display:grid; gap:.3rem; }
.field > label{ font-weight:500; font-size:.92rem; }
.field-error{ color:#b3261e; font-size:.85rem; font-weight:500; }
.iti{ width:100%; }
.iti input{ width:100%; }
.iti__country-container{ font-size:15px; }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form-msg{ color:#b3261e; font-weight:600; font-size:.92rem; }

/* Footer */
.foot{ background:var(--navy-deep); color:var(--on-navy); padding:2.5rem 0 3rem; font-size:.92rem; }
.foot-inner{ display:grid; gap:1.25rem; }
.foot-inner img{ width:84px; height:auto; }
.foot-contact{ list-style:none; margin:0; padding:0; display:grid; gap:.3rem; }
.foot a{ color:var(--white); }
.foot-note{ font-size:.82rem; color:rgba(255,255,255,.7); }

/* Mobile sticky booking bar */
.sticky-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:50; display:flex; gap:.6rem;
  padding:.65rem var(--gutter) calc(.65rem + env(safe-area-inset-bottom));
  background:var(--white); box-shadow:0 -6px 24px rgba(38,36,83,.14);
  transform:translateY(110%); transition:transform .3s var(--ease);
}
.sticky-bar.is-visible{ transform:none; }
.sticky-bar .btn{ flex:1; min-height:50px; }
.sticky-wa{
  flex:none; width:50px; height:50px; border-radius:8px; background:var(--wa); color:var(--white);
  display:flex; align-items:center; justify-content:center;
}
.sticky-wa svg{ width:24px; height:24px; }

/* Thank-you page */
.thanks-page{ background:var(--navy); color:var(--white); min-height:100vh; display:flex; align-items:center; justify-content:center; }
.thanks{ max-width:560px; padding:2.5rem var(--gutter); text-align:center; display:grid; gap:1.2rem; justify-items:center; }
.thanks h1{ font-size:clamp(1.9rem, 7vw, 2.6rem); }
.thanks p{ color:var(--on-navy); }
.thanks .logo{ width:110px; height:auto; }
.mail-draft{ display:grid; gap:.75rem; justify-items:center; padding:1.25rem; border:1px solid rgba(255,255,255,.25); border-radius:10px; }
.mail-draft[hidden]{ display:none; }
.mail-draft p{ font-size:.92rem; }
.btn-light{ background:var(--white); color:var(--navy); }
.btn-light:hover{ background:var(--mist); }
.btn-outline{ background:transparent; color:var(--navy); border:1.5px solid var(--navy); }
.btn-outline:hover{ background:var(--mist); }
.btn-outline-light{ background:transparent; color:var(--white); border:1.5px solid rgba(255,255,255,.6); }
.btn-outline-light:hover{ background:rgba(255,255,255,.1); }
.thanks-actions{ display:grid; gap:.7rem; width:100%; max-width:380px; }
.thanks-actions .btn{ width:100%; }
.thanks-note{ font-size:.9rem; }
.form-sent{ display:grid; gap:.9rem; }
.form-sent[hidden]{ display:none; }
.form-sent h3{ font-family:'PT Serif', Georgia, serif; font-weight:700; font-size:1.45rem; }
.form-sent p{ color:var(--ink-soft); }
.form-sent .btn{ width:100%; }

@media (min-width:640px){
  :root{ --gutter:32px; }
  .hero-actions .btn-cta, .final-copy .btn-cta, .offer-cta .btn{ width:auto; }
  .offer-cta{ justify-items:start; }
  .why-list{ grid-template-columns:1fr 1fr; }
  .band-list{ grid-template-columns:1fr 1fr; }
  .contact-row{ grid-template-columns:1fr 1fr; }
  .form-card{ padding:2rem 1.9rem; }
  .field-row{ grid-template-columns:1fr 1fr; }
}

@media (min-width:960px){
  html{ scroll-padding-top:90px; }
  .top-inner{ grid-template-columns:auto 1fr auto auto; grid-template-areas:"brand tabs lang cta"; padding-top:.7rem; padding-bottom:.7rem; }
  .brand img{ width:72px; }
  .tabs{ justify-self:center; display:flex; gap:2px; background:none; padding:0; }
  .tab{ min-width:104px; padding:.4rem .9rem; }
  .tab[aria-current="page"]{ background:rgba(255,255,255,.12); color:var(--white); }
  .tab[aria-current="page"] .tab-age{ color:var(--on-navy); }
  .tab[aria-current="page"]::after{ bottom:-1px; }
  .top-cta{ grid-area:cta; display:inline-flex; }
  .top.is-scrolled .top-inner{ padding-top:.4rem; padding-bottom:.4rem; }
  .top.is-scrolled .tab-age{ display:inline; }

  .hero{ display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr); min-height:min(calc(100vh - 82px), 720px); }
  .hero-media img{ height:100%; min-height:520px; }
  .hero-panel{ align-self:center; padding:3.5rem clamp(2rem, 4vw, 4.5rem); max-width:620px; }
  .hero-actions{ grid-template-columns:auto 1fr; align-items:center; column-gap:1.25rem; }
  .hero-actions .reassure{ max-width:22ch; }
  .hero-actions .wa-link{ grid-column:1 / -1; }

  .proof-inner{ grid-template-columns:1fr auto; align-items:center; gap:3rem; }
  .proof-inner .logos{ order:2; flex-wrap:nowrap; }
  .proof-list{ grid-template-columns:1fr 1fr; column-gap:2rem; }

  .feature{ grid-template-columns:1.1fr 1fr; align-items:center; gap:4rem; }
  .feature-flip figure{ order:2; }

  .band-inner{ grid-template-columns:5fr 7fr; gap:4.5rem; align-items:center; }
  .lang-inner{ grid-template-columns:7fr 5fr; gap:4.5rem; }
  .offer-inner{ grid-template-columns:1.4fr 1fr; gap:4rem; align-items:center; }
  .offer-cta{ justify-items:stretch; padding-left:3rem; border-left:1px solid rgba(255,255,255,.18); }
  .offer-cta .btn{ width:100%; }

  .step-list{ grid-template-columns:repeat(4, 1fr); gap:2rem; }
  .step-list li{ grid-template-columns:1fr; }
  .step-list li::before{ grid-row:auto; justify-self:start; min-width:3.2rem; margin-bottom:1rem; }

  .faq-inner{ grid-template-columns:4fr 8fr; gap:4rem; align-items:start; }
  .final-inner{ grid-template-columns:1fr minmax(0, 470px); gap:5rem; align-items:start; }
  .contact-row{ grid-template-columns:1fr; max-width:380px; }
  .foot-inner{ grid-template-columns:auto 1fr auto; align-items:center; gap:2.5rem; }
  .foot-contact{ grid-auto-flow:column; gap:1.75rem; }
  .sticky-bar{ display:none; }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{ transition-duration:.01ms !important; animation:none !important; }
}

/* Prospectus button and modal (Brevo form) */
.prosp-link{ display:inline-flex; align-items:center; gap:.5rem; background:none; border:0; padding:0; font:inherit; font-size:.95rem; font-weight:500; color:inherit; text-decoration:underline; text-decoration-color:rgba(255,255,255,.4); text-underline-offset:4px; cursor:pointer; }
.prosp-link:hover{ text-decoration-color:currentColor; }
button.contact-btn{ font:inherit; cursor:pointer; text-align:left; width:100%; background:transparent; }
.modal-open, .modal-open body{ overflow:hidden; }
.modal{ position:fixed; inset:0; z-index:200; background:rgba(27,26,63,.72); display:flex; align-items:center; justify-content:center; padding:var(--gutter); }
.modal-panel{ position:relative; background:var(--white); color:var(--ink); border-radius:14px; width:100%; max-width:460px; padding:2.2rem 1.6rem 1.6rem; box-shadow:0 30px 70px rgba(0,0,0,.35); }
.modal-close{ position:absolute; top:.5rem; right:.6rem; width:44px; height:44px; border:0; background:none; font-size:1.8rem; line-height:1; color:var(--ink-soft); cursor:pointer; }
.modal-panel h3{ font-size:1.35rem; margin:0 0 .4rem; }
.modal .sib-form, .modal #sib-form-container, .modal #sib-container{ padding:0; margin:0; background:transparent; border:0; max-width:none; font-family:inherit; text-align:left; }
.modal .sib-form-block{ padding:0; }
.modal .entry__label{ display:block; font-size:.9rem; font-weight:500; margin:.9rem 0 .35rem; }
.modal .entry__field{ margin:0; border:0; }
.modal .entry__field input{ width:100%; font:inherit; padding:.8rem .9rem; border:1.5px solid var(--line); border-radius:8px; color:var(--ink); background:var(--white); }
.modal .entry__field input:focus{ outline:none; border-color:var(--royal); box-shadow:0 0 0 3px rgba(12,77,162,.15); }
.modal .entry__error{ display:block; color:#a1123b; font-size:.85rem; margin-top:.35rem; background:none; border:0; padding:0; }
.modal .entry__error:empty{ display:none; }
.modal .btn-submit{ width:100%; margin-top:1rem; }
.modal .input--hidden{ position:absolute; left:-9999px; }
.prosp-msg{ display:none; border-radius:8px; padding:.8rem 1rem; margin-bottom:1rem; font-size:.95rem; }
.prosp-msg-ok{ background:#e7f6ee; color:#0c5a2e; }
.prosp-msg-error{ background:#fdecef; color:#7d0f30; }
.sib-form-message-panel--active{ display:block !important; }

/* Success pages (tour booked, prospectus sent) */
.success-steps{ text-align:left; margin:0; padding-left:1.2rem; color:var(--on-navy); max-width:440px; }
.success-steps li{ margin-bottom:.5rem; }
.success-notice{ background:rgba(255,255,255,.08); border-radius:10px; padding:1rem 1.1rem; text-align:left; font-size:.95rem; }
.thanks-actions .btn svg{ margin-right:.4rem; }
.success-lang{ color:var(--on-navy); font-size:.85rem; }
