/* WAVN — SHARED DESIGN SYSTEM */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --night:#05040b;--ink:#0d0c1a;--surface:#111020;--surface2:#181727;--surface3:#201f32;
  --border:rgba(255,255,255,.06);--border2:rgba(255,255,255,.11);--border3:rgba(255,255,255,.18);
  --text1:#f2f0ff;--text2:#b8b4d8;--text3:#6e6a90;--text4:#3a3758;
  --accent:#8B82E8;--accent2:#C4BFFF;--gold:#E8C97A;--green:#2CC995;--red:#E05252;--blue:#60A5FA;--orange:#F97316;
  --claude:#8B82E8;--gemini:#2CC995;--mistral:#E8593C;--perplexity:#60A5FA;--cohere:#F97316;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--night);color:var(--text1);-webkit-font-smoothing:antialiased;overflow-x:hidden;font-size:17px;line-height:1.7}
::selection{background:rgba(139,130,232,.3)}
::-webkit-scrollbar{width:3px}::-webkit-scrollbar-thumb{background:var(--border2)}
a{text-decoration:none;color:inherit}
button{cursor:pointer;font-family:'DM Sans',sans-serif;border:none;background:none}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 48px;height:64px;display:flex;align-items:center;gap:32px;transition:all .4s}
nav.scrolled{background:rgba(5,4,11,.88);border-bottom:1px solid var(--border);backdrop-filter:blur(20px)}
.nav-logo{font-family:'Fraunces',serif;font-size:28px;font-weight:600;letter-spacing:-.02em;display:flex;align-items:baseline;gap:2px;margin-right:auto}
.nav-logo .w{color:var(--accent2)}.nav-logo .avn{color:var(--text3);font-weight:200;font-style:italic}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-link{font-size:16px;color:var(--text3);transition:color .2s}.nav-link:hover{color:var(--text1)}
.nav-cta{padding:11px 24px;border-radius:50px;background:var(--accent);color:var(--night);font-size:16px;font-weight:500;transition:all .2s}
.nav-cta:hover{background:var(--accent2);transform:translateY(-1px)}

/* PAGE HERO */
.page-hero{padding:140px 48px 80px;text-align:center;position:relative;overflow:hidden}
.page-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 0%,rgba(139,130,232,.14),transparent);pointer-events:none}
.page-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:50px;border:1px solid rgba(139,130,232,.2);background:rgba(139,130,232,.05);font-size:13px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent2);margin-bottom:28px}
.page-title{font-family:'Fraunces',serif;font-size:clamp(40px,6vw,80px);font-weight:200;line-height:1.0;letter-spacing:-.03em;margin-bottom:20px}
.page-title em{font-style:italic;color:var(--accent2)}
.page-sub{font-size:clamp(18px,1.8vw,22px);color:var(--text2);max-width:600px;margin:0 auto;line-height:1.7;font-weight:300}

/* CONTAINERS */
.container{max-width:1100px;margin:0 auto;padding:0 48px}
.container-sm{max-width:760px;margin:0 auto;padding:0 48px}
section{padding:100px 0}

/* SECTION LABELS */
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.section-title{font-family:'Fraunces',serif;font-size:clamp(32px,4.5vw,58px);font-weight:200;letter-spacing:-.02em;line-height:1.1;margin-bottom:16px}
.section-title em{font-style:italic;color:var(--accent2)}
.section-sub{font-size:19px;color:var(--text2);line-height:1.7;font-weight:300}

/* CARDS */
.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;transition:all .25s;font-size:16px}
.card:hover{border-color:var(--border2)}
.card-sm{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}

/* BUTTONS */
.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:15px 34px;border-radius:50px;background:var(--accent);color:var(--night);font-size:16px;font-weight:500;transition:all .25s}
.btn-primary:hover{background:var(--accent2);transform:translateY(-2px);box-shadow:0 12px 40px rgba(139,130,232,.25)}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:15px 34px;border-radius:50px;border:1px solid var(--border2);color:var(--text2);font-size:16px;font-weight:400;transition:all .25s}
.btn-ghost:hover{border-color:var(--accent);color:var(--text1)}
.btn-sm{padding:10px 20px;font-size:15px}

/* DIVIDERS */
.divider{height:1px;background:var(--border);margin:0}

/* REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:none}

/* NO OPENAI BADGE */
.no-openai{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;background:rgba(224,82,82,.08);color:#f87171;border:1px solid rgba(224,82,82,.18)}

/* FOOTER */
footer{border-top:1px solid var(--border);padding:60px 48px 40px;margin-top:0}
.footer-inner{max-width:1100px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-logo{font-family:'Fraunces',serif;font-size:26px;font-weight:400;color:var(--text1);display:flex;align-items:baseline;gap:3px;margin-bottom:10px}
.footer-logo .w{color:var(--accent2);font-style:italic}.footer-logo .avn{color:var(--text4);font-weight:200}
.footer-tagline{font-size:15px;color:var(--text3);line-height:1.65;margin-bottom:14px}
.footer-col-title{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text4);margin-bottom:14px}
.footer-link{display:block;font-size:15px;color:var(--text3);padding:5px 0;transition:color .2s}
@media(max-width:980px){ footer div[style*="repeat(5,1fr)"]{ grid-template-columns:1fr 1fr 1fr !important; } }
@media(max-width:560px){ footer div[style*="repeat(5,1fr)"]{ grid-template-columns:1fr 1fr !important; } }
.footer-link:hover{color:var(--text1)}
.footer-bottom{border-top:1px solid var(--border);padding-top:24px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text4)}
.footer-bottom em{font-family:'Fraunces',serif;font-style:italic;color:var(--text3)}

/* ── TABLET (≤900px) ── */
@media(max-width:900px){
  nav{padding:0 24px;gap:20px}
  .nav-links{display:none}
  .container,.container-sm{padding:0 28px}
  .page-hero{padding:120px 28px 60px}
  section{padding:72px 0}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px}
  .card{padding:28px}
}

/* ── PHONE (≤600px) ── */
@media(max-width:600px){
  body{font-size:16px}
  nav{padding:0 18px;height:60px;gap:12px}
  .nav-logo{font-size:24px}
  .nav-cta{padding:9px 18px;font-size:14px}
  .container,.container-sm{padding:0 18px}
  .page-hero{padding:100px 18px 48px}
  .page-eyebrow{margin-bottom:18px;font-size:12px;padding:6px 13px}
  .page-sub{font-size:17px}
  section{padding:56px 0}
  .section-sub{font-size:17px}
  .card{padding:22px;border-radius:14px}
  .card-sm{padding:18px}
  .btn-primary,.btn-ghost{padding:13px 26px;font-size:15px}
  footer{padding:48px 18px 32px}
  .footer-top{grid-template-columns:1fr;gap:30px;margin-bottom:36px}
  .footer-bottom{flex-direction:column;gap:12px;text-align:center;align-items:flex-start}
  /* safety net: force any multi-column grid to stack on phones */
  .stack-mobile{grid-template-columns:1fr !important}
}

/* ── MOBILE NAV MENU (hamburger) ── */
.nav-toggle{display:none;background:none;border:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--text1);transition:all .25s}
.mobile-menu{display:none;position:fixed;inset:60px 0 0;background:rgba(5,4,11,.97);backdrop-filter:blur(20px);z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:30px}
.mobile-menu.open{display:flex}
.mobile-menu a.m-link{font-size:22px;color:var(--text2);padding:14px;font-family:'Fraunces',serif}
.mobile-menu a.m-link:hover{color:var(--text1)}
.mobile-menu .nav-cta{font-size:16px;margin-top:14px}
@media(max-width:900px){ .nav-toggle{display:flex} }
.nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── EDITORIAL ENHANCEMENTS ── */
.grain{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px}
.kicker{font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent2)}
.display{font-family:'Fraunces',serif;font-weight:200;letter-spacing:-.035em;line-height:.95}
.serif-it{font-family:'Fraunces',serif;font-style:italic;font-weight:200}
