/* =====================================================================
   Eusbett Site Kit — brand polish for the native Elementor widgets.
   Content, colours, fonts and spacing are all edited in Elementor;
   this file only adds the luxury finishing touches (hover effects,
   glass header, mobile app bar, swipe carousels, etc.).
   ===================================================================== */
:root {
  --eh-navy: var(--e-global-color-primary, #0A111F);
  --eh-gold: var(--e-global-color-secondary, #C9A35E);
  --eh-gold-2: var(--e-global-color-ehgold2, #E8CF98);
  --eh-gold-d: var(--e-global-color-ehgoldd, #9E7A3B);
  --eh-cream: var(--e-global-color-ehcream, #FAF6EF);
  --eh-ease: cubic-bezier(.22, .8, .24, 1);
  --eh-header-h: 78px;
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { background: var(--eh-cream); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
body.elementor-template-canvas { margin: 0; }
::selection { background: var(--eh-gold-2); color: var(--eh-navy); }
[id^="eh-"] { scroll-margin-top: 90px; }

/* ---------- Typography accents ---------- */
.elementor-heading-title em {
  font-style: italic;
  font-weight: 500;
  color: var(--eh-gold-d);
}
.eh-on-dark .elementor-heading-title em,
.eh-card--dark .elementor-heading-title em,
.eh-cta .elementor-heading-title em,
.eh-page-hero .elementor-heading-title em,
.eh-hero .elementor-heading-title em { color: var(--eh-gold-2); }
.eh-place--cta .elementor-heading-title em { color: var(--eh-gold-d); }

.eh-eyebrow .elementor-heading-title { display: inline-flex; align-items: center; gap: 12px; }
.eh-eyebrow .elementor-heading-title::before {
  content: ""; width: 28px; height: 1px; background: currentColor; opacity: .8; flex: none;
}
.eh-head--center .eh-eyebrow .elementor-heading-title::after {
  content: ""; width: 28px; height: 1px; background: currentColor; opacity: .8; flex: none;
}

/* Signature */
.eh-sign .elementor-heading-title { font-family: "Cormorant Garamond", serif; }
.eh-sign small { display: block; font: 600 11px/1.4 "Plus Jakarta Sans", sans-serif; letter-spacing: .22em; text-transform: uppercase; font-style: normal; color: var(--e-global-color-text, #5B6475); margin-top: 4px; }

/* Breadcrumbs */
.eh-crumbs a { color: var(--eh-gold-2) !important; text-decoration: none; }
.eh-crumbs .eh-sep { opacity: .55; margin: 0 6px; }
.eh-crumbs p { margin: 0; }

/* ---------- Buttons ---------- */
.eh-btn .elementor-button {
  transition: background-color .35s var(--eh-ease), color .35s var(--eh-ease), transform .35s var(--eh-ease), box-shadow .35s var(--eh-ease), border-color .35s;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.eh-btn .elementor-button:hover { transform: translateY(-2px); }
.eh-btn--gold .elementor-button { box-shadow: 0 14px 30px -14px rgba(201, 163, 94, .9); }
.eh-btn--dark .elementor-button { box-shadow: 0 14px 30px -16px rgba(10, 17, 31, .7); }
.eh-btn .elementor-button-icon svg { width: 1em; height: 1em; transition: transform .35s var(--eh-ease); }
.eh-btn .elementor-button:hover .elementor-button-icon svg { transform: translateX(3px); }
.eh-btn--line-light .elementor-button { color: #fff !important; border-color: rgba(255,255,255,.4) !important; }
.eh-btn--line-light .elementor-button:hover { color: var(--eh-navy) !important; background: #fff !important; }
.eh-card-btn { margin-top: auto !important; }

/* ---------- Cards ---------- */
.eh-card { transition: transform .5s var(--eh-ease), box-shadow .5s var(--eh-ease); isolation: isolate; }
.eh-card:hover { transform: translateY(-6px); box-shadow: 0 40px 70px -34px rgba(10, 17, 31, .38) !important; }
.eh-card .eh-card-img { overflow: hidden; width: 100%; }
.eh-card .eh-card-img img { transition: transform 1.2s var(--eh-ease); display: block; }
.eh-card:hover .eh-card-img img { transform: scale(1.06); }
.eh-card > .e-con-inner, .eh-card { height: 100%; }
.eh-specs .elementor-icon-list-items { row-gap: 8px; }
.eh-specs .elementor-icon-list-item { background: var(--eh-cream); padding: 6px 12px !important; border-radius: 999px; margin: 0 6px 0 0 !important; }
.eh-specs .elementor-icon-list-item::after { display: none !important; }

.eh-amenity .elementor-icon { transition: transform .5s var(--eh-ease), background-color .4s; }
.eh-amenity:hover .elementor-icon { transform: rotate(-8deg) scale(1.08); }

.eh-review .elementor-testimonial-wrapper { text-align: start; }
.eh-review .elementor-testimonial-content::before {
  content: "\201C"; display: block; font: 600 64px/0.6 "Cormorant Garamond", serif; color: var(--eh-gold); margin: 8px 0 14px;
}
.eh-review .elementor-testimonial-meta { margin-top: 18px; }

/* Checklist in two columns */
.eh-checks .elementor-icon-list-items { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px 20px; }
.eh-checks .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
@media (max-width: 767px) { .eh-checks .elementor-icon-list-items { grid-template-columns: 1fr; } }

/* Room layout pills */
.eh-pills .elementor-icon-list-items { gap: 10px; }
.eh-pills .elementor-icon-list-item { border: 1px solid rgba(232, 207, 152, .35); border-radius: 999px; padding: 8px 16px !important; margin: 0 !important; }
.eh-pills .elementor-icon-list-item::after { display: none !important; }
.eh-pills .elementor-icon-list-icon { display: none !important; }

/* ---------- Header ---------- */
.eh-header {
  position: fixed !important; top: 0; left: 0; right: 0; z-index: 9990;
  transition: background-color .45s var(--eh-ease), box-shadow .45s, padding .45s var(--eh-ease), backdrop-filter .45s;
  background: linear-gradient(180deg, rgba(10, 17, 31, .55), rgba(10, 17, 31, 0));
}
body.admin-bar .eh-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .eh-header { top: 46px; } }
body.eh-scrolled .eh-header,
body.eh-menu-open .eh-header {
  background: rgba(10, 17, 31, .9);
  -webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
  box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .6);
}
body.eh-scrolled .eh-header { padding-top: 10px !important; padding-bottom: 10px !important; }
.eh-header > .elementor-element { width: auto !important; max-width: none; flex: 0 0 auto; }
.eh-header .eh-nav { flex: 1 1 auto !important; }
.eh-header .eh-nav .elementor-icon-list-items { justify-content: center; flex-wrap: nowrap; }
.eh-head-actions { width: auto !important; flex: 0 0 auto !important; }
.eh-head-actions > .elementor-element { width: auto !important; }

/* Logo */
.eh-logo .elementor-heading-title, .eh-logo .elementor-heading-title a { display: inline-flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; }
.eh-logo-mark {
  width: 42px; height: 42px; border-radius: 50%; flex: none;
  border: 1px solid rgba(232, 207, 152, .6);
  display: inline-flex; align-items: center; justify-content: center;
  font: italic 600 24px/1 "Cormorant Garamond", serif; color: var(--eh-gold-2);
}
.eh-logo-text b { display: block; font: 600 20px/1 "Cormorant Garamond", serif; letter-spacing: .26em; }
.eh-logo-text small { display: block; font: 600 9px/1 "Plus Jakarta Sans", sans-serif; letter-spacing: .34em; color: var(--eh-gold-2); margin-top: 6px; }

/* Desktop menu */
.eh-nav .elementor-icon-list-item { position: relative; }
.eh-nav .elementor-icon-list-item::after { display: none !important; }
.eh-nav .elementor-icon-list-icon { display: none !important; }
.eh-nav .elementor-icon-list-item > a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -8px; height: 1.5px; margin: auto;
  background: var(--eh-gold-2); transform: scaleX(0); transition: transform .4s var(--eh-ease);
}
.eh-nav .elementor-icon-list-item:hover > a::after,
.eh-nav .elementor-icon-list-item.is-active > a::after { transform: scaleX(1); }
.eh-nav .elementor-icon-list-item.is-active .elementor-icon-list-text { color: var(--eh-gold-2) !important; }

.eh-menu-toggle .elementor-icon { cursor: pointer; }

@media (max-width: 1180px) {
  .eh-header .eh-nav .elementor-icon-list-items { gap: 0; }
  .eh-header .eh-nav .elementor-icon-list-item { margin-inline: 9px !important; }
}

/* Tablet & phone: menu becomes a slide-down panel */
@media (max-width: 1024px) {
  .eh-header { flex-wrap: wrap !important; }
  .eh-header .eh-nav {
    order: 5; flex: 1 0 100% !important; width: 100% !important;
    max-height: 0; overflow: hidden; opacity: 0;
    transition: max-height .5s var(--eh-ease), opacity .35s, padding .4s;
  }
  body.eh-menu-open .eh-header .eh-nav { max-height: 520px; opacity: 1; padding: 10px 0 14px; }
  .eh-header .eh-nav .elementor-icon-list-items { flex-direction: column; align-items: stretch !important; flex-wrap: nowrap; }
  .eh-header .eh-nav .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; border-bottom: 1px solid rgba(255, 255, 255, .08); }
  .eh-header .eh-nav .elementor-icon-list-item > a { padding: 15px 4px; width: 100%; }
  .eh-header .eh-nav .elementor-icon-list-item > a::after { display: none; }
  .eh-header .eh-nav .elementor-icon-list-text { font-size: 17px !important; }
}
@media (min-width: 1025px) { .eh-menu-toggle { display: none !important; } }
@media (max-width: 480px) {
  .eh-head-cta .elementor-button { padding: 11px 16px !important; font-size: 12.5px !important; }
  .eh-head-cta .elementor-button-icon { display: none; }
  .eh-logo-mark { width: 36px; height: 36px; font-size: 20px; }
  .eh-logo-text b { font-size: 17px; }
}

/* ---------- Hero ---------- */
.eh-pill .elementor-heading-title {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 18px; border-radius: 999px;
  background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.eh-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--eh-gold-2); display: inline-block; flex: none; }
.eh-hero .elementor-background-slideshow { z-index: 0; }

/* Live info bar */
.eh-livebar { align-items: center; }
.eh-live .elementor-icon-box-title { text-transform: uppercase; letter-spacing: .14em; margin: 0 0 2px !important; }
.eh-live .elementor-icon-box-wrapper { align-items: center; }
.eh-livebar > .elementor-element:not(:last-child) { position: relative; }
@media (min-width: 1025px) {
  .eh-livebar > .eh-live:not(:first-child)::before {
    content: ""; position: absolute; left: -11px; top: 15%; bottom: 15%; width: 1px; background: rgba(10, 17, 31, .08);
  }
}
@media (max-width: 767px) {
  .eh-livebar > .elementor-widget-button { grid-column: 1 / -1; }
  .eh-live .elementor-icon { padding: 10px !important; }
}

/* Mobile stories */
.eh-stories { overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 18px 10px !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.eh-stories::-webkit-scrollbar { display: none; }
.eh-stories > .elementor-element { flex: 0 0 74px !important; width: 74px !important; scroll-snap-align: start; }
.eh-stories .elementor-image-box-img { width: 70px !important; height: 70px; margin: 0 auto 8px !important; padding: 3px; border-radius: 50%; background: conic-gradient(from 210deg, #E9CF96, #C9A35E, #8B6A33, #E9CF96); }
.eh-stories .elementor-image-box-img img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; border: 3px solid var(--eh-cream); display: block; }
.eh-stories .elementor-image-box-title { margin: 0 !important; }

/* ---------- About ---------- */
.eh-about-media { position: relative; }
.eh-about-float img { border: 8px solid var(--eh-cream); box-sizing: border-box; }
.eh-badge { animation: ehFloat 6s ease-in-out infinite; }
@keyframes ehFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@media (max-width: 1024px) { .eh-about-main { width: 100% !important; } }

/* Counters */
.eh-stats > .elementor-element { position: relative; }
@media (min-width: 768px) {
  .eh-stats > .elementor-element:not(:first-child)::before {
    content: ""; position: absolute; left: -10px; top: 18%; bottom: 18%; width: 1px; background: rgba(10, 17, 31, .08);
  }
}
.eh-counter .elementor-counter-number-wrapper { white-space: nowrap; }

/* Events */
.eh-ev-media { position: relative; }
.eh-float-card { position: absolute !important; left: -40px; bottom: -34px; max-width: 360px; z-index: 2; }
@media (max-width: 1024px) { .eh-float-card { position: relative !important; left: 0; bottom: 0; margin-top: -60px !important; margin-inline: 16px !important; max-width: none; width: auto !important; } }
.eh-ev-stats .elementor-counter-title { max-width: 150px; }

/* Marquee */
.eh-marquee-wrap { overflow: hidden; }
.eh-marquee { overflow: hidden; width: 100%; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.eh-marquee .elementor-icon-list-items { flex-wrap: nowrap !important; width: max-content; animation: ehMarquee 38s linear infinite; }
.eh-marquee .elementor-icon-list-item::after { display: none !important; }
.eh-marquee .elementor-icon-list-text { font-family: "Cormorant Garamond", serif !important; font-style: italic; white-space: nowrap; }
@keyframes ehMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Places */
.eh-place { transition: transform .5s var(--eh-ease), border-color .4s; }
.eh-place:hover { transform: translateY(-6px); border-color: rgba(232, 207, 152, .35) !important; }

/* ---------- FAQ (Accordion) ---------- */
.eh-faq .e-n-accordion-item {
  background: #fff; border: 1px solid rgba(10, 17, 31, .08); border-radius: 18px; overflow: hidden;
  margin-bottom: 12px; transition: box-shadow .4s, border-color .4s;
}
.eh-faq .e-n-accordion-item[open] { border-color: rgba(201, 163, 94, .5); box-shadow: 0 24px 50px -30px rgba(10, 17, 31, .35); }
.eh-faq .e-n-accordion-item-title { padding: 22px 26px !important; border: 0 !important; background: transparent !important; cursor: pointer; justify-content: space-between !important; gap: 16px; }
.eh-faq .e-n-accordion-item-title-header { flex: 1 1 auto; }
.eh-faq .e-n-accordion-item-title-text { font: 700 16.5px/1.4 "Plus Jakarta Sans", sans-serif !important; color: var(--eh-navy) !important; }
.eh-faq .e-n-accordion-item-title-icon { width: 34px; height: 34px; border-radius: 50%; background: var(--eh-cream); display: inline-flex !important; align-items: center; justify-content: center; flex: none; }
.eh-faq .e-n-accordion-item-title-icon svg { width: 12px; height: 12px; fill: var(--eh-gold-d); }
.eh-faq .e-n-accordion-item-title-icon i { font-size: 12px; color: var(--eh-gold-d); }
.eh-faq .e-n-accordion-item > .e-con { border: 0 !important; }

/* ---------- Gallery ---------- */
.eh-gallery .gallery-item img { aspect-ratio: 1 / 1; object-fit: cover; width: 100% !important; height: auto !important; transition: transform 1s var(--eh-ease), filter .5s; }
.eh-gallery .gallery-item .gallery-icon { overflow: hidden; border-radius: 20px; }
.eh-gallery .gallery-item:hover img { transform: scale(1.06); filter: brightness(1.05); }
@media (max-width: 767px) { .eh-gallery .gallery-item .gallery-icon { border-radius: 14px; } }

/* Map */
.eh-map-wrap iframe, .eh-map iframe { display: block; filter: grayscale(.15) contrast(1.05); }

/* Contact cards */
.eh-contact-card .elementor-icon-box-title { text-transform: uppercase; letter-spacing: .12em; }
.eh-contact-card .elementor-icon-box-description { word-break: break-word; }

/* ---------- Footer ---------- */
.eh-footer .elementor-icon-list-text { transition: color .3s; }
.eh-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .08); padding-top: 26px !important; }
.eh-footer-bottom p { margin: 0; }

/* Floating WhatsApp button (no flashing ring) */
.eh-wa-fab { position: fixed !important; right: 22px; bottom: 22px; z-index: 9980; width: auto !important; margin: 0 !important; }
.eh-wa-fab .elementor-icon { box-shadow: 0 16px 32px -12px rgba(31, 175, 85, .75); transition: transform .35s var(--eh-ease); }
.eh-wa-fab .elementor-icon:hover { transform: translateY(-3px) scale(1.04); }

/* ---------- Mobile app bottom tab bar ---------- */
.eh-tabbar { display: none; }
@media (max-width: 1024px) {
  .eh-tabbar {
    display: block; position: fixed !important; left: 0; right: 0; bottom: 0; z-index: 9985; margin: 0 !important; width: 100% !important;
    background: rgba(255, 255, 255, .94);
    -webkit-backdrop-filter: blur(20px) saturate(1.6); backdrop-filter: blur(20px) saturate(1.6);
    border-top: 1px solid rgba(10, 17, 31, .08);
    box-shadow: 0 -12px 30px -14px rgba(10, 17, 31, .18);
    padding: 0 6px env(safe-area-inset-bottom, 0px);
  }
  .eh-tabbar .elementor-icon-list-items { display: grid !important; grid-template-columns: repeat(5, 1fr); margin: 0 !important; }
  .eh-tabbar .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; justify-content: center; }
  .eh-tabbar .elementor-icon-list-item::after { display: none !important; }
  .eh-tabbar .elementor-icon-list-item > a { flex-direction: column; align-items: center; justify-content: center; gap: 4px; height: 66px; width: 100%; }
  .eh-tabbar .elementor-icon-list-icon { padding: 0 !important; margin: 0 !important; }
  .eh-tabbar .elementor-icon-list-icon svg { width: 20px !important; height: 20px !important; }
  .eh-tabbar .elementor-icon-list-icon i { font-size: 19px !important; }
  .eh-tabbar .elementor-icon-list-text { padding: 0 !important; }
  .eh-tabbar .elementor-icon-list-item.is-active .elementor-icon-list-text { color: var(--eh-navy) !important; }
  .eh-tabbar .elementor-icon-list-item.is-active .elementor-icon-list-icon svg { fill: var(--eh-gold-d) !important; }
  .eh-tabbar .elementor-icon-list-item.is-active .elementor-icon-list-icon i { color: var(--eh-gold-d) !important; }
  /* Centre "Book" button */
  .eh-tabbar .elementor-icon-list-item:nth-child(3) .elementor-icon-list-icon {
    width: 52px; height: 52px; margin-top: -26px !important; border-radius: 17px;
    background: linear-gradient(135deg, #E9CF96, #C9A35E);
    display: inline-flex; align-items: center; justify-content: center;
    box-shadow: 0 12px 24px -8px rgba(201, 163, 94, .9), 0 0 0 4px #fff;
  }
  .eh-tabbar .elementor-icon-list-item:nth-child(3) .elementor-icon-list-icon svg { fill: var(--eh-navy) !important; }
  .eh-tabbar .elementor-icon-list-item:nth-child(3) .elementor-icon-list-icon i { color: var(--eh-navy) !important; }
  .eh-tabbar .elementor-icon-list-item:nth-child(3) .elementor-icon-list-text { color: var(--eh-gold-d) !important; font-weight: 700; }

  body.elementor-template-canvas { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)); }
  .eh-wa-fab { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); right: 16px; }
  .eh-wa-fab .elementor-icon { font-size: 24px !important; padding: 14px !important; }
}

/* ---------- Mobile swipe carousels (native-app feel) ---------- */
@media (max-width: 767px) {
  .e-con.eh-snap {
    display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
    overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
    gap: 14px !important; margin-inline: -18px !important; padding: 6px 18px 24px !important;
    scrollbar-width: none; width: auto !important;
  }
  .e-con.eh-snap::-webkit-scrollbar { display: none; }
  .e-con.eh-snap > .e-con, .e-con.eh-snap > .elementor-element { flex: 0 0 84% !important; width: 84% !important; max-width: 84% !important; scroll-snap-align: center; }
  .eh-card:hover { transform: none; }
}

/* Page hero spacing under fixed header */
.eh-page-hero, .eh-hero { overflow: hidden; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .eh-marquee .elementor-icon-list-items, .eh-badge { animation: none !important; }
  .eh-card, .eh-card img, .eh-btn .elementor-button { transition: none !important; }
}

/* Inside the Elementor editor keep the fixed bars visible but out of the way */
body.elementor-editor-active .eh-header { position: relative !important; }



/* =====================================================================
   v1.1 — Signature details (same layout, more distinctive finish)
   ===================================================================== */

/* ---------- Kente-inspired woven pattern on navy surfaces ---------- */
.eh-kente,
.eh-marquee-wrap {
  background-image:
    radial-gradient(ellipse 80% 90% at 18% 20%, rgba(10, 17, 31, 0) 0%, rgba(10, 17, 31, .55) 55%, rgba(10, 17, 31, .9) 100%),
    linear-gradient(45deg, transparent 47%, rgba(232, 207, 152, .07) 47%, rgba(232, 207, 152, .07) 53%, transparent 53%),
    linear-gradient(-45deg, transparent 47%, rgba(232, 207, 152, .07) 47%, rgba(232, 207, 152, .07) 53%, transparent 53%),
    repeating-linear-gradient(90deg, rgba(232, 207, 152, .08) 0 2px, transparent 2px 14px, rgba(201, 163, 94, .05) 14px 26px, transparent 26px 40px, rgba(232, 207, 152, .08) 40px 42px, transparent 42px 80px),
    repeating-linear-gradient(0deg, rgba(232, 207, 152, .06) 0 2px, transparent 2px 18px, rgba(201, 163, 94, .05) 18px 22px, transparent 22px 80px) !important;
  background-size: 100% 100%, 40px 40px, 40px 40px, 80px 80px, 80px 80px !important;
  background-repeat: no-repeat, repeat, repeat, repeat, repeat !important;
  background-attachment: scroll;
}
.eh-marquee-wrap { background-position: 0 -40px; }

/* Thin woven kente band along the top of the footer */
.eh-footer.eh-band-top { position: relative; overflow: hidden; }
.eh-footer.eh-band-top::after {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; pointer-events: none;
  background: repeating-linear-gradient(90deg, #C9A35E 0 28px, #0A111F 28px 32px, #E8CF98 32px 44px, #111C30 44px 48px, #9E7A3B 48px 70px, #0A111F 70px 74px);
}

/* ---------- Gold offset frame on feature photos ---------- */
.eh-frame { isolation: isolate; }
.eh-frame::after {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  inset: 22px -22px -22px 22px;
  border: 1px solid rgba(201, 163, 94, .55); border-radius: 30px;
  transition: transform .8s var(--eh-ease);
}
.eh-frame:hover::after { transform: translate(-6px, -6px); }
.eh-on-dark .eh-frame::after { border-color: rgba(232, 207, 152, .35); }
@media (max-width: 767px) { .eh-frame::after { inset: 12px -10px -12px 10px; border-radius: 24px; } }

/* ---------- Hero greeting pill ---------- */
.eh-diamond {
  width: 8px; height: 8px; flex: none; display: inline-block;
  background: var(--eh-gold-2); transform: rotate(45deg); border-radius: 1px;
}
.eh-greet { transition: opacity .4s; }

/* ---------- Kente diamond ornament under centred section titles ---------- */
.eh-head--center > .elementor-widget-heading:not(.eh-eyebrow)::after {
  content: ""; display: block; width: 76px; height: 10px; margin: 18px auto 0;
  background:
    linear-gradient(45deg, transparent 34%, #C9A35E 34%, #C9A35E 66%, transparent 66%) center / 10px 10px no-repeat,
    linear-gradient(rgba(201, 163, 94, .6), rgba(201, 163, 94, .6)) left center / 28px 1px no-repeat,
    linear-gradient(rgba(201, 163, 94, .6), rgba(201, 163, 94, .6)) right center / 28px 1px no-repeat;
}

/* ---------- Footer signature wordmark ---------- */
.eh-wordmark { overflow: hidden; pointer-events: none; user-select: none; }
.eh-wordmark .elementor-heading-title { font-style: italic; font-weight: 500; white-space: nowrap; }

/* ---------- Scroll progress hairline ---------- */
.eh-progress {
  position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 10000; pointer-events: none;
  background: linear-gradient(90deg, #E8CF98, #C9A35E 60%, #9E7A3B);
  transform-origin: 0 50%; transform: scaleX(0);
}
body.admin-bar .eh-progress { top: 32px; }
@media (max-width: 782px) { body.admin-bar .eh-progress { top: 46px; } }

/* ---------- Refined details ---------- */
.eh-card .eh-card-img { position: relative; }
.eh-card .eh-card-img::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(10, 17, 31, 0) 55%, rgba(10, 17, 31, .28) 100%);
  opacity: 0; transition: opacity .6s var(--eh-ease);
}
.eh-card:hover .eh-card-img::after { opacity: 1; }
.eh-counter .elementor-counter-number-suffix { color: var(--eh-gold); }

/* Accessible focus rings (keyboard users) */
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--eh-gold) !important; outline-offset: 3px; border-radius: 6px;
}
.eh-skip {
  position: fixed; left: 16px; top: -60px; z-index: 10001; padding: 12px 18px; border-radius: 999px;
  background: var(--eh-gold); color: var(--eh-navy); font: 700 14px/1 "Plus Jakarta Sans", sans-serif; text-decoration: none;
  transition: top .3s;
}
.eh-skip:focus { top: 16px; }

@media (prefers-reduced-motion: reduce) {
  .eh-frame::after, .eh-progress { transition: none !important; }
}
