/* ---------- Shared styling for content subpages (location, facilities, floor-plans, faq) ---------- */
/* Layered on top of /styles.css — reuses the same design tokens (--cream, --ink, --gold, etc.) */

.page-hero{
  position:relative; padding:168px 0 64px; overflow:hidden;
  background:linear-gradient(180deg, var(--aubergine-deep), var(--aubergine) 130%);
  color:#F2ECDD;
}
.page-hero .wrap{position:relative; z-index:1;}
.breadcrumbs{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  font-size:12px; letter-spacing:.04em; color:rgba(242,236,221,.55); margin-bottom:22px;
}
.breadcrumbs a{color:rgba(242,236,221,.75);}
.breadcrumbs a:hover{color:#F2ECDD;}
.breadcrumbs span.sep{opacity:.5;}
.page-hero h1{font-size:clamp(32px,4.6vw,52px); line-height:1.08; color:#F2ECDD; max-width:760px;}
.page-hero .lede{margin-top:18px; max-width:640px; font-size:16px; line-height:1.8; color:rgba(242,236,221,.78); font-weight:300;}

.content-section{padding:64px 0;}
.content-section.alt{background:var(--cream-deep);}
.prose{max-width:760px; font-size:16px; line-height:1.85; color:var(--ink-soft); font-weight:300;}
.prose p{margin:0 0 20px;}
.prose h2{font-size:clamp(24px,3vw,32px); color:var(--ink); margin:0 0 16px;}
.prose h3{font-size:20px; color:var(--ink); margin:32px 0 12px; font-weight:500;}
.prose ul{padding-left:20px; margin:0 0 20px;}
.prose li{margin-bottom:10px;}
.prose strong{color:var(--ink); font-weight:600;}

.info-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:24px; margin:36px 0;}
.info-card{
  background:var(--cream); border:1px solid var(--hairline); padding:26px 24px; border-radius:2px;
}
.info-card .k{font-family:'Cormorant Garamond', serif; font-size:26px; color:var(--gold-deep); margin-bottom:6px;}
.info-card .v{font-size:14px; color:var(--ink-soft); line-height:1.6;}

.simple-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:22px; margin-top:32px;}
.simple-card{background:var(--cream); border:1px solid var(--hairline); overflow:hidden; border-radius:2px;}
.simple-card img{width:100%; aspect-ratio:4/3; object-fit:cover;}
.simple-card .body{padding:18px 20px;}
.simple-card .eyebrow{margin-bottom:6px;}
.simple-card .title{font-family:'Cormorant Garamond', serif; font-size:19px; color:var(--ink);}

.tag-cloud{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;}
.tag-cloud span{
  padding:8px 16px; font-size:13px; background:var(--cream); border:1px solid var(--hairline);
  color:var(--ink-soft); border-radius:20px;
}

.faq-list{max-width:820px; margin-top:12px;}
.faq-item{border-bottom:1px solid var(--hairline);}
.faq-q{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  padding:22px 4px; font-family:'Cormorant Garamond', serif; font-size:19px; color:var(--ink);
}
.faq-q .plus{font-size:22px; color:var(--gold-deep); flex-shrink:0; transition:transform .3s ease;}
.faq-item.open .faq-q .plus{transform:rotate(45deg);}
.faq-a{
  max-height:0; overflow:hidden; transition:max-height .35s ease, padding .35s ease;
  font-size:15px; line-height:1.8; color:var(--ink-soft); font-weight:300;
}
.faq-item.open .faq-a{max-height:400px; padding-bottom:22px;}

.page-cta{
  padding:56px 0; text-align:center; background:var(--aubergine-deep); color:#F2ECDD;
}
.page-cta h2{color:#F2ECDD; font-size:clamp(24px,3vw,32px);}
.page-cta p{max-width:520px; margin:14px auto 26px; color:rgba(242,236,221,.75); font-size:15px; font-weight:300;}

.crosslink-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:18px; margin-top:20px;}
.crosslink-card{
  display:block; padding:22px; background:var(--cream); border:1px solid var(--hairline); border-radius:2px;
  transition:border-color .25s ease, transform .25s ease;
}
.crosslink-card:hover{border-color:var(--gold); transform:translateY(-2px);}
.crosslink-card .eyebrow{margin-bottom:8px;}
.crosslink-card .title{font-family:'Cormorant Garamond', serif; font-size:20px; color:var(--ink); margin-bottom:6px;}
.crosslink-card .desc{font-size:13.5px; color:var(--ink-soft); line-height:1.6;}

.unit-table{width:100%;}

@media(max-width:720px){
  .page-hero{padding:140px 0 48px;}
}
