/* Uploaded images use portrait hero and landscape companion ratios. */
.corner-copy h1{
  line-height:1.14;
  letter-spacing:-.025em;
}

.number-card{
  grid-template-columns:52px minmax(0,1fr);
  column-gap:15px;
}

.phone-icon{
  grid-row:1/4;
  align-self:center;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--sage);
  color:#fff;
  font-size:1.45rem;
  font-style:normal;
}

.number-card>span,.number-card>a,.number-card>small{grid-column:2}

.corner-hero figure{
  width:min(100%,430px);
  justify-self:center;
  overflow:hidden;
  background:#d7dfd5;
  border-radius:8px 160px 8px 8px;
}

.corner-hero img{
  width:100%;
  height:auto;
  aspect-ratio:2/3;
  object-fit:contain;
  object-position:center;
  border-radius:8px 160px 0 0;
  box-shadow:none;
}

.corner-hero figcaption{
  margin:0;
  padding:15px 18px 18px;
  color:var(--ink);
  text-align:center;
  line-height:1.5;
}

.service-section{
  grid-template-columns:1fr 1fr;
}

.service-section figure{
  width:100%;
}

.service-section img{
  width:100%;
  height:auto;
  aspect-ratio:1672/941;
  object-fit:contain;
  object-position:center;
  border-radius:80px 8px 8px 8px;
}

.access-heading{
  align-items:start;
}

.access-side{
  display:grid;
  gap:20px;
  align-self:stretch;
}

.access-side>p{
  margin:0;
  color:var(--muted);
}

.access-visual{
  position:relative;
  width:100%;
  margin:0;
  padding:9px;
  overflow:hidden;
  border:1px solid var(--sage);
  background:var(--navy);
  box-shadow:14px 14px 0 #d7dfd5;
}

.access-visual::after{
  content:"";
  position:absolute;
  inset:9px;
  background:linear-gradient(90deg,rgba(23,42,58,.28),transparent 48%);
  pointer-events:none;
}

.access-visual img{
  width:100%;
  height:245px;
  object-fit:cover;
  object-position:center 42%;
}

@media(max-width:780px){
  .corner-copy h1{line-height:1.16;letter-spacing:-.02em}
  .service-section{grid-template-columns:1fr;gap:32px}
  .corner-hero figure,.service-section figure{width:100%}
  .corner-hero img,.service-section img{height:auto}
  .corner-hero img{max-height:680px}
  .corner-hero figcaption{padding:13px 14px 16px;font-size:.72rem}
  .number-card{grid-template-columns:46px minmax(0,1fr);column-gap:12px;padding-inline:18px}
  .phone-icon{width:42px;height:42px;font-size:1.25rem}
  .access-side{gap:18px}
  .access-visual{order:0;padding:7px;box-shadow:9px 9px 0 #d7dfd5}
  .access-visual::after{inset:7px}
  .access-visual img{height:auto;aspect-ratio:3/2;object-position:center}
}
