/* Full-width photographic hero, with the darkest overlay behind the copy. */
.hero { min-height:clamp(680px,90svh,900px); }
.hero::before { display:none; }
.hero-figure { inset:0; width:100%; opacity:1; display:block; }
.hero-figure img { width:100%; height:100%; max-width:none; object-fit:cover; object-position:65% 50%; filter:none; }
.hero-figure::before {
  background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.82) 28%,rgba(0,0,0,.48) 48%,rgba(0,0,0,.12) 72%,transparent 100%);
}
.hero .container { display:flex; align-items:center; padding-block:80px 64px; }
.hero-content { width:46%; max-width:580px; }
.hero h1 { font-size:clamp(64px,8vw,112px); line-height:.96; }
.hero .hero-sub { font-size:26px; }
.hero p.lede { color:var(--cream); }
.hero-breadcrumbs { font-size:12px; letter-spacing:.1em; }
.hero-breadcrumbs .sep { color:var(--muted); }
.hero-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; margin-top:32px; padding-top:24px; }
.hero-meta-item { padding:0; margin:0; border:0; min-width:0; }
.hero-meta-item .key { font-size:12px; letter-spacing:.1em; }
.hero-meta-item .val { font-size:20px; line-height:1.4; }
.hero-actions .btn { letter-spacing:.1em; padding-inline:24px; }
#packages, #fineart-maternity, #indoor-packages, #outdoor-packages { scroll-margin-top:120px; }
.section-head .right { font-size:14px; line-height:1.7; letter-spacing:0; text-transform:none; }
.pkg-price-sub, .strip-meta { font-size:12px; letter-spacing:.08em; }
.pkg-features li { flex-wrap:wrap; column-gap:12px; row-gap:4px; }
.pkg-features li small { flex-basis:100%; padding-left:22px; }
.pkg-features li::before {
  content:''; width:8px; height:8px; flex:0 0 8px; margin-top:6px;
  border:1px solid var(--gold); border-radius:50%;
}
.pkg-features li.exc::before { content:''; border-color:var(--muted-deep); border-radius:0; }
.pkg-features li.addon { color:var(--gold-light); }
.pkg-features li.addon::before { border-color:var(--gold); }
.gallery-strip .gtile:hover img { transform:none; }
.hero-content, .section-head > *, .pkg, .feat-body { min-width:0; }
@media (max-width:1100px) and (min-width:901px) {
  .hero-content { width:54%; }
  .hero-actions { flex-direction:column; align-items:flex-start; }
}
@media (max-width:900px) {
  .hero { min-height:min(900px,100svh); }
  .hero-figure { inset:0; width:100%; opacity:1; }
  .hero-figure img { object-position:68% 50%; }
  .hero-figure::before {
    background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.65) 65%,rgba(0,0,0,.4)),linear-gradient(0deg,rgba(0,0,0,.4),transparent 60%);
  }
  .hero .container { padding-block:56px; }
  .hero-content { width:100%; max-width:620px; }
  .hero-meta { gap:20px; }
  .hero-meta-item { padding:0; margin:0; }
  .hero-actions { flex-direction:row; }
  .hero-actions .btn { width:auto; }
}
@media (max-width:600px) {
  .hero .container { padding-block:44px; }
  .hero h1 { font-size:clamp(64px,16vw,96px); }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .btn { width:100%; }
  .hero-meta-item .val { font-size:18px; }
}

/* Preserve the complete underwater artwork at desktop and mobile sizes. */
.fa-feature .fa-image:has(#photo-mat-12) { aspect-ratio:2 / 3; }
.fa-image #photo-mat-12 { object-fit:contain; }
#photo-mat-02 { object-position:50% 40%; }

/* Match the underwater frame to the original artwork at every breakpoint. */
.fa-feature .fa-image:has(#photo-mat-12) { aspect-ratio:auto; }
.fa-image #photo-mat-12 { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:initial; }
