/* Typography & colors */
:root{
  --brand:#6b1d1d;    /* deep wine */
  --cream:#f7f3ee;
}
body{font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";}
h1,h2,h3,.navbar-brand{font-family:"Playfair Display", Georgia, "Times New Roman", serif;}
.bg-cream{ background:var(--cream); }
.bg-deep{ background:var(--brand); }

/* Navbar */
.navbar-dark .navbar-nav .nav-link{ color:#f3eaea; }
.navbar-dark .navbar-nav .nav-link:hover{ color:#fff; }
.navbar-brand .brand-accent{ color:#ffe3e3; }
.navbar .nav-link,
.navbar .dropdown-item{
  font-size:10px;
}

/* Hero */
.hero{ height: 64vh; min-height: 420px; }
.hero-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(.1) brightness(.75); }
.hero-overlay{ position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,.4), rgba(0,0,0,.55)); }
.hero-content{ position:relative; z-index:2; top:50%; transform:translateY(-50%); color:#fff; }
.page-main{ padding-top:76px; }
.page-head{ padding:1rem 0; background:#fff; }
.breadcrumb{ --bs-breadcrumb-divider: '>'; font-size:.85rem; }

/* Sections */
.section-pad{ padding: 64px 0; }
.section-header{ text-align:center; max-width:760px; margin:0 auto 28px; }
.section-title{ font-weight:800; letter-spacing:.2px; }
.section-sub{ color:#6b6b6b; }

.biografia-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  width:100%;
}
.biografia-card{
  display:grid;
  grid-template-columns:42% 58%;
  width:100%;
  min-height:400px;
  height:400px;
  max-height:400px;
  overflow:hidden;
  border-radius:2.25rem;
  border:1px solid #cfcfcf;
  background:#eeeeee;
}
.biografia-media{
  height:100%;
}
.biografia-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.biografia-content{
  padding:2.25rem 2.5rem;
  overflow:auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.biografia-content .h5{
  font-size:3rem;
  line-height:1.1;
  margin-bottom:1rem;
}
.biografia-content p{
  font-size:1.1rem;
  line-height:1.55;
  margin-bottom:0;
}

.card-plain{ border:1px solid #e7e7e7; border-radius:1rem; overflow:hidden; height:320px; max-height:320px; }
.card-plain .card-img-top{ height:200px; object-fit:cover; aspect-ratio:auto; }
.card-plain .card-body{ padding:1rem 1.1rem; height:120px; overflow:auto; }
.card-plain .ratio{ max-height:200px; }

.video-thumb{ position:relative; cursor:pointer; }
.video-thumb .play{ position:absolute; inset:auto auto 10px 10px; background:#000; color:#fff; border-radius:50px; padding:.3rem .6rem; opacity:.100; }

.thumb-carousel{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:.75rem;
  align-items:center;
}
.thumb-viewport{
  overflow:hidden;
  width:100%;
}
.thumb-track{
  display:flex;
  transition:transform .35s ease;
}
.thumb-item{
  flex:0 0 100%;
  padding:.5rem;
}
.thumb-item .card-img-top{ aspect-ratio:3/2; object-fit:cover; }
.thumb-item.is-compact .card-img-top{ aspect-ratio:3/4; }
.thumb-arrow{
  width:2.5rem;
  height:2.5rem;
  border:1px solid #d0d0d0;
  border-radius:999px;
  background:#fff;
  color:#222;
  display:grid;
  place-items:center;
}
.thumb-arrow:disabled{
  opacity:.45;
  cursor:not-allowed;
}

@media (min-width: 768px){
  .biografia-card{ grid-template-columns:42% 58%; }
  .thumb-item{ flex-basis:50%; }
}
@media (min-width: 992px){
  .thumb-item{ flex-basis:33.3333%; }
}
@media (max-width: 767px){
  .biografia-card{
    grid-template-columns:1fr;
    min-height:400px;
    height:400px;
    max-height:400px;
  }
  .biografia-media{
    max-height:180px;
  }
  .biografia-content{
    padding:1rem;
  }
  .biografia-content .h5{
    font-size:1.2rem;
  }
  .biografia-content p{
    font-size:.95rem;
  }
}

/* Contact */
footer{ color:#333; }
.site-footer .footer-list li{
  margin-bottom:.5rem;
  display:flex;
  align-items:flex-start;
}
.site-footer .footer-list a{
  color:inherit;
  text-decoration:none;
}
.site-footer .footer-list a:hover{
  text-decoration:underline;
}

.tour-wrap{ background:#f3f1ed; }
.tour-shell{
  display:grid;
  grid-template-columns:300px 1fr;
  gap:1rem;
}
.tour-sidebar{
  background:#fff;
  border:1px solid #ddd;
  border-radius:1rem;
  padding:1rem;
}
.tour-stage-wrap{
  min-width:0;
}
.tour-stage{
  position:relative;
  min-height:560px;
  border-radius:1rem;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  border:1px solid #ddd;
}
.tour-stage::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.35), rgba(0,0,0,.1));
  pointer-events:none;
}
.tour-overlay{
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:1rem;
  z-index:2;
  color:#fff;
}
.tour-room-title{
  font-size:1.35rem;
  font-weight:700;
  margin-bottom:.25rem;
}
.tour-room-text{
  margin:0;
  max-width:60ch;
}
.tour-hotspot{
  position:absolute;
  z-index:3;
  width:34px;
  height:34px;
  border-radius:999px;
  border:0;
  display:grid;
  place-items:center;
  color:#fff;
  transform:translate(-50%, -50%);
  box-shadow:0 6px 14px rgba(0,0,0,.25);
}
.tour-hotspot.is-info{ background:#0d6efd; }
.tour-hotspot.is-nav{ background:#198754; }

@media (max-width: 991px){
  .tour-shell{
    grid-template-columns:1fr;
  }
  .tour-stage{
    min-height:420px;
  }
}
