/* Savage Journal — editorial layer on top of /assets/svc.css. Source: /opt/savage_sales/journal/journal.css */
:root{--paper:#F5F8F6;--rule:#D5E4DC;--ink2:#26362F;--link:#0B7A55}
.j-narrow{max-width:760px}
.j-wide{max-width:1240px}

/* reading progress (scroll-driven, transform only) */
.j-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--neon);transform-origin:0 50%;transform:scaleX(0);z-index:150;display:none}
@supports (animation-timeline:scroll()){
  @media (prefers-reduced-motion:no-preference){.j-progress{display:block;animation:jprog linear both;animation-timeline:scroll(root)}}
}
@keyframes jprog{to{transform:scaleX(1)}}

/* hero: title left, real cover right */
.j-hero{padding:36px 0 56px;background:radial-gradient(800px 420px at 85% 10%,rgba(0,166,118,.2),transparent 60%),var(--bg-deep);overflow:hidden}
.j-head{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:64px;align-items:center;max-width:1240px}
.j-hero h1{font-weight:900;font-size:clamp(30px,4.4vw,60px);line-height:1;letter-spacing:-.015em;margin:6px 0 26px;color:#F2FFF8;overflow-wrap:break-word;hyphens:auto}
.j-cover{margin:0;aspect-ratio:4/5;border-radius:24px;overflow:hidden;background:#0a1a13;box-shadow:0 40px 80px -30px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.1)}
.j-cover img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){
  .j-head{grid-template-columns:1fr;gap:26px}
  .j-cover{aspect-ratio:16/10;order:-1;border-radius:16px}
  .j-hero{padding:20px 0 40px}
  .j-hero .crumbs{order:-2}
}
.j-sub{font-weight:600;color:var(--mint);margin:-6px 0 14px}
.j-hero .lead{max-width:62ch}
.byline{display:flex;align-items:center;gap:14px;font-size:14px;color:rgba(255,255,255,.7);margin-top:12px}
.byline p{line-height:1.45}
.byline span{color:rgba(255,255,255,.6)}
.byline a{color:#fff;font-weight:600;border-bottom:1px solid rgba(255,255,255,.3)}
.j-ava{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px var(--neon)}

/* index masthead */
.j-index-hero{padding-bottom:64px}
.j-mast{font-size:clamp(46px,10vw,150px)!important;line-height:.88!important;letter-spacing:-.03em!important;margin:10px 0 28px!important}
.j-index-sub{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:20px 56px;align-items:start;border-top:1px solid var(--line);padding-top:24px}
.j-index-sub .j-sub{margin:0;font-size:18px}
.j-index-sub .lead{grid-column:2;grid-row:1 / span 2;font-size:17px}
.j-index-sub .byline{margin:0}
@media(max-width:800px){.j-index-sub{grid-template-columns:1fr}.j-index-sub .lead{grid-column:auto;grid-row:auto}}

/* author page */
.j-author-hero .j-cover{aspect-ratio:4/5}
.j-author-hero .j-cover img{object-position:50% 20%}

/* body */
.j-body{background:var(--paper);color:var(--ink);padding:48px 0 72px}
.j-body h2{font-size:clamp(22px,3vw,32px);color:var(--ink);margin:56px 0 16px;scroll-margin-top:84px}
.j-body h3{font-size:18px;color:var(--ink);margin:30px 0 8px;text-transform:none;font-stretch:100%;letter-spacing:0}
.answer{font-size:clamp(19px,2.2vw,22px);line-height:1.55;color:var(--ink);background:#fff;border:1px solid var(--rule);border-radius:16px;padding:22px 24px;margin-bottom:22px;box-shadow:0 10px 30px -18px rgba(14,36,28,.25)}
.answer b{font-weight:700}
.disclaimer,.callout{border-radius:12px;padding:14px 18px;font-size:15px;margin:0 0 22px}
.disclaimer{background:#FFF4EA;border:1px solid #F3D3B5;color:#5A3A1C}
.callout{background:#0E241C;color:#DCEBE4;font-size:16px;line-height:1.6;padding:20px 22px;border:0}
.callout b{color:var(--neon)}
.callout a{color:var(--mint)!important;border-color:rgba(127,227,180,.4)!important}
.j-body a{color:var(--link);text-decoration:underline;text-decoration-color:rgba(11,122,85,.35);text-underline-offset:3px}
.j-body a:hover{text-decoration-color:var(--link)}
.j-prose{max-width:68ch;font-size:18px;line-height:1.72;color:var(--ink2)}
.j-prose>p{margin-bottom:18px}
.j-prose>h2+p{font-size:19px;color:var(--ink)}
.j-prose b{color:var(--ink)}
.j-prose ul,.j-prose ol{margin:0 0 20px 1.2em;display:flex;flex-direction:column;gap:9px}
.j-prose li::marker{color:var(--accent-h);font-weight:700}
.j-prose h2{padding-top:28px;border-top:1px solid var(--rule)}

/* figures */
.j-fig{margin:36px 0 40px}
.j-fig img{width:100%;height:auto;border-radius:16px;background:#dfe8e3;object-fit:cover}
.j-fig.wide img{aspect-ratio:16/10}
.j-fig.tall{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:20px;align-items:end}
.j-fig.tall img{aspect-ratio:4/5}
.j-fig figcaption{font-size:13px;line-height:1.5;color:var(--muted);margin-top:10px}
.j-fig figcaption span{color:#5E6E67}
.j-fig.tall figcaption{margin:0 0 6px;border-left:2px solid var(--accent);padding-left:12px}
@media(max-width:600px){.j-fig.tall{grid-template-columns:1fr}.j-fig.tall figcaption{border:0;padding:0;margin-top:10px}}

/* tables */
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 26px;border:1px solid var(--rule);border-radius:16px;background:#fff}
.tbl table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.45;font-variant-numeric:tabular-nums}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:12px 16px;border-bottom:1px solid var(--rule)}
.tbl thead th{background:#0E241C;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);font-weight:700}
.tbl tbody tr:last-child>*{border-bottom:0}
.tbl tbody tr:nth-child(even){background:#F7FAF8}
.tbl tbody th{font-weight:600;color:var(--ink)}
@media(max-width:600px){.tbl table{font-size:14px}.tbl th,.tbl td{padding:10px 12px}}
/* key facts: the value column is the point */
.kf h2{margin-top:8px}
.kf .tbl td:nth-child(2){font-weight:700;color:var(--ink)}
.kf .tbl td:nth-child(3){font-size:13px;white-space:nowrap}
@media(max-width:600px){.kf .tbl td:nth-child(3){white-space:normal}}

.toc{border:1px solid var(--rule);border-radius:16px;padding:18px 22px;margin:8px 0 36px;background:#fff;font-size:15px}
.toc b{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.toc ol{margin-left:1.3em;display:flex;flex-direction:column;gap:7px}
.toc a{text-decoration:none!important}

/* CTA */
.j-cta{margin:48px 0;padding:32px;border-radius:24px;color:#fff;background:radial-gradient(600px 300px at 100% 0,rgba(46,232,110,.25),transparent 60%),#0E241C}
.j-cta-k{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--mint);margin-bottom:12px}
.j-cta-t{font-family:var(--head);font-stretch:125%;font-weight:900;text-transform:uppercase;font-size:clamp(22px,3vw,30px);line-height:1.08;margin-bottom:12px}
.j-cta p{color:#d5e2dc;margin-bottom:20px}
.j-cta a{text-decoration:none!important}
.j-cta .btn-solid{color:#062014}
.j-cta .btn-ghost{color:#fff}

.j-faq{margin-top:12px}
.j-faq h2{margin-bottom:8px}
.j-src ol{margin-left:1.4em;font-size:14px;line-height:1.55;display:flex;flex-direction:column;gap:6px;color:var(--ink2);overflow-wrap:anywhere}
.j-meta{font-size:13px;color:var(--muted);margin-top:16px}

/* author card */
.j-author{display:grid;grid-template-columns:88px minmax(0,1fr);gap:20px;align-items:start;margin:44px 0 0;padding:24px;border-radius:16px;background:#fff;border:1px solid var(--rule)}
.j-author img{width:88px;height:88px;border-radius:50%;object-fit:cover}
.j-author b{font-family:var(--head);font-stretch:125%;text-transform:uppercase;font-size:18px;display:block}
.j-author b a{color:var(--ink);text-decoration:none}
.j-author span{font-size:13px;color:var(--muted);display:block;margin-bottom:8px}
.j-author p{font-size:15px;color:var(--ink2);line-height:1.55}
@media(max-width:500px){.j-author{grid-template-columns:1fr}}

/* cards */
.j-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;margin-top:18px}
.j-body a.j-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--rule);border-radius:16px;overflow:hidden;color:var(--ink);text-decoration:none;transition:transform .2s var(--ease-out),border-color .2s ease,box-shadow .2s ease}
.j-card.big{grid-column:span 2}
@media(max-width:640px){.j-card.big{grid-column:auto}}
.j-thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:#dfe8e3}
.j-card.big .j-thumb{aspect-ratio:16/8}
.j-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out)}
.j-card-in{display:flex;flex-direction:column;gap:8px;padding:18px 20px 22px}
.j-card small{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-h)}
.j-card b{font-family:var(--head);font-stretch:125%;font-weight:700;text-transform:uppercase;font-size:17px;line-height:1.15}
.j-card.big b{font-size:clamp(20px,2.2vw,26px)}
.j-card-in>span{font-size:14px;color:var(--muted);line-height:1.5}
@media(hover:hover) and (pointer:fine){
  .j-body a.j-card:hover{border-color:var(--accent);box-shadow:0 20px 40px -24px rgba(14,36,28,.35)}
  .j-body a.j-card:hover .j-thumb img{transform:scale(1.04)}
}
.j-card:active{transform:scale(.98)}
.j-cluster{margin-bottom:56px}
.j-cluster h2{margin-top:0;display:flex;align-items:baseline;gap:12px}
.j-cluster h2 sup{font-size:13px;color:var(--accent-h);letter-spacing:.1em}
.j-rel{margin-top:56px;border-top:1px solid var(--rule);padding-top:8px}
.j-all{font-weight:700;display:inline-block;margin-top:14px}
@media (prefers-reduced-motion:reduce){.j-card,.j-thumb img{transition:none}.j-card:active{transform:none}}
@media(max-width:600px){.kf .tbl table{min-width:560px}}
