/*
Theme Name: TCBON Stock Institutional Catalog
Theme URI: https://stock.thecountrybankofneedham.com/
Author: TCBON Systems
Description: Institutional WordPress theme for CBON Stock: stock/partner catalog, securities profile gallery, investment-banking presentation, delayed quote feed, and wp-admin management screens.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: tcbon-stock
*/
:root{--black:#050505;--ink:#111;--paper:#f6f4ef;--white:#fff;--muted:#6f6f6f;--line:rgba(17,17,17,.14);--gold:#c9a457;--green:#0d7a41;--red:#b3263a;--max:1220px;--radius:28px;--shadow:0 24px 70px rgba(0,0,0,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.58}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:80;background:rgba(5,5,5,.93);border-bottom:1px solid rgba(255,255,255,.14);backdrop-filter:blur(16px)}body.admin-bar .site-header{top:32px}.header-inner{display:flex;align-items:center;gap:22px;justify-content:space-between;padding:12px 0}.brand{display:flex;align-items:center;gap:14px;color:#fff;min-width:290px}.brand-logo{width:58px;height:58px;border:1px solid rgba(255,255,255,.18);border-radius:18px;display:grid;place-items:center;background:#080808;overflow:hidden}.brand-logo img{width:54px;height:54px;object-fit:contain}.brand-title{display:block;font-size:1.15rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.brand-sub{display:block;color:#bdbdbd;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.nav{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;color:#ececec;font-weight:800;font-size:.88rem;text-transform:uppercase;letter-spacing:.06em}.nav a{opacity:.82}.nav a:hover{opacity:1;color:#fff}.header-cta{display:inline-flex;border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:999px;padding:11px 16px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}.hero{background:#050505;color:#fff;position:relative;overflow:hidden;border-bottom:1px solid #d7d1c5}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 25%,rgba(255,255,255,.12),transparent 22%),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px);background-size:auto,54px 54px,54px 54px}.hero-grid{position:relative;display:grid;grid-template-columns:1.04fr .96fr;gap:44px;align-items:center;padding:92px 0}.eyebrow,.kicker{display:inline-flex;align-items:center;gap:8px;border:1px solid currentColor;border-radius:999px;padding:8px 12px;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900}.hero h1,.page-hero h1,.section h2,.ticker-section h2{font-size:clamp(2.7rem,6vw,6.6rem);line-height:.88;letter-spacing:-.055em;margin:22px 0 18px;font-weight:950}.hero p,.page-hero p,.section-head p{font-size:1.08rem;color:#cfcfcf;max-width:760px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 18px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;font-size:.83rem}.btn-primary{background:#fff;color:#050505}.btn-ghost{border:1px solid rgba(255,255,255,.26);color:#fff}.hero-card{background:#fff;color:#111;border-radius:34px;padding:30px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.1)}.hero-logo{width:min(360px,90%);margin:0 auto 24px;background:#050505;border-radius:26px;padding:20px}.terminal-lines{display:grid;gap:0;border:1px solid #e3dfd6;border-radius:22px;overflow:hidden}.terminal-lines div{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #e3dfd6}.terminal-lines div:last-child{border-bottom:0}.terminal-lines span{color:#6d6d6d;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:900}.terminal-lines b{text-align:right}.ticker-section,.section{padding:76px 0}.section-head{margin-bottom:26px}.section-head .kicker,.ticker-section .kicker{color:#111}.ticker-section h2,.section h2{font-size:clamp(2.1rem,4vw,4.3rem);margin:13px 0 10px;color:#111}.ticker-section .section-head p,.section-head p{color:#666}.ticker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.ticker-card{background:#fff;border:1px solid #dfd8ca;border-radius:22px;padding:18px;box-shadow:0 14px 34px rgba(0,0,0,.06)}.ticker-card strong{font-size:1.1rem;font-weight:950;letter-spacing:.05em}.ticker-card span,.ticker-card em{display:block;color:#6f6f6f;font-style:normal}.ticker-card b{font-size:1.5rem;margin-top:8px;display:block}.ticker-card.up em{color:var(--green)}.ticker-card.down em{color:var(--red)}.ticker-empty,.empty-catalog{grid-column:1/-1;background:#fff;border:1px dashed #bdb6a8;border-radius:22px;padding:24px;color:#666}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.partner-card{background:#fff;border:1px solid #dfd8ca;border-radius:28px;overflow:hidden;box-shadow:0 18px 52px rgba(0,0,0,.08)}.partner-img{height:244px;background:#050505;display:grid;place-items:center;color:#fff;font-weight:950;font-size:1.65rem;letter-spacing:.08em}.partner-img img{width:100%;height:100%;object-fit:cover}.partner-body{padding:22px}.meta-line,.card-actions{display:flex;justify-content:space-between;gap:10px;color:#706b63;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:950}.partner-body h3{font-size:1.35rem;line-height:1.15;margin:13px 0}.partner-body p{color:#676767}.card-actions{border-top:1px solid #e4ded2;padding-top:14px}.card-actions a{color:#000;text-decoration:underline}.dark{background:#050505;color:#fff}.dark .feature-grid,.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature{border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border-radius:28px;padding:28px}.feature span{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:50%;font-weight:950}.feature h3{font-size:1.35rem;margin:18px 0 8px}.feature p{color:#cfcfcf}.page-hero{background:#050505;color:#fff;padding:74px 0}.page-hero h1{font-size:clamp(2.4rem,5vw,5.2rem)}.content-card{background:#fff;border:1px solid #dfd8ca;border-radius:28px;padding:34px;box-shadow:0 18px 52px rgba(0,0,0,.08)}.single-head{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}.single-thumb{border-radius:28px;max-height:380px;object-fit:cover;width:100%}.footer{background:#050505;color:#cfcfcf;padding:36px 0;border-top:1px solid rgba(255,255,255,.12)}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.footer strong{color:#fff;text-transform:uppercase;letter-spacing:.08em}@media(max-width:980px){.hero-grid,.partner-grid,.dark .feature-grid,.feature-grid,.single-head,.footer-grid{grid-template-columns:1fr}.ticker-grid{grid-template-columns:repeat(2,1fr)}.nav{display:none}.header-cta{display:none}}@media(max-width:560px){.ticker-grid{grid-template-columns:1fr}.brand-sub{display:none}.brand{min-width:0}.hero-grid{padding:60px 0}.hero h1{font-size:3rem}.content-card{padding:22px}}
