/* Home page hero carousel. Needs nav.css first. */
.bc-hero{font-family:'Inter',-apple-system,sans-serif;-webkit-font-smoothing:antialiased;font-weight:300;line-height:1.55}
:where(.bc-hero) *{box-sizing:border-box;margin:0;padding:0}
:where(.bc-hero) a{text-decoration:none;color:inherit}

/* Hero */
.bc-hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 0 0;overflow:hidden;color:#fff;background:#191815}
.bc-hero-media{position:absolute;inset:0;overflow:hidden}
.bc-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transform:scale(1.06);transition:opacity 1.2s ease,transform 6s ease}
.bc-hero-img.is-active{opacity:1;transform:scale(1)}
.bc-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,14,12,.55),rgba(15,14,12,.18) 40%,rgba(15,14,12,.65))}
.bc-hero-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;flex:1;padding-top:40px;padding-bottom:40px}
.bc-slidecount{display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.8);font-size:13px;order:-1}
.bc-slidecount i{width:1px;height:34px;background:rgba(255,255,255,.4)}
.bc-glass{background:rgba(255,255,255,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.18);padding:52px 48px;max-width:620px;color:#fff}
.bc-glass .bc-eyebrow{color:rgba(255,255,255,.78)}
.bc-glass h1,.bc-glass .bc-h{text-transform:none;margin:0;font-family:inherit;font-weight:300;letter-spacing:-0.02em;line-height:1.08;font-size:clamp(38px,5.4vw,78px) !important;color:#fff}
.bc-lede{line-height:1.55;margin:22px 0 30px;color:rgba(255,255,255,.85);font-size:16px;max-width:44ch}
.bc-glass .bc-linkarrow{color:#fff;border-color:rgba(255,255,255,.6)}
.bc-nextproj{background:none;font-family:inherit;cursor:pointer;width:96px;height:96px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;transition:color .3s,background-color .3s,border-color .3s}
.bc-nextproj:hover{background:rgba(255,255,255,.15)}
.bc-searchbar{position:relative;width:100%;max-width:1240px;margin:0 auto 46px;padding:0 40px;display:flex}
.bc-searchbar label{flex:1;background:rgba(255,255,255,.94);padding:16px 24px;border-right:1px solid var(--bc-line);display:flex;flex-direction:column;gap:4px}
.bc-searchbar label span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--bc-muted)}
.bc-searchbar select{border:0;background:transparent;font-family:inherit;font-size:15px;color:var(--bc-ink);outline:none;cursor:pointer}
.bc-searchbar .bc-btn{height:auto;padding:0 34px}
@media(max-width:720px){
  .bc-searchbar{padding:0 22px}
  .bc-glass{padding:34px 26px}
  .bc-hero-inner{padding-top:20px}
  .bc-slidecount,.bc-nextproj{display:none}
  .bc-searchbar{flex-direction:column}
  .bc-searchbar label{border-right:0;border-bottom:1px solid var(--bc-line)}
  .bc-searchbar .bc-btn{height:54px}
}

/* Hero carousel: slides share one grid cell and crossfade */
.bc-slides{display:grid;max-width:620px;flex:1}
.bc-slides .bc-glass{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease,visibility 0s .7s}
.bc-slides .bc-glass.is-active{opacity:1;visibility:inherit;transform:none;transition:opacity .7s ease .25s,transform .7s ease .25s,visibility 0s}
.bc-slidecount span:first-child{min-width:2ch;text-align:center}
@media(max-width:720px){
  /* Next button is hidden at the 720px breakpoint above, so keep a compact one on phones */
  .bc-nextproj{display:flex;position:absolute;right:22px;bottom:6px;width:64px;height:64px;font-size:9px}
  .bc-hero-inner{padding-bottom:70px}
}
@media(prefers-reduced-motion:reduce){
  .bc-hero-img,.bc-slides .bc-glass{transition:none;transform:none}
}

/* ---- Phones: one screen tall, with a headline sized to the screen ---- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}   /* stop iOS enlarging the hero text */
@media(max-width:720px){
  .bc-hero{min-height:100vh;min-height:100svh;padding-top:92px}
  .bc-hero-inner{padding-top:8px;padding-bottom:64px}
  .bc-slides{max-width:none}
  .bc-glass{padding:26px 22px}
  .bc-glass .bc-eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:12px}
  .bc-glass h1,.bc-glass .bc-h{font-size:clamp(28px,8.4vw,36px) !important;line-height:1.1}
  .bc-lede{font-size:14.5px;line-height:1.55;margin:14px 0 20px}
  .bc-glass .bc-linkarrow{font-size:11px}

  /* Search: two columns (Location | Type, Price | Search) instead of four stacked rows */
  .bc-searchbar{display:grid;grid-template-columns:1fr 1fr;margin-bottom:22px;padding:0 20px}
  .bc-searchbar label{padding:10px 14px;border-bottom:1px solid var(--bc-line)}
  .bc-searchbar label:nth-child(odd){border-right:1px solid var(--bc-line)}
  .bc-searchbar label span{font-size:9px}
  .bc-searchbar select{font-size:14px;width:100%}
  .bc-searchbar .bc-btn{height:auto;min-height:52px;padding:0 12px;font-size:11px;letter-spacing:.1em}
  .bc-nextproj{width:54px;height:54px;font-size:8px;bottom:4px;right:20px}
}
@media(max-width:380px){
  .bc-glass{padding:22px 18px}
  .bc-hero-inner{padding-left:16px;padding-right:16px}
  .bc-searchbar{padding:0 16px}
  .bc-lede{font-size:14px}
}
/* Short phones (and landscape): drop the subtitle so the card and search still fit */
@media(max-width:720px) and (max-height:640px){
  .bc-lede{display:none}
  .bc-glass h1,.bc-glass .bc-h{margin-bottom:16px}
}

/* WhatsApp button: on phones it appears 2 minutes after the page loads (see home-featured.js) */
@media(max-width:720px){
  .chat_btn{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s,visibility .4s}
  .chat_btn.is-ready{opacity:1;visibility:visible;pointer-events:auto}
}

/* "Explore listings by country" cards: the live home count sits on its own line */
.swiper-slide .people__card .slide__count{display:block;margin-top:10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.swiper-slide .people__card .slide__count:empty{display:none}

/* Phones: cards grow with their text (same height across the carousel), button pinned to the bottom */
@media(max-width:767px){
  .swiper-slide:has(.people__card){height:auto;display:flex}
  .swiper-slide .people__card{height:auto;min-height:420px;flex:1;display:flex}
  .swiper-slide .people__card .people__card__content{height:auto;flex:1;padding:26px 22px 24px}
  .swiper-slide .people__card .people__card__content .slide__number{margin-bottom:8px;font-size:17px}
  .swiper-slide .people__card .people__card__content .slide__title{margin-bottom:12px;font-size:30px}
  .swiper-slide .people__card .people__card__content .slide__subtitle{max-width:100%;margin-bottom:22px;font-size:14px;line-height:1.55}
  .swiper-slide .people__card .people__card__content .slide__btn{margin-top:auto;padding:9px 18px}
  .swiper-slide .people__card .people__card__content .slide__btn .slide__btn__text{font-size:15px}
}
