/* K12 Signals — V4.5.3 article + legacy archive alignment — 30 Sep 2026 */
.shell{width:min(var(--max),calc(100% - 64px));margin:0 auto}
.signal-page .section-page{min-height:60vh}
.signal-page .page-hero{padding:66px 0 52px;background:var(--silver-2);border-bottom:1px solid #d4dce4}
.signal-page .page-hero .eyebrow{display:flex;align-items:center;gap:11px;font:600 12px var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--red-dark);margin-bottom:24px}
.signal-page .page-hero .eyebrow:before{content:"";width:38px;height:3px;background:var(--red);flex:0 0 38px}
.signal-page .page-hero h1{font:700 clamp(46px,5vw,70px)/1 var(--serif);letter-spacing:-.04em;color:var(--navy);max-width:1080px;margin:0 0 23px}
.signal-page .page-hero h1 em{font-style:normal;color:var(--navy)}
.signal-page .page-hero .hero-copy{font-size:18px;line-height:1.68;color:#526276;max-width:920px;margin:0}
.signal-page .text-link{display:inline-flex;align-items:center;font:600 12px var(--sans);letter-spacing:.04em;color:var(--navy);border-bottom:1px solid rgba(11,29,54,.24);padding-bottom:4px}
.signal-page .text-link:hover{color:var(--red-dark);border-color:var(--red)}

.pulse-article{padding:68px 0 82px;background:#fff;color:var(--navy)}
.pulse-article-inner{display:grid;grid-template-columns:minmax(0,820px) minmax(230px,1fr);gap:70px;align-items:start}
.pulse-article-copy{max-width:820px;font-size:17.5px;line-height:1.78;color:#2f4054}
.pulse-article-copy>p{margin:0 0 22px}
.pulse-article h2{font:700 38px/1.09 var(--serif);letter-spacing:-.03em;color:var(--navy);margin:56px 0 20px}
.pulse-article h3{font:700 29px/1.14 var(--serif);letter-spacing:-.025em;color:var(--navy);margin:46px 0 15px}
.pulse-article .standfirst{font-size:20px;line-height:1.64;color:#526276;margin:0 0 34px}
.pulse-article strong{color:var(--navy)}
.pulse-article ul,.pulse-article ol{color:#2f4054;line-height:1.72;padding-left:24px}
.pulse-article li{margin:0 0 13px}
.pulse-article a:not(.btn):not(.pulse-cta a){color:var(--navy);text-decoration:underline;text-decoration-color:#aeb9c5;text-underline-offset:3px}
.pulse-article a:not(.btn):not(.pulse-cta a):hover{color:var(--red-dark);text-decoration-color:var(--red)}

.pulse-analysis{margin:46px 0;padding:31px 32px 30px;background:var(--navy);border-top:4px solid var(--red);color:#fff}
.pulse-analysis .eyebrow{color:#efb0ad}
.pulse-analysis h2,.pulse-analysis h3{color:#fff;margin-top:0}
.pulse-analysis p,.pulse-analysis li{color:#d5dee8;font-family:var(--body);font-weight:400}
.pulse-analysis strong{color:#fff}
.pulse-analysis ol,.pulse-analysis ul{margin:19px 0 0;padding-left:22px;color:#d5dee8}
.pulse-analysis a{color:#fff!important;text-decoration-color:#8292a4!important}

.signal-flow{margin:30px 0;padding:22px 24px;border:1px solid #ccd5de;border-left:4px solid var(--red);background:var(--soft);color:var(--navy);font:600 15px/1.65 var(--body)}
.pulse-watch{margin:42px 0;padding:28px 30px;background:var(--soft);border-top:3px solid var(--red)}
.pulse-watch h3{margin-top:0}

.pulse-sidebar{position:sticky;top:112px;border-top:3px solid var(--red);padding-top:18px}
.pulse-sidebar>.eyebrow{color:var(--red-dark);margin-bottom:16px}
.pulse-sidebar dl{margin:0}
.pulse-sidebar dt{margin-top:16px;color:#758497;font:600 10.5px var(--sans);letter-spacing:.11em;text-transform:uppercase}
.pulse-sidebar dd{margin:5px 0 0;color:var(--navy);font:600 14px/1.45 var(--body)}

.pulse-sources{margin-top:50px;padding-top:26px;border-top:1px solid #ccd5de}
.pulse-sources>.eyebrow{color:var(--red-dark)}
.pulse-sources p,.pulse-sources li{font-size:13.5px;line-height:1.58;color:#5d6d7f}
.pulse-sources a{color:var(--navy)!important}

.pulse-cta{margin-top:44px;padding:29px 30px 30px;background:var(--silver-2);border-left:4px solid var(--red)}
.pulse-cta h3{margin-top:0;margin-bottom:12px}
.pulse-cta p{font-size:15px;line-height:1.65;color:#5b6b7e;margin-bottom:12px}
.pulse-cta a{display:inline-flex;align-items:center;justify-content:center;margin:10px 8px 0 0;padding:13px 17px;background:var(--navy);border:1px solid var(--navy);color:#fff!important;text-decoration:none!important;font:600 10.5px var(--sans);letter-spacing:.09em;text-transform:uppercase;transition:.18s ease}
.pulse-cta a:hover{background:var(--red);border-color:var(--red)}

.k12-monitor-crosslinks{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;margin:0 auto 72px;padding:30px 32px;background:var(--navy);border-left:5px solid var(--red);color:#fff;max-width:min(var(--max),calc(100% - 64px))}
.k12-monitor-crosslinks>div{flex:1 1 320px;min-width:0}
.k12-monitor-crosslinks h2{font:700 clamp(28px,3.5vw,40px)/1.12 var(--serif);letter-spacing:-.025em;color:#fff;margin:0 0 12px}
.k12-monitor-crosslinks p{font-size:15px;line-height:1.6;color:#d6dee7;margin:0;max-width:760px}
.k12-monitor-crosslinks>a{display:inline-flex;align-items:center;justify-content:center;padding:14px 18px;background:#fff;border:1px solid #fff;color:var(--navy);font:600 11px/1.4 var(--sans);letter-spacing:.07em;text-transform:uppercase;transition:.18s ease}
.k12-monitor-crosslinks>a:hover{background:var(--red);border-color:var(--red);color:#fff}

/* Legacy archive URL retained for backlink continuity; visually now Signals */
.hub-section.pulse-page{padding:68px 0 80px;background:#fff}
.pulse-intro{max-width:820px;margin-bottom:38px}
.pulse-intro>.eyebrow{color:var(--red-dark)}
.pulse-intro h2{font:700 44px/1.06 var(--serif);letter-spacing:-.035em;color:var(--navy);margin-bottom:16px}
.pulse-intro p{font-size:16px;line-height:1.68;color:#5c6c7e}
.archive-list{border-top:1px solid #d3dbe3}
.archive-item{position:relative;display:grid;grid-template-columns:190px minmax(0,1fr) 145px;gap:30px;align-items:center;padding:25px 16px 25px 17px;border-bottom:1px solid #d3dbe3;border-left:3px solid transparent;transition:.18s ease}
.archive-item:hover{background:var(--soft);border-left-color:var(--red)}
.archive-meta{font:500 11.5px/1.55 var(--sans);color:#6b798a}
.archive-cat{display:block;color:var(--red-dark);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}
.archive-copy h3{font:700 24px/1.15 var(--serif);letter-spacing:-.025em;color:var(--navy);margin:0 0 7px}
.archive-copy p{font-size:14px;line-height:1.58;color:#627184;margin:0}
.archive-link{justify-self:end;font:600 10.5px var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--navy);border-bottom:1px solid #aeb8c3;padding-bottom:4px}
.archive-link:hover{color:var(--red-dark);border-color:var(--red)}
.archive-back{margin-top:30px}
.archive-back a{font:600 12px var(--sans);color:var(--navy);border-bottom:1px solid #abb7c3;padding-bottom:4px}
.archive-back a:hover{color:var(--red-dark);border-color:var(--red)}

@media(max-width:960px){
  .pulse-article-inner{grid-template-columns:1fr;gap:42px}.pulse-sidebar{position:static;max-width:640px}
  .archive-item{grid-template-columns:150px 1fr;gap:20px}.archive-link{grid-column:2;justify-self:start}
}
@media(max-width:820px){
  .shell{width:min(var(--max),calc(100% - 36px))}.signal-page .page-hero{padding:48px 0 40px}.signal-page .page-hero h1{font-size:clamp(42px,10.7vw,58px)}.signal-page .page-hero .hero-copy{font-size:17px}
  .pulse-article{padding:48px 0 62px}.pulse-article-copy{font-size:17px;line-height:1.73}.pulse-article h2{font-size:34px}.pulse-article h3{font-size:27px;margin-top:40px}.pulse-article .standfirst{font-size:18px}
  .k12-monitor-crosslinks{max-width:calc(100% - 36px);margin-bottom:56px}
  .hub-section.pulse-page{padding:52px 0 62px}.archive-item{grid-template-columns:1fr;gap:9px;padding:22px 12px}.archive-link{grid-column:1}.pulse-intro h2{font-size:38px}
}
@media(max-width:520px){
  .signal-page .page-hero{padding:42px 0 35px}.signal-page .page-hero h1{font-size:40px}.signal-page .page-hero .hero-copy{font-size:16px}.signal-page .page-hero .eyebrow{font-size:10.5px}
  .pulse-article-copy{font-size:16.5px}.pulse-article h2{font-size:31px}.pulse-article h3{font-size:25px}.pulse-analysis,.pulse-cta,.pulse-watch{padding:24px 22px}.pulse-cta a{width:100%;margin-right:0}
  .k12-monitor-crosslinks{padding:24px;gap:20px}.k12-monitor-crosslinks>div{flex-basis:100%}.k12-monitor-crosslinks>a{width:100%}
}


/* K12 V4.5.3.9 — global CTA standard
   All CTA/button components: K12 red rectangle, white text, simple right arrow. */
.k12-red-cta,
a.btn,
a[class*="cta"],
a[class*="button"],
.mega-contact,
.mega-feature-link {
  background: #cc3d37 !important;
  color: #fff !important;
  border-color: #cc3d37 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.k12-red-cta:hover,
.k12-red-cta:focus,
a.btn:hover,
a.btn:focus,
a[class*="cta"]:hover,
a[class*="cta"]:focus,
a[class*="button"]:hover,
a[class*="button"]:focus,
.mega-contact:hover,
.mega-contact:focus,
.mega-feature-link:hover,
.mega-feature-link:focus {
  background: #b9342f !important;
  color: #fff !important;
  border-color: #b9342f !important;
}
.k12-red-cta span,
a.btn span,
a[class*="cta"] span,
a[class*="button"] span,
.mega-contact span,
.mega-feature-link span {
  color: inherit !important;
}


/* K12 V4.5.3.10 — legacy Signal CTA correction */
.signal-cta a, .article-cta a, .related-cta a, .market-cta a,
.intel-cta a, .intelligence-cta a, .capital-cta a, .feature-cta a,
.promo-card a, .analysis-card a, .country-card a, .explore-card a,
.next-step a, a.k12-force-red-cta {
  background:#C43B36 !important;
  color:#fff !important;
  border:1px solid #C43B36 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
}
.signal-cta a:hover, .article-cta a:hover, .related-cta a:hover, .market-cta a:hover,
.intel-cta a:hover, .intelligence-cta a:hover, .capital-cta a:hover, .feature-cta a:hover,
.promo-card a:hover, .analysis-card a:hover, .country-card a:hover, .explore-card a:hover,
.next-step a:hover, a.k12-force-red-cta:hover {
  background:#A9322E !important;
  border-color:#A9322E !important;
  color:#fff !important;
}


/* K12 V4.5.3.11 — Signal article CTA correction
   Targets the actual CTA wrappers used by Thailand/Growth Monitor articles. */
.pulse-cta > a,
.k12-monitor-crosslinks > a,
.k12-monitor-crosslinks div + a {
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  background:#C43B36 !important;
  color:#FFFFFF !important;
  border:1px solid #C43B36 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  text-align:center !important;
  text-decoration:none !important;
}
.pulse-cta > a:hover,
.k12-monitor-crosslinks > a:hover,
.k12-monitor-crosslinks div + a:hover {
  background:#A9322E !important;
  border-color:#A9322E !important;
  color:#FFFFFF !important;
}
