/* Payload-managed blocks use the same VOXON visual language without allowing arbitrary CSS from CMS. */
.cms-section{position:relative;overflow:hidden}
.cms-section>.vx-shell{position:relative;z-index:2}
.cms-theme--white{background:#fff;color:#172131}
.cms-theme--light{background:#f8f9fb;color:#172131}
.cms-theme--warm{background:#f5f2ec;color:#172131}
.cms-theme--dark{background:#0d1522;color:#fff}
.cms-theme--blue{background:#2e63e9;color:#fff}
.cms-theme--dark p,.cms-theme--blue p{color:rgba(255,255,255,.76)}
.cms-spacing--compact{padding:64px 0}
.cms-spacing--normal{padding:96px 0}
.cms-spacing--roomy{padding:132px 0}
.cms-eyebrow{display:block;margin-bottom:16px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#2e63e9}
.cms-theme--dark .cms-eyebrow,.cms-theme--blue .cms-eyebrow{color:#fff}
.cms-hero{min-height:620px;display:grid;align-items:center;background:#f8f9fb}
.cms-hero-grid,.cms-split-grid,.cms-cta-grid,.cms-booking-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:center}
.cms-hero h1{font-size:clamp(3.4rem,6vw,6.2rem);line-height:.96;letter-spacing:-.055em;max-width:10ch}
.cms-hero-title-accent{display:block;color:var(--blue,#2e63e9)}
.cms-theme--dark .cms-hero-title-accent,.cms-theme--blue .cms-hero-title-accent,.cms-hero--background .cms-hero-title-accent{color:#fff}
.cms-copy>p,.cms-intro{margin-top:22px;max-width:650px;font-size:17px;line-height:1.65}
.cms-media{position:relative;overflow:hidden;border-radius:30px;box-shadow:0 28px 80px rgba(13,21,34,.13)}
.cms-media img{display:block;width:100%;height:auto;min-height:420px;object-fit:cover}
.cms-overlay{position:absolute;inset:0;z-index:1;pointer-events:none}
.cms-hero--background{background-size:cover;background-position:center;color:#fff}
.cms-hero--background>.cms-overlay{z-index:0}
.cms-hero--background .cms-hero-grid{grid-template-columns:minmax(0,720px);min-height:620px}
.cms-hero--background .cms-copy>p{color:rgba(255,255,255,.82)}
.cms-statement h2{font-size:clamp(2.8rem,5.2vw,5.2rem);line-height:1;max-width:15ch}
.cms-statement p{margin-top:26px;max-width:700px;font-size:18px}
.cms-features h2,.cms-steps h2,.cms-split h2,.cms-product-visual h2,.cms-booking h2,.cms-cta h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.03;letter-spacing:-.04em;max-width:14ch}
.cms-card-grid{display:grid;gap:14px;margin-top:42px}
.cms-card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cms-card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cms-card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cms-card{padding:28px;border:1px solid rgba(26,35,50,.09);border-radius:22px;background:rgba(255,255,255,.82);box-shadow:0 10px 32px rgba(13,21,34,.045)}
.cms-theme--dark .cms-card,.cms-theme--blue .cms-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.cms-card>span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#2e63e9}
.cms-card h3{margin-top:28px;font-size:clamp(1.25rem,2vw,1.7rem)}
.cms-card p{margin-top:12px;font-size:15px;line-height:1.6}
.cms-step-list{display:grid;gap:12px;margin-top:42px}
.cms-step{display:grid;grid-template-columns:72px 1fr;gap:20px;padding:24px;border:1px solid rgba(26,35,50,.09);border-radius:20px;background:#fff}
.cms-theme--dark .cms-step,.cms-theme--blue .cms-step{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.cms-step>span{font-size:12px;color:#8792a0}
.cms-step h3{font-size:1.35rem}
.cms-step p{margin-top:8px;line-height:1.6}
.cms-split-grid.cms-media--left .cms-copy{grid-column:2}
.cms-bullets{display:grid;gap:10px;margin-top:28px}
.cms-bullets>div{padding:18px 20px;border:1px solid rgba(26,35,50,.09);border-radius:16px;background:rgba(255,255,255,.7)}
.cms-theme--dark .cms-bullets>div,.cms-theme--blue .cms-bullets>div{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06)}
.cms-bullets p{margin-top:6px;font-size:14px}
.cms-visual-frame{padding:28px;border:1px solid rgba(26,35,50,.09);border-radius:26px;background:#fff;box-shadow:0 20px 60px rgba(13,21,34,.08)}
.cms-booking-card,.cms-cta-grid{padding:44px;border-radius:28px;background:rgba(255,255,255,.82);box-shadow:0 20px 60px rgba(13,21,34,.07)}
.cms-theme--dark .cms-booking-card,.cms-theme--blue .cms-booking-card,.cms-theme--dark .cms-cta-grid,.cms-theme--blue .cms-cta-grid{background:rgba(255,255,255,.08)}
.cms-button--primary{background:#111c2c;color:#fff}
.cms-button--secondary{background:#fff;color:#111c2c;border:1px solid rgba(26,35,50,.13)}
.cms-button--outline{background:transparent;color:inherit;border:1px solid currentColor}
.cms-button--text{background:transparent;color:inherit;padding-left:0;padding-right:0}
.cms-shadow--none{box-shadow:none}
.cms-shadow--subtle{box-shadow:0 8px 24px rgba(13,21,34,.10)}
.cms-shadow--medium{box-shadow:0 14px 36px rgba(13,21,34,.16)}
.cms-shadow--strong{box-shadow:0 20px 50px rgba(13,21,34,.23)}
.cms-legal .vx-legal-copy p{white-space:pre-line}
@media(max-width:860px){
  .cms-spacing--compact{padding:52px 0}.cms-spacing--normal{padding:72px 0}.cms-spacing--roomy{padding:88px 0}
  .cms-hero{min-height:0}
  .cms-hero-grid,.cms-split-grid,.cms-cta-grid,.cms-booking-card{grid-template-columns:1fr;gap:34px}
  .cms-split-grid.cms-media--left .cms-copy{grid-column:auto}
  .cms-card-grid--3,.cms-card-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .cms-spacing--compact{padding:44px 0}.cms-spacing--normal{padding:60px 0}.cms-spacing--roomy{padding:72px 0}
  .cms-hero{padding-top:38px}
  .cms-hero h1{font-size:clamp(2.45rem,11vw,3.55rem);max-width:none}
  .cms-copy>p,.cms-intro{font-size:15.5px;line-height:1.58}
  .cms-media{border-radius:20px}.cms-media img{min-height:280px}
  .cms-card-grid--2,.cms-card-grid--3,.cms-card-grid--4{grid-template-columns:1fr}
  .cms-card{padding:20px;border-radius:17px}.cms-card h3{margin-top:18px}
  .cms-step{grid-template-columns:40px 1fr;padding:18px;border-radius:17px}
  .cms-booking-card,.cms-cta-grid{padding:24px;border-radius:20px}
}
