:root {
  --ink: #102433;
  --muted: #5c6b76;
  --line: #d7e0e7;
  --paper: #ffffff;
  --wash: #f4f8fb;
  --navy: #0d2433;
  --gold: #8d6a3a;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body.tlx-club {
  background: var(--paper);
  color: var(--ink);
  font: 400 17px/1.6 "Outfit", "Helvetica Neue", sans-serif;
}
body.tlx-club a { color: inherit; }
body {
  --e-global-color-primary: #000000;
  --e-global-color-secondary: #0F212B;
  --e-global-color-text: #243038;
  --e-global-color-accent: #8d6a3a;
}
.elementor-element-72b1dcbd,
.elementor-element-72b1dcbd .elementor-invisible {
  background-color: #0F212B !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.elementor-element-72b1dcbd,
.elementor-element-72b1dcbd a,
.elementor-element-72b1dcbd p,
.elementor-element-72b1dcbd .elementor-heading-title,
.elementor-element-72b1dcbd .elementor-icon-list-text,
.elementor-element-72b1dcbd .elementor-icon-list-icon i {
  color: #ffffff !important;
}
.elementor-element-72b1dcbd .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #f3e6cf !important;
}
.elementor-element-55246bcf .elementor-accordion-title,
.elementor-element-55246bcf .elementor-accordion-icon,
.elementor-element-55246bcf .elementor-tab-content,
.elementor-element-5c2f256 .elementor-accordion-title,
.elementor-element-5c2f256 .elementor-accordion-icon,
.elementor-element-5c2f256 .elementor-tab-content {
  color: #f4f7f8 !important;
}
.elementor-element-55246bcf .elementor-active .elementor-accordion-title,
.elementor-element-55246bcf .elementor-active .elementor-accordion-icon,
.elementor-element-5c2f256 .elementor-active .elementor-accordion-title,
.elementor-element-5c2f256 .elementor-active .elementor-accordion-icon {
  color: #8fd6a8 !important;
}
.tlx-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 32px;
  background: var(--navy);
  color: #fff;
}
.tlx-brand { display: flex; align-items: center; gap: 18px; }
.tlx-lang {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  letter-spacing: .16em;
}
.tlx-lang a { opacity: .55; }
.tlx-lang a.on { opacity: 1; border-bottom: 1px solid #fff; }
.tlx-bar a { color: #fff; text-decoration: none; }
.tlx-logo { height: 42px; width: auto; display: block; }
.tlx-nav, .tlx-tools {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-left: auto;
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.tlx-nav .pipe { opacity: .45; }
.tlx-phone { letter-spacing: .04em; text-transform: none; font-size: 14px; }
.tlx-member {
  border: 1px solid rgba(255,255,255,.7);
  padding: 10px 16px;
}
.tlx-wrap { max-width: 1120px; margin: 0 auto; padding: 56px 24px 80px; }
.tlx-kicker {
  color: var(--gold);
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 12px;
  margin: 0 0 12px;
}
h1, h2, h3 { font-family: "Prata", Georgia, serif; font-weight: 400; letter-spacing: 0; }
h1 { font-size: clamp(36px, 5vw, 64px); line-height: 1.12; margin: 0 0 18px; }
h2 { font-size: 32px; line-height: 1.2; margin: 0 0 12px; }
h3 { font-size: 26px; margin: 0 0 8px; }
.lede { font-size: 19px; max-width: 680px; color: var(--ink); }
.note {
  border-left: 2px solid var(--gold);
  padding: 8px 0 8px 16px;
  color: var(--muted);
  max-width: 720px;
}
.grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; margin-top: 36px; }
.card { background: var(--wash); text-decoration: none; color: inherit; display: block; }
.card img { width: 100%; height: 240px; object-fit: cover; display: block; background: #d5dee6; }
.card div { padding: 18px 18px 22px; }
.card p, .facts p { margin: 6px 0; color: var(--muted); }
.meta { font-size: 14px; letter-spacing: .04em; }
.rules { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 36px 0; }
.rules article { border-top: 1px solid var(--line); padding-top: 14px; }
.rules h3 { font-size: 20px; }
.rules p { margin: 0; color: var(--muted); font-size: 15px; }
.hero-img { width: 100%; max-height: 520px; object-fit: cover; display: block; }
.facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 28px; margin: 22px 0; }
.amen { columns: 2; padding-left: 18px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.actions a, .btn {
  display: inline-block;
  text-decoration: none;
  border: 1px solid var(--navy);
  color: var(--navy);
  padding: 12px 18px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 12px;
}
.actions a.fill, .btn.fill { background: var(--navy); color: #fff; }
.yacht { display: grid; grid-template-columns: 280px 1fr; gap: 22px; padding: 22px 0; border-top: 1px solid var(--line); }
.yacht img { width: 100%; height: 180px; object-fit: cover; background: var(--wash); }
.yacht .noimg { width: 100%; height: 180px; background: var(--wash); }
.foot {
  background: var(--navy);
  color: rgba(255,255,255,.82);
  padding: 28px 32px 36px;
  font-size: 14px;
}
.foot a { color: #fff; }
.tlx-products {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-right: 16px;
  color: #fff;
  font: 500 12px/1 "Montserrat", "Outfit", sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.tlx-products a { color: #fff; text-decoration: none; }
.elementor-widget-counter,
.elementor-widget-star-rating { display: none !important; }
.tlx-products .pipe { opacity: .5; }
iframe.tlx-agenda { width: 100%; height: calc(100vh - 72px); border: 0; display: block; background: #fff; }
.tlx-mbar { display: none; }
@media (max-width: 800px) {
  .tlx-bar { flex-wrap: wrap; align-items: flex-start; padding: 14px 16px; }
  .tlx-logo { height: 36px; }
  .tlx-nav {
    flex: 1 1 100%;
    width: 100%;
    margin-left: 0;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px 14px;
    letter-spacing: .08em;
  }
  .tlx-bar { display: block !important; overflow: visible; }
  .tlx-nav, .tlx-tools {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px 0 0 !important;
    min-width: 0;
  }
  .tlx-member, .tlx-phone { white-space: nowrap; }
  .tlx-mbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100000;
    background: #0d2433;
    color: #fff;
    padding: 10px 14px 12px;
    box-sizing: border-box;
  }
  body:has(.tlx-mbar) { padding-top: 96px; }
  .tlx-mbar a { color: #fff; text-decoration: none; }
  .tlx-mbar-logo img { height: 32px; width: auto; display: block; }
  .tlx-mbar-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    width: 100%;
    font: 500 12px/1 "Montserrat", "Outfit", sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  .tlx-mbar-member { border: 1px solid rgba(255,255,255,.75); padding: 8px 10px; }
  .tlx-mbar-flags { margin-left: auto; display: flex; gap: 6px; }
  .tlx-mbar-flags img { width: 22px; height: 15px; object-fit: cover; display: block; }
  .she-header-yes { display: none !important; }
  .she-header-yes > .elementor-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .she-header-yes .elementor-widget-image img {
    width: 148px !important;
    height: auto !important;
    max-width: 148px;
  }
  .she-header-yes .elementor-inner-section > .elementor-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
  }
  .she-header-yes .elementor-inner-column {
    width: auto !important;
  }
  .she-header-yes .elementor-inner-section .elementor-widget-image img {
    width: 28px !important;
    height: 18px !important;
    max-width: 28px;
    object-fit: cover;
  }
  .she-header-yes .elementor-hidden-mobile.elementor-widget-button {
    display: inline-flex !important;
  }
  .she-header-yes > .tlx-products {
    position: static !important;
    display: flex !important;
    width: 100%;
    margin: 0;
    padding: 4px 16px 12px;
    background: transparent;
    box-sizing: border-box;
    letter-spacing: .14em;
  }
  .elementor-section-height-min-height .elementor-heading-title {
    white-space: normal !important;
    overflow-wrap: break-word;
    font-size: clamp(28px, 8.2vw, 42px) !important;
    line-height: 1.12 !important;
  }
  .grid, .rules, .facts, .yacht { grid-template-columns: 1fr; }
  .amen { columns: 1; }
  .tlx-wrap { padding: 36px 16px 64px; }
  h1 { font-size: 34px; }
}
