/* ═══════════════════════════════════════════════════════
   AUTO SCAN GE v3.2 — High specificity, mobile-first
═══════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800;900&family=Barlow:wght@300;400;500;600&display=swap');

:root {
  --as-primary:        #0B2545;
  --as-accent:         #E63946;
  --as-highlight:      #F4A261;
  --as-bg:             #F8F9FA;
  --as-text:           #1A1F36;
  --as-white:          #FFFFFF;
  --as-grey-100:       #F1F3F5;
  --as-grey-200:       #E9ECEF;
  --as-grey-400:       #ADB5BD;
  --as-grey-600:       #6C757D;
  --as-font-head:      'Barlow Condensed', sans-serif;
  --as-font-body:      'Barlow', sans-serif;
  --as-font-base:      17px;
  --as-font-hero:      80px;
  --as-font-title:     42px;
  --as-font-card:      18px;
  --as-font-body-size: 16px;
  --as-radius:         14px;
  --as-shadow:         0 4px 24px rgba(0,0,0,.08);
  --as-shadow-lg:      0 12px 48px rgba(0,0,0,.15);
}

/* ── MOBILE FULL WHITE BACKGROUND FIX ── */
html body,
html body.page,
html body.elementor-page,
html body.elementor-default,
html .elementor-section-wrap,
html .elementor-container {
  background-color: #ffffff !important;
}
html body {
  font-family: var(--as-font-body) !important;
  font-size: var(--as-font-base) !important;
  color: var(--as-text) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── OUR WRAPPERS ── */
.as-page, .as-home { color: var(--as-text); font-family: var(--as-font-body) !important; }
.as-page *, .as-home * { box-sizing: border-box; }
.as-page a { text-decoration: none; }
.as-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; width: 100%; }
.as-page { padding-bottom: 80px; }
.as-home { padding-bottom: 0; }

/* ── SECTION HEAD ── */
.as-section-head { text-align: center; margin-bottom: 48px; }
.as-section-tag {
  display: inline-block; background: rgba(26,86,219,.1); color: #1A56DB;
  border: 1px solid rgba(26,86,219,.2); border-radius: 100px;
  padding: 5px 18px; font-size: .78rem !important; font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em; margin-bottom: 16px;
}
.as-section-tag--light { background: rgba(255,255,255,.15) !important; color: rgba(255,255,255,.9) !important; border-color: rgba(255,255,255,.25) !important; }
.as-section-title {
  font-family: var(--as-font-head) !important; font-weight: 900 !important;
  font-size: var(--as-font-title) !important; color: var(--as-text) !important;
  line-height: 1.05 !important; margin-bottom: 14px !important;
}
.as-section-title--white { color: #fff !important; }
.as-section-sub {
  color: var(--as-grey-600); font-size: calc(var(--as-font-body-size) * 1.05);
  line-height: 1.7; max-width: 600px; margin: 0 auto;
}

/* ═══════════════════════════════════════
   HERO
═══════════════════════════════════════ */
.as-hero {
  position: relative; min-height: 92vh;
  display: flex !important; align-items: center; overflow: hidden;
  background: linear-gradient(135deg,#060F1F 0%,#0B2545 55%,#0D3B7A 100%) !important;
}
.as-hero__bg { position: absolute; inset: 0; background: linear-gradient(135deg,#060F1F 0%,#0B2545 55%,#0D3B7A 100%); }
.as-hero__glow { position: absolute; top:-20%; right:-10%; width:600px; height:600px; background:radial-gradient(circle,rgba(230,57,70,.2) 0%,transparent 70%); border-radius:50%; animation:asGlowPulse 4s ease-in-out infinite; }
.as-hero__content { position: relative; z-index: 2; padding: 110px 20px 60px; max-width: 860px; animation: asFadeUp .7s ease both; width: 100%; }
.as-hero__badge { display: inline-flex; align-items: center; gap: 10px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.85); border: 1px solid rgba(255,255,255,.15); border-radius: 100px; padding: 8px 20px; font-size: calc(var(--as-font-body-size) * .88) !important; font-weight: 500; margin-bottom: 28px; }
.as-badge-pulse { width: 8px; height: 8px; border-radius: 50%; background: #4ADE80; flex-shrink: 0; animation: asBadgePulse 2s infinite; }
.as-hero__title {
  font-family: var(--as-font-head) !important; font-weight: 900 !important;
  font-size: var(--as-font-hero) !important; color: #fff !important;
  line-height: .92 !important; letter-spacing: .01em;
  margin-bottom: 24px !important; text-transform: uppercase; word-break: break-word;
}
.as-hero__accent { color: var(--as-accent) !important; }
.as-hero__sub { font-size: calc(var(--as-font-body-size) * 1.15); color: rgba(255,255,255,.78); line-height: 1.75; margin-bottom: 40px; max-width: 580px; }
.as-hero__actions { display: flex !important; gap: 14px; flex-wrap: wrap; margin-bottom: 32px; }
.as-hero__socials { display: flex !important; gap: 10px; flex-wrap: wrap; }
.as-hero__scroll { position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%); z-index: 2; }
.as-hero__scroll span { display: block; width: 2px; height: 44px; background: linear-gradient(to bottom,rgba(255,255,255,.6),transparent); margin: auto; animation: asScroll 1.8s ease-in-out infinite; }

/* ── HERO BUTTONS ── */
.as-hero-btn {
  display: inline-flex !important; align-items: center !important; gap: 9px;
  padding: 15px 30px; border-radius: 10px;
  font-family: var(--as-font-body) !important; font-weight: 700 !important;
  font-size: calc(var(--as-font-body-size) * 1.05) !important;
  cursor: pointer; border: 2px solid transparent; transition: all .22s ease;
  text-decoration: none !important; line-height: 1 !important;
}
.as-hero-btn--primary { background: var(--as-accent) !important; color: #fff !important; border-color: var(--as-accent); }
.as-hero-btn--primary:hover { background: #c9313d !important; color: #fff !important; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(230,57,70,.4); }
.as-hero-btn--wa { background: #25D366 !important; color: #fff !important; border-color: #25D366; }
.as-hero-btn--wa:hover { background: #1ebe5c !important; color: #fff !important; transform: translateY(-2px); }
.as-hero-btn--ghost { background: rgba(255,255,255,.1) !important; color: #fff !important; border-color: rgba(255,255,255,.4); }
.as-hero-btn--ghost:hover { background: rgba(255,255,255,.2) !important; color: #fff !important; }
.as-social-pill { display: inline-flex !important; align-items: center; gap: 6px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.85) !important; border-radius: 100px; padding: 6px 14px; font-size: calc(var(--as-font-body-size) * .85) !important; font-weight: 500; transition: all .2s; text-decoration: none !important; }
.as-social-pill:hover { background: rgba(255,255,255,.2); color: #fff !important; }

/* ═══════════════════════════════════════
   STATS BAR
═══════════════════════════════════════ */
.as-stats-bar { background: #fff !important; border-top: 3px solid var(--as-accent); box-shadow: 0 4px 20px rgba(0,0,0,.08); }
.as-stats-bar__grid { display: grid !important; grid-template-columns: repeat(4,1fr); }
.as-stat-item { text-align: center; padding: 28px 16px; border-right: 1px solid var(--as-grey-200); }
.as-stat-item:last-child { border-right: none; }
.as-stat-item__num { display: flex !important; align-items: baseline; justify-content: center; gap: 2px; margin-bottom: 6px; }
.as-counter { font-family: var(--as-font-head) !important; font-weight: 900 !important; font-size: calc(var(--as-font-title) * .85) !important; color: var(--as-primary) !important; line-height: 1 !important; }
.as-stat-item__unit { font-family: var(--as-font-head) !important; font-size: calc(var(--as-font-title) * .6) !important; font-weight: 800 !important; color: var(--as-accent) !important; }
.as-stat-item__label { font-size: calc(var(--as-font-body-size) * .85); color: var(--as-grey-600); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }

/* ═══════════════════════════════════════
   SERVICES GRID
═══════════════════════════════════════ */
.as-services-section { padding: 80px 0; }
.as-svc-grid { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 20px !important; }
.as-svc-card {
  background: #fff !important; border: 1px solid var(--as-grey-200) !important;
  border-radius: var(--as-radius) !important; padding: 24px 20px !important;
  transition: all .25s ease; display: flex !important; flex-direction: column !important;
  gap: 10px; position: relative; overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.as-svc-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--svc-color, var(--as-primary)); transform: scaleX(0); transition: transform .25s ease; }
.as-svc-card:hover { transform: translateY(-6px) !important; box-shadow: var(--as-shadow-lg) !important; border-color: transparent !important; }
.as-svc-card:hover::before { transform: scaleX(1); }
.as-svc-icon-wrap { width: 56px !important; height: 56px !important; border-radius: 14px !important; background: rgba(26,86,219,.09) !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0; transition: all .25s ease; }
.as-svc-card:hover .as-svc-icon-wrap { background: var(--svc-color, var(--as-primary)) !important; }
.as-svc-icon { color: var(--svc-color, var(--as-primary)); transition: color .25s ease; display: flex !important; }
.as-svc-card:hover .as-svc-icon { color: #fff; }
.as-svc-tool-tag { font-size: calc(var(--as-font-body-size) * .75) !important; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--svc-color, var(--as-primary)) !important; background: rgba(26,86,219,.07); padding: 3px 9px; border-radius: 4px; display: inline-block !important; width: fit-content; }
.as-svc-name { font-family: var(--as-font-head) !important; font-weight: 700 !important; font-size: var(--as-font-card) !important; color: var(--as-text) !important; line-height: 1.2 !important; }
.as-svc-desc { color: var(--as-grey-600) !important; font-size: calc(var(--as-font-body-size) * .93) !important; line-height: 1.6; flex: 1; }
.as-svc-link { display: inline-flex !important; align-items: center; gap: 6px; font-size: calc(var(--as-font-body-size) * .9) !important; font-weight: 700; color: var(--svc-color, var(--as-primary)) !important; text-decoration: none !important; margin-top: 4px; transition: gap .2s; }
.as-svc-link:hover { gap: 10px; }

/* ═══════════════════════════════════════
   WHY SECTION
═══════════════════════════════════════ */
.as-why-section { background: linear-gradient(135deg,#060F1F 0%,#0B2545 100%) !important; padding: 80px 0; }
.as-why-inner { display: grid !important; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.as-why-text p { color: rgba(255,255,255,.75); font-size: calc(var(--as-font-body-size) * 1.05); line-height: 1.7; margin-bottom: 32px; }
.as-why-cards { display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px; }
.as-why-card { background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; padding: 20px; display: flex !important; align-items: flex-start; gap: 14px; transition: all .22s ease; }
.as-why-card:hover { background: rgba(255,255,255,.12) !important; }
.as-why-card__icon { width: 44px; height: 44px; border-radius: 12px; background: rgba(230,57,70,.2) !important; color: #E63946; display: flex !important; align-items: center; justify-content: center; flex-shrink: 0; }
.as-why-card h4 { font-family: var(--as-font-head) !important; font-weight: 700 !important; font-size: calc(var(--as-font-body-size) * 1.05) !important; color: #fff !important; margin-bottom: 4px !important; }
.as-why-card p { font-size: calc(var(--as-font-body-size) * .85) !important; color: rgba(255,255,255,.62) !important; line-height: 1.55 !important; margin: 0 !important; }

/* ═══════════════════════════════════════
   TOOLS STRIP
═══════════════════════════════════════ */
.as-tools-strip { background: var(--as-primary) !important; padding: 18px 0; }
.as-tools-strip__inner { display: flex !important; align-items: center; gap: 20px; flex-wrap: wrap; }
.as-tools-strip__label { color: rgba(255,255,255,.45); font-size: calc(var(--as-font-body-size) * .78); font-weight: 700; text-transform: uppercase; letter-spacing: .1em; white-space: nowrap; flex-shrink: 0; }
.as-tools-track { display: flex !important; flex-wrap: wrap; gap: 8px; }
.as-tool-chip { display: inline-flex !important; align-items: center; gap: 6px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.8) !important; border-radius: 100px; padding: 6px 16px; font-size: calc(var(--as-font-body-size) * .82); font-weight: 600; white-space: nowrap; }

/* ═══════════════════════════════════════
   CTA BOX
═══════════════════════════════════════ */
.as-cta-section { padding: 60px 0; }
.as-cta-box { background: linear-gradient(135deg,var(--as-primary),#1355A0) !important; border-radius: 20px; padding: 52px 56px; display: flex !important; align-items: center; gap: 36px; flex-wrap: wrap; box-shadow: 0 16px 64px rgba(11,37,69,.3); }
.as-cta-box__icon { color: rgba(255,255,255,.2); flex-shrink: 0; }
.as-cta-box__text { flex: 1; min-width: 260px; }
.as-cta-box__text h2 { font-family: var(--as-font-head) !important; font-weight: 800 !important; font-size: calc(var(--as-font-title) * .8) !important; color: #fff !important; margin-bottom: 10px !important; line-height: 1.1 !important; }
.as-cta-box__text p { color: rgba(255,255,255,.72) !important; font-size: calc(var(--as-font-body-size) * 1.05); line-height: 1.6; margin: 0 !important; }
.as-cta-box__btns { display: flex !important; gap: 12px; flex-wrap: wrap; flex-shrink: 0; }
.as-cta-btn { display: inline-flex !important; align-items: center; gap: 8px; padding: 15px 28px; border-radius: 10px; font-weight: 700 !important; font-size: calc(var(--as-font-body-size) * 1.0) !important; cursor: pointer; transition: all .22s ease; text-decoration: none !important; line-height: 1 !important; background: var(--as-accent) !important; color: #fff !important; border: 2px solid var(--as-accent); }
.as-cta-btn:hover { background: #c9313d !important; color: #fff !important; transform: translateY(-2px); }
.as-cta-btn--outline { background: transparent !important; border-color: rgba(255,255,255,.5) !important; color: #fff !important; }
.as-cta-btn--outline:hover { background: rgba(255,255,255,.12) !important; border-color: #fff !important; color: #fff !important; }

/* ═══════════════════════════════════════
   PRICING
═══════════════════════════════════════ */
.as-pricing-grid { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 24px; margin-bottom: 28px; }
.as-plan-card { background: #fff !important; border: 2px solid var(--as-grey-200); border-radius: var(--as-radius); padding: 36px 28px; position: relative; transition: all .25s ease; }
.as-plan-card:hover { box-shadow: var(--as-shadow-lg); }
.as-plan-card--featured { border-color: var(--as-accent) !important; transform: scale(1.04); box-shadow: var(--as-shadow-lg); }
.as-plan-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--as-accent); color: #fff !important; font-size: calc(var(--as-font-body-size) * .82); font-weight: 700; padding: 5px 18px; border-radius: 100px; white-space: nowrap; letter-spacing: .04em; }
.as-plan-head h3 { font-family: var(--as-font-head) !important; font-weight: 700 !important; font-size: calc(var(--as-font-card) * 1.1) !important; margin-bottom: 14px !important; color: var(--as-text) !important; }
.as-plan-price { display: flex !important; align-items: flex-end; gap: 4px; margin-bottom: 24px; }
.as-plan-num { font-family: var(--as-font-head) !important; font-weight: 900 !important; font-size: calc(var(--as-font-title) * .9) !important; color: var(--as-primary) !important; line-height: 1 !important; }
.as-plan-cur { font-family: var(--as-font-head) !important; font-size: calc(var(--as-font-title) * .5) !important; color: var(--as-grey-400) !important; margin-bottom: 6px; }
.as-plan-features { list-style: none !important; padding: 0 !important; margin-bottom: 28px !important; }
.as-plan-features li { display: flex !important; align-items: center; gap: 8px; padding: 9px 0 !important; border-bottom: 1px solid var(--as-grey-100); font-size: calc(var(--as-font-body-size) * .97) !important; color: var(--as-text) !important; }
.as-plan-features li:last-child { border-bottom: none; }
.as-plan-features svg { color: #057A55; flex-shrink: 0; }
.as-plan-btn { display: block !important; width: 100%; text-align: center; padding: 14px; border-radius: 10px; font-weight: 700 !important; font-size: calc(var(--as-font-body-size) * 1.0) !important; background: var(--as-primary) !important; color: #fff !important; text-decoration: none !important; transition: all .22s ease; border: none; cursor: pointer; }
.as-plan-card--featured .as-plan-btn { background: var(--as-accent) !important; }
.as-plan-btn:hover { filter: brightness(1.15); color: #fff !important; transform: translateY(-1px); }
.as-pricing-note { text-align: center; color: var(--as-grey-600); font-size: calc(var(--as-font-body-size) * .88); margin-top: 8px; }

/* ═══════════════════════════════════════
   GALLERY
═══════════════════════════════════════ */
.as-gallery-filter { display: flex !important; gap: 10px; justify-content: center; margin-bottom: 32px; flex-wrap: wrap; }
.as-gf-btn { padding: 9px 24px; border-radius: 100px; border: 2px solid var(--as-grey-200); background: #fff; cursor: pointer; font-weight: 600; font-size: calc(var(--as-font-body-size) * .92); transition: all .2s; color: var(--as-grey-600); }
.as-gf-btn.active,.as-gf-btn:hover { background: var(--as-primary) !important; border-color: var(--as-primary); color: #fff !important; }
.as-gallery-grid { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 18px; }
.as-gallery-item { border-radius: var(--as-radius); overflow: hidden; transition: transform .25s ease; }
.as-gallery-item:hover { transform: scale(1.02); }
.as-gallery-item.as-hidden { display: none !important; }
.as-gallery-thumb { aspect-ratio: 4/3; position: relative; display: flex !important; align-items: center; justify-content: center; overflow: hidden; }
.as-gallery-ico { color: rgba(255,255,255,.4); z-index: 1; }
.as-gallery-over { position: absolute; inset: 0; background: rgba(0,0,0,.65); display: flex !important; align-items: center; justify-content: center; opacity: 0; transition: opacity .25s; padding: 20px; text-align: center; }
.as-gallery-over p { color: #fff !important; font-weight: 600; font-size: calc(var(--as-font-body-size) * .95) !important; margin: 0 !important; }
.as-gallery-item:hover .as-gallery-over { opacity: 1; }
.as-gallery-note { margin-top: 24px; background: var(--as-grey-100); border-radius: 10px; padding: 14px 20px; text-align: center; color: var(--as-grey-600); font-size: calc(var(--as-font-body-size) * .88); display: flex !important; align-items: center; justify-content: center; gap: 8px; }

/* ═══════════════════════════════════════
   BOOKING
═══════════════════════════════════════ */
.as-booking-wrap { display: grid !important; grid-template-columns: 1fr 360px; gap: 48px; align-items: start; margin-top: 8px; }
.as-booking-form { background: var(--as-grey-100) !important; border: 1px solid var(--as-grey-200); border-radius: var(--as-radius); padding: 36px; }
.as-fg { margin-bottom: 18px; }
.as-fg label { display: block; font-weight: 700; font-size: calc(var(--as-font-body-size) * .82); color: var(--as-text); margin-bottom: 6px; text-transform: uppercase; letter-spacing: .05em; }
.as-fg input,.as-fg select,.as-fg textarea { width: 100% !important; padding: 14px 16px; border: 2px solid var(--as-grey-200); border-radius: 10px; font-size: var(--as-font-body-size) !important; color: var(--as-text); background: #fff !important; outline: none; transition: all .2s; }
.as-fg input:focus,.as-fg select:focus,.as-fg textarea:focus { border-color: var(--as-primary) !important; box-shadow: 0 0 0 3px rgba(11,37,69,.1); }
.as-fg textarea { resize: vertical; min-height: 100px; }
.as-form-submit { width: 100% !important; display: flex !important; align-items: center; justify-content: center; gap: 10px; padding: 16px; border-radius: 10px; background: var(--as-primary) !important; color: #fff !important; font-family: var(--as-font-head) !important; font-size: calc(var(--as-font-card) * 1.1) !important; font-weight: 700 !important; border: none; cursor: pointer; transition: all .22s ease; margin-top: 4px; }
.as-form-submit:hover { background: #0D3B7A !important; transform: translateY(-1px); }
.as-form-response { margin-top: 14px; padding: 13px 16px; border-radius: 10px; font-weight: 500; font-size: calc(var(--as-font-body-size) * .95); }
.as-form-response.success { background: #ECFDF5; color: #065F46; border: 1px solid #A7F3D0; }
.as-form-response.error   { background: #FEF2F2; color: #991B1B; border: 1px solid #FECACA; }
.as-booking-info-col { display: flex !important; flex-direction: column; gap: 14px; }
.as-info-card { background: #fff !important; border: 1px solid var(--as-grey-200); border-radius: var(--as-radius); padding: 20px 24px; display: flex !important; align-items: flex-start; gap: 16px; transition: all .2s; }
.as-info-card:hover { box-shadow: var(--as-shadow); transform: translateX(4px); }
.as-info-card__icon { width: 46px; height: 46px; border-radius: 12px; background: rgba(11,37,69,.07); color: var(--as-primary); display: flex !important; align-items: center; justify-content: center; flex-shrink: 0; }
.as-info-card h4 { font-family: var(--as-font-head) !important; font-weight: 700 !important; font-size: calc(var(--as-font-body-size) * 1.0) !important; color: var(--as-primary) !important; margin-bottom: 3px !important; }
.as-info-card p,.as-info-card a { color: var(--as-grey-600) !important; font-size: calc(var(--as-font-body-size) * .92) !important; font-weight: 500; }
.as-info-card a:hover { color: var(--as-primary) !important; }
.as-wa-btn { display: flex !important; align-items: center; justify-content: center; gap: 10px; background: #25D366 !important; color: #fff !important; border-radius: 12px; padding: 16px; font-weight: 700 !important; font-size: calc(var(--as-font-body-size) * 1.0) !important; text-decoration: none !important; transition: all .22s ease; }
.as-wa-btn:hover { background: #1ebe5c !important; color: #fff !important; transform: translateY(-2px); }

/* ═══════════════════════════════════════
   CONTACT
═══════════════════════════════════════ */
.as-contact-wrap { display: grid !important; grid-template-columns: 380px 1fr; gap: 48px; margin-top: 8px; }
.as-contact-left { display: flex !important; flex-direction: column; gap: 14px; }
.as-contact-socials { display: flex !important; gap: 10px; flex-wrap: wrap; margin-top: 4px; }
.as-social-btn { display: inline-flex !important; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 10px; border: 2px solid var(--as-grey-200); background: #fff; color: var(--as-text) !important; font-size: calc(var(--as-font-body-size) * .9); font-weight: 600; text-decoration: none !important; transition: all .2s; }
.as-social-btn:hover { border-color: var(--as-primary); color: var(--as-primary) !important; }
.as-social-btn--wa { background: #25D366 !important; border-color: #25D366; color: #fff !important; }
.as-social-btn--wa:hover { background: #1ebe5c !important; border-color: #1ebe5c; color: #fff !important; }
.as-contact-map { border-radius: var(--as-radius); overflow: hidden; min-height: 400px; }
.as-contact-map iframe { width: 100%; height: 100%; min-height: 400px; border: none; display: block; }
.as-map-placeholder { display: flex !important; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; border: 2px dashed var(--as-grey-200); border-radius: var(--as-radius); text-align: center; padding: 40px; color: var(--as-grey-600); }
.as-map-placeholder svg { color: var(--as-grey-400); margin-bottom: 16px; }
.as-map-placeholder p { font-size: calc(var(--as-font-body-size) * .95); line-height: 1.6; max-width: 280px; margin: 0; }

/* ═══════════════════════════════════════
   ANIMATIONS
═══════════════════════════════════════ */
@keyframes asFadeUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes asBadgePulse{0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.4)}70%{box-shadow:0 0 0 8px rgba(74,222,128,0)}}
@keyframes asGlowPulse{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}
@keyframes asScroll{0%,100%{opacity:0;transform:scaleY(0);transform-origin:top}30%{opacity:1;transform:scaleY(1);transform-origin:top}100%{opacity:0;transform:scaleY(0);transform-origin:bottom}}

/* ═══════════════════════════════════════
   MOBILE — Full white background + layout
═══════════════════════════════════════ */
@media(max-width:1100px){
  .as-svc-grid { grid-template-columns: repeat(2,1fr) !important; }
  .as-why-inner { grid-template-columns: 1fr !important; gap: 40px; }
}
@media(max-width:900px){
  .as-stats-bar__grid { grid-template-columns: repeat(2,1fr) !important; }
  .as-stat-item { border-right: none; border-bottom: 1px solid var(--as-grey-200); }
  .as-pricing-grid { grid-template-columns: 1fr !important; }
  .as-plan-card--featured { transform: none !important; }
  .as-booking-wrap { grid-template-columns: 1fr !important; }
  .as-contact-wrap { grid-template-columns: 1fr !important; }
  .as-why-cards { grid-template-columns: 1fr 1fr !important; }
  .as-cta-box { padding: 36px 28px; }
}
@media(max-width:768px){
  .as-svc-grid { grid-template-columns: repeat(2,1fr) !important; }
  .as-gallery-grid { grid-template-columns: repeat(2,1fr) !important; }
  .as-hero__content { padding: 90px 20px 48px; }
  .as-booking-form { padding: 22px; }
  .as-cta-box { flex-direction: column !important; text-align: center; }
  .as-cta-box__icon { display: none !important; }
  .as-cta-box__btns { width: 100%; justify-content: center; }
  /* MOBILE WHITE BACKGROUND */
  html, html body, html body.page, html .site, html .site-content, html .entry-content, html main, html article { background: #ffffff !important; background-color: #ffffff !important; }
  html .elementor-section, html .elementor-container, html .elementor-widget-wrap, html .elementor-widget-container { background: transparent !important; }
}
@media(max-width:540px){
  .as-svc-grid { grid-template-columns: 1fr !important; }
  .as-gallery-grid { grid-template-columns: 1fr !important; }
  .as-hero__actions { flex-direction: column !important; }
  .as-hero-btn { width: 100%; justify-content: center !important; }
  .as-stats-bar__grid { grid-template-columns: repeat(2,1fr) !important; }
  .as-section-title { font-size: calc(var(--as-font-title) * .75) !important; }
  .as-hero__title { font-size: calc(var(--as-font-hero) * .55) !important; }
  .as-why-cards { grid-template-columns: 1fr !important; }
  html, body { background: #fff !important; background-color: #fff !important; }
}
