/* The Agentic Post — coded theme stylesheet (TechCrunch-inspired design) */
:root{
  --bg:#FFFFFF; --surface:#FFFFFF; --ink:#0A0A0A; --ink-soft:#3D3D3D; --meta:#6E6E6E; --line:#E0E0E0; --rule:#0A0A0A;
  --masthead:#000000; --masthead-ink:#FFFFFF; --accent:#C9FF3E; --accent-ink:#0E1400;
  --footer-bg:#0A0A0A; --footer-ink:#C7CBCE; --footer-line:#2A2A2A; --card-hover:#F5F5F3;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0B0E13; --surface:#0B0E13; --ink:#F2F5F7; --ink-soft:#C7CDD3; --meta:#8A93A0; --line:#232A33; --rule:#EDEDED; --masthead:#000000; --masthead-ink:#FFFFFF; --footer-bg:#000000; --footer-ink:#C7CBCE; --footer-line:#242424; --card-hover:#12161d; }
}

*{ box-sizing:border-box; }
html, body{ margin:0; padding:0; }
body.ap-theme{ background:var(--bg); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; line-height:1.3; -webkit-font-smoothing:antialiased; }
.ap-theme a{ color:inherit; text-decoration:none; }
.ap-theme img{ max-width:100%; }
.wrap{ max-width:1280px; margin-inline:auto; padding-inline:clamp(1rem,3vw,1.5rem); }

/* ---- masthead ---- */
.tc-masthead{ background:var(--masthead); color:var(--masthead-ink); }
.tc-masthead .wrap{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding-block:0.7rem; }
.tc-brand{ display:flex; align-items:center; gap:0.5rem; }
.tc-mark{ width:24px; height:24px; flex-shrink:0; display:block; }
.tc-wordmark{ font-size:1.15rem; font-weight:900; letter-spacing:-0.02em; white-space:nowrap; }
.tc-masthead-right{ display:flex; align-items:center; gap:1.5rem; }
.tc-search-form{ display:flex; align-items:center; gap:0.4rem; }
.tc-search-form input{ background:transparent; border:none; border-bottom:1px solid #444; color:#fff; font-size:0.85rem; padding:0.2rem 0; width:9rem; font-family:inherit; }
.tc-search-form input::placeholder{ color:#999; }
.tc-search-form button{ background:none; border:none; color:#B8B8B8; cursor:pointer; padding:0; display:flex; }
.tc-search-form svg{ width:16px; height:16px; }
a.tc-subscribe-btn{ background:var(--accent); color:var(--accent-ink); font-weight:800; font-size:0.78rem; padding:0.55rem 1.1rem; letter-spacing:0.01em; border:none; cursor:pointer; }

/* ---- ticker ---- */
.tc-ticker{ background:#111; border-top:1px solid #222; overflow:hidden; }
.tc-ticker .wrap{ display:flex; align-items:center; gap:1rem; padding-block:0.55rem; }
.tc-ticker-label{ background:var(--accent); color:var(--accent-ink); font-size:0.68rem; font-weight:900; text-transform:uppercase; letter-spacing:0.05em; padding:0.2rem 0.5rem; flex-shrink:0; }
.tc-ticker-track{ overflow:hidden; white-space:nowrap; flex:1; text-overflow:ellipsis; }
.tc-ticker-track span{ color:#EDEDED; font-size:0.82rem; font-weight:600; }
.tc-ticker-track span b{ color:#8AA83A; font-weight:800; }

/* ---- subnav ---- */
.tc-subnav{ background:var(--surface); border-bottom:2px solid var(--rule); }
.tc-subnav .wrap{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding-block:0.95rem; }
.tc-subnav-primary{ display:flex; gap:1.85rem; overflow-x:auto; scrollbar-width:none; }
.tc-subnav-primary::-webkit-scrollbar{ display:none; }
.tc-subnav-secondary{ display:flex; gap:0.75rem; flex-shrink:0; }
.tc-subnav a{ font-size:0.92rem; font-weight:800; text-transform:uppercase; letter-spacing:0.02em; white-space:nowrap; color:var(--ink); border-bottom:2px solid transparent; padding-bottom:4px; }
.tc-subnav-primary a:hover, .tc-subnav-primary a.is-active{ border-bottom-color:var(--accent); }
.tc-subnav-secondary a{ font-size:0.76rem; font-weight:800; letter-spacing:0.01em; color:var(--accent-ink); background:var(--accent); padding:0.5rem 0.9rem; border-bottom:none; }
.tc-subnav-secondary a:hover{ background:var(--ink); color:var(--accent); }
@media (max-width:820px){ .tc-subnav-secondary{ display:none; } }

/* ---- eyebrow ---- */
.tc-eyebrow{ display:inline-block; font-size:0.7rem; font-weight:900; text-transform:uppercase; letter-spacing:0.04em; color:var(--accent-ink); background:var(--accent); padding:0.2rem 0.5rem; }
.tc-meta{ color:var(--meta); font-size:0.78rem; font-weight:600; }
.tc-meta .sep{ margin:0 0.4em; }

/* ---- breadcrumb ---- */
.tc-crumbs{ padding-block:1rem 0; font-size:0.8rem; font-weight:600; color:var(--meta); }
.tc-crumbs a:hover{ color:var(--ink); text-decoration:underline; text-decoration-color:var(--accent); }
.tc-crumbs .sep{ margin:0 0.5em; }
.tc-crumbs .current{ color:var(--ink); font-weight:800; }

/* ---- homepage featured (lead + side cards) ---- */
.tc-featured{ padding-block:1.5rem 1.1rem; }
.tc-featured-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:2rem; }
.tc-lead{ display:block; }
.tc-lead-photo{ aspect-ratio:16/9; overflow:hidden; background:var(--line); }
.tc-lead-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.tc-lead h1{ font-size:clamp(2.1rem,4vw,3.1rem); font-weight:900; letter-spacing:-0.03em; line-height:0.98; margin:0.7rem 0 0.65rem; text-wrap:balance; }
.tc-lead:hover h1{ text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:3px; text-underline-offset:4px; }
.tc-dek{ color:var(--ink-soft); font-size:1.02rem; margin:0 0 0.7rem; max-width:48ch; }
.tc-side-cards{ display:flex; flex-direction:column; }
.tc-side-card{ display:flex; gap:0.9rem; padding-block:1.1rem; border-bottom:1px solid var(--line); }
.tc-side-card:first-child{ padding-top:0; }
.tc-side-card:last-child{ border-bottom:none; }
.tc-side-photo{ width:7rem; height:5rem; flex-shrink:0; overflow:hidden; background:var(--line); }
.tc-side-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.tc-side-body h2{ font-size:1.05rem; font-weight:800; line-height:1.18; margin:0.35rem 0 0.4rem; letter-spacing:-0.01em; }
.tc-side-card:hover h2{ text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:2px; }
@media (max-width:900px){ .tc-featured-grid{ grid-template-columns:1fr; } }

/* ---- river + sidebar ---- */
.tc-body{ display:grid; grid-template-columns:1fr 320px; gap:2.5rem; padding-block:1.75rem 2.5rem; border-top:3px solid var(--rule); }
.tc-river-head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:0.25rem; }
.tc-river-head h2{ font-size:1.3rem; font-weight:900; text-transform:uppercase; letter-spacing:-0.01em; margin:0; }
.tc-river-item{ display:flex; gap:1.1rem; padding-block:1.15rem; border-bottom:1px solid var(--line); }
.tc-river-item .tc-thumb{ width:7.5rem; height:5.3rem; flex-shrink:0; overflow:hidden; background:var(--line); }
.tc-river-item .tc-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.tc-river-body h3{ font-size:1.14rem; font-weight:800; line-height:1.2; margin:0.35rem 0 0.35rem; letter-spacing:-0.01em; }
.tc-river-item:hover h3{ text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:2px; }
.tc-river-body p{ display:none; }
@media (min-width:820px){ .tc-river-body p{ display:block; color:var(--ink-soft); font-size:0.9rem; margin:0 0 0.4rem; max-width:60ch; } }
@media (max-width:900px){ .tc-body{ grid-template-columns:1fr; } }

/* ---- sidebar ---- */
.tc-sidebar{ display:flex; flex-direction:column; gap:2rem; }
.tc-popular{ border-top:3px solid var(--rule); padding-top:1.1rem; }
.tc-popular h2{ font-size:0.92rem; font-weight:900; text-transform:uppercase; letter-spacing:0.03em; margin:0 0 0.6rem; }
.tc-popular ol{ list-style:none; margin:0; padding:0; counter-reset:pop; }
.tc-popular li{ counter-increment:pop; display:flex; gap:0.85rem; padding-block:0.85rem; border-bottom:1px solid var(--line); align-items:baseline; }
.tc-popular li:first-child{ padding-top:0; }
.tc-popular li::before{ content:counter(pop); font-weight:900; font-size:1.7rem; color:var(--accent); -webkit-text-stroke:1.5px var(--ink); flex-shrink:0; width:1.6rem; line-height:1; }
.tc-popular li h4{ font-size:0.92rem; font-weight:800; line-height:1.22; margin:0; letter-spacing:-0.01em; }
.tc-popular li a:hover h4{ text-decoration:underline; text-decoration-color:var(--accent); }

/* ---- newsletter (sidebar box + footer band + CTA band share these) ---- */
.tc-newsletter{ background:#000; color:#fff; padding:1.5rem; }
.tc-newsletter h2{ font-size:1.15rem; font-weight:900; margin:0 0 0.45rem; letter-spacing:-0.015em; color:#fff; }
.tc-newsletter p{ font-size:0.85rem; color:#B8B8B8; margin:0 0 1rem; }
.tc-newsletter-form{ display:flex; gap:0; border:2px solid #fff; }
.tc-newsletter-form input{ flex:1; min-width:0; padding:0.65rem 0.75rem; border:none; background:#000; color:#fff; font-size:0.85rem; font-family:inherit; }
.tc-newsletter-form button{ background:var(--accent); color:var(--accent-ink); font-weight:900; font-size:0.78rem; padding:0.65rem 1.1rem; border:none; white-space:nowrap; cursor:pointer; }

.tc-footer-newsletter{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; padding-bottom:2rem; margin-bottom:2rem; border-bottom:1px solid var(--footer-line); }
.tc-footer-newsletter h4{ font-size:clamp(1.15rem,2.4vw,1.5rem); font-weight:900; letter-spacing:-0.015em; margin:0; color:#fff; max-width:34ch; }
.tc-footer-newsletter form{ display:flex; gap:0; border:2px solid #fff; flex-shrink:0; }
.tc-footer-newsletter input{ padding:0.75rem 1rem; border:none; font-size:0.9rem; min-width:220px; font-family:inherit; background:#000; color:#fff; }
.tc-footer-newsletter button{ background:var(--accent); color:var(--accent-ink); font-weight:900; padding:0.75rem 1.4rem; border:none; cursor:pointer; font-size:0.85rem; white-space:nowrap; }
@media (max-width:700px){ .tc-footer-newsletter form{ width:100%; } .tc-footer-newsletter input{ flex:1; min-width:0; } }
.tc-form-note{ font-size:0.78rem; font-weight:700; margin-top:0.6rem; }
.tc-form-note.ok{ color:#5C7A17; }
.tc-form-note.err{ color:#C43E2C; }
@media (prefers-color-scheme: dark){ .tc-form-note.ok{ color:var(--accent); } }

/* ---- topic clusters + module types ---- */
.tc-cluster{ padding-block:1.9rem; border-top:3px solid var(--rule); }
.tc-cluster.tint{ background:var(--card-hover); }
.tc-cluster-head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:1.25rem; }
.tc-cluster-head h2{ font-size:1.55rem; font-weight:900; letter-spacing:-0.02em; margin:0; }
.tc-cluster-head a{ font-size:0.8rem; font-weight:800; color:var(--ink); border-bottom:2px solid var(--accent); white-space:nowrap; padding-bottom:1px; }
.tc-cluster-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.75rem; }
.tc-cluster-card{ display:block; }
.tc-cluster-photo{ aspect-ratio:4/3; overflow:hidden; background:var(--line); margin-bottom:0.75rem; }
.tc-cluster-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.tc-cluster-card h3{ font-size:1.02rem; font-weight:800; line-height:1.28; margin:0.45rem 0 0.4rem; letter-spacing:-0.01em; }
.tc-cluster-card:hover h3{ text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:2px; }
@media (max-width:900px){ .tc-cluster-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .tc-cluster-grid{ grid-template-columns:1fr; } }

.tc-hybrid{ display:grid; grid-template-columns:1.3fr 1fr; gap:2.25rem; }
.tc-hybrid.reverse{ grid-template-columns:1fr 1.3fr; }
.tc-hybrid.reverse .tc-hybrid-feature{ order:2; }
.tc-hybrid-feature{ display:block; }
.tc-hybrid-feature .tc-cluster-photo{ aspect-ratio:16/10; margin-bottom:0.85rem; }
.tc-hybrid-feature h3{ font-size:1.55rem; font-weight:900; line-height:1.1; letter-spacing:-0.02em; margin:0.6rem 0 0.5rem; }
.tc-hybrid-feature:hover h3{ text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:2px; }
.tc-hybrid-feature p{ color:var(--ink-soft); font-size:0.94rem; max-width:44ch; margin:0 0 0.5rem; }
.tc-hybrid-list{ display:flex; flex-direction:column; justify-content:center; }
.tc-hybrid-list a{ display:flex; gap:0.9rem; padding-block:1rem; border-bottom:1px solid var(--line); }
.tc-hybrid-list a:first-child{ padding-top:0; }
.tc-hybrid-list a:last-child{ border-bottom:none; }
.tc-hybrid-list .tc-thumb-sm{ width:5.75rem; height:4.15rem; flex-shrink:0; overflow:hidden; background:var(--line); }
.tc-hybrid-list .tc-thumb-sm img{ width:100%; height:100%; object-fit:cover; display:block; }
.tc-hybrid-list h4{ font-size:0.95rem; font-weight:800; line-height:1.25; margin:0.3rem 0 0.3rem; letter-spacing:-0.005em; }
.tc-hybrid-list a:hover h4{ text-decoration:underline; text-decoration-color:var(--accent); }
@media (max-width:900px){ .tc-hybrid, .tc-hybrid.reverse{ grid-template-columns:1fr; } .tc-hybrid.reverse .tc-hybrid-feature{ order:0; } }

.tc-strip{ display:flex; gap:1.5rem; overflow-x:auto; padding-bottom:0.4rem; scrollbar-width:thin; }
.tc-strip-card{ flex:0 0 15.5rem; }
.tc-strip-card .tc-cluster-photo{ aspect-ratio:3/4; }

.tc-textlist{ display:grid; grid-template-columns:1fr 1fr; gap:0 3rem; }
.tc-textlist a{ display:flex; align-items:baseline; gap:1.1rem; padding-block:1.1rem; border-bottom:1px solid var(--line); }
.tc-textlist a:hover h3{ text-decoration:underline; text-decoration-color:var(--accent); }
.tc-textlist .tc-num{ font-size:1.6rem; font-weight:900; color:var(--accent); -webkit-text-stroke:1.4px var(--ink); flex-shrink:0; width:2.1rem; line-height:1; }
.tc-textlist h3{ font-size:1.08rem; font-weight:800; line-height:1.25; margin:0; letter-spacing:-0.005em; }
@media (max-width:700px){ .tc-textlist{ grid-template-columns:1fr; } }

.tc-masonry{ display:grid; grid-template-columns:1.15fr 1fr; gap:1.75rem; }
.tc-masonry-big .tc-cluster-photo{ aspect-ratio:1/1; }
.tc-masonry-big h3{ font-size:1.4rem; }
.tc-masonry-small{ display:flex; flex-direction:column; gap:1.6rem; }
@media (max-width:900px){ .tc-masonry{ grid-template-columns:1fr; } }

.tc-duo{ display:grid; grid-template-columns:1fr 1fr; gap:2.25rem; }
.tc-duo-card .tc-cluster-photo{ aspect-ratio:16/10; }
.tc-duo-card h3{ font-size:1.4rem; }
@media (max-width:700px){ .tc-duo{ grid-template-columns:1fr; } }

/* ---- pull-quote / editor's-pick break ---- */
.tc-quote-break{ background:#000; color:#fff; padding-block:3rem; border-top:3px solid var(--rule); }
.tc-quote-break blockquote{ font-size:clamp(1.7rem,3.6vw,2.5rem); font-weight:800; line-height:1.14; margin:0 0 1.1rem; letter-spacing:-0.015em; max-width:36ch; }
.tc-quote-break blockquote span{ color:var(--accent); }
.tc-quote-break cite{ font-style:normal; font-size:0.85rem; color:#9CA3A8; font-weight:700; text-transform:uppercase; letter-spacing:0.03em; }

/* ---- CTA band (newsletter) ---- */
.tc-cta-break{ background:var(--accent); color:var(--accent-ink); padding-block:2.25rem; border-top:3px solid var(--rule); }
.tc-cta-break .wrap{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.tc-cta-break h2{ font-size:clamp(1.3rem,2.6vw,1.75rem); font-weight:900; margin:0; letter-spacing:-0.02em; max-width:28ch; }
.tc-cta-break form{ display:flex; gap:0; border:2px solid var(--accent-ink); flex-shrink:0; }
.tc-cta-break input{ padding:0.75rem 1rem; border:none; font-size:0.9rem; min-width:220px; font-family:inherit; background:#fff; }
.tc-cta-break button{ background:var(--accent-ink); color:var(--accent); font-weight:900; padding:0.75rem 1.4rem; border:none; cursor:pointer; font-size:0.85rem; }

/* ---- events calendar ---- */
.tc-events{ background:#0A0A0A; color:#fff; border-top:3px solid var(--rule); padding-block:2.25rem; background-image:repeating-linear-gradient(135deg, rgba(201,255,62,0.05) 0px, rgba(201,255,62,0.05) 1px, transparent 1px, transparent 14px); }
.tc-events-head{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:1.25rem; }
.tc-events-head h2{ font-size:1.3rem; font-weight:900; letter-spacing:-0.01em; margin:0; color:#fff; }
.tc-events-head span{ font-size:0.72rem; font-weight:700; color:#8A8A8A; text-transform:uppercase; letter-spacing:0.05em; }
.tc-event-row{ display:flex; align-items:center; gap:1.25rem; padding-block:1rem; border-bottom:1px solid #232323; }
.tc-event-row:last-child{ border-bottom:none; }
.tc-event-date{ width:58px; height:58px; background:var(--accent); color:var(--accent-ink); display:flex; flex-direction:column; align-items:center; justify-content:center; flex-shrink:0; }
.tc-event-date .mon{ font-size:0.65rem; font-weight:900; text-transform:uppercase; letter-spacing:0.03em; }
.tc-event-date .day{ font-size:1.3rem; font-weight:900; line-height:1; }
.tc-event-body{ flex:1; min-width:0; }
.tc-event-body h3{ color:#fff; font-size:1.05rem; font-weight:800; margin:0 0 0.25rem; letter-spacing:-0.005em; }
.tc-event-row:hover h3{ text-decoration:underline; text-decoration-color:var(--accent); }
.tc-event-body .tc-event-meta{ color:#9CA3A8; font-size:0.82rem; font-weight:600; }
.tc-event-body .tc-event-meta b{ color:#C7CBCE; font-weight:700; }
.tc-event-link{ margin-left:auto; font-size:0.78rem; font-weight:900; color:var(--accent-ink); background:var(--accent); white-space:nowrap; flex-shrink:0; padding:0.55rem 1.1rem; border:none; cursor:pointer; }
.tc-event-link:hover{ background:#fff; }
@media (max-width:640px){ .tc-event-link{ padding:0.5rem 0.8rem; font-size:0.72rem; } }

/* ---- category page: hero + hybrid + strip (reuses tc-hybrid/tc-strip base) ---- */
.tc-cat-header{ padding-block:1rem 2rem; border-bottom:3px solid var(--rule); }
.tc-cat-header h1{ font-size:clamp(2rem,4.5vw,3.2rem); font-weight:900; letter-spacing:-0.03em; line-height:0.98; margin:0.75rem 0 0.75rem; }
.tc-cat-header p{ color:var(--ink-soft); font-size:1.05rem; max-width:60ch; margin:0 0 0.5rem; }
.tc-cat-header .tc-cat-count{ font-size:0.78rem; font-weight:700; color:var(--meta); text-transform:uppercase; letter-spacing:0.03em; }

.tc-cat-featured{ padding-block:1.75rem; border-bottom:3px solid var(--rule); }
.tc-cat-featured-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:2rem; }
.tc-cat-lead{ display:block; }
.tc-cat-lead-photo{ aspect-ratio:16/9; overflow:hidden; background:var(--line); }
.tc-cat-lead-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.tc-cat-lead h2{ font-size:clamp(1.6rem,3vw,2.3rem); font-weight:900; letter-spacing:-0.025em; line-height:1.02; margin:0.75rem 0 0.6rem; }
.tc-cat-lead:hover h2{ text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:2px; }
.tc-cat-lead p{ color:var(--ink-soft); font-size:0.98rem; max-width:48ch; margin:0 0 0.5rem; }
.tc-cat-side{ display:flex; flex-direction:column; }
.tc-cat-side-card{ display:flex; gap:0.9rem; padding-block:1.1rem; border-bottom:1px solid var(--line); }
.tc-cat-side-card:first-child{ padding-top:0; }
.tc-cat-side-card:last-child{ border-bottom:none; }
.tc-cat-side-photo{ width:7rem; height:5rem; flex-shrink:0; overflow:hidden; background:var(--line); }
.tc-cat-side-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.tc-cat-side-card h3{ font-size:1.02rem; font-weight:800; line-height:1.2; margin:0.3rem 0 0.35rem; letter-spacing:-0.01em; }
.tc-cat-side-card:hover h3{ text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:2px; }
@media (max-width:900px){ .tc-cat-featured-grid{ grid-template-columns:1fr; } }

.tc-hybrid-section{ padding-block:1.9rem; border-bottom:3px solid var(--rule); }
.tc-hybrid-section.tint{ background:var(--card-hover); }
.tc-hybrid-section h2{ font-size:1.1rem; font-weight:900; text-transform:uppercase; letter-spacing:0.03em; margin:0 0 1.25rem; }
.tc-strip-section{ padding-block:1.9rem; border-bottom:3px solid var(--rule); }
.tc-strip-section h2{ font-size:1.1rem; font-weight:900; text-transform:uppercase; letter-spacing:0.03em; margin:0 0 1.25rem; }

.tc-cat-body{ display:grid; grid-template-columns:1fr 320px; gap:2.5rem; padding-block:2rem 2.5rem; }
.tc-cat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem 1.75rem; }
.tc-cat-card{ display:block; }
.tc-cat-photo{ aspect-ratio:4/3; overflow:hidden; background:var(--line); margin-bottom:0.75rem; }
.tc-cat-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.tc-cat-card h3{ font-size:1.05rem; font-weight:800; line-height:1.28; margin:0.45rem 0 0.4rem; letter-spacing:-0.01em; }
.tc-cat-card:hover h3{ text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:2px; }
.tc-cat-card p{ color:var(--ink-soft); font-size:0.86rem; margin:0 0 0.4rem; }
@media (max-width:1050px){ .tc-cat-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .tc-cat-grid{ grid-template-columns:1fr; } .tc-cat-body{ grid-template-columns:1fr; } }

.tc-pagination{ display:flex; align-items:center; gap:0.6rem; margin-top:1rem; padding-top:1.5rem; border-top:1px solid var(--line); flex-wrap:wrap; }
.tc-pagination a, .tc-pagination span{ display:inline-flex; align-items:center; justify-content:center; min-width:2.4rem; height:2.4rem; font-size:0.85rem; font-weight:800; }
.tc-pagination a{ color:var(--ink); }
.tc-pagination a:hover{ background:var(--accent); color:var(--accent-ink); }
.tc-pagination .current{ background:var(--ink); color:var(--bg); }
.tc-pagination .next{ margin-left:auto; background:var(--accent); color:var(--accent-ink); padding-inline:1rem; }

/* ---- article: photo + solid lime title band ---- */
.tc-article-hero-banner{ display:flex; height:clamp(180px,24vw,260px); margin-block:1.5rem 0; }
.tc-hero-photo{ flex:0 0 34%; overflow:hidden; background:var(--line); }
.tc-hero-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.tc-hero-title-block{ flex:1; background:var(--accent); color:var(--accent-ink); display:flex; align-items:center; padding:1.25rem clamp(1.25rem,3vw,2.25rem); min-width:0; }
.tc-hero-title-block h1, .tc-hero-title-block h2{ font-size:clamp(1.4rem,2.6vw,2.15rem); font-weight:900; letter-spacing:-0.02em; line-height:1.06; margin:0; text-wrap:balance; }
@media (max-width:640px){ .tc-article-hero-banner{ height:auto; flex-direction:column; } .tc-hero-photo{ flex:0 0 auto; height:11rem; } }

.tc-article-subhead{ padding-block:1.1rem; }
.tc-article-subhead .tc-dek{ color:var(--ink-soft); font-size:1.02rem; margin:0 0 1.1rem; }
.tc-byline-row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding-top:1rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding-bottom:1rem; }
.tc-byline{ display:flex; align-items:center; gap:0.75rem; }
.tc-byline-avatar{ width:2.25rem; height:2.25rem; border-radius:50%; background:var(--ink); color:var(--bg); display:flex; align-items:center; justify-content:center; font-weight:900; font-size:0.85rem; flex-shrink:0; }
.tc-byline b{ font-size:0.88rem; font-weight:800; }
.tc-share{ display:flex; gap:0.5rem; }
.tc-share a{ width:2.1rem; height:2.1rem; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); }
.tc-share a:hover{ background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }
.tc-share svg{ width:15px; height:15px; }

.tc-article-layout{ display:grid; grid-template-columns:1fr 320px; gap:3rem; padding-block:0.5rem 2rem; }
.tc-article-full{ padding-block:0.5rem 2rem; }
@media (max-width:900px){ .tc-article-layout{ grid-template-columns:1fr; } }

.tc-article-body{ font-size:1.05rem; line-height:1.65; color:var(--ink); max-width:68ch; }
.tc-article-body p{ margin:0 0 1.3rem; }
.tc-article-body h2{ font-size:1.4rem; font-weight:900; letter-spacing:-0.015em; margin:2.2rem 0 1rem; }
.tc-article-body ul, .tc-article-body ol{ margin:0 0 1.3rem; padding-left:1.3rem; }
.tc-article-body li{ margin-bottom:0.5rem; }
.tc-article-body blockquote{ border-left:4px solid var(--accent); padding:0.2rem 0 0.2rem 1.5rem; margin:2rem 0; font-size:1.2rem; font-weight:700; letter-spacing:-0.01em; line-height:1.35; }
.tc-article-body img{ display:block; margin:1.5rem 0; }

.tc-related{ margin-top:3rem; padding-top:2rem; border-top:3px solid var(--rule); }
.tc-related h2{ font-size:1.1rem; font-weight:900; text-transform:uppercase; letter-spacing:0.03em; margin:0 0 1.25rem; }
.tc-related-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.tc-related-card .tc-cat-photo{ aspect-ratio:4/3; overflow:hidden; background:var(--line); margin-bottom:0.6rem; }
.tc-related-card .tc-cat-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.tc-related-card h3{ font-size:0.95rem; font-weight:800; line-height:1.28; margin:0.4rem 0 0.3rem; }
.tc-related-card:hover h3{ text-decoration:underline; text-decoration-color:var(--accent); }
@media (max-width:560px){ .tc-related-grid{ grid-template-columns:1fr; } }

/* ---- endless scroll ---- */
.tc-up-next{ display:flex; align-items:center; gap:1.25rem; margin:1rem 0 0; padding-top:1.5rem; border-top:3px solid var(--rule); }
.tc-up-next span{ font-size:0.72rem; font-weight:900; text-transform:uppercase; letter-spacing:0.08em; color:var(--accent-ink); background:var(--accent); padding:0.3rem 0.7rem; white-space:nowrap; flex-shrink:0; }
.tc-up-next-rule{ flex:1; height:1px; background:var(--line); }
.tc-feed-loading{ text-align:center; padding-block:2rem; font-size:0.8rem; font-weight:700; color:var(--meta); text-transform:uppercase; letter-spacing:0.05em; }
.tc-feed-end{ text-align:center; padding-block:2.5rem; font-size:0.9rem; font-weight:700; color:var(--meta); }

/* ---- static page layout (contact / advertise) ---- */
.tc-page-head{ padding-block:1rem 1.5rem; border-bottom:3px solid var(--rule); }
.tc-page-head h1{ font-size:clamp(2rem,4.5vw,3rem); font-weight:900; letter-spacing:-0.03em; margin:0.5rem 0 0.5rem; }
.tc-page-head p{ color:var(--ink-soft); font-size:1.05rem; max-width:60ch; margin:0; }
.tc-page-body{ display:grid; grid-template-columns:1fr 320px; gap:3rem; padding-block:2.5rem 3rem; }
.tc-page-content{ max-width:62ch; }
.tc-page-content h2{ font-size:1.35rem; font-weight:900; letter-spacing:-0.015em; margin:2rem 0 0.75rem; }
.tc-page-content h2:first-child{ margin-top:0; }
.tc-page-content p{ font-size:1.02rem; line-height:1.65; color:var(--ink-soft); margin:0 0 1.1rem; }
.tc-page-content a{ color:var(--ink); text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:2px; }
@media (max-width:900px){ .tc-page-body{ grid-template-columns:1fr; } }

.tc-format-list{ display:flex; flex-direction:column; gap:0.85rem; margin:0 0 1.5rem; }
.tc-format-item{ display:flex; align-items:baseline; gap:0.9rem; padding-block:0.9rem; border-bottom:1px solid var(--line); }
.tc-format-item .tc-eyebrow{ flex-shrink:0; }
.tc-format-item span:last-child{ font-size:0.95rem; color:var(--ink-soft); }

.tc-form{ margin:1.5rem 0 2.5rem; }
.tc-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.tc-form-row{ margin-bottom:1.25rem; }
.tc-form-row label{ display:block; font-size:0.76rem; font-weight:800; text-transform:uppercase; letter-spacing:0.03em; margin-bottom:0.5rem; color:var(--ink); }
.tc-form-row input, .tc-form-row select, .tc-form-row textarea{ width:100%; padding:0.85rem 1rem; border:1px solid var(--line); background:var(--surface); color:var(--ink); font-size:0.95rem; font-family:inherit; }
.tc-form-row input:focus, .tc-form-row select:focus, .tc-form-row textarea:focus{ outline:2px solid var(--accent); outline-offset:-1px; }
.tc-form-row textarea{ resize:vertical; min-height:150px; }
.tc-form-submit{ background:var(--accent); color:var(--accent-ink); font-weight:900; font-size:0.9rem; padding:0.9rem 1.85rem; border:none; cursor:pointer; }
.tc-form-submit:hover{ background:var(--ink); color:var(--accent); }
.tc-form-submit:disabled{ opacity:0.6; cursor:default; }
@media (max-width:560px){ .tc-form-grid{ grid-template-columns:1fr; } }

.tc-info-card{ background:#000; color:#fff; padding:1.75rem; align-self:start; }
.tc-info-card h3{ font-size:1.05rem; font-weight:900; margin:0 0 0.75rem; letter-spacing:-0.01em; }
.tc-info-card p{ font-size:0.88rem; color:#B8B8B8; margin:0 0 1.25rem; }
.tc-info-row{ display:flex; gap:0.75rem; padding-block:1rem; border-top:1px solid #262626; }
.tc-info-row:first-of-type{ border-top:none; padding-top:0; }
.tc-info-row svg{ width:18px; height:18px; color:var(--accent); flex-shrink:0; margin-top:2px; }
.tc-info-row div b{ display:block; font-size:0.9rem; font-weight:800; margin-bottom:0.15rem; }
.tc-info-row div span{ font-size:0.85rem; color:#B8B8B8; }
.tc-info-stats{ display:flex; flex-direction:column; gap:0; margin-bottom:1.25rem; }
.tc-info-stat{ display:flex; justify-content:space-between; align-items:baseline; padding-block:0.8rem; border-top:1px solid #262626; }
.tc-info-stat:first-child{ border-top:none; padding-top:0; }
.tc-info-stat b{ font-size:1.3rem; font-weight:900; color:var(--accent); }
.tc-info-stat span{ font-size:0.78rem; color:#9CA3A8; text-transform:uppercase; letter-spacing:0.03em; font-weight:700; }
a.tc-info-email{ display:block; margin-top:0; background:var(--accent); color:var(--accent-ink); text-align:center; font-weight:900; font-size:0.85rem; padding:0.75rem; text-decoration:none; }

/* ---- footer ---- */
.tc-footer{ background:var(--footer-bg); color:var(--footer-ink); padding-block:2.5rem 1.5rem; margin-top:0; }
.tc-footer-grid{ display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:2rem; padding-bottom:2rem; border-bottom:1px solid var(--footer-line); }
.tc-footer-brand .tc-wordmark{ color:#fff; }
.tc-footer-brand p{ font-size:0.82rem; color:#9CA3A8; margin-top:0.75rem; max-width:26ch; }
.tc-footer h5{ font-size:0.72rem; font-weight:800; text-transform:uppercase; letter-spacing:0.05em; margin:0 0 0.85rem; color:#8B9195; }
.tc-footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0.55rem; }
.tc-footer a{ font-size:0.82rem; color:#D6D9DB; }
.tc-footer a:hover{ color:var(--accent); }
.tc-footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:1.25rem; font-size:0.75rem; color:#7D8286; flex-wrap:wrap; gap:0.5rem; }
@media (max-width:900px){ .tc-footer-grid{ grid-template-columns:1fr 1fr; } }

/* ---- inline newsletter confirmation note (injected by ap-newsletter.php) ---- */
.ap-newsletter-note{ font-size:0.78rem; font-weight:700; margin-top:0.6rem; color:#8AA83A; }
.tc-page-content .ap-newsletter-note, .tc-info-card .ap-newsletter-note{ color:var(--meta); }

/* ---- ticker: continuous auto-scrolling marquee ---- */
.tc-ticker-scroll{ display:inline-flex; width:max-content; animation: tc-ticker-scroll 32s linear infinite; }
.tc-ticker-scroll:hover{ animation-play-state:paused; }
@keyframes tc-ticker-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .tc-ticker-scroll{ animation:none; } }
