:root{
  /* Palette from the conversiontrip brand guidelines (Deep Sea) */
  --page:#F5F8FF;      /* warm white page */
  --paper:#FFFFFF;     /* cards and clean surfaces */
  --wash:#EEF3FC;      /* alternate sections */
  --tint:#E6F0FF;      /* soft highlight surface */
  --line:#D5DEEE;
  --line-2:#BCC9E0;
  --ink:#0A0D18;       /* deep navy: headings and text */
  --ink-2:#2A3350;
  --mt:#555F78;        /* muted text */
  --dark:#05070F;      /* deep blue-green: authority sections */
  --brand:#0A0D18;     /* selected states, tags */
  --teal:#1E5BFF;      /* charts, graphics */
  --teal-text:#1448D6; /* small accent text, 5.6:1 on page */
  --sky:#4C8DFF;       /* primary CTA, highlights */
  --sky-hi:#7AABFF;
  --brand-soft:rgba(30,91,255,.1);

  /* on dark surfaces */
  --on-brand:#FFFFFF;
  --on-brand-mt:#A9B6D3;
  --on-brand-line:rgba(255,255,255,.16);

  --fd:"Inter",system-ui,sans-serif;
  --fh:"Sora","Inter",system-ui,sans-serif; /* headlines and numbers */
  --fl:"DM Serif Display",Georgia,serif; /* logo only */
  --wide:118%;
  --mw:1240px;
  --px:clamp(1.25rem,4vw,2.5rem);
  --ease:cubic-bezier(.23,1,.32,1);
  --z-nav:50;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
html,body{margin:0;background:var(--page);color:var(--ink);font-family:var(--fd);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
img,svg{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:4px}
.c{max-width:var(--mw);margin-inline:auto;padding-inline:var(--px)}
.sec{padding-block:clamp(4.5rem,9vw,8rem)}
.wash{background:var(--wash)}
.blue{background:var(--dark);color:var(--on-brand)}
.num{font-variant-numeric:tabular-nums}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ── TYPE ── */
.h2{font-weight:750;font-family:var(--fh);font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.04;letter-spacing:-.035em;text-wrap:balance;margin:0 0 1.25rem}
.h3{font-weight:700;font-family:var(--fh);font-size:1.3125rem;line-height:1.2;letter-spacing:-.02em;text-wrap:balance;margin:0 0 .625rem}
.lead{font-size:1.1875rem;color:var(--mt);line-height:1.65;margin:0;max-width:60ch;text-wrap:pretty}
.blue .lead{color:var(--on-brand-mt)}
.body{font-size:1rem;color:var(--mt);line-height:1.7;margin:0;text-wrap:pretty}
.blue .body{color:var(--on-brand-mt)}
.head{max-width:780px;margin-bottom:clamp(2.5rem,5vw,4rem)}

/* ── LOGO (vector monogram + live-text wordmark) ── */
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--dark);min-height:44px}
.logo-mk{width:28px;height:28px;flex-shrink:0}
.wm{font-family:var(--fl);font-size:1.5rem;line-height:1;letter-spacing:-.01em;white-space:nowrap}
.wm-ai{color:var(--sky);font-style:italic;margin-left:.04em}
[data-wm-ai="upright"] .wm-ai{font-style:normal;margin-left:.06em}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:650;font-size:.9375rem;border-radius:var(--btn-r,999px);min-height:44px;padding:.75rem 1.25rem;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .16s var(--ease)}
.btn:active{transform:scale(.97)}
.btn:disabled{cursor:not-allowed;transform:none;background:var(--line);border-color:var(--line);color:var(--mt)}
.btn-lg{min-height:52px;padding:.875rem 1.5rem;font-size:1rem}
.btn-brand{background:var(--sky);color:var(--dark)}
.btn-brand:hover:not(:disabled){background:var(--sky-hi)}
.btn-line{border-color:var(--line-2);color:var(--ink);background:var(--paper)}
.btn-line:hover:not(:disabled){border-color:var(--ink)}
.btn-line:disabled{background:var(--paper);border-color:var(--line);color:var(--line-2)}
.btn-sky{background:var(--sky);color:var(--dark)}
.btn-sky:hover{background:var(--sky-hi)}
.arr{transition:transform .2s var(--ease)}
@media (hover:hover){.btn:hover .arr{transform:translateX(3px)}}

/* ── NAV ── */
.nav{position:fixed;inset:0 0 auto 0;z-index:var(--z-nav);transition:background-color .25s ease,border-color .25s ease;border-bottom:1px solid transparent}
.nav.solid{background:rgba(245,248,255,.94);backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px);border-bottom-color:var(--line)}
.nav-i{max-width:var(--mw);margin-inline:auto;padding:.875rem var(--px);display:flex;align-items:center;gap:2rem}
.nav-links{display:flex;gap:.125rem;margin:0 auto 0 .75rem;padding:0;list-style:none}
.nav-links a{display:flex;align-items:center;min-height:40px;font-size:.9375rem;font-weight:500;text-decoration:none;color:var(--mt);padding:0 .8rem;border-radius:6px;transition:color .15s ease}
.nav-links a:hover{color:var(--ink)}
.nav-cta .btn{min-height:40px;padding:.5rem 1.125rem;font-size:.875rem}
/* over the dark hero: light type; a dark bar once scrolled, the light bar after the hero */
.nav.dk{background:rgb(5 7 15 / 88%);backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px);border-bottom-color:var(--on-brand-line)}
.nav:not(.solid):not(.open) .logo,.nav:not(.solid):not(.open) .nav-ham{color:var(--on-brand)}
.nav:not(.solid):not(.open) .nav-links a{color:var(--on-brand-mt)}
.nav:not(.solid):not(.open) .nav-links a:hover{color:var(--on-brand)}
.nav-ham{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;padding:11px;cursor:pointer;color:var(--ink)}
.nav-ham span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;margin:5px 0;transition:transform .2s var(--ease),opacity .2s ease}
.nav.open .nav-ham span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.open .nav-ham span:nth-child(2){opacity:0}
.nav.open .nav-ham span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── HERO (dark, dashboard in a cyan frame bleeding off the right edge) ── */
.hero{position:relative;min-height:100svh;display:flex;background:radial-gradient(ellipse 70% 60% at 22% 38%,#0E1F52 0%,rgb(14 31 82 / 0%) 70%),var(--dark);color:var(--on-brand);overflow:hidden}
.hero-i{width:100%;max-width:var(--mw);margin-inline:auto;padding:8.5rem var(--px) 3.5rem;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-rows:1fr auto;column-gap:clamp(2.5rem,5vw,4.5rem);row-gap:3rem}
.hero-copy{align-self:center}
.h1{font-weight:600;font-size:clamp(2.75rem,5.4vw,4.75rem);line-height:1.02;letter-spacing:-.04em;margin:0 0 1.5rem}
.h1 .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.h1 .ln>span{display:inline-block}
.h1 .ai{color:var(--sky)}
/* rotating line */
.hero-rot{display:flex;align-items:center;gap:.6rem;margin:0 0 1rem;font-weight:600;font-size:1.0625rem;color:var(--sky)}
.rot-i{width:8px;height:8px;border-radius:50%;background:var(--sky);flex-shrink:0}
.rot-w{display:inline-block;overflow:hidden;height:1.6em;line-height:1.6em}
.rot-t{display:inline-block}
.hero-p{font-size:1.125rem;line-height:1.7;color:var(--on-brand-mt);max-width:44ch;margin:0 0 2.25rem;text-wrap:pretty}
.hero-p b{color:var(--on-brand);font-weight:600}
.hero-btns{display:flex;flex-wrap:wrap;gap:.75rem}
.btn-ghost{border-color:rgba(255,255,255,.3);color:var(--on-brand);background:transparent}
.btn-ghost:hover{border-color:var(--on-brand)}
/* platform row along the bottom */
.hero-plat{grid-column:1/-1;align-self:end}
.hero-plat p{font-size:.875rem;color:var(--on-brand-mt);margin:0 0 1rem}
.hero-plat ul{display:flex;flex-wrap:wrap;gap:.75rem 2.25rem;margin:0;padding:0;list-style:none}
.hero-plat li{font-weight:700;font-family:var(--fh);font-size:1.0625rem;letter-spacing:-.02em;color:#D5DEF2}

/* the frame: cyan border around the system map, inside the page column */
.hv{align-self:center;min-width:0}
.hf{margin:0;background:var(--sky);border-radius:22px;padding:12px;box-shadow:0 40px 100px rgb(0 0 0 / 35%)}
.map-w{background:var(--paper);border-radius:12px;padding:1.5rem 1.5rem 1.75rem;color:var(--ink)}
.map-h{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.75rem;font-size:.75rem;color:var(--mt)}
.map-h b{font-weight:650;font-size:.9375rem;color:var(--ink)}

/* system map: conversiontrip → three agents → the platforms each one runs */
.map{position:relative;display:grid;grid-template-columns:84px minmax(0,1fr) auto;grid-template-rows:repeat(3,auto);column-gap:2.75rem;row-gap:1.25rem;align-items:center}
.map-l{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.map-l path{fill:none;stroke:var(--line-2);stroke-width:1.5;stroke-dasharray:3 4}
.map-hub{grid-column:1;grid-row:1/-1;display:grid;justify-items:center;gap:.6rem;text-align:center;font-size:.6875rem;font-weight:650;line-height:1.3}
.map-hub i{width:64px;height:64px;border-radius:18px;background:var(--dark);color:var(--page);display:grid;place-items:center;box-shadow:0 0 0 6px var(--tint)}
.map-hub svg{width:32px;height:32px}
.r1{grid-row:1}.r2{grid-row:2}.r3{grid-row:3}
.ag{grid-column:2;min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:.75rem .875rem;box-shadow:0 6px 18px rgb(5 7 15 / 6%);transition:border-color .3s ease,box-shadow .3s ease;text-decoration:none;color:inherit;display:block}
.ag-n{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:650;line-height:1.3}
.ag-s{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 3px var(--brand-soft);transition:background-color .3s ease}
.ag-a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-top:.3rem;min-height:2.8em;font-size:.75rem;line-height:1.4;color:var(--mt)}
.ag-a b{color:var(--ink);font-weight:600}
.ag.hit{border-color:var(--sky);box-shadow:0 0 0 3px rgba(76,141,255,.18),0 6px 18px rgb(5 7 15 / 6%)}
.ag.hit .ag-s{background:var(--sky)}
.map-p{grid-column:3;list-style:none;margin:0;padding:0;display:grid;justify-items:start;gap:.375rem}
.map-p li{font-size:.75rem;font-weight:650;line-height:1.3;border:1px solid var(--line-2);border-radius:999px;padding:.3rem .7rem;white-space:nowrap;background:var(--paper);transition:border-color .3s ease,background-color .3s ease}
.map-p li.hit{border-color:var(--teal);background:var(--tint)}
.map-dot{position:absolute;left:0;top:0;width:8px;height:8px;border-radius:50%;background:var(--sky);box-shadow:0 0 0 3px rgba(76,141,255,.2);offset-rotate:0deg;pointer-events:none}

/* ── HOW / CHAT ── */
.how-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.ticks{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1rem}
.ticks li{display:grid;grid-template-columns:22px 1fr;gap:.75rem;font-size:1rem;color:var(--mt);line-height:1.55}
.ticks li::before{content:"";width:22px;height:22px;margin-top:.05rem;border-radius:50%;background:var(--brand-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6.5 11.5l3 3 6-7' fill='none' stroke='%23006B8A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.ticks li b{color:var(--ink);font-weight:650}
.chat{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgb(5 7 15 / 6%);overflow:hidden}
.chat-h{padding:.875rem 1.125rem;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:.625rem;font-weight:650;font-size:.875rem;color:var(--dark)}
.chat-h .logo-mk{width:22px;height:22px}
.chat-h span{margin-left:auto;font-weight:500;color:var(--mt);font-size:.75rem}
.chat-b{padding:1.25rem;display:grid;gap:1rem;background:var(--wash)}
.eng{list-style:none;margin:0;counter-reset:e;display:grid;gap:1.375rem}
.eng li{counter-increment:e;position:relative;display:grid;grid-template-columns:2rem minmax(0,1fr);column-gap:1rem;align-items:start}
.eng li::before{content:counter(e);grid-row:1/4;width:2rem;height:2rem;border-radius:50%;background:var(--dark);color:var(--on-brand);display:grid;place-items:center;font-weight:750;font-size:.8125rem}
.eng li:not(:last-child)::after{content:"";position:absolute;left:calc(1rem - 1px);top:2.5rem;bottom:-1.125rem;width:2px;background:var(--line-2)}
.eng b{font-weight:650;font-size:.9375rem;line-height:2rem}
.eng span{font-size:.875rem;color:var(--mt);line-height:1.55;max-width:52ch}
.eng em{justify-self:start;margin-top:.5rem;font-style:normal;font-size:.75rem;font-weight:650;color:var(--teal-text);background:var(--brand-soft);border-radius:4px;padding:.15rem .5rem}
.msg-u{justify-self:end;max-width:82%;background:var(--brand);color:var(--on-brand);border-radius:14px 14px 4px 14px;padding:.75rem 1rem;font-size:.9375rem;line-height:1.5}
.msg-a{font-size:.9375rem;line-height:1.55}
.msg-a p{margin:0 0 .875rem;max-width:58ch}
.plan{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.plan-h{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);font-weight:650;font-size:.875rem}
.plan-h em{font-style:normal;font-size:.6875rem;font-weight:700;color:var(--brand);background:var(--brand-soft);padding:.15rem .5rem;border-radius:4px;white-space:nowrap}
.plan-r{display:grid;grid-template-columns:1fr auto;gap:.75rem;padding:.625rem 1rem;font-size:.8125rem;border-bottom:1px solid var(--line)}
.plan-r span:first-child{color:var(--mt)}
.plan-r span:last-child{font-weight:650;font-variant-numeric:tabular-nums;text-align:right}
.plan-r.tot{background:var(--wash)}
.plan-r.tot span:first-child{color:var(--ink);font-weight:600}
.plan-r.tot span:last-child{color:var(--teal-text)}
.plan-f{display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1rem}
.mock-b{display:inline-flex;align-items:center;font-size:.8125rem;font-weight:650;border-radius:6px;padding:.45rem .85rem;border:1px solid var(--line-2)}
.mock-b.pri{background:var(--sky);border-color:var(--sky);color:var(--dark)}

/* ── CAPABILITIES (tabs) ── */
.tabs{display:flex;gap:.375rem;flex-wrap:wrap;margin-bottom:1.5rem}
.tab{min-height:44px;border:1px solid var(--line-2);background:var(--paper);color:var(--mt);border-radius:8px;padding:0 1.05rem;font-weight:550;font-size:.9375rem;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease}
.tab:hover{color:var(--ink);border-color:var(--ink)}
.tab[aria-selected="true"]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.tab-p{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4rem);align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:clamp(1.5rem,4vw,3rem)}
.tab-p[hidden]{display:none}
.tab-p .ticks{margin-top:1.5rem}
.vis{display:grid;gap:.5rem;font-size:.8125rem}
.vrow{display:grid;grid-template-columns:4.75rem 1fr auto;gap:.875rem;align-items:center;border:1px solid var(--line);border-radius:8px;padding:.7rem .85rem}
.vrow .nm{font-weight:600;display:block}
.vrow .mt{color:var(--mt);font-size:.75rem}
.tag{font-size:.625rem;font-weight:750;letter-spacing:.06em;text-align:center;padding:.25rem .4rem;border-radius:4px;white-space:nowrap}
.tag.s{background:var(--brand);color:var(--on-brand)}
.tag.k{background:var(--brand-soft);color:var(--brand)}
.tag.o{border:1px solid var(--line-2);color:var(--mt)}
.meter{width:84px;height:6px;border-radius:999px;background:var(--tint);overflow:hidden}
.meter i{display:block;height:100%;background:var(--teal);border-radius:inherit}
.vq{display:grid;gap:.5rem;font-size:.875rem}
.vq .q{justify-self:end;background:var(--brand);color:var(--on-brand);border-radius:12px 12px 4px 12px;padding:.6rem .9rem}
.vq .a{border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem;line-height:1.55;color:var(--mt)}
.vq .a b{display:block;color:var(--ink);margin-bottom:.25rem}
.vq .who{display:block;font-size:.75rem;font-weight:650;color:var(--teal-text);margin-bottom:.35rem}

/* ── SYSTEM (dark, scroll rail) ── */
.sys-g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.sys-side{position:sticky;top:7rem}
.sys-list{position:relative;padding-left:2.5rem}
.rail{position:absolute;left:7px;top:.5rem;bottom:.5rem;width:2px;background:var(--on-brand-line);border-radius:2px}
.rail i{position:absolute;inset:0;background:var(--sky);border-radius:inherit;transform-origin:top}
.sys-row{position:relative;padding-bottom:3.5rem}
.sys-row:last-child{padding-bottom:0}
.sys-row::before{content:"";position:absolute;left:calc(-2.5rem + 1px);top:.45rem;width:14px;height:14px;border-radius:50%;background:var(--dark);border:2px solid var(--sky)}
.sys-k{font-size:.8125rem;font-weight:600;color:var(--sky);margin-bottom:.5rem}
.sys-row .h3{font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:-.03em}
.sys-caps{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 0;padding:0;list-style:none}
.sys-caps li{font-size:.8125rem;color:var(--on-brand);border:1px solid var(--on-brand-line);border-radius:6px;padding:.3rem .65rem}

/* ── COMPARE ── */
.cmp{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--paper)}
.cmp table{width:100%;border-collapse:collapse;font-size:1rem}
.cmp th,.cmp td{padding:1.1rem 1.5rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.cmp tbody tr:last-child td,.cmp tbody tr:last-child th{border-bottom:0}
.cmp thead th{font-weight:700;font-family:var(--fh);font-size:1rem;letter-spacing:-.01em;background:var(--wash)}
.cmp thead th.dt{background:var(--dark);color:var(--on-brand)}
.cmp tbody th{font-weight:650;width:22%}
.cmp td{color:var(--mt)}
.cmp td.dt{color:var(--ink);font-weight:550;background:var(--tint)}

/* ── BOOKING ── */
.book{background:var(--wash)}
.book-g{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2.5rem,6vw,5rem);align-items:start}
.book-side{position:sticky;top:7rem}
.steps{list-style:none;margin:2rem 0 0;padding:0;counter-reset:s;border-top:1px solid var(--line-2)}
.steps li{counter-increment:s;display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line-2)}
.steps li::before{content:counter(s);width:2.125rem;height:2.125rem;border-radius:50%;background:var(--dark);color:var(--on-brand);display:grid;place-items:center;font-weight:750;font-size:.875rem}
.steps b{display:block;font-size:1.0625rem;font-weight:650}
.steps span{font-size:.9375rem;color:var(--mt)}

.bwiz{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 8px 24px rgb(5 7 15 / 6%)}
.bwiz-prog{margin-bottom:1.75rem}
.bwiz-step-hdr{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.625rem;font-size:.875rem}
.bwiz-step-cur{color:var(--mt);font-variant-numeric:tabular-nums}
.bwiz-step-name{font-weight:650;color:var(--ink)}
.bwiz-bar{height:4px;background:var(--tint);border-radius:999px;overflow:hidden}
.bwiz-fill{height:100%;width:100%;background:var(--sky);border-radius:inherit;transform-origin:left;transform:scaleX(.25);transition:transform .45s var(--ease)}
.bwiz-h{font-weight:700;font-family:var(--fh);font-size:1.125rem;letter-spacing:-.015em;margin:0 0 1rem}
.bwiz-h:focus{outline:none}
.bwiz-sub{font-weight:650;font-size:.9375rem;margin:1.5rem 0 .75rem}
.bsvc-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.bopt{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;text-align:left;min-height:64px;padding:.85rem 1rem;border:1px solid var(--line-2);border-radius:10px;background:var(--paper);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .16s var(--ease)}
.bopt:hover{border-color:var(--ink)}
.bopt:active{transform:scale(.98)}
.bopt[aria-pressed="true"]{border-color:var(--teal);background:var(--tint);box-shadow:inset 0 0 0 1px var(--teal)}
.bopt b{font-weight:650;font-size:.9375rem;line-height:1.3}
.bopt span{font-size:.8125rem;color:var(--mt);line-height:1.4}
.bopt .pr{font-weight:650;color:var(--teal-text)}
.bwiz-free{display:flex;gap:.75rem;align-items:flex-start;background:var(--brand-soft);border:1px solid rgb(30 91 255 / 20%);border-radius:.875rem;padding:.875rem 1rem;margin:0 0 1.5rem;color:var(--ink-2);font-size:.9375rem;line-height:1.5}
.bwiz-free svg{flex:none;color:var(--teal-text);margin-top:.1rem}
.bwiz-free b{color:var(--ink)}
.bpkg-note{margin:-.25rem 0 .875rem;color:var(--mt);font-size:.875rem;line-height:1.5}
.bpkg .pr{color:var(--mt);font-weight:500;font-size:.8125rem}
.bpkg-ns{border-style:dashed}
.bpkg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:.5rem}
.bfeat{list-style:none;margin:1rem 0 0;padding:1rem;display:grid;gap:.45rem;background:var(--wash);border-radius:10px;font-size:.875rem}
.bfeat li{display:grid;grid-template-columns:18px 1fr;gap:.6rem;align-items:start;color:var(--ink-2)}
.bfeat li svg{margin-top:.2rem;color:var(--teal)}
.bfeat li.exc{color:var(--mt);text-decoration:line-through}
.bfeat li.exc svg{color:var(--mt)}
.bcal{border:1px solid var(--line);border-radius:12px;padding:1rem}
.bcal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}
.bcal-month{font-weight:650}
.bcal-btn{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:8px;background:var(--paper);cursor:pointer;font-size:1.125rem;line-height:1}
.bcal-btn:hover:not(:disabled){border-color:var(--ink)}
.bcal-btn:disabled{opacity:.35;cursor:not-allowed}
.bcal-dow,.bcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.bcal-dow{font-size:.75rem;color:var(--mt);text-align:center;margin-bottom:.375rem}
.bcal-day{aspect-ratio:1;min-height:40px;border:0;border-radius:8px;background:transparent;cursor:pointer;font-weight:550;font-size:.9375rem;font-variant-numeric:tabular-nums;transition:background-color .15s ease,color .15s ease}
.bcal-day:hover:not(:disabled):not([aria-pressed="true"]){background:var(--tint)}
.bcal-day:disabled{color:#A3AFC8;cursor:not-allowed}
.bcal-day.today{box-shadow:inset 0 0 0 1px var(--line-2)}
.bcal-day[aria-pressed="true"]{background:var(--brand);color:var(--on-brand)}
.btz{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--mt);font-size:.875rem}
.btz select{flex:1;min-width:0;min-height:40px;border:1px solid var(--line-2);border-radius:8px;background:var(--paper);padding:0 .625rem;color:var(--ink)}
.bslots{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:.4rem}
.bslot{min-height:44px;border:1px solid var(--line-2);border-radius:8px;background:var(--paper);cursor:pointer;font-weight:550;font-size:.875rem;font-variant-numeric:tabular-nums;transition:border-color .15s ease,background-color .15s ease,color .15s ease}
.bslot:hover:not([aria-pressed="true"]){border-color:var(--ink)}
.bslot[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.bnote{font-size:.875rem;color:var(--mt);margin:.25rem 0 0}
.bfield{display:grid;gap:.375rem;margin-bottom:1rem}
.bfield label{font-size:.875rem;font-weight:600}
.bfield label small{font-weight:400;color:var(--mt);font-size:.8125rem}
.bfield input,.bfield textarea{width:100%;min-height:46px;border:1px solid var(--line-2);border-radius:8px;background:var(--paper);padding:.7rem .875rem;font-size:1rem;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}
.bfield textarea{min-height:96px;resize:vertical}
.bfield input::placeholder,.bfield textarea::placeholder{color:#6D7896}
.bfield input:focus,.bfield textarea:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 3px rgba(76,141,255,.25)}
.bfield input[aria-invalid="true"]{border-color:#B42318}
.berr{font-size:.8125rem;color:#B42318;margin:0}
.brev{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.brev div{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid var(--line);font-size:.9375rem}
.brev div:last-child{border-bottom:0}
.brev dt{color:var(--mt)}
.brev dd{margin:0;font-weight:550;overflow-wrap:anywhere}
.bwiz-nav{display:flex;justify-content:space-between;gap:.5rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.bwiz-nav .btn[hidden]{display:none}
.bwiz-msg{font-size:.875rem;color:#B42318;margin:.75rem 0 0}
.bwiz-done{text-align:center;padding:1.5rem 0}
.bwiz-done .ok{width:56px;height:56px;border-radius:50%;background:var(--tint);color:var(--teal);display:grid;place-items:center;margin:0 auto 1.25rem}
.bwiz-done p{color:var(--mt);max-width:38ch;margin:0 auto 1.5rem}

/* ── FAQ ── */
.faq-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(2.5rem,6vw,5rem)}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;min-height:44px;padding:1.375rem 0;display:flex;justify-content:space-between;gap:1.5rem;align-items:center;font-weight:650;font-size:1.0625rem;letter-spacing:-.01em;transition:color .15s ease}
.faq summary:hover{color:var(--teal-text)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex-shrink:0;width:12px;height:12px;background:linear-gradient(currentColor,currentColor) center/12px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 12px no-repeat;transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 1.375rem;color:var(--mt);font-size:1rem;line-height:1.75;max-width:64ch}
.faq-link{color:var(--teal-text);font-weight:600;text-underline-offset:3px}

/* ── FINAL ── */
.final{position:relative;overflow:hidden;text-align:center}
.final .c{position:relative}
.final .h2{font-size:clamp(2.5rem,6vw,4.75rem);max-width:14ch;margin-inline:auto}
.final .lead{margin:0 auto 2.25rem}
.final-note{font-size:.875rem;color:var(--on-brand-mt);margin-top:1rem}
.horizon{position:absolute;left:0;right:0;bottom:0;height:46%;pointer-events:none}
.horizon svg{width:100%;height:100%}
.horizon .base{stroke:var(--on-brand-line)}
.horizon .js-hz{stroke:var(--sky)}

/* ── FOOTER ── */
.foot{padding-block:4.5rem 2.5rem;background:var(--dark);color:var(--on-brand)}
.foot .logo{color:var(--page);margin-bottom:.75rem}
.foot .body{color:var(--on-brand-mt)}
.foot-g{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:2.5rem}
.foot-g>div{min-width:0}
.foot-g ul li a,.foot-g h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.foot h2{font-size:.9375rem;font-weight:700;margin:0 0 1rem}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.foot ul a{display:inline-flex;align-items:center;min-height:32px;font-size:.9375rem;color:var(--on-brand-mt);text-decoration:none}
.foot ul a:hover{color:var(--sky)}
.foot-b{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:3.5rem;padding-top:1.75rem;border-top:1px solid var(--on-brand-line);font-size:.875rem;color:var(--on-brand-mt)}
.foot :focus-visible,.blue :focus-visible{outline-color:var(--sky)}

/* ── RESPONSIVE ── */
@media (max-width:1080px){
  .hero-i{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;padding-top:7.5rem;row-gap:3.5rem}
  .hero-copy{max-width:640px}
  .how-g,.tab-p,.book-g,.faq-g,.sys-g{grid-template-columns:minmax(0,1fr)}
  .sys-side,.book-side{position:static}
  .foot-g{grid-template-columns:1fr 1fr 1fr}
  .foot-g>div:first-child{grid-column:1/-1}
}
@media (max-width:860px){
  .nav-links,.nav-cta{display:none}
  .nav-ham{display:block}
  .nav.open{background:var(--page);border-bottom-color:var(--line)}
  .nav.open .nav-links{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;margin:0;padding:.5rem var(--px) 1.25rem;background:var(--page);border-bottom:1px solid var(--line)}
  .nav.open .nav-links a{color:var(--ink);font-size:1.0625rem;min-height:48px;padding:0}
  .nav.open .nav-links .mob a{justify-content:center;margin-top:.5rem;background:var(--sky);color:var(--dark);border-radius:999px;font-weight:650}
}
@media (min-width:861px){.nav-links .mob{display:none}}
@media (max-width:720px){
  :root{--px:1rem}
  .h1{font-size:clamp(2.5rem,11.5vw,3.5rem)}
  .hf{padding:8px;border-radius:16px}
  .map-w{border-radius:9px;padding:1.125rem 1rem 1.25rem}
  .map{grid-template-columns:minmax(0,1fr) auto;column-gap:1.5rem}
  .map-hub{display:none}
  .ag{grid-column:1}
  .map-p{grid-column:2}
  .hero-plat ul{gap:.5rem 1.5rem}
  .hero-plat li{font-size:.9375rem}
  .vrow{grid-template-columns:4.25rem 1fr}
  .vrow>:last-child{grid-column:2}
  .cmp table,.cmp thead,.cmp tbody,.cmp tr,.cmp th,.cmp td{display:block}
  .cmp thead{display:none}
  .cmp tbody tr{border-bottom:1px solid var(--line);padding:.875rem 0}
  .cmp tbody tr:last-child{border-bottom:0}
  .cmp tbody th,.cmp td{border:0;padding:.25rem 1rem;width:auto}
  .cmp td::before{display:block;font-size:.75rem;font-weight:650;color:var(--mt)}
  .cmp td:not(.dt)::before{content:"Traditional agency"}
  .cmp td.dt{background:none}
  .cmp td.dt::before{content:"conversiontrip";color:var(--teal-text)}
  .bsvc-grid{grid-template-columns:1fr}
  .bcal{padding:.75rem}
  .bcal-day{min-height:36px}
  .brev div{grid-template-columns:1fr;gap:.125rem}
  .hero-btns .btn{flex:1 1 100%}
  .foot-g{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .bwiz-fill{transition:none}
}

/* ══ V2 REFINEMENTS ══ */
/* spacing rhythm: 8-pt scale, generous but even */
.sec{padding-block:clamp(5rem,9vw,8.5rem)}
.head{margin-bottom:clamp(2.75rem,5vw,4.5rem)}
.h2{font-weight:700;letter-spacing:-.04em;margin-bottom:1.5rem}
.h3{font-weight:650;letter-spacing:-.025em}
.lead{max-width:56ch}
.body,.lead,.hero-p{font-family:var(--fd)}
.ticks{margin-top:2.25rem;gap:1.125rem}
body{font-feature-settings:"cv11","ss01"}
.prog{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;background:linear-gradient(90deg,var(--teal),var(--sky));transform:scaleX(0);transform-origin:0 50%}

/* CTA: the one loud thing on every screen */
.btn{transition:background-color .2s ease,border-color .2s ease,transform .2s var(--ease),box-shadow .2s ease}
.btn-cta{position:relative;overflow:hidden;isolation:isolate;font-weight:700;letter-spacing:-.005em;animation:ring 3s ease-out infinite}
.btn-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgb(255 255 255 / 55%) 50%,transparent 65%);transform:translateX(-130%);animation:sweep 4.2s ease-in-out 1.5s infinite}
.btn-cta .arr{display:inline-grid;place-items:center;width:1.6em;height:1.6em;border-radius:50%;background:var(--dark);color:var(--sky);font-size:.9em;margin-right:-.4rem}
.btn-cta:hover{transform:translateY(-2px)}
@keyframes ring{0%{box-shadow:0 0 0 0 rgb(76 141 255 / 45%),0 14px 34px -12px rgb(76 141 255 / 70%)}70%,100%{box-shadow:0 0 0 16px rgb(76 141 255 / 0%),0 14px 34px -12px rgb(76 141 255 / 70%)}}
@keyframes sweep{0%,55%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
.btn-lg{min-height:56px;padding:.95rem 1.6rem;font-size:1.0625rem}
.nav-cta .btn{min-height:42px;font-size:.875rem}
.nav-links a.act{color:var(--ink);box-shadow:inset 0 -2px 0 var(--sky)}
.nav:not(.solid):not(.open) .nav-links a.act{color:var(--on-brand)}
.stk{position:fixed;right:1.25rem;bottom:1.25rem;z-index:55;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .35s ease,transform .45s var(--ease),visibility .35s}
.stk.show{opacity:1;visibility:visible;transform:none}

/* hero */
.hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-bg .bl{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;will-change:transform}
.b1{width:46vw;height:46vw;left:-12vw;top:-14vw;background:#1E5BFF;animation:drift 18s ease-in-out infinite alternate}
.b2{width:36vw;height:36vw;right:-8vw;top:8vw;background:#4C8DFF;opacity:.28;animation:drift 22s ease-in-out -6s infinite alternate-reverse}
.b3{width:30vw;height:30vw;left:30vw;bottom:-18vw;background:#0B2A8F;opacity:.8;animation:drift 20s ease-in-out -3s infinite alternate}
.hero-bg .spot{position:absolute;inset:0;background:radial-gradient(520px circle at var(--mx,70%) var(--my,30%),rgb(76 141 255 / 16%),transparent 65%);transition:background-position .2s}
@keyframes drift{to{transform:translate3d(6vw,4vw,0) scale(1.12)}}
.hero-i{position:relative;z-index:1;grid-template-rows:auto auto;row-gap:clamp(2.5rem,5vw,4.25rem);padding-top:9rem}
.hero-top{grid-column:1/-1}
.hero-chip{display:inline-flex;align-items:center;gap:.75rem;margin:0 0 1.75rem;padding:.45rem 1rem .45rem .8rem;border:1px solid var(--on-brand-line);border-radius:999px;background:rgb(255 255 255 / 5%);font-size:.8125rem;font-weight:600;color:var(--on-brand)}
.hero-chip .sep{width:1px;height:14px;background:var(--on-brand-line)}
.hero-chip{color:var(--on-brand-mt)}
.hero-chip .pulse{width:9px;height:9px;border-radius:50%;background:var(--sky);box-shadow:0 0 0 0 rgb(76 141 255 / 60%);animation:pulse 2s ease-out infinite}
@keyframes pulse{70%,100%{box-shadow:0 0 0 10px rgb(76 141 255 / 0%)}}
.h1.mega{font-weight:800;font-size:clamp(3.5rem,12.5vw,11rem);line-height:.9;letter-spacing:-.06em;margin:0}
.h1.mega .ln{padding:.04em .06em .22em 0;margin:-.04em 0 -.22em}
.h1.mega .ch{display:inline-block;will-change:transform}
.h1.mega .grad .ch{background:linear-gradient(100deg,#4C8DFF 20%,#B7D0FF 45%,#4C8DFF 70%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 5s linear infinite;animation-delay:calc(var(--i) * -.18s)}
@keyframes shine{to{background-position:-260% 0}}
.hero-copy{align-self:start;max-width:560px}
.hero-rot{font-family:var(--fh);font-size:1.0625rem;margin-bottom:1.25rem}
.hero-p{font-size:1.1875rem;max-width:46ch;margin-bottom:2.5rem}
.hero-btns{gap:1rem}
.hero-assure{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;margin:1.5rem 0 0;padding:0;font-size:.875rem;color:var(--on-brand-mt)}
.hero-assure li{display:flex;align-items:center;gap:.5rem}
.hero-assure .rk-i{width:18px;height:18px;flex-shrink:0;margin-left:-.1rem;color:var(--teal-text)}
.hero-assure li::before{content:"";width:16px;height:16px;border-radius:50%;background:var(--sky) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.4 2.4 4.6-5' fill='none' stroke='%23001F26' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.hstats{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:1.5rem 2.5rem;margin:3rem 0 0;padding-top:2rem;border-top:1px solid var(--on-brand-line)}
.hstats dt{font-size:.75rem;color:var(--on-brand-mt);order:2;margin-top:.25rem}
.hstats div{display:flex;flex-direction:column}
.hstats dd{margin:0;order:1}
.hstats b{font-family:var(--fh);font-weight:700;font-size:clamp(1.75rem,3vw,2.375rem);letter-spacing:-.04em;color:var(--on-brand);font-variant-numeric:tabular-nums}
.hv{align-self:start}
.hero-plat{margin-top:.5rem}
.mq{overflow:hidden;display:flex;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.hero-plat .mq-t{flex:none;display:flex;flex-wrap:nowrap;gap:3rem;padding:0 3rem 0 0;margin:0;list-style:none;width:max-content;min-width:100%;justify-content:space-around;animation:mq 38s linear infinite}
.mq:hover .mq-t{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-100%)}}
.hero-plat li{white-space:nowrap;font-size:1.125rem;opacity:.85}


/* final CTA */
.final .h2{font-weight:800;letter-spacing:-.05em}
.final-assure{justify-content:center;margin-top:1.75rem}
.final .btn-lg{min-height:64px;padding:1.1rem 2.1rem;font-size:1.1875rem}

@media (max-width:1080px){.hero-i{padding-top:7.5rem}.hero-copy{max-width:none}}
@media (max-width:720px){
  .h1.mega{font-size:clamp(3.1rem,17vw,5.5rem)}
  .hstats{grid-template-columns:1fr 1fr}
  .stk{left:1rem;right:1rem;bottom:1rem;justify-content:center}
  .hero-chip{font-size:.75rem}
}
@media (prefers-reduced-motion:reduce){
  .btn-cta,.btn-cta::before,.hero-chip .pulse,.hero-bg .bl,.h1.mega .grad .ch,.mq-t{animation:none}
  .mq{overflow-x:auto}
}

/* ══ SYSTEM MAP, v2: no card, outlined on the dark hero, playable ══ */
.hf{background:none;padding:0;border-radius:0;box-shadow:none}
.map-w{background:none;padding:0;color:var(--on-brand);border-radius:0}
.map-h{align-items:flex-start;margin-bottom:2rem;color:var(--on-brand-mt)}
.map-h b{display:block;font-family:var(--fh);font-size:1.125rem;font-weight:650;letter-spacing:-.02em;color:#fff}
.map-t span{display:block;margin-top:.2rem;font-size:.8125rem}
.map-ctl{display:flex;gap:.5rem;flex-shrink:0}
.mc-b{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;padding:0 1rem;border-radius:999px;border:1px solid rgb(255 255 255 / 28%);background:transparent;color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .2s var(--ease)}
.mc-b:hover{border-color:var(--sky);background:rgb(76 141 255 / 12%)}
.mc-b:active{transform:scale(.96)}
.mc-b svg{width:14px;height:14px;fill:currentColor}
#mapPlay .i-play{display:none}
#mapPlay.off .i-play{display:block}#mapPlay.off .i-pause{display:none}
#mapPlay:not(.off)::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sky);animation:pulse 2s ease-out infinite;order:-1}
.map-l path{stroke:rgb(255 255 255 / 30%);stroke-dasharray:3 7;animation:flow 1.4s linear infinite}
@keyframes flow{to{stroke-dashoffset:-20}}
.map-hub{color:#fff;font-size:.75rem}
.map-hub i{width:72px;height:72px;border-radius:50%;background:none;border:1px solid rgb(255 255 255 / 35%);color:#fff;box-shadow:0 0 0 7px rgb(76 141 255 / 10%),0 0 48px rgb(76 141 255 / 40%)}
.map-hub svg{width:34px;height:34px}
.map-hub i img{width:100%;height:100%;border-radius:50%;padding:16px;object-fit:contain}
.ag{background:none;border:1px solid rgb(255 255 255 / 22%);box-shadow:none;border-radius:16px;padding:1rem 1.1rem;cursor:pointer;transition:border-color .3s ease,box-shadow .3s ease}
.ag:hover{border-color:rgb(255 255 255 / 55%);transform:translateX(3px)}
.ag-n{font-family:var(--fh);color:#fff;font-size:.9375rem;font-weight:650}
.ag-a{color:var(--on-brand-mt);font-size:.8125rem}
.ag-a b{color:#fff}
.ag-s{background:var(--on-brand-mt);box-shadow:0 0 0 3px rgb(255 255 255 / 10%)}
.ag.hit{border-color:var(--sky);box-shadow:0 0 0 1px var(--sky),0 0 36px rgb(76 141 255 / 28%)}
.ag.hit .ag-s{background:var(--sky);box-shadow:0 0 0 3px rgb(76 141 255 / 30%)}
.map-p li{background:none;border:1px solid rgb(255 255 255 / 22%);color:var(--on-brand-mt);font-size:.75rem}
.map-p li.hit{border-color:var(--sky);background:rgb(76 141 255 / 16%);color:#fff}
.map-dot{width:9px;height:9px;box-shadow:0 0 0 4px rgb(76 141 255 / 25%),0 0 16px 2px var(--sky)}
@media (max-width:720px){.map-h{flex-direction:column;gap:1rem}}
@media (prefers-reduced-motion:reduce){.map-l path,#mapPlay:not(.off)::before{animation:none}}

/* logo image: light-text version over the dark hero, navy-text version on light bars */
.logo-img{height:34px;width:auto;max-width:none}
.nav .logo-d{display:none}
.nav.solid .logo-l,.nav.open .logo-l{display:none}
.nav.solid .logo-d,.nav.open .logo-d{display:block}
.foot .logo-img{height:40px}
@media (max-width:720px){.logo-img{height:30px}}

/* ══ LIGHT HERO ══ */
.hero{background:radial-gradient(ellipse 55% 60% at 88% 18%,rgb(76 141 255 / 16%),transparent 70%),radial-gradient(ellipse 45% 50% at 6% 92%,rgb(30 91 255 / 8%),transparent 70%),linear-gradient(180deg,#E9F1FF 0%,var(--page) 100%);color:var(--ink);border-bottom:1px solid var(--line)}
.hero-bg .bl{opacity:.2;filter:blur(110px)}
.b1{background:#4C8DFF}.b2{background:#1E5BFF;opacity:.14}.b3{background:#7AABFF;opacity:.25}
.hero-bg .spot{background:radial-gradient(520px circle at var(--mx,70%) var(--my,30%),rgb(30 91 255 / 10%),transparent 65%)}
.h1.mega .grad .ch{background-image:linear-gradient(100deg,#1E5BFF 20%,#6FA3FF 45%,#1E5BFF 70%)}
.hero-rot{color:var(--teal-text)}
.hero-p{color:var(--mt)}
.hero-p b{color:var(--ink)}
.btn-ghost{border-color:var(--line-2);color:var(--ink);background:var(--paper)}
.btn-ghost:hover{border-color:var(--ink)}
.hero-assure{color:var(--mt)}
.hstats{border-top-color:var(--line)}
.hstats dt{color:var(--mt)}
.hstats b{color:var(--ink)}
.hero-plat p{color:var(--mt)}
.hero-plat li{color:var(--ink-2);opacity:1}

/* system map on the light hero */
.map-h{color:var(--mt)}
.map-h b{color:var(--ink)}
.mc-b{border-color:var(--line-2);color:var(--ink);background:var(--paper)}
.mc-b:hover{border-color:var(--teal);background:var(--tint)}
.map-l path{stroke:rgb(10 13 24 / 22%)}
.map-hub{color:var(--ink)}
.map-hub i{border-color:var(--line-2);background:var(--paper);box-shadow:0 0 0 7px rgb(76 141 255 / 12%),0 12px 36px rgb(30 91 255 / 20%)}
.ag{background:var(--paper);border-color:var(--line);box-shadow:0 8px 24px -14px rgb(5 7 15 / 25%)}
.ag:hover{border-color:var(--line-2)}
.ag-n{color:var(--ink)}
.ag-a{color:var(--mt)}
.ag-a b{color:var(--ink)}
.ag-s{background:var(--line-2);box-shadow:0 0 0 3px rgb(10 13 24 / 6%)}
.ag.hit{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal),0 10px 30px -10px rgb(30 91 255 / 35%)}
.ag.hit .ag-s{background:var(--teal);box-shadow:0 0 0 3px rgb(30 91 255 / 22%)}
.map-p li{background:var(--paper);border-color:var(--line-2);color:var(--ink-2)}
.map-p li.hit{border-color:var(--teal);background:var(--tint);color:var(--ink)}
.map-p li.rc{display:grid}
.rc>span{grid-area:1/1;opacity:0;transform:translateY(5px);transition:opacity .35s ease,transform .45s cubic-bezier(.23,1,.32,1)}
.rc>span.on{opacity:1;transform:none}
.rc>span.out{transform:translateY(-5px)}
.map-dot{background:var(--teal);box-shadow:0 0 0 4px rgb(30 91 255 / 22%),0 0 14px 2px rgb(30 91 255 / 45%)}
#mapPlay:not(.off)::before{background:var(--teal)}

/* nav over the light hero: dark logo, dark links, light bar */
.nav .logo-l{display:none!important}
.nav .logo-d{display:block!important}
.nav:not(.solid):not(.open) .logo,.nav:not(.solid):not(.open) .nav-ham{color:var(--ink)}
.nav:not(.solid):not(.open) .nav-links a{color:var(--mt)}
.nav:not(.solid):not(.open) .nav-links a:hover,.nav:not(.solid):not(.open) .nav-links a.act{color:var(--ink)}
.nav.dk{background:rgb(245 248 255 / 88%);border-bottom-color:var(--line)}

/* ══ HERO + SYSTEM SECTION (split) ══ */
.hero{align-items:center}
.hero-c{position:relative;z-index:1;width:100%;max-width:var(--mw);margin-inline:auto;padding:9.5rem var(--px) 5.5rem;text-align:center}
.hero-c .h1.mega{margin-inline:auto}
.hero-c .hero-p{margin:2.25rem auto 2.5rem;max-width:42ch;font-size:clamp(1.0625rem,1.6vw,1.25rem)}
.hero-c .hero-btns{justify-content:center}
.hero-c .hero-assure{justify-content:center;margin-top:1.75rem}
.sys-vis{background:var(--wash);border-bottom:1px solid var(--line)}
.sys-vis .head{text-align:center;margin-inline:auto;max-width:760px}
.sys-vis .head .lead{margin-inline:auto}
.sys-vis .hv{max-width:980px;margin-inline:auto}
.sys-vis .hstats{grid-template-columns:repeat(4,1fr);max-width:980px;margin:clamp(2.75rem,5vw,4rem) auto 0;padding-top:2.25rem;text-align:center;justify-content:stretch}
.sys-vis .hstats div{align-items:center}
.sys-vis .hero-plat{max-width:980px;margin:clamp(2.5rem,5vw,3.5rem) auto 0}
@media (max-width:720px){.hero-c{padding-top:7.5rem}.sys-vis .hstats{grid-template-columns:1fr 1fr;gap:1.75rem}}
/* stats as compact chips: number and label side by side */
.sys-vis .hstats{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}
.sys-vis .hstats div{flex-direction:row;align-items:baseline;gap:.6rem;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:.8rem 1.15rem;box-shadow:0 1px 2px rgb(5 7 15 / 4%)}
.sys-vis .hstats dt{margin:0;font-size:.8125rem;font-weight:550;color:var(--mt)}
.sys-vis .hstats b{font-size:1.5rem;letter-spacing:-.03em;color:var(--teal-text)}
@media (max-width:720px){.sys-vis .hstats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.sys-vis .hstats div{flex-direction:column;align-items:flex-start;gap:.1rem;padding:.7rem .9rem;text-align:left}.sys-vis .hstats b{font-size:1.25rem}}

/* ══ BUTTONS: solid royal blue + white text, no animation ══ */
.btn-brand,.btn-sky{background:var(--teal);color:#fff;border-color:var(--teal)}
.btn-brand:hover:not(:disabled),.btn-sky:hover{background:var(--teal-text);border-color:var(--teal-text)}
.btn-cta{overflow:visible;animation:none;font-weight:650;letter-spacing:0}
.btn-cta::before{content:none;animation:none}
.btn-cta .arr{display:inline;width:auto;height:auto;background:none;color:inherit;margin:0;font-size:inherit;border-radius:0}
.btn-cta:hover{transform:none}
.btn,.btn:active{transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.btn:active{transform:none}
.arr{transition:none}
@media (hover:hover){.btn:hover .arr{transform:none}}
.mock-b.pri{background:var(--teal);border-color:var(--teal);color:#fff}
.stk{transform:none;transition:opacity .25s ease,visibility .25s}
.stk.show{transform:none}
.btn-ghost{background:var(--paper);border-color:var(--line-2);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink);background:var(--paper)}
.blue .btn-ghost{background:transparent;border-color:rgb(255 255 255 / 30%);color:#fff}

/* ══ HEADER: floating pill ══ */
.nav,.nav.solid,.nav.dk,.nav.open{background:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;padding-inline:var(--px)}
.nav-i{max-width:calc(var(--mw) - 2 * var(--px));margin:14px auto 0;padding:.45rem .5rem .45rem 1.5rem;gap:1rem;border-radius:999px;background:rgb(255 255 255 / 86%);-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px);border:1px solid var(--line);box-shadow:0 12px 32px -20px rgb(5 7 15 / 35%)}
.nav-links{margin:0 auto}
.nav-links a{border-radius:999px;padding:0 1rem;min-height:38px;font-size:.9rem}
.nav:not(.solid):not(.open) .nav-links a.act,.nav-links a.act{background:var(--tint);color:var(--ink);box-shadow:none}
.nav-cta .btn{min-height:42px;padding:.5rem 1.25rem}
.logo-img{height:30px}
.nav-ham{margin-left:auto;border-radius:999px}
@media (max-width:860px){
  .nav-i{padding:.4rem .5rem .4rem 1.1rem}
  .nav.open .nav-links{left:var(--px);right:var(--px);top:calc(100% + 8px);border:1px solid var(--line);border-radius:22px;background:var(--paper);box-shadow:0 24px 50px -24px rgb(5 7 15 / 45%);padding:.5rem}
  .nav.open .nav-links a{padding:0 1rem;border-radius:12px}
  .nav.open .nav-links .mob a{background:var(--teal);color:#fff;border-radius:999px}
}



/* ══ FOOTER: light, with the logo as a huge faded mark along the bottom edge ══ */
.foot{position:relative;overflow:hidden;background:var(--page);color:var(--ink);padding-block:4.5rem 0;border-top:1px solid var(--line)}
.foot .logo{color:var(--ink);margin-bottom:1rem}
.foot .logo-img{height:36px}
.foot .body{color:var(--mt)}
.foot h2{color:var(--ink)}
.foot ul a{color:var(--mt);transition:color .15s ease}
.foot ul a:hover{color:var(--ink)}
.foot :focus-visible{outline-color:var(--teal)}
.foot-b{border-top-color:var(--line);color:var(--mt);margin-top:3.5rem}
.foot-legal{display:flex;align-items:center;gap:.5rem;flex-shrink:0;flex-wrap:wrap}
.foot-legal a{color:inherit;text-decoration:none;transition:color .2s;white-space:nowrap}
.foot-legal a:hover{color:var(--ink)}
.foot-legal span[aria-hidden]{color:var(--mt);user-select:none}
.foot-mark{height:clamp(64px,10.5vw,176px);margin-top:clamp(2rem,5vw,3.5rem);overflow:hidden;line-height:0;-webkit-mask-image:linear-gradient(180deg,#000 28%,transparent 96%);mask-image:linear-gradient(180deg,#000 28%,transparent 96%);pointer-events:none;user-select:none}
.foot-mark img{display:block;width:min(97vw,1760px);height:auto;margin-inline:auto;opacity:.1}

/* ══ FINAL CTA: blue panel ══ */
.cta-s{background:var(--page);text-align:left;padding-block:clamp(3rem,7vw,6rem)}
.cta-p{position:relative;overflow:hidden;isolation:isolate;border-radius:32px;background:linear-gradient(135deg,#2563FF 0%,#1448D6 62%,#0F3AB8 100%);color:#fff;padding:clamp(2rem,5vw,4.5rem);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.cta-p .horizon{position:absolute;left:0;right:0;bottom:0;height:60%;z-index:-1;opacity:.45;pointer-events:none}
.cta-p .horizon .base{stroke:rgb(255 255 255 / 25%)}
.cta-p .horizon .js-hz{stroke:#fff}
.cta-p .h2{color:#fff;font-size:clamp(2.25rem,4.6vw,3.75rem);max-width:12ch;margin:0 0 1.25rem;letter-spacing:-.045em}
.cta-p .lead{color:rgb(255 255 255 / 84%);margin:0 0 2rem;max-width:42ch}
.cta-act{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.btn-white{background:#fff;color:#1448D6;border-color:#fff}
.btn-white:hover{background:#EAF1FF;border-color:#EAF1FF}
.cta-p .btn-lg{min-height:56px;padding:.95rem 1.6rem;font-size:1.0625rem}
.cta-link{color:#fff;font-weight:600;text-decoration:underline;text-decoration-color:rgb(255 255 255 / 55%);text-underline-offset:6px;text-decoration-thickness:2px}
.cta-link:hover{text-decoration-color:#fff}
.cta-p .final-assure{justify-content:flex-start;margin-top:1.75rem;color:rgb(255 255 255 / 84%)}
.cta-p .final-assure li::before{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.4 2.4 4.6-5' fill='none' stroke='%231448D6' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.cta-p .final-assure .rk-i{color:#fff}
.cta-card{background:#fff;color:var(--ink);border-radius:22px;padding:clamp(1.25rem,2.5vw,1.75rem);box-shadow:0 30px 60px -30px rgb(5 7 15 / 55%)}
.cta-ct{margin:0 0 .5rem;font-family:var(--fh);font-weight:700;font-size:1.0625rem;letter-spacing:-.02em}
.cta-rows{margin:0}
.cta-rows div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.cta-rows dt{color:var(--mt)}
.cta-rows dd{margin:0;font-weight:600;text-align:right}
.cta-cn{margin:1rem 0 0;font-size:.875rem;color:var(--mt)}
@media (max-width:860px){.cta-p{grid-template-columns:1fr;border-radius:24px}.cta-p .h2{max-width:14ch}}

/* ══ HERO ROCKET: one big, simple rocket on the right ══ */
.hero-rocket{--rh:clamp(440px,84vh,900px);position:absolute;bottom:calc(var(--rh) / -2);right:calc(var(--rh) * -.3);height:var(--rh);width:calc(var(--rh) * .6);z-index:0;pointer-events:none}
.hero-rocket svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 30px 40px rgb(30 91 255 / 26%));will-change:transform}
.hr-flame{transform-box:fill-box;transform-origin:50% 0}
@media (max-width:860px){.hero-rocket{--rh:clamp(340px,60vh,560px);opacity:.38}}

/* ══ RESPONSIVE: system map + capability tabs ══ */
@media (max-width:1080px){
  .sys-vis .hv{max-width:780px}
  .tab-p{align-items:start}
}
@media (max-width:720px){
  /* system map: each agent card with its platforms listed right underneath, no side-by-side columns */
  .map-h{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:1.25rem}
  .map-ctl{width:100%}
  .map-ctl .mc-b{flex:1;justify-content:center}
  .map{grid-template-columns:minmax(0,1fr);column-gap:0;row-gap:.625rem}
  .map-l,.map-dot,.map-hub{display:none}
  .r1,.r2,.r3{grid-row:auto}
  .ag,.map-p{grid-column:1}
  .ag{padding:.9rem 1rem}
  .ag-a{min-height:0}
  .map-p{display:flex;flex-wrap:wrap;justify-items:initial;gap:.375rem;margin:0 0 .75rem;padding:0 .25rem}
  .map-p li{white-space:normal}
  /* capability tabs: a tidy 2 x 2 grid */
  .tabs:not(.cap-list){display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem}
  .tabs:not(.cap-list) .tab{width:100%;padding:0 .5rem;font-size:.9rem;display:flex;align-items:center;justify-content:center;text-align:center}
  .tab-p{padding:1.25rem;gap:1.5rem;border-radius:14px}
  .tab-p .h3{font-size:1.3rem}
  .tab-p .ticks{margin-top:1.25rem}
}
@media (max-width:360px){
  .tab{font-size:.84rem}
  .map-ctl{flex-direction:column}
}

/* ══ INNER PAGES (page.php, legal pages, blog, 404) ══ */
.ctp-page{padding:9.5rem 0 5rem;min-height:70vh;background:var(--page)}
.ctp-page .c{max-width:820px}
.ctp-page h1{font-family:var(--fh);font-weight:800;font-size:clamp(2.25rem,5vw,3.5rem);letter-spacing:-.04em;line-height:1.05;margin:0 0 1.25rem}
.ctp-meta{color:var(--mt);font-size:.9375rem;margin:0 0 2.5rem}
.ctp-prose{color:var(--ink-2);font-size:1.0625rem;line-height:1.75}
.ctp-prose h2{font-family:var(--fh);font-size:1.5rem;letter-spacing:-.02em;margin:2.5rem 0 .75rem;color:var(--ink)}
.ctp-prose h3{font-family:var(--fh);font-size:1.15rem;margin:1.75rem 0 .5rem;color:var(--ink)}
.ctp-prose p,.ctp-prose ul,.ctp-prose ol{margin:0 0 1rem}
.ctp-prose ul,.ctp-prose ol{padding-left:1.25rem}
.ctp-prose li{margin-bottom:.35rem}
.ctp-prose a{color:var(--teal-text)}
.ctp-prose img{height:auto;border-radius:12px}
.ctp-posts{display:grid;gap:2rem}
.ctp-posts article{padding-bottom:2rem;border-bottom:1px solid var(--line)}
.ctp-posts h2{font-family:var(--fh);font-size:1.6rem;letter-spacing:-.03em;margin:0 0 .5rem}
.ctp-posts h2 a{text-decoration:none}
.ctp-posts h2 a:hover{color:var(--teal-text)}
.ctp-404{text-align:center}
.ctp-404 .btn{margin-top:1.5rem}

/* legal pages: hero, contents list, article */
.ctp-legal .c{max-width:var(--mw)}
.lg-back{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;color:var(--mt);text-decoration:none;margin-bottom:1.5rem;transition:color .2s}
.lg-back:hover{color:var(--ink)}
.lg-hero{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}
.lg-hero h1{margin:.25rem 0 0}
.lg-ico{flex:none;width:3rem;height:3rem;border-radius:.875rem;background:var(--brand-soft);border:1px solid rgb(30 91 255 / 20%);color:var(--teal-text);display:grid;place-items:center}
.lg-badge{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-text)}
.lg-meta{font-size:.875rem;color:var(--mt);margin:0 0 3rem}
.lg-wrap{display:flex;gap:3rem;align-items:flex-start}
.lg-toc{display:none;flex:none;width:210px;position:sticky;top:6.5rem}
.lg-toc-h{font-size:.6875rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--mt)}
.lg-toc nav{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}
.lg-toc a{font-size:.8125rem;line-height:1.5;color:var(--mt);text-decoration:none;transition:color .2s}
.lg-toc a:hover{color:var(--ink)}
.lg-body{flex:1;min-width:0;max-width:48rem}
.lg-body h2{scroll-margin-top:6.5rem}
.lg-body > h2:first-child{margin-top:0}
@media (min-width:1024px){.lg-toc{display:block}}

/* pricing page */
.ctp-pricing .c{max-width:var(--mw)}
.pr-head{text-align:center;max-width:46rem;margin:0 auto 2.5rem}
.pr-head .lg-badge{margin-bottom:1rem}
.pr-head h1{margin:0 0 1rem}
.pr-head p{margin:0 auto;max-width:36rem;color:var(--mt);font-size:1.125rem;line-height:1.65}
.pr-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 0 2.5rem}
.pr-tab{appearance:none;cursor:pointer;border:1px solid var(--line-2);background:var(--paper);color:var(--mt);font-weight:600;font-size:.875rem;padding:.65rem 1.1rem;border-radius:999px;min-height:44px;white-space:nowrap;flex-shrink:0;transition:color .2s,border-color .2s,background .2s}
.pr-tab:hover{color:var(--ink);border-color:var(--ink-2)}
.pr-tab[aria-selected="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.pr-tag{text-align:center;color:var(--teal-text);font-weight:600;margin:0 0 1.75rem}
.pr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1.25rem;max-width:60rem;margin:0 auto}
.pr-card{position:relative;display:flex;flex-direction:column;width:100%;max-width:26rem;justify-self:center;background:var(--paper);border:1px solid var(--line);border-radius:1.25rem;padding:2rem 1.75rem}
.pr-card.hi{border-color:var(--teal);box-shadow:0 18px 50px rgb(30 91 255 / 12%)}
.pr-pop{position:absolute;top:-.75rem;left:50%;transform:translateX(-50%);background:var(--teal);color:#fff;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .9rem;border-radius:999px}
.pr-card h2,.pr-card h3{font-family:var(--fh);font-size:1.125rem;margin:0;color:var(--ink)}
.pr-price{font-family:var(--fh);font-weight:800;font-size:2.25rem;letter-spacing:-.03em;color:var(--ink);margin:.75rem 0 1.5rem}
.pr-list{list-style:none;margin:0 0 1.75rem;padding:0;display:grid;gap:.7rem;flex:1}
.pr-list li{display:grid;grid-template-columns:20px 1fr;gap:.65rem;font-size:.9375rem;line-height:1.5;color:var(--ink-2)}
.pr-list li::before{content:"";width:20px;height:20px;margin-top:.05rem;border-radius:50%;background:var(--brand-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6.5 11.5l3 3 6-7' fill='none' stroke='%231448D6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.pr-list li.off{color:var(--mt);opacity:.6}
.pr-list li.off::before{background:var(--wash) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M7 7l8 8M15 7l-8 8' fill='none' stroke='%23555F78' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/100% no-repeat}
.pr-card .btn{justify-content:center;width:100%}
.pr-note{text-align:center;color:var(--mt);font-size:.9375rem;margin:2rem auto 0;max-width:36rem}
.pr-faq{max-width:44rem;margin:5rem auto 0}
.pr-faq h2{font-family:var(--fh);font-size:1.75rem;letter-spacing:-.03em;text-align:center;margin:0 0 2rem}
.pr-faq details{border-top:1px solid var(--line)}
.pr-faq details:last-child{border-bottom:1px solid var(--line)}
.pr-faq summary{cursor:pointer;min-height:44px;padding:1.25rem 0;font-weight:650;font-size:1.0625rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;list-style:none}
.pr-faq summary::-webkit-details-marker{display:none}
.pr-faq summary::after{content:"+";font-size:1.5rem;color:var(--teal-text);transition:transform .25s}
.pr-faq details[open] summary::after{transform:rotate(45deg)}
.pr-faq details p{margin:0 0 1.25rem;color:var(--mt);line-height:1.7}
.pr-cta{text-align:center;margin:4rem auto 0;max-width:36rem}
.pr-cta h2{font-family:var(--fh);font-size:1.5rem;letter-spacing:-.02em;margin:0 0 .5rem}
.pr-cta p{color:var(--mt);margin:0 0 1.5rem}

/* services pages */
.ctp-bookpage{padding-top:clamp(8rem,12vw,10rem);min-height:80vh}
.ctp-services .c{max-width:var(--mw)}
.ctp-sd .c{max-width:68rem}
.sv-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgb(30 91 255 / 6%) 1px,transparent 1px),linear-gradient(90deg,rgb(30 91 255 / 6%) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 35%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 35%,transparent 100%)}
.sv-card{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(160deg,var(--tint) 0,var(--paper) 55%)}
.sv-card::before{background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse at 100% 0%,#000 0,transparent 62%);mask-image:radial-gradient(ellipse at 100% 0%,#000 0,transparent 62%)}
.sv-hero{max-width:56rem;margin:0 0 3rem}
.sv-hero .lg-badge{border:1px solid var(--line-2);border-radius:999px;padding:.45rem 1rem;background:var(--paper)}
.sv-hero h1{font-size:clamp(2.25rem,5vw,3.75rem);margin:1.25rem 0 1rem}
.sv-hero p{color:var(--mt);font-size:1.1875rem;line-height:1.65;max-width:40rem;margin:0}
.sv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
@media (max-width:820px){.sv-grid{grid-template-columns:minmax(0,1fr)}}
.sv-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:1.5rem;padding:2.25rem;transition:border-color .2s,box-shadow .2s}
.sv-card:hover{border-color:var(--teal);box-shadow:0 18px 50px rgb(30 91 255 / 10%)}
.sv-ico{width:3.75rem;height:3.75rem;border-radius:1rem;background:var(--brand-soft);border:1px solid rgb(30 91 255 / 20%);color:var(--teal-text);display:grid;place-items:center;margin-bottom:1.5rem}
.sv-card h2{font-family:var(--fh);font-size:1.5rem;letter-spacing:-.025em;margin:0;color:var(--ink)}
.sv-card .sv-tag{color:var(--teal-text);font-weight:600;font-size:.9375rem;margin:.4rem 0 .9rem}
.sv-card p{margin:0;color:var(--mt);line-height:1.65}
.sv-card .pr-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.5rem;border-top:1px solid var(--line);padding-top:1.5rem;margin:1.5rem 0 2rem;flex:none;align-content:start}
@media (max-width:560px){.sv-card{padding:1.75rem}.sv-card .pr-list{grid-template-columns:minmax(0,1fr)}}
.sv-act{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:auto}
.sv-act .btn{justify-content:center;width:100%}
.ctp-sd .c{max-width:var(--mw)}
.sd-top{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:2.5rem;align-items:center}
@media (max-width:900px){.sd-top{grid-template-columns:minmax(0,1fr)}}
.sd-hero .lg-badge{border:1px solid var(--line-2);border-radius:999px;padding:.45rem 1rem;background:var(--paper)}
.sd-hero h1{font-size:clamp(2.25rem,5vw,3.5rem);margin:1.25rem 0 0}
.sd-hero p{color:var(--mt);font-size:1rem;line-height:1.8;max-width:35rem;margin:1.25rem 0 0}
.sd-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.sd-cta .btn svg{margin-left:.5rem}
.sd-quick{border:1px solid var(--line);border-radius:1.25rem;padding:1.5rem;background:var(--paper)}
.sd-quick h2{font-family:var(--fd);font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-text);margin:0 0 1.25rem}
.sd-qg{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.sd-qi{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;font-weight:600;color:var(--ink-2);line-height:1.3}
.sd-qi i{flex:none;width:2.25rem;height:2.25rem;border-radius:.6rem;background:var(--brand-soft);color:var(--teal-text);display:grid;place-items:center}
.sd-sec{margin-top:5rem}
.sd-sec>h2{font-family:var(--fh);font-size:clamp(1.75rem,3vw,2.25rem);letter-spacing:-.03em;margin:0 0 2.25rem;color:var(--ink)}
.sd-sec>h2.sm{font-size:1.5rem}
.sd-sub{color:var(--mt);margin:-1.5rem 0 2.25rem;font-size:.9375rem}
.sd-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;list-style:none;margin:0;padding:0}
@media (max-width:1000px){.sd-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.sd-steps{grid-template-columns:minmax(0,1fr)}}
.sd-steps li,.sd-pc{position:relative;overflow:hidden;isolation:isolate;border:1px solid var(--line);border-radius:1.25rem;padding:1.25rem;background:var(--paper)}
.sd-steps li::before,.sd-pc::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgb(30 91 255 / 5%) 1px,transparent 1px),linear-gradient(90deg,rgb(30 91 255 / 5%) 1px,transparent 1px);background-size:32px 32px}
.sd-steps b{display:block;font-family:var(--fh);font-size:2rem;font-weight:700;color:rgb(30 91 255 / 22%);line-height:1}
.sd-steps h3{font-family:var(--fh);font-size:.9375rem;margin:.75rem 0 0;color:var(--ink)}
.sd-steps p{font-size:.8125rem;color:var(--mt);line-height:1.6;margin:.5rem 0 0}
.sd-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;list-style:none;margin:0;padding:0}
@media (max-width:900px){.sd-dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.sd-dl{grid-template-columns:minmax(0,1fr)}}
.sd-dl li{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border:1px solid var(--line);border-radius:.875rem;background:var(--paper);font-size:.875rem;color:var(--ink-2);transition:border-color .2s}
.sd-dl li:hover{border-color:var(--line-2)}
.sd-dl li::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;background:var(--brand-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M6.5 11.5l3 3 6-7' fill='none' stroke='%231448D6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.sd-price{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.25rem;align-items:stretch}
.sd-price .pr-card{max-width:none;justify-self:stretch;isolation:isolate}
.sd-price .pr-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgb(30 91 255 / 5%) 1px,transparent 1px),linear-gradient(90deg,rgb(30 91 255 / 5%) 1px,transparent 1px);background-size:32px 32px}
.sd-price .pr-price{padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.sd-price small{display:block;text-align:center;color:var(--mt);font-size:.6875rem;margin-top:.6rem}
.sd-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem}
@media (max-width:760px){.sd-faq{grid-template-columns:minmax(0,1fr)}}
.sd-faq details{border-bottom:1px solid var(--line)}
.sd-faq summary{cursor:pointer;min-height:44px;padding:1.4rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-weight:600;font-size:.9375rem;color:var(--ink-2);list-style:none}
.sd-faq summary::-webkit-details-marker{display:none}
.sd-faq summary::after{content:"+";flex:none;width:1.75rem;height:1.75rem;border:1px solid var(--line-2);border-radius:50%;display:grid;place-items:center;color:var(--teal-text);font-size:1rem;transition:transform .25s}
.sd-faq details[open] summary::after{transform:rotate(45deg)}
.sd-faq details p{margin:0 0 1.4rem;color:var(--mt);font-size:.875rem;line-height:1.7}
.sd-rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
@media (max-width:760px){.sd-rel{grid-template-columns:minmax(0,1fr)}}
.sd-rel a{display:flex;align-items:center;gap:1rem;text-decoration:none;background:var(--paper);border:1px solid var(--line);border-radius:1.25rem;padding:1.25rem;transition:border-color .2s}
.sd-rel a:hover{border-color:var(--teal)}
.sd-rel i{flex:none;width:2.5rem;height:2.5rem;border-radius:.6rem;background:var(--brand-soft);color:var(--teal-text);display:grid;place-items:center}
.sd-rel b{flex:1;min-width:0;font-family:var(--fh);font-size:.9375rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sd-rel span{flex:none;color:var(--teal-text);font-size:.8125rem;font-weight:600}

/* pricing page redesign */
.ctp-pricing .sv-hero{margin-bottom:2.5rem}
.ctp-pricing .pr-tabs{justify-content:flex-start;margin:0 0 2rem}
.ctp-pricing .pr-tab{display:inline-flex;align-items:center;gap:.5rem}
/* mobile services dropdown */
.pr-mob-wrap{display:none;position:relative;margin:0 0 2rem}
.pr-mob-btn{display:flex;align-items:center;gap:.5rem;appearance:none;cursor:pointer;border:1px solid var(--line-2);background:var(--paper);color:var(--ink);font-weight:600;font-size:.9375rem;padding:.7rem 1.25rem;border-radius:999px;min-height:44px;width:100%;transition:border-color .2s}
.pr-mob-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.pr-mob-label{flex:1;text-align:left}
.pr-mob-arrow{transition:transform .2s}
.pr-mob-wrap.open .pr-mob-arrow{transform:rotate(180deg)}
.pr-mob-drop{display:none;position:absolute;top:calc(100% + .5rem);left:0;right:0;z-index:200;background:var(--paper);border:1px solid var(--line-2);border-radius:1rem;padding:.5rem;box-shadow:0 8px 32px rgb(0 0 0/.12)}
.pr-mob-wrap.open .pr-mob-drop{display:block}
.pr-mob-item{display:flex;align-items:center;gap:.75rem;width:100%;appearance:none;background:none;border:none;cursor:pointer;padding:.7rem 1rem;border-radius:.625rem;font-size:.9375rem;font-weight:500;color:var(--ink-2);text-align:left;text-decoration:none;transition:background .15s}
.pr-mob-item:hover{background:var(--wash)}
.pr-mob-item.active{background:var(--brand-soft);color:var(--brand);font-weight:650}
.pr-mob-item svg{flex:none;width:18px;height:18px}
@media (max-width:640px){.pr-tabs{display:none!important}.pr-mob-wrap{display:block}}
.ctp-pricing .pr-tab svg{flex:none;width:16px;height:16px}
.ctp-pricing .pr-tag{text-align:left;margin:0 0 1.25rem}
.ctp-pricing .pr-grid{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
@media (max-width:1000px){.ctp-pricing .pr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.ctp-pricing .pr-grid{grid-template-columns:minmax(0,1fr)}}
.ctp-pricing .pr-card{max-width:none;justify-self:stretch;position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(160deg,var(--tint) 0,var(--paper) 55%);border-radius:1.5rem;padding:2.25rem}
.ctp-pricing .pr-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgb(30 91 255 / 6%) 1px,transparent 1px),linear-gradient(90deg,rgb(30 91 255 / 6%) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse at 100% 0%,#000 0,transparent 62%);mask-image:radial-gradient(ellipse at 100% 0%,#000 0,transparent 62%)}
.ctp-pricing .pr-card.hi{border-color:var(--teal);box-shadow:0 18px 50px rgb(30 91 255 / 12%)}
.ctp-pricing .pr-pop{top:1.5rem;right:1.5rem;left:auto;transform:none}
.ctp-pricing .pr-price{font-size:2.75rem;margin:1rem 0 0;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.ctp-pricing .pr-list{margin:1.5rem 0 2rem}
.ctp-pricing .pr-note{text-align:left;margin:1.5rem 0 0;max-width:none}
.pr-banner{margin-top:5rem;background:var(--brand);color:#fff;border-radius:1.5rem;padding:clamp(2rem,5vw,3.5rem);display:flex;align-items:center;justify-content:space-between;gap:1.5rem 2rem;flex-wrap:wrap}
.pr-banner h2{font-family:var(--fh);font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em;margin:0 0 .5rem;color:#fff}
.pr-banner p{margin:0;color:var(--on-brand-mt);max-width:36rem}

/* pricing popup on the services page */
.pm{width:calc(100% - 2rem);max-width:64rem;max-height:calc(100dvh - 2rem);padding:0;border:1px solid var(--line);border-radius:1.5rem;background:var(--page);color:var(--ink);overflow:auto;box-shadow:0 30px 80px rgb(10 13 24 / 25%)}
.pm::backdrop{background:rgb(10 13 24 / 55%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pm-in{padding:2rem}
.pm-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.pm h2{font-family:var(--fh);font-size:1.5rem;letter-spacing:-.025em;margin:0;color:var(--ink)}
.pm-tag{color:var(--teal-text);font-weight:600;margin:.35rem 0 0}
.pm-note{display:flex;align-items:center;gap:.5rem;color:var(--mt);margin:1rem 0 1.75rem;font-size:.9375rem}
.pm-note svg{flex:none;color:var(--teal-text)}
.pm-x{flex:none;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--line-2);background:var(--paper);color:var(--ink);cursor:pointer;display:grid;place-items:center;font-size:1.25rem;line-height:1}
.pm-x:hover{border-color:var(--ink)}
.pm .pr-grid{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
@media (max-width:800px){.pm .pr-grid{grid-template-columns:minmax(0,1fr)}.pm-in{padding:1.5rem}}
.pm .pr-card{max-width:none;padding:1.75rem 1.5rem}
.pm .pr-price{font-size:2rem}

/* ══ THEME OPTIONS VARIANTS ══ */
.ctp-hdr-static .nav{position:absolute}
.ctp-no-cta .nav-cta{display:none}
.ctp-hdr-bar .nav{padding-inline:0}
.ctp-hdr-bar .nav-i{max-width:none;margin:0;padding:.5rem var(--px);border-radius:0;border-width:0 0 1px;box-shadow:none;background:rgb(255 255 255 / 92%)}
.ctp-hdr-bar .nav-i>*:first-child{margin-left:max(0px,calc((100% - var(--mw)) / 2))}
.ctp-hdr-bar .nav-ham{margin-right:max(0px,calc((100% - var(--mw)) / 2))}
.foot-contact{margin:.75rem 0 0;font-size:.9375rem;color:var(--mt)}
.foot-contact a{color:inherit;text-decoration:none}
.foot-contact a:hover{color:var(--ink)}
.foot .foot-social{display:flex;flex-direction:row;flex-wrap:wrap;gap:.625rem;list-style:none;margin:1.5rem 0 0;padding:0}
.foot .foot-social li{margin:0;padding:0}
.foot .foot-social a{display:flex;align-items:center;justify-content:center;padding:0;width:2.5rem;height:2.5rem;border:1px solid var(--line-2);border-radius:50%;color:var(--ink);text-decoration:none;transition:color .2s,border-color .2s,background .2s}
.foot .foot-social a:hover{color:var(--teal-text);border-color:var(--teal);background:var(--brand-soft)}
.foot-social a.is-text{width:auto;height:auto;border:0;border-radius:0;font-size:.9375rem;font-weight:600;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:5px}
.foot-social a.is-text:hover{background:none}
@media (max-width:860px){.ctp-hdr-bar .nav-i>*:first-child{margin-left:0}.ctp-hdr-bar .nav-ham{margin-right:0}}

/* ══ BLOG (home.php, archive.php, search.php via template-parts/blog-list.php) ══ */
.ctp-blog .c,.ctp-cases .c{max-width:var(--mw)}
.ctp-blog,.ctp-cases{padding-bottom:clamp(4rem,8vw,7rem)}
.bl-bar{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;min-width:0;position:relative}
.bl-search{flex-shrink:0;width:220px}
.bl-tabs{display:flex;flex-wrap:nowrap;gap:.5rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;min-width:0}
.bl-tabs::-webkit-scrollbar{display:none}
.bl-tab{border:1px solid var(--line-2);background:var(--paper);color:var(--mt);font-weight:600;font-size:.875rem;padding:.65rem 1.1rem;border-radius:999px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:color .2s,border-color .2s,background .2s}
/* mobile filter button */
.bl-filter-btn{display:none;align-items:center;gap:.5rem;appearance:none;cursor:pointer;border:1px solid var(--line-2);background:var(--paper);color:var(--ink);font-weight:600;font-size:.875rem;padding:.65rem 1rem;border-radius:999px;min-height:44px;white-space:nowrap;flex-shrink:0}
.bl-filter-btn svg{flex:none}
.bl-dropdown{display:none;position:absolute;top:calc(100% + .5rem);right:0;z-index:200;background:var(--paper);border:1px solid var(--line-2);border-radius:1rem;padding:.5rem;min-width:220px;box-shadow:0 8px 32px rgb(0 0 0/.12)}
.bl-bar.drop-open .bl-dropdown{display:block}
.bl-ck-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .875rem;border-radius:.5rem;cursor:pointer;font-size:.9375rem;color:var(--ink-2);text-decoration:none;transition:background .15s}
.bl-ck-row:hover{background:var(--wash)}
.bl-ck-row.active{background:var(--brand-soft);color:var(--brand);font-weight:600}
@media (max-width:640px){
  .bl-tabs{display:none}
  .bl-filter-btn{display:inline-flex}
  .bl-search{width:auto;flex:1}
}
.bl-tab:hover{color:var(--ink);border-color:var(--ink-2)}
.bl-tab.on{background:var(--brand);border-color:var(--brand);color:#fff}
.bl-search{display:flex;align-items:center;gap:.5rem;background:var(--paper);border:1px solid var(--line-2);border-radius:999px;padding:.45rem .45rem .45rem 1rem;max-width:320px;width:100%;margin:0;transition:border-color .15s,box-shadow .15s}
.bl-search:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgba(30,91,255,.14)}
.bl-search svg{flex:none;color:var(--mt)}
.bl-search input[type=search]{flex:1;min-width:0;border:none;background:none;outline:none;font-size:.9375rem;color:var(--ink)}
.bl-search input::placeholder{color:var(--mt)}
.bl-search button{flex:none;background:var(--teal);color:#fff;border:none;border-radius:999px;font-weight:650;font-size:.875rem;padding:.4rem .95rem;cursor:pointer}
.bl-search button:hover{background:var(--teal-text)}
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.bl-feat{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--paper);border:1px solid var(--line);border-radius:1.5rem;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s}
.bl-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:1.5rem;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s}
.bl-feat:hover,.bl-card:hover{border-color:var(--teal);box-shadow:0 18px 50px rgb(30 91 255 / 10%)}
.bl-feat-img,.bl-card-img{display:flex;align-items:center;justify-content:center;overflow:hidden}
.bl-feat-img{min-height:260px}
.bl-card-img{aspect-ratio:16/9}
.bl-feat-img img,.bl-card-img img{width:100%;height:100%;object-fit:cover}
.bl-mono{font-family:var(--fh);font-weight:800;font-size:2.5rem;letter-spacing:-.04em}
.bl-feat-body{padding:clamp(1.75rem,3vw,2.5rem);display:flex;flex-direction:column}
.bl-card-body{padding:1.5rem 1.75rem 1.75rem;display:flex;flex-direction:column;flex:1}
.bl-feat-meta,.bl-card-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.875rem}
.bl-cat{font-size:.6875rem;font-weight:700;letter-spacing:.06em;color:var(--teal-text);background:var(--brand-soft);border:1px solid rgba(30,91,255,.18);border-radius:999px;padding:.275rem .75rem;white-space:nowrap}
.bl-read{font-size:.8125rem;color:var(--mt)}
.bl-feat-h{font-family:var(--fh);font-weight:750;font-size:clamp(1.375rem,2.5vw,1.875rem);line-height:1.15;letter-spacing:-.03em;color:var(--ink);margin:0 0 .875rem;text-wrap:balance}
.bl-card-h{font-family:var(--fh);font-weight:650;font-size:1.0625rem;line-height:1.25;letter-spacing:-.02em;color:var(--ink);margin:0 0 .5rem;text-wrap:balance}
.bl-feat-exc{font-size:1rem;color:var(--mt);line-height:1.65;margin:0 0 1.5rem;flex:1}
.bl-card-exc{font-size:.9375rem;color:var(--mt);line-height:1.6;margin:0 0 1.25rem;flex:1}
.bl-byline,.bl-card-foot{display:flex;align-items:center;gap:.75rem;margin-top:auto}
.bl-card-foot{padding-top:1rem;border-top:1px solid var(--line)}
.bl-av{width:32px;height:32px;border-radius:50%;background:var(--tint);display:grid;place-items:center;font-size:.75rem;font-weight:700;color:var(--teal-text);flex:none}
.bl-av-name{display:block;font-size:.875rem;font-weight:600;color:var(--ink);line-height:1.3}
.bl-av-date{display:block;font-size:.8125rem;color:var(--mt)}
.bl-empty{text-align:center;padding:4rem 0;color:var(--mt)}
.bl-page{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-top:2.5rem}
.bl-page .page-numbers{min-width:40px;height:40px;padding:0 .75rem;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);display:inline-grid;place-items:center;font-weight:600;font-size:.9375rem;color:var(--mt);text-decoration:none}
.bl-page a.page-numbers:hover{border-color:var(--ink-2);color:var(--ink)}
.bl-page .page-numbers.current{background:var(--brand);border-color:var(--brand);color:#fff}
.bl-page .dots{border:0;background:none}

/* ══ SINGLE ARTICLE AND CASE STUDY (single.php, single-ctp_case_study.php) ══ */
.post-wrap{max-width:var(--mw);margin-inline:auto;padding-inline:var(--px);display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:4rem;align-items:start}
.post-main{min-width:0}
.post-back{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;color:var(--mt);text-decoration:none;margin-bottom:2rem}
.post-back:hover{color:var(--ink)}
.post-hero{margin-bottom:2rem}
.post-cat{font-size:.75rem;font-weight:700;color:var(--teal-text);background:var(--brand-soft);border:1px solid rgba(30,91,255,.18);border-radius:999px;padding:.3rem .85rem;display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1.25rem;text-decoration:none}
.ctp-page .post-h1{font-family:var(--fh);font-weight:800;font-size:clamp(2rem,4.5vw,3.25rem);letter-spacing:-.04em;line-height:1.06;color:var(--ink);margin:0 0 1.25rem;text-wrap:balance}
.post-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.post-av{width:36px;height:36px;border-radius:50%;background:var(--tint);display:grid;place-items:center;font-size:.8125rem;font-weight:700;color:var(--teal-text);flex:none}
.post-av-name{display:block;font-size:.9375rem;font-weight:600;color:var(--ink)}
.post-av-date{display:block;font-size:.875rem;color:var(--mt)}
.post-read{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--mt);margin-left:auto}
.post-cover{width:100%;aspect-ratio:16/7;border-radius:1.5rem;display:flex;align-items:center;justify-content:center;margin:0 0 2.5rem;overflow:hidden}
.post-cover span{font-family:var(--fh);font-weight:800;font-size:3.5rem;letter-spacing:-.04em;color:rgb(255 255 255 / 60%)}
.post-cover-img img{width:100%;height:100%;object-fit:cover}
.post-body{font-size:1.0625rem;line-height:1.8;color:var(--ink-2)}
.post-body h2{font-family:var(--fh);font-size:1.5rem;font-weight:700;letter-spacing:-.025em;color:var(--ink);margin:2.5rem 0 .875rem;line-height:1.2}
.post-body h2:first-child{margin-top:0}
.post-body h3{font-family:var(--fh);font-size:1.125rem;font-weight:650;color:var(--ink);margin:2rem 0 .625rem}
.post-body p{margin:0 0 1.25rem}
.post-body ul,.post-body ol{margin:0 0 1.25rem;padding-left:1.5rem}
.post-body li{margin-bottom:.5rem}
.post-body strong{color:var(--ink);font-weight:650}
.post-body a{color:var(--teal-text);text-decoration:underline;text-underline-offset:3px}
.post-body img{max-width:100%;height:auto;border-radius:1rem}
.post-body pre{background:var(--ink);color:#e2e8f0;border-radius:1rem;padding:1.25rem 1.5rem;overflow-x:auto;margin:0 0 1.25rem;font-size:.875rem;line-height:1.6}
.post-body code{font-family:ui-monospace,"Cascadia Code","Fira Code",monospace}
.post-body p code,.post-body li code{background:var(--wash);border:1px solid var(--line);border-radius:.35rem;padding:.15em .45em;font-size:.875em;color:var(--teal-text)}
.post-side{position:sticky;top:6.5rem}
.post-side-box{background:var(--paper);border:1px solid var(--line);border-radius:1.25rem;padding:1.5rem;margin-bottom:1.25rem}
.post-side-h{font-size:.8125rem;font-weight:700;color:var(--ink);margin:0 0 1rem}
.post-side-empty{font-size:.875rem;color:var(--mt);margin:0}
.post-rel{list-style:none;margin:0;padding:0;display:grid;gap:.875rem}
.post-rel a{display:block;font-size:.875rem;font-weight:500;color:var(--ink-2);text-decoration:none;line-height:1.4}
.post-rel a:hover{color:var(--teal-text)}
.post-rel span{display:block;font-size:.8125rem;color:var(--mt);margin-top:.2rem}
.post-cta-box{background:var(--teal-text);border-radius:1.25rem;padding:1.25rem;color:#fff;margin-bottom:1.25rem}
.post-cta-box .post-cta-h{font-family:var(--fh);font-size:.9375rem;font-weight:700;margin:0 0 .375rem;color:#fff}
.post-cta-box p{font-size:.8125rem;color:rgba(255,255,255,.85);margin:0 0 .875rem;line-height:1.5}
.post-cta-box .btn{background:#fff;color:var(--teal-text);border-color:#fff;font-size:.875rem;min-height:38px;padding:.4rem 1rem;width:100%;justify-content:center;font-weight:650}

/* ══ CASE STUDIES (archive-ctp_case_study.php, single-ctp_case_study.php) ══ */
.cs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.cs-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:1.5rem;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s}
.cs-card:hover{border-color:var(--teal);box-shadow:0 18px 50px rgb(30 91 255 / 10%)}
.cs-res{display:flex;flex-direction:column;justify-content:flex-end;gap:.35rem;padding:1.5rem 1.75rem;min-height:9.5rem;color:#fff}
.cs-res b{font-family:var(--fh);font-weight:800;font-size:clamp(1.875rem,3vw,2.375rem);letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.cs-res span{font-size:.875rem;color:rgb(255 255 255 / 82%)}
.cs-body{padding:1.5rem 1.75rem 1.75rem;display:flex;flex-direction:column;flex:1}
.cs-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}
.cs-ind{font-size:.8125rem;color:var(--mt)}
.cs-h{font-family:var(--fh);font-weight:650;font-size:1.0625rem;line-height:1.3;letter-spacing:-.02em;color:var(--ink);margin:0 0 .5rem;text-wrap:balance}
.cs-exc{font-size:.9375rem;color:var(--mt);line-height:1.6;margin:0 0 1.25rem;flex:1}
.cs-foot{display:flex;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line);font-size:.8125rem;color:var(--mt)}
.cs-foot b{font-weight:600;color:var(--ink)}
.cs-feat{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cs-feat .cs-res{min-height:0;justify-content:center;gap:1.25rem;padding:clamp(1.75rem,3vw,2.5rem)}
.cs-feat .cs-m b{display:block}
.cs-feat .cs-body{padding:clamp(1.75rem,3vw,2.5rem)}
.cs-feat .cs-h{font-size:clamp(1.375rem,2.5vw,1.875rem);font-weight:750;line-height:1.15;letter-spacing:-.03em}
.cs-feat .cs-exc{font-size:1rem}
.cs-note{font-size:.8125rem;color:var(--mt);margin:2rem 0 0}
.cs-who{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line);font-size:.9375rem;color:var(--mt)}
.cs-who b{color:var(--ink);font-weight:600}
.cs-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:1.5rem;overflow:hidden;margin-bottom:2.75rem;color:#fff}
.cs-band div{padding:clamp(1.25rem,3vw,2rem)}
.cs-band div+div{border-left:1px solid rgb(255 255 255 / 18%)}
.cs-band b{display:block;font-family:var(--fh);font-weight:800;font-size:clamp(1.5rem,3vw,2.25rem);letter-spacing:-.04em;line-height:1.05;margin-bottom:.5rem;font-variant-numeric:tabular-nums}
.cs-band span{font-size:.875rem;line-height:1.45;color:rgb(255 255 255 / 84%)}
.post-body .cs-steps{list-style:none;margin:0 0 1.25rem;padding:0;display:grid;gap:1rem;counter-reset:st}
.cs-steps li{counter-increment:st;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:1rem;align-items:start;margin:0}
.cs-steps li::before{content:counter(st);width:2rem;height:2rem;border-radius:50%;background:var(--dark);color:var(--on-brand);display:grid;place-items:center;font-weight:750;font-size:.8125rem;margin-top:.15rem}
.cs-steps b{display:block;color:var(--ink);font-weight:650}
.cs-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0 0 1.25rem}
.cs-split div{background:var(--paper);border:1px solid var(--line);border-radius:1rem;padding:1.25rem 1.375rem}
.post-body .cs-split h3{font-size:1rem;font-weight:700;margin:0 0 .625rem}
.post-body .cs-split ul{margin:0;padding-left:1.1rem;font-size:.9375rem;line-height:1.6}
.cs-split li{margin-bottom:.4rem}
.cs-table{width:100%;border-collapse:collapse;font-size:.9375rem;background:var(--paper);border:1px solid var(--line);border-radius:1rem;overflow:hidden;margin:0 0 .875rem}
.cs-table th,.cs-table td{padding:.8rem 1.1rem;text-align:left;border-bottom:1px solid var(--line);line-height:1.45}
.cs-table thead th{font-size:.8125rem;font-weight:650;color:var(--mt);background:var(--wash)}
.cs-table tbody tr:last-child td{border-bottom:0}
.cs-table td:nth-child(2){color:var(--mt)}
.cs-table td:nth-child(3){color:var(--ink);font-weight:650}
.cs-table td:nth-child(n+2){white-space:nowrap;font-variant-numeric:tabular-nums}
.cs-small{font-size:.875rem;color:var(--mt);margin:0 0 1.25rem}
.post-body .cs-tools{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.cs-tools li{font-size:.8125rem;font-weight:600;border:1px solid var(--line-2);border-radius:999px;padding:.35rem .8rem;background:var(--paper);color:var(--ink-2);margin:0}
.cs-sample{margin:2.5rem 0 0;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.8125rem;color:var(--mt)}
.cs-facts{margin:0;display:grid;gap:.75rem;font-size:.875rem}
.cs-facts dt{color:var(--mt);font-size:.8125rem}
.cs-facts dd{margin:.1rem 0 0;color:var(--ink);font-weight:550;line-height:1.45}
.cs-facts dd a{display:inline-block;min-height:24px;padding:.15rem 0;color:var(--teal-text);text-decoration:none}
.cs-facts dd a:hover{text-decoration:underline}

@media (max-width:1080px){.bl-grid,.cs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.post-wrap{grid-template-columns:minmax(0,1fr);gap:2.5rem}.post-side{position:static}}
@media (max-width:720px){
  .bl-grid,.cs-grid{grid-template-columns:minmax(0,1fr);gap:1rem}
  .bl-feat,.cs-feat{grid-template-columns:minmax(0,1fr)}
  .bl-feat-img{min-height:0;aspect-ratio:16/7}
  .bl-search{max-width:100%}
  .ctp-page .post-h1{font-size:clamp(1.75rem,7vw,2.5rem)}
  .post-cover{aspect-ratio:16/9}
  .cs-band{grid-template-columns:minmax(0,1fr) !important}
  .cs-band div+div{border-left:0;border-top:1px solid rgb(255 255 255 / 18%)}
  .cs-split{grid-template-columns:minmax(0,1fr)}
  .cs-table td:nth-child(n+2){white-space:normal}
}

/* ══ CAPABILITIES: services on the left, the picked one on the right (front-page.php) ══ */
.cap-g{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:stretch}
.cap-list{display:grid;grid-auto-rows:1fr;gap:.375rem;margin:0}
.cap-list .tab{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.15rem;width:100%;min-height:0;padding:.8rem 1rem;border-radius:12px;text-align:left}
.cap-list .tab b{font-weight:650;font-size:.9375rem;color:var(--ink);line-height:1.3}
.cap-list .tab small{font-size:.75rem;font-weight:500;color:var(--mt);line-height:1.35}
.cap-list .tab[aria-selected="true"] b{color:var(--on-brand)}
.cap-list .tab[aria-selected="true"] small{color:rgb(255 255 255 / 72%)}
.cap-panels{display:grid}
.cap-panels .tab-p{grid-area:1/1;grid-template-columns:minmax(0,1fr);gap:1.75rem;align-content:center}
.cap-panels .tab-p[hidden]{display:grid;visibility:hidden}
.cap-panels .tab-p .body{max-width:62ch}
.cap-panels .vis{grid-template-columns:repeat(2,minmax(0,1fr))}
.cap-panels .vrow{grid-template-columns:auto minmax(0,1fr) auto;border-radius:12px;padding:.85rem .9rem}
.cap-more{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.5rem;font-weight:650;font-size:.9375rem;color:var(--teal-text);text-decoration:none}
.cap-more:hover{text-decoration:underline;text-underline-offset:3px}
@media (max-width:1180px) and (min-width:901px){.cap-g{grid-template-columns:minmax(0,230px) minmax(0,1fr)}.cap-list .tab small{display:none}.cap-panels .vis{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){
  .cap-g{grid-template-columns:minmax(0,1fr);gap:1rem}
  .cap-panels .tab-p[hidden]{display:none}
  .cap-list{display:flex;flex-direction:row;flex-wrap:wrap}
  .cap-list .tab{flex:none;width:auto}
  .cap-list .tab small{display:none}
  .cap-panels .vis{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  /* phones: an accordion. Each service's detail opens under it; tap again to close */
  .cap-g{display:flex;flex-direction:column;gap:.5rem}
  .cap-list,.cap-panels{display:contents}
  .cap-list .tab:nth-child(1){order:1}.cap-panels .tab-p:nth-child(1){order:2}.cap-list .tab:nth-child(2){order:3}.cap-panels .tab-p:nth-child(2){order:4}.cap-list .tab:nth-child(3){order:5}.cap-panels .tab-p:nth-child(3){order:6}.cap-list .tab:nth-child(4){order:7}.cap-panels .tab-p:nth-child(4){order:8}.cap-list .tab:nth-child(5){order:9}.cap-panels .tab-p:nth-child(5){order:10}.cap-list .tab:nth-child(6){order:11}.cap-panels .tab-p:nth-child(6){order:12}.cap-list .tab:nth-child(7){order:13}.cap-panels .tab-p:nth-child(7){order:14}.cap-list .tab:nth-child(8){order:15}.cap-panels .tab-p:nth-child(8){order:16}.cap-list .tab:nth-child(9){order:17}.cap-panels .tab-p:nth-child(9){order:18}.cap-list .tab:nth-child(10){order:19}.cap-panels .tab-p:nth-child(10){order:20}.cap-list .tab:nth-child(11){order:21}.cap-panels .tab-p:nth-child(11){order:22}.cap-list .tab:nth-child(12){order:23}.cap-panels .tab-p:nth-child(12){order:24}
  .cap-list .tab{position:relative;flex:none;width:100%;margin:0;padding:.95rem 3rem .95rem 1.1rem;border-radius:14px;gap:.2rem}
  .cap-list .tab small{display:block}
  .cap-list .tab::after{content:"";position:absolute;right:1.25rem;top:50%;width:9px;height:9px;border-right:2px solid var(--mt);border-bottom:2px solid var(--mt);transform:translateY(-70%) rotate(45deg);transition:transform .2s ease}
  .cap-list .tab:hover:not([aria-expanded="true"]){border-color:var(--line-2)}
  .cap-list .tab[aria-expanded="true"]{background:var(--brand);border-color:var(--brand);color:var(--on-brand);border-radius:14px 14px 0 0}
  .cap-list .tab[aria-expanded="true"] b{color:var(--on-brand)}
  .cap-list .tab[aria-expanded="true"] small{color:rgb(255 255 255 / 72%)}
  .cap-list .tab[aria-expanded="true"]::after{border-color:#fff;transform:translateY(-25%) rotate(-135deg)}
  .cap-panels .tab-p{margin-top:-.5rem;border-radius:0 0 14px 14px;border-top:0;padding:1.25rem 1.1rem 1.4rem;gap:1.25rem}
  .cap-panels .tab-p .ticks{margin-top:1rem}
  .cap-more{margin-top:1.1rem}
  .cap-panels .vrow:nth-child(n+3){display:none}
}

/* ══ HEADER: links never wrap; tighter between 1024 and 1180; the menu button takes over below 1024 ══ */
.nav-links a{white-space:nowrap}
@media (max-width:1180px) and (min-width:1024px){body .nav .nav-links a{padding:0 .6rem;font-size:.85rem}body .nav .nav-cta .btn{white-space:nowrap;padding:.5rem 1rem}}
@media (min-width:861px) and (max-width:1023px){
  body .nav .nav-links,body .nav .nav-cta{display:none}
  body .nav .nav-ham{display:block}
  body .nav.open .nav-links{display:flex;flex-direction:column;position:absolute;top:calc(100% + 8px);left:var(--px);right:var(--px);padding:.5rem;background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 50px -24px rgb(5 7 15 / 45%)}
  body .nav.open .nav-links a{color:var(--ink);font-size:1.0625rem;min-height:48px;padding:0 1rem;border-radius:12px}
  body .nav.open .nav-links .mob{display:block}
  body .nav.open .nav-links .mob a{justify-content:center;margin-top:.5rem;background:var(--teal);color:#fff;border-radius:999px;font-weight:650}
}

/* ── Services: price notes, custom quote and coming-soon boxes ── */
.pr-price.has-note{font-size:1.75rem}
.pr-price.has-note small{display:block;font-size:.9375rem;font-weight:500;letter-spacing:0;color:var(--mt);margin-top:.25rem}
.pm .pr-price.has-note{font-size:1.5rem}
.pm .pr-price.has-note small{font-size:.875rem;margin-top:.2rem}
.pr-alt,.sd-quote{text-align:center;padding:3rem 1rem;max-width:540px;margin:0 auto}
.sd-quote{max-width:560px;padding:2.5rem 1rem;background:var(--paper);border:1px solid var(--line);border-radius:1.5rem}
.pr-alt>svg,.sd-quote>svg{display:block;margin:0 auto 1.25rem;color:var(--teal);stroke-width:1.5}
.pr-alt h3,.sd-quote h3{font-family:var(--fh);font-size:1.375rem;margin:0 0 .75rem;color:var(--ink);text-wrap:balance}
.pr-alt p,.sd-quote p{color:var(--mt);line-height:1.7;margin:0 0 1.75rem;text-wrap:pretty}
.pr-soon{display:inline-flex;align-items:center;gap:.5rem;background:var(--brand-soft);color:var(--teal-text);font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.4rem 1rem;border-radius:999px;margin-bottom:1.5rem}
.bsvc .bsvc-soon{color:var(--teal-text);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.bopt:disabled{cursor:not-allowed;opacity:.7}
.bfeat[hidden]{display:none}

/* ── Blog and case study illustrations (animated SVG; still frame when motion is reduced) ── */
.bl-feat-img,.bl-card-img,.post-cover{position:relative}
.bl-art{position:absolute;inset:0}
.bl-feat-img .bl-art img,.bl-card-img .bl-art img,.bl-art img{display:block;width:100%;height:100%;object-fit:cover}
/* case cards: illustration on the right, as tall as the block; the number stays clear on the left */
.cs-art{background-image:var(--art);background-size:auto 82%;background-position:right .5rem center;background-repeat:no-repeat}
@media (prefers-reduced-motion:reduce){.cs-art{background-image:var(--art-still)}}
.cs-cover{display:block;aspect-ratio:16/7;border-radius:1.5rem;overflow:hidden;margin-bottom:1rem}
.cs-cover img{display:block;width:100%;height:100%;object-fit:cover}
