/* =========================================================================
   PACU VENTURES, INC. — pacuventures.ai
   Design register: stealth, high-trust, private-capital.
   Typography, color, and space only — no photography, icons, or illustration.
   Palette: Abyss Blue #0D1B2A · Saffron Gold #D4A017 · White #FFFFFF ·
   Glacier Blue #507DBC · Cloud Blue #BBD1EA · Dove Gray #EFEFEF
   Type: Cinzel Bold (headlines) · Poppins Light/Regular/Medium (everything else)
   — per pacuventures.ai Brand Style Guide 2026
   ========================================================================= */

:root{
  --navy-deep: #0D1B2A;
  --navy-mid:  #1A2E44;
  --gold:      #D4A017;
  --gold-dark: #B8860B;
  --gold-pale: #C8B87A;
  --paper:     #FFFFFF;

  /* secondary palette (per Brand Style Guide) */
  --glacier:   #507DBC;   /* Glacier Blue */
  --cloud:     #BBD1EA;   /* Cloud Blue  */
  --dove:      #EFEFEF;   /* Dove Gray   */

  /* neutrals derived from navy (no new hues) */
  --ink:        #0D1B2A;
  --ink-soft:   #46586A;   /* muted navy tint for secondary prose */
  --line:       rgba(13,27,42,.14);
  --line-strong:rgba(13,27,42,.26);

  /* on navy */
  --on-navy:      #FFFFFF;
  --on-navy-soft: #BBD1EA;
  --navy-line:    rgba(255,255,255,.16);
  --navy-line-2:  rgba(255,255,255,.28);

  --f-display: "Cinzel", Georgia, serif;
  --f-body:    "Poppins", system-ui, sans-serif;
  --f-meta:    "Poppins", system-ui, sans-serif;

  --maxw: 1140px;
  --pad:  clamp(1.25rem, 5vw, 3rem);
  --sect: clamp(4.75rem, 10vw, 9rem);
  --radius: 3px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--f-body);
  font-weight:300;
  font-size:1.175rem;
  line-height:1.72;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
p{ margin:0; }
h1,h2,h3{ margin:0; font-family:var(--f-display); font-weight:700; line-height:1.14;
  letter-spacing:.03em; }
::selection{ background:var(--gold); color:var(--navy-deep); }

/* layout ------------------------------------------------------------------ */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad); }
.section{ padding-block:var(--sect); }
.rule{ border:0; border-top:1px solid var(--line); margin:0; }
.center{ text-align:center; }

/* metadata label (Josefin) ------------------------------------------------ */
.label{
  font-family:var(--f-meta); font-weight:500;
  font-size:.72rem; letter-spacing:.34em; text-transform:uppercase;
  color:var(--gold-dark);
  display:inline-flex; align-items:center; gap:.7rem; margin:0 0 1.5rem;
}
.label::before{ content:""; width:30px; height:1px; background:var(--gold); flex:none; }
.label--plain{ display:block; }
.label--plain::before{ display:none; }
.on-navy .label{ color:var(--gold-pale); }

/* buttons ----------------------------------------------------------------- */
.btn{
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:var(--f-meta); font-weight:600; font-size:.82rem;
  letter-spacing:.14em; text-transform:uppercase;
  padding:1.05rem 1.9rem; border-radius:var(--radius);
  background:var(--gold); color:var(--navy-deep); border:1px solid var(--gold);
  cursor:pointer; transition:background .18s, border-color .18s, transform .18s, box-shadow .18s;
}
.btn:hover{ background:var(--gold-dark); border-color:var(--gold-dark); transform:translateY(-2px);
  box-shadow:0 14px 30px -14px rgba(212,160,23,.6); }
.btn .arw{ transition:transform .18s; }
.btn:hover .arw{ transform:translateX(4px); }
.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--line-strong); }
.btn--ghost:hover{ background:transparent; border-color:var(--gold-dark); color:var(--gold-dark);
  box-shadow:none; transform:translateY(-2px); }
.on-navy .btn--ghost{ color:var(--on-navy); border-color:var(--navy-line-2); }
.on-navy .btn--ghost:hover{ color:var(--gold); border-color:var(--gold); }

/* navy sections ----------------------------------------------------------- */
.on-navy{ background:var(--navy-deep); color:var(--on-navy); }
.on-navy h1, .on-navy h2, .on-navy h3{ color:var(--on-navy); }

/* header / nav ------------------------------------------------------------ */
.site-head{ position:sticky; top:0; z-index:50; background:var(--navy-deep);
  border-bottom:1px solid var(--navy-line); }
.nav{ display:flex; align-items:center; justify-content:space-between; height:88px; gap:1rem; }
.brand img{ height:46px; width:auto; }
.nav__links{ display:none; align-items:center; gap:2.4rem; }
.nav__links a{
  font-family:var(--f-meta); font-weight:400; font-size:.8rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--on-navy-soft); position:relative; padding:.4rem 0;
  transition:color .16s; }
.nav__links a::after{ content:""; position:absolute; left:0; bottom:-3px; height:1px; width:0;
  background:var(--gold); transition:width .22s ease; }
.nav__links a:hover, .nav__links a[aria-current="page"]{ color:var(--on-navy); }
.nav__links a:hover::after, .nav__links a[aria-current="page"]::after{ width:100%; }
.nav__cta{ display:none; }
@media(min-width:940px){ .nav__links{ display:flex; } .nav__cta{ display:inline-flex; } }
.nav__cta{ padding:.72rem 1.3rem; font-size:.76rem; }
.nav__toggle{ display:inline-flex; flex-direction:column; gap:5px; background:none; border:0;
  cursor:pointer; padding:8px; }
.nav__toggle span{ width:24px; height:2px; background:var(--gold); transition:.25s; }
@media(min-width:940px){ .nav__toggle{ display:none; } }
.nav__toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav__toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav__toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.mobile-menu{ display:none; background:var(--navy-deep); border-bottom:1px solid var(--navy-line); }
.mobile-menu.open{ display:block; }
.mobile-menu a{ display:block; padding:1.1rem var(--pad); border-top:1px solid var(--navy-line);
  font-family:var(--f-meta); font-size:.85rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--on-navy-soft); }
.mobile-menu a.is-cta{ color:var(--gold); }
.mobile-menu a:first-child{ border-top:0; }

/* hero -------------------------------------------------------------------- */
.hero{ position:relative; background:
    radial-gradient(1100px 760px at 112% 26%, rgba(212,160,23,.20), transparent 58%),
    var(--navy-deep);
  color:var(--on-navy); overflow:hidden; }
.hero__inner{ padding-block:clamp(5rem,13vw,10rem); max-width:47rem; }
.hero h1{ font-size:clamp(2.4rem,6vw,4.7rem); color:var(--on-navy); letter-spacing:.035em;
  line-height:1.1; max-width:15ch; }
.hero__sub{ font-family:var(--f-body); font-size:clamp(1.2rem,2.1vw,1.5rem); line-height:1.6;
  color:var(--on-navy-soft); margin-top:1.8rem; max-width:38ch; }
.hero__cta{ margin-top:2.6rem; display:flex; flex-wrap:wrap; gap:1rem; }

/* thesis (paper, single column prose) ------------------------------------- */
.thesis{ max-width:62ch; }
.thesis p{ font-size:clamp(1.3rem,2.2vw,1.6rem); line-height:1.66; color:var(--ink); }
.thesis p + p{ margin-top:1.3rem; }

/* signal metrics bar (navy) ----------------------------------------------- */
.metrics{ background:var(--navy-deep); color:var(--on-navy); }
.metrics__row{ display:grid; grid-template-columns:repeat(2,1fr); }
@media(min-width:820px){ .metrics__row{ grid-template-columns:repeat(4,1fr); } }
.metric{ padding:clamp(2.4rem,5vw,3.6rem) var(--pad); border-top:1px solid var(--navy-line);
  border-right:1px solid var(--navy-line); }
.metric:nth-child(2n){ border-right:0; }
@media(min-width:820px){
  .metric{ border-top:0; }
  .metric:nth-child(2n){ border-right:1px solid var(--navy-line); }
  .metric:last-child{ border-right:0; }
}
.metric__num{ font-family:var(--f-meta); font-weight:600; letter-spacing:-.01em;
  font-size:clamp(2.6rem,5.6vw,4rem); line-height:1; color:var(--gold); }
.metric__lab{ font-family:var(--f-meta); font-weight:400; font-size:.74rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--on-navy-soft); margin-top:1rem; }

/* heading block ----------------------------------------------------------- */
.head{ max-width:60ch; }
.head h2{ font-size:clamp(1.8rem,3.6vw,2.9rem); letter-spacing:.03em; }
.head p{ font-family:var(--f-body); color:var(--ink-soft); margin-top:1.3rem; max-width:58ch;
  font-size:1.15rem; }
.on-navy .head p{ color:var(--on-navy-soft); }

/* three-pathway signal cards (paper) -------------------------------------- */
.paths{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line);
  border-radius:var(--radius); overflow:hidden; margin-top:clamp(2.6rem,5vw,3.6rem); }
@media(min-width:860px){ .paths{ grid-template-columns:repeat(3,1fr); } }
.path{ background:var(--paper); padding:clamp(2rem,3.5vw,2.8rem);
  display:flex; flex-direction:column; gap:1rem; transition:background .2s; }
.path:hover{ background:#fff; }
.path__title{ font-family:var(--f-display); font-weight:700; font-size:1.32rem; letter-spacing:.02em;
  color:var(--ink); }
.path p{ font-family:var(--f-body); color:var(--ink-soft); font-size:1.08rem; flex:1; }
.path__link{ font-family:var(--f-meta); font-weight:600; font-size:.76rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--gold-dark); display:inline-flex; align-items:center; gap:.5rem; }
.path__link .arw{ transition:transform .18s; }
.path:hover .path__link .arw{ transform:translateX(4px); }

/* prose + definition list (platform / physicians) ------------------------- */
.prose{ max-width:64ch; }
.prose p{ font-size:1.18rem; line-height:1.74; color:var(--ink); }
.prose p + p{ margin-top:1.25rem; }
.prose--soft p{ color:var(--ink-soft); }

.stack{ margin-top:clamp(2.4rem,4vw,3.2rem); border-top:1px solid var(--line); }
.stack__row{ display:grid; gap:.5rem 2.5rem; padding:1.6rem 0; border-bottom:1px solid var(--line); }
@media(min-width:760px){ .stack__row{ grid-template-columns:.5fr 1fr; align-items:baseline; } }
.stack__term{ font-family:var(--f-meta); font-weight:600; font-size:.86rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--navy-mid); }
.stack__def{ font-family:var(--f-body); font-size:1.12rem; color:var(--ink-soft); }

/* pull stat (replication thesis) ------------------------------------------ */
.stat{ margin-top:clamp(2.2rem,4vw,3rem); padding:clamp(2rem,4vw,2.8rem); background:var(--navy-mid);
  color:var(--on-navy); border-radius:var(--radius); max-width:52ch; }
.stat__big{ font-family:var(--f-meta); font-weight:600; font-size:clamp(2rem,4vw,2.8rem);
  color:var(--gold); line-height:1.05; }
.stat p{ font-family:var(--f-body); color:var(--on-navy-soft); margin-top:1rem; font-size:1.12rem; }

/* closing cta (navy) ------------------------------------------------------ */
.cta{ background:var(--navy-deep); color:var(--on-navy); }
.cta__inner{ max-width:40ch; }
.cta h2{ color:var(--on-navy); font-size:clamp(1.9rem,4vw,3.1rem); letter-spacing:.03em; }
.cta p{ font-family:var(--f-body); color:var(--on-navy-soft); margin-top:1.2rem; font-size:1.18rem; }
.cta__cta{ margin-top:2.2rem; }

/* page hero (interior, navy compact) -------------------------------------- */
.page-hero{ background:
    radial-gradient(900px 620px at 110% 20%, rgba(212,160,23,.16), transparent 58%),
    var(--navy-deep);
  color:var(--on-navy); padding-block:clamp(4rem,9vw,6.5rem) clamp(3rem,6vw,4.5rem); }
.page-hero h1{ color:var(--on-navy); font-size:clamp(2.2rem,5.4vw,4rem); letter-spacing:.035em;
  max-width:18ch; }
.page-hero p{ font-family:var(--f-body); color:var(--on-navy-soft); font-size:clamp(1.15rem,2vw,1.4rem);
  line-height:1.6; max-width:44ch; margin-top:1.5rem; }

/* contact form (the product) ---------------------------------------------- */
.form-grid{ display:grid; gap:clamp(2.4rem,5vw,4rem); margin-top:clamp(2rem,4vw,3rem); }
@media(min-width:900px){ .form-grid{ grid-template-columns:1.2fr .8fr; align-items:start; } }
.field{ margin-bottom:1.5rem; }
.field label{ display:block; font-family:var(--f-meta); font-weight:500; font-size:.74rem;
  letter-spacing:.18em; text-transform:uppercase; color:var(--navy-mid); margin-bottom:.6rem; }
.field input, .field select, .field textarea{
  width:100%; background:#fff; border:1px solid var(--line-strong); border-radius:var(--radius);
  color:var(--ink); font-family:var(--f-body); font-size:1.12rem; padding:.95rem 1.05rem;
  transition:border-color .15s, box-shadow .15s; }
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(212,160,23,.16); }
.field textarea{ min-height:130px; resize:vertical; }
.form__note{ font-family:var(--f-meta); font-size:.8rem; letter-spacing:.06em; color:var(--gold-dark);
  margin-top:.6rem; display:none; }
.aside-card{ border:1px solid var(--line); border-left:2px solid var(--gold); border-radius:var(--radius);
  background:#fff; padding:clamp(1.6rem,3vw,2.2rem); }
.aside-card h3{ font-family:var(--f-display); font-size:1.2rem; letter-spacing:.02em; }
.aside-card p{ font-family:var(--f-body); color:var(--ink-soft); margin-top:.8rem; font-size:1.08rem; }
.aside-card dl{ margin:1.4rem 0 0; display:grid; gap:.9rem; }
.aside-card dt{ font-family:var(--f-meta); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--navy-mid); }
.aside-card dd{ margin:.15rem 0 0; font-family:var(--f-body); color:var(--ink-soft); font-size:1.05rem; }

/* gated request pages ----------------------------------------------------- */
.gate{ max-width:56ch; }
.gate .lockline{ font-family:var(--f-meta); font-size:.74rem; letter-spacing:.24em;
  text-transform:uppercase; color:var(--gold-dark); margin-bottom:1.2rem; }
.gate ul{ margin:1.6rem 0 0; padding:0; list-style:none; display:grid; gap:.8rem; }
.gate li{ font-family:var(--f-body); color:var(--ink-soft); font-size:1.12rem; padding-left:1.4rem;
  position:relative; }
.gate li::before{ content:"—"; position:absolute; left:0; color:var(--gold-dark); }

/* footer (navy) ----------------------------------------------------------- */
.site-foot{ background:var(--navy-deep); color:var(--on-navy-soft);
  padding-block:clamp(3rem,6vw,4.5rem) 2rem; border-top:1px solid var(--navy-line); }
.foot__top{ display:grid; gap:2.4rem; }
@media(min-width:820px){ .foot__top{ grid-template-columns:1.5fr repeat(2,1fr); } }
.foot__brand img{ height:42px; margin-bottom:1.2rem; }
.foot__brand p{ font-family:var(--f-body); color:var(--on-navy-soft); font-size:1.05rem; max-width:42ch; }
.foot__col h4{ font-family:var(--f-meta); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold-pale); margin:0 0 1.1rem; font-weight:500; }
.foot__col a{ display:block; font-family:var(--f-meta); font-size:.82rem; letter-spacing:.08em;
  color:var(--on-navy-soft); padding:.36rem 0; transition:color .15s; }
.foot__col a:hover{ color:var(--gold); }
.foot__bottom{ display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; justify-content:space-between;
  align-items:center; margin-top:2.8rem; padding-top:1.6rem; border-top:1px solid var(--navy-line);
  font-family:var(--f-meta); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--on-navy-soft); }

/* live network vitals — heartbeat signature (echoes the mark's ECG wave) --- */
.ecg{ position:relative; width:100%; height:104px; margin-top:clamp(2.4rem,5vw,3.6rem);
  border-top:1px solid var(--navy-line); }
.ecg svg{ display:block; width:100%; height:100%; }
.ecg__base{ fill:none; stroke:rgba(212,160,23,.20); stroke-width:1.3; }
.ecg__pulse{ fill:none; stroke:var(--gold); stroke-width:2.3;
  filter:drop-shadow(0 0 5px rgba(212,160,23,.6));
  stroke-linecap:round; stroke-linejoin:round; }
.ecg__dot{ fill:#F0C24A; filter:drop-shadow(0 0 6px rgba(212,160,23,.9)); }
.ecg__tag{ position:absolute; top:10px; right:var(--pad); display:inline-flex; align-items:center;
  gap:.6rem; font-family:var(--f-meta); font-weight:500; font-size:.66rem; letter-spacing:.28em;
  text-transform:uppercase; color:var(--gold-pale); }
.ecg__live{ width:6px; height:6px; border-radius:50%; background:var(--gold); flex:none;
  box-shadow:0 0 0 0 rgba(212,160,23,.6); animation:vital-pulse 2.4s infinite; }
@keyframes vital-pulse{
  0%{ box-shadow:0 0 0 0 rgba(212,160,23,.6); }
  70%{ box-shadow:0 0 0 7px rgba(212,160,23,0); }
  100%{ box-shadow:0 0 0 0 rgba(212,160,23,0); }
}

/* hero metric cards (under the heartbeat) --------------------------------- */
.hero-metrics{ padding-block:clamp(2rem,4vw,3rem) clamp(3rem,6vw,4.5rem);
  display:grid; gap:clamp(.8rem,1.5vw,1.15rem); grid-template-columns:1fr; }
@media(min-width:520px){ .hero-metrics{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:780px){ .hero-metrics{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:1040px){ .hero-metrics{ grid-template-columns:repeat(5,1fr); } }
.hmetric{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.11);
  border-radius:12px; padding:clamp(1.6rem,2.6vw,2.1rem) 1.1rem;
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:.5rem; }
.hmetric__icon{ width:32px; height:32px; color:var(--gold-pale); margin-bottom:.5rem; }
.hmetric__icon svg{ width:100%; height:100%; display:block; stroke:currentColor; fill:none;
  stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.hmetric__num{ font-family:var(--f-meta); font-weight:500; letter-spacing:.01em;
  font-size:clamp(2.1rem,3.6vw,2.9rem); line-height:1; color:var(--gold); }
.hmetric__lab{ font-family:var(--f-meta); font-weight:400; font-size:.82rem; line-height:1.4;
  color:var(--on-navy-soft); max-width:22ch; }

/* ==========================================================================
   Developer Hit List v1.0 — Items 2/3 fixes.
   Brand tokens below are hardcoded per these items only (scoped exception),
   not merged into :root — do not reuse these hex values elsewhere.
   ========================================================================== */

/* replication band (full-width, 3-column) — item 2 ------------------------ */
.repl-band{ margin-top:clamp(2.2rem,4vw,3rem); padding:clamp(2.4rem,5vw,3.2rem) clamp(2rem,4vw,3rem);
  background:#14243D; border-radius:var(--radius); }
.repl-band__headline{ font-family:var(--f-body); font-weight:500; font-size:26px; line-height:1.35;
  color:#F5F1E8; max-width:56ch; margin-top:1.4rem; }
.repl-band__cols{ display:grid; gap:2rem; margin-top:2.6rem; }
@media(min-width:760px){ .repl-band__cols{ grid-template-columns:repeat(3,1fr); gap:2.4rem; } }
.repl-band__col{ padding-top:1.1rem; border-top:1px solid rgba(201,168,76,.55); }
.repl-band__num{ font-family:var(--f-meta); font-weight:500; font-size:.72rem; letter-spacing:.2em;
  text-transform:uppercase; color:#C9A84C; margin-bottom:.7rem; }
.repl-band__title{ font-family:var(--f-body); font-weight:600; font-size:16px; color:#F5F1E8; }
.repl-band__body{ font-family:var(--f-body); font-size:13px; line-height:1.6; color:rgba(245,241,232,.72);
  margin-top:.5rem; }
.repl-band__closing{ font-family:var(--f-body); font-size:1.05rem; color:#F5F1E8; margin-top:2.2rem;
  padding-top:1.6rem; border-top:1px solid rgba(245,241,232,.14); }
.repl-band__closing .accent{ color:#C9A84C; }

/* investor notice band — item 3 -------------------------------------------- */
.notice-band{ margin-top:clamp(2.2rem,4vw,3rem); padding:34px clamp(1.6rem,3vw,2.4rem);
  background:#14243D; border-radius:var(--radius); border-left:2px solid #C9A84C;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.6rem 2rem; }
.notice-band__text{ flex:1 1 320px; }
.notice-band__label{ font-family:var(--f-meta); font-weight:500; font-size:.72rem; letter-spacing:.2em;
  text-transform:uppercase; color:#C9A84C; margin-bottom:.6rem; }
.notice-band__line1{ font-family:var(--f-body); font-weight:500; font-size:18px; color:#F5F1E8; }
.notice-band__line2{ font-family:var(--f-body); font-size:13px; color:rgba(245,241,232,.66); margin-top:.4rem; }
.btn--gold-outline{ background:transparent; color:#C9A84C; border:1px solid #C9A84C; flex:none; }
.btn--gold-outline:hover{ background:#C9A84C; color:#14243D; box-shadow:none; transform:translateY(-2px); }
@media(max-width:600px){
  .notice-band{ flex-direction:column; align-items:stretch; }
  .btn--gold-outline{ width:100%; justify-content:center; }
}

/* motion + focus ---------------------------------------------------------- */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .8s ease, transform .8s ease; }
.reveal.in{ opacity:1; transform:none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--gold); outline-offset:3px; border-radius:2px; }
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important;
     scroll-behavior:auto !important; }
  .reveal{ opacity:1; transform:none; }
}
