
:root{
  --bg:#0f1724;
  --bg-2:#132034;
  --panel:#18263c;
  --panel-2:#1c2d47;
  --panel-3:#243858;
  --text:#f8fafc;
  --muted:#d6dde8;
  --soft:#aec0d6;
  --border:rgba(255,255,255,.12);
  --border-strong:rgba(255,255,255,.22);
  --accent:#ff6a00;
  --accent-2:#ff8c42;
  --accent-3:#ffb347;
  --accent-4:#ffd2a6;
  --success:#22c55e;
  --shadow:0 18px 45px rgba(0,0,0,.28);
  --radius:22px;
  --radius-sm:14px;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--text);
  line-height:1.6;
  background:
    radial-gradient(circle at top right, rgba(255,106,0,.14), transparent 30%),
    radial-gradient(circle at top left, rgba(255,179,71,.10), transparent 24%),
    linear-gradient(180deg, #18273c 0%, #111a29 26%, #0d1522 100%);
}
img{max-width:100%;display:block}
a{color:var(--text);text-decoration:none}
a:hover{color:var(--accent-3)}
p{margin:0 0 1rem;color:var(--muted)}
ul,ol{margin:0 0 1rem}
h1,h2,h3,h4{margin:0 0 .8rem;line-height:1.12}
h1{font-size:clamp(2.6rem,5vw,4.8rem)}
h2{font-size:clamp(1.9rem,3vw,3rem)}
h3{font-size:1.25rem}
code{
  background:rgba(255,255,255,.08);
  border-radius:8px;
  padding:.15rem .4rem;
}

.container{width:min(calc(100% - 2rem),var(--max));margin:0 auto}
.narrow{width:min(calc(100% - 2rem),820px);margin:0 auto}
.section{padding:5rem 0}
.section-tight{padding:3rem 0}
.alt{background:rgba(255,255,255,.025)}
.surface{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.03));
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1.4rem;
}
.card.compact{padding:1.1rem}
.grid{display:grid;gap:1.4rem}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:1.6rem;align-items:center}
.center{text-align:center}
.section-head{margin-bottom:1.7rem}
.section-head p{max-width:62ch}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  font-weight:700;
  color:var(--accent-3);
}
.lead{font-size:1.13rem;max-width:62ch}
.muted{color:var(--soft)}
.kicker{font-size:.95rem;color:var(--accent-4)}
.meta{color:var(--accent-4);font-size:.92rem}
.badge,
.brand-pill{
  display:inline-flex;align-items:center;gap:.45rem;
  border:1px solid var(--border);
  background:rgba(255,255,255,.045);
  border-radius:999px;
  padding:.45rem .8rem;
  color:var(--text);
  font-size:.92rem;
}
.badge-row,.hero-badges,.social-links{display:flex;flex-wrap:wrap;gap:.75rem}
.list-clean{list-style:none;padding:0;margin:0}
.list-clean li{
  padding:.7rem 0;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.list-clean li:last-child{border-bottom:none}

.announcement-bar{
  border-bottom:1px solid var(--border);
  background:linear-gradient(90deg, rgba(255,106,0,.18), rgba(255,179,71,.10));
}
.announcement-bar p{
  margin:0;
  padding:.8rem 0;
  color:#fff3e6;
  font-size:.95rem;
}
.site-header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(18px);
  background:rgba(10,16,25,.88);
  border-bottom:1px solid var(--border);
}
.nav-wrap{
  min-height:82px;
  display:flex;align-items:center;justify-content:space-between;gap:1rem
}
.logo{display:inline-flex;align-items:center}
.logo img{
  height:64px;width:auto;max-width:min(90vw,420px);object-fit:contain
}
.site-nav{display:flex;align-items:center;gap:1rem}
.site-nav a{
  color:var(--soft);
  font-weight:700;
  font-size:.97rem;
}
.site-nav a:hover,.site-nav a.active{color:var(--text)}
.nav-toggle{
  display:none;
  border:1px solid var(--border);
  color:var(--text);
  background:transparent;
  border-radius:12px;
  padding:.7rem .95rem;
  font-weight:700;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  border:none;
  border-radius:999px;
  font-weight:800;
  padding:.95rem 1.25rem;
  color:#1d1208;
  background:linear-gradient(135deg,var(--accent),var(--accent-3));
  box-shadow:0 12px 24px rgba(255,106,0,.18);
}
.btn:hover{color:#1d1208;transform:translateY(-1px)}
.btn-secondary{
  background:transparent;color:var(--text);
  border:1px solid var(--border-strong);
  box-shadow:none;
}
.btn-secondary:hover,.btn-light:hover{color:var(--text)}
.btn-light{
  color:#08131c;background:#f7fafc;border:1px solid rgba(255,255,255,.18)
}
.btn-sm{padding:.7rem 1rem;font-size:.94rem}
.hero{
  padding:5.5rem 0 3.8rem;
}
.hero-grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:1.6rem;align-items:stretch;
}
.hero-copy{
  padding:1rem 0;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin:1.6rem 0 1.2rem}
.hero-panel{
  padding:1.5rem;
  position:relative;
  overflow:hidden;
}
.hero-panel::after{
  content:"";
  position:absolute;inset:auto -50px -60px auto;
  width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,179,71,.22), transparent 65%);
}
.hero-logo-wrap{
  padding:1.2rem;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid var(--border);
  margin-bottom:1rem;
}
.hero-logo-wrap img{
  width:min(100%,520px);
  margin:0 auto;
  filter:drop-shadow(0 14px 28px rgba(0,0,0,.22));
}
.hero-stat-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.9rem;
  margin-top:1.15rem;
}
.stat{
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  padding:1rem;
  background:rgba(255,255,255,.035);
}
.stat strong{display:block;font-size:1.4rem;color:#fff}
.stat span{font-size:.93rem;color:var(--soft)}
.quick-links{display:grid;gap:.8rem}
.quick-links a{
  display:flex;justify-content:space-between;align-items:center;
  padding:.95rem 1rem;border-radius:14px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  color:var(--text);
}
.quick-links a span{color:var(--accent-4)}

.metric-band{
  margin-top:1.2rem;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.9rem;
}
.metric-band .card{padding:1rem 1.1rem}
.metric-band strong{font-size:1.5rem;display:block}
.metric-band p{margin:.2rem 0 0;font-size:.93rem}

.feature-card{
  height:100%;
}
.feature-card .icon{
  width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;
  background:linear-gradient(135deg, rgba(255,106,0,.22), rgba(255,179,71,.14));
  color:#fff;
  font-weight:800;
  margin-bottom:.85rem;
}

.story-card blockquote{
  margin:0 0 .85rem;
  font-size:1.02rem;
  color:#fff;
}
.story-card footer{
  color:var(--accent-4);
  font-size:.92rem;
}
.timeline{position:relative;padding-left:1.2rem}
.timeline::before{
  content:"";position:absolute;left:.2rem;top:.2rem;bottom:.2rem;width:2px;background:rgba(255,255,255,.1)
}
.timeline-item{position:relative;padding-left:1.2rem;margin-bottom:1rem}
.timeline-item::before{
  content:"";position:absolute;left:-.13rem;top:.45rem;width:10px;height:10px;border-radius:50%;
  background:var(--accent)
}
.timeline-item:last-child{margin-bottom:0}
.cta-panel{
  padding:1.8rem;
  background:
    radial-gradient(circle at top right, rgba(255,179,71,.15), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
}
.resource-list a,
.article-link{
  display:block;
  padding:1rem 1.05rem;
  border-radius:16px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  color:var(--text);
}
.resource-list a + a,.article-link + .article-link{margin-top:.75rem}
.article-link small{display:block;color:var(--accent-4);margin-top:.2rem}
.promo-banner{
  padding:1rem 1.2rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  background:linear-gradient(90deg, rgba(255,106,0,.15), rgba(255,179,71,.08));
}

.prose p,.prose li{max-width:72ch}
.prose h2,.prose h3{margin-top:1.5rem}
.prose ul,.prose ol{padding-left:1.15rem}
.callout{
  border-left:4px solid var(--accent);
  padding:1rem 1rem 1rem 1.1rem;
  border-radius:0 16px 16px 0;
  background:rgba(255,255,255,.04);
}
.faq-item details{
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(255,255,255,.03);
  padding:1rem 1.1rem;
}
.faq-item + .faq-item{margin-top:.85rem}
.faq-item summary{
  cursor:pointer;font-weight:700;color:#fff
}
.form-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem
}
label{display:block;font-weight:700;font-size:.94rem;margin-bottom:.4rem}
input,textarea,select{
  width:100%;padding:.95rem 1rem;border-radius:14px;
  border:1px solid var(--border-strong);
  background:rgba(255,255,255,.04);
  color:var(--text);
  font:inherit;
}
textarea{min-height:140px;resize:vertical}
input::placeholder,textarea::placeholder{color:#c3cfdf}
form .btn{margin-top:.6rem}
.footer{
  border-top:1px solid var(--border);
  background:rgba(0,0,0,.16);
}
.footer-grid{
  display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:1.5rem
}
.footer small,.footer p,.footer li a{color:var(--soft)}
.page-hero{
  padding:4.2rem 0 2.2rem;
}
.page-hero .surface{padding:1.8rem}
.breadcrumbs{
  display:flex;gap:.45rem;flex-wrap:wrap;
  font-size:.92rem;color:var(--accent-4);margin-bottom:.85rem
}
.breadcrumbs a{color:var(--accent-4)}
.logo-showcase{
  display:flex;align-items:center;justify-content:center;min-height:260px
}
.logo-showcase img{
  width:min(100%,520px);height:auto;object-fit:contain;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.22))
}

@media (max-width: 980px){
  .hero-grid,.split,.grid.two,.grid.three,.grid.four,.footer-grid,.metric-band,.form-grid{
    grid-template-columns:1fr
  }
  .hero{padding-top:4.3rem}
}
@media (max-width: 820px){
  .nav-toggle{display:inline-flex}
  .site-nav{
    display:none;
    position:absolute;left:1rem;right:1rem;top:82px;
    flex-direction:column;align-items:stretch;
    gap:.4rem;padding:1rem;border-radius:18px;
    background:rgba(10,16,25,.98);border:1px solid var(--border)
  }
  .site-nav.open{display:flex}
  .site-nav a{padding:.7rem .2rem}
  .logo img{height:48px;max-width:76vw}
  h1{font-size:clamp(2.2rem,9vw,3.5rem)}
}



/* Entrance page */
.splash-body{
  min-height:100vh;
  overflow-x:hidden;
}
.splash-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  position:relative;
  padding:2rem 0;
}
.splash-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,106,0,.22), transparent 22%),
    radial-gradient(circle at 85% 16%, rgba(255,179,71,.16), transparent 18%),
    radial-gradient(circle at 50% 78%, rgba(255,106,0,.10), transparent 30%),
    linear-gradient(180deg, #1b2a40 0%, #111a29 52%, #0c1320 100%);
}
.splash-grid{
  position:relative;
  z-index:2;
  width:min(calc(100% - 2rem), 1180px);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:1.6rem;
  align-items:center;
}
.splash-card{
  position:relative;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border-radius:28px;
  box-shadow:0 26px 60px rgba(0,0,0,.28);
  backdrop-filter:blur(14px);
}
.splash-copy{
  padding:2rem;
}
.splash-logo{
  width:min(100%, 540px);
  margin:0 0 1.2rem;
  filter:drop-shadow(0 14px 28px rgba(0,0,0,.24));
}
.splash-title{
  font-size:clamp(2.8rem, 6vw, 5.4rem);
  margin:0 0 1rem;
  line-height:1.02;
}
.splash-sub{
  font-size:1.12rem;
  max-width:58ch;
  color:var(--muted);
}
.splash-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.9rem;
  margin:1.6rem 0 1.2rem;
}
.splash-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1rem;
}
.splash-visual{
  padding:1.35rem;
  min-height:540px;
  overflow:hidden;
}
.splash-panel{
  position:relative;
  height:100%;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at top right, rgba(255,179,71,.18), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  padding:1.2rem;
  overflow:hidden;
}
.floating-ribbon{
  position:absolute;
  right:-10px;
  top:18px;
  width:220px;
  opacity:.18;
  transform:rotate(-8deg);
}
.glow-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(10px);
}
.glow-orb.one{
  width:120px;height:120px;right:60px;top:160px;
  background:rgba(255,106,0,.22);
}
.glow-orb.two{
  width:180px;height:180px;left:20px;bottom:40px;
  background:rgba(255,179,71,.12);
}
.splash-mini-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-top:180px;
}
.splash-mini{
  border-radius:18px;
  padding:1rem;
  background:rgba(10,16,25,.55);
  border:1px solid rgba(255,255,255,.08);
}
.splash-mini strong{
  display:block;
  font-size:1.08rem;
  margin-bottom:.35rem;
}
.splash-bottom-note{
  position:relative;
  z-index:2;
  margin-top:1rem;
  padding:1rem 1.05rem;
  border-radius:18px;
  background:rgba(10,16,25,.45);
  border:1px solid rgba(255,255,255,.08);
}
.skip-link{
  position:absolute;
  top:1rem;
  right:1rem;
  z-index:4;
}
.enter-bar{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:5;
  padding:1rem;
  background:linear-gradient(180deg, rgba(8,13,20,0), rgba(8,13,20,.88) 55%);
}
.enter-bar-inner{
  width:min(calc(100% - 2rem), 980px);
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  background:rgba(13,20,31,.82);
  backdrop-filter:blur(10px);
  padding:.9rem 1rem;
}
.enter-bar p{
  margin:0;
  color:#fff;
}
@media (max-width: 980px){
  .splash-grid{
    grid-template-columns:1fr;
  }
  .splash-visual{
    min-height:auto;
  }
  .splash-mini-grid{
    margin-top:120px;
  }
}
@media (max-width: 720px){
  .splash-copy{padding:1.35rem}
  .splash-title{font-size:clamp(2.3rem, 12vw, 4rem)}
  .splash-mini-grid{grid-template-columns:1fr}
  .enter-bar-inner{
    flex-direction:column;
    align-items:stretch;
  }
}


/* Premium entrance animations */
.splash-card,
.enter-bar-inner{
  animation: fadeLift .9s ease both;
}
.splash-copy{animation-delay:.05s}
.splash-visual{animation-delay:.18s}
.splash-logo{
  animation: softPulse 5s ease-in-out infinite;
}
.reveal-line{
  display:block;
  overflow:hidden;
}
.reveal-line > span{
  display:block;
  transform:translateY(115%);
  opacity:0;
  animation:textRise .9s cubic-bezier(.2,.8,.2,1) forwards;
}
.reveal-line:nth-child(1) > span{animation-delay:.16s}
.reveal-line:nth-child(2) > span{animation-delay:.34s}
.reveal-line:nth-child(3) > span{animation-delay:.52s}
.splash-sub,
.splash-actions,
.splash-meta,
.splash-mini,
.splash-bottom-note{
  opacity:0;
  transform:translateY(16px);
  animation:fadeUp .8s ease forwards;
}
.splash-sub{animation-delay:.65s}
.splash-actions{animation-delay:.82s}
.splash-meta{animation-delay:.98s}
.splash-mini:nth-child(1){animation-delay:.72s}
.splash-mini:nth-child(2){animation-delay:.86s}
.splash-mini:nth-child(3){animation-delay:1s}
.splash-mini:nth-child(4){animation-delay:1.14s}
.splash-bottom-note{animation-delay:1.22s}
.glow-orb.one{animation:floatOrb 6s ease-in-out infinite}
.glow-orb.two{animation:floatOrb 7.5s ease-in-out infinite reverse}
.auto-progress{
  width:100%;
  height:6px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
  margin-top:1.1rem;
}
.auto-progress span{
  display:block;
  height:100%;
  width:0%;
  background:linear-gradient(90deg, var(--accent), var(--accent-3));
  animation:progressFill 8s linear forwards;
}
.auto-note{
  margin-top:.7rem;
  font-size:.92rem;
  color:var(--accent-4);
}
@keyframes fadeLift{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes textRise{
  from{transform:translateY(115%);opacity:0}
  to{transform:translateY(0);opacity:1}
}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0);opacity:1}
}
@keyframes floatOrb{
  0%,100%{transform:translateY(0) translateX(0)}
  50%{transform:translateY(-14px) translateX(8px)}
}
@keyframes softPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.015)}
}
@keyframes progressFill{
  from{width:0%}
  to{width:100%}
}
@media (prefers-reduced-motion: reduce){
  .splash-card,
  .enter-bar-inner,
  .splash-logo,
  .reveal-line > span,
  .splash-sub,
  .splash-actions,
  .splash-meta,
  .splash-mini,
  .splash-bottom-note,
  .glow-orb.one,
  .glow-orb.two,
  .auto-progress span{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
  }
}
