/* Riseline AI - v2 dark SaaS look. Plain CSS, self-hosted fonts, tiny optional JS. */
@font-face{font-family:"Antonio";src:url(fonts/Antonio.woff) format("woff");font-weight:100 700;font-display:swap}
@font-face{font-family:"DM Sans";src:url(fonts/DMSans.woff) format("woff");font-weight:100 1000;font-display:swap}
:root{
  /* BRAND PALETTE: tweak here */
  --charcoal:#21232E;      /* surfaces / cards */
  --ink:#0B0C13;           /* page background (near-black, adds depth) */
  --ink-2:#12141D;
  --blue:#105BFF;          /* royal blue */
  --blue-glow:rgba(16,91,255,.55);
  --blue-line:#3F7DFF;
  --blue-text:#8DB2FF;     /* links on dark (9:1 on ink) */
  --tangerine:#FE8500;     /* primary CTA + small highlights */
  --tangerine-ink:#1A0E00; /* text on tangerine (8.5:1) */
  --text:#E6EAF5; --muted:#AEB6CC; --line:rgba(255,255,255,.10);
  --glass:rgba(33,35,46,.72);
  --radius:14px;
  --display:"Antonio","Oswald","Bebas Neue","Arial Narrow",Impact,sans-serif;
  --font:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--text);font-family:var(--font);font-size:1.0625rem;line-height:1.65;overflow-x:hidden}
img,svg{max-width:100%}
a{color:var(--blue-text);text-underline-offset:3px}
a:hover{color:#fff}
:focus-visible{outline:3px solid var(--tangerine);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:.6rem 1rem;z-index:200}
.skip:focus{left:.5rem;top:.5rem}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 1.5rem}
.narrow{max-width:900px}

/* ---------- top nav ---------- */
header.site{position:sticky;top:0;z-index:50;background:rgba(11,12,19,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:1rem;min-height:64px;padding:.4rem 0}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-weight:700;font-size:1.02rem;letter-spacing:.01em;white-space:nowrap}
.brand img{display:block;height:72px;width:auto;max-width:none}
.draft-tag{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.12rem .5rem}
nav.main{margin:0 auto}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:.1rem}
nav.main a{display:block;padding:.45rem .7rem;border-radius:999px;color:#cfd6ea;text-decoration:none;font-size:.9rem;white-space:nowrap}
nav.main a:hover{color:#fff;background:rgba(255,255,255,.07)}
nav.main a[aria-current="page"]{color:#fff;background:rgba(16,91,255,.28);box-shadow:inset 0 0 0 1px rgba(63,125,255,.55)}
.lang{font-size:.8rem;color:var(--muted);white-space:nowrap}
.lang [aria-disabled="true"]{opacity:.7;border-bottom:1px dotted var(--muted);cursor:not-allowed}
.pill{display:inline-block;background:var(--tangerine);color:var(--tangerine-ink);font-weight:700;font-size:.9rem;padding:.5rem 1.1rem;border-radius:999px;text-decoration:none;white-space:nowrap;box-shadow:0 0 22px rgba(254,133,0,.35);transition:transform .15s,box-shadow .15s}
.pill:hover{color:var(--tangerine-ink);transform:translateY(-1px);box-shadow:0 0 30px rgba(254,133,0,.55)}
.menu-btn{display:none;margin-left:auto;background:transparent;border:1px solid var(--line);color:#fff;border-radius:10px;padding:.45rem .7rem;font:inherit;font-size:.9rem;cursor:pointer}

/* ---------- hero (home) ---------- */
.hero{position:relative;overflow:hidden;isolation:isolate;background:
  radial-gradient(1100px 520px at 62% 112%,rgba(16,91,255,.55),transparent 62%),
  radial-gradient(700px 400px at 8% 105%,rgba(16,91,255,.35),transparent 65%),
  linear-gradient(180deg,#07080F 0%,#0B0E24 55%,#0A1240 100%);
  border-bottom:1px solid var(--line)}
.hero-art{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero-art svg{width:100%;height:100%;display:block}
.curve-main{stroke-dasharray:3200;stroke-dashoffset:3200;animation:draw 2.4s .15s cubic-bezier(.4,.1,.2,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.curve-glow{animation:pulse 5s ease-in-out infinite}
@keyframes pulse{50%{opacity:.62}}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;padding:3.2rem 0 4.5rem;min-height:640px;align-items:stretch}
.hero-left{display:flex;flex-direction:column;justify-content:center}
.hero-right{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding-left:4%}
.hero h1{margin:0;font-family:var(--display);font-weight:700;text-transform:uppercase;line-height:.98;letter-spacing:.005em;color:#fff}
.hero h1 .l{display:block;white-space:nowrap;font-size:clamp(2.6rem,6.4vw,5.5rem)}
.lockup{display:inline-block;white-space:nowrap}
.lockup .ai{color:#2F73FF;text-shadow:0 0 28px rgba(31,107,255,.6)}
.boxed{position:relative;display:inline-block;padding:.02em .14em;margin:.04em 0;border:1.5px solid var(--blue-line);background:rgba(16,91,255,.22);color:#fff}
.boxed::before{content:"";position:absolute;inset:-5px;pointer-events:none;
  background:
   linear-gradient(#fff,#fff) 0 0/9px 9px no-repeat,
   linear-gradient(#fff,#fff) 100% 0/9px 9px no-repeat,
   linear-gradient(#fff,#fff) 0 100%/9px 9px no-repeat,
   linear-gradient(#fff,#fff) 100% 100%/9px 9px no-repeat;
  filter:drop-shadow(0 0 4px var(--blue-line))}
.hero .lede{font-size:1.08rem;color:#c9d1e6;max-width:48ch;margin:1.2rem 0 1.4rem}
.btns{display:flex;flex-wrap:wrap;gap:.8rem;margin:0 0 1rem}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.35rem;border-radius:12px;background:var(--tangerine);color:var(--tangerine-ink);text-decoration:none;font-weight:700;border:1.5px solid var(--tangerine);box-shadow:0 0 26px rgba(254,133,0,.32);transition:transform .15s,box-shadow .15s}
.btn:hover{color:var(--tangerine-ink);transform:translateY(-2px);box-shadow:0 0 34px rgba(254,133,0,.5)}
.btn.alt{background:rgba(255,255,255,.04);color:#fff;border-color:rgba(255,255,255,.28);box-shadow:none}
.btn.alt:hover{color:#fff;background:rgba(16,91,255,.25);border-color:var(--blue-line);box-shadow:0 0 22px var(--blue-glow)}
.btn:disabled{background:#3a3e50;border-color:#3a3e50;color:#d5d9e6;box-shadow:none;cursor:not-allowed;transform:none}
.baseline{position:absolute;left:0;right:0;bottom:22px;height:14px;z-index:-1}

/* ---------- inner page header ---------- */
.page-hero{position:relative;overflow:hidden;isolation:isolate;padding:3.2rem 0 2.6rem;border-bottom:1px solid var(--line);
  background:radial-gradient(900px 300px at 85% 130%,rgba(16,91,255,.5),transparent 65%),linear-gradient(180deg,#07080F,#0B0E27)}
.page-hero .arc{position:absolute;right:-5%;bottom:-60px;width:70%;height:220px;z-index:-1;opacity:.9}
.page-hero h1{font-family:var(--display);text-transform:uppercase;font-weight:700;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1;margin:0 0 .8rem;color:#fff;letter-spacing:.005em}
.page-hero .lede{margin:0;font-size:1.15rem;color:#c9d1e6;max-width:62ch}
main{padding:2.6rem 0 4rem}
h1,h2,h3{color:#fff}
h2{font-family:var(--display);text-transform:uppercase;letter-spacing:.01em;font-size:clamp(1.8rem,3.6vw,2.5rem);line-height:1.08;margin:3rem 0 .8rem;font-weight:700}
h2::after{content:"";display:block;width:44px;height:3px;background:var(--tangerine);margin-top:.5rem;border-radius:3px}
h3{font-size:1.15rem;margin:1.6rem 0 .4rem}
p,ul,ol{margin:0 0 1.05rem}
.prose{max-width:72ch}
.meta{font-size:.9rem;color:var(--muted)}
code{background:rgba(255,255,255,.08);padding:.1rem .35rem;border-radius:5px}

/* ---------- sections (home) ---------- */
.band{padding:4.5rem 0}
.band.alt-bg{background:linear-gradient(180deg,var(--ink-2),var(--ink));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tangerine);font-weight:700;margin:0 0 .6rem}
.sec-title{font-family:var(--display);text-transform:uppercase;font-weight:700;font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.02;margin:0 0 1rem;color:#fff}
.sec-sub{color:var(--muted);max-width:60ch;margin:0 0 2.2rem}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:-2.6rem;position:relative;z-index:2}
.pillar{background:var(--charcoal);padding:1.2rem 1.3rem}
.pillar strong{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:1rem}
.pillar strong i{width:8px;height:8px;border-radius:2px;background:var(--tangerine);display:inline-block}
.pillar span{display:block;color:var(--muted);font-size:.9rem;margin-top:.25rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.1rem;margin:1.2rem 0}
.cards.three{grid-template-columns:repeat(3,1fr)}
.card{position:relative;background:var(--glass);border:1px solid rgba(63,125,255,.28);border-radius:var(--radius);padding:1.4rem 1.4rem .8rem;box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 12px 40px rgba(0,0,0,.35),0 0 32px rgba(16,91,255,.12);transition:transform .2s,border-color .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);border-color:rgba(63,125,255,.7);box-shadow:0 12px 40px rgba(0,0,0,.4),0 0 40px rgba(16,91,255,.3)}
.card h3{margin:.2rem 0 .5rem;font-size:1.2rem}
.card h3 a{color:#fff;text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0}
.card p{font-size:.97rem;color:#c3cbe0}
.card .ico{width:44px;height:44px;border-radius:12px;background:rgba(16,91,255,.2);border:1px solid rgba(63,125,255,.5);display:grid;place-items:center;margin-bottom:.9rem;color:#fff;box-shadow:0 0 18px rgba(16,91,255,.3)}
.card .ico svg{width:22px;height:22px}
.card .go{display:inline-block;color:var(--tangerine);font-weight:700;font-size:.9rem;margin:.2rem 0 .6rem}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;counter-reset:s}
.step{position:relative;padding:1.4rem 1.2rem;border-top:2px solid var(--blue-line);background:linear-gradient(180deg,rgba(16,91,255,.14),transparent)}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--display);font-size:2.6rem;color:var(--tangerine);line-height:1;display:block;margin-bottom:.4rem}
.step h3{margin:.2rem 0 .3rem}
.step p{color:#c3cbe0;font-size:.97rem}
.cta-band{position:relative;overflow:hidden;border:1px solid rgba(63,125,255,.4);border-radius:22px;padding:3rem 2rem;text-align:center;background:radial-gradient(600px 240px at 50% 120%,rgba(16,91,255,.6),transparent 70%),var(--charcoal);box-shadow:0 0 60px rgba(16,91,255,.2)}
.cta-band h2{margin-top:0}
.cta-band h2::after{margin:.5rem auto 0}
.cta-band p{max-width:52ch;margin:0 auto 1.4rem;color:#c9d1e6}
.cta-band .btns{justify-content:center}
.workwithus{margin:2rem auto 0;max-width:62ch;text-align:left;border-left:3px solid var(--tangerine);padding:.4rem 0 .4rem 1rem;color:#c3cbe0;font-size:.97rem;background:none}
.workwithus p{margin:0}

/* ---------- content blocks ---------- */
.note{background:rgba(16,91,255,.12);border:1px solid rgba(63,125,255,.35);border-left:4px solid var(--blue-line);padding:.9rem 1.1rem;border-radius:0 12px 12px 0;margin:1.2rem 0;max-width:80ch}
.note p:last-child{margin-bottom:0}
.tablewrap{overflow-x:auto;border:1px solid rgba(63,125,255,.3);border-radius:var(--radius);background:var(--glass);margin:1.2rem 0;box-shadow:0 0 30px rgba(16,91,255,.1)}
table{border-collapse:collapse;width:100%;min-width:720px;font-size:.94rem}
caption{text-align:left;padding:.9rem 1rem;font-weight:700;color:#fff}
th,td{text-align:left;vertical-align:top;padding:.75rem 1rem;border-top:1px solid var(--line)}
thead th{background:rgba(16,91,255,.2);color:#fff;border-top:0;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
.status{display:inline-block;padding:.18rem .6rem;border-radius:10px;line-height:1.35;background:rgba(254,133,0,.12);color:#ffc58a;border:1px solid rgba(254,133,0,.4);font-size:.8rem}
.cite{font-size:.85em;white-space:nowrap;color:var(--blue-text)}
blockquote{margin:1.4rem 0;padding:.6rem 1.2rem;border-left:4px solid var(--tangerine);background:rgba(255,255,255,.03);border-radius:0 12px 12px 0;color:#d6dcee;max-width:72ch}
blockquote p{margin:.4rem 0;font-size:1.08rem}
blockquote footer{font-size:.9rem;color:var(--muted);margin-bottom:.4rem}
details{background:var(--glass);border:1px solid rgba(63,125,255,.25);border-radius:12px;padding:.2rem 1.1rem;margin:.7rem 0;max-width:84ch}
details[open]{border-color:rgba(63,125,255,.6);box-shadow:0 0 28px rgba(16,91,255,.15)}
summary{cursor:pointer;font-weight:700;padding:.85rem 0;color:#fff}
details[open] summary{border-bottom:1px solid var(--line);margin-bottom:.8rem}
.checklist{list-style:none;padding-left:0;max-width:78ch}
.checklist li{position:relative;padding:.65rem .9rem .65rem 2.6rem;margin:.45rem 0;background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:10px}
.checklist li::before{content:"";position:absolute;left:.9rem;top:1rem;width:.95rem;height:.95rem;border:2px solid var(--tangerine);border-radius:4px}
.timeline{list-style:none;padding-left:0;border-left:2px solid rgba(63,125,255,.45);margin-left:.5rem;max-width:78ch}
.timeline li{padding:0 0 1.2rem 1.3rem;position:relative}
.timeline li::before{content:"";position:absolute;left:-.5rem;top:.5rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--blue);box-shadow:0 0 14px var(--blue-glow);border:2px solid #0B0C13}
.timeline strong{display:block;color:#fff}
label{display:block;font-weight:700;margin-bottom:.35rem;color:#fff}
input[type=email],input[type=text]{width:100%;max-width:26rem;padding:.75rem .9rem;border:1px solid rgba(255,255,255,.25);border-radius:10px;font:inherit;background:#171925;color:#cfd6ea}
input:disabled{cursor:not-allowed;opacity:.85}
.toc{background:var(--glass);border:1px solid var(--line);border-radius:12px;padding:.9rem 1.2rem;max-width:36rem;margin:1.2rem 0}
.toc ul{margin:.4rem 0 0;padding-left:1.1rem}
.todo{background:rgba(254,133,0,.16);color:#ffcf9c;padding:0 .35rem;border-radius:4px;border:1px dashed rgba(254,133,0,.55)}

/* ---------- footer ---------- */
footer.site{background:#07080E;border-top:1px solid var(--line);padding:2.6rem 0;font-size:.92rem;color:var(--muted);position:relative}
footer.site::before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--blue-line),transparent)}
footer.site ul{list-style:none;padding:0;margin:0 0 1.1rem;display:flex;flex-wrap:wrap;gap:.3rem 1.3rem}
footer.site a{color:#cdd6ee}
footer.site a:hover{color:#fff}
footer.site .consult a{color:var(--tangerine)}

/* ---------- reveal (JS adds .js to html) ---------- */
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s}
.js .reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .menu-btn{display:inline-block}
  .bar{flex-wrap:wrap;padding:.5rem 0}
  nav.main{display:none;order:5;width:100%;margin:0}
  nav.main.open{display:block}
  nav.main ul{flex-direction:column;padding:.4rem 0 .8rem}
  nav.main a{padding:.7rem .8rem;border-radius:10px}
  .bar .pill,.bar .lang{display:none}
  .hero-grid{grid-template-columns:1fr;padding:3rem 0 4rem;min-height:0}
  .hero-right{padding-left:0;margin-top:1.5rem}
  .cards.three{grid-template-columns:repeat(2,1fr)}
  .pillars{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:520px){
  body{font-size:1rem}
  .wrap{padding:0 1.1rem}
  .hero h1 .l{font-size:min(11.5vw,3.1rem)}
  .pillars,.steps,.cards.three{grid-template-columns:1fr}
  .band{padding:3rem 0}
  .cta-band{padding:2.2rem 1.2rem}
  .draft-tag{display:none}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .curve-main{stroke-dashoffset:0}
  .js .reveal{opacity:1;transform:none}
}
@media (max-width:520px){.page-hero .arc{width:100%;right:0;height:120px;opacity:.4}}

/* ---------- brand mark in hero + footer ---------- */
.hero-phoenix{position:absolute;left:62.5%;top:23.4%;width:clamp(120px,13.5vw,180px);--phx-o:1;transform:translate(-50.5%,-98%);transform-origin:50% 100%;opacity:0;animation:phx 1s 2.1s ease-out forwards;filter:drop-shadow(0 0 18px rgba(31,107,255,.65))}
.hero-phoenix img{display:block;width:100%;height:auto}
@keyframes phx{from{opacity:0;transform:translate(-50.5%,-88%)}to{opacity:var(--phx-o);transform:translate(-50.5%,-98%)}}
/* JS-driven sequence: line charges -> blue flame ignites at its crest -> phoenix rises out of it (assets/hero-fx.js) */
.fx .curve-main{animation:none;stroke-dasharray:0 99999;stroke-dashoffset:0}
.fx .hero-phoenix{animation:none;opacity:0}
.fx .hero-phoenix.rise{animation:phxrise 1.9s cubic-bezier(.16,.8,.24,1) forwards}
.fx .hero-phoenix.done{animation:none;opacity:var(--phx-o);transform:translate(-50.5%,-98%)}
@keyframes phxrise{0%{opacity:0;transform:translate(-50.5%,-62%) scale(.5);filter:drop-shadow(0 0 4px rgba(120,210,255,.9))}
  55%{opacity:var(--phx-o)}
  100%{opacity:var(--phx-o);transform:translate(-50.5%,-98%) scale(1);filter:drop-shadow(0 0 18px rgba(31,107,255,.65))}}
.flame{position:absolute;left:62.5%;top:23.4%;width:clamp(210px,23vw,320px);height:clamp(240px,26.5vw,368px);transform:translate(-50%,-78%);pointer-events:none;mix-blend-mode:screen;display:none}
.fx .flame{display:block}
.charge{position:absolute;left:0;top:0;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;pointer-events:none;opacity:0;mix-blend-mode:screen;will-change:transform,opacity;
  background:radial-gradient(circle,rgba(255,255,255,.95) 0,rgba(140,225,255,.8) 14%,rgba(30,110,255,.45) 40%,rgba(16,91,255,0) 70%)}
.foot-brand{display:flex;align-items:center;gap:.9rem;margin:0 0 1.2rem;color:#fff;line-height:1.3}
.foot-brand a{display:inline-block}
.logo-foot-img{display:block;width:min(300px,100%);height:auto}
.foot-tag{color:var(--muted);font-size:.88rem}
@media (max-width:820px){.hero-phoenix{width:100px;--phx-o:.3}.flame{width:180px;height:210px;opacity:.5}}
@media (max-width:520px){.brand img{height:52px}}
@media (prefers-reduced-motion:reduce){.hero-phoenix{opacity:var(--phx-o);transform:translate(-50.5%,-98%);animation:none}.charge{display:none}}
