h1{font-size:clamp(52px,6vw,78px);line-height:.95}h2{font-size:clamp(38px,4.5vw,54px)}.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:590px}.heroimg{background:url('../images/si-aerial-property.jpg') center/cover}.herotxt{background:var(--cream);padding:75px 7vw;display:flex;flex-direction:column;justify-content:center}.herotxt p{font-size:19px;line-height:1.6;max-width:540px}.available{padding:85px 0}.intro{max-width:700px;margin-bottom:34px}.intro p{color:var(--muted);line-height:1.6}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));gap:22px}.property{border:1px solid var(--line);background:#fff;overflow:hidden;box-shadow:0 7px 24px #0000000d}.photo{height:350px;background-size:cover;background-position:center;position:relative}.badge{position:absolute;left:16px;top:16px;background:#fff;padding:8px 11px;font-size:12px;font-weight:800}.body{padding:28px}.body h3{font-size:34px;margin-bottom:4px}.loc{font-size:14px;color:var(--muted)}.icons{display:flex;gap:17px;flex-wrap:wrap;margin:18px 0}.ico{display:flex;gap:6px;align-items:center;font-weight:700;font-size:13px}.price{font-size:27px;font-weight:800}.price small{font-size:14px;font-weight:500}.body p{line-height:1.55;color:#48554e}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}@media(max-width:900px){.hero{grid-template-columns:1fr}.heroimg{min-height:420px}}

/* Phones and small tablets get 800px versions of the full-bleed photographs.
   CSS backgrounds cannot use srcset, so this is the equivalent. */
@media (max-width: 900px){
  .heroimg{background-image:url('../images/si-aerial-property-sm.jpg')}
  .photo{background-image:var(--card-img-sm)!important}
}

.photo{position:relative;overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover;display:block}

/* The card photograph is a link now: an <a> is inline by default, so the
   350px height on .photo would not apply without this. */
.photo--link{display:block}
.photo--link .shot-pill{pointer-events:none}
.photo--link:focus-visible{outline:3px solid var(--blue);outline-offset:3px}



/* The card body is narrow text in a wide card, so the map takes the space on
   the right rather than a section of its own. The whole image is the link, with
   an expand affordance in the corner — the same glyph the photo tiles use. */
.bodygrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;align-items:start}
.cardmap{position:relative;display:block;border:1px solid var(--line);border-radius:4px;
         overflow:hidden;background:#fff}
.cardmap img{display:block;width:100%;height:auto}
.cardmap-zoom{position:absolute;left:10px;bottom:10px;width:30px;height:30px;
              display:flex;align-items:center;justify-content:center;
              background:rgba(255,255,255,.94);border:1px solid #cbd1cc;border-radius:4px;
              font-size:15px;color:#17221d;box-shadow:0 2px 8px rgba(0,0,0,.16)}
.cardmap:hover .cardmap-zoom,.cardmap:focus-visible .cardmap-zoom{background:#fff}
.cardmap:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:900px){.bodygrid{grid-template-columns:1fr}.cardmap{max-width:420px}}
