:root {
    --ink: #12141a;
    --cream: #f4efe4;
    --teal: #3fd6c8;
    --teal-dark: #0e8f82;
    --sunset: #e8703f;
    --card-bg: #f1f1f0;
}

body {
    font-family: 'Poppins', Arial, sans-serif;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.top-heading {
	height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-radius: 0 0 50px 50px;
    color: #fff;
    font-size: 30px;
    text-align: center;
    padding: 0 20px;
    background: linear-gradient(180deg, #0a1412 0%, #000000 100%);
    background-position: center 33%;
    background-size: cover;
}

.top-heading .horizon {
    position: absolute;
    left: -10%;
    right: -10%;
    top: 10%;
    height: 240px;
    background: linear-gradient(90deg, #0c2b27 0%, #12615a 22%, #1f9e8f 46%, #3fd6c8 68%, #9df3ea 88%, #e6fbf7 100%);
    filter: blur(55px);
    opacity: 0.78;
    transform: scaleX(1.1) rotate(-2deg);
    pointer-events: none;
}

.top-heading h1 {
	color: #fbfaf6;
    font-size: 44px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    line-height: 1.2;
}

.top-heading p {
    position: relative;
    z-index: 2;
    color: rgba(251, 250, 246, 0.72);
    font-size: 15.5px;
    margin-top: 14px;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (max-width: 1024px) {
	.top-heading .script {
		margin-top: 30px;
	}

	.top-heading h1 {
		font-size: 22px;
	}
	
	.top-heading h2 {
		font-size: 13px;
	}
	
	.top-heading p {
		font-size: 13px;
	}
}

.top-heading .divider {
    width: 64px;
    height: 2px;
    background: rgba(255, 255, 255, 0.5);
    margin: 20px auto 0;
    position: relative;
}

.top-heading .divider::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    background: #e0a091;
    border-radius: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
}

h1 {
  font-weight: normal;
}

h3 {
  font-size: 24px;
  margin-bottom: 20px;
}

main {
  flex-grow: 1;
}

.section {
  padding: 50px 0;
}

@media only screen and (min-width: 1024px) {
  .section {
    padding: 100px 0;
  }
}
  
  /* ---------- BOOKING HERO (teal) ---------- */
  .book-hero{
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg,#0a1412 0%, #000000 100%);
    padding:70px 24px 90px;
    text-align:center;
  }
  .book-hero .horizon{
    position:absolute;
    left:-10%; right:-10%; top:50%;
    height:240px;
    background:linear-gradient(90deg, #0c2b27 0%, #12615a 22%, #1f9e8f 46%, #3fd6c8 68%, #9df3ea 88%, #e6fbf7 100%);
    filter:blur(55px);
    opacity:0.78;
    transform:scaleX(1.1) rotate(-2deg);
    pointer-events:none;
  }
  .book-hero h1{position:relative;z-index:2;color:#fbfaf6;font-size:34px;font-weight:700;letter-spacing:0.5px;}
  .book-hero p{position:relative;z-index:2;color:rgba(251,250,246,0.72);font-size:15.5px;margin-top:14px;max-width:520px;margin-left:auto;margin-right:auto;}

  /* ---------- BOOKING LAYOUT ---------- */
  .booking-layout{
    max-width:1300px;
    margin:40px auto 60px;
    display:grid;
    grid-template-columns:1fr 360px;
    gap:50px;
    align-items:start;
  }
  .booking-form-card{
    background:var(--card-bg);
    border-radius:20px;
    padding:48px 50px;
  }
  .booking-form-card h2{
    font-size:24px;font-weight:800;color:var(--ink);margin-bottom:8px;
  }
  .booking-form-card > p{
    font-size:14.5px;color:#5a5f6a;margin-bottom:34px;
  }
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px;}
  .form-group{display:flex;flex-direction:column;gap:8px;}
  .form-group.full{grid-column:1 / -1;}
  .form-group label{font-size:12.5px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;color:var(--navy);}
  .form-group input,
  .form-group select,
  .form-group textarea{
    font-family:'Poppins',sans-serif;
    font-size:14px;
    color:var(--ink);
    background:#fff;
    border:1px solid #e2e2e2;
    border-radius:8px;
    padding:14px 16px;
    outline:none;
    transition:border-color .2s ease;
  }
  .form-group input:focus,
  .form-group select:focus,
  .form-group textarea:focus{border-color:var(--salmon);}
  .form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9a9a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;}
  .form-group textarea{resize:vertical;min-height:110px;font-family:'Poppins',sans-serif;}
  .form-submit{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--navy);color:#fff;border:none;cursor:pointer;
    font-family:'Poppins',sans-serif;
    font-size:13px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;
    padding:17px 38px;border-radius:999px;margin-top:8px;
    transition:background .2s ease;
  }
  .form-submit:hover{background:#1c2131;}
  .form-note{font-size:12.5px;color:#8a8d94;margin-top:16px;}

  .booking-success{display:none;text-align:center;padding:40px 10px;}
  .booking-success .icon-wrap{
    width:64px;height:64px;border-radius:50%;background:var(--salmon);
    display:flex;align-items:center;justify-content:center;margin:0 auto 22px;
  }
  .booking-success h2{font-size:24px;font-weight:800;color:var(--ink);margin-bottom:12px;}
  .booking-success p{font-size:14.5px;color:#5a5f6a;max-width:440px;margin:0 auto;line-height:1.7;}

  /* ---------- BOOKING SIDEBAR ---------- */
  .booking-sidebar-card{
    background:#fff;border:1px solid #ececec;border-radius:20px;padding:36px 34px;margin-bottom:26px;
  }
  .booking-sidebar-card h4{font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--navy);margin-bottom:22px;}
  .step-item{display:flex;gap:16px;margin-bottom:22px;}
  .step-item:last-child{margin-bottom:0;}
  .step-num{
    flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--card-bg);
    display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:var(--navy);
  }
  .step-item h5{font-size:14.5px;font-weight:700;color:var(--ink);margin-bottom:4px;}
  .step-item p{font-size:13px;line-height:1.6;color:#666;}

  .contact-row{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px;}
  .contact-row:last-child{margin-bottom:0;}
  .contact-row .icon-wrap{
    width:38px;height:38px;border-radius:50%;background:var(--card-bg);flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
  }
  .contact-row .icon-wrap svg{width:16px;height:16px;}
  .contact-row div{font-size:13.5px;line-height:1.6;color:#444;}
  .contact-row div b{display:block;color:var(--navy);font-size:12px;letter-spacing:0.5px;text-transform:uppercase;margin-bottom:2px;}

  .booking-sidebar-note{font-size:13px;line-height:1.7;color:#5a5f6a;}
  .booking-sidebar-note b{color:var(--navy);}

  /* ---------- TRUST STRIP ---------- */
  .trust-strip{
    max-width:1300px;margin:0 auto 90px;padding:0 24px;
    display:grid;grid-template-columns:repeat(4,1fr);
    border-top:1px solid #ececec;border-bottom:1px solid #ececec;
  }
  .trust-item{text-align:center;padding:34px 16px;border-left:1px solid #ececec;}
  .trust-item:first-child{border-left:none;}
  .trust-item .icon-wrap{width:44px;height:44px;border-radius:50%;background:var(--card-bg);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
  .trust-item .icon-wrap svg{width:20px;height:20px;}
  .trust-item h5{font-size:14px;font-weight:700;color:var(--ink);}

  @media (max-width:900px){
    .booking-layout{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    .booking-form-card{padding:36px 26px;}
    .trust-strip{grid-template-columns:1fr 1fr;}
    .trust-item:nth-child(odd){border-left:none;}
    .trust-item:nth-child(1),.trust-item:nth-child(2){border-top:none;}
    .trust-item{border-top:1px solid #ececec;}
  }
  
.popup {
	display:none;
}