:root {
  --hmh-navy: #102b3f;
  --hmh-navy-deep: #081d2c;
  --hmh-teal: #0b8f87;
  --hmh-mint: #54d4bd;
  --hmh-cream: #f7f5ef;
  --hmh-white: #ffffff;
  --hmh-ink: #18303f;
  --hmh-muted: #627582;
  --hmh-line: #dce7e6;
  --hmh-shadow: 0 16px 42px rgba(8, 29, 44, 0.12);
}

html { scroll-behavior: smooth; }

body {
  color: var(--hmh-ink);
  background: var(--hmh-white);
  font-family: "Inter", Arial, sans-serif;
  line-height: 1.65;
}

a { color: var(--hmh-teal); }

.theme-header-topbar {
  background: var(--hmh-navy-deep) !important;
  color: var(--hmh-white) !important;
  min-height: 42px;
}

.hmh-contact-bar {
  align-items: center;
  display: flex;
  gap: 22px;
  justify-content: flex-end;
  width: 100%;
}

.hmh-contact-link,
.hmh-contact-cta {
  color: var(--hmh-white) !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  text-decoration: none;
}

.hmh-contact-cta {
  background: var(--hmh-mint);
  border-radius: 999px;
  color: var(--hmh-navy-deep) !important;
  padding: 7px 14px;
}

.theme-header,
.theme-header .zpcontainer {
  background: rgba(255,255,255,.98) !important;
}

.hmh-branding { padding: 20px 0; }

.hmh-brand-link {
  align-items: center;
  color: var(--hmh-navy) !important;
  display: inline-flex;
  gap: 13px;
  text-decoration: none;
}

.hmh-brand-mark {
  align-items: center;
  background: linear-gradient(135deg, var(--hmh-teal), var(--hmh-mint));
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(11,143,135,.24);
  color: var(--hmh-white);
  display: inline-flex;
  font-size: 18px;
  font-weight: 800;
  height: 48px;
  justify-content: center;
  letter-spacing: -.04em;
  width: 48px;
}

.hmh-brand-copy { display: flex; flex-direction: column; }

.hmh-brand-copy .theme-site-name {
  color: var(--hmh-navy) !important;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(22px, 2.2vw, 31px) !important;
  font-weight: 700;
  line-height: 1.15;
}

.hmh-brand-copy .theme-site-caption {
  color: var(--hmh-muted) !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .09em;
  margin-top: 4px;
  text-transform: uppercase;
}

.theme-menu-area { border-top: 1px solid var(--hmh-line); }

.theme-menu a {
  color: var(--hmh-navy) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
}

.theme-menu a:hover,
.theme-menu-selected > a { color: var(--hmh-teal) !important; }

.theme-banner { background: var(--hmh-navy); }

.theme-banner [data-zs-banner-slide],
.theme-banner .zpimage-container { min-height: 520px; }

.theme-banner h1,
.theme-banner h2,
.theme-banner h3 {
  font-family: "Playfair Display", Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: -.02em;
}

.theme-banner h1 { font-size: clamp(42px, 6vw, 74px) !important; }
.theme-banner p { font-size: clamp(17px, 2vw, 21px) !important; }

.theme-content-area { background: var(--hmh-white); }
.theme-content-area-inner > .zpsection:nth-child(even) { background: var(--hmh-cream); }

.theme-content-area h1,
.theme-content-area h2,
.theme-content-area h3,
.theme-content-area h4 {
  color: var(--hmh-navy);
  font-family: "Playfair Display", Georgia, serif;
  line-height: 1.18;
}

.theme-content-area h2 { font-size: clamp(32px, 4vw, 50px); }
.theme-content-area p { color: var(--hmh-muted); }

.zpbutton,
.theme-content-area a[role="button"],
.theme-banner a[role="button"] {
  background: var(--hmh-teal) !important;
  border: 2px solid var(--hmh-teal) !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(11,143,135,.18);
  color: var(--hmh-white) !important;
  font-weight: 800 !important;
  padding: 13px 24px !important;
}

.zpbutton:hover,
.theme-content-area a[role="button"]:hover,
.theme-banner a[role="button"]:hover {
  background: var(--hmh-navy) !important;
  border-color: var(--hmh-navy) !important;
}

.zpform-container {
  background: var(--hmh-white);
  border: 1px solid var(--hmh-line);
  border-radius: 20px;
  box-shadow: var(--hmh-shadow);
  padding: 28px;
}

input, textarea, select {
  border: 1px solid #c9d7d6 !important;
  border-radius: 10px !important;
}

.theme-footer-area {
  background: var(--hmh-navy-deep) !important;
  color: rgba(255,255,255,.78) !important;
}

.theme-footer-area a,
.theme-footer-area h1,
.theme-footer-area h2,
.theme-footer-area h3,
.theme-footer-area h4 { color: var(--hmh-white) !important; }

@media (max-width: 768px) {
  .hmh-contact-bar { justify-content: center; }
  .hmh-contact-cta { display: none; }
  .hmh-branding { padding: 14px 0; }
  .hmh-brand-mark { border-radius: 11px; height: 42px; width: 42px; }
  .hmh-brand-copy .theme-site-caption { font-size: 10px !important; }
  .theme-banner [data-zs-banner-slide],
  .theme-banner .zpimage-container { min-height: 440px; }
}/* Hide header search and shopping-cart controls */
.theme-search,
.theme-mini-cart {
  display: none !important;
}/* Hide skip links unless focused with the keyboard */
.theme-skip-to-needed-content:not(:focus) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.theme-skip-to-needed-content:focus {
  position: fixed !important;
  top: 8px;
  left: 8px;
  z-index: 99999;
  padding: 10px 16px;
  background: #ffffff;
  color: #102b3f;
  outline: 2px solid #0b8f87;
}
