/* ==========================================================================
   SBGeeks design system
   Tokens come from the logo: deep indigo wordmark, azure mark. Coral is kept
   from the previous site as the single warm accent.
   All component classes are prefixed sb- so they never collide with the
   per-page styles still used by legacy pages.
   ========================================================================== */

:root{
  --ink:#0b1026; --ink-2:#2b3150; --muted:#5b6380; --faint:#8a91ab;
  --line:#e3e6f0; --line-2:#eef0f7;
  --bg:#ffffff; --bg-soft:#f6f7fc; --bg-tint:#eef0ff;
  --brand:#1d14b8; --brand-600:#150d94; --brand-700:#0d0866; --brand-100:#dfe3ff; --brand-50:#f3f5ff;
  --sky:#0b8ad6; --sky-300:#6cc4f5; --sky-50:#e8f5fd;
  --accent:#ff855a; --accent-600:#f26a3a; --accent-100:#ffe4d9;
  --navy:#070b34; --navy-2:#0d1450; --navy-line:rgba(255,255,255,.12);
  --ok:#12805c; --ok-50:#e4f6ee; --warn:#b45309; --err:#b42318; --err-50:#fdecea;
  --r-sm:8px; --r:12px; --r-lg:18px; --r-xl:26px; --pill:999px;
  --sh-1:0 1px 2px rgba(11,16,38,.06),0 1px 1px rgba(11,16,38,.04);
  --sh-2:0 6px 20px rgba(11,16,38,.08);
  --sh-3:0 18px 48px rgba(11,16,38,.14);
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --display:'Plus Jakarta Sans','Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --hdr:72px; --wrap:1200px;
}

/* ── Reset and base ─────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{font-family:var(--font);background:var(--bg-soft);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;min-width:320px;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
svg{flex-shrink:0}
a{color:var(--brand)}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:4px}
::selection{background:var(--brand-100)}
.sb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.page-body{padding-top:var(--hdr)}
#main-start:focus{outline:0}

/* Material Symbols — legacy pages only. Subset font; hidden overflow keeps the
   ligature word from showing while it loads. */
.material-symbols-outlined{font-family:'Material Symbols Outlined',sans-serif!important;font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;font-feature-settings:'liga';font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;vertical-align:middle;overflow:hidden;max-width:1.5em}

/* ── Skip link ──────────────────────────────────────────────────────────── */
.sb-skip{position:absolute;left:-9999px;top:.75rem;z-index:2000;background:var(--brand);color:#fff;padding:.6rem 1rem;border-radius:var(--r-sm);font-weight:700;text-decoration:none}
.sb-skip:focus{left:.75rem}

/* ── Layout ─────────────────────────────────────────────────────────────── */
.sb-wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 1.5rem}
.sb-wrap--narrow{max-width:860px}
.sb-section{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--bg)}
.sb-section--soft{background:var(--bg-soft)}
.sb-section--tint{background:linear-gradient(180deg,var(--brand-50),#fff)}
.sb-section--dark{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.sb-section--tight{padding:clamp(2.5rem,5vw,4rem) 0}
.sb-grid{display:grid;gap:1.25rem}
.sb-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sb-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sb-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sb-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.sb-split--top{align-items:start}
.sb-split--wide-l{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.sb-stack>*+*{margin-top:1rem}
.sb-center{text-align:center}
.sb-center .sb-lead{margin-left:auto;margin-right:auto}

/* ── Type ───────────────────────────────────────────────────────────────── */
.sb-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--brand);margin-bottom:.9rem}
.sb-eyebrow::before{content:'';width:18px;height:2px;background:currentColor;border-radius:2px}
.sb-section--dark .sb-eyebrow,.sb-hero .sb-eyebrow{color:var(--sky-300)}
.sb-h1,.sb-h2,.sb-h3,.sb-h4{font-family:var(--display);color:var(--ink);letter-spacing:-.02em;line-height:1.12;font-weight:800;text-wrap:balance}
.sb-h1{font-size:clamp(2.1rem,5.2vw,3.6rem);letter-spacing:-.03em;line-height:1.05}
.sb-h2{font-size:clamp(1.65rem,3.6vw,2.5rem)}
.sb-h3{font-size:clamp(1.15rem,2vw,1.35rem);line-height:1.25;letter-spacing:-.01em}
.sb-h4{font-size:1rem;line-height:1.3;letter-spacing:0;font-weight:700}
.sb-section--dark .sb-h2,.sb-section--dark .sb-h3,.sb-section--dark .sb-h4{color:#fff}
.sb-lead{font-size:clamp(1rem,1.5vw,1.15rem);color:var(--muted);line-height:1.7;max-width:62ch;margin-top:1rem;text-wrap:pretty}
.sb-section--dark .sb-lead{color:rgba(255,255,255,.72)}
.sb-head{margin-bottom:clamp(2rem,4vw,3rem)}
.sb-grad{background:linear-gradient(92deg,var(--sky-300),#a9b4ff 55%,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}

/* Long-form copy */
.sb-prose{color:var(--ink-2);font-size:1.0375rem;line-height:1.78}
.sb-prose>*+*{margin-top:1.1rem}
.sb-prose h2{font-family:var(--display);font-size:clamp(1.4rem,2.6vw,1.85rem);color:var(--ink);letter-spacing:-.02em;line-height:1.2;margin-top:2.5rem}
.sb-prose h3{font-family:var(--display);font-size:1.2rem;color:var(--ink);line-height:1.3;margin-top:1.75rem}
.sb-prose ul,.sb-prose ol{padding-left:1.3rem}
.sb-prose li+li{margin-top:.4rem}
.sb-prose a{color:var(--brand);font-weight:600;text-underline-offset:3px}
.sb-prose strong{color:var(--ink)}
.sb-answer{background:var(--brand-50);border:1px solid var(--brand-100);border-left:4px solid var(--brand);border-radius:var(--r);padding:1.25rem 1.4rem;color:var(--ink-2);font-size:1.05rem;line-height:1.7}
.sb-answer strong{color:var(--ink)}

/* ── Buttons ────────────────────────────────────────────────────────────── */
.sb-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font);font-weight:700;font-size:.9375rem;line-height:1;padding:.9rem 1.4rem;border-radius:var(--r);border:1.5px solid transparent;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s,transform .15s,box-shadow .15s}
.sb-btn:active{transform:translateY(1px)}
.sb-btn--primary{background:var(--brand);color:#fff;box-shadow:0 6px 16px rgba(29,20,184,.25)}
.sb-btn--primary:hover{background:var(--brand-600)}
.sb-btn--accent{background:var(--accent);color:#2a0d00;box-shadow:0 6px 18px rgba(255,133,90,.3)}
.sb-btn--accent:hover{background:#ff9a76}
.sb-btn--ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.sb-btn--ghost:hover{border-color:var(--brand);color:var(--brand)}
.sb-btn--glass{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.25)}
.sb-btn--glass:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.5)}
.sb-btn--lg{padding:1.05rem 1.7rem;font-size:1rem}
.sb-btn--sm{padding:.6rem 1rem;font-size:.8125rem;border-radius:10px;min-height:40px}
.sb-btn--block{width:100%}
.sb-btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.sb-center .sb-btns{justify-content:center}
.sb-more{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.9rem;color:var(--brand);text-decoration:none}
.sb-more svg{transition:transform .15s}
.sb-more:hover svg,a:hover>.sb-more svg{transform:translateX(3px)}
.sb-section--dark .sb-more{color:var(--sky-300)}

/* ── Header ─────────────────────────────────────────────────────────────── */
#sbg-header{position:fixed;inset:0 0 auto 0;z-index:1000;height:var(--hdr);background:rgba(255,255,255,.92);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .2s}
#sbg-header.is-stuck{box-shadow:0 6px 24px rgba(11,16,38,.07)}
.hdr-inner{height:100%;max-width:1280px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;gap:1.25rem}
.hdr-back{width:40px;height:40px;margin-right:-.5rem;border:0;border-radius:10px;background:none;color:var(--ink);cursor:pointer;display:grid;place-items:center;flex-shrink:0}
.hdr-back svg{transform:rotate(180deg)}
.hdr-back:hover{background:var(--brand-50)}
.hdr-back[hidden]{display:none}
.hdr-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.hdr-logo img{height:38px;width:auto;display:block}
.hdr-nav{display:flex;align-items:center;gap:.125rem;margin:0 auto;height:100%}
.hdr-item{position:static;height:100%;display:flex;align-items:center}
.hdr-item--rel{position:relative}
.hdr-link{display:inline-flex;align-items:center;gap:.3rem;height:40px;padding:0 .8rem;border-radius:10px;font:600 .9rem/1 var(--font);color:var(--ink-2);text-decoration:none;background:none;border:0;cursor:pointer;white-space:nowrap;transition:color .15s,background .15s}
.hdr-link:hover,.hdr-item:hover>.hdr-link,.hdr-link[aria-expanded="true"]{color:var(--brand);background:var(--brand-50)}
.hdr-link.active{color:var(--brand)}
.hdr-link svg{transition:transform .2s;opacity:.6}
.hdr-link[aria-expanded="true"] svg,.hdr-item:hover>.hdr-link svg{transform:rotate(180deg)}
.hdr-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.hdr-login{display:inline-flex;align-items:center;gap:.35rem;height:40px;padding:0 .8rem;border-radius:10px;font:600 .875rem/1 var(--font);color:var(--ink-2);text-decoration:none}
.hdr-login:hover{color:var(--brand);background:var(--brand-50)}

/* Mega menu */
.sb-mega{position:absolute;left:0;right:0;top:100%;max-height:calc(100vh - var(--hdr));overflow-y:auto;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--sh-3);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s,transform .16s,visibility .16s;pointer-events:none}
.hdr-item:hover>.sb-mega,.hdr-item:focus-within>.sb-mega,.sb-mega.is-open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.hdr-nav.is-closing .sb-mega{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.sb-mega-inner{max-width:1280px;margin:0 auto;padding:1.75rem 1.5rem 2rem;display:grid;gap:1.5rem 2rem}
.sb-mega--services .sb-mega-inner{grid-template-columns:repeat(6,minmax(0,1fr))}
.sb-mega--services .sb-mega-wide{grid-column:span 2}
.sb-mega-list.sb-mega-list--2{display:grid;grid-template-columns:1fr 1fr;gap:.1rem .5rem}
.sb-mega-list--2 .sb-mi{align-items:center}
.sb-mega-list--2 .sb-mi span span{display:none}
.sb-mega--industries .sb-mega-inner{grid-template-columns:2.2fr 1fr}
.sb-mega-h{font:700 .7rem/1 var(--font);letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin-bottom:.75rem;padding:0 .6rem}
.sb-mega-list{list-style:none;display:flex;flex-direction:column;gap:.1rem}
.sb-mega-list--cols{display:grid;grid-template-columns:repeat(3,1fr);gap:.1rem .75rem}
.sb-mega a.sb-mi{display:flex;gap:.7rem;align-items:flex-start;padding:.55rem .6rem;border-radius:10px;text-decoration:none;color:var(--ink);transition:background .12s}
.sb-mega a.sb-mi:hover{background:var(--brand-50)}
.sb-mi-ico{width:32px;height:32px;border-radius:9px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.sb-mi:hover .sb-mi-ico{background:var(--brand);color:#fff}
.sb-mi b{display:block;font-size:.875rem;font-weight:700;line-height:1.3}
.sb-mi span{display:block;font-size:.775rem;color:var(--muted);line-height:1.4;margin-top:.1rem}
.sb-mega-foot{grid-column:1/-1;border-top:1px solid var(--line-2);padding-top:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.875rem;color:var(--muted)}
.sb-mega-card{background:linear-gradient(150deg,var(--navy),var(--brand-700));color:#fff;border-radius:var(--r-lg);padding:1.4rem;display:flex;flex-direction:column;gap:.6rem}
.sb-mega-card b{font-family:var(--display);font-size:1.05rem}
.sb-mega-card p{font-size:.825rem;color:rgba(255,255,255,.75);line-height:1.55}
/* Small dropdown */
.sb-drop{position:absolute;right:0;top:calc(100% - 8px);min-width:260px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:.5rem;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s,transform .16s,visibility .16s}
.hdr-item:hover>.sb-drop,.hdr-item:focus-within>.sb-drop,.sb-drop.is-open{opacity:1;visibility:visible;transform:none}
.hdr-nav.is-closing .sb-drop{opacity:0!important;visibility:hidden!important}
.sb-drop a{display:flex;gap:.7rem;align-items:center;padding:.6rem .7rem;border-radius:10px;text-decoration:none;color:var(--ink);font-size:.875rem;font-weight:600}
.sb-drop a:hover{background:var(--brand-50);color:var(--brand)}
.sb-drop a svg{color:var(--brand)}

/* User menu (logged in) */
.usr-wrap{position:relative}
.usr-chip{display:flex;align-items:center;gap:.45rem;padding:.35rem .7rem .35rem .35rem;border-radius:var(--pill);border:1.5px solid var(--line);cursor:pointer;font:600 .8125rem/1 var(--font);background:#fff;color:var(--ink)}
.usr-chip:hover{border-color:var(--brand)}
.usr-av{width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:.7rem;font-weight:700}
.usr-name{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.usr-dd{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-3);min-width:200px;padding:.4rem;display:none;z-index:1001}
.usr-dd.open{display:block}
.usr-dd-role{padding:.4rem .7rem;font-size:.6875rem;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.06em}
.dd-sep{height:1px;background:var(--line-2);margin:.3rem 0}
.usr-dd a,.usr-dd button{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:8px;font:600 .875rem/1.2 var(--font);color:var(--ink);text-decoration:none;width:100%;border:0;background:none;cursor:pointer;text-align:left}
.usr-dd a:hover,.usr-dd button:hover{background:var(--brand-50);color:var(--brand)}

/* Hamburger and mobile drawer */
.ham{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;border-radius:10px;color:var(--ink);place-items:center}
.ham:hover{background:var(--brand-50)}
.ham .i-x{display:none}
.ham[aria-expanded="true"] .i-x{display:block}
.ham[aria-expanded="true"] .i-menu{display:none}
.mob-nav{display:none;position:fixed;inset:var(--hdr) 0 0 0;background:#fff;z-index:999;padding:1rem 1.25rem 6rem;overflow-y:auto;overscroll-behavior:contain}
.mob-nav.open{display:block}
.mob-nav details{border-bottom:1px solid var(--line-2)}
.mob-nav summary,.mob-nav>a.mob-top{display:flex;align-items:center;justify-content:space-between;padding:1rem .25rem;font:700 1.05rem/1.2 var(--display);color:var(--ink);text-decoration:none;cursor:pointer;list-style:none;border-bottom:1px solid var(--line-2)}
.mob-nav details summary{border-bottom:0}
.mob-nav summary::-webkit-details-marker{display:none}
.mob-nav summary svg{transition:transform .2s;color:var(--faint)}
.mob-nav details[open] summary svg{transform:rotate(180deg)}
.mob-sub{padding:0 0 1rem}
.mob-sub-h{font:700 .68rem/1 var(--font);letter-spacing:.09em;text-transform:uppercase;color:var(--faint);padding:.9rem .25rem .4rem}
.mob-sub a{display:flex;align-items:center;gap:.7rem;padding:.7rem .25rem;font-size:.95rem;font-weight:600;color:var(--ink-2);text-decoration:none;min-height:44px}
.mob-sub a svg{color:var(--brand)}
.mob-cta{display:grid;gap:.6rem;margin-top:1.5rem}
.mob-contact{margin-top:1.25rem;display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}
.mob-contact a{display:flex;align-items:center;gap:.5rem;color:var(--ink-2);text-decoration:none;font-weight:600;min-height:44px}
.mob-nav form button{all:unset;display:flex;align-items:center;gap:.7rem;padding:.7rem .25rem;font-size:.95rem;font-weight:600;color:var(--ink-2);cursor:pointer;width:100%;min-height:44px;box-sizing:border-box}

@media (max-width:1100px){
  .hdr-nav,.hdr-login{display:none}
  .ham{display:grid}
  .hdr-inner{padding:0 1rem;justify-content:space-between}
}
@media (max-width:420px){.hdr-actions .sb-btn{padding:.6rem .75rem;font-size:.78rem}}
/* The phone tab bar carries the audit link, so the smallest phones drop it from the header */
@media (max-width:359px){.hdr-actions>.sb-btn{display:none}}

/* Flash */
.flash-wrap{max-width:var(--wrap);margin:0 auto;padding:.9rem 1.5rem 0}
.flash-bar{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-radius:var(--r);font-size:.875rem;font-weight:600}
.f-success{background:var(--ok-50);color:#06402d;border:1px solid #9bdcc1}
.f-error{background:var(--err-50);color:#7a1610;border:1px solid #f3b4ae}
.f-info{background:var(--sky-50);color:#06456b;border:1px solid #a9d9f5}

/* ── Breadcrumbs ────────────────────────────────────────────────────────── */
.sb-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;font-size:.8125rem;color:var(--faint)}
.sb-crumbs li+li::before{content:'/';margin-right:.35rem;opacity:.6}
.sb-crumbs a{color:var(--muted);text-decoration:none}
.sb-crumbs a:hover{color:var(--brand);text-decoration:underline}
.sb-crumbs [aria-current]{color:var(--ink-2);font-weight:600}
.sb-crumbs--dark ol{color:rgba(255,255,255,.5)}
.sb-crumbs--dark a{color:rgba(255,255,255,.7)}
.sb-crumbs--dark a:hover{color:#fff}
.sb-crumbs--dark [aria-current]{color:#fff}

/* ── Hero ───────────────────────────────────────────────────────────────── */
.sb-hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:clamp(3rem,7vw,5.5rem) 0 clamp(3.5rem,7vw,6rem)}
.sb-hero::before{content:'';position:absolute;inset:0;background:
  radial-gradient(900px 520px at 85% -10%,rgba(11,138,214,.38),transparent 62%),
  radial-gradient(700px 500px at 5% 110%,rgba(29,20,184,.6),transparent 60%),
  radial-gradient(420px 320px at 60% 105%,rgba(255,133,90,.14),transparent 65%);pointer-events:none}
.sb-hero::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 50% 0,#000 20%,transparent 72%);mask-image:radial-gradient(ellipse at 50% 0,#000 20%,transparent 72%);pointer-events:none}
.sb-hero>.sb-wrap{position:relative;z-index:1}
.sb-hero .sb-h1{color:#fff}
.sb-hero .sb-lead{color:rgba(255,255,255,.78);max-width:56ch}
.sb-hero--inner{padding:clamp(2.25rem,5vw,3.5rem) 0 clamp(2.75rem,6vw,4.5rem)}
.sb-hero--inner .sb-h1{font-size:clamp(1.9rem,4.4vw,3rem);margin-top:1.25rem}
.sb-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.sb-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .85rem;border-radius:var(--pill);font-size:.78rem;font-weight:600;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.9);margin-bottom:1.4rem}
.sb-pill i{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 4px rgba(74,222,128,.18)}
.sb-ticks{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:2rem;font-size:.875rem;color:rgba(255,255,255,.78)}
.sb-ticks li{display:flex;align-items:center;gap:.45rem}
.sb-ticks svg{color:#4ade80}

/* Hero visual: a stylised search surface, drawn in CSS so it costs no image */
.sb-viz{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-xl);padding:1.1rem;backdrop-filter:blur(6px);box-shadow:0 30px 80px rgba(0,0,0,.35)}
.sb-viz-bar{display:flex;align-items:center;gap:.6rem;background:#fff;color:var(--ink-2);border-radius:var(--pill);padding:.7rem 1rem;font-size:.875rem;font-weight:500}
.sb-viz-bar svg{color:var(--brand)}
.sb-viz-tabs{display:flex;gap:.4rem;margin:.9rem 0 .7rem;flex-wrap:wrap}
.sb-viz-tabs span{font-size:.7rem;font-weight:700;padding:.3rem .65rem;border-radius:var(--pill);background:rgba(255,255,255,.08);color:rgba(255,255,255,.7)}
.sb-viz-tabs span.on{background:#fff;color:var(--brand)}
.sb-viz-card{background:#fff;color:var(--ink);border-radius:var(--r);padding:.9rem 1rem;display:flex;gap:.8rem;align-items:flex-start}
.sb-viz-card+.sb-viz-card{margin-top:.55rem}
.sb-viz-card .n{width:26px;height:26px;border-radius:8px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;font-size:.75rem;font-weight:800;flex-shrink:0}
.sb-viz-card.top{box-shadow:0 0 0 2px var(--accent)}
.sb-viz-card.top .n{background:var(--accent);color:#2a0d00}
.sb-viz-card b{display:block;font-size:.85rem;line-height:1.3}
.sb-viz-card small{display:block;font-size:.72rem;color:var(--muted);margin-top:.15rem}
.sb-viz-line{height:7px;border-radius:4px;background:var(--line);margin-top:.45rem}
.sb-viz-ai{margin-top:.55rem;border-radius:var(--r);padding:.85rem 1rem;background:linear-gradient(120deg,rgba(108,196,245,.2),rgba(169,180,255,.2));border:1px solid rgba(255,255,255,.18);font-size:.78rem;color:rgba(255,255,255,.88);line-height:1.5}
.sb-viz-ai b{display:flex;align-items:center;gap:.4rem;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sky-300);margin-bottom:.3rem}
.sb-viz-ai u{text-decoration:none;background:rgba(255,133,90,.28);border-radius:4px;padding:0 .25rem;color:#fff;font-weight:600}

/* ── Cards ──────────────────────────────────────────────────────────────── */
.sb-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color .18s,box-shadow .18s,transform .18s}
a.sb-card{text-decoration:none;color:inherit}
a.sb-card:hover{border-color:var(--brand);box-shadow:var(--sh-2);transform:translateY(-3px)}
.sb-card p{font-size:.925rem;color:var(--muted);line-height:1.65}
.sb-card .sb-more{margin-top:auto;padding-top:.6rem}
.sb-ico{width:46px;height:46px;border-radius:13px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;margin-bottom:.4rem}
.sb-ico--sky{background:var(--sky-50);color:var(--sky)}
.sb-ico--accent{background:var(--accent-100);color:#c2410c}
.sb-ico--ok{background:var(--ok-50);color:var(--ok)}
.sb-card--dark{background:rgba(255,255,255,.05);border-color:var(--navy-line);color:#fff}
.sb-card--dark p{color:rgba(255,255,255,.7)}
.sb-card--dark .sb-ico{background:rgba(255,255,255,.1);color:var(--sky-300)}
a.sb-card--dark:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.08)}
.sb-card--flat{box-shadow:none;background:var(--bg-soft);border-color:transparent}
.sb-tag{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .6rem;border-radius:var(--pill);background:var(--brand-50);color:var(--brand)}
.sb-tag--accent{background:var(--accent-100);color:#9a3412}
.sb-tag--ok{background:var(--ok-50);color:var(--ok)}

/* Service group panel (home + hub) */
.sb-group{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:1.75rem;display:flex;flex-direction:column}
.sb-group-h{display:flex;align-items:center;gap:.8rem;margin-bottom:.4rem}
.sb-group>p{font-size:.9rem;color:var(--muted);margin-bottom:1rem}
.sb-group ul{list-style:none;display:flex;flex-direction:column;border-top:1px solid var(--line-2)}
.sb-group li a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .1rem;border-bottom:1px solid var(--line-2);text-decoration:none;color:var(--ink);font-weight:600;font-size:.925rem}
.sb-group li a small{display:block;font-weight:400;color:var(--muted);font-size:.8rem;margin-top:.1rem}
.sb-group li a svg{color:var(--faint);transition:transform .15s,color .15s}
.sb-group li a:hover{color:var(--brand)}
.sb-group li a:hover svg{color:var(--brand);transform:translateX(3px)}

/* Check lists */
.sb-checks{list-style:none;display:grid;gap:.7rem}
.sb-checks li{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem;color:var(--ink-2);line-height:1.55}
.sb-checks li svg{color:var(--ok);margin-top:.15rem}
.sb-checks--2{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.5rem}
.sb-section--dark .sb-checks li{color:rgba(255,255,255,.82)}
.sb-section--dark .sb-checks li svg{color:#4ade80}

/* Process steps */
.sb-steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.sb-steps--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.sb-steps li{counter-increment:s;position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem 1.4rem}
.sb-steps li::before{content:counter(s,decimal-leading-zero);display:block;font:800 .8rem/1 var(--display);color:var(--brand);letter-spacing:.08em;margin-bottom:.9rem}
.sb-steps h3{font:700 1.02rem/1.3 var(--display);color:var(--ink);margin-bottom:.4rem}
.sb-steps p{font-size:.9rem;color:var(--muted);line-height:1.6}
.sb-section--dark .sb-steps li{background:rgba(255,255,255,.05);border-color:var(--navy-line)}
.sb-section--dark .sb-steps li::before{color:var(--sky-300)}
.sb-section--dark .sb-steps h3{color:#fff}
.sb-section--dark .sb-steps p{color:rgba(255,255,255,.7)}

/* Stat tiles — rendered only when verified stats exist */
.sb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}
.sb-stat{padding:1.4rem;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line)}
.sb-stat b{display:block;font:800 2rem/1 var(--display);color:var(--brand)}
.sb-stat span{display:block;font-size:.85rem;color:var(--muted);margin-top:.45rem}

/* Logo-less trust row */
.sb-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.sb-trust div{display:flex;gap:.8rem;align-items:flex-start;padding:1.1rem 1.2rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg)}
.sb-trust svg{color:var(--brand);margin-top:.1rem}
.sb-trust b{display:block;font-size:.925rem;line-height:1.3}
.sb-trust span{display:block;font-size:.82rem;color:var(--muted);line-height:1.45;margin-top:.15rem}

/* Chips */
.sb-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.sb-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .9rem;border-radius:var(--pill);background:#fff;border:1px solid var(--line);font-size:.875rem;font-weight:600;color:var(--ink-2);text-decoration:none;transition:border-color .15s,color .15s}
a.sb-chip:hover{border-color:var(--brand);color:var(--brand)}
.sb-chip svg{color:var(--brand)}

/* Tables */
.sb-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.sb-table{width:100%;border-collapse:collapse;font-size:.925rem;min-width:560px}
.sb-table th,.sb-table td{padding:.9rem 1.1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-2)}
.sb-table thead th{background:var(--bg-soft);font:700 .78rem/1.3 var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.sb-table tbody th{font-weight:700;color:var(--ink);white-space:nowrap}
.sb-table tr:last-child>*{border-bottom:0}
.sb-table td{color:var(--ink-2);overflow-wrap:anywhere}

/* FAQ */
.sb-faq{display:grid;gap:.7rem}
.sb-faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.sb-faq details[open]{border-color:var(--brand-100);box-shadow:var(--sh-1)}
.sb-faq summary{list-style:none;cursor:pointer;padding:1.15rem 1.3rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font:700 1rem/1.4 var(--display);color:var(--ink)}
.sb-faq summary::-webkit-details-marker{display:none}
.sb-faq summary svg{color:var(--brand);transition:transform .2s}
.sb-faq details[open] summary svg{transform:rotate(45deg)}
.sb-faq-a{padding:0 1.3rem 1.3rem;color:var(--ink-2);font-size:.95rem;line-height:1.75}
.sb-faq-a a{color:var(--brand);font-weight:600}

/* Case-study card */
.sb-case{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .18s,box-shadow .18s,border-color .18s}
a.sb-case:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:var(--brand)}
.sb-case-top{padding:1.5rem 1.6rem;background:linear-gradient(140deg,var(--navy),var(--brand-700));color:#fff;position:relative;overflow:hidden}
.sb-case-top::after{content:'';position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(108,196,245,.35),transparent 70%)}
.sb-case-top small{font:700 .7rem/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--sky-300)}
.sb-case-top b{display:block;font:800 2.2rem/1.05 var(--display);margin-top:.7rem}
.sb-case-top span{display:block;font-size:.85rem;color:rgba(255,255,255,.75);margin-top:.3rem}
.sb-case-body{padding:1.4rem 1.6rem 1.6rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.sb-case-body h3{font:700 1.08rem/1.3 var(--display)}
.sb-case-body p{font-size:.9rem;color:var(--muted);line-height:1.6}
.sb-case-body .sb-more{margin-top:auto;padding-top:.6rem}

/* CTA band */
.sb-cta{position:relative;overflow:hidden;background:linear-gradient(125deg,var(--brand-700),var(--brand) 55%,#2b5fd9);color:#fff;border-radius:var(--r-xl);padding:clamp(2rem,5vw,3.5rem);display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:2rem;align-items:center}
.sb-cta::after{content:'';position:absolute;right:-80px;bottom:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,133,90,.35),transparent 68%);pointer-events:none}
.sb-cta>*{position:relative;z-index:1}
.sb-cta h2{font:800 clamp(1.5rem,3.2vw,2.2rem)/1.15 var(--display);letter-spacing:-.02em;text-wrap:balance}
.sb-cta p{color:rgba(255,255,255,.8);margin-top:.7rem;max-width:54ch;line-height:1.65}
.sb-cta .sb-btns{margin-top:0;flex-direction:column;align-items:stretch}
.sb-cta-note{font-size:.8rem;color:rgba(255,255,255,.65);text-align:center}

/* Forms */
.sb-form{display:grid;gap:1rem}
.sb-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.sb-field label{display:block;font-size:.8rem;font-weight:700;color:var(--ink-2);margin-bottom:.4rem}
.sb-field label i{font-style:normal;color:var(--faint);font-weight:500}
.sb-field input,.sb-field select,.sb-field textarea{width:100%;font:500 .95rem/1.4 var(--font);color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:.8rem .95rem;transition:border-color .15s,box-shadow .15s}
.sb-field textarea{min-height:130px;resize:vertical}
.sb-field input:focus,.sb-field select:focus,.sb-field textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px rgba(29,20,184,.12)}
.sb-field input::placeholder,.sb-field textarea::placeholder{color:var(--faint)}
.sb-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235b6380' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.4rem}
.sb-form-note{font-size:.8rem;color:var(--muted);line-height:1.5}
.sb-form-note svg{vertical-align:-3px;margin-right:.3rem}
.sb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.sb-panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.5rem,3.5vw,2.5rem);box-shadow:var(--sh-2)}
.sb-alert{padding:.85rem 1rem;border-radius:var(--r);font-size:.9rem;font-weight:600;background:var(--err-50);color:#7a1610;border:1px solid #f3b4ae}

/* Sticky aside (service pages) */
.sb-aside{position:sticky;top:calc(var(--hdr) + 20px);display:grid;gap:1rem}
.sb-aside-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem}
.sb-aside-card h2,.sb-aside-card h3{font:700 .78rem/1 var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:.9rem}
.sb-toc{list-style:none;display:grid;gap:.1rem}
.sb-toc a{display:block;padding:.45rem .6rem;border-radius:8px;font-size:.875rem;font-weight:600;color:var(--ink-2);text-decoration:none;border-left:2px solid transparent}
.sb-toc a:hover{background:var(--brand-50);color:var(--brand)}
.sb-aside-cta{background:linear-gradient(150deg,var(--navy),var(--brand-700));color:#fff;border:0}
.sb-aside-cta h3{color:var(--sky-300)}
.sb-aside-cta p{font-size:.9rem;color:rgba(255,255,255,.78);line-height:1.6;margin-bottom:1rem}
.sb-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(2rem,4vw,3.5rem);align-items:start}

/* ── Footer ─────────────────────────────────────────────────────────────── */
.sb-footer{background:var(--navy);color:rgba(255,255,255,.66);padding:clamp(3rem,6vw,4.5rem) 0 1.75rem;font-size:.875rem}
.sb-footer a{color:rgba(255,255,255,.66);text-decoration:none;transition:color .15s}
.sb-footer a:hover{color:#fff}
.sb-foot-top{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem 3rem;padding-bottom:2.5rem;border-bottom:1px solid var(--navy-line);align-items:start}
.sb-foot-brand img{height:36px;width:auto;margin-bottom:1rem;display:block}
.sb-foot-brand p{max-width:46ch;line-height:1.7}
.sb-foot-nap{display:grid;gap:.5rem;margin-top:1.25rem}
.sb-foot-nap a,.sb-foot-nap span{display:flex;align-items:center;gap:.55rem}
.sb-foot-nap a.tel{color:#fff;font-weight:700;font-size:1rem}
.sb-foot-nap svg{color:var(--sky-300)}
.sb-foot-news h2{font:700 1.05rem/1.3 var(--display);color:#fff;margin-bottom:.4rem}
.sb-foot-news form{display:flex;gap:.5rem;margin-top:1rem}
.sb-foot-news input[type=email]{flex:1;min-width:0;background:rgba(255,255,255,.07);border:1px solid var(--navy-line);border-radius:var(--r);padding:.8rem 1rem;color:#fff;font:500 .9rem var(--font)}
.sb-foot-news input[type=email]::placeholder{color:rgba(255,255,255,.4)}
.sb-foot-news input[type=email]:focus{outline:0;border-color:var(--sky-300)}
.sb-foot-msg{margin-top:.6rem;font-size:.85rem;font-weight:600;min-height:1.2em}
.sb-foot-cols{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2rem 1.5rem;padding:2.5rem 0}
.sb-foot-cols h2{font:700 .72rem/1 var(--font);letter-spacing:.09em;text-transform:uppercase;color:#fff;margin-bottom:1rem}
.sb-foot-cols ul{list-style:none;display:grid;gap:.6rem}
.sb-foot-cols a.all{color:var(--sky-300);font-weight:700}
.sb-foot-bot{border-top:1px solid var(--navy-line);padding-top:1.5rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;font-size:.8rem}
.sb-foot-legal{display:flex;flex-wrap:wrap;gap:1.25rem}
.sb-dialog{border:0;border-radius:var(--r-xl);padding:1.75rem;max-width:min(420px,calc(100vw - 2rem));margin:auto;box-shadow:var(--sh-3);color:var(--ink)}
.sb-dialog::backdrop{background:rgba(7,11,52,.6)}
.sb-dialog h2{font:800 1.2rem/1.25 var(--display);margin-bottom:1rem}
.sb-dialog p{color:var(--ink-2);font-size:.95rem;line-height:1.55;margin-bottom:.8rem}
.sb-dialog-note{font-size:.85rem!important;color:var(--muted)!important}
.sb-dialog [data-steps]{display:none}
.sb-dialog[data-show="ios"] [data-steps="ios"],.sb-dialog[data-show="android"] [data-steps="android"],.sb-dialog[data-show="inapp"] [data-steps="inapp"],.sb-dialog[data-show="desktop"] [data-steps="desktop"]{display:block}
.sb-install-bar{position:fixed;left:.75rem;right:5.25rem;bottom:1.25rem;z-index:590;display:flex;align-items:center;gap:.7rem;background:#fff;border:1px solid var(--line);border-radius:16px;padding:.6rem .7rem;box-shadow:var(--sh-3);max-width:420px}
.sb-install-bar[hidden]{display:none}
.sb-install-bar img{border-radius:10px;flex-shrink:0}
.sb-install-bar>span{flex:1;min-width:0;line-height:1.25}
.sb-install-bar b{display:block;font-size:.875rem;color:var(--ink);white-space:nowrap}
.sb-install-bar>span span{display:block;font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-install-x{width:32px;height:32px;border:0;background:none;color:var(--faint);font-size:1.4rem;line-height:1;cursor:pointer;border-radius:8px;flex-shrink:0}
.sb-install-x:hover{background:var(--bg-soft);color:var(--ink)}
@media (max-width:380px){.sb-install-bar>span span{display:none}}
@media (display-mode:standalone){.sb-install-bar{display:none!important}}
@media print{.sb-install-bar{display:none!important}}
.sb-dialog ol{padding-left:1.2rem;display:grid;gap:.7rem;margin-bottom:1.4rem;color:var(--ink-2);font-size:.95rem;line-height:1.55}
[data-install][hidden]{display:none!important}
/* Inside the installed app: respect the phone's notch and home indicator */
@media (display-mode:standalone){
  #sbg-header{padding-top:env(safe-area-inset-top);height:calc(var(--hdr) + env(safe-area-inset-top))}
  .page-body{padding-top:calc(var(--hdr) + env(safe-area-inset-top))}
  .mob-nav{inset:calc(var(--hdr) + env(safe-area-inset-top)) 0 0 0}
  .sb-wa{bottom:calc(1.25rem + env(safe-area-inset-bottom))}
  .sb-footer{padding-bottom:calc(1.75rem + env(safe-area-inset-bottom))}
  [data-install]{display:none!important}
}
@media (display-mode:standalone) and (max-width:480px){
  .hdr-inner{gap:.5rem;padding:0 .75rem}
  .hdr-logo img{height:28px}
}
/* Very small phones: the audit button stays in the menu, so the header fits beside the back arrow */
@media (display-mode:standalone) and (max-width:360px){.hdr-actions .sb-btn{display:none}}
#sb-install{font:700 .8rem/1 var(--font);color:#fff;background:rgba(255,255,255,.1);border:1px solid var(--navy-line);border-radius:var(--pill);padding:.5rem .9rem;cursor:pointer}
#sb-install:hover{background:var(--brand)}
#sb-install[hidden]{display:none}
.sb-social{display:flex;gap:.5rem}
.sb-social a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.07);display:grid;place-items:center;color:#fff}
.sb-social a:hover{background:var(--brand)}

.sb-wa{position:fixed;right:1.25rem;bottom:1.25rem;z-index:600;height:56px;min-width:56px;padding:0 14px;border-radius:28px;background:#25d366;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:0;text-decoration:none;font:700 .9rem/1 var(--font);box-shadow:0 8px 24px rgba(11,16,38,.25);transition:background .15s,transform .15s}
.sb-wa:hover{background:#1ebe5a;transform:translateY(-2px)}
.sb-wa span{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .25s ease,margin .25s ease}
.sb-wa:hover span,.sb-wa:focus-visible span{max-width:170px;margin-left:.55rem}
@media (hover:none){.sb-wa span{display:none}}
@media print{.sb-wa{display:none!important}}
#btt{position:fixed;right:1.6rem;bottom:5.5rem;width:44px;height:44px;border-radius:50%;border:0;background:var(--brand);color:#fff;cursor:pointer;display:grid;place-items:center;z-index:500;box-shadow:var(--sh-2);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s,transform .2s}
#btt.show{opacity:1;transform:none;pointer-events:auto}

/* Scroll reveal — content is visible by default; JS opts elements in */
@media (prefers-reduced-motion:no-preference){
  .js .sb-reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
  .js .sb-reveal.in{opacity:1;transform:none}
}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width:1100px){
  .sb-grid--4,.sb-steps,.sb-steps--5,.sb-trust{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sb-foot-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sb-layout{grid-template-columns:minmax(0,1fr)}
  .sb-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .sb-aside .sb-aside-toc{display:none}
}
@media (max-width:900px){
  .sb-hero-grid,.sb-split,.sb-split--wide-l{grid-template-columns:1fr}
  .sb-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sb-cta{grid-template-columns:1fr}
  .sb-cta .sb-btns{flex-direction:row}
  .sb-foot-top{grid-template-columns:1fr}
}
@media (max-width:640px){
  :root{--hdr:64px}
  .sb-wrap{padding:0 1.125rem}
  .sb-grid--2,.sb-grid--3,.sb-grid--4,.sb-steps,.sb-steps--5,.sb-trust,.sb-checks--2,.sb-form-row,.sb-aside{grid-template-columns:1fr}
  .sb-foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sb-btns .sb-btn{flex:1 1 100%}
  .sb-cta .sb-btns{flex-direction:column}
  .sb-foot-news form{flex-direction:column}
  .sb-table tbody th{white-space:normal}
  .sb-table th,.sb-table td{padding:.75rem .8rem}
  .sb-foot-bot{flex-direction:column;align-items:flex-start}
  .hdr-logo img{height:32px}
}
@media print{#sbg-header,.sb-footer,#btt,.mob-nav,.sb-cta{display:none!important}.page-body{padding-top:0}}

/* ── Phone app shell: tab bar, toast, page-load bar ─────────────────────── */
.sb-tabbar{display:none}
.sb-toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:800;background:var(--navy);color:#fff;font:600 .85rem/1.3 var(--font);padding:.7rem 1.1rem;border-radius:var(--pill);box-shadow:var(--sh-3);max-width:calc(100vw - 2rem);text-align:center}
.sb-toast[hidden]{display:none}
#sbg-header::after{content:"";position:absolute;left:0;bottom:-1px;height:3px;width:0;background:linear-gradient(90deg,var(--brand),var(--sky),var(--accent));opacity:0;pointer-events:none}
html.is-loading #sbg-header::after{opacity:1;width:88%;transition:width 6s cubic-bezier(.1,.7,.2,1)}
@media (max-width:760px){
  .sb-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:700;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;height:calc(62px + env(safe-area-inset-bottom));padding:0 .25rem env(safe-area-inset-bottom);background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(11,16,38,.07);view-transition-name:sb-tabbar}
  .sb-tabbar a{position:relative;height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);text-decoration:none;font:600 .68rem/1 var(--font);letter-spacing:.01em;-webkit-tap-highlight-color:transparent;transition:color .15s,transform .12s}
  .sb-tabbar a:active{transform:scale(.92)}
  .sb-tabbar a span{white-space:nowrap}
  .sb-tabbar a.on{color:var(--brand)}
  .sb-tabbar a.on:not(.sb-tab-main)::before{content:"";position:absolute;top:0;left:50%;width:26px;height:3px;margin-left:-13px;border-radius:0 0 4px 4px;background:var(--brand)}
  .sb-tabbar em{width:24px;height:24px;border-radius:50%;background:var(--brand);color:#fff;font:700 .6rem/24px var(--font);font-style:normal;text-align:center;letter-spacing:.02em}
  .sb-tab-main i{width:50px;height:50px;margin-top:-22px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--brand),var(--sky));box-shadow:0 8px 20px rgba(29,20,184,.35),0 0 0 5px #fff}
  .sb-tab-main.on i{background:linear-gradient(135deg,var(--accent-600),var(--accent))}
  .sb-tabbar a.sb-tab-main{color:var(--ink-2);justify-content:flex-end;padding-bottom:13px}
  .sb-footer{padding-bottom:calc(62px + 1.75rem + env(safe-area-inset-bottom))}
  .sb-wa{right:.9rem;bottom:calc(62px + .9rem + env(safe-area-inset-bottom));height:50px;min-width:50px;padding:0 11px}
  #btt{right:1.1rem;bottom:calc(62px + 4.6rem + env(safe-area-inset-bottom))}
  .sb-install-bar{right:4.6rem;bottom:calc(62px + .9rem + env(safe-area-inset-bottom))}
  .mob-nav{padding-bottom:calc(62px + 3rem + env(safe-area-inset-bottom))}
  body:has(dialog[open]) .sb-tabbar{display:none}
}
@media (display-mode:standalone) and (max-width:760px){
  /* The tab bar already carries these, so the header stays light inside the app */
  .hdr-actions>.sb-btn,.hdr-login{display:none}
  body{overscroll-behavior-y:contain}
}
@media (display-mode:standalone) and (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  ::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}
}
@media print{.sb-tabbar,.sb-toast{display:none!important}}

/* ── My SBGeeks hub (/my.php) ───────────────────────────────────────────── */
.my{background:var(--bg-soft);min-height:70vh}
.my-wrap{max-width:720px;margin:0 auto;padding:0 1.125rem}
.my-hero{background:var(--navy);background-image:radial-gradient(520px 300px at 92% -20%,rgba(11,138,214,.5),transparent 62%),radial-gradient(460px 320px at -5% 120%,rgba(29,20,184,.75),transparent 60%);color:#fff;padding:1.75rem 0 3.25rem}
.my-hero h1{font:800 1.6rem/1.2 var(--display);letter-spacing:-.02em;color:#fff}
.my-hello{font:600 .9rem/1.3 var(--font);color:rgba(255,255,255,.72);margin-bottom:.3rem}
.my-id{display:flex;align-items:center;gap:.9rem}
.my-av{width:54px;height:54px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font:800 1.05rem/1 var(--display);background:linear-gradient(135deg,var(--accent),var(--accent-600));color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.18)}
.my-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1.4rem}
.my-stats a{background:rgba(255,255,255,.09);border:1px solid var(--navy-line);border-radius:var(--r);padding:.8rem .5rem;text-align:center;color:#fff;text-decoration:none}
.my-stats a:active{background:rgba(255,255,255,.16)}
.my-stats b{display:block;font:800 1.45rem/1 var(--display)}
.my-stats span{display:block;margin-top:.35rem;font-size:.72rem;color:rgba(255,255,255,.72)}
.my-auth{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1.4rem}
.my-body{margin-top:-1.75rem;padding-bottom:2.5rem;display:grid;gap:1.4rem}
.my-body>*{min-width:0}
.my-h{font:800 1.05rem/1.3 var(--display);color:var(--ink);margin-bottom:.75rem}
.my-h-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.my-h-row a,.my-card>header a{font:700 .82rem/1 var(--font);color:var(--brand);text-decoration:none;white-space:nowrap}
.my-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:.9rem .5rem;box-shadow:var(--sh-2)}
.my-tiles a{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.35rem .15rem;text-align:center;font:600 .72rem/1.25 var(--font);color:var(--ink-2);text-decoration:none;border-radius:var(--r);transition:transform .12s}
.my-tiles a:active{transform:scale(.94)}
.my-tiles a>span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand)}
.my-tiles a:nth-child(4n+2)>span{background:var(--sky-50);color:var(--sky)}
.my-tiles a:nth-child(4n+3)>span{background:var(--accent-100);color:var(--accent-600)}
.my-tiles a:nth-child(4n+4)>span{background:var(--ok-50);color:var(--ok)}
.my-tiles--soft{box-shadow:var(--sh-1);row-gap:1rem}
.my-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);overflow:hidden}
.my-card>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem .35rem}
.my-card>header h2{font:800 1rem/1.3 var(--display);color:var(--ink)}
.my-list{list-style:none;margin:0;padding:0}
.my-list li+li{border-top:1px solid var(--line-2)}
.my-row{display:flex;align-items:center;gap:.8rem;padding:.85rem 1.1rem;min-height:64px;color:var(--ink);text-decoration:none}
a.my-row:active{background:var(--bg-soft)}
.my-row-ico{width:40px;height:40px;border-radius:12px;flex-shrink:0;display:grid;place-items:center;background:var(--brand-50);color:var(--brand)}
.my-row-ico--wa{background:#e3f9ec;color:#128c4a}
.my-row-main{flex:1;min-width:0}
.my-row-main b{display:block;font:700 .92rem/1.3 var(--font);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.my-row-main span{display:block;font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.my-row-end{flex-shrink:0;text-align:right;color:var(--faint);display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}
.my-row-end b{font:800 .92rem/1 var(--font);color:var(--ink)}
.my-pill{font:700 .66rem/1 var(--font);padding:.28rem .5rem;border-radius:var(--pill);text-transform:uppercase;letter-spacing:.04em}
.my-pill--ok{background:var(--ok-50);color:var(--ok)}
.my-pill--warn{background:#fdf1dc;color:var(--warn)}
.my-pill--err{background:var(--err-50);color:var(--err)}
.my-score{width:42px;height:42px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font:800 .95rem/1 var(--display);border:3px solid currentColor}
.my-score--ok{color:var(--ok)}.my-score--warn{color:var(--warn)}.my-score--err{color:var(--err)}
.my-empty{padding:.5rem 1.1rem 1.2rem}
.my-empty p{font-size:.9rem;color:var(--muted);line-height:1.55;margin-bottom:.9rem}
.my-why .sb-checks{padding:.4rem 1.1rem 1.2rem}
.my-resume{display:flex;align-items:center;gap:.8rem;padding:.9rem 1.1rem;border-radius:var(--r-lg);background:#fff;border:1.5px solid var(--accent);box-shadow:var(--sh-2);color:var(--accent-600);text-decoration:none}
.my-resume-ico{width:42px;height:42px;border-radius:12px;flex-shrink:0;display:grid;place-items:center;background:var(--accent-100);color:var(--accent-600)}
.my-resume>span:nth-child(2){flex:1;min-width:0}
.my-resume b{display:block;font:800 .95rem/1.3 var(--font);color:var(--ink)}
.my-resume span span{display:block;font-size:.8rem;color:var(--muted);line-height:1.4}
.my-scroll{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 -1.125rem;padding:.15rem 1.125rem .6rem;scroll-padding-left:1.125rem;scrollbar-width:none}
.my-scroll::-webkit-scrollbar{display:none}
.my-post,.my-tool{flex:0 0 68%;max-width:260px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--sh-1)}
.my-post img,.my-post-ph{display:block;width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;background:var(--brand-50)}
.my-post-ph{display:grid;place-items:center;color:var(--brand)}
.my-post b{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font:700 .88rem/1.4 var(--font);margin:.75rem .85rem .9rem}
.my-tool{flex-basis:58%;max-width:220px;padding:1rem}
.my-tool>span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--brand-50);color:var(--brand);margin-bottom:.7rem}
.my-tool b{display:block;font:700 .9rem/1.3 var(--font)}
.my-tool small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:.3rem;font-size:.78rem;line-height:1.45;color:var(--muted)}
.my-foot{display:grid;gap:.6rem}
.my-foot [hidden]{display:none}
.my-out{width:100%;padding:.9rem;border:0;border-radius:var(--r);background:var(--err-50);color:var(--err);font:700 .95rem/1 var(--font);cursor:pointer}
.my-signed{text-align:center;font-size:.78rem;color:var(--faint)}
@media (max-width:360px){.my-tiles a{font-size:.66rem}.my-tiles a>span{width:42px;height:42px}.my-auth{grid-template-columns:1fr}}
@media (min-width:761px){.my-hero{padding:2.5rem 0 4rem}.my-scroll{margin:0;padding-left:0;padding-right:0}.my-post{flex-basis:240px}.my-tool{flex-basis:200px}}

/* ── Homepage: free SEO audit box and featured tools ──────────────────── */
.sb-hero-audit{margin-top:1.75rem;max-width:580px}
.sb-hero-audit label{display:block;font-weight:700;font-size:.92rem;color:#fff;margin-bottom:.55rem}
.sb-hero-audit-row{display:flex;gap:.45rem;background:#fff;border-radius:16px;padding:.4rem;box-shadow:0 14px 36px rgba(0,0,0,.28)}
.sb-hero-audit-row input{flex:1;min-width:0;border:0;background:transparent;font:500 1rem/1.4 var(--font);color:var(--ink);padding:.7rem .85rem;border-radius:11px}
.sb-hero-audit-row input:focus{outline:2px solid var(--brand);outline-offset:0}
.sb-hero-audit-row .sb-btn{white-space:nowrap}
.sb-hero-audit small{display:block;margin-top:.65rem;color:rgba(255,255,255,.72);font-size:.82rem}
.sb-hero-alt{margin-top:1.1rem;font-size:.9rem;color:rgba(255,255,255,.75)}
.sb-hero-alt a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.sb-tools-feature{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:1.25rem;align-items:stretch}
.sb-tf-main{border:2px solid var(--brand-100)}
.sb-tf-note{display:flex;gap:.45rem;align-items:flex-start;margin-top:1rem;font-size:.85rem;color:var(--muted);line-height:1.55}
.sb-tf-note svg{flex:none;margin-top:.15rem}
.sb-tf-side{display:flex;flex-direction:column}
.sb-tf-side .sb-more{margin-top:auto;padding-top:1rem}
@media (max-width:860px){.sb-tools-feature{grid-template-columns:1fr}}
@media (max-width:520px){.sb-hero-audit-row{flex-direction:column}.sb-hero-audit-row .sb-btn{width:100%;justify-content:center}}

/* Hub card headings: say which audit a list is (SEO vs GBP). */
.my-card h2 small{font-size:.72rem;font-weight:600;color:var(--muted);margin-left:.35rem}
