
/* =========================================================
   V24 — RESPONSIVE ALIGNMENT + TWO-LINE HEADING SYSTEM
   Major editorial headings are balanced and dynamically fit by JS.
   ========================================================= */
:where(.editorial-head,.section-head,.video-guides-head,.agent-grid,.internal-intro,.about-profile-grid,.team-v16-hero-grid,.team-v16-lead-grid,.team-v16-section-head,.journal-v16-hero-grid,.contact-hero-grid,.contact-main-grid,.contact-market-band-grid)>*{min-width:0}

.shg-two-line-heading{
  max-width:100%!important;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.shg-two-line-heading em{display:inline}

/* Editorial heads align as deliberate two-column compositions on desktop. */
@media(min-width:1101px){
  .elevated-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;
    gap:64px!important;
    align-items:end!important;
  }
  .elevated-head .head-aside{width:auto!important;max-width:360px;justify-self:end}
  .video-guides-head{grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr)!important;align-items:end!important}
  .journal-v16-hero-grid,.team-v16-hero-grid,.contact-hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(320px,.72fr)!important;align-items:end!important}
  .internal-intro,.contact-market-band-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr)!important;align-items:end!important}
  .about-profile-grid,.team-v16-lead-grid{align-items:center!important}
  .resource-cta-inner{padding-inline:24px}
}

/* Keep main page copy widths disciplined so adjacent columns align. */
.editorial-head .copy,.video-guides-intro,.team-v16-hero-grid>p,.team-v16-section-head>p,.journal-v16-hero-grid>p,.contact-hero-grid>p,.contact-market-band-grid>p,.internal-intro>p{max-width:620px}
.about-profile-copy,.team-v16-lisa-copy{max-width:780px}
.contact-form-card-v18{width:100%;box-sizing:border-box}

/* Major content headings. JS will only shrink these when they exceed two visual lines. */
[data-shg-element="heading"],
.about-profile-copy .display,
.internal-intro .display,
.team-v16-lisa-copy h2,
.team-v16-section-head h2,
.resource-cta h2,
.contact-details-v18 h2,
.contact-form-card-v18 h2,
.contact-market-band-grid h2,
.about-market-grid h3,
.journey h3{
  text-wrap:balance;
}

/* Cards / repeated blocks align their text baselines more consistently. */
.property-showcase,.property-stack,.journal-card-grid,.team-v16-grid{align-items:stretch}
.property-feature,.journal-card,.team-v16-card{height:100%}
.pf-copy{min-height:82px;align-items:flex-end}
.compact .pf-copy{min-height:74px}
.journal-card-body,.team-v16-card-copy{min-width:0}

@media(max-width:1100px){
  .elevated-head,.video-guides-head,.journal-v16-hero-grid,.team-v16-hero-grid,.team-v16-section-head,.contact-hero-grid,.contact-market-band-grid,.internal-intro{
    gap:34px!important;
  }
  .elevated-head .head-aside{width:100%!important;max-width:620px}
}

@media(max-width:720px){
  .section-head,.elevated-head,.video-guides-head,.journal-v16-hero-grid,.team-v16-hero-grid,.team-v16-section-head,.contact-hero-grid,.contact-market-band-grid,.internal-intro{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:22px!important;
  }
  .section-head>*,.elevated-head>*,.video-guides-head>*,.journal-v16-hero-grid>*,.team-v16-hero-grid>*,.team-v16-section-head>*,.contact-hero-grid>*,.contact-market-band-grid>*,.internal-intro>*{width:100%!important;max-width:none!important}
  .section-head,.video-guides-head{margin-bottom:38px!important}
  .editorial-head{margin-bottom:46px!important}
  .head-aside p,.video-guides-intro,.team-v16-hero-grid>p,.journal-v16-hero-grid>p,.contact-hero-grid>p,.internal-intro>p{font-size:16px!important;line-height:1.55!important}
  .about-profile-grid,.team-v16-lead-grid,.contact-main-grid{gap:38px!important}
  .about-profile-copy,.team-v16-lisa-copy{max-width:none!important}
  .contact-form-card-v18{padding:28px 20px!important}
  .contact-direct-list a{grid-template-columns:68px minmax(0,1fr) auto!important;gap:12px!important}
  .about-logo-head{display:grid!important;gap:12px!important;align-items:start!important}
  .about-market-grid article{min-height:auto!important}
  .pf-copy{min-height:0;display:grid!important;gap:12px!important;align-items:start!important}
  .pf-facts{text-align:left!important;margin-top:0!important;white-space:normal!important}
  .journal-card-topline,.journal-card-bottom{align-items:flex-start;flex-wrap:wrap}
  .resource-cta-inner{padding-inline:0}
}
