/* Public editorial pages, inheriting the approved Crawlhub typography and palette. */
.journal-page{--journal-muted:var(--muted);--journal-line:var(--line);--journal-soft:var(--tint);color:var(--ink)}
.journal-page .wrap{width:min(1280px,calc(100% - 64px))}
.journal-index-lead{padding:12px 0 28px;font:12px var(--mono);color:var(--muted);border-top:1px solid var(--line)}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-bottom:85px}
.journal-card{display:flex;flex-direction:column;min-width:0;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:28px;gap:0}
.journal-card img{display:block;aspect-ratio:16/9;width:100%;height:auto;object-fit:cover;border-radius:12px;margin-bottom:24px}
.journal-card .card-meta{font:10px var(--mono);color:var(--muted);display:flex;justify-content:space-between;gap:15px;margin-bottom:16px}
.journal-card h2{font-size:29px;font-weight:500;line-height:1.2;letter-spacing:-.04em;margin:0 0 18px}
.journal-card p{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 24px}
.journal-card .journal-read{font-size:12px;font-weight:500;padding-bottom:6px;border-bottom:1px solid var(--accent);align-self:flex-start;margin-top:auto}
.journal-card:hover h2,.journal-card:focus-visible h2{color:var(--accent)}
.journal-more-title{font-size:28px;font-weight:500;letter-spacing:-.035em;margin:0 0 32px}
.journal-post{padding:45px 0 80px}
.journal-breadcrumbs{display:flex;align-items:center;justify-content:space-between;font:11px var(--mono);color:var(--muted);gap:20px;margin-bottom:50px}
.journal-breadcrumbs a{text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:7px}
.journal-heading{max-width:990px;margin-bottom:38px}
.journal-category{display:block;font:11px var(--mono);color:var(--accent);margin-bottom:22px}
.journal-heading h1{font-size:clamp(39px,4.7vw,66px);line-height:1.08;letter-spacing:-.05em;font-weight:500;max-width:21ch;margin:0 0 25px;text-wrap:balance}
.journal-deck{font-size:21px;line-height:1.65;color:var(--muted);max-width:780px;margin:0 0 28px}
.journal-byline{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;font-size:12px;color:var(--muted)}
.journal-byline>strong{font-weight:600;color:var(--ink)}
.journal-cover{margin:0 0 65px}.journal-cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:16px}
.journal-reading-layout{display:grid;grid-template-columns:minmax(0,780px) minmax(180px,1fr);gap:90px;align-items:start}
.journal-body{min-width:0;max-width:780px}.journal-body>p{font-size:17px;line-height:1.9;margin:0 0 25px}
.journal-body .article-opening{font-size:22px;line-height:1.65;letter-spacing:-.015em;color:var(--ink)}
.journal-body h2{font-size:33px;line-height:1.2;font-weight:500;letter-spacing:-.04em;margin:64px 0 25px;scroll-margin-top:125px}
.journal-body h3{font-size:23px;line-height:1.3;font-weight:500;letter-spacing:-.03em;margin:0 0 15px}
.journal-body p>a:not(.source-ref),.article-sources a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
.journal-body a:hover{color:var(--accent)}.source-ref{font:11px var(--mono);white-space:nowrap;text-decoration:none;color:var(--accent)}
.journal-body :is(li){font-size:16px;line-height:1.85;margin-bottom:14px;padding-left:5px}.journal-body>ol{padding-left:22px;margin:25px 0 35px}
.article-kicker{display:block;font:10px/1.7 var(--mono);color:var(--accent);margin-bottom:16px;letter-spacing:.02em}
.article-takeaway{border-left:3px solid var(--accent);background:var(--tint);padding:26px 30px;margin:36px 0 48px;border-radius:0 10px 10px 0}
.article-takeaway p{font-size:16px;line-height:1.85;margin:0}
.article-table-wrap{max-width:100%;overflow-x:auto;margin:30px 0 35px;border:1px solid var(--line);border-radius:10px}
.article-table-wrap table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.75;min-width:520px}
.article-table-wrap caption{caption-side:bottom;text-align:left;font-size:11px;line-height:1.7;padding:15px 18px;color:var(--muted);border-top:1px solid var(--line)}
.article-table-wrap :is(td,th){padding:16px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.article-table-wrap tr:last-child :is(td,th){border-bottom:0}.article-table-wrap thead{background:var(--tint)}.article-table-wrap th{font-weight:500}
.journal-body pre{padding:25px 28px;border:1px solid var(--catalog-border);border-radius:10px;background:var(--catalog-bg);color:var(--catalog-ink);font:12px/1.9 var(--mono);overflow:auto;max-width:100%;box-sizing:border-box;margin:30px 0}
.journal-body :not(pre)>code{background:var(--tint);padding:2px 5px;border-radius:3px;font-size:.85em;overflow-wrap:anywhere}
.journal-sidebar{position:sticky;top:120px;padding-left:30px;border-left:1px solid var(--line);max-width:270px}
.journal-sidebar strong{font-size:11px;font-weight:500;display:block;margin-bottom:22px;color:var(--muted)}
.journal-sidebar nav{display:grid;gap:16px}.journal-sidebar nav a{font-size:12px;line-height:1.65;color:var(--muted);text-decoration:none}.journal-sidebar nav a:hover{color:var(--accent)}
.journal-sidebar button{margin-top:30px;background:none;border:0;border-bottom:1px solid var(--accent);padding:8px 0;font-size:11px;cursor:pointer;color:var(--ink)}
.article-interactive{padding:30px;border:1px solid var(--line);border-radius:12px;margin:35px 0;background:var(--surface)}
.interactive-heading>p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 24px}
.article-interactive label{font-size:12px;line-height:1.6;color:var(--muted)}
.article-interactive :is(input,select){display:block;border:1px solid #b8c0cc;background:var(--surface);color:var(--ink);border-radius:5px;font:14px var(--font);padding:12px;width:100%;min-height:45px;box-sizing:border-box;margin-top:8px}
.article-interactive :is(input,select):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.serp-example-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-top:30px}.serp-example-columns h4{font-size:12px;font-weight:500;margin:0 0 18px}
.serp-example-columns ol{padding-left:20px;margin:0}.serp-example-columns li{font:11px/1.7 var(--mono);overflow-wrap:anywhere;padding:5px 0;color:var(--muted);margin-bottom:6px}
.serp-example-result{margin-top:28px;padding:24px;background:var(--tint);border-radius:8px}.serp-example-result strong{font-size:35px;line-height:1.2;font-weight:500;letter-spacing:-.035em}.serp-example-result p{font-size:13px;line-height:1.75;margin:10px 0 0}
.article-download{border-block:1px solid var(--line);padding:28px 0;margin:38px 0;display:flex;align-items:center;gap:25px;justify-content:space-between}.article-download p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.article-download>div{max-width:450px}.article-download .button{flex-shrink:0;font-size:11px;min-height:44px;padding:12px 16px}
.article-formula{background:var(--tint);padding:28px;border-radius:10px;margin:30px 0}.article-formula p{font:12px/1.9 var(--mono);overflow-wrap:anywhere;margin:0 0 15px}.article-formula p:last-child{margin-bottom:0}
.calculator-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.cost-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border-top:1px solid var(--line);padding-top:30px;margin-top:32px}
.cost-results>div{min-width:0}.cost-results span{display:block;font-size:10px;color:var(--muted);margin-bottom:12px}.cost-results strong{display:block;font-size:27px;font-weight:500;letter-spacing:-.04em;overflow-wrap:anywhere}.cost-results small{display:block;font:10px/1.7 var(--mono);color:var(--muted);margin-top:10px}
.cost-results[data-invalid]{opacity:.5}.calculator-error{font-size:12px;color:#9b1c1c;line-height:1.8;margin:20px 0}
.cost-bars{display:grid;gap:16px;margin:28px 0}.cost-bars>div{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:16px}.cost-bars span{font-size:11px;color:var(--muted)}.cost-bars i{display:block;min-width:0;background:var(--accent);height:9px;border-radius:2px}.cost-bars>div:nth-child(2) i{background:var(--catalog-card)}.cost-bars>div:nth-child(3) i{background:#93b8f4}
.calculator-foot{font-size:11px;line-height:1.85;color:var(--muted);margin:16px 0}.cost-calculator>.button{margin-top:12px;font-size:11px}
.evidence-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:34px 0}.evidence-flow>div{background:var(--tint);padding:22px 18px;border-top:2px solid var(--accent);min-width:0}.evidence-flow span{display:block;font:10px var(--mono);color:var(--accent);margin-bottom:20px}.evidence-flow strong{display:block;font-size:18px;font-weight:500;letter-spacing:-.03em}.evidence-flow small{display:block;font-size:11px;color:var(--muted);line-height:1.7;margin-top:10px}
.packet-controls{display:flex;align-items:end;gap:20px}.packet-controls>label{flex:1;min-width:0}.packet-controls>.button{font-size:11px;padding:13px 15px}.evidence-example pre{max-height:480px;font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere}.packet-status{font-size:11px;line-height:1.8;color:var(--muted)}
.article-sources{border-top:1px solid var(--line);margin-top:64px;padding-top:15px}.article-sources h2{font-size:26px;margin-top:28px}.article-sources>p{font-size:13px;line-height:1.85;color:var(--muted)}.article-sources ol{padding-left:20px;margin-top:25px}.article-sources li{font-size:12px;line-height:1.8;scroll-margin-top:120px}
.journal-related{border-top:1px solid var(--line);padding-top:50px;margin-top:70px}.journal-related h2{font-size:30px;letter-spacing:-.035em;font-weight:500;margin:0 0 30px}.journal-related .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}.journal-related .journal-card h2{font-size:26px}
@media(min-width:1550px){.journal-reading-layout{grid-template-columns:minmax(0,780px) minmax(200px,1fr);gap:120px}}
@media(max-width:1050px){.journal-reading-layout{grid-template-columns:minmax(0,1fr) 190px;gap:40px}.journal-sidebar{padding-left:20px}.journal-card h2{font-size:25px}.journal-body>p{font-size:16px}.journal-deck{font-size:19px}.article-download{display:block}.article-download>.button{margin-top:22px}.journal-heading h1{font-size:52px}}
@media(max-width:800px){.journal-page .wrap{width:calc(100% - 40px)}.journal-grid{grid-template-columns:1fr;gap:40px}.journal-card{display:grid;grid-template-columns:38% minmax(0,1fr);gap:0 25px}.journal-card img{grid-row:1/5;margin:0}.journal-card h2{font-size:26px}.journal-card p{font-size:13px}.journal-card .card-meta{font-size:9px;display:block;line-height:1.8}.journal-card .card-meta time{display:block}.journal-read{justify-self:start}.journal-reading-layout{display:block}.journal-sidebar{position:static;border:0;border-top:1px solid var(--line);padding:30px 0;margin-top:60px;max-width:none}.journal-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 25px}.journal-cover{margin-bottom:42px}.journal-heading h1{font-size:45px}.journal-breadcrumbs{margin-bottom:35px}.journal-related .journal-grid{grid-template-columns:1fr}.journal-related .journal-card img{grid-row:1/5}.journal-body h2{font-size:30px}.journal-post{padding-top:30px}}
@media(max-width:540px){.journal-page .wrap{width:calc(100% - 32px)}.journal-grid{gap:34px;margin-bottom:55px}.journal-card{display:flex}.journal-card img{margin-bottom:20px}.journal-card .card-meta{display:flex;font-size:9px}.journal-card h2{font-size:28px}.journal-card p{font-size:14px}.journal-heading h1{font-size:38px;line-height:1.12;max-width:20ch}.journal-deck{font-size:17px}.journal-byline{font-size:11px;gap:10px 16px}.journal-cover img{border-radius:10px}.journal-cover{margin:0 0 32px}.journal-body>p{font-size:15px;line-height:1.9}.journal-body .article-opening{font-size:18px;line-height:1.75}.journal-body h2{font-size:28px;line-height:1.25;margin-top:45px;scroll-margin-top:115px}.article-takeaway{padding:22px;margin-block:28px}.article-takeaway p{font-size:14px}.article-interactive{padding:21px;margin-block:28px}.article-interactive h3{font-size:23px}.serp-example-columns{gap:15px}.serp-example-columns li{font-size:9px}.serp-example-result{padding:20px}.serp-example-result strong{font-size:29px}.journal-body pre{padding:20px;font-size:10px}.calculator-fields{grid-template-columns:1fr;gap:18px}.cost-results{grid-template-columns:1fr;gap:24px}.cost-results>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;border-bottom:1px solid var(--line);padding-bottom:20px}.cost-results span{margin-bottom:0;line-height:1.7}.cost-results strong{font-size:28px;grid-column:2;grid-row:1/3}.cost-results small{margin-top:0}.cost-bars>div{grid-template-columns:95px minmax(0,1fr);gap:12px}.article-formula{padding:22px}.article-formula p{font-size:10px}.packet-controls{display:block}.packet-controls>.button{margin-top:18px}.evidence-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.evidence-flow>div{padding:20px 16px}.evidence-flow span{margin-bottom:15px}.journal-sidebar nav{grid-template-columns:1fr}.journal-related{margin-top:45px;padding-top:35px}.journal-related .journal-card h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.journal-page *{scroll-behavior:auto!important}}

/* Original fundamentals now use the same photographic cards as the newer articles. */
.journal-page .fundamental-card{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 0 28px;box-shadow:none;min-height:0}
.journal-page .fundamental-card:hover{border-color:var(--line);box-shadow:none}
.journal-page .fundamental-card .card-meta{margin-top:0}

.journal-card .card-meta{flex-wrap:wrap;row-gap:6px}.journal-card .card-meta time{white-space:nowrap}
