* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#eaf7f4; -webkit-font-smoothing:antialiased; }

    #kt-reserve { --kr-ink:#111b19; --kr-muted:#536761; --kr-teal:#43988f; --kr-deep:#193c38; --kr-blue:#0070ff; --kr-paper:#eaf7f4; color-scheme:light; color:var(--kr-ink); font-family:'Nunito',-apple-system,sans-serif; background:transparent; }
    #kt-reserve * { box-sizing:border-box; }
    #kt-reserve [hidden] { display:none!important; }
    #kt-reserve button, #kt-reserve input { font-family:inherit; }
    #kt-reserve .kr-nav { background:#193c38; color:#fff; padding:18px 32px; display:flex; align-items:center; flex-wrap:wrap; gap:12px 25px; }
    #kt-reserve .kr-logo { color:#91cec2; font-size:21px; font-weight:900; line-height:1.3; letter-spacing:-.8px; text-decoration:none; }
    #kt-reserve .kr-logo span { color:#edf7f3; font-size:11px; font-weight:700; letter-spacing:.5px; margin-left:6px; }
    #kt-reserve .kr-navlinks { display:flex; gap:20px; align-items:center; margin-left:auto; }
    #kt-reserve .kr-navlinks a { color:#edf7f3; font-size:12px; font-weight:700; line-height:1.5; text-decoration:none; padding:5px 0; }
    #kt-reserve a:hover { text-decoration:underline; }
    #kt-reserve .kr-hero { background-color:var(--kr-paper); background-image:radial-gradient(circle,rgba(13,148,136,.18) 1.25px,transparent 1.5px); background-size:14px 14px; padding:38px 32px; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(290px,1fr); align-items:center; gap:32px; }
    #kt-reserve .kr-eyebrow { margin:0 0 11px; color:#2a7268; font-size:11px; font-weight:900; line-height:1.5; letter-spacing:1.6px; text-transform:uppercase; }
    #kt-reserve .kr-title { font-size:clamp(30px,4.15vw,43px); font-weight:900; line-height:1.12; letter-spacing:-1px; margin:0 0 16px; color:var(--kr-ink); }
    #kt-reserve .kr-title span { display:block; color:var(--kr-teal); }
    #kt-reserve .kr-intro { font-size:15px; font-weight:600; line-height:1.65; margin:0 0 21px; color:#354b43; max-width:510px; }
    #kt-reserve .kr-media { margin:0; min-width:0; }
    #kt-reserve .kr-media-frame { border:5px solid #193c38; border-radius:6px; background:#142321; overflow:hidden; box-shadow:0 10px 25px rgba(25,60,56,.12); }
    #kt-reserve .kr-video { display:block; width:100%; aspect-ratio:1/1; }
    #kt-reserve .kr-media-caption { margin-top:9px; font-size:11px; line-height:1.5; font-weight:700; color:var(--kr-muted); }
    #kt-reserve .kr-action { display:inline-block; border:0; border-radius:0; appearance:none; background:var(--kr-blue); color:#fff; padding:16px 21px; font-size:14px; font-weight:900; line-height:1.5; text-align:center; text-decoration:none; cursor:pointer; clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px); }
    #kt-reserve .kr-action:hover { text-decoration:none; filter:brightness(.95); }
    #kt-reserve .kr-demo { margin-top:15px; background:var(--kr-teal); padding:12px 20px; font-size:12px; }
    #kt-reserve .kr-offer { background:#fff; padding:26px; border:1px solid #c8ded6; border-top:4px solid #0070ff; box-shadow:0 8px 24px rgba(25,60,56,.07); min-width:0; }
    #kt-reserve .kr-offer .kr-eyebrow { color:#1158a6; font-size:10px; margin-bottom:8px; }
    #kt-reserve .kr-offer h2 { margin:0 0 7px; font-size:24px; font-weight:900; line-height:1.25; letter-spacing:-.5px; color:#193c38; }
    #kt-reserve .kr-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; margin:16px 0 7px; color:#193c38; }
    #kt-reserve .kr-price strong { font-size:57px; line-height:1; font-weight:900; letter-spacing:-2px; }
    #kt-reserve .kr-price span { font-size:13px; line-height:1.4; font-weight:700; }
    #kt-reserve .kr-lead { margin:0 0 18px; font-size:13px; line-height:1.65; color:#536761; }
    #kt-reserve .kr-facts { list-style:none; padding:14px 0; margin:0; border-top:1px solid #e1ebe7; border-bottom:1px solid #e1ebe7; }
    #kt-reserve .kr-facts li { display:flex; align-items:baseline; gap:9px; font-size:13px; font-weight:800; line-height:1.5; margin:5px 0; }
    #kt-reserve .kr-facts span { color:#2a7268; font-weight:900; }
    #kt-reserve .kr-offer .kr-action { display:block; width:100%; margin-top:20px; }
    #kt-reserve .kr-secure { margin:9px 0 15px; font-size:11px; line-height:1.5; text-align:center; color:var(--kr-muted); }
    #kt-reserve .kr-estimate { border-top:1px solid #e1ebe7; padding:16px 0 13px; display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 10px; }
    #kt-reserve .kr-estimate p { flex:1; font-size:12px; line-height:1.45; font-weight:700; margin:0; color:#536761; }
    #kt-reserve .kr-estimate strong { color:#193c38; font-size:26px; line-height:1.25; font-weight:900; }
    #kt-reserve .kr-small { font-size:11px; line-height:1.55; color:#63766e; margin:0 0 12px; }
    #kt-reserve .kr-terms-note { font-size:11px; line-height:1.55; color:#536761; margin:0; }
    #kt-reserve .kr-waitlist { display:block; margin-top:18px; padding-top:15px; border-top:1px solid #e1ebe7; font-size:12px; line-height:1.5; color:#277568; font-weight:800; text-align:center; }
    #kt-reserve .kr-status { color:#18584b; font-size:12px; line-height:1.5; font-weight:800; margin:12px 0 0; }
    #kt-reserve .kr-status:empty { display:none; }
    #kt-reserve .kr-section { padding:34px 32px; background:#fff; }
    #kt-reserve .kr-section h2 { color:#111b19; font-size:26px; font-weight:900; line-height:1.25; letter-spacing:-.6px; margin:0 0 10px; }
    #kt-reserve .kr-section-intro { font-size:14px; line-height:1.6; color:#536761; margin:0; }
    #kt-reserve .kr-steps { padding:0; margin:24px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; list-style:none; }
    #kt-reserve .kr-step { border-top:2px solid #bbd8cd; padding-top:14px; }
    #kt-reserve .kr-step small { color:#2a7268; font-size:11px; font-weight:900; letter-spacing:1px; }
    #kt-reserve .kr-step h3 { margin:6px 0 7px; color:#193c38; font-size:17px; font-weight:900; line-height:1.3; }
    #kt-reserve .kr-step p { margin:0; color:#536761; font-size:12px; line-height:1.65; }
    #kt-reserve .kr-included { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:34px; align-items:center; background:#193c38; color:#fff; }
    #kt-reserve .kr-included .kr-eyebrow { color:#a4d8cb; }
    #kt-reserve .kr-included h2 { color:#fff; }
    #kt-reserve .kr-included p { color:#c2dbd4; font-size:13px; line-height:1.6; margin:0; }
    #kt-reserve .kr-included ul { padding:0; margin:0 0 11px; list-style:none; display:flex; flex-wrap:wrap; gap:8px; }
    #kt-reserve .kr-included li { background:#2b4c47; border:1px solid #50766b; padding:7px 11px; font-size:12px; font-weight:700; line-height:1.4; color:#e7f6ef; }
    #kt-reserve .kr-included .kr-scope { font-size:11px; color:#a4c6bc; }
    #kt-reserve .kr-faq { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:35px; background:#eaf7f4; }
    #kt-reserve .kr-faq details { border-bottom:1px solid #c4dbd2; padding:0 0 13px; margin:0 0 14px; }
    #kt-reserve .kr-faq summary { color:#193c38; font-size:14px; font-weight:800; line-height:1.6; cursor:pointer; }
    #kt-reserve .kr-faq details p { color:#536761; font-size:12px; line-height:1.65; margin:9px 0 0; }
    #kt-reserve .kr-faq a { color:#277568; }
    #kt-reserve .kr-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding:18px 32px; background:#193c38; color:#b8d3c9; font-size:11px; line-height:1.5; }
    #kt-reserve .kr-footer a { color:#b8d3c9; margin-left:13px; }
    #kt-reserve .kr-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
    @media(max-width:760px) {
      #kt-reserve .kr-hero { padding:30px 24px; gap:23px; grid-template-columns:minmax(0,1fr) minmax(275px,1fr); }
      #kt-reserve .kr-offer { padding:21px; }
      #kt-reserve .kr-nav, #kt-reserve .kr-section { padding-left:24px; padding-right:24px; }
      #kt-reserve .kr-title { font-size:33px; }
      #kt-reserve .kr-intro { font-size:14px; }
      #kt-reserve .kr-faq { gap:25px; }
    }
    @media(max-width:610px) {
      #kt-reserve .kr-nav { padding:17px 20px; }
      #kt-reserve .kr-navlinks { gap:15px; }
      #kt-reserve .kr-logo { font-size:20px; }
      #kt-reserve .kr-logo span { font-size:10px; }
      #kt-reserve .kr-hero { grid-template-columns:minmax(0,1fr); padding:28px 20px; gap:28px; }
      #kt-reserve .kr-title { font-size:35px; }
      #kt-reserve .kr-media { max-width:430px; }
      #kt-reserve .kr-offer { padding:23px; }
      #kt-reserve .kr-section { padding:29px 20px; }
      #kt-reserve .kr-section h2 { font-size:25px; }
      #kt-reserve .kr-steps { grid-template-columns:minmax(0,1fr); gap:20px; }
      #kt-reserve .kr-step { padding-top:14px; }
      #kt-reserve .kr-step p { font-size:13px; }
      #kt-reserve .kr-included, #kt-reserve .kr-faq { grid-template-columns:minmax(0,1fr); gap:22px; }
      #kt-reserve .kr-footer { padding:17px 20px; }
      #kt-reserve .kr-footer a { margin-left:0; margin-right:13px; }
    }

#kt-reserve main { max-width:1180px; margin:0 auto; }
#kt-reserve .kr-nav, #kt-reserve .kr-footer { padding-left:max(32px,calc((100% - 1116px)/2)); padding-right:max(32px,calc((100% - 1116px)/2)); }
#kt-reserve .kr-hero { padding-top:48px; padding-bottom:48px; }
#kt-reserve .kr-action:disabled { cursor:wait; opacity:.65; }
#kt-reserve .kr-destination-label { display:block; font-size:13px; font-weight:900; margin-bottom:8px; }
#kt-reserve .kr-destination { display:block; width:100%; font:inherit; font-size:14px; padding:12px; background:#fff; color:#193c38; border:2px solid #c8ded6; margin-bottom:10px; }
#kt-reserve .kr-destination:focus-visible { outline:3px solid #111b19; outline-offset:3px; }
#kt-reserve .kr-international { background:#eaf7f4; padding:16px; margin-top:16px; }
#kt-reserve .kr-international h3 { margin:0 0 8px; font-size:18px; }
#kt-reserve .kr-international p { font-size:13px; line-height:1.6; }
#kt-reserve .kr-payment-options { border:0; padding:0; margin:22px 0 16px; min-width:0; }
#kt-reserve .kr-payment-options legend { font-size:13px; font-weight:900; margin-bottom:9px; }
#kt-reserve .kr-payment-option { display:flex; align-items:flex-start; gap:10px; border:2px solid #c8ded6; padding:13px; margin-bottom:10px; cursor:pointer; background:#fff; }
#kt-reserve .kr-payment-option:has(input:checked) { border-color:var(--kr-blue); background:#eff6ff; }
#kt-reserve .kr-payment-option input { margin:4px 0 0; accent-color:var(--kr-blue); flex-shrink:0; width:17px; height:17px; }
#kt-reserve .kr-payment-option strong { display:block; font-size:15px; line-height:1.45; color:#193c38; }
#kt-reserve .kr-payment-option small { display:block; font-size:12px; line-height:1.5; margin-top:4px; color:var(--kr-muted); }
#kt-reserve .kr-payment-option:focus-within { outline:3px solid #111b19; outline-offset:3px; }
#kt-reserve a:focus-visible, #kt-reserve button:focus-visible, #kt-reserve summary:focus-visible { outline:3px solid #111b19; outline-offset:5px; }
#kt-reserve .kr-nav a:focus-visible, #kt-reserve .kr-footer a:focus-visible { outline-color:#fff; }
@media(max-width:610px) {
  #kt-reserve .kr-nav, #kt-reserve .kr-footer { padding-left:20px; padding-right:20px; }
  #kt-reserve .kr-hero { padding-top:28px; padding-bottom:28px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Distinct prepaid packages, with the common hardware listed once. */
#kt-reserve .kr-included { display:block; }
#kt-reserve .kr-packages-heading { max-width:640px; margin-bottom:24px; }
#kt-reserve .kr-included .kr-eyebrow { margin-bottom:10px; font-size:11px; }
#kt-reserve .kr-package-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
#kt-reserve .kr-package { display:flex; flex-direction:column; padding:24px; border:1px solid #648b81; background:#244d46; min-width:0; }
#kt-reserve .kr-package-bundle { background:#2b5850; border-color:#a4d8cb; }
#kt-reserve .kr-package .kr-package-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 12px; color:#fff; margin-bottom:16px; }
#kt-reserve .kr-package-price strong { font-size:40px; line-height:1.1; font-weight:900; letter-spacing:-1px; }
#kt-reserve .kr-package-price span { color:#c2dbd4; font-size:12px; }
#kt-reserve .kr-package h3 { color:#fff; font-size:22px; line-height:1.3; margin:0 0 9px; }
#kt-reserve .kr-package .kr-action { align-self:flex-start; margin-top:22px; background:#c2eee1; color:#153b32; }
#kt-reserve .kr-package .kr-action:focus-visible { outline-color:#fff; }
#kt-reserve .kr-package-shared { border-top:1px solid #50766b; margin-top:24px; padding-top:18px; }
#kt-reserve .kr-package-shared .kr-scope { margin-top:7px; }
@media(max-width:610px) {
 #kt-reserve .kr-package-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
 #kt-reserve .kr-package { padding:20px; }
 #kt-reserve .kr-package .kr-action { width:100%; }
}
