.fr-home { background:#f6f1e8; color:#20160f; }
.fr-container { width:min(1120px, 92%); margin:0 auto; }

.fr-home-hero{
  position:relative;
  min-height: 640px;
  background:#2b1a10;
  background-size:cover;
  background-position:center;
}
.fr-home-hero__overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.35) 40%, rgba(0,0,0,.25));
}
.fr-home-hero__inner{ position:relative; z-index:2; padding:110px 0 56px; text-align:center; }
.fr-home-hero__title{ color:#fff; font-size:clamp(34px,4.2vw,60px); margin:0 0 10px; line-height:1.05; }
.fr-home-hero__sub{ color:rgba(255,255,255,.86); max-width:70ch; margin:0 auto 20px; }

.fr-home-hero__buttons{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:22px; }

.fr-btn{ display:inline-block; padding:12px 16px; border-radius:10px; background:#f18c37; color:#1b120c; text-decoration:none; font-weight:800; }
.fr-btn--ghost{ background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.22); }

.fr-filterbar{
  width:min(980px, 96%);
  margin: 0 auto;
  background: rgba(255,255,255,.92);
  border-radius: 14px;
  padding: 12px;
  box-shadow: 0 18px 40px rgba(0,0,0,.18);
}
.fr-filterbar__grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 10px;
  align-items:end;
}
.fr-field span{ display:block; font-size:12px; color:rgba(32,22,15,.65); margin:0 0 6px; }
.fr-field select{
  width:100%; border-radius:10px; border:1px solid rgba(32,22,15,.12);
  padding: 12px 12px; background:#fff;
}
.fr-filterbar__btn{ height: 46px; }

.fr-section{ padding:56px 0; }
.fr-kicker{ color:#f18c37; font-size:11px; letter-spacing:.22em; text-transform:uppercase; margin:0 0 10px; }
.fr-h2{ font-size:clamp(24px,2.3vw,36px); margin:0 0 12px; }
.fr-muted{ color:rgba(32,22,15,.6); }
.fr-richtext{ color:rgba(32,22,15,.86); line-height:1.7; }

.fr-home-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }

.fr-home-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:18px; }
.fr-cardlink{ text-decoration:none; color:inherit; }
.fr-card{ background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 14px 34px rgba(0,0,0,.08); height:100%; }
.fr-card__img{ position:relative; }
.fr-card__img img{ width:100%; height:190px; object-fit:cover; display:block; }
.fr-card__badge{ position:absolute; top:10px; left:10px; background:#f18c37; color:#1b120c; font-weight:900; font-size:12px; padding:6px 10px; border-radius:999px; }
.fr-card__body{ padding:14px; }
.fr-card__loc{ margin:0 0 6px; font-size:12px; color:rgba(32,22,15,.62); }
.fr-card__title{ margin:0 0 10px; font-size:18px; }
.fr-card__price{ margin:10px 0 0; font-size:13px; color:rgba(32,22,15,.72); }

.fr-chip{ display:inline-block; padding:7px 10px; border-radius:999px; background:rgba(241,140,55,.15); color:#a85f20; border:1px solid rgba(241,140,55,.28); font-size:12px; letter-spacing:.06em; text-transform:uppercase; }

.fr-home-tiles{ background: linear-gradient(180deg, rgba(32,22,15,.06), rgba(32,22,15,0)); }
.fr-tiles{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:16px; }
.fr-tile{
  position:relative; height:260px; border-radius:16px; overflow:hidden;
  background: rgba(32,22,15,.14);
  text-decoration:none; color:#fff;
  display:flex; align-items:flex-end; padding:16px;
  box-shadow:0 16px 40px rgba(0,0,0,.10);
}
.fr-tile span{ font-size:18px; font-weight:900; text-shadow:0 8px 24px rgba(0,0,0,.35); }

.fr-grid-2{ display:grid; grid-template-columns:1.05fr .95fr; gap:34px; align-items:center; }
.fr-card.fr-media img{ width:100%; height:auto; display:block; }

.fr-home-icons{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:18px; }
.fr-home-icons strong{ display:block; }
.fr-home-icons span{ display:block; color:rgba(32,22,15,.70); font-size:13px; margin-top:4px; }

.fr-home-newsletter__box{
  width:min(760px, 96%); margin: 18px auto 0;
  background:#fff; border-radius:16px; padding:18px;
  box-shadow:0 14px 34px rgba(0,0,0,.08);
}

@media (max-width: 980px){
  .fr-filterbar__grid{ grid-template-columns: 1fr; }
  .fr-home-cards{ grid-template-columns:repeat(2,1fr); }
  .fr-tiles{ grid-template-columns:repeat(2,1fr); }
  .fr-grid-2{ grid-template-columns:1fr; }
}
@media (max-width: 560px){
  .fr-home-cards{ grid-template-columns:1fr; }
  .fr-tiles{ grid-template-columns:1fr; }
  .fr-home-icons{ grid-template-columns:1fr; }
}
