:root {
  --primary-bg: linear-gradient(to bottom, #082b1a, #0d4a30, #145e3c);
  --emerald-deep: #082b1a;
  --emerald-mid: #0d4a30;
  --emerald-bright: #145e3c;
  --gold: #D4A520;
  --gold-deep: #B8860B;
  --gold-light: #E2BE3A;
  --pearl: #f5f0e8;
  --pearl-soft: rgba(245, 240, 232, 0.85);
  --pearl-glow: rgba(245, 240, 232, 0.15);
}

html, body {
  margin: 0;
  padding: 0;
  font-family: 'Garamond Premier Pro', 'EB Garamond', Garamond, 'Times New Roman', serif;
  background-color: var(--emerald-deep);
  background-image:
    /* Gold-leaf tapestry — intricate damask */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cdefs%3E%3ClinearGradient id='gf' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23E2BE3A' stop-opacity='.04'/%3E%3Cstop offset='.5' stop-color='%23D4A520' stop-opacity='.032'/%3E%3Cstop offset='1' stop-color='%23B8860B' stop-opacity='.022'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='url(%23gf)' fill-rule='evenodd'%3E%3C!-- Central fleur-de-lis --%3E%3Cpath d='M70 8c-1 3-3 6-3 10 0 3 1 5 3 7 2-2 3-4 3-7 0-4-2-7-3-10z'/%3E%3Cpath d='M70 25c-2 0-5-1-7-3-2-1-4-1-5 1s0 4 2 5c1 1 4 2 6 2h8c2 0 5-1 6-2 2-1 3-3 2-5s-3-2-5-1c-2 2-5 3-7 3z'/%3E%3Cpath d='M67 13c-2 2-5 5-7 5-2 1-4 0-4-1 0-2 1-3 3-4 2-2 4-2 6-2l2 2z'/%3E%3Cpath d='M73 13c2 2 5 5 7 5 2 1 4 0 4-1 0-2-1-3-3-4-2-2-4-2-6-2l-2 2z'/%3E%3Cpath d='M70 26c0 2-1 5-1 7s1 3 1 3 1-1 1-3-1-5-1-7z'/%3E%3C!-- Scrollwork arms --%3E%3Cpath d='M48 22c-4 2-7 5-8 9-1 3 0 5 2 5s4-2 5-5c0-2 0-4-1-6 2 1 3 3 4 5 0 2-1 4-2 5-2 1-4 1-5-1-2-2-1-6 1-9 1-1 2-2 4-3z'/%3E%3Cpath d='M92 22c4 2 7 5 8 9 1 3 0 5-2 5s-4-2-5-5c0-2 0-4 1-6-2 1-3 3-4 5 0 2 1 4 2 5 2 1 4 1 5-1 2-2 1-6-1-9-1-1-2-2-4-3z'/%3E%3C!-- Filigree tendrils below fleur --%3E%3Cpath d='M70 36c-6 0-12 2-16 5-3 2-5 5-4 7 1 1 3 1 5 0 2-2 3-4 3-6 1 2 1 4 0 6-1 1-3 2-4 2s-2-1-2-2c0-3 3-6 7-8 3-2 7-3 11-4z'/%3E%3Cpath d='M70 36c6 0 12 2 16 5 3 2 5 5 4 7-1 1-3 1-5 0-2-2-3-4-3-6-1 2-1 4 0 6 1 1 3 2 4 2s2-1 2-2c0-3-3-6-7-8-3-2-7-3-11-4z'/%3E%3C!-- Fine scroll connectors --%3E%3Cpath d='M40 38c-3 3-4 7-3 10s3 4 5 3 3-4 2-7l-4-6z' fill-opacity='.04'/%3E%3Cpath d='M100 38c3 3 4 7 3 10s-3 4-5 3-3-4-2-7l4-6z' fill-opacity='.04'/%3E%3C!-- Acanthus leaf sprays --%3E%3Cpath d='M30 50c-3 1-6 4-7 7-1 2 0 4 1 4 2 0 3-1 4-3 0-2 0-3-1-5 1 1 3 2 3 4 1 1 0 3-1 4-1 0-3 0-3-1-1-2 0-5 2-7l2-3z' fill-opacity='.045'/%3E%3Cpath d='M110 50c3 1 6 4 7 7 1 2 0 4-1 4-2 0-3-1-4-3 0-2 0-3 1-5-1 1-3 2-3 4-1 1 0 3 1 4 1 0 3 0 3-1 1-2 0-5-2-7l-2-3z' fill-opacity='.045'/%3E%3C!-- Central drop ornament --%3E%3Cpath d='M70 50c-1 2-2 4-2 6s1 3 2 4c1-1 2-2 2-4s-1-4-2-6z' fill-opacity='.05'/%3E%3Cellipse cx='70' cy='62' rx='2' ry='1.5' fill-opacity='.04'/%3E%3C!-- Corner rosettes --%3E%3Ccircle cx='0' cy='0' r='4' fill-opacity='.03'/%3E%3Ccircle cx='140' cy='0' r='4' fill-opacity='.03'/%3E%3Ccircle cx='0' cy='140' r='4' fill-opacity='.03'/%3E%3Ccircle cx='140' cy='140' r='4' fill-opacity='.03'/%3E%3Cpath d='M0 0c3 2 5 5 5 8s-2 5-5 5' fill='none' stroke='%23D4A520' stroke-width='.6' stroke-opacity='.04'/%3E%3Cpath d='M140 0c-3 2-5 5-5 8s2 5 5 5' fill='none' stroke='%23D4A520' stroke-width='.6' stroke-opacity='.04'/%3E%3Cpath d='M0 140c3-2 5-5 5-8s-2-5-5-5' fill='none' stroke='%23D4A520' stroke-width='.6' stroke-opacity='.04'/%3E%3Cpath d='M140 140c-3-2-5-5-5-8s2-5 5-5' fill='none' stroke='%23D4A520' stroke-width='.6' stroke-opacity='.04'/%3E%3C!-- Woven lattice threads --%3E%3Cpath d='M0 70c10-3 20-5 30-5M140 70c-10-3-20-5-30-5' fill='none' stroke='%23D4A520' stroke-width='.5' stroke-opacity='.03'/%3E%3Cpath d='M0 70c10 3 20 5 30 5M140 70c-10 3-20 5-30 5' fill='none' stroke='%23D4A520' stroke-width='.5' stroke-opacity='.03'/%3E%3Cpath d='M70 80c0 5-2 10-5 15M70 80c0 5 2 10 5 15' fill='none' stroke='%23D4A520' stroke-width='.4' stroke-opacity='.025'/%3E%3C!-- Fine diamond trellis --%3E%3Cpath d='M35 70l-3-3-3 3 3 3z' fill-opacity='.035'/%3E%3Cpath d='M105 70l3-3 3 3-3 3z' fill-opacity='.035'/%3E%3Cpath d='M70 105l-2-2-2 2 2 2z' fill-opacity='.03'/%3E%3C!-- Tiny seed motifs — tapestry fill --%3E%3Ccircle cx='20' cy='25' r='1' fill-opacity='.025'/%3E%3Ccircle cx='120' cy='25' r='1' fill-opacity='.025'/%3E%3Ccircle cx='20' cy='115' r='1' fill-opacity='.025'/%3E%3Ccircle cx='120' cy='115' r='1' fill-opacity='.025'/%3E%3Ccircle cx='15' cy='70' r='.8' fill-opacity='.02'/%3E%3Ccircle cx='125' cy='70' r='.8' fill-opacity='.02'/%3E%3Ccircle cx='70' cy='95' r='.8' fill-opacity='.02'/%3E%3C!-- Secondary leaf pairs --%3E%3Cpath d='M55 42c-2 1-3 3-3 5s1 3 2 3 2-1 2-3 0-3-1-5z' fill-opacity='.035'/%3E%3Cpath d='M85 42c2 1 3 3 3 5s-1 3-2 3-2-1-2-3 0-3 1-5z' fill-opacity='.035'/%3E%3C/g%3E%3C/svg%3E"),
    var(--primary-bg);
  color: var(--pearl);
  min-height: 100vh;
}

a {
  text-decoration: none;
}

/* Header */
header.header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  padding: 1.2rem 1rem;
  background: rgba(0, 0, 0, 0.2);
  border-top: 4px solid;
  border-bottom: 4px solid;
  border-image: linear-gradient(to right, var(--gold-deep), var(--gold-light), var(--gold), var(--gold-light), var(--gold-deep)) 1;
  box-shadow: 0 4px 8px rgba(184,134,11,0.3), 0 2px 3px rgba(0,0,0,0.2), 0 1px 0 rgba(226,190,58,0.4), 0 -1px 0 rgba(226,190,58,0.4);
  font-size: 1rem;
  font-weight: 600;
  position: relative;
  flex-wrap: wrap;
}

header.header a {
  color: var(--pearl);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  transition: opacity 0.3s ease;
}

header.header a:hover {
  opacity: 0.85;
}

header.header .brand {
  color: var(--gold);
  font-weight: 700;
  font-size: 1.7rem;
  letter-spacing: 0.08em;
  text-shadow:
    0 0 4px rgba(212,165,32,0.25),
    0 1px 2px rgba(0,0,0,0.3);
}

header.header .brand {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

/* All header icons: exact same size for perfect alignment */
header.header .brand-icon,
header.header .globe-icon,
header.header .hamburger-icon {
  width: 36px;
  height: 36px;
  fill: var(--gold);
  flex-shrink: 0;
  display: block;
}

header.header .brand-icon {
  filter: drop-shadow(0 0 2px rgba(212,165,32,0.5)) drop-shadow(0 0 6px rgba(212,165,32,0.25));
  animation: fleur-shimmer 4s ease-in-out infinite;
  transform: translateY(-5px);
}

header.header .globe-icon {
  width: 42px;
  height: 42px;
  filter: drop-shadow(0 0 2px rgba(212,165,32,0.5)) drop-shadow(0 0 6px rgba(212,165,32,0.25));
  transform: translateY(5px) translateX(-5px);
}

header.header .globe-btn {
  all: unset;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  min-width: 44px;
  min-height: 44px;
}

header.header .brand-text {
  display: inline-block;
}

@keyframes fleur-shimmer {
  0%, 100% {
    filter: drop-shadow(0 0 2px rgba(212,165,32,0.5)) drop-shadow(0 0 6px rgba(212,165,32,0.25));
    fill: var(--gold);
  }
  50% {
    filter: drop-shadow(0 0 4px rgba(226,190,58,0.8)) drop-shadow(0 0 12px rgba(212,165,32,0.5)) drop-shadow(0 0 20px rgba(212,165,32,0.2));
    fill: var(--gold-light);
  }
}

.hamburger {
  display: none;
  background: none;
  border: none;
  color: var(--gold);
  cursor: pointer;
  padding: 4px;
  line-height: 1;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}

/* Mobile Menu */
@media (max-width: 768px) {
  header.header {
    justify-content: space-between;
  }

  .hamburger {
    display: block;
  }

  .nav-links {
    display: none;
    flex-direction: column;
    gap: 0;
    background:
      repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(255,255,255,0.015) 3px, rgba(255,255,255,0.015) 4px),
      repeating-linear-gradient(90deg, transparent, transparent 3px, rgba(255,255,255,0.01) 3px, rgba(255,255,255,0.01) 4px),
      #141414;
    border: none;
    padding: 0;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    border-radius: 0;
    z-index: 999;
  }

  .nav-links.show {
    display: flex;
  }

  .nav-wrapper {
    display: flex;
    align-items: center;
    gap: 2rem;
    width: 100%;
    justify-content: space-between;
  }

  .desktop-links {
    display: none;
  }
}

@media (min-width: 769px) {
  .hamburger {
    display: none;
  }

  .nav-links {
    display: flex !important;
    position: static;
    flex-direction: row;
    gap: 2rem;
    background: none;
    font-size: 1.15rem;
    padding: 0;
  }
}

/* Main Content */
#wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 3rem 1rem 2rem 1rem;
}

#main {
  max-width: 42rem;
  width: 100%;
  text-align: center;
}

h1#text05 {
  font-size: 2.2rem;
  margin-bottom: 1rem;
  font-weight: 700;
}

p#text04 {
  font-size: 1.2rem;
  margin-bottom: 2rem;
  font-weight: 300;
  line-height: 1.6;
}

.container {
  background: var(--pearl);
  border-radius: 0.375rem;
  padding: 2rem;
  color: #000;
  text-align: left;
}

.field {
  position: relative;
  margin-bottom: 0.5rem;
}

input[type="text"], input[type="email"], input[type="tel"] {
  width: 90%;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  border: 1px solid #ccc;
  border-radius: 0.25rem;
  font-size: 1rem;
  font-family: inherit;
}

textarea {
  width: 90%;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  border-radius: 0.25rem;
  border: 1px solid #ccc;
  margin-bottom: 1rem;
  font-family: inherit;
}

/* ===== Fancy Custom Checkboxes ===== */
.ftos input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  min-width: 22px;
  border: 1.5px solid rgba(212,165,32,0.4);
  border-radius: 4px;
  background: rgba(0,0,0,0.3);
  cursor: pointer;
  position: relative;
  top: 1px;
  margin-left: 0;
  margin-right: 0.6rem;
  transition: all 0.25s ease;
  vertical-align: middle;
}
.ftos input[type="checkbox"]:hover {
  border-color: var(--gold);
  background: rgba(212,165,32,0.06);
}
.ftos input[type="checkbox"]:checked {
  background: var(--gold);
  border-color: var(--gold);
  box-shadow: 0 0 8px rgba(212,165,32,0.3);
}
.ftos input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 1px;
  width: 6px;
  height: 12px;
  border: solid var(--emerald-deep);
  border-width: 0 3.5px 3.5px 0;
  transform: rotate(45deg);
}

input[type="checkbox"] {
  transform: scale(1.4);
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  accent-color: var(--gold);
}

.field label {
  font-size: 0.95rem;
  font-weight: 400;
}

/* ===== Industry / Selector Pills ===== */
.selector-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}
.selector-pills label {
  position: relative;
  cursor: pointer;
}
.selector-pills input[type="checkbox"],
.selector-pills input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.selector-pills .pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 1rem;
  border: 1px solid rgba(212,165,32,0.3);
  border-radius: 2rem;
  background: rgba(0,0,0,0.2);
  color: var(--pearl);
  font-size: 0.95rem;
  font-family: inherit;
  font-weight: 500;
  letter-spacing: 0.02em;
  transition: all 0.2s ease;
  user-select: none;
}
.selector-pills .pill svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
  flex-shrink: 0;
}
.selector-pills .pill:hover {
  border-color: var(--gold);
  background: rgba(212,165,32,0.08);
}
.selector-pills input[type="checkbox"]:checked + .pill,
.selector-pills input[type="radio"]:checked + .pill {
  background: var(--gold);
  color: var(--emerald-deep);
  border-color: var(--gold);
  font-weight: 700;
  box-shadow: 0 0 8px rgba(212,165,32,0.3);
}

.ftos {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.ftos label {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  font-size: 1.05rem;
  cursor: pointer;
  line-height: 1.4;
}

.ftos label span[data-i18n="form.tosAgree"] {
  margin-right: 0.3em;
}
.ftos a {
  color: var(--pearl);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.actions button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1.1rem 1.5rem;
  font-size: 1.1rem;
  background: var(--gold);
  box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 4px 12px rgba(0,0,0,0.08);
  border: none;
  color: var(--emerald-deep);
  border-radius: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.2s ease;
}

.actions button:hover:not(:disabled) {
  background: var(--gold-light);
  box-shadow: 0 2px 6px rgba(0,0,0,0.12), 0 8px 20px rgba(0,0,0,0.1);
  transform: translateY(-1px);
}

.actions button:disabled {
  background: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.4);
  box-shadow: none;
  cursor: not-allowed;
}

/* ===== Booking Calendar Widget ===== */
.booking-calendar {
  background: rgba(0,0,0,0.25);
  border: 1px solid rgba(212,165,32,0.25);
  border-radius: 0.5rem;
  padding: 1rem;
}

.booking-cal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

.cal-month-year {
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--gold);
}

.cal-nav {
  background: none;
  border: 1px solid rgba(212,165,32,0.3);
  color: var(--gold);
  font-size: 1.4rem;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.cal-nav:hover {
  background: rgba(212,165,32,0.15);
}

.booking-cal-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
  font-size: 0.75rem;
  color: rgba(245,240,232,0.5);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 0.4rem;
}

.booking-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.25rem;
}

.cal-day {
  background: none;
  border: 1px solid transparent;
  color: var(--pearl);
  font-family: inherit;
  font-size: 0.95rem;
  padding: 0.5rem 0;
  text-align: center;
  border-radius: 0.3rem;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.cal-day:hover:not(:disabled) {
  background: rgba(212,165,32,0.12);
  border-color: rgba(212,165,32,0.3);
}
.cal-day.cal-selected {
  background: var(--gold);
  color: #0a2e1b;
  font-weight: 700;
  border-color: var(--gold);
}
.cal-day.cal-past,
.cal-day.cal-weekend {
  color: rgba(245,240,232,0.2);
  cursor: default;
}
.cal-day.cal-empty {
  cursor: default;
}

.booking-date-label {
  font-size: 1rem;
  color: var(--gold);
  font-weight: 600;
  margin-bottom: 0.6rem;
  text-align: center;
}

.booking-time-slots {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}

.time-slot-btn {
  background: rgba(0,0,0,0.2);
  border: 1px solid rgba(212,165,32,0.3);
  color: var(--pearl);
  font-family: inherit;
  font-size: 0.95rem;
  padding: 0.65rem 0.5rem;
  border-radius: 0.3rem;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.time-slot-btn:hover {
  background: rgba(212,165,32,0.12);
  border-color: var(--gold);
}
.time-slot-btn.active {
  background: var(--gold);
  color: #0a2e1b;
  font-weight: 700;
  border-color: var(--gold);
}

@media (max-width: 768px) {
  .booking-time-slots {
    grid-template-columns: repeat(2, 1fr);
  }
  .cal-day {
    padding: 0.6rem 0;
    font-size: 0.9rem;
  }
}

/* Footer — mirrors header as matching gold band */
footer.footer {
  text-align: center;
  padding: 0.9rem 1rem;
  font-size: 0.85rem;
  color: rgba(245, 240, 232, 0.8);
  background: rgba(0, 0, 0, 0.35);
  border-top: 4px solid;
  border-bottom: 4px solid;
  border-image: linear-gradient(to right, var(--gold-deep), var(--gold-light), var(--gold), var(--gold-light), var(--gold-deep)) 1;
  box-shadow: 0 4px 8px rgba(184,134,11,0.3), 0 2px 3px rgba(0,0,0,0.2), 0 1px 0 rgba(226,190,58,0.4), 0 -1px 0 rgba(226,190,58,0.4);
  margin-top: 4rem;
  position: relative;
}

footer.footer::before {
  content: '⚜ ── ⚜ ── ⚜';
  position: absolute;
  top: -2.5rem;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 1rem;
  letter-spacing: 0.2em;
  color: var(--gold-light);
  opacity: 0.75;
  text-shadow:
    0 0 4px rgba(226,190,58,0.6),
    0 0 10px rgba(212,165,32,0.4),
    0 0 20px rgba(212,165,32,0.2);
}

footer.footer .footer-nav {
  margin: 0.3rem 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
}

footer.footer a {
  color: var(--pearl);
  text-decoration: none;
}

footer.footer a:hover {
  text-decoration: underline;
}

.hero {
  text-align: center;
}

.hero h1 {
  font-size: 2.4rem;
  margin-bottom: 0.5rem;
  letter-spacing: -0.03em;
}

.hero h1::after {
  content: '';
  display: block;
  width: 3rem;
  height: 3px;
  background: var(--gold);
  margin: 0.75rem auto 0;
  border-radius: 2px;
}

.hero p.subtitle {
  font-size: 1.2rem;
  font-weight: 300;
  color: rgba(245, 240, 232, 0.88);
  margin-bottom: 2.5rem;
  margin-top: 1.25rem;
  max-width: 34rem;
  margin-left: auto;
  margin-right: auto;
}

.cta-buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: 100%;
  max-width: 24rem;
  margin: 0 auto;
}

.cta-buttons a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  width: 100%;
  padding: 1.1rem 1.75rem;
  background: var(--gold);
  border: 1.5px solid var(--gold);
  box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 4px 12px rgba(0,0,0,0.08);
  color: var(--emerald-deep);
  text-decoration: none;
  font-size: 1.1rem;
  font-weight: 700;
  border-radius: 0.6rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: all 0.2s ease;
}

.cta-buttons a:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0,0,0,0.12), 0 8px 20px rgba(0,0,0,0.1);
}

/* Emerald variant */
.cta-buttons a.cta-emerald {
  background: var(--emerald-mid);
  border-color: var(--gold);
  color: var(--pearl);
}

.cta-buttons a.cta-emerald:hover {
  background: var(--emerald-bright);
  border-color: var(--gold-light);
}

.cta-buttons a.cta-emerald svg {
  fill: var(--pearl);
}

/* Outline/ghost variant */
.cta-buttons a.cta-outline {
  background: transparent;
  color: var(--gold);
  border: 1.5px solid var(--gold);
  box-shadow: none;
}

.cta-buttons a.cta-outline:hover {
  background: rgba(212,165,32,0.08);
  border-color: var(--gold-light);
  box-shadow: none;
}

.cta-buttons a.cta-outline svg {
  fill: var(--gold);
}

/* 2x2 industry grid */
.cta-buttons.cta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  max-width: 28rem;
}

.cta-buttons.cta-grid a {
  width: auto;
  padding: 1rem 1.25rem;
  font-size: 1rem;
}

@media (max-width: 768px) {
    .cta-buttons a {
        width: 90%;
    }
    .cta-buttons.cta-grid {
      grid-template-columns: 1fr 1fr;
      gap: 0.6rem;
      max-width: 100%;
    }
    .cta-buttons.cta-grid a {
      width: auto;
      font-size: 0.95rem;
      padding: 0.9rem 1rem;
    }
}

.cta-buttons svg {
  width: 24px;
  height: 24px;
  fill: var(--emerald-deep);
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .cta-buttons {
    max-width: 36rem;
  }
}

@media (max-width: 480px) {
  .hero h1 { font-size: 1.9rem; }
  .hero p.subtitle { font-size: 1.05rem; }
  .cta-buttons a { font-size: 1rem; padding: 0.85rem 1.25rem; }
}

/* ===== Floating CTA Bar (mobile only) ===== */
.floating-cta {
  display: none !important;
}

@media (min-width: 769px) {
  .floating-cta {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .floating-cta {
    display: block !important;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    padding: 0.75rem 1rem;
    padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
    background: rgba(8, 43, 26, 0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-top: 1px solid var(--pearl-glow);
  }

  .floating-cta a,
  .floating-cta button {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 1.1rem 1.5rem;
    background: var(--gold);
    border: none;
    color: var(--emerald-deep);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    border-radius: 0.6rem;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 4px 12px rgba(0,0,0,0.08);
    transition: all 0.2s ease;
    -webkit-tap-highlight-color: transparent;
    font-family: inherit;
  }

  .floating-cta a:active,
  .floating-cta button:active {
    background: var(--gold-light);
    transform: scale(0.98);
  }

  .floating-cta button:disabled {
    background: rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.4);
    box-shadow: none;
    cursor: not-allowed;
  }

  /* Add bottom padding to body so content isn't hidden behind floating bar */
  body {
    padding-bottom: 5.5rem;
  }

  footer.footer {
    padding-bottom: 1.5rem;
  }
}

/* ===== Pearl Switcher ===== */
.pearl-switcher {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  background: none;
  border: 1px solid var(--pearl-glow);
  border-radius: 50%;
  padding: 0.3rem;
  font-size: 0;
  font-family: inherit;
  transition: border-color 0.2s;
  vertical-align: middle;
}

.pearl-switcher:hover {
  border-color: var(--gold);
}

.pearl-switcher .swatch {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,0.15);
  display: block;
  box-shadow: 0 0 3px rgba(255,255,255,0.3);
}

/* ===== Mobile-native overhaul ===== */
@media (max-width: 768px) {
  html, body {
    font-size: 18px;
    -webkit-text-size-adjust: 100%;
    -webkit-overflow-scrolling: touch;
  }

  .hero h1 {
    font-size: 2rem;
    line-height: 1.2;
  }

  .hero p.subtitle {
    font-size: 1.15rem;
    line-height: 1.5;
  }

  #wrapper {
    padding: 2rem 1.25rem 2rem 1.25rem;
  }

  /* Bigger inputs for touch */
  input[type="text"], input[type="email"], input[type="tel"] {
    width: 100%;
    box-sizing: border-box;
    padding: 1rem 1rem;
    font-size: 1.1rem;
    border-radius: 0.5rem;
    margin-bottom: 0.85rem;
  }

  textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 1rem;
    font-size: 1.1rem;
    border-radius: 0.5rem;
  }

  .ftos input[type="checkbox"] {
    width: 26px;
    height: 26px;
    min-width: 26px;
    margin-right: 0.75rem;
  }
  .ftos input[type="checkbox"]:checked::after {
    left: 6px;
    top: 1px;
    width: 7px;
    height: 14px;
    border-width: 0 4px 4px 0;
  }

  input[type="checkbox"] {
    transform: scale(1.6);
    margin-right: 0.75rem;
  }

  .field label {
    font-size: 1.05rem;
  }

  /* Bigger inline CTA buttons */
  .cta-buttons a {
    padding: 1.1rem 1.5rem;
    font-size: 1.15rem;
    border-radius: 0.75rem;
  }

  /* Bigger form submit buttons */
  .actions button {
    padding: 1.1rem 1.5rem;
    font-size: 1.2rem;
    border-radius: 0.75rem;
  }

  /* Hamburger bigger tap target */
  .hamburger {
    font-size: 1.7rem;
    padding: 0.75rem;
    min-width: 48px;
    min-height: 48px;
  }

  /* Nav links as touch-friendly dividers */
  .nav-links a {
    display: block;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-align: center;
    padding: 1rem 1.25rem;
    border: none;
    border-bottom: 1px solid rgba(212,165,32,0.25);
    border-radius: 0;
    color: var(--gold);
    -webkit-tap-highlight-color: transparent;
  }

  .nav-links a:last-child {
    border-bottom: none;
  }

  .nav-links a:active {
    background: rgba(212,165,32,0.1);
  }

  /* Footer links bigger */
  footer.footer {
    font-size: 1rem;
  }

  footer.footer .footer-nav {
    gap: 1.25rem;
  }

  footer.footer .footer-nav a {
    padding: 0.4rem 0;
    font-size: 1.05rem;
  }

  /* Center the fleur de lis divider between content and footer */
  footer.footer::before {
    top: -3.25rem;
    font-size: 1.1rem;
  }

  /* Area grid bigger buttons */
  .area-link {
    font-size: 1.15rem !important;
    padding: 0.85rem 1.5rem !important;
    border-radius: 0.6rem !important;
  }
}

/* ===== Handmade Placard CTA Styling ===== */
.cta-buttons a,
.floating-cta a,
.floating-cta button,
.actions button {
  position: relative;
  border-radius: 0.5rem !important;
  overflow: visible;
  isolation: isolate;
}

/* Woodgrain / hammered-metal texture overlay */
.cta-buttons a::before,
.floating-cta a::before,
.floating-cta button::before,
.actions button::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    /* Fine horizontal grain */
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 2px,
      rgba(0, 0, 0, 0.06) 2px,
      rgba(0, 0, 0, 0.06) 3px
    ),
    /* Diagonal crosshatch */
    repeating-linear-gradient(
      135deg,
      transparent,
      transparent 4px,
      rgba(255, 255, 255, 0.04) 4px,
      rgba(255, 255, 255, 0.04) 5px
    ),
    /* Vertical subtle grain */
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 6px,
      rgba(0, 0, 0, 0.03) 6px,
      rgba(0, 0, 0, 0.03) 7px
    );
  pointer-events: none;
  z-index: 1;
}

/* Corner nails — decorative dots at each corner */
.cta-buttons a::after,
.actions button::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 2;
  /* 4 corner nails using radial gradients */
  background:
    /* Top-left nail */
    radial-gradient(circle at 8px 8px,
      var(--gold-light) 0%, var(--gold-light) 2px,
      var(--gold-deep) 2px, var(--gold-deep) 3px,
      transparent 3px),
    /* Top-right nail */
    radial-gradient(circle at calc(100% - 8px) 8px,
      var(--gold-light) 0%, var(--gold-light) 2px,
      var(--gold-deep) 2px, var(--gold-deep) 3px,
      transparent 3px),
    /* Bottom-left nail */
    radial-gradient(circle at 8px calc(100% - 8px),
      var(--gold-light) 0%, var(--gold-light) 2px,
      var(--gold-deep) 2px, var(--gold-deep) 3px,
      transparent 3px),
    /* Bottom-right nail */
    radial-gradient(circle at calc(100% - 8px) calc(100% - 8px),
      var(--gold-light) 0%, var(--gold-light) 2px,
      var(--gold-deep) 2px, var(--gold-deep) 3px,
      transparent 3px);
  background-repeat: no-repeat;
}

.cta-buttons a.cta-emerald::before {
  background:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 2px,
      rgba(255, 255, 255, 0.03) 2px,
      rgba(255, 255, 255, 0.03) 3px
    ),
    repeating-linear-gradient(
      135deg,
      transparent,
      transparent 4px,
      rgba(212, 165, 32, 0.05) 4px,
      rgba(212, 165, 32, 0.05) 5px
    ),
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 6px,
      rgba(0, 0, 0, 0.04) 6px,
      rgba(0, 0, 0, 0.04) 7px
    );
}

.cta-buttons a.cta-outline {
  border: none !important;
  box-shadow: inset 0 0 0 1.5px var(--gold);
}

.cta-buttons a.cta-outline:hover {
  box-shadow: inset 0 0 0 1.5px var(--gold-light);
}

/* ===== UserWay Accessibility Widget ===== */
.userway_buttons_wrapper,
.userway_buttons_wrapper > div,
#userwayAccessibilityIcon {
  bottom: 60px !important;
}

#userwayAccessibilityIcon {
  transform: scale(0.7) !important;
}

/* ===== World Clocks (hidden) ===== */
.world-clocks {
  display: none !important;
}

/* ===== Pink Heart Footer ===== */
.made-with-love {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 0.5rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  color: rgba(245, 200, 220, 0.7);
  letter-spacing: 0.05em;
}

.made-with-love .heart-diamond {
  display: inline-block;
  width: 14px;
  height: 14px;
  position: relative;
}

.made-with-love .heart-diamond svg {
  width: 100%;
  height: 100%;
}