/* contact — page-specific styles.
   Loaded after /static/css/site.css, which holds everything shared. */

/* ============================================================
   CONTACT  page-specific
   ============================================================ */
#route-contact .phero{padding-top:calc(var(--header-h) + var(--s6));padding-bottom:var(--s6)}#route-contact .phero .lede{padding-top:var(--s4);max-width:62ch}#route-contact .contact-top{grid-column:1 / 7}#route-contact .contact-top__p{padding-top:var(--s3)}#route-contact .contact-top__cta{padding-top:var(--s4)}#route-contact .contact-card{grid-column:8 / 13}
.contact-lines{margin-top:var(--s3);border-top:1px solid var(--sand)}
.contact-lines > div{
  display:grid;
  grid-template-columns:minmax(58px,2fr) 7fr;
  gap:var(--s2);
  padding:11px 0;
  border-bottom:1px solid var(--sand);
}
.contact-lines dt{font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stone)}
.contact-lines dd{margin:0;font-size:15px;line-height:1.5}
.contact-lines dd span{color:var(--stone);font-size:13.5px}
.contact-lines a{text-decoration:none;border-bottom:1px solid var(--sand)}
.contact-lines a:hover,.contact-lines a:focus-visible{border-bottom-color:var(--ink)}#route-contact .contact-card h2{
  font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--stone);padding-bottom:var(--s2);border-bottom:1px solid var(--sand);
}#route-contact .contact-card address{
  font-style:normal;
  padding-top:var(--s3);
  font-size:clamp(16px,1.15vw,20px);
  line-height:1.6;
}#route-contact .contact-card address a{text-decoration:none;border-bottom:1px solid var(--sand)}#route-contact .contact-card address a:hover, #route-contact .contact-card address a:focus-visible{border-bottom-color:var(--ink)}#route-contact .contact-card .small{padding-top:var(--s3);font-size:14px;line-height:1.55;color:var(--stone);max-width:38ch}#route-contact .notice-section{padding-top:0}#route-contact .notice{
  background:var(--blush);
  padding:var(--s4);
  grid-column:1 / 9;
}#route-contact .notice h2{font-size:clamp(19px,1.4vw,24px);font-weight:700;line-height:1.25}#route-contact .notice p{padding-top:12px;font-size:15px;line-height:1.6;max-width:60ch}#route-contact .notice .elink{margin-top:var(--s3)}#route-contact .routes{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  column-gap:var(--gutter);
  row-gap:var(--s6);
}#route-contact .route h3{
  font-family:var(--display);
  font-variation-settings:"wdth" 75,"wght" 700;
  font-weight:700;
  font-size:clamp(19px,1.5vw,27px);
  line-height:1.1;
  padding-bottom:var(--s2);
  border-bottom:2px solid var(--ink);
}#route-contact .route p{padding-top:var(--s2);font-size:14px;line-height:1.5;color:var(--stone);max-width:34ch}#route-contact .route ul{padding-top:var(--s2)}#route-contact .route li{border-bottom:1px solid var(--sand)}#route-contact .route li a{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--s2);
  padding:13px 0;
  font-size:15.5px;
  font-weight:500;
  text-decoration:none;
}#route-contact .route li a span{color:var(--stone);font-size:15px;transition:transform .22s ease}#route-contact .route li a:hover span, #route-contact .route li a:focus-visible span{transform:translateX(5px);color:var(--ink)}

@media (max-width:1180px){#route-contact .routes{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){#route-contact .contact-top, #route-contact .contact-card, #route-contact .notice{grid-column:1 / -1}
}
@media (max-width:680px){#route-contact .routes{grid-template-columns:1fr}
}

/* Hero sign-in cue, sits under the lede on the ink field. */
.hero-signin{padding-top:var(--s3);font-size:clamp(14.5px,1.05vw,17px);line-height:1.5;color:rgba(243,239,228,.72)}
.hero-signin a{
  color:var(--bone);
  font-weight:700;
  text-decoration:none;
  border-bottom:2px solid rgba(243,239,228,.45);
  padding-bottom:2px;
  transition:border-color .2s ease;
}
.hero-signin a:hover,.hero-signin a:focus-visible{border-bottom-color:var(--bone)}

/* Portal sign-in band, between the closing block and the footer. Lives
   outside the route wrapper, so the selectors are unscoped. */
.portal-cta{padding-top:var(--s6);padding-bottom:var(--s6)}
.portal-cta__kicker{color:rgba(28,29,25,.62)}
.portal-cta__head{
  font-family:var(--display);
  font-variation-settings:"wdth" 62,"wght" 700;
  font-weight:700;
  text-transform:uppercase;
  line-height:.9;
  letter-spacing:-.005em;
  font-size:clamp(32px,5vw,84px);
  padding-top:clamp(6px,.6vw,12px);
}
.portal-cta__p{padding-top:var(--s3);font-size:clamp(15.5px,1.2vw,19px);line-height:1.55;max-width:56ch}
.portal-cta__actions{display:flex;flex-wrap:wrap;gap:var(--s3);padding-top:var(--s4)}
.portal-cta__btn{padding:17px 40px;font-size:17px}
@media (max-width:680px){
  .portal-cta{padding-top:var(--s5);padding-bottom:var(--s5)}
  .portal-cta__btn{width:100%;text-align:center}
}
