/* ═══════════════════════════════════════════════════════════
   Investment Opportunities — layered on estate.css
   ═══════════════════════════════════════════════════════════ */

/* ── Listing page ──────────────────────────────────────── */
.opphead{
  background:var(--ink); color:#fff;
  padding:calc(var(--nav-h) + clamp(3rem,8vh,6rem)) 0 clamp(3rem,7vh,5rem);
}
.opphead .h-display{ color:#fff; }
.opphead .lede{ color:rgba(255,255,255,.68); margin-top:1.4rem; max-width:62ch; }
.opphead .section-index{ color:rgba(255,255,255,.45); }

.opplist{ padding:clamp(3rem,8vh,6rem) 0; }
.opp-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; margin-top:0;
}
.opp-card{
  display:block; text-decoration:none; color:inherit; border:1px solid var(--rule);
  border-radius:6px; overflow:hidden; background:#fff; transition:transform .25s, box-shadow .25s;
}
.opp-card:hover{ transform:translateY(-4px); box-shadow:0 20px 40px rgba(20,32,26,.1); }
.opp-card__img{ width:100%; height:260px; object-fit:cover; display:block; }
.opp-card__body{ padding:1.6rem 1.8rem 1.8rem; }
.opp-card__tag{ font-size:.68rem; text-transform:uppercase; letter-spacing:.14em; color:var(--brick-ink); margin-bottom:.5rem; display:block; }
.opp-card__title{ font-family:'Fraunces',serif; font-size:1.35rem; margin:0 0 .4rem; }
.opp-card__loc{ font-size:.85rem; color:var(--txt); margin:0 0 .8rem; }
.opp-card__facts{ display:flex; gap:1rem; flex-wrap:wrap; font-size:.78rem; color:var(--txt); }
.opp-card__facts span{ border:1px solid var(--rule); border-radius:999px; padding:.25rem .7rem; }

/* ── Detail page ───────────────────────────────────────── */
.opp-hero{
  position:relative; min-height:70vh; display:flex; flex-direction:column; justify-content:flex-end;
  padding:calc(var(--nav-h) + 3rem) 0 3rem; overflow:hidden; background:var(--ink);
}
.opp-hero__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.55; }
.opp-hero__scrim{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,32,26,.2) 0%, rgba(20,32,26,.85) 100%); }
.opp-hero__inner{ position:relative; z-index:1; }
.opp-hero .eyebrow{ color:var(--brick-lt); }
.opp-hero h1{ font-family:'Fraunces',serif; font-weight:400; color:#fff; font-size:clamp(2.2rem,5vw,4rem); margin:.4rem 0 .6rem; line-height:1.02; }
.opp-hero__loc{ color:rgba(255,255,255,.8); font-size:1.05rem; margin:0 0 2rem; }

.opp-facts{ display:flex; flex-wrap:wrap; gap:1.5rem 2.5rem; position:relative; z-index:1; }
.opp-facts dt{ font-size:.65rem; text-transform:uppercase; letter-spacing:.14em; color:rgba(255,255,255,.55); margin-bottom:.3rem; }
.opp-facts dd{ font-family:'Fraunces',serif; font-size:1.3rem; color:#fff; margin:0; }

.opp-section{ padding:clamp(3rem,7vh,5rem) 0; }
.opp-section--alt{ background:rgba(20,32,26,.03); }
.opp-section h2{ font-family:'Fraunces',serif; font-weight:400; font-size:clamp(1.5rem,3vw,2.2rem); margin:0 0 1.6rem; }

/* video */
.opp-video{ position:relative; width:100%; max-width:900px; margin:0 auto; aspect-ratio:16/9; border-radius:6px; overflow:hidden; background:#000; }
.opp-video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* gallery */
.opp-gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.opp-gallery a{ display:block; overflow:hidden; border-radius:4px; aspect-ratio:4/3; }
.opp-gallery img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.opp-gallery a:hover img{ transform:scale(1.06); }

/* floor plans */
.opp-plans{ display:grid; grid-template-columns:1fr; gap:2.5rem; }
@media (min-width:800px){ .opp-plans{ grid-template-columns:1fr 1fr; } }
.opp-plan-card{ background:#fff; border:1px solid var(--rule); border-radius:6px; overflow:hidden; }
.opp-plan-card img{ width:100%; display:block; border-bottom:1px solid var(--rule); }
.opp-plan-card__body{ padding:1.4rem 1.6rem; }
.opp-plan-card__body h3{ font-family:'Fraunces',serif; font-size:1.1rem; margin:0 0 .8rem; }
.opp-plan-table{ width:100%; font-size:.85rem; }
.opp-plan-table td{ padding:.3rem 0; border-bottom:1px solid var(--rule); }
.opp-plan-table td:last-child{ text-align:right; font-weight:500; }
.opp-plan-table tr:last-child td{ border-bottom:none; font-family:'Fraunces',serif; font-size:1.05rem; color:var(--brick-ink); padding-top:.6rem; }

/* specs / features */
.opp-spec-grid{ display:grid; grid-template-columns:1fr; gap:1.8rem; }
@media (min-width:700px){ .opp-spec-grid{ grid-template-columns:repeat(3,1fr); } }
.opp-spec-grid h4{ font-size:.82rem; text-transform:uppercase; letter-spacing:.1em; color:var(--brick-ink); margin:0 0 .6rem; }
.opp-spec-grid ul{ list-style:none; margin:0; padding:0; font-size:.88rem; }
.opp-spec-grid li{ padding:.3rem 0; color:var(--txt); }

.opp-feat-grid{ display:grid; grid-template-columns:1fr; gap:1.2rem; }
@media (min-width:700px){ .opp-feat-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px){ .opp-feat-grid{ grid-template-columns:repeat(3,1fr); } }
.opp-feat-item{ display:flex; gap:.8rem; align-items:flex-start; font-size:.9rem; }
.opp-feat-item .ip-icon{ width:2.4rem; height:2.4rem; font-size:1.1rem; margin:0; flex-shrink:0; }

/* map */
.opp-map{ width:100%; aspect-ratio:16/8; border-radius:6px; overflow:hidden; border:1px solid var(--rule); }
.opp-map iframe{ width:100%; height:100%; border:0; }

/* downloads / cta */
.opp-downloads{ display:flex; flex-wrap:wrap; gap:1rem; }
.opp-dl-btn{
  display:inline-flex; align-items:center; gap:.6rem; padding:.9rem 1.4rem;
  border:1px solid var(--rule); border-radius:6px; text-decoration:none; color:var(--ink);
  font-size:.9rem; font-weight:500; transition:background .2s, border-color .2s;
}
.opp-dl-btn:hover{ background:var(--brick); color:#fff; border-color:var(--brick); }
.opp-dl-btn svg{ width:18px; height:18px; fill:currentColor; flex-shrink:0; }

.opp-note{ font-size:.82rem; color:var(--txt); max-width:70ch; }
.opp-byline{ font-size:.82rem; color:rgba(255,255,255,.65); margin-top:.5rem; }

@media (max-width:760px){
  .opp-grid{ grid-template-columns:1fr; }
  .opp-gallery{ grid-template-columns:repeat(2,1fr); }
}
