
:root{
  --bg:#f7f5fb;
  --bg-2:#fcfbff;
  --surface:rgba(255,255,255,0.72);
  --surface-solid:#ffffff;
  --border:rgba(162,122,211,0.18);
  --text:#1e2130;
  --muted:#717489;
  --primary:#8d2ad4;
  --primary-2:#a955ef;
  --shadow:0 20px 60px rgba(108,64,158,0.08);
  --radius:24px;
  --radius-sm:18px;
  --container:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top right, rgba(190,145,255,0.15), transparent 30%),
    radial-gradient(circle at 20% 10%, rgba(255,255,255,0.9), transparent 30%),
    linear-gradient(180deg, #fbfaff 0%, #f7f5fb 100%);
}

.page-shell{
  max-width:1440px;
  margin:0 auto;
  min-height:100vh;
}

.site-header{
  position:sticky;
  top:0;
  z-index:40;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:18px 42px;
  backdrop-filter:blur(12px);
  background:rgba(250,248,255,0.68);
  border-bottom:1px solid rgba(162,122,211,0.10);
}
.brand,.footer-brand{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  color:var(--primary);
  font-weight:700;
  font-size:1.15rem;
}
.brand img,.footer-brand img,.floating-chat img{width:38px;height:38px;object-fit:contain}

.main-nav{
  display:flex;
  gap:30px;
  align-items:center;
}
.main-nav a{
  color:#555a70;
  text-decoration:none;
  font-size:0.98rem;
  position:relative;
}
.main-nav a.active,.main-nav a:hover{color:var(--primary)}
.main-nav a.active::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:-12px;
  width:6px;height:6px;border-radius:50%;
  background:var(--primary);
}
.menu-toggle{display:none;background:none;border:none;font-size:1.6rem}

.section,.section-tight{padding:32px 42px}
.section{padding-top:58px;padding-bottom:22px}
.section-tight{padding-top:10px;padding-bottom:10px}

.hero{
  display:grid;
  grid-template-columns:1.02fr 1fr;
  align-items:center;
  gap:34px;
  padding-top:52px;
}
.hero-copy{max-width:590px}
.eyebrow,.kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid var(--border);
  color:var(--primary);
  background:rgba(255,255,255,0.55);
  font-size:0.88rem;
  font-weight:600;
  letter-spacing:0.02em;
}
.hero h1{
  font-size:clamp(2.3rem, 4.5vw, 4.1rem);
  line-height:1.08;
  margin:22px 0 16px;
  letter-spacing:-0.04em;
  font-weight:600;
}
.lead{
  font-size:1.18rem;
  line-height:1.7;
  color:var(--muted);
  max-width:520px;
}
.hero-actions,.contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border-radius:18px;
  text-decoration:none;
  font-weight:600;
  border:1px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.button:hover{transform:translateY(-1px)}
.button-primary{
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:white;
  box-shadow:0 12px 26px rgba(141,42,212,0.22);
}
.button-secondary{
  background:rgba(255,255,255,0.64);
  color:var(--text);
  border-color:var(--border);
}
.header-cta{white-space:nowrap}

.hero-visual{
  position:relative;
  min-height:560px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-visual img{
  width:min(100%, 760px);
  height:auto;
  position:relative;
  z-index:2;
  filter:drop-shadow(0 30px 40px rgba(136,78,204,0.09));
}
.hero-orbit{
  position:absolute;
  inset:5% 6% 9% 7%;
  border-radius:50%;
  background:
    radial-gradient(circle at center, rgba(199,115,255,0.08), rgba(199,115,255,0.02) 55%, transparent 70%);
  border:1px solid rgba(192,152,240,0.18);
}

.mini-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.mini-card,.panel,.process-card,.list-box{
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
}
.mini-card{
  padding:26px 24px;
  border-radius:22px;
}
.mini-card h3{margin:0 0 8px;font-size:1.06rem}
.mini-card p{margin:0;color:var(--muted);line-height:1.6;font-size:0.96rem}

.section-heading{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-bottom:24px;
  max-width:900px;
}
.section-heading .kicker{align-self:flex-start;padding:8px 14px;font-size:0.8rem}
.section-heading h2{
  margin:0;
  font-size:clamp(1.7rem,2.2vw,2.6rem);
  line-height:1.18;
  letter-spacing:-0.03em;
  font-weight:600;
}
.panel{
  border-radius:28px;
  padding:28px;
}
.two-col{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:24px;
  align-items:start;
}
.panel p{
  color:var(--muted);
  line-height:1.8;
  margin:0;
  font-size:1rem;
}
.list-columns{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.list-box{
  border-radius:22px;
  padding:20px 22px;
}
.list-box h4,.process-card h3{margin:0 0 12px;font-size:1.02rem}
.list-box ul{
  margin:0;
  padding-left:18px;
  color:var(--muted);
  line-height:1.85;
}
.statement-panel{
  display:grid;
  gap:24px;
}
.logic-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.logic-steps div{
  background:rgba(255,255,255,0.78);
  border:1px solid var(--border);
  border-radius:18px;
  padding:20px;
  font-weight:500;
}
.process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.process-card{
  padding:24px 22px;
  border-radius:22px;
}
.process-card span{
  display:inline-flex;
  width:34px;height:34px;
  border-radius:50%;
  align-items:center;justify-content:center;
  background:rgba(169,85,239,0.10);
  color:var(--primary);
  font-size:0.85rem;
  font-weight:700;
  margin-bottom:14px;
}
.process-card p{font-size:0.95rem;line-height:1.7}
.differential-panel{
  display:grid;
  gap:24px;
}
.pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.soft-pill{
  display:inline-flex;
  padding:12px 16px;
  border-radius:999px;
  background:rgba(169,85,239,0.08);
  border:1px solid rgba(169,85,239,0.14);
  color:#69349b;
  font-size:0.92rem;
}
.closing-line{
  font-size:1.15rem !important;
  color:var(--text) !important;
  max-width:840px;
}
.contact-strip{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:center;
  margin:42px;
  padding:28px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,0.72), rgba(255,255,255,0.58));
  border:1px solid var(--border);
  box-shadow:var(--shadow);
}
.contact-strip h2{margin:12px 0 10px;font-size:2rem;letter-spacing:-0.03em}
.contact-strip p{margin:0;color:var(--muted);line-height:1.7;max-width:640px}

.site-footer{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
  padding:10px 42px 44px;
  color:var(--muted);
  font-size:0.95rem;
}
.footer-meta{text-align:center}
.footer-links{display:flex;gap:20px}
.footer-links a{color:var(--muted);text-decoration:none}
.footer-links a:hover{color:var(--primary)}

.floating-chat{
  position:fixed;
  right:28px;
  bottom:28px;
  width:72px;height:72px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  box-shadow:0 18px 32px rgba(141,42,212,0.25);
  z-index:50;
}
.floating-chat img{width:40px;height:40px;filter:brightness(0) invert(1)}

@media (max-width: 1100px){
  .main-nav{display:none}
  .menu-toggle{display:block}
  .hero{grid-template-columns:1fr}
  .hero-visual{min-height:420px}
  .mini-cards,.logic-steps,.process-grid,.list-columns,.two-col,.site-footer{grid-template-columns:1fr}
  .contact-strip{margin:22px;flex-direction:column;align-items:flex-start}
}
@media (max-width: 700px){
  .site-header,.section,.section-tight,.site-footer{padding-left:18px;padding-right:18px}
  .hero h1{font-size:2.25rem}
  .lead{font-size:1rem}
  .button{width:100%}
  .hero-actions,.contact-actions{width:100%}
  .contact-strip h2{font-size:1.6rem}
  .floating-chat{width:60px;height:60px;right:18px;bottom:18px}
}
