/* =========================
   DIVE CENTER TEMPLATE
   ========================= */

.td-center{
  background: var(--td-bg, #f6fbff);
}

.td-center-wrap{
  width: min(1200px, calc(100% - 28px));
  margin-inline: auto;
}

.td-sec{ padding: 14px 0 18px; }

/* Head */
.td-blockHead{ padding: 10px 0 10px; }
.td-eyebrow{
  margin:0 0 6px;
  display:flex; align-items:center; gap:10px;
  color: rgba(9,58,90,.78);
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 12px;
}
.td-title{
  margin:0;
  color: var(--td-blue, #093a5a);
  font-weight: 900;
  letter-spacing: -.02em;
  font-size: clamp(22px, 2.6vw, 34px);
}

/* HERO */
.td-center-hero{
  position: relative;
  height: clamp(380px, 60vh, 580px);
  background: #000;
  overflow: hidden;
}
.td-center-hero::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(to bottom, rgba(0,0,0,.02), rgba(0,0,0,.32));
  pointer-events:none;
}
.td-center-video{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}
.td-center-heroOverlay{
  position:absolute; inset:0;
  display:flex;
  align-items:flex-end;
  padding: 16px;
  z-index: 2;
}
.td-center-card{
  background: rgba(7,48,71,.20);
  border: 1px solid rgba(255,255,255,.16);
  color:#fff;
  width: min(92%, 420px);
  border-radius: 18px;
  padding: 14px 16px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.td-center-big{
  margin:0;
  color:#fff;
  letter-spacing:.16em;
  line-height:.92;
  font-size: clamp(30px, 7.6vw, 50px);
  text-transform: uppercase;
  font-weight: 900;
}

/* Back pill */
.td-center-back{ padding: 10px 0 0; }
.td-backPill{
  display:inline-flex; align-items:center; gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(9,58,90,.14);
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
  letter-spacing:.10em;
  text-transform:uppercase;
  color: rgba(9,58,90,.92);
  font-weight: 800;
  font-size: 12px;
  text-decoration:none;
}
.td-backPill i{ color: var(--td-aqua, #20a2c4); }

/* Place card */
.td-placeCard{
  border-radius: 22px;
  border:1px solid rgba(9,58,90,.14);
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 50px rgba(0,0,0,.08);
  overflow:hidden;
}
.td-placeTop{
  padding: 16px 16px 12px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
}
.td-placeTitle{
  margin:0;
  letter-spacing:.12em;
  text-transform:uppercase;
  color: rgba(9,58,90,.95);
  font-size: 15px;
  font-weight: 900;
}
.td-placePill{
  padding: 8px 10px;
  border-radius: 999px;
  border:1px solid rgba(32,162,196,.28);
  background: rgba(32,162,196,.10);
  color: rgba(9,58,90,.92);
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size: 12px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space: nowrap;
}
.td-placeBody{
  padding: 0 16px 14px;
  color: rgba(9,58,90,.78);
  font-size: 14px;
  line-height: 1.7;
}
.td-placeMeta{
  display:grid;
  gap: 10px;
  padding: 0 16px 16px;
}
.td-metaRow{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding: 12px;
  border-radius: 18px;
  border:1px solid rgba(9,58,90,.12);
  background: rgba(246,251,255,.9);
}
.td-metaIc{
  width: 36px; height: 36px;
  border-radius: 12px;
  display:grid; place-items:center;
  background: rgba(32,162,196,.12);
  border:1px solid rgba(32,162,196,.22);
  color: rgba(9,58,90,.95);
  flex: 0 0 auto;
}
.td-metaTxt b{
  display:block;
  letter-spacing:.10em;
  text-transform:uppercase;
  color: rgba(9,58,90,.95);
  font-size: 12px;
  margin-bottom: 4px;
  font-weight: 900;
}
.td-metaTxt span{
  display:block;
  color: rgba(9,58,90,.72);
  font-size: 13px;
  line-height: 1.55;
}

/* Map */
.td-mapCard{
  border-radius: 24px;
  border:1px solid rgba(9,58,90,.14);
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 50px rgba(0,0,0,.08);
  overflow:hidden;
}
.td-mapTop{
  padding: 16px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
}
.td-mapK{
  margin:0;
  letter-spacing:.12em;
  text-transform:uppercase;
  color: rgba(9,58,90,.95);
  font-size: 13px;
  font-weight: 900;
  display:flex; align-items:center; gap:10px;
}
.td-mapK i{ color: var(--td-aqua, #20a2c4); }
.td-mapSub{
  margin: 6px 0 0;
  color: rgba(9,58,90,.70);
  font-size: 13px;
}
.td-mapActions{
  display:flex;
  gap:10px;
  flex-wrap: wrap;
  justify-content:flex-end;
  padding-top: 2px;
}
.td-mapBtn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  border:1px solid rgba(9,58,90,.14);
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
  color: rgba(9,58,90,.92);
  letter-spacing:.10em;
  text-transform:uppercase;
  font-size: 12px;
  text-decoration:none;
  white-space: nowrap;
  font-weight: 900;
}
.td-mapBtn i{ color: var(--td-aqua, #20a2c4); }
.td-mapBtnPrimary{
  border-color: rgba(32,162,196,.34);
  background: rgba(32,162,196,.12);
}

.td-mapFrame{
  border-top: 1px solid rgba(9,58,90,.12);
  background: #fff;
}
.td-mapFrame iframe{
  width:100%;
  display:block;
  border:0;
  aspect-ratio: 16/12;
  min-height: 360px;
}

.td-mapFoot{
  border-top: 1px solid rgba(9,58,90,.12);
  background: rgba(255,255,255,.92);
  padding: 12px 16px 16px;
}
.td-mapHint{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color: rgba(9,58,90,.72);
  font-size: 13px;
  line-height:1.55;
}
.td-mapHint i{ color: var(--td-aqua, #20a2c4); margin-top: 2px; }