html { scroll-behavior:smooth; }
html, body { margin:0; min-height:100%; }
body { background:#fff; }
.cb { font-family:Inter,"Helvetica Neue",Helvetica,Arial,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; -webkit-font-smoothing:antialiased; --navy:#002060; --indigo:#3020b0; --lav:#eceafc; --teal:#2f9c95; --ink:#0c1a3a; --mut:#4b5878; color:var(--ink); line-height:1.6; font-size:16px; overflow-x:hidden; }
:where(.cb) :where(h1,h2,h3,p,ol,ul) { margin:0; padding:0; }
.cb a:focus-visible { outline:3px solid var(--indigo); outline-offset:3px; border-radius:6px; }
.cb-top { position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 20px; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); border-bottom:1px solid #e6e8f2; }
.cb-logo { height:52px; width:auto; display:block; }
.cb-top nav { display:none; gap:28px; }
.cb-top nav a { color:var(--navy); text-decoration:none; font-weight:600; font-size:15px; }
.cb-btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 28px; border-radius:14px; background:var(--indigo); color:#fff; text-decoration:none; font-weight:700; box-shadow:0 8px 22px rgba(48,32,176,.28); transition:transform .18s, box-shadow .18s; }
.cb-btn:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(48,32,176,.34); }
.cb-btn.small { min-height:44px; padding:0 18px; font-size:14px; box-shadow:none; }
.cb-btn.ghost { background:#fff; color:var(--navy); border:1.5px solid #cfd3ea; box-shadow:none; }
.cb-btn.light { background:#fff; color:var(--navy); box-shadow:none; }
.cb-hero { display:grid; gap:40px; padding:44px 20px 56px; background:radial-gradient(700px 380px at 90% 0%, #dcd8fb 0%, transparent 70%), linear-gradient(180deg,#f6f5ff,#fff); }
.cb-eyebrow { color:var(--indigo); font-weight:800; font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:14px; }
.cb-eyebrow.light { color:#9fe0d9; }
.cb h1 { font-size:36px; line-height:1.08; letter-spacing:-0.035em; font-weight:800; color:var(--navy); margin-bottom:20px; }
.cb-lead { font-size:18px; color:var(--mut); max-width:540px; margin-bottom:28px; }
.cb-actions { display:flex; flex-wrap:wrap; gap:12px; }
.cb-note { margin-top:16px; font-size:14px; color:var(--mut); }
.cb-hero-visual { position:relative; max-width:460px; width:100%; justify-self:center; padding-bottom:40px; }
.cb-frame { border-radius:28px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 30px 60px rgba(0,32,96,.25); }
.cb-frame img { width:100%; height:100%; object-fit:cover; display:block; }
.cb-float { position:absolute; max-width:78%; padding:12px 16px; border-radius:16px; font-size:14px; line-height:1.45; background:#fff; box-shadow:0 14px 34px rgba(0,32,96,.22); animation:fl 6s ease-in-out infinite; }
.cb-float .who { display:block; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--indigo); margin-bottom:2px; }
.cb-float.f1 { right:-6px; top:18%; background:var(--indigo); color:#fff; }
.cb-float.f1 .who { color:#c9c3ff; }
.cb-float.f2 { left:-6px; bottom:0; animation-delay:-3s; }
.cb-chip-float { position:absolute; left:14px; top:14px; display:inline-flex; gap:8px; align-items:center; padding:8px 14px 8px 10px; border-radius:999px; background:rgba(255,255,255,.95); font-weight:700; font-size:13px; color:var(--navy); box-shadow:0 8px 20px rgba(0,0,0,.18); }
.cb-chip-float svg { width:18px; height:18px; color:var(--teal); }
@keyframes fl { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-6px) } }
.cb-strip { display:grid; background:var(--navy); color:#fff; }
.cb-strip div { padding:20px 24px; display:flex; flex-direction:column; border-top:1px solid rgba(255,255,255,.12); }
.cb-strip div:first-child { border-top:0; }
.cb-strip strong { font-size:20px; letter-spacing:-0.02em; }
.cb-strip span { color:#b9c4e6; font-size:14px; }
.cb-sec { padding:64px 20px; }
.cb-head { max-width:680px; margin-bottom:32px; }
.cb h2 { font-size:30px; line-height:1.15; letter-spacing:-0.03em; font-weight:800; color:var(--navy); }
.cb h3 { font-size:18px; letter-spacing:-0.01em; color:var(--navy); margin-bottom:6px; }
.cb-grid { display:grid; gap:16px; }
.cb-card { padding:26px; border-radius:22px; background:#fff; border:1px solid #e3e6f3; box-shadow:0 2px 4px rgba(0,32,96,.04); transition:transform .2s, box-shadow .2s, border-color .2s; }
.cb-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(0,32,96,.12); border-color:#cfc9f7; }
.cb-card .ico { display:inline-flex; width:48px; height:48px; border-radius:14px; align-items:center; justify-content:center; background:var(--lav); color:var(--indigo); margin-bottom:16px; }
.cb-card p { color:var(--mut); font-size:15px; }
.cb-band { padding:72px 20px; background-size:cover; background-position:center; color:#fff; }
.cb-band > div { max-width:560px; }
.cb-band h2 { color:#fff; margin-bottom:14px; }
.cb-band p { color:#dbe3f8; margin-bottom:24px; }
.cb-band .cb-eyebrow { margin-bottom:14px; }
.cb-steps { list-style:none; display:grid; gap:28px; }
.cb-steps .num { display:block; font-size:56px; line-height:1; font-weight:800; letter-spacing:-0.04em; color:var(--lav); -webkit-text-stroke:0; background:linear-gradient(135deg,var(--indigo),var(--teal)); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:8px; }
.cb-steps p { color:var(--mut); }
.cb-trust { display:grid; gap:32px; padding:72px 20px; background:var(--navy); color:#fff; }
.cb-trust h2 { color:#fff; margin-bottom:12px; }
.cb-trust p { color:#c4cfee; max-width:460px; }
.cb-rules { list-style:none; display:grid; gap:12px; }
.cb-rules li { padding:16px 18px 16px 52px; border-radius:16px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); position:relative; }
.cb-rules li::before { content:"✓"; position:absolute; left:16px; top:15px; width:24px; height:24px; border-radius:50%; background:var(--teal); color:#fff; font-size:13px; font-weight:800; display:flex; align-items:center; justify-content:center; }
.cb-cta { padding:72px 20px; text-align:center; background:linear-gradient(180deg,#fff,var(--lav)); display:flex; flex-direction:column; align-items:center; gap:12px; }
.cb-cta img { mix-blend-mode:multiply; }
.cb-cta p { color:var(--mut); max-width:420px; margin-bottom:8px; }
.cb-foot { padding:22px 20px; font-size:13px; color:var(--mut); text-align:center; background:var(--lav); }
.rv { opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.rv.in { opacity:1; transform:none; }
@media (min-width:900px){
  .cb-top { padding:12px 56px; } .cb-top nav { display:flex; } .cb-logo { height:68px; }
  .cb-hero { grid-template-columns:1.05fr .95fr; align-items:center; padding:80px 56px 96px; gap:64px; }
  .cb h1 { font-size:58px; } .cb h2 { font-size:42px; }
  .cb-strip { grid-template-columns:repeat(3,1fr); } .cb-strip div { border-top:0; border-left:1px solid rgba(255,255,255,.12); padding:28px 56px; } .cb-strip div:first-child { border-left:0; }
  .cb-sec { padding:104px 56px; } .cb-grid { grid-template-columns:repeat(3,1fr); gap:20px; }
  .cb-band { padding:140px 56px; } .cb-steps { grid-template-columns:repeat(3,1fr); gap:48px; }
  .cb-trust { grid-template-columns:1fr 1fr; padding:104px 56px; gap:72px; align-items:center; } .cb-cta { padding:112px 56px; }
}
@media (prefers-reduced-motion:reduce){ .cb-float{animation:none} .rv{opacity:1;transform:none;transition:none} .cb-btn,.cb-card{transition:none} }

.cb-sec.soft { background:linear-gradient(180deg,#fff,var(--lav)); }
.cb-two { display:grid; gap:36px; align-items:center; max-width:1120px; margin:0 auto; }
.cb .cb-p { color:var(--mut); font-size:18px; margin-top:14px; max-width:460px; }
.cb-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.cb-chips button { font:inherit; font-size:14px; font-weight:600; padding:10px 14px; min-height:44px; border-radius:999px; border:1.5px solid #cfd3ea; background:#fff; color:var(--navy); cursor:pointer; transition:all .18s; }
.cb-chips button:hover { border-color:var(--indigo); }
.cb-chips button.on { background:var(--indigo); border-color:var(--indigo); color:#fff; }
.cb-chips button:focus-visible { outline:3px solid var(--indigo); outline-offset:2px; }
.cb-phone { border-radius:28px; background:#fff; border:1px solid #dcdff0; box-shadow:0 30px 60px rgba(0,32,96,.16); overflow:hidden; }
.cb-phone-bar { display:flex; align-items:center; gap:10px; padding:14px 18px; background:var(--navy); color:#fff; font-weight:700; }
.cb-phone-bar .dot { width:9px; height:9px; border-radius:50%; background:#5be3c2; }
.cb-phone-bar em { margin-left:auto; font-style:normal; font-weight:500; font-size:12px; color:#b9c4e6; }
.cb-phone-body { display:flex; flex-direction:column; gap:12px; padding:20px 18px; min-height:230px; background:#f7f7fd; }
.cb-phone-body .cb-msg { padding:12px 16px; border-radius:18px; font-size:15px; line-height:1.5; max-width:88%; animation:pop .35s ease both; }
.cb-phone-body .cb-msg.you { align-self:flex-end; background:var(--indigo); color:#fff; border-bottom-right-radius:5px; }
.cb-phone-body .cb-msg.bot { align-self:flex-start; background:#fff; border:1px solid #e1e4f3; border-bottom-left-radius:5px; animation-delay:.2s; min-height:48px; }
.caret { display:inline-block; width:2px; height:1em; background:var(--indigo); margin-left:2px; vertical-align:-2px; animation:bl 1s steps(1) infinite; }
@keyframes pop { from { opacity:0; transform:translateY(8px) } to { opacity:1; transform:none } }
@keyframes bl { 50% { opacity:0 } }
.cb-stack { position:relative; height:260px; max-width:380px; margin:0 auto; width:100%; }
.sc { position:absolute; width:78%; aspect-ratio:1.586; border-radius:18px; padding:18px; box-shadow:0 20px 40px rgba(0,32,96,.22); color:#fff; display:flex; flex-direction:row; align-items:flex-start; justify-content:space-between; }
.sc i { width:38px; height:28px; border-radius:6px; background:linear-gradient(135deg,#f6e3a8,#d8ad47); }
.sc b { font-size:15px; letter-spacing:-0.01em; }
.sc.c1 { left:0; top:0; background:linear-gradient(135deg,#3020b0,#002060); transform:rotate(-6deg); animation:fl 7s ease-in-out infinite; }
.sc.c2 { left:12%; top:38px; background:linear-gradient(135deg,#2f9c95,#0e5f86); transform:rotate(1deg); animation:fl 7s ease-in-out -2s infinite; }
.sc.c3 { left:22%; top:78px; background:linear-gradient(135deg,#8b86e8,#3020b0); transform:rotate(7deg); animation:fl 7s ease-in-out -4s infinite; }
.cb-hero::before { content:""; position:absolute; inset:0; pointer-events:none; }
.cb-hero { position:relative; overflow:hidden; }
.cb-frame img { animation:kb 18s ease-in-out infinite alternate; transform-origin:60% 40%; }
@keyframes kb { from { transform:scale(1) } to { transform:scale(1.08) } }
@media (min-width:900px){ .cb-two { grid-template-columns:1fr 1fr; gap:72px; } .cb-sec.cards .cb-two { grid-template-columns:.9fr 1.1fr; } .cb-stack { height:320px; } }
@media (prefers-reduced-motion:reduce){ .sc,.cb-frame img,.caret,.cb-phone-body .cb-msg{animation:none} }

.cb-band { background-image:linear-gradient(90deg,rgba(0,32,96,.92),rgba(0,32,96,.35)),url(../img/hotel.webp); }
.cb-grid .cb-card:nth-child(3n+2),.cb-steps li:nth-child(2),.cb-rules li:nth-child(2){transition-delay:70ms}
.cb-grid .cb-card:nth-child(3n),.cb-steps li:nth-child(3),.cb-rules li:nth-child(3){transition-delay:140ms}
.cb-rules li:nth-child(4){transition-delay:210ms}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#002060;padding:10px 14px;border-radius:8px;z-index:10;font-weight:700}
.skip:focus{left:8px}
.cb-logo-link{display:inline-flex}
.cb-cta img{height:auto}
.cb-logo,.cb-frame img{height:auto}
.cb-logo{height:52px;width:auto}
.cb-frame img{height:100%}
.cb-chips button[aria-selected="true"]{background:var(--indigo);border-color:var(--indigo);color:#fff}
.cb a.cb-foot-a{color:var(--navy)}
.nojs .rv{opacity:1;transform:none}
@media (min-width:900px){.cb-logo{height:68px}}
@media print{.cb-top{position:static}.rv{opacity:1;transform:none}}
.cb-cta.nf{min-height:100vh;justify-content:center}
.cb button{font-family:inherit}
.sc{width:70%}.cb-stack{padding-right:2%}

.cb-dlg { border:0; border-radius:20px; padding:0; width:min(440px,calc(100vw - 32px)); max-height:calc(100vh - 32px); overflow:auto; box-shadow:0 24px 70px rgba(0,32,96,.35); font-family:Inter,"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif; color:#0c1a3a; }
.cb-dlg::backdrop { background:rgba(0,32,96,.55); }
.cb-dlg form { position:relative; padding:32px 24px 24px; }
.cb-dlg h2 { font-size:26px; line-height:1.15; letter-spacing:-0.03em; font-weight:800; color:#002060; margin:0 28px 8px 0; }
.cb-dlg .sub { color:#4b5878; font-size:15px; margin:0 0 18px; }
.cb-dlg label { display:block; font-weight:700; font-size:14px; margin:12px 0 6px; color:#002060; }
.cb-dlg input { width:100%; min-height:48px; padding:0 14px; border:1.5px solid #cfd3ea; border-radius:12px; font:inherit; font-size:16px; color:#0c1a3a; background:#fff; }
.cb-dlg input:focus-visible { outline:3px solid #3020b0; outline-offset:1px; border-color:#3020b0; }
.cb-dlg .x { position:absolute; right:10px; top:10px; width:44px; height:44px; border:0; background:none; font-size:30px; line-height:1; color:#4b5878; cursor:pointer; border-radius:10px; }
.cb-dlg .x:focus-visible, .cb-dlg .cb-btn:focus-visible { outline:3px solid #3020b0; outline-offset:2px; }
.cb-dlg .cb-btn { width:100%; margin-top:18px; border:0; font:inherit; font-weight:700; cursor:pointer; }
.cb-dlg .cb-btn:disabled { opacity:.7; cursor:wait; }
.cb-dlg .err { color:#b00020; font-size:14px; font-weight:600; margin-top:12px; }
.cb-dlg .fine { font-size:12.5px; color:#4b5878; margin-top:14px; line-height:1.5; }
.cb-dlg .fine a { color:#3020b0; }
.cb-dlg .hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
[hidden] { display:none !important; }
.cb-dlg { --navy:#002060; --indigo:#3020b0; --lav:#eceafc; --teal:#2f9c95; --ink:#0c1a3a; --mut:#4b5878; overflow-x:hidden; line-height:1.5; }
.cb-dlg, .cb-dlg *, .cb-dlg *::before, .cb-dlg *::after { box-sizing:border-box; }
