/* WEREA corporate design system — wiredenterprise.eu
   Single source of truth for all pages. Family-related to SweetHive (same type family)
   but institutional register: petrol accent, squared corners, evidence framing.
   Rules: sentence case; no em dashes in copy; violet is reserved to SweetHive product UI. */

/* ---------- fonts (self-hosted, no third-party requests) ---------- */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/space-grotesk-v22-latin-regular.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/space-grotesk-v22-latin-500.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/space-grotesk-v22-latin-600.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-v20-latin-regular.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-v20-latin-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-v20-latin-600.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/ibm-plex-mono-v20-latin-regular.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/ibm-plex-mono-v20-latin-500.woff2') format('woff2')}

/* ---------- tokens ---------- */
:root{
  --paper:#FAF9F4; --ink:#141A1E; --muted:#59626A; --line:#E3E1D8; --card:#FFFFFF;
  --trust:#1D4E5F; --trust-deep:#143842; --trust-wash:#E8F0F1; --trust-line:#BFD5DA;
  --acc:#1D4E5F; --acc-text:#143842;
  --amber:#EF9F27;
  --night:#0B1114; --night-2:#101A1F; --night-line:#233037; --night-muted:#9AA6AB; --night-acc:#7FB8C6;
  --disp:'Space Grotesk',ui-sans-serif,sans-serif; --body:'Inter',ui-sans-serif,sans-serif; --mono:'IBM Plex Mono',ui-monospace,monospace;
  --r:12px; --r-lg:16px;
}
@media (prefers-color-scheme: dark){
  :root{
    --paper:#0F1519; --ink:#E8EBEC; --muted:#97A2A8; --line:#242E34; --card:#151E23;
    --trust-wash:#152730; --trust-line:#2C4750;
    --acc:#7FB8C6; --acc-text:#9DCBD6;
  }
}

/* ---------- base ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
:root{accent-color:var(--trust)}
::selection{background:var(--trust-line);color:var(--ink)}
body{font-family:var(--body);background:var(--paper);color:var(--ink);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
p a,li a{color:var(--acc-text);text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--acc);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:var(--paper);padding:10px 18px;font-family:var(--mono);font-size:13px}
.skip:focus{left:0}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
section{padding:96px 0}
h1,h2,h3,h4{font-family:var(--disp);font-weight:500;line-height:1.1;letter-spacing:-.014em;text-wrap:balance}
h2{font-size:clamp(30px,3.8vw,42px);margin-bottom:16px}
h3{font-size:20px;letter-spacing:-.008em}
.kicker{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--acc);display:block;margin-bottom:14px}
.lead{color:var(--muted);font-size:19px;max-width:680px;text-wrap:pretty}
.sechead{margin-bottom:52px}
.mono-sm{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted)}

/* ---------- buttons ---------- */
.btn{display:inline-block;font-family:var(--disp);font-weight:500;font-size:16px;padding:13px 26px;border-radius:10px;border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.btn:active{transform:translateY(1px)}
.btn-solid{background:var(--trust);color:#fff}
.btn-solid:hover{transform:translateY(-1px);box-shadow:0 12px 26px -14px rgba(20,56,66,.65)}
.btn-line{border-color:var(--line);color:var(--ink);background:transparent}
.btn-line:hover{border-color:var(--acc)}
.arrowlink{font-family:var(--disp);font-weight:500;color:var(--acc-text);white-space:nowrap}
.arrowlink:hover{text-decoration:underline;text-underline-offset:4px}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.navin{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:600;font-size:20px;letter-spacing:.04em}
.logo picture{display:flex;align-items:center;flex:none}
.logo img{height:26px;width:auto}
.footlockup{height:64px;width:auto;margin-bottom:14px}
.navlinks{display:flex;gap:32px;align-items:center;font-size:15.5px}
.navlinks a:not(.btn){color:var(--muted)}
.navlinks a:not(.btn):hover,.navlinks a[aria-current="page"]{color:var(--ink)}
.navlinks .btn{padding:9px 20px;font-size:14.5px}
.menubtn{display:none;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;background:none;border:1.5px solid var(--line);border-radius:8px;color:var(--ink);padding:8px 14px;cursor:pointer}
/* language dropdown (pure CSS: opens on hover / keyboard focus / tap) */
.lang{position:relative;display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--muted);cursor:pointer;outline:none}
.lang:focus-visible{outline:3px solid var(--acc);outline-offset:3px;border-radius:6px}
.langcur{color:var(--ink)}
.langchev{transition:transform .2s ease;flex:none}
.lang:hover .langchev,.lang:focus-within .langchev{transform:rotate(180deg)}
.langmenu{position:absolute;top:calc(100% + 12px);right:0;min-width:150px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:6px;display:none;flex-direction:column;gap:2px;box-shadow:0 16px 40px -16px rgba(20,26,30,.4);z-index:60}
.lang:hover .langmenu,.lang:focus-within .langmenu{display:flex}
.langmenu a{padding:8px 12px;border-radius:8px;color:var(--muted);white-space:nowrap;font-size:12.5px;letter-spacing:.03em}
.langmenu a:hover{background:var(--trust-wash);color:var(--acc-text)}
.langmenu a[aria-current="true"]{color:var(--ink);background:color-mix(in srgb,var(--line) 45%,transparent)}
@media(max-width:760px){
  .lang{padding:12px 0}
  .langmenu{position:static;box-shadow:none;border:none;padding:0 0 0 14px;background:transparent}
  .lang:focus-within .langmenu{display:flex}
}
@media(max-width:760px){
  .menubtn{display:inline-block}
  .navlinks{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:0;padding:10px 28px 20px}
  .navlinks.open{display:flex}
  .navlinks a{padding:12px 0;width:100%}
  .navlinks .btn{margin-top:10px;width:auto}
}

/* ---------- dark band ---------- */
.night{background:var(--night);color:#E9ECED;
  --ink:#E9ECED; --muted:var(--night-muted); --line:var(--night-line); --card:var(--night-2);
  --acc:var(--night-acc); --acc-text:var(--night-acc); --trust-wash:#13232B; --trust-line:#2C4750}
.night ::selection{background:#2C4750;color:#fff}

/* ---------- hero (home) ---------- */
.hero{padding:0;border-bottom:1px solid var(--line)}
.herogrid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;min-height:620px}
.hero-copy{padding:88px 0}
.hero h1{font-size:clamp(38px,4.9vw,60px);margin:20px 0 22px}
.hero .sub{font-size:19px;color:var(--muted);max-width:520px;margin-bottom:34px;text-wrap:pretty}
.ctarow{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-vis{position:relative;align-self:stretch;min-height:420px}
.hero-vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:28% 40%;
  -webkit-mask-image:radial-gradient(130% 115% at 42% 45%,#000 52%,transparent 97%);
  mask-image:radial-gradient(130% 115% at 42% 45%,#000 52%,transparent 97%)}
.hero-cap{position:absolute;left:0;bottom:22px;z-index:2}
@media(max-width:920px){
  .herogrid{grid-template-columns:1fr;min-height:0;gap:0}
  .hero-copy{padding:64px 0 40px}
  .hero-vis{min-height:340px;margin:0 -28px}
  .hero-vis img{object-position:35% 30%}
  .hero-cap{left:28px}
}

/* ---------- proof bar ---------- */
.proofbar{border-bottom:1px solid var(--line);padding:0}
.proofgrid{display:grid;grid-template-columns:repeat(3,1fr)}
.proofcell{padding:30px 28px 32px;border-left:1px solid var(--line)}
.proofcell:first-child{border-left:none;padding-left:0}
.proofcell b{display:block;font-family:var(--disp);font-weight:600;font-size:19px;margin-bottom:6px;letter-spacing:-.01em}
.proofcell p{font-size:14.5px;color:var(--muted);line-height:1.55;text-wrap:pretty}
@media(max-width:760px){
  .proofgrid{grid-template-columns:1fr}
  .proofcell{border-left:none;border-top:1px solid var(--line);padding:22px 0}
  .proofcell:first-child{border-top:none}
}

/* ---------- three gaps ---------- */
.gaps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink);counter-reset:gap}
.gap{padding:30px 32px 8px;border-left:1px solid var(--line);position:relative;counter-increment:gap}
.gap:first-child{padding-left:0;border-left:none}
.gap::before{content:counter(gap,decimal-leading-zero);font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--acc);display:block;margin-bottom:16px}
.gap h3{margin-bottom:10px}
.gap p{font-size:15.5px;color:var(--muted);text-wrap:pretty}
@media(max-width:860px){
  .gaps{grid-template-columns:1fr}
  .gap{border-left:none;border-top:1px solid var(--line);padding:26px 0 18px}
  .gap:first-child{border-top:none}
}

/* ---------- pillars ---------- */
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pillar{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 34px 0;display:flex;flex-direction:column;overflow:hidden}
.pillar h3{margin-bottom:10px}
.pillar>p{font-size:15.5px;color:var(--muted);margin-bottom:24px;text-wrap:pretty}
.pillar-media{margin-top:auto}
.pillar-media.pad{padding-bottom:34px}
.pillar-media img{width:100%;height:280px;object-fit:cover;object-position:top center;border:1px solid var(--line);border-bottom:none;border-radius:10px 10px 0 0}
.pillar-media img.contain{border:none;border-radius:0}
@media(max-width:860px){.pillars{grid-template-columns:1fr}}

/* mini pipeline (home pillar) */
.minipipe{display:flex;align-items:flex-start;justify-content:space-between;position:relative;padding:36px 0 48px}
.minipipe::before{content:"";position:absolute;left:6px;right:6px;top:43px;height:1px;background:var(--trust-line)}
.mp{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:11px;flex:1}
.mp i{width:14px;height:14px;border-radius:50%;background:var(--paper);border:2.5px solid var(--acc)}
.mp span{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
@media(max-width:430px){.mp span{font-size:9px;letter-spacing:.02em}}

/* remote viz mini diagram (home pillar) */
.rviz{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;padding:6px 0 12px}
.rv-box{border:1.5px solid var(--line);border-radius:10px;padding:14px 12px;text-align:center;background:var(--paper)}
.rv-box.src{border-color:var(--trust-line);background:var(--trust-wash)}
.rv-box b{display:block;font-family:var(--disp);font-weight:500;font-size:14.5px;margin-bottom:3px}
.rv-box span{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.04em}
.rv-stream{font-family:var(--mono);font-size:11px;color:var(--acc);letter-spacing:.08em;text-align:center}
.rv-stream::before{content:"";display:block;width:54px;height:1px;background:var(--acc);margin:0 auto 6px;position:relative}
.rviz-note{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.05em;padding-bottom:26px;display:block}

/* ---------- system frame ---------- */
.sysframe{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.sysframe-cap{display:flex;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sysframe-cap b{color:var(--acc);font-weight:500}
.sysframe-body{padding:40px 36px}
@media(max-width:640px){.sysframe-body{padding:28px 20px}}

/* ---------- six-stage pipeline (platform) ---------- */
.pipe{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative;counter-reset:stage}
.pipe::before{content:"";position:absolute;left:calc(8.33% - 10px);right:calc(8.33% - 10px);top:9px;height:2px;background:var(--line)}
.stage{position:relative;padding:0 18px 0 0;counter-increment:stage}
.stage::before{content:"";position:relative;z-index:1;display:block;width:20px;height:20px;border-radius:50%;background:var(--card);border:2.5px solid var(--line);margin-bottom:18px;transition:border-color .45s ease,box-shadow .45s ease}
.stage.lit::before{border-color:var(--acc);box-shadow:0 0 0 5px color-mix(in srgb,var(--acc) 18%,transparent)}
.stage .s-num{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--acc);display:block;margin-bottom:8px}
.stage h3{font-size:19px;margin-bottom:8px}
.stage p{font-size:14px;color:var(--muted);line-height:1.55;text-wrap:pretty}
@media(max-width:1020px){
  .pipe{grid-template-columns:1fr;max-width:560px}
  .pipe::before{left:9px;top:14px;bottom:14px;right:auto;width:2px;height:auto}
  .stage{padding:0 0 34px 46px}
  .stage:last-child{padding-bottom:0}
  .stage::before{position:absolute;left:0;top:2px;margin:0}
  .stage .s-num{margin-top:1px}
}

/* pull quote */
.pullq{font-family:var(--disp);font-weight:500;font-size:clamp(24px,3vw,34px);line-height:1.25;letter-spacing:-.012em;max-width:760px;text-wrap:balance}
.pullq em{font-style:normal;color:var(--acc)}

/* ---------- architecture stack (platform) ---------- */
.arch{display:flex;flex-direction:column}
.arch-band{display:grid;grid-template-columns:230px 1fr;gap:26px;padding:26px 0;border-top:1px solid var(--line);position:relative}
.arch-band:first-child{border-top:none;padding-top:0}
.arch-band:last-child{padding-bottom:0}
.arch-label{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--acc);padding-top:22px;position:relative;padding-left:20px}
.arch-label::before{content:"";position:absolute;left:2px;top:26px;width:8px;height:8px;border-radius:50%;border:2px solid var(--acc);background:var(--paper)}
.arch-mods{display:grid;gap:14px}
.arch-mods.two{grid-template-columns:1fr 1fr}
.arch-mod{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 24px}
.arch-mod h3{font-size:17px;margin-bottom:7px}
.arch-mod p{font-size:14.5px;color:var(--muted);line-height:1.55;text-wrap:pretty}
@media(max-width:860px){
  .arch-band{grid-template-columns:1fr;gap:14px;padding:20px 0}
  .arch-label{padding-top:0}
  .arch-label::before{top:4px}
  .arch-mods.two{grid-template-columns:1fr}
}

/* ---------- products diagram ---------- */
.pdiag{display:flex;flex-direction:column;align-items:center;text-align:center}
.pd-box{border:1.5px solid var(--line);border-radius:var(--r);padding:20px 34px;background:var(--paper)}
.pd-box b{display:block;font-family:var(--disp);font-weight:600;font-size:19px;letter-spacing:-.01em}
.pd-box span{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--muted)}
.pd-os{border-color:var(--acc);background:var(--trust-wash);width:min(560px,100%)}
.pd-os b{color:var(--acc-text)}
.pd-ctx{width:min(460px,88%)}
.pd-v{width:2px;height:30px;background:var(--line)}
.pd-branch{width:min(332px,54%);height:26px;border:2px solid var(--line);border-bottom:none;border-radius:8px 8px 0 0;position:relative}
.pd-branch::before{content:"";position:absolute;left:50%;top:-28px;width:2px;height:26px;background:var(--line);transform:translateX(-1px)}
.pd-prods{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:min(640px,100%)}
.pd-prod{border:1.5px solid var(--line);border-radius:var(--r);padding:22px 20px;background:var(--card);transition:border-color .15s ease,transform .15s ease;display:block}
.pd-prod:hover{border-color:var(--acc);transform:translateY(-2px)}
.pd-prod b{display:block;font-family:var(--disp);font-weight:600;font-size:18px;margin-bottom:4px}
.pd-prod span{font-size:13.5px;color:var(--muted);display:block;line-height:1.45}
@media(max-width:560px){.pd-prods{grid-template-columns:1fr;gap:14px}.pd-branch{display:none}.pd-prods::before{content:"";width:2px;height:26px;background:var(--line);margin:0 auto}}

/* ---------- product blocks ---------- */
.prodrow{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.prodrow.flip .prodmedia{order:-1}
.prodrow h2{font-size:clamp(26px,3vw,34px)}
.prodrow .desc{color:var(--muted);font-size:16.5px;margin-bottom:26px;text-wrap:pretty}
.shot{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--card);box-shadow:0 30px 70px -40px rgba(20,26,30,.4)}
.shot-bar{display:flex;align-items:center;gap:6px;padding:11px 14px;border-bottom:1px solid var(--line)}
.shot-bar i{width:9px;height:9px;border-radius:50%;background:var(--line)}
.shot-bar span{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--muted);margin-left:8px}
.specimen{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:0 30px 70px -40px rgba(20,26,30,.35)}
.specimen img{margin:0 auto;max-height:440px;width:auto}
.speccap{display:flex;justify-content:space-between;gap:10px;margin-top:18px;font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:#59626A}
@media(max-width:920px){.prodrow{grid-template-columns:1fr;gap:30px}.prodrow.flip .prodmedia{order:0}}

/* ---------- backers ---------- */
.backers{display:flex;flex-wrap:wrap;gap:26px 56px;align-items:center}
.backers img{height:40px;width:auto;filter:grayscale(1);opacity:.7;transition:filter .2s ease,opacity .2s ease}
.backers img:hover{filter:none;opacity:1}
@media (prefers-color-scheme: dark){.backers img{filter:grayscale(1) invert(.85);opacity:.8}.backers img:hover{filter:grayscale(1) invert(.85);opacity:1}}
@media(max-width:560px){.backers{gap:20px 32px}.backers img{height:32px}}

/* ---------- fail-closed block ---------- */
.failclosed{border-left:3px solid var(--acc);background:var(--trust-wash);border-radius:0 var(--r) var(--r) 0;padding:22px 28px;max-width:640px}
.failclosed p{font-family:var(--disp);font-weight:500;font-size:19px;line-height:1.4;text-wrap:pretty}

/* ---------- closing band ---------- */
.closing{text-align:center}
.closing .mono-triple{font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin-bottom:18px;display:block}
.closing h2{font-size:clamp(30px,4vw,46px);margin-bottom:14px}
.closing p{color:var(--muted);margin-bottom:32px}
.closing .ctarow{justify-content:center}

/* ---------- contact ---------- */
.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.path{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;display:flex;flex-direction:column;gap:8px}
.path b{font-family:var(--disp);font-weight:600;font-size:18px}
.path p{font-size:14.5px;color:var(--muted);flex:1;text-wrap:pretty}
.path a{margin-top:10px}
@media(max-width:860px){.paths{grid-template-columns:1fr}}
.cform{max-width:640px}
.formfields{display:grid;gap:20px}
.cform label{display:grid;gap:7px;font-family:var(--disp);font-weight:500;font-size:15px}
.cform input,.cform select,.cform textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;width:100%}
.cform input:focus,.cform select:focus,.cform textarea:focus{border-color:var(--acc);outline:none}
.cform textarea{min-height:150px;resize:vertical}
.formrow{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:640px){.formrow{grid-template-columns:1fr}}
.hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.formnote{font-size:13.5px;color:var(--muted)}
.consent{display:flex !important;flex-direction:row;align-items:flex-start;gap:10px;font-family:var(--body) !important;font-weight:400 !important;font-size:14px !important;color:var(--muted)}
.consent input{width:auto;margin-top:3px}
.formok{display:none;background:var(--trust-wash);border:1px solid var(--trust-line);border-radius:10px;padding:16px 20px;font-family:var(--disp);font-weight:500}
.cform.sent .formok{display:block}
.cform.sent .formfields{display:none}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--line);padding:64px 0 0;margin-top:40px}
.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:48px}
.foot h4{font-family:var(--mono);font-weight:500;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.foot ul{list-style:none;display:grid;gap:10px;font-size:15px}
.foot ul a{color:var(--muted)}
.foot ul a:hover{color:var(--ink)}
.foot .logo{margin-bottom:10px}
.footlegal{border-top:1px solid var(--line);padding:20px 28px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--muted)}
@media(max-width:760px){.footgrid{grid-template-columns:1fr;gap:32px}}

/* ---------- reveals (JS + motion-ok only; static without JS) ---------- */
@media (prefers-reduced-motion: no-preference){
  .js .rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
  .js .rv.on{opacity:1;transform:none}
  .js .rv2{transition-delay:.08s}
  .js .rv3{transition-delay:.16s}
}
