/* ============================================================
   Meshhound — shared stylesheet for content pages
   (about.html, attribution.html, privacy.html)
   Design tokens and shared components mirror index.html so the
   sub-pages look like part of the same site. The homepage keeps
   its own inline <style>; this file is only linked by the
   lightweight content pages.
   ============================================================ */
:root{
  --bg:#0d0f14;
  --bg2:#12151d;
  --panel:#171b25;
  --panel2:#1d2230;
  --line:#262c3b;
  --text:#eef1f7;
  --muted:#98a1b5;
  --dim:#6b7488;
  --amber:#fe7a0d;
  --amber2:#ff9a3d;
  --accent:#2f86ff;
  --accent2:#2f86ff;
  --radius:16px;
  --maxw:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* one calm backdrop layer, matching the redesigned homepage */
.hex-bg{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.4;
  background-image:radial-gradient(950px 560px at 82% -10%, rgba(254,122,13,.11), transparent 60%);}
.hex-svg{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.03}

/* header / nav — matches the homepage (index.html keeps its own inline copy).
   Grid: nav links left, logo centered, search box + menu button right. The
   mobile drawer + hamburger are hidden on desktop and shown only when nav.js
   flags a phone by adding the is-mobile class to <html>. */
header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);
  background:rgba(13,15,20,.72);border-bottom:1px solid var(--line)}
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:66px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:20px;letter-spacing:-.4px;justify-self:center}
.brand b{color:var(--amber)}
.brand-mark{display:inline-block;height:38px;width:48px;flex:none;
  background:url('meshhound_logo_mark.png') left center/contain no-repeat}
.nav-links{display:flex;align-items:center;gap:24px;font-size:14.5px;color:var(--muted);font-weight:500;justify-self:start}
.nav-links a:hover{color:var(--text)}
.nav-right{display:flex;align-items:center;gap:12px;justify-self:end}
.nav-search{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);
  color:var(--dim);font-size:13.5px;padding:8px 12px;border-radius:10px;transition:.15s}
.nav-search:hover,.nav-search:focus-within{border-color:var(--amber);color:var(--text)}
.nav-search input{background:transparent;border:0;outline:0;color:var(--text);font-size:13.5px;width:132px}
.nav-search input::placeholder{color:var(--dim)}
/* drawer + hamburger: hidden by default (desktop), shown only under is-mobile */
.mnav-toggle,.mnav-drawer,.mnav-backdrop,.mnav-close{display:none}
@media(max-width:860px){.nav-links{display:none}.nav{display:flex;justify-content:space-between}}
.is-mobile .wrap{padding:0 16px}
.is-mobile .nav{height:58px}
.is-mobile .nav-links,.is-mobile .nav-search{display:none}
.is-mobile .mnav-toggle{display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;background:var(--panel);border:1px solid var(--line);
  border-radius:11px;color:var(--text);cursor:pointer;flex:none}
.is-mobile .mnav-backdrop{display:block;position:fixed;inset:0;z-index:110;
  background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:.25s}
.is-mobile.mnav-open .mnav-backdrop{opacity:1;visibility:visible}
.is-mobile .mnav-drawer{display:block;position:fixed;top:0;right:0;z-index:120;height:100%;
  width:80%;max-width:320px;background:var(--bg2);border-left:1px solid var(--line);
  transform:translateX(100%);transition:transform .25s ease;padding:70px 24px 32px;overflow-y:auto}
.is-mobile.mnav-open .mnav-drawer{transform:translateX(0)}
.is-mobile .mnav-drawer a{display:block;padding:15px 0;font-size:17px;font-weight:600;
  color:var(--text);border-bottom:1px solid var(--line)}
.is-mobile .mnav-drawer .mnav-alt{margin-top:22px;color:var(--amber);border-bottom:0}
.is-mobile .mnav-close{display:block;position:absolute;top:14px;right:16px;background:transparent;
  border:0;color:var(--muted);font-size:32px;line-height:1;cursor:pointer;padding:0 6px}
.is-mobile.mnav-open{overflow:hidden}

/* page hero */
main{position:relative;z-index:2}
.page-hero{padding:70px 0 26px;text-align:center}
.page-hero .kicker{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--amber);margin-bottom:14px}
.page-hero h1{font-size:clamp(32px,5vw,52px);line-height:1.05;letter-spacing:-1.6px;margin:0 0 16px;font-weight:800}
.page-hero h1 .grad{background:linear-gradient(115deg,var(--amber),var(--amber2) 55%,var(--accent2));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.page-hero p{color:var(--muted);font-size:clamp(16px,2vw,19px);max-width:640px;margin:0 auto}
.page-hero .updated{display:inline-block;margin-top:18px;font-size:12.5px;color:var(--dim);
  background:var(--panel);border:1px solid var(--line);padding:5px 13px;border-radius:100px}

/* prose / content body */
.page{max-width:760px;margin:0 auto;padding:20px 24px 60px}
.page h2{font-size:clamp(22px,3vw,30px);letter-spacing:-.8px;margin:44px 0 14px;font-weight:800}
.page h3{font-size:19px;letter-spacing:-.3px;margin:30px 0 10px;font-weight:700}
.page p{color:#c7cdda;font-size:16.5px;margin:0 0 16px}
.page ul,.page ol{color:#c7cdda;font-size:16.5px;margin:0 0 18px;padding-left:22px}
.page li{margin:0 0 9px}
.page a.inline{color:var(--amber);font-weight:600}
.page a.inline:hover{text-decoration:underline;text-underline-offset:3px}
.page strong{color:var(--text)}
.page hr{border:0;border-top:1px solid var(--line);margin:40px 0}

/* callout box for the important bits (takedown steps, "we don't host", etc.) */
.callout{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);
  border-radius:var(--radius);padding:24px 26px;margin:22px 0}
.callout.amber{border-color:rgba(254,122,13,.35);
  background:linear-gradient(180deg,rgba(254,122,13,.06),var(--bg2))}
.callout h3{margin-top:0}
.callout p:last-child,.callout ul:last-child{margin-bottom:0}

/* email / action button in prose */
.mailbtn{display:inline-block;background:linear-gradient(120deg,var(--amber),var(--amber2));
  color:#20140a;font-weight:700;font-size:15px;padding:12px 24px;border-radius:12px;margin:6px 0 4px}
.mailbtn:hover{filter:brightness(1.07)}

/* table of contents chips on longer pages */
.toc{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin:26px auto 0;max-width:760px}
.toc a{font-size:13px;color:var(--muted);background:var(--panel);border:1px solid var(--line);
  padding:7px 14px;border-radius:100px}
.toc a:hover{color:var(--text);border-color:var(--amber)}

/* back link */
.backhome{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:14px;margin-top:8px}
.backhome:hover{color:var(--amber)}

/* footer, identical structure to the homepage */
footer{border-top:1px solid var(--line);padding:48px 0 40px;position:relative;z-index:2;background:var(--bg2)}
.fcols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:36px}
@media(max-width:760px){.fcols{grid-template-columns:1fr 1fr}}
.fcols h4{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--dim);margin:0 0 14px}
.fcols a{display:block;color:var(--muted);font-size:14.5px;padding:5px 0}
.fcols a:hover{color:var(--text)}
.fbrand .brand-mark{width:36px;height:28px}
.fbrand p{color:var(--muted);font-size:14px;max-width:280px;margin:12px 0 0}
.fbot{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;
  flex-wrap:wrap;gap:12px;color:var(--dim);font-size:13.5px}

/* recommended-gear affiliate block (rendered by gear.js) */
.gwrap{margin:40px 0 8px}
.ghead h2{margin:0 0 4px}
.ghead .gsub{color:var(--muted);font-size:15px;margin:0 0 18px}
.ggrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(max-width:600px){.ggrid{grid-template-columns:1fr}}
.gcard{display:flex;flex-direction:column;gap:5px;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--radius);padding:16px 18px;transition:.15s}
.gcard:hover{border-color:var(--amber);transform:translateY(-2px)}
.gcard .gtag{font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--amber)}
.gcard .gname{font-size:16px;font-weight:700;color:var(--text)}
.gcard .gwhy{font-size:14px;color:var(--muted);flex:1}
.gcard .gcta{font-size:13.5px;font-weight:600;color:var(--amber);margin-top:4px}
.gdisc{font-size:12.5px;color:var(--dim);margin:14px 0 0;text-align:center}
