/* ==========================================================================
   GAIERGY CORP - INSIGHTS ARTICLE STYLESHEET
   Retoned 25 August 2026 to the Concept E "Core Sample" site design.
   Class names are unchanged, so the article HTML files were not edited.
   ========================================================================== */
:root{
  --ink:#050912; --ink-1:#080F1E; --ink-2:#0C1729; --ink-3:#122038;
  --bone:#EAF1F9; --bone-2:rgba(234,241,249,.76); --bone-3:rgba(234,241,249,.50);
  --bone-4:rgba(234,241,249,.26);
  --line:rgba(234,241,249,.10); --line-2:rgba(234,241,249,.20);
  --cyan:#47C8E3; --blue:#3175B1; --indigo:#1F3883; --sage:#83B895; --peri:#8B8ECF;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--ink);color:var(--bone-2);
  font-size:18px;line-height:1.78;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--cyan);text-decoration:none}
a:hover{text-decoration:underline}
::selection{background:var(--cyan);color:#050912}
::-webkit-scrollbar{width:9px}
::-webkit-scrollbar-track{background:var(--ink)}
::-webkit-scrollbar-thumb{background:rgba(234,241,249,.12);border-radius:5px}

.wrap{max-width:820px;margin:0 auto;padding:0 28px}
.wrap-wide{max-width:1180px;margin:0 auto;padding:0 28px}

/* ---------------------------------------------------------------- top bar */
.topbar{background:rgba(5,9,18,.86);-webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);border-bottom:1px solid var(--line);
  padding:16px 0;position:sticky;top:0;z-index:100}
.topbar .wrap-wide{display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar-brand{display:flex;align-items:center;gap:14px}
.topbar-brand img{height:26px;width:auto;display:block}
.topbar-brand span{display:none}   /* the wordmark artwork already says the name */
.topbar a{text-decoration:none}
.topbar a.back{font-family:var(--mono);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--bone-3);
  border:1px solid var(--line-2);border-radius:100px;padding:8px 16px;
  transition:all .3s var(--ease)}
.topbar a.back:hover{color:#050912;background:var(--cyan);border-color:var(--cyan);
  text-decoration:none}

/* ----------------------------------------------------------- article head */
.article-head{position:relative;overflow:hidden;padding:96px 0 56px;
  background:linear-gradient(150deg,#050912 0%,#0A1B31 55%,#07202F 100%)}
.article-head::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(52rem 34rem at 80% 12%,rgba(71,200,227,.16),transparent 68%),
             radial-gradient(40rem 28rem at 8% 92%,rgba(131,184,149,.10),transparent 70%)}
.article-head .wrap{position:relative;z-index:2}
.eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);margin-bottom:22px}
.eyebrow::before{content:"";width:42px;height:1px;background:var(--cyan);display:block;flex:none}
.article-head h1{font-size:clamp(34px,5.2vw,62px);line-height:1.02;letter-spacing:-.035em;
  font-weight:600;color:var(--bone)}
.standfirst{margin-top:24px;font-size:21px;line-height:1.6;color:var(--bone-2)}
.byline{margin-top:26px;padding-top:18px;border-top:1px solid var(--line-2);
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--bone-4)}

/* --------------------------------------------------------------- figures */
.hero-figure{margin:0;background:var(--ink-1);border-bottom:1px solid var(--line)}
.hero-figure img{width:100%;max-height:70vh;object-fit:cover;opacity:.92}
.hero-figure figcaption,figcaption{max-width:820px;margin:0 auto;padding:16px 28px 22px;
  font-size:14px;line-height:1.6;color:var(--bone-3)}
figure{margin:48px 0;background:var(--ink-1);border:1px solid var(--line);
  border-radius:12px;overflow:hidden}
figure img{width:100%}
figure figcaption{padding:14px 22px 20px}

/* ---------------------------------------------------------------- article */
article{padding:64px 0 24px}
article h2{margin:64px 0 18px;font-size:clamp(26px,3.2vw,36px);line-height:1.12;
  letter-spacing:-.03em;font-weight:600;color:var(--bone)}
article h2::after{content:"";display:block;width:56px;height:2px;margin-top:16px;
  background:linear-gradient(90deg,var(--cyan),var(--sage))}
article h3{margin:44px 0 14px;font-size:21px;line-height:1.3;letter-spacing:-.02em;
  font-weight:600;color:var(--bone)}
article h4{margin:32px 0 10px;font-family:var(--mono);font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--sage)}
article p{margin:20px 0}
article ul,article ol{margin:22px 0 22px 22px}
article li{margin:10px 0}
article li::marker{color:var(--cyan)}
strong{color:var(--bone);font-weight:600}
em{color:var(--bone)}
.intro{font-size:20px;color:var(--bone)}
.sub{color:var(--bone-3);font-size:16px}

/* pull-outs */
.note{margin:36px 0;padding:22px 26px;border-radius:10px;
  background:linear-gradient(120deg,rgba(71,200,227,.09),rgba(131,184,149,.05));
  border:1px solid rgba(71,200,227,.24);font-size:16px;color:var(--bone-2)}
.note strong{color:var(--cyan)}
.flag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--sage);border:1px solid rgba(131,184,149,.4);
  border-radius:100px;padding:3px 10px;margin-right:8px;vertical-align:middle}
.label{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bone-4)}
.num{font-variant-numeric:tabular-nums;color:var(--bone)}
.src{display:block;margin-top:8px;font-family:var(--mono);font-size:11px;line-height:1.6;
  letter-spacing:.03em;color:var(--bone-4)}

/* takeaways sit first, per house style */
.takeaways{margin:44px 0;padding:32px 34px;border-radius:14px;background:var(--ink-2);
  border:1px solid var(--line-2)}
.takeaways h2{margin:0 0 18px;font-size:22px;letter-spacing:-.02em}
.takeaways h2::after{display:none}
.takeaways ol,.takeaways ul{margin:0 0 0 20px}
.takeaways li{margin:12px 0;font-size:17px;color:var(--bone-2)}
.takeaways li::marker{color:var(--cyan);font-weight:600}

/* tables */
.table-scroll{overflow-x:auto;margin:36px 0;border:1px solid var(--line);border-radius:12px;
  background:var(--ink-1)}
table{border-collapse:collapse;width:100%;font-size:15px;min-width:560px}
caption{caption-side:top;text-align:left;padding:16px 20px 12px;font-family:var(--mono);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-4)}
th{text-align:left;padding:14px 18px;font-family:var(--mono);font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);
  border-bottom:1px solid var(--line-2);white-space:nowrap}
td{padding:14px 18px;border-bottom:1px solid var(--line);color:var(--bone-2);
  vertical-align:top}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:rgba(71,200,227,.05)}

/* charts */
.chart{margin:44px 0;padding:26px;border:1px solid var(--line);border-radius:12px;
  background:var(--ink-1)}
.chart h4{margin-top:0}
.chart svg{width:100%;height:auto;display:block}

/* sources */
.sources{margin-top:64px;padding:44px 0 56px;border-top:1px solid var(--line);
  background:var(--ink-1)}
.sources h2{margin:0 0 18px;font-size:20px;letter-spacing:-.02em;color:var(--bone)}
.sources h2::after{display:none}
.sources ol{margin:0 0 0 20px}
.sources li{margin:12px 0;font-size:14px;line-height:1.65;color:var(--bone-3);
  word-break:break-word}
.sources p{font-size:14px;color:var(--bone-3)}
.sources a{color:var(--cyan)}

/* footer */
.article-footer{padding:44px 0;border-top:1px solid var(--line);background:var(--ink);
  font-size:14px;color:var(--bone-4);text-align:center}
.article-footer a{color:var(--cyan)}

@media (max-width:700px){
  body{font-size:17px}
  .article-head{padding:64px 0 40px}
  .takeaways{padding:24px 22px}
  .wrap,.wrap-wide{padding:0 20px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.01ms!important}
}
