/* DOORSPAN: visible demonstration contact details in the first viewport.
   Brand-consistent, no fake dialing/navigation; buttons open existing demo dialog. */
.hero-contact {
  width: min(100%, 410px);
  margin-top: 18px;
  padding: 10px 12px 10px 14px;
  border-left: 3px solid var(--red);
  background: linear-gradient(110deg, rgba(255,255,255,.95), rgba(248,250,252,.88));
  color: var(--navy);
  min-height: 84px;
  appearance: none;
  cursor: pointer;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
}
.hero-contact-kicker {
  display: block;
  font: 700 9px/1.1 var(--body);
  letter-spacing: .11em;
  color: var(--red);
}
.hero-contact-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  width: 100%;
  text-align: left;
  color: var(--navy);
  font: 700 13px/1.3 var(--body);
  min-height: 24px;
}
.hero-contact-item svg {width: 15px;height: 15px;stroke-width: 1.8;flex:none}
.hero-contact-item span {min-width:0}
.hero-contact:hover .hero-contact-item span, .hero-contact:focus-visible .hero-contact-item span {text-decoration:underline;text-underline-offset:3px}
@media (min-width: 651px) and (max-width: 900px) {
  .hero-contact {margin-top: 11px;padding: 7px 8px 7px 10px;gap:3px;max-width: 310px}
  .hero-contact-kicker {font-size:8px}
  .hero-contact-item {font-size:11px;min-height:21px;gap:6px}
  .hero-contact-item svg {width:13px;height:13px}
  .hero-note {margin-top: 14px}
}
@media (max-width: 650px) {
  .hero {height: 800px}
  .hero-copy {
    width: 100%;
    height: 390px;
    min-height: 390px;
    padding: 25px 20px 16px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
  .hero-copy p {position:static;left:auto;bottom:auto;max-width:none;margin:0 0 15px;font-size:15px;line-height:1.26}
  .hero-copy .btn {position:static;left:auto;right:auto;bottom:auto;max-width:none;min-height:44px;font-size:11px;padding:13px 16px;gap:18px}
  .hero-photo {top:390px;bottom:54px}
  .door-stage {top:390px}
  .hero-contact {margin-top: 14px;padding: 8px 10px;max-width: 100%;gap:3px}
  .hero-contact-kicker {font-size: 8px}
  .hero-contact-item {font-size: 12px;min-height:22px}
  .hero-contact-item svg {width:14px;height:14px}
}
@media (max-width:420px) {
  .hero-copy {height:385px;min-height:385px}
  .hero-photo {top:385px}
  .door-stage {top:385px}
}
@media (max-width:370px) {
  .hero {height:845px}
  .hero-copy {height:385px;min-height:385px;padding-inline:16px}
  .hero-photo {top:385px}
  .door-stage {top:385px}
  .hero-contact-item {font-size:10.5px}
}
