/*
Theme Name: Rob T. Case
Theme URI: https://robtcase.com
Description: Editorial child theme of GeneratePress for robtcase.com. Newsprint typography, ink/paper/red palette, optimised for Core Web Vitals.
Author: VonClaro
Author URI: https://vonclaro.com
Template: generatepress
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: robtcase-blog
*/

/* Google Fonts moved to a parallel <link> in functions.php to avoid an @import-induced render-blocking waterfall. */

*{margin:0;padding:0;box-sizing:border-box}
:root{
  --ink:#0D0D0D;--ink2:#1A1A1A;--ink3:#2A2A2A;
  --paper:#F5F0E8;--paper2:#EDE8DF;--paper3:#E0D9CE;
  --red:#CC0000;--red2:#E31010;--red3:#FF4444;
  --muted:#7A7267;
  --serif:'Libre Baskerville',Georgia,serif;
  --mono:'IBM Plex Mono',monospace;
  --sans:'Instrument Sans',sans-serif;
}
/* Light mode: swap ink/paper roles. Honoured when .light-mode is on <html>. */
html.light-mode{
  --ink:#F5F0E8;--ink2:#EDE8DF;--ink3:#E0D9CE;
  --paper:#0D0D0D;--paper2:#1A1A1A;--paper3:#2A2A2A;
  --muted:#5A5248;
}
/* Sections that should NEVER invert with the theme (always paper-on-ink). */
.newsletter-strip,.rtc-page-wrap{
  --ink:#0D0D0D;--ink2:#1A1A1A;--ink3:#2A2A2A;
  --paper:#F5F0E8;--paper2:#EDE8DF;--paper3:#E0D9CE;
  --muted:#7A7267;
}
html,body{background:var(--ink);transition:background 0.2s ease}
body{font-family:var(--sans);color:var(--paper);line-height:1.6}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Reset GP defaults that fight the editorial look */
.site,#page,.inside-header,.inside-navigation,.site-content,.site-main,article,.entry-content{background:transparent}

nav.rtc-nav{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2.5rem;border-bottom:1px solid var(--ink3);position:sticky;top:0;background:var(--ink);z-index:100}
.nav-logo{font-family:var(--mono);font-size:14px;font-weight:500;color:var(--red);letter-spacing:0.06em;text-decoration:none}
.nav-logo span{color:var(--paper);opacity:0.4;margin:0 3px}
.nav-right{display:flex;align-items:center;gap:2.5rem}
.nav-links{display:flex;gap:2rem}
.nav-links a{font-family:var(--mono);font-size:12px;font-weight:400;color:var(--muted);text-decoration:none;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;transition:color 0.2s}
.nav-links a:hover,.nav-links a.active{color:var(--paper)}
.nav-sub{font-family:var(--mono);font-size:12px;font-weight:500;background:var(--red);color:#FFFFFF;padding:8px 20px;border:none;cursor:pointer;letter-spacing:0.06em;text-transform:uppercase;transition:background 0.2s;text-decoration:none;display:inline-block}
.nav-sub:hover{background:var(--red2)}
.nav-theme{background:none;border:1px solid transparent;cursor:pointer;color:var(--muted);font-size:16px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:2px;transition:color 0.2s,border-color 0.2s}
.nav-theme:hover{color:var(--paper);border-color:var(--ink3)}
.nav-theme .ti-sun,.nav-theme .ti-moon{display:none;line-height:1}
.nav-theme .ti-sun{display:inline-flex}
html.light-mode .nav-theme .ti-sun{display:none}
html.light-mode .nav-theme .ti-moon{display:inline-flex}

.hero{padding:5rem 2.5rem 4rem;border-bottom:1px solid var(--ink3);position:relative;overflow:hidden}
.hero-rule{position:absolute;top:0;left:2.5rem;right:2.5rem;height:3px;background:var(--red)}
.hero-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:start}
.hero-dateline{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--muted);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:2rem;display:flex;align-items:center;gap:12px}
.hero-dateline::after{content:'';flex:1;height:1px;background:var(--ink3)}
.hero h1{font-family:var(--serif);font-size:clamp(38px,5.5vw,72px);font-weight:700;line-height:1.05;color:var(--paper);margin-bottom:1.5rem;letter-spacing:-0.02em}
.hero h1 em{font-style:italic;color:var(--red)}
.hero-deck{font-family:var(--serif);font-size:18px;font-weight:400;font-style:italic;color:var(--paper);opacity:0.65;line-height:1.7;margin-bottom:2rem;border-left:2px solid var(--red);padding-left:1.25rem}
.hero-bio{font-family:var(--sans);font-size:14px;font-weight:300;color:var(--muted);line-height:1.85}
.hero-bio strong{color:var(--paper);font-weight:400}
.hero-aside{padding-top:1rem;display:flex;flex-direction:column;gap:2rem}
.hero-aside-label{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--red);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:0.75rem}
.issue-card{border:1px solid var(--ink3);padding:1.25rem;background:var(--ink2)}
.issue-num{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:0.08em;margin-bottom:0.5rem}
.issue-title{font-family:var(--serif);font-size:16px;font-weight:400;color:var(--paper);line-height:1.4;margin-bottom:0.75rem}
.issue-read{font-family:var(--mono);font-size:11px;color:var(--red);text-decoration:none;cursor:pointer;letter-spacing:0.04em}
.issue-read:hover{color:var(--red3)}
.location-tag{font-family:var(--mono);font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px}
.location-tag i{color:var(--red);font-size:14px}

/* Coffee mug — CSS art, lives in hero-aside below location-tag */
.rtc-mug{position:relative;width:200px;height:230px;margin:1.5rem auto 0;pointer-events:none}
.rtc-mug-steam{position:absolute;top:36px;left:50%;transform:translateX(-50%);width:80px;height:70px;display:flex;justify-content:space-between;align-items:flex-end;z-index:6}
.rtc-mug-steam span{display:block;width:3px;height:50px;background:linear-gradient(to top,var(--paper) 0%,transparent 90%);opacity:0.7;border-radius:3px;transform-origin:bottom center;animation:rtc-steam 4s ease-in-out infinite;filter:blur(0.5px)}
.rtc-mug-steam span:nth-child(1){height:46px;animation-delay:0s}
.rtc-mug-steam span:nth-child(2){height:60px;animation-delay:0.7s}
.rtc-mug-steam span:nth-child(3){height:50px;animation-delay:1.4s}
@keyframes rtc-steam{
  0%{transform:translateY(12px) scaleY(0.6) skewX(0deg);opacity:0}
  25%{opacity:0.55}
  50%{transform:translateY(-6px) scaleY(1) skewX(4deg);opacity:0.45}
  100%{transform:translateY(-22px) scaleY(1.3) skewX(-2deg);opacity:0}
}
.rtc-mug-rim{position:absolute;top:104px;left:30px;width:120px;height:18px;border:2px solid var(--paper);border-radius:50%;background:var(--ink);z-index:3}
.rtc-mug-coffee{position:absolute;top:108px;left:34px;width:112px;height:10px;background:var(--red);border-radius:50%;opacity:0.92;z-index:4;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}
.rtc-mug-body{position:absolute;top:112px;left:30px;width:120px;height:90px;border:2px solid var(--paper);border-top:none;border-bottom-left-radius:10px;border-bottom-right-radius:14px;background:var(--ink);z-index:2}
.rtc-mug-handle{position:absolute;top:128px;left:148px;width:30px;height:54px;border:2px solid var(--paper);border-left:none;border-radius:0 22px 22px 0;background:transparent;z-index:1}
.rtc-mug-saucer{position:absolute;top:198px;left:10px;width:160px;height:14px;border:2px solid var(--paper);border-radius:50%;background:var(--ink);z-index:1}
@media (prefers-reduced-motion: reduce){
  .rtc-mug-steam span{animation:none;opacity:0.3}
}
@media (max-width:880px){
  .rtc-mug{transform:scale(0.85);margin-top:0.5rem}
}

.newsletter-strip{background:#FFFFFF;padding:4rem 2.5rem;border-bottom:1px solid #E0E0E0}
.nl-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.nl-tag{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--red);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:1rem}
.nl-headline{font-family:var(--serif);font-size:clamp(24px,3vw,38px);font-weight:700;color:var(--ink);line-height:1.2;margin-bottom:1rem}
.nl-sub{font-family:var(--sans);font-size:14px;font-weight:300;color:#5A5248;line-height:1.85}
.nl-bullets{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}
.nl-bullet{display:flex;align-items:flex-start;gap:12px}
.nl-bullet-dot{width:6px;height:6px;border-radius:50%;background:var(--red);flex-shrink:0;margin-top:7px}
.nl-bullet-text{font-family:var(--sans);font-size:14px;font-weight:400;color:#3A3228;line-height:1.6}
.nl-bullet-text strong{font-weight:500;color:var(--ink)}
.nl-form{display:flex;gap:0}
.nl-input{flex:1;padding:13px 18px;border:1px solid #D0D0D0;border-right:none;font-family:var(--sans);font-size:14px;background:#FFFFFF;color:var(--ink);outline:none}
.nl-input:focus{border-color:#999}
.nl-input::placeholder{color:#A89888}
.nl-input.err{border-color:var(--red)}
.nl-btn{font-family:var(--mono);font-size:12px;font-weight:500;background:var(--ink);color:#FFFFFF;padding:13px 24px;border:1px solid var(--ink);cursor:pointer;letter-spacing:0.06em;text-transform:uppercase;white-space:nowrap;transition:all 0.2s}
.nl-btn:hover{background:var(--red);border-color:var(--red)}
.nl-note{font-family:var(--mono);font-size:10px;color:#9A8878;margin-top:0.75rem;letter-spacing:0.04em}
.nl-hp{position:absolute;left:-9999px;top:-9999px}
.nl-success{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--ink);padding:1rem 1.25rem;border-left:3px solid var(--red);background:#FFF5F5;margin-top:0.5rem}
.nl-error{font-family:var(--mono);font-size:12px;color:var(--red);margin-top:0.5rem;letter-spacing:0.04em}

.writing-section{padding:5rem 2.5rem;border-bottom:1px solid var(--ink3)}
.writing-inner{max-width:1000px;margin:0 auto}
.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:3rem;border-bottom:1px solid var(--ink3);padding-bottom:1rem}
.section-label{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--red);letter-spacing:0.14em;text-transform:uppercase}
.section-all{font-family:var(--mono);font-size:11px;color:var(--muted);cursor:pointer;letter-spacing:0.06em;text-decoration:none}
.section-all:hover{color:var(--paper)}
.writing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--ink3)}
.writing-card{padding:2rem;border-right:1px solid var(--ink3);border-bottom:1px solid var(--ink3);display:flex;flex-direction:column;gap:1rem;cursor:pointer;transition:background 0.2s;text-decoration:none;color:inherit}
.writing-card:hover{background:var(--ink2)}
.writing-card:last-child{border-right:none}
.wc-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.wc-tag{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--red);letter-spacing:0.1em;text-transform:uppercase;background:rgba(204,0,0,0.1);padding:3px 10px}
.wc-tag.coming{color:var(--muted);background:rgba(122,114,103,0.12)}
.wc-date{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:0.06em}
.wc-title{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--paper);line-height:1.3}
.wc-excerpt{font-family:var(--sans);font-size:13px;font-weight:300;color:var(--muted);line-height:1.8}
.wc-read{font-family:var(--mono);font-size:11px;color:var(--red);display:flex;align-items:center;gap:6px;margin-top:auto}
.writing-card.featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;border-right:none}
.featured-left{padding:2.5rem;border-right:1px solid var(--ink3)}
.featured-right{padding:2.5rem;display:flex;flex-direction:column;justify-content:center}
.featured-label{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--red);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:1rem}
.featured-title{font-family:var(--serif);font-size:clamp(22px,3vw,32px);font-weight:700;color:var(--paper);line-height:1.25;margin-bottom:1rem}
.featured-excerpt{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--muted);line-height:1.75}

.building-section{padding:5rem 2.5rem;border-bottom:1px solid var(--ink3);background:var(--ink2)}
.building-inner{max-width:1000px;margin:0 auto}
.building-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--ink3);border:1px solid var(--ink3);margin-top:3rem}
.building-card{background:var(--ink2);padding:2rem;display:flex;flex-direction:column;gap:0.75rem;text-decoration:none;color:inherit;transition:background 0.2s}
.building-card:hover{background:var(--ink)}
.bc-status{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;display:flex;align-items:center;gap:6px}
.bc-status.live{color:#4ADE80}
.bc-status.live::before{content:'';width:6px;height:6px;border-radius:50%;background:#4ADE80}
.bc-status.building{color:var(--red)}
.bc-status.building::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--red)}
.bc-name{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--paper)}
.bc-desc{font-family:var(--sans);font-size:13px;font-weight:300;color:var(--muted);line-height:1.7}

/* Gallery — masonry photo grid */
.gallery-section{padding:5rem 2.5rem;border-bottom:1px solid var(--ink3);background:var(--ink)}
.gallery-inner{max-width:1000px;margin:0 auto}
.gallery-header{margin-bottom:3rem;border-bottom:1px solid var(--ink3);padding-bottom:1.25rem}
.gallery-tag{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--red);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:0.75rem}
.gallery-title{font-family:var(--serif);font-size:clamp(26px,3.5vw,40px);font-weight:700;color:var(--paper);line-height:1.15;margin-bottom:0.75rem}
.gallery-sub{font-family:var(--sans);font-size:14px;font-weight:300;color:var(--muted);line-height:1.8;max-width:560px}
.masonry{columns:3;gap:12px;column-fill:balance}
@media(max-width:600px){.masonry{columns:2}}
.masonry-item{break-inside:avoid;margin:0 0 12px;position:relative;overflow:hidden;cursor:pointer;background:var(--ink2)}
figure.masonry-item{padding:0}
.masonry-item img{width:100%;display:block;transition:transform 0.4s ease;filter:grayscale(20%)}
.masonry-item:hover img{transform:scale(1.04);filter:grayscale(0%)}
.masonry-caption{position:absolute;bottom:0;left:0;right:0;padding:1.25rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,0.85));opacity:0;transition:opacity 0.3s ease;display:flex;flex-direction:column;gap:3px;pointer-events:none}
.masonry-item:hover .masonry-caption{opacity:1}
.caption-name{font-family:var(--serif);font-size:15px;font-weight:700;color:#FFFFFF;line-height:1.2}
.caption-context{font-family:var(--mono);font-size:10px;color:rgba(255,255,255,0.65);letter-spacing:0.06em;text-transform:uppercase}
.placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted)}
.ph-label{font-family:var(--mono);font-size:10px;letter-spacing:0.08em;color:var(--muted)}
.gallery-note{margin-top:2rem;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.04em;border-left:2px solid var(--red);padding-left:1rem;font-style:italic}

.about-section{padding:5rem 2.5rem;border-bottom:1px solid var(--ink3)}
.about-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:5rem;align-items:start}
.about-initial{font-family:var(--serif);font-size:120px;font-weight:700;color:var(--ink3);line-height:1;margin-bottom:1rem}
.about-name{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--red);letter-spacing:0.08em}
.about-title{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.06em;margin-top:4px}
.about-intro{font-family:var(--serif);font-size:clamp(18px,2.5vw,24px);font-weight:400;font-style:italic;color:var(--paper);line-height:1.6;margin-bottom:2rem;border-left:2px solid var(--red);padding-left:1.5rem}
.about-body{font-family:var(--sans);font-size:15px;font-weight:300;color:var(--muted);line-height:1.9}
.about-body p{margin-bottom:1.25rem}
.about-body strong{color:var(--paper);font-weight:400}
.social-row{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}
.social-link{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--muted);text-decoration:none;letter-spacing:0.06em;border:1px solid var(--ink3);padding:8px 16px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all 0.2s}
.social-link:hover{color:var(--red);border-color:var(--red)}
.social-link i{font-size:16px}

footer.rtc-footer{padding:2.5rem;border-top:1px solid var(--ink3);background:var(--ink)}
.footer-inner{max-width:1000px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-logo{font-family:var(--mono);font-size:13px;color:var(--red);letter-spacing:0.06em}
.footer-meta{font-family:var(--mono);font-size:11px;color:var(--muted);display:flex;gap:2rem;flex-wrap:wrap;align-items:center}
.footer-meta a{color:var(--muted);text-decoration:none;cursor:pointer;letter-spacing:0.04em}
.footer-meta a:hover{color:var(--paper)}

/* Single post */
.rtc-post-wrap{padding:4rem 2.5rem 6rem;background:var(--ink)}
.rtc-post-inner{max-width:720px;margin:0 auto}
.rtc-post-eyebrow{font-family:var(--mono);font-size:11px;color:var(--red);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:12px}
.rtc-post-eyebrow::after{content:'';flex:1;height:1px;background:var(--ink3)}
.rtc-post-title{font-family:var(--serif);font-size:clamp(34px,4.5vw,56px);font-weight:700;color:var(--paper);line-height:1.1;margin-bottom:1.5rem;letter-spacing:-0.02em}
.rtc-post-deck{font-family:var(--serif);font-size:18px;font-style:italic;color:var(--paper);opacity:0.7;line-height:1.6;margin-bottom:2rem;border-left:2px solid var(--red);padding-left:1.25rem}
.rtc-byline{display:flex;align-items:center;gap:1rem;padding:1.25rem 0;border-top:1px solid var(--ink3);border-bottom:1px solid var(--ink3);margin-bottom:2.5rem}
.rtc-byline-photo{width:44px;height:44px;background:linear-gradient(135deg,var(--red) 0%,var(--ink) 100%);display:flex;align-items:center;justify-content:center;color:var(--paper);font-family:var(--serif);font-weight:700;font-size:20px;flex-shrink:0;text-decoration:none}
a.rtc-byline-photo:hover{filter:brightness(1.1)}
.rtc-byline-meta{display:flex;flex-direction:column;gap:2px}
.rtc-byline-name{font-family:var(--mono);font-size:12px;color:var(--paper);letter-spacing:0.04em;text-decoration:none;border-bottom:1px dotted var(--ink3)}
a.rtc-byline-name:hover{color:var(--red);border-bottom-color:var(--red)}
.rtc-byline-sub{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:0.04em}
.rtc-post-content{font-family:var(--serif);font-size:18px;line-height:1.85;color:var(--paper);opacity:0.92}
.rtc-post-content p{margin-bottom:1.5rem}
.rtc-post-content h2{font-family:var(--serif);font-size:28px;font-weight:700;color:var(--paper);margin:2.5rem 0 1rem;letter-spacing:-0.01em}
.rtc-post-content h3{font-family:var(--sans);font-size:17px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;color:var(--red);margin:2rem 0 0.75rem}
.rtc-post-content blockquote{font-style:italic;color:var(--paper);opacity:0.8;padding-left:1.25rem;border-left:2px solid var(--red);margin:1.5rem 0}
.rtc-post-content a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.rtc-post-content a:hover{color:var(--red3)}
.rtc-post-content ul,.rtc-post-content ol{margin:0 0 1.5rem 1.5rem}
.rtc-post-content li{margin-bottom:0.5rem}
.rtc-post-content strong{color:var(--paper);font-weight:700;opacity:1}
.rtc-bio-block{margin-top:3.5rem;padding:1.75rem;border:1px solid var(--ink3);background:var(--ink2);display:flex;gap:1.25rem;align-items:flex-start}
.rtc-bio-photo{width:60px;height:60px;background:linear-gradient(135deg,var(--red) 0%,var(--ink) 100%);display:flex;align-items:center;justify-content:center;color:var(--paper);font-family:var(--serif);font-weight:700;font-size:28px;flex-shrink:0}
.rtc-bio-text{font-family:var(--sans);font-size:13px;font-weight:300;color:var(--muted);line-height:1.75}
.rtc-bio-text strong{color:var(--paper);font-weight:400}

/* Static pages (Privacy, Terms, etc.) — paper-on-ink for readability */
.rtc-page-wrap{padding:4rem 2.5rem 6rem;background:var(--paper)}
.rtc-page-inner{max-width:720px;margin:0 auto;color:var(--ink)}
.rtc-page-eyebrow{font-family:var(--mono);font-size:11px;color:var(--red);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:12px}
.rtc-page-eyebrow::after{content:'';flex:1;height:1px;background:var(--paper3)}
.rtc-page-title{font-family:var(--serif);font-size:clamp(34px,4.5vw,52px);font-weight:700;color:var(--ink);line-height:1.1;margin-bottom:2.5rem;letter-spacing:-0.02em}
.rtc-page-content{font-family:var(--sans);font-size:15px;line-height:1.85;color:#3A3228}
.rtc-page-content h2{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--ink);margin:2.5rem 0 0.85rem;letter-spacing:-0.01em}
.rtc-page-content h2:first-child{margin-top:0}
.rtc-page-content h3{font-family:var(--sans);font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:0.06em;color:var(--red);margin:1.75rem 0 0.5rem}
.rtc-page-content p{margin-bottom:1.1rem}
.rtc-page-content p strong{color:var(--ink);font-weight:500}
.rtc-page-content ul,.rtc-page-content ol{margin:0.5rem 0 1.25rem 1.5rem}
.rtc-page-content li{margin-bottom:0.4rem}
.rtc-page-content a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.rtc-page-content a:hover{color:var(--red2)}

/* Tools */
.rtc-tool-banner{padding:4rem 2.5rem 3rem;background:var(--ink);border-bottom:1px solid var(--ink3)}
.rtc-tool-banner .section-inner{position:relative;max-width:1000px}
.rtc-tool-banner h1{font-family:var(--serif);font-size:clamp(34px,4.5vw,52px);font-weight:700;color:var(--paper);line-height:1.1;letter-spacing:-0.02em;margin-bottom:0.85rem}
.rtc-tool-banner .page-lead{font-size:15px;color:var(--muted);max-width:620px;line-height:1.7;font-weight:300}
.rtc-tool-section{padding:3rem 2.5rem 5rem;background:var(--ink);border-bottom:1px solid var(--ink3)}
.rtc-tool-inner{max-width:1000px;margin:0 auto}
.rtc-tool-description{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--muted);line-height:1.75;margin-bottom:2rem;border-left:2px solid var(--red);padding-left:1.25rem;max-width:720px}
.rtc-tool-description p{margin-bottom:0.9rem}
.rtc-tool-description p:last-child{margin-bottom:0}

/* Editorial content below the tool widget: methodology, how-to, FAQ */
.rtc-tool-extended{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--ink3);max-width:780px;font-family:var(--serif);color:var(--paper);font-size:17px;line-height:1.75}
.rtc-tool-extended p{margin-bottom:1.25rem;opacity:0.92}
.rtc-tool-extended h2{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--paper);margin:2.25rem 0 0.85rem;letter-spacing:-0.01em}
.rtc-tool-extended h2:first-child{margin-top:0}
.rtc-tool-extended h3{font-family:var(--sans);font-size:16px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--red);margin:1.5rem 0 0.5rem}
.rtc-tool-extended ol{margin:0 0 1.5rem 1.25rem;padding-left:0.5rem}
.rtc-tool-extended ol li{margin-bottom:0.65rem;opacity:0.92}
.rtc-tool-extended ul{margin:0 0 1.5rem 1.25rem;padding-left:0.5rem;list-style:disc}
.rtc-tool-extended ul li{margin-bottom:0.5rem;opacity:0.92}
.rtc-tool-extended .rtc-faq-item{padding:1.25rem 0;border-bottom:1px solid var(--ink3)}
.rtc-tool-extended .rtc-faq-item:last-child{border-bottom:none}
.rtc-tool-extended .rtc-faq-q{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--paper);margin-bottom:0.5rem;letter-spacing:0;text-transform:none}
.rtc-tool-extended .rtc-faq-a{font-family:var(--serif);font-size:16px;color:var(--paper);opacity:0.88;line-height:1.7}

/* SEO ROI calculator — tool-specific */
.rtc-seo-green{color:#4ADE80}
.rtc-seo-red{color:var(--red)}
.rtc-seo-muted{color:var(--muted);opacity:0.6}
.rtc-tool-seo-roi .rtc-tool-metric-card:first-child{background:var(--ink);border:1px solid var(--red)}
.rtc-tool-seo-roi .rtc-tool-metric-card:first-child .rtc-tool-metric-value{color:var(--paper)}
.rtc-seo-timeline{border:1px solid var(--ink3);margin:1.5rem 0;background:var(--ink2)}
.rtc-seo-timeline-head{padding:10px 14px;background:var(--ink);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink3)}
.rtc-seo-timeline-title{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase}
.rtc-seo-timeline-period{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--red);letter-spacing:0.04em}
.rtc-seo-timeline-body{padding:1.5rem 1.25rem 0.5rem;position:relative}
.rtc-seo-timeline-track{position:relative;height:48px;margin-bottom:0.5rem}
.rtc-seo-bar{position:absolute;height:48px;display:flex;align-items:center;padding:0 10px;transition:width 0.4s ease;top:0}
.rtc-seo-bar-cost{background:rgba(204,0,0,0.12);border:1px solid rgba(204,0,0,0.35)}
.rtc-seo-bar-ramp{background:rgba(245,158,11,0.10);border:1px solid rgba(245,158,11,0.35)}
.rtc-seo-bar-profit{background:rgba(74,222,128,0.10);border:1px solid rgba(74,222,128,0.35)}
.rtc-seo-bar-label{font-family:var(--mono);font-size:10px;font-weight:500;white-space:nowrap;letter-spacing:0.04em}
.rtc-seo-bar-cost .rtc-seo-bar-label{color:var(--red)}
.rtc-seo-bar-ramp .rtc-seo-bar-label{color:#F59E0B}
.rtc-seo-bar-profit .rtc-seo-bar-label{color:#4ADE80}
.rtc-seo-bar-marker{position:absolute;top:0;bottom:0;width:2px;background:var(--red);z-index:2}
.rtc-seo-bar-marker-label{position:absolute;top:-18px;transform:translateX(-50%);font-family:var(--mono);font-size:9px;font-weight:500;color:var(--red);white-space:nowrap;letter-spacing:0.04em}
.rtc-seo-timeline-axis{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--muted);padding-top:6px;border-top:1px solid var(--ink3)}
.rtc-seo-payback-row{background:rgba(204,0,0,0.08) !important;border-left:3px solid var(--red)}
.rtc-seo-payback-tag{font-family:var(--mono);font-size:9px;font-weight:500;background:var(--red);color:var(--paper);padding:2px 6px;margin-left:8px;letter-spacing:0.06em}
.rtc-seo-total-row{background:var(--ink) !important;font-weight:500}
.rtc-seo-cfo{border:1px solid var(--ink3);margin:1.5rem 0;background:var(--ink2)}
.rtc-seo-cfo-head{padding:10px 14px;border-bottom:1px solid var(--ink3);font-family:var(--mono);font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.rtc-seo-cfo-head i{color:var(--red);font-size:14px}
.rtc-seo-cfo-body{padding:1.25rem 1.5rem;font-family:var(--serif);font-size:15px;color:var(--paper);line-height:1.85;opacity:0.92}
.rtc-seo-cfo-body strong{color:var(--paper);font-weight:600;font-style:normal}
.rtc-seo-actions{margin-top:1rem}
.rtc-tool-back{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--ink3);font-family:var(--mono);font-size:12px;letter-spacing:0.04em}
.rtc-tool-back a{color:var(--muted);text-decoration:none;transition:color 0.2s}
.rtc-tool-back a:hover{color:var(--red)}

/* Post-level FAQ block (visible HTML mirrors FAQPage schema) */
.rtc-post-faq{margin:3rem 0 2rem;padding-top:2rem;border-top:1px solid var(--ink3);max-width:720px}
.rtc-post-faq-heading{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--paper);margin-bottom:1.5rem;letter-spacing:-0.01em}
.rtc-post-faq .rtc-faq-item{padding:1.25rem 0;border-bottom:1px solid var(--ink3)}
.rtc-post-faq .rtc-faq-item:last-child{border-bottom:none}
.rtc-post-faq .rtc-faq-q{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--paper);margin-bottom:0.5rem;line-height:1.45}
.rtc-post-faq .rtc-faq-a{font-family:var(--serif);font-size:16px;color:var(--paper);opacity:0.88;line-height:1.7}

/* Breadcrumbs */
.rtc-breadcrumbs{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.04em;padding:1rem 2.5rem 0;max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.rtc-breadcrumbs a{color:var(--muted);text-decoration:none;transition:color 0.2s}
.rtc-breadcrumbs a:hover{color:var(--red)}
.rtc-breadcrumbs span[aria-hidden="true"]{opacity:0.5}
.rtc-breadcrumbs-current{color:var(--paper);opacity:0.85}
.rtc-breadcrumbs-on-banner{padding:0 0 1rem;margin:0;color:var(--muted)}
.rtc-breadcrumbs-on-banner a{color:var(--muted)}
.rtc-breadcrumbs-on-archive{padding:1rem 0 1.5rem;max-width:none;margin:0}

/* Related reading on tool pages */
.rtc-tool-related{margin-top:4rem;padding-top:2.5rem;border-top:1px solid var(--ink3)}
.rtc-tool-related-heading{font-family:var(--mono);font-size:11px;color:var(--red);letter-spacing:0.16em;text-transform:uppercase;margin-bottom:1.5rem;font-weight:500}
.rtc-tool-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}
.rtc-tool-related-card{display:flex;flex-direction:column;gap:0.5rem;padding:1.5rem;border:1px solid var(--ink3);text-decoration:none;background:var(--ink2);transition:border-color 0.2s,transform 0.2s}
.rtc-tool-related-card:hover{border-color:var(--red);transform:translateY(-2px)}
.rtc-tool-related-eyebrow{font-family:var(--mono);font-size:10px;color:var(--red);letter-spacing:0.12em;text-transform:uppercase}
.rtc-tool-related-title{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--paper);line-height:1.25}
.rtc-tool-related-deck{font-family:var(--serif);font-size:14px;color:var(--muted);line-height:1.55;font-style:italic}
.rtc-tool-related-cta{font-family:var(--mono);font-size:11px;color:var(--red);letter-spacing:0.08em;margin-top:0.5rem}

/* Try the tools (on single blog posts) */
.rtc-post-cta{margin:3rem 0 2rem;padding:1.5rem 1.75rem;background:var(--ink2);border:1px solid var(--ink3);border-left:3px solid var(--red);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}
.rtc-post-cta-text{font-family:var(--serif);font-size:15px;color:var(--paper);line-height:1.55;flex:1;min-width:240px}
.rtc-post-cta-text strong{color:var(--red);font-weight:600}
.rtc-post-cta-link{font-family:var(--mono);font-size:11px;color:var(--paper);letter-spacing:0.08em;text-decoration:none;text-transform:uppercase;padding:10px 16px;border:1px solid var(--paper);transition:all 0.2s;white-space:nowrap}
.rtc-post-cta-link:hover{background:var(--red);border-color:var(--red);color:var(--paper)}

/* Tool widget — inherits site theme (dark mode and light mode) */
.rtc-tool{padding:0;font-family:var(--sans)}
.rtc-tool-controls{display:flex;align-items:center;gap:0.6rem;margin-bottom:1.25rem;flex-wrap:wrap}
.rtc-tool-control-label{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.06em;text-transform:uppercase;margin-right:0.25rem}
.rtc-tool-sep{font-family:var(--mono);font-size:12px;padding:6px 14px;border:1px solid var(--ink3);background:transparent;color:var(--muted);cursor:pointer;letter-spacing:0.04em;transition:all 0.15s;border-radius:2px}
.rtc-tool-sep:hover:not(.active){border-color:var(--red);color:var(--red)}
.rtc-tool-sep.active{background:var(--red);border-color:var(--red);color:#FFFFFF}
.rtc-tool-toast{display:none;font-family:var(--mono);font-size:11px;color:var(--red);font-weight:500;letter-spacing:0.04em;margin-left:0.5rem}

.rtc-tool-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:1.25rem}
.rtc-tool-list-col{display:flex;flex-direction:column;gap:6px}
.rtc-tool-list-label{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0.06em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:baseline}
.rtc-tool-list-count{font-family:var(--mono);font-size:10px;color:var(--muted);opacity:0.7;letter-spacing:0.02em;text-transform:none}
.rtc-tool textarea{width:100%;height:120px;padding:10px 12px;border:1px solid var(--ink3);background:var(--ink2);color:var(--paper);font-family:var(--mono);font-size:13px;resize:vertical;line-height:1.6;transition:border-color 0.15s;border-radius:2px}
.rtc-tool textarea:focus{outline:none;border-color:var(--red)}
.rtc-tool textarea::placeholder{color:var(--muted);opacity:0.55;font-family:var(--sans)}

.rtc-tool-actions{display:flex;align-items:center;gap:10px;margin-bottom:1.5rem;flex-wrap:wrap}
.rtc-tool-primary{padding:10px 24px;background:var(--red);color:#FFFFFF;border:none;font-family:var(--mono);font-size:12px;font-weight:500;cursor:pointer;letter-spacing:0.06em;text-transform:uppercase;border-radius:2px;transition:background 0.15s}
.rtc-tool-primary:hover{background:var(--red2)}
.rtc-tool-secondary{padding:10px 18px;background:transparent;color:var(--muted);border:1px solid var(--ink3);font-family:var(--mono);font-size:12px;cursor:pointer;letter-spacing:0.04em;display:flex;align-items:center;gap:6px;border-radius:2px;transition:all 0.15s}
.rtc-tool-secondary:hover{border-color:var(--red);color:var(--red)}
.rtc-tool-secondary i{font-size:15px}
.rtc-tool-ghost{padding:10px 18px;background:transparent;color:var(--muted);border:1px solid transparent;font-family:var(--mono);font-size:12px;cursor:pointer;letter-spacing:0.04em;transition:color 0.15s}
.rtc-tool-ghost:hover{color:var(--paper)}

.rtc-tool-results{border:1px solid var(--ink3);background:var(--ink2);overflow:hidden;border-radius:2px}
.rtc-tool-results-header{padding:12px 16px;border-bottom:1px solid var(--ink3);display:flex;align-items:center;justify-content:space-between;background:var(--ink)}
.rtc-tool-results-count{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--muted);letter-spacing:0.04em}
.rtc-tool-results-count span{color:var(--red);font-weight:500}
.rtc-tool-results-actions{display:flex;gap:8px}
.rtc-tool-icon-btn{font-family:var(--mono);font-size:11px;padding:6px 12px;border:1px solid var(--ink3);background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:5px;letter-spacing:0.04em;border-radius:2px;transition:all 0.15s}
.rtc-tool-icon-btn:hover{border-color:var(--red);color:var(--red)}
.rtc-tool-icon-btn i{font-size:13px}
.rtc-tool-results-body{padding:14px 16px;max-height:320px;overflow-y:auto}
.rtc-tool-results-empty{text-align:center;padding:2.5rem 1rem;color:var(--muted);font-size:13px;font-family:var(--mono);letter-spacing:0.02em}
.rtc-tool-results-empty i{font-size:30px;display:block;margin-bottom:8px;color:var(--ink3);opacity:0.8}
.rtc-tool-results-overflow{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:12px;letter-spacing:0.02em;opacity:0.7}
.rtc-tool-chip{display:inline-block;font-family:var(--mono);font-size:12px;background:var(--ink3);border:1px solid var(--ink3);padding:4px 10px;margin:3px 4px 3px 0;color:var(--paper);border-radius:2px}

/* Shared calculator-style primitives (used by CAC calc and similar tools) */
.rtc-tool-section-label{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0.1em;text-transform:uppercase;margin:1.5rem 0 0.85rem;padding-bottom:8px;border-bottom:1px solid var(--ink3)}
.rtc-tool-section-label:first-child{margin-top:0}
.rtc-tool-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:1.5rem}
.rtc-tool-input-group{display:flex;flex-direction:column;gap:6px}
.rtc-tool-input-label{font-family:var(--sans);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.rtc-tool-input-hint{font-family:var(--mono);font-size:10px;color:var(--muted);opacity:0.7;letter-spacing:0.02em}
.rtc-tool-input-wrap{display:flex;align-items:center;border:1px solid var(--ink3);background:var(--ink2);overflow:hidden;transition:border-color 0.15s;border-radius:2px}
.rtc-tool-input-wrap:focus-within{border-color:var(--red)}
.rtc-tool-input-prefix,.rtc-tool-input-suffix{padding:0 10px;font-family:var(--mono);font-size:12px;color:var(--muted);background:var(--ink);height:38px;display:flex;align-items:center;white-space:nowrap}
.rtc-tool-input-prefix{border-right:1px solid var(--ink3)}
.rtc-tool-input-suffix{border-left:1px solid var(--ink3)}
.rtc-tool-input-wrap input{border:none;background:transparent;padding:0 10px;font-family:var(--sans);font-size:14px;color:var(--paper);width:100%;height:38px;outline:none}
.rtc-tool-input-wrap input::-webkit-outer-spin-button,
.rtc-tool-input-wrap input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rtc-tool-input-wrap input[type=number]{-moz-appearance:textfield}

.rtc-tool-divider{border:none;border-top:1px solid var(--ink3);margin:1.5rem 0}

.rtc-tool-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:1.25rem}
.rtc-tool-metric-card{background:var(--ink2);border:1px solid var(--ink3);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:4px;border-radius:2px}
.rtc-tool-metric-label{font-family:var(--sans);font-size:12px;color:var(--muted)}
.rtc-tool-metric-value{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--paper);line-height:1.15}
.rtc-tool-metric-highlight{color:var(--red)}
.rtc-tool-metric-sub{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:0.02em;opacity:0.75}

.rtc-tool-verdict{padding:1.25rem;border:1px solid var(--ink3);background:var(--ink2);display:flex;gap:14px;align-items:flex-start;margin-bottom:1.25rem;border-radius:2px}
.rtc-tool-verdict.good{border-color:#4ADE80;background:rgba(74,222,128,0.08)}
.rtc-tool-verdict.warn{border-color:#F59E0B;background:rgba(245,158,11,0.08)}
.rtc-tool-verdict.bad{border-color:var(--red);background:rgba(204,0,0,0.10)}
.rtc-tool-verdict-icon{font-size:22px;flex-shrink:0;margin-top:2px;color:var(--paper)}
.rtc-tool-verdict.good .rtc-tool-verdict-icon{color:#4ADE80}
.rtc-tool-verdict.warn .rtc-tool-verdict-icon{color:#F59E0B}
.rtc-tool-verdict.bad .rtc-tool-verdict-icon{color:var(--red)}
.rtc-tool-verdict-title{font-family:var(--serif);font-size:16px;font-weight:700;color:var(--paper);margin-bottom:4px}
.rtc-tool-verdict-body{font-family:var(--sans);font-size:13px;color:var(--muted);line-height:1.65;font-weight:300}

.rtc-tool-breakdown{border:1px solid var(--ink3);background:var(--ink2);overflow:hidden;margin-bottom:1.25rem;border-radius:2px}
.rtc-tool-breakdown-header{padding:10px 14px;background:var(--ink);font-family:var(--mono);font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase;border-bottom:1px solid var(--ink3)}
.rtc-tool-breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--ink3);font-family:var(--sans);font-size:13px;color:var(--muted)}
.rtc-tool-breakdown-row:last-child{border-bottom:none}
.rtc-tool-breakdown-row.total{font-weight:500;background:var(--ink)}
.rtc-tool-breakdown-row.total .rtc-tool-breakdown-key{color:var(--paper)}
.rtc-tool-breakdown-val{color:var(--paper);font-family:var(--mono);font-size:12px}
.rtc-tool-breakdown-val-red{color:var(--red);font-weight:500}

.rtc-tool-bench{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:1rem}
.rtc-tool-bench-card{background:var(--ink2);border:1px solid var(--ink3);padding:12px 14px;border-radius:2px}
.rtc-tool-bench-label{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:0.04em;margin-bottom:4px;text-transform:uppercase}
.rtc-tool-bench-val{font-family:var(--serif);font-size:15px;font-weight:600;color:var(--paper)}

/* Helper text for tools */
.rtc-tool-helper-text{font-family:var(--sans);font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:0.75rem;font-weight:300}

/* Journey builder (attribution tool, funnel tools) */
.rtc-tool-journey{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px;border:1px solid var(--ink3);background:var(--ink2);min-height:60px;border-radius:2px}
.rtc-tool-journey-empty{font-family:var(--mono);font-size:12px;color:var(--muted);opacity:0.7;letter-spacing:0.02em}
.rtc-tool-journey-chip{font-family:var(--mono);font-size:12px;padding:6px 10px;background:var(--ink);border:1px solid var(--ink3);color:var(--paper);display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border-radius:2px;letter-spacing:0.02em}
.rtc-tool-journey-remove{cursor:pointer;color:var(--muted);display:inline-flex;align-items:center;line-height:1;transition:color 0.15s}
.rtc-tool-journey-remove:hover{color:var(--red)}
.rtc-tool-journey-remove i{font-size:13px}
.rtc-tool-journey-arrow{color:var(--muted);font-size:14px;opacity:0.6}
.rtc-tool-journey-add{display:flex;gap:8px;margin:10px 0 1.5rem;flex-wrap:wrap}
.rtc-tool-channel-btn{font-family:var(--mono);font-size:12px;padding:6px 12px;border:1px solid var(--ink3);background:transparent;color:var(--muted);cursor:pointer;letter-spacing:0.02em;transition:all 0.15s;border-radius:2px}
.rtc-tool-channel-btn:hover{border-color:var(--red);color:var(--red)}

/* Grid-style table (used by attribution tool, budget allocator, and others).
   Each tool sets its own --grid-cols via inline style or modifier class. */
.rtc-tool-grid-table{--grid-cols:1.6fr 1fr 1fr 1fr;width:100%;border:1px solid var(--ink3);background:var(--ink2);overflow:hidden;margin-bottom:1.5rem;border-radius:2px}
.rtc-tool-grid-head{display:grid;grid-template-columns:var(--grid-cols);background:var(--ink);border-bottom:1px solid var(--ink3)}
.rtc-tool-grid-head > div{padding:10px 12px;font-family:var(--mono);font-size:10px;font-weight:500;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase}
.rtc-tool-grid-row{display:grid;grid-template-columns:var(--grid-cols);border-bottom:1px solid var(--ink3)}
.rtc-tool-grid-row:last-child{border-bottom:none}
.rtc-tool-grid-row.total{background:var(--ink);font-weight:500}
.rtc-tool-grid-cell{padding:10px 12px;font-family:var(--sans);font-size:13px;color:var(--paper);display:flex;align-items:center;gap:8px}
.rtc-tool-grid-cell.label,.rtc-tool-grid-cell.ch{font-weight:500;color:var(--paper)}
.rtc-tool-grid-cell.editable{border-left:1px solid var(--ink3)}
.rtc-tool-grid-cell input{border:none;background:transparent;font-family:var(--sans);font-size:13px;color:var(--paper);width:100%;outline:none;padding:0;min-width:40px}
.rtc-tool-grid-cell input::-webkit-outer-spin-button,
.rtc-tool-grid-cell input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rtc-tool-grid-cell input[type=number]{-moz-appearance:textfield}
.rtc-tool-prefix{color:var(--muted);font-size:12px;font-family:var(--mono);margin-right:2px}
.rtc-tool-grid-highlight{color:var(--red);font-weight:500}

/* Legacy alias: 5-col attribution variant */
.rtc-tool-results-grid{--grid-cols:1.4fr 1fr 1fr 1fr 1fr}
.rtc-tool-results-head{background:var(--ink)}

/* Channel icon used inside table rows */
.rtc-tool-ch-icon{color:var(--muted);font-size:15px;flex-shrink:0;opacity:0.85}

/* Segmented tab control (goal tabs, model tabs) */
.rtc-tool-tabs{display:flex;gap:0;margin-bottom:1.5rem;border:1px solid var(--ink3);overflow:hidden;border-radius:2px}
.rtc-tool-tab{flex:1;padding:10px 8px;font-family:var(--mono);font-size:12px;color:var(--muted);background:var(--ink2);border:none;cursor:pointer;letter-spacing:0.04em;transition:all 0.15s;border-right:1px solid var(--ink3);text-align:center;line-height:1.3}
.rtc-tool-tab:last-child{border-right:none}
.rtc-tool-tab.active{background:var(--red);color:#FFFFFF;font-weight:500}
.rtc-tool-tab:hover:not(.active){background:var(--ink3);color:var(--paper)}

/* Toggle switch */
.rtc-tool-toggle{width:32px;height:18px;background:var(--ink3);border:none;cursor:pointer;position:relative;transition:background 0.2s;flex-shrink:0;border-radius:9px;padding:0}
.rtc-tool-toggle.on{background:var(--red)}
.rtc-tool-toggle::after{content:'';position:absolute;width:14px;height:14px;background:#FFFFFF;border-radius:50%;top:2px;left:2px;transition:left 0.2s}
.rtc-tool-toggle.on::after{left:16px}

/* Inline warning box */
.rtc-tool-warning{border:1px solid #F59E0B;background:rgba(245,158,11,0.08);padding:10px 14px;font-family:var(--sans);font-size:13px;color:#F59E0B;display:flex;align-items:center;gap:10px;margin-bottom:1.25rem;border-radius:2px}
.rtc-tool-warning i{font-size:16px;flex-shrink:0}

/* Select dropdown inside input-wrap */
.rtc-tool-input-wrap select{border:none;background:transparent;padding:0 10px;font-family:var(--sans);font-size:13px;color:var(--paper);width:100%;height:38px;outline:none;cursor:pointer;appearance:none;-webkit-appearance:none}

/* Plain text input (no prefix/suffix wrapper) */
.rtc-tool-text-input{padding:0 12px;height:38px;border:1px solid var(--ink3);background:var(--ink2);font-family:var(--sans);font-size:13px;color:var(--paper);outline:none;transition:border-color 0.15s;border-radius:2px;min-width:200px;flex:1}
.rtc-tool-text-input:focus{border-color:var(--red)}
.rtc-tool-text-input::placeholder{color:var(--muted);opacity:0.55}

/* Add row (text inputs + action buttons inline) */
.rtc-tool-add-row{display:flex;gap:8px;margin-bottom:1.25rem;flex-wrap:wrap;align-items:center}
.rtc-tool-add-row .rtc-tool-primary,
.rtc-tool-add-row .rtc-tool-secondary{height:38px;padding:0 18px}

/* Filter chip row */
.rtc-tool-filter-row{display:flex;gap:8px;margin-bottom:1rem;flex-wrap:wrap;align-items:center}
.rtc-tool-filter-label{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:0.06em;text-transform:uppercase;margin-right:4px}
.rtc-tool-filter-btn{font-family:var(--mono);font-size:11px;padding:5px 12px;border:1px solid var(--ink3);background:transparent;color:var(--muted);cursor:pointer;letter-spacing:0.04em;transition:all 0.15s;border-radius:2px}
.rtc-tool-filter-btn:hover:not(.active){border-color:var(--red);color:var(--red)}
.rtc-tool-filter-btn.active{background:var(--paper);color:var(--ink);border-color:var(--paper);font-weight:500}

/* Action badges (keep / update / consolidate / cut) */
.rtc-tool-action-badge{font-family:var(--mono);font-size:10px;font-weight:500;padding:3px 8px;letter-spacing:0.04em;white-space:nowrap;border-radius:2px;text-transform:uppercase}
.rtc-tool-action-badge.keep       {background:rgba(74,222,128,0.14); color:#4ADE80}
.rtc-tool-action-badge.update     {background:rgba(245,158,11,0.14); color:#F59E0B}
.rtc-tool-action-badge.consolidate{background:rgba(96,165,250,0.14); color:#60A5FA}
.rtc-tool-action-badge.cut        {background:rgba(204,0,0,0.16);   color:var(--red)}

/* Score chip (numeric score with high/mid/low color) */
.rtc-tool-score-chip{font-family:var(--mono);font-size:11px;font-weight:500;min-width:30px;height:22px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:2px}
.rtc-tool-score-chip.high{background:rgba(74,222,128,0.14); color:#4ADE80}
.rtc-tool-score-chip.mid {background:rgba(245,158,11,0.14); color:#F59E0B}
.rtc-tool-score-chip.low {background:rgba(204,0,0,0.16);   color:var(--red)}

/* Status card grid (4-up coloured breakdown) */
.rtc-tool-status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:1.5rem}
.rtc-tool-status-card{padding:1rem;display:flex;flex-direction:column;gap:6px;border-radius:2px;border:1px solid var(--ink3);background:var(--ink2)}
.rtc-tool-status-card.keep       {background:rgba(74,222,128,0.08); border-color:#4ADE80}
.rtc-tool-status-card.update     {background:rgba(245,158,11,0.08); border-color:#F59E0B}
.rtc-tool-status-card.consolidate{background:rgba(96,165,250,0.08); border-color:#60A5FA}
.rtc-tool-status-card.cut        {background:rgba(204,0,0,0.10);   border-color:var(--red)}
.rtc-tool-status-count{font-family:var(--serif);font-size:28px;font-weight:700;line-height:1;color:var(--paper)}
.rtc-tool-status-card.keep        .rtc-tool-status-count{color:#4ADE80}
.rtc-tool-status-card.update      .rtc-tool-status-count{color:#F59E0B}
.rtc-tool-status-card.consolidate .rtc-tool-status-count{color:#60A5FA}
.rtc-tool-status-card.cut         .rtc-tool-status-count{color:var(--red)}
.rtc-tool-status-label{font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:var(--paper)}
.rtc-tool-status-desc{font-family:var(--sans);font-size:12px;color:var(--muted);line-height:1.5;font-weight:300}

/* Empty state */
.rtc-tool-empty-state{padding:3rem 1rem;text-align:center;color:var(--muted);border:1px dashed var(--ink3);border-radius:2px;background:var(--ink2)}
.rtc-tool-empty-state i{font-size:36px;display:block;margin-bottom:10px;color:var(--ink3);opacity:0.8}
.rtc-tool-empty-state p{font-family:var(--sans);font-size:13px;line-height:1.7;color:var(--muted);font-weight:300}

/* Inline delete button (small X) */
.rtc-tool-icon-del{background:none;border:none;cursor:pointer;color:var(--muted);font-size:14px;padding:2px;display:inline-flex;align-items:center;transition:color 0.15s}
.rtc-tool-icon-del:hover{color:var(--red)}

/* Inline select inside grid cells */
.rtc-tool-grid-cell select{border:1px solid var(--ink3);background:var(--ink);font-family:var(--sans);font-size:11px;color:var(--paper);padding:4px 6px;outline:none;width:100%;border-radius:2px;cursor:pointer;appearance:none;-webkit-appearance:none}
.rtc-tool-grid-cell select:focus{border-color:var(--red)}

/* Large textarea for code/text input (robots.txt, large blocks of content) */
.rtc-tool-textarea-large{width:100%;height:200px;padding:12px;border:1px solid var(--ink3);background:var(--ink2);color:var(--paper);font-family:var(--mono);font-size:12px;resize:vertical;line-height:1.7;outline:none;margin-bottom:0.75rem;transition:border-color 0.15s;border-radius:2px}
.rtc-tool-textarea-large:focus{border-color:var(--red)}
.rtc-tool-textarea-large::placeholder{color:var(--muted);opacity:0.55}

/* Loading state with spinner */
.rtc-tool-loading-state{text-align:center;padding:2rem 1rem;color:var(--muted);font-family:var(--sans);font-size:13px;border:1px dashed var(--ink3);background:var(--ink2);border-radius:2px;margin-bottom:1.25rem}
.rtc-tool-loading-state i{font-size:24px;display:block;margin-bottom:8px;animation:rtc-tool-spin 1s linear infinite}
@keyframes rtc-tool-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* Generic list box (validation checks, test results, etc.) */
.rtc-tool-list-box{border:1px solid var(--ink3);background:var(--ink2);overflow:hidden;margin-bottom:1.5rem;border-radius:2px}
.rtc-tool-list-box-header{padding:10px 14px;background:var(--ink);border-bottom:1px solid var(--ink3);font-family:var(--mono);font-size:11px;font-weight:500;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
.rtc-tool-list-item{display:flex;gap:12px;align-items:flex-start;padding:11px 14px;border-bottom:1px solid var(--ink3);font-family:var(--sans);font-size:13px}
.rtc-tool-list-item:last-child{border-bottom:none}
.rtc-tool-list-icon{font-size:16px;flex-shrink:0;margin-top:1px}
.rtc-tool-list-icon.error  {color:var(--red)}
.rtc-tool-list-icon.warning{color:#F59E0B}
.rtc-tool-list-icon.pass   {color:#4ADE80}
.rtc-tool-list-icon.info   {color:#60A5FA}
.rtc-tool-list-title{font-weight:500;color:var(--paper);margin-bottom:2px}
.rtc-tool-list-desc{color:var(--muted);line-height:1.55;font-size:12.5px;font-weight:300}

/* Count badges (error/warn/pass with count) */
.rtc-tool-count-badge{font-family:var(--mono);font-size:10px;font-weight:500;padding:3px 10px;letter-spacing:0.04em;border-radius:2px;text-transform:uppercase}
.rtc-tool-count-badge.error{background:rgba(204,0,0,0.16);color:var(--red)}
.rtc-tool-count-badge.warn {background:rgba(245,158,11,0.16);color:#F59E0B}
.rtc-tool-count-badge.pass {background:rgba(74,222,128,0.14);color:#4ADE80}

/* Agent card grid (robots.txt user-agent groups) */
.rtc-tool-agents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:1.5rem}
.rtc-tool-agent-card{border:1px solid var(--ink3);background:var(--ink2);overflow:hidden;border-radius:2px}
.rtc-tool-agent-header{padding:9px 12px;background:var(--ink);font-family:var(--sans);font-size:12px;font-weight:500;color:var(--paper);border-bottom:1px solid var(--ink3);display:flex;align-items:center;gap:8px}
.rtc-tool-agent-header i{color:var(--red);font-size:14px}
.rtc-tool-agent-body{padding:8px 12px}
.rtc-tool-directive{font-family:var(--mono);font-size:11px;padding:4px 0;color:var(--muted);border-bottom:1px solid var(--ink3);display:flex;gap:8px}
.rtc-tool-directive:last-child{border-bottom:none}
.rtc-tool-directive-type{font-weight:500;min-width:80px}
.rtc-tool-directive-type.allow   {color:#4ADE80}
.rtc-tool-directive-type.disallow{color:var(--red)}
.rtc-tool-directive-type.crawl   {color:#60A5FA}

/* Pass/fail test result */
.rtc-tool-test-result{padding:12px 14px;font-family:var(--sans);font-size:13px;display:flex;align-items:flex-start;gap:10px;line-height:1.55;border-radius:2px}
.rtc-tool-test-result i{font-size:18px;flex-shrink:0;margin-top:2px}
.rtc-tool-test-result strong{font-weight:500}
.rtc-tool-test-result code{font-family:var(--mono);font-size:12px;background:rgba(255,255,255,0.06);padding:1px 6px;border-radius:2px}
.rtc-tool-test-result.allowed{background:rgba(74,222,128,0.10);color:var(--paper);border:1px solid #4ADE80}
.rtc-tool-test-result.allowed i{color:#4ADE80}
.rtc-tool-test-result.blocked{background:rgba(204,0,0,0.12);color:var(--paper);border:1px solid var(--red)}
.rtc-tool-test-result.blocked i{color:var(--red)}

/* Raw code block */
.rtc-tool-raw-box{background:var(--ink2);border:1px solid var(--ink3);padding:14px;font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.8;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;border-radius:2px;margin-bottom:1.5rem}

/* Full-Funnel Conversion Calculator (tool-specific scope) */
.rtc-funnel-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}
@media (max-width:880px){.rtc-funnel-wrap{grid-template-columns:1fr}}

.rtc-funnel-stage-card{border:1px solid var(--ink3);background:var(--ink2);overflow:hidden;transition:border-color 0.15s;border-radius:2px}
.rtc-funnel-stage-card:focus-within{border-color:var(--red)}
.rtc-funnel-stage-card.leverage{border-color:var(--red);box-shadow:0 0 0 2px rgba(204,0,0,0.10)}
.rtc-funnel-stage-header{padding:8px 12px;background:var(--ink);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink3)}
.rtc-funnel-stage-name{font-family:var(--sans);font-size:12px;font-weight:500;color:var(--paper);display:flex;align-items:center;gap:6px}
.rtc-funnel-stage-name i{color:var(--red);font-size:14px}
.rtc-funnel-leverage-badge{font-family:var(--mono);font-size:9px;font-weight:500;background:var(--red);color:#FFFFFF;padding:3px 9px;letter-spacing:0.06em;text-transform:uppercase;border-radius:2px}
.rtc-funnel-stage-body{padding:10px 12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rtc-funnel-stage-input-label,.rtc-funnel-stage-output-label{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:0.04em;text-transform:uppercase;margin-bottom:4px}
.rtc-funnel-stage-output-value{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--paper);line-height:1.1}
.rtc-funnel-stage-output-sub{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:3px;letter-spacing:0.02em}
.rtc-funnel-connector{display:flex;justify-content:center;align-items:center;height:18px;color:var(--muted);font-size:14px;opacity:0.6}

.rtc-funnel-bar-row{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}
.rtc-funnel-bar-label{font-family:var(--mono);font-size:10px;color:var(--muted);display:flex;justify-content:space-between;letter-spacing:0.02em}
.rtc-funnel-bar-track{height:22px;background:var(--ink2);overflow:hidden;position:relative;border-radius:1px}
.rtc-funnel-bar-fill{height:100%;transition:width 0.5s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:8px}
.rtc-funnel-bar-fill span{font-family:var(--mono);font-size:9px;font-weight:500;color:#FFFFFF;white-space:nowrap;letter-spacing:0.02em}
.rtc-funnel-bar-s0{background:var(--red)}
.rtc-funnel-bar-s1{background:#B82020}
.rtc-funnel-bar-s2{background:#9B1818}
.rtc-funnel-bar-s3{background:#7B1313}
.rtc-funnel-bar-s4{background:#5B0E0E}
.rtc-funnel-bar-s5{background:#3F0A0A}
.rtc-funnel-bar-s6{background:#280606}
.rtc-funnel-drop{font-family:var(--mono);font-size:10px;color:var(--muted);text-align:right;letter-spacing:0.02em}
.rtc-funnel-drop.high{color:var(--red)}

.rtc-funnel-leverage-item{padding:14px;border-bottom:1px solid var(--ink3);display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:flex-start}
.rtc-funnel-leverage-item:last-child{border-bottom:none}
.rtc-funnel-leverage-rank{width:28px;height:28px;border-radius:50%;background:var(--red);color:#FFFFFF;font-family:var(--mono);font-size:12px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.rtc-funnel-leverage-rank.two{background:#7A7267}
.rtc-funnel-leverage-rank.three{background:#5A5248}
.rtc-funnel-leverage-stage{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--paper);margin-bottom:4px}
.rtc-funnel-leverage-desc{font-family:var(--sans);font-size:12.5px;color:var(--muted);line-height:1.6;font-weight:300}
.rtc-funnel-leverage-desc strong{color:var(--paper);font-weight:500}
.rtc-funnel-leverage-impact{text-align:right;flex-shrink:0}
.rtc-funnel-leverage-impact-num{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--red);line-height:1}
.rtc-funnel-leverage-impact-label{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:3px;letter-spacing:0.02em}

.rtc-scenario-grid{display:grid;gap:10px;margin-bottom:1.5rem}
.rtc-funnel-scenario-card{border:1px solid var(--ink3);background:var(--ink2);padding:14px;cursor:default;transition:border-color 0.15s;border-radius:2px}
.rtc-funnel-scenario-card.active{border-color:var(--red);background:rgba(204,0,0,0.05)}
.rtc-funnel-scenario-name{font-family:var(--sans);font-size:12px;font-weight:500;color:var(--paper);margin-bottom:4px}
.rtc-funnel-scenario-desc{font-family:var(--sans);font-size:11px;color:var(--muted);line-height:1.5;margin-bottom:8px;font-weight:300}
.rtc-funnel-scenario-delta{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--red);letter-spacing:0.02em}

/* GEO Readiness Checker (tool-specific scope) */
.rtc-geo-intro{font-family:var(--sans);font-size:13px;color:var(--muted);line-height:1.7;max-width:680px;margin-bottom:1.5rem;padding:12px 16px;border-left:3px solid var(--red);background:var(--ink2);border-radius:0 2px 2px 0}
.rtc-geo-progress{height:4px;background:var(--ink2);overflow:hidden;border-radius:2px;margin-bottom:1.5rem}
.rtc-geo-progress-fill{height:100%;background:var(--red);width:0;transition:width 0.4s ease}

.rtc-geo-cat-tabs{display:flex;gap:0;margin-bottom:1.5rem;border:1px solid var(--ink3);overflow:hidden;flex-wrap:wrap;border-radius:2px}
.rtc-geo-cat-tab{flex:1;min-width:120px;padding:9px 8px;font-family:var(--mono);font-size:11px;color:var(--muted);background:var(--ink2);border:none;cursor:pointer;letter-spacing:0.02em;transition:all 0.15s;border-right:1px solid var(--ink3);text-align:center;line-height:1.3;display:flex;flex-direction:column;align-items:center;gap:4px}
.rtc-geo-cat-tab:last-child{border-right:none}
.rtc-geo-cat-tab.active{background:var(--paper);color:var(--ink);font-weight:500}
.rtc-geo-cat-tab:hover:not(.active){background:var(--ink3);color:var(--paper)}
.rtc-geo-tab-score{font-family:var(--mono);font-size:10px;font-weight:500;padding:1px 7px;background:var(--ink3);color:var(--muted);border-radius:2px}
.rtc-geo-cat-tab.active .rtc-geo-tab-score{background:var(--red);color:#FFFFFF}

.rtc-geo-questions-section{display:none}
.rtc-geo-questions-section.active{display:block}
.rtc-geo-cat-header{margin-bottom:1.25rem}
.rtc-geo-cat-title{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--paper);margin-bottom:6px}
.rtc-geo-cat-desc{font-family:var(--sans);font-size:13px;color:var(--muted);line-height:1.65;font-weight:300}

.rtc-geo-question-card{border:1px solid var(--ink3);padding:1.25rem;margin-bottom:10px;background:var(--ink2);transition:border-color 0.15s;border-radius:2px}
.rtc-geo-question-card.answered{border-color:#4ADE80}
.rtc-geo-q-text{font-family:var(--sans);font-size:13.5px;font-weight:500;color:var(--paper);margin-bottom:4px;line-height:1.5}
.rtc-geo-q-why{font-family:var(--sans);font-size:12px;color:var(--muted);margin-bottom:1rem;line-height:1.55;font-weight:300}
.rtc-geo-q-options{display:flex;flex-direction:column;gap:6px}
.rtc-geo-q-option{display:flex;align-items:flex-start;gap:10px;padding:9px 12px;border:1px solid var(--ink3);cursor:pointer;transition:all 0.15s;background:var(--ink);border-radius:2px}
.rtc-geo-q-option:hover{border-color:var(--red);background:rgba(204,0,0,0.03)}
.rtc-geo-q-option.selected{border-color:var(--red);background:rgba(204,0,0,0.06)}
.rtc-geo-q-option input[type=radio]{accent-color:var(--red);flex-shrink:0;margin-top:3px}
.rtc-geo-q-option-label{font-family:var(--sans);font-size:13px;color:var(--paper);line-height:1.4}
.rtc-geo-q-option-score{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:3px;letter-spacing:0.02em}

.rtc-geo-nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem;flex-wrap:wrap;gap:8px}
.rtc-geo-q-progress{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.02em}

.rtc-geo-score-hero{background:var(--ink);border:1px solid var(--ink3);padding:2rem;text-align:center;margin-bottom:1.5rem;border-radius:2px}
.rtc-geo-score-label{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:0.85rem}
.rtc-geo-score-number{font-family:var(--serif);font-size:84px;font-weight:700;line-height:1;margin-bottom:0.5rem;color:var(--paper)}
.rtc-geo-score-number.elite{color:#4ADE80}
.rtc-geo-score-number.strong{color:#86EFAC}
.rtc-geo-score-number.developing{color:#F59E0B}
.rtc-geo-score-number.early{color:var(--red)}
.rtc-geo-score-grade{font-family:var(--sans);font-size:18px;font-weight:500;margin-bottom:0.75rem;color:var(--paper)}
.rtc-geo-score-grade.elite{color:#4ADE80}
.rtc-geo-score-grade.strong{color:#86EFAC}
.rtc-geo-score-grade.developing{color:#F59E0B}
.rtc-geo-score-grade.early{color:var(--red)}
.rtc-geo-score-desc{font-family:var(--sans);font-size:14px;color:var(--muted);max-width:520px;margin:0 auto;line-height:1.7;font-weight:300}

.rtc-geo-cat-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:1.5rem}
.rtc-geo-csc-card{background:var(--ink2);border:1px solid var(--ink3);padding:1rem;display:flex;flex-direction:column;gap:6px;border-radius:2px}
.rtc-geo-csc-name{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em}
.rtc-geo-csc-score{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--paper);line-height:1.05}
.rtc-geo-csc-max-inline{font-family:var(--sans);font-size:13px;font-weight:400;color:var(--muted)}
.rtc-geo-csc-bar{height:4px;background:var(--ink);overflow:hidden;border-radius:1px}
.rtc-geo-csc-bar-fill{height:100%;transition:width 0.5s ease}
.rtc-geo-csc-bar-fill.high{background:#4ADE80}
.rtc-geo-csc-bar-fill.mid{background:#F59E0B}
.rtc-geo-csc-bar-fill.low{background:var(--red)}
.rtc-geo-csc-max{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:0.02em}

.rtc-geo-verdict{padding:1.25rem;margin-bottom:1.5rem;font-family:var(--sans);font-size:13.5px;line-height:1.7;color:var(--muted);border-radius:2px;border:1px solid var(--ink3);background:var(--ink2);font-weight:300}
.rtc-geo-verdict.elite     {background:rgba(74,222,128,0.08);border-color:#4ADE80}
.rtc-geo-verdict.strong    {background:rgba(96,165,250,0.08);border-color:#60A5FA}
.rtc-geo-verdict.developing{background:rgba(245,158,11,0.08);border-color:#F59E0B}
.rtc-geo-verdict.early     {background:rgba(204,0,0,0.10);border-color:var(--red)}
.rtc-geo-verdict-heading{font-family:var(--serif);font-size:16px;font-weight:700;color:var(--paper);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.rtc-geo-verdict-heading i{font-size:18px}
.rtc-geo-verdict-heading.elite     {color:#4ADE80}
.rtc-geo-verdict-heading.strong    {color:#60A5FA}
.rtc-geo-verdict-heading.developing{color:#F59E0B}
.rtc-geo-verdict-heading.early     {color:var(--red)}

.rtc-geo-nl-cta{background:var(--ink2);border:1px solid var(--ink3);padding:1.5rem;margin-bottom:1.5rem;text-align:center;border-radius:2px}
.rtc-geo-nl-title{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--paper);margin-bottom:6px}
.rtc-geo-nl-sub{font-family:var(--sans);font-size:13px;color:var(--muted);margin-bottom:1rem;line-height:1.65;font-weight:300;max-width:520px;margin-left:auto;margin-right:auto}
.rtc-geo-nl-form{display:flex;gap:0;max-width:420px;margin:0 auto}
.rtc-geo-nl-input{flex:1;padding:0 12px;border:1px solid var(--ink3);border-right:none;background:var(--ink);font-family:var(--sans);font-size:13px;color:var(--paper);height:40px;outline:none;border-radius:2px 0 0 2px}
.rtc-geo-nl-input:focus{border-color:var(--red)}
.rtc-geo-nl-input::placeholder{color:var(--muted);opacity:0.55}
.rtc-geo-nl-btn{padding:0 22px;background:var(--red);color:#FFFFFF;border:none;font-family:var(--mono);font-size:12px;font-weight:500;cursor:pointer;height:40px;letter-spacing:0.06em;text-transform:uppercase;border-radius:0 2px 2px 0;transition:background 0.15s}
.rtc-geo-nl-btn:hover{background:var(--red2)}
.rtc-geo-nl-success{font-family:var(--serif);font-style:italic;color:#4ADE80;font-size:14px;font-weight:500}
.rtc-geo-nl-error{font-family:var(--mono);font-size:11px;color:var(--red);margin-top:8px;letter-spacing:0.02em}

/* Marketing Channel Mix Modeller (tool-specific scope) */
.rtc-mix-target-hero{background:var(--ink);border:1px solid var(--ink3);padding:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.25rem;margin-bottom:1.5rem;border-radius:2px}
.rtc-mix-th-item{display:flex;flex-direction:column;gap:5px}
.rtc-mix-th-label{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase}
.rtc-mix-th-value{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--paper);line-height:1.05}
.rtc-mix-th-value.red{color:var(--red)}
.rtc-mix-th-sub{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:0.02em;opacity:0.75}

.rtc-mix-channel-card{border:1px solid var(--ink3);background:var(--ink2);overflow:hidden;margin-bottom:10px;transition:border-color 0.15s;border-radius:2px}
.rtc-mix-ch-header{padding:10px 14px;background:var(--ink);display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;border-bottom:1px solid var(--ink3)}
.rtc-mix-ch-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.rtc-mix-ch-name{border:none;background:transparent;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--paper);outline:none;width:100%}
.rtc-mix-ch-body{padding:12px 14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.rtc-mix-ch-input-group{display:flex;flex-direction:column;gap:4px}
.rtc-mix-ch-input-label{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:0.06em;text-transform:uppercase}
.rtc-mix-ch-output{display:flex;flex-direction:column;gap:3px}
.rtc-mix-ch-output-label{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:0.06em;text-transform:uppercase}
.rtc-mix-ch-output-value{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--paper);line-height:1.05}
.rtc-mix-ch-output-sub{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:0.02em}
.rtc-mix-ch-contrib{height:4px;background:var(--ink);margin:0 14px 12px;overflow:hidden;border-radius:1px}
.rtc-mix-ch-contrib-fill{height:100%;transition:width 0.4s ease}

.rtc-mix-gap-bar{background:var(--ink2);border:1px solid var(--ink3);padding:1.25rem;margin-bottom:1.5rem;border-radius:2px}
.rtc-mix-gap-label{font-family:var(--sans);font-size:12px;color:var(--muted);margin-bottom:10px;display:flex;justify-content:space-between;font-weight:500}
.rtc-mix-gap-track{height:30px;background:var(--ink);overflow:hidden;position:relative;border:1px solid var(--ink3);border-radius:2px}
.rtc-mix-gap-fill{height:100%;display:flex;align-items:center;padding-left:12px;font-family:var(--mono);font-size:11px;font-weight:500;color:#FFFFFF;transition:width 0.5s ease;letter-spacing:0.02em}
.rtc-mix-gap-target-line{position:absolute;right:0;top:0;bottom:0;width:2px;background:var(--paper)}
.rtc-mix-gap-axis{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:6px;letter-spacing:0.02em}

.rtc-mix-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.rtc-mix-top-tag{font-family:var(--mono);font-size:9px;background:rgba(204,0,0,0.15);color:var(--red);padding:2px 7px;margin-left:8px;letter-spacing:0.06em;text-transform:uppercase;border-radius:2px;font-weight:500}

/* Executive Briefing Generator (tool-specific scope) */
.rtc-brief-delta{display:flex;gap:8px;align-items:center}
.rtc-brief-delta-select{width:54px;flex-shrink:0;border:1px solid var(--ink3);background:var(--ink2);color:var(--muted);font-family:var(--sans);font-size:13px;padding:0 6px;outline:none;cursor:pointer;height:38px;border-radius:2px;text-align:center}
.rtc-brief-delta-select:focus{border-color:var(--red)}

.rtc-brief-ctx{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:1.5rem}
@media (max-width:720px){.rtc-brief-ctx{grid-template-columns:1fr}}
.rtc-brief-textarea{width:100%;padding:11px 13px;border:1px solid var(--ink3);background:var(--ink2);color:var(--paper);font-family:var(--sans);font-size:13px;resize:vertical;line-height:1.6;outline:none;min-height:90px;transition:border-color 0.15s;border-radius:2px}
.rtc-brief-textarea:focus{border-color:var(--red)}
.rtc-brief-textarea::placeholder{color:var(--muted);opacity:0.55}

.rtc-brief-generate{width:100%;padding:14px;background:var(--red);color:#FFFFFF;border:none;font-family:var(--mono);font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background 0.15s;margin-bottom:0;letter-spacing:0.06em;text-transform:uppercase;border-radius:2px}
.rtc-brief-generate:hover{background:var(--red2)}
.rtc-brief-generate:disabled{opacity:0.5;cursor:not-allowed}
.rtc-brief-generate i{font-size:18px;text-transform:none}

.rtc-brief-loading{text-align:center;padding:2rem 1rem;margin-top:1rem;border:1px dashed var(--ink3);background:var(--ink2);border-radius:2px}
.rtc-brief-dots{display:flex;gap:8px;justify-content:center;margin-bottom:0.85rem}
.rtc-brief-dots span{width:9px;height:9px;border-radius:50%;background:var(--red);animation:rtc-brief-pulse 1.2s ease-in-out infinite}
.rtc-brief-dots span:nth-child(2){animation-delay:0.2s}
.rtc-brief-dots span:nth-child(3){animation-delay:0.4s}
@keyframes rtc-brief-pulse{0%,100%{opacity:0.3;transform:scale(0.8)}50%{opacity:1;transform:scale(1)}}
.rtc-brief-loading-text{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:0.02em}

.rtc-brief-doc{border:1px solid var(--ink3);background:var(--ink2);overflow:hidden;border-radius:2px}
.rtc-brief-doc-header{padding:1.25rem 1.5rem;background:var(--ink);display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--ink3)}
.rtc-brief-doc-title{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--paper);margin-bottom:4px;letter-spacing:-0.01em}
.rtc-brief-doc-meta{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.04em}
.rtc-brief-doc-actions{display:flex;gap:8px}
.rtc-brief-doc-btn{padding:7px 14px;background:rgba(255,255,255,0.06);color:var(--muted);border:1px solid var(--ink3);font-family:var(--mono);font-size:11px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all 0.15s;border-radius:2px;letter-spacing:0.04em}
.rtc-brief-doc-btn:hover{background:rgba(204,0,0,0.18);border-color:var(--red);color:var(--paper)}
.rtc-brief-doc-btn i{font-size:13px}
.rtc-brief-doc-body{padding:1.75rem 1.5rem;line-height:1.85;color:var(--paper);font-family:var(--serif);font-size:15px}
.rtc-brief-doc-body h3{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--red);margin:1.75rem 0 0.65rem;letter-spacing:0.08em;text-transform:uppercase}
.rtc-brief-doc-body h3:first-child{margin-top:0}
.rtc-brief-doc-body p{font-size:15px;line-height:1.85;margin-bottom:0.85rem;color:var(--paper)}
.rtc-brief-doc-body p:last-child{margin-bottom:0}
.rtc-brief-doc-body strong{font-weight:700}

.rtc-brief-metrics-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:1rem 0 1.5rem;padding:1rem;background:var(--ink);border:1px solid var(--ink3);border-radius:2px}
.rtc-brief-ms-item{display:flex;flex-direction:column;gap:3px}
.rtc-brief-ms-label{font-family:var(--mono);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em}
.rtc-brief-ms-value{font-family:var(--serif);font-size:16px;font-weight:700;color:var(--paper)}
.rtc-brief-ms-delta{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:0.02em}
.rtc-brief-ms-delta.up  {color:#4ADE80}
.rtc-brief-ms-delta.down{color:var(--red)}
.rtc-brief-ms-delta.flat{color:var(--muted)}

/* LTV Calculator: side-by-side ratio + payback verdict pair */
.rtc-ltv-ratio-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:1.5rem}
@media (max-width:720px){.rtc-ltv-ratio-pair{grid-template-columns:1fr}}

/* Competitive Positioning Mapper (tool-specific scope) */
.rtc-cpm-brands{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:1.5rem}
.rtc-cpm-brand-card{border:1px solid var(--ink3);background:var(--ink2);overflow:hidden;border-radius:2px;transition:border-color 0.15s}
.rtc-cpm-brand-card.you{border-color:var(--red)}
.rtc-cpm-brand-header{padding:10px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--ink3);background:var(--ink)}
.rtc-cpm-brand-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.rtc-cpm-brand-input{border:none;background:transparent;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--paper);outline:none;width:100%}
.rtc-cpm-you-tag{font-family:var(--mono);font-size:9px;font-weight:500;background:var(--red);color:#FFFFFF;padding:3px 8px;letter-spacing:0.08em;border-radius:2px;flex-shrink:0}
.rtc-cpm-brand-body{padding:10px 14px;display:flex;flex-direction:column;gap:9px}
.rtc-cpm-score-row{display:flex;align-items:center;gap:10px}
.rtc-cpm-score-label{font-family:var(--mono);font-size:10px;color:var(--muted);width:90px;flex-shrink:0;letter-spacing:0.04em;text-transform:uppercase}
.rtc-cpm-slider{flex:1;height:4px;cursor:pointer;accent-color:var(--red)}
.rtc-cpm-score-val{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--paper);width:20px;text-align:right;flex-shrink:0}

.rtc-cpm-axis-row{display:flex;gap:10px;margin-bottom:1.25rem;flex-wrap:wrap;align-items:center}
.rtc-cpm-axis-label{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.06em;text-transform:uppercase}

.rtc-cpm-charts{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}
@media (max-width:880px){.rtc-cpm-charts{grid-template-columns:1fr}}
.rtc-cpm-chart{background:var(--ink2);border:1px solid var(--ink3);padding:1.25rem;border-radius:2px}
.rtc-cpm-chart-title{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--muted);margin-bottom:0.85rem;text-align:center;letter-spacing:0.08em;text-transform:uppercase}
.rtc-cpm-svg{width:100%;display:block;overflow:visible}
.rtc-cpm-legend{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:0.85rem}
.rtc-cpm-legend-item{display:flex;align-items:center;gap:6px;font-family:var(--sans);font-size:11px;color:var(--muted)}
.rtc-cpm-legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}

/* Horizontal bar used inside grid cells */
.rtc-tool-bar{flex:1;background:var(--ink);height:4px;overflow:hidden;min-width:30px;border-radius:1px;margin-left:6px}
.rtc-tool-bar-fill{height:100%;background:var(--red);transition:width 0.35s ease}

/* Insight box (auto-generated takeaways) */
.rtc-tool-insight{border:1px solid var(--ink3);background:var(--ink2);padding:1.25rem;margin-bottom:1.5rem;border-radius:2px}
.rtc-tool-insight-title{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--paper);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:0.85rem;display:flex;align-items:center;gap:8px}
.rtc-tool-insight-title i{color:var(--red);font-size:16px}
.rtc-tool-insight-list{display:flex;flex-direction:column;gap:10px}
.rtc-tool-insight-item{font-family:var(--sans);font-size:13px;color:var(--muted);line-height:1.65;display:flex;gap:10px;font-weight:300}
.rtc-tool-insight-item strong{color:var(--paper);font-weight:500}
.rtc-tool-insight-dot{width:5px;height:5px;background:var(--red);flex-shrink:0;margin-top:8px;border-radius:50%}

/* Explainer grid (small cards explaining concepts) */
.rtc-tool-explainer{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:0.5rem}
.rtc-tool-explainer-card{background:var(--ink2);border:1px solid var(--ink3);padding:12px 14px;border-radius:2px}
.rtc-tool-explainer-name{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--red);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.08em}
.rtc-tool-explainer-body{font-family:var(--sans);font-size:12.5px;color:var(--muted);line-height:1.55;font-weight:300}

.rtc-tool-how{margin-top:2.5rem;border-top:1px solid var(--ink3);padding-top:1.75rem}
.rtc-tool-how-title{font-family:var(--mono);font-size:11px;color:var(--red);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:1.25rem}
.rtc-tool-how-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.25rem}
.rtc-tool-how-step{display:flex;flex-direction:column;gap:6px}
.rtc-tool-how-num{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--red);letter-spacing:0.08em}
.rtc-tool-how-text{font-family:var(--sans);font-size:13px;color:var(--muted);line-height:1.6;font-weight:300}

/* Tools archive */
.rtc-tool-archive{padding:4rem 2.5rem 6rem;background:var(--ink);border-bottom:1px solid var(--ink3)}
.rtc-tool-archive-inner{max-width:1000px;margin:0 auto}
.rtc-tool-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--ink3);border:1px solid var(--ink3)}
.rtc-tool-card{background:var(--ink);padding:2rem;display:flex;flex-direction:column;gap:0.75rem;text-decoration:none;color:inherit;transition:background 0.2s}
.rtc-tool-card:hover{background:var(--ink2)}
.rtc-tool-card-eyebrow{font-family:var(--mono);font-size:10px;color:var(--red);letter-spacing:0.14em;text-transform:uppercase}
.rtc-tool-card-title{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--paper);line-height:1.25}
.rtc-tool-card-desc{font-family:var(--sans);font-size:13px;font-weight:300;color:var(--muted);line-height:1.75;margin-bottom:auto}
.rtc-tool-card-cta{font-family:var(--mono);font-size:11px;color:var(--red);letter-spacing:0.06em;margin-top:0.5rem}

/* Tools archive: intro + FAQ + subscribe block */
.rtc-tools-intro{max-width:780px;margin:4rem auto 0;color:var(--paper)}
.rtc-tools-intro h2{font-family:var(--serif);font-size:28px;font-weight:700;color:var(--paper);margin:2.5rem 0 1rem;letter-spacing:-0.01em;line-height:1.2}
.rtc-tools-intro h2:first-child{margin-top:0}
.rtc-tools-intro p{font-family:var(--sans);font-size:15px;line-height:1.85;color:var(--muted);margin-bottom:1.1rem;font-weight:300}
.rtc-tools-intro p strong{color:var(--paper);font-weight:500}
.rtc-tools-intro p em{font-style:italic;color:var(--paper)}
.rtc-tools-intro ul{margin:0.5rem 0 1.25rem 1.5rem;color:var(--muted);font-weight:300}
.rtc-tools-intro li{font-family:var(--sans);font-size:15px;line-height:1.85;margin-bottom:0.6rem}
.rtc-tools-intro li strong{color:var(--paper);font-weight:500}
.rtc-tools-intro a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.rtc-tools-intro a:hover{color:var(--red3)}

.rtc-tools-faq{display:flex;flex-direction:column;gap:1.25rem;margin-top:1.5rem}
.rtc-tools-faq-item{background:var(--ink2);border:1px solid var(--ink3);padding:1.5rem;border-left:3px solid var(--red);border-radius:2px}
.rtc-tools-faq-q{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--paper);margin-bottom:0.6rem;line-height:1.3}
.rtc-tools-faq-a{font-family:var(--sans);font-size:14.5px;line-height:1.8;color:var(--muted);font-weight:300}
.rtc-tools-faq-a a{color:var(--red);text-decoration:underline;text-underline-offset:3px}

.rtc-tools-subscribe{margin-top:3.5rem;padding:2rem;background:var(--ink2);border:1px solid var(--ink3);text-align:center;border-radius:2px}
.rtc-tools-subscribe h2{margin-top:0;margin-bottom:0.75rem}
.rtc-tools-subscribe p{max-width:520px;margin:0 auto 1.25rem;color:var(--muted)}
.rtc-tools-subscribe .btn-primary{display:inline-block;margin-top:0.25rem}

/* Archive (Writing index) */
.rtc-archive{padding:4rem 2.5rem;background:var(--ink)}
.rtc-archive-inner{max-width:1000px;margin:0 auto}
.rtc-archive-head{margin-bottom:3rem;border-bottom:1px solid var(--ink3);padding-bottom:1.5rem}
.rtc-archive-eyebrow{font-family:var(--mono);font-size:11px;color:var(--red);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:1rem}
.rtc-archive-title{font-family:var(--serif);font-size:clamp(34px,4.5vw,52px);font-weight:700;color:var(--paper);line-height:1.1;letter-spacing:-0.02em}

@media (max-width:880px){
  nav.rtc-nav{padding:1rem 1.5rem;flex-wrap:wrap;gap:1rem}
  .nav-links{display:none}
  .hero{padding:3rem 1.5rem}
  .hero-inner{grid-template-columns:1fr;gap:2.5rem}
  .newsletter-strip{padding:3rem 1.5rem}
  .nl-inner{grid-template-columns:1fr;gap:2.5rem}
  .writing-grid{grid-template-columns:1fr}
  .writing-card{border-right:none}
  .writing-card.featured{grid-template-columns:1fr}
  .featured-left{border-right:none;border-bottom:1px solid var(--ink3)}
  .about-inner{grid-template-columns:1fr;gap:2rem}
  .about-initial{font-size:80px}
}

/* ---------- Credibility band (homepage, after hero) ---------- */
.credibility{padding:2.5rem;border-bottom:1px solid var(--ink3);background:var(--ink)}
.credibility-inner{max-width:1000px;margin:0 auto}
.credibility-line{font-family:var(--serif);font-size:clamp(17px,2.2vw,21px);font-weight:400;color:var(--paper);line-height:1.6;max-width:840px}
.credibility-facts{display:flex;flex-wrap:wrap;gap:0.65rem 1.75rem;margin-top:1.5rem}
.credibility-facts span{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.04em;display:inline-flex;align-items:center;gap:9px}
.credibility-facts span::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--red);opacity:0.75;flex-shrink:0}

/* ---------- Worldview callout (homepage, after Building) ---------- */
.worldview-cta{padding:5rem 2.5rem;border-bottom:1px solid var(--ink3);background:var(--ink)}
.worldview-cta-inner{max-width:1000px;margin:0 auto;border-left:3px solid var(--red);padding-left:2rem}
.worldview-cta-label{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--red);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:1.25rem}
.worldview-cta-text{font-family:var(--serif);font-size:clamp(22px,3vw,30px);font-weight:400;color:var(--paper);line-height:1.4;max-width:800px;margin-bottom:1.5rem}
.worldview-cta-link{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--red);text-decoration:none;letter-spacing:0.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;transition:color 0.2s}
.worldview-cta-link:hover{color:var(--red3)}
.worldview-cta-link i{font-size:13px}

/* Inline links inside the About body */
.about-body a{color:var(--red);text-decoration:underline;text-underline-offset:3px;transition:color 0.2s}
.about-body a:hover{color:var(--red3)}

/* ---------- What I Believe (worldview) page ---------- */
.wv-wrap{padding:4rem 2.5rem 6rem;background:var(--ink)}
.wv-inner{max-width:760px;margin:0 auto;display:block}
.wv-eyebrow{font-family:var(--mono);font-size:11px;color:var(--red);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:1rem}
.wv-title{font-family:var(--serif);font-size:clamp(34px,4.5vw,56px);font-weight:700;color:var(--paper);line-height:1.1;letter-spacing:-0.02em;margin-bottom:1.5rem}
.wv-deck{font-family:var(--serif);font-size:18px;font-style:italic;color:var(--paper);opacity:0.7;line-height:1.7;border-left:2px solid var(--red);padding-left:1.25rem;margin-bottom:3.5rem}
.wv-note{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;padding:2.25rem 0;border-top:1px solid var(--ink3)}
.wv-note:first-of-type{border-top:none;padding-top:0}
.wv-note-num{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--red);letter-spacing:0.08em;padding-top:7px}
.wv-note-head{font-family:var(--serif);font-size:clamp(20px,2.6vw,26px);font-weight:700;color:var(--paper);line-height:1.25;letter-spacing:-0.01em;margin-bottom:0.85rem}
.wv-note-body{font-family:var(--serif);font-size:17px;color:var(--paper);opacity:0.9;line-height:1.85}
.wv-close{margin-top:3.5rem;padding-top:2.5rem;border-top:3px solid var(--red)}
.wv-close-text{font-family:var(--serif);font-size:18px;font-style:italic;color:var(--paper);line-height:1.7;margin-bottom:1.5rem}
.wv-close-links{display:flex;gap:1rem;flex-wrap:wrap}
.wv-close-link{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--muted);text-decoration:none;letter-spacing:0.06em;border:1px solid var(--ink3);padding:9px 16px;display:inline-flex;align-items:center;gap:8px;transition:all 0.2s}
.wv-close-link:hover{color:var(--red);border-color:var(--red)}
.wv-close-link i{font-size:15px}

@media (max-width:880px){
  .credibility{padding:2rem 1.5rem}
  .worldview-cta{padding:3.5rem 1.5rem}
  .worldview-cta-inner{padding-left:1.25rem}
  .wv-wrap{padding:3rem 1.5rem 4rem}
  .wv-note{grid-template-columns:1fr;gap:0.5rem}
  .wv-note-num{padding-top:0}
}

/* Worldview belief -> field note link */
.wv-note-link{display:inline-flex;align-items:center;gap:7px;margin-top:1.1rem;font-family:var(--mono);font-size:11px;font-weight:500;color:var(--red);text-decoration:none;letter-spacing:0.04em;transition:color 0.2s}
.wv-note-link:hover{color:var(--red3)}
.wv-note-link i{font-size:13px}

/* ---------- Field Notes ---------- */
/* Single: quotable definition + citation block */
.fn-definition{font-family:var(--serif);font-size:clamp(19px,2.6vw,24px);font-weight:400;color:var(--paper);line-height:1.55;border-left:2px solid var(--red);padding-left:1.5rem;margin-bottom:2.5rem}
.fn-definition-label{display:block;font-family:var(--mono);font-size:10px;font-weight:500;color:var(--red);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:0.65rem}
.fn-cite{margin-top:3rem;padding:1.25rem 1.5rem;border:1px solid var(--ink3);background:var(--ink2)}
.fn-cite-label{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--red);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:0.6rem}
.fn-cite-text{font-family:var(--mono);font-size:12px;color:var(--muted);line-height:1.7;word-break:break-word}
.fn-cite-text a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.fn-cite-text a:hover{color:var(--red)}

/* Archive */
.fn-archive{padding:4rem 2.5rem 6rem;background:var(--ink)}
.fn-archive-inner{max-width:1000px;margin:0 auto}
.fn-archive-head{margin-bottom:3rem;border-bottom:1px solid var(--ink3);padding-bottom:1.5rem}
.fn-archive-title{font-family:var(--serif);font-size:clamp(34px,4.5vw,52px);font-weight:700;color:var(--paper);line-height:1.1;letter-spacing:-0.02em;margin:0.75rem 0 1.25rem}
.fn-archive-intro{font-family:var(--sans);font-size:15px;font-weight:300;color:var(--muted);line-height:1.85;max-width:680px}

/* Shared card grid (archive + homepage strip) */
.fn-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--ink3);border:1px solid var(--ink3)}
.fn-card{background:var(--ink);padding:2rem;display:flex;flex-direction:column;gap:0.85rem;text-decoration:none;color:inherit;transition:background 0.2s}
.fn-card:hover{background:var(--ink2)}
.fn-card-term{font-family:var(--serif);font-size:21px;font-weight:700;color:var(--paper);line-height:1.25}
.fn-card-def{font-family:var(--sans);font-size:13px;font-weight:300;color:var(--muted);line-height:1.75}
.fn-card-read{font-family:var(--mono);font-size:11px;color:var(--red);display:flex;align-items:center;gap:6px;margin-top:auto;letter-spacing:0.04em}

/* Open investigations */
.fn-open{margin-top:4rem;padding-top:2.5rem;border-top:1px solid var(--ink3)}
.fn-open-head{margin-bottom:2rem}
.fn-open-intro{font-family:var(--sans);font-size:14px;font-weight:300;color:var(--muted);line-height:1.8;max-width:620px;margin-top:0.75rem}
.fn-open-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem 2rem}
.fn-open-item{border-left:2px solid var(--ink3);padding-left:1.25rem}
.fn-open-term{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--paper);letter-spacing:0.04em;text-transform:uppercase;margin-bottom:0.5rem}
.fn-open-desc{font-family:var(--sans);font-size:13px;font-weight:300;color:var(--muted);line-height:1.7}

/* Homepage Field Notes strip */
.fieldnotes-section{padding:5rem 2.5rem;border-bottom:1px solid var(--ink3);background:var(--ink)}
.fieldnotes-inner{max-width:1000px;margin:0 auto}
.fieldnotes-section .section-header{margin-bottom:1.5rem}
.fieldnotes-intro{font-family:var(--sans);font-size:14px;font-weight:300;color:var(--muted);line-height:1.8;max-width:640px;margin:0 0 2rem}

@media (max-width:880px){
  .fn-archive{padding:3rem 1.5rem 4rem}
  .fn-grid{grid-template-columns:1fr}
  .fieldnotes-section{padding:3.5rem 1.5rem}
}

/* ---------- Exposure Intelligence Lab ---------- */
/* Hub area cards */
.lab-areas{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--ink3);border:1px solid var(--ink3);margin:1.5rem 0 1rem}
.lab-area-card{background:var(--ink);padding:1.75rem;display:flex;flex-direction:column;gap:0.75rem;text-decoration:none;color:inherit;transition:background 0.2s}
.lab-area-card:hover{background:var(--ink2)}
.lab-area-name{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--paper);line-height:1.25}
.lab-area-desc{font-family:var(--sans);font-size:13px;font-weight:300;color:var(--muted);line-height:1.7}

/* AI Exposure Index — working scoring model */
.lab-model{margin:1.5rem 0 2rem;border:1px solid var(--ink3)}
.lab-factor-group{border-bottom:1px solid var(--ink3)}
.lab-factor-group:last-child{border-bottom:none}
.lab-factor-group-head{display:flex;gap:14px;align-items:flex-start;padding:1.25rem 1.5rem;background:var(--ink2)}
.lab-factor-group-num{width:26px;height:26px;border-radius:50%;background:var(--red);color:#FFFFFF;font-family:var(--mono);font-size:12px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.lab-factor-group-label{font-family:var(--serif);font-size:17px;font-weight:700;color:var(--paper);line-height:1.3}
.lab-factor-group-note{font-family:var(--sans);font-size:12.5px;font-weight:300;color:var(--muted);line-height:1.6;margin-top:2px}
.lab-factor{display:grid;grid-template-columns:1fr auto;gap:2px 1rem;padding:0.9rem 1.5rem 0.9rem 3.5rem;border-top:1px solid var(--ink3)}
.lab-factor-name{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--paper)}
.lab-factor-desc{font-family:var(--sans);font-size:12.5px;font-weight:300;color:var(--muted);line-height:1.6;grid-column:1}
.lab-factor-score{font-family:var(--mono);font-size:11px;color:var(--red);letter-spacing:0.04em;align-self:center;grid-row:1/3}

/* Exposure categories */
.lab-bands{display:flex;flex-direction:column;gap:1px;background:var(--ink3);border:1px solid var(--ink3);margin:1.5rem 0 2rem}
.lab-band{background:var(--ink);padding:1.1rem 1.5rem;border-left:3px solid var(--ink3)}
.lab-band-0{border-left-color:#4ADE80}
.lab-band-1{border-left-color:#FACC15}
.lab-band-2{border-left-color:var(--red3)}
.lab-band-3{border-left-color:var(--red)}
.lab-band-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:0.4rem}
.lab-band-name{font-family:var(--serif);font-size:16px;font-weight:700;color:var(--paper)}
.lab-band-range{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.04em;white-space:nowrap}
.lab-band-desc{font-family:var(--sans);font-size:13px;font-weight:300;color:var(--muted);line-height:1.7}

/* Disclaimer callout */
.lab-disclaimer{margin:2rem 0;padding:1.25rem 1.5rem;border:1px solid var(--red);background:rgba(204,0,0,0.06)}
.lab-disclaimer-label{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--red);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:0.6rem}
.lab-disclaimer p{font-family:var(--sans);font-size:13.5px;font-weight:300;color:var(--paper);line-height:1.75;opacity:0.92}

/* Homepage Lab band */
.lab-cta{padding:5rem 2.5rem;border-bottom:1px solid var(--ink3);background:var(--ink2)}
.lab-cta-inner{max-width:1000px;margin:0 auto;border-left:3px solid var(--red);padding-left:2rem}
.lab-cta-label{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--red);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:1.25rem}
.lab-cta-text{font-family:var(--serif);font-size:clamp(20px,2.6vw,26px);font-weight:400;color:var(--paper);line-height:1.45;max-width:760px;margin-bottom:1.5rem}
.lab-cta-links{display:flex;flex-wrap:wrap;gap:0.65rem 1.75rem;margin-bottom:1.5rem}
.lab-cta-links a{font-family:var(--mono);font-size:12px;color:var(--paper);text-decoration:none;letter-spacing:0.03em;display:inline-flex;align-items:center;gap:8px;transition:color 0.2s}
.lab-cta-links a::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--red);opacity:0.75;flex-shrink:0}
.lab-cta-links a:hover{color:var(--red3)}
.lab-cta-enter{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--red);text-decoration:none;letter-spacing:0.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;transition:color 0.2s}
.lab-cta-enter:hover{color:var(--red3)}
.lab-cta-enter i{font-size:13px}

/* ---------- Who Is Rob T. Case — identity facts ---------- */
.idp-facts{display:grid;grid-template-columns:1fr;gap:1px;background:var(--ink3);border:1px solid var(--ink3);margin:0 0 2.5rem}
.idp-fact{background:var(--ink);display:grid;grid-template-columns:200px 1fr;gap:1rem;padding:0.85rem 1.5rem}
.idp-fact-label{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--red);letter-spacing:0.1em;text-transform:uppercase;padding-top:3px}
.idp-fact-value{font-family:var(--sans);font-size:14.5px;color:var(--paper);line-height:1.6}

/* Field note: related notes + Lab-area chip */
.fn-related{margin-top:3rem}
.fn-lab-chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;font-weight:500;color:var(--red);text-decoration:none;letter-spacing:0.04em;border:1px solid var(--ink3);padding:9px 16px;margin-bottom:2rem;transition:all 0.2s}
.fn-lab-chip:hover{border-color:var(--red);color:var(--red3)}
.fn-lab-chip i{font-size:14px}
.fn-related-label{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--red);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:1.25rem}

/* Homepage "What I am working on" — questions first, ventures as evidence */
.building-intro{font-family:var(--sans);font-size:14px;font-weight:300;color:var(--muted);line-height:1.8;max-width:660px;margin:0}
.building-section .section-header{margin-bottom:1.5rem}
.building-section .building-grid{grid-template-columns:repeat(2,1fr);margin-top:1.75rem}
.bc-question{font-family:var(--serif);font-size:clamp(18px,2.1vw,22px);font-weight:700;color:var(--paper);line-height:1.3}
.bc-vehicle{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--red);letter-spacing:0.1em;text-transform:uppercase}
.bc-arrow{font-family:var(--mono);font-size:11px;color:var(--red);display:flex;align-items:center;gap:6px;margin-top:auto;letter-spacing:0.04em}
@media (max-width:880px){ .building-section .building-grid{grid-template-columns:1fr} }

/* About page closing link line */
.about-foot-link{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--ink3);font-family:var(--sans);font-size:14px;color:var(--muted);line-height:1.7}

/* ---------- Headshot / portrait placements ---------- */
.about-photo{display:block;width:100%;max-width:220px;height:auto;border:1px solid var(--ink3);margin-bottom:1.25rem;filter:grayscale(12%)}
.rtc-byline-photo img,.rtc-bio-photo img{width:100%;height:100%;object-fit:cover;display:block}
.idp-portrait-wrap{margin:0 0 2.5rem}
.idp-portrait{display:block;width:100%;max-width:260px;height:auto;border:1px solid var(--ink3)}
.idp-portrait-cap{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase;margin-top:0.65rem}

@media (max-width:880px){
  .lab-areas{grid-template-columns:1fr}
  .lab-factor{grid-template-columns:1fr;padding-left:1.5rem}
  .lab-factor-score{grid-row:auto;justify-self:start}
  .lab-cta{padding:3.5rem 1.5rem}
  .lab-cta-inner{padding-left:1.25rem}
  .idp-fact{grid-template-columns:1fr;gap:0.25rem}
  .idp-fact-label{padding-top:0}
}

/* ============================================================
   READABILITY PASS (2026-06-02)
   Goal: lower-effort reading, same atmosphere. No layout, palette,
   or identity changes. Lifts low-contrast supporting copy only.
   Fully reversible: delete this block to revert.
   ============================================================ */

/* 1) Supporting text on dark backgrounds was a dim warm gray (~4.3:1 on black).
   Lift to a lighter warm gray (~6.8:1). This drives card descriptions, section
   intros, metadata, captions, nav, footer, and tool labels in one move.
   Light mode and the never-invert (light-background) blocks keep their own
   darker --muted, so this only affects dark contexts. */
:root{ --muted:#A39B8F; }

/* 2) font-weight 300 reads as too thin on black. Nudge reading copy to 400. */
.hero-bio,
.about-body,
.about-body p,
.bc-desc,
.fn-card-def,
.wc-excerpt,
.gallery-sub,
.gallery-note,
.fieldnotes-intro,
.building-intro,
.fn-archive-intro,
.fn-open-intro,
.fn-open-desc,
.lab-area-desc,
.lab-factor-desc,
.lab-band-desc,
.lab-disclaimer p,
.rtc-bio-text,
.rtc-tool-helper-text{
  font-weight:400;
}

/* 3) Lift the smallest 13px descriptions a touch (size + line-height). */
.bc-desc,
.fn-card-def,
.lab-area-desc,
.fn-open-desc,
.rtc-bio-text{
  font-size:14px;
  line-height:1.7;
}

/* 4) Decks/intros that lean on low opacity of --paper were dim. Lift opacity. */
.hero-deck{ opacity:0.82; }
.rtc-post-deck{ opacity:0.85; }
.rtc-post-content{ opacity:0.96; }

/* 5) Photo caption context (over the dark gradient) was faint. */
.caption-context{ color:rgba(255,255,255,0.82); }

/* 6) Hierarchy fix: in-card "read" links should sit BELOW the description,
   not above it. Quiet (gray) at rest, red on hover/focus. Standalone band
   CTAs (worldview, lab, subscribe) keep their red. */
.fn-card-read,
.bc-arrow,
.wc-read{ color:var(--muted); }
.fn-card:hover .fn-card-read,
.fn-card:focus-visible .fn-card-read,
.building-card:hover .bc-arrow,
.building-card:focus-visible .bc-arrow,
.writing-card:hover .wc-read,
.writing-card:focus-visible .wc-read{ color:var(--red); }
