:root { --outbound-ink:#151b2b; --outbound-muted:#5d6678; --outbound-orange:#f58220; --outbound-orange-dark:#c95300; --outbound-line:rgba(31,42,68,.12); }
.outbound-booking { position:relative; min-height:calc(100svh - 65px); overflow:hidden; padding:clamp(1rem,2.2vh,1.65rem) 0; color:var(--outbound-ink); background:radial-gradient(circle at 82% 8%,rgba(245,130,32,.1),transparent 26%),linear-gradient(145deg,#fff 0%,#f8f9fc 54%,#f4f6fa 100%); isolation:isolate; }
.outbound-booking::before { position:absolute; z-index:-1; inset:0; background-image:linear-gradient(rgba(21,27,43,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(21,27,43,.025) 1px,transparent 1px); background-size:40px 40px; content:""; mask-image:linear-gradient(to right,#000,transparent 62%); }
.outbound-orb { position:absolute; z-index:-1; border-radius:50%; filter:blur(2px); pointer-events:none; }
.outbound-orb-one { top:-180px; right:-130px; width:410px; height:410px; border:1px solid rgba(245,130,32,.18); box-shadow:inset 0 0 90px rgba(245,130,32,.06); animation:outbound-float 8s ease-in-out infinite; }
.outbound-orb-two { bottom:-250px; left:-190px; width:520px; height:520px; border:1px solid rgba(55,65,81,.08); animation:outbound-float 11s ease-in-out infinite reverse; }
.outbound-booking-container { max-width:1220px; margin-top:34px; }
.outbound-booking-grid { display:grid; grid-template-columns:minmax(320px,.83fr) minmax(570px,1.17fr); gap:clamp(2rem,5vw,5.5rem); align-items:center; min-height:calc(100svh - 110px); }
.outbound-booking-copy { position:relative; animation:outbound-rise .55s ease-out both; }
.content .outbound-booking-copy h1 { margin:0; padding:0; color:var(--outbound-ink); font-family:"Roboto Slab",Georgia,serif; font-size:clamp(2.4rem,3.55vw,3.8rem); font-weight:800; line-height:.98; text-align:left; text-wrap:balance; }
.content .outbound-booking-copy h1 em { color:var(--outbound-orange-dark); font-style:normal; }
.content .outbound-booking-lead { max-width:35rem; margin:1rem 0 0; color:var(--outbound-muted); font-size:clamp(1rem,1.35vw,1.14rem); line-height:1.55; }
.outbound-booking-promise { display:flex; gap:.8rem; align-items:center; max-width:35rem; margin:1.05rem 0 0; padding:.78rem .9rem; border:1px solid rgba(245,130,32,.18); border-radius:12px; background:rgba(255,255,255,.68); box-shadow:0 10px 30px rgba(31,42,68,.05); backdrop-filter:blur(10px); }
.outbound-booking-promise-icon { display:grid; flex:0 0 34px; width:34px; height:34px; place-items:center; border-radius:10px; color:#fff; background:linear-gradient(145deg,#ff9b45,#dc6200); box-shadow:0 7px 16px rgba(220,98,0,.24); }
.content .outbound-booking-promise p { margin:0; color:#596174; font-size:.88rem; line-height:1.35; }
.outbound-booking-promise strong { color:var(--outbound-ink); }
.outbound-booking-reasons { display:grid; gap:.58rem; margin:1rem 0 0; padding:0; list-style:none; }
.outbound-booking-reasons li { padding-left:.85rem; border-left:2px solid rgba(245,130,32,.3); opacity:0; animation:outbound-rise .45s ease-out forwards; }
.outbound-booking-reasons li:nth-child(1) { animation-delay:.12s; }
.outbound-booking-reasons li:nth-child(2) { animation-delay:.2s; }
.outbound-booking-reasons li:nth-child(3) { animation-delay:.28s; }
.content .outbound-booking-reasons p { margin:0; color:#596174; font-size:.9rem; line-height:1.38; }
.outbound-booking-reasons strong { color:var(--outbound-ink); }
.outbound-booking-meta { display:flex; flex-wrap:wrap; gap:.55rem 1.15rem; margin-top:1rem; padding-top:.8rem; border-top:1px solid var(--outbound-line); color:#6d7586; font-size:.78rem; font-weight:800; }
.outbound-booking-meta i { margin-right:.28rem; color:var(--outbound-orange-dark); }
.outbound-calendar-card { position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.85); border-radius:20px; background:rgba(255,255,255,.91); box-shadow:0 30px 80px rgba(28,37,58,.15),0 2px 8px rgba(28,37,58,.06); backdrop-filter:blur(18px); animation:outbound-card-in .6s .08s cubic-bezier(.2,.75,.25,1) both; }
.outbound-progress { display:flex; align-items:center; justify-content:center; padding:.85rem 1.25rem; border-bottom:1px solid var(--outbound-line); background:rgba(249,250,252,.8); }
.outbound-progress-step { display:flex; gap:.5rem; align-items:center; color:#9aa2b1; font-size:.72rem; transition:color .3s ease; }
.outbound-progress-step::before { display:block; width:10px; height:10px; border:2px solid #cfd5df; border-radius:50%; background:#fff; content:""; transition:all .3s ease; }
.outbound-progress-step.is-active,.outbound-progress-step.is-complete { color:var(--outbound-ink); }
.outbound-progress-step.is-active::before { border-color:var(--outbound-orange); background:var(--outbound-orange); box-shadow:0 0 0 4px rgba(245,130,32,.12); }
.outbound-progress-step.is-complete::before { border-color:#12a36d; background:#12a36d; }
.outbound-progress-line { width:72px; height:1px; margin:0 .8rem; background:#dfe3ea; }
.outbound-progress-line i { display:block; width:50%; height:100%; background:linear-gradient(90deg,#12a36d,var(--outbound-orange)); }
.outbound-contact-step { padding:clamp(1.25rem,3vh,1.8rem) clamp(1.35rem,3.2vw,2.3rem) 1.15rem; }
.content .outbound-contact-step h2 { margin:.4rem 0 0; padding:0 !important; color:var(--outbound-ink); font-family:"Roboto Slab","Roboto Slab Fallback","Times New Roman",serif; font-size:clamp(1.65rem,2.4vw,2.15rem); font-weight:700; line-height:1.12; text-align:left; }
.content .outbound-card-intro { max-width:35rem; margin:.65rem 0 1rem; color:var(--outbound-muted); font-size:.88rem; line-height:1.5; }
.outbound-contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:.68rem .8rem; }
.outbound-contact-fields label { display:grid; gap:.34rem; color:#31394a; font-size:.74rem; font-weight:700; letter-spacing:.01em; }
.outbound-field-full { grid-column:1/-1; }
.outbound-contact-fields input { width:100%; max-width:none; min-height:46px; border:1px solid rgba(42,52,73,.14); border-radius:11px !important; padding:.68rem .82rem; color:var(--outbound-ink); background:#fbfcfe; box-shadow:0 1px 2px rgba(21,27,43,.035); font:inherit; font-size:.9rem; font-weight:500; transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease; }
.outbound-contact-fields input::placeholder { color:#929baa; font-weight:400; }
.outbound-contact-fields input:hover { border-color:rgba(42,52,73,.25); background:#fff; }
.outbound-contact-fields input:focus { border-color:var(--outbound-orange); outline:0; background:#fff; box-shadow:0 0 0 3px rgba(245,130,32,.13),0 4px 12px rgba(21,27,43,.05); }
.outbound-contact-fields input:-webkit-autofill { -webkit-text-fill-color:var(--outbound-ink); box-shadow:0 0 0 1000px #fff inset,0 0 0 3px rgba(245,130,32,.1); }
.outbound-booking-consent { display:flex; gap:.55rem; align-items:flex-start; margin:.75rem 0; color:#6b7382; font-size:.69rem; line-height:1.38; }
.outbound-booking-consent input { flex:0 0 auto; width:16px; height:16px; margin-top:1px; accent-color:var(--outbound-orange); }
.outbound-booking-consent a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.outbound-contact-submit { display:flex; width:100%; min-height:46px; align-items:center; justify-content:center; gap:.75rem; border:0; border-radius:10px; color:#fff; background:linear-gradient(135deg,#f58220,#d85f00); box-shadow:0 12px 24px rgba(216,95,0,.22); font-weight:900; cursor:pointer; transition:transform .18s,box-shadow .18s,filter .18s; }
.outbound-contact-submit:hover,.outbound-contact-submit:focus-visible { transform:translateY(-2px); box-shadow:0 16px 28px rgba(216,95,0,.28); filter:saturate(1.08); outline:0; }
.outbound-contact-submit:disabled { cursor:wait; opacity:.68; transform:none; }
.outbound-booking-hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.content .outbound-booking-form-status { margin:.65rem 0 0; color:#667085; font-size:.8rem; font-weight:750; }
.content .outbound-booking-form-status:empty { display:none; }
.content .outbound-booking-form-status.is-error { padding:.65rem .75rem; border:1px solid #fecdca; border-radius:8px; color:#b42318; background:#fff4f2; }
.outbound-calendar-step { animation:outbound-step-in .35s ease-out both; }
.outbound-calendar-step[hidden],.outbound-calendar-loading[hidden],.outbound-booking-safe[hidden] { display:none; }
.outbound-calendar-step-head { display:flex; align-items:center; justify-content:space-between; padding:.65rem 1rem; border-bottom:1px solid var(--outbound-line); }
.content .outbound-calendar-step-head p { margin:0; color:#6c7483; font-size:.76rem; }
.outbound-saved-badge { display:inline-flex; gap:.35rem; align-items:center; color:#087a54; font-size:.72rem; font-weight:900; }
.outbound-saved-badge i { display:grid; width:20px; height:20px; place-items:center; border-radius:50%; color:#fff; background:#12a36d; font-size:.62rem; }
.outbound-calendar-frame-wrap { position:relative; min-height:410px; background:#fff; }
.outbound-calendar-frame { display:block; width:100%; height:430px; border:0; background:#fff; opacity:0; transition:opacity .22s ease; }
.outbound-calendar-frame.is-ready { opacity:1; }
.content .outbound-calendar-loading { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:.7rem; margin:0; color:#697285; font-size:.86rem; }
.outbound-booking-safe { display:grid; min-height:410px; place-content:center; padding:2rem; text-align:center; }
.outbound-booking-safe-icon { display:grid; width:52px; height:52px; margin:0 auto 1rem; place-items:center; border-radius:50%; color:#fff; background:#12a36d; box-shadow:0 0 0 8px rgba(18,163,109,.1); }
.content .outbound-booking-safe h2 { margin:0; padding:0; color:var(--outbound-ink); font-size:1.55rem; }
.content .outbound-booking-safe p { max-width:29rem; margin:.65rem auto 0; color:var(--outbound-muted); font-size:.9rem; line-height:1.5; }
@keyframes outbound-rise { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes outbound-card-in { from { opacity:0; transform:translateY(16px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes outbound-step-in { from { opacity:0; transform:translateX(10px); } to { opacity:1; transform:none; } }
@keyframes outbound-float { 0%,100% { transform:translate3d(0,0,0); } 50% { transform:translate3d(0,14px,0); } }
@media (max-width:991.98px) {
  .outbound-booking { overflow:visible; }
  .outbound-booking-grid { grid-template-columns:1fr; gap:1.4rem; min-height:auto; }
  .content .outbound-booking-copy h1 { max-width:16ch; }
  .outbound-booking-copy { padding-top:.5rem; }
}
@media (min-width:992px) and (max-height:760px) {
  .outbound-booking-grid { align-items:start; }
  .content .outbound-booking-copy h1 { font-size:2.65rem; }
  .content .outbound-booking-lead { margin-top:.65rem; font-size:.94rem; line-height:1.4; }
  .outbound-booking-promise { margin-top:.6rem; padding:.5rem .7rem; }
  .outbound-booking-promise-icon { width:30px; height:30px; }
  .content .outbound-booking-promise p { font-size:.8rem; }
  .outbound-booking-reasons { gap:.28rem; margin-top:.55rem; }
  .content .outbound-booking-reasons p { font-size:.82rem; line-height:1.3; }
  .outbound-booking-meta { margin-top:.55rem; padding-top:.5rem; }
  .outbound-contact-step { padding-top:1.05rem; }
}
@media (max-width:575.98px) {
  .outbound-booking { padding:.75rem 0 1.5rem; }
  .outbound-booking-grid { gap:1rem; }
  .content .outbound-booking-copy h1 { font-size:2.25rem; }
  .content .outbound-booking-lead { font-size:.95rem; }
  .outbound-booking-promise,.outbound-booking-reasons li:nth-child(2),.outbound-booking-reasons li:nth-child(3) { display:none; }
  .outbound-calendar-card { margin-right:-.45rem; margin-left:-.45rem; border-radius:15px; }
  .outbound-progress-line { width:35px; }
  .outbound-contact-step { padding:1.1rem 1rem 1rem; }
  .outbound-contact-fields { grid-template-columns:1fr; }
  .outbound-field-full { grid-column:auto; }
  .outbound-calendar-step-head { align-items:flex-start; gap:.5rem; }
  .outbound-calendar-frame { height:620px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; } }
