/* Component palette, exact spacing/type scale, and measured dimensions. */
:root{
  --sff-space-64:64px;
  --sff-background:#0b1320;
  --sff-text:#b9bec7;
  --sff-stroke-1:1px;
  --sff-rule:#35404c;
  --sff-type-14:14px;
  --sff-inner-size-1320:1320px;
  --sff-space-20:20px;
  --sff-top-size-240:240px;
  --sff-space-24:24px;
  --sff-space-36:36px;
  --sff-space-48:48px;
  --sff-heading:#f1ede3;
  --sff-space-12:12px;
  --sff-target-min:48px;
  --sff-space-7:7px;
  --sff-space-5:5px;
  --sff-stroke-2:2px;
  --sff-accent:#d8be86;
  --sff-space-4:4px;
  --sff-radius-2:2px;
  --sff-space-10:10px;
  --sff-type-23:23px;
  --sff-brand-size-36:36px;
  --sff-space-14:14px;
  --sff-type-13:13px;
  --sff-space-32:32px;
  --sff-space-18:18px;
  --sff-type-12:12px;
  --sff-space-28:28px;
  --sff-space-40:40px;
  --sff-type-22:22px;
  --sff-space-22:22px;
}
.sff-footer{display:block;width:100%;margin:0;padding:var(--sff-space-64) 0 0;background:var(--sff-background);color:var(--sff-text);border-top:var(--sff-stroke-1) solid var(--sff-rule);font:400 var(--sff-type-14)/1.6 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:left;letter-spacing:0}
.sff-footer *{box-sizing:border-box}
.sff-footer .sff-inner{max-width:var(--sff-inner-size-1320);padding:0 clamp(var(--sff-space-20),4vw,var(--sff-space-64));margin:0 auto}
.sff-footer .sff-top{display:grid;grid-template-columns:minmax(var(--sff-top-size-240),1.7fr) 1.2fr 1.1fr .8fr;gap:var(--sff-space-24) var(--sff-space-36);padding-bottom:var(--sff-space-48)}
.sff-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:0;padding:0}
.sff-footer h2{font:500 var(--sff-type-14)/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--sff-heading);margin:0 0 var(--sff-space-12);letter-spacing:0;text-transform:none}
.sff-footer a{display:inline-flex;align-items:center;min-height:var(--sff-target-min);min-width:var(--sff-target-min);max-width:100%;padding:var(--sff-space-7) 0;margin:0;color:var(--sff-text);text-decoration:none;font:inherit;line-height:1.5;letter-spacing:0;overflow-wrap:anywhere}
.sff-footer a::before,.sff-footer a::after{content:none}
.sff-footer a:hover{color:var(--sff-heading);text-decoration:underline;text-underline-offset:var(--sff-space-5)}
.sff-footer a:focus-visible{outline:var(--sff-stroke-2) solid var(--sff-accent);outline-offset:var(--sff-space-4);border-radius:var(--sff-radius-2)}
.sff-footer .sff-brand{gap:var(--sff-space-10);flex-wrap:nowrap;color:var(--sff-heading);font:600 var(--sff-type-23)/1.2 Spectral,Georgia,serif;letter-spacing:-.02em;min-height:var(--sff-target-min);overflow-wrap:normal}
.sff-brand img{width:var(--sff-brand-size-36);height:var(--sff-brand-size-36);display:block;flex:none}
.sff-footer .sff-brand em{font-style:italic;color:var(--sff-accent)}
.sff-footer .sff-intro p{margin:var(--sff-space-14) 0 0;color:var(--sff-text);font:inherit}
.sff-footer .sff-email{font-size:var(--sff-type-13)}
.sff-footer .sff-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--sff-space-12) var(--sff-space-32);border-top:var(--sff-stroke-1) solid var(--sff-rule);padding:var(--sff-space-18) 0}
.sff-footer .sff-bottom p{font-size:var(--sff-type-12);line-height:1.6;margin:0;max-width:52ch;color:var(--sff-text)}
.sff-footer .sff-bottom nav{flex-direction:row;flex-wrap:wrap;gap:0 var(--sff-space-24);font-size:var(--sff-type-12)}
@media(max-width:1050px){.sff-footer .sff-top{grid-template-columns:1.4fr 1fr 1fr;gap:var(--sff-space-28)}.sff-footer .sff-intro{grid-column:1/-1}.sff-footer .sff-bottom{align-items:flex-start;flex-direction:column;gap:0}}
@media(max-width:540px){.sff-footer{padding-top:var(--sff-space-40)}.sff-footer .sff-top{grid-template-columns:1fr 1fr;gap:var(--sff-space-28) var(--sff-space-18);padding-bottom:var(--sff-space-32)}.sff-footer .sff-top>nav:last-child{grid-column:1/-1;border-top:var(--sff-stroke-1) solid var(--sff-rule);padding-top:var(--sff-space-24);display:grid;grid-template-columns:1fr 1fr;gap:0 var(--sff-space-18)}.sff-footer .sff-top>nav:last-child h2{grid-column:1/-1}.sff-footer .sff-brand{font-size:var(--sff-type-22)}.sff-footer a{font-size:var(--sff-type-14)}.sff-footer h2{font-size:var(--sff-type-14)}.sff-footer .sff-bottom nav{column-gap:var(--sff-space-22)}}
