/* Company page. Builds on ../product/product.css (tokens, nav, sections, reveal). */
.p-company{--accent:#9f86f7;--accent-soft:rgba(148,112,245,.14)}

/* ---------- Hero: typographic, calm, no artwork. */
.co-hero{position:relative;padding:clamp(130px,20vh,200px) 0 clamp(64px,10vh,110px);overflow:hidden}
.co-hero::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60% 70% at 85% 10%,rgba(148,112,245,.16),transparent 70%),radial-gradient(50% 60% at 5% 90%,rgba(88,220,248,.07),transparent 70%),radial-gradient(120% 90% at 50% 10%,#07102a 0%,#03070f 60%)}
.co-hero .wrap{position:relative;z-index:1}
.co-hero h1{font-size:clamp(38px,5.2vw,74px);line-height:1.04;max-width:1020px;text-wrap:balance}
.co-hl{color:var(--muted)}
.co-hero .lede{margin:26px 0 0;max-width:700px;font-size:clamp(17px,1.4vw,20px);font-weight:300;color:var(--body)}
.co-hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.co-stats{margin:clamp(48px,8vh,80px) 0 0;padding-top:28px;border-top:1px solid var(--line)}
.co-stats dd{margin:0}

/* ---------- Timeline: a rail that fills as the reader scrolls; each step lights as the fill reaches it. */
.co-timeline{--fill:1;position:relative;list-style:none;margin:clamp(44px,7vh,72px) 0 0;padding:0 0 0 clamp(36px,5vw,64px)}
.co-timeline::before,.co-timeline::after{content:'';position:absolute;left:7px;top:8px;bottom:8px;width:1px}
.co-timeline::before{background:var(--line)}
.co-timeline::after{background:linear-gradient(180deg,var(--cyan),var(--violet) 55%,var(--gold));transform-origin:top;transform:scaleY(var(--fill));box-shadow:0 0 12px rgba(148,112,245,.5)}
.co-tl-step{position:relative;padding:0 0 clamp(36px,6vh,56px);max-width:820px}
.co-tl-step:last-child{padding-bottom:0}
.co-tl-step::before{content:'';position:absolute;left:calc(-1 * clamp(36px,5vw,64px) + 1px);top:6px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:1px solid rgba(160,185,220,.35);transition:background .6s,border-color .6s,box-shadow .6s}
.co-tl-step.is-lit::before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}
.co-tl-when{margin:0 0 8px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);transition:color .6s}
.co-tl-step.is-lit .co-tl-when{color:var(--accent)}
.co-tl-step h3{font-size:clamp(21px,2vw,26px);font-weight:400}
.co-tl-step>p:not(.co-tl-when){margin:10px 0 0;color:var(--body);font-size:16px}
.js .co-timeline.is-animated .co-tl-step{opacity:.35;transition:opacity .8s ease}
.js .co-timeline.is-animated .co-tl-step.is-lit{opacity:1}

.co-products{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:none}
.co-products a{display:block;height:100%;padding:18px 18px 20px;border:1px solid var(--line);border-radius:14px;text-decoration:none;background:rgba(10,16,32,.45);transition:border-color .25s,background .25s}
.co-products a:hover,.co-products a:focus-visible{background:rgba(232,238,247,.04)}
.co-products b{display:block;font-size:18px;font-weight:400;margin-bottom:6px}
.co-products b::after{content:' →';color:var(--pc);opacity:.8}
.co-products span{display:block;color:var(--body);font-size:14px;line-height:1.5}
.co-p-imperium{--pc:#eac557}.co-p-otopia{--pc:#b88ae4}.co-p-observatory{--pc:var(--cyan)}
.co-products a{border-top:2px solid var(--pc)}
.co-products a:hover{border-color:var(--pc)}
.co-tl-now{max-width:none}
.co-tl-now>p,.co-tl-now>h3{max-width:820px}

/* ---------- Story quote. */
.co-story{align-items:start}
.co-story .intro a{color:var(--ink);text-decoration-color:var(--accent);text-underline-offset:3px}
.co-story strong{font-weight:500;color:var(--ink)}
.co-quote{margin:0;padding:clamp(28px,4vw,44px);border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,rgba(148,112,245,.1),rgba(5,9,20,.5) 60%)}
.co-quote blockquote{margin:0}
.co-quote p{margin:0;font-size:clamp(22px,2.3vw,32px);line-height:1.3;font-weight:300;color:var(--ink);text-wrap:balance}
.co-quote figcaption{margin-top:18px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}

/* ---------- Case studies. */
.co-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,28px);margin-top:clamp(40px,6vh,60px)}
.co-case{padding:26px 26px 28px;border:1px solid var(--line);border-radius:16px;background:rgba(10,16,32,.4)}
.co-case-who{margin:0 0 10px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent)}
.co-case h3{font-size:20px;font-weight:400;line-height:1.3}
.co-case p:last-child{margin:10px 0 0;color:var(--body);font-size:15px}

/* ---------- Customer names: a quiet typographic wall, no logos. */
.co-names{list-style:none;margin:clamp(40px,6vh,60px) 0 0;padding:clamp(28px,4vw,44px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:center;gap:16px clamp(24px,3vw,44px);text-align:center}
.co-names li{font-size:clamp(17px,1.7vw,23px);font-weight:300;line-height:1.3;color:var(--body);white-space:nowrap;transition:color .25s}
.co-names li:hover{color:var(--ink)}

/* ---------- Expertise + facts. */
.co-expertise{align-items:start}
.co-expertise .tags{list-style:none;margin:0;padding:0}
.co-facts{align-items:start}
.co-dl{margin:0;border-top:1px solid var(--line)}
.co-dl>div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.co-dl dt{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.co-dl dd{margin:0;font-size:17px;color:var(--ink)}
.co-dl a{text-decoration-color:var(--accent);text-underline-offset:3px}

@media (max-width:980px){
  .co-products{grid-template-columns:1fr}
}
@media (max-width:640px){
  .co-cases{grid-template-columns:1fr}
  .co-names li{white-space:normal}
  .co-dl>div{grid-template-columns:1fr;gap:4px}
  .co-hero h1 br{display:none}
}
