/* =============================
   SADEGHI GROUP GLOBAL STYLES
   ============================= */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');
/* Design Tokens */
:root {
  /* Colors */
  --color-primary: #0e151d;
  --color-primary-dark: #050a0f;
  --color-accent: #774d00;
  --color-accent-soft: #efe3ce;
  --color-ink: #0e151d;
  --color-subhead: #2a3036;
  --color-muted: #5b5f65;
  --color-lines: rgba(0, 0, 0, 0.08);
  --color-bg: #ffffff;
  --color-bg-alt: #eeeeee;
  --color-page-deep: #0e151d;
  --section-bg-1: #ffffff;
  --section-bg-2: #fafafa;
  --section-bg-dark: #0e151d;
  --gradient-hero: linear-gradient(160deg, rgba(6,11,17,0.94) 0%, rgba(6,11,17,0.28) 52%, rgba(12,22,29,0.68) 100%);
  --gradient-page: #ffffff;
  --gradient-card: linear-gradient(145deg, rgba(255,255,255,0.85), rgba(255,255,255,0.55));
  --gradient-shell: var(--section-bg-1);
  --gradient-shell-soft: var(--section-bg-2);
  --glow-amber: none;
  --glow-mist: none;
  --glow-sand: none;
  --gradient-twilight: var(--section-bg-dark);
  --glow-twilight: none;
  --glow-twilight-alt: none;

  /* Typography */
  --font-heading: 'Montserrat', 'Segoe UI', sans-serif;
  --font-body: 'Montserrat', 'Segoe UI', sans-serif;
  --fs-h1: clamp(36px, 4vw, 56px);
  --fs-h2: clamp(28px, 3vw, 40px);
  --fs-h3: clamp(22px, 2.2vw, 28px);
  --fs-body: clamp(16px, 1.5vw, 18px);
  --fs-small: 14px;
  --lh-tight: 1.1;
  --lh-snug: 1.2;
  --lh-relaxed: 1.6;

  /* Spacing (scale: 4,8,12,16,24,32,48,64,96) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;

  /* Radius */
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-xl: 28px;

  /* Shadow */
  --shadow-card: 0 12px 34px rgba(15,17,20,.14);
  --shadow-hover: 0 20px 48px rgba(12,14,18,.22);

  /* Transitions */
  --transition-fast: 120ms ease;
  --transition-base: 220ms cubic-bezier(.4,0,.2,1);
  --transition-slow: 480ms cubic-bezier(.4,0,.2,1);

  /* Layout */
  --header-height: 72px;
  --gutter-mobile: 24px;
  --gutter-tablet: 32px;
  --gutter-desktop: 40px;
  --max-width: 1440px;
}

/* CSS Reset (modern minimal) */
*,*::before,*::after { box-sizing: border-box; }
* { margin: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); font-size: var(--fs-body); line-height: var(--lh-relaxed); color: var(--color-ink); background: var(--color-bg); -webkit-font-smoothing: antialiased; position: relative; }
body.luxe-theme { background: var(--color-bg); color: var(--color-ink); }
body.luxe-theme::before { content: none; }
img, picture, video, canvas { display: block; max-width: 100%; }
input, button, textarea, select { font: inherit; }
button { cursor: pointer; }
a { text-decoration: none; color: inherit; }
ul[role='list'], ol[role='list'] { list-style: none; padding: 0; }

/* Scrollbar (WebKit) */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--color-bg-alt); }
/* Visible, contrasted thumb by default so users always see position */
::-webkit-scrollbar-thumb {
  background: rgba(20,24,30,0.48); /* darker neutral for visibility */
  border-radius: 8px;
  border: 2px solid transparent; /* keeps consistent thumb width */
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover,
::-webkit-scrollbar-thumb:active {
  background: rgba(20,24,30,0.72);
}

/* Firefox */
html {
  scrollbar-width: thin;
  scrollbar-color: rgba(20,24,30,0.48) var(--color-bg-alt);
}

/* Typography */
h1,h2,h3 { font-family: var(--font-heading); font-weight: 500; letter-spacing: -0.4px; color: var(--color-primary); }
h1 { font-size: var(--fs-h1); line-height: var(--lh-tight); }
h2 { font-size: var(--fs-h2); line-height: var(--lh-snug); margin-bottom: var(--space-4); }
h3 { font-size: var(--fs-h3); line-height: 1.28; margin-bottom: var(--space-3); color: var(--color-subhead); }
p { margin-bottom: var(--space-4); color: var(--color-subhead); }
.lead { font-size: clamp(18px,2vw,22px); line-height: 1.45; color: var(--color-subhead); margin-bottom: var(--space-6); }
.small { font-size: var(--fs-small); line-height: 1.5; }
.muted { color: var(--color-muted); }

.section-heading { display: flex; flex-direction: column; gap: var(--space-2); max-width: 580px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading h2::after { content: ""; display: block; width: 72px; height: 2px; background: linear-gradient(90deg, rgba(199,165,101,0.95), rgba(199,165,101,0)); margin-top: var(--space-3); border-radius: 999px; }
.section-kicker { font-size: 12px; letter-spacing: 3px; text-transform: uppercase; font-weight: 600; color: var(--color-accent); display: inline-flex; align-items: center; gap: 8px; }
.section-kicker::before { content: ""; width: 32px; height: 1px; background: currentColor; opacity: 0.6; }
.section-heading > p { margin-bottom: 0; }
.section-night .section-kicker { color: rgba(199,165,101,0.85); }
.section-night .section-kicker::before { opacity: 0.4; }
.section-night .section-heading > p { color: rgba(230,233,239,0.82); }
.section-night .section-heading h2::after { background: linear-gradient(90deg, rgba(255,255,255,0.4), transparent); }

/* Layout Helpers */
.container { width: 100%; margin: 0 auto; padding-left: var(--gutter-mobile); padding-right: var(--gutter-mobile); max-width: var(--max-width); }
@media (min-width: 640px){ .container { padding-left: var(--gutter-tablet); padding-right: var(--gutter-tablet); }}
@media (min-width: 1024px){ .container { padding-left: var(--gutter-desktop); padding-right: var(--gutter-desktop); }}
.section { padding: clamp(80px, 10vh, 120px) 0; }
main > .section:nth-of-type(odd):not(.section-night):not(.parallax-section) { background: var(--section-bg-1); }
main > .section:nth-of-type(even):not(.section-night):not(.parallax-section) { background: var(--section-bg-2); }
main > .section:last-of-type { padding-bottom: clamp(var(--space-6), 8vh, var(--space-7)); }
.section-tight { padding: var(--space-7) 0; }
.section-full { min-height: 100dvh; display: flex; align-items: center; }
.section-full .container { width: min(1100px, 100%); }
.canopy-section,
.palm-section,
.dunes-section,
.feature-suite { position: relative; overflow: hidden; }

.parallax-section { position: relative; min-height: 70vh; padding: 0; display: flex; align-items: center; justify-content: center; background-size: cover; background-position: center; background-attachment: fixed; background-repeat: no-repeat; background-color: var(--section-bg-dark); color: #fff; overflow: hidden; }
.parallax-section::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(6,10,16,0.55), rgba(6,10,16,0.78)); }
.parallax-content { position: relative; z-index: 1; text-align: center; display: grid; gap: var(--space-4); padding: clamp(var(--space-6), 6vw, var(--space-8)) var(--gutter-mobile); max-width: 760px; margin: 0 auto; justify-items: center; }
.parallax-section .section-kicker { justify-content: center; color: rgba(255,255,255,0.78); }
.parallax-section h1 { color: #fff; margin-bottom: 0; text-shadow: 0 2px 12px rgba(0,0,0,0.4); }
.parallax-section h2 { color: #fff; margin-bottom: 0; }
.parallax-section p { color: rgba(255,255,255,0.9); margin-bottom: 0; }
.parallax-section .muted { color: rgba(255,255,255,0.85); }
.parallax-section .breadcrumbs { color: rgba(255,255,255,0.7); justify-content: center; }
.parallax-section .breadcrumbs a { color: rgba(255,255,255,0.85); }
.parallax-section .breadcrumbs a:hover { color: #fff; }
.parallax-section .section-heading { text-align: center; }
.parallax-section--shore { background-image: url('../best-images/3.jpg'); }
.parallax-section--twilight { background-image: url('../best-images/7.jpg'); }

@media (max-width: 900px){
  .parallax-section { background-attachment: scroll; min-height: 55vh; }
}

.section-night { position: relative; background: var(--section-bg-dark); color: rgba(233,234,236,0.92); overflow: hidden; }
.section-night h2, .section-night h3, .section-night p, .section-night .muted { color: rgba(238,239,241,0.92); }
.experience-grid { position: relative; display: grid; gap: var(--space-6); }
@media (min-width: 1024px){ .experience-grid { grid-template-columns: 1fr 1.1fr; align-items: center; }}
.experience-list { display: grid; gap: var(--space-5); }
.experience-card { position: relative; padding: var(--space-5); border-radius: var(--radius-lg); background: rgba(17,27,35,0.68); backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,0.12); box-shadow: 0 18px 44px rgba(5,8,12,0.32); }
.experience-card h3 { color: #fff; margin-bottom: var(--space-3); font-weight: 500; letter-spacing: 0.4px; }
.experience-card p { color: rgba(222,226,232,0.85); margin-bottom: 0; }

.section-mist { position: relative; overflow: hidden; }
.mist-grid { position: relative; display: grid; gap: var(--space-6); }
.mist-grid > .section-heading { max-width: 460px; }
@media (min-width: 960px){ .mist-grid { grid-template-columns: 0.9fr 1.1fr; align-items: center; }}
.testimonials { display: grid; gap: var(--space-6); align-items: stretch; }
@media (min-width: 840px){ .testimonials { grid-template-columns: repeat(2, minmax(0,1fr)); }}
.testimonial-card { position: relative; padding: var(--space-6); border-radius: var(--radius-lg); background: rgba(255,255,255,0.8); border: 1px solid rgba(255,255,255,0.7); box-shadow: 0 14px 36px rgba(27,30,35,0.18); backdrop-filter: blur(12px); display: flex; flex-direction: column; gap: var(--space-4); min-height: 100%; }
.testimonial-card::before { content: "\201C"; font-family: var(--font-heading); font-size: 80px; line-height: 0.7; color: rgba(199,165,101,0.3); position: absolute; top: var(--space-4); left: var(--space-5); }
.testimonial-card blockquote { font-family: var(--font-heading); font-size: clamp(20px, 2.2vw, 26px); color: var(--color-primary); line-height: 1.4; margin: 0; position: relative; z-index: 1; padding-left: var(--space-6); }
.testimonial-card figcaption { font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: rgba(115,119,129,0.9); padding-left: var(--space-6); }

.section-faq { position: relative; overflow: hidden; }
.faq-wrapper { position: relative; display: grid; gap: var(--space-7); }
.faq-grid { display: grid; gap: var(--space-5); }
@media (min-width: 900px){ .faq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }}
.faq-card { position: relative; padding: var(--space-5); border-radius: var(--radius-lg); background: rgba(255,255,255,0.82); border: 1px solid rgba(255,255,255,0.7); box-shadow: 0 14px 34px rgba(24,26,30,0.15); backdrop-filter: blur(14px); display: grid; gap: var(--space-3); }
.faq-card h3 { font-family: var(--font-heading); font-size: clamp(18px, 1.8vw, 22px); color: var(--color-primary); margin: 0; }
.faq-card p { margin: 0; color: rgba(40,45,53,0.82); }
.faq-card ul { margin: 0; }
.faq-card ol { margin: 0; padding-left: 1.4rem; display: grid; gap: var(--space-2); }
.faq-card li { color: rgba(40,45,53,0.82); }
.faq-card li strong { color: var(--color-primary); font-weight: 600; }
.faq-callout { position: relative; margin-top: var(--space-4); padding: var(--space-6); border-radius: var(--radius-xl); background: var(--gradient-twilight); border: 1px solid rgba(199,165,101,0.28); box-shadow: 0 20px 48px rgba(12,14,18,0.3); display: grid; gap: var(--space-3); }
.faq-callout h3 { color: #fff; font-size: clamp(20px, 2vw, 26px); margin: 0; }
.faq-callout p { margin: 0; color: rgba(232,233,236,0.85); }

.concierge-ribbon { position: relative; background: var(--section-bg-dark); color: #eef1f5; padding: clamp(64px, 10vw, 96px) 0; overflow: hidden; }
.ribbon-inner { position: relative; display: grid; gap: var(--space-6); align-items: center; justify-content: space-between; }
@media (min-width: 860px){ .ribbon-inner { grid-template-columns: 1.2fr auto; }}
.ribbon-copy { max-width: 560px; display: grid; gap: var(--space-3); }
.concierge-ribbon h2 { color: #fff; margin-bottom: 0; }
.concierge-ribbon p { color: rgba(230,233,239,0.82); margin-bottom: 0; }
.ribbon-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.intro-wrap { position: relative; display: grid; gap: clamp(var(--space-6), 8vw, var(--space-8)); align-items: center; margin: 0 auto; }
@media (min-width: 960px){
  .intro-wrap { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); padding-inline: var(--space-4); }
}

.intro-pill { width: 88px; height: 4px; border-radius: 999px; background: linear-gradient(90deg, rgba(199,165,101,0.85), rgba(199,165,101,0)); }

.intro-copy { display: grid; gap: var(--space-4); max-width: 560px; margin: 0 auto; text-align: left; }
@media (min-width: 960px){ .intro-copy { justify-self: flex-start; } }
.intro-copy .intro-pill { justify-self: flex-start; margin-bottom: var(--space-3); }
.intro-body { font-size: clamp(17px, 1.9vw, 22px); line-height: 1.8; color: rgba(31,32,33,0.82); margin: 0; text-align: left; text-align-last: auto; }
.intro-body strong { color: var(--color-primary); font-weight: 600; }

.intro-collage { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr); grid-template-rows: repeat(2, minmax(160px, 1fr)); gap: clamp(var(--space-4), 4vw, var(--space-5)); max-width: 640px; margin: 0 auto; align-items: stretch; }
.intro-collage::after { content: none; }
.intro-collage__item { position: relative; border-radius: var(--radius-xl); overflow: hidden; box-shadow: 0 28px 58px rgba(20,24,30,0.22); z-index: 1; display: flex; }
.intro-collage__item img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); transition: transform var(--transition-slow); }
.intro-collage__item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(140deg, rgba(255,255,255,0.08), rgba(12,18,26,0.2)); mix-blend-mode: soft-light; opacity: 0.6; transition: opacity var(--transition-base); }
.intro-collage__item:hover img { transform: scale(1.08); }
.intro-collage__item:hover::after { opacity: 0.42; }
.intro-collage__item--primary { grid-column: 1; grid-row: 1 / span 2; min-height: clamp(340px, 48vw, 420px); }
.intro-collage__item--secondary { grid-column: 2; grid-row: 1; min-height: clamp(160px, 22vw, 220px); }
.intro-collage__item--tertiary { grid-column: 2; grid-row: 2; min-height: clamp(160px, 22vw, 220px); }

@media (max-width: 960px){
  .intro-wrap { grid-template-columns: 1fr; }
  .intro-copy { max-width: 640px; }
}

.stat-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); margin-top: var(--space-4); }
.stat-card { position: relative; padding: var(--space-4); border-radius: var(--radius-lg); background: rgba(255,255,255,0.82); border: 1px solid rgba(255,255,255,0.72); box-shadow: 0 18px 42px rgba(20,24,30,0.16); backdrop-filter: blur(16px); display: flex; flex-direction: column; gap: 6px; }
.stat-card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 1px solid rgba(199,165,101,0.22); pointer-events: none; }
.stat-value { font-family: var(--font-heading); font-size: clamp(28px, 4vw, 44px); color: var(--color-primary); letter-spacing: -0.6px; }
.stat-label { font-size: 13px; letter-spacing: 0.32em; text-transform: uppercase; color: rgba(80,84,92,0.78); }

.quick-nav { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-4); }
.chip-link { display: inline-flex; align-items: center; gap: var(--space-2); padding: 10px 22px; border-radius: 999px; border: 1px solid rgba(199,165,101,0.4); background: rgba(255,255,255,0.86); font-weight: 600; letter-spacing: 0.4px; color: var(--color-primary); transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast); box-shadow: 0 10px 28px rgba(15,19,25,0.12); }
.chip-link:hover { transform: translateY(-2px); border-color: rgba(199,165,101,0.75); box-shadow: 0 16px 36px rgba(12,16,22,0.18); }

.destination-grid { display: grid; gap: var(--space-5); margin-top: var(--space-6); }
@media (min-width: 768px){ .destination-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }}
.destination-card { position: relative; padding: var(--space-6); border-radius: var(--radius-lg); background: rgba(255,255,255,0.84); border: 1px solid rgba(255,255,255,0.72); box-shadow: 0 20px 42px rgba(18,22,28,0.18); backdrop-filter: blur(16px); display: grid; gap: var(--space-3); overflow: hidden; }
.destination-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(140deg, rgba(199,165,101,0.14), transparent 60%); pointer-events: none; }
.destination-card > * { position: relative; z-index: 1; }
.destination-note { font-size: 12px; letter-spacing: 0.32em; text-transform: uppercase; color: rgba(121,125,134,0.88); }
.destination-title { font-family: var(--font-heading); font-size: clamp(22px, 2.4vw, 28px); color: var(--color-primary); margin-bottom: 0; }
.destination-text { margin-bottom: 0; color: rgba(32,36,44,0.82); }

.climate-grid { display: grid; gap: var(--space-6); align-items: start; }
@media (min-width: 900px){ .climate-grid { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); }}
.climate-panel { display: grid; gap: var(--space-4); }
.climate-card { padding: var(--space-5); border-radius: var(--radius-lg); background: rgba(255,255,255,0.82); border: 1px solid rgba(255,255,255,0.7); box-shadow: 0 16px 38px rgba(16,20,26,0.16); display: grid; gap: var(--space-2); }
.climate-card h3 { font-size: clamp(18px, 2vw, 24px); margin: 0; color: var(--color-primary); }
.climate-card p { margin: 0; color: rgba(32,36,44,0.82); }
.climate-card ul { margin: 0; padding-left: 1.2rem; display: grid; gap: var(--space-2); color: rgba(32,36,44,0.82); }
.climate-card ul li strong { color: var(--color-primary); }
.climate-card--accent { background: linear-gradient(140deg, rgba(199,165,101,0.16), rgba(255,255,255,0.92)); border-color: rgba(199,165,101,0.45); }
.climate-card--note { background: rgba(12,18,26,0.86); border-color: rgba(199,165,101,0.35); color: rgba(230,232,235,0.88); box-shadow: 0 24px 48px rgba(6,9,14,0.38); }
.climate-card--note h3 { color: #fff; }
.climate-card--note p { color: rgba(225,227,231,0.82); }

.investment-grid { display: grid; gap: var(--space-6); align-items: start; }
@media (min-width: 960px){ .investment-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.85fr); gap: clamp(var(--space-6), 6vw, var(--space-8)); }}
.investment-copy { display: grid; gap: var(--space-4); }
.investment-list { display: grid; gap: var(--space-4); margin-top: var(--space-2); }
.investment-step { display: grid; gap: var(--space-2); grid-template-columns: auto 1fr; align-items: start; padding: var(--space-4); border-radius: var(--radius-lg); background: rgba(255,255,255,0.85); border: 1px solid rgba(255,255,255,0.7); box-shadow: 0 18px 36px rgba(16,20,26,0.14); position: relative; overflow: hidden; }
.investment-step::after { content: ""; position: absolute; inset: 0; background: linear-gradient(140deg, rgba(199,165,101,0.1), transparent 70%); pointer-events: none; }
.investment-step > * { position: relative; z-index: 1; }
.step-number { font-family: var(--font-heading); font-size: clamp(18px, 2vw, 22px); letter-spacing: 0.28em; color: rgba(199,165,101,0.88); align-self: center; }
.investment-step h3 { margin: 0 0 var(--space-2); font-size: clamp(18px, 2vw, 22px); color: var(--color-primary); }
.investment-step p { margin: 0; color: rgba(32,36,42,0.82); }

.investment-callout { position: relative; padding: clamp(var(--space-5), 5vw, var(--space-6)); border-radius: var(--radius-xl); background: var(--section-bg-dark); border: 1px solid rgba(199,165,101,0.45); color: rgba(234,236,240,0.9); box-shadow: 0 26px 58px rgba(4,6,10,0.45); display: grid; gap: var(--space-4); overflow: hidden; }
.investment-callout > * { position: relative; z-index: 1; }
.investment-callout h3 { color: #fff; margin: 0; font-size: clamp(22px, 2.6vw, 28px); }
.investment-callout p { margin: 0; color: rgba(224,226,230,0.8); }
.badge-ring { font-size: 12px; letter-spacing: 0.32em; text-transform: uppercase; color: rgba(255,255,255,0.65); }
.callout-points { margin: 0; padding-left: 1.2rem; display: grid; gap: var(--space-2); color: rgba(224,226,230,0.82); }
.callout-points li { position: relative; }

@media (max-width: 720px){
  .intro-collage { grid-template-columns: 1fr; grid-template-rows: repeat(3, minmax(200px, auto)); }
  .intro-collage__item--primary { grid-row: 1; min-height: 280px; }
  .intro-collage__item--secondary { grid-row: 2; }
  .intro-collage__item--tertiary { grid-row: 3; }
}

.section-marble { position: relative; overflow: hidden; }

.section-gilded { position: relative; overflow: hidden; }
.gilded-grid { position: relative; display: grid; gap: var(--space-6); margin-top: var(--space-6); }
@media (min-width: 768px){ .gilded-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }}
.gilded-card { position: relative; padding: var(--space-6); border-radius: var(--radius-lg); background: rgba(255,255,255,0.78); backdrop-filter: blur(18px); border: 1px solid rgba(255,255,255,0.7); box-shadow: var(--shadow-card); display: flex; flex-direction: column; gap: var(--space-4); min-height: 100%; transition: transform var(--transition-base), box-shadow var(--transition-base); }
.gilded-card::after { content: ""; position: absolute; inset: 1px; border-radius: inherit; border: 1px solid rgba(199,165,101,0.28); pointer-events: none; }
.gilded-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-hover); }
.gilded-card h3 { font-size: clamp(20px, 2vw, 26px); color: var(--color-primary); }
.gilded-card p { color: rgba(28,33,41,0.82); }
.gilded-accent { font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: rgb(197, 151, 64); }

.grid { display: grid; gap: var(--space-6); }
.grid-auto { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.grid-feature { align-items: start; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
@media (min-width: 640px){ .grid-cols-2-sm { grid-template-columns: repeat(2,1fr); }}
@media (min-width: 768px){ .grid-cols-3-md { grid-template-columns: repeat(3,1fr); }}
@media (min-width: 1024px){ .grid-cols-4-lg { grid-template-columns: repeat(4,1fr); }}

.list-vertical { display: flex; flex-direction: column; gap: var(--space-3); }

.flex { display: flex; }
.flex-col { flex-direction: column; }
.flex-center { align-items: center; justify-content: center; }
.space-between { justify-content: space-between; }
.gap-4 { gap: var(--space-4); }
.gap-6 { gap: var(--space-6); }

/* Header */
.site-header { position: sticky; top: 0; z-index: 50; height: var(--header-height); display: flex; align-items: center; background: rgba(10,14,19,0.82); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(255,255,255,0.08); box-shadow: 0 6px 24px rgba(4,7,11,0.35); transition: background var(--transition-base), border-color var(--transition-base); }
.site-header.transparent { background: rgba(10,14,19,1.00); }
.site-header.solid { background: rgba(6,9,14,1.00); border-bottom-color: rgba(199,165,101,0.85); }
.navbar { display: flex; align-items: center; width: 100%; }
.navbar,
.nav-links a,
.mobile-toggle,
.brand { font-family: 'Segoe UI', 'Montserrat', sans-serif; }
.brand { font-weight: 700; font-size: 20px; letter-spacing: -0.5px; display: flex; align-items: center; gap: var(--space-2); }
.brand img { height: 34px; width: auto; filter: drop-shadow(0 10px 24px rgba(0,0,0,0.35)); }
.nav-links { margin-left: auto; display: flex; align-items: center; gap: var(--space-5); }
.nav-links a { font-weight: 500; color: rgba(255,255,255,0.82); padding: var(--space-2) var(--space-3); border-radius: 999px; transition: color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast); backdrop-filter: blur(4px); }
.nav-links a:hover, .nav-links a.active { color: #fff; background: rgba(199,165,101,0.15); transform: translateY(-1px); }

.mobile-toggle { display: none; background: none; border: none; padding: var(--space-2); }
.mobile-toggle span { display: block; width: 24px; height: 2px; background: #ffffff; position: relative; }
.mobile-toggle span::before, .mobile-toggle span::after { content: ""; position: absolute; left: 0; width: 24px; height: 2px; background: #ffffff; transition: transform var(--transition-base); }
.mobile-toggle span::before { top: -6px; }
.mobile-toggle span::after { top: 6px; }
.mobile-toggle.active span { background: transparent; }
.mobile-toggle.active span::before { transform: translateY(6px) rotate(45deg); }
.mobile-toggle.active span::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 860px){
  .nav-links { position: absolute; top: var(--header-height); right: 0; background: rgba(6,9,14,1); flex-direction: column; align-items: flex-start; padding: var(--space-6); box-shadow: var(--shadow-card); border-left: 1px solid rgba(199,165,101,0.25); border-bottom: 1px solid rgba(255,255,255,0.08); transform: translateY(-8px); opacity: 0; pointer-events: none; transition: opacity var(--transition-base), transform var(--transition-base); min-width: 260px; }
  .nav-links.open { opacity: 1; transform: translateY(0); pointer-events: auto; }
  .mobile-toggle { display: block; margin-left: auto; }
}

/* Hero */
.hero { position: relative; min-height: calc(100dvh - var(--header-height)); color: #fff; display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden; padding: 0 var(--gutter-mobile); isolation: isolate; background: var(--color-primary-dark); }
.hero-slideshow { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.4s ease; }
.hero-slide.is-active { opacity: 1; }
.hero-slide img { width: 100%; height: 100%; object-fit: cover; filter: saturate(1.08) contrast(1.05); transform: scale(1.15); transition: transform 7s ease-out; }
.hero-slide.is-active img { transform: scale(1); }
.hero-gradient { position: absolute; inset: 0; background: var(--gradient-hero); mix-blend-mode: normal; z-index: 1; }
.hero-topline { position: absolute; inset-inline: 0; top: calc(var(--space-6) + 6px); z-index: 3; display: flex; justify-content: center; pointer-events: none; padding: 0 var(--gutter-mobile); }
.hero-topline .hero-location { background: transparent; padding: 0; border-radius: 0; border: none; box-shadow: none; letter-spacing: 0.28em; text-transform: uppercase; display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); pointer-events: auto; text-shadow: 0 8px 28px rgba(0,0,0,0.5); font-family: "Futura PT Light", "Futura PT", "Century Gothic", "Arial", sans-serif; font-size: clamp(11px, 1.15vw, 14px); font-weight: 300; }
.hero-topline .hero-location::before, .hero-topline .hero-location::after { display: none; }
.hero-centerpiece { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; justify-content: center; padding: 0 var(--space-6) var(--space-9); }
.hero-logo-wrapper { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); }
.hero-logo { width: min(560px, 82vw); filter: drop-shadow(0 32px 120px rgba(0,0,0,0.45)); }
.hero-location { color: #ffffff; font-size: clamp(14px, 1.6vw, 18px); font-weight: 500; text-shadow: 0 2px 12px rgba(0,0,0,0.4); margin: 0; letter-spacing: 0.12em; }
.hero-actions { position: absolute; inset-inline: 0; bottom: var(--space-7); display: flex; justify-content: center; padding: 0 var(--gutter-mobile); z-index: 3; }
.hero-action-buttons { display: flex; flex-wrap: wrap; gap: var(--space-3); background: rgba(6,11,17,0.58); padding: var(--space-3) var(--space-4); border-radius: 999px; backdrop-filter: blur(26px); border: 1px solid rgba(199,165,101,0.35); box-shadow: 0 24px 48px rgba(4,7,11,0.32); }
.hero-actions .btn { min-width: 130px; justify-content: center; }

.hero-scroll-indicator { position: absolute; bottom: var(--space-5); left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: var(--space-2); color: rgba(255,255,255,0.75); letter-spacing: 4px; font-size: 11px; text-transform: uppercase; z-index: 3; }
.hero-scroll-indicator::before { content: ""; width: 1px; height: 48px; background: linear-gradient(180deg, rgba(255,255,255,0.4), transparent); border-radius: 999px; animation: scrollPulse 3.2s ease-in-out infinite; }

@keyframes scrollPulse {
  0% { transform: scaleY(0.6); opacity: 0.5; }
  40% { transform: scaleY(1); opacity: 1; }
  100% { transform: scaleY(0.6); opacity: 0.4; }
}

@keyframes floatOrb {
  0% { transform: translateY(0) scale(1); opacity: 0.5; }
  50% { transform: translateY(12px) scale(1.05); opacity: 0.7; }
  100% { transform: translateY(-10px) scale(0.94); opacity: 0.5; }
}

@media (max-width: 720px){
  .hero { padding: 0 var(--gutter-mobile); }
  .hero-topline { top: calc(var(--space-5) + var(--space-2)); }
  .hero-topline .hero-location { letter-spacing: 0.24em; font-size: 11px; }
  .hero-actions { bottom: var(--space-6); }
  .hero-action-buttons { border-radius: var(--radius-lg); width: 100%; justify-content: center; background: rgba(10,12,14,0.72); }
  .hero-logo { width: min(320px, 80vw); }
  .hero-scroll-indicator { display: none; }
}

@media (prefers-reduced-motion: reduce){
  .hero-slide, .hero-slide img { transition: none; }
}

/* Buttons */
.btn { --btn-bg: rgba(199,165,101,0.92); --btn-color: #0e141b; --btn-bg-hover: rgba(215,180,114,0.96); display: inline-flex; align-items: center; gap: var(--space-2); background: var(--btn-bg); color: var(--btn-color); padding: 12px 28px; font-weight: 600; border: 1px solid rgba(199,165,101,0.5); border-radius: 999px; box-shadow: 0 16px 38px rgba(18,20,24,0.22); position: relative; overflow: hidden; transition: background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast); letter-spacing: 0.4px; }
.btn:hover { background: var(--btn-bg-hover); box-shadow: 0 20px 48px rgba(8,9,12,0.28); transform: translateY(-3px); }
.btn:active { transform: translateY(0); box-shadow: 0 12px 28px rgba(8,9,12,0.22); }
.btn-outline { --btn-bg: rgba(249,247,242,0.9); --btn-color: var(--color-primary); --btn-bg-hover: rgba(255,255,255,1); border: 1px solid rgba(255,255,255,0.6); box-shadow: 0 8px 26px rgba(15,17,20,0.12); }
.btn-accent { --btn-bg: rgba(14,20,27,0.92); --btn-color: #fff; --btn-bg-hover: rgba(14,20,27,0.98); border-color: rgba(6,9,14,0.6); }
.btn-ghost { --btn-bg: rgba(255,255,255,0.1); --btn-color: #fff; --btn-bg-hover: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.35); color: #fff; box-shadow: 0 20px 48px rgba(4,7,11,0.36); backdrop-filter: blur(18px); }
.btn-ghost:hover { border-color: rgba(255,255,255,0.55); color: #fff; }

.scroll-top { position: fixed; right: clamp(var(--space-4), 3vw, var(--space-6)); bottom: clamp(var(--space-4), 3vw, var(--space-6)); width: 52px; height: 52px; border-radius: 999px; border: none; background: rgba(14,20,27,0.92); color: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 16px 38px rgba(12,14,18,0.26); opacity: 0; pointer-events: none; transform: translateY(18px); transition: opacity var(--transition-base), transform var(--transition-base); z-index: 90; }
.scroll-top .scroll-top__icon { font-size: 22px; line-height: 1; }
.scroll-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.scroll-top:hover { background: rgba(14,20,27,0.98); box-shadow: 0 20px 44px rgba(6,8,12,0.32); }
.scroll-top:focus-visible { outline: 2px solid rgba(199,165,101,0.6); outline-offset: 4px; }
@media (hover: none){
  .scroll-top:hover { background: rgba(14,20,27,0.92); box-shadow: 0 16px 38px rgba(12,14,18,0.26); }
}
@media (prefers-reduced-motion: reduce){
  .scroll-top { transition: none; }
}

/* Cards */
.card { height:100%; background: var(--gradient-card); backdrop-filter: blur(18px) saturate(140%); border: 1px solid rgba(255,255,255,0.65); border-radius: var(--radius-xl); box-shadow: 0 10px 36px rgba(22,24,28,0.18); display:flex; flex-direction:column; overflow:hidden; position:relative; transition: box-shadow var(--transition-base), transform var(--transition-base), border-color var(--transition-base); }
.card::before { content:""; position:absolute; inset:0; background: linear-gradient(140deg, rgba(255,255,255,0.8), rgba(255,255,255,0.05)); mix-blend-mode: overlay; pointer-events:none; }
.card:hover { box-shadow: 0 18px 48px rgba(18,20,24,0.24); border-color: rgba(255,255,255,0.8); transform: translateY(-6px); }
.card-media { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-slow); }
.card:hover .card-media img { transform: scale(1.05); }
.card-badge { position: absolute; top: var(--space-3); left: var(--space-3); background: rgba(255,255,255,0.9); backdrop-filter: blur(4px); padding: 4px 10px; font-size: 12px; font-weight: 600; border-radius: 20px; display: flex; gap: 6px; align-items: center; }
.card-content { padding: var(--space-5) var(--space-5) var(--space-5); flex: 1; display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-4); }
.card-title { font-size: 20px; font-weight: 600; margin-bottom: var(--space-2); }
.card-meta { font-size: 13px; font-weight: 500; letter-spacing: .5px; text-transform: uppercase; color: var(--color-muted); margin-bottom: var(--space-4); }
.card-id { font-size: 11px; letter-spacing: 0.32em; text-transform: uppercase; color: rgba(54, 56, 60, 0.68); margin-bottom: var(--space-3); display: inline-flex; align-items: center; gap: var(--space-2); }
.card-id::before { content: "#"; font-size: 12px; letter-spacing: 0; color: rgba(54, 56, 60, 0.52); }
.card-footer { display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); }
.price { font-weight: 700; font-size: 18px; color: var(--color-accent); letter-spacing: 0.4px; }

/* Property Detail */
.property-hero { position: relative; min-height: 60vh; display: flex; align-items: flex-end; padding: var(--space-9) 0 var(--space-7); color: #fff; background-size: cover; background-position: center; background-repeat: no-repeat; background-color: var(--color-primary-dark); }
.property-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0.10), rgba(0,0,0,0.65)); }
.property-hero .overlay { position: relative; z-index: 2; }
.property-hero h1 { color: #fff; }
.property-hero [data-meta], .property-hero [data-price] { color:#fff !important; text-shadow:0 2px 8px rgba(0,0,0,.45); }
.property-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
@media (max-width: 640px){
  .property-actions { flex-direction: column; align-items: stretch; }
  .property-actions .btn { width: 100%; }
}
.btn-accent { --btn-bg: rgba(199,165,101,0.92); --btn-color: #0e141b; --btn-bg-hover: rgba(215,180,114,0.96); }
/* Dark primary button variant for specific calls */
.btn-dark { --btn-bg: linear-gradient(135deg, rgba(8,12,18,0.96), rgba(18,26,34,0.92)); --btn-color: #f5eee1; --btn-bg-hover: rgba(8,12,18,1); border-color: rgba(255,255,255,0.18); }

.property-video { position: relative; background: var(--section-bg-2); }
.property-video::before { content: none; }
.property-video .container { position: relative; z-index: 1; }
.property-video .media-columns { display: grid; gap: var(--space-6); align-items: start; }
.property-video .media-column { display: grid; gap: var(--space-4); text-align: left; }
.property-video .media-column h2 { text-align: left; }
.property-video h2 { margin-bottom: 0; }
.video-wrapper, .map-wrapper { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: var(--radius-xl); overflow: hidden; box-shadow: 0 24px 64px rgba(8,11,16,0.32); background: rgba(8,12,18,0.85); border: 1px solid rgba(255,255,255,0.2); }
.video-wrapper::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(140deg, rgba(255,255,255,0.08), rgba(10,14,21,0.25)); mix-blend-mode: screen; opacity: 0.6; }
.video-wrapper iframe, .video-wrapper video, .map-wrapper iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-wrapper iframe, .map-wrapper iframe { border-radius: inherit; }

@media (min-width: 900px){
  .property-video .media-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px){
  .property-video .media-columns { gap: var(--space-5); }
  .video-wrapper, .map-wrapper { border-radius: var(--radius-lg); box-shadow: 0 18px 44px rgba(12,16,22,0.28); }
}

/* Land section wider cards */
[data-filter-type="Land"] { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px){
  [data-filter-type="Land"] { grid-template-columns: repeat(auto-fit, minmax(520px, 1fr)); }
}
@media (min-width:1100px){
  [data-filter-type="Land"] { grid-template-columns: 1fr 1fr; }
}
[data-filter-type="Land"] .card-media { aspect-ratio: 16/9; }
[data-filter-type="Villa"] .card-media img { object-position: center center; }


/* Normalize villa card height - match land cards but span full width */
[data-filter-type="Villa"] { grid-template-columns: 1fr; max-width: 100%; }
[data-filter-type="Villa"] .card { max-width: 100%; }
[data-filter-type="Villa"] .card-media { aspect-ratio: 16/9; }
@media (min-width:768px){
  [data-filter-type="Villa"] .card { display: grid; grid-template-columns: 1fr 1fr; }
  [data-filter-type="Villa"] .card-media { aspect-ratio: 4/3; }
  [data-filter-type="Villa"] .card-content { display: flex; flex-direction: column; justify-content: space-between; }
}
.badges { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }
.badge { background: rgba(255,255,255,0.9); color: var(--color-ink); padding: 4px 10px; border-radius: 18px; font-size: 12px; font-weight: 600; }

/* Gallery */
.gallery-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); }
.gallery-grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--radius-md); cursor: pointer; transition: transform var(--transition-fast), box-shadow var(--transition-fast); }
.gallery-grid img:hover { transform: translateY(-3px); box-shadow: var(--shadow-hover); }

.lightbox { position: fixed; inset: 0; background: rgba(6,10,18,0.88); display: flex; align-items: center; justify-content: center; z-index: 200; opacity: 0; pointer-events: none; transition: opacity var(--transition-base); backdrop-filter: blur(6px); }
.lightbox.open { opacity: 1; pointer-events: auto; }
.lightbox figure { width: min(1100px, 92vw); max-height: 82vh; position: relative; padding: clamp(var(--space-5), 5vw, var(--space-6)); border-radius: var(--radius-xl); background: rgba(10,14,21,0.82); backdrop-filter: blur(22px); display: flex; flex-direction: column; align-items: center; gap: var(--space-4); box-shadow: 0 28px 72px rgba(3,5,9,0.55); }
.lightbox img { width: 100%; height: auto; max-height: calc(72vh); object-fit: contain; border-radius: var(--radius-lg); box-shadow: 0 20px 48px rgba(4,7,12,0.55); background: rgba(4,8,12,0.35); }
.lightbox-close { position: absolute; top: var(--space-4); right: var(--space-4); width: 40px; height: 40px; border-radius: 999px; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.32); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 18px; transition: background var(--transition-fast), transform var(--transition-fast); }
.lightbox-close:hover { background: rgba(255,255,255,0.24); transform: scale(1.05); }
.lightbox-close:active { transform: scale(0.96); }
.lightbox-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 999px; background: rgba(255,255,255,0.16); border: 1px solid rgba(255,255,255,0.25); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 28px; line-height: 1; transition: background var(--transition-fast), transform var(--transition-fast); backdrop-filter: blur(6px); }
.lightbox-nav:hover { background: rgba(255,255,255,0.28); transform: translateY(-50%) scale(1.06); }
.lightbox-nav:active { transform: translateY(-50%) scale(0.95); }
.lightbox-prev { left: clamp(var(--space-4), 4vw, var(--space-6)); }
.lightbox-next { right: clamp(var(--space-4), 4vw, var(--space-6)); }
.lightbox:not(.has-multiple) .lightbox-nav { display: none; }
.lightbox-caption { font-size: 14px; letter-spacing: 0.3px; color: rgba(236,238,242,0.88); text-align: center; }
.lightbox-caption[hidden] { display: none; }
.lightbox-counter { position: absolute; bottom: var(--space-4); right: var(--space-4); font-size: 12px; letter-spacing: 0.28em; text-transform: uppercase; color: rgba(255,255,255,0.65); }

@media (max-width: 720px){
  .lightbox figure { padding: var(--space-4); border-radius: var(--radius-lg); }
  .lightbox img { max-height: 60vh; }
  .lightbox-nav { width: 40px; height: 40px; font-size: 24px; }
  .lightbox-prev { left: var(--space-4); }
  .lightbox-next { right: var(--space-4); }
  .lightbox-counter { position: static; margin-top: var(--space-2); }
}

/* Filters */
.filters { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-bottom: var(--space-6); }
.filters select, .filters input { padding: 10px 14px; border: 1px solid var(--color-lines); border-radius: var(--radius-md); background: var(--color-bg); min-width: 160px; }

/* Forms */
form { width: 100%; max-width: 680px; display: grid; gap: var(--space-5); }
.field { display: flex; flex-direction: column; gap: 6px; }
.field label { font-weight: 600; font-size: 14px; letter-spacing: .5px; text-transform: uppercase; color: var(--color-subhead); }
.field input, .field textarea, .field select { padding: 14px 16px; border: 1px solid rgba(28,33,41,0.18); border-radius: var(--radius-md); background: var(--color-bg); resize: vertical; min-height: 52px; transition: border-color var(--transition-base), box-shadow var(--transition-base); }
.field input:focus, .field textarea:focus, .field select:focus { border-color: rgba(14,20,27,0.58); box-shadow: 0 0 0 2px rgba(14,20,27,0.08); outline: none; }
.required-star { color: var(--color-accent); margin-left: 4px; }
.form-meta { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Footer */
.site-footer { background: var(--color-bg-alt); border-top: 1px solid var(--color-lines); margin-top: clamp(var(--space-6), 6vw, var(--space-7)); }
.footer-top { padding: var(--space-8) 0; }
.footer-grid { display: grid; gap: var(--space-7); }
@media (min-width: 860px){ .footer-grid { grid-template-columns: repeat(3,1fr); }}
.site-footer h4 { font-family: var(--font-heading); font-size: 16px; letter-spacing: .5px; text-transform: uppercase; margin-bottom: var(--space-4); }
.footer-links { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.footer-links a { color: var(--color-subhead); font-size: 15px; }
.footer-links a:hover { color: var(--color-primary); }
.legal { border-top: 1px solid var(--color-lines); padding: var(--space-4) 0; font-size: 13px; color: var(--color-muted); }
.site-footer { background: linear-gradient(180deg,#050b12,#182a3c); color:#e6e7e8; margin-top: clamp(var(--space-6), 6vw, var(--space-7)); position:relative; overflow:hidden; }
.site-footer::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.06),transparent 60%), radial-gradient(circle at 80% 70%,rgba(255,255,255,.05),transparent 70%); opacity:.7; }
.footer-top { padding: var(--space-8) 0; position:relative; }
.footer-grid { display:grid; gap: var(--space-7); }
@media (min-width:860px){ .footer-grid { grid-template-columns: 320px 1fr 1fr 1fr; }}
.footer-brand { display:flex; flex-direction:column; gap:var(--space-4); }
.footer-brand img { width:160px; filter:drop-shadow(0 12px 32px rgba(0,0,0,.45)); }
.footer-copy { color:#c2c4c6; max-width:320px; }
.site-footer h4 { font-family: var(--font-heading); font-size:14px; letter-spacing:.6px; text-transform:uppercase; margin-bottom: var(--space-4); color:#fff; }
.footer-links { list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; }
.footer-links a { color: #cfd2d6; font-size:14px; transition:color var(--transition-fast); }
.footer-links a:hover { color:rgba(199,165,101,0.9); }
.footer-divider { height:1px; background:linear-gradient(90deg,transparent,rgba(199,165,101,0.4),transparent); margin: var(--space-6) 0 var(--space-5); }
.legal { border-top:1px solid rgba(255,255,255,.08); padding: var(--space-4) 0; font-size:12px; color:#9a9c9e; position:relative; }

.footer-enhanced.site-footer { margin-top: 0; }
.home-page main > .section-home-cta { padding-bottom: clamp(var(--space-4), 5vh, var(--space-6)); }
.footer-enhanced .footer-grid { gap: clamp(var(--space-5), 5vw, var(--space-7)); }
.footer-enhanced .footer-column { display: flex; flex-direction: column; gap: var(--space-3); width: 100%; }
.footer-enhanced .footer-column h4 { margin-bottom: var(--space-2); }
.footer-enhanced .footer-brand { align-items: center; justify-self: center; text-align: center; max-width: 320px; margin: 0 auto; gap: var(--space-2); }
.footer-enhanced .footer-copy { text-align: justify; text-align-last: center; margin: 0 auto; max-width: 360px; color: #d5d7da; line-height: 1.7; }
.footer-enhanced .footer-logo { width: 180px; max-width: 100%; margin: var(--space-1) auto 0; filter: drop-shadow(0 10px 24px rgba(0,0,0,0.35)); }
.footer-enhanced .footer-column:not(.footer-brand) { align-items: flex-start; text-align: left; max-width: 220px; margin: 0 auto; }
.footer-enhanced .footer-links { width: 100%; }
.footer-enhanced .footer-divider { max-width: 960px; margin: clamp(var(--space-5), 4vw, var(--space-6)) auto clamp(var(--space-4), 3vw, var(--space-5)); }
.footer-enhanced .legal { text-align: center; max-width: 640px; margin: 0 auto; }

@media (min-width: 860px){
  .footer-enhanced .footer-grid {
    grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(140px, 1fr));
    column-gap: clamp(var(--space-5), 5vw, var(--space-7));
    justify-content: center;
    align-items: start;
  }
  .footer-enhanced .footer-brand { padding-top: 0; }
  .footer-enhanced .footer-copy { margin-top: 0; }
}

@media (max-width: 720px){
  .footer-enhanced .footer-top { padding: clamp(var(--space-5), 6vw, var(--space-6)) 0 var(--space-5); }
  .footer-enhanced .footer-grid { display: flex; flex-direction: column; align-items: center; text-align: center; gap: clamp(var(--space-4), 6vw, var(--space-5)); }
  .footer-enhanced .footer-brand { order: 1; align-items: center; text-align: center; gap: var(--space-3); }
  .footer-enhanced .footer-logo { width: 132px; }
  .footer-enhanced .footer-copy { display: none; }
  .footer-enhanced .footer-column--explore { order: 2; width: 100%; align-items: center; gap: var(--space-2); }
  .footer-enhanced .footer-column--explore h4 { display: none; }
  .footer-enhanced .footer-column--explore .footer-links { flex-direction: row; flex-wrap: wrap; justify-content: center; column-gap: var(--space-4); row-gap: var(--space-2); }
  .footer-enhanced .footer-column--explore .footer-links li { position: relative; }
  .footer-enhanced .footer-column--explore .footer-links a { padding: 0; border: none; background: none; color: rgba(236,238,242,0.82); font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
  .footer-enhanced .footer-column--explore .footer-links a:hover { color: rgba(255,255,255,0.96); }
  .footer-enhanced .footer-column--engage { order: 3; width: 100%; align-items: center; gap: var(--space-3); }
  .footer-enhanced .footer-column--engage h4 { display: none; }
  .footer-enhanced .footer-column--engage .footer-links { width: 100%; gap: var(--space-3); align-items: center; }
  .footer-enhanced .footer-column--engage .footer-links a { display: inline-flex; align-items: center; justify-content: center; width: min(320px, 100%); padding: 14px 22px; border-radius: var(--radius-lg); font-weight: 600; letter-spacing: 0.04em; transition: background var(--transition-base), border-color var(--transition-base), color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base); }
  .footer-enhanced .footer-column--engage .footer-links li:first-child a { background: rgba(199,165,101,0.96); color: #0e141b; border: none; box-shadow: 0 18px 36px rgba(4,6,12,0.32); }
  .footer-enhanced .footer-column--engage .footer-links li:first-child a:hover { background: rgba(207,172,108,1); }
  .footer-enhanced .footer-column--engage .footer-links li:last-child a { background: transparent; border: 1px solid rgba(199,165,101,0.55); color: rgba(236,238,242,0.9); box-shadow: 0 14px 30px rgba(4,6,12,0.26); }
  .footer-enhanced .footer-column--engage .footer-links li:last-child a:hover { background: rgba(199,165,101,0.2); }
  .footer-enhanced .footer-column--quicklinks { display: none; }
  .footer-enhanced .footer-divider { margin: var(--space-5) auto var(--space-4); }
  .footer-enhanced .legal { padding-top: var(--space-3); font-size: 13px; }
}

  /* Blog */
  .breadcrumbs { display: flex; flex-wrap: wrap; gap: var(--space-2); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(35,38,45,0.58); }
  .breadcrumbs ol { display: inline-flex; flex-wrap: wrap; gap: var(--space-2); list-style: none; padding: 0; margin: 0; }
  .breadcrumbs li { display: inline-flex; align-items: center; gap: var(--space-2); }
  .breadcrumbs li:not(:last-child)::after { content: "›"; font-size: 12px; letter-spacing: 0; color: rgba(35,38,45,0.38); }
  .breadcrumbs a { color: rgba(35,38,45,0.68); transition: color var(--transition-fast); }
  .breadcrumbs a:hover { color: var(--color-accent); }

  .blog-article { position: relative; overflow: hidden; }
  .blog-article .container { max-width: 1140px; display: grid; gap: clamp(var(--space-5), 5vw, var(--space-7)); }
  .blog-article .section-heading { gap: var(--space-3); max-width: min(720px, 100%); }
  .blog-article .section-heading h1 { font-size: clamp(40px, 5vw, 62px); line-height: 1.08; }
  .blog-article .section-heading p { font-size: clamp(17px, 2vw, 20px); color: rgba(38,42,48,0.72); }
  .blog-article .hero-media { border-radius: var(--radius-xl); overflow: hidden; box-shadow: 0 24px 68px rgba(16,20,26,0.18); margin: 0; position: relative; isolation: isolate; }
  .blog-article .hero-media img { width: 100%; height: auto; object-fit: cover; transition: transform var(--transition-slow); }
  .blog-article .hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(140deg, rgba(255,255,255,0.1), rgba(8,12,18,0.12)); mix-blend-mode: soft-light; opacity: 0.5; pointer-events: none; }
  .blog-article .hero-media:hover img { transform: scale(1.02); }
  .blog-article .hero-media figcaption { padding: var(--space-3) var(--space-4); background: rgba(255,255,255,0.85); color: rgba(45,49,56,0.75); }

  .blog-layout { display: grid; gap: clamp(var(--space-6), 6vw, var(--space-8)); align-items: start; }
  @media (min-width: 1080px){ .blog-layout { grid-template-columns: minmax(0, 1.95fr) minmax(260px, 0.85fr); }}
  @media (max-width: 860px){ .blog-layout { grid-template-columns: 1fr; }}

  .blog-main { background: rgba(255,255,255,0.86); border: 1px solid rgba(199,165,101,0.12); border-radius: var(--radius-xl); box-shadow: 0 18px 48px rgba(20,24,30,0.12); padding: clamp(var(--space-5), 4vw, var(--space-6)); display: grid; gap: clamp(var(--space-5), 4vw, var(--space-6)); position: relative; overflow: hidden; }
  .blog-main::before { content: ""; position: absolute; inset: 0; background: linear-gradient(140deg, rgba(255,255,255,0.65), rgba(255,255,255,0.25)); mix-blend-mode: overlay; pointer-events: none; opacity: 0.65; }
  .blog-main > * { position: relative; z-index: 1; }
  .blog-main section + section { border-top: 1px solid rgba(199,165,101,0.14); padding-top: clamp(var(--space-5), 4vw, var(--space-6)); }
  .blog-main h2 { font-size: clamp(28px, 3vw, 36px); margin-bottom: var(--space-3); }
  .blog-main p { color: rgba(40,44,52,0.78); }
  .blog-main ul, .blog-main ol { padding-left: 1.25rem; display: grid; gap: var(--space-2); color: rgba(40,44,52,0.78); }
  .blog-main li::marker { color: rgba(199,165,101,0.8); }

  .blog-sidebar { display: grid; gap: var(--space-4); }
  .blog-sidebar .card { background: rgba(255,255,255,0.78); border: 1px solid rgba(199,165,101,0.18); box-shadow: 0 20px 44px rgba(15,19,25,0.12); padding: clamp(var(--space-5), 4vw, var(--space-6)); }
  .blog-sidebar h2 { font-size: clamp(18px, 1.8vw, 22px); font-family: var(--font-body); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(31,36,44,0.78); margin-bottom: var(--space-3); }
  .blog-sidebar ol, .blog-sidebar ul { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-3); }
  .blog-sidebar a { color: rgba(31,36,44,0.76); font-weight: 600; letter-spacing: 0.02em; transition: color var(--transition-fast); }
  .blog-sidebar a:hover { color: var(--color-accent); }

  .blog-cta { background: linear-gradient(140deg, rgba(199,165,101,0.18), rgba(255,255,255,0.65)); border: 1px solid rgba(199,165,101,0.28); box-shadow: 0 26px 52px rgba(18,22,30,0.16); border-radius: var(--radius-xl); padding: clamp(var(--space-5), 4vw, var(--space-6)); display: grid; gap: var(--space-3); }
  .blog-cta h3 { font-size: clamp(22px, 2.4vw, 28px); font-family: var(--font-heading); color: var(--color-primary); margin: 0; }
  .blog-cta p { margin: 0; color: rgba(35,39,46,0.78); }

  .blog-index-hero .section-heading { max-width: 720px; }
  .blog-index-hero .section-heading h1 { font-size: clamp(42px, 6vw, 64px); }

  .blog-index-list { position: relative; overflow: hidden; }
  .blog-index-list .container { position: relative; z-index: 1; }
  .blog-index-grid { display: grid; gap: clamp(var(--space-5), 4vw, var(--space-6)); grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
  .blog-index-grid .card { border-radius: var(--radius-lg); background: rgba(255,255,255,0.9); border: 1px solid rgba(199,165,101,0.18); box-shadow: 0 16px 42px rgba(16,20,26,0.14); }
  .blog-index-grid .card-content { gap: var(--space-3); }
  .blog-index-grid .card-content h2 { font-size: clamp(22px, 2.4vw, 26px); }
  .blog-index-grid .btn { align-self: flex-start; }

  .blog-index-label { font-size: 13px; letter-spacing: 0.32em; text-transform: uppercase; color: rgba(32,36,42,0.62); }

/* Utilities */
.max-w-prose { max-width: 760px; }
.center { margin-left: auto; margin-right: auto; }
.text-center { text-align: center; }
.mt-2 { margin-top: var(--space-2); }
.mt-3 { margin-top: var(--space-3); }
.mt-4 { margin-top: var(--space-4); }
.mt-5 { margin-top: var(--space-5); }
.mt-6 { margin-top: var(--space-6); }
.mt-7 { margin-top: var(--space-7); }
.mt-8 { margin-top: var(--space-8); }
.mb-0 { margin-bottom: 0; }
.fade-in { opacity: 0; transform: translateY(12px); animation: fadeInUp .8s var(--transition-base) forwards; }
@keyframes fadeInUp { to { opacity: 1; transform: translateY(0); } }

.reveal { opacity: 0; transform: translateY(20px); }
.reveal.visible { opacity: 1; transform: translateY(0); transition: opacity .8s var(--transition-base), transform .8s var(--transition-base); }

/* Media Queries (layout refinements) */
@media (min-width: 1024px){
  .hero { padding-top: calc(var(--space-9) + var(--header-height)); }
  .gallery-grid { grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); }
}

/* Print adjustments */
@media print {
  .site-header, .site-footer, .mobile-toggle, .filters, .btn, .lightbox { display: none !important; }
  body { background: #fff; }
}

/* Language Dropdown */
.lang-dropdown {
  position: relative;
  display: flex;
  align-items: center;
  margin-left: var(--space-4);
}

.lang-dropdown-btn {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--radius-sm);
  color: rgba(255,255,255,0.85);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.lang-dropdown-btn:hover {
  background: rgba(199,165,101,0.15);
  border-color: rgba(199,165,101,0.3);
  color: #fff;
}

.lang-dropdown-btn svg {
  width: 12px;
  height: 12px;
  transition: transform var(--transition-fast);
}

.lang-dropdown:hover .lang-dropdown-btn svg {
  transform: rotate(180deg);
}

.lang-dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 140px;
  background: rgba(10,14,19,0.98);
  border: 1px solid rgba(199,165,101,0.25);
  border-radius: var(--radius-sm);
  padding: var(--space-2) 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all var(--transition-base);
  box-shadow: 0 12px 32px rgba(0,0,0,0.4);
  z-index: 100;
}

.lang-dropdown:hover .lang-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.lang-dropdown-menu a {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  color: rgba(255,255,255,0.75);
  font-size: 13px;
  font-weight: 500;
  transition: all var(--transition-fast);
}

.lang-dropdown-menu a:hover {
  background: rgba(199,165,101,0.15);
  color: #fff;
}

.lang-dropdown-menu a.active {
  color: var(--color-accent);
  background: rgba(199,165,101,0.08);
}

@media (max-width: 860px) {
  .lang-dropdown {
    margin-left: 0;
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top: 1px solid rgba(255,255,255,0.1);
    width: 100%;
  }
  
  .lang-dropdown-btn {
    width: 100%;
    justify-content: space-between;
  }
  
  .lang-dropdown-menu {
    position: absolute;
    bottom: calc(100% + 8px);
    top: auto;
    left: 0;
    right: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    margin-top: 0;
    background: rgba(10,14,19,0.98);
    border: 1px solid rgba(199,165,101,0.25);
    box-shadow: 0 -12px 32px rgba(0,0,0,0.4);
  }
  
  .lang-dropdown.open .lang-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  
  .lang-dropdown.open .lang-dropdown-btn svg {
    transform: rotate(180deg);
  }
}
