/* ============================================
   xAILaw — Marketing landing
   ============================================ */

:root{
  /* Brand — --blue and --red come from tokens.css */
  --white:#FFFFFF;
  --off:#FAFAFA;
  /* Design system neutrals — --color-ink and --color-border come from tokens.css */
  --color-paper:#FAFAF8;
  --color-muted:#5E5E5E;--color-border-hard:#1A1A1A;
  /* Aliases used in markup */
  --ink:#0A0A0A;--gray:#5E5E5E;--border:#DFDFDF;
  --r:10px;
  /* Type scale (Major Third, 16px base, 1.25 ratio) */
  --text-2xs:0.75rem;
  --text-xs:0.8125rem;
  --text-sm:0.875rem;
  --text-base:1rem;
  --text-lg:1.125rem;
  --text-xl:1.25rem;
  --text-2xl:1.5rem;
  --text-3xl:2rem;
  --text-4xl:2.5rem;
  --text-5xl:3.5rem;
  /* Spacing (8pt grid) */
  --space-1:0.25rem;
  --space-2:0.5rem;--space-4:1rem;--space-6:1.5rem;
  --space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;
  /* Leading */
  --leading-tight:1.1;--leading-snug:1.25;
  --leading-normal:1.5;--leading-relaxed:1.6;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--off);color:var(--ink);font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;font-weight:400;font-size:1rem;line-height:var(--leading-normal);overflow-x:hidden;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;background:var(--white);padding:0 48px;height:56px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--border);}
.wordmark{font-family:'Inter',sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:0.1em;color:var(--blue);}
.wordmark .rx{color:var(--red);}
.nav-links{display:flex;align-items:center;gap:36px;}
.nav-link{font-family:'Inter',sans-serif;font-size:var(--text-sm);font-weight:500;letter-spacing:0;text-transform:none;color:var(--color-ink);text-decoration:none;transition:color 0.15s;}
.nav-link:hover{color:var(--blue);}
.btn-pill{font-family:'Inter',sans-serif;font-size:var(--text-sm);font-weight:600;letter-spacing:0;border:none;cursor:pointer;text-decoration:none;transition:background 0.15s;border-radius:24px;padding:8px 18px;display:inline-flex;align-items:center;}
.btn-pill-join{background:var(--red);color:#fff;margin-left:8px;}
.btn-white{color:var(--blue);background:var(--off);border:1.5px solid var(--blue);}
.btn-white:hover{background:var(--blue);color:var(--white);}

/* HERO */
.hero{min-height:100vh;padding-top:56px;display:grid;grid-template-columns:55% 45%;overflow:hidden;}
.hero-left{background:var(--white);padding:80px 64px 80px 80px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;border-right:1px solid var(--border);}
.hero-left::before{content:'★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★';position:absolute;top:0;left:0;right:0;bottom:0;font-size:11px;letter-spacing:18px;line-height:26px;color:rgba(0,50,160,0.04);word-break:break-all;pointer-events:none;padding:20px;}
.hero-eyebrow{font-family:'Inter',sans-serif;font-size:var(--text-sm);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--red);margin-bottom:var(--space-6);position:relative;}
h1{font-family:'Inter',sans-serif;font-size:clamp(2.5rem,4vw + 1rem,4rem);line-height:var(--leading-tight);letter-spacing:-0.02em;color:var(--blue);margin-bottom:var(--space-8);position:relative;font-weight:700;}
h1 .accent{color:var(--red);}
.hero-body{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-muted);max-width:65ch;margin-bottom:var(--space-12);font-weight:400;position:relative;}
.hero-form-wrap{max-width:440px;}
.hero-form{display:flex;border:1.5px solid var(--border);border-radius:24px;overflow:hidden;background:var(--off);}
.hero-form input{flex:1;padding:14px 22px;background:transparent;border:none;outline:none;color:var(--ink);font-family:'Inter',sans-serif;font-size:1rem;font-weight:400;}
.hero-form input::placeholder{color:var(--gray);opacity:0.6;}
.hero-form button{padding:14px 24px;background:var(--red);border:none;color:var(--white);font-family:'Inter',sans-serif;font-size:1rem;font-weight:600;letter-spacing:0;cursor:pointer;white-space:nowrap;transition:background 0.15s;border-radius:0 22px 22px 0;}
.hero-form button:hover{background:#a00d24;}
.hero-form-note{margin-top:var(--space-2);font-family:'Inter',sans-serif;font-size:var(--text-sm);font-weight:400;letter-spacing:0;color:var(--color-muted);}
.hero-form-success{padding:14px 22px;font-family:'Inter',sans-serif;font-size:1rem;font-weight:500;letter-spacing:0.04em;color:var(--blue);border:1.5px solid var(--blue);border-radius:24px;background:var(--off);}

/* HERO RIGHT */
.hero-right{background-color:var(--off);background-image:radial-gradient(circle,rgba(0,50,160,0.08) 1px,transparent 1px);background-size:24px 24px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:60px 48px;}
.hero-visual{position:relative;width:380px;}
.doc-center{position:relative;width:100%;background:var(--white);border:1px solid var(--border);padding:36px;border-radius:var(--r);box-shadow:0 12px 64px rgba(0,50,160,0.12),0 2px 8px rgba(0,0,0,0.04);z-index:2;}
.doc-stamp{font-family:'Inter',sans-serif;font-size:var(--text-xs);font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--red);border:1.5px solid var(--red);display:inline-block;padding:5px 12px;margin-bottom:20px;border-radius:6px;}
.doc-type{font-family:'Inter',sans-serif;font-size:var(--text-2xl);font-weight:700;letter-spacing:-0.01em;color:var(--blue);margin-bottom:var(--space-6);line-height:var(--leading-snug);}
.doc-item{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border);}
.doc-item:last-child{border-bottom:none;}
.doc-box{width:18px;height:18px;flex-shrink:0;border:2px solid var(--border);border-radius:4px;}
.doc-box.ck{background:var(--blue);border-color:var(--blue);position:relative;}
.doc-box.ck::after{content:'';position:absolute;left:4px;top:0px;width:7px;height:12px;border:2px solid white;border-top:none;border-left:none;transform:rotate(45deg);}
.doc-text{font-size:var(--text-base);color:var(--color-ink);line-height:var(--leading-normal);font-weight:400;}
.doc-cite{font-family:'Inter',sans-serif;font-size:var(--text-xs);font-weight:500;color:var(--blue);margin-left:auto;flex-shrink:0;opacity:0.6;font-variant-numeric:tabular-nums;}
.orbit-label{display:none;}
.time-badge{position:absolute;bottom:-24px;right:-24px;background:var(--red);color:white;padding:14px 20px;z-index:3;border-radius:var(--r);box-shadow:0 8px 24px rgba(200,16,46,0.25);}
.time-badge-num{font-family:'Inter',sans-serif;font-size:clamp(3rem,4vw,3.75rem);font-weight:700;line-height:1;letter-spacing:-0.03em;font-variant-numeric:tabular-nums;}
.time-badge-label{font-family:'Inter',sans-serif;font-size:var(--text-xs);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;margin-top:var(--space-1);opacity:0.9;}
.time-badge-sub{font-family:'Inter',sans-serif;font-size:var(--text-xs);letter-spacing:0;opacity:0.6;margin-top:var(--space-1);}

/* RED STRIPE */
.red-stripe{background:var(--red);padding:16px 0;overflow:hidden;white-space:nowrap;}
.stripe-inner{display:inline-block;animation:marquee 30s linear infinite;}
.stripe-text{font-family:'Inter',sans-serif;font-size:var(--text-xs);font-weight:600;letter-spacing:0.2em;color:rgba(255,255,255,0.9);}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* BEFORE / AFTER */
.impact-section{background:var(--off);padding:64px 80px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.impact-label{font-family:'Inter',sans-serif;font-size:var(--text-2xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--space-12);text-align:center;}
.impact-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:900px;margin:0 auto;}
.impact-col{padding:0 48px;}
.impact-col.before{text-align:right;opacity:0.5;}
.impact-col.after{text-align:left;}
.impact-col-tag{font-family:'Inter',sans-serif;font-size:var(--text-xs);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:var(--space-8);}
.impact-col.before .impact-col-tag{color:var(--gray);}
.impact-col.after .impact-col-tag{color:var(--red);}
.impact-row{margin-bottom:28px;}
.impact-row:last-child{margin-bottom:0;}
.impact-metric{font-family:'Inter',sans-serif;font-size:3rem;letter-spacing:-0.02em;line-height:1;color:var(--blue);font-weight:700;font-variant-numeric:tabular-nums;}
.impact-desc{font-family:'Inter',sans-serif;font-size:var(--text-sm);letter-spacing:0;color:var(--color-muted);margin-top:var(--space-1);line-height:var(--leading-normal);}
.impact-col.after .impact-desc{color:var(--ink);}
.impact-divider{display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 24px;}
.impact-divider-line{width:1px;height:80px;background:var(--border);}
.impact-divider-label{font-family:'Inter',sans-serif;font-size:var(--text-xs);font-weight:700;letter-spacing:0.12em;color:var(--red);text-align:center;line-height:var(--leading-normal);text-transform:uppercase;}
.impact-notice{margin-top:var(--space-12);text-align:center;font-family:'Inter',sans-serif;font-size:var(--text-2xs);font-weight:500;letter-spacing:0.08em;color:var(--color-muted);text-transform:uppercase;}
.impact-notice span{color:var(--ink);}

/* SECTIONS */
.how-section{padding:72px 80px;background:var(--off);}
.section-flag{display:flex;align-items:center;gap:14px;margin-bottom:32px;}
.flag-bar{width:4px;height:32px;display:flex;flex-direction:column;}
.flag-bar-top{flex:1;background:var(--blue);}
.flag-bar-bot{flex:1;background:var(--red);}
.section-label{font-family:'Inter',sans-serif;font-size:var(--text-2xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-muted);}
h2{font-family:'Inter',sans-serif;font-size:clamp(1.75rem,3vw + 0.5rem,2.5rem);letter-spacing:-0.02em;line-height:var(--leading-snug);color:var(--blue);margin-bottom:var(--space-4);font-weight:700;}
h2 .r{color:var(--red);}
.section-sub{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-muted);max-width:65ch;margin-bottom:var(--space-16);}

/* PIPELINE */
.pipeline{display:grid;grid-template-columns:repeat(4,1fr);position:relative;margin-top:56px;}
.pipeline::before{content:'';position:absolute;top:44px;left:calc(12.5%);right:calc(12.5%);height:2px;background:linear-gradient(to right,var(--blue),var(--red));z-index:0;}
.pipe-step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 20px;position:relative;z-index:1;}
.pipe-icon-wrap{width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:24px;flex-shrink:0;}
.pipe-step:nth-child(1) .pipe-icon-wrap{background:var(--blue);}
.pipe-step:nth-child(2) .pipe-icon-wrap{background:#1a4fa8;}
.pipe-step:nth-child(3) .pipe-icon-wrap{background:#9e1030;}
.pipe-step:nth-child(4) .pipe-icon-wrap{background:var(--red);}
.pipe-icon-wrap svg{width:34px;height:34px;}
.pipe-tag{font-family:'Inter',sans-serif;font-size:var(--text-2xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--red);margin-bottom:var(--space-2);}
.pipe-title{font-family:'Inter',sans-serif;font-size:var(--text-xl);font-weight:700;color:var(--blue);margin-bottom:var(--space-2);line-height:var(--leading-snug);}
.pipe-desc{font-size:var(--text-base);color:var(--color-muted);line-height:var(--leading-relaxed);max-width:32ch;}
.pipe-cite{margin-top:var(--space-4);font-family:'Inter',sans-serif;font-size:var(--text-xs);font-weight:500;color:var(--blue);opacity:0.5;line-height:var(--leading-normal);}

/* WHO */
.who-section{background:var(--white);padding:72px 80px;}
.who-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:60px;}
.who-card{border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;}
.who-card-top{padding:32px 32px 24px;flex:1;position:relative;}
.who-card-bottom{padding:20px 32px;background:var(--off);display:flex;flex-direction:column;gap:8px;}
.who-card:nth-child(1) .who-card-top{background:var(--blue);}
.who-card:nth-child(2) .who-card-top{background:#1040a0;}
.who-card:nth-child(3) .who-card-top{background:#a01030;}
.who-card:nth-child(4) .who-card-top{background:var(--red);}
.who-card-icon{width:40px;height:40px;margin-bottom:16px;}
.who-card-icon svg{width:40px;height:40px;}
.who-role{font-family:'Inter',sans-serif;font-size:var(--text-2xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.55);margin-bottom:var(--space-2);}
.who-title{font-family:'Inter',sans-serif;font-size:var(--text-xl);font-weight:700;color:var(--white);line-height:var(--leading-snug);margin-bottom:var(--space-2);}
.who-body{font-size:var(--text-base);color:rgba(255,255,255,0.7);line-height:var(--leading-relaxed);}
.who-list{list-style:disc;padding-left:17px;display:flex;flex-direction:column;gap:6px;}
.who-list li{font-size:var(--text-base);color:var(--color-ink);line-height:var(--leading-normal);}

/* QUOTE */
.quote-band{background:var(--off);padding:64px 80px;border-top:4px solid var(--red);border-bottom:4px solid var(--blue);}
.quote-inner{max-width:780px;}
.quote-text{font-family:'Inter',sans-serif;font-size:clamp(1.75rem,3.8vw,2.875rem);color:var(--blue);line-height:var(--leading-snug);font-style:italic;margin-bottom:var(--space-8);font-weight:400;}
.quote-attr{font-family:'Inter',sans-serif;font-size:var(--text-2xs);font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-muted);}

/* BOTTOM */
.bottom-section{background:var(--off);padding:80px 80px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;border-top:1px solid var(--border);}
.wl-eyebrow{font-family:'Inter',sans-serif;font-size:var(--text-2xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--red);margin-bottom:var(--space-4);}
.wl-heading{font-family:'Inter',sans-serif;font-size:clamp(2rem,4.5vw,4rem);letter-spacing:-0.02em;line-height:var(--leading-tight);color:var(--blue);margin-bottom:var(--space-6);font-weight:700;}
.wl-body{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-muted);margin-bottom:var(--space-8);max-width:65ch;}
.wl-facts{list-style:disc;padding-left:18px;display:flex;flex-direction:column;gap:12px;margin-bottom:48px;}
.wl-facts li{font-size:var(--text-base);color:var(--color-ink);line-height:var(--leading-normal);}
.org-header-label{font-family:'Inter',sans-serif;font-size:var(--text-2xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--space-2);}
.org-cards{display:flex;flex-direction:column;gap:12px;}
.org-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:20px 24px;}
.org-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px;}
.org-name{font-family:'Inter',sans-serif;font-size:var(--text-xs);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--blue);}
.org-links{display:flex;gap:8px;}
.org-link{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--off);border:1px solid var(--border);transition:background 0.15s;text-decoration:none;}
.org-link:hover{background:var(--border);}
.org-link svg{width:14px;height:14px;fill:var(--gray);}
.org-link:hover svg{fill:var(--blue);}
.org-desc{font-size:var(--text-base);color:var(--color-muted);line-height:var(--leading-relaxed);}

/* FORM */
.wl-form-box{background:var(--white);border:1px solid var(--border);padding:36px;border-radius:var(--r);box-shadow:0 2px 16px rgba(0,50,160,0.06);}
.form-title{font-family:'Inter',sans-serif;font-size:var(--text-2xl);font-weight:700;letter-spacing:-0.01em;color:var(--blue);margin-bottom:var(--space-8);}
.form-group{margin-bottom:18px;}
.form-label{display:block;font-family:'Inter',sans-serif;font-size:var(--text-2xs);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--space-2);}
.req{color:var(--red);}
.form-input,.form-select{width:100%;padding:12px 16px;background:var(--off);border:1px solid var(--color-border);color:var(--color-ink);font-family:'Inter',sans-serif;font-size:var(--text-base);font-weight:400;outline:none;transition:border-color 0.15s;border-radius:8px;-webkit-appearance:none;appearance:none;min-height:44px;}
.form-input:focus,.form-select:focus{border-color:var(--blue);}
.form-input::placeholder{color:var(--gray);opacity:0.5;}
.form-select{cursor:pointer;}
.form-select option{background:var(--white);color:var(--ink);}
.optional-hint{font-family:'Inter',sans-serif;font-size:var(--text-sm);font-weight:400;letter-spacing:0;color:var(--color-muted);margin-bottom:var(--space-4);display:block;}
.submit-btn{width:100%;padding:16px 32px;background:var(--red);border:none;color:var(--white);font-family:'Inter',sans-serif;font-size:1rem;font-weight:600;letter-spacing:0;cursor:pointer;margin-top:var(--space-2);transition:background 0.15s;border-radius:24px;min-height:44px;}
.submit-btn:hover{background:#a00d24;}
.success-msg{display:none;text-align:center;padding:48px 20px;}
.success-msg.visible{display:block;}
.success-check{font-family:'Inter',sans-serif;font-size:3.75rem;color:var(--blue);letter-spacing:0;margin-bottom:var(--space-4);}
.success-title{font-family:'Inter',sans-serif;font-size:var(--text-2xl);font-weight:700;color:var(--blue);margin-bottom:var(--space-2);}
.success-sub{font-size:var(--text-base);color:var(--color-muted);line-height:var(--leading-relaxed);}
.honeypot{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;opacity:0 !important;}

footer{background:var(--ink);padding:36px 80px;display:flex;justify-content:space-between;align-items:center;border-top:3px solid var(--red);}
.footer-wordmark{font-family:'Inter',sans-serif;font-size:var(--text-xl);font-weight:700;letter-spacing:0.1em;color:var(--white);}
.footer-wordmark span{color:var(--red);}
.footer-copy{font-family:'Inter',sans-serif;font-size:var(--text-2xs);font-weight:500;letter-spacing:0.08em;color:rgba(255,255,255,0.65);text-transform:uppercase;}
.footer-note{font-size:var(--text-xs);color:rgba(255,255,255,0.6);text-align:right;max-width:35ch;line-height:var(--leading-normal);}

.fade-up{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}

@media(max-width:900px){
  nav{padding:0 24px;}
  .nav-links .nav-link{display:none;}
  .hero{grid-template-columns:1fr;}
  .hero-right{display:none;}
  .hero-left{padding:60px 32px 80px;}
  .impact-section{padding:60px 32px;}
  .impact-grid{grid-template-columns:1fr;gap:32px;}
  .impact-divider{flex-direction:row;}
  .impact-divider-line{width:80px;height:1px;}
  .impact-col{padding:0;text-align:left!important;opacity:1!important;}
  .how-section,.who-section{padding:48px 32px;}
  .pipeline{grid-template-columns:1fr 1fr;gap:40px;}
  .pipeline::before{display:none;}
  .who-grid{grid-template-columns:1fr;}
  .quote-band{padding:48px 32px;}
  .bottom-section{grid-template-columns:1fr;padding:48px 32px;gap:48px;}
  footer{flex-direction:column;gap:16px;padding:32px;text-align:center;}
  .footer-note{text-align:center;max-width:100%;}
}
