/* ============================================================
   Infinitum Cor — shared interior-page styles
   New Earth theme: dark verdant ground, bioluminescent accents,
   tuned to match the homepage spine experience. Variable NAMES
   are unchanged so every page recolors in lockstep.
   ============================================================ */
:root{
  /* surfaces (dark) */
  --cream:#0A1310; --cream-2:#10201A; --paper:#0E1A15; --white:rgba(20,34,28,.66);
  --line:rgba(143,216,194,.22); --line-2:rgba(143,216,194,.13);
  /* text */
  --ink:#EDE7D8; --ink-soft:#B7C6B2; --muted:#7F9089; --taupe:#9AA79A;
  /* bioluminescent accents */
  --green:#9FD8C2; --green-l:#BFE8D6; --green-d:#8FD8C2; --forest:#4FA98A;
  --terra:#E6A24E; --tan:#E6C66A; --gold:#E6C66A; --teal:#5FE6CE; --teal-d:#2BB3A3;
  --glass:rgba(20,34,28,.66); --glass-2:rgba(8,16,12,.82);
  --panel:var(--glass);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:#0a1310;color:var(--ink-soft);
  font-family:'Outfit',sans-serif;font-weight:300;line-height:1.75;font-size:1.07rem;
  position:relative;min-height:100vh;
  background-image:linear-gradient(180deg,#16271f 0%,#0f1c16 46%,#0a1310 100%);
  background-attachment:fixed;
}
/* ambient glow blooms — a new earth rising behind the words */
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(60vw 42vw at 80% -6%, rgba(95,230,206,.11), transparent 60%),
    radial-gradient(52vw 40vw at 6% 6%, rgba(230,198,106,.07), transparent 58%),
    radial-gradient(60vw 48vw at 50% 110%, rgba(79,169,138,.13), transparent 62%);}
/* drifting starfield (tiled) — the same cosmos the column hangs in */
body::after{content:"";position:fixed;inset:-25%;z-index:-1;pointer-events:none;opacity:.55;
  background-image:
    radial-gradient(1.3px 1.3px at 20% 30%, rgba(242,237,227,.75), transparent),
    radial-gradient(1px 1px at 70% 62%, rgba(143,224,204,.6), transparent),
    radial-gradient(1.5px 1.5px at 42% 82%, rgba(230,198,106,.5), transparent),
    radial-gradient(1px 1px at 86% 18%, rgba(242,237,227,.6), transparent),
    radial-gradient(1px 1px at 55% 44%, rgba(143,224,204,.5), transparent),
    radial-gradient(1.2px 1.2px at 12% 70%, rgba(242,237,227,.5), transparent);
  background-size:240px 240px;animation:starDrift 90s linear infinite}
@keyframes starDrift{from{background-position:0 0}to{background-position:0 -480px}}
@media (prefers-reduced-motion:reduce){ body::after{animation:none} }

a{color:var(--green);text-decoration:none}
a:hover{color:var(--green-l)}
.wrap{max-width:980px;margin:0 auto;padding:0 22px;position:relative;z-index:1}
.serif{font-family:'Cormorant Garamond',serif}

/* ---- top nav ---- */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);
  background:rgba(10,19,16,.72);border-bottom:1px solid var(--line)}
.nav .row{max-width:1100px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;gap:22px;justify-content:space-between}
.nav .brand{font-family:'Cormorant Garamond',serif;font-size:1.15rem;letter-spacing:.14em;color:var(--ink);text-transform:uppercase}
.nav .links{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.nav .links a{font-size:.82rem;letter-spacing:.08em;color:var(--ink-soft)}
.nav .links a:hover,.nav .links a[aria-current="page"]{color:var(--teal)}
@media (max-width:720px){ .nav .links{gap:12px} .nav .links a{font-size:.74rem} }

/* ---- hero / headings ---- */
.hero{padding:72px 0 26px;text-align:center}
.eyebrow{font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}
h1.title{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(2.5rem,6.5vw,4rem);letter-spacing:.02em;line-height:1.08;
  background:linear-gradient(115deg,var(--forest) 14%,var(--green) 46%,var(--green-l) 72%,var(--teal) 100%);
  background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:titleShimmer 8s linear infinite}
@keyframes titleShimmer{to{background-position:220% center}}
@media (prefers-reduced-motion:reduce){ h1.title{animation:none} }
.subtitle{color:var(--ink-soft);max-width:62ch;margin:16px auto 0;font-size:1.2rem;line-height:1.7}
h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(1.5rem,4vw,2.1rem);letter-spacing:.02em;margin:48px 0 10px;color:var(--ink)}
h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.3rem;letter-spacing:.02em;margin:0 0 8px;color:var(--ink)}
.chapnum{display:block;font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--terra);margin-bottom:2px}
p{margin:0 0 16px;color:var(--ink-soft)}
p.lede{font-size:1.28rem;line-height:1.62;color:var(--ink)}
strong{color:var(--ink);font-weight:400}
.muted{color:var(--muted)}

/* ---- panels / cards — translucent glass, like the home cards ---- */
.panel{background:linear-gradient(180deg,var(--glass),var(--glass-2));border:1px solid var(--line);border-radius:18px;padding:26px 28px;margin:18px 0;
  backdrop-filter:blur(6px);box-shadow:0 16px 40px rgba(0,0,0,.30)}
.grid{display:grid;gap:16px}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid.three{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:linear-gradient(180deg,var(--glass),var(--glass-2));border:1px solid var(--line);border-radius:16px;padding:22px;
  backdrop-filter:blur(6px);transition:border-color .3s,transform .3s,box-shadow .3s;box-shadow:0 14px 30px rgba(0,0,0,.26)}
.card:hover{border-color:var(--green-l);transform:translateY(-2px);box-shadow:0 18px 40px rgba(95,230,206,.16)}
.tag{display:inline-block;font-family:'Space Mono',monospace;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:8px}
.status{display:inline-block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green);
  border:1px solid var(--line);border-radius:20px;padding:3px 10px;margin-top:8px}
.status.dev{color:var(--terra);border-color:rgba(230,162,78,.4)}

/* stat blocks */
.stats{display:flex;flex-wrap:wrap;gap:26px;justify-content:center;margin:24px 0}
.stat{text-align:center;min-width:120px}
.stat .n{font-family:'Cormorant Garamond',serif;font-size:2.1rem;color:var(--teal)}
.stat .l{font-size:.74rem;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}

/* pull quote */
.quote{border-left:2px solid var(--terra);padding:6px 0 6px 22px;margin:26px 0;font-family:'Cormorant Garamond',serif;
  font-size:1.4rem;color:var(--ink);font-style:italic}
.quote cite{display:block;margin-top:8px;font-size:.85rem;font-style:normal;color:var(--muted);font-family:'Outfit',sans-serif}

/* buttons */
.btn{display:inline-block;border:1px solid var(--teal-d);color:var(--teal);border-radius:30px;
  padding:12px 26px;letter-spacing:.08em;font-size:.92rem;transition:all .3s;cursor:pointer;background:rgba(95,230,206,.08)}
.btn:hover{background:linear-gradient(135deg,var(--teal-d),var(--forest));color:#06120E;border-color:var(--teal);box-shadow:0 0 24px rgba(95,230,206,.25)}
.btn.solid{background:linear-gradient(135deg,var(--green),var(--teal-d));color:#06120E;border-color:var(--teal);font-weight:500}
.btn.solid:hover{background:linear-gradient(135deg,var(--green-l),var(--green));box-shadow:0 0 26px rgba(95,230,206,.3)}

/* lists */
ul.clean{list-style:none;margin:8px 0 16px}
ul.clean li{padding:6px 0 6px 22px;position:relative;color:var(--ink-soft)}
ul.clean li::before{content:"◈";position:absolute;left:0;color:var(--teal);font-size:.8rem;top:8px}

/* table */
table{width:100%;border-collapse:collapse;margin:18px 0;font-size:.9rem}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line)}
th{color:var(--teal);font-weight:500;letter-spacing:.06em;font-size:.74rem;text-transform:uppercase}
td{color:var(--ink-soft)}

/* forms */
form .field{margin:14px 0}
label{display:block;font-size:.8rem;letter-spacing:.06em;color:var(--taupe);margin-bottom:6px}
input,textarea,select{width:100%;background:rgba(8,16,12,.6);border:1px solid var(--line);color:var(--ink);
  border-radius:12px;padding:12px 14px;font-family:inherit;font-size:.95rem}
input::placeholder,textarea::placeholder{color:var(--muted)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--teal)}
textarea{min-height:130px;resize:vertical}

/* timeline */
.timeline{border-left:2px solid var(--line);margin:20px 0;padding-left:24px}
.timeline .phase{margin-bottom:24px;position:relative}
.timeline .phase::before{content:"";position:absolute;left:-31px;top:6px;width:12px;height:12px;border-radius:50%;
  background:var(--terra);box-shadow:0 0 0 4px rgba(230,162,78,.14)}
.timeline .phase.done::before{background:var(--teal);box-shadow:0 0 0 4px rgba(95,230,206,.16)}

/* footer */
.site-foot{margin-top:72px;border-top:1px solid var(--line);background:rgba(8,16,12,.5);position:relative;z-index:1}
.site-foot .row{max-width:1100px;margin:0 auto;padding:40px 22px;display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between}
.site-foot .col h4{font-family:'Cormorant Garamond',serif;font-size:1rem;letter-spacing:.1em;color:var(--ink);margin-bottom:10px;text-transform:uppercase}
.site-foot .col a{display:block;font-size:.84rem;color:var(--ink-soft);margin:6px 0}
.site-foot .col a:hover{color:var(--teal)}
.site-foot .legal{max-width:1100px;margin:0 auto;padding:0 22px 30px;font-size:.72rem;color:var(--muted)}
