/* Ava Solutions — yellow/black editorial (v1 palette restored) */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500&display=swap');

:root{
  --yellow:#FFE600;
  --yellow-deep:#F5CC00;
  --black:#0A0A0A;
  --ink:#111111;
  --cream:#F5F1E8;
  --cream-warm:#EFE8D6;
  --muted:rgba(10,10,10,.58);
  --muted-cream:rgba(245,241,232,.58);
  --line:rgba(10,10,10,.18);
  --line-cream:rgba(245,241,232,.22);

  --f-display:'Space Grotesk', system-ui, sans-serif;
  --f-serif:'Instrument Serif', Georgia, serif;
  --f-mono:'JetBrains Mono', ui-monospace, monospace;
  --f-body:'Inter', system-ui, sans-serif;

  --max:1440px;
  --pad:80px;
}
@media (max-width:900px){ :root{ --pad:24px; } }
@media (max-width:560px){ :root{ --pad:20px; } }

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--yellow);color:var(--black);font-family:var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}

/* Typography */
.display{font-family:var(--f-display);font-weight:700;letter-spacing:-0.035em;line-height:.88;text-transform:uppercase}
.display-xl{font-size:clamp(54px,13vw,220px)}
.display-lg{font-size:clamp(44px,9.2vw,156px)}
.display-md{font-size:clamp(34px,5.4vw,92px)}
.display-sm{font-size:clamp(24px,3.2vw,54px)}
.serif{font-family:var(--f-serif);font-weight:400}
.ital{font-family:var(--f-serif);font-style:italic;text-transform:none;font-weight:400}

.mono, .h-eyebrow{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.h-label{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.body-lg{font-family:var(--f-body);font-size:clamp(16px,1.3vw,21px);line-height:1.55;letter-spacing:-.005em}
.body{font-family:var(--f-body);font-size:15px;line-height:1.6}
.text-wrap-pretty{text-wrap:pretty}

.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
section{position:relative;padding:120px 0;overflow:hidden}
.cream-on-black{background:var(--black);color:var(--cream)}
.black-on-cream{background:var(--cream);color:var(--black)}

/* Ticker */
.ticker{position:fixed;top:0;left:0;right:0;z-index:60;background:var(--yellow);transition:background .35s, color .35s, border-color .35s;border-bottom:1px solid transparent}
.ticker.scrolled{background:rgba(10,10,10,.92);backdrop-filter:blur(14px);color:var(--cream);border-color:rgba(245,241,232,.14)}
.ticker.scrolled svg[aria-label="Ava Solutions"]{color:var(--yellow)}
.ticker-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:14px var(--pad);font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.ticker-marquee{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}
.ticker-track{display:inline-flex;gap:56px;white-space:nowrap;animation:slide 48s linear infinite}
.ticker-track span{opacity:.75}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker-nav{display:flex;gap:24px;align-items:center}
.ticker-nav a{opacity:.7;transition:opacity .2s}
.ticker-nav a:hover, .ticker-nav a.active{opacity:1}

@media (max-width:700px){
  .ticker-inner{gap:14px;padding:10px var(--pad);font-size:10px;letter-spacing:.1em}
  .ticker-marquee{mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%)}
  .ticker-track{gap:36px;animation-duration:36s}
  .ticker-nav{gap:10px}
  .ticker-nav a{font-size:10px}
}
@media (max-width:430px){
  .ticker-nav{display:none}
}

/* Logo */
.logo-mark{display:inline-flex;position:relative;vertical-align:middle}
.logo-wordmark{display:inline-flex;align-items:center;gap:14px;font-family:var(--f-display);font-weight:700;font-size:16px;letter-spacing:.02em;text-transform:uppercase}

/* Scroll-linked reveal */
.reveal-scroll{will-change:transform,opacity}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:12px;padding:18px 26px;border-radius:999px;font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;transition:transform .25s, background .25s, color .25s}
.btn--dark{background:var(--black);color:var(--yellow)}
.btn--dark:hover{transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--black);border:1px solid var(--black)}
.btn--ghost:hover{background:var(--black);color:var(--yellow)}
.btn--yellow{background:var(--yellow);color:var(--black)}
@media (max-width:560px){
  .btn{padding:14px 20px;font-size:10px;letter-spacing:.14em;gap:10px}
}

/* Spheres */
.sphere{position:absolute;border-radius:50%;pointer-events:none;will-change:transform}
.sphere--yellow{background:radial-gradient(circle at 32% 28%, #FFF8A0 0%, #FFE600 22%, #E5CF00 58%, #8A7B00 96%);box-shadow:inset -18px -26px 50px rgba(0,0,0,.35), inset 10px 14px 28px rgba(255,255,255,.35), 0 30px 60px rgba(0,0,0,.28)}
.sphere--black{background:radial-gradient(circle at 32% 28%, #5a5a5a 0%, #1a1a1a 30%, #000 70%);box-shadow:inset -14px -22px 44px rgba(0,0,0,.8), inset 8px 12px 22px rgba(255,255,255,.12), 0 28px 56px rgba(0,0,0,.5)}
.sphere .marble{position:absolute;border-radius:50%}
.sphere--yellow .marble{background:radial-gradient(circle at 32% 28%, #4a4a4a 0%, #0a0a0a 60%);box-shadow:inset -6px -8px 14px rgba(0,0,0,.8)}
.sphere--black .marble{background:radial-gradient(circle at 32% 28%, #FFF5A0 0%, #FFE600 55%, #C9B400 100%);box-shadow:inset -5px -7px 12px rgba(0,0,0,.45)}

.page-chapter{padding:40px 0 20px;font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;border-top:1px solid currentColor;opacity:.85;gap:24px;flex-wrap:wrap}
@media (max-width:560px){ .page-chapter{font-size:10px;letter-spacing:.14em;padding:28px 0 14px;gap:10px} }

.grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:32px}
@media (max-width:900px){ .grid-12{grid-template-columns:repeat(4,1fr);gap:20px} section{padding:80px 0} }
@media (max-width:560px){ section{padding:64px 0} }

.strike{position:relative;display:inline-block}
.strike::after{content:"";position:absolute;left:-4%;right:-4%;top:54%;height:8%;background:currentColor}

/* ============================================================
   Responsive layout helpers (use instead of inline grids)
   ============================================================ */

/* Hero meta row */
.p1-meta{display:flex;justify-content:space-between;gap:16px;font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.75;padding-top:60px;flex-wrap:wrap}
@media (max-width:700px){
  .p1-meta{padding-top:24px;font-size:10px;letter-spacing:.1em;gap:8px;flex-direction:column}
  .p1-meta > :nth-child(3){display:none}
}

.p1-hero-wrap{flex:1;display:flex;align-items:center;padding:80px var(--pad)}
@media (max-width:700px){ .p1-hero-wrap{padding:48px var(--pad) 32px} }

.p1-lede{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end}
@media (max-width:900px){ .p1-lede{grid-template-columns:1fr;gap:32px;align-items:start} }

/* Page 2: 3-up pillars + 4-up stats */
.p2-pillars{display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;margin-top:120px}
@media (max-width:900px){ .p2-pillars{grid-template-columns:1fr;gap:40px;margin-top:72px} }

.p2-stats{margin-top:140px;border-top:1px solid var(--black);border-bottom:1px solid var(--black);padding:60px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
@media (max-width:900px){ .p2-stats{grid-template-columns:repeat(2,1fr);gap:28px;margin-top:72px;padding:40px 0} }
@media (max-width:480px){ .p2-stats{grid-template-columns:1fr} }

/* Page 3: ecosystem rows + before/after */
.p3-row{display:grid;grid-template-columns:80px 1fr 1fr;gap:32px;align-items:baseline;padding:28px 0;border-top:1px solid var(--black)}
.p3-row:last-child{border-bottom:1px solid var(--black)}
.p3-row .p3-core{text-align:right;opacity:.65}
@media (max-width:700px){
  .p3-row{grid-template-columns:48px 1fr;gap:10px 16px;padding:20px 0}
  .p3-row .p3-core{grid-column:1 / -1;text-align:left;padding-left:64px;margin-top:4px}
}

.p3-ba{display:grid;grid-template-columns:1fr auto 1fr;gap:40px;align-items:stretch;margin-top:60px}
.p3-ba .p3-arrow{display:flex;align-items:center;justify-content:center;font-size:72px;font-family:var(--f-display);font-weight:700}
@media (max-width:900px){
  .p3-ba{grid-template-columns:1fr;gap:20px}
  .p3-ba .p3-arrow{transform:rotate(90deg);font-size:48px}
}
.p3-card{border:1px solid var(--black);border-radius:32px;padding:36px;min-height:360px;position:relative;overflow:hidden}
.p3-card--after{background:var(--black);color:var(--yellow)}
@media (max-width:560px){ .p3-card{padding:24px;min-height:300px;border-radius:24px} }

/* Page 4: principle rows + stack */
.p4-row{display:grid;grid-template-columns:100px 1fr 1.2fr;gap:40px;align-items:start;padding:40px 0;border-top:1px solid var(--line)}
.p4-row:last-child{border-bottom:1px solid var(--line)}
@media (max-width:900px){
  .p4-row{grid-template-columns:1fr;gap:14px;padding:28px 0}
  .p4-row .p4-desc{max-width:none}
}

.p4-stack-grid{margin-top:100px;display:grid;grid-template-columns:1fr 2fr;gap:60px;align-items:start}
@media (max-width:900px){ .p4-stack-grid{grid-template-columns:1fr;gap:28px;margin-top:64px} }

/* Page 5: contact + form + footer */
.p5-contact{margin-top:100px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
@media (max-width:900px){ .p5-contact{grid-template-columns:1fr;gap:48px;margin-top:64px} }

.p5-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){ .p5-form-row{grid-template-columns:1fr} }

.p5-actions{margin-top:48px;display:flex;gap:16px;flex-wrap:wrap}
@media (max-width:560px){ .p5-actions{gap:12px;margin-top:36px} .p5-actions .btn{width:100%;justify-content:space-between} }

.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px;padding-top:60px;border-top:1px solid var(--line-cream)}
@media (max-width:900px){ .footer-grid{grid-template-columns:1fr 1fr;gap:32px} }
@media (max-width:480px){ .footer-grid{grid-template-columns:1fr;gap:28px;padding-top:40px} }

/* Hero h1 yellow-on-black inline accent — tighten padding on mobile */
.hero-accent{display:inline-block;padding:0 24px 10px;background:var(--black);color:var(--yellow);text-transform:none;font-style:italic}
@media (max-width:560px){ .hero-accent{padding:0 14px 6px} }
