/* developer.jcgoodworks.com (#244). Brand tokens from marketing-site/assets/site.css, but no web fonts and no JS:
   the CSP allows nothing from other origins, so the brand faces fall back to condensed system fonts. */
:root{
  --orange:#FF5A00; --orange-text:#B33F00; --black:#0B0B0D; --graphite:#1B1C1F; --white:#F4F2ED; --gray:#7D8186; --muted:#4a4b4f;
  --line:rgba(11,11,13,.14); --line-dark:rgba(244,242,237,.16);
  --display:'Saira','Bahnschrift','DIN Condensed','Arial Narrow','Roboto Condensed',sans-serif;
  --body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'Cascadia Mono','SF Mono',Menlo,Consolas,monospace;
  --max:1200px; --gutter:clamp(16px,4vw,40px);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--white);color:var(--black);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:-999px;top:0;background:var(--orange);color:var(--black);padding:8px 14px;z-index:100}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.mono{font-family:var(--mono)}

h1,h2,h3{font-family:var(--display);font-style:italic;font-weight:900;font-stretch:80%;text-transform:uppercase;line-height:1;letter-spacing:.005em}
h1{font-size:clamp(2.4rem,7vw,5.2rem)}
h2{font-size:clamp(1.8rem,4vw,3rem)}
h3{font-size:1.4rem}
.eyebrow{font:600 .78rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--orange);display:flex;align-items:center;gap:.7em;margin-bottom:1.1rem}
.eyebrow::before{content:"";width:2.2em;height:.55em;background:var(--orange);transform:skewX(-30deg)}
.lede{font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:40em;margin-top:1.3rem}
.kicker{font:600 .72rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--orange-text);margin-bottom:.7rem}

/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(11,11,13,.96);border-bottom:1px solid var(--line-dark)}
header.site .wrap{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 2rem;min-height:68px;padding-block:.6rem}
header.site .brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--white)}
header.site .brand img{height:44px;width:auto}
header.site .brand span{font:700 .72rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--orange);border-left:1px solid var(--line-dark);padding-left:.8rem}
header.site nav{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.6rem}
header.site nav a{color:var(--white);text-decoration:none;font:600 .78rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:.6rem 0;border-bottom:2px solid transparent}
header.site nav a:hover,header.site nav a[aria-current="page"]{border-color:var(--orange)}
@media (max-width:640px){header.site nav{margin-left:0;width:100%;gap:.2rem 1.2rem}header.site nav a{font-size:.72rem}}

/* buttons */
.btn{display:inline-block;text-decoration:none;font:700 .82rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:1rem 1.6rem;background:var(--orange);color:var(--black);clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);transition:transform .18s,background .18s}
.btn:hover{background:#ff7426;transform:translateX(3px)}
.btn.ghost{background:transparent;color:var(--black);box-shadow:inset 0 0 0 1.5px var(--black);clip-path:none;transform:skewX(-14deg)}
.btn.ghost>span{display:inline-block;transform:skewX(14deg)}
.btn.dark{background:var(--black);color:var(--white)}
.row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.6rem}
@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}html{scroll-behavior:auto}}

/* hero */
.hero{background:var(--black);color:var(--white);position:relative;overflow:hidden;isolation:isolate}
.hero .slash{position:absolute;z-index:-1;transform:skewX(-30deg);pointer-events:none;top:-10%;height:130%}
.hero .s1{right:7%;width:10%;background:var(--orange)}
.hero .s2{right:2%;width:2.5%;background:var(--gray)}
.hero .wrap{padding-top:clamp(3rem,8vw,6rem);padding-bottom:clamp(3rem,8vw,6rem);padding-right:max(var(--gutter),18%)}
.hero h1 em{font-style:inherit;color:var(--orange)}
.hero .lede{color:#d8d6d1}
@media (max-width:640px){.hero .s1{width:6%;right:4%}.hero .s2{display:none}}

section.block{padding:clamp(3rem,7vw,5.5rem) 0}
section.dark{background:var(--graphite);color:var(--white)}
section.dark a{color:var(--white)}
.grid{display:grid;gap:1.4rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr))}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split.top{align-items:start;grid-template-columns:minmax(0,1.6fr) minmax(min(100%,300px),1fr)}
@media (max-width:820px){.split.top{grid-template-columns:1fr}}

/* app cards */
.card{background:#fff;border:1px solid var(--line);padding:2rem 1.8rem;position:relative;display:flex;flex-direction:column}
.card::after{content:"";position:absolute;top:0;right:0;width:46px;height:8px;background:var(--orange);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.card h3{font-size:2rem;margin-bottom:.7rem}
.card h3 a{text-decoration:none}
.card h3 a:hover{color:var(--orange-text)}
.card>p{color:var(--muted)}
.card .links{margin-top:auto;padding-top:1.2rem;display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;font:600 .74rem/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;border-top:1px solid var(--line)}
.card .links a{text-decoration:none;border-bottom:1.5px solid var(--orange)}
.card .links a:hover{color:var(--orange-text)}

/* platform status chips */
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0}
.chips li{font:500 .74rem/1 var(--mono);letter-spacing:.05em;padding:.55rem .75rem;border:1px solid var(--line);background:var(--white)}
.chips li b{font-weight:700;margin-right:.35em}
.chips li::before{content:"";display:inline-block;width:.55em;height:.55em;margin-right:.55em;background:var(--gray);transform:skewX(-20deg)}
.chips .st-live::before,.chips .st-beta::before{background:#1a7f37}
.chips .st-coming-soon::before{background:var(--orange)}

.checks{list-style:none;padding:0;margin-top:1rem}
.checks li{padding:.7rem 0 .7rem 2rem;border-top:1px solid var(--line);position:relative}
.checks li:last-child{border-bottom:1px solid var(--line)}
.checks li::before{content:"";position:absolute;left:0;top:1.15rem;width:.9rem;height:.5rem;background:var(--orange);transform:skewX(-30deg)}
.dark .checks li{border-color:var(--line-dark)}
h2.sub{font-size:1.7rem;margin-top:2.6rem}
h2.sub+p{margin-top:.8rem;max-width:42em}
.note{margin-top:1.4rem;padding:.9rem 1.1rem;border-left:4px solid var(--orange);background:#fff;font-size:.95rem;color:var(--muted)}

/* side panel on app pages */
.panel{background:var(--black);color:var(--white);padding:1.8rem;box-shadow:10px 10px 0 var(--orange)}
.panel h3{font-size:1.15rem;margin:1.6rem 0 .7rem}
.panel h3:first-child{margin-top:0}
.panel a{color:var(--white)}
.doclist,.ids{list-style:none;padding:0}
.doclist li{padding:.55rem 0;border-top:1px solid var(--line-dark)}
.doclist li:last-child{border-bottom:1px solid var(--line-dark)}
.doclist a{font-weight:600;text-decoration-color:var(--orange);text-underline-offset:3px}
.doclist .ext,.ids li{font:500 .72rem var(--mono);color:#b9b7b2}
.ids li b{color:var(--white);margin-right:.4em}

/* policy pages */
.doc{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}
@media (min-width:980px){.doc{grid-template-columns:240px minmax(0,1fr)}.doc .crumbs{grid-column:1/-1}.toc{position:sticky;top:100px;align-self:start}}
.crumbs{font:500 .76rem var(--mono);letter-spacing:.06em;color:var(--muted)}
.crumbs a{color:var(--muted)}
.crumbs a:last-child{color:var(--black);text-decoration:none}
.toc ol{padding-left:1.2rem;font-size:.92rem;line-height:1.5}
.toc li{margin:.35rem 0}
.toc a{text-decoration:none;color:var(--muted)}
.toc a:hover{color:var(--orange-text)}
.prose{max-width:46rem}
.prose h2{font-size:1.75rem;margin:2.6rem 0 .9rem;scroll-margin-top:90px}
.prose h3{font:700 1.05rem/1.4 var(--body);text-transform:none;margin:1.6rem 0 .4rem}
.prose p,.prose ul,.prose ol{margin-bottom:1rem}
.prose ul,.prose ol{padding-left:1.4rem}
.prose li{margin:.3rem 0}
.prose a{text-decoration-color:var(--orange);text-underline-offset:3px;text-decoration-thickness:1.5px}
.prose .callout{background:#fff;border:1px solid var(--line);border-left:6px solid var(--orange);padding:1.1rem 1.3rem;margin-bottom:1.6rem}
.prose table{width:100%;border-collapse:collapse;margin:1.2rem 0 1.6rem;font-size:.93rem;background:#fff;display:block;overflow-x:auto}
.prose th,.prose td{text-align:left;padding:.65rem .8rem;border:1px solid var(--line);vertical-align:top}
.prose th{font:700 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--black);color:var(--white)}

/* footer */
footer.site{background:var(--black);color:#c6c4bf;padding:3.5rem 0 2rem;font-size:.93rem}
footer.site .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:2rem;padding-bottom:2.2rem;border-bottom:1px solid var(--line-dark)}
footer.site .mono{color:var(--orange);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;margin-bottom:.6rem}
footer.site h4{font:700 .74rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--white);margin-bottom:.8rem}
footer.site ul{list-style:none;padding:0}
footer.site li{margin:.35rem 0}
footer.site a{color:#c6c4bf;text-decoration:none}
footer.site a:hover{color:var(--orange)}
footer.site .legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.4rem;font-size:.8rem;color:var(--gray)}
