.s2-home { --s2-ink: var(--color-text); --s2-muted: var(--color-muted); --s2-surface: var(--color-surface); --s2-line: var(--color-border); --s2-green: var(--color-primary); --s2-gold: var(--color-accent); background: var(--color-background); color: var(--s2-ink); }
.s2-home *, .s2-home *::before, .s2-home *::after { box-sizing: border-box; }
.s2-main { overflow: clip; }
.s2-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.s2-band { padding: 72px 0; }
.s2-band:nth-of-type(odd) { background: color-mix(in srgb, var(--color-surface) 88%, var(--color-background)); }
.s2-hero { position: relative; min-height: min(760px, calc(100svh - 72px)); display: grid; align-items: center; isolation: isolate; color: #fff; }
.s2-hero-media, .s2-hero-overlay { position: absolute; inset: 0; }
.s2-hero-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82); }
.s2-hero-overlay { background: linear-gradient(90deg, rgba(10,27,22,.92) 0%, rgba(10,27,22,.76) 48%, rgba(10,27,22,.34) 76%, rgba(10,27,22,.18) 100%); }
[dir="rtl"] .s2-hero-overlay { background: linear-gradient(270deg, rgba(10,27,22,.92) 0%, rgba(10,27,22,.76) 48%, rgba(10,27,22,.34) 76%, rgba(10,27,22,.18) 100%); }
.s2-hero-content { position: relative; z-index: 1; width: min(1180px, calc(100% - 40px)); margin-inline: auto; padding: 72px 0 64px; }
.s2-eyebrow, .s2-kicker, .s2-section-head > div > p, .s2-cta > .s2-container > div > p { margin: 0 0 12px; color: #d7b66f; font-size: 13px; line-height: 1.4; font-weight: 800; text-transform: uppercase; }
.s2-hero h1 { margin: 0; color: #fff; font-size: clamp(48px, 7vw, 88px); line-height: .98; font-weight: 800; letter-spacing: 0; }
.s2-hero-promise { margin: 16px 0 0; max-width: 780px; color: #fff; font-size: clamp(26px, 3.3vw, 44px); line-height: 1.14; font-weight: 700; }
.s2-hero-summary { max-width: 700px; margin: 20px 0 0; color: rgba(255,255,255,.84); font-size: 18px; line-height: 1.7; }
.s2-hero-actions, .s2-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.s2-btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 20px; border: 1px solid transparent; border-radius: var(--radius-md); font-size: 15px; font-weight: 800; text-decoration: none; transition: transform .18s ease, background-color .18s ease, border-color .18s ease; }
.s2-btn:hover { transform: translateY(-1px); }
.s2-btn .ui-icon { width: 19px; height: 19px; }
.s2-btn-primary { background: var(--s2-gold); color: #16231d; }
.s2-btn-secondary { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.09); color: #fff; backdrop-filter: blur(8px); }
.s2-global-search { width: min(920px, 100%); margin-top: 38px; display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 9px; background: #fff; border-radius: var(--radius-lg); box-shadow: 0 18px 44px rgba(0,0,0,.22); color: #16231d; }
.s2-search-input-wrap { position: relative; min-width: 0; display: flex; align-items: center; }
.s2-search-icon { flex: 0 0 auto; width: 22px; height: 22px; margin-inline: 12px 4px; color: #52635c; }
.s2-global-search input { width: 100%; min-height: 52px; border: 0; outline: 0; background: transparent; color: #16231d; font-size: 17px; }
.s2-global-search input::placeholder { color: #6b7973; opacity: 1; }
.s2-search-submit { min-width: 126px; min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: var(--radius-md); background: var(--s2-green); color: #fff; font-size: 15px; font-weight: 800; cursor: pointer; }
.s2-suggestions { position: absolute; z-index: 20; top: calc(100% + 12px); inset-inline: 0; padding: 8px; background: var(--s2-surface); color: var(--s2-ink); border: 1px solid var(--s2-line); border-radius: var(--radius-md); box-shadow: var(--shadow-lg); }
.s2-suggestions button { width: 100%; min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 10px; border: 0; border-radius: var(--radius-sm); background: transparent; color: inherit; text-align: start; cursor: pointer; }
.s2-suggestions button:hover, .s2-suggestions button:focus-visible { background: var(--color-hover); }
.s2-suggestions button span { display: inline-flex; align-items: center; gap: 9px; font-weight: 700; }
.s2-suggestions button small { color: var(--s2-muted); }
.s2-search-hints { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 12px; color: rgba(255,255,255,.72); font-size: 13px; }
.s2-search-hints button { border: 0; border-bottom: 1px solid rgba(255,255,255,.46); background: transparent; color: #fff; padding: 3px 2px; cursor: pointer; }
.s2-section-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 28px; }
.s2-section-head > div > p, .s2-kicker { color: var(--s2-gold); }
.s2-section-head h2, .s2-map-copy h2, .s2-cta h2 { margin: 0; color: var(--s2-ink); font-size: clamp(28px, 3.2vw, 42px); line-height: 1.14; font-weight: 800; letter-spacing: 0; }
.s2-section-head > p { max-width: 500px; margin: 0; color: var(--s2-muted); line-height: 1.7; }
.s2-section-head-centered { display: block; max-width: 780px; margin-inline: auto; text-align: center; }
.s2-section-head-centered > p { margin: 14px auto 0; }
.s2-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.s2-action-card { min-height: 106px; display: flex; align-items: center; gap: 16px; padding: 20px; border: 1px solid var(--s2-line); border-radius: var(--radius-md); background: var(--s2-surface); color: var(--s2-ink); text-decoration: none; box-shadow: var(--shadow-sm); transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.s2-action-card:hover { transform: translateY(-2px); border-color: var(--s2-gold); box-shadow: var(--shadow-md); }
.s2-action-card > .ui-icon { flex: 0 0 auto; width: 28px; height: 28px; color: var(--s2-green); }
.s2-action-card span { min-width: 0; display: grid; gap: 5px; }
.s2-action-card strong { font-size: 17px; }
.s2-action-card small { color: var(--s2-muted); font-size: 13px; line-height: 1.4; }
.s2-text-link, .s2-card-link { display: inline-flex; align-items: center; gap: 7px; color: var(--s2-green); font-weight: 800; text-decoration: none; }
.s2-text-link .ui-icon, .s2-card-link .ui-icon { width: 17px; height: 17px; }
.s2-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--s2-line); border-radius: var(--radius-md); background: var(--s2-surface); overflow: hidden; box-shadow: var(--shadow-sm); }
.s2-stat-grid article { min-height: 154px; display: flex; flex-direction: column; justify-content: center; padding: 24px; border-inline-end: 1px solid var(--s2-line); }
.s2-stat-grid article:last-child { border-inline-end: 0; }
.s2-stat-grid span { color: var(--s2-muted); font-size: 13px; font-weight: 700; }
.s2-stat-grid strong { margin: 8px 0 5px; color: var(--s2-green); font-size: 34px; line-height: 1; }
.s2-stat-grid small { color: var(--s2-muted); }
.s2-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--s2-line); border: 1px solid var(--s2-line); border-radius: var(--radius-md); overflow: hidden; }
.s2-benefit-grid article { min-height: 220px; padding: 30px; background: var(--s2-surface); }
.s2-benefit-grid .ui-icon { width: 28px; height: 28px; color: var(--s2-gold); }
.s2-benefit-grid h3 { margin: 22px 0 10px; font-size: 19px; }
.s2-benefit-grid p { margin: 0; color: var(--s2-muted); line-height: 1.7; }
.s2-carousel-controls { display: flex; gap: 8px; }
.s2-carousel-controls button { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--s2-line); border-radius: 50%; background: var(--s2-surface); color: var(--s2-ink); cursor: pointer; }
.s2-carousel-controls .ui-icon { width: 19px; height: 19px; }
.s2-property-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px, 31.8%); gap: 18px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: thin; padding: 2px 2px 18px; }
.s2-property-card { scroll-snap-align: start; min-width: 0; overflow: hidden; border: 1px solid var(--s2-line); border-radius: var(--radius-md); background: var(--s2-surface); box-shadow: var(--shadow-sm); }
.s2-property-media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--color-neutral-100); }
.s2-property-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.s2-property-card:hover .s2-property-media img { transform: scale(1.025); }
.s2-ai-badge { position: absolute; inset-block-start: 12px; inset-inline-start: 12px; padding: 6px 9px; border-radius: var(--radius-sm); background: rgba(15,35,27,.88); color: #fff; font-size: 11px; font-weight: 800; }
.s2-property-body { padding: 18px; }
.s2-property-price { color: var(--s2-green); font-size: 21px; }
.s2-property-body h3 { margin: 8px 0; font-size: 18px; line-height: 1.35; }
.s2-property-body h3 a { color: var(--s2-ink); text-decoration: none; }
.s2-property-body > p { min-height: 42px; display: flex; gap: 7px; margin: 0; color: var(--s2-muted); font-size: 13px; line-height: 1.55; }
.s2-property-body > p .ui-icon { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 2px; }
.s2-property-body dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0; padding: 14px 0; border-block: 1px solid var(--s2-line); }
.s2-property-body dl div { min-width: 0; }
.s2-property-body dt { color: var(--s2-muted); font-size: 11px; }
.s2-property-body dd { margin: 4px 0 0; overflow: hidden; color: var(--s2-ink); font-size: 13px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.s2-map-layout { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); gap: 54px; align-items: center; }
.s2-map-copy > p:not(.s2-kicker) { margin: 18px 0; color: var(--s2-muted); font-size: 16px; line-height: 1.75; }
.s2-map-copy ul { display: grid; gap: 12px; margin: 24px 0; padding: 0; list-style: none; }
.s2-map-copy li { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.s2-map-copy li .ui-icon { width: 19px; height: 19px; color: var(--s2-gold); }
.s2-map-frame { overflow: hidden; border: 1px solid var(--s2-line); border-radius: var(--radius-md); background: var(--s2-surface); box-shadow: var(--shadow-md); }
.s2-map-toolbar { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; border-bottom: 1px solid var(--s2-line); }
.s2-map-toolbar > span:first-child { display: grid; }
.s2-map-toolbar small { color: var(--s2-muted); }
.s2-live-dot { display: inline-flex; align-items: center; gap: 7px; color: var(--color-success); font-size: 12px; font-weight: 800; }
.s2-live-dot::before { width: 7px; height: 7px; border-radius: 50%; background: currentColor; content: ""; }
.s2-map { height: 420px; background: var(--color-neutral-100); }
.s2-map-fallback { height: 100%; display: grid; place-content: center; gap: 8px; text-align: center; color: var(--s2-muted); }
.s2-map-fallback strong { color: var(--s2-ink); }
.s2-map .leaflet-control-attribution { font-size: 9px; }
.s2-map-popup { display: grid; gap: 4px; min-width: 150px; }
.s2-map-popup span { color: #52635c; font-size: 12px; }
.s2-trust { padding-block: 56px; }
.s2-trust-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid var(--s2-line); }
.s2-trust-grid article { min-height: 106px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 20px; border-inline-end: 1px solid var(--s2-line); text-align: center; }
.s2-trust-grid article:last-child { border-inline-end: 0; }
.s2-trust-grid .ui-icon { width: 22px; height: 22px; color: var(--s2-gold); }
.s2-cta { padding: 64px 0; background: #123f31; color: #fff; }
.s2-cta > .s2-container { display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.s2-cta h2 { max-width: 720px; color: #fff; }
.s2-cta > .s2-container > div > span { display: block; margin-top: 12px; color: rgba(255,255,255,.76); }
.s2-cta-actions { flex: 0 0 auto; margin: 0; }
.s2-btn-light { background: #fff; color: #123f31; }
.s2-btn-outline-light { border-color: rgba(255,255,255,.5); color: #fff; }
.s2-home .leaflet-container a { color: #123f31; }
[data-bs-theme="dark"] .s2-hero-overlay { background: linear-gradient(90deg, rgba(5,16,12,.95), rgba(5,16,12,.74) 58%, rgba(5,16,12,.32)); }
[dir="rtl"][data-bs-theme="dark"] .s2-hero-overlay { background: linear-gradient(270deg, rgba(5,16,12,.95), rgba(5,16,12,.74) 58%, rgba(5,16,12,.32)); }
@media (max-width: 980px) {
  .s2-band { padding: 58px 0; }
  .s2-action-grid, .s2-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .s2-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .s2-stat-grid article:nth-child(2) { border-inline-end: 0; }
  .s2-stat-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--s2-line); }
  .s2-property-track { grid-auto-columns: minmax(300px, 47%); }
  .s2-map-layout { grid-template-columns: 1fr; gap: 30px; }
  .s2-map-copy { max-width: 700px; }
  .s2-trust-grid { grid-template-columns: repeat(2, 1fr); }
  .s2-trust-grid article:nth-child(2) { border-inline-end: 0; }
  .s2-trust-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--s2-line); }
  .s2-cta > .s2-container { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 640px) {
  .s2-container, .s2-hero-content { width: min(100% - 28px, 1180px); }
  .s2-band { padding: 44px 0; }
  .s2-hero { min-height: 720px; align-items: end; }
  .s2-hero-content { padding: 76px 0 34px; }
  .s2-hero h1 { font-size: 48px; }
  .s2-hero-promise { font-size: 27px; }
  .s2-hero-summary { font-size: 15px; }
  .s2-hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .s2-btn { padding-inline: 14px; font-size: 13px; }
  .s2-global-search { grid-template-columns: 1fr; margin-top: 24px; padding: 7px; }
  .s2-global-search input { font-size: 16px; }
  .s2-search-submit { width: 100%; min-height: 46px; }
  .s2-search-hints { display: none; }
  .s2-section-head { align-items: flex-start; flex-direction: column; gap: 12px; }
  .s2-section-head h2, .s2-map-copy h2, .s2-cta h2 { font-size: 29px; }
  .s2-action-grid { grid-template-columns: 1fr; gap: 10px; }
  .s2-action-card { min-height: 86px; padding: 16px; }
  .s2-stat-grid { grid-template-columns: 1fr 1fr; }
  .s2-stat-grid article { min-height: 128px; padding: 16px; }
  .s2-stat-grid strong { font-size: 28px; }
  .s2-benefit-grid { grid-template-columns: 1fr; }
  .s2-benefit-grid article { min-height: 0; padding: 24px; }
  .s2-property-track { grid-auto-columns: 86%; }
  .s2-map { height: 360px; }
  .s2-trust-grid { grid-template-columns: 1fr; }
  .s2-trust-grid article, .s2-trust-grid article:nth-child(2) { min-height: 74px; border-inline-end: 0; border-bottom: 1px solid var(--s2-line); }
  .s2-trust-grid article:last-child { border-bottom: 0; }
  .s2-cta-actions { width: 100%; display: grid; grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .s2-home *, .s2-home *::before, .s2-home *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
