/* Option 05: centred lilac close, white footer */
html body main section.band{background:#DADBF0;color:#1B1B1B;text-align:center;border-radius:0;margin:0;padding:88px 0 80px;position:relative}
html body main section.band .container{display:flex;flex-direction:column;align-items:center}
html body main section.band h2{margin:0 auto;max-width:16em;text-wrap:balance}
html body main section.band p{color:#1B1B1B;margin:16px auto 0;max-width:42em}
html body main section.band .actions{margin-top:28px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 22px}
html body main section.band .btn:not(.btn-ghost){min-height:48px;background:#1B1B1B;color:#fff}
@media(hover:hover)and (pointer:fine){html body main section.band .btn:not(.btn-ghost):hover{background:#3E1C5B;color:#fff;opacity:1}}
html body main section.band .tlink{color:#1B1B1B;text-decoration-color:rgba(27,27,27,.55);text-underline-offset:3px}
html body .band-rec{display:none}
/* The close used to keep a 48/72px bottom margin, so the page background (#F7F7FA) showed as a pale strip. */
html body main>section.band,html body main>section.band:last-of-type{margin:0!important}
html body .footer-gap{display:none!important;height:0!important;margin:0!important;padding:0!important}
@media(max-width:700px){
 html body main section.band{text-align:left;padding:56px 0 48px}
 html body main section.band .container{align-items:flex-start}
 html body main section.band h2,html body main section.band p{margin-left:0;margin-right:0}
 html body main section.band .actions{flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start;gap:14px!important}
 html body main section.band .actions>.btn{width:auto;align-self:flex-start}
 html body main section.band .actions>.tlink{align-self:flex-start}
}

.nf{margin:0!important;background:#fff;color:#1B1B1B;font-size:1rem;line-height:1.5;border-top:0}
.nf>.container{padding-inline:var(--pad)}
.nf ul{list-style:none;margin:0;padding:0}
.nf_top{display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:40px 72px;align-items:start;padding:112px 0 56px}
.nf_brand{min-width:0}
.nf_logo{display:inline-flex;align-items:center;min-height:44px}
.nf_logo img{width:min(100%,240px);height:auto;display:block}
.nf_co{margin:18px 0 0;max-width:28ch;color:#1B1B1B;font-size:.9375rem;line-height:1.45}
.nf_cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 28px;margin:0}
.nf_h{margin:0 0 14px;font-size:1rem;font-weight:600;letter-spacing:-.01em;text-transform:none;color:#1B1B1B}
.nf li+li{margin-top:14px}
.nf a,.nf_ck{color:#1B1B1B;text-decoration:none;font-family:inherit;font-size:.9375rem;font-weight:400;font-style:normal;line-height:1.5;letter-spacing:normal}
html body footer.nf button.nf_ck{display:inline;appearance:none;background:none;border:0;border-radius:0;box-shadow:none;padding:0;margin:0;min-height:0;height:auto;width:auto;cursor:pointer;text-align:left;text-transform:none;vertical-align:baseline;font-family:inherit;font-size:.9375rem;font-weight:400;font-style:normal;line-height:1.5;letter-spacing:normal;color:#1B1B1B}
.nf a:focus-visible,.nf button:focus-visible,.nf_ck:focus-visible{outline:2px solid #522678;outline-offset:3px;border-radius:4px}
@media(hover:hover)and (pointer:fine){.nf a:hover,.nf_ck:hover{color:#3E1C5B;text-decoration:underline;text-underline-offset:3px}}
.nf_base{border-top:1px solid #E3E3EE;padding:48px 0 64px;text-align:center}
.nf_leg{margin:0}
.nf_leg p{margin:0;color:#1B1B1B;font-size:.9375rem}
@media(max-width:900px){
 .nf_top{grid-template-columns:1fr;gap:8px;padding:72px 0 32px}
 .nf_cols{grid-template-columns:1fr;gap:0}
 .nf_col{padding:18px 0;border-top:1px solid #E3E3EE}
 .nf_h{margin-bottom:8px}
 .nf a,html body footer.nf button.nf_ck{display:flex;align-items:center;min-height:44px;width:fit-content;max-width:100%;padding:0;font-size:.9375rem;font-weight:400;line-height:1.5}
 .nf li+li{margin-top:4px}
 .nf_co{max-width:36ch;padding-bottom:8px}
 .nf_base{padding-top:40px;padding-bottom:calc(56px + 72px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){.nf,.nf *{transition:none!important}}

/* Footer polish: logo alignment, legal line, columns, link rhythm */
.nf_base{text-align:left}
@media (min-width:901px){
  .nf_logo{align-items:flex-start;min-height:0}
  .nf_top{grid-template-columns:1fr;gap:32px 0}
  .nf_co{max-width:42ch;padding-bottom:0}
  .nf_cols{grid-template-columns:minmax(0,1fr) minmax(0,max-content) minmax(0,.9fr) minmax(0,max-content);column-gap:clamp(20px,2.4vw,40px)}
  .nf li+li{margin-top:10px}
}
@media (min-width:1100px){
  .nf_top{grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:40px clamp(32px,4.5vw,56px)}
  .nf_co{max-width:28ch}
}
@media (min-width:1180px){
  .nf_cols{padding-right:clamp(16px,2vw,32px)}
  .nf_cols a{white-space:nowrap}
}
@media (max-width:900px){
  .nf_logo{align-items:flex-start}
}
