/* ============================================================
   GenTech — shared interior-page layout system
   Themed entirely through --sp-* bridge variables set by each
   direction's theme-*.css. One stylesheet, ten visual worlds.
   ============================================================ */

:root{
  --sp-bg:#111; --sp-surface:#1a1a1a; --sp-surface-2:#222;
  --sp-ink:#eee; --sp-ink-2:#bbb; --sp-muted:#888;
  --sp-line:#333; --sp-line-2:#444;
  --sp-accent:#b0825a; --sp-accent-ink:#fff; --sp-heading:var(--sp-ink);
  --sp-display:Georgia,serif; --sp-body:system-ui,sans-serif; --sp-mono:ui-monospace,monospace;
  --sp-disp-weight:400; --sp-disp-transform:none; --sp-disp-letter:-.01em; --sp-disp-lh:1.0;
  --sp-radius:0px; --sp-bw:1px; --sp-logo-bg:transparent; --sp-logo-pad:0px;
  --sp-pad:clamp(20px,4vw,72px);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--sp-bg);color:var(--sp-ink);font-family:var(--sp-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
::selection{background:var(--sp-accent);color:var(--sp-accent-ink);}

.sp-display{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);letter-spacing:var(--sp-disp-letter);line-height:var(--sp-disp-lh);color:var(--sp-heading);margin:0;}
.sp-eyebrow{font-family:var(--sp-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--sp-muted);font-weight:600;}
.sp-eyebrow .d{color:var(--sp-accent);}
.sp-container{max-width:1280px;margin:0 auto;padding:0 var(--sp-pad);}
.sp-section{padding:clamp(56px,7vw,112px) 0;}
.sp-rule{height:var(--sp-bw);background:var(--sp-line);width:100%;}

/* ---- NAV ---- */
.sp-nav{position:fixed;top:0;left:0;right:0;z-index:80;display:flex;align-items:center;justify-content:space-between;
  padding:16px var(--sp-pad);background:color-mix(in srgb,var(--sp-bg) 86%, transparent);
  -webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);
  border-bottom:var(--sp-bw) solid var(--sp-line);}
.sp-brand{display:flex;align-items:center;gap:12px;}
.sp-brand img{height:28px;background:var(--sp-logo-bg);padding:var(--sp-logo-pad);border-radius:2px;}
.sp-links{display:flex;gap:26px;}
.sp-links a{font-family:var(--sp-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--sp-ink-2);font-weight:500;transition:color .2s;white-space:nowrap;}
.sp-links a:hover,.sp-links a.active{color:var(--sp-accent);}
.sp-cta{font-family:var(--sp-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  border:var(--sp-bw) solid var(--sp-accent);color:var(--sp-accent);padding:10px 16px;border-radius:var(--sp-radius);transition:.25s;white-space:nowrap;}
.sp-cta:hover{background:var(--sp-accent);color:var(--sp-accent-ink);}
@media(max-width:880px){.sp-links{display:none;}}

/* ---- PAGE HEAD ---- */
.sp-head{padding-top:calc(var(--sp-pad) + 84px);padding-bottom:clamp(36px,4vw,56px);}
.sp-head h1{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);
  letter-spacing:var(--sp-disp-letter);line-height:var(--sp-disp-lh);color:var(--sp-heading);
  font-size:clamp(44px,7.5vw,118px);margin:18px 0 0;}
.sp-head .it{font-style:italic;color:var(--sp-accent);}
.sp-head .intro{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,4vw,56px);align-items:end;
  margin-top:clamp(32px,4vw,48px);border-top:var(--sp-bw) solid var(--sp-line);padding-top:26px;}
.sp-head .intro p{margin:0;color:var(--sp-ink-2);font-size:16px;line-height:1.65;max-width:620px;}
.sp-head .intro .meta{font-family:var(--sp-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sp-muted);text-align:right;line-height:1.8;}
@media(max-width:880px){.sp-head .intro{grid-template-columns:1fr;}.sp-head .intro .meta{text-align:left;}}

/* ---- SECTION HEAD ---- */
.sp-sh{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;
  border-bottom:var(--sp-bw) solid var(--sp-line);padding-bottom:18px;margin-bottom:44px;}
.sp-sh h2{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);
  letter-spacing:var(--sp-disp-letter);line-height:var(--sp-disp-lh);color:var(--sp-heading);font-size:clamp(30px,4vw,60px);}
.sp-sh .it{font-style:italic;color:var(--sp-accent);}
.sp-sh .meta{font-family:var(--sp-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sp-muted);text-align:right;}

/* ---- PROJECT GRID ---- */
.sp-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,2.2vw,32px);}
.sp-card{position:relative;overflow:hidden;cursor:pointer;display:block;background:var(--sp-surface);border-radius:var(--sp-radius);}
.sp-card .ph{overflow:hidden;border-radius:var(--sp-radius);}
.sp-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);}
.sp-card:hover .ph img{transform:scale(1.05);}
.sp-card .cap{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:baseline;margin-top:14px;padding-top:12px;border-top:var(--sp-bw) solid var(--sp-line);}
.sp-card .cap .t{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);letter-spacing:var(--sp-disp-letter);color:var(--sp-heading);font-size:clamp(20px,1.9vw,28px);}
.sp-card .cap .l{font-family:var(--sp-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sp-muted);text-align:right;white-space:nowrap;}
.sp-card .num{font-family:var(--sp-mono);font-size:11px;letter-spacing:.14em;color:var(--sp-accent);margin-bottom:8px;}

/* image-overlay variant for full-bleed tiles */
.sp-tile{position:relative;overflow:hidden;cursor:pointer;display:block;background:var(--sp-surface);border-radius:var(--sp-radius);}
.sp-tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 1.1s cubic-bezier(.2,.7,.2,1);}
.sp-tile:hover img{transform:scale(1.05);}
.sp-tile .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,6,.05) 40%,rgba(8,8,6,.82));z-index:1;}
.sp-tile .cat{position:absolute;top:16px;left:16px;z-index:2;font-family:var(--sp-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:var(--sp-accent);color:var(--sp-accent-ink);padding:5px 9px;}
.sp-tile .num{position:absolute;top:16px;right:16px;z-index:2;font-family:var(--sp-mono);font-size:11px;letter-spacing:.1em;color:#fff;}
.sp-tile .meta{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;color:#fff;}
.sp-tile .meta .t{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);letter-spacing:var(--sp-disp-letter);font-size:clamp(22px,2.1vw,34px);}
.sp-tile .meta .l{font-family:var(--sp-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.82);margin-top:6px;}

/* ---- LEDGER ---- */
.sp-ledger{border-top:var(--sp-bw) solid var(--sp-line);}
.sp-ledger .row{display:grid;grid-template-columns:64px 1fr auto;gap:20px;align-items:center;padding:18px 0;border-bottom:var(--sp-bw) solid var(--sp-line);}
.sp-ledger .row .n{font-family:var(--sp-mono);font-size:12px;color:var(--sp-accent);}
.sp-ledger .row .t{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);letter-spacing:var(--sp-disp-letter);color:var(--sp-heading);font-size:clamp(18px,1.8vw,26px);}
.sp-ledger .row .s{font-family:var(--sp-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sp-muted);text-align:right;}
@media(max-width:680px){.sp-ledger .row{grid-template-columns:44px 1fr;}.sp-ledger .row .s{display:none;}}

/* ---- DETAIL ---- */
.sp-dhero{position:relative;height:88vh;min-height:600px;overflow:hidden;display:flex;align-items:flex-end;}
.sp-dhero .bg{position:absolute;inset:0;background-size:cover;background-position:center 45%;}
.sp-dhero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,6,.4),rgba(8,8,6,.1) 38%,rgba(8,8,6,.86));}
.sp-dhero .inner{position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;padding:0 var(--sp-pad) clamp(36px,5vw,72px);color:#fff;}
.sp-dhero h1{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);letter-spacing:var(--sp-disp-letter);line-height:var(--sp-disp-lh);color:#fff;font-size:clamp(44px,7vw,120px);}
.sp-dhero .eyebrow{color:rgba(255,255,255,.9);margin-bottom:18px;}
.sp-dhero .drow{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;border-top:1px solid rgba(255,255,255,.25);padding-top:22px;max-width:760px;}
.sp-dhero .drow .k{font-family:var(--sp-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:8px;}
.sp-dhero .drow .v{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);font-size:18px;color:#fff;letter-spacing:.01em;}
.sp-dhero .back{position:absolute;top:calc(var(--sp-pad) + 70px);left:var(--sp-pad);z-index:3;font-family:var(--sp-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85);}
.sp-dhero .back:hover{color:#fff;}

.sp-overview{display:grid;grid-template-columns:1fr 2fr;gap:clamp(24px,4vw,64px);}
.sp-overview .lede{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);font-size:clamp(22px,2.4vw,38px);line-height:1.25;color:var(--sp-heading);margin:0;}
.sp-overview p.body{margin:28px 0 0;color:var(--sp-ink-2);font-size:16px;line-height:1.75;max-width:680px;}
@media(max-width:880px){.sp-overview{grid-template-columns:1fr;}}

.sp-figure{width:100%;}
.sp-figure .img{width:100%;aspect-ratio:21/9;background-size:cover;background-position:center;border-radius:var(--sp-radius);}
.sp-figure .cap{display:flex;justify-content:space-between;margin-top:12px;font-family:var(--sp-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sp-muted);}

.sp-approach{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);}
.sp-approach .col{border-top:var(--sp-bw) solid var(--sp-line);padding-top:26px;}
.sp-approach .col.accent{border-top-color:var(--sp-accent);}
.sp-approach h3{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);letter-spacing:var(--sp-disp-letter);color:var(--sp-heading);font-size:clamp(24px,2.4vw,34px);line-height:1.15;margin:14px 0 16px;}
.sp-approach p{color:var(--sp-ink-2);line-height:1.7;margin:0;}
@media(max-width:880px){.sp-approach{grid-template-columns:1fr;}}

.sp-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(14px,1.6vw,24px);}
.sp-gallery .g{background-size:cover;background-position:center;border-radius:var(--sp-radius);overflow:hidden;}

.sp-next{position:relative;height:62vh;min-height:420px;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;}
.sp-next .bg{position:absolute;inset:0;background-size:cover;background-position:center 50%;transition:transform 1.4s cubic-bezier(.2,.7,.2,1);}
.sp-next:hover .bg{transform:scale(1.04);}
.sp-next .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,6,.4),rgba(8,8,6,.7));}
.sp-next .inner{position:relative;z-index:2;color:#fff;}
.sp-next .eyebrow{color:rgba(255,255,255,.85);margin-bottom:18px;}
.sp-next h2{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);letter-spacing:var(--sp-disp-letter);color:#fff;font-size:clamp(40px,6vw,104px);}

/* ---- ABOUT ---- */
.sp-manifesto{display:grid;grid-template-columns:1fr 1.7fr;gap:clamp(24px,4vw,64px);}
.sp-manifesto .stmt{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);font-size:clamp(24px,2.7vw,42px);line-height:1.28;color:var(--sp-heading);margin:0;}
.sp-manifesto .stmt .it{font-style:italic;color:var(--sp-accent);}
.sp-principles{margin-top:8px;}
.sp-principles .p{display:grid;grid-template-columns:64px 1fr;gap:24px;padding:28px 0;border-top:var(--sp-bw) solid var(--sp-line);}
.sp-principles .p .n{font-family:var(--sp-mono);font-size:12px;color:var(--sp-accent);}
.sp-principles .p h4{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);letter-spacing:var(--sp-disp-letter);color:var(--sp-heading);font-size:clamp(20px,2vw,28px);margin:0 0 12px;}
.sp-principles .p p{margin:0;color:var(--sp-ink-2);line-height:1.65;}
@media(max-width:880px){.sp-manifesto{grid-template-columns:1fr;}.sp-principles .p{grid-template-columns:1fr;gap:8px;}}

.sp-leaders{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,44px);}
.sp-leader .pf{aspect-ratio:3/4;background:var(--sp-surface-2);background-size:cover;background-position:center 22%;border-radius:var(--sp-radius);overflow:hidden;}
.sp-leader .pf.slot{display:flex;align-items:center;justify-content:center;background:var(--sp-surface-2);}
.sp-leader .pf.slot .ini{font-family:var(--sp-display);font-size:56px;color:var(--sp-accent);opacity:.55;}
.sp-leader h3{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);letter-spacing:var(--sp-disp-letter);color:var(--sp-heading);font-size:26px;margin:18px 0 0;}
.sp-leader .role{font-family:var(--sp-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sp-accent);margin-top:8px;}
.sp-leader p{color:var(--sp-ink-2);font-size:14px;line-height:1.6;margin-top:14px;}
@media(max-width:880px){.sp-leaders{grid-template-columns:1fr;}}

.sp-band{display:grid;grid-template-columns:1fr 1fr;border:var(--sp-bw) solid var(--sp-line);border-radius:var(--sp-radius);overflow:hidden;}
.sp-band .fig{min-height:440px;background-size:cover;background-position:center;}
.sp-band .txt{padding:clamp(28px,4vw,64px);display:flex;flex-direction:column;justify-content:center;background:var(--sp-surface);}
.sp-band .txt h3{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);letter-spacing:var(--sp-disp-letter);color:var(--sp-heading);font-size:clamp(28px,3vw,46px);line-height:1.08;margin:18px 0;}
.sp-band .txt p{color:var(--sp-ink-2);max-width:460px;line-height:1.7;}
@media(max-width:880px){.sp-band{grid-template-columns:1fr;}.sp-band .fig{min-height:300px;}}

.sp-contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:start;}
.sp-contact .form{background:var(--sp-surface);border:var(--sp-bw) solid var(--sp-line);border-radius:var(--sp-radius);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:20px;}
.sp-contact label{display:flex;flex-direction:column;gap:8px;}
.sp-contact label span{font-family:var(--sp-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sp-muted);}
.sp-contact input,.sp-contact textarea{background:transparent;border:0;border-bottom:var(--sp-bw) solid var(--sp-line-2);padding:10px 0;color:var(--sp-ink);font-family:var(--sp-display);font-size:20px;outline:none;}
.sp-contact .chips{display:flex;gap:8px;flex-wrap:wrap;}
.sp-contact .chip{font-family:var(--sp-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:var(--sp-bw) solid var(--sp-line-2);color:var(--sp-ink-2);padding:8px 13px;border-radius:var(--sp-radius);cursor:pointer;transition:.2s;}
.sp-contact .chip:hover{border-color:var(--sp-accent);color:var(--sp-accent);}
.sp-btn{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;font-family:var(--sp-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;background:var(--sp-accent);color:var(--sp-accent-ink);border:0;padding:14px 22px;border-radius:var(--sp-radius);cursor:pointer;transition:.25s;}
.sp-btn:hover{filter:brightness(1.08);}
.sp-btn.ghost{background:transparent;border:var(--sp-bw) solid var(--sp-line-2);color:var(--sp-ink);}
.sp-btn.ghost:hover{border-color:var(--sp-accent);color:var(--sp-accent);}
@media(max-width:880px){.sp-contact{grid-template-columns:1fr;}}

/* ---- CAPABILITIES ---- */
.sp-cap{display:grid;grid-template-columns:90px 1fr;gap:clamp(20px,3vw,48px);padding:clamp(32px,4vw,52px) 0;border-top:var(--sp-bw) solid var(--sp-line);}
.sp-cap .n{font-family:var(--sp-mono);font-size:13px;color:var(--sp-accent);}
.sp-cap h3{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);letter-spacing:var(--sp-disp-letter);color:var(--sp-heading);font-size:clamp(28px,3.4vw,52px);margin:0 0 16px;line-height:1.04;}
.sp-cap p{color:var(--sp-ink-2);font-size:16px;line-height:1.7;max-width:640px;margin:0 0 22px;}
.sp-cap .dels{display:flex;gap:8px;flex-wrap:wrap;}
.sp-cap .dels span{font-family:var(--sp-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;border:var(--sp-bw) solid var(--sp-line-2);color:var(--sp-ink-2);padding:8px 13px;border-radius:var(--sp-radius);}
@media(max-width:680px){.sp-cap{grid-template-columns:1fr;gap:14px;}}

/* ---- REGIONS ---- */
.sp-regions{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:center;}
.sp-regions .big{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);letter-spacing:var(--sp-disp-letter);color:var(--sp-heading);font-size:clamp(34px,4.6vw,72px);line-height:1.05;}
.sp-regions .big .it{font-style:italic;color:var(--sp-accent);}
.sp-regions .states{display:flex;margin-top:28px;border-top:var(--sp-bw) solid var(--sp-line);}
.sp-regions .states div{flex:1;padding:18px 0;font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);font-size:24px;border-right:var(--sp-bw) solid var(--sp-line);color:var(--sp-heading);}
.sp-regions .states div:last-child{border-right:0;}
.sp-regions .fig{aspect-ratio:4/3;background-size:cover;background-position:center;border-radius:var(--sp-radius);}
@media(max-width:880px){.sp-regions{grid-template-columns:1fr;}}

.sp-sites{border-top:var(--sp-bw) solid var(--sp-line);}
.sp-sites .row{display:grid;grid-template-columns:64px 1fr auto 40px;gap:20px;align-items:center;padding:20px 0;border-bottom:var(--sp-bw) solid var(--sp-line);cursor:pointer;transition:background .2s,padding .3s;}
.sp-sites .row:hover{background:var(--sp-surface);padding-left:14px;padding-right:14px;}
.sp-sites .row .n{font-family:var(--sp-mono);font-size:12px;color:var(--sp-accent);}
.sp-sites .row .t{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);letter-spacing:var(--sp-disp-letter);color:var(--sp-heading);font-size:clamp(20px,2vw,30px);}
.sp-sites .row .s{font-family:var(--sp-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sp-muted);text-align:right;}
.sp-sites .row .a{text-align:right;color:var(--sp-muted);}
.sp-sites .row:hover .a{color:var(--sp-accent);}
@media(max-width:680px){.sp-sites .row{grid-template-columns:44px 1fr 40px;}.sp-sites .row .s{display:none;}}

/* ---- FOOTER ---- */
.sp-footer{border-top:var(--sp-bw) solid var(--sp-line);background:var(--sp-surface);}
.sp-footer .ft{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding:56px var(--sp-pad);}
.sp-footer h4{font-family:var(--sp-display);font-weight:var(--sp-disp-weight);text-transform:var(--sp-disp-transform);letter-spacing:var(--sp-disp-letter);color:var(--sp-heading);font-size:clamp(24px,2.6vw,38px);max-width:420px;margin:0;}
.sp-footer h4 .it{font-style:italic;color:var(--sp-accent);}
.sp-footer h6{font-family:var(--sp-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--sp-muted);margin:0 0 14px;}
.sp-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.sp-footer ul a{color:var(--sp-ink-2);font-size:14px;}
.sp-footer ul a:hover{color:var(--sp-accent);}
.sp-footer .ftb{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;padding:20px var(--sp-pad);border-top:var(--sp-bw) solid var(--sp-line);font-family:var(--sp-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--sp-muted);flex-wrap:wrap;gap:10px;}
@media(max-width:880px){.sp-footer .ft{grid-template-columns:1fr;gap:28px;}}

/* ---- BACKBAR ---- */
.sp-backbar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--sp-bg);color:var(--sp-ink-2);display:flex;justify-content:space-between;
  padding:11px var(--sp-pad);font-family:var(--sp-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;border-top:var(--sp-bw) solid var(--sp-accent);}
.sp-backbar a{color:var(--sp-accent);font-weight:600;}

/* ---- reveal (progressive enhancement; base visible) ---- */
.sp-reveal{opacity:1;transform:none;}
.js .sp-reveal{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1);}
.js .sp-reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.js .sp-reveal{opacity:1;transform:none;transition:none;}}
