/* ==========================================================================
   Off-Market — the Allocation10 journal
   Editorial layer. Extends the brand tokens defined in styles.css
   (loaded first). Quiet-luxury deep-tech media aesthetic.
   ========================================================================== */

/* --- Publication masthead ------------------------------------------------ */
.mast{border-bottom:1px solid var(--line-soft);padding:52px 0 34px;position:relative}
.mast-kicker{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--plat);margin-bottom:20px}
.mast-title{display:flex;align-items:center;gap:20px}
.mast-title .mark{width:48px;height:48px;flex-shrink:0}
.mast-title h1{font-family:'Bricolage Grotesque';font-weight:700;font-size:clamp(44px,7vw,86px);line-height:.86;letter-spacing:-0.045em}
.mast-row{display:grid;grid-template-columns:1.5fr .9fr;gap:56px;align-items:end;margin-top:26px}
.mast-sub{max-width:660px;color:var(--bone-dim);font-size:clamp(16px,1.9vw,18.5px);line-height:1.55;margin:0}
.mast-sub b{color:var(--bone);font-weight:500}
.mast-meta{border-top:1px solid var(--line);margin-bottom:5px}
.mast-meta .m{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line-soft);font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.mast-meta .m .k{color:var(--bone-faint)}
.mast-meta .m .v{color:var(--bone)}

/* --- Category / pillar bar ---------------------------------------------- */
.pillars{position:sticky;top:57px;z-index:15;backdrop-filter:blur(14px);background:var(--nav-bg);border-bottom:1px solid var(--line-soft)}
.pillars-in{max-width:1180px;margin:0 auto;padding:14px 40px;display:flex;gap:10px;overflow-x:auto;scrollbar-width:none}
.pillars-in::-webkit-scrollbar{display:none}
.pill{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-dim);border:1px solid var(--line);border-radius:30px;padding:9px 16px;white-space:nowrap;transition:all .18s;cursor:pointer;background:none}
.pill:hover{border-color:var(--plat-deep);color:var(--bone)}
.pill.active{color:var(--btn-ink);background:var(--btn-bg);border-color:transparent}

/* --- Cover art (generative, no image files) ------------------------------ */
.cover-art{position:relative;aspect-ratio:16/10;border-radius:10px;overflow:hidden;display:block;
  border:1px solid rgba(198,208,219,.16);background:linear-gradient(152deg,#1a1e26 0%,#0b0d11 100%)}
.cover-art .glyph{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center}
.cover-art .glyph svg{width:56%;height:56%;opacity:1}
.cover-art .glyph .plat-stroke{stroke:#C6D0DB}
.cover-art .glyph .faint-stroke{stroke:rgba(221,229,239,.34)}
.cover-art .glyph .plat-fill{fill:#C6D0DB}
.cover-art .cat-tag{position:absolute;left:16px;top:15px;z-index:3;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:#EFF0EE;background:rgba(8,10,13,.5);backdrop-filter:blur(8px);border:1px solid rgba(198,208,219,.22);border-radius:20px;padding:6px 11px}
.cover-art::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(135% 95% at 100% 0%, rgba(197,207,218,.16), transparent 55%),
  radial-gradient(95% 95% at -8% 118%, rgba(197,207,218,.09), transparent 55%)}
.cover-art::after{content:"";position:absolute;inset:0 0 auto 0;z-index:2;height:1px;background:linear-gradient(90deg,transparent,rgba(198,208,219,.32),transparent)}
/* pattern washes keyed by category — brighter for the dark tile */
[data-cat="spv"]      .cover-art{background-image:linear-gradient(152deg,#1a1e26,#0b0d11),repeating-linear-gradient(90deg,rgba(197,207,218,.07) 0 1px,transparent 1px 30px)}
[data-cat="ai"]       .cover-art{background-image:linear-gradient(152deg,#1a1e26,#0b0d11),radial-gradient(circle at 28% 38%,rgba(197,207,218,.16),transparent 42%),radial-gradient(circle at 74% 68%,rgba(197,207,218,.10),transparent 40%)}
[data-cat="multiples"].cover-art{background-image:linear-gradient(152deg,#1a1e26,#0b0d11),repeating-linear-gradient(0deg,rgba(197,207,218,.06) 0 1px,transparent 1px 26px)}
[data-cat="investing"].cover-art{background-image:linear-gradient(152deg,#1a1e26,#0b0d11),conic-gradient(from 210deg at 76% 26%,rgba(197,207,218,.15),transparent 32%)}
[data-cat="profiles"] .cover-art{background-image:linear-gradient(152deg,#1a1e26,#0b0d11),repeating-linear-gradient(135deg,rgba(197,207,218,.06) 0 2px,transparent 2px 18px)}
[data-cat="trackers"] .cover-art{background-image:linear-gradient(152deg,#1a1e26,#0b0d11),repeating-linear-gradient(90deg,rgba(197,207,218,.075) 0 2px,transparent 2px 13px)}
.plat-stroke{stroke:var(--plat);fill:none}
.plat-fill{fill:var(--plat)}
.faint-stroke{stroke:var(--bone-faint);fill:none}

/* --- Featured lead ------------------------------------------------------- */
.lead{padding:40px 0 12px}
.lead-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center}
.lead .cover-art{aspect-ratio:5/4}
.lead-kicker{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--plat);margin-bottom:18px}
.lead h2{font-family:'Bricolage Grotesque';font-weight:700;font-size:clamp(30px,4.4vw,52px);line-height:.98;letter-spacing:-0.04em;margin-bottom:20px}
.lead h2 a{color:inherit;transition:opacity .2s}.lead h2 a:hover{opacity:.72}
.lead .dek{color:var(--bone-dim);font-size:18px;line-height:1.55;max-width:520px}
.lead .byline{margin-top:24px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-faint)}

/* --- Section heads ------------------------------------------------------- */
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:50px 0 28px;padding-bottom:16px;border-bottom:1px solid var(--line-soft)}
.sec-head h3{font-family:'Bricolage Grotesque';font-weight:700;font-size:clamp(22px,3vw,30px);letter-spacing:-0.03em}
.sec-head .lab{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-faint)}

/* --- Post grid ----------------------------------------------------------- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.post-card{display:flex;flex-direction:column;gap:16px;opacity:1;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.post-card:hover{transform:translateY(-4px)}
.post-card .cover-art{aspect-ratio:16/10}
.post-card h4{font-family:'Bricolage Grotesque';font-weight:600;font-size:20px;line-height:1.12;letter-spacing:-0.025em}
.post-card h4 a{color:inherit;transition:opacity .2s}.post-card h4 a:hover{opacity:.72}
.post-card .excerpt{font-size:14.5px;color:var(--bone-dim);line-height:1.5}
.post-card .meta{margin-top:auto;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-faint);display:flex;gap:12px;align-items:center;padding-top:4px}
.post-card .meta .dot{width:3px;height:3px;border-radius:50%;background:var(--bone-faint)}
.post-card[hidden]{display:none}

/* --- Newsletter / access strip ------------------------------------------ */
.subscribe{margin:60px 0 16px;padding:48px 46px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(155deg,var(--card-grad-a),var(--card-grad-b));position:relative;overflow:hidden;text-align:center}
.subscribe::after{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
.subscribe h3{font-family:'Bricolage Grotesque';font-weight:700;font-size:clamp(26px,3.6vw,40px);letter-spacing:-0.035em;max-width:640px;margin:0 auto 14px}
.subscribe p{color:var(--bone-dim);font-size:16px;max-width:460px;margin:0 auto 26px}

/* ==========================================================================
   Article reading view
   ========================================================================== */
.article{max-width:1180px;margin:0 auto;padding:0 40px;position:relative;z-index:2}
.faq,.author-card,.article-disclaimer{position:relative;z-index:2}
.breadcrumbs{padding:34px 0 0;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-faint);display:flex;gap:10px;flex-wrap:wrap}
.breadcrumbs a{color:var(--bone-dim);border-bottom:1px solid transparent;transition:border-color .2s}
.breadcrumbs a:hover{border-color:var(--line)}
.breadcrumbs .sep{color:var(--bone-faint)}

.article-head{max-width:760px;margin:0 auto;padding:40px 0 30px}
.article-head .kicker{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--plat);margin-bottom:22px}
.article-head h1{font-family:'Bricolage Grotesque';font-weight:700;font-size:clamp(34px,5.4vw,62px);line-height:.98;letter-spacing:-0.04em;margin-bottom:24px}
.article-head .dek{font-size:clamp(18px,2.4vw,22px);line-height:1.5;color:var(--bone-dim);font-weight:300}
.article-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:30px;padding-top:22px;border-top:1px solid var(--line-soft);font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--bone-faint)}
.article-meta .who{color:var(--bone-dim)}
.article-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--bone-faint)}

.article-cover{max-width:960px;margin:14px auto 0}
.article-cover .cover-art{aspect-ratio:21/9}

/* --- Prose --------------------------------------------------------------- */
.prose{max-width:720px;margin:0 auto;padding:44px 0 20px;font-size:18.5px;line-height:1.72;color:var(--bone-dim)}
.prose > p{margin-bottom:26px}
.prose > p:first-of-type{color:var(--bone);font-size:20px;line-height:1.6}
.prose b,.prose strong{color:var(--bone);font-weight:500}
.prose a{color:var(--bone);border-bottom:1px solid var(--plat-deep);transition:border-color .2s}
.prose a:hover{border-color:var(--plat)}
.prose h2{font-family:'Bricolage Grotesque';font-weight:700;font-size:clamp(26px,3.4vw,34px);letter-spacing:-0.03em;line-height:1.08;color:var(--bone);margin:52px 0 20px;scroll-margin-top:110px}
.prose h3{font-family:'Bricolage Grotesque';font-weight:600;font-size:clamp(20px,2.6vw,24px);letter-spacing:-0.02em;color:var(--bone);margin:38px 0 14px;scroll-margin-top:110px}
.prose ul,.prose ol{margin:0 0 26px;padding-left:2px;list-style:none}
.prose li{position:relative;padding-left:26px;margin-bottom:13px}
.prose ul li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;border-radius:50%;background:var(--plat)}
.prose ol{counter-reset:li}
.prose ol li::before{counter-increment:li;content:counter(li);position:absolute;left:0;top:1px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--plat);font-weight:500}
.prose li b{color:var(--bone);font-weight:500}
.prose blockquote{margin:34px 0;padding:6px 0 6px 28px;border-left:2px solid var(--plat-deep);font-family:'Bricolage Grotesque';font-weight:500;font-size:24px;line-height:1.3;letter-spacing:-0.02em;color:var(--bone)}
.prose figure{margin:34px 0}
.prose figcaption{margin-top:12px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--bone-faint);text-align:center}

/* --- Tables (great for AEO / trackers) ----------------------------------- */
.prose .table-wrap{margin:32px 0;overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.prose table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px}
.prose thead th{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-faint);text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--slate-2);font-weight:500}
.prose tbody td{padding:14px 18px;border-bottom:1px solid var(--line-soft);color:var(--bone-dim);vertical-align:top}
.prose tbody tr:last-child td{border-bottom:none}
.prose tbody td:first-child{color:var(--bone);font-weight:400}
.prose tbody tr:hover td{background:var(--slate)}

/* --- Answer-first / TL;DR box (AI-SEO signal) ---------------------------- */
.tldr{margin:8px 0 40px;padding:26px 30px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(155deg,var(--card-grad-a),var(--card-grad-b));position:relative;overflow:hidden}
.tldr::after{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
.tldr .lab{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--plat);margin-bottom:14px}
.tldr p{font-size:17px;line-height:1.6;color:var(--bone);margin:0}
.tldr p + p{margin-top:12px}

/* --- Key takeaways ------------------------------------------------------- */
.takeaways{margin:38px 0;padding:30px 34px;border:1px solid var(--line);border-radius:11px;background:var(--slate)}
.takeaways .lab{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--bone-faint);margin-bottom:18px}
.takeaways ul{list-style:none;margin:0;padding:0}
.takeaways li{position:relative;padding-left:28px;margin-bottom:14px;font-size:16px;line-height:1.5;color:var(--bone-dim)}
.takeaways li:last-child{margin-bottom:0}
.takeaways li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:2px;background:var(--pl-grad)}
.takeaways li b{color:var(--bone);font-weight:500}

/* --- Callout & the honesty box ------------------------------------------ */
.callout{margin:34px 0;padding:24px 28px;border:1px solid var(--line);border-left:2px solid var(--plat-deep);border-radius:9px;background:var(--slate);font-size:16px;line-height:1.6;color:var(--bone-dim)}
.callout .lab{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--plat);margin-bottom:10px}
.callout b{color:var(--bone);font-weight:500}
.unverified{border-left-color:#8a6f3a}
.unverified .lab{color:#b7935a}

/* --- FAQ (FAQPage schema mirror) ----------------------------------------- */
.faq{max-width:720px;margin:20px auto 0;padding:0 0 20px}
.faq h2{font-family:'Bricolage Grotesque';font-weight:700;font-size:clamp(26px,3.4vw,34px);letter-spacing:-0.03em;color:var(--bone);margin:40px 0 8px}
.faq details{border-bottom:1px solid var(--line-soft);padding:6px 0}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font-family:'Bricolage Grotesque';font-weight:500;font-size:19px;letter-spacing:-0.015em;color:var(--bone)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:18px;font-family:'JetBrains Mono',monospace;font-size:20px;color:var(--plat);transition:transform .2s}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 22px;font-size:16.5px;line-height:1.65;color:var(--bone-dim);margin:0}

/* --- Author card & footer nav ------------------------------------------- */
.author-card{max-width:720px;margin:44px auto 0;padding:28px 30px;border:1px solid var(--line);border-radius:11px;background:var(--slate);display:flex;gap:20px;align-items:flex-start}
.author-card .av{width:52px;height:52px;border-radius:50%;flex-shrink:0;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;background:var(--slate-2)}
.author-card .av svg{width:30px;height:30px}
.author-card .who{font-family:'Bricolage Grotesque';font-weight:600;font-size:17px;letter-spacing:-0.01em;color:var(--bone);margin-bottom:6px}
.author-card .bio{font-size:14.5px;line-height:1.55;color:var(--bone-dim)}

.article-disclaimer{max-width:720px;margin:36px auto 0;font-size:12.5px;line-height:1.7;color:var(--bone-faint);padding-top:22px;border-top:1px solid var(--line-soft)}

/* --- Related ------------------------------------------------------------- */
.related{padding:64px 0 20px}

/* --- Progress bar -------------------------------------------------------- */
.read-bar{position:fixed;top:0;left:0;height:2px;width:0;background:var(--pl-grad);z-index:40;transition:width .1s linear}

/* --- Responsive ---------------------------------------------------------- */
@media(max-width:900px){
  .mast-row{grid-template-columns:1fr;gap:22px;align-items:start}
  .mast-meta{max-width:360px}
  .lead-grid{grid-template-columns:1fr;gap:26px}
  .lead .cover-art{aspect-ratio:16/9}
  .post-grid{grid-template-columns:repeat(2,1fr);gap:24px}
}
@media(max-width:640px){
  .article,.pillars-in{padding-left:22px;padding-right:22px}
  .post-grid{grid-template-columns:1fr;gap:28px}
  .prose{font-size:17.5px}
  .prose > p:first-of-type{font-size:18.5px}
  .article-cover .cover-art{aspect-ratio:16/10}
}
