/* Shape Form Labs / Guides shared stylesheet. Extends the gallery site chrome. */
:root{
  --bg:#0B0C10;--panel:#0F1116;--panel-2:#12141b;--ink:#F2F6FF;--blue:#CFE3FF;
  --muted:rgba(207,227,255,.70);--faint:rgba(207,227,255,.45);--line:rgba(207,227,255,.12);
  --line-2:rgba(207,227,255,.20);
  --pad-x:clamp(20px,5vw,72px);
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --sans:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.6}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--pad-x)}
.measure{max-width:720px}

/* nav (shared with gallery) */
nav{position:sticky;top:0;z-index:10;backdrop-filter:blur(10px);background:rgba(11,12,16,.72);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-weight:700;letter-spacing:.02em;text-decoration:none;font-size:1.02rem;white-space:nowrap}
.brand span{color:var(--faint);font-weight:400}
.nav-right{display:flex;align-items:center;gap:clamp(14px,2vw,26px);font-size:.9rem}
.nav-right a{color:var(--faint);text-decoration:none;transition:color .2s}
.nav-right a:hover,.nav-right a[aria-current]{color:var(--ink)}
.smf-link{color:var(--ink)!important;display:inline-flex;align-items:center;gap:.4em;white-space:nowrap}
.arrow{font-family:var(--mono)}

/* breadcrumb */
.crumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding-top:30px}
.crumb a{color:var(--faint);text-decoration:none}
.crumb a:hover{color:var(--ink)}
.crumb b{color:var(--muted);font-weight:400}

/* ---------- hub ---------- */
header.hub{padding:clamp(40px,7vh,86px) 0 clamp(28px,4vh,44px)}
.eyebrow{font-family:var(--mono);font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--blue);margin-bottom:22px}
header.hub h1{font-size:clamp(2.2rem,5.2vw,3.6rem);line-height:1.04;letter-spacing:-.03em;font-weight:600;max-width:18ch}
header.hub p{margin-top:22px;max-width:60ch;font-size:clamp(1.04rem,1.3vw,1.18rem);color:var(--muted)}
header.hub p a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}

.guide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:clamp(16px,2vw,24px);padding-bottom:72px}
.gcard{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:24px 24px 22px;transition:transform .3s cubic-bezier(.16,.84,.3,1),border-color .3s}
.gcard:hover{transform:translateY(-3px);border-color:var(--line-2)}
.gcard.pillar{background:linear-gradient(180deg,rgba(207,227,255,.05),var(--panel));border-color:var(--line-2)}
.gcard .gmeta{display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);margin-bottom:16px}
.gcard h3{font-size:1.24rem;font-weight:600;letter-spacing:-.01em;line-height:1.25;margin-bottom:10px}
.gcard p{font-size:.95rem;color:var(--muted);flex:1}
.gcard .read{margin-top:18px;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}

/* ---------- article ---------- */
article{padding:clamp(20px,3vh,34px) 0 0}
.a-head{max-width:760px}
.a-head h1{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.08;letter-spacing:-.025em;font-weight:600;margin:18px 0 0}
.a-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-top:22px}
.tldr{margin:30px 0 8px;max-width:760px;border:1px solid var(--line-2);border-left:3px solid var(--blue);border-radius:10px;background:var(--panel);padding:20px 22px}
.tldr .lbl{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
.tldr p{font-size:1.08rem;color:var(--ink);line-height:1.55}

.a-body{margin-top:14px}
.a-body section{padding:34px 0 0;max-width:760px}
.a-body h2{font-size:clamp(1.4rem,2.4vw,1.85rem);letter-spacing:-.02em;font-weight:600;line-height:1.2;margin-bottom:16px;padding-top:14px;border-top:1px solid var(--line)}
.a-body h3{font-size:1.14rem;font-weight:600;margin:24px 0 8px}
.a-body p{font-size:1.06rem;color:var(--muted);margin-bottom:16px}
.a-body p strong,.a-body li strong{color:var(--ink);font-weight:600}
.a-body a{color:var(--blue);text-decoration:none;border-bottom:1px solid var(--line-2);transition:border-color .2s}
.a-body a:hover{border-color:var(--blue)}
.a-body ul,.a-body ol{margin:0 0 18px;padding-left:0;list-style:none;counter-reset:li}
.a-body ol>li,.a-body ul>li{position:relative;padding-left:38px;margin-bottom:14px;font-size:1.06rem;color:var(--muted)}
.a-body ol>li{counter-increment:li}
.a-body ol>li::before{content:counter(li);position:absolute;left:0;top:1px;width:25px;height:25px;border:1px solid var(--line-2);border-radius:7px;font-family:var(--mono);font-size:.78rem;color:var(--blue);display:flex;align-items:center;justify-content:center}
.a-body ul>li::before{content:"";position:absolute;left:10px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.a-body li p{margin:6px 0 0}

/* demo callout */
.demo-callout{display:block;text-decoration:none;border:1px solid var(--line-2);border-radius:12px;background:var(--panel-2);padding:18px 20px;margin:24px 0;max-width:760px;transition:border-color .25s,transform .25s}
.demo-callout:hover{border-color:var(--blue);transform:translateY(-2px)}
.demo-callout .dc-lbl{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:7px;display:flex;align-items:center;gap:.5em}
.demo-callout .dc-t{font-size:1.06rem;color:var(--ink);font-weight:600;margin-bottom:4px}
.demo-callout .dc-d{font-size:.94rem;color:var(--muted)}
.demo-callout .dc-go{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-top:10px}

/* faq */
.a-faq{padding:44px 0 0;max-width:760px}
.a-faq h2{font-size:clamp(1.4rem,2.4vw,1.85rem);letter-spacing:-.02em;font-weight:600;margin-bottom:20px}
.qa{padding:22px 0;border-top:1px solid var(--line)}
.qa h3{font-size:1.1rem;font-weight:600;margin-bottom:8px}
.qa p{color:var(--muted);font-size:1.02rem}

/* related funnel */
.funnel{border-top:1px solid var(--line);margin-top:56px;padding:clamp(40px,6vh,72px) 0}
.funnel h2{font-size:1.04rem;font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--faint);font-weight:400;margin-bottom:22px}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.rel{display:block;text-decoration:none;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:18px 20px;transition:border-color .25s,transform .25s}
.rel:hover{border-color:var(--line-2);transform:translateY(-2px)}
.rel .k{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
.rel .t{font-size:1.02rem;color:var(--ink);font-weight:600;line-height:1.3}
.rel .d{font-size:.9rem;color:var(--muted);margin-top:6px}

.cta-band{border-top:1px solid var(--line);padding:clamp(48px,8vh,90px) 0}
.cta-band h2{font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:-.02em;font-weight:600;max-width:22ch;margin-bottom:18px}
.cta-band p{color:var(--muted);max-width:60ch;font-size:1.06rem;margin-bottom:22px}
.cta{display:inline-flex;align-items:center;gap:.5em;padding:.9em 1.5em;border-radius:999px;background:var(--blue);color:#0B0C10;text-decoration:none;font-weight:600;transition:transform .25s,background .25s}
.cta:hover{transform:translateY(-1px);background:#fff}

footer{border-top:1px solid var(--line);padding:36px 0;color:var(--faint);font-size:.9rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--ink)}

@media (max-width:560px){
  nav .wrap{height:58px}
  .brand span{display:none}
  .nav-right a:not(.smf-link){display:none}
  .smf-link{font-size:.86rem}
  .a-body ol>li,.a-body ul>li,.a-body p,.tldr p{font-size:1.02rem}
}
