/* =========================================================
   Inner pages — banner + content blocks
   ========================================================= */
.page-hero{ position:relative; background:var(--navy); color:#fff; overflow:hidden; }
.page-hero .ph-bg{ position:absolute; inset:0; border:none; border-radius:0; }
.page-hero .ph-bg::after{ display:none; }
.page-hero .overlay{ position:absolute; inset:0; background:linear-gradient(100deg, rgba(20,32,47,.94), rgba(20,32,47,.7)); }
.page-hero .wrap{ position:relative; z-index:2; padding:4.5rem 28px 4rem; }
.page-hero .crumb{ font-size:.82rem; color:rgba(255,255,255,.6); margin-bottom:1rem; letter-spacing:.02em; }
.page-hero .crumb a:hover{ color:var(--gold-soft); }
.page-hero h1{ color:#fff; font-size:clamp(2.4rem,4.6vw,3.6rem); margin-bottom:1rem; }
.page-hero p{ color:rgba(255,255,255,.85); max-width:58ch; font-size:1.12rem; margin:0; }
.page-hero .eyebrow{ color:var(--gold-soft); }
.page-hero .eyebrow::before{ background:var(--gold-soft); }

.prose{ max-width:760px; }
.prose h2{ margin:2.6rem 0 1rem; }
.prose h3{ margin:2rem 0 .6rem; color:var(--navy); }
.prose p{ color:var(--ink); }
.prose .lede{ color:var(--muted); font-size:1.18rem; margin-bottom:2rem; }

.block-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.6rem; }
.block-grid.three{ grid-template-columns:repeat(3,1fr); }
.info-card{
  position:relative; background:var(--paper); border:1px solid var(--line); border-radius:16px;
  padding:2.1rem; overflow:hidden; scroll-margin-top:100px;
  transition:transform .3s, box-shadow .3s;
}
.info-card::before{ content:""; position:absolute; left:0; right:0; top:0; height:4px; background:linear-gradient(90deg,var(--gold),var(--rose)); transform:scaleX(0); transform-origin:left; transition:transform .4s; }
.info-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.info-card:hover::before{ transform:scaleX(1); }
.info-card .svc-ic{ width:50px; height:50px; border-radius:12px; background:var(--cream-2); display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:1.1rem; border:1px solid var(--line); }
.info-card h3{ margin:0 0 .6rem; }
.info-card p{ color:var(--muted); font-size:.96rem; margin:0; }

.split{ display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; align-items:center; }
.split .ph{ aspect-ratio:4/3; }
.split.portrait .ph{ aspect-ratio:4/5; }

.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.contact-info .ci-row{ display:flex; gap:1rem; padding:1.3rem 0; border-bottom:1px solid var(--line); align-items:flex-start; }
.contact-info .ci-row .ic{ font-size:1.3rem; flex:none; width:46px; height:46px; border-radius:11px; background:var(--cream-2); display:flex; align-items:center; justify-content:center; border:1px solid var(--line); }
.contact-info .ci-row .lab{ font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-deep); font-weight:600; }
.contact-info .ci-row .val{ font-family:var(--serif); font-size:1.4rem; color:var(--navy); }
.form-card{ background:var(--paper); border:1px solid var(--line); border-radius:18px; padding:2.4rem; box-shadow:var(--shadow-sm); }
.form-card h3{ margin:0 0 1.4rem; }
.form-card .field label{ color:var(--muted); }
.form-card .field input, .form-card .field select, .form-card .field textarea{
  width:100%; padding:.85rem 1rem; border-radius:11px; border:1px solid var(--line);
  background:var(--cream); font-family:var(--sans); font-size:.95rem; color:var(--ink);
}
.form-card .field label{ display:block; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:.4rem; font-weight:600; }
.form-card .btn{ width:100%; }

.loc-list .info-card{ display:flex; flex-direction:column; }
.loc-list .ph{ aspect-ratio:16/9; margin:-2.1rem -2.1rem 1.4rem; border-radius:0; }
.loc-list .loc-img{ width:calc(100% + 4.2rem); aspect-ratio:16/9; object-fit:cover; margin:-2.1rem -2.1rem 1.4rem; display:block; }

@media (max-width:880px){
  .block-grid, .block-grid.three{ grid-template-columns:1fr; }
  .split, .contact-grid{ grid-template-columns:1fr; gap:2.2rem; }
}
