/* A single reading rhythm from the map through contact and the footer. */
#location .loc-hero::after{
  background:linear-gradient(180deg,transparent 70%,var(--linen) 100%);
}
.location-shell,.closing-shell,.footer-shell{
  width:min(var(--content),calc(100% - var(--edge)*2));
  margin-inline:auto;
  letter-spacing:0;
}
.location-shell{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:96px;
  padding-block:104px;
  align-items:start;
}
.location-copy h2,#closing-title{
  font:400 64px/1.08 var(--serif);
  color:var(--bark);
  letter-spacing:0;
}
.location-copy h2 em,#closing-title em{
  color:var(--bark-soft);
  font-weight:400;
}
.location-copy .location-intro{
  margin-top:28px;
  font:400 28px/1.3 var(--serif);
  color:var(--bark);
}
.location-copy>p:not(.location-intro){
  max-width:55ch;
  margin-top:24px;
  font:400 17px/1.7 var(--sans);
  color:var(--bark-soft);
}
.location-connections{
  padding-top:8px;
  min-width:0;
}
.location-connections h3{
  font:400 36px/1.2 var(--serif);
  color:var(--bark);
}
.location-connections>p{
  margin-top:12px;
  font:400 17px/1.6 var(--sans);
  color:var(--bark-soft);
}
.location-distances{margin-top:32px}
.location-distances>div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding-block:26px;
  border-top:1px solid var(--stone);
}
.location-distances>div:last-child{border-bottom:1px solid var(--stone)}
.location-distances dt{
  font:400 27px/1.2 var(--serif);
  color:var(--bark);
  font-variant-numeric:lining-nums;
}
.location-distances dt span{
  display:block;
  margin-top:8px;
  font:400 15px/1.5 var(--sans);
  color:var(--bark-soft);
}
.location-distances dd{
  flex-shrink:0;
  font:400 42px/1.2 var(--serif);
  color:var(--bark);
  white-space:nowrap;
  font-variant-numeric:lining-nums;
}
.location-distances dd span,.location-distances dd small{
  font:400 15px/1.5 var(--sans);
  color:var(--bark-soft);
}
#cta{
  display:block;
  min-height:0;
  background:var(--paper);
  overflow:visible;
}
.closing-anchor{
  position:absolute!important;
  inset:0 auto auto 0;
  width:1px;
  height:1px;
  visibility:hidden;
}
.closing-shell{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  align-items:center;
  gap:96px;
  padding-block:104px;
}
.closing-copy{min-width:0}
.closing-project{
  margin-bottom:24px;
  font:500 15px/1.6 var(--sans);
  color:var(--bark-soft);
}
#closing-title{font-size:56px}
.closing-copy>p:last-of-type{
  margin-top:28px;
  max-width:52ch;
  font:400 17px/1.7 var(--sans);
  color:var(--bark-soft);
}
.closing-actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:36px;
}
.closing-button{
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:17px 22px;
  min-height:56px;
  border:1px solid var(--bark);
  border-radius:var(--soft-edge);
  font:500 15px/1.4 var(--sans);
  color:var(--bark);
  text-decoration:none;
  transition:background .2s,color .2s,border-color .2s;
}
.closing-button img{flex-shrink:0}
.closing-button-primary{background:var(--bark);color:var(--paper)}
.closing-button-primary img{filter:brightness(0) invert(1)}
.closing-button:hover{background:var(--linen-2)}
.closing-button-primary:hover{background:var(--ink);border-color:var(--ink)}
.closing-contact{
  display:grid;
  gap:32px;
  padding-left:56px;
  border-left:1px solid var(--stone);
  font-style:normal;
  min-width:0;
}
.closing-contact-label{
  margin-bottom:14px;
  font:400 15px/1.5 var(--sans);
  color:var(--bark-soft);
}
.closing-contact h3{
  font:400 40px/1.15 var(--serif);
  color:var(--bark);
}
.closing-contact-role{
  margin-top:10px;
  font:400 17px/1.5 var(--sans);
  color:var(--bark-soft);
}
.closing-contact-links{display:grid;gap:24px;min-width:0}
.closing-contact-links a{
  display:block;
  width:fit-content;
  max-width:100%;
  font:400 18px/1.6 var(--sans);
  color:var(--bark);
  text-decoration:none;
  overflow-wrap:anywhere;
}
.closing-contact-links a span{
  display:block;
  margin-bottom:6px;
  font:400 14px/1.5 var(--sans);
  color:var(--bark-soft);
}
.closing-contact-links a:hover{text-decoration:underline;text-underline-offset:5px}
footer.site-footer{
  padding:0;
  background:var(--paper);
  color:var(--bark-soft);
  letter-spacing:0;
}
.footer-shell{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);
  column-gap:64px;
  row-gap:48px;
  padding-top:56px;
  border-top:1px solid var(--stone);
}
.footer-brand{display:inline-block;margin-bottom:24px}
.footer-brand img{display:block;width:auto;height:64px}
.footer-company p{
  font:400 16px/1.7 var(--sans);
  color:var(--bark-soft);
}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.footer-links h3{
  margin-bottom:16px;
  font:500 16px/1.5 var(--sans);
  color:var(--bark);
}
footer.site-footer .footer-links a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  font:400 16px/1.5 var(--sans);
  color:var(--bark-soft);
  text-decoration:none;
}
footer.site-footer .footer-links a:hover{color:var(--bark);text-decoration:underline;text-underline-offset:5px}
.footer-bottom{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-block:24px;
  border-top:1px solid var(--stone);
}
.footer-bottom p{font:400 14px/1.6 var(--sans);color:var(--bark-soft)}
.footer-top{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--stone);border-radius:var(--soft-edge)}
.footer-top:hover{background:var(--linen-2)}
.location-shell :focus-visible,.closing-shell :focus-visible,.site-footer :focus-visible{
  outline:2px solid var(--ink);
  outline-offset:5px;
}
@media(max-width:1100px){
  .location-shell,.closing-shell{gap:56px}
  .closing-contact{padding-left:32px}
  #closing-title{font-size:48px}
}
@media(max-width:900px){
  .location-shell,.closing-shell{grid-template-columns:1fr;gap:48px;padding-block:80px}
  .location-connections{padding-top:0}
  .location-copy>p:not(.location-intro),.closing-copy>p:last-of-type{max-width:65ch}
  .closing-contact{padding:40px 0 0;border-left:0;border-top:1px solid var(--stone)}
  .footer-shell{column-gap:40px}
}
@media(max-width:600px){
  .location-shell,.closing-shell{padding-block:64px;gap:40px}
  .location-copy h2{font-size:48px}
  #closing-title{font-size:42px}
  .location-copy .location-intro{font-size:26px;margin-top:24px}
  .location-copy>p:not(.location-intro),.closing-copy>p:last-of-type{font-size:16px;line-height:1.7}
  .location-connections h3{font-size:32px}
  .location-connections>p{font-size:16px}
  .location-distances{margin-top:24px}
  .location-distances>div{gap:16px;padding-block:24px}
  .location-distances dt{font-size:25px}
  .location-distances dt span{font-size:14px}
  .location-distances dd{font-size:36px}
  .location-distances dd span,.location-distances dd small{font-size:14px}
  .closing-project{font-size:14px;margin-bottom:20px}
  .closing-copy>p:last-of-type{margin-top:24px}
  .closing-actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:28px}
  .closing-button{width:100%;min-height:54px;padding:16px 18px;font-size:14px}
  .closing-contact{gap:28px}
  .closing-contact h3{font-size:36px}
  .closing-contact-links a{font-size:17px}
  .footer-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;row-gap:36px;padding-top:40px}
  .footer-company{grid-column:1/-1}
  .footer-brand{margin-bottom:20px}
  .footer-brand img{height:60px}
  .footer-company p{font-size:15px}
  .footer-links h3{font-size:15px;margin-bottom:12px}
  footer.site-footer .footer-links a{font-size:15px;min-height:44px}
  .footer-bottom{padding-block:20px;gap:16px}
  .footer-bottom p{font-size:13px;max-width:26ch}
}
@media(prefers-reduced-motion:reduce){.closing-button{transition:none}}
