/* ── SHARED PORTFOLIO STYLES ── */
/* Header, footer, and page chrome shared across all case study pages */

/* READING PROGRESS BAR */
#progress-bar{position:fixed;top:0;left:0;height:3px;background:var(--ac);width:0%;transition:width .1s linear;z-index:200;pointer-events:none}

/* SITE HEADER */
.cs-topbar{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:32px 48px}
.cs-topbar-name{font-family:'Momo Trust Sans',sans-serif;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;letter-spacing:.02em}
.cs-topbar-nav{display:flex;gap:24px;align-items:center}
.cs-topbar-nav a{font-family:'Momo Trust Sans',sans-serif;font-size:13px;font-weight:400;color:var(--ink3);text-decoration:none;letter-spacing:.04em;transition:color .15s}
.cs-topbar-nav a:hover{color:var(--ink)}

/* THEME TOGGLE */
.theme-toggle{background:none;border:1px solid var(--rule);border-radius:20px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink3);transition:color .2s,border-color .2s,transform .2s cubic-bezier(.34,1.4,.64,1);padding:0;flex-shrink:0}
.theme-toggle:hover{color:var(--ink);border-color:var(--ink3);transform:rotate(15deg)}
[data-theme="dark"] .theme-toggle:hover{transform:rotate(-15deg)}

/* SITE FOOTER */
.cs-footer{background:radial-gradient(circle,var(--dot) 1px,transparent 1px),#EFECE6;background-size:28px 28px;position:relative;transform:translateY(64px);opacity:0;transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .7s ease}
.cs-footer.footer-visible{transform:translateY(0);opacity:1}
.cs-footer::before{content:'';position:absolute;inset:0;background:rgba(239,236,230,.90);pointer-events:none}
.cs-footer-inner{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:64px var(--gx) 88px}
.cs-footer-headline{font-family:'Momo Trust Sans',sans-serif;font-size:clamp(32px,3.2vw,40px);font-weight:600;color:var(--ink);line-height:1.2;letter-spacing:-.02em;margin-bottom:24px}
.cs-footer-links{display:flex;gap:24px;flex-wrap:wrap}
.cs-footer-links a{font-family:'DM Mono',monospace;font-size:clamp(12px,1.2vw,14px);color:var(--ink2);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:1px;letter-spacing:.04em;transition:color .15s,border-color .15s}
.cs-footer-links a:hover{color:var(--ac);border-color:var(--ac)}

/* CASE NAV ARROWS */
.sb-nav-arrows{display:flex;justify-content:space-between;padding:6px 0 0;margin-top:4px;border-top:1px solid var(--rule)}
.sb-nav-arrow{font-size:10px;color:var(--ink4);text-decoration:none;letter-spacing:.04em;transition:color .2s;display:inline-flex;align-items:center;gap:5px}
.sb-nav-arrow:hover{color:var(--ink)}

/* PAGE TRANSITIONS */
@keyframes pageFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
body{animation:pageFadeIn .35s ease}
html{transition:background-color .3s,color .3s}

/* DARK MODE */
[data-theme="dark"]{--bg:#1C1915;--dot:#232019;--ink:#EDE9E1;--ink2:#C8C3BB;--ink3:#B0AAA4;--ink4:#A6A6A6;--rule:#2C2925;--bg2:#232019;--bg3:#2A2722}
[data-theme="dark"] body{background:radial-gradient(circle,var(--dot) 1px,transparent 1px),var(--bg)}
[data-theme="dark"] .cs-footer{background:radial-gradient(circle,var(--dot) 1px,transparent 1px),#131109}
[data-theme="dark"] .cs-footer::before{background:rgba(28,25,21,.93)}
[data-theme="dark"] .cot{background:#252220;color:var(--ink)}

/* MOBILE */
@media(max-width:780px){
  .cs-topbar{padding:20px 24px}
  .cs-footer-inner{padding:40px 24px 72px}
}
