/* The directory shares the invitation's surface and alignment. */
.site-footer .footer-information { padding:0; background:transparent; color:var(--footer-ink); }
.footer-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(120px,.55fr) minmax(0,1.15fr); align-items:start; gap:clamp(32px,5vw,72px); padding:38px 0; border-top:1px solid var(--footer-line); }
.footer-brand .brand { display:inline-block; margin-bottom:15px; }
.footer-brand .document-logo { width:174px; height:54px; mix-blend-mode:multiply; }
.footer-brand .document-logo img { width:230px; max-width:none; left:-28px; top:-13px; }
.footer-description { margin:0; max-width:31ch; color:var(--footer-muted); font-size:16px; line-height:1.65; }
.footer-base { margin:16px 0 0; color:var(--footer-muted); font-size:14px; line-height:1.6; }
.footer-grid h3 { display:block; min-height:0; margin:9px 0 18px; color:var(--footer-ink); font-size:14px; line-height:1.5; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.footer-nav-list { display:grid; justify-items:start; gap:0; }
.footer-nav-list a { display:inline-flex; align-items:center; min-height:40px; font-size:16px; line-height:1.5; color:var(--footer-muted); }
.footer-nav-list a:hover,.footer-nav-list a[aria-current="page"] { color:#007d91; text-decoration:underline; text-underline-offset:5px; }
.site-footer .footer-contact { padding:0; margin:0; border:0; }
.footer-contact-list { display:grid; gap:5px; margin:0; }
.footer-contact-list>div { display:grid; grid-template-columns:44px minmax(0,1fr); gap:16px; align-items:baseline; min-height:40px; }
.footer-contact-list dt { color:var(--footer-muted); font-size:14px; line-height:1.6; }
.footer-contact-list dd { margin:0; min-width:0; }
.footer-contact-list a { display:inline-flex; align-items:center; min-height:40px; padding:6px 0; color:var(--footer-ink); font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
.footer-contact-list a:hover { color:#007d91; text-decoration:underline; text-underline-offset:5px; }
.footer-service-area { margin:16px 0 0; max-width:37ch; color:var(--footer-muted); font-size:14px; line-height:1.6; }
.footer-legal { display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid var(--footer-line); padding:20px 0 24px; color:var(--footer-muted); font-size:13px; line-height:1.6; }
.footer-legal a { display:inline-flex; align-items:center; min-height:36px; margin-right:56px; white-space:nowrap; color:var(--footer-muted); }
.footer-legal a:hover { color:#007d91; }
@media(max-width:1050px) {
  .footer-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:28px 44px; }
  .footer-brand { grid-column:1; grid-row:1; }
  .footer-navigation { grid-column:1; grid-row:2; }
  .footer-contact { grid-column:2; grid-row:1 / 3; }
  .footer-nav-list { grid-template-columns:1fr 1fr; gap:0 16px; }
}
@media(max-width:650px) {
  .footer-grid { grid-template-columns:minmax(0,1fr) minmax(90px,.65fr); gap:28px 20px; padding:30px 0; }
  .footer-brand { grid-column:1; grid-row:1; }
  .footer-brand .document-logo { width:145px; height:45px; }
  .footer-brand .document-logo img { width:192px; left:-23px; top:-11px; }
  .footer-description { font-size:14px; line-height:1.7; }
  .footer-base { margin-top:12px; }
  .footer-navigation { grid-column:2; grid-row:1; }
  .footer-nav-list { grid-template-columns:1fr; }
  .footer-nav-list a { min-height:40px; font-size:15px; }
  .footer-grid h3 { margin:4px 0 14px; font-size:13px; }
  .site-footer .footer-contact { grid-column:1 / -1; grid-row:2; border-top:1px solid var(--footer-line); padding-top:24px; }
  .footer-contact-list>div { grid-template-columns:44px minmax(0,1fr); }
  .footer-service-area { margin-top:14px; }
  .footer-legal { align-items:flex-start; flex-wrap:wrap; gap:4px 20px; padding:20px 0 70px; font-size:12px; }
  .footer-legal a { margin-right:0; font-size:14px; }
}
@media(max-width:370px) {
  .footer-grid { grid-template-columns:minmax(0,1fr); }
  .footer-brand,.footer-navigation,.site-footer .footer-contact { grid-column:1; grid-row:auto; }
  .footer-nav-list { grid-template-columns:1fr 1fr; }
  .footer-description { font-size:15px; }
  .footer-brand .document-logo { width:174px; height:54px; }
  .footer-brand .document-logo img { width:230px; left:-28px; top:-13px; }
}
