/* Local Uplift Consulting — v2  */
:root{
  --bg:#F9F9F7; --surface:#FFFFFF; --sunk:#F0F0ED;
  --ink:#111111; --ink-2:#3D3D3D; --ink-3:#737373;
  --accent:#1D4ED8; --accent-hover:#1E40AF;
  --primary:#111111; --primary-fg:#FFFFFF; --primary-hover:#262626;
  --line:rgba(0,0,0,.09);
  --band:#111111; --band-ink:#F9F9F7; --band-ink-2:rgba(249,249,247,.62); --band-line:rgba(249,249,247,.12);
  --frame:#E5E5E3;
  --shadow:0 0 0 1px var(--line),0 24px 48px -12px rgba(0,0,0,.12);
  --display:'Bricolage Grotesque',system-ui,sans-serif;
  --body:'Instrument Sans',system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0C0C0B; --surface:#171715; --sunk:#1C1C1A;
  --ink:#EDEDED; --ink-2:#A3A3A3; --ink-3:#737373;
  --accent:#60A5FA; --accent-hover:#93C5FD;
  --primary:#EDEDED; --primary-fg:#111111; --primary-hover:#D4D4D4;
  --line:rgba(255,255,255,.08);
  --band:#000000; --band-ink:#EDEDED; --band-ink-2:rgba(237,237,237,.6); --band-line:rgba(237,237,237,.1);
  --frame:#2A2A28;
  --shadow:0 0 0 1px var(--line),0 24px 48px -12px rgba(0,0,0,.5);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0C0C0B; --surface:#171715; --sunk:#1C1C1A;
  --ink:#EDEDED; --ink-2:#A3A3A3; --ink-3:#737373;
  --accent:#60A5FA; --accent-hover:#93C5FD;
  --primary:#EDEDED; --primary-fg:#111111; --primary-hover:#D4D4D4;
  --line:rgba(255,255,255,.08);
  --band:#000000; --band-ink:#EDEDED; --band-ink-2:rgba(237,237,237,.6); --band-line:rgba(237,237,237,.1);
  --frame:#2A2A28;
  --shadow:0 0 0 1px var(--line),0 24px 48px -12px rgba(0,0,0,.5);
  color-scheme:dark}

/* --- reset + base --- */
*{box-sizing:border-box}
html{scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3{font-family:var(--display);margin:0;line-height:1.1;letter-spacing:-.025em;text-wrap:balance}
h1{font-size:clamp(42px,5.8vw,72px);font-weight:800;letter-spacing:-.04em;line-height:1.02}
h2{font-size:clamp(30px,3.8vw,48px);font-weight:800}
h3{font-size:20px;font-weight:700;letter-spacing:-.01em}
p{margin:0}
a{color:inherit}
img{display:block;max-width:100%}

/* --- layout --- */
.wrap{max-width:1120px;margin:0 auto;padding-inline:20px}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.muted{color:var(--ink-2)}
.stack{display:flex;flex-direction:column;gap:18px}
.sec{padding-block:96px}
.sec-head{display:flex;flex-wrap:wrap;gap:16px 56px;justify-content:space-between;align-items:flex-end;margin-bottom:52px}
.sec-head>div{display:flex;flex-direction:column;gap:12px;max-width:640px;min-width:0}
.sec-head>p{max-width:42ch;color:var(--ink-2)}
@media (max-width:600px){.sec{padding-block:64px}}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* --- buttons --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:8px;font:600 15px var(--body);text-decoration:none;letter-spacing:-.01em;background:var(--primary);color:var(--primary-fg);border:0;cursor:pointer;transition:background-color 150ms ease,transform 150ms ease}
.btn:hover{background:var(--primary-hover)}
.btn:active{transform:scale(.98)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.btn-ghost:hover{background:var(--sunk)}
.band .btn-ghost{color:var(--band-ink);box-shadow:inset 0 0 0 1px var(--band-line)}
.band .btn-ghost:hover{background:rgba(255,255,255,.06)}
.link{font-weight:600;color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:44px}
.link:hover{text-decoration:underline;text-underline-offset:4px}

/* --- header --- */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:10px 24px;padding-block:12px;flex-wrap:wrap}
.brand{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.025em;display:flex;align-items:center;gap:10px;text-decoration:none;min-height:44px}
.brand i{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent)}
.tabs-nav{display:flex;gap:2px;flex-wrap:wrap;font-size:14px;font-weight:500}
.tabs-nav a{text-decoration:none;color:var(--ink-3);padding:0 14px;min-height:40px;display:inline-flex;align-items:center;border-radius:8px;transition:background-color 150ms ease,color 150ms ease}
.tabs-nav a:hover{color:var(--ink);background:var(--sunk)}
.tabs-nav a[aria-current="page"]{color:var(--ink);background:var(--surface);box-shadow:0 0 0 1px var(--line)}
.tabs-nav .cta{background:var(--primary);color:var(--primary-fg);margin-left:6px;border-radius:8px}
.tabs-nav .cta:hover{background:var(--primary-hover);color:var(--primary-fg)}
@media (max-width:680px){.site-head .wrap{justify-content:center}.tabs-nav{justify-content:center}.tabs-nav a{padding:0 11px;font-size:13px}.tabs-nav .cta{margin-left:0}}

/* --- device mockups --- */
.browser{border-radius:10px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.browser-bar{height:28px;background:var(--frame);display:flex;align-items:center;gap:5px;padding:0 12px}
.browser-bar span{width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--ink) 18%,transparent)}
.browser-bar em{margin-left:10px;font-style:normal;font-size:11px;color:var(--ink-3);background:var(--surface);padding:2px 10px;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.browser img{width:100%;height:auto;aspect-ratio:1440/900;object-fit:cover;object-position:top}
.phone{width:min(34%,210px);border-radius:28px;padding:7px;background:#111;box-shadow:0 30px 50px -24px rgba(0,0,0,.45)}
.phone img{border-radius:22px;width:100%;height:auto;aspect-ratio:390/844;object-fit:cover;object-position:top}

/* --- dark band --- */
.band{background:var(--band);color:var(--band-ink)}
.band h2,.band h3{color:var(--band-ink)}
.band .muted{color:var(--band-ink-2)}
.band .eyebrow{color:var(--accent)}

/* --- contact --- */
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px 64px;align-items:center}
.email-box{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:18px 20px;border-radius:12px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--band-line)}
.email{font-family:var(--display);font-size:clamp(18px,2.4vw,24px);font-weight:700;letter-spacing:-.02em;user-select:all;overflow-wrap:anywhere;min-width:0}
.copy{font:600 13px var(--body);padding:8px 14px;min-height:36px;border-radius:8px;border:0;background:var(--primary-fg);color:var(--primary);cursor:pointer}

/* --- footer --- */
.foot{padding-block:28px 40px;font-size:14px;color:var(--ink-3)}
.foot .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.foot a{text-decoration:none}
.foot a:hover{text-decoration:underline}

/* --- compat: legacy vars used by subpages --- */
/* --lime and --lime-hover map to the new primary so existing .btn usage on work.html and quotes.html keeps working */
:root{--lime:var(--primary);--lime-hover:var(--primary-hover)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
