/* =========================================================================
   The Daily Ticker — modern news theme
   Single stylesheet, enqueued by functions.php.
   Type: Archivo · Accent: deep teal (direction-neutral) · green/red = data only
   ========================================================================= */

/* ---------- 1. tokens ---------- */
:root{
  --paper:#fbfaf7;
  --card:#ffffff;
  --ink:#16151a;
  --soft:#54525c;
  --mute:#928e98;
  --line:#e8e4db;
  --line-2:#f0ede5;
  --accent:#0e7d88;        /* brand */
  --accent-deep:#0a626b;
  --up:#1f7a44;            /* used only on market data */
  --down:#d23b2a;
  --sans:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --maxw:1180px;
  --readw:740px;
  --radius:10px;
  --radius-sm:7px;
}

/* ---------- 2. base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.55;letter-spacing:-.003em;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;transition:color .15s ease;}
h1,h2,h3,h4,h5,h6{margin:0 0 .4em;line-height:1.12;letter-spacing:-.022em;font-weight:800;}
p{margin:0 0 1.1em;}
button{font-family:inherit;cursor:pointer;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 30px;}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;white-space:nowrap;}
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--ink);color:#fff;padding:10px 16px;}
.skip-link:focus{left:0;}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

/* ---------- 3. kicker / meta / tiles ---------- */
.kicker{font-size:11.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);display:inline-block;margin-bottom:11px;}
.kicker:hover{color:var(--accent-deep);}
.meta{font-size:13px;color:var(--mute);font-weight:500;}
.meta b{color:var(--soft);font-weight:600;}
.meta a:hover{color:var(--accent);}
.tile{background:linear-gradient(160deg,#e9e4d8,#dcd6c8);position:relative;overflow:hidden;display:block;}
.tile::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 80% 10%,rgba(14,125,136,.12),transparent 60%);pointer-events:none;}
.tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.tile:has(img)::after{display:none;}
.tile.lg{aspect-ratio:16/9;border-radius:var(--radius);}
.tile.sm{aspect-ratio:16/10;border-radius:var(--radius-sm);}
.tile.sq{aspect-ratio:1/1;border-radius:var(--radius-sm);}

/* ---------- 4. ad slots (subtle, hide chrome when filled) ---------- */
.ad-slot{width:100%;}
.ad-slot__inner{margin:0 auto;background:var(--line-2);border:1px dashed var(--line);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;color:var(--mute);
  font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;}
.ad-slot--leaderboard .ad-slot__inner{max-width:970px;min-height:90px;margin:18px auto;}
.ad-slot--in-feed{grid-column:1/-1;}
.ad-slot--in-feed .ad-slot__inner{min-height:110px;}
.ad-slot--in-article .ad-slot__inner{min-height:120px;margin:26px 0;}
.ad-slot--sidebar .ad-slot__inner{min-height:250px;}
.ad-slot__inner:not(:empty){border:0;background:transparent;min-height:0;}

/* ---------- 5. top strip + live ticker ---------- */
.strip{border-bottom:1px solid var(--line);background:var(--paper);}
.strip .wrap{display:flex;align-items:center;gap:12px;min-height:34px;
  font-size:12px;font-weight:500;color:var(--mute);}
.strip .date{text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;flex:none;}
.ticker-wrap{flex:1;overflow:hidden;position:relative;height:34px;display:flex;align-items:center;}
.ticker-wrap::after{content:'';position:absolute;right:0;top:0;bottom:0;width:60px;
  background:linear-gradient(90deg,transparent,var(--paper));pointer-events:none;z-index:2;}
.ticker-track{display:flex;gap:0;white-space:nowrap;animation:ticker-scroll 40s linear infinite;}
.ticker-track:hover{animation-play-state:paused;}
.pulse{display:flex;gap:28px;align-items:center;font-variant-numeric:tabular-nums;padding-right:28px;}
.pulse .q{white-space:nowrap;}
.pulse b{color:var(--soft);font-weight:600;}
.pulse .u{color:var(--up);font-weight:600;}
.pulse .d{color:var(--down);font-weight:600;}
.pulse a{color:var(--soft);}
.pulse a:hover{color:var(--accent);}
@keyframes ticker-scroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-25%);}
}

/* ---------- 6. header ---------- */
.site-header{position:sticky;top:0;z-index:30;background:rgba(251,250,247,.92);
  -webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--ink);}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;}
.site-brand{font-weight:900;font-size:23px;letter-spacing:-.035em;color:var(--ink);white-space:nowrap;}
.site-brand .mark{color:var(--accent);}
.custom-logo{max-height:34px!important;width:auto!important;}
.main-nav{display:flex;align-items:center;gap:22px;}
.nav-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:22px;}
.nav-menu a{font-size:14.5px;font-weight:600;color:var(--soft);letter-spacing:-.01em;}
.nav-menu a:hover,.nav-menu .current-menu-item>a,.nav-menu .current-cat>a{color:var(--ink);}
.nav-menu a:hover{color:var(--accent);}
.nav-menu .sub-menu{display:none;position:absolute;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius-sm);padding:6px;margin-top:10px;min-width:190px;list-style:none;box-shadow:0 12px 30px rgba(0,0,0,.1);}
.nav-menu li{position:relative;}
.nav-menu li:hover>.sub-menu{display:block;}
.nav-menu .sub-menu a{display:block;padding:8px 12px;}
.nav-search{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--soft);background:transparent;}
.nav-search:hover{border-color:var(--accent);color:var(--accent);}
.nav-toggle{display:none;width:40px;height:36px;background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);
  flex-direction:column;align-items:center;justify-content:center;gap:4px;}
.nav-toggle__bar{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s;}
.nav-toggle.is-active .nav-toggle__bar:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-toggle.is-active .nav-toggle__bar:nth-child(2){opacity:0;}
.nav-toggle.is-active .nav-toggle__bar:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.header-search{border-top:1px solid var(--line);background:var(--paper);padding:14px 0;}
.header-search .search-form{display:flex;gap:8px;}
.header-search .search-field{flex:1;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-family:inherit;background:var(--card);}
.header-search .search-submit{padding:11px 20px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-weight:700;}
.header-search .search-submit:hover{background:var(--accent-deep);}

.site-main{display:block;min-height:55vh;}

/* ---------- 7. lead ---------- */
.lead{display:grid;grid-template-columns:1.62fr 1fr;gap:48px;padding:38px 0 36px;}
.lead__main .tile{margin-bottom:20px;}
.lead__main h1{font-weight:800;font-size:clamp(32px,4.6vw,52px);line-height:1.02;letter-spacing:-.028em;margin:0 0 14px;}
.lead__main h1 a:hover{color:var(--accent);}
.lead__deck{font-size:20px;line-height:1.45;color:var(--soft);margin:0 0 16px;font-weight:400;max-width:54ch;}
.lead__side{display:flex;flex-direction:column;border-left:1px solid var(--line);padding-left:34px;}
.lead__side .rail-title{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);
  padding-bottom:14px;margin-bottom:4px;border-bottom:3px solid var(--accent);}
.rail-item{padding:17px 0;border-bottom:1px solid var(--line);}
.rail-item:last-child{border-bottom:0;}
.rail-item .kicker{font-size:10.5px;margin-bottom:6px;}
.rail-item h3{font-weight:700;font-size:18px;line-height:1.22;letter-spacing:-.018em;margin:0;}
.rail-item h3 a:hover{color:var(--accent);}

/* ---------- 8. section + grid + card ---------- */
.section{padding:30px 0 0;border-top:1px solid var(--ink);}
.section + .section{margin-top:34px;}
.section__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;gap:16px;}
.section__head h2{font-weight:900;font-size:22px;letter-spacing:-.025em;margin:0;}
.section__head h2 .dot{color:var(--accent);}
.section__head .all{font-size:13px;font-weight:600;color:var(--accent);white-space:nowrap;}
.section__head .all:hover{color:var(--accent-deep);}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
.grid--2{grid-template-columns:repeat(2,1fr);}
.card .tile{margin-bottom:14px;}
.card h2,.card h3{font-weight:700;font-size:20px;line-height:1.16;letter-spacing:-.02em;margin:9px 0;}
.card h2 a:hover,.card h3 a:hover{color:var(--accent);}
.card p{font-size:15px;color:var(--soft);line-height:1.5;margin:0 0 12px;}

/* two-up feature row (horizontal cards) */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:34px 0 0;margin-top:34px;border-top:1px solid var(--line);}
.duo article{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:start;}
.duo .tile{aspect-ratio:1/1;border-radius:var(--radius-sm);}
.duo h3{font-weight:700;font-size:19px;line-height:1.18;letter-spacing:-.018em;margin:6px 0 8px;}
.duo h3 a:hover{color:var(--accent);}

/* ---------- 9. archive / page headers ---------- */
.page-head{padding:34px 0 26px;border-bottom:1px solid var(--ink);margin-bottom:30px;}
.page-head .eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}
.page-head h1{font-weight:900;font-size:clamp(28px,4vw,42px);letter-spacing:-.028em;margin:8px 0 0;}
.page-head .desc{color:var(--soft);max-width:62ch;margin-top:10px;}
.page-head .count{font-size:13px;color:var(--mute);font-weight:600;margin-top:8px;}
.page-head .ticker-symbol{color:var(--accent);}
.no-results{text-align:center;padding:60px 20px;color:var(--soft);}
.no-results h2{color:var(--ink);}

/* ---------- 10. content layout (single/page) ---------- */
.content-area{display:grid;grid-template-columns:minmax(0,1fr);gap:46px;}
.content-area.has-sidebar{grid-template-columns:minmax(0,1fr) 300px;}
.content-main{min-width:0;}

.single{padding:36px 0 10px;}
.single__inner{max-width:var(--readw);margin:0 auto;}
.single__kicker{text-align:left;}
.single h1{font-weight:800;font-size:clamp(30px,4.6vw,48px);line-height:1.05;letter-spacing:-.028em;margin:4px 0 16px;}
.single__meta{display:flex;align-items:center;gap:12px;margin-bottom:26px;}
.single__meta .avatar{border-radius:50%;flex:none;}
.single__byline{display:flex;flex-direction:column;line-height:1.4;}
.single__byline .name{font-weight:700;}
.single__byline .name:hover{color:var(--accent);}
.single__byline .sub{font-size:13px;color:var(--mute);}
.single__hero{margin:0 0 28px;}
.single__hero img{width:100%;border-radius:var(--radius);}
.single__hero figcaption{font-size:13px;color:var(--mute);text-align:center;margin-top:8px;}

.article-body{font-size:18.5px;line-height:1.75;color:#222127;}
.article-body > *{margin-bottom:1.35em;}
.article-body h2{font-weight:800;font-size:1.6rem;margin:1.7em 0 .5em;letter-spacing:-.02em;}
.article-body h3{font-weight:800;font-size:1.28rem;margin:1.5em 0 .4em;}
.article-body a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}
.article-body a:hover{color:var(--accent-deep);}
.article-body ul,.article-body ol{padding-left:1.4em;}
.article-body li{margin-bottom:.45em;}
.article-body img{border-radius:var(--radius);margin:1.6em 0;}
.article-body blockquote{margin:1.6em 0;padding:2px 0 2px 22px;border-left:3px solid var(--accent);font-size:1.18rem;color:var(--ink);}
.article-body blockquote p:last-child{margin-bottom:0;}
.article-body table{width:100%;border-collapse:collapse;font-size:.95rem;}
.article-body th,.article-body td{padding:10px 12px;border:1px solid var(--line);text-align:left;}
.article-body th{background:var(--line-2);font-weight:700;}
.article-body code{background:var(--line-2);padding:2px 6px;border-radius:4px;font-size:.9em;}
.article-body pre{background:var(--ink);color:#e7e4dd;padding:18px;border-radius:var(--radius);overflow:auto;}
.article-body pre code{background:transparent;padding:0;}

/* ticker tags */
.ticker-tags{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:28px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.ticker-tags__label{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-right:4px;}
.ticker-tag{display:inline-block;padding:5px 11px;border-radius:999px;border:1.5px solid var(--accent);color:var(--accent);
  font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;}
.ticker-tag:hover{background:var(--accent);color:#fff;}

/* author box */
.author-box{display:flex;gap:18px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin:30px 0;}
.author-box .avatar{border-radius:50%;}
.author-box__label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mute);}
.author-box__name{display:block;font-size:1.15rem;font-weight:800;color:var(--ink);margin:2px 0 8px;letter-spacing:-.02em;}
.author-box__name:hover{color:var(--accent);}
.author-box__bio{margin:0;color:var(--soft);font-size:.95rem;line-height:1.6;}

.related{margin-top:40px;}
.related .section__head{border-top:1px solid var(--ink);padding-top:24px;}

/* author archive header */
.author-head{display:flex;gap:20px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;margin-bottom:32px;}
.author-head .avatar{border-radius:50%;}
.author-head .eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}
.author-head h1{font-weight:900;font-size:1.7rem;margin:4px 0 8px;letter-spacing:-.025em;}
.author-head p{margin:0;color:var(--soft);max-width:72ch;}

/* static page */
.page-body{max-width:var(--readw);margin:0 auto;padding:30px 0;}
.page-body h1{font-weight:900;font-size:clamp(28px,4vw,44px);letter-spacing:-.028em;margin-bottom:22px;}

/* ---------- 11. sidebar + widgets ---------- */
.sidebar{display:grid;gap:26px;align-content:start;}
.widget{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
.widget-title{font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;padding-bottom:12px;margin:0 0 12px;border-bottom:3px solid var(--accent);}
.widget ul{list-style:none;margin:0;padding:0;}
.widget li{padding:8px 0;border-bottom:1px solid var(--line);font-size:.94rem;}
.widget li:last-child{border-bottom:0;}
.widget a:hover{color:var(--accent);}
.widget select,.widget input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);font-family:inherit;}

/* ---------- 12. pagination + comments ---------- */
.pagination{margin:40px 0 0;}
.pagination .nav-links{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;
  border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font-weight:600;background:var(--card);}
.pagination .page-numbers:hover{border-color:var(--accent);color:var(--accent);}
.pagination .page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff;}
.pagination .dots{border:0;background:transparent;}

.comments-area{max-width:var(--readw);margin:40px auto 0;padding-top:30px;border-top:1px solid var(--line);}
.comment-list{list-style:none;padding:0;margin:0;}
.comment-list .comment{padding:18px 0;border-bottom:1px solid var(--line);}
.comment-list .children{list-style:none;padding-left:26px;}
.comment-author{font-weight:700;}
.comment-author .avatar{border-radius:50%;vertical-align:middle;margin-right:8px;}
.comment-metadata{font-size:.8rem;color:var(--mute);}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{
  width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-family:inherit;margin-top:4px;}
.comment-form .form-submit input{padding:11px 24px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-weight:700;}

/* ---------- 13. 404 ---------- */
.error-404{max-width:var(--readw);margin:0 auto;text-align:center;padding:40px 0 10px;}
.error-404 .code{font-size:5rem;font-weight:900;color:var(--accent);line-height:1;letter-spacing:-.04em;margin:0;}
.error-404 h1{font-size:1.8rem;margin:8px 0 12px;}
.error-404 p{color:var(--soft);max-width:48ch;margin:0 auto 22px;}
.error-404 .search-form{display:flex;gap:8px;max-width:420px;margin:0 auto 18px;}
.error-404 .search-field{flex:1;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);}
.error-404 .search-submit{padding:11px 18px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-weight:700;}
.button{display:inline-block;padding:11px 22px;background:var(--accent);color:#fff;border-radius:var(--radius-sm);font-weight:700;}
.button:hover{background:var(--accent-deep);color:#fff;}

/* ---------- 14. footer ---------- */
.site-footer{margin-top:50px;background:var(--ink);color:#cfccd4;}
.site-footer .wrap{padding:38px 30px 26px;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-brand{font-weight:900;font-size:22px;letter-spacing:-.03em;color:#fff;}
.footer-brand .mark{color:var(--accent);}
.footer-tag{font-size:14px;color:#9b97a2;margin-top:8px;max-width:32ch;line-height:1.45;}
.footer-col .widget{background:transparent;border:0;padding:0;}
.footer-col .widget-title{color:#8c8893;border-bottom:0;padding:0;margin-bottom:12px;font-size:11px;}
.footer-col .widget li{border-bottom:0;padding:4px 0;font-size:14px;}
.footer-col .widget a{color:#d7d4dc;}
.footer-col .widget a:hover{color:#fff;}
.footer-col h4{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#8c8893;margin:0 0 12px;}
.footer-col ul{list-style:none;margin:0;padding:0;font-size:14px;line-height:2;}
.footer-col ul a{color:#d7d4dc;}
.footer-col ul a:hover{color:#fff;}
.footer-disclaimer{font-size:13px;color:#9b97a2;font-style:italic;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-bar{padding-top:18px;font-size:12px;color:#8c8893;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.footer-bar a:hover{color:#fff;}

/* ---------- 15. responsive ---------- */
@media(max-width:980px){
  .content-area.has-sidebar{grid-template-columns:minmax(0,1fr);}
}
@media(max-width:860px){
  .nav-toggle{display:flex;}
  .main-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--ink);
    flex-direction:column;align-items:stretch;gap:0;padding:8px 30px 16px;box-shadow:0 14px 30px rgba(0,0,0,.08);display:none;}
  .main-nav.is-open{display:flex;}
  .nav-menu{flex-direction:column;align-items:stretch;gap:0;width:100%;}
  .nav-menu a{padding:12px 0;border-bottom:1px solid var(--line);}
  .nav-menu .sub-menu{position:static;display:block;border:0;box-shadow:none;padding:0 0 0 14px;margin:0;}
  .nav-search{align-self:flex-start;margin-top:10px;}
  .lead{grid-template-columns:1fr;gap:28px;}
  .lead__side{border-left:0;padding-left:0;border-top:1px solid var(--ink);padding-top:22px;}
  .grid{grid-template-columns:1fr 1fr;gap:26px;}
  .duo{grid-template-columns:1fr;gap:22px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px;}
}
@media(max-width:560px){
  .wrap{padding:0 18px;}
  .strip .pulse .q:nth-child(n+3){display:none;}
  .grid,.grid--2{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .duo article{grid-template-columns:96px 1fr;gap:14px;}
  .author-head{flex-direction:column;align-items:flex-start;}
  .author-box{flex-direction:column;}
}
@media(prefers-reduced-motion:reduce){
  *{transition-duration:.001ms!important;scroll-behavior:auto!important;}
}

/* Featured image sizing on single posts — cap height so it doesn't dominate the page */
.single article figure img {
  max-height: 400px;
  width: 100%;
  object-fit: cover;
  object-position: center;
}
