/* Globaegis — investor relations page.
   Loads after main.css and reuses its tokens, nav, footer and section-head
   patterns. Only the page's own blocks live here. */

/* ---------- shared bits ---------- */
.inv-lede{color:var(--bone-dim);font-size:clamp(16px,1.35vw,19px);line-height:1.55;max-width:58ch}
.inv-note{
  font-family:var(--font-mono);font-size:11px;line-height:1.7;letter-spacing:.06em;
  color:var(--bone-dim);max-width:70ch;
}
.inv-cta{
  /* max-content keeps the label on one line, up to the point where that would
     hang off the side of a phone - then it wraps like anything else */
  display:inline-flex;align-items:center;gap:12px;width:max-content;max-width:100%;
  font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink);background:var(--acid);border-radius:999px;padding:14px 24px;
  transition:background .3s,color .3s;
}
.inv-cta svg{transition:transform .3s}
.inv-cta:hover{background:var(--bone)}
.inv-cta:hover svg{transform:translate(4px,-4px)}
.inv-cta.ghost{
  background:none;color:var(--bone);border:1px solid rgba(233,228,216,.25);
}
.inv-cta.ghost:hover{background:var(--acid);color:var(--ink);border-color:var(--acid)}

/* ---------- hero ---------- */
.inv-hero{padding:clamp(130px,20vh,210px) 0 var(--section-pad);background:var(--ink)}
/* the headline gets the full shell width: at these sizes it does not survive
   being squeezed into a column beside the panel, it wraps and the line masks
   then clip it */
.inv-hero h1{
  font-size:clamp(34px,6.4vw,100px);margin:18px 0 clamp(34px,5vh,64px);
}
.inv-hero h1 span{display:block}
.inv-hero h1 .alt{color:var(--teal)}
.inv-hero-foot{
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(30px,5vw,90px);align-items:start;
}
/* min-width:0, or the grid track is sized by the cta's max-content line and
   the column grows wider than the phone it is on */
.inv-hero-copy{display:flex;flex-direction:column;gap:clamp(24px,3.4vh,38px);align-items:flex-start;min-width:0}

.inv-panel{
  border:1px solid var(--bone-faint);border-radius:20px;background:var(--ink-2);
  padding:clamp(22px,2.4vw,32px);
}
.inv-panel .ip-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-bottom:16px;margin-bottom:6px;border-bottom:1px solid var(--bone-faint);
}
.ip-live{display:flex;align-items:center;gap:8px;color:var(--bone)}
.ip-live i{
  width:7px;height:7px;border-radius:50%;background:var(--acid);flex-shrink:0;
  animation:ippulse 2.4s ease-in-out infinite;
}
@keyframes ippulse{0%,100%{opacity:1}50%{opacity:.25}}
.ip-row{
  display:flex;align-items:baseline;justify-content:space-between;gap:18px;
  padding:15px 0;border-bottom:1px solid var(--bone-faint);
}
.ip-row .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-dim)}
.ip-row .v{font-size:17px;font-weight:600;text-align:right}
.ip-row .v.big{
  font-family:var(--font-sans);font-stretch:125%;font-weight:840;
  font-size:clamp(24px,2.6vw,34px);line-height:1;color:var(--acid);
}
.inv-panel .inv-note{margin-top:18px}

/* ---------- section frame ---------- */
.inv-sec{padding:var(--section-pad) 0;background:var(--ink)}
.inv-sec.alt{background:var(--ink-2)}
.inv-head{margin-bottom:clamp(34px,5.5vh,70px)}
.inv-head h2{
  font-family:var(--font-sans);font-stretch:125%;font-weight:840;text-transform:uppercase;
  letter-spacing:-.015em;font-size:clamp(28px,4.6vw,68px);line-height:.95;margin:14px 0 22px;
}
.inv-head h2 span{display:block}
.inv-head h2 b{color:var(--teal);font-weight:840}

/* ---------- numbered cards (thesis, business model) ---------- */
.inv-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2vw,26px)}
.inv-card{
  border:1px solid var(--bone-faint);border-radius:18px;background:var(--ink-2);
  padding:clamp(22px,2.4vw,34px);display:flex;flex-direction:column;gap:12px;
  transition:border-color .4s,transform .4s cubic-bezier(.4,0,.2,1);
}
.inv-sec.alt .inv-card{background:var(--ink)}
.inv-card:hover{border-color:rgba(23,179,166,.45);transform:translateY(-4px)}
.inv-card .n{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--acid)}
.inv-card h3{
  font-family:var(--font-sans);font-stretch:112%;font-weight:800;
  font-size:clamp(19px,1.7vw,25px);line-height:1.15;letter-spacing:-.01em;
}
.inv-card p{color:var(--bone-dim);font-size:16px;line-height:1.6}
@media (max-width:860px){.inv-cards{grid-template-columns:1fr}}

/* ---------- journey ---------- */
.inv-journey{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(10px,1.2vw,18px)}
.jr-step{
  border-top:1px solid var(--bone-faint);padding-top:16px;
  display:flex;flex-direction:column;gap:8px;position:relative;
}
.jr-step::after{
  content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--acid);
  transition:width .6s cubic-bezier(.4,0,.2,1);
}
.jr-step:hover::after{width:100%}
.jr-step .n{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--bone-dim)}
.jr-step h3{
  font-family:var(--font-sans);font-stretch:125%;font-weight:840;text-transform:uppercase;
  font-size:clamp(15px,1.5vw,22px);line-height:1;letter-spacing:-.01em;
}
.jr-step:hover h3{color:var(--teal)}
@media (max-width:1100px){.inv-journey{grid-template-columns:repeat(3,1fr);gap:20px}}
@media (max-width:520px){.inv-journey{grid-template-columns:repeat(2,1fr)}}

/* ---------- milestones ---------- */
.ms-row{
  border-top:1px solid var(--bone-faint);
  display:grid;grid-template-columns:auto 1fr 1.1fr;gap:clamp(16px,3vw,54px);
  padding:clamp(24px,4vh,46px) 0;align-items:start;position:relative;
}
.ms-row:last-of-type{border-bottom:1px solid var(--bone-faint)}
.ms-row::after{
  content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--acid);
  transition:width .6s cubic-bezier(.4,0,.2,1);
}
.ms-row:hover::after{width:100%}
.ms-row .n{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--acid);padding-top:6px}
.ms-row h3{
  font-family:var(--font-sans);font-stretch:125%;font-weight:800;text-transform:uppercase;
  font-size:clamp(20px,2.4vw,34px);line-height:1;letter-spacing:-.01em;
}
.ms-row .stage{display:block;margin-bottom:10px}
.ms-row p{color:var(--bone-dim);font-size:16px;max-width:46ch}
@media (max-width:860px){.ms-row{grid-template-columns:1fr;gap:10px}.ms-row .n{padding-top:0}}

/* ---------- capital purpose ---------- */
.inv-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,90px);align-items:start}
.use-row{
  display:flex;align-items:baseline;gap:18px;
  border-bottom:1px solid var(--bone-faint);padding:16px 0;
}
.use-row:first-child{border-top:1px solid var(--bone-faint)}
.use-row .n{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--bone-dim);flex-shrink:0}
.use-row p{font-size:17px;font-weight:500}
@media (max-width:860px){.inv-split{grid-template-columns:1fr}}

/* ---------- performance measures ---------- */
.inv-measures{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,22px)}
.me-card{
  border:1px solid var(--bone-faint);border-radius:14px;padding:22px 24px;background:var(--ink-2);
  display:flex;align-items:center;gap:14px;transition:border-color .4s,color .3s;
}
.inv-sec.alt .me-card{background:var(--ink)}
.me-card:hover{border-color:rgba(166,255,46,.4)}
.me-card i{width:8px;height:8px;border-radius:50%;background:var(--teal);flex-shrink:0}
.me-card span{font-size:16px;font-weight:500}
@media (max-width:1100px){.inv-measures{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.inv-measures{grid-template-columns:1fr}}

/* ---------- closing ---------- */
.inv-close{padding:var(--section-pad) 0;background:var(--ink)}
.inv-close .shell{display:flex;flex-direction:column;gap:28px}
.inv-close h2{
  font-family:var(--font-sans);font-stretch:125%;font-weight:840;text-transform:uppercase;
  letter-spacing:-.015em;line-height:.92;font-size:clamp(28px,4.4vw,70px);
}
.inv-close h2 span{display:block}
.inv-close h2 .alt{color:var(--acid)}
.inv-close .inv-lede{max-width:64ch}
.inv-close .foot-legal{
  display:flex;flex-wrap:wrap;gap:12px clamp(24px,6vw,90px);
  border-top:1px solid var(--bone-faint);padding-top:24px;margin-top:14px;
}

/* ---------- home page teaser ---------- */
.investors{padding:var(--section-pad) 0;background:var(--ink-2)}
.inv-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(30px,5vw,90px);align-items:center}
.inv-copy h2{
  font-size:clamp(28px,4.2vw,62px);margin:16px 0 26px;
}
.inv-copy h2 span{display:block}
.inv-copy h2 b{color:var(--teal);font-weight:840}
.inv-copy p{color:var(--bone-dim);font-size:clamp(15px,1.25vw,18px);max-width:52ch;line-height:1.55}
.inv-teaser{
  position:relative;overflow:hidden;
  border:1px solid var(--bone-faint);border-radius:20px;background:var(--ink);
  padding:clamp(24px,2.6vw,36px);display:flex;flex-direction:column;gap:16px;
}
.inv-teaser .g-mark{
  position:absolute;right:-.16em;top:-.3em;z-index:0;user-select:none;pointer-events:none;
  font-family:var(--font-sans);font-stretch:125%;font-weight:900;font-size:clamp(160px,18vw,260px);
  line-height:1;color:rgba(233,228,216,.03);
}
.inv-teaser>*{position:relative;z-index:1}
.inv-teaser h3{
  font-family:var(--font-sans);font-stretch:112%;font-weight:800;
  font-size:clamp(22px,2.2vw,32px);line-height:1.1;letter-spacing:-.01em;
}
.inv-teaser p{color:var(--bone-dim);font-size:16px;line-height:1.6}
.inv-teaser .inv-cta{margin-top:6px}
@media (max-width:860px){.inv-grid{grid-template-columns:1fr}}

@media (max-width:860px){
  .inv-hero-foot{grid-template-columns:1fr}
}
@media (prefers-reduced-motion: reduce){
  .ip-live i{animation:none}
}
