/* In-place trip enquiry modal */
.trip-modal{
  width:min(960px,calc(100% - 32px));
  max-width:none;
  max-height:calc(100svh - 32px);
  padding:0;
  border:0;
  border-radius:28px;
  background:transparent;
  color:var(--ink,#13211d);
  overflow:visible;
}
.trip-modal::backdrop{
  background:rgba(10,22,19,.64);
  backdrop-filter:blur(7px);
}
.trip-modal-shell{
  display:grid;
  grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);
  max-height:calc(100svh - 32px);
  overflow:hidden;
  border:1px solid rgba(244,239,231,.22);
  border-radius:28px;
  background:var(--paper,#f4efe7);
  box-shadow:0 30px 100px rgba(5,15,12,.38);
  animation:trip-modal-in .28s cubic-bezier(.2,.8,.2,1) both;
}
.trip-modal-aside{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:570px;
  padding:42px 34px 34px;
  overflow:hidden;
  color:var(--paper,#f4efe7);
  background:var(--ink,#13211d);
}
.trip-modal-aside::before{
  content:"";
  position:absolute;
  width:330px;
  height:330px;
  right:-150px;
  bottom:-145px;
  border:1px solid rgba(216,255,101,.32);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(216,255,101,.08),0 0 0 68px rgba(216,255,101,.04);
}
.trip-modal-mark{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  color:var(--accent-2,#d8ff65);
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.trip-modal-mark::before{content:"✦";font-size:13px}
.trip-modal-aside h2{
  position:relative;
  z-index:1;
  max-width:350px;
  margin:34px 0 18px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(38px,4.3vw,62px);
  font-weight:500;
  line-height:.94;
  letter-spacing:-.055em;
}
.trip-modal-aside h2 em{color:var(--accent-2,#d8ff65);font-style:italic}
.trip-modal-aside p{
  position:relative;
  z-index:1;
  max-width:300px;
  margin:0;
  color:rgba(244,239,231,.7);
  font-size:13px;
  line-height:1.65;
}
.trip-modal-promises{
  position:relative;
  z-index:1;
  display:grid;
  gap:0;
  margin:34px 0 0;
  padding:0;
  list-style:none;
}
.trip-modal-promises li{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:12px 0;
  border-top:1px solid rgba(244,239,231,.16);
  font-size:11px;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.trip-modal-promises li span{color:rgba(244,239,231,.48);font-weight:500;letter-spacing:0;text-transform:none;text-align:right}
.trip-modal-form-wrap{
  position:relative;
  min-width:0;
  overflow:auto;
  padding:38px 42px 34px;
  scrollbar-width:thin;
  scrollbar-color:var(--accent,#ff6b46) transparent;
}
.trip-modal-close{
  position:absolute;
  top:16px;
  right:17px;
  z-index:2;
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid var(--line,rgba(19,33,29,.16));
  border-radius:50%;
  background:transparent;
  color:var(--ink,#13211d);
  font-size:21px;
  line-height:1;
  cursor:pointer;
  transition:.2s ease;
}
.trip-modal-close:hover{transform:rotate(8deg);background:var(--paper-2,#ebe4d9)}
.trip-modal-kicker{margin:0 0 10px;color:var(--accent,#ff6b46);font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.trip-modal-form-wrap h3{
  margin:0;
  padding-right:48px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(29px,3.2vw,43px);
  font-weight:500;
  line-height:1;
  letter-spacing:-.045em;
}
.trip-modal-intro{max-width:470px;margin:12px 0 25px;color:rgba(19,33,29,.68);font-size:13px;line-height:1.6}
.trip-modal .contact-form{display:grid;gap:15px;padding:0;background:transparent;border:0;border-radius:0}
.trip-modal .cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.trip-modal .cf-grid label,.trip-modal .cf-wide{
  display:flex;
  flex-direction:column;
  gap:6px;
  width:100%;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.75;
}
.trip-modal .cf-grid input,.trip-modal .cf-grid select,.trip-modal .cf-wide textarea{
  border-color:rgba(19,33,29,.2);
  border-radius:10px;
  padding:11px 12px;
  background:#fff;
  font-size:13px;
  opacity:1;
}
.trip-modal .cf-grid input:focus,.trip-modal .cf-grid select:focus,.trip-modal .cf-wide textarea:focus{
  border-color:var(--accent,#ff6b46);
  box-shadow:0 0 0 3px rgba(255,107,70,.13);
}
.trip-modal .cf-wide textarea{width:100%;min-height:84px;font:inherit;letter-spacing:0;text-transform:none;opacity:1}
.trip-modal .cf-submit{justify-self:start;padding:14px 21px}
.trip-modal .cf-note{margin:0;font-size:10.5px;line-height:1.5}
.trip-modal .cf-status{min-height:18px;margin:0;font-size:12px;line-height:1.45}
.trip-modal .cf-status.ok{color:#1c7a43}
.trip-modal .cf-status.err{color:#c23b22}
.trip-modal .hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.trip-modal .cf-submit:disabled{cursor:wait;opacity:.65;transform:none}
body.trip-modal-open{overflow:hidden}
.mobile-sticky-cta{display:none}
@keyframes trip-modal-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:700px){
  .trip-modal{width:calc(100% - 20px);height:calc(100svh - 20px);height:calc(100dvh - 20px);max-height:none;border-radius:22px}
  .trip-modal-shell{display:flex;flex-direction:column;height:100%;max-height:none;border-radius:22px}
  .trip-modal-aside{display:block;flex:0 0 auto;min-height:0;padding:25px 24px 22px}
  .trip-modal-aside h2{max-width:270px;margin:17px 0 8px;font-size:38px}
  .trip-modal-aside p{max-width:390px;font-size:12px;line-height:1.5}
  .trip-modal-promises{display:flex;gap:9px;margin:18px 0 0;overflow:auto}
  .trip-modal-promises li{display:block;min-width:max-content;padding:8px 10px;border:1px solid rgba(244,239,231,.18);border-radius:99px;font-size:8px;letter-spacing:.08em}
  .trip-modal-promises li span{display:inline;margin-left:4px;font-size:10px}
  .trip-modal-form-wrap{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    padding:28px 22px 24px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    scroll-padding-bottom:24px;
  }
  .trip-modal-form-wrap h3{font-size:32px}
  .trip-modal-intro{margin:10px 0 20px;font-size:12px}
  .trip-modal .cf-grid{grid-template-columns:1fr;gap:13px}
  .trip-modal-close{top:12px;right:12px;border-color:var(--line,rgba(19,33,29,.16));color:var(--ink,#13211d)}
  .trip-modal-close:hover{background:var(--paper-2,#ebe4d9)}
  .mobile-sticky-cta{
    position:fixed;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:79;
    display:flex;align-items:center;justify-content:center;min-height:54px;padding:15px 22px;
    border-radius:999px;background:var(--accent-2,#d8ff65);color:var(--ink,#13211d);
    font-size:14px;font-weight:950;letter-spacing:.01em;box-shadow:0 12px 34px rgba(10,22,19,.35);
    opacity:0;pointer-events:none;transform:translateY(calc(100% + 20px));
    transition:opacity .25s ease,transform .25s ease
  }
  .mobile-sticky-cta.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
  .mobile-sticky-cta.is-visible~.wa-float{bottom:82px}
}
@media(prefers-reduced-motion:reduce){
  .trip-modal-shell{animation:none}
  .mobile-sticky-cta{transition:none}
}
