/* ---- Plain HTML/CSS (no JS, no frameworks) ---- */
:root{
  --bg:#ffffff; --bg-alt:#f8fafc; --text:#0f172a; --muted:#64748b;
  --brand:#4f46e5; --brand-2:#06b6d4; --border:#e5e7eb; --card:#ffffff;
  --cta:#1769aa; --cta-hover:#12578c;
  --logo-color:#006ab3; --logo-color-hover:#005292;
  --radius:16px; --shadow:0 1px 2px rgba(15,23,42,.06),0 8px 24px rgba(15,23,42,.06);
  --anim-distance:32px;
}
*{box-sizing:border-box}
html{margin:0;padding:0;scroll-behavior:smooth}
body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;color:var(--text);background:linear-gradient(180deg,#fff,#f6f7fb 70%)}
[hidden]{display:none!important}
.container{width:min(1120px,92%);margin:0 auto}
.section{position:relative;overflow:hidden;padding:96px 0;--section-bg:linear-gradient(135deg,#ffffff 0%,#f6f7fb 100%);--pattern-opacity:0;background:none;--card-bg:var(--card);--card-border:var(--border);--card-icon-bg:linear-gradient(135deg,rgba(79,70,229,.14),rgba(6,182,212,.22));--card-icon-color:var(--brand)}
.section::before{content:"";position:absolute;inset:0;background:var(--section-bg);z-index:0;opacity:1;transition:opacity .4s ease}
.section::after{content:"";position:absolute;inset:-12% -8%;background:none;z-index:1;pointer-events:none;opacity:0;transition:opacity .9s ease,transform 30s ease;transform:scale(1.05) translate3d(0,0,0);}
.section.is-visible::after{opacity:var(--pattern-opacity)}
.section>.container{position:relative;z-index:2}
.section.alt{--section-bg:linear-gradient(135deg,#f4f6ff 0%,#eef2ff 100%)}
.section.theme-hero{--section-bg:linear-gradient(135deg,#eef2ff 0%,#f8fafc 100%);--pattern-opacity:.55;--card-bg:linear-gradient(160deg,rgba(232,240,255,.92),rgba(255,255,255,.96));--card-border:rgba(99,102,241,.28);--card-icon-bg:linear-gradient(135deg,rgba(79,70,229,.28),rgba(6,182,212,.26));--card-icon-color:#4338ca}
.section.theme-hero::after{
  background:
    radial-gradient(65% 65% at 20% 24%,rgba(99,102,241,.22),rgba(99,102,241,0) 76%),
    radial-gradient(62% 62% at 82% 70%,rgba(6,182,212,.2),rgba(6,182,212,0) 80%),
    linear-gradient(150deg,rgba(79,70,229,.18),rgba(14,165,233,.12) 50%,rgba(236,249,255,0));
  background-size:125% 125%,140% 140%,210% 210%;
  background-position:0% 0%,100% 100%,50% 50%;
  animation:patternDriftHero 32s ease-in-out infinite alternate,patternShift 44s linear infinite;
}
.section.theme-ice{--section-bg:linear-gradient(135deg,#ffffff 0%,#f3f7ff 100%);--pattern-opacity:.5;--card-bg:linear-gradient(160deg,rgba(236,245,255,.92),rgba(255,255,255,.96));--card-border:rgba(59,130,246,.28);--card-icon-bg:linear-gradient(135deg,rgba(56,189,248,.24),rgba(59,130,246,.22));--card-icon-color:#1d4ed8}
.section.theme-lilac{--section-bg:linear-gradient(135deg,#f5f6ff 0%,#eef2ff 100%);--pattern-opacity:.52;--card-bg:linear-gradient(160deg,rgba(246,235,255,.92),rgba(255,255,255,.96));--card-border:rgba(196,181,253,.34);--card-icon-bg:linear-gradient(135deg,rgba(129,140,248,.26),rgba(244,114,182,.24));--card-icon-color:#6d28d9}
.section.theme-sand{--section-bg:linear-gradient(135deg,#ffffff 0%,#fdf7ed 100%);--pattern-opacity:.48;--card-bg:linear-gradient(160deg,rgba(255,243,222,.9),rgba(255,255,255,.96));--card-border:rgba(251,191,36,.32);--card-icon-bg:linear-gradient(135deg,rgba(251,191,36,.32),rgba(249,115,22,.24));--card-icon-color:#92400e}
.section.theme-slate{--section-bg:linear-gradient(135deg,#f2f6ff 0%,#e6ecff 100%);--pattern-opacity:.5;--card-bg:linear-gradient(160deg,rgba(226,232,240,.9),rgba(255,255,255,.96));--card-border:rgba(30,64,175,.28);--card-icon-bg:linear-gradient(135deg,rgba(59,130,246,.24),rgba(14,165,233,.22));--card-icon-color:#1e3a8a}
.section.theme-mint{--section-bg:linear-gradient(135deg,#f3fffb 0%,#e8f6ff 100%);--pattern-opacity:.5;--card-bg:linear-gradient(160deg,rgba(229,252,247,.9),rgba(255,255,255,.96));--card-border:rgba(16,185,129,.28);--card-icon-bg:linear-gradient(135deg,rgba(45,212,191,.28),rgba(59,130,246,.18));--card-icon-color:#047857}
.section.theme-cloud{--section-bg:linear-gradient(135deg,#f8faff 0%,#eff4ff 100%);--pattern-opacity:.48;--card-bg:linear-gradient(160deg,rgba(235,244,255,.92),rgba(255,255,255,.97));--card-border:rgba(59,130,246,.24);--card-icon-bg:linear-gradient(135deg,rgba(191,219,254,.26),rgba(59,130,246,.2));--card-icon-color:#1d4ed8}
.section.theme-sunrise{--section-bg:linear-gradient(135deg,#ffffff 0%,#f3f0ff 50%,#e8f6ff 100%);--pattern-opacity:.5;--card-bg:linear-gradient(160deg,rgba(248,236,255,.9),rgba(255,255,255,.96));--card-border:rgba(236,72,153,.26);--card-icon-bg:linear-gradient(135deg,rgba(244,114,182,.28),rgba(99,102,241,.22));--card-icon-color:#be185d}
.section.theme-dusk{--section-bg:linear-gradient(135deg,#f7f5ff 0%,#f0edff 50%,#e7f5ff 100%);--pattern-opacity:.54;--card-bg:linear-gradient(160deg,rgba(234,233,255,.9),rgba(255,255,255,.96));--card-border:rgba(129,140,248,.3);--card-icon-bg:linear-gradient(135deg,rgba(139,92,246,.28),rgba(79,70,229,.24));--card-icon-color:#4338ca}
.section.theme-paper{--section-bg:linear-gradient(135deg,#ffffff 0%,#f9f9ff 100%);--pattern-opacity:.36;--card-bg:linear-gradient(160deg,rgba(245,247,255,.94),rgba(255,255,255,.98));--card-border:rgba(148,163,184,.3);--card-icon-bg:linear-gradient(135deg,rgba(148,163,184,.26),rgba(99,102,241,.2));--card-icon-color:#334155}
.section.theme-ice::after{
  background:
    radial-gradient(70% 70% at 18% 22%,rgba(99,102,241,.18),rgba(99,102,241,0) 75%),
    radial-gradient(65% 65% at 82% 68%,rgba(56,189,248,.18),rgba(56,189,248,0) 80%),
    linear-gradient(140deg,rgba(125,211,252,.14),rgba(59,130,246,.08) 45%,rgba(236,254,255,0));
  background-size:120% 120%,135% 135%,180% 180%;
  background-position:0% 0%,100% 100%,50% 50%;
  animation:patternDriftA 30s ease-in-out infinite alternate,patternShift 40s linear infinite;
}
.section.theme-lilac::after{
  background:
    radial-gradient(64% 64% at 22% 28%,rgba(129,140,248,.2),rgba(129,140,248,0) 76%),
    radial-gradient(60% 60% at 78% 72%,rgba(244,114,182,.18),rgba(244,114,182,0) 80%),
    linear-gradient(150deg,rgba(196,181,253,.14),rgba(99,102,241,.08) 45%,rgba(254,226,226,0));
  background-size:120% 120%,140% 140%,200% 200%;
  background-position:0% 0%,100% 100%,50% 50%;
  animation:patternDriftB 28s ease-in-out infinite alternate,patternShift 36s linear infinite;
}
.section.theme-sand::after{
  background:
    radial-gradient(70% 70% at 16% 24%,rgba(251,191,36,.22),rgba(251,191,36,0) 78%),
    radial-gradient(60% 60% at 84% 68%,rgba(249,115,22,.18),rgba(249,115,22,0) 82%),
    linear-gradient(155deg,rgba(253,224,71,.18),rgba(253,164,175,.08) 50%,rgba(255,247,237,0));
  background-size:120% 120%,135% 135%,200% 200%;
  background-position:0% 0%,100% 100%,50% 50%;
  animation:patternDriftC 32s ease-in-out infinite alternate,patternShift 42s linear infinite;
}
.section.theme-slate::after{
  background:
    radial-gradient(68% 68% at 20% 30%,rgba(59,130,246,.2),rgba(59,130,246,0) 78%),
    radial-gradient(62% 62% at 80% 70%,rgba(14,165,233,.18),rgba(14,165,233,0) 82%),
    linear-gradient(150deg,rgba(56,189,248,.16),rgba(30,64,175,.08) 55%,rgba(226,232,240,0));
  background-size:120% 120%,140% 140%,210% 210%;
  background-position:0% 0%,100% 100%,50% 50%;
  animation:patternDriftA 29s ease-in-out infinite alternate,patternShift 38s linear infinite;
}
.section.theme-mint::after{
  background:
    radial-gradient(68% 68% at 18% 28%,rgba(16,185,129,.2),rgba(16,185,129,0) 78%),
    radial-gradient(60% 60% at 82% 70%,rgba(45,212,191,.18),rgba(45,212,191,0) 82%),
    linear-gradient(160deg,rgba(56,189,248,.12),rgba(16,185,129,.08) 50%,rgba(240,255,244,0));
  background-size:120% 120%,140% 140%,200% 200%;
  background-position:0% 0%,100% 100%,50% 50%;
  animation:patternDriftB 31s ease-in-out infinite alternate,patternShift 40s linear infinite;
}
.section.theme-cloud::after{
  background:
    radial-gradient(70% 70% at 18% 24%,rgba(99,102,241,.18),rgba(99,102,241,0) 78%),
    radial-gradient(60% 60% at 82% 66%,rgba(14,165,233,.18),rgba(14,165,233,0) 80%),
    linear-gradient(150deg,rgba(192,132,252,.12),rgba(59,130,246,.08) 45%,rgba(248,250,252,0));
  background-size:125% 125%,140% 140%,210% 210%;
  background-position:0% 0%,100% 100%,50% 50%;
  animation:patternDriftC 33s ease-in-out infinite alternate,patternShift 44s linear infinite;
}
.section.theme-sunrise::after{
  background:
    radial-gradient(68% 68% at 22% 26%,rgba(251,113,133,.2),rgba(251,113,133,0) 78%),
    radial-gradient(60% 60% at 80% 70%,rgba(251,191,36,.18),rgba(251,191,36,0) 82%),
    linear-gradient(155deg,rgba(244,114,182,.14),rgba(251,146,60,.08) 50%,rgba(254,243,199,0));
  background-size:120% 120%,135% 135%,200% 200%;
  background-position:0% 0%,100% 100%,50% 50%;
  animation:patternDriftA 30s ease-in-out infinite alternate,patternShift 42s linear infinite;
}
.section.theme-dusk::after{
  background:
    radial-gradient(70% 70% at 22% 28%,rgba(99,102,241,.22),rgba(99,102,241,0) 80%),
    radial-gradient(62% 62% at 78% 68%,rgba(59,130,246,.2),rgba(59,130,246,0) 82%),
    linear-gradient(160deg,rgba(192,132,252,.16),rgba(124,58,237,.1) 55%,rgba(229,231,235,0));
  background-size:120% 120%,140% 140%,220% 220%;
  background-position:0% 0%,100% 100%,50% 50%;
  animation:patternDriftB 32s ease-in-out infinite alternate,patternShift 46s linear infinite;
}
.section.theme-paper::after{
  background:
    radial-gradient(70% 70% at 18% 24%,rgba(203,213,225,.22),rgba(203,213,225,0) 80%),
    radial-gradient(60% 60% at 82% 70%,rgba(148,163,184,.18),rgba(148,163,184,0) 82%),
    linear-gradient(150deg,rgba(226,232,240,.18),rgba(148,163,184,.08) 50%,rgba(248,250,252,0));
  background-size:120% 120%,140% 140%,210% 210%;
  background-position:0% 0%,100% 100%,50% 50%;
  animation:patternDriftC 34s ease-in-out infinite alternate,patternShift 48s linear infinite;
}
.center{text-align:center}
canvas.hero-network{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:.75}
h1{font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:0}
h2{font-size:clamp(1.5rem,2.8vw,2.25rem);margin:0 0 12px}
h3{font-size:1.05rem;margin:0 0 6px}
.lead{font-size:1.125rem;color:var(--muted)} .muted{color:var(--muted)} .sm{font-size:.9rem}
.row{display:flex;align-items:center} .row.gap{gap:12px} .row.spread{justify-content:space-between;gap:12px}
.grid{display:grid;gap:20px} .grid.two{grid-template-columns:repeat(2,1fr)}
.grid.three{grid-template-columns:repeat(3,1fr)} .grid.four{grid-template-columns:repeat(4,1fr)}
.grid.twelve{grid-template-columns:repeat(12,1fr);gap:24px} .narrow{max-width:720px;margin-inline:auto}
@media (max-width:900px){.grid.two,.grid.three,.grid.four,.grid.twelve{grid-template-columns:1fr}}
.span5{grid-column:span 5} .span7{grid-column:span 7} @media (max-width:900px){.span5,.span7{grid-column:auto}}
.gradient{background:linear-gradient(90deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes patternDriftHero{0%{transform:scale(1.03) translate(-2%,-1%);}50%{transform:scale(1.08) translate(2%,2%);}100%{transform:scale(1.04) translate(-1%,1%);}}
@keyframes patternDriftA{0%{transform:scale(1.05) translate(-3%,-2%);}50%{transform:scale(1.1) translate(2%,1%);}100%{transform:scale(1.04) translate(-2%,2%);}}
@keyframes patternDriftB{0%{transform:scale(1.04) translate(2%,-1%);}50%{transform:scale(1.09) translate(-2%,2%);}100%{transform:scale(1.05) translate(1%,-2%);}}
@keyframes patternDriftC{0%{transform:scale(1.03) translate(0,-2%);}50%{transform:scale(1.08) translate(1.5%,1.5%);}100%{transform:scale(1.03) translate(-1%,1%);}}
@keyframes patternShift{0%{background-position:0% 0%,100% 100%,50% 50%;}50%{background-position:12% 8%,88% 92%,55% 45%;}100%{background-position:0% 0%,100% 100%,50% 50%;}}
@keyframes graphSlide{0%{transform:translateX(0);}28%{transform:translateX(-3%);}58%{transform:translateX(2.5%);}100%{transform:translateX(0);}}
@keyframes graphSweep{0%{opacity:0;transform:translateX(-45%);}25%{opacity:.65;}55%{opacity:.4;}100%{opacity:0;transform:translateX(65%);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(var(--anim-distance))}to{opacity:1;transform:translateY(0)}}
@keyframes iconPop{0%{opacity:0;transform:translateY(12px) scale(.85)}70%{opacity:1;transform:translateY(-4px) scale(1.05)}100%{opacity:1;transform:translateY(0) scale(1)}}
.section .grid.two>*,.section .grid.three>*,.section .grid.four>*,.section .grid.twelve>*,.section .row.gap>*,.section .row.spread>*{--item-delay:.12s}
.section .grid.two>*:nth-child(2),.section .grid.three>*:nth-child(2),.section .grid.four>*:nth-child(2),.section .grid.twelve>*:nth-child(2),.section .row.gap>*:nth-child(2),.section .row.spread>*:nth-child(2){--item-delay:.22s}
.section .grid.two>*:nth-child(3),.section .grid.three>*:nth-child(3),.section .grid.four>*:nth-child(3),.section .grid.twelve>*:nth-child(3),.section .row.gap>*:nth-child(3),.section .row.spread>*:nth-child(3){--item-delay:.32s}
.section .grid.two>*:nth-child(4),.section .grid.three>*:nth-child(4),.section .grid.four>*:nth-child(4),.section .grid.twelve>*:nth-child(4),.section .row.gap>*:nth-child(4),.section .row.spread>*:nth-child(4){--item-delay:.42s}
.section .grid.two>*:nth-child(5),.section .grid.three>*:nth-child(5),.section .grid.four>*:nth-child(5),.section .grid.twelve>*:nth-child(5),.section .row.gap>*:nth-child(5),.section .row.spread>*:nth-child(5){--item-delay:.52s}
.section .grid.two>*:nth-child(6),.section .grid.three>*:nth-child(6),.section .grid.four>*:nth-child(6),.section .grid.twelve>*:nth-child(6),.section .row.gap>*:nth-child(6),.section .row.spread>*:nth-child(6){--item-delay:.62s}
.section .grid.two>*:nth-child(7),.section .grid.three>*:nth-child(7),.section .grid.four>*:nth-child(7),.section .grid.twelve>*:nth-child(7){--item-delay:.72s}
.section .grid.two>*:nth-child(8),.section .grid.three>*:nth-child(8),.section .grid.four>*:nth-child(8),.section .grid.twelve>*:nth-child(8){--item-delay:.82s}
.section .grid.twelve>*:nth-child(9){--item-delay:.92s}
.js .section>.container{opacity:0;transform:translateY(var(--anim-distance))}
.js .section.is-visible>.container{animation:fadeUp .9s cubic-bezier(.21,.8,.33,1) forwards;animation-delay:.05s}
.js .section .grid.two>*,.js .section .grid.three>*,.js .section .grid.four>*,.js .section .grid.twelve>*,.js .section .row.gap>*,.js .section .row.spread>*{opacity:0;transform:translateY(var(--anim-distance))}
.js .section.is-visible .grid.two>*,.js .section.is-visible .grid.three>*,.js .section.is-visible .grid.four>*,.js .section.is-visible .grid.twelve>*,.js .section.is-visible .row.gap>*,.js .section.is-visible .row.spread>*{animation:fadeUp .85s cubic-bezier(.21,.8,.33,1) forwards;animation-delay:var(--item-delay)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .section>.container,
  .js .section .grid.two>*,.js .section .grid.three>*,.js .section .grid.four>*,.js .section .grid.twelve>*,
  .js .section .row.gap>*,.js .section .row.spread>*,
  .js .card.with-icon .card-icon,.js .pill.with-icon .pill-icon{
    animation:none!important;opacity:1!important;transform:none!important;
  }
  .section::after{animation:none!important;opacity:var(--pattern-opacity);transform:none!important}
  .card,.pill{transition:none}
  .preview-graph{animation:none!important;transform:none!important}
  .preview-graph::before{animation:none!important;opacity:0!important;transform:none!important}
  .preview-graph .bar{transition:none!important;transform:scaleY(var(--bar-scale,.55))!important}
}
/* Header */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.75);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.header-inner{position:relative;height:64px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-weight:700;font-size:1.1rem;letter-spacing:.01em}
.brand-logo{height:40px;width:auto;display:block}
.nav-toggle{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(100%);white-space:nowrap}
.nav-toggle-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--border);background:white;cursor:pointer;transition:background .3s ease,box-shadow .3s ease}
.nav-toggle-btn:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.nav-toggle-btn:hover{background:#eef2ff;box-shadow:var(--shadow)}
.nav-toggle-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.nav-toggle-bar{display:block;width:22px;height:2px;background:var(--text);border-radius:999px;transition:transform .3s ease,opacity .3s ease;transform-origin:center}
.nav-desktop{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.nav-desktop a:not(.btn){color:#334155;text-decoration:none;font-size:.95rem;padding:6px 8px;border-radius:8px;transition:background .3s ease,color .3s ease}
.nav-desktop a:not(.btn):hover{color:var(--text);background:#eef2ff}
.nav-desktop a.active{font-weight:700;color:var(--text)}
.nav-desktop a.active:not(.btn){background:#e0e7ff}
.nav-desktop .btn{padding:10px 18px;border-radius:12px;font-size:.95rem}
.nav-mobile{display:none}
.brand-mobile{display:none}

@media (max-width:768px){
  .header-inner{height:auto;padding:16px 0;gap:12px}
  .nav-toggle-btn{display:flex;margin-left:auto}
  .nav-desktop{display:none}
  .nav-mobile{display:block;position:absolute;top:100%;left:0;right:0;background:white;border-bottom:1px solid var(--border);box-shadow:0 16px 40px rgba(15,23,42,.12);border-radius:0 0 16px 16px;transform:translateY(-14px);opacity:0;visibility:hidden;pointer-events:none;transition:transform .3s ease,opacity .3s ease,visibility .3s ease;z-index:40}
  .nav-mobile-content{padding:20px 24px 24px;display:flex;flex-direction:column;gap:20px}
  .brand-mobile{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-weight:700;font-size:1.05rem}
  .nav-mobile-links{display:flex;flex-direction:column;gap:10px}
  .nav-mobile-links a{color:#334155;text-decoration:none;font-size:1rem;padding:10px 12px;border-radius:10px;background:#f8fafc;transition:background .3s ease,color .3s ease}
  .nav-mobile-links a:hover,.nav-mobile-links a.active{background:#eef2ff;color:var(--text)}
  .nav-mobile-cta{width:100%}
  .nav-toggle:checked ~ .nav-mobile{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}
  .nav-toggle:checked + .nav-toggle-btn .nav-toggle-bar:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .nav-toggle:checked + .nav-toggle-btn .nav-toggle-bar:nth-child(2){opacity:0}
  .nav-toggle:checked + .nav-toggle-btn .nav-toggle-bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
}
/* Hero */
.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);transition:transform .35s ease,box-shadow .35s ease}
.card:hover{transform:translateY(-6px);box-shadow:0 10px 20px rgba(15,23,42,.08),0 18px 36px rgba(15,23,42,.06)}
.card.with-icon{display:flex;flex-direction:column;gap:12px}
.card-icon{width:48px;height:48px;border-radius:14px;background:var(--card-icon-bg);color:var(--card-icon-color);display:inline-flex;align-items:center;justify-content:center}
.card.with-icon .card-icon,.pill.with-icon .pill-icon{transition:transform .35s ease,opacity .35s ease}
.js .card.with-icon .card-icon,.js .pill.with-icon .pill-icon{opacity:0;transform:translateY(12px) scale(.85)}
.js .section.is-visible .card.with-icon .card-icon,.js .section.is-visible .pill.with-icon .pill-icon{animation:iconPop .6s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:calc(var(--item-delay,.12s)+.18s)}
.card-icon svg{width:24px;height:24px}
.card-icon svg path,.card-icon svg circle,.card-icon svg rect,.card-icon svg line,.card-icon svg polyline,
.pill-icon svg path,.pill-icon svg circle,.pill-icon svg rect,.pill-icon svg line,.pill-icon svg polyline{stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none}
.card-icon svg circle[data-fill],.pill-icon svg circle[data-fill]{fill:currentColor;stroke:none}
.card-title{margin:0;font-weight:600;font-size:1.05rem}
.card-body{margin:0;color:var(--muted);font-size:.95rem}
.preview-graph{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;gap:10px;height:180px;padding:18px;background:var(--graph-background,linear-gradient(180deg,#eef2ff,#f0f9ff));border-radius:12px;border:1px solid #e2e8f0;position:relative;overflow:hidden;isolation:isolate;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 18px 36px rgba(15,23,42,.08)}
.preview-graph::before{content:"";position:absolute;inset:-20% 0 0;background:var(--graph-glow,radial-gradient(circle at 20% 0%,rgba(99,102,241,.18),transparent 55%));opacity:0;pointer-events:none;transform:translateX(-35%);z-index:0}
.preview-graph.is-transitioning::before{animation:graphSweep 1.8s ease forwards}
.preview-graph .bar{position:relative;height:100%;border-radius:8px;background:var(--bar-color,linear-gradient(180deg,#6366f1,#06b6d4));transform-origin:50% 100%;transform:scaleY(var(--bar-scale,.55));transition:transform 1.1s cubic-bezier(.22,1,.36,1),background 1.1s ease;transition-delay:var(--bar-delay,0ms);box-shadow:0 12px 24px rgba(79,70,229,.18);z-index:1}
.preview-graph .bar::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(0deg,rgba(255,255,255,.18),transparent 45%);opacity:.75}
.preview-graph .bar.is-peak{box-shadow:0 16px 32px rgba(15,23,42,.18)}
.preview-graph.is-transitioning{animation:graphSlide 1.8s ease}
.pill{display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--border);border-radius:999px;padding:10px 18px;box-shadow:var(--shadow);font-size:.95rem;transition:transform .3s ease,box-shadow .3s ease}
.pill:hover{transform:translateY(-4px);box-shadow:0 10px 20px rgba(15,23,42,.08),0 18px 36px rgba(15,23,42,.06)}
.pill-icon{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,rgba(79,70,229,.14),rgba(6,182,212,.2));color:var(--brand);display:inline-flex;align-items:center;justify-content:center}
.pill-icon svg{width:18px;height:18px}
.list{margin:0;padding-left:18px;line-height:1.8}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:12px;text-decoration:none;font-weight:600;border:1px solid transparent}
.btn-primary{background:var(--cta);color:white} .btn-primary:hover{background:var(--cta-hover)}
.btn-outline{background:white;color:var(--text);border-color:var(--border)} .btn-outline:hover{border-color:#c7d2fe;background:#eef2ff}
input,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);font-size:.95rem;font-family:inherit;outline:none}
input:focus,textarea:focus{border-color:#c7d2fe;box-shadow:0 0 0 4px #eef2ff}
.footer{border-top:1px solid var(--border);background:#f8fafc;padding:24px 0;font-size:.95rem}
.footer a{color:#334155;text-decoration:none} .footer a:hover{color:var(--text)}
/* Utility */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(100%);white-space:nowrap;border:0}
.mt-2{margin-top:.5rem} .mt-3{margin-top:.75rem} .mt-4{margin-top:1rem} .mt-6{margin-top:1.5rem} .mt-8{margin-top:2rem} .mb-0{margin-bottom:0}
/* Chat experience */
.chat-trigger{margin-top:1.25rem;padding:.65rem 1.3rem;border:none;border-radius:999px;background:var(--logo-color);color:#fff;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease;display:inline-flex;align-items:center;gap:.35rem;box-shadow:0 8px 20px rgba(0,106,179,.25)}
.chat-trigger:hover,.chat-trigger:focus-visible{background:var(--logo-color-hover);transform:translateY(-1px)}
.chat-trigger:focus-visible{outline:2px solid var(--logo-color-hover);outline-offset:3px}

.chat-popup{position:fixed;top:0;left:0;width:min(360px,calc(100% - 32px));max-height:80vh;background:#fff;border-radius:var(--radius);box-shadow:0 24px 64px rgba(15,23,42,.18);border:1px solid rgba(15,23,42,.08);opacity:0;transform:translateY(16px);transition:opacity .28s ease,transform .28s ease;pointer-events:none;display:flex;flex-direction:column;overflow:hidden;z-index:1200}
.chat-popup.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.chat-popup__header{padding:1rem 1.25rem;border-bottom:1px solid rgba(15,23,42,.08);display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.chat-popup__title{margin:0;font-size:1rem;font-weight:700}
.chat-popup__subtitle{margin:.1rem 0 0;font-size:.85rem;color:var(--muted)}
.chat-popup__close{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--muted);cursor:pointer;transition:color .2s ease}
.chat-popup__close:hover,.chat-popup__close:focus-visible{color:var(--text);outline:none}
.chat-popup__body{padding:1.25rem;background:var(--bg-alt);overflow:auto;flex:1}
.chat-message{display:flex;gap:.85rem;align-items:flex-start}
.chat-avatar{width:40px;height:40px;border-radius:50%;background:var(--logo-color);color:#fff;font-weight:700;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px rgba(0,106,179,.25)}
.chat-avatar img{width:70%;height:70%;object-fit:contain}
.chat-message__content{flex:1}
.chat-message__text{margin:0 0 .75rem;padding:.8rem 1rem;background:#fff;border-radius:1.2rem 1.2rem 1.2rem .5rem;font-size:.95rem;line-height:1.5;color:var(--text);box-shadow:var(--shadow);min-height:2.4rem}
.chat-message--confirmation{margin-top:1rem}
.chat-attachment{display:flex;flex-direction:column;gap:.4rem}
.chat-attachment__input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.chat-attachment__button{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border-radius:999px;border:1.5px dashed rgba(0,106,179,.5);color:var(--logo-color);font-weight:600;background:rgba(0,106,179,.08);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}
.chat-attachment__button:hover,.chat-attachment__button:focus{background:rgba(0,106,179,.14);border-color:var(--logo-color-hover);color:var(--logo-color-hover)}
.chat-attachment__button svg{width:18px;height:18px}
.chat-attachment__file{display:flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--muted);min-height:1.4rem;margin-top:.2rem}
.chat-attachment__file span{flex:1}
.chat-attachment__remove{width:26px;height:26px;border-radius:50%;border:none;background:rgba(220,38,38,.12);color:#b91c1c;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease}
.chat-attachment__remove:hover,.chat-attachment__remove:focus-visible{background:rgba(220,38,38,.2);color:#991b1b;outline:none}
.chat-attachment__remove svg{width:14px;height:14px}
.chat-attachment__hint{margin:0;font-size:.75rem;color:var(--muted)}
.chat-attachment__error{margin:.25rem 0 0;font-size:.8rem;color:#dc2626}
.chat-submit{margin-top:.5rem;padding:.65rem 1.4rem;border:none;border-radius:999px;background:var(--logo-color);color:#fff;font-weight:600;cursor:pointer;box-shadow:0 10px 20px rgba(0,106,179,.25);transition:background .2s ease,transform .2s ease}
.chat-submit:hover,.chat-submit:focus-visible{background:var(--logo-color-hover);transform:translateY(-1px);outline:none}
.footer-link{background:none;border:none;color:#334155;font-weight:600;cursor:pointer;padding:0;position:relative}
.footer-link::after{content:'';position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:currentColor;transform:scaleX(0);transform-origin:0 50%;transition:transform .2s ease}
.footer-link:hover::after,.footer-link:focus-visible::after{transform:scaleX(1)}
.footer-link:focus-visible{outline:2px solid var(--brand-2);outline-offset:3px}
.info-modal{position:fixed;inset:0;background:rgba(15,23,42,.65);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:2000}
.info-modal[hidden]{display:none!important}
.info-modal__content{position:relative;background:#fff;border-radius:var(--radius);max-width:420px;width:100%;padding:1.5rem;box-shadow:0 24px 60px rgba(15,23,42,.25)}
.info-modal__close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.5rem;color:var(--muted);cursor:pointer}
.info-modal__close:hover,.info-modal__close:focus-visible{color:var(--text);outline:none}
.info-modal__icon{width:48px;height:48px;border-radius:50%;background:rgba(99,102,241,.12);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--brand)}
.info-modal__icon svg{width:28px;height:28px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.info-modal__content h3{margin:0 0 .75rem}
.info-modal__content p{margin:0;font-size:.95rem;color:var(--muted);line-height:1.6}
.cookie-banner{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);width:min(640px,90%);border-radius:var(--radius);background:#0f172a;color:#f8fafc;padding:1.25rem;box-shadow:0 18px 36px rgba(15,23,42,.35);display:flex;flex-wrap:wrap;gap:1rem;align-items:center;z-index:1500}
.cookie-banner__text{flex:1;min-width:220px}
.cookie-banner__text strong{display:block;font-size:1rem;margin-bottom:.25rem}
.cookie-banner__text p{margin:0;font-size:.9rem;line-height:1.5;color:#e2e8f0}
.cookie-banner__text a{color:#38bdf8}
.cookie-banner__text a:hover,.cookie-banner__text a:focus-visible{text-decoration:underline}
.cookie-banner__actions{display:flex;gap:.5rem;flex-wrap:wrap}
.cookie-btn{padding:.55rem 1.1rem;border-radius:999px;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .2s ease;border:1px solid transparent}
.cookie-btn:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}
.cookie-btn--primary{background:#22c55e;color:#0f172a}
.cookie-btn--primary:hover{opacity:.9;transform:translateY(-1px)}
.cookie-btn--outline{background:transparent;color:#e2e8f0;border-color:rgba(226,232,240,.4)}
.cookie-btn--outline:hover{background:rgba(255,255,255,.08)}
@media (max-width:520px){
  .cookie-banner{flex-direction:column;align-items:flex-start}
  .cookie-banner__actions{width:100%;justify-content:flex-start}
}

@media (max-width:640px){
  .chat-popup{left:16px;width:calc(100% - 32px)}
}
