/* Pinnacle Journal page shell
   A lean, shared foundation for new long-form editorial articles. */
:root{
  --bg:#fff;
  --bg-2:#faf8f3;
  --paper:#fffdfa;
  --panel:#fff;
  --ink:#1b1916;
  --ink-mid:#423c33;
  --ink-soft:#6e675c;
  --line:#e7e1d4;
  --line-2:#d6cebe;
  --accent:#f08647;
  --accent-bright:#e9772e;
  --accent-deep:#bc5c20;
  --maxw:1320px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{overflow-x:hidden;background:var(--bg);color:var(--ink);font-family:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:17.5px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{border:0;background:none;color:inherit;font:inherit;cursor:pointer}
::selection{background:var(--accent);color:#fff}
.wrap{width:min(var(--maxw),100%);margin:0 auto;padding-inline:40px}
.pad{padding-block:clamp(76px,8vw,108px)}
.h2{margin:0;font-family:'Barlow Condensed',sans-serif;font-size:clamp(40px,5.4vw,72px);font-weight:700;letter-spacing:-.01em;line-height:.94;text-transform:uppercase}
.h2 em{color:var(--accent);font-style:normal}
.eyebrow{display:inline-flex;align-items:center;gap:11px;color:var(--accent-deep);font:700 11px/1.3 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.2em;text-transform:uppercase}
.eyebrow::before{width:25px;height:1px;background:var(--accent);content:""}
.btn{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:9px;padding:15px 26px;border:1px solid transparent;border-radius:999px;font-size:15px;font-weight:700;transition:transform .2s,background .2s,color .2s,border-color .2s;white-space:nowrap}
.btn.accent{background:var(--accent);color:#fff;box-shadow:0 14px 34px -18px rgba(240,134,71,.74)}
.btn.accent:hover{transform:translateY(-2px);background:var(--accent-bright)}
.btn.ghost{border-color:var(--line-2);background:#fff;color:var(--ink)}
.btn.ghost:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.btn .arr{transition:transform .2s}.btn:hover .arr{transform:translateX(4px)}

.art-top{position:relative;overflow:hidden;padding:clamp(62px,7vw,100px) 0 clamp(58px,6vw,86px);border-bottom:1px solid var(--line);background:linear-gradient(145deg,#fffdfa 0%,#f8f1e7 100%)}
.art-top::before{position:absolute;inset:-45% -12% auto auto;width:min(760px,64vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(240,134,71,.17),rgba(240,134,71,0) 68%);content:"";pointer-events:none}
.art-top .wrap{position:relative}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px;color:var(--ink-soft);font:600 10.5px/1.4 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase}
.crumbs a:hover{color:var(--accent-deep)}
.crumbs .sep{opacity:.42}
.art-cat{margin-bottom:16px;color:var(--accent-deep);font:700 11px/1.4 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.21em;text-transform:uppercase}
.art-title{max-width:1050px;margin:0;font-family:'Barlow Condensed',sans-serif;font-size:clamp(50px,7.2vw,104px);font-weight:700;letter-spacing:-.014em;line-height:.9;text-transform:uppercase;text-wrap:balance}
.art-title em{color:var(--accent);font-style:normal}
.art-lede{max-width:740px;margin:28px 0 0;color:var(--ink-mid);font-size:clamp(19px,1.75vw,23px);line-height:1.58;text-wrap:pretty}
.art-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:30px;padding-top:23px;border-top:1px solid rgba(115,96,73,.24);color:var(--ink-soft);font:500 10.5px/1.5 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.art-meta a{color:var(--ink);font-weight:700}.art-meta a:hover{color:var(--accent-deep)}

.article{padding:clamp(64px,8vw,110px) 0;background:linear-gradient(180deg,#fff 0%,#fffdf8 100%)}
.art-body{max-width:760px;margin:0 auto;color:var(--ink-mid);font-size:18.5px;line-height:1.78}
.art-body h2{margin:52px 0 16px;color:var(--ink);font-family:'Barlow Condensed',sans-serif;font-size:clamp(31px,3.4vw,44px);font-weight:700;letter-spacing:-.006em;line-height:1.02;text-transform:uppercase}
.art-body h2 em{color:var(--accent);font-style:normal}
.art-body h3{margin:34px 0 12px;color:var(--ink);font-family:'Barlow Condensed',sans-serif;font-size:clamp(23px,2.4vw,29px);font-weight:700;line-height:1.12;text-transform:uppercase}
.art-body p{margin:0 0 21px}
.art-body strong{color:var(--ink);font-weight:700}
.art-body ul{margin:0 0 28px;padding:0;list-style:none}
.art-body li{position:relative;padding:10px 0 10px 29px;border-bottom:1px solid var(--line)}
.art-body li::before{position:absolute;left:0;color:var(--accent-deep);font-weight:700;content:"\2192"}
.art-body .pull{margin:38px 0;padding:30px 0;border-block:2px solid var(--accent);color:var(--ink);font-family:'Barlow Condensed',sans-serif;font-size:clamp(27px,3vw,36px);font-weight:600;line-height:1.1}
.art-body .callout{margin:30px 0;padding:23px 26px;border:1px solid rgba(240,134,71,.22);border-left:4px solid var(--accent);border-radius:0 12px 12px 0;background:rgba(240,134,71,.08)}
.art-body .callout strong{display:block;margin-bottom:6px;color:var(--accent-deep);font:700 11px/1.4 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase}
.art-body sup a{padding:0 2px;color:var(--accent-deep);font-weight:700;border-bottom:0!important}
.art-body .art-refs{counter-reset:refs}
.art-body .art-refs li{counter-increment:refs}
.art-body .art-refs li::before{content:counter(refs,decimal-leading-zero)}
.vh{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.cta{position:relative;overflow:hidden;border-top:1px solid var(--line);text-align:center;background:var(--paper)}
.cta::before{position:absolute;inset:50% auto auto 50%;width:min(920px,88vw);height:140%;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(240,134,71,.14),transparent 72%);content:"";pointer-events:none}
.cta-inner{position:relative;max-width:830px;margin:0 auto}
.cta .eyebrow{justify-content:center}.cta h2{margin:20px 0}.cta p{max-width:56ch;margin:0 auto 30px;color:var(--ink-mid);font-size:18px}
.cta-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:13px}

.jrelated{padding:clamp(64px,7vw,88px) 0;border-top:1px solid var(--line);background:var(--bg-2)}
.jrelated .eyebrow{margin-bottom:18px}
.jrelated-h{margin:0 0 34px;color:var(--ink);font-family:'Barlow Condensed',sans-serif;font-size:clamp(36px,4.4vw,56px);font-weight:700;letter-spacing:-.008em;line-height:.96;text-transform:uppercase}
.jrelated-h em{color:var(--accent);font-style:normal}
.jrelated-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.jrcard{position:relative;display:flex;min-height:185px;flex-direction:column;gap:12px;padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:transform .25s,border-color .25s,box-shadow .25s}
.jrcard:hover{transform:translateY(-4px);border-color:rgba(240,134,71,.48);box-shadow:0 28px 60px -44px rgba(40,30,15,.48)}
.jrk{color:var(--accent-deep);font:600 10px/1.3 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase}
.jrcard h3{margin:0;color:var(--ink);font-family:'Barlow Condensed',sans-serif;font-size:25px;line-height:1.03;text-transform:uppercase}
.jrgo{margin-top:auto;color:var(--ink-soft);font:600 10.5px/1.3 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}
.jrgo .arr{color:var(--accent)}
.jrbrowse{display:inline-flex;align-items:center;gap:8px;margin-top:28px;padding-bottom:3px;border-bottom:2px solid var(--accent);color:var(--ink);font:700 11px/1.3 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase}

@media(max-width:900px){.jrelated-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
  .wrap{padding-inline:22px}
  body{font-size:16.5px}
  .art-top{padding-top:50px}
  .art-title{font-size:clamp(45px,13.5vw,68px)}
  .art-lede{font-size:18px}
  .art-meta{display:grid;grid-template-columns:1fr;gap:8px}
  .article{padding-top:54px}
  .art-body{font-size:17.5px;line-height:1.75}
  .cta-ctas{display:grid;grid-template-columns:1fr;width:100%}
  .cta-ctas .btn{width:100%}
  .jrelated-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.jrcard{transition:none}}
