/* A quiet invitation and a compact directory close the page in its selected theme. */
.home-page .home-invitation,.technology-page main>.home-invitation{
  padding-block:clamp(120px,13vw,188px);
  border-top:0;
  background:var(--canvas);
  color:var(--ink);
}
.home-invitation-copy{max-width:1000px;margin-inline:auto;text-align:center}
.home-page .home-invitation h2,.technology-page .home-invitation h2{
  font-size:clamp(2.5rem,5.4vw,5rem);
  font-weight:400;
  line-height:var(--title-leading);
  letter-spacing:-.025em;
}
.home-page .home-invitation p,.technology-page .home-invitation p{
  margin-top:28px;
  font-size:1.1875rem;
  font-weight:400;
  line-height:1.75;
  color:var(--muted);
}
.home-invitation .button{margin-top:42px;min-width:184px;text-align:left}

.site-footer.footer-clean{
  padding-top:88px;
  background:var(--canvas);
  color:var(--ink);
  border-top:1px solid var(--line);
}
.footer-directory{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:48px;
  width:100%;
}
.footer-directory-group{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.footer-directory-title{
  margin-bottom:12px;
  color:var(--muted);
  font-size:.75rem;
  font-weight:500;
  letter-spacing:.09em;
  line-height:1.5;
  text-transform:uppercase;
}
.footer-directory :is(a,button){
  padding:0;
  border:0;
  background:none;
  font-family:var(--font-body);
  font-size:1rem;
  font-weight:400;
  line-height:1.65;
  color:var(--ink);
  text-align:left;
  transition:color .2s;
}
.footer-directory button{cursor:pointer}
.footer-directory :is(a,button):hover{color:var(--muted)}
.footer-signature-frame{container-type:inline-size;margin-top:96px}
.footer-signature{
  display:block;
  width:max-content;
  max-width:100%;
  font-family:var(--font-display);
  font-size:clamp(0px,10.7vw,162px);
  font-size:12.5cqw;
  font-weight:400;
  line-height:1.35;
  letter-spacing:-.045em;
  white-space:nowrap;
  color:var(--ink);
}
.footer-signature-name{color:var(--brand-gold)}
.site-header .brand-wordmark>.brand-dot,
.footer-signature>.footer-signature-dot{
  display:inline-block;
  height:.12em;
  width:.1093376em;
  max-width:none;
  margin-inline:.075em;
  object-fit:contain;
  vertical-align:.01em;
}
.footer-legal{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-top:34px;
  padding-block:28px calc(96px + env(safe-area-inset-bottom));
  border-top:1px solid var(--line);
  font-size:.8125rem;
  line-height:1.6;
  color:var(--muted);
}
.footer-legal>a{color:var(--ink);white-space:nowrap}
.footer-legal>a:hover{color:var(--muted)}

@media(max-width:900px){
  .site-footer.footer-clean{padding-top:72px}
  .footer-directory{gap:48px 40px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-directory :is(a,button){font-size:.9375rem}
  .footer-signature-frame{margin-top:80px}
}
@media(max-width:600px){
  .home-page .home-invitation,.technology-page main>.home-invitation{padding-block:104px}
  .home-page .home-invitation h2,.technology-page .home-invitation h2{font-size:clamp(1.4rem,7vw,2.625rem);letter-spacing:-.025em}
  .home-page .home-invitation p,.technology-page .home-invitation p{font-size:1.0625rem;max-width:28ch;margin:24px auto 0}
  .home-invitation .button{margin-top:34px;min-width:176px}
  .site-footer.footer-clean{padding-top:60px}
  .footer-directory{gap:40px 24px}
  .footer-directory-group{gap:10px}
  .footer-directory-title{font-size:.6875rem;margin-bottom:8px}
  .footer-signature-frame{margin-top:56px}
  .footer-legal{font-size:.75rem;gap:20px;margin-top:22px;padding-top:24px}
}
@media(max-width:360px){
  .footer-directory{gap:32px 18px}
  .footer-directory :is(a,button){font-size:.875rem}
  .footer-legal{font-size:.6875rem;gap:12px}
}
