/* HOME PAGE — ported from 02-page-home.html */
.bv-home { font-family: 'Barlow', sans-serif; max-width: 100%; }
.bv-home * { box-sizing: border-box; margin: 0; padding: 0; }

/* HERO */
.bv-hero { background: #085041; padding: 5rem 3rem 4rem; display: grid; grid-template-columns: 1.05fr 1fr; gap: 3rem; align-items: center; }
.bv-ey { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: #9FE1CB; margin-bottom: 0.85rem; font-weight: 500; }
.bv-hh { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(40px, 6vw, 64px); font-weight: 900; line-height: 0.92; color: #fff; text-transform: uppercase; margin-bottom: 1.25rem; }
.bv-hh em { color: #9FE1CB; font-style: normal; }
.bv-hs { font-size: 16px; color: rgba(255,255,255,0.72); line-height: 1.65; max-width: 460px; margin-bottom: 2.25rem; font-weight: 300; }
.bv-ctas { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.bv-btn-p { display: inline-block; background: #D85A30; color: #fff; padding: 13px 26px; border-radius: 4px; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.bv-btn-p:hover { background: #C04E28; color: #fff; }
.bv-btn-s { color: #9FE1CB; font-size: 14px; font-weight: 500; cursor: pointer; letter-spacing: 0.03em; text-decoration: none; }

/* HERO SLIDESHOW — contained window, not full-bleed */
.bv-ss-window { position: relative; width: 100%; height: 425px; border-radius: 12px; overflow: hidden; border: 1px solid rgba(159,225,203,0.25); }
.bv-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1s ease-in-out; }
.bv-slide.active { opacity: 1; }
.bv-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bv-ph-cap { position: absolute; bottom: 0; left: 0; right: 0; padding: 10px 14px 14px; background: linear-gradient(180deg, rgba(8,80,65,0) 0%, rgba(8,80,65,0.65) 100%); font-size: 12px; color: rgba(255,255,255,0.9); font-weight: 500; }
.bv-ss-dots { position: absolute; bottom: 10px; left: 0; right: 0; display: flex; justify-content: center; gap: 6px; z-index: 2; }
.bv-ss-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,0.4); cursor: pointer; transition: background 0.3s ease, width 0.3s ease; border: none; padding: 0; }
.bv-ss-dot.active { background: #9FE1CB; width: 18px; border-radius: 3px; }
.bv-ss-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border-radius: 50%; background: rgba(8,80,65,0.55); border: 1px solid rgba(159,225,203,0.3); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 2; font-size: 16px; }
.bv-ss-arrow:hover { background: rgba(8,80,65,0.8); }
.bv-ss-arrow.prev { left: 10px; }
.bv-ss-arrow.next { right: 10px; }

/* TRUST BAR */
.bv-trust { background: #E1F5EE; padding: 0.9rem 2.5rem; display: flex; gap: 1.5rem; flex-wrap: wrap; border-bottom: 1px solid rgba(15,110,86,0.15); }
.bv-ti { display: flex; align-items: center; gap: 7px; font-size: 12px; color: #0F6E56; font-weight: 500; font-family: 'Barlow', sans-serif; }
.bv-dot { width: 6px; height: 6px; border-radius: 50%; background: #1D9E75; flex-shrink: 0; }

/* SECTIONS */
.bv-sec { padding: 3.5rem 3rem; }
.bv-sec-alt { background: #F3F1EB; }
.bv-slbl { font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: #1D9E75; font-weight: 500; margin-bottom: 0.6rem; font-family: 'Barlow', sans-serif; }
.bv-sh { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(28px, 4vw, 42px); font-weight: 700; text-transform: uppercase; line-height: 1; margin-bottom: 0.75rem; color: #085041; }
.bv-sb { font-size: 15px; line-height: 1.7; color: #5A5A5A; max-width: 560px; font-family: 'Barlow', sans-serif; }

/* ROOMS GRID */
.bv-rg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; margin-top: 2rem; }
.bv-rc { background: #fff; border: 0.5px solid rgba(0,0,0,0.1); border-radius: 12px; overflow: hidden; }
.bv-ri { height: 100px; display: flex; align-items: center; justify-content: center; font-size: 36px; }
.bv-rb { padding: 0.9rem; }
.bv-rt { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: #1D9E75; font-weight: 600; margin-bottom: 3px; font-family: 'Barlow', sans-serif; }
.bv-rn { font-family: 'Barlow Condensed', sans-serif; font-size: 20px; font-weight: 700; text-transform: uppercase; margin-bottom: 6px; color: #085041; }
.bv-rr { font-size: 13px; color: #5A5A5A; font-family: 'Barlow', sans-serif; }
.bv-rr strong { color: #D85A30; font-size: 18px; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; }
.bv-tags { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 8px; }
.bv-tag { font-size: 10px; background: #E1F5EE; color: #0F6E56; padding: 2px 8px; border-radius: 20px; font-weight: 500; font-family: 'Barlow', sans-serif; }

/* ATTRACTION CARDS */
.bv-ag { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; margin-top: 1.5rem; }
.bv-ac { background: #fff; border: 0.5px solid rgba(0,0,0,0.1); border-radius: 12px; padding: 1.1rem; display: flex; gap: 0.85rem; align-items: flex-start; }
.bv-ai { width: 44px; height: 44px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; }
.bv-at { font-weight: 500; font-size: 14px; margin-bottom: 3px; color: #085041; font-family: 'Barlow', sans-serif; }
.bv-ad { font-size: 12px; color: #1D9E75; font-weight: 500; margin-bottom: 4px; font-family: 'Barlow', sans-serif; }
.bv-ab { font-size: 12px; color: #5A5A5A; line-height: 1.55; font-family: 'Barlow', sans-serif; }

/* ABOUT RIBBON */
.bv-rib { background: #085041; padding: 3.5rem 3rem; display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: center; }
.bv-ral { font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; color: #9FE1CB; font-weight: 500; margin-bottom: 0.6rem; font-family: 'Barlow', sans-serif; }
.bv-rah { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(34px, 4.5vw, 48px); font-weight: 900; text-transform: uppercase; line-height: 0.95; color: #fff; margin-bottom: 1.1rem; }
.bv-rah em { color: #9FE1CB; font-style: normal; }
.bv-rab { font-size: 14px; color: rgba(255,255,255,0.72); line-height: 1.7; font-family: 'Barlow', sans-serif; }
.bv-stats { display: flex; flex-direction: column; gap: 1.4rem; }
.bv-stat { border-left: 3px solid #9FE1CB; padding-left: 1.1rem; border-radius: 0; }
.bv-sn { font-family: 'Barlow Condensed', sans-serif; font-size: 40px; font-weight: 900; color: #fff; line-height: 1; }
.bv-sd { font-size: 10px; color: rgba(255,255,255,0.6); letter-spacing: 0.06em; text-transform: uppercase; margin-top: 2px; font-family: 'Barlow', sans-serif; }

@media (max-width: 680px) {
  .bv-hero { grid-template-columns: 1fr; padding: 3rem 1.5rem; }
  .bv-ss-window { height: 300px; }
  .bv-rg { grid-template-columns: 1fr; }
  .bv-ag { grid-template-columns: 1fr; }
  .bv-rib { grid-template-columns: 1fr; gap: 2rem; padding: 2.5rem 1.5rem; }
  .bv-sec { padding: 2.5rem 1.5rem; }
  .bv-trust { padding: 0.85rem 1.5rem; gap: 0.85rem; }
}
