:root {
  --wa: #00ad41;
  --wa-dark: #009738;
  --primary: #2b2c5a;
  --secondary: #f7ddba;
  --ink: #0f1020;
  --paper: #fffaf3;
  --muted: #6f708a;
}

* { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--ink); background: #fff;
}

/* Typography */
h1,h2,h3,h4 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  letter-spacing: .2px; color: var(--primary); margin: 0 0 .5rem;
  font-weight: 500;
}

p { line-height: 1.7; color: #222; margin: 0 0 1rem; }
a { color: var(--primary); text-decoration: none; }

/* Buttons */
a.button, button.primary {
  display:inline-block; padding:5px 10px;
  border-radius: 8px;
  background: var(--primary); color:#fff;
  border: 1px solid transparent;
  transition: .25s;
  font-weight: 600; letter-spacing:.2px;
}
a.button.alt {
  background: transparent; color: var(--primary); border-color: var(--primary);
}
a.button:hover, button.primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

/* Layout */
.container { width: min(1200px, 92%); margin: 0 auto; }

/* Header */
.site-header {
  position:sticky; top:0; z-index:10;
  backdrop-filter: blur(8px);
  background: rgba(247, 221, 186, .7);
  border-bottom: 1px solid rgba(43,44,90,.1);
}
.nav { display:flex; align-items:center; justify-content:space-between; padding: .9rem 0; }
.brand { display:flex; align-items:center; gap:.75rem; }
.brand img { height:70px; }
.nav a { margin-left:1rem; font-weight:600; color:#1c1d3c; }
.navabtn { color:#fff !important; background: #196500!important; }

/* Hero */
.hero {
  background-image: url("../assets/bg1.webp");
  background-size: cover;
}
.hero .inner {
  display:grid; grid-template-columns: 1.2fr .8fr; gap: 2rem;
  padding: 6rem 0;
}
.badge {
  display:inline-flex; gap:.5rem; align-items:center;
  padding: .4rem .8rem; border-radius:999px;
  border:1px solid rgba(43,44,90,.2); color:#313356;
  background: rgba(255,255,255,.7); font-size:.9rem;
}
.hero h1 { font-size: clamp(2.2rem, 4vw + 1rem, 3.6rem); }

/* Cards & forms */
.card {
  background:#fff; border:1px solid rgba(0,0,0,.08);
  border-radius: 18px; padding: 1.2rem;
  box-shadow: 0 8px 30px rgba(0,0,0,.06);
}
.form label { display:block; font-weight:600; margin:.3rem 0 .2rem; }
.form input, .form select, .form textarea {
  width:100%; padding:.8rem 1rem;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.15);
  outline: none;
}
.form .row { display:grid; grid-template-columns: 1fr 1fr; gap:.8rem; }

/* Sections */
.section { padding: 4rem 0; }
.section.alt { background: #0a1431; }
.section.dark { background: var(--primary); color: #fff; }
.grid-3 { display:grid; grid-template-columns: repeat(3, 1fr); gap:1.2rem; }
.grid-4 { display:grid; grid-template-columns: repeat(4, 1fr); gap:1.2rem; }
.card.service { padding:1.2rem; }
.card.service h3 { margin-bottom:.4rem; }
.gallery img {
  width:100%; height:260px; object-fit:cover; border-radius:14px;
}

/* KPIs */
.kpis { display:flex; gap:1.2rem; flex-wrap:wrap; }
.kpi {
  background:#fff; border:1px solid rgba(0,0,0,.08);
  border-radius:12px; padding:1rem 1.2rem; min-width:180px;
}

/* Footer */
.site-footer { background: #0e0f2a; color:#c7c8d9; padding: 3rem 0; }
.site-footer a { color:#e8e9ff; }
.footer-grid { display:grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap:1.2rem; }
.credits {
  text-align:center; color:#9a9cc0; font-size:.9rem;
  padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.1);
  margin-top:1rem;
}

/* Responsive */
@media (max-width: 980px) {
  .hero .inner { grid-template-columns: 1fr; padding: 3.2rem 0; }
  .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .form .row { grid-template-columns: 1fr; }
}
/* --- Section titles --- */
.section-title.center { text-align:center; margin-bottom: 1.2rem; }

/* --- Services centered with icons --- */
.service-centered { text-align:center; padding-top: 1.2rem; }
.service-icon {
  width:64px; height:64px; border-radius:50%;
  background: var(--secondary);
  display:flex; align-items:center; justify-content:center;
  margin: 0 auto .8rem;
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}
.service-icon svg { width:28px; height:28px; fill: var(--primary); }

/* --- Country cards with image --- */
.card.country { padding:0; overflow:hidden; }
.country-img { width:100%; object-fit:cover; display:block; }
.country-body { padding: 1rem 1.2rem; }

/* --- Feature split sections (image on right) --- */
.feature-split .split { 
  display:grid; grid-template-columns: 1.1fr .9fr; gap:2rem; align-items:center;
}
.feature-split .split-media img {
  width:100%; height:360px; object-fit:cover; border-radius:16px;
}
@media (max-width: 980px) {
  .feature-split .split { grid-template-columns: 1fr; }
  .feature-split .split-media img { height:240px; }
}

/* --- Tabs / Collapse --- */
.tabs { margin-top: 1rem; }
.tab-buttons { display:flex; justify-content:center; gap:.5rem; flex-wrap: wrap; margin-bottom: .8rem; }
.tab-btn {
  border:1px solid rgba(0,0,0,.12); background:#fff; color:#1c1d3c;
  padding:.55rem 1rem; border-radius:999px; cursor:pointer; font-weight:600;
}
.tab-btn.active { background: var(--primary); color:#fff; border-color: transparent; }
.tab-panels .tab-panel { display:none; }
.tab-panels .tab-panel.active { display:block; }
.tab-content { display:grid; grid-template-columns: 1fr 320px; gap:1rem; align-items:center; }
.tab-content img { width:100%; height:220px; object-fit:cover; border-radius:12px; }
@media (max-width: 820px) {
  .tab-content { grid-template-columns: 1fr; }
}

/* --- Process (hex look) --- */
.process-grid { 
  display:grid; grid-template-columns: repeat(3, 1fr); gap:1.2rem; margin-top: 1rem;
}
.process-step { text-align:center; background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:14px; padding:1rem; }
.hex {
  width:96px; height:110px; margin:0 auto .6rem;
  clip-path: polygon(25% 6%, 75% 6%, 100% 50%, 75% 94%, 25% 94%, 0 50%);
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:28px;
  box-shadow: 0 8px 20px rgba(0,0,0,.10);
}
.hex.gold { background:#f0b44b; }
.hex.teal { background:#4fb7b7; }
.hex.green{ background:#50b86a; }
.hex.blue { background:#5b6df6; }
.hex.red  { background:#e96363; }
.hex.purple{background:#8b6dee; }
@media (max-width: 980px) {
  .process-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .process-grid { grid-template-columns: 1fr; }
  .nav-links { display:none; }
}
/* --- Fix low-contrast headings inside .section.dark --- */
.section.dark h1, .section.dark h2, .section.dark h3, .section.dark h4,
.section.dark p { color: #fff; }

/* --- Why Choose: Numbered Pill Cards --- */
.why-pills .pill-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  margin-top: 1rem;
}
.why-pills .pill {
  position: relative;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 22px;
  padding: 3.2rem 1rem 1.2rem; /* extra top space for the number badge */
  text-align: center;
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
}
.why-pills .pill h3 { margin: .3rem 0 .4rem; font-size: 1.1rem; }
.why-pills .pill p { color: #555; font-size: .95rem; }

/* Number badge (circle) */
.why-pills .pill-number {
  position: absolute;
  top: -28px; left: 50%; transform: translateX(-50%);
  width: 56px; height: 56px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; color: #fff; font-size: 1rem;
  background: var(--primary);
  border: 4px solid #fff;
  box-shadow: 0 10px 18px rgba(0,0,0,.12);
}

/* Optional accent colors per card (subtle, luxury-friendly) */
.why-pills .pill-number.c1 { background: #2b2c5a; }   /* primary */
.why-pills .pill-number.c2 { background: #9c3d3d; }   /* deep red */
.why-pills .pill-number.c3 { background: #3f8f5b; }   /* deep green */
.why-pills .pill-number.c4 { background: #b58a2a; }   /* gold */
.why-pills .pill-number.c5 { background: #6b5aa3; }   /* violet */

/* Responsive */
@media (max-width: 1100px) {
  .why-pills .pill-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 680px) {
  .why-pills .pill-grid { grid-template-columns: 1fr; }
}

a.button.whatsapp {
  background: var(--wa);
  border-color: var(--wa);
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .7rem 1.1rem;
}
a.button.whatsapp:hover {
  background: var(--wa-dark);
  border-color: var(--wa-dark);
}
a.button.whatsapp svg {
  width: 18px;
  height: 18px;
  display: inline-block;
}

/* Remove padding on the hero card wrapper for slider */
.card.padless { padding: 0; }

/* Property slider */
.property-slider { position: relative; }
.property-slider .track {
  display: flex; gap: 1rem; overflow-x: auto;
  scroll-snap-type: x mandatory; padding: 1rem;
}
.property-card {
  flex: 0 0 360px; background: #fff; border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px; overflow: hidden; scroll-snap-align: start;
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
}
.property-card img { width: 100%; height: 200px; object-fit: cover; display:block; }
.property-card .body { padding: 1rem; }
.prop-title { margin: .6rem 0 .2rem; text-transform: uppercase; letter-spacing: .5px; }
.prop-sub { display:flex; align-items:center; gap:.35rem; color:#555; margin: 0 0 .6rem; }
.prop-sub svg { width:16px; height:16px; fill: var(--primary); opacity:.7; }
.prop-price { font-weight: 700; color: #b58a2a; margin: .3rem 0; }
.prop-price span { color: #8a8a8a; font-weight: 400; }
.prop-stats { display:grid; grid-template-columns: repeat(3,1fr); gap:.5rem; margin:.5rem 0; color:#222; }
.prop-stats div { display:flex; align-items:center; gap:.35rem; justify-content:center; }
.prop-stats svg { width:18px; height:18px; fill: var(--primary); opacity:.85; }
.prop-badge { text-align:center; color:#b58a2a; font-weight:700; margin:.2rem 0 .5rem; }

.prop-actions {
  display:flex; align-items:center; justify-content:space-between;
  padding:.7rem 1rem; border-top:1px solid rgba(0,0,0,.08); background:#faf9f7;
}
.prop-actions a.link { font-weight:600; }
.prop-actions .icons { display:flex; gap:.6rem; }
.prop-actions .icon-btn {
  width:36px; height:36px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid rgba(0,0,0,.1);
}
.icon-btn.mail svg { width:18px; height:18px; fill: var(--primary); }
.icon-btn.wa { background: var(--wa); border-color: var(--wa); }
.icon-btn.wa svg { width:18px; height:18px; fill:#fff; }

.property-slider .nav {
  position:absolute; top:50%; transform:translateY(-50%);
  width:40px; height:40px; border-radius:50%;
  background:#fff; border:1px solid rgba(0,0,0,.12);
  box-shadow:0 6px 16px rgba(0,0,0,.12);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
}
.property-slider .prev { left:-14px; }
.property-slider .next { right:-14px; }
.property-slider .nav svg { width:18px; height:18px; fill: var(--primary); }

@media (max-width: 980px) {
  .property-card { flex: 0 0 80%; }
  .property-slider .prev { left:6px; }
  .property-slider .next { right:6px; }
}
/* ---- Header over hero ---- */
.hero-header {
  position: absolute; top: 0; left: 0; right: 0; z-index: 20;
  background: transparent; border-bottom: 0;
}
.hero-header .nav { padding: 1rem 0; }
.hero-header .nav a { color: #eef1ff; }
.hero-header .nav a:hover { opacity: .9; }
.hero-header .brand img { height: 60px; filter: drop-shadow(0 2px 6px rgba(0,0,0,.25)); }
.hero-header .nav-list { border:1px solid rgba(255,255,255,.25); padding:.45rem .8rem; border-radius:999px; }
.burger { display:none; background:none; border:0; cursor:pointer; margin-left:.6rem; }
.burger span { display:block; width:22px; height:2px; background:#fff; margin:4px 0; }

/* mobile nav */
@media (max-width: 980px) {
  .hero-header .nav-links { 
    position: absolute; top: 64px; right: 12px; background: rgba(13,22,58,.98);
    padding: .8rem; border-radius: 12px; display:none; flex-direction: column; gap:.3rem;
  }
  .hero-header .nav-links.open { display:flex; }
  .hero-header .nav a { margin: .3rem 0; }
  .burger { display:block; }
}

/* ---- New hero ---- */
.big-hero { position: relative; padding: 7.5rem 0 0; overflow: hidden; }
.big-hero .hero-bg {
  position:absolute; inset:0; background-size: cover; background-position:center;
}
.big-hero .hero-inner { position: relative; z-index: 1; padding: 2rem 0 5rem; }
.big-hero .hero-copy h1 { color:#fff; font-size: clamp(2.2rem, 3.8vw + 1rem, 4rem); }
.big-hero .hero-copy .sub { color: #d9def7; margin:.6rem 0 1rem; }
.big-hero .cta-row { display:flex; gap:.6rem; flex-wrap:wrap; }
.button.dark {
  background: #0f1b46; border-color:#0f1b46; color:#fff;
}
.button.gold {
  background:#f7ddba; color:#1f2343; border-color:transparent; font-weight:700; text-align: center;
}

/* info pill */
.info-pill {
  margin-top: 1.1rem; color:#182148; background:#fff;
  display:inline-block; padding:.8rem 1rem; border-radius:14px;
  box-shadow:0 6px 24px rgba(0,0,0,.12);
}

/* cards band */
.hero-cards { position: relative; z-index: 2; margin-top: -48px; }
.cards-grid {
  display:grid; grid-template-columns: 1.2fr .8fr; gap:1rem; align-items: stretch;
}
.mini-cards { display: flex;gap: 1rem;justify-content: space-evenly; }
.mini-card { background:#0f1b46; color:#fff; border-radius:16px; overflow:hidden; box-shadow:0 10px 28px rgba(0,0,0,.18); }
.mini-card img { width:100%; height:120px; object-fit:cover; display:block; opacity:.9; }
.mini-body { padding:8px 20px; }
.mini-badge { display:inline-block; background:#f7ddba; color:#1e2245; padding:.25rem .6rem; border-radius: 8px; font-weight:700; }
.mini-card h3 { color:#fff; margin:0 0 3px; }
.mini-card p { color:#d5d9f7; margin:0 0 2px; }

/* visa card */
.visa-card {
  background:#fff; border-radius:8px; padding:1.2rem 1.2rem 1.1rem;
  border:1px solid rgba(0,0,0,.08); box-shadow:0 10px 28px rgba(0,0,0,.10);
}
.visa-card h3 { margin: .2rem 0 .7rem; color:#1b2048; }
.visa-card ul { margin:0 0 1rem 1rem; color:#444; }
.visa-card li { margin:.25rem 0; }
.visa-cta { display:flex; gap:.6rem; flex-wrap:wrap; }

/* responsive */
@media (max-width: 980px) {
  .big-hero { padding-top: 5.6rem; }
  .big-hero .hero-inner { padding: 3.8rem 0 4.4rem; }
  .cards-grid { grid-template-columns: 1fr; }
  .mini-cards { width:100%; display:block; }
  .mini-card { margin-bottom:10px; }
  .hero-cards { margin-top: -28px; }
}


/* Product Info */
.product-info .prod-head {
  display:flex; align-items:flex-end; justify-content:space-between; gap:1rem;
}
.product-info h2 { margin:0; font-size: clamp(1.6rem, 2.4vw + 1rem, 2.4rem); }
.product-info .location {
  display:flex; align-items:center; gap:.35rem; color:#52546D; margin:.15rem 0 0;
}
.product-info .location svg { width:16px; height:16px; fill: var(--primary); opacity:.8; }
.product-info .price-line .from { color:#666; margin-right:.4rem; }
.product-info .price-line .price { color:#b58a2a; font-weight:800; font-size:1.25rem; }

.product-info .prod-badges { display:flex; flex-wrap:wrap; gap:.4rem; margin:.8rem 0 1rem; }
.product-info .badge {
  background:#fff; border:1px solid rgba(0,0,0,.08); color:#2a2e55;
  padding:.35rem .6rem; border-radius:999px; font-weight:600; font-size:.9rem;
}

.product-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap:1rem; }
.prod-hero { margin:0; }
.prod-hero img { width:100%; height: 420px; object-fit:cover; border-radius:16px; display:block; }
.prod-hero figcaption { color:#757aa0; font-size:.85rem; margin-top:.3rem; }

.prod-details { display:grid; gap:1rem; }

/* Unit Types */
.unit-types .tab-buttons { display:flex; gap:.4rem; flex-wrap:wrap; margin:.3rem 0 .6rem; }
.unit-types .tab-btn { border:1px solid rgba(0,0,0,.12); padding:.45rem .8rem; border-radius:999px; cursor:pointer; background:#fff; font-weight:600; }
.unit-types .tab-btn.active { background: var(--primary); color:#fff; border-color:transparent; }
.unit-row { display:flex; gap:1rem; justify-content:space-between; margin:.4rem 0 .6rem; color:#333; }
.unit-actions { display:flex; gap:.5rem; flex-wrap:wrap; }

/* Accordion */
.accordion .acc-btn {
  width:100%; text-align:left; background:#fff; border:1px solid rgba(0,0,0,.12);
  padding:.7rem .9rem; border-radius:10px; margin:.45rem 0; font-weight:600; cursor:pointer;
}
.accordion .acc-panel { display:none; padding:.2rem .2rem .6rem .2rem; color:#555; }
.accordion .acc-btn.active + .acc-panel { display:block; }

/* Facts */
.facts .facts-grid { list-style:none; padding:0; margin:.4rem 0 .8rem; display:grid; grid-template-columns: repeat(2, 1fr); gap:.4rem .8rem; }
.facts .cta-row { display:flex; gap:.6rem; flex-wrap:wrap; }

/* Amenities */
.amenities .amen-grid { list-style:none; padding:0; margin:.4rem 0 0; display:grid; grid-template-columns: repeat(5, 1fr); gap:.6rem; }
.amenities li { display:flex; align-items:center; gap:.4rem; color:#2b2c5a; font-weight:600; }
.amenities svg { width:18px; height:18px; fill: var(--primary); opacity:.9; }

@media (max-width: 1020px) {
  .product-grid { grid-template-columns: 1fr; }
  .prod-hero img { height: 280px; }
  .amenities .amen-grid { grid-template-columns: repeat(2, 1fr); }
}
/* Wide container for visual strips */
.container-wide { width: min(1400px, 96%); margin: 0 auto; }

/* 4-up image strip */
.strip-gallery { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.strip-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;              /* space between images */
}
.strip img {
  width: 100%;
  height: 420px;          /* desktop height */
  object-fit: cover;
/*  border-radius: 14px;*/
  display: block;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  transition: transform .35s ease, box-shadow .35s ease;
}
.strip {
  margin: 0;
}
.strip img:hover {
  transform: translateY(-2px) scale(1.01);
  box-shadow: 0 18px 38px rgba(0,0,0,.12);
}

/* Responsive */
@media (max-width: 1100px) {
  .strip img { height: 340px; }
}
@media (max-width: 900px) {
  .strip-grid { grid-template-columns: repeat(2, 1fr); }
  .strip img { height: 300px; }
}
@media (max-width: 560px) {
  .strip-grid { grid-template-columns: 1fr; }
  .strip img { height: 260px; }
}
/* International Projects */
.intl h2 { margin-bottom:.4rem; }
.intl .lead { color:#4b4e6a; max-width: 70ch; }
.intl .eyebrow { margin:.8rem 0 .2rem; letter-spacing:.12em; font-weight:700; color:#2b2c5a; }

.intl .container-wide { margin-top: 1rem; }
.intl-row {
  display:grid; grid-template-columns: 1.15fr .85fr; gap: 2rem;
  align-items: center; margin: 1.4rem 0 2.2rem;
}
.intl-row.reverse { grid-template-columns: .85fr 1.15fr; }
.intl-row.reverse .intl-media { order: 2; }
.intl-row.reverse .intl-copy  { order: 1; }

.intl-media img {
  width:100%; height:420px; object-fit:cover;
  border-radius:16px; box-shadow:0 12px 32px rgba(0,0,0,.12);
}
.intl-copy h3 { margin:.2rem 0 .6rem; }
.intl-copy p { color:#3b3e5c; margin:0 0 .8rem; }

@media (max-width: 1020px) {
  .intl-row, .intl-row.reverse { grid-template-columns: 1fr; }
  .intl-row.reverse .intl-media { order: 1; }
  .intl-row.reverse .intl-copy  { order: 2; }
  .intl-media img { height: 280px; }
}


/* --- Amenities --- */
.oasis-amenities .lead { color:#4b4e6a; max-width: 80ch; }
.amen-kpis {
  display:grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-top: .8rem;
}
.amen-kpis .kpi {
  display:flex; gap:.7rem; align-items:flex-start;
  background:#fff; border:1px solid rgba(0,0,0,.08);
  border-radius:14px; padding:.9rem 1rem; box-shadow:0 8px 22px rgba(0,0,0,.06);
}
.amen-kpis .icon {
  width:44px; height:44px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  background: var(--secondary);
}
.amen-kpis svg { width:22px; height:22px; fill: var(--primary); }
.kpi-top { font-weight:800; color:#1d2144; }
.kpi-sub { color:#6a6d8d; font-size:.95rem; }

@media (max-width: 980px) { .amen-kpis { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .amen-kpis { grid-template-columns: 1fr; } }

/* --- Properties grid --- */
.oasis-properties .prop-grid-2 {
  display:grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: .8rem;
}
.prop-card { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:16px; overflow:hidden; box-shadow:0 10px 28px rgba(0,0,0,.06); }
.prop-media img { width:100%; height:260px; object-fit:cover; display:block; }
.prop-meta { color:#7a7da1; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin:.7rem 1rem 0; font-size:.85rem; }
.prop-title { margin:.25rem 1rem .4rem; }
.prop-attrs { display:flex; gap:.8rem; align-items:center; margin:0 1rem 1rem; color:#2a2e55; }
.prop-attrs .attr { display:inline-flex; align-items:center; gap:.35rem; }
.prop-attrs svg { width:18px; height:18px; fill: var(--primary); opacity:.9; }

@media (max-width: 980px) {
  .oasis-properties .prop-grid-2 { grid-template-columns: 1fr; }
  .prop-media img { height:220px; }
}

/* --- Meta bar with CTA --- */
.props-meta-bar {
  margin: 1rem auto 0; width: min(1200px, 92%);
  background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:16px;
  padding: .9rem 1rem; display:grid; grid-template-columns: 1fr 1fr 1fr auto; gap: .8rem;
  align-items:center; box-shadow:0 10px 28px rgba(0,0,0,.06);
}
.props-meta-bar .bar-item { line-height:1.2; }
.props-meta-bar .overline { display:block; font-size:.8rem; letter-spacing:.12em; color:#7c7faa; text-transform:uppercase; }
.props-meta-bar strong { color:#1b2048; font-size:1.05rem; }

@media (max-width: 900px) {
  .props-meta-bar { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .props-meta-bar { grid-template-columns: 1fr; }
}

.prop-media{
  margin: 0;
}

/* Featured Article */
.blog-feature.card { 
  padding:0; overflow:hidden; border-radius:16px;
  display:grid; grid-template-columns: 1.35fr 1fr; gap:2rem;
  border:1px solid rgba(0,0,0,.06); box-shadow:0 12px 32px rgba(0,0,0,.08);
  background:#fff;
}
.feat-media { position:relative; }
.feat-media img { width:100%; height:360px; object-fit:cover; display:block; }

.badge-feature {
  position:absolute; top:14px; right:-14px;   /* slight overlap like the mock */
  background:#b58a2a; color:#fff;
  padding:.35rem .75rem; border-radius:999px;
  letter-spacing:.08em; font-weight:700; font-size:.8rem;
  border:4px solid #fff; box-shadow:0 8px 18px rgba(0,0,0,.15);
}
.feat-body { padding:1.4rem 1.6rem; display:flex; flex-direction:column; justify-content:center; }
.post-date { text-transform:uppercase; letter-spacing:.12em; color:#8a8fb0; font-size:.8rem; margin-bottom:.4rem; }
.post-title { margin:.2rem 0 .6rem; font-size: clamp(1.4rem, 1.2rem + 1.4vw, 2rem); color:#1b2048; }
.post-excerpt { color:#3e4263; max-width: 56ch; }

/* Responsive */
@media (max-width: 980px) {
  .blog-feature.card { grid-template-columns: 1fr; gap:0; }
  .feat-media img { height: 260px; }
  .badge-feature { right: 14px; }
}
.product-info .disclaimer { color:#6a6d8d; font-size:.9rem; margin-top:.6rem; }
.product-info .price-line small { font-weight:600; color:#7d6a38; margin-left:.25rem; }



















































.pt-5{
  padding-top: 48px;
}



.pb-3{
  padding-bottom: 32px;
}

.pb-2{
  padding-bottom: 24px;
}

.pb-5{
  padding-bottom: 48px;
}

.site-footer p,h4{
  color: #fff;
}

.text-white{
    color: #fff;
}

.text-secondary{
    color: #dae4ff;
}

.btn-secondary {
    background: #fff !important;
    color: #0a1431 !important;
}

.dblock767{
    display: none;
}

@media (max-width: 767px) {

    .dnone767{
        display: none;
    }
    .dblock767{
        display: block;
    }

    .hero {
        background-image: none;
    }
}

@media (max-width: 450px) {
    .dnone420{
        display: none;
    }
    .visa-card ul {
        margin: 0 0 1rem 0rem;
        padding-inline-start: 20px;
    }
    a.button.alt {
        width: 100%;
        text-align: center;
    }
    .button.dark {
        width: 100%;
        text-align: center;
    }
    
    .wmc{
        width: max-content !important;
    }
    
    
    
}

.ffe{
  font-family: emoji;
}
