:root { 
    --hf-primary: #C7A24F; 
    --hf-accent: #C7A24F; 
    --hf-bg: #fff; 
    --hf-surface: #f7f8fb; 
    --hf-border: #e7e7ec; 
    --hf-shadow-1: 0 8px 24px rgba(0,0,0,.15); 
    --hf-shadow-2: 0 16px 36px rgba(0,0,0,.2); 
    --hf-radius: 16px; 
    --hf-radius-sm: 10px; 
    --hf-font: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Noto Sans", "Noto Sans Thai", "Noto Sans JP", "Noto Naskh Arabic UI", sans-serif; 
    --gold: #C7A24F;
    --navy: #0F1419;
    --gray-900: #111827;
    --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.12);
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
    --font-display: 'Playfair Display', serif;
    --transition-smooth: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);  
}

html { 
  scroll-behavior: smooth; 
}

.rtl {
  direction: rtl;
  text-align: right;
}

body {
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  color:#222;
  background:#F8F8F9;
  line-height:1.7;
  font-size: 1rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,h2,h3,h4 {
  font-family: "Playfair Display", Georgia, serif;
  letter-spacing: .2px;
  color:#111;
  margin-top:0;
}

p { 
  margin-bottom:1.2rem; 
}

img { 
  max-width:100%; 
  height:auto; 
  display:block; 
}

.text-gold { 
  color:#C7A24F;
}

.text-teal { 
  color:#2AB3A6; 
}

.text-muted { 
  color:#555; 
}

.section { 
  padding: 100px 0; 
}

.eyebrow {
  text-transform: uppercase; 
  font-size:.85rem; 
  letter-spacing:.18em;
  display:block; 
  margin-bottom:10px; 
  color:#2AB3A6;
}

.section-title { 
  font-size: clamp(28px,4vw,44px); 
  margin-bottom:16px; 
  line-height:1.2; 
}
.section-sub { 
  color:#555; 
  max-width:760px; 
  margin:0 auto 40px; 
}



html[lang="ar"], 
body[dir="rtl"] {
    direction: rtl;
    text-align: right;
}
.hf-navbar {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(199, 162, 79, 0.08);
  box-shadow: var(--shadow-sm);
  transition: var(--transition-smooth);
  z-index: 1000;
}
.navbar-brand {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.75rem;
  color: var(--navy);
  letter-spacing: 1px;
}
.brand-text {
  position: relative;
}
.brand-dot {
  color: var(--gold);
  font-size: 2rem;
  margin-left: 4px;
  animation: pulse 2s infinite;
}
.hf-navbar .nav-link {
  color: var(--gray-900) !important;
  padding: 0.75rem 1.25rem;
  font-weight: 500;
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  position: relative;
  transition: var(--transition-smooth);
}
.hf-navbar .nav-link::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--gold);
  transform: translateX(-50%);
  transition: width 0.3s ease;
}
.hf-navbar .nav-link:hover::before {
  width: 70%;
}
.hf-navbar .nav-link:hover {
  color: var(--gold) !important;
}
.dropdown-menu {
  border: none;
  box-shadow: var(--shadow-lg);
  border-radius: 12px;
  padding: 0.5rem;
  margin-top: 0.5rem;
}
/* RTL dropdown alignment */
html[lang="ar"] .dropdown-menu {
  right: auto;
  left: 0;
  text-align: right;
}
html[lang="ar"] .dropdown-menu-right {
  right: 0 !important;
  left: auto !important;
}
.dropdown-item {
  border-radius: 8px;
  padding: 0.75rem 1rem;
  transition: var(--transition-smooth);
}
.dropdown-item:hover {
  background: linear-gradient(135deg, rgba(199, 162, 79, 0.1), rgba(199, 162, 79, 0.05));
  color: var(--gold);
}
html[lang="ar"] .mr-1,
html[dir="rtl"] .mr-1 {
    margin-right: 0 !important;
    margin-left: 0.25rem !important;
}
html[lang="ar"] .ml-auto,
html[dir="rtl"] .ml-auto {
    margin-left: 0 !important;
    margin-right: auto !important;
}
.navbar-nav .dropdown-toggle::after {
    margin-left: 0;
    margin-right: .255em;
}
@media (max-width: 767.98px) {
    html[lang="ar"] .hf-navbar .container {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }
    
    html[lang="ar"] .navbar-brand {
        order: 2;
        flex: 0 0 auto;
    }
    
    html[lang="ar"] .navbar-toggler {
        order: 1;
        flex: 0 0 auto;
    }
    html[lang="ar"] .hf-navbar .navbar-collapse {
        order: 3;
        width: 100%;
        flex-basis: 100%;
    }
    html[lang="ar"] .navbar-nav {
        width: 100%;
        text-align: right;
    }
}



.video-slider { 
  padding: 18px 0 6px; 
  background: transparent; 
}

.video-carousel {
  border-radius: 22px;
  overflow: hidden;             
  border: 1px solid #E4E6EB;
  box-shadow: 0 8px 26px rgba(0,0,0,.08);
  background: #fff;
}


.video-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #FFF;
}

@supports not (aspect-ratio: 16 / 9) {
  .video-frame { height: 0; padding-top: 56.25%; }
  .video-frame > .slide-video,
  .video-frame > .video-caption { position: absolute; inset: 0; }
}

.slide-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}

.video-caption {
  position: absolute;
  left: 0; 
  right: 0; 
  bottom: 0;
  padding: 18px 22px;
  background: linear-gradient(180deg, rgba(5,8,12,0) 0%, rgba(5,8,12,.28) 70%, rgba(5,8,12,.45) 100%);
  color: #fff;
}

.video-caption,
.video-caption * {
  pointer-events: auto;
  position: relative;
  z-index: 2;
}

.video-caption h5 { 
  margin: 0 0 4px; 
  font-size: 1.05rem; 
  font-weight: 700; 
}

.video-caption p { 
  margin: 0; 
  font-size: .95rem; 
  opacity: .95; 
}

.carousel-indicators li {
  background-color: #C7A24F;
  opacity: .35;
}

.carousel-indicators .active { 
  opacity: 1; 
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.3));
}
.video-caption {
  position: absolute; 
  left: 0; 
  right: 0; 
  bottom: 0;
  padding: 20px 22px 18px;
  background: linear-gradient(180deg, rgba(5,8,12,0) 0%, rgba(5,8,12,.22) 60%, rgba(5,8,12,.46) 100%);
  color: #fff;
}
.video-caption h5 { 
  margin: 0 0 4px; 
  font-size: 1.15rem; 
  font-weight: 800; 
}
.video-caption p { 
  margin: 0 0 10px; 
  font-size: .98rem; 
  opacity: .98; 
}
.video-caption .cta-row { 
  display:flex; 
  flex-wrap:wrap; 
  gap:8px; 
}


.btn {
    width: auto; 
    display: inline-block; 
    white-space: nowrap;
}
.btn[class*="col-"], 
.btn.flex-fill { 
    flex:0 0 auto !important; 
}
.btn-sm { 
    padding: .5rem .9rem; 
    border-radius: 999px; 
    font-weight: 700; 
}
.btn-light-ghost {
    background: transparent; 
    color: #fff; 
    border: 1.5px solid rgba(255,255,255,.75);
    box-shadow: none;
}
.btn-light-ghost:hover { 
    background: rgba(255,255,255,.12); 
    color: #fff; 
}
.video-caption .btn-gold,
.video-caption .btn-teal {
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
}
.btn-gold {
    background: linear-gradient(135deg,#C7A24F,#E4CA7A);
    color: #fff;
    border: 0; border-radius:999px;
    padding: .7rem 1.4rem;
    font-weight: 600;
    box-shadow: 0 6px 14px rgba(199,162,79,.22);
    text-shadow: 0 1px 0 rgba(0,0,0,.18);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
}
.btn-gold:hover { filter:brightness(1.05); transform:translateY(-2px); }
.btn-teal {
    background: linear-gradient(135deg,#1F9F97,#2AB3A6);
    color:#fff;
    border:0; 
    border-radius:999px;
    padding:.7rem 1.4rem;
    font-weight:600;
    box-shadow:0 6px 18px rgba(42,179,166,.25);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
}
.btn-teal:hover { filter: brightness(1.05); transform:translateY(-2px); }


.hero {
  padding:140px 0 100px;
  background:
    radial-gradient(1000px 500px at 10% -5%, rgba(42,179,166,.12), transparent),
    radial-gradient(1000px 600px at 80% -10%, rgba(199,162,79,.15), transparent),
    #FAFAFB;
}
.hero-title { font-size:clamp(36px,5vw,60px); line-height:1.08; color:#111; }
.hero-lead { color:#555; max-width:720px; }
.hero-card {
  background: #fff; border:1px solid #E4E6EB; border-radius:18px;
  padding: 18px 22px; display:flex; align-items:center; gap:14px;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}
.check {
  width: 30px; height:30px; border-radius:50%; background:#C7A24F;
  display: flex; align-items:center; justify-content:center;
  color: #fff; font-weight:700;
}

.frame-soft {
  overflow: hidden; border:1px solid #E4E6EB; border-radius:22px;
  box-shadow: 0 8px 26px rgba(0,0,0,.08);
  background: #fff;
}
.frame-img { width: 100%; height: 360px; object-fit: cover; }
.panel-soft {
  background:#fff; border:1px solid #E4E6EB; border-radius:22px;
  padding:28px; box-shadow:0 8px 26px rgba(0,0,0,.06);
}

.svc-card {
  background:#fff; border:1px solid #E4E6EB; border-radius:22px;
  overflow:hidden; transition:all .3s ease;
  display:flex; flex-direction:column;
  box-shadow:0 6px 18px rgba(0,0,0,.04);
}
.svc-card:hover {
  transform:translateY(-5px);
  box-shadow:0 14px 32px rgba(0,0,0,.08);
  border-color:#C7A24F;
}
.svc-media { height:200px; overflow:hidden; }
.svc-media img { width:100%; height:100%; object-fit:cover; }
.svc-body { padding:24px 24px 18px; }
.frame-img, 
.svc-media img, 
.lux-img img { 
  aspect-ratio: 16/9; 
  object-fit:cover;
}
.svc-title h3 { 
    text-align: center;
    font-size:1.2rem; 
    margin:0; 
}
.chip--teal { 
    background:#2AB3A6; 
}
.svc-list { 
    color:#555; 
    font-size:.95rem; 
    padding-left:20px; 
    margin-bottom:0; 
}
.svc-cta {
    text-align: center; 
    margin-top:auto; 
    padding:0 24px 24px; 
}


.lux-card {
    display: flex; 
    align-items: center;
    gap: 20px;
    padding: 20px; 
    border: 1px solid #E4E6EB; 
    border-radius: 18px;
    background: #fff; 
    box-shadow: 0 6px 18px rgba(0,0,0,.04);
    position: relative; 
    transition: transform .2s ease, 
    box-shadow .2s ease;
}
.lux-card + .lux-card { 
    margin-top:16px; 
}
.lux-img { 
    flex:0 0 230px; 
    height:160px;
    border-radius:14px; 
    overflow:hidden; 
}
.lux-img img { 
    width:100%; 
    height:100%; object-fit:cover; 
}
.lux-body { 
    flex: 1 1 auto; 
    min-width: 0;
    margin-left:20px;
    text-align: right;
}
.lux-body h3,
.lux-body h5 {
  overflow-wrap: anywhere;
}
.lux-card:hover { 
    transform:translateY(-2px); 
    box-shadow:0 12px 28px rgba(0,0,0,.08); 
}
.lux-card a.stretched { 
    position:absolute; inset:0; 
    z-index:1; 
}

.badge-gold-soft {
  background:rgba(199,162,79,.12); 
  color:#C7A24F;
  border:1px solid rgba(199,162,79,.3); 
  margin-right:6px;
}
.lux-price { text-align:right; min-width:140px; }
.lux-price-val { color:#C7A24F; font-size:1.25rem; font-weight:600; }


#whyus ul { list-style:none; padding:0; }
#whyus li { margin-bottom:10px; color:#444; }
#whyus li::before {
  content:"✓"; color:#2AB3A6; font-weight:bold; margin-right:8px;
}

.hf-slider { 
  position: relative; 
  isolation: isolate;
  height: clamp(320px, 42vw, 620px);
  background: #eef6fb;
  overflow: hidden; 
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

.hf-slider:focus { 
  outline: 3px solid var(--hf-primary); 
  outline-offset: 2px; 
}

.hf-slides { 
    position: relative; 
    height: 100%;
}

.hf-slide { 
    position: absolute; 
    inset: 0; 
    opacity: 0; 
    transform: scale(1.04);
    transition: opacity .8s ease, transform .8s ease; 
    will-change: opacity, transform;
}
.hf-slide.is-active { 
    opacity: 1; 
    transform: scale(1); 
    z-index: 1; 
}

.hf-slide > img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    display: block; 
    filter: saturate(1.05) contrast(1.02);
}

.hf-overlay { 
    position: absolute; 
    inset: 0; 
    z-index: 1; 
    background: linear-gradient(180deg, rgba(3, 7, 18, .45) 0%, rgba(3, 7, 18, .15) 50%, rgba(3, 7, 18, .55) 100%);
}

.hf-content { 
    position: absolute; 
    z-index: 2; 
    left: clamp(16px, 6vw, 80px); 
    bottom: clamp(16px, 8vw, 84px);
    color: #fff; 
    max-width: min(150ch, 70%);
    text-shadow: 0 2px 20px rgba(0,0,0,.35);
}

.hf-kicker { 
    display: inline-block; 
    margin-bottom: .5rem; 
    padding: .25rem .6rem; 
    background: var(--hf-primary);
    color:#fff; 
    border-radius: 999px; 
    font-size: .8rem; 
    font-weight: 600;
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
}

.hf-title { 
    color: #15124F;
    font-size: clamp(1.6rem, 3.6vw, 2.8rem); 
    margin: .4rem 0; 
    font-weight: 700; 
    line-height: 1.1; 
}

.hf-body  { 
    font-size: clamp(.95rem, 1.4vw, 1.15rem); 
    margin: .5rem 0 1.25rem; 
    opacity: .95; 
}

.hf-btn { 
    display: inline-block; 
    padding: .6rem 1.2rem; 
    border-radius: .75rem; 
    background: #fff;
    opacity: .7; 
    color:  #0b2a3f;
    text-decoration: none; 
    font-weight: 700; 
    box-shadow: 0 10px 30px rgba(0,0,0,.15); 
    border: 0; 
    cursor: pointer;
}

.hf-btn:hover { 
    transform: translateY(-1px); 
}

.hf-btn:active { 
    transform: translateY(0); 
}

.hf-nav { 
    position: absolute; 
    z-index: 3; 
    inset-block: 0; 
    margin: auto; 
    height: 48px; 
    width: 48px; 
    border-radius: 999px; 
    border: none; 
    cursor: pointer;
    background: rgba(15,23,42,.45); 
    color: #fff; 
    font-size: 1.6rem; 
    display: grid; 
    place-items: center; 
    backdrop-filter: blur(4px); 
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
}

.hf-nav[disabled] {
    width:56px; 
    height:56px;
    opacity: .4; 
    cursor: not-allowed; 
}

.hf-prev { 
    left: clamp(8px, 3vw, 16px); 
}

.hf-next { 
    right: clamp(8px, 3vw, 16px); 
}

.hf-dots { 
  position: absolute; 
  z-index: 3; 
  left: 0; 
  right: 0; 
  bottom: clamp(8px, 3.5vw, 22px); 
  display: flex; 
  gap: .5rem; 
  justify-content: center; 
}

.hf-dot { 
width: 10px; 
height: 10px; 
border-radius: 999px; 
border: none; 
cursor: pointer; 
background: rgba(255,255,255,.55); 
box-shadow: 0 10px 30px rgba(0,0,0,.15);
}

.hf-dot.is-active { 
  background: #fff; 
  width: 26px; 
  border-radius: 999px; 
  transition: width .25s ease; 
}


[dir="rtl"] .hf-prev { 
  right: clamp(8px, 3vw, 16px); 
  left: auto; 
}
[dir="rtl"] .hf-next { 
  left: clamp(8px, 3vw, 16px); 
  right: auto; 
}
form label { 
  font-weight:600; 
  color:#222; 
}
.form-control {
  border-radius:10px; 
  border:1px solid #DADDE2;
  padding:.6rem .8rem; 
  box-shadow:none;
}
.form-control:focus {
  border-color:#2AB3A6; 
  box-shadow:0 0 0 3px rgba(42,179,166,.15);
  outline:none;
}
button.btn { 
  margin-top:10px; 
}


.marquee-track {
  --gap: 56px;
  --logo-h: 40px;
  --pad-y: 22px;
}
.marquee-wrap {
  overflow: hidden;
  border-top: 1px solid #E4E6EB;
  border-bottom: 1px solid #E4E6EB;
  background: #fff;
}
.marquee-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: marquee-left var(--speed, 20s) linear infinite;
  animation-play-state: running !important;
}
[dir="rtl"] .marquee-track {
    animation-name: marquee-right;
}
.marquee-group {
  display: inline-flex;
  align-items: center;
  gap: var(--gap);
  padding: var(--pad-y) 0;
}
.marquee-item {
  flex: 0 0 auto;
  height: var(--logo-h);
  display: flex;
  align-items: center;
  justify-content: center;
}
.marquee-item img {
  display: block;
  max-height: 100%;
  max-width: 200px;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
  image-rendering: -webkit-optimize-contrast;
  opacity: .98;
  filter: contrast(1.04);
}

@keyframes marquee-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@keyframes marquee-right {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .marquee-track { animation: none; }
}



.hf-footer {
  color: #000;
  background: rgba(85, 87, 88, 0.95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid #E4E6EB;
  box-shadow: 0 4px 16px rgba(0,0,0,.04);
}
.hf-footer a { 
  color: #000; 
  text-decoration: none; 
}
.hf-footer a:hover { 
  color: #D2AD67; 
}
.hf-heading {
  color: #D2AD67;
  letter-spacing: .02em;
  margin-bottom: .75rem;
}
.ft-container {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  flex-wrap: wrap;
}
#ft-container01, #ft-container02 {
  border-left: 1px solid rgba(251, 250, 246, 0.12);
}
#mailto01 {
  overflow-wrap: break-word;
}
.mb-2 h6 {
  font-weight: bold;
}
.col-md-4.mb-4 {
  margin: 0;
}
.hf-hours li {
  display: flex;
  justify-content: space-between;
  padding: .3rem 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.hf-hours li:last-child { 
  border-bottom: 0; 
}
.hf-hours .day { 
  font-weight: 600; 
}
.hf-hours .time { 
  opacity: .8; 
}
.social-icon {
  margin-left: 0;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.social-icon img {
  /*margin: auto 0;*/
  margin-left: 10px;
  border-radius: 50%;
}
.hf-social-link {
  display: inline-flex;
  align-items: center; 
  justify-content: center;
  transition: transform .15s ease, border-color .15s ease, background-color .15s ease, color .15s ease;
}
.hf-social-link:hover {
  transform: translateY(-2px);
  border-color: #D2AD67;
  color: #111;
}


:focus-visible {
  outline:none;
  box-shadow:0 0 0 3px rgba(42,179,166,.25), 0 0 0 6px rgba(199,162,79,.18);
}

a, button, .hf-nav, .hf-dot {
  outline:0;
}
a:focus-visible, button:focus-visible, .hf-nav:focus-visible, .hf-dot:focus-visible {
  box-shadow:0 0 0 3px rgba(42,179,166,.35), 0 0 0 6px rgba(199,162,79,.22);
  border-radius:12px;
}

#hf-chat-bubble { 
  position: fixed; 
  right: 18px; 
  bottom: 18px; 
  width: 56px; 
  height: 56px; 
  border-radius: 50%; 
  box-shadow: var(--hf-shadow-1); 
  background: var(--hf-primary); 
  color: #111; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  cursor: pointer; 
  z-index: 9999; 
  user-select: none; 
  font-size: 20px; 
} 
#hf-chat-panel { 
  position: fixed; 
  right: 18px; 
  bottom: 86px; 
  width: 340px; 
  max-width: 92vw; 
  height: 460px; 
  max-height: 75vh; 
  background: var(--hf-bg); 
  border-radius: var(--hf-radius); 
  box-shadow: var(--hf-shadow-2); 
  display: none; 
  /* toggled via JS */ 
  flex-direction: column; 
  overflow: hidden; 
  z-index: 9999; 
  font-family: var(--hf-font); 
} 
#hf-chat-panel .hf-header { 
  background: var(--hf-primary); 
  color: #111; 
  padding: 12px 14px; 
  font-weight: 600; 
  display: flex; 
  align-items: center; 
  justify-content: space-between; 
} 
#hf-chat-panel .hf-header button { 
  background: transparent; 
  border: 0; 
  color: #fff; 
  font-size: 18px; 
  cursor: pointer; 
} 
#hf-messages.hf-messages { 
  padding: 12px; 
  gap: 8px; 
  display: flex; 
  flex-direction: column; 
  overflow: auto; 
  flex: 1; 
  background: var(--hf-surface); 
} 
.hf-row { 
  display: flex; 
  padding: 2px 0; 
} 
.hf-row.me { 
  justify-content: flex-end; 
} 
.hf-row.bot { 
  justify-content: flex-start; 
} 
.hf-bubble { 
  max-width: 80%; 
  padding: 10px 12px; 
  border-radius: 12px; 
  border: 1px solid var(--hf-border); 
  font-size: 14px; 
  line-height: 1.4; 
  background: #fff; 
} 
.hf-row.me .hf-bubble { 
  background: #e7f9f7; 
} 
#hf-form.hf-form { 
  display: flex; 
  gap: 8px; 
  padding: 10px; 
  border-top: 1px solid var(--hf-border); 
  background: var(--hf-bg); 
} 
#hf-form input { 
  flex: 1; 
  border: 1px solid rgba(199,162,79,.3); 
  border-radius: var(--hf-radius-sm); 
  padding: 10px 12px; 
  outline: none; 
} 
#hf-form button { 
  background-color: var(--hf-primary);
  border: 0; 
  color: #fff; 
  padding: 0 14px; 
  border-radius: var(--hf-radius-sm); 
  font-weight: 600; 
  cursor: pointer; 
} 
.hf-hidden { 
  display: none !important; 
}

.grecaptcha-badge {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


@media (max-width: 991.98px) {
    .lux-card {
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 12px;
    }

    .lux-img  { 
        flex: 0 0 200px; 
        height: 140px; 
    }
    .lux-price {
        flex: 0 0 100%;
        min-width: 0;
        text-align: left;
        margin-top: 6px;
    }
}


@media (min-width: 577px) and (max-width:767.98px) {
    
    .video-slider { 
        padding-top: 12px; 
    }
    
    .video-carousel { 
        border-radius: 18px; 
    }
    
    .video-caption { 
        padding: 14px 14px 12px; 
    }
    
    .video-caption h5 { 
        font-size: .75rem; 
    }
    
    .video-caption p { 
        font-size: .625rem; 
    }
    
    .btn-sm { 
        font-size: .625rem;
        width: auto;
    }
    
    .hero .d-flex {
      align-items: center;
    }
    
    
    .section {
      padding:70px 0;
    }
    
    .lux-card {
      flex-direction:column; 
      text-align:center;
    }
    .lux-body {
      margin-left:0; 
      margin-top:12px;
    }
    .lux-price {
          text-align:center; 
          margin-top:10px;
    }
    .lux-card { 
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 12px;
    }
    .lux-img { 
        flex: 0 0 200px;
        height: 140px;
    }
    .lux-price {
        flex: 0 0 100%;  
        min-width: 0;
        text-align: left;
        margin-top: 6px;
    }
  
    .hero{
        padding:100px 0 80px;
    }
    
    .ft-container {
        font-size: .875em;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
    }
    
    #ft-container01, #ft-container02 {
        max-width: 490px;
        border-bottom: 1px solid rgba(251, 250, 246, 0.12);
        border-left: none;
        padding-bottom: 15px;
    }
}


@media (min-width: 361px) and (max-width: 576px) {
    
    html { 
        font-size: 15px; 
    }
    
    .section { 
        padding: 56px 0; 
    }
    
    .section-title { 
        font-size: clamp(24px, 6.2vw, 30px); 
    }
    
    .section-sub { 
        margin-bottom: 28px; 
        padding: 0 6px; 
    }
    
    p { 
        margin-bottom: 1rem; 
    }
    
    .hf-nav { width:48px; height:48px; }
    .hf-navbar .nav-link { padding: .65rem .8rem; }
    .navbar-brand { font-size: 1rem; }
    .language-dropdown .dropdown-menu { min-width: 10rem; }
    
    .hero { padding: 76px 0 60px; }
    .hero-title { font-size: clamp(26px, 7vw, 34px); }
    .hero-lead { font-size: .98rem; }
    .hero-card { 
        padding: 14px 16px; gap: 10px; 
        flex:1 1 auto; 
        min-width:0;
    }
    .hero-cta {
        flex:0 0 auto;
        width: auto; 
        display: inline-block; 
    }
    .hero .d-flex { 
        align-items: flex-start;
        gap:10px; 
    }
    .check { width: 26px; height: 26px; font-size: .9rem; }
    
    .frame-img { height: 240px; }
    .frame-soft { border-radius: 16px; }
    
    .video-slider { padding-top: 10px; }
    .video-carousel { border-radius: 14px; box-shadow: 0 6px 18px rgba(0,0,0,.07); }
    .video-caption { padding: 12px 12px 10px; }
    
    .video-caption h5 { 
      font-size: .75rem;
    }
    
    .video-caption p { 
      font-size: .625rem; 
    }
  
    .btn-sm { 
        font-size: .5rem;
        width: 90px;
      
    }

    .svc-media { 
        height: 160px; 
    }
    .svc-body { 
        padding: 18px 16px 14px; 
    }
    .svc-title h3 { 
        font-size: 1.05rem; 
    }
    
    .lux-card { 
        padding: 16px; 
    }
    .lux-img { 
        flex: 0 0 100%; 
        height: 180px; 
        border-radius: 12px; 
    }
    .lux-body { 
        margin-left: 0; 
        margin-top: 10px; 
    }
    .lux-price { 
        text-align: center; 
        margin-top: 8px; 
        min-width: 0; 
    }
    .lux-price-val { 
      font-size: 1.05rem; 
    }

    form label { 
      font-size: .95rem; 
    }
    .form-control { 
        padding: .7rem .85rem; 
        font-size: 1rem; 
    }
  
    .btn,
    .btn.btn-gold, 
    .btn.btn-teal {
      width: auto;
      display: inline-block;
      white-space: nowrap;
    }

  .marquee-track { 
      --logo-h: 32px; 
      --gap: 36px; 
      --pad-y: 16px; 
      --speed: 18s; 
  }
  .marquee-item img { 
      max-width: 140px; 
  }

  .hf-footer { padding-top: 20px; }
  .ft-container { gap: 10px; }
  #ft-container01, #ft-container02 { 
    max-width: 100%; 
    padding-bottom: 12px; 
    border-bottom: 1px solid rgba(251, 250, 246, 0.12);
    border-left: none;
  }
  .hf-hours li { font-size: .95rem; }
}

@media (max-width: 360px) {
    html { font-size: 14px; }
    .hero-title { font-size: clamp(22px, 8vw, 28px); }
    .frame-img { height: 200px; }
    .svc-media { height: 140px; }
    .marquee-track { --logo-h: 28px; --gap: 28px; --speed: 16s; }
    .marquee-item img { max-width: 120px; }
    #ft-container01, #ft-container02 { 
        max-width: 100%; 
        padding-bottom: 12px; 
        border-bottom: 1px solid rgba(251, 250, 246, 0.12);
        border-left: none;
    }
}

