/* ===================================================================
   Company page overrides. Scoped under body.company-page so index.html,
   nano-immersion.html, technology.html, science-validation.html and
   applications.html are completely unaffected. Same visual system as the
   homepage and NANO Immersion page: deep navy -> steel graphite ->
   warm white -> steel graphite -> deep navy, clean sans-serif throughout.
   =================================================================== */
:root{
  --cp-bg:#0A1626;
  --cp-graphite:#1B2531;
  --cp-graphite-line:rgba(255,255,255,0.14);
  --cp-light:#FAF9F5;
  --cp-light-line:#DAD5C8;
  --cp-ink:#F4F6F9;
  --cp-ink-soft:#B7C3D1;
  --cp-ink-dim:#7C8CA6;
  --cp-dark:#1C2430;
  --cp-dark-soft:#525E6E;
  --cp-blue:#2E67E8;
  --cp-blue-deep:#1E4FC7;
}

body.company-page{
  font-family:'Helvetica Neue',Arial,sans-serif;
  background:var(--cp-bg);
  color:var(--cp-ink);
  line-height:1.6;
}
body.company-page p{line-height:1.65;}
body.company-page h1,
body.company-page h2,
body.company-page h3,
body.company-page h4{font-family:'Helvetica Neue',Arial,sans-serif;}

/* Header / nav / buttons */
body.company-page header.site-header{background:rgba(10,22,38,0.92);}
body.company-page .nav-cta{background:var(--cp-blue);}
body.company-page .nav-cta:hover{background:var(--cp-blue-deep);}
body.company-page .nav-links a:hover,
body.company-page .nav-links a.active{border-color:var(--cp-blue);}
body.company-page .btn-primary{background:var(--cp-blue);}
body.company-page .btn-primary:hover{background:var(--cp-blue-deep);}
body.company-page .btn-ghost:hover{border-color:var(--cp-blue);color:var(--cp-blue);}
body.company-page .hero-eyebrow,
body.company-page .section-tag{
  text-transform:uppercase;font-weight:700;letter-spacing:0.07em;
}

/* ---------- Hero — typography-only, no abstract graphic ---------- */
.cp-hero{padding-bottom:60px;}
.cp-hero h1{font-size:44px;font-weight:600;line-height:1.18;letter-spacing:-0.01em;max-width:900px;text-wrap:balance;}
.nowrap{white-space:nowrap;}
.cp-hero p{max-width:620px;}
.cp-hero p + p{margin-top:14px;}

/* ---------- Founders' Experience (graphite) ---------- */
.cp-founders{background:var(--cp-graphite);border-bottom:1px solid var(--cp-graphite-line);}
.cp-founders .section-title{color:var(--cp-ink);max-width:700px;}
.cp-founders-body{margin-top:28px;max-width:700px;display:flex;flex-direction:column;gap:16px;}
.cp-founders-body p{font-size:16px;line-height:1.7;color:var(--cp-ink-soft);}
.cp-founders-body strong{color:var(--cp-ink);font-weight:600;}

/* ---------- Tom Ryan Feature (warm white — the strongest visual moment) ---------- */
.cp-tom{background:var(--cp-light);color:var(--cp-dark);border-bottom:1px solid var(--cp-light-line);}
.cp-tom .section-tag{color:var(--cp-blue);}
.cp-tom-wrap{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:start;}

.cp-tom-portrait-frame{
  border-radius:12px;overflow:hidden;aspect-ratio:4/5;background:var(--cp-dark);
  box-shadow:0 30px 70px -28px rgba(28,36,48,0.4);
}
.cp-tom-portrait-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.cp-tom-name{margin-top:20px;font-size:19px;font-weight:700;color:var(--cp-dark);letter-spacing:-0.005em;}
.cp-tom-title{margin-top:4px;font-size:14px;font-weight:600;color:var(--cp-blue);}

.cp-tom-copy h2{font-size:clamp(28px, 2.8vw, 36px);font-weight:600;letter-spacing:-0.02em;line-height:1.2;color:var(--cp-dark);max-width:600px;}
.cp-tom-copy p{margin-top:18px;font-size:16px;line-height:1.7;color:var(--cp-dark-soft);max-width:620px;}

.cp-tom-award{
  margin-top:26px;padding:22px 28px;border-left:4px solid var(--cp-blue);
  background:#F1EEE3;border-radius:0 8px 8px 0;max-width:620px;
  box-shadow:0 16px 36px -24px rgba(28,36,48,0.28);
}
.cp-tom-award p{margin-top:0;font-size:16px;font-weight:400;line-height:1.6;color:var(--cp-dark-soft);max-width:none;}
.cp-tom-award p strong{font-weight:700;color:var(--cp-dark);}
.cp-tom-award-link{
  display:inline-block;margin-top:12px;font-size:13.5px;font-weight:600;color:var(--cp-blue);
  border-bottom:1px solid var(--cp-blue);padding-bottom:1px;
}
.cp-tom-award-link:hover{color:var(--cp-blue-deep);border-color:var(--cp-blue-deep);}

.cp-tom-support{
  margin-top:56px;padding-top:40px;border-top:1px solid var(--cp-light-line);
  display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;
}
.cp-tom-support h3{font-size:20px;font-weight:700;color:var(--cp-dark);letter-spacing:-0.01em;}
.cp-tom-support p{font-size:15.5px;line-height:1.7;color:var(--cp-dark-soft);max-width:600px;}
.cp-tom-support p + p{margin-top:14px;}

/* ---------- Leadership (graphite — finished as text, no photo slots) ---------- */
.cp-leadership{background:var(--cp-graphite);border-bottom:1px solid var(--cp-graphite-line);}
.cp-leadership .section-title{color:var(--cp-ink);max-width:660px;}
.cp-leadership .section-lede{color:var(--cp-ink-soft);}

.cp-leader-list{margin-top:48px;border-top:1px solid var(--cp-graphite-line);}
.cp-leader-row{
  display:grid;grid-template-columns:340px minmax(0,1fr);gap:48px;padding:38px 0;
  border-bottom:1px solid var(--cp-graphite-line);align-items:start;
}
.cp-leader-name{font-size:19px;font-weight:700;line-height:1.3;color:var(--cp-ink);letter-spacing:-0.01em;}
.cp-leader-title{margin-top:6px;font-size:14.5px;font-weight:600;color:var(--cp-blue);line-height:1.45;}
.cp-leader-title .t-line{display:block;}
.cp-leader-desc{font-size:16.5px;line-height:1.7;color:var(--cp-ink-soft);max-width:740px;margin-top:2px;}
/* Align the top of the name with the first line of the paragraph */
.cp-leader-name{margin-top:0;}

/* ---------- Final Invitation (deep navy) ---------- */
.cp-invite-note{margin-top:26px;font-size:14px;color:var(--cp-ink-dim);}
@media (min-width:821px){
  body.company-page .cta-headline{max-width:none;line-height:1.18;}
  body.company-page .tx-line{display:block;}
}
.closing p.cp-direct{margin-top:22px;font-size:15px;color:var(--cp-ink-soft);max-width:none;}
.cp-direct a{color:var(--cp-ink);border-bottom:1px solid var(--cp-graphite-line);}
.cp-direct a:hover{border-color:var(--cp-blue);color:var(--cp-blue);}

/* ---------- Responsive ---------- */
@media (max-width:820px){
  .cp-hero h1{font-size:34px;}
  .cp-tom-wrap{grid-template-columns:1fr;gap:30px;}
  .cp-tom-portrait-frame{max-width:340px;}
  .cp-tom-support{grid-template-columns:1fr;gap:18px;}
  .cp-leader-row{grid-template-columns:1fr;gap:12px;padding:28px 0;}
  .cp-leader-title .t-line{display:inline;}
  .nowrap{white-space:normal;}
  .cp-leader-desc{align-self:auto;}
}
@media (max-width:640px){
  .cp-hero h1{font-size:28px;}
}
