:root{
  --bg:#f8f9fa;
  --card:#ffffff;
  --text:#11202a;
  --muted:#5d6b74;
  --line:#dbe3ea;
  --blue:#0077b6;
  --blue-2:#2a9df4;
  --warn:#f59f00;
  --ok:#2f9e44;
  --mono:'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --sans:'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --shadow:0 18px 40px rgba(17,32,42,.10);
  --radius:16px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}

img{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{opacity:.86}
strong{font-weight:700}

.container{max-width:1220px;margin:0 auto;padding:0 18px}
.bg{background:var(--bg)}
.justify-text{text-align:justify}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 18px;
  border-radius:12px;
  border:1px solid transparent;
  font-weight:700;
  cursor:pointer;
  background:transparent;
  color:var(--text);
}
.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff}
.btn-ghost{background:#fff;border-color:var(--line);color:var(--text)}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#eef6fb;
  color:var(--blue);
  border:1px solid rgba(0,119,182,.18);
  font-weight:700;
  font-size:12px;
}
.badge--warn{background:#fff7e6;color:#9a5b00;border-color:rgba(245,159,0,.35)}
.badge--ok{background:#eaf7ee;color:#1f7a33;border-color:rgba(47,158,68,.30)}
.muted{color:var(--muted)}

.cookie-bar{
  position:sticky;
  top:0;
  z-index:50;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.cookie-bar__inner{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding:12px 0}
.cookie-bar__text{font-size:14px;color:var(--muted);line-height:1.45}
.cookie-bar__text strong{color:var(--text)}
.cookie-bar__links{display:inline-flex;gap:12px;margin-left:10px;white-space:nowrap}
.cookie-bar__actions{display:flex;gap:10px;align-items:center}

.shell{display:grid;grid-template-columns:310px 1fr;gap:18px;min-height:calc(100vh - 56px)}
.shell--single{grid-template-columns:1fr}
.sidebar{position:sticky;top:72px;align-self:start;padding:18px 0 28px}
.sidebar__card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
  box-shadow:0 8px 18px rgba(17,32,42,.06);
}
.sidebar__card + .sidebar__card{margin-top:14px}
.brand{font-weight:800;letter-spacing:.2px}
.sidebar__hint{margin-top:8px;color:var(--muted);font-size:13px}
.sidebar__list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}
.sidebar__list li{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--text)}
.dot{width:10px;height:10px;border-radius:50%}
.dot--blue{background:var(--blue)}
.sidebar__pill{
  margin-top:14px;
  background:linear-gradient(135deg, rgba(0,119,182,.14), rgba(42,157,244,.10));
  border:1px solid rgba(0,119,182,.18);
  padding:10px 12px;
  border-radius:12px;
  font-weight:700;
  color:var(--text);
}
.sidebar__mini-title{font-weight:800;margin-bottom:10px}
.sidebar__steps{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:8px}

.main{padding:18px 0 34px}
.main--full{padding:18px 0 34px}

.hero{
  background:#fff;
  border:1px solid var(--line);
  border-radius:calc(var(--radius) + 6px);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.hero__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;align-items:stretch;padding:26px}
.eyebrow{
  display:inline-flex;
  gap:10px;
  align-items:center;
  font-weight:800;
  letter-spacing:.4px;
  text-transform:uppercase;
  font-size:12px;
  color:var(--blue);
  background:rgba(0,119,182,.08);
  border:1px solid rgba(0,119,182,.16);
  padding:6px 10px;
  border-radius:999px;
}
.hero__title{margin:14px 0 10px;font-size:44px;line-height:1.05}
.hero__lead{margin:0;color:var(--muted);font-size:16px}
.hero__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.hero__meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.meta-card{
  background:linear-gradient(180deg,#fff, #fbfdff);
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px;
}
.meta-card__k{font-size:12px;color:var(--muted);font-weight:700}
.meta-card__v{margin-top:6px;font-size:14px;font-weight:700}

.hero__visual{display:flex;align-items:center;justify-content:center}
.hero__image-wrap{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line)}
.hero__image{width:100%;height:100%;object-fit:cover;min-height:380px}
.hero__decor{
  position:absolute;
  inset:auto -40px -40px auto;
  width:220px;
  height:220px;
  background:radial-gradient(circle at 30% 30%, rgba(42,157,244,.55), rgba(0,119,182,.15), rgba(0,119,182,0));
  filter:blur(2px);
  pointer-events:none;
}

.section{margin-top:18px}
.section--pad{padding:22px 0}
.section__head{max-width:920px}
.section__title{margin:0;font-size:32px;line-height:1.15}
.section__sub{margin:10px 0 0;color:var(--muted)}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.cards--wide{grid-template-columns:repeat(3,1fr)}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
  box-shadow:0 10px 22px rgba(17,32,42,.06);
}
.card h3{margin:0 0 8px;font-size:18px}
.card__bottom{margin-top:14px;display:flex;align-items:baseline;justify-content:space-between}
.price{font-family:var(--mono);font-weight:800;color:var(--blue)}

.price-note{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}

.timeline{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-top:14px;
}
.t-item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
}
.t-item h3{margin:0 0 8px}
.cta-strip{
  margin-top:14px;
  background:linear-gradient(135deg, rgba(0,119,182,.10), rgba(42,157,244,.06));
  border:1px solid rgba(0,119,182,.16);
  border-radius:calc(var(--radius) + 4px);
  padding:16px;
  display:flex;
  gap:16px;
  align-items:flex-start;
  justify-content:space-between;
}
.cta-strip__k{font-family:var(--mono);font-weight:800;color:var(--blue)}
.cta-strip__t{margin-top:6px;font-weight:900;font-size:18px}
.cta-strip__d{margin-top:8px;color:var(--muted);max-width:720px}
.cta-strip__actions{display:flex;gap:10px;flex-wrap:wrap}

.stack{display:grid;gap:12px}
.stack-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
}
.stack-card h3{margin:0 0 8px}

.callout{
  margin-top:14px;
  background:#fff;
  border:1px solid var(--line);
  border-left:4px solid var(--blue);
  border-radius:var(--radius);
  padding:14px 16px;
}
.callout__title{font-weight:900;margin-bottom:6px}

.kpi-grid{margin-top:14px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.kpi-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.kpi-box h3{margin:0 0 8px}

.viz__card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 10px 22px rgba(17,32,42,.06)}
.viz__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.viz__title{font-weight:900}
.viz__tag{font-size:12px;color:var(--muted)}
.viz__bars{margin-top:12px;display:grid;gap:10px}
.bar{display:grid;grid-template-columns:110px 1fr 48px;gap:10px;align-items:center;font-size:14px}
.bar__fill{height:10px;border-radius:999px;background:linear-gradient(90deg, rgba(0,119,182,.95), rgba(42,157,244,.85))}
.bar__fill--warn{background:linear-gradient(90deg, rgba(245,159,0,.95), rgba(0,119,182,.60))}
.viz__foot{margin-top:12px;color:var(--muted);font-size:14px}

.lab{display:grid;gap:12px}
.lab__card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.lab__title{font-weight:900;margin-bottom:10px}
.ab{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ab__col{border:1px solid var(--line);border-radius:14px;padding:12px}
.ab__col--b{background:linear-gradient(180deg, rgba(0,119,182,.07), rgba(255,255,255,.9))}
.ab__h{font-weight:900;margin-bottom:10px}
.ab__m{display:flex;justify-content:space-between;gap:10px;color:var(--muted);margin-top:6px}
.ab__m strong{color:var(--text);font-family:var(--mono)}
.lab__result{margin-top:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 10px 22px rgba(17,32,42,.06)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-label{display:block;margin:0 0 6px;font-weight:800;font-size:13px;color:var(--muted)}
.form-control{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  font-family:var(--sans);
}
textarea.form-control{resize:vertical}
.form-control:focus{outline:0;border-color:rgba(0,119,182,.55);box-shadow:0 0 0 4px rgba(0,119,182,.12)}
.checks{margin:12px 0;display:grid;gap:10px}
.check{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:14px}
.check__box{margin-top:2px;width:18px;height:18px;border-radius:5px;border:1px solid var(--line);accent-color:var(--blue)}
.form-note{margin-top:10px;font-size:12px}

.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 10px 22px rgba(17,32,42,.06)}
.contact-lines{margin-top:14px;display:grid;gap:10px}
.contact-lines--wide{grid-template-columns:1fr 1fr}
.contact-line{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:14px;padding:12px}
.contact-line strong{font-family:var(--mono)}
.contact-highlight{margin-top:14px;border:1px solid rgba(0,119,182,.16);background:linear-gradient(135deg, rgba(0,119,182,.08), rgba(42,157,244,.05));border-radius:var(--radius);padding:14px}
.contact-highlight__title{font-weight:900;margin-bottom:6px}

.site-footer{margin-top:18px;background:#fff;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px;padding:22px 0}
.footer-title{margin:0 0 10px;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}
.footer-link{display:block;margin:8px 0;color:var(--text)}
.footer-brand{margin-bottom:8px}
.footer-line{margin:8px 0}
.footer-bottom{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px}

.dash{margin-top:14px}
.dash__top{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}
.dash__kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.kpi__label{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.3px}
.kpi__value{margin-top:8px;font-family:var(--mono);font-size:22px;font-weight:900;color:var(--text)}
.kpi__delta{margin-top:6px;color:var(--muted);font-size:12px}
.kpi__delta--up{color:var(--ok);font-weight:800}
.kpi__delta--down{color:var(--blue);font-weight:800}

.builder{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.builder__title{font-weight:900}
.builder__grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.chip{border:1px dashed rgba(0,119,182,.35);background:rgba(0,119,182,.06);border-radius:14px;padding:10px;font-weight:800;color:var(--blue);font-size:12px}
.chip--ghost{color:var(--muted);background:#fff;border-color:rgba(93,107,116,.28)}
.builder__note{margin-top:10px;color:var(--muted);font-size:12px}

.dash__main{margin-top:12px;display:grid;gap:12px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:0 10px 22px rgba(17,32,42,.06)}
.panel__header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.panel__title{font-weight:900}
.panel__subtitle{margin-top:6px;color:var(--muted);font-size:13px;max-width:720px}
.panel__footer{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.pill{border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:12px;color:var(--muted);background:#fff}
.panel--split{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.panel__half{border:1px solid var(--line);border-radius:14px;padding:12px}
.panel__hint{margin-top:10px;color:var(--muted);font-size:13px}

.chart{position:relative;height:220px;border:1px solid var(--line);border-radius:14px;margin-top:12px;overflow:hidden;background:linear-gradient(180deg,#fff, #fbfdff)}
.chart__grid{position:absolute;inset:0;background-image:linear-gradient(to right, rgba(17,32,42,.06) 1px, transparent 1px),linear-gradient(to top, rgba(17,32,42,.06) 1px, transparent 1px);background-size:36px 36px;opacity:.5}
.chart__line{position:absolute;left:6%;right:6%;top:18%;bottom:18%;border-radius:14px}
.chart__line--a{background:linear-gradient(90deg, rgba(0,119,182,.0), rgba(0,119,182,.0));}
.chart__line--b{background:linear-gradient(90deg, rgba(42,157,244,.0), rgba(42,157,244,.0));}
.chart__points{position:absolute;inset:0}
.pt{position:absolute;width:10px;height:10px;border-radius:50%;transform:translate(-50%,50%);box-shadow:0 6px 14px rgba(17,32,42,.14)}
.pt--a{background:var(--blue)}
.pt--b{background:var(--blue-2)}
.chart::before{
  content:"";
  position:absolute;
  left:6%;
  right:6%;
  top:22%;
  bottom:22%;
  background:linear-gradient(135deg, rgba(0,119,182,.18), rgba(42,157,244,.06));
  clip-path:polygon(0% 78%, 16% 70%, 32% 62%, 48% 50%, 64% 44%, 78% 34%, 100% 28%, 100% 100%, 0% 100%);
  opacity:.9;
}
.chart::after{
  content:"";
  position:absolute;
  left:6%;
  right:6%;
  top:22%;
  bottom:22%;
  border:2px solid rgba(0,119,182,.55);
  clip-path:polygon(0% 78%, 16% 70%, 32% 62%, 48% 50%, 64% 44%, 78% 34%, 100% 28%);
  border-radius:14px;
}

.table{margin-top:10px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.rowh,.rowd{display:grid;grid-template-columns:1fr 70px 70px 70px;gap:10px;padding:10px 12px;align-items:center}
.rowh{background:#fbfdff;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.3px}
.rowd{border-top:1px solid var(--line);font-size:13px}
.g{color:var(--ok);font-weight:900}
.y{color:var(--warn);font-weight:900}
.o{color:#d9480f;font-weight:900}

.funnel{margin-top:10px;display:grid;gap:10px}
.funnel__step{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 12px;border:1px solid var(--line);border-radius:14px;
  background:linear-gradient(135deg, rgba(0,119,182,.06), rgba(255,255,255,.92));
}
.funnel__step strong{font-family:var(--mono)}

.page-hero{background:#fff;border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow);overflow:hidden}
.page-hero__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;padding:24px;align-items:center}
.page-title{margin:12px 0 10px;font-size:40px;line-height:1.05}
.page-lead{margin:0;color:var(--muted)}
.page-hero__meta{margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rounded{border-radius:16px;border:1px solid var(--line)}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.boxed{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.boxed h3{margin:0 0 8px}

.method{display:grid;gap:10px}
.method__step{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px}
.method__n{font-family:var(--mono);font-weight:900;color:var(--blue)}
.method__t{font-weight:900}

.legal{padding:22px 0}
.legal__wrap{background:#fff;border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow);padding:22px}
.legal__title{margin:0 0 12px;font-size:34px}
.legal__text p{margin:0 0 12px;color:var(--muted)}
.legal__links{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.prefs{margin-top:14px;display:grid;gap:10px}
.check--row{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfdff}

.thankyou{padding:34px 0}
.thankyou__wrap{display:flex;justify-content:center}
.thankyou__card{max-width:860px;width:100%;background:#fff;border:1px solid var(--line);border-radius:calc(var(--radius) + 8px);box-shadow:var(--shadow);padding:24px}
.thankyou__title{margin:12px 0 10px;font-size:40px;line-height:1.05}
.thankyou__text{margin:0;color:var(--muted)}
.thankyou__next{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
.thankyou__contact{margin-top:14px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted);display:grid;gap:6px}
.thankyou__contact strong{color:var(--text);font-family:var(--mono)}

@media (max-width: 1080px){
  .shell{grid-template-columns:1fr}
  .sidebar{position:relative;top:auto;padding:0}
  .hero__grid{grid-template-columns:1fr}
  .hero__meta{grid-template-columns:1fr}
  .dash__top{grid-template-columns:1fr}
  .dash__kpi{grid-template-columns:1fr}
  .panel--split{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .cards--wide{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr}
  .kpi-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .page-hero__grid{grid-template-columns:1fr}
  .page-hero__meta{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .cookie-bar__inner{flex-direction:column}
  .cookie-bar__links{white-space:normal}
}

@media (max-width: 520px){
  .hero__title{font-size:34px}
  .section__title{font-size:26px}
  .page-title,.thankyou__title{font-size:32px}
}
