/* Solution Driven Technology : shared theme.
   Loaded after style.css on every page that carries body.ui. Holds the site theme that began on the
   Automations hub: colour tokens, the Anton statement headline, rounded buttons and cards, mono labels,
   the dark navy section with its dot grid and blue glow, the demo window, the stats strip and the blue
   call-to-action panel. Every class starts with ui-, and every rule that recolours an existing element
   is scoped to body.ui, so a page is only affected once it opts in. */

/* ===== Fonts: Anton for statement headlines only (SIL Open Font License, latin subset) ===== */
@font-face{font-family:"Anton";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/anton-latin.woff2") format("woff2")}

/* ===== Tokens ===== */
.ui{
  --ui-navy:#0A1733;--ui-navy-2:#101F42;--ui-blue:#2B49E8;--ui-blue-h:#1E36B8;--ui-lb:#9FB0FF;--ui-lb2:#7D93FF;
  --ui-txt:#3A4666;--ui-mute:#5B6785;--ui-bd:#E6EAF2;--ui-bg:#F6F8FB;--ui-live:#34D399;--ui-flag:#F59E0B;
  --ui-r:20px;--ui-r-sm:12px;
  --statement:"Anton","Hanken Grotesk",system-ui,sans-serif;
  background:var(--ui-bg);
}
.ui main{color:var(--ui-txt)}
/* 1200px of content: the 36px side gutters sit outside it, which also lines the page up with the header */
.ui main .wrap,.ui .ui-hero .wrap,.ui .ui-stats .wrap{max-width:1272px}

/* ===== Statement headline: Anton, all caps, tight. Once or twice per page at most. ===== */
.ui .ui-statement,.ui-statement{font-family:var(--statement);font-weight:400!important;font-synthesis:none;text-transform:uppercase;letter-spacing:.01em!important;line-height:.95!important;font-size:clamp(64px,var(--fit,9vw),172px);max-width:none;text-wrap:initial}
/* Each statement sets --fit in cqw so its longest line reaches the right edge of its container; the ui-br break holds that line split on desktop */
.ui-br{display:inline}
/* Two-tone titles: the last word or phrase of a section title in the accent colour */
.ui-accent{color:var(--ui-blue)}
.ui-dark .ui-accent,.ui-cta-panel .ui-accent{color:var(--ui-lb)}

/* ===== Dark section: navy, dot grid, blue glow ===== */
.ui-dark{position:relative;overflow:hidden;color:#fff;background-color:var(--ui-navy);background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1.5px);background-size:26px 26px}
.ui-dark a:focus-visible,.ui-cta a:focus-visible{outline-color:#fff}
.ui-dark p{color:rgba(255,255,255,.76)}
.ui-dark h2,.ui-dark h3,.ui .ui-dark .sec-head h2{color:#fff}
.ui-glow::before{content:"";position:absolute;left:50%;top:-320px;width:900px;height:640px;margin-left:-450px;background:radial-gradient(closest-side,rgba(43,73,232,.35),transparent 76%);pointer-events:none}
.ui-glow>.wrap{position:relative}

/* ===== Small mono labels ===== */
.ui-label{display:inline-block;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ui-blue)}
.ui-label .num{opacity:.6;margin-right:10px}
.ui-dark .ui-label{color:var(--ui-lb)}

/* ===== Buttons ===== */
.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border:1px solid transparent;border-radius:var(--ui-r-sm);font-family:var(--body);font-size:16px;font-weight:700;letter-spacing:-.005em;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.ui-btn svg{width:16px;height:16px;transition:transform .25s cubic-bezier(.2,.7,.3,1)}
.ui-btn:hover svg{transform:translateX(4px)}
.ui-btn-primary{background:var(--ui-blue);color:#fff}
.ui-btn-primary:hover{background:var(--ui-blue-h)}
.ui-btn-ghost{border-color:rgba(255,255,255,.3);color:#fff}
.ui-btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.ui-btn-white{background:#fff;color:var(--ui-blue)}
.ui-btn-white:hover{background:#E9EDFF;color:var(--ui-blue-h)}
/* ghost on a light background */
.ui-btn-outline{border-color:var(--ui-bd);color:var(--ui-navy);background:#fff}
.ui-btn-outline:hover{border-color:var(--ui-blue);color:var(--ui-blue)}
.ui-btn:focus-visible{outline:2px solid var(--ui-blue);outline-offset:3px}
.ui-dark .ui-btn:focus-visible{outline-color:#fff}

/* ===== Hero ===== */
.ui-hero{padding-top:calc(108px + env(safe-area-inset-top,0px))}
.ui-hero .breadcrumb{padding-top:0}
.ui-hero .breadcrumb,.ui-hero .breadcrumb a{color:rgba(255,255,255,.62)}
.ui-hero .breadcrumb a:hover{color:#fff}
.ui-hero .breadcrumb span{color:rgba(255,255,255,.3)}
.ui-hero .breadcrumb span[aria-current]{color:rgba(255,255,255,.8)}
.ui-hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:72px;align-items:center;padding-top:68px;padding-bottom:128px}
.ui-hero-grid.ui-hero-text{grid-template-columns:minmax(0,1fr)}
.ui-hero-grid.ui-hero-text>div{max-width:760px}
.ui-hero h1{margin-top:22px;font-size:clamp(2.6rem,5.7vw,4.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.03;color:#fff;text-wrap:balance}
.ui-hero h1:first-child{margin-top:0}
.ui-grad{color:var(--ui-lb)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .ui-grad{background:linear-gradient(90deg,#7D93FF,#C3CDFF);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
}
.ui-lede{margin-top:26px;max-width:40ch;font-size:clamp(1.12rem,1.6vw,1.25rem);line-height:1.55;color:rgba(255,255,255,.78)}
.ui-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.ui-hero-note{margin-top:34px;max-width:62ch;font-size:15.5px;line-height:1.62;color:rgba(255,255,255,.66)}
.ui-hero .hero-proof{color:rgba(255,255,255,.66);margin-top:34px}
.ui-hero .hero-proof .stars{color:var(--ui-flag)}

/* Hero art (the homepage tree): the same drawing and timing, white on navy, with the blue glow behind it */
.ui-hero-art{position:relative;min-width:0}
.ui-hero-art::before{content:"";position:absolute;inset:-30% -24%;background:radial-gradient(closest-side,rgba(43,73,232,.42),rgba(43,73,232,.16) 55%,transparent 82%);pointer-events:none}
.ui-hero-art .hero-art{position:relative;margin-left:auto}
.ui-hero .tree{color:#fff}

/* ===== Demo window ===== */
.ui-demo-wrap{position:relative;min-width:0}
.ui-demo-wrap::before{content:"";position:absolute;inset:-48% -34%;background:radial-gradient(closest-side,rgba(43,73,232,.38),rgba(43,73,232,.16) 55%,transparent 82%);pointer-events:none}
.ui-demo{position:relative;background:#fff;border-radius:var(--ui-r);overflow:hidden;color:var(--ui-navy);box-shadow:0 44px 90px -36px rgba(0,0,0,.6)}
.ui-demo-bar{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--ui-bg);border-bottom:1px solid var(--ui-bd)}
.ui-dots{display:flex;gap:6px}
.ui-dots i{width:9px;height:9px;border-radius:50%;background:#D3DAE8}
.ui-demo-title{font-size:13.5px;font-weight:600;color:var(--ui-mute)}
.ui-tag{margin-left:auto;padding:4px 11px;border-radius:999px;background:rgba(43,73,232,.1);font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ui-blue)}
.ui-demo-head{display:flex;align-items:center;gap:14px;padding:22px 24px 10px}
.ui-avatar{flex:none;width:44px;height:44px;border-radius:var(--ui-r-sm);display:grid;place-items:center;background:var(--ui-navy);color:#fff;font-size:14px;font-weight:700;letter-spacing:.02em}
.ui-demo-head b{display:block;font-size:1.08rem;font-weight:800;letter-spacing:-.015em;line-height:1.2}
.ui-dark .ui-demo p{color:var(--ui-mute)}
.ui-demo-head small{display:block;margin-top:3px;font-size:13.5px;color:var(--ui-mute)}
.ui-status{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(52,211,153,.12);font-size:13px;font-weight:700;color:#0B7A52;white-space:nowrap}
.ui-status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ui-live)}
.ui-feed{list-style:none;margin:0;padding:6px 24px 10px}
.ui-feed li{display:grid;grid-template-columns:24px 150px minmax(0,1fr);gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--ui-bd)}
.ui-ck{width:24px;height:24px}
.ui-ck circle{fill:rgba(43,73,232,.1)}
.ui-ck path{fill:none;stroke:var(--ui-blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ui-feed .ui-hit .ui-ck circle{fill:var(--ui-blue)}
.ui-feed .ui-hit .ui-ck path{stroke:#fff}
.ui-feed .ui-flag .ui-ck circle{fill:rgba(245,158,11,.14)}
.ui-feed .ui-flag .ui-ck path{stroke:#B45309}
.ui-feed-k{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ui-mute)}
.ui-feed-t{font-size:15px;font-weight:600;line-height:1.35;color:var(--ui-navy)}
.ui-demo-note,.ui-dark .ui-demo-note{color:var(--ui-mute);padding:12px 24px 14px;background:var(--ui-bg);border-top:1px solid var(--ui-bd);font-size:12.5px;color:var(--ui-mute)}

/* ===== Stats strip: white rounded card ===== */
.ui-stats ul{list-style:none;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:30px 14px;background:#fff;border:1px solid var(--ui-bd);border-radius:var(--ui-r)}
.ui-stats li{padding:4px 20px;border-left:1px solid var(--ui-bd)}
.ui-stats li:first-child{border-left:none}
.ui-stats .n{display:block;font-size:clamp(1.9rem,3vw,2.4rem);font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--ui-navy);white-space:nowrap}
.ui-stats .plus{color:var(--ui-blue)}
.ui-stats .l{display:block;margin-top:12px;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.1em;line-height:1.5;text-transform:uppercase;color:var(--ui-mute)}
.ui-stats.ui-overlap{position:relative;z-index:2;margin-top:-72px}

/* ===== Sections and headings ===== */
.ui-sec{padding:128px 0;scroll-margin-top:60px}
.ui-sec.ui-white{background:#fff;border-top:1px solid var(--ui-bd);border-bottom:1px solid var(--ui-bd)}
.ui-head{max-width:820px;margin-bottom:56px}
.ui-head.ui-c{margin-left:auto;margin-right:auto;text-align:center}
.ui-head h2{margin-top:16px;font-size:clamp(2rem,4.2vw,3.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.06;color:var(--ui-navy)}
.ui-head h2:first-child{margin-top:0}
.ui-dark .ui-head h2{color:#fff}
.ui-head p{margin-top:22px;font-size:clamp(1.06rem,1.4vw,1.18rem);line-height:1.6;color:var(--ui-txt)}
.ui-head.ui-c p{max-width:68ch;margin-left:auto;margin-right:auto}
.ui-dark .ui-head p{color:rgba(255,255,255,.76)}

/* ===== Cards ===== */
.ui-card{position:relative;display:flex;flex-direction:column;padding:28px;background:#fff;border:1px solid var(--ui-bd);border-radius:var(--ui-r);scroll-margin-top:110px;transition:translate .3s cubic-bezier(.2,.7,.3,1),border-color .3s,box-shadow .3s}
.ui-card:hover,.ui-card:focus-within{border-color:var(--ui-blue);box-shadow:0 28px 54px -30px rgba(43,73,232,.5)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.ui-card:hover{translate:0 -4px}}
.ui-card h3{font-size:1.22rem;font-weight:800;letter-spacing:-.022em;line-height:1.2;color:var(--ui-navy);text-wrap:balance}
.ui-card p{font-size:.98rem;line-height:1.55;color:var(--ui-txt)}
.ui-ic{flex:none;width:48px;height:48px;border-radius:var(--ui-r-sm);display:grid;place-items:center;background:rgba(43,73,232,.08);color:var(--ui-blue)}
.ui-ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ui-num{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ui-mute)}
.ui-pill{padding:5px 12px;border-radius:999px;background:#EEF1FF;font-size:13px;font-weight:700;line-height:1.3;color:var(--ui-blue);white-space:nowrap}
.ui-live{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ui-mute);white-space:nowrap}
.ui-live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ui-live)}
.ui-view{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:15px;font-weight:700;color:var(--ui-navy);transition:color .3s}
.ui-view svg{width:16px;height:16px;transition:transform .3s cubic-bezier(.2,.7,.3,1)}
.ui-card:hover .ui-view,.ui-card:focus-within .ui-view{color:var(--ui-blue)}
.ui-card:hover .ui-view svg{transform:translateX(5px)}
/* Cards on the dark band */
.ui-pcard{display:flex;flex-direction:column;padding:32px;border:1px solid rgba(255,255,255,.14);border-radius:var(--ui-r);background:rgba(255,255,255,.04);scroll-margin-top:110px}
.ui-pcard .ui-ic{margin-bottom:26px;background:rgba(159,176,255,.14);color:var(--ui-lb)}
.ui-pcard h3{font-size:1.24rem;font-weight:800;letter-spacing:-.022em;line-height:1.2;color:#fff}
.ui-pcard h3+p{margin-top:12px;font-size:.98rem;line-height:1.62;color:rgba(255,255,255,.76)}
.ui-pcard.ui-key{border-color:var(--ui-blue);background:rgba(43,73,232,.16);box-shadow:inset 0 0 0 1px var(--ui-blue)}
.ui-pcard a{color:#fff;text-decoration:underline;text-decoration-color:rgba(159,176,255,.5);text-underline-offset:4px}
.ui-pcard a:hover{text-decoration-color:#fff}
.ui-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ui-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
/* Text links */
.ui-tlink{font-weight:700;color:var(--ui-blue);text-decoration:underline;text-decoration-color:rgba(43,73,232,.35);text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}
.ui-tlink:hover{color:var(--ui-blue-h);text-decoration-color:var(--ui-blue-h)}

/* ===== Call-to-action panel ===== */
.ui-cta{padding:128px 0}
.ui-cta-panel{container-type:inline-size;position:relative;overflow:hidden;padding:120px 40px 104px;border-radius:28px;background:var(--ui-blue);text-align:center;color:#fff}
.ui-cta-panel::before{content:"";position:absolute;left:50%;top:-340px;width:1000px;height:620px;margin-left:-500px;background:radial-gradient(closest-side,rgba(255,255,255,.3),transparent 74%);pointer-events:none}
.ui-cta-panel>*{position:relative}
.ui-cta-panel h2{max-width:22ch;margin:0 auto;color:#fff}
.ui-cta-panel h2.ui-statement{max-width:none}
.ui-cta-panel h2:not(.ui-statement){font-size:clamp(2rem,4.4vw,3.3rem);font-weight:800;letter-spacing:-.03em;line-height:1.06}
.ui-cta-panel p{max-width:52ch;margin:56px auto 38px;font-size:1.15rem;line-height:1.55;color:rgba(255,255,255,.9)}
.ui-cta-panel p a{font-weight:700;color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.6);text-underline-offset:4px}
.ui-cta-panel p a:hover{text-decoration-color:#fff}
.ui-cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}

/* ===== Motion: demo rows, live dot. Off for reduced motion. ===== */
@media(prefers-reduced-motion:no-preference){
  .ui-feed li{opacity:0;animation:ui-up .6s cubic-bezier(.2,.7,.3,1) forwards;animation-delay:calc(.5s + var(--i,0)*.55s)}
  .ui-live::before,.ui-status::before{animation:ui-pulse 2.4s ease-out infinite}
}
@keyframes ui-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes ui-pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.55)}70%,100%{box-shadow:0 0 0 7px rgba(52,211,153,0)}}
@media(prefers-reduced-motion:reduce){
  .ui-card,.ui-view,.ui-view svg,.ui-btn,.ui-btn svg{transition:none}
}

/* ===== Shared header over the dark hero: white emblem, white text, rounded controls, until the page scrolls ===== */
.ui .logo-mark-light{display:none}
.js .ui #hdr:not(.scrolled) .logo-mark-light{display:block}
.js .ui #hdr:not(.scrolled) .logo-mark-dark{display:none}
.js .ui #hdr:not(.scrolled) .logo-text .a{color:#fff}
.js .ui #hdr:not(.scrolled) .logo-text .b{color:rgba(255,255,255,.6)}
.js .ui #hdr:not(.scrolled) .dd summary{color:#fff}
.js .ui #hdr:not(.scrolled) .dd summary:hover,.js .ui #hdr:not(.scrolled) .dd[open] summary{color:#fff;background:rgba(255,255,255,.12)}
.js .ui #hdr:not(.scrolled) .nav-actions .cta{background:var(--ui-blue)}
.js .ui #hdr:not(.scrolled) .nav-actions .cta:hover{background:var(--ui-blue-h)}
.js .ui #hdr:not(.scrolled) .menu-btn{color:#fff;border-color:rgba(255,255,255,.32)}
.js .ui #hdr:not(.scrolled) .menu-btn:hover{border-color:#fff}
.ui .nav-actions .cta,.ui .menu-btn,.ui .dd summary,.ui .dd-panel,.ui .menu-close,.ui .menu-cta,.ui .skip{border-radius:var(--ui-r-sm)}
.ui .dd-panel{overflow:hidden}
html:not(.js) .ui #hdr{background:var(--ui-bg);border-bottom:1px solid var(--ui-bd)}

/* ===== Existing page sections restyled for the theme (scoped to body.ui until every page is converted) ===== */
/* Homepage: Sound familiar tiles become white rounded cards on the light paper */
.ui .familiar{padding:110px 0 100px}
.ui .familiar-head h2{font-size:clamp(2rem,4.2vw,3.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.06;color:var(--ui-navy)}
.ui .sf{background:#fff;color:var(--ui-navy);border:1px solid var(--ui-bd);border-radius:var(--ui-r);overflow:hidden}
.ui .sf:hover,.ui .sf:has(summary:focus-visible){border-color:var(--ui-blue);box-shadow:0 28px 54px -30px rgba(43,73,232,.5)}
.ui .sf summary{color:var(--ui-navy)}
.ui .sf summary:focus-visible .sf-q{text-decoration-color:var(--ui-blue)}
.ui .sf-i::before,.ui .sf-i::after{background:var(--ui-blue)}
.ui .sf-body p{color:var(--ui-txt)}
.ui .sf-body a{color:var(--ui-blue);border-bottom-color:rgba(43,73,232,.35)}
.ui .sf-body a:hover,.ui .sf-body a:focus-visible{color:var(--ui-blue-h);border-bottom-color:var(--ui-blue-h)}
/* Homepage: What we do cards */
.ui .cards-band{padding:0 0 110px}
.ui .cards-band h2{font-size:clamp(2rem,4.2vw,3.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.06;color:var(--ui-navy)}
.ui .card{background:#fff;border:1px solid var(--ui-bd);border-radius:var(--ui-r);padding:32px;transition:translate .3s cubic-bezier(.2,.7,.3,1),border-color .3s,box-shadow .3s}
.ui .card:hover,.ui .card:focus-within{border-color:var(--ui-blue);box-shadow:0 28px 54px -30px rgba(43,73,232,.5);transform:none}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.ui .card:hover{translate:0 -4px}}
.ui .card-outcome{font-weight:800;letter-spacing:-.024em;color:var(--ui-navy)}
.ui .card-how{color:var(--ui-txt)}
.ui .card-how a{color:var(--ui-blue);font-weight:600;text-decoration:underline;text-decoration-color:rgba(43,73,232,.35);text-underline-offset:3px}
.ui .card-how a:hover{color:var(--ui-blue-h)}
.ui .card-link{color:var(--ui-navy);border:0;padding:0;font-weight:700;font-size:15px}
.ui .card-link:hover{color:var(--ui-blue)}
/* Homepage: Why SDT with the statement headline and the white stats strip */
.ui .why4{padding:120px 0 0}
.ui .why4 .wrap{container-type:inline-size}
.ui .why4-grid{grid-template-columns:minmax(0,1fr);padding-bottom:72px;gap:56px}
.ui .why4 h2{color:var(--ui-navy)}
.ui .why4 .why-copy{max-width:none;columns:2;column-gap:64px}
.ui .why4 .why-copy p{break-inside:avoid}
.ui .why-copy p{color:var(--ui-txt);font-size:1.08rem}
.ui .why-copy a{color:var(--ui-blue);font-weight:700;text-decoration:underline;text-decoration-color:rgba(43,73,232,.35);text-underline-offset:4px}
.ui .why-copy a:hover{color:var(--ui-blue-h)}
.ui .stats{background:transparent;color:var(--ui-navy);padding:0 0 110px}
.ui .stats-grid{padding:30px 14px;background:#fff;border:1px solid var(--ui-bd);border-radius:var(--ui-r)}
.ui .stat{padding:4px 20px;border-right:0;border-left:1px solid var(--ui-bd)}
.ui .stat:first-child{border-left:none;padding-left:20px}
.ui .stat .n{font-size:clamp(1.9rem,3vw,2.4rem);font-weight:800;color:var(--ui-navy);white-space:nowrap}
.ui .stat .n .plus{color:var(--ui-blue);font-weight:800}
.ui .stat .l{font-size:11.5px;letter-spacing:.1em;line-height:1.5;color:var(--ui-mute)}
/* Homepage: What SDT has built, the one dark band */
.ui .built{padding:128px 0}
.ui .built .sec-head{margin-bottom:56px}
.ui .built .sec-head h2{font-size:clamp(2rem,4.2vw,3.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.06;margin-top:0;max-width:22ch}
.ui .built .sec-head p{color:rgba(255,255,255,.76);margin-top:18px}
.ui .built-grid,.ui .built-grid.three{gap:24px;background:transparent;border:0}
.ui .built-cell{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);border-radius:var(--ui-r);padding:32px;transition:border-color .3s,box-shadow .3s}
.ui .built-cell:hover,.ui .built-cell:focus-within{border-color:var(--ui-lb2);box-shadow:0 28px 54px -30px rgba(43,73,232,.6)}
.ui .built-cell h3{font-weight:800;letter-spacing:-.022em;font-size:1.3rem;margin:0 0 12px}
.ui .built-cell h3 a{text-decoration:underline;text-decoration-color:rgba(159,176,255,.45);text-underline-offset:4px}
.ui .built-cell h3 a:hover{color:var(--ui-lb);text-decoration-color:var(--ui-lb)}
/* Detail pages: question and answer rows, the eight checks as cards, the compliance note, the FAQ band */
.ui .detail-qa{padding:48px 0;border-top:1px solid var(--ui-bd)}
.ui .detail-qa:first-of-type{border-top:0}
.ui .detail-qa h2{color:var(--ui-navy);font-weight:800;letter-spacing:-.024em}
.ui .detail-qa p{color:var(--ui-txt)}
.ui .detail-qa a{color:var(--ui-blue);font-weight:600;text-decoration:underline;text-decoration-color:rgba(43,73,232,.35);text-underline-offset:3px}
.ui .detail-qa a:hover{color:var(--ui-blue-h)}
.ui .audit-list{border-top:0}
.ui .audit-list li{border-bottom:1px solid var(--ui-bd);color:var(--ui-txt)}
.ui .audit-list li b{color:var(--ui-navy)}
.ui .audit-list li::before{border-radius:8px;border-color:var(--ui-bd);background:#fff;color:var(--ui-blue)}
.ui .autos{background:transparent;border:0;padding:24px 0 96px}
.ui .auto-list{border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ui .auto-row{display:flex;flex-direction:column;gap:10px;padding:28px;background:#fff;border:1px solid var(--ui-bd);border-radius:var(--ui-r);transition:translate .3s cubic-bezier(.2,.7,.3,1),border-color .3s,box-shadow .3s}
.ui .auto-row:hover{background:#fff;padding:28px;border-color:var(--ui-blue);box-shadow:0 28px 54px -30px rgba(43,73,232,.5)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.ui .auto-row:hover{translate:0 -4px}}
.ui .auto-row .idx{display:block;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.14em;color:var(--ui-blue)}
.ui .auto-row h3{font-weight:800;letter-spacing:-.022em;color:var(--ui-navy);font-size:1.18rem}
.ui .auto-row p{color:var(--ui-txt);margin:0}
.ui .pull{margin-top:56px;border-left:3px solid var(--ui-blue);color:var(--ui-navy)}
.ui .comply{background:transparent;border:0;padding:0 0 64px}
.ui .comply .wrap>*{position:relative}
.ui .comply .wrap{position:relative;max-width:1272px;padding:28px 36px;flex-wrap:nowrap}
.ui .comply .wrap::before{content:"";position:absolute;inset:0 36px;background:#fff;border:1px solid var(--ui-bd);border-radius:var(--ui-r)}
.ui .comply .badge{border-radius:var(--ui-r-sm);border-color:transparent;background:rgba(43,73,232,.08);color:var(--ui-blue);margin-left:28px}
.ui .comply p{color:var(--ui-txt);padding-right:28px}
.ui .comply b{color:var(--ui-navy)}
.ui .sec{padding:96px 0}
.ui .sec-head{margin-bottom:48px}
.ui .sec-head h2{font-size:clamp(2rem,4.2vw,3.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.06;color:var(--ui-navy);margin-top:16px}
.ui .sec-head p{color:var(--ui-txt)}
.ui .carson-form{background:#fff;border:1px solid var(--ui-bd);border-radius:var(--ui-r);padding:24px;overflow:hidden}
.ui .faq-band{padding:128px 0;border:0}
.ui .faq-band:not(.ui-dark){background:transparent}
.ui .faq-band h2{font-size:clamp(2rem,4.2vw,3.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.06;margin-bottom:40px}
.ui .faq-band .faq-list{border-top:0}
.ui .faq{border-bottom:0;margin-bottom:12px;padding:0 28px;background:#fff;border:1px solid var(--ui-bd);border-radius:var(--ui-r);transition:border-color .3s}
.ui .faq:hover,.ui .faq[open]{border-color:var(--ui-blue)}
.ui .faq summary{color:var(--ui-navy);padding:24px 0}
.ui .faq summary .plus{border-radius:8px;border-color:var(--ui-bd)}
.ui .faq[open] summary .plus{background:var(--ui-blue);border-color:var(--ui-blue)}
.ui .faq .answer{color:var(--ui-txt)}
/* FAQ band as the dark band */
.ui .faq-band.ui-dark h2{color:#fff}
.ui .faq-band.ui-dark .faq{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14)}
.ui .faq-band.ui-dark .faq:hover,.ui .faq-band.ui-dark .faq[open]{border-color:var(--ui-lb2)}
.ui .faq-band.ui-dark .faq summary{color:#fff}
.ui .faq-band.ui-dark .faq summary:hover{color:var(--ui-lb)}
.ui .faq-band.ui-dark .faq summary .plus{border-color:rgba(255,255,255,.3)}
.ui .faq-band.ui-dark .faq summary .plus::before,.ui .faq-band.ui-dark .faq summary .plus::after{background:#fff}
.ui .faq-band.ui-dark .faq[open] summary .plus{background:var(--ui-lb2);border-color:var(--ui-lb2)}
.ui .faq-band.ui-dark .faq .answer{color:rgba(255,255,255,.76)}

/* ===== Smaller screens ===== */
@media(max-width:1000px){
  .ui-hero-grid{grid-template-columns:minmax(0,1fr);gap:52px;padding-top:44px;padding-bottom:110px}
  .ui-demo-wrap{max-width:560px}
  .ui-hero-art .hero-art{max-width:440px;margin:0 auto}
  .ui-stats ul,.ui .stats-grid.five{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 0}
  .ui-stats li:nth-child(4),.ui .stats-grid.five .stat:nth-child(4){border-left:none}
  .ui .stat{border-right:0;padding:4px 20px}
  .ui .stat:nth-child(odd){border-right:0;padding-right:20px}
  .ui-grid-3{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:900px){
  .ui-sec,.ui .built,.ui .faq-band{padding:84px 0}
  .ui-head{margin-bottom:40px}
  .ui-cta{padding:84px 0}
  .ui-cta-panel{padding:72px 26px 64px;border-radius:22px}
  .ui-cta-panel p{margin-top:36px}
  .ui .familiar{padding:84px 0 72px}
  .ui .cards-band{padding:0 0 84px}
  .ui .why4{padding:84px 0 0}
  .ui .why4-grid{padding-bottom:48px}
  .ui .why4 .why-copy{columns:1}
  .ui .why4-grid{gap:36px}
  .ui .stats{padding-bottom:84px}
  .ui .auto-list{grid-template-columns:minmax(0,1fr)}
  .ui .autos{padding:16px 0 72px}
  .ui .comply .wrap{flex-wrap:wrap;gap:18px}
  .ui .comply p{padding-left:28px}
}
@media(max-width:760px){
  .ui-grid-2{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:699px){
  .ui-br{display:none}
  .ui-hero-grid{gap:18px;padding-top:0;padding-bottom:64px}
  .ui-hero-art{order:-1;margin:0 auto 10px}
  .ui-hero-art::before{inset:-20% -30%}
  .ui-hero-art .hero-art{height:var(--tree-h,160px);width:calc(var(--tree-h,160px) * 960 / 1085);max-width:none;margin:0 auto;aspect-ratio:auto}
  .ui-hero h1{font-size:clamp(1.8rem,8vw,2.4rem)}
  .ui-lede{margin-top:16px;font-size:1rem;line-height:1.55}
  .ui-btns{margin-top:20px;gap:10px}
  .ui-btns .ui-btn{flex:1 1 auto;min-height:50px;padding:0 16px;font-size:15px}
  .ui-hero .hero-proof{margin-top:22px}
  .ui-hero-note{margin-top:22px;font-size:14.5px}
}
@media(max-width:600px){
  .ui main .wrap,.ui .ui-hero .wrap{max-width:none}
  .ui-stats li{padding:2px 16px}
  .ui-stats ul,.ui .stats-grid.five{grid-template-columns:repeat(2,minmax(0,1fr));padding:24px 6px}
  .ui-stats li:nth-child(odd),.ui .stats-grid.five .stat:nth-child(odd){border-left:none}
  .ui-stats li:nth-child(4),.ui .stats-grid.five .stat:nth-child(4){border-left:1px solid var(--ui-bd)}
  .ui-stats li:last-child,.ui .stats-grid.five .stat:last-child{grid-column:1/-1}
  .ui .stats-grid.five .stat:first-child{grid-column:auto}
  .ui-feed li{grid-template-columns:24px 120px minmax(0,1fr);gap:10px}
  .ui-demo-head{padding:18px 18px 8px;flex-wrap:wrap}
  .ui-status{margin-left:0;width:100%;justify-content:flex-start;margin-top:4px}
  .ui-feed{padding:4px 18px 8px}
  .ui-demo-note{padding:12px 18px 14px}
  .ui-card,.ui .card,.ui .auto-row,.ui-pcard,.ui .built-cell{padding:24px}
  .ui .faq{padding:0 20px}
  .ui .comply .wrap{padding:24px 20px}
  .ui .comply .wrap::before{inset:0 20px}
  .ui .comply .badge{margin-left:16px}
  .ui .comply p{padding-left:16px;padding-right:16px}
  .ui .carson-form{padding:12px}
}

/* ===== Text-only hero (every page except the homepage tree and the two demo cards) ===== */
.ui-hero-text .ui-lede{max-width:62ch}
.ui-hero-hook{margin:30px 0 0;max-width:24ch;font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:800;letter-spacing:-.025em;line-height:1.12;color:#fff}
.ui-hero-tall .ui-hero-grid{padding-bottom:176px}
.ui-hero .au-meta{margin-top:24px}
.ui-dark .au-pill{background:rgba(159,176,255,.16);color:#C3CDFF}
.ui-dark .au-live{color:rgba(255,255,255,.78)}
.ui-sec+.ui-cta,.faq-band:not(.ui-dark)+.ui-cta,.sec:not(.ui-dark)+.ui-cta{padding-top:0}
.ui-cta-plain .wrap{container-type:inline-size}

/* Eyebrows on theme pages */
.ui .eyebrow{color:var(--ui-blue)}
.ui .eyebrow::before{background:var(--ui-blue)}
.ui .eyebrow .num{color:var(--ui-mute)}
.ui .ui-dark .eyebrow{color:var(--ui-lb)}
.ui .ui-dark .eyebrow::before{background:var(--ui-lb)}
.ui .ui-dark .eyebrow .num{color:rgba(255,255,255,.5)}
.ui .ui-dark .sec-head p{color:rgba(255,255,255,.76)}

/* Detail pages: question rows, and one row as the dark band (About) */
.ui .detail-qa .hub-points{border-top:0}
.ui .detail-qa .hub-points li{color:var(--ui-txt);border-color:var(--ui-bd)}
.ui .detail-qa .hub-points li::before{background:var(--ui-blue)}
.ui .detail-qa .founder-photo img{border:1px solid var(--ui-bd);border-radius:var(--ui-r)}
.ui .detail-qa.ui-dark{padding:112px 0;border-top:0}
.ui .detail-qa.ui-dark h2{color:#fff}
.ui .detail-qa.ui-dark p{color:rgba(255,255,255,.78)}
.ui .detail-qa.ui-dark a{color:#fff;text-decoration-color:rgba(159,176,255,.5)}
.ui .detail-qa.ui-dark a:hover{color:var(--ui-lb)}
.ui .detail-qa.ui-dark .hub-points li{color:rgba(255,255,255,.78);border-color:rgba(255,255,255,.14)}
.ui .detail-qa.ui-dark .hub-points li::before{background:var(--ui-lb)}
.ui .detail-qa.ui-dark+.ui-cta{padding-top:128px}

/* Audit page bands */
.ui .audit-band{padding:96px 0}
.ui .audit-band h2{color:var(--ui-navy);font-weight:800;letter-spacing:-.024em}
.ui .audit-band p,.ui .audit-intro{color:var(--ui-txt)}
.ui .audit-band.ui-dark h2{color:#fff}
.ui .audit-band.ui-dark p{color:rgba(255,255,255,.78)}
.ui .ui-dark .audit-list li{color:rgba(255,255,255,.78);border-color:rgba(255,255,255,.14)}
.ui .ui-dark .audit-list li b{color:#fff}
.ui .ui-dark .audit-list li::before{background:transparent;border-color:rgba(255,255,255,.3);color:var(--ui-lb)}
.ui .audit-example{margin-top:28px}
.ui .audit-example a{color:#fff;border-bottom-color:var(--ui-lb)}
.ui .audit-example a:hover,.ui .audit-example a:focus-visible{color:var(--ui-lb)}

/* Hub pages: tabs down the left as rounded buttons, the open panel as a white card */
.ui .hub{padding:72px 0 24px}
.ui .hub-tab{border:1px solid var(--ui-bd);border-radius:var(--ui-r-sm);background:#fff;color:var(--ui-navy);margin-bottom:8px;padding:14px 18px;font-weight:600}
.ui .hub-tab:hover{border-color:var(--ui-blue);color:var(--ui-blue)}
.ui .hub-tab:focus-visible{outline-color:var(--ui-blue)}
.ui .hub-tab:target,.ui .hub:not(:has(.hub-tab:target)) .hub-tab:first-of-type{background:var(--ui-navy);border-color:var(--ui-navy);color:#fff;font-weight:700}
.ui .hub-panel{background:#fff;border:1px solid var(--ui-bd);border-radius:var(--ui-r);padding:40px}
.ui .hub-panel h2{color:var(--ui-navy);font-weight:800;letter-spacing:-.028em}
.ui .hub-situation{color:var(--ui-txt)}
.ui .hub-outcome,.ui .hub-does{color:var(--ui-navy)}
.ui .hub-cap{color:var(--ui-blue)}
.ui .hub-points,.ui .hub-steps{border-top:0}
.ui .hub-points li,.ui .hub-steps li{color:var(--ui-txt);border-color:var(--ui-bd)}
.ui .hub-points li::before{background:var(--ui-blue)}
.ui .hub-steps li::before{color:var(--ui-blue);border-color:var(--ui-bd);background:var(--ui-bg)}
.ui .hub-platforms{color:var(--ui-txt)}
.ui .hub-platforms b{color:var(--ui-navy)}
.ui .hub-link{color:var(--ui-blue);border-bottom-color:rgba(43,73,232,.35)}
.ui .hub-link:hover{color:var(--ui-blue-h);border-bottom-color:var(--ui-blue-h)}
@supports not selector(:has(a)){.ui .hub-tab:first-of-type{background:var(--ui-navy);border-color:var(--ui-navy);color:#fff}}
@media(max-width:900px){
  .ui .hub{padding:40px 0 24px}
  .ui .hub-tab{border:1px solid var(--ui-bd);padding:14px 44px 14px 18px}
  .ui .hub-tab:target,.ui .hub:not(:has(.hub-tab:target)) .hub-tab:first-of-type{background:var(--ui-navy);border:1px solid var(--ui-navy);color:#fff;padding-left:18px}
  .ui .hub-panel{padding:24px;margin:4px 0 16px}
  .ui .hub-tab:last-of-type,.ui .hub-panel:last-of-type{border-bottom:1px solid var(--ui-bd)}
}

/* Platforms page */
.ui .partners{background:transparent;border:0;padding:96px 0 72px}
.ui .partners .top h2{color:var(--ui-navy);font-weight:800;letter-spacing:-.028em}
.ui .partners .top p{color:var(--ui-txt)}
.ui .sec.ui-dark{padding:112px 0}
.ui .two-up{gap:24px;background:transparent;border:0}
.ui .two-up>div{background:#fff;border:1px solid var(--ui-bd);border-radius:var(--ui-r);padding:32px}
.ui .two-up>div h3{color:var(--ui-navy);font-weight:800;letter-spacing:-.022em}
.ui .two-up>div p{color:var(--ui-txt)}
.ui .ui-dark .two-up>div{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14);transition:border-color .3s,box-shadow .3s}
.ui .ui-dark .two-up>div:hover{border-color:var(--ui-lb2);box-shadow:0 28px 54px -30px rgba(43,73,232,.6)}
.ui .ui-dark .two-up>div h3{color:#fff}
.ui .ui-dark .two-up>div p{color:rgba(255,255,255,.76)}

/* Contact page: the form in a card, the direct contact details as the dark band */
.ui .contact{padding:96px 0 0}
.ui .contact-form{max-width:760px;margin:0 auto}
.ui form{background:#fff;border:1px solid var(--ui-bd);border-radius:var(--ui-r);padding:40px}
.ui .field label{color:var(--ui-mute)}
.ui .field input,.ui .field textarea{border-radius:var(--ui-r-sm);border-color:var(--ui-bd);background:var(--ui-bg)}
.ui .field input:focus,.ui .field textarea:focus{border-color:var(--ui-blue);background:#fff;box-shadow:0 0 0 3px rgba(43,73,232,.12)}
.ui form .ui-btn{width:100%;margin-top:8px}
.ui .consent{color:var(--ui-mute)}
.ui .consent a{color:var(--ui-blue)}
.ui .contact-direct{margin-top:96px;padding:112px 0}
.ui .contact-direct .direct{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:900px;margin:0 auto}
.ui .contact-direct .direct a,.ui .contact-direct .direct a:last-child{display:flex;align-items:center;gap:18px;border:1px solid rgba(255,255,255,.14);border-radius:var(--ui-r);background:rgba(255,255,255,.04);padding:28px 30px;color:#fff;transition:border-color .3s,box-shadow .3s}
.ui .contact-direct .direct a:hover{padding-left:30px;border-color:var(--ui-lb2);color:#fff;box-shadow:0 28px 54px -30px rgba(43,73,232,.6)}
.ui .contact-direct .direct svg,.ui .contact-direct .direct a:hover svg{width:22px;height:22px;color:var(--ui-lb)}
.ui .contact-direct .direct .lbl{display:block;margin-bottom:4px;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.ui .contact-direct .direct .val{display:block;font-size:1.14rem;font-weight:600;letter-spacing:-.012em;color:#fff}

/* FAQ page: light closing block in place of the blue panel. Legal pages: light body under the dark hero. */
.ui-cta-plain{padding:0 0 128px;text-align:center}
.ui-cta-plain h2{max-width:none;margin:0 auto;color:var(--ui-navy)}
.ui-cta-plain p{max-width:52ch;margin:40px auto 38px;font-size:1.15rem;line-height:1.55;color:var(--ui-txt)}
.ui-cta-plain .ui-cta-btns{justify-content:center}
.ui .legal{padding:64px 0 110px}
.ui .legal h2{color:var(--ui-navy);font-weight:800;letter-spacing:-.022em}
.ui .legal h3{color:var(--ui-navy)}
.ui .legal p,.ui .legal li{color:var(--ui-txt)}
.ui .legal a.inline{color:var(--ui-blue);border-bottom-color:rgba(43,73,232,.35)}
.ui .legal .disclaimer{background:#fff;border:1px solid var(--ui-bd);border-radius:var(--ui-r)}
.ui .legal .draft{margin-bottom:28px}

@media(max-width:900px){
  .ui .contact{padding:72px 0 0}
  .ui .contact-direct{margin-top:72px;padding:84px 0}
  .ui .sec.ui-dark,.ui .detail-qa.ui-dark{padding:84px 0}
  .ui .detail-qa.ui-dark+.ui-cta{padding-top:84px}
  .ui-cta-plain{padding-bottom:84px}
  .ui .partners{padding:72px 0 48px}
}
@media(max-width:700px){
  .ui .contact-direct .direct{grid-template-columns:minmax(0,1fr)}
  .ui form{padding:28px 22px}
  .ui .two-up{grid-template-columns:minmax(0,1fr)}
}
