/* =============================================
   MYVISA PASS & PERMIT — CUSTOM STYLES
   Overrides on top of Landed (HTML5 UP) base
   ============================================= */

/* ---- FONT OVERRIDES ---- */
body, input, select, textarea {
  font-family: 'DM Sans', Helvetica, sans-serif;
  font-weight: 400;
}
h1, h2, h3 {
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
}
h4, h5, h6 {
  font-family: 'DM Sans', Helvetica, sans-serif;
  font-weight: 600;
}

/* ---- LOGO IMAGE ---- */
.site-logo {
  height: 38px;
  width: auto;
  display: block;
}

/* Mobile titleBar logo */
#titleBar .title img.site-logo {
  height: 26px;
  width: auto;
  vertical-align: middle;
}

/* ---- TOPBAR ---- */
.topbar {
  background: #060f18;
  padding: 0.55rem 0;
  font-size: 0.78rem;
  color: rgba(255,255,255,0.5);
  border-bottom: 1px solid rgba(201,168,76,0.15);
}
.topbar-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.topbar a {
  color: rgba(255,255,255,0.5);
  border: none;
  font-size: 0.78rem;
  transition: color 0.2s;
}
.topbar a:hover { color: #C9A84C !important; }
.topbar-right { display: flex; gap: 1.5rem; align-items: center; }
.lang-btn {
  border: 1px solid rgba(201,168,76,0.4) !important;
  background: rgba(201,168,76,0.1);
  color: #C9A84C !important;
  padding: 0.2rem 0.75rem;
  border-radius: 4px;
  font-weight: 600;
  font-size: 0.75rem;
}

/* ---- HEADER / NAV ---- */
#header {
  background: rgba(13,27,42,0.98);
  border-bottom: 1px solid rgba(201,168,76,0.1);
}
#header h1 a {
  font-family: 'Playfair Display', serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
  border: none;
  letter-spacing: 0.02em;
}
#header h1 a span { color: #C9A84C; }
#header nav > ul > li > a {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.88rem;
  font-weight: 500;
}
#header nav > ul > li:last-child > a {
  background: #C9A84C;
  color: #0D1B2A !important;
  border-radius: 6px;
  padding: 0.5rem 1.2rem;
  font-weight: 600;
  border: none;
}
#header nav > ul > li:last-child > a:hover {
  background: #E2C27A;
  color: #0D1B2A !important;
}
#header nav > ul > li > a.active { color: #C9A84C !important; }
#header nav ul li a.button.primary {
  background-color: #C9A84C !important;
  box-shadow: none !important;
  color: #0D1B2A !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  border: 0 !important;
  padding: 0 1.4em !important;
}
#header nav ul li a.button.primary:hover {
  background-color: #E2C27A !important;
  box-shadow: none !important;
  color: #0D1B2A !important;
}
#header nav ul li a:hover,
#header nav ul li a:active {
  box-shadow: none !important;
  color: #C9A84C !important;
}

/* ---- EYEBROW LABEL ---- */
.eyebrow {
  display: block;
  font-family: 'DM Sans', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #C9A84C;
  margin-bottom: 0.75rem;
}

/* ---- PAGE HERO ---- */
.page-hero { padding: 5rem 0 4rem !important; }
.page-hero .major h2 { margin-bottom: 1.5rem; }

/* ---- HERO BANNER ---- */
#banner::after { display: none !important; }
#banner {
  background-image: none !important;
  background-color: #0D1B2A !important;
  position: relative !important;
  overflow: hidden !important;
}
#banner video {
  position: absolute !important;
  top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important;
  object-fit: cover !important;
  opacity: 0.3 !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
#banner .content {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 2rem !important;
  text-align: left !important;
  width: 100% !important;
  max-width: 1200px !important;
  padding: 4em 3em !important;
  vertical-align: middle !important;
  position: relative !important;
  z-index: 3 !important;
}
#banner .content header {
  flex: 1 !important;
  text-align: left !important;
  max-width: 55% !important;
}
#banner .content header h2 {
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  line-height: 1.2;
  color: #fff;
}
#banner .content header h2 em { font-style: italic; color: #C9A84C; }
#banner .content header p {
  font-family: 'DM Sans', sans-serif;
  font-weight: 300;
  font-size: 1.05rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.8;
  margin-top: 0.5rem;
}
#banner .content .image {
  flex-shrink: 0 !important;
  width: 380px !important;
  height: 380px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: rgba(255,255,255,0.05) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  backdrop-filter: blur(4px) !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
}
#banner .goto-next { position: relative !important; z-index: 3 !important; }
.hero-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: 1.75rem;
}

/* ---- TRUST STRIP ---- */
.trust-strip {
  background: rgba(255,255,255,0.03);
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: 1.5rem 0;
}
.trust-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.5rem 2.5rem;
  text-align: center;
}
.trust-item strong {
  font-family: 'Playfair Display', serif;
  font-size: 1rem;
  color: #C9A84C;
  display: block;
}
.trust-item span { font-size: 0.73rem; color: rgba(255,255,255,0.35); margin-top: 0.15rem; }
.trust-divider { width: 1px; height: 36px; background: rgba(255,255,255,0.1); flex-shrink: 0; }

/* ---- CTA BANNER ---- */
.cta-banner {
  background: linear-gradient(135deg, #C9A84C 0%, #E2C27A 100%) !important;
  padding: 4rem 0 !important;
}
.cta-banner header h2 { color: #0D1B2A !important; font-family: 'Playfair Display', serif; }
.cta-banner header p { color: rgba(13,27,42,0.7) !important; }
.cta-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 1.75rem;
}
.cta-banner .button:hover { background: #0D1B2A !important; color: #ffffff !important; box-shadow: none !important; }
.cta-banner .wa-cta:hover { background: #1ebe5d !important; color: #ffffff !important; box-shadow: none !important; }

/* ---- BUTTONS ---- */
.wa-cta {
  background: #25D366 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  padding: 0.85rem 2rem !important;
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  transition: background 0.2s, transform 0.2s !important;
}
.wa-cta:hover { background: #1ebe5d !important; transform: translateY(-2px); color: #fff !important; border: none !important; }
.alt-cta { background: rgba(13,27,42,0.85) !important; color: #fff !important; border: none !important; border-radius: 8px !important; font-weight: 600 !important; }
.alt-cta:hover { background: #0D1B2A !important; color: #C9A84C !important; }
.sidebar-btn { color: #0D1B2A !important; background: transparent !important; }
.sidebar-btn:hover { color: #ffffff !important; background: #0D1B2A !important; box-shadow: none !important; }
.sidebar-cta .button:hover { background: #0D1B2A !important; color: #ffffff !important; box-shadow: none !important; }

/* ---- WHATSAPP FLOAT ---- */
.wa-float {
  position: fixed;
  bottom: 2rem; right: 2rem;
  z-index: 9999;
  width: 56px; height: 56px;
  background: #25D366;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,0.45);
  transition: transform 0.2s, box-shadow 0.2s;
  border: none !important;
}
.wa-float svg { width: 28px; height: 28px; fill: white; }
.wa-float:hover { transform: scale(1.1) translateY(-2px); box-shadow: 0 8px 32px rgba(37,211,102,0.55); border: none !important; }
.wa-float::before {
  content: '';
  position: absolute;
  width: 100%; height: 100%;
  border-radius: 50%;
  background: #25D366;
  z-index: -1;
  animation: pulse-wa 2.5s ease-out infinite;
}
@keyframes pulse-wa {
  0% { transform: scale(1); opacity: 0.4; }
  100% { transform: scale(1.7); opacity: 0; }
}

/* ---- ICON CIRCLES ---- */
.icon.solid.alt.major::before,
.icon.alt.major::before {
  position: static !important;
  top: auto !important;
  line-height: inherit !important;
  margin: 0 !important;
  vertical-align: middle !important;
}
span.icon.solid.alt.major,
span.icon.alt.major {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
.box.alt section {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* ---- TESTIMONIALS ---- */
.testi-section { padding: 5rem 0; }
.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 2.5rem; }
.testimonials-grid--large { grid-template-columns: repeat(3, 1fr); }
.testimonial-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; padding: 1.75rem; transition: border-color 0.2s; }
.testimonial-card:hover { border-color: rgba(201,168,76,0.3); }
.testimonial-quote { font-family: 'DM Sans', sans-serif; font-size: 0.9rem; font-weight: 300; color: rgba(255,255,255,0.72); line-height: 1.85; font-style: italic; margin-bottom: 1.25rem; }
.testimonial-author { display: flex; align-items: center; gap: 0.85rem; }
.author-avatar { width: 42px; height: 42px; border-radius: 50%; background: rgba(201,168,76,0.12); border: 1px solid rgba(201,168,76,0.35); color: #C9A84C; font-size: 0.72rem; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-family: 'DM Sans', sans-serif; }
.testimonial-author strong { display: block; font-size: 0.88rem; color: #fff; font-family: 'DM Sans', sans-serif; font-weight: 500; }
.testimonial-author span { font-size: 0.75rem; color: rgba(255,255,255,0.38); }

/* ---- ABOUT PAGE ---- */
.img-placeholder-box { width: 100%; aspect-ratio: 4/3; background: linear-gradient(135deg, #1A2E42, #243B55); border-radius: 12px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.25); font-size: 0.85rem; text-align: center; line-height: 1.6; min-height: 280px; }
.img-placeholder-box small { opacity: 0.6; font-size: 0.75rem; }

/* ---- PROCESS STEPS ---- */
.process-steps { margin-top: 2.5rem; }
.step-num { font-family: 'Playfair Display', serif; font-size: 3.5rem; font-weight: 700; color: rgba(201,168,76,0.35); line-height: 1; margin-bottom: 0.75rem; }
.process-step { text-align: center; padding: 2rem 1.5rem; border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; transition: border-color 0.2s; }
.process-step:hover { border-color: rgba(201,168,76,0.25); }
.process-step h3 { font-size: 1rem; margin-bottom: 0.5rem; }
.process-step p { font-size: 0.85rem; color: rgba(255,255,255,0.5); }

/* ---- SERVICES PAGE ---- */
.services-list {
  margin-top: 1rem;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.service-block {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  padding: 2rem !important;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  margin-bottom: 0 !important;
  transition: border-color 0.2s;
  width: 100% !important;
  float: none !important;
  box-sizing: border-box;
}
.service-block:hover { border-color: rgba(201,168,76,0.25); }
.service-block .icon.major { font-size: 1.75rem; color: #C9A84C; flex-shrink: 0; margin-top: 0.25rem; }
.service-block h3 { font-size: 1.05rem; margin-bottom: 0.5rem; }
.service-block p { font-size: 0.88rem; color: rgba(255,255,255,0.55); margin-bottom: 1rem; text-align: justify; line-height: 1.65; }

/* ---- NEWS PAGE ---- */
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 1rem; }
.news-card { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; overflow: hidden; transition: border-color 0.2s, transform 0.2s; }
.news-card:hover { border-color: rgba(201,168,76,0.25); transform: translateY(-3px); }
.news-card--featured { grid-column: span 3; display: flex; gap: 0; align-items: stretch !important; }
.news-card--featured .news-img-placeholder { width: 40%; flex-shrink: 0; height: 100% !important; min-height: unset !important; }
.news-card--featured .news-img-placeholder img { height: 100% !important; min-height: 220px !important; object-fit: cover !important; }
.news-img-placeholder { background: linear-gradient(135deg, #1A2E42, #243B55); height: 180px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.2); font-size: 0.8rem; }
.news-body { padding: 1.5rem; }
.news-tag { font-family: 'DM Sans', sans-serif; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #C9A84C; display: inline-block; margin-bottom: 0.35rem; }
.news-date { font-size: 0.75rem; color: rgba(255,255,255,0.3); display: block; margin-bottom: 0.6rem; }
.news-body h3 { font-size: 1rem; margin-bottom: 0.6rem; line-height: 1.4; }
.news-body h3 a { color: #fff; border: none; }
.news-body h3 a:hover { color: #C9A84C !important; }
.news-body p { font-size: 0.85rem; color: rgba(255,255,255,0.5); margin-bottom: 1rem; }

/* ---- FAQ PAGE ---- */
.faq-container { max-width: 820px; margin: 0 auto; }
.faq-group { margin-bottom: 3rem; }
.faq-group-title { font-family: 'DM Sans', sans-serif; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: #C9A84C; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 1px solid rgba(201,168,76,0.2); }
.faq-item { border-bottom: 1px solid rgba(255,255,255,0.07); overflow: hidden; }
.faq-question { width: 100%; background: none; border: none; color: #fff; font-family: 'DM Sans', sans-serif; font-size: 0.95rem; font-weight: 500; text-align: left; padding: 1.2rem 0; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; transition: color 0.2s; }
.faq-question:hover { color: #C9A84C; }
.faq-icon { font-size: 1.4rem; color: #C9A84C; flex-shrink: 0; transition: transform 0.25s; line-height: 1; }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-answer { display: none; padding: 0 0 1.25rem; }
.faq-answer p { font-size: 0.9rem; color: rgba(255,255,255,0.55); line-height: 1.8; margin: 0; }
.faq-item.open .faq-answer { display: block; }

/* ---- CONTACT PAGE ---- */
.contact-layout { margin-top: 1rem; }
.contact-form input,
.contact-form select,
.contact-form textarea { font-family: 'DM Sans', sans-serif; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
input[type="tel"] { width: 100% !important; min-width: 100% !important; max-width: 100% !important; display: block !important; box-sizing: border-box !important; }
.contact-info h3 { margin-bottom: 1.5rem; }
.contact-item { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.5rem; }
.contact-item .icon { color: #C9A84C; font-size: 1rem; width: 20px; flex-shrink: 0; margin-top: 0.25rem; }
.contact-item strong { display: block; font-size: 0.82rem; color: rgba(255,255,255,0.4); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.2rem; }
.contact-item p, .contact-item a { font-size: 0.92rem; color: rgba(255,255,255,0.7); margin: 0; border: none; }
.contact-item a:hover { color: #C9A84C !important; }
.map-placeholder { width: 100%; height: 200px; background: linear-gradient(135deg, #1A2E42, #243B55); border-radius: 10px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.2); font-size: 0.8rem; text-align: center; line-height: 1.6; }
.map-placeholder small { display: block; opacity: 0.6; margin-top: 0.3rem; }

/* =============================================
   WHITE BACKGROUND SECTIONS (.style-white)
   ============================================= */
.wrapper.style-white { background: #FFFFFF !important; }
.wrapper.style-white h2,
.wrapper.style-white h3,
.wrapper.style-white h4 { color: #0D1B2A !important; }
.wrapper.style-white p { color: #5A5A5A !important; }
.wrapper.style-white .eyebrow { color: #C9A84C !important; }
.wrapper.style-white header.major h2 { color: #0D1B2A !important; }

/* Process on white */
.wrapper.style-white .step-num { color: rgba(201,168,76,0.6) !important; }
.wrapper.style-white .process-step { background: #F8F7F4 !important; border: 1px solid #E5E0D8 !important; }
.wrapper.style-white .process-step:hover { border-color: rgba(201,168,76,0.4) !important; background: #fff !important; }
.wrapper.style-white .process-step h3 { color: #0D1B2A !important; }
.wrapper.style-white .process-step p { color: #5A5A5A !important; }

/* Testimonials on white */
.testi-section.style-white .testimonial-quote { color: #3a3a3a !important; font-style: italic; }
.testi-section.style-white .testimonial-card { background: #F8F7F4 !important; border: 1px solid #E5E0D8 !important; }
.testi-section.style-white .testimonial-card:hover { border-color: rgba(201,168,76,0.4) !important; background: #ffffff !important; }
.testi-section.style-white .testimonial-author strong { color: #0D1B2A !important; }
.testi-section.style-white .testimonial-author span { color: #8A8A8A !important; }
.testi-section.style-white .author-avatar { background: rgba(201,168,76,0.12) !important; border-color: rgba(201,168,76,0.35) !important; color: #C9A84C !important; }
.testi-section.style-white .eyebrow { color: #C9A84C !important; }
.testi-section.style-white h2 { color: #0D1B2A !important; }
.testi-section.style-white p { color: #5A5A5A !important; }
.testi-section.style-white .button { color: #0D1B2A !important; box-shadow: inset 0 0 0 1px #0D1B2A !important; }
.testi-section.style-white .button:hover { background: #0D1B2A !important; color: #ffffff !important; }

/* News on white */
.wrapper.style-white .news-body h3 a { color: #0D1B2A !important; }
.wrapper.style-white .news-body h3 a:hover { color: #C9A84C !important; }
.wrapper.style-white .news-body p { color: #5A5A5A !important; }
.wrapper.style-white .news-date { color: #8A8A8A !important; }
.wrapper.style-white .news-tag { color: #C9A84C !important; }
.wrapper.style-white .news-card { background: #F8F7F4 !important; border: 1px solid #E5E0D8 !important; }
.wrapper.style-white .news-card:hover { border-color: rgba(201,168,76,0.4) !important; background: #ffffff !important; }
.wrapper.style-white .news-img-placeholder { background: linear-gradient(135deg, #1A2E42, #243B55) !important; }

/* FAQ on white */
.wrapper.style-white .faq-group-title { color: #C9A84C !important; border-bottom-color: rgba(201,168,76,0.3) !important; }
.wrapper.style-white .faq-question { color: #0D1B2A !important; }
.wrapper.style-white .faq-question:hover { color: #C9A84C !important; }
.wrapper.style-white .faq-item.open .faq-question { color: #C9A84C !important; }
.wrapper.style-white .faq-item { border-bottom-color: #E5E0D8 !important; }
.wrapper.style-white .faq-answer p { color: #5A5A5A !important; }

/* Services on white */
.wrapper.style-white .service-block { background: #F8F7F4 !important; border-color: #E5E0D8 !important; }
.wrapper.style-white .service-block:hover { border-color: rgba(201,168,76,0.4) !important; background: #ffffff !important; }
.wrapper.style-white .service-block h3 { color: #0D1B2A !important; }
.wrapper.style-white .service-block p { color: #5A5A5A !important; }
.wrapper.style-white .service-block .icon.major { color: #C9A84C !important; }
.service-block .button.small.sidebar-btn { color: #0D1B2A !important; background: transparent !important; box-shadow: inset 0 0 0 1px #0D1B2A !important; }
.service-block .button.small.sidebar-btn:hover { background: #0D1B2A !important; color: #ffffff !important; box-shadow: none !important; }

/* Contact on white */
.wrapper.style-white .contact-layout h3 { color: #0D1B2A !important; }
.wrapper.style-white input,
.wrapper.style-white select,
.wrapper.style-white textarea { background: #ffffff !important; border: 1px solid #E5E0D8 !important; color: #2C2C2C !important; }
.wrapper.style-white input::placeholder,
.wrapper.style-white textarea::placeholder { color: #8A8A8A !important; }
.wrapper.style-white input:focus,
.wrapper.style-white select:focus,
.wrapper.style-white textarea:focus { border-color: #C9A84C !important; outline: none !important; }
.wrapper.style-white .contact-item strong { color: #8A8A8A !important; }
.wrapper.style-white .contact-item p,
.wrapper.style-white .contact-item a { color: #2C2C2C !important; }
.wrapper.style-white .contact-item a:hover { color: #C9A84C !important; }
.wrapper.style-white .map-placeholder { background: linear-gradient(135deg, #1A2E42, #243B55) !important; }
.wrapper.style-white input[type="submit"].primary,
.wrapper.style-white input[type="submit"].primary.fit { background-color: #C9A84C !important; color: #0D1B2A !important; box-shadow: none !important; border: none !important; font-weight: 600 !important; }
.wrapper.style-white input[type="submit"].primary:hover { background-color: #E2C27A !important; color: #0D1B2A !important; }

/* Buttons on white */
.wrapper.style-white .button:hover,
.wrapper.style-white .button:active { background: #0D1B2A !important; color: #ffffff !important; box-shadow: none !important; }
.wrapper.style-white .wa-cta:hover { background: #1ebe5d !important; color: #ffffff !important; }
.wrapper.style-white .button.primary { background: #C9A84C !important; color: #0D1B2A !important; box-shadow: none !important; }
.wrapper.style-white .button.primary:hover { background: #E2C27A !important; color: #0D1B2A !important; }

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 980px) {
  .services-list { grid-template-columns: 1fr; }
  .testimonials-grid,
  .testimonials-grid--large,
  .news-grid { grid-template-columns: 1fr 1fr; }
  .news-card--featured { grid-column: span 2; flex-direction: column; }
  .news-card--featured .news-img-placeholder { width: 100%; }
}
@media (max-width: 640px) {
  .testimonials-grid,
  .testimonials-grid--large,
  .news-grid { grid-template-columns: 1fr; }
  .news-card--featured { grid-column: span 1; }
  .trust-divider { display: none; }
  .trust-item { padding: 0.5rem 1rem; }
  .hero-actions { flex-direction: column; }
  .hero-actions .button { text-align: center; }
  .service-block { flex-direction: column; gap: 1rem; }
  .process-steps .col-3 { margin-bottom: 1rem; }
  .topbar-inner > span { display: none; }
  .topbar-inner { justify-content: flex-end; }
  #banner .content { flex-direction: column !important; text-align: center !important; padding: 3em 1.5em !important; }
  #banner .content header { max-width: 100% !important; text-align: center !important; }
  #banner .content .image { display: none !important; }
}

.site-logo {
  height: 45px;
  width: auto;
  display: block;
}

.privacy-wrap strong { color: #0D1B2A; font-weight: 700; }
.privacy-highlight p { margin: 0; font-size: 0.88rem; }

.faq-answer strong { color: #2C2C2C; font-weight: 700; }

.style-white ul li { color: #2C2C2C; }
.style-white ul li strong { color: #0D1B2A; font-weight: 700; }
.wrapper.style-white p strong { color: #0D1B2A; font-weight: 700; }
#banner .eyebrow { white-space: nowrap; }

/* ── NEWS CARD: Read More button always visible ── */
.news-card .button.small {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.5rem 1.25rem;
  font-size: 0.82rem;
  font-weight: 600;
  border-radius: 6px;
  border: 2px solid var(--navy, #0D1B2A);
  color: var(--navy, #0D1B2A) !important;
  background: transparent;
  transition: all 0.25s ease;
  line-height: 1.4;
  height: auto;
}

.news-card .button.small:hover {
  background: var(--navy, #0D1B2A);
  color: #fff !important;
  transform: translateY(-1px);
}

.news-card--featured .button.small {
  border-color: var(--gold, #C9A84C);
  color: var(--gold, #C9A84C) !important;
}

.news-card--featured .button.small:hover {
  background: var(--gold, #C9A84C);
  color: var(--navy, #0D1B2A) !important;
}
/* ── MOBILE HERO FIX ── */
.mobile-lang-btn { display: none; }

@media screen and (max-width: 736px) {
  /* Hide topbar - fixes hero gap */
  .topbar { display: none !important; }

  /* Fix hero vertical centering */
  #banner:before { display: none !important; }
  #banner .content {
    display: block !important;
    padding: 5.5em 1.5em 3em !important;
    text-align: center !important;
  }
  #banner .eyebrow {
    white-space: normal !important;
    font-size: 0.65rem !important;
    letter-spacing: 0.12em !important;
    text-align: center !important;
  }

  /* BM button - sits right side of #titleBar (44px tall) */
  .mobile-lang-btn {
    display: block !important;
    position: fixed !important;
    top: 11px !important;
    right: 1rem !important;
    z-index: 10003 !important;
    border: 1px solid rgba(201,168,76,0.4) !important;
    background: rgba(201,168,76,0.1) !important;
    color: #C9A84C !important;
    padding: 0.18rem 0.6rem !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    font-size: 0.72rem !important;
    font-family: 'DM Sans', sans-serif !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
  }

  /* Global container */
  .container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  /* Wrapper — neutralise Landed's horizontal padding */
  .wrapper {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  /* Row — cancel Landed's negative margin-left and child padding-left */
  .row {
    margin-left: 0 !important;
  }
  .row > * {
    padding-left: 0 !important;
  }

  /* Service blocks */
  .service-block {
    padding: 1.5rem !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .service-block .button.small {
    padding: 0.6rem 1.5rem !important;
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
  .services-list {
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Testimonial cards */
  .testimonial-card {
    padding: 1.5rem !important;
  }

  /* News cards */
  .news-body {
    padding: 1.25rem !important;
  }

  /* FAQ */
  .faq-question {
    padding: 1rem 0 !important;
  }
  .faq-answer {
    padding: 0 0 1rem !important;
  }

  /* Process steps */
  .process-steps .col-3 {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 1.25rem !important;
  }
  .process-step {
    padding: 1.5rem 1.25rem !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Contact layout */
  .contact-item {
    padding: 0 !important;
    gap: 0.75rem !important;
  }

  /* All small buttons inside cards */
  .button.small {
    padding: 0.6rem 1.25rem !important;
    height: auto !important;
    line-height: 1.4 !important;
    white-space: normal !important;
  }

  /* All general buttons in sections */
  .wrapper .button,
  .testi-section .button,
  .cta-banner .button,
  .cta-actions .button,
  ul.actions .button,
  ul.actions a.button,
  footer.major .button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
    padding: 0.85rem 1.5rem !important;
    height: auto !important;
    line-height: 1.5 !important;
    white-space: normal !important;
  }

  /* CTA action buttons specifically */
  .cta-actions {
    flex-direction: column !important;
    width: 100% !important;
    gap: 0.75rem !important;
  }

  /* Read All / View All type buttons centered */
  div[style*="text-align:center"] .button,
  div[style*="text-align: center"] .button {
    display: inline-block !important;
    min-width: 80% !important;
    text-align: center !important;
    padding: 0.85rem 1.5rem !important;
    height: auto !important;
    line-height: 1.5 !important;
  }

  /* ul.actions full width */
  ul.actions {
    flex-direction: column !important;
    width: 100% !important;
    margin-left: 0 !important;
  }
  ul.actions li {
    width: 100% !important;
    padding-left: 0 !important;
  }
  ul.actions li .button {
    width: 100% !important;
  }

  /* titleBar site logo — sized via Landed's injected img, no pseudo-element needed */
  #titleBar .title {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #titleBar .title img {
    height: 24px !important;
    width: auto !important;
    display: inline-block !important;
    vertical-align: middle !important;
  }
  #titleBar .title a::before {
    display: none !important;
    content: none !important;
  }
}