/* ============================================================
   SNG — Nav, Footer, shared UI chrome
   ============================================================ */

/* ---------------- NAV ---------------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:50;
  transition:background .3s ease, border-color .3s ease, backdrop-filter .3s ease;
  border-bottom:1px solid transparent;
}
.nav.is-scrolled{
  background:rgba(245,244,239,0.82);
  backdrop-filter:saturate(140%) blur(14px);
  -webkit-backdrop-filter:saturate(140%) blur(14px);
  border-bottom:1px solid var(--line-2);
}
.nav-inner{
  height:var(--nav-h);
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.nav-l{ display:flex; align-items:center; flex:0 0 auto; }
.nav-links{ display:flex; align-items:center; gap:4px; flex:1 1 auto; justify-content:center; }
.nav-link{
  background:none; border:0; padding:8px 14px;
  font-family:var(--mono); font-size:16px; letter-spacing:0.13em; text-transform:uppercase; font-weight:600;
  color:var(--ink); position:relative; transition:color .2s;
}
.nav-link::after{
  content:""; position:absolute; left:14px; right:14px; bottom:2px; height:1px; background:var(--accent);
  transform:scaleX(0); transform-origin:left; transition:transform .28s cubic-bezier(.2,.7,.3,1);
}
.nav-link:hover{ color:var(--mk); }
.nav-link:hover::after, .nav-link.active::after{ transform:scaleX(1); }
.nav-link.active{ color:var(--mk); }

.nav-r{ display:flex; align-items:center; gap:18px; flex:0 0 auto; }
.lang{ display:flex; align-items:center; gap:7px; font-family:var(--mono); font-size:11.5px; letter-spacing:0.1em; }
.lang button{ background:none; border:0; color:var(--gray-2); padding:2px; font-weight:600; letter-spacing:0.1em; transition:color .2s; }
.lang button.on{ color:var(--ink); }
.lang button:hover{ color:var(--mk); }
.lang-sep{ color:var(--line-2); }
.nav-cta{ padding:11px 18px; }

.burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; padding:6px; }
.burger span{ width:24px; height:1.6px; background:var(--ink); transition:.28s; display:block; }
.burger.open span:nth-child(1){ transform:translateY(3.3px) rotate(45deg); }
.burger.open span:nth-child(2){ transform:translateY(-3.3px) rotate(-45deg); }

.nav-mobile{ display:none; }

@media(max-width:1080px){
  .nav-cta{ display:none; }
}
@media(max-width:920px){
  .nav-links{ display:none; }
  .burger{ display:flex; justify-content:center; padding:14px 10px; min-height:44px; min-width:44px; }
  .nav .lang button{ padding:12px 6px; min-height:44px; }
  .nav-mobile{
    display:block; position:fixed; top:var(--nav-h); left:0; right:0;
    background:var(--paper); border-bottom:1px solid var(--ink);
    max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.2,.7,.3,1); z-index:49;
  }
  .nav-mobile.show{ max-height:80vh; }
  .nav-mlink{
    display:flex; align-items:center; gap:18px; width:100%; text-align:left;
    background:none; border:0; border-top:1px solid var(--line-2); padding:20px var(--gut);
    font-size:22px; font-weight:700; letter-spacing:-0.02em; color:var(--ink);
  }
  .nav-mlink .num{ font-size:11px; color:var(--mk); }
  .nav-mlink.active{ color:var(--mk); }
  .nav-mlang{ display:flex; gap:10px; padding:18px var(--gut) 26px; border-top:1px solid var(--line-2); }
  .nav-mlang button{ flex:1; padding:12px; border:1px solid var(--ink); background:none; font-family:var(--mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; }
  .nav-mlang button.on{ background:var(--ink); color:var(--paper); }
}

/* ---------------- PAGE HERO ---------------- */
.pagehero{ padding:calc(var(--nav-h) + 72px) 0 56px; border-bottom:1px solid var(--ink); }
.pagehero .eyebrow{ display:block; margin-bottom:26px; }
.pagehero-ttl{ max-width:16ch; }
.pagehero-lead{ max-width:46ch; margin-top:30px; color:var(--ink-2); }

/* ---------------- NEXT LINK strip ---------------- */
.nextlink{
  display:flex; align-items:center; gap:22px; width:100%;
  background:none; border:0; border-top:1px solid var(--ink);
  padding:46px var(--gut); text-align:left; color:var(--ink); transition:padding-left .3s, color .25s;
  margin:0 auto;
}
.nextlink:hover{ color:var(--mk); padding-left:calc(var(--gut) + 12px); }
.nextlink-label{ font-size:clamp(28px,4vw,52px); font-weight:700; letter-spacing:-0.03em; margin-right:auto; }

/* ---------------- MARQUEE ---------------- */
.marquee{ overflow:hidden; border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); padding:14px 0; background:var(--paper); }
.marquee.dark{ background:var(--ink); border-color:var(--line-dark); }
.marquee-track{ display:inline-flex; white-space:nowrap; animation:marquee 38s linear infinite; }
.marquee-item{ font-family:var(--mono); font-size:13px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink); display:inline-flex; align-items:center; }
.marquee.dark .marquee-item{ color:var(--paper); }
.marquee-dot{ color:var(--accent); font-style:normal; margin:0 22px; }
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-33.333%); } }
.marquee:hover .marquee-track{ animation-play-state:paused; }
@media (prefers-reduced-motion: reduce){ .marquee-track{ animation:none; } }

/* ---------------- FOOTER ---------------- */
.footer{ background:var(--ink); color:var(--paper); margin-top:0; }
.footer-inner{
  display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr); gap:48px;
  padding-top:72px; padding-bottom:56px;
}
.footer-blurb{ color:var(--gray); font-size:15px; line-height:1.55; max-width:38ch; margin-top:24px; }
.footer-news{ margin-top:34px; }
.news-form{ display:flex; gap:0; margin-top:12px; max-width:380px; border:1px solid var(--line-dark); }
.news-form input{
  flex:1; background:transparent; border:0; color:var(--paper); padding:13px 14px;
  font-family:var(--mono); font-size:12px; letter-spacing:0.06em;
}
.news-form input::placeholder{ color:var(--gray-2); }
.news-form input:focus{ outline:none; background:rgba(255,255,255,0.03); }
.news-form button{
  background:var(--accent); color:var(--ink); border:0; padding:0 18px;
  font-family:var(--mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; font-weight:600;
  display:inline-flex; align-items:center; gap:8px; transition:background .2s;
}
.news-form button:hover{ background:var(--accent-2); }

.footer-h{ display:block; font-family:var(--mono); font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gray-2); margin-bottom:20px; }
.footer-col{ display:flex; flex-direction:column; align-items:flex-start; gap:11px; padding-top:6px; }
.footer-link{ background:none; border:0; color:var(--paper); font-size:15px; padding:0; text-align:left; transition:color .2s, padding-left .2s; }
.footer-link:hover{ color:var(--accent-3); }
.footer-link.active{ color:var(--accent-3); }
.footer-social{ display:flex; gap:16px; margin-top:14px; flex-wrap:wrap; }
.footer-soc{ font-family:var(--mono); font-size:11px; letter-spacing:0.1em; text-transform:none; color:var(--gray); transition:color .2s; }
.footer-soc:hover{ color:var(--accent-3); }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:26px; padding-bottom:30px; border-top:1px solid var(--line-dark); gap:16px; flex-wrap:wrap; }

@media(max-width:880px){
  .footer-inner{ grid-template-columns:1fr 1fr; gap:40px; }
  .footer-brand{ grid-column:1 / -1; }
}
@media(max-width:560px){
  .footer-inner{ grid-template-columns:1fr; }
}

/* generic section padding */
.section{ padding:96px 0; }
.section-sm{ padding:64px 0; }
.section.alt{ background:var(--paper-2); }
.section.ink{ background:var(--ink); color:var(--paper); }
.section.ink .seclabel{ border-color:var(--paper); }
.section.ink .seclabel .ttl{ color:var(--paper); }
.section.ink .rule{ border-color:var(--line-dark); }
