/* ==========================================================================
   Secure Message: marketing site design system
   Warm editorial: ivory paper, deep plum ink, coral accents, lavender and
   mint washes. Plain CSS, no build step.
   ========================================================================== */
:root{
  --ivory:#FAF8F4; --ivory-2:#F3EEE6; --paper:#FFFFFF;
  --plum:#29213C; --plum-2:#4B4062; --muted:#665D7A; --line:#E6DFD3; --line-2:#D9D0E8;
  --coral:#F16D62; --coral-d:#E25A4F; --coral-50:#FDE9E6; --coral-ink:#B23A30;
  --lav:#E9E1FA; --lav-2:#F4F0FC; --lav-ink:#5B4A8A;
  --mint:#CDEDE2; --mint-2:#E8F6F1; --mint-ink:#1F6B55;
  --amber:#F4C77B;
  --serif:"Fraunces", Georgia, "Times New Roman", serif;
  --sans:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --r-sm:12px; --r:18px; --r-lg:26px; --r-xl:34px;
  --sh-1:0 1px 2px rgba(41,33,60,.06), 0 2px 8px rgba(41,33,60,.05);
  --sh-2:0 2px 6px rgba(41,33,60,.06), 0 14px 36px -12px rgba(41,33,60,.18);
  --sh-3:0 30px 70px -28px rgba(41,33,60,.35), 0 8px 24px -10px rgba(41,33,60,.14);
  --header-h:72px; --wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--ivory);color:var(--plum);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg{max-width:100%;height:auto}
svg.i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
a{color:var(--plum);text-decoration-color:var(--coral);text-underline-offset:3px;text-decoration-thickness:1.5px}
a:hover{color:var(--coral-ink)}
p{margin:0 0 1em}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;letter-spacing:-.015em;line-height:1.08;margin:0 0 .45em;color:var(--plum);font-variation-settings:"opsz" 96}
h1{font-size:clamp(2.5rem,5.6vw,4.6rem);letter-spacing:-.025em}
h2{font-size:clamp(2rem,3.8vw,3.1rem)}
h3{font-size:1.4rem;line-height:1.2;font-variation-settings:"opsz" 36}
h4{font-size:1.1rem;line-height:1.3;font-family:var(--sans);font-weight:700;letter-spacing:0}
h1 em,h2 em,.serif em{font-style:italic;color:var(--coral-ink);font-weight:400}
.lead{font-size:clamp(1.08rem,1.5vw,1.25rem);color:var(--plum-2);line-height:1.6;max-width:62ch}
.small{font-size:.9rem}.tiny{font-size:.78rem;color:var(--muted);margin:.6em 0 0}.muted{color:var(--muted)}
code,pre{font-family:var(--mono);font-size:.88em}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;background:var(--plum);color:#fff;padding:10px 16px;border-radius:6px;z-index:100}
.skip-link:focus{top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.sd-routing #app{visibility:hidden}

/* ---- buttons & links ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font:600 1rem/1.1 var(--sans);padding:14px 22px;border-radius:6px;border:1.5px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .15s,box-shadow .15s,border-color .15s;white-space:nowrap}
.btn .i{width:18px;height:18px;transition:transform .15s}
.btn:hover .i{transform:translateX(3px)}
.btn-primary{background:var(--coral);color:var(--plum);box-shadow:0 8px 20px -10px rgba(241,109,98,.9)}
.btn-primary:hover{background:#F47F75;color:var(--plum);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--plum);border-color:var(--plum)}
.btn-ghost:hover{background:var(--plum);color:var(--ivory)}
.btn-soft{background:var(--paper);color:var(--plum);border-color:var(--line)}
.btn-soft:hover{border-color:var(--plum);color:var(--plum)}
.btn-sm{padding:10px 16px;font-size:.92rem}
.btn-lg{padding:17px 28px;font-size:1.05rem}
.btn[disabled]{opacity:.6;cursor:not-allowed;transform:none}
.tlink{display:inline-flex;align-items:center;gap:6px;font-weight:600;text-decoration:none;color:var(--plum);border-bottom:1.5px solid var(--coral);padding-bottom:1px}
.tlink .i{width:16px;height:16px;transition:transform .15s}
.tlink:hover{color:var(--coral-ink)}.tlink:hover .i{transform:translateX(3px)}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}
.actions.center{justify-content:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:600 .78rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--coral-ink);margin-bottom:18px}
.eyebrow::before{content:"";width:22px;height:1.5px;background:var(--coral)}

/* ---- tiers ---- */
.tier{display:inline-flex;align-items:center;font:700 .7rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:6px 9px;border-radius:6px;white-space:nowrap;border:1px solid transparent}
.tier-community{background:var(--mint);color:var(--mint-ink)}
.tier-pro{background:var(--lav);color:var(--lav-ink);border-color:#D6C9F3}
.tier-ent{background:var(--coral-50);color:var(--coral-ink);border-color:#F8CFC9}
.tier-all{background:var(--ivory-2);color:var(--plum-2);border-color:var(--line)}
.sample{display:inline-block;font:700 .68rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--lav-ink);background:var(--lav-2);border:1px dashed #CBBCEE;padding:6px 9px;border-radius:6px}

/* ---- header ---- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,248,244,.94);border-bottom:1px solid var(--line);transition:box-shadow .2s}
@supports (backdrop-filter:blur(8px)){.site-header{background:rgba(250,248,244,.82);backdrop-filter:saturate(1.4) blur(10px)}}
.site-header.scrolled{box-shadow:0 6px 24px -14px rgba(41,33,60,.28)}
.nav{display:flex;align-items:center;gap:24px;height:var(--header-h)}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--plum);font:600 1.22rem/1 var(--serif);letter-spacing:-.01em;flex:none}
.brand img{width:36px;height:36px}
.brand em{font-style:italic;color:var(--coral-ink);font-weight:500}
.primary-nav{display:flex;align-items:center;gap:20px;flex:1;justify-content:space-between}
.nav-list{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nav-item{position:relative}
.nav-trigger,.nav-link{display:inline-flex;align-items:center;gap:4px;font:500 .97rem/1 var(--sans);color:var(--plum);background:none;border:0;padding:10px 12px;border-radius:6px;cursor:pointer;text-decoration:none}
.nav-trigger:hover,.nav-link:hover,.nav-item.open .nav-trigger{background:var(--ivory-2)}
.nav-link[aria-current="page"]{background:var(--lav)}
.nav-trigger .chev{width:16px;height:16px;transition:transform .2s}
.nav-item.open .chev{transform:rotate(180deg)}
.dropdown{position:absolute;top:calc(100% + 8px);left:-8px;min-width:320px;list-style:none;margin:0;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-3);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s,transform .16s,visibility .16s}
.nav-item.open .dropdown{opacity:1;visibility:visible;transform:none}
.dropdown a{display:block;padding:10px 14px;border-radius:6px;text-decoration:none;color:var(--plum)}
.dropdown a:hover,.dropdown a:focus-visible{background:var(--ivory)}
.dropdown a[aria-current="page"]{background:var(--lav-2)}
.dropdown strong{display:block;font-weight:600;font-size:.97rem}
.dropdown span{display:block;font-size:.84rem;color:var(--muted)}
.nav-cta{display:flex;gap:10px;align-items:center}
.menu-toggle{display:none;margin-left:auto;width:44px;height:44px;border-radius:6px;border:1px solid var(--line);background:var(--paper);cursor:pointer;position:relative}
.menu-toggle .bar,.menu-toggle .bar::before,.menu-toggle .bar::after{position:absolute;left:12px;right:12px;height:2px;background:var(--plum);border-radius:2px;content:"";transition:transform .2s,top .2s,opacity .2s}
.menu-toggle .bar{top:21px}.menu-toggle .bar::before{top:-6px;left:0;right:0}.menu-toggle .bar::after{top:6px;left:0;right:0}
.nav-open .menu-toggle .bar{background:transparent}.nav-open .menu-toggle .bar::before{top:0;transform:rotate(45deg)}.nav-open .menu-toggle .bar::after{top:0;transform:rotate(-45deg)}
@media (max-width:1080px){
  .site-header{backdrop-filter:none!important;background:var(--ivory)!important}
  .menu-toggle{display:block}
  .primary-nav{position:fixed;inset:var(--header-h) 0 0 0;background:var(--ivory);flex-direction:column;align-items:stretch;justify-content:flex-start;padding:16px 24px 32px;overflow-y:auto;display:none;gap:16px}
  .nav-open .primary-nav{display:flex}
  .nav-open{overflow:hidden}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-trigger,.nav-link{width:100%;justify-content:space-between;padding:16px 4px;border-radius:0;border-bottom:1px solid var(--line);font-size:1.08rem}
  .nav-trigger:hover,.nav-link:hover,.nav-item.open .nav-trigger{background:none}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:4px 0 10px;display:none;min-width:0;background:transparent}
  .nav-item.open .dropdown{display:block}
  .nav-cta{flex-direction:column;align-items:stretch}
  .nav-cta .btn{padding:15px}
}

/* ---- sections ---- */
.section{padding:clamp(72px,9vw,120px) 0;position:relative}
.section.tight{padding:clamp(48px,6vw,72px) 0}
.section.lav{background:var(--lav-2)}
.section.lavender{background:var(--lav)}
.section.mint{background:var(--mint-2)}
.section.paper{background:var(--paper)}
.section.paper-edge{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{max-width:760px;margin-bottom:48px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head.center .lead{margin-left:auto;margin-right:auto}
.sec-head.center .eyebrow::after{content:"";width:22px;height:1.5px;background:var(--coral)}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,80px);align-items:center}
.split.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.split.even{grid-template-columns:1fr 1fr}
.split>*{min-width:0}
@media (max-width:900px){.split,.split.rev,.split.even{grid-template-columns:1fr}}

/* ---- page hero ---- */
.page-hero{position:relative;padding:clamp(56px,8vw,104px) 0 clamp(56px,7vw,88px);overflow:hidden;isolation:isolate}
.page-hero::before{content:"";position:absolute;right:-12%;top:-30%;width:62vw;height:62vw;max-width:860px;max-height:860px;border-radius:50%;background:radial-gradient(closest-side,var(--lav) 0%,rgba(233,225,250,.55) 55%,rgba(233,225,250,0) 100%);z-index:-1}
.page-hero::after{content:"";position:absolute;left:-10%;bottom:-40%;width:44vw;height:44vw;max-width:620px;max-height:620px;border-radius:50%;background:radial-gradient(closest-side,rgba(205,237,226,.75),rgba(205,237,226,0));z-index:-1}
.hero-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
.hero-grid.has-media{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.hero-grid>*{min-width:0}
.hero-copy h1{max-width:16ch}
.hero-grid.has-media .hero-copy h1{font-size:clamp(2.3rem,4.1vw,3.5rem);max-width:18ch}
.hero-grid:not(.has-media) .hero-copy h1{font-size:clamp(2.4rem,4.8vw,4rem)}
.hero-grid:not(.has-media) .hero-copy{max-width:860px}
.hero-grid:not(.has-media) .hero-copy h1{max-width:20ch}
.hero-note{margin-top:18px;font-size:.95rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hero-note a{font-weight:600}
@media (max-width:1000px){.hero-grid.has-media{grid-template-columns:1fr}}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 22px;padding:0;font-size:.88rem;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--line-2)}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--plum)}
.docs-hero{padding-bottom:clamp(32px,4vw,48px)}
.docs-hero h1{font-size:clamp(2.2rem,4.4vw,3.6rem)}

/* home hero */
.home-hero .hero-grid.has-media .hero-copy h1{font-size:clamp(2.6rem,5vw,4.3rem);max-width:14ch}
.home-hero .free-link{display:block;margin-top:18px;font-size:.98rem;color:var(--plum-2)}
.home-hero .free-link a{font-weight:600}
.trust-row{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:26px;padding:0;list-style:none;font-size:.92rem;color:var(--plum-2)}
.trust-row li{display:flex;align-items:center;gap:7px}
.trust-row .i{width:17px;height:17px;color:var(--mint-ink)}

/* ---- animated mail flow (hero) ---- */
.flow{container-type:inline-size;position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);padding:22px;box-shadow:var(--sh-3)}
.flow-in{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1.25fr) 34px minmax(0,1fr);align-items:center;gap:0}
.fl-k{display:block;font:700 .68rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px 4px}
.env-card{display:flex;gap:10px;align-items:center;background:var(--ivory);border:1px solid var(--line);border-radius:6px;padding:12px;box-shadow:var(--sh-1);animation:floaty 6s ease-in-out infinite}
.env-card b{display:block;font-size:.88rem;line-height:1.2}
.env-card small{display:block;font-size:.74rem;color:var(--muted);line-height:1.3;overflow-wrap:anywhere}
.env-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:var(--coral-50);color:var(--coral-ink);flex:none}
.env-card.ok .env-ic{background:var(--mint);color:var(--mint-ink)}
.fl-inbox .env-card{animation-delay:-3s}
.wire{position:relative;height:2px;background:repeating-linear-gradient(90deg,var(--line-2) 0 6px,transparent 6px 11px);margin:0 2px}
.wire .pkt,.inf-line .pkt,.inf-down .pkt{position:absolute;top:50%;left:0;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px rgba(241,109,98,.18);animation:pkt 2.6s cubic-bezier(.6,0,.4,1) infinite}
.flow-in .wire:nth-of-type(2) .pkt{animation-delay:1.3s}
.fl-gw{background:var(--plum);color:var(--ivory);border-radius:8px;padding:14px;box-shadow:0 16px 34px -16px rgba(41,33,60,.6);position:relative}
.gw-bar{display:flex;align-items:center;gap:8px;font:600 .86rem/1.2 var(--sans);margin-bottom:10px;flex-wrap:wrap}
.gw-bar small{font-weight:500;color:#C9BFE0;font-size:.74rem}
.gw-dot{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(205,237,226,.2)}
.gw-checks{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.gw-checks li{display:grid;grid-template-columns:1fr auto 18px;gap:8px;align-items:center;font-size:.8rem;background:rgba(255,255,255,.07);border-radius:6px;padding:6px 9px}
.gw-checks li b{font-weight:600;color:var(--mint);font-size:.76rem}
.gw-checks .ok{width:16px;height:16px;color:var(--mint);opacity:0;animation:tick 5.2s ease-out infinite;animation-delay:calc(var(--d) * .35s)}
.gw-foot{margin-top:10px}
.gw-foot .tier{font-size:.62rem}
.held-pill{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:.74rem;font-weight:600;color:var(--coral-ink);background:var(--coral-50);border-radius:6px;padding:7px 10px;line-height:1.25}
.held-pill .i{width:15px;height:15px;flex:none}
.flow-portal{margin-top:18px;background:var(--lav-2);border:1px dashed #CBBCEE;border-radius:8px;padding:14px}
.fp-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:12px}
.fp-head b{font-family:var(--serif);font-weight:500;font-size:1.08rem}
.fp-head span:not(.tier){font-size:.8rem;color:var(--muted)}
.fp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;position:relative}
.fp-steps li{display:flex;flex-direction:column;gap:8px;background:var(--paper);border:1px solid var(--line-2);border-radius:6px;padding:10px;animation:stepglow 8s ease-in-out infinite;animation-delay:calc(var(--d) * 2s)}
.fp-steps b{display:block;font-size:.8rem;line-height:1.25}
.fp-steps small{display:block;font-size:.72rem;color:var(--muted);line-height:1.3;margin-top:3px}
.pi{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;background:var(--lav);color:var(--lav-ink)}
.pi .i{width:16px;height:16px}
.flow-cap{margin:12px 0 0;text-align:right;font-size:.72rem;color:var(--muted)}
@container (max-width:600px){
  .flow-in{grid-template-columns:1fr;gap:0}
  .wire{width:2px;height:30px;margin:2px auto;background:repeating-linear-gradient(180deg,var(--line-2) 0 6px,transparent 6px 11px)}
  .wire .pkt{left:50%;top:0;margin:0 0 0 -5px;animation-name:pktv}
  .fp-steps{grid-template-columns:1fr 1fr}
}
@keyframes pkt{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:calc(100% - 10px);opacity:0}}
@keyframes pktv{0%{top:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:calc(100% - 10px);opacity:0}}
@keyframes tick{0%,6%{opacity:0;transform:scale(.4)}14%,86%{opacity:1;transform:none}100%{opacity:0}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes stepglow{0%,20%{border-color:var(--lav-ink);box-shadow:0 0 0 3px rgba(91,74,138,.12)}25%,100%{border-color:var(--line-2);box-shadow:none}}

/* ---- problem cards (notes) ---- */
.notes{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.note{grid-column:span 4;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;position:relative;box-shadow:var(--sh-1)}
.note:nth-child(1){grid-column:span 5;transform:rotate(-.6deg)}
.note:nth-child(2){grid-column:span 7;background:var(--lav-2)}
.note:nth-child(3){grid-column:span 7;background:var(--mint-2)}
.note:nth-child(4){grid-column:span 5;transform:rotate(.6deg)}
.note .q{font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.25;margin:0 0 12px;font-style:italic;color:var(--plum);padding-right:52px}
.note p{color:var(--plum-2);margin:0}
.note .stamp{position:absolute;top:22px;right:22px;width:40px;height:40px;border-radius:6px;display:grid;place-items:center;background:var(--coral-50);color:var(--coral-ink)}
@media (max-width:800px){.note,.note:nth-child(n){grid-column:1/-1;transform:none}}

/* ---- before / after ---- */
.ba{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);gap:0;align-items:stretch}
.ba>*{min-width:0}
.ba-col{border-radius:var(--r-lg);padding:28px;border:1px solid var(--line)}
.ba-before{background:var(--ivory-2)}
.ba-after{background:var(--paper);box-shadow:var(--sh-2);border-color:var(--line-2)}
.ba-col h3{display:flex;align-items:center;gap:10px;font-size:1.25rem}
.ba-arrow{display:grid;place-items:center;color:var(--coral)}
.ba-arrow .i{width:30px;height:30px}
.scatter{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.scatter span{background:var(--paper);border:1px dashed var(--line-2);border-radius:6px;padding:9px 12px;font-size:.9rem;color:var(--plum-2)}
.scatter span:nth-child(odd){transform:rotate(-1.2deg)}.scatter span:nth-child(even){transform:rotate(1deg)}
.stack-flow{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.stack-flow li{display:flex;align-items:center;gap:12px;background:var(--ivory);border-radius:6px;padding:12px 14px;font-weight:500}
.stack-flow li .i{color:var(--mint-ink)}
.stack-flow li.gwv{background:var(--plum);color:var(--ivory)}
.stack-flow li.gwv .i{color:var(--mint)}
.stack-flow li small{display:block;font-weight:400;font-size:.82rem;opacity:.8}
@media (max-width:860px){.ba{grid-template-columns:1fr}.ba-arrow{transform:rotate(90deg);height:56px}}

/* ---- steps walkthrough ---- */
.steps4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.steps4 li{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 22px;transition:transform .3s,box-shadow .3s,border-color .3s}
.steps4 li.on{border-color:var(--coral);box-shadow:var(--sh-2);transform:translateY(-4px)}
.steps4 .num{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ivory-2);font:500 1.2rem/1 var(--serif);margin-bottom:16px;transition:background .3s}
.steps4 li.on .num{background:var(--coral);color:var(--plum)}
.steps4 h3{font-size:1.3rem;margin-bottom:6px}
.steps4 p{color:var(--plum-2);margin:0 0 12px;font-size:.98rem}
.steps4 li:not(:last-child)::after{content:"";position:absolute;top:47px;right:-18px;width:18px;height:2px;background:var(--line-2)}
.steps-bar{height:4px;border-radius:4px;background:var(--line);margin:22px 0 0;overflow:hidden}
.steps-bar span{display:block;height:100%;width:25%;background:var(--coral);transition:width .5s ease}
@media (max-width:960px){.steps4{grid-template-columns:1fr 1fr}.steps4 li::after{display:none}}
@media (max-width:560px){.steps4{grid-template-columns:1fr}}

/* ---- feature showcase ---- */
.fx{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:28px;align-items:start}
.fx-tabs{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fx-tab{width:100%;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;text-align:left;background:transparent;border:1px solid transparent;border-radius:6px;padding:12px 14px;font:600 .98rem/1.25 var(--sans);color:var(--plum-2);cursor:pointer;transition:background .15s,border-color .15s}
.fx-tab:hover{background:var(--paper);border-color:var(--line)}
.fx-tab[aria-selected="true"]{background:var(--paper);border-color:var(--plum);color:var(--plum);box-shadow:var(--sh-1)}
.fx-tab .tier{font-size:.6rem;padding:5px 7px}
.fx-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.fx-panel[hidden]{display:none}
.fx-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;align-items:end;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.fx-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;grid-column:1/-1}
.fx-title h3{margin:0}
.fx-copy p{margin:0;color:var(--plum-2)}
.fx-copy .tlink{white-space:nowrap}
.fx-panel:not([hidden]) .fx-media{animation:fadeup .4s ease both}
@keyframes fadeup{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:960px){.fx{grid-template-columns:1fr}.fx-tabs{display:flex;overflow-x:auto;gap:8px;padding-bottom:6px;scroll-snap-type:x mandatory}.fx-tabs li{flex:none;scroll-snap-align:start}.fx-tab{grid-template-columns:20px auto auto;white-space:nowrap}.fx-copy{grid-template-columns:1fr}.fx-copy .tlink{white-space:normal}}

/* ---- screenshots ---- */
.shot{margin:0}
.shot-frame{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-3)}
.shot-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--ivory-2);border-bottom:1px solid var(--line);font-size:.74rem;color:var(--muted)}
.shot-bar i{width:9px;height:9px;border-radius:50%;background:var(--line-2);flex:none}
.shot-bar i:first-child{background:var(--coral)}.shot-bar i:nth-child(2){background:var(--amber)}.shot-bar i:nth-child(3){background:var(--mint)}
.shot-bar span{margin-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shot img{display:block;width:100%;height:auto}
.shot figcaption{font-size:.86rem;color:var(--muted);margin-top:12px;line-height:1.45}
.diagram{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:10px;box-shadow:var(--sh-2)}
.diagram img{display:block;width:100%;height:auto;border-radius:6px}
.diagram figcaption{font-size:.86rem;color:var(--muted);padding:10px 6px 2px}

/* ---- illustrations ---- */
.ill{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--sh-2);position:relative;min-height:300px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.ill>.sample{position:absolute;top:14px;right:14px}
.ill-portal{background:linear-gradient(160deg,var(--lav-2),var(--paper));align-items:center;padding-top:54px}
.portal-card{background:var(--paper);border:1px solid var(--line-2);border-radius:8px;padding:24px;max-width:360px;width:100%;text-align:center;box-shadow:var(--sh-1);margin:0 auto}
.portal-card h4{font-family:var(--serif);font-weight:500;font-size:1.25rem;margin:8px 0 6px}
.portal-card p{font-size:.88rem;color:var(--muted);margin:0 0 14px}
.pc-logo{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:6px;background:var(--mint);color:var(--mint-ink);font:700 .85rem/1 var(--sans)}
.mask{font-family:var(--mono);font-size:.95rem;color:var(--plum-2)}
.code{display:flex;justify-content:center;gap:6px;margin:4px 0 16px}
.code span{display:grid;place-items:center;width:34px;height:44px;border-radius:6px;border:1.5px solid var(--line-2);font:600 1.15rem/1 var(--mono);background:var(--ivory)}
.code:not(.static) span{animation:typein 6s steps(1) infinite;animation-delay:calc(var(--d) * .25s)}
@keyframes typein{0%{color:transparent;border-color:var(--line-2)}10%,100%{color:var(--plum);border-color:var(--lav-ink)}}
.fake-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--coral);color:var(--plum);font:600 .9rem/1 var(--sans);padding:11px 18px;border-radius:6px}
.fake-btn.sm{padding:8px 13px;font-size:.8rem}.fake-btn.ghost{background:transparent;border:1.5px solid var(--plum)}
.fake-btn .i{width:15px;height:15px}
.ill-keys .ik-head{display:flex;gap:12px;align-items:center;background:var(--plum);color:var(--ivory);border-radius:6px;padding:14px}
.ill-keys .ik-head .i{color:var(--amber);width:26px;height:26px}
.ill-keys .ik-head b{display:block;font-family:var(--mono);font-size:.86rem;font-weight:500;overflow-wrap:anywhere}
.ill-keys .ik-head small{display:block;color:#C9BFE0;font-size:.76rem}
.ill-keys ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ill-keys li{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:.9rem}
.ill-keys li b{font-size:.76rem;font-weight:700;border-radius:6px;padding:5px 9px;white-space:nowrap}
.ill-keys li.y b{background:var(--mint);color:var(--mint-ink)}
.ill-keys li.n{background:var(--ivory)}
.ill-keys li.n b{background:var(--ivory-2);color:var(--plum-2);white-space:normal;text-align:right}
.ill-ai{padding-top:54px}
.ill-ai .ai-mode{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;background:var(--lav-2);border-radius:6px;padding:14px}
.ill-ai .ai-mode span{font-size:.8rem;color:var(--muted)}.ill-ai .ai-mode b{font-family:var(--serif);font-weight:500;font-size:1.3rem}.ill-ai .ai-mode small{flex-basis:100%;color:var(--plum-2)}
.ai-prop{display:flex;gap:14px;justify-content:space-between;align-items:center;border:1px solid var(--line-2);border-radius:6px;padding:14px;flex-wrap:wrap}
.ai-prop small{display:block;font-size:.76rem;color:var(--lav-ink);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.ai-prop b{display:block;font-size:.98rem;margin:3px 0}
.ai-prop .muted{font-size:.82rem}
.ai-btns{display:flex;gap:8px}
.ai-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--line);padding:8px 2px;font-size:.9rem}
.ai-row .off{color:var(--coral-ink);font-size:.84rem;text-align:right}
.ill-dlp{padding-top:54px}
.ill-dlp .dlp-search{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line-2);border-radius:6px;padding:10px 14px;font-size:.9rem;color:var(--plum-2)}
.ill-dlp .dlp-search b{margin-left:auto;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--lav-ink)}
.dlp-hits{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dlp-hits li{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:6px;padding:12px}
.dlp-hits b{display:block;font-size:.92rem}.dlp-hits small{color:var(--muted);font-size:.8rem}
.dot{width:10px;height:10px;border-radius:50%;background:var(--coral);margin-top:6px;flex:none}.dot.amber{background:var(--amber)}.dot.mint{background:#5DBF9F}

/* ---- recipient walkthrough ---- */
.rx{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:36px;align-items:center}
.rx>*{min-width:0}
.rx-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rx-step{width:100%;display:flex;gap:14px;text-align:left;background:transparent;border:1px solid transparent;border-radius:8px;padding:14px 16px;cursor:pointer;font:inherit;color:var(--plum);transition:background .2s,border-color .2s}
.rx-step:hover{background:rgba(255,255,255,.6)}
.rx-step[aria-selected="true"]{background:var(--paper);border-color:var(--line-2);box-shadow:var(--sh-1)}
.rx-step .n{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--paper);border:1.5px solid var(--line-2);font:500 1rem/1 var(--serif)}
.rx-step[aria-selected="true"] .n{background:var(--coral);border-color:var(--coral)}
.rx-step b{display:block;font-size:1.02rem;margin-bottom:3px}
.rx-step small{display:block;font-size:.9rem;color:var(--plum-2);line-height:1.45}
.device{background:var(--paper);border:1px solid var(--line-2);border-radius:8px;box-shadow:var(--sh-3);overflow:hidden;min-height:400px}
.device-bar{display:flex;gap:6px;padding:12px 16px;background:var(--ivory-2);border-bottom:1px solid var(--line)}
.device-bar i{width:9px;height:9px;border-radius:50%;background:var(--line-2)}
.rx-panel{padding:22px;animation:fadeup .35s ease both}
.rx-panel[hidden]{display:none}
.scr-top{font:600 .8rem/1 var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:12px}
.mail-row{display:flex;gap:12px;align-items:center;border-radius:6px;padding:12px;background:var(--lav-2)}
.mail-row .av{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--mint);color:var(--mint-ink);font-weight:700;font-size:.82rem;flex:none}
.mail-row b{display:block;font-size:.95rem}.mail-row small{color:var(--plum-2);font-size:.85rem}
.mail-row time{margin-left:auto;font-size:.8rem;color:var(--muted)}
.mail-body{border:1px solid var(--line);border-radius:6px;padding:18px;margin-top:12px;font-size:.95rem}
.mail-body p{margin:0 0 10px}
.scr-url{display:flex;align-items:center;gap:8px;background:var(--ivory);border:1px solid var(--line);border-radius:6px;padding:8px 14px;font-size:.82rem;color:var(--plum-2);margin-bottom:20px;overflow:hidden;white-space:nowrap}
.scr-url .i{width:15px;height:15px;color:var(--mint-ink)}
.read{border:1px solid var(--line);border-radius:6px;padding:18px}
.read-head{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:12px}
.read-head b{display:block;font-family:var(--serif);font-weight:500;font-size:1.2rem}.read-head small{color:var(--muted)}
.read p{font-size:.95rem}
.att{display:inline-flex;align-items:center;gap:6px;background:var(--ivory-2);border-radius:6px;padding:8px 12px;font-size:.85rem;font-weight:600}
.att .i{width:16px;height:16px}
.reply-box{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;border:1.5px dashed var(--line-2);border-radius:6px;padding:12px;margin-top:14px;font-size:.92rem;color:var(--plum-2)}
.rx-foot{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-top:14px}
.rx-play{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--line-2);border-radius:6px;padding:8px 14px;font:600 .86rem/1 var(--sans);color:var(--plum);cursor:pointer}
.rx-play .i{width:16px;height:16px}
@media (max-width:900px){.rx{grid-template-columns:1fr}.device{min-height:0}}

/* ---- infrastructure diagram ---- */
.infra-wrap{container-type:inline-size}
.infra{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,2.4fr) 70px minmax(0,1fr);align-items:center;gap:0}
.infra>*{min-width:0}
.inf-side{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px 12px}
.inf-side b{display:block;font-family:var(--serif);font-weight:500;font-size:1.15rem}
.inf-side small{display:block;color:var(--muted);font-size:.85rem;margin-top:4px}
.inf-side .tier{margin-top:6px}
.inf-ic{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:6px;background:var(--ivory-2);margin-bottom:10px}
.inf-line{position:relative;z-index:1;height:2px;background:repeating-linear-gradient(90deg,rgba(75,64,98,.55) 0 6px,transparent 6px 11px)}
.inf-line span{position:absolute;top:10px;left:50%;transform:translateX(-50%);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--plum-2);white-space:nowrap}
.perimeter{position:relative;border:2px dashed var(--lav-ink);border-radius:var(--r-xl);padding:40px 22px 22px;background:rgba(244,240,252,.65)}
.perim-label{position:absolute;top:-14px;left:24px;background:var(--lav);color:var(--lav-ink);font:700 .74rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;border-radius:6px}
.inf-gw{background:var(--plum);color:var(--ivory);border-radius:8px;padding:20px;box-shadow:var(--sh-2)}
.inf-gw-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:14px}
.inf-gw-head b{font-family:var(--serif);font-weight:500;font-size:1.2rem}.inf-gw-head small{color:#C9BFE0;font-size:.82rem;flex-basis:100%}
.inf-gw-head .i{color:var(--mint)}
.inf-gw ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.inf-gw li{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.07);border-radius:6px;padding:10px;font-size:.85rem;line-height:1.35}
.inf-gw li .i{color:var(--amber);width:18px;height:18px;margin-top:1px}
.inf-gw li b{display:block;font-size:.9rem}
.inf-down{position:relative;width:2px;height:34px;margin:6px auto;background:repeating-linear-gradient(180deg,var(--plum-2) 0 6px,transparent 6px 11px);opacity:.6}
.inf-down .pkt{left:50%;margin-left:-5px;top:0;animation-name:pktv}
.inf-mail{display:flex;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line-2);border-radius:6px;padding:14px}
.inf-mail .i{color:var(--mint-ink);width:24px;height:24px}
.inf-mail b{display:block}.inf-mail small{color:var(--muted)}
@container (max-width:820px){.infra{grid-template-columns:1fr}.inf-line{width:2px;height:40px;margin:4px auto;background:repeating-linear-gradient(180deg,rgba(75,64,98,.55) 0 6px,transparent 6px 11px)}.inf-line .pkt{left:50%;margin-left:-5px;top:0;animation-name:pktv}.inf-line span{top:50%;left:14px;transform:translateY(-50%)}.inf-gw ul{grid-template-columns:1fr}}

/* ---- audience cards ---- */
.aud{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.aud a{grid-column:span 2;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--plum);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}
.aud a:nth-child(4),.aud a:nth-child(5){grid-column:span 3}
.aud a:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--line-2);color:var(--plum)}
.aud .ai{display:grid;place-items:center;width:52px;height:52px;border-radius:6px}
.aud .ai .i{width:26px;height:26px}
.aud a:nth-child(1) .ai{background:var(--mint);color:var(--mint-ink)}
.aud a:nth-child(2) .ai{background:var(--lav);color:var(--lav-ink)}
.aud a:nth-child(3) .ai{background:var(--coral-50);color:var(--coral-ink)}
.aud a:nth-child(4) .ai{background:#FBEFD9;color:#8A5A12}
.aud a:nth-child(5) .ai{background:var(--ivory-2);color:var(--plum)}
.aud h3{margin:4px 0 0}
.aud p{margin:0;color:var(--plum-2)}
.aud .more{margin-top:auto;font-weight:600;display:inline-flex;align-items:center;gap:6px;padding-top:6px}
.aud .more .i{width:16px;height:16px;color:var(--coral-ink)}
@media (max-width:900px){.aud a,.aud a:nth-child(n){grid-column:span 3}}
@media (max-width:600px){.aud a,.aud a:nth-child(n){grid-column:1/-1}}

/* ---- generic cards & lists ---- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.cards>*{min-width:0}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.card h3{font-size:1.2rem;margin:10px 0 6px}
.card p{color:var(--plum-2);margin:0;font-size:.98rem}
.card .tier{margin-top:12px}
.card .ci{display:grid;place-items:center;width:44px;height:44px;border-radius:6px;background:var(--lav-2);color:var(--lav-ink)}
.card.mint .ci{background:var(--mint);color:var(--mint-ink)}.card.coral .ci{background:var(--coral-50);color:var(--coral-ink)}
.card-link{text-decoration:none;color:var(--plum);transition:transform .2s,box-shadow .2s;display:block}
.card-link:hover{transform:translateY(-3px);box-shadow:var(--sh-2);color:var(--plum)}
@media (max-width:960px){.cards,.cards.four{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.cards,.cards.two,.cards.four{grid-template-columns:1fr}}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ticks li{display:flex;gap:10px;align-items:flex-start}
.ticks .i{width:20px;height:20px;color:var(--mint-ink);background:var(--mint);border-radius:50%;padding:3px;flex:none;margin-top:2px}
.rows{display:grid;gap:0;border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr) auto;gap:24px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line)}
.row h3{font-size:1.35rem;margin:0}
.row p{margin:0;color:var(--plum-2)}
.row>*{min-width:0}
.row .ico-t{display:flex;gap:12px;align-items:center}
.row .ico-t .ib{display:grid;place-items:center;width:40px;height:40px;border-radius:6px;background:var(--paper);border:1px solid var(--line);flex:none}
@media (max-width:760px){.row{grid-template-columns:1fr;gap:8px}}
.callout{display:flex;gap:14px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--coral);border-radius:6px;padding:18px 20px;margin:24px 0}
.callout .i{color:var(--coral-ink);flex:none;margin-top:3px}
.callout p{margin:0}
.callout.lav{border-left-color:var(--lav-ink);background:var(--lav-2)}.callout.lav .i{color:var(--lav-ink)}
.callout.mint{border-left-color:var(--mint-ink);background:var(--mint-2)}.callout.mint .i{color:var(--mint-ink)}
.quote-band{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.25;max-width:26ch;margin:0 auto;text-align:center;font-weight:400}
.quote-band em{color:var(--coral-ink)}
.pill-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.pill-list li{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:8px 14px;font-size:.92rem}
.num-list{counter-reset:n;list-style:none;margin:0;padding:0;display:grid;gap:14px}
.num-list>li{counter-increment:n;display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start}
.num-list>li::before{content:counter(n);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--coral-50);color:var(--coral-ink);font:500 1.05rem/1 var(--serif)}
.num-list>li>span{min-width:0}
.num-list b{display:block;margin-bottom:2px}
.num-list p{margin:0;color:var(--plum-2)}

/* ---- pricing ---- */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px}
.plan.featured{border:2px solid var(--plum);box-shadow:var(--sh-3);background:linear-gradient(180deg,var(--lav-2),var(--paper) 40%)}
.plan .pop{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--plum);color:var(--ivory);font:700 .72rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;border-radius:6px;white-space:nowrap}
.plan h3{font-size:1.7rem;margin:14px 0 6px}
.plan-blurb{color:var(--plum-2);font-size:.95rem;min-height:3em}
.amt{display:flex;align-items:baseline;gap:6px;margin-top:6px}
.amt b{font:500 2.8rem/1 var(--serif);letter-spacing:-.02em}
.amt span{color:var(--muted)}
.plan-note{font-size:.85rem;color:var(--muted);margin-top:4px}
.plan-scope{margin-top:14px;background:var(--ivory);border-radius:6px;padding:10px 12px;font-weight:600;font-size:.9rem}
.plan-feats{list-style:none;margin:18px 0 22px;padding:0;display:grid;gap:9px;font-size:.95rem}
.plan-feats li{display:flex;gap:9px;align-items:flex-start}
.plan-feats .i{width:18px;height:18px;color:var(--mint-ink);margin-top:3px}
.plan-cta{margin-top:auto;display:grid;gap:12px;justify-items:center}
.plan-cta .btn{width:100%}
.plan-cta .tlink.small{font-size:.88rem}
@media (max-width:960px){.plans{grid-template-columns:1fr;max-width:520px;margin:0 auto}}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper)}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
thead th{font-family:var(--sans);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--plum-2);background:var(--ivory)}
tbody tr:last-child>*{border-bottom:0}
.cmp th:not(:first-child),.cmp td{text-align:center}
.cmp thead small{display:block;text-transform:none;letter-spacing:0;font-weight:500;color:var(--muted);margin-top:3px}
.cmp tbody th{font-weight:500}
.cmp .grp th{background:var(--lav-2);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--lav-ink)}
.cmp .yes{color:var(--mint-ink)}.cmp .no{color:var(--line-2)}
.cmp{min-width:640px}
.plain-table th{background:var(--ivory)}
.plain-table tbody th{background:transparent;font-weight:600;text-transform:none;letter-spacing:0;font-size:.95rem;color:var(--plum)}
.plain-table{min-width:420px}
.vs-table{min-width:680px}
.vs-table thead th:first-child{width:22%}
.vs-table tbody th{font-weight:600}
.vs-table td:nth-child(3){background:var(--lav-2)}
.src{font-size:.86rem;color:var(--muted);padding-left:1.1em}
p.src{padding-left:0}

/* ---- FAQ ---- */
.faq{display:grid;gap:10px;max-width:880px;margin:0 auto}
.qa{background:var(--paper);border:1px solid var(--line);border-radius:8px;transition:border-color .2s}
.qa[open]{border-color:var(--line-2);box-shadow:var(--sh-1)}
.qa summary{display:flex;justify-content:space-between;gap:16px;align-items:center;cursor:pointer;list-style:none;padding:20px 22px;font-weight:600;font-size:1.06rem}
.qa summary::-webkit-details-marker{display:none}
.qa .pm{transition:transform .2s;color:var(--coral-ink)}
.qa[open] .pm{transform:rotate(45deg)}
.qa .ans{padding:0 22px 20px;color:var(--plum-2)}
.qa .ans p{margin:0 0 .8em}.qa .ans p:last-child{margin:0}
.qa .ans code{background:var(--lav-2);border-radius:6px;padding:.1em .35em;font-size:.86em;overflow-wrap:anywhere}

/* ---- CTA band ---- */
.cta-band{position:relative;overflow:hidden;background:var(--lav);border-radius:var(--r-xl);padding:clamp(48px,7vw,88px) clamp(24px,5vw,72px);text-align:center}
.cta-band h2{max-width:18ch;margin-left:auto;margin-right:auto}
.cta-band .lead{margin:0 auto}
.cta-band::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:var(--coral);opacity:.16;right:-90px;top:-120px}
.cta-band::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--mint);opacity:.9;left:-110px;bottom:-140px}
.cta-band>*{position:relative;z-index:1}
.cta-art .env{position:absolute;display:grid;place-items:center;width:52px;height:52px;border-radius:6px;background:var(--paper);box-shadow:var(--sh-2);color:var(--coral-ink);animation:floaty 7s ease-in-out infinite}
.cta-art .e1{left:8%;top:22%}.cta-art .e2{right:9%;top:30%;animation-delay:-2s;color:var(--lav-ink)}.cta-art .e3{right:16%;bottom:16%;animation-delay:-4s;color:var(--mint-ink)}
@media (max-width:760px){.cta-art{display:none}}
.cta-band .small{margin-top:16px;color:var(--plum-2)}

/* ---- forms ---- */
.form-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3vw,34px);box-shadow:var(--sh-2)}
.form-card h2,.form-card h3{margin-bottom:6px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-top:18px}
.form-grid .full{grid-column:1/-1}
.form-grid>*{min-width:0}
@media (max-width:620px){.form-grid{grid-template-columns:1fr}}
.field label,.field .lbl{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px}
.field .opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1rem;color:var(--plum);background:var(--ivory);border:1.5px solid var(--line);border-radius:6px;padding:12px 14px;transition:border-color .15s,background .15s}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--plum);background:var(--paper);box-shadow:0 0 0 3px rgba(91,74,138,.15)}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--coral-d);background:#FFF6F5}
.field .err{display:none;color:var(--coral-ink);font-size:.84rem;margin-top:5px}
.field.invalid .err{display:block}
.topics{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:18px 0 0}
.topics legend{font-weight:600;font-size:.92rem;margin-bottom:8px;padding:0}
.topic{position:relative}
.topic input{position:absolute;opacity:0;pointer-events:none}
.topic label{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--line);border-radius:6px;padding:9px 14px;cursor:pointer;font-weight:600;font-size:.92rem;background:var(--paper)}
.topic label .i{width:17px;height:17px}
.topic input:checked+label{border-color:var(--plum);background:var(--plum);color:var(--ivory)}
.topic input:focus-visible+label{outline:3px solid var(--coral);outline-offset:2px}
.form-foot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:20px}
.privacy-note{font-size:.84rem;color:var(--muted);margin:14px 0 0;line-height:1.5}
.form-status{margin-top:16px;font-size:.95rem}
.form-status:empty{display:none}
.form-status.ok{background:var(--mint-2);border:1px solid var(--mint);border-radius:6px;padding:16px;color:var(--plum)}
.form-status.err{background:#FFF1EF;border:1px solid #F8CFC9;border-radius:6px;padding:16px;color:var(--coral-ink)}
.form-status.ok h3{font-size:1.25rem;margin:0 0 6px}
.form-status p:last-child{margin-bottom:0}
.form-status ol{margin:8px 0 0;padding-left:1.2em}
.key-out{display:block;background:var(--plum);color:var(--ivory);font-family:var(--mono);font-size:.8rem;padding:14px;border-radius:6px;white-space:pre-wrap;word-break:break-all;margin:10px 0}
.lic-summary{background:var(--lav-2);border-radius:6px;padding:10px 12px;font-size:.92rem;margin-top:12px}
.lic-summary:empty{display:none}
.side-steps{background:var(--ivory-2);border-radius:var(--r-lg);padding:26px}
.side-steps h3{font-size:1.3rem}

/* ---- campaign landing pages ---- */
.lp .site-header .nav{justify-content:space-between}
.lp-hero{padding:clamp(40px,6vw,80px) 0 clamp(48px,6vw,80px);position:relative;isolation:isolate;overflow:hidden}
.lp-hero::before{content:"";position:absolute;right:-15%;top:-20%;width:70vw;height:70vw;max-width:900px;max-height:900px;border-radius:50%;background:radial-gradient(closest-side,var(--lav),rgba(233,225,250,0));z-index:-1}
.lp-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,5vw,64px);align-items:start}
.lp-grid>*{min-width:0}
.lp-hero h1{font-size:clamp(2.3rem,4.6vw,3.9rem);max-width:17ch}
.lp-points{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:14px}
.lp-points li{display:flex;gap:12px;align-items:flex-start}
.lp-points .lpi{display:grid;place-items:center;width:38px;height:38px;border-radius:6px;background:var(--paper);border:1px solid var(--line);color:var(--coral-ink);flex:none}
.lp-points b{display:block}
.lp-points span{color:var(--plum-2)}
.lp-form{position:sticky;top:calc(var(--header-h) + 18px)}
.lp-form .form-grid{grid-template-columns:1fr}
.lp-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.lp-trust>div{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.lp-trust b{display:block;margin:8px 0 4px;font-size:1.05rem}
.lp-trust p{margin:0;font-size:.95rem;color:var(--plum-2)}
.lp-trust .i{color:var(--lav-ink);width:24px;height:24px}
@media (max-width:960px){.lp-grid{grid-template-columns:1fr}.lp-form{position:static}.lp-trust{grid-template-columns:1fr}}
.sticky-cta{display:none}
@media (max-width:760px){
  .sticky-cta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;gap:10px;background:var(--plum);border-radius:6px;padding:8px 8px 8px 18px;align-items:center;justify-content:space-between;box-shadow:var(--sh-3);transform:translateY(140%);transition:transform .3s ease}
  .sticky-cta.show{transform:none}
  .sticky-cta span{color:var(--ivory);font-weight:600;font-size:.92rem}
  .sticky-cta .btn{padding:11px 16px}
  body.has-sticky{padding-bottom:84px}
}
.lp-footer{padding:26px 0}

/* ---- docs ---- */
.docs-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;align-items:start}
.docs-nav{position:sticky;top:calc(var(--header-h) + 24px);font-size:.95rem}
.docs-nav h4{font:700 .74rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:22px 0 8px}
.docs-nav h4:first-child{margin-top:0}
.docs-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.docs-nav a{display:block;padding:7px 12px;border-radius:6px;text-decoration:none;color:var(--plum-2)}
.docs-nav a:hover{background:var(--ivory-2);color:var(--plum)}
.docs-nav a[aria-current="page"]{background:var(--lav);color:var(--plum);font-weight:600}
@media (max-width:960px){.docs-layout{grid-template-columns:1fr;gap:28px}.docs-nav{position:static;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px}}
.prose{max-width:780px;min-width:0}
.prose h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin:1.8em 0 .5em}
.prose h3{font-size:1.3rem;margin:1.5em 0 .4em}
.prose>:first-child{margin-top:0}
.prose p,.prose li{color:#3A3150}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin:.35em 0}
.prose pre{background:var(--plum);color:#F3EEFF;border-radius:6px;padding:16px 18px;overflow-x:auto;white-space:pre;font-size:.86rem;line-height:1.55}
.prose pre code{font-size:1em}
.prose :not(pre)>code{background:var(--lav-2);border:1px solid var(--line-2);border-radius:6px;padding:.1em .35em;font-size:.86em;overflow-wrap:anywhere}
.prose table{font-size:.92rem}
.prose .docs__tablewrap,.prose .tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px;margin:1.2em 0;background:var(--paper)}
.prose .docs__tablewrap th,.prose .tablewrap th{background:var(--ivory)}
.prose .docs__lede{font-size:1.15rem;color:var(--plum-2)}
.prose .docs__note,.prose .docs__warn{border-radius:6px;padding:14px 18px;margin:1.2em 0;border:1px solid var(--line)}
.prose .docs__note{background:var(--mint-2);border-color:var(--mint)}
.prose .docs__warn{background:#FFF4EC;border-color:#F6D2B8}
.prose .docs__note p:last-child,.prose .docs__warn p:last-child{margin:0}
.prose .doc-fig,.prose figure{margin:1.4em 0}
.prose figure img{display:block;width:100%;height:auto;border-radius:6px;border:1px solid var(--line);box-shadow:var(--sh-1)}
.prose figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}
.docs-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:1em 0}
.docs-cards a{display:block;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:16px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.docs-cards a:hover{transform:translateY(-2px);box-shadow:var(--sh-1)}
.docs-cards h3{font-size:1.08rem;margin:0 0 4px}
.docs-cards p{margin:0;font-size:.92rem;color:var(--plum-2)}
@media (max-width:620px){.docs-cards{grid-template-columns:1fr}}
.docs-pager{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.legal-prose address{font-style:normal;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:14px 18px;margin:1em 0}
.legal-prose h2{margin-top:1.4em}
[id]{scroll-margin-top:calc(var(--header-h) + 16px)}

/* ---- resources ---- */
.res-search{position:relative;max-width:640px}
.res-search input{width:100%;font:inherit;font-size:1.05rem;padding:16px 18px 16px 48px;border-radius:6px;border:1.5px solid var(--line-2);background:var(--paper);color:var(--plum)}
.res-search .i{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--muted)}
.res-out{margin-top:10px;display:grid;gap:6px;max-width:640px}
.res-out a{display:block;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:10px 14px;text-decoration:none}
.res-out a span{display:block;font-size:.86rem;color:var(--muted)}
.res-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.res-grid>a{grid-column:span 4;text-decoration:none;color:var(--plum);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s}
.res-grid>a.wide{grid-column:span 8;background:var(--lav)}
.res-grid>a.mintc{background:var(--mint-2)}
.res-grid>a:hover{transform:translateY(-3px);box-shadow:var(--sh-2);color:var(--plum)}
.res-grid h3{margin:0;font-size:1.3rem}
.res-grid p{margin:0;color:var(--plum-2);font-size:.96rem}
.res-grid .kind{font:700 .7rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--coral-ink)}
@media (max-width:900px){.res-grid>a,.res-grid>a.wide{grid-column:span 6}}
@media (max-width:600px){.res-grid>a,.res-grid>a.wide{grid-column:1/-1}}

/* email auth checker results */
.eac-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.eac-row{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--line-2);border-radius:6px;padding:14px 16px}
.eac-row.eac-pass{border-left-color:#5DBF9F}.eac-row.eac-warn{border-left-color:var(--amber)}.eac-row.eac-fail{border-left-color:var(--coral)}
.eac-badge{display:inline-block;font:700 .7rem/1 var(--sans);text-transform:uppercase;letter-spacing:.08em;padding:5px 8px;border-radius:6px;background:var(--ivory-2);margin-right:8px}
.eac-pass .eac-badge{background:var(--mint);color:var(--mint-ink)}.eac-fail .eac-badge{background:var(--coral-50);color:var(--coral-ink)}.eac-warn .eac-badge{background:#FBEFD9;color:#8A5A12}
.eac-row p{margin:8px 0 0;font-size:.95rem;color:var(--plum-2)}

/* ---- footer ---- */
.site-footer{background:var(--ivory-2);border-top:1px solid var(--line);padding:64px 0 28px}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap:32px}
.footer-grid>*{min-width:0}
.footer-about p{color:var(--plum-2);font-size:.95rem;margin-top:14px;max-width:34ch}
.footer-about .small{font-size:.86rem}
.site-footer h4{font:700 .74rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:6px 0 14px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-footer ul a{text-decoration:none;color:var(--plum-2);font-size:.95rem}
.site-footer ul a:hover{color:var(--coral-ink)}
.footer-bottom{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;margin-top:44px;padding-top:22px;border-top:1px solid var(--line);font-size:.86rem;color:var(--muted)}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:18px}
.footer-bottom a{color:var(--muted);text-decoration:none}
.footer-bottom a:hover{color:var(--plum)}
.lp-footer .footer-bottom{margin-top:0;border-top:0;padding-top:0}
@media (max-width:960px){.footer-grid{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}}

/* ---- ask the docs ---- */
.ask{position:fixed;right:18px;bottom:18px;z-index:55}
.ask-launch{display:inline-flex;align-items:center;gap:8px;background:var(--plum);color:var(--ivory);border:0;border-radius:6px;padding:12px 16px;font:600 .9rem/1 var(--sans);cursor:pointer;box-shadow:var(--sh-3)}
.ask-launch .i{width:18px;height:18px}
.ask-panel{position:absolute;right:0;bottom:56px;width:min(380px,calc(100vw - 36px));background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--sh-3);padding:16px;display:flex;flex-direction:column;gap:10px}
.ask-panel[hidden]{display:none}
.ask-head{display:flex;justify-content:space-between;align-items:center}
.ask-head strong{font-family:var(--serif);font-weight:500;font-size:1.15rem}
.ask-x{background:none;border:0;cursor:pointer;padding:6px;border-radius:6px;color:var(--plum)}
.ask-log{max-height:300px;overflow-y:auto;display:grid;gap:8px}
.ask-msg{font-size:.9rem;line-height:1.5;border-radius:6px;padding:10px 12px;white-space:pre-wrap}
.ask-msg.bot{background:var(--ivory)}
.ask-msg.me{background:var(--lav);justify-self:end;max-width:85%}
.ask-msg a{font-weight:600}
.ask-cites{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;white-space:normal}
.ask-cites a{font-size:.8rem;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:4px 9px;text-decoration:none}
.ask-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.ask-form textarea{font:inherit;font-size:.92rem;border:1.5px solid var(--line);border-radius:6px;padding:10px;resize:none;background:var(--ivory);color:var(--plum)}
.ask-note{font-size:.76rem;color:var(--muted);margin:0}
.ask-signal{display:grid;gap:6px;background:var(--lav-2);border-radius:6px;padding:10px;font-size:.84rem;white-space:normal}
.ask-signal input{font:inherit;font-size:.88rem;border:1px solid var(--line-2);border-radius:6px;padding:8px}
.lp .ask{display:none}
@media (max-width:760px){.ask-launch span{display:none}.ask-launch{padding:13px}}

/* ---- reveal ---- */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}

/* ---- misc ---- */
.center{text-align:center}
.mt-0{margin-top:0}.mt-2{margin-top:24px}.mt-3{margin-top:40px}.mb-0{margin-bottom:0}
.pdf-sign{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.pdf-sign .ci{display:grid;place-items:center;width:52px;height:52px;border-radius:6px;background:var(--mint);color:var(--mint-ink)}
.pdf-sign h3{margin:0 0 4px}.pdf-sign p{margin:0;color:var(--plum-2)}
@media (max-width:700px){.pdf-sign{grid-template-columns:1fr}}
.notfound{text-align:center;padding:40px 0}
.sitemap-cols{columns:3 260px;column-gap:28px}
.sitemap-cols>div{break-inside:avoid;margin-bottom:26px}
.sitemap-cols h3{font-size:1.25rem}
.sitemap-cols ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .gw-checks .ok{opacity:1!important}
  .code span{color:var(--plum)!important}
  .wire .pkt,.inf-line .pkt,.inf-down .pkt{display:none}
  .js .reveal{opacity:1;transform:none}
}
@media print{.site-header,.site-footer,.ask,.sticky-cta{display:none}}

/* ==========================================================================
   THEME v2: bright, bold and playful (Nexus-style hero, deep-purple
   agency bands, hand-drawn sketch map). Overrides the tokens above.
   ========================================================================== */
:root{
  --ivory:#FFFFFF; --ivory-2:#F4F2FB; --paper:#FFFFFF;
  --plum:#1E1757; --plum-2:#4A4670; --muted:#6B6890; --line:#E7E4F3; --line-2:#D7D1F0;
  --coral:#F26A2E; --coral-d:#DE5320; --coral-50:#FFEDE3; --coral-ink:#C4461C;
  --lav:#ECE7FF; --lav-2:#F6F4FD; --lav-ink:#5B3FD6;
  --mint:#CFF6FB; --mint-2:#ECFBFD; --mint-ink:#0B6A78;
  --amber:#FFC61A; --yellow:#FFC61A; --deep:#4B3F8C; --deep-2:#5D51A3; --cyan:#9BEFFF;
  --grad-orange:linear-gradient(135deg,#F7863E 0%,#D24A1B 100%);
  --grad-purple:linear-gradient(135deg,#8B6CF5 0%,#5B3FD6 100%);
  --serif:"Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --sans:"Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --hand:"Caveat", "Comic Sans MS", cursive;
  --sh-hard:8px 8px 0 var(--plum);
}
body{background:#fff;font-weight:500}
h1,h2,h3,h4{font-family:var(--sans);font-weight:900;letter-spacing:-.025em;font-variation-settings:normal;line-height:1.08}
h3{font-weight:800;letter-spacing:-.01em}
h1 em,h2 em,.serif em{font-style:normal;font-weight:900;color:var(--lav-ink)}
.lead{color:var(--plum-2)}
.brand{font:900 1.3rem/1 var(--sans);letter-spacing:-.02em}
.brand em{font-style:normal;color:var(--lav-ink);font-weight:900}
.eyebrow{font-weight:800;color:var(--coral-ink)}
.eyebrow::before,.sec-head.center .eyebrow::after{height:3px;border-radius:3px;background:var(--grad-orange)}

/* buttons: gradient pills */
.btn{font-weight:800;border-radius:6px}
.btn-primary{background:var(--grad-orange);color:#fff;border:0;box-shadow:0 12px 22px -10px rgba(214,80,30,.7)}
.btn-primary:hover{background:var(--grad-orange);color:#fff;filter:brightness(1.06);transform:translateY(-2px)}
.btn-purple{background:var(--grad-purple);color:#fff;border:0;box-shadow:0 12px 22px -10px rgba(91,63,214,.7)}
.btn-purple:hover{color:#fff;filter:brightness(1.08);transform:translateY(-2px)}
.btn-ghost{background:#fff;color:var(--plum);border:2px solid var(--coral)}
.btn-ghost:hover{background:var(--coral-50);color:var(--plum)}
.btn-soft{border:2px solid var(--line-2)}
.fake-btn{background:var(--grad-orange);color:#fff}
.fake-btn.ghost{background:#fff;color:var(--plum);border:2px solid var(--coral)}
.tlink{border-bottom:2px solid var(--coral)}

/* header */
.site-header{background:rgba(255,255,255,.92);border-bottom:1px solid var(--line)}
@supports (backdrop-filter:blur(8px)){.site-header{background:rgba(255,255,255,.85)}}
.nav-trigger,.nav-link{font-weight:700}
.nav-link[aria-current="page"]{background:var(--lav)}
@media (max-width:1080px){.site-header{background:#fff!important}.primary-nav{background:#fff}}

/* hero: soft panel like the reference, colour block behind the visual */
.page-hero{background:linear-gradient(180deg,#F8F7FD 0%,#FFFFFF 100%)}
.page-hero::before{background:radial-gradient(closest-side,rgba(236,231,255,.9),rgba(236,231,255,0));opacity:.8}
.page-hero::after{background:radial-gradient(closest-side,rgba(207,246,251,.8),rgba(207,246,251,0))}
.hero-grid.has-media .hero-media{position:relative;background:var(--yellow);border-radius:8px;padding:clamp(18px,3vw,34px);box-shadow:0 34px 60px -30px rgba(30,23,87,.45)}
.hero-grid.has-media .hero-media::after{content:"";position:absolute;left:8%;right:8%;bottom:-26px;height:26px;border-radius:50%;background:radial-gradient(closest-side,rgba(30,23,87,.18),rgba(30,23,87,0));z-index:-1}
.home-hero .hero-grid.has-media .hero-copy h1{font-size:clamp(2.6rem,5.2vw,4.6rem);max-width:12ch;line-height:1.02}
.hero-grid.has-media .hero-copy h1{font-size:clamp(2.2rem,4vw,3.4rem)}
.hero-grid:not(.has-media) .hero-copy h1{font-size:clamp(2.3rem,4.6vw,3.8rem)}

/* product windows: browser frame with a hard offset shadow */
.flow,.shot-frame,.device,.ill,.ill-portal{border:2px solid var(--plum);box-shadow:var(--sh-hard)}
.flow{border-radius:8px}
.hero-media .flow,.hero-media .shot-frame,.hero-media .ill{box-shadow:10px 10px 0 var(--plum)}
.shot-bar,.device-bar{background:#fff;border-bottom:2px solid var(--plum)}
.shot-bar i:first-child,.device-bar i:first-child{background:#2BB6C8}.shot-bar i:nth-child(2),.device-bar i:nth-child(2){background:#45C27A}.shot-bar i:nth-child(3),.device-bar i:nth-child(3){background:#F0503C}
.device-bar i{width:10px;height:10px}
.fl-gw,.inf-gw{background:var(--deep)}
.gw-checks li b,.gw-checks .ok,.inf-gw-head .i{color:var(--cyan)}
.flow-portal{background:var(--lav-2);border-color:var(--lav-ink)}
.ill-portal{background:linear-gradient(160deg,var(--lav) ,#fff)}

/* steps + numbers */
.steps4 li{border:2px solid var(--line)}
.steps4 li.on{border-color:var(--plum);box-shadow:var(--sh-hard)}
.steps4 .num{font-weight:900;font-family:var(--sans)}
.steps4 li.on .num,.rx-step[aria-selected="true"] .n{background:var(--grad-orange);border-color:transparent;color:#fff}
.steps-bar span{background:var(--grad-orange)}
.num-list>li::before{font-family:var(--sans);font-weight:900;background:var(--lav);color:var(--lav-ink)}
.rx-step .n{font-family:var(--sans);font-weight:900}
.note .q{font-style:normal;font-weight:800;font-family:var(--sans)}
.note:nth-child(2){background:var(--lav)}.note:nth-child(3){background:#FFF6D6}
.cards .card,.plan,.qa,.aud a,.res-grid>a,.lp-trust>div,.form-card{border-width:2px}
.card-link:hover,.aud a:hover,.res-grid>a:hover{box-shadow:var(--sh-hard);transform:translate(-3px,-3px)}
.fx-tab[aria-selected="true"]{border:2px solid var(--plum);box-shadow:4px 4px 0 var(--plum)}
.plan.featured{border:2px solid var(--plum);box-shadow:var(--sh-hard);background:linear-gradient(180deg,var(--lav) 0,#fff 45%)}
.plan .pop{background:var(--grad-purple)}
.amt b{font-family:var(--sans);font-weight:900}
.res-grid>a.wide{background:var(--lav)}.res-grid>a.mintc{background:#FFF6D6}
.topic input:checked+label{background:var(--grad-purple);border-color:transparent;color:#fff}
.ask-launch{background:var(--grad-purple)}
.ask-msg.me{background:var(--lav)}

/* deep purple bands (agency reference) */
.section.deep{background:var(--deep);color:#fff;overflow:hidden;isolation:isolate}
.section.deep::before,.section.deep::after{content:"";position:absolute;border-radius:50%;border:38px solid var(--deep-2);z-index:-1}
.section.deep::before{width:520px;height:520px;right:-180px;top:-200px}
.section.deep::after{width:360px;height:360px;left:-160px;bottom:-170px;border-width:28px}
.section.deep h2{color:#fff}.section.deep h2 em{color:var(--cyan)}
.section.deep .lead,.section.deep p{color:#E4E0FA}
.section.deep .eyebrow{color:var(--cyan)}.section.deep .eyebrow::before,.section.deep .eyebrow::after{background:var(--cyan)}
.section.deep .aud a{border:0;box-shadow:0 18px 40px -20px rgba(0,0,0,.5)}
.section.deep .aud a p{color:var(--plum-2)}
.section.deep .aud a:hover{box-shadow:8px 8px 0 var(--cyan)}
.cta-band{background:var(--deep);color:#fff;border-radius:8px}
.cta-band h2{color:#fff}.cta-band h2 em{color:var(--cyan)}
.cta-band .lead,.cta-band .small{color:#E4E0FA}
.cta-band .small a{color:#fff}
.cta-band::before{background:transparent;border:40px solid var(--deep-2);opacity:1;width:380px;height:380px;right:-140px;top:-170px}
.cta-band::after{background:transparent;border:30px solid var(--deep-2);opacity:1;width:300px;height:300px;left:-140px;bottom:-160px}
.cta-band .btn-ghost{background:transparent;color:#fff;border-color:#fff}
.cta-band .btn-ghost:hover{background:#fff;color:var(--plum)}
.cta-band .btn-primary{background:var(--cyan);color:var(--plum);box-shadow:0 12px 22px -10px rgba(0,0,0,.5)}
.cta-band .btn-primary:hover{background:#B8F4FF;color:var(--plum)}
.cta-art .env{border:2px solid var(--plum)}

/* hand-drawn sketch map (sketch reference) */
.doodle{position:relative;max-width:1000px;margin:0 auto;min-height:560px}
.dd-lines{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.dd-lines line{stroke:var(--plum);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1 7;vector-effect:non-scaling-stroke}
.dd-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-3deg);z-index:1;width:300px;height:170px;display:grid;place-content:center;text-align:center;background:#fff;border:3px solid var(--plum);border-radius:50%;box-shadow:inset 0 0 0 7px #fff,inset 0 0 0 9px var(--plum)}
.dd-center span{font:700 1.7rem/1 var(--hand);color:var(--coral-ink)}
.dd-center b{font:700 3.2rem/1 var(--hand);color:var(--plum);letter-spacing:.02em;text-transform:uppercase}
.dd-list{list-style:none;margin:0;padding:0;position:absolute;inset:0;z-index:1}
.dd-node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;transform:translate(-50%,-50%);background:#fff;border:2.5px solid var(--plum);border-radius:48% 52% 46% 54% / 55% 45% 55% 45%;padding:12px 20px 12px;min-width:170px;text-align:center}
.dd-node:nth-child(odd){transform:translate(-50%,-50%) rotate(-2.5deg)}.dd-node:nth-child(even){transform:translate(-50%,-50%) rotate(2deg)}
.dd-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--yellow);color:var(--plum);margin-top:-30px;border:2px solid var(--plum)}
.dd-ic .i{width:18px;height:18px}
.dd-txt{font:700 1.55rem/1.05 var(--hand);color:var(--plum);text-transform:uppercase}
.dd-node .tier{font-size:.58rem;padding:4px 7px}
.n0{left:16.7%;top:16.7%}.n1{left:50%;top:13.3%}.n2{left:83.3%;top:16.7%}
.n3{left:13.3%;top:50%}.n4{left:86.7%;top:50%}
.n5{left:16.7%;top:83.3%}.n6{left:50%;top:86.7%}.n7{left:83.3%;top:83.3%}
@media (max-width:820px){
  .doodle{min-height:0;display:grid;gap:26px}
  .dd-lines{display:none}
  .dd-center{position:relative;left:auto;top:auto;transform:rotate(-2deg);margin:0 auto;width:240px;height:130px}
  .dd-list{position:static;display:grid;grid-template-columns:1fr 1fr;gap:28px 14px;padding-top:12px}
  .dd-node,.dd-node:nth-child(n){position:static;transform:none;min-width:0;padding:10px 10px}
  .dd-txt{font-size:1.3rem}
}

/* misc colour fixes for the new palette */
.tier-community{background:var(--mint);color:var(--mint-ink)}
.tier-ent{background:var(--coral-50);color:var(--coral-ink)}
.ticks .i{background:var(--mint);color:var(--mint-ink)}
.sample{color:var(--lav-ink);background:#fff;border-color:var(--lav-ink)}
.callout{border-width:2px;border-left-width:6px}
.site-footer{background:var(--lav-2)}
.held-pill{background:var(--coral-50)}

/* subtle fills that used the old ivory tone */
.plan-scope,.env-card,.stack-flow li:not(.gwv),.code span,.ill-keys li.n,.scr-url,.ai-mode,.side-steps{background:var(--lav-2)}
.field input,.field select,.field textarea,.res-search input,.ask-form textarea{background:#fff;border:2px solid var(--line-2)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--lav-ink);box-shadow:0 0 0 4px rgba(91,63,214,.15)}
.ba-before{background:#FFF6D6;border-color:#F3E3A6}
@media (max-width:440px){.brand{font-size:1.12rem;gap:8px}.brand img{width:32px;height:32px}.lp-head-cta{padding:9px 13px;font-size:.84rem}.wrap{padding:0 18px}}
@media (max-width:350px){.lp-head-cta{padding:8px 10px;font-size:.78rem}.brand{font-size:1rem}}
.tier-ent{color:#A83A16}.res-grid .kind,.eyebrow{color:#A83A16}

/* ==========================================================================
   THEME v3: squarer: tighter corners, geometric type, square markers
   ========================================================================== */
:root{--r-sm:4px;--r:6px;--r-lg:8px;--r-xl:10px;
  --serif:"Space Grotesk", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}
body{font-weight:400}
h1,h2,h3,h4,.brand,.amt b,.dd-txt,.dd-center b{font-family:var(--serif)}
h1,h2{font-weight:700;letter-spacing:-.035em}
h3,h4{font-weight:700;letter-spacing:-.015em}
h1 em,h2 em{font-weight:700}
.brand{font-weight:700;letter-spacing:-.03em}.brand em{font-weight:700}
.btn{font-weight:700;border-radius:6px}
.lead{font-weight:400}
.nav-trigger,.nav-link{font-weight:600}
.note .q{font-family:var(--serif);font-weight:700;letter-spacing:-.02em}
.steps4 .num,.rx-step .n,.num-list>li::before,.mail-row .av,.dd-ic{border-radius:6px;font-family:var(--serif)}
.ticks .i{border-radius:4px}
.hero-grid.has-media .hero-media{border-radius:10px}
.hero-grid.has-media .hero-media::after{display:none}
.flow,.shot-frame,.device,.ill,.cta-band{border-radius:8px}
/* square decorations instead of rings */
.section.deep::before,.section.deep::after,.cta-band::before,.cta-band::after{border-radius:0;transform:rotate(14deg)}
/* sketch map: hand-drawn boxes instead of bubbles */
.dd-center{border-radius:4px;transform:translate(-50%,-50%) rotate(-2deg);width:280px;height:150px;box-shadow:6px 6px 0 var(--plum)}
.dd-node{border-radius:3px;box-shadow:4px 4px 0 var(--plum)}
.dd-txt,.dd-center b,.dd-center span{font-family:var(--hand)}
@media (max-width:820px){.dd-center{transform:rotate(-1.5deg)}}

/* ==========================================================================
   THEME v4: Rubix Technology palette (official swatches plus documented
   derived colours). Dark Blue #02253D, Sky Blue #258EBB, Baby Blue #6CD5EF,
   Orange #EA811F, Black #1F1F1F, White #FAFAFA.
   ========================================================================== */
:root{
  --ivory:#FAFAFA; --ivory-2:#F2F4F6; --paper:#FFFFFF;
  --plum:#02253D; --plum-2:#44546A; --muted:#595959; --line:#D9D9D9; --line-2:#D9D9D9;
  --coral:#EA811F; --coral-d:#EA811F; --coral-50:#FDF2E9; --coral-ink:#A5560E;
  --lav:#E9F4F8; --lav-2:#F2F4F6; --lav-ink:#1B6F94;
  --mint:#E9F4F8; --mint-2:#F2F4F6; --mint-ink:#1B6F94;
  --amber:#EA811F; --yellow:#EA811F; --deep:#02253D; --deep-2:#122F46; --cyan:#6CD5EF;
  --sky:#258EBB; --baby:#6CD5EF; --onDarkMuted:#A8C0D2;
  --grad-orange:#EA811F; --grad-purple:#02253D;
  --sh-hard:8px 8px 0 #02253D;
  --serif:"Space Grotesk", Arial, sans-serif; --sans:"Inter", Arial, sans-serif;
}
body{background:#FAFAFA;color:#1F1F1F}
h1,h2,h3,h4{color:#02253D}
h1 em,h2 em,.serif em{color:#258EBB}
.lead,.card p,.row p,.num-list p,.note p,.aud p{color:#44546A}
.eyebrow{color:#44546A}
.eyebrow::before{width:22px;height:3px;background:#EA811F}
.sec-head.center .eyebrow::after{background:#EA811F}
.brand em{color:#258EBB}
a{text-decoration-color:#EA811F}
a:hover{color:#1B6F94}

/* buttons: brand radius 10px; orange primary carries Dark Blue text */
.btn{border-radius:10px;font-weight:600}
.btn-primary{background:#EA811F;color:#02253D;box-shadow:0 10px 20px -12px rgba(2,37,61,.55)}
.btn-primary:hover{background:#EA811F;color:#02253D;filter:brightness(1.07)}
.btn-purple{background:#02253D;color:#FAFAFA;box-shadow:0 10px 20px -12px rgba(2,37,61,.6)}
.btn-purple:hover{background:#122F46;color:#FAFAFA;filter:none}
.btn-ghost{background:transparent;color:#02253D;border:2px solid #02253D}
.btn-ghost:hover{background:#02253D;color:#FAFAFA}
.fake-btn{background:#EA811F;color:#02253D;border-radius:8px}
.fake-btn.ghost{background:#fff;color:#02253D;border:2px solid #02253D}
.tlink{color:#02253D;border-bottom-color:#EA811F}
.tlink:hover{color:#1B6F94}

/* header and nav */
.site-header{background:rgba(250,250,250,.94)}
@supports (backdrop-filter:blur(8px)){.site-header{background:rgba(250,250,250,.85)}}
.nav-link[aria-current="page"]{background:#E9F4F8;box-shadow:inset 0 -3px 0 #EA811F}
.nav-trigger:hover,.nav-link:hover,.nav-item.open .nav-trigger{background:#F2F4F6}

/* tiers */
.tier-community{background:#E9F4F8;color:#1B6F94;border-color:#C5E3EF}
.tier-pro{background:#02253D;color:#FAFAFA;border-color:#02253D}
.tier-ent{background:#FDF2E9;color:#A5560E;border-color:#F3D3B4}
.tier-all{background:#F2F4F6;color:#44546A;border-color:#D9D9D9}
.sample{color:#1B6F94;background:#fff;border-color:#258EBB}

/* hero: Primary gradient block behind the product visual */
.page-hero{background:linear-gradient(180deg,#F2F4F6 0%,#FAFAFA 100%)}
.page-hero::before{background:radial-gradient(closest-side,rgba(233,244,248,.95),rgba(233,244,248,0))}
.page-hero::after{background:radial-gradient(closest-side,rgba(108,213,239,.18),rgba(108,213,239,0))}
.hero-grid.has-media .hero-media{background:linear-gradient(135deg,#02253D 0%,#258EBB 100%);border-radius:10px;box-shadow:0 30px 60px -30px rgba(2,37,61,.6)}
.hero-media .flow,.hero-media .shot-frame,.hero-media .ill{box-shadow:10px 10px 0 #6CD5EF;border-color:#02253D}
.flow,.shot-frame,.device,.ill{border-color:#02253D}
.shot-bar i:first-child,.device-bar i:first-child{background:#258EBB}
.shot-bar i:nth-child(2),.device-bar i:nth-child(2){background:#6CD5EF}
.shot-bar i:nth-child(3),.device-bar i:nth-child(3){background:#EA811F}
.shot-bar i,.device-bar i{border-radius:2px}

/* mail flow and diagrams */
.fl-gw,.inf-gw{background:#02253D}
.gw-bar small,.inf-gw-head small{color:#A8C0D2}
.gw-dot{background:#6CD5EF;box-shadow:0 0 0 4px rgba(108,213,239,.2)}
.gw-checks li b,.gw-checks .ok,.inf-gw-head .i{color:#6CD5EF}
.inf-gw li .i{color:#EA811F}
.env-ic{background:#FDF2E9;color:#A5560E}
.env-card.ok .env-ic{background:#E9F4F8;color:#1B6F94}
.held-pill{background:#FDF2E9;color:#A5560E}
.flow-portal{background:#F2F4F6;border-color:#258EBB}
.pi{background:#E9F4F8;color:#1B6F94}
.fp-steps li{border-color:#D9D9D9}
@keyframes stepglow{0%,20%{border-color:#258EBB;box-shadow:0 0 0 3px rgba(37,142,187,.18)}25%,100%{border-color:#D9D9D9;box-shadow:none}}
.wire .pkt,.inf-line .pkt,.inf-down .pkt{background:#EA811F;box-shadow:0 0 0 4px rgba(234,129,31,.2)}
.perimeter{border-color:#258EBB;background:rgba(233,244,248,.7)}
.perim-label{background:#02253D;color:#FAFAFA}
.ill-portal{background:linear-gradient(160deg,#E9F4F8,#fff)}
.pc-logo{background:#E9F4F8;color:#1B6F94}
.mail-row{background:#E9F4F8}
.mail-row .av{background:#02253D;color:#FAFAFA}
.ill-keys .ik-head{background:#02253D}
.ill-keys .ik-head .i{color:#EA811F}
.ill-keys .ik-head small{color:#A8C0D2}
.ill-keys li.y b{background:#E9F4F8;color:#1B6F94}
.dot{background:#EA811F}.dot.amber{background:#258EBB}.dot.mint{background:#6CD5EF}
.code:not(.static) span{animation-name:typein2}
@keyframes typein2{0%{color:transparent;border-color:#D9D9D9}10%,100%{color:#02253D;border-color:#258EBB}}

/* numbers, steps, cards */
.steps4 li.on{border-color:#02253D}
.steps4 li.on .num,.rx-step[aria-selected="true"] .n{background:#EA811F;color:#02253D}
.steps4 .num{background:#F2F4F6;color:#02253D}
.steps-bar span{background:#EA811F}
.num-list>li::before{background:#E9F4F8;color:#1B6F94}
.ticks .i{background:#E9F4F8;color:#1B6F94}
.plan-feats .i,.cmp .yes{color:#1B6F94}
.note:nth-child(2){background:#E9F4F8}.note:nth-child(3){background:#FDF2E9}
.note .stamp{background:#FDF2E9;color:#A5560E}
.card .ci{background:#E9F4F8;color:#1B6F94}.card.mint .ci{background:#02253D;color:#6CD5EF}.card.coral .ci{background:#FDF2E9;color:#A5560E}
.aud a:nth-child(1) .ai{background:#E9F4F8;color:#1B6F94}.aud a:nth-child(2) .ai{background:#02253D;color:#6CD5EF}.aud a:nth-child(3) .ai{background:#FDF2E9;color:#A5560E}.aud a:nth-child(4) .ai{background:#E9F4F8;color:#1B6F94}.aud a:nth-child(5) .ai{background:#F2F4F6;color:#02253D}
.aud .more .i{color:#A5560E}
.ba-before{background:#FDF2E9;border-color:#F3D3B4}
.stack-flow li.gwv{background:#02253D}.stack-flow li.gwv .i{color:#6CD5EF}
.fx-tab[aria-selected="true"]{border-color:#02253D;box-shadow:4px 4px 0 #258EBB}
.plan.featured{border-color:#02253D;background:linear-gradient(180deg,#E9F4F8 0,#fff 45%);box-shadow:8px 8px 0 #258EBB}
.plan .pop{background:#02253D;color:#FAFAFA}
.res-grid>a.wide{background:#E9F4F8}.res-grid>a.mintc{background:#F2F4F6}
.res-grid .kind{color:#A5560E}
.topic input:checked+label{background:#02253D;color:#FAFAFA}
.cmp .grp th{background:#E9F4F8;color:#1B6F94}
thead th{background:#02253D;color:#FAFAFA}
.cmp thead small{color:#A8C0D2}
.vs-table td:nth-child(3){background:#E9F4F8}
.prose pre{background:#02253D;color:#FAFAFA}
.prose :not(pre)>code{background:#E9F4F8;border-color:#C5E3EF}
.prose .docs__note{background:#E9F4F8;border-color:#C5E3EF}
.prose .docs__warn{background:#FDF2E9;border-color:#F3D3B4}
.docs-nav a[aria-current="page"]{background:#E9F4F8;box-shadow:inset 3px 0 0 #EA811F}
.callout{border-left-color:#EA811F}.callout .i{color:#A5560E}
.callout.lav,.callout.mint{background:#E9F4F8;border-left-color:#258EBB}.callout.lav .i,.callout.mint .i{color:#1B6F94}
.form-status.ok{background:#E9F4F8;border-color:#C5E3EF}
.form-status.err{background:#FDF2E9;border-color:#F3D3B4;color:#A5560E}
.field.invalid .err{color:#A5560E}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#EA811F;background:#FDF2E9}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#258EBB;box-shadow:0 0 0 4px rgba(37,142,187,.18)}
.ask-launch{background:#02253D}
.ask-msg.me{background:#E9F4F8}
.lic-summary{background:#E9F4F8}
.eac-row.eac-pass{border-left-color:#258EBB}.eac-row.eac-warn{border-left-color:#6CD5EF}.eac-row.eac-fail{border-left-color:#EA811F}
.eac-pass .eac-badge{background:#E9F4F8;color:#1B6F94}.eac-warn .eac-badge{background:#F2F4F6;color:#02253D}.eac-fail .eac-badge{background:#FDF2E9;color:#A5560E}
.pdf-sign .ci{background:#E9F4F8;color:#1B6F94}
.side-steps{background:#F2F4F6}

/* Dark Blue bands */
.section.deep,.cta-band{background:#02253D}
.section.deep::before,.section.deep::after,.cta-band::before,.cta-band::after{border-color:#122F46}
.section.deep h2 em,.cta-band h2 em,.section.deep .eyebrow{color:#6CD5EF}
.section.deep .eyebrow::before,.section.deep .eyebrow::after{background:#EA811F}
.section.deep .lead,.section.deep p:not(.aud p),.cta-band .lead,.cta-band .small{color:#A8C0D2}
.section.deep .aud a p{color:#44546A}
.section.deep .aud a:hover{box-shadow:8px 8px 0 #6CD5EF}
.cta-band .btn-primary{background:#EA811F;color:#02253D}
.cta-band .btn-ghost{color:#FAFAFA;border-color:#FAFAFA}
.cta-band .btn-ghost:hover{background:#FAFAFA;color:#02253D}
.cta-art .env{border-color:#02253D;color:#1B6F94}

/* sketch map: logo squares as markers */
.dd-node,.dd-center{border-color:#02253D}
.dd-center{box-shadow:6px 6px 0 #258EBB}
.dd-center span{color:#A5560E}
.dd-lines line{stroke:#02253D}
.dd-ic{background:#258EBB;color:#FAFAFA;border-color:#02253D}
.dd-node:nth-child(3n+2) .dd-ic{background:#6CD5EF;color:#02253D}
.dd-node:nth-child(3n) .dd-ic{background:#EA811F;color:#02253D}

/* the logo's three squares as an eyebrow and divider motif */
.sq3{display:inline-flex;gap:4px;vertical-align:middle}
.sq3 i{width:8px;height:8px;display:block}
.sq3 i:nth-child(1){background:#258EBB}.sq3 i:nth-child(2){background:#6CD5EF}.sq3 i:nth-child(3){background:#EA811F}

/* footer with the Rubix wordmark */
.site-footer{background:#F2F4F6}
.footer-rubix{display:flex;align-items:center;gap:12px;margin-top:18px}
.footer-rubix img{width:150px;height:auto;display:block}
.footer-rubix span{font-size:.82rem;color:#595959}
.site-footer ul a:hover{color:#1B6F94}
/* orange scope: at most two orange actions per page (hero or form, plus the closing band) */
.site-header .btn-primary,.section:not(.cta-wrap) .btn-primary,.section .plan-cta .btn-primary{background:#02253D;color:#FAFAFA;box-shadow:0 10px 20px -12px rgba(2,37,61,.6)}
.site-header .btn-primary:hover,.section:not(.cta-wrap) .btn-primary:hover{background:#122F46;color:#FAFAFA;filter:none}
.section .form-card .btn-primary,.lp-form .btn-primary{background:#EA811F;color:#02253D}
.lp-header .btn-primary{background:#02253D;color:#FAFAFA}
.sticky-cta .btn-primary{background:#EA811F;color:#02253D}
.sticky-cta{background:#02253D}
