:root { --sea: #0e9fd8; --deep: #06456b; --sand: #fff8ec; --sun: #ffd400; --coral: #ef4130; }
* { box-sizing: border-box; }
body { margin: 0; font-family: "Segoe UI", system-ui, -apple-system, Helvetica, Arial, sans-serif; color: #1c2b36;
  background: linear-gradient(180deg, #e6f7fd 0%, var(--sand) 55%); min-height: 100vh; }
.hero { text-align: center; padding: 32px 20px 8px; }
.bahamas { width: min(260px, 60vw); height: auto; }
h1 { font-size: clamp(1.6rem, 5.5vw, 3rem); line-height: 1.15; margin: 20px auto; max-width: 900px; color: var(--deep); letter-spacing: .02em; }
.partners { display: flex; flex-wrap: wrap; gap: 20px 40px; justify-content: center; align-items: center;
  background: #fff; border-radius: 16px; padding: 18px 28px; max-width: 640px; margin: 0 auto; box-shadow: 0 4px 18px rgba(6,69,107,.08); }
.partners img { height: 54px; width: auto; max-width: 100%; }
main { padding: 24px 16px 40px; }
.card { background: #fff; max-width: 640px; margin: 0 auto; padding: 28px; border-radius: 18px; box-shadow: 0 8px 30px rgba(6,69,107,.12); border-top: 6px solid var(--sea); }
.card h2 { margin: 0 0 18px; color: var(--deep); font-size: 1.35rem; }
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.grid label { display: flex; flex-direction: column; font-weight: 600; font-size: .92rem; gap: 6px; }
.full { grid-column: 1 / -1; }
input { font: inherit; padding: 12px 14px; border: 1.5px solid #c9dbe5; border-radius: 10px; font-weight: 400; }
input:focus { outline: none; border-color: var(--sea); box-shadow: 0 0 0 3px rgba(14,159,216,.2); }
.check { display: flex; gap: 10px; align-items: flex-start; margin: 20px 0; font-size: .92rem; }
.check input { width: 20px; height: 20px; margin-top: 2px; flex: none; }
a { color: var(--sea); }
button { width: 100%; padding: 15px; font: inherit; font-size: 1.1rem; font-weight: 700; color: var(--deep); background: var(--sun);
  border: 0; border-radius: 12px; cursor: pointer; letter-spacing: .03em; }
button:hover { background: #ffc400; }
.hidden { display: none; }
footer { text-align: center; padding: 20px; font-size: .85rem; color: #5a6b76; display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.doc { max-width: 760px; margin: 0 auto; line-height: 1.6; }
@media (max-width: 560px) {
  .grid { grid-template-columns: 1fr; }
  .card { padding: 20px; }
  .partners img { height: 40px; }
}
