/* Storefront Pixel Studio: the shared site header for the home, sign-up, thanks and policy pages.
   make_site.py writes the same header markup into every studio page (see HEADER in make_site.py), so the logo,
   links, light/dark switch and phone menu look and behave the same everywhere. assets/header.js runs the menu.
   It carries its own colors (--sh-*), so it looks identical on pages that use different color tokens. */
:root{--sh-bg:rgba(246,245,241,.9);--sh-solid:#F6F5F1;--sh-paper:#FFFFFF;--sh-ink:#0F0F0E;--sh-ink-2:#2A2A27;--sh-muted:#5D5C57;
  --sh-line:#E2E0D8;--sh-line-2:#D5D2C8;--sh-hover:#ECEAE3;--sh-blue:#2A44F0;--sh-fill:#2A44F0;--sh-on-ink:#FFFFFF;--sh-scrim:rgba(15,15,14,.4)}
:root[data-theme="dark"]{--sh-bg:rgba(18,18,17,.9);--sh-solid:#121211;--sh-paper:#1B1B19;--sh-ink:#F1F0EB;--sh-ink-2:#D9D7D0;--sh-muted:#ABA9A1;
  --sh-line:#2E2D2A;--sh-line-2:#45443F;--sh-hover:#262624;--sh-blue:#93A3FF;--sh-fill:#3B55F6;--sh-on-ink:#121211;--sh-scrim:rgba(0,0,0,.6)}
/* Section links land below the sticky header (header.js keeps --sh-h equal to its real height, also with larger text) */
html{scroll-padding-top:calc(var(--sh-h,72px) + 12px)}

header.sh{position:sticky;top:0;z-index:60;display:block;margin:0;padding:0;border:0;border-bottom:1px solid var(--sh-line);background:var(--sh-bg);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font:400 16px/1.5 Inter,system-ui,sans-serif;color:var(--sh-ink);text-align:left}
.sh-in{max-width:1280px;margin:0 auto;padding:0 28px;min-height:72px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
.sh-logo{display:inline-flex;align-items:center;gap:10px;margin-right:auto;color:var(--sh-ink);text-decoration:none;font:400 28px/1 "Instrument Serif",Georgia,serif;letter-spacing:-.01em;white-space:nowrap}
.sh-logo svg{width:30px;height:30px;flex:none}
.sh-logo svg circle{fill:var(--sh-ink)}.sh-logo svg path{fill:var(--sh-solid)}.sh-logo svg path:last-child{fill:var(--sh-fill)}
.sh-logo small{font:500 12px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--sh-muted);margin:6px 0 0 2px}
.sh-nav{display:flex;gap:2px}
.sh-nav a{padding:10px 14px;border-radius:999px;font:500 15px/1 Inter,system-ui,sans-serif;color:var(--sh-ink-2);text-decoration:none}
.sh-nav a:hover{background:var(--sh-hover);color:var(--sh-ink)}
.sh-r{display:flex;align-items:center;gap:10px}
.sh-btn{flex:none;width:44px;height:44px;margin:0;padding:0;border-radius:50%;border:1px solid var(--sh-line-2);background:var(--sh-paper);color:var(--sh-ink);display:grid;place-items:center;cursor:pointer;transition:background .2s}
.sh-btn:hover{background:var(--sh-hover)}
.sh-btn svg,.sh-mode svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
:root .sh .sun{display:none}:root[data-theme="dark"] .sh .sun{display:block}:root[data-theme="dark"] .sh .moon{display:none}
.sh-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;background:var(--sh-ink);color:var(--sh-on-ink);
  font:600 15px/1 Inter,system-ui,sans-serif;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.sh-cta:hover{background:var(--sh-fill);color:#fff}
.sh-cta .s{display:none}
.sh-menu{display:none}
.sh-menu .x,.sh-menu[aria-expanded="true"] .bars{display:none}
.sh-menu[aria-expanded="true"] .x{display:block}
header.sh :focus-visible{outline:2.5px solid var(--sh-blue);outline-offset:3px}

/* The menu panel (phones and tablets): drops down under the header; the page behind is dimmed and doesn't scroll */
.sh-panel{position:absolute;left:0;right:0;top:100%;background:var(--sh-solid);border-bottom:1px solid var(--sh-line);
  max-height:calc(100vh - var(--sh-h,72px));max-height:calc(100dvh - var(--sh-h,72px));overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 40px -24px rgba(0,0,0,.4)}
.sh-panel[hidden],.sh-scrim[hidden]{display:none}
.sh-panel-in{max-width:1280px;margin:0 auto;padding:6px 28px 24px}
.sh-panel nav a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;border-bottom:1px solid var(--sh-line);
  font:400 27px/1.1 "Instrument Serif",Georgia,serif;color:var(--sh-ink);text-decoration:none}
.sh-panel nav a::after{content:"→";font:400 18px/1 Inter,system-ui,sans-serif;color:var(--sh-muted)}
.sh-panel .sh-cta{display:flex;width:100%;min-height:54px;margin-top:22px;font-size:16px}
.sh-mode{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;margin-top:12px;padding:0 16px;border:1px solid var(--sh-line-2);border-radius:999px;
  background:var(--sh-paper);color:var(--sh-ink);font:500 15px/1 Inter,system-ui,sans-serif;cursor:pointer}
.sh-mode:hover{background:var(--sh-hover)}
.sh-scrim{position:fixed;inset:0;z-index:59;background:var(--sh-scrim)}
html.sh-open{overflow:hidden}

@media (max-width:1100px){
  .sh-nav{display:none}
  .sh-menu{display:grid}
}
@media (max-width:640px){
  .sh-in{padding:0 16px;min-height:64px;gap:8px 10px}
  .sh-logo{font-size:23px;gap:8px}.sh-logo svg{width:26px;height:26px}.sh-logo small{display:none}
  .sh-r{gap:8px}
  .sh-r .sh-theme{display:none}           /* phones: the light/dark switch moves into the menu */
  .sh-r .sh-cta{padding:0 15px;font-size:14px}
  .sh-r .sh-cta .l{display:none}.sh-r .sh-cta .s{display:inline}
  .sh-panel-in{padding:2px 16px 20px}
}
@media (max-width:359px){
  .sh-r .sh-cta{display:none}             /* very small screens: "Start your project" stays at the top of the menu */
  .sh-logo{font-size:22px}
}
@media (prefers-reduced-motion:reduce){.sh-cta,.sh-btn{transition:none}}
