/* ============================================================
   JustHandled Labs: shared stylesheet (per-skill pages)
   Same design tokens as the homepage. Green = "Free" badge only.
   ============================================================ */
:root{
  --ink:#14161A;
  --ink-soft:#3A3D44;
  --muted:#5A5D65;
  --paper:#F7F5F2;
  --surface:#FFFFFF;
  --line:#E6E1DA;
  --accent:#B5572F;
  --accent-ink:#8C4220;
  --accent-tint:#F2E8E1;
  --free:#2F6F5B;
  --free-tint:#E6F0EA;
  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,system-ui,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --radius:10px;
  --radius-sm:7px;
  --maxw:780px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--font-sans);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent-ink);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
h1,h2,h3{line-height:1.2;letter-spacing:-0.01em;margin:0}
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;
}

/* header */
.site-head{padding:22px 24px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px}
.brand:hover{text-decoration:none}
.mark{width:28px;height:28px;color:var(--ink);flex:0 0 auto}
.wordmark{font-weight:700;font-size:18px;letter-spacing:-0.02em;color:var(--ink)}
.wordmark .labs{color:var(--accent);font-weight:600}

/* breadcrumb */
.crumbs{font-family:var(--font-mono);font-size:13px;color:var(--muted);padding:24px 24px 0}
.crumbs a{color:var(--muted)}
.crumbs span{color:var(--ink)}

/* skill hero */
.skill-hero{padding:20px 24px 8px}
.eyebrow{font-family:var(--font-mono);font-size:13px;color:var(--muted);letter-spacing:.02em;margin-bottom:14px}
.skill-hero h1{font-size:clamp(30px,4.5vw,42px)}
.skill-hero .lede{font-size:20px;color:var(--ink-soft);margin:16px 0 0;max-width:60ch}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px;align-items:center}
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:13px 22px;
  border-radius:var(--radius-sm);font-weight:600;font-size:16px;
  border:1.5px solid transparent;cursor:pointer;
}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-ink);text-decoration:none}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink);text-decoration:none}
.pricetag{font-family:var(--font-mono);font-size:14px;padding:5px 12px;border-radius:20px}
.pricetag.free{background:var(--free-tint);color:var(--free)}
.pricetag.paid{background:var(--accent-tint);color:var(--accent-ink)}

/* sections */
.section{padding:40px 24px;border-top:1px solid var(--line)}
.section:first-of-type{border-top:none}
.section h2{font-size:24px;margin-bottom:14px}
.section p{color:var(--ink-soft);margin:0 0 14px}
.section p:last-child{margin-bottom:0}

/* checklist */
.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.checks li{position:relative;padding-left:30px;color:var(--ink-soft)}
.checks li::before{
  content:"";position:absolute;left:0;top:7px;width:16px;height:16px;
  background:var(--accent);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4 4L19 6.5' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4 4L19 6.5' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* proof panel (mono) */
.panel{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;font-family:var(--font-mono);font-size:13px;color:var(--ink-soft);margin-top:6px;
}
.panel .bar{display:flex;align-items:center;gap:7px;padding:11px 15px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}
.panel .dot{width:9px;height:9px;border-radius:50%;background:var(--line)}
.panel .bar .label{margin-left:6px;letter-spacing:.02em}
.panel .body{padding:18px;margin:0;display:grid;gap:5px;line-height:1.5}
.panel .k{color:var(--muted)}
.panel .ok{color:var(--ink);font-weight:600}
.panel .warn{color:var(--accent-ink);font-weight:600}

/* representative product examples */
.demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.demo-card{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.demo-card .demo-label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:.02em}
.demo-card pre{margin:0;padding:17px;overflow:auto;font:13px/1.55 var(--font-mono);color:var(--ink-soft);background:var(--surface);white-space:pre}
.demo-findings{list-style:none;margin:0;padding:4px 16px 10px}
.demo-findings li{padding:11px 0;border-bottom:1px solid var(--line);color:var(--ink-soft)}
.demo-findings li:last-child{border-bottom:0}
.demo-status{display:inline-block;margin-right:7px;padding:2px 7px;border-radius:999px;font:700 11px/1.5 var(--font-mono);letter-spacing:.03em;text-transform:uppercase}
.demo-status.remove,.demo-status.flag{background:var(--accent-tint);color:var(--accent-ink)}
.demo-status.keep{background:var(--free-tint);color:var(--free)}
.demo-note{font-size:15px;color:var(--muted)}
.video-frame{margin-top:20px;padding:10px;background:#0d0f12;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 45px rgba(20,22,26,.12)}
.video-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#0d0f12;border-radius:calc(var(--radius) - 5px)}
.video-caption{margin-top:12px;font-size:14px;color:var(--muted)}

/* safety chip */
.safety-chip{
  display:inline-flex;align-items:center;gap:9px;
  padding:9px 15px;border:1px solid var(--line);border-radius:999px;
  background:var(--surface);font-family:var(--font-mono);font-size:13px;color:var(--ink-soft);
}
.safety-chip svg{width:16px;height:16px;color:var(--ink);flex:0 0 auto}

/* faq */
details{border-bottom:1px solid var(--line);padding:16px 0}
details summary{font-weight:600;font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";color:var(--accent);font-weight:700;font-size:20px;line-height:1}
details[open] summary::after{content:"\2013"}
details p{color:var(--ink-soft);margin:10px 0 0}

/* cta band */
.cta-band{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin:8px 0;text-align:center}
.cta-band h2{font-size:21px;margin-bottom:8px}
.cta-band p{color:var(--ink-soft);margin:0 0 18px}

/* contextual free-to-paid handoff */
.next-step{
  background:var(--accent-tint);border:1px solid #DECABC;border-radius:var(--radius);
  padding:24px;
}
.next-step .eyebrow{color:var(--accent-ink);margin-bottom:9px}
.next-step h2{font-size:23px;margin-bottom:10px}
.next-step p{color:var(--ink-soft);margin:0;max-width:64ch}
.next-step .cta-row{margin-top:18px}

/* verified marketplace feedback */
.review-proof{
  border-left:4px solid var(--accent);padding:4px 0 4px 22px;max-width:70ch;
}
.review-proof .eyebrow{margin-bottom:9px}
.review-proof h2{font-size:23px;margin-bottom:14px}
.review-proof blockquote{font-size:20px;line-height:1.45;margin:0 0 12px;color:var(--ink);font-weight:600}
.review-proof p{margin-bottom:9px}
.review-proof .review-note{font-size:14px;color:var(--muted)}
.review-proof a{color:var(--accent-ink);font-weight:600}

/* independent directory audit evidence */
.audit-proof{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;max-width:72ch;
}
.audit-proof .eyebrow{margin-bottom:9px}
.audit-proof h2{font-size:23px;margin-bottom:12px}
.audit-proof p{margin-bottom:9px}
.audit-proof .audit-note{font-size:14px;color:var(--muted)}
.audit-proof a{color:var(--accent-ink);font-weight:600}

/* footer */
.site-foot{border-top:1px solid var(--line);padding:32px 0;color:var(--muted);font-size:15px;margin-top:8px}
.foot-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.foot-links{display:flex;flex-wrap:wrap;gap:16px}
.foot-links a{color:var(--ink-soft)}

@media(max-width:600px){
  .demo-grid{grid-template-columns:1fr}
  .section{padding:32px 24px}
}
