@font-face{
  font-family:'Inter'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url('/assets/fonts/inter-latin.woff2') format('woff2');
}
@font-face{
  font-family:'Space Grotesk'; font-style:normal; font-weight:500 700; font-display:swap;
  src:url('/assets/fonts/space-grotesk-latin.woff2') format('woff2');
}
/* UPACLICK software site — design system ported from the PERFECT Shopify theme */
:root{
  --ink:#0f1115; --paper:#fbfbfd; --muted:#5b6472; --hairline:#e7e8ef;
  --soft:#3b5bf6; --soft-deep:#6234e6;
  --grad-soft:linear-gradient(135deg,#3b5bf6,#6234e6);
  --ok:#15803d; --err:#b91c1c;
  --font-display:'Space Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{ margin:0; background:#fff; color:var(--ink); font-family:var(--font-body); font-size:16px; line-height:1.6; }
h1,h2,h3,h4{ font-family:var(--font-display); }
img{ max-width:100%; }
a{ color:var(--soft); }
.skip-link{ position:absolute; left:-9999px; top:0; background:#fff; padding:10px 16px; z-index:100; }
.skip-link:focus{ left:12px; }

/* ---------- site chrome: header ---------- */
.site-header{ background:#fff; border-bottom:1px solid var(--hairline); }
.site-header__inner{ max-width:1420px; margin:0 auto; padding:14px 24px; display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.site-header__logo img{ display:block; width:150px; height:auto; }
.site-nav{ display:flex; flex-wrap:wrap; gap:4px 22px; margin-left:auto; }
.site-nav a{ font-family:var(--font-display); font-size:.92rem; font-weight:500; color:var(--ink); text-decoration:none; padding:6px 2px; border-bottom:2px solid transparent; }
.site-nav a:hover{ color:var(--soft); }
.site-nav a[aria-current="page"]{ border-bottom-color:var(--soft); color:var(--soft); }
.site-nav__toggle{ display:none; }
@media screen and (min-width:750px) and (max-width:1365px){
  .site-nav{ gap:4px 14px; }
  .site-nav a{ font-size:.85rem; }
  .site-header__logo img{ width:132px; }
}
@media screen and (max-width:749px){
  .site-header__inner{ justify-content:space-between; align-items:center; }
  .site-nav{ margin-left:0; justify-content:center; }
  .site-header__logo img{ width:150px; }
  /* JS removes the button's [hidden]; without JS the nav stays visible and wraps */
  .site-nav__toggle:not([hidden]){
    display:inline-flex; align-items:center; gap:9px;
    font-family:var(--font-display); font-size:.92rem; font-weight:500; color:var(--ink);
    background:none; border:1px solid var(--hairline); border-radius:8px; padding:8px 14px; cursor:pointer;
  }
  .site-nav__toggle[aria-expanded="true"]{ color:var(--soft); border-color:var(--soft); }
  .site-nav__toggle-bars{ display:inline-flex; flex-direction:column; gap:4px; }
  .site-nav__toggle-bars i{ display:block; width:16px; height:2px; background:currentColor; border-radius:1px; }
  .site-nav__toggle:not([hidden]) + .site-nav{
    display:none; width:100%; flex-direction:column; gap:0; margin:8px 0 2px;
    border-top:1px solid var(--hairline);
  }
  .site-nav__toggle:not([hidden]) + .site-nav.is-open{ display:flex; }
  .site-nav__toggle:not([hidden]) + .site-nav a{
    padding:12px 4px; border-bottom:1px solid var(--hairline); font-size:1rem;
  }
}

/* ---------- site chrome: footer ---------- */
.site-footer{ border-top:1px solid var(--hairline); background:#fbfbfd; padding:44px 24px 40px; margin-top:0; }
.site-footer__inner{ max-width:1140px; margin:0 auto; text-align:center; }
.site-footer__links{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px 24px; padding:0; margin:0 0 22px; list-style:none; }
.site-footer__links a{ color:var(--ink); text-decoration:none; font-size:.92rem; }
.site-footer__links a:hover{ color:var(--soft); }
.site-footer__bridge{ font-size:.82rem; margin:0 0 18px; }
.site-footer__bridge a{ color:var(--muted); text-decoration:none; border-bottom:1px solid rgba(120,130,145,.4); padding-bottom:1px; }
.site-footer__legal{ max-width:720px; margin:0 auto 16px; font-size:.78rem; line-height:1.6; color:var(--muted); }
.site-footer__legal p{ margin:0 0 4px; }
.site-footer__legal a{ color:var(--muted); }
.site-footer__copy{ font-size:.8rem; color:var(--muted); margin:0; }


  .svc{ font-family:var(--font-body,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif);
        --ink:#0f1115; --muted:#576072; --faint:#8b93a6; --line:#e2e5f0; --paper:#fcfbf9;
        --a1:#3b5bf6; --a2:#6234e6; --spine:172px; --ncol:140px;
        --chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 15l7-7 7 7' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        --arr:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background:var(--paper); color:var(--ink); line-height:1.55; }
  .svc *{ box-sizing:border-box; }
  .svc ::selection{ background:rgba(59,91,246,.18); }
  .main-content{ padding-top:0 !important; margin-top:0 !important; }

  /* ghost index numerals — outline ink */
  .svc-section__head::before, .g3 .feat::before, .g2 .feat::before, .svc-steps .step__n{
    font-family:var(--font-display); font-weight:700; letter-spacing:-.02em; line-height:.8;
    font-variant-numeric:tabular-nums; color:rgba(59,91,246,.20); pointer-events:none; }
  @supports (-webkit-text-stroke:1px red){
    .svc-section__head::before{ color:transparent; -webkit-text-stroke:1.4px rgba(59,91,246,.40); } }

  /* buttons */
  .svc-btn{ position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:10px; text-decoration:none;
    font-family:var(--font-display); font-weight:500; font-size:1.06rem;
    color:#fff; background:linear-gradient(135deg,var(--a1),var(--a2)); padding:16px 32px; border-radius:12px;
    box-shadow:0 10px 26px rgba(59,91,246,.30); transition:transform .22s ease, box-shadow .22s ease; }
  .svc-btn::before{ content:""; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%);
    transform:translateX(-150%); transition:transform .6s ease; }
  .svc-btn:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(59,91,246,.42); }
  .svc-btn:hover::before{ transform:translateX(150%); }
  .svc-btn:active{ transform:scale(.98); }
  .svc-btn__chev{ width:16px; height:16px; background:currentColor; -webkit-mask:var(--arr) center/contain no-repeat; mask:var(--arr) center/contain no-repeat; transition:transform .22s ease; }
  .svc-btn:hover .svc-btn__chev{ transform:translateX(4px); }
  .svc-btn--light{ background:#fff; color:var(--a2); box-shadow:0 10px 26px rgba(0,0,0,.25); }
  .svc-btn--light::before{ background:linear-gradient(105deg,transparent 40%,rgba(98,52,230,.08) 50%,transparent 60%); }

  /* ============ HERO — editorial left, UI artefact right ============ */
  .svc-hero{ position:relative; padding:104px 24px 84px; overflow:hidden; border-bottom:1px solid var(--line);
    background:radial-gradient(90% 70% at 96% -6%, rgba(59,91,246,.07), transparent 58%), var(--paper); }
  .svc-hero.u-grain::before{ display:none; } /* grain reserved for the dark mobile band */
  .svc-hero__grid{ max-width:1188px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); gap:64px; align-items:center; }
  .svc-hero__text{ text-align:left; }
  .svc-eyebrow{ display:flex; align-items:center; gap:14px; font-family:var(--font-display); font-size:.78rem; font-weight:600;
    letter-spacing:.24em; text-transform:uppercase; color:var(--a2); margin-bottom:30px; }
  .svc-eyebrow::before{ content:""; width:44px; height:2px; background:var(--a1); flex:none; }
  .svc-hero__title{ font-family:var(--font-display); font-size:clamp(2.8rem,5.4vw,5rem); font-weight:700;
    letter-spacing:-.035em; line-height:.98; margin:0 0 28px; color:var(--ink); text-wrap:balance; }
  .svc-hero__tagline{ font-size:clamp(1.1rem,1.5vw,1.25rem); font-weight:500; letter-spacing:-.01em; margin:0;
    color:var(--muted); max-width:34ch; line-height:1.45; }
  .svc-hero__tagline .svc-nowrap{ white-space:nowrap; }

  /* crafted mini-UI stack */
  .svc-hero__viz{ display:flex; justify-content:flex-end; }
  .svc-ui{ position:relative; width:min(500px,100%); height:470px; }
  .svc-ui::before{ content:""; position:absolute; inset:-16px -24px;
    background-image:radial-gradient(rgba(59,91,246,.22) 1px, transparent 1.3px); background-size:24px 24px;
    -webkit-mask-image:radial-gradient(120% 115% at 55% 45%, #000 42%, transparent 76%);
    mask-image:radial-gradient(120% 115% at 55% 45%, #000 42%, transparent 76%); }
  .svc-ui__flow{ position:absolute; inset:0; width:100%; height:100%; }
  .svc-ui__card{ position:absolute; background:#fff; border:1px solid #e0e4f2; border-radius:14px;
    box-shadow:0 1px 2px rgba(15,17,21,.04), 0 24px 48px -20px rgba(26,34,70,.28); }
  .svc-ui__bar{ display:flex; align-items:center; gap:6px; padding:12px 16px; border-bottom:1px solid #eef0f7; }
  .svc-ui__bar i{ width:7px; height:7px; border-radius:50%; background:#dde1ef; }
  .svc-ui__bar i:first-child{ background:var(--a1); }
  .svc-ui__bar span{ margin-left:auto; font-family:var(--font-display); font-size:.62rem; font-weight:600;
    letter-spacing:.14em; text-transform:uppercase; color:#7d86a0; }
  .svc-ui__queue{ top:0; right:0; width:252px; z-index:1; padding-bottom:6px; }
  .svc-ui__row{ display:flex; align-items:center; gap:10px; padding:11px 16px; border-bottom:1px solid #f2f4fa; }
  .svc-ui__row:last-child{ border-bottom:none; }
  .svc-ui__tick{ flex:none; width:15px; height:15px; border-radius:5px; border:1.5px solid #c9d0e2; background:#fff; position:relative; }
  .svc-ui__tick--on{ background:var(--a1); border-color:var(--a1); }
  .svc-ui__tick--on::after{ content:""; position:absolute; inset:2px; background:#fff;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12l5 5 11-11' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12l5 5 11-11' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
  .svc-ui__tick--run{ border-color:var(--a1); }
  .svc-ui__tick--run::after{ content:""; position:absolute; inset:3.5px; border-radius:3px; background:var(--a1); }
  .svc-ui__line{ display:inline-block; height:7px; border-radius:4px; background:#e6e9f4; width:var(--w,60%); }
  .svc-ui__line--sub{ height:6px; background:#eef0f7; }
  .svc-ui__row .svc-ui__line{ flex:0 1 var(--w); }
  .svc-ui__chip{ margin-left:auto; flex:none; font-family:var(--font-display); font-size:.6rem; font-weight:600;
    letter-spacing:.06em; padding:3px 8px; border-radius:999px; color:#5b6478; background:#eef0f6; }
  .svc-ui__chip--done{ color:#166a43; background:#e2f4ea; }
  .svc-ui__chip--run{ color:#2743c9; background:#e7ecff; }
  .svc-ui__main{ top:118px; left:0; width:312px; z-index:2; padding-bottom:4px; }
  .svc-ui__kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:16px 18px 6px; }
  .svc-ui__kpi{ display:flex; flex-direction:column; gap:7px; }
  .svc-ui__kpi i{ height:6px; width:70%; border-radius:3px; background:#eef0f7; }
  .svc-ui__kpi b{ height:13px; width:85%; border-radius:4px; background:#1b2237; }
  .svc-ui__kpi .svc-ui__kpi-a{ background:linear-gradient(90deg,var(--a1),var(--a2)); }
  .svc-ui__chart{ display:block; width:calc(100% - 36px); height:auto; margin:10px 18px 0; }
  .svc-ui__foot{ display:flex; align-items:center; gap:9px; padding:12px 18px 16px; }
  .svc-ui__dot{ width:8px; height:8px; border-radius:50%; background:#cfd6ea; flex:none; }
  .svc-ui__dot--blue{ background:var(--a1); }
  .svc-ui__foot .svc-ui__line{ flex:none; }
  .svc-ui__pill{ right:14px; bottom:24px; z-index:3; display:flex; align-items:center; gap:12px; padding:13px 16px; }
  .svc-ui__stack{ display:flex; flex-direction:column; gap:6px; }
  .svc-ui__stack .svc-ui__line{ flex:none; }
  .svc-ui__pulse{ flex:none; width:10px; height:10px; border-radius:50%; background:var(--a1);
    box-shadow:0 0 0 0 rgba(59,91,246,.4); animation:svcPulse 2.6s ease-out infinite; }
  @keyframes svcPulse{ 0%{ box-shadow:0 0 0 0 rgba(59,91,246,.4);} 70%{ box-shadow:0 0 0 11px rgba(59,91,246,0);} 100%{ box-shadow:0 0 0 0 rgba(59,91,246,0);} }

  /* ============ CONTENT — spec-sheet recomposition ============ */
  .svc-content{ counter-reset:sec; }
  .svc-content > .svc-lead{ position:relative; max-width:1188px; margin:0 auto; padding:96px 24px 10px 196px; text-align:left;
    font-size:clamp(1.2rem,1.65vw,1.5rem); font-weight:500; letter-spacing:-.02em; line-height:1.4; color:#20263a; }
  .svc-content > .svc-lead::before{ content:""; position:absolute; left:24px; top:calc(96px + .62em); width:44px; height:3px; background:var(--a1); }

  .svc-section{ counter-increment:sec; padding:96px 24px 104px; }
  .svc-section--alt{ background:#f2f4fb; border-top:1px solid #dfe3f4; border-bottom:1px solid #dfe3f4; }
  .svc-section--alt + .svc-section--alt{ border-top:none; }

  .svc-section__head{ position:relative; max-width:1140px; margin:0 auto 60px; text-align:left;
    display:grid; grid-template-columns:var(--ncol) 1fr; column-gap:32px; align-items:start;
    border-top:2px solid var(--ink); padding-top:30px; }
  .svc-section__head::before{ content:counter(sec,decimal-leading-zero); grid-column:1; grid-row:1/3;
    font-size:clamp(2.8rem,4.8vw,4.4rem); }
  .svc-section__head h2{ grid-column:2; font-family:var(--font-display); font-size:clamp(1.7rem,2.7vw,2.3rem);
    font-weight:700; letter-spacing:-.025em; line-height:1.04; margin:0; color:var(--ink); text-wrap:balance; }
  .svc-section__head p{ grid-column:2; font-size:1.02rem; color:var(--muted); margin:14px 0 0; line-height:1.5; max-width:56ch; }

  /* hub (g3): index rows instead of cards */
  .svc-grid{ counter-reset:featc; }
  .feat{ counter-increment:featc; }
  .g3 .svc-grid{ display:block; max-width:1140px; margin:0 auto; }
  .g3 .feat{ display:grid; grid-template-columns:var(--ncol) 52px minmax(0,1fr) auto; column-gap:32px; align-items:center;
    padding:42px 0 46px; border-top:1px solid #d8dcee; text-decoration:none; color:inherit;
    transition:background .3s ease; }
  .g3 .feat:last-child{ border-bottom:1px solid #d8dcee; }
  .g3 .feat::before{ content:counter(featc,decimal-leading-zero); grid-column:1; grid-row:1/3; align-self:start;
    font-size:clamp(2.4rem,3.8vw,3.4rem); margin-top:4px; }
  .g3 .feat__icon{ grid-column:2; grid-row:1; align-self:center; }
  .g3 .feat h3{ grid-column:3; grid-row:1; align-self:center; font-family:var(--font-display);
    font-size:clamp(1.3rem,1.9vw,1.6rem); font-weight:700; letter-spacing:-.02em; margin:0; color:var(--ink);
    transition:color .25s ease; }
  .g3 .feat p{ grid-column:3; grid-row:2; margin:12px 0 0; font-size:1rem; line-height:1.55; color:var(--muted); max-width:58ch; }
  .g3 .feat .feat__more{ grid-column:4; grid-row:1/3; align-self:center; justify-self:end; }
  .g3 a.feat:hover{ background:linear-gradient(90deg, rgba(59,91,246,.05), rgba(59,91,246,0) 70%); }
  .g3 a.feat:hover h3{ color:var(--a1); }
  .g3 a.feat:hover .feat__more{ gap:12px; }

  .feat__icon{ position:relative; width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center;
    color:var(--a1); background:#fff; border:1px solid #d6dcf2; box-shadow:0 1px 2px rgba(15,17,21,.04); }
  .feat__icon svg{ width:23px; height:23px; }
  .feat__more{ display:inline-flex; align-items:center; gap:8px; color:var(--a2); font-family:var(--font-display);
    font-weight:600; font-size:1.02rem; white-space:nowrap; transition:gap .25s ease; }
  .g2 .feat .feat__more{ margin-top:14px; }
  .g3 a.feat:hover .feat__more{ text-decoration:underline; text-underline-offset:3px; }

  /* sub-pages (g2): ruled spec table instead of floating cards */
  .g2 .svc-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; max-width:1140px; margin:0 auto;
    background:#d8dcee; border:1px solid #d8dcee; }
  .g2 .feat{ position:relative; background:#fff; padding:44px 44px 48px; max-width:none; }
  .g2 .feat::before{ content:counter(featc,decimal-leading-zero); position:absolute; top:40px; right:36px;
    font-size:clamp(2rem,3vw,2.7rem); }
  .g2 .feat__icon{ margin-bottom:22px; }
  .g2 .feat h3{ font-family:var(--font-display); font-size:1.22rem; font-weight:700; letter-spacing:-.015em; margin:0 0 10px; color:var(--ink); }
  .g2 .feat p{ font-size:1rem; line-height:1.6; color:var(--muted); margin:0; max-width:46ch; }

  /* steps: numbered editorial list */
  .svc-steps{ max-width:1140px; margin:0 auto; display:block; }
  .svc-steps .step{ position:relative; display:grid; grid-template-columns:var(--ncol) 1fr; column-gap:32px;
    padding:46px 0 50px; border-top:1px solid #d8dcee; background:none; border-radius:0; box-shadow:none; }
  .svc-steps .step:last-child{ border-bottom:1px solid #d8dcee; }
  .svc-steps .step::before{ content:""; position:absolute; top:-4.5px; left:0; width:8px; height:8px; border-radius:50%;
    background:var(--a1); }
  .svc-steps .step__n{ grid-column:1; grid-row:1/3; font-size:clamp(2.6rem,4.4vw,4rem); margin-top:4px; }
  .svc-steps .step h3{ grid-column:2; font-family:var(--font-display); font-size:clamp(1.25rem,1.8vw,1.5rem);
    font-weight:700; letter-spacing:-.018em; margin:0 0 12px; color:var(--ink); }
  .svc-steps .step p{ grid-column:2; color:var(--muted); font-size:1rem; line-height:1.6; margin:0; max-width:62ch; }

  /* statements: left-ruled pull quote */
  .svc-statement{ position:relative; max-width:1140px; margin:0 auto; text-align:left; padding-left:var(--spine);
    font-size:clamp(1.05rem,1.35vw,1.2rem); font-weight:400; line-height:1.6; letter-spacing:-.012em; color:#232a38; }
  .svc-statement::before{ content:""; position:absolute; left:var(--ncol); top:.35em; bottom:.35em; width:3px; background:var(--a1); }
  .svc-statement + .svc-statement{ margin-top:26px; }
  .svc-statement strong{ font-weight:600; color:var(--ink); }
  .svc-statement em{ font-style:italic; }

  /* credentials: asymmetric column */
  .svc-creds{ display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; gap:18px;
    max-width:1140px; margin:48px auto 0; padding-left:var(--spine); }
  .svc-creds a{ display:block; padding:16px; background:#fff; border:1px solid #d6dcf2; border-radius:14px;
    box-shadow:0 1px 2px rgba(15,17,21,.04), 0 14px 34px -16px rgba(26,34,70,.22);
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
  .svc-creds a:hover{ transform:translateY(-4px); border-color:rgba(59,91,246,.45);
    box-shadow:0 2px 4px rgba(15,17,21,.06), 0 22px 44px -16px rgba(26,34,70,.3); }
  .svc-creds img{ display:block; width:150px; height:auto; aspect-ratio:1 / 1; object-fit:contain; }
  .svc-creds .cred-master img{ width:240px; }
  .svc-creds--single img{ width:120px; }
  .svc-creds a:focus-visible{ outline:2px solid var(--a2); outline-offset:4px; }
  .svc-creds__note{ max-width:1140px; margin:18px auto 0; text-align:left; padding-left:var(--spine);
    font-size:.95rem; color:var(--muted); }
  @media(min-width:1000px){
    .svc-section:has(.svc-creds){ display:grid; align-content:start;
      grid-template-columns:minmax(24px,1fr) minmax(0,704px) minmax(0,388px) minmax(24px,1fr); column-gap:0; }
    .svc-section:has(.svc-creds) > .svc-section__head{ grid-column:2/4; grid-row:1; margin:0 0 60px; max-width:none; width:100%; }
    .svc-section:has(.svc-creds) > .svc-statement{ grid-column:2; grid-row:2; margin:0; padding-right:64px; max-width:none; }
    .svc-section:has(.svc-creds) > .svc-creds{ grid-column:3; grid-row:2; align-self:start; margin:0; padding-left:0; max-width:none; }
    .svc-section:has(.svc-creds) > .svc-creds__note{ grid-column:3; grid-row:3; margin:18px 0 0; padding-left:0; max-width:none; }
  }

  /* ============ CTA — full-bleed dark band ============ */
  .svc-cta{ position:relative; padding:112px 24px 118px; overflow:hidden; color:#fff;
    background:
      radial-gradient(95% 90% at 88% -10%, rgba(122,80,252,.42), transparent 56%),
      radial-gradient(110% 85% at 2% 115%, rgba(64,98,255,.32), transparent 58%),
      linear-gradient(180deg,#12152a,#0a0c16); }
  .svc-cta::after{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
    background-image:repeating-linear-gradient(135deg, rgba(255,255,255,.028) 0 2px, transparent 2px 16px); }
  .svc-cta__inner{ position:relative; z-index:1; max-width:1140px; margin:0 auto; display:grid;
    grid-template-columns:minmax(0,1fr) auto; gap:56px; align-items:center; }
  .svc-cta__text{ text-align:left; }
  .svc-cta h2{ color:#fff; font-family:var(--font-display); font-size:clamp(2.3rem,4.4vw,3.6rem); font-weight:700;
    letter-spacing:-.032em; line-height:1; margin:0 0 .38em; }
  .svc-cta h2::before{ content:""; display:block; width:44px; height:2px; background:#8ea2ff; margin-bottom:30px; }
  .svc-cta p{ font-size:1.05rem; color:rgba(255,255,255,.85); margin:0; line-height:1.5; max-width:52ch; }
  .svc-cta__action{ justify-self:end; }
  .svc-cta .svc-btn{ padding:17px 32px; font-size:1.02rem; }

  .svc-content ul{ list-style:none; padding:0; }
  a:focus-visible,button:focus-visible,.feat:focus-visible,.svc-btn:focus-visible{ outline:2px solid var(--a2); outline-offset:3px; }
  .g3 a.feat:focus-visible{ outline-offset:-2px; }
  .svc-cta .svc-btn--light:focus-visible{ outline-color:#fff; }

  .has-js .reveal{ opacity:0; transform:translateY(24px); filter:blur(6px);
    transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1), filter .8s ease, border-color .35s ease, box-shadow .35s ease; }
  .has-js .reveal.is-in{ opacity:1; transform:none; filter:none; }
  @media (prefers-reduced-motion: reduce){ .has-js .reveal{ opacity:1!important; transform:none!important; filter:none!important; transition:none; }
    .svc-ui__pulse{ animation:none; } }

  .svc-hero__updark{ display:none; }
  @media(max-width:920px){
    /* premium dark hero band on mobile — kept, retuned to the ink language */
    .svc-hero{ padding:96px 24px 72px;
      background:
        radial-gradient(115% 82% at 86% 4%, rgba(122,80,252,.44), transparent 56%),
        radial-gradient(125% 80% at 10% 118%, rgba(64,98,255,.32), transparent 58%),
        linear-gradient(180deg,#13162c,#0a0c16);
      border-bottom-color:rgba(255,255,255,.08); }
    .svc-hero::after{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
      background-image:repeating-linear-gradient(135deg, rgba(255,255,255,.028) 0 2px, transparent 2px 16px); }
    .svc-hero.u-grain::before{ display:block; }
    .svc-hero__grid{ position:relative; z-index:1; grid-template-columns:1fr; gap:0; }
    .svc-hero__viz{ display:none; }
    .svc-eyebrow{ color:#cdd5ff; }
    .svc-eyebrow::before{ background:#8ea2ff; }
    .svc-hero__title{ color:#fff; font-size:clamp(2.7rem,10.5vw,3.6rem); }
    .svc-hero__tagline{ color:rgba(255,255,255,.68); }
    .svc-hero__updark{ display:flex; align-items:flex-end; gap:18px; margin-top:46px; }
    .updark__chev{ display:block; background:linear-gradient(135deg,#8ea2ff,#9d6bff);
      -webkit-mask:var(--chev) center/contain no-repeat; mask:var(--chev) center/contain no-repeat; }
    .updark__chev--1{ width:28px; height:28px; opacity:.32; }
    .updark__chev--2{ width:42px; height:42px; opacity:.58; margin-bottom:15px; }
    .updark__chev--3{ width:58px; height:58px; margin-bottom:32px; filter:drop-shadow(0 12px 26px rgba(141,107,255,.55)); } }

  @media(max-width:860px){
    .svc{ --ncol:64px; --spine:0px; }
    .svc-content > .svc-lead{ padding:64px 20px 0 20px; font-size:clamp(1.35rem,5.4vw,1.7rem); }
    .svc-content > .svc-lead::before{ position:static; display:block; margin-bottom:22px; }
    .svc-section{ padding:64px 20px 72px; }
    .svc-section__head{ grid-template-columns:1fr; column-gap:0; margin-bottom:38px; padding-top:22px; }
    .svc-section__head::before{ grid-row:1; font-size:2.4rem; margin-bottom:16px; }
    .svc-section__head h2, .svc-section__head p{ grid-column:1; }
    .g3 .feat{ grid-template-columns:52px minmax(0,1fr); column-gap:18px; row-gap:0; padding:32px 0 36px; }
    .g3 .feat::before{ grid-column:1/3; grid-row:1; font-size:2.2rem; margin:0 0 18px; }
    .g3 .feat__icon{ grid-column:1; grid-row:2; align-self:center; }
    .g3 .feat h3{ grid-column:2; grid-row:2; font-size:1.3rem; }
    .g3 .feat p{ grid-column:1/3; grid-row:3; margin-top:14px; }
    .g3 .feat .feat__more{ grid-column:1/3; grid-row:4; justify-self:start; margin-top:16px; }
    .g2 .svc-grid{ grid-template-columns:1fr; }
    .g2 .feat{ padding:32px 24px 36px; }
    .g2 .feat::before{ top:28px; right:22px; font-size:2.2rem; }
    .svc-steps .step{ grid-template-columns:var(--ncol) 1fr; column-gap:18px; padding:34px 0 38px; }
    .svc-steps .step__n{ font-size:2.2rem; }
    .svc-statement{ padding-left:20px; font-size:1.14rem; line-height:1.55; }
    .svc-statement + .svc-statement{ margin-top:20px; }
    .svc-statement::before{ left:0; }
    .svc-creds{ padding-left:0; gap:14px; }
    .svc-creds img{ width:34vw; max-width:150px; }
    .svc-creds .cred-master img{ width:60vw; max-width:240px; }
    .svc-creds--single img{ width:34vw; max-width:120px; }
    .svc-creds__note{ padding-left:0; }
    .svc-cta{ padding:76px 20px 84px; }
    .svc-cta__inner{ grid-template-columns:1fr; gap:36px; }
    .svc-cta__action{ justify-self:start; } }

/* static-site fixes: cards are anchors, never underlined; inherit ink */
.svc a.feat{ text-decoration:none; color:inherit; }
.svc a.feat p, .svc a.feat h3{ color:inherit; }
.svc a.feat .feat__more{ color:var(--a1, var(--soft)); }

/* adviser photo inside the who-does-the-work statement */
.svc img.svc-adviser{ float:left; width:176px; height:auto; border-radius:12px;
  margin:5px 20px 8px 0;
  box-shadow:0 1px 2px rgba(15,17,21,.06), 0 14px 34px -16px rgba(26,34,70,.28); }
@media screen and (max-width:749px){
  .svc img.svc-adviser{ width:136px; margin:4px 16px 6px 0; }
}

/* g2 grids: a lone last card on an odd count spans full width instead of leaving a painted empty cell */
.g2 .feat:last-child:nth-child(odd){ grid-column:1 / -1; display:grid;
  grid-template-columns:auto minmax(0,58ch); column-gap:22px; justify-content:center; align-items:start; }
.g2 .feat:last-child:nth-child(odd) .feat__icon{ grid-column:1; grid-row:1 / span 2; }
.g2 .feat:last-child:nth-child(odd) h3{ grid-column:2; }
.g2 .feat:last-child:nth-child(odd) p{ grid-column:2; }
@media screen and (max-width:749px){
  .g2 .feat:last-child:nth-child(odd){ display:block; }
}
