/* The selected card is a layout reference, never a photograph. */
body .hero-photo { background: none; }
body .hero-photo img { display: block; width: 69%; object-position: 52% 50%; }

.mast { height: 82px; }
.brand { display: flex; flex-direction: column; gap: 4px; line-height: 1; }
.brand strong { font-weight: 400; }
.brand small { font-family: 'DM Sans', Arial, sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .19em; text-transform: uppercase; }
.mast-note { font-size: 11px; font-weight: 600; letter-spacing: .15em; line-height: 1.45; text-transform: uppercase; }

.hero { grid-template-columns: 51.3% 48.7%; min-height: 565px; }
.hero-copy { padding-top: 49px; padding-right: 6vw; }
.hero-label { margin: 0 0 27px; color: var(--green); font-family: 'DM Sans', Arial, sans-serif !important; font-size: 11px !important; font-weight: 600; letter-spacing: .2em; line-height: 1.35 !important; text-transform: uppercase; }
.hero h1 { margin-bottom: 23px; font-size: clamp(59px, 6.5vw, 100px); line-height: .97; letter-spacing: -.035em; }
.hero .hero-intro { max-width: 585px; margin-bottom: 28px; font-size: 21px; line-height: 1.52; }
.hero-photo { min-height: 565px; }
.hero-photo::before { content: ''; position: absolute; z-index: 1; top: 0; right: 0; width: 31%; height: 100%; background: #e8eceb; }
.hero-photo blockquote { z-index: 2; top: 13%; right: 5%; width: 155px; max-width: 23%; padding: 0; background: none; color: #426960; font-size: clamp(22px, 2vw, 30px); line-height: 1.16; text-shadow: none; }
.hero-photo blockquote::after { content: ''; display: block; width: 39px; height: 1px; margin-top: 17px; background: #557f74; }

.needs { min-height: 245px; align-items: center; padding-top: 30px; padding-bottom: 30px; }
.needs a { min-height: 120px; padding-top: 8px; }
.needs a+a { padding-left: 55px; }
.needs .number { display: flex; align-items: center; gap: 42px; }
.needs .number::after { content: ''; display: inline-block; width: 74px; height: 1px; background: #8aa9a0; }
.needs h2 { margin-top: 8px; margin-bottom: 8px; }
.needs .arrow { display: none; }

@media (max-width: 1000px) {
  .mast-note { display: none; }
  .hero-copy { padding-right: 4.2vw; }
  .hero h1 { font-size: clamp(55px, 6vw, 78px); }
}

@media (max-width: 700px) {
  .mast { align-items: flex-start; }
  .brand { gap: 3px; }
  .brand small { font-size: 11px; }
  .mast nav { margin-top: 10px; }
  .hero { display: flex; flex-direction: column; }
  .hero-copy { padding: 38px 20px 38px; }
  .hero-label { margin-bottom: 18px; font-size: 11px !important; }
  .hero h1 { font-size: clamp(49px, 12vw, 68px); }
  .hero .hero-intro { font-size: 17px; }
  .hero-photo { min-height: 375px; }
  .hero-photo img { width: 55%; object-position: 53% 50%; }
  .hero-photo::before { width: 45%; }
  .hero-photo blockquote { top: 9%; right: 5%; width: 140px; max-width: 39%; padding: 0; background: none; font-size: 21px; }
  .needs { min-height: 0; padding-top: 29px; padding-bottom: 37px; }
  .needs a, .needs a+a { min-height: 0; padding: 24px 0; }
  .needs .number::after { width: 55px; }
  .needs h2 { font-size: 56px; }
}

/* Verified homepage accessibility and narrow-screen repairs. */
.needs .number{color:#456d62}
