/*
Theme Name: Carsonix Child
Theme URI: https://www.carsonix.com
Description: Carsonix Inc. design system for the Elementor rebuild. Child of Hello Elementor.
Author: Carsonix Inc.
Template: hello-elementor
Version: 1.0.0
Text Domain: carsonix-child
*/

/*
 * Carsonix Inc. — complete site stylesheet
 * Generated 2026-09-20 from the 26 approved artifact pages.
 *
 * Structure:
 *   PART 1  design system   — tokens, header/footer, shared components (every page)
 *   PART 2+ page bundles    — page-specific components, namespaced, zero selector
 *                             collisions (verified across all 13 bundles)
 *
 * Total ~118 KB raw / ~19 KB gzipped for the entire site.
 * Loaded once as the child theme stylesheet; do not paste into Elementor.
 */

/* ============================================================
   PART 1 — DESIGN SYSTEM (applies to every page)
   ============================================================ */
:root{
    --navy:#02286e;
    --navy-2:#0d3f96;
    --ink:#0b1220;
    --ink-2:#4d5872;
    --ink-3:#8791a8;
    --blue:#2f6fed;
    --blue-dim:#5c86ef;
    --ice-50:#f6f9ff;
    --ice-100:#eef3fd;
    --ice-200:#e1e9fb;
    --ice-300:#cfdbf7;
    --paper:#ffffff;
    --line:#e3e8f5;
    --emerald:#0e9f6a;
    --emerald-dark:#0a7d54;
    --emerald-50:#e9f9f1;
    --amber:#ee9f2e;
    --shadow-sm:0 1px 2px rgba(10,42,94,.07);
    --shadow-md:0 14px 34px rgba(10,42,94,.11);
    --shadow-lg:0 30px 70px rgba(10,42,94,.18);
    --radius-sm:10px;
    --radius:18px;
    --radius-lg:26px;
    --font-display:'Sora', ui-sans-serif, system-ui, sans-serif;
    --font-body:'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
    --font-mono:'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
    --font-round:'Fredoka', ui-rounded, var(--font-display);
    --wrap:1680px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--font-body);
    -webkit-font-smoothing:antialiased;
    line-height:1.5;
  }
  img,svg{max-width:100%;}
  h1,h2,h3,h4{font-family:var(--font-display); color:var(--navy); margin:0; text-wrap:balance; letter-spacing:-0.01em;}
  p{margin:0;}
  a{color:inherit; text-decoration:none;}
  ul{margin:0; padding:0; list-style:none;}
  button{font-family:inherit;}

  .wrap{max-width:var(--wrap); margin:0 auto; padding:0 32px;}
  @media (max-width:640px){ .wrap{padding:0 20px;} }

  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-family:var(--font-mono); font-size:12px; font-weight:600;
    letter-spacing:.08em; text-transform:uppercase; color:var(--blue);
  }
  .eyebrow .dot{width:6px; height:6px; border-radius:50%; background:var(--emerald); flex:none;}

  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-family:var(--font-body); font-weight:700; font-size:15px;
    padding:14px 24px; border-radius:999px; border:1px solid transparent;
    cursor:pointer; white-space:nowrap; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  .btn-primary{
    background:linear-gradient(180deg, #27d47f 0%, #14a061 100%);
    color:#fff; border:none;
    font-family:var(--font-display); font-weight:800; letter-spacing:.01em;
    box-shadow:inset 0 1px 1px rgba(255,255,255,.55), inset 0 -7px 10px rgba(4,70,42,.28), 0 10px 22px rgba(13,140,80,.4);
  }
  .btn-primary:hover{
    background:linear-gradient(180deg, #22c576 0%, #109358 100%);
    transform:translateY(-1px);
    box-shadow:inset 0 1px 1px rgba(255,255,255,.55), inset 0 -7px 10px rgba(4,70,42,.32), 0 14px 28px rgba(13,140,80,.46);
  }
  .btn-ghost{background:var(--paper); color:var(--navy); border-color:var(--line); box-shadow:var(--shadow-sm);}
  .btn-ghost:hover{border-color:var(--blue); color:var(--blue); transform:translateY(-1px);}
  .btn-sm{padding:13px 26px; font-size:15.5px;}

  /* ---------- header ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:var(--navy);
    box-shadow:0 8px 24px rgba(6,20,46,.18);
  }
  /* Sticky header under the WordPress admin bar (logged-in users only: body.admin-bar).
     Two <header> elements are nested on the WordPress site: Elementor's Theme Builder wrapper
     (<header class="elementor-location-header">, a child of <body>) and the design's <header>
     inside it. This rule matches both, but only the outer one can stick (its containing block is
     <body>; the inner one's parent is exactly as tall as it is), so `top` matters on that one.
     Offsets follow WordPress's own admin-bar breakpoints: 32px bar; 46px at <=782px; and at
     <=600px core makes #wpadminbar position:absolute, so it scrolls away and the header must
     stick flush at 0. Nothing shrinks on scroll in this design; only the 900px rules below. */
  .admin-bar header{top:32px;}
  @media (max-width:782px){ .admin-bar header{top:46px;} }
  @media (max-width:600px){ .admin-bar header{top:0;} }
  .nav{display:flex; align-items:center; justify-content:space-between; height:104px; gap:24px;}
  .logo{display:flex; align-items:center;}
  .logo-img{height:55px; width:auto; display:block;}
  .navlinks{display:flex; align-items:center; gap:26px; font-size:17px; font-weight:600; color:rgba(255,255,255,.8);}
  .navlinks a{position:relative; padding:6px 0;}
  .navlinks a:hover{color:#fff;}
  .navlinks a.active{color:#fff;}
  .navlinks a.active::after{content:""; position:absolute; left:0; right:0; bottom:-8px; height:2px; border-radius:2px; background:var(--emerald);}
  .navcta{display:flex; align-items:center; gap:20px;}
  .navcta .phone{display:flex; flex-direction:column; align-items:flex-end; font-size:14px; color:rgba(255,255,255,.6); font-weight:600; line-height:1.3;}
  .navcta .phone span{font-size:12px; white-space:nowrap;}
  .navcta .phone b{color:#fff; font-family:var(--font-mono); font-size:16.5px; font-weight:600;}
  .burger{display:none; background:none; border:none; padding:6px; color:#fff;}
  .burger svg{stroke:#fff;}
  @media (max-width:900px){
    .navlinks, .navcta .phone{display:none;}
    .burger{display:block; padding:2px;}
    .nav{height:78px; gap:12px;}
    .logo{flex-shrink:0;}
    .logo-img{height:34px;}
    .navcta{gap:8px;}
    .navcta .btn-sm{padding:9px 14px; font-size:13.5px;}
  }
  .nav-dropdown{position:relative;}.nav-dropdown::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);width:260px;height:24px;}
  .nav-drop-trigger{display:inline-flex; align-items:center; gap:6px; cursor:pointer;}
  .nav-drop-trigger svg{stroke:currentColor; transition:transform .18s ease;}
  .nav-dropdown:hover .nav-drop-trigger svg, .nav-dropdown:focus-within .nav-drop-trigger svg{transform:rotate(180deg);}
  .nav-dropdown-panel{
    position:absolute; top:calc(100% + 20px); left:50%; transform:translateX(-50%) translateY(6px);
    min-width:232px; background:#fff; border-radius:14px; padding:10px; box-shadow:var(--shadow-lg);
    opacity:0; visibility:hidden; pointer-events:none; transition:opacity .16s ease, transform .16s ease; z-index:60;
  }
  .nav-dropdown-panel::before{content:""; position:absolute; top:-5px; left:50%; transform:translateX(-50%) rotate(45deg); width:12px; height:12px; background:#fff; border-radius:2px;}
  .nav-dropdown:hover .nav-dropdown-panel, .nav-dropdown:focus-within .nav-dropdown-panel{
    opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
  }
  .navlinks .nav-dropdown-panel a{display:block; padding:11px 14px; border-radius:9px; font-size:15px; font-weight:600; color:var(--ink); color:var(--navy); white-space:nowrap;}
  .navlinks .nav-dropdown-panel a:hover{background:var(--ice-50); color:var(--blue);}

  /* ---------- hero ---------- */
  .hero{
    position:relative; overflow:hidden;
    background:linear-gradient(135deg, #ffffff 0%, var(--ice-50) 45%, var(--ice-100) 100%);
    padding:28px 0 0;
  }
  .hero::before{
    content:""; position:absolute; top:-220px; right:-160px; width:640px; height:640px; border-radius:50%;
    background:radial-gradient(circle, rgba(47,111,237,.16), rgba(47,111,237,0) 70%);
    pointer-events:none;
  }
  .hero::after{
    content:""; position:absolute; left:-200px; bottom:-260px; width:520px; height:520px; border-radius:50%;
    background:radial-gradient(circle, rgba(14,159,106,.10), rgba(14,159,106,0) 70%);
    pointer-events:none;
  }
  .hero-grid{
    position:relative; display:grid; grid-template-columns:660px 1fr; gap:56px; align-items:flex-start;
  }
  @media (max-width:1180px){ .hero-grid{grid-template-columns:1fr; gap:48px;} }

  .pill{
    display:inline-flex; align-items:center; gap:9px; padding:10px 18px 10px 12px;
    background:#fff; border:1px solid var(--line); border-radius:999px; box-shadow:var(--shadow-sm);
    font-size:14.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-2);
  }
  .pill .sep{display:inline-block; width:7px; height:7px; margin:0 1px; border-radius:50%; background:var(--emerald); box-shadow:0 0 0 3px var(--emerald-50); vertical-align:middle;}
  .pill b{color:var(--blue); font-weight:800;}
  @media (max-width:500px){
    .pill-right .pill{font-size:11.5px; letter-spacing:.02em; padding:9px 16px 9px 10px; white-space:nowrap;}
  }

  .hero-top{position:relative; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; padding:16px 0 56px;}
  .leaf-divider{display:flex; align-items:center; gap:14px; flex:1; justify-content:center; min-width:100px;}
  .leaf-divider i{flex:1; max-width:190px; height:2px; background:linear-gradient(90deg, rgba(47,111,237,0) 0%, rgba(47,111,237,.45) 18%, rgba(47,111,237,.45) 82%, rgba(47,111,237,0) 100%);}
  .leaf-divider span{display:flex; align-items:center; justify-content:center; line-height:1;}
  .leaf-divider svg{width:42px; height:44px; display:block;}
  .pill-right{position:relative; display:inline-flex; align-items:center;}
  .tagline{
    position:absolute; top:100%; right:0; margin-top:12px;
    font-family:var(--font-display); font-style:italic; font-weight:700; font-size:15px; color:var(--navy); white-space:nowrap;
    text-decoration:none; display:inline-block; padding-bottom:7px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath d='M2,9 Q50,-1 98,9' stroke='%232f6fed' stroke-width='2.2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:bottom center; background-size:100% 8px;
  }
  @media (max-width:760px){ .hero-top{justify-content:center; text-align:center;} .leaf-divider{order:3; flex-basis:100%;} .pill-right{flex-direction:column; flex-basis:100%; justify-content:center; align-items:center;} .tagline{position:static; margin-top:12px; display:block;} }

  .hero h1{font-size:clamp(34px, 4.4vw, 54px); line-height:1.06; font-weight:800; margin-top:22px; max-width:54ch;}
  .hero h1 .accent{ color:var(--blue); }
  .hero .lede{margin-top:20px; font-size:17.5px; color:var(--ink-2); max-width:54ch; line-height:1.65;}
  .hero .sub{margin-top:14px; font-size:15px; color:var(--ink-3); max-width:56ch; line-height:1.7; text-align:justify;}
  .hero .thankyou{margin-top:18px; font-weight:700; color:var(--navy); font-size:15.5px; text-align:center; max-width:56ch;}
  .hero-cta{display:flex; flex-wrap:wrap; align-items:center; gap:14px;}
  .hero-cta .btn-primary{padding:16px 28px; font-size:15.5px;}

  .hero-feats{display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px 4px; margin-top:46px; padding-bottom:60px;}
  @media (max-width:960px){ .hero-feats{padding-bottom:40px;} }
  .feat-chip{
    display:flex; align-items:center; gap:9px; background:transparent; border:none;
    padding:0; font-size:14.5px; font-weight:600; color:var(--ink-2); box-shadow:none; white-space:nowrap;
  }
  .feat-chip svg{width:18px; height:18px; stroke:var(--emerald); flex:none;}

  /* award panel visual */
  .hero-visual{position:relative; display:flex; justify-content:flex-end; min-width:0;}
  .award-col{width:100%; max-width:100%; display:flex; flex-direction:column; gap:24px;}
  .award-col .hero-cta{justify-content:flex-end;}
  .award-panel{
    position:relative; width:100%; background:linear-gradient(160deg, #fff, var(--ice-50));
    border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
    padding:32px 30px 26px;
  }
  @media (max-width:960px){ .award-col .hero-cta{justify-content:flex-start;} }

  .hero-cmp{
    position:relative; width:100%; background:linear-gradient(160deg, #fff, var(--ice-50));
    border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
    padding:30px 28px 26px; overflow:hidden;
  }
  .hero-cmp::before{content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg, var(--blue), var(--emerald));}
  .hero-cmp .eyebrow{margin-bottom:18px;}
  .hero-cmp-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .hero-cmp-grid .cmp-col{padding:20px 16px 18px; border-radius:14px; box-shadow:none;}
  .hero-cmp-grid .cmp-col:hover{transform:none; box-shadow:none;}
  .hero-cmp-grid .cmp-title{gap:8px;}
  .hero-cmp-grid .cmp-title h3{font-size:15.5px;}
  .hero-cmp-grid .mini-badge{width:22px; height:22px;}
  .hero-cmp-grid .mini-badge svg{width:11px; height:11px;}
  .hero-cmp-grid .cmp-icons{gap:8px; margin:14px 0 16px;}
  .hero-cmp-grid .cmp-ic{width:38px; height:38px; border-radius:11px;}
  .hero-cmp-grid .cmp-ic svg{width:18px; height:18px;}
  .hero-cmp-grid .cmp-list{gap:10px; max-width:none;}
  .hero-cmp-grid .cmp-list li{font-size:12px;}
  .hero-cmp .mc-link{display:inline-flex; align-items:center; gap:6px; margin-top:22px; font-size:13px; font-weight:700; color:var(--blue);}
  .hero-cmp .mc-link svg{stroke:var(--blue); width:13px; height:13px;}
  .hero-cmp .mc-link:hover{color:var(--navy);}
  @media (max-width:520px){ .hero-cmp-grid{grid-template-columns:1fr;} }
  .ap-kicker{display:block; font-family:var(--font-mono); font-size:11.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--emerald-dark);}
  .ap-head h3{margin-top:10px; font-size:22px;}
  .ap-badges{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:24px;}
  .ap-badge{display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center;}
  .ap-badge img{width:100%; max-width:158px; border-radius:12px; box-shadow:var(--shadow-sm); border:1px solid var(--ice-200); background:#fff;}
  .ap-badge a{display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; color:var(--blue);}
  .ap-badge a svg{stroke:var(--blue); width:12px; height:12px;}
  .ap-badge a:hover{color:var(--navy);}
  .ap-foot{margin-top:22px; padding-top:18px; border-top:1px solid var(--line); font-size:12.5px; color:var(--ink-3); line-height:1.6;}

  .hero-cmp-h2{margin-top:6px; font-size:clamp(16px,1.04vw,20px); font-weight:800; color:var(--navy); line-height:1.3;}

  /* mini break-fix vs managed-it widget (hero) */
  .mini-cmp{
    position:relative; width:100%; background:linear-gradient(160deg, #fff, var(--ice-50));
    border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
    padding:28px 26px 26px; overflow:hidden;
  }
  .mini-cmp::before{content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg, var(--blue), var(--emerald));}
  .mc-eyebrow{display:block; font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3);}
  .mini-cmp h3{margin-top:8px; font-size:19.5px; font-weight:800; color:var(--navy);}
  .mini-cmp h3 span{color:var(--ink-3); font-weight:600; font-size:.72em;}
  .mc-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:20px;}
  .mc-col{border-radius:14px; padding:16px 14px;}
  .mc-col.bad{background:#fdeceb;}
  .mc-col.good{background:var(--emerald-50);}
  .mc-col .mini-badge{margin-bottom:8px;}
  .mc-col b{display:block; font-size:13.5px; font-weight:800; margin-bottom:10px;}
  .mc-col.bad b{color:#b8433a;}
  .mc-col.good b{color:var(--emerald-dark);}
  .mc-col ul{display:flex; flex-direction:column; gap:8px;}
  .mc-col li{font-size:12px; color:var(--ink-2); line-height:1.4; padding-left:15px; position:relative;}
  .mc-col.bad li::before{content:"\2013"; position:absolute; left:0; color:#c05a52; font-weight:700;}
  .mc-col.good li::before{content:"\2713"; position:absolute; left:0; color:var(--emerald); font-weight:700;}
  .mc-link{display:inline-flex; align-items:center; gap:6px; margin-top:20px; font-size:13px; font-weight:700; color:var(--blue);}
  .mc-link svg{stroke:var(--blue); width:13px; height:13px;}
  .mc-link:hover{color:var(--navy);}

  /* standalone awards showcase section */
  .awards-showcase{background:radial-gradient(1300px circle at 10% 0%, #eceef1 0%, #f7f8f9 45%, #ffffff 100%); position:relative; overflow:hidden; padding:96px 0;}
  .awards-showcase::before{content:""; position:absolute; top:-160px; right:-160px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(148,163,184,.16), rgba(148,163,184,0) 70%); pointer-events:none;}
  .awards-showcase::after{content:""; position:absolute; bottom:-180px; left:-140px; width:460px; height:460px; border-radius:50%; background:radial-gradient(circle, rgba(148,163,184,.12), rgba(148,163,184,0) 70%); pointer-events:none;}
  .aw-inner{position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; gap:42px;}
  .aw-text-head{max-width:700px;}
  .aw-text-body{max-width:1180px;}
  .aw-kicker{display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--emerald-dark); background:#fff; padding:8px 16px; border-radius:999px; box-shadow:var(--shadow-sm);}
  .aw-kicker svg{stroke:var(--emerald-dark); width:14px; height:14px; flex:none;}
  .aw-text-head h2{margin-top:20px; font-size:clamp(26px,3vw,36px); font-weight:800; color:var(--navy);}
  .aw-text-body p{margin-top:14px; font-size:16px; color:var(--ink-2); line-height:1.65;}
  .aw-text-body p b{color:var(--navy); font-weight:800;}
  .aw-badges{position:relative; display:flex; justify-content:center; gap:40px; flex-wrap:wrap;}
  .aw-heart-mark{position:absolute; top:50%; width:340px; height:340px; pointer-events:none; filter:drop-shadow(0 16px 26px rgba(217,46,120,.28));}
  .aw-heart-left{left:-400px; transform:translateY(-50%) rotate(-20deg);}
  .aw-heart-right{right:-400px; transform:translateY(-50%) rotate(20deg);}
  .aw-heart-text{font-family:var(--font-round); font-weight:700; fill:#fff; fill-opacity:.97;}
  .aw-heart-text-1{font-size:32px;}
  .aw-heart-text-2{font-size:16.5px; letter-spacing:.04em;}
  @media (max-width:1720px){ .aw-heart-mark{display:none;} }
  .aw-badge{display:flex; flex-direction:column; align-items:center; gap:16px; background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); padding:32px 36px 28px;}
  .aw-badge img{width:230px; height:auto; border-radius:12px;}
  .aw-badge a{display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--blue);}
  .aw-badge a svg{stroke:var(--blue); width:13px; height:13px;}
  .aw-badge a:hover{color:var(--navy);}
  @media (max-width:760px){ .aw-badges{gap:24px;} .aw-badge{padding:24px 22px 22px;} .aw-badge img{width:180px;} }

  /* ---------- section shells ---------- */
  section{padding:104px 0;}
  .section-head{max-width:640px; margin-bottom:52px;}
  .section-head h2{font-size:clamp(26px,3vw,36px); font-weight:700; margin-top:14px;}
  .section-head p{margin-top:14px; font-size:16px; color:var(--ink-2); line-height:1.65;}
  .section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

  .trust{background:var(--navy); padding:76px 0 0; position:relative; overflow:hidden;}
  .trust::before{content:""; position:absolute; top:-180px; right:-160px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.20), rgba(47,111,237,0) 70%); pointer-events:none;}
  .trust .lbl{text-align:center; font-family:var(--font-display); font-weight:800; font-size:clamp(24px,2.6vw,32px); color:#fff; margin-bottom:38px; position:relative;}
  .marquee{position:relative; overflow:hidden; max-width:1340px; margin:0 auto; background:#fff; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); padding:33px 0; -webkit-mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);}
  .marquee-track{display:flex; align-items:center; gap:72px; width:max-content; animation:marquee 52s linear infinite; padding:0 36px;}
  .marquee:hover .marquee-track{animation-play-state:paused;}
  @keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  @media (prefers-reduced-motion:reduce){ .marquee-track{animation:none;} }
  .mq-item{display:flex; align-items:center; gap:9px; font-family:var(--font-display); font-weight:800; font-size:23px; letter-spacing:-.01em; white-space:nowrap;}
  .mq-item svg{width:22px; height:22px; flex:none; stroke:currentColor;}
  .mq-item.c1{color:var(--navy);}
  .mq-item.c2{color:var(--blue);}
  .mq-item.c3{color:var(--emerald-dark);}
  .mq-item.c4{color:var(--ink-2);}
  .mq-item.c5{color:#8a5cf0;}
  .mq-logo{height:50px; width:auto; display:block; flex:none; object-fit:contain;}
  .mq-logo-box{width:241px; height:50px; display:flex; align-items:center; justify-content:center; flex:none;}
  @media (max-width:760px){ .marquee-track{gap:44px;} .mq-item{font-size:19px;} .mq-logo{height:38px;} .mq-logo-box{width:183px; height:38px;} }
  .tc-divider{max-width:var(--wrap); margin:64px auto 0; padding:0 32px;}
  .tc-divider i{display:block; height:1px; background:rgba(255,255,255,.16);}

  /* trust band */
  .trust-band{background:linear-gradient(160deg, var(--navy), var(--navy-2)); padding:64px 0 56px; position:relative; overflow:hidden;}
  .tb-head{position:relative; max-width:640px; margin:0 auto 40px; text-align:center;}
  .tb-head h2{font-size:clamp(22px,2.6vw,30px); font-weight:800; color:#fff;}
  .tb-head p{margin-top:10px; font-size:15px; color:rgba(255,255,255,.7); line-height:1.6;}
  .tb-grid{position:relative; display:flex; flex-wrap:wrap; gap:20px; align-items:stretch;}
  .tb-card{flex:1 1 240px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:var(--radius); padding:26px 24px;}
  .tb-card.wide{flex:2 1 380px;}
  .tb-ic{width:40px; height:40px; border-radius:11px; background:rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
  .tb-ic svg{width:20px; height:20px; stroke:#fff;}
  .tb-card h3{font-size:18.5px; font-weight:700; color:#fff; font-family:var(--font-body);}
  .tb-card p{margin-top:9px; font-size:15px; color:rgba(255,255,255,.72); line-height:1.65;}
  .tb-industries{margin-top:14px; display:grid; grid-template-columns:repeat(3, 1fr); column-gap:22px; row-gap:9px;}
  .tb-industries li{font-size:14.5px; color:rgba(255,255,255,.72); line-height:1.5;}
  .tb-industries li.more{color:rgba(255,255,255,.5);}
  @media (max-width:640px){ .tb-industries{grid-template-columns:repeat(2, 1fr);} }
  @media (max-width:420px){ .tb-industries{grid-template-columns:1fr;} }

  /* services */
  .services{background:#fff; position:relative; overflow:hidden;}
  .services::before{content:""; position:absolute; top:-120px; left:-160px; width:520px; height:520px; border-radius:50%;
    background:radial-gradient(circle, rgba(47,111,237,.08), transparent 70%);}
  .svc-grid{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
  @media (max-width:980px){ .svc-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .svc-grid{grid-template-columns:1fr;} }
  .svc-card{
    background:var(--ice-50); border:1px solid var(--ice-200); border-radius:var(--radius); padding:26px 22px;
    box-shadow:var(--shadow-sm); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
  }
  .svc-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--ice-300); background:#fff;}
  .svc-ic{width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:16px;
    background:linear-gradient(135deg, var(--ice-100), var(--ice-200));}
  .svc-ic svg{width:22px; height:22px; stroke:var(--navy);}
  .svc-card h3{font-size:16px; font-weight:700; font-family:var(--font-body); color:var(--navy);}
  .svc-card p{margin-top:8px; font-size:13.6px; color:var(--ink-2); line-height:1.55;}
  .svc-card.more{
    background:linear-gradient(135deg, var(--navy), var(--navy-2)); border:none; display:flex; flex-direction:column;
    justify-content:center; color:#fff;
  }
  .svc-card.more h3{color:#fff;}
  .svc-card.more p{color:rgba(255,255,255,.72);}
  .svc-card.more .go{margin-top:14px; display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:13.5px; color:#bcd3ff;}
  .svc-card.more .go svg{width:15px; height:15px; stroke:#bcd3ff;}

  /* proactive vs reactive */
  .compare{background:linear-gradient(180deg, #fff, var(--ice-50));}
  .cmp-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px; position:relative;}
  @media (max-width:800px){ .cmp-grid{grid-template-columns:1fr;} }
  .cmp-col{position:relative; text-align:center; border-radius:24px; padding:36px 30px 32px; box-shadow:var(--shadow-md); transition:transform .18s ease, box-shadow .18s ease;}
  .cmp-title{display:flex; align-items:center; justify-content:center; gap:10px;}
  .mini-badge{width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:none; box-shadow:0 3px 8px rgba(0,0,0,.07);}
  .mini-badge svg{width:12px; height:12px;}
  .mini-badge.bad{background:#fdeceb; transform:rotate(-12deg);}
  .mini-badge.bad svg{stroke:#c0463c;}
  .mini-badge.good{background:var(--emerald-50); transform:rotate(10deg);}
  .mini-badge.good svg{stroke:var(--emerald);}
  .cmp-title .mini-badge:last-child.bad{transform:rotate(12deg);}
  .cmp-title .mini-badge:last-child.good{transform:rotate(-10deg);}
  .cmp-col:hover{transform:translateY(-3px); box-shadow:var(--shadow-lg);}
  .cmp-col.bad{background:linear-gradient(155deg, #fff 35%, #fdeceb 135%); border:1px solid #f6d4d0;}
  .cmp-col.good{background:linear-gradient(155deg, #fff 35%, var(--emerald-50) 135%); border:1px solid #c9ecdd;}
  .cmp-recommend{
    position:absolute; top:-16px; right:26px; color:#fff;
    font-family:var(--font-display); font-size:14px; font-weight:800; letter-spacing:.02em; text-transform:uppercase;
    padding:10px 22px; border-radius:999px;
    background:linear-gradient(180deg, #27d47f 0%, #14a061 100%);
    box-shadow:inset 0 1px 1px rgba(255,255,255,.55), inset 0 -7px 10px rgba(4,70,42,.28), 0 10px 22px rgba(13,140,80,.4);
  }
  .cmp-icons{display:flex; justify-content:center; gap:16px; margin-bottom:24px;}
  .cmp-ic{width:64px; height:64px; border-radius:22px; display:flex; align-items:center; justify-content:center; flex:none; border:none; transition:transform .22s ease;}
  .cmp-ic:nth-child(1){transform:rotate(-9deg);}
  .cmp-ic:nth-child(2){transform:translateY(-5px);}
  .cmp-ic:nth-child(3){transform:rotate(9deg);}
  .cmp-col:hover .cmp-ic:nth-child(1){transform:rotate(-9deg) translateY(-4px);}
  .cmp-col:hover .cmp-ic:nth-child(2){transform:translateY(-9px);}
  .cmp-col:hover .cmp-ic:nth-child(3){transform:rotate(9deg) translateY(-4px);}
  .cmp-ic.bad{background:linear-gradient(160deg, #ff9c90 0%, #dd3f33 100%); box-shadow:inset 0 1.5px 1.5px rgba(255,255,255,.55), inset 0 -8px 11px rgba(110,20,10,.3), 0 10px 18px rgba(221,63,51,.38);}
  .cmp-ic.bad svg{stroke:#fff; width:29px; height:29px;}
  .cmp-ic.good{background:linear-gradient(160deg, #4fe3a6 0%, #12a065 100%); box-shadow:inset 0 1.5px 1.5px rgba(255,255,255,.55), inset 0 -8px 11px rgba(4,70,42,.3), 0 10px 18px rgba(18,160,101,.38);}
  .cmp-ic.good svg{stroke:#fff; width:29px; height:29px;}
  .cmp-h{font-size:26px; font-weight:800; color:var(--navy);}
  .cmp-sub{display:block; margin-top:4px; font-size:15.5px; font-weight:700;}
  .cmp-col.bad .cmp-sub{color:#c0463c;}
  .cmp-col.good .cmp-sub{color:var(--emerald-dark);}
  .cmp-desc{margin-top:12px; font-size:14px; color:var(--ink-3);}
  .cmp-list{margin-top:26px; display:flex; flex-direction:column; gap:14px; text-align:left; max-width:360px; margin-left:auto; margin-right:auto;}
  .cmp-list li{display:flex; align-items:center; gap:12px; font-size:14.5px; color:var(--ink-2); font-weight:500; line-height:1.4;}
  .dot-ic{width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:none;}
  .dot-ic svg{width:11px; height:11px; stroke:#fff; stroke-width:3;}
  .cmp-list.bad .dot-ic{background:#e1483c;}
  .cmp-list.good .dot-ic{background:var(--emerald);}

  /* certifications */
  .certs{background:var(--navy); padding-top:64px;}
  .certs .section-head p{color:rgba(255,255,255,.68);}
  .certs .eyebrow{color:#9dc0ff;}
  .certs .section-head h2{color:#fff;}
  .comptia-emph{
    display:inline-block; margin-top:16px; font-weight:700; font-size:14px;
    color:rgba(255,255,255,.68);
    background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.25);
    border-radius:999px; padding:10px 22px;
  }
  .comptia-emph em{font-style:normal; text-decoration:underline; text-underline-offset:2px;}
  .cert-row{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  @media (max-width:760px){ .cert-row{grid-template-columns:1fr; max-width:360px; margin:0 auto; gap:32px;} }
  .cert{
    display:flex; flex-direction:column; text-align:center; overflow:hidden;
    background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .cert:hover{transform:translateY(-4px); box-shadow:var(--shadow-lg), 0 0 0 1px var(--ice-300);}
  .cert-badge-box{
    position:relative; padding:30px 26px 26px; background:#fff;
  }
  .cert-img{position:relative; width:100%; max-width:230px; height:auto; aspect-ratio:1/1; object-fit:contain; display:block; margin:0 auto;}
  .cert-divider{height:1px; background:var(--line); margin:0 26px;}
  .cert-body{
    display:flex; flex-direction:column; flex:1; padding:22px 26px 26px;
    background:radial-gradient(circle at 50% 68%, rgba(47,111,237,.16), rgba(47,111,237,0) 68%), linear-gradient(160deg, var(--ice-50) 0%, var(--ice-100) 100%);
  }
  .cert b{display:block; font-size:17px; color:var(--navy); font-family:var(--font-body); font-weight:700; margin-bottom:10px;}
  .cert p{font-size:15.5px; color:var(--ink-2); line-height:1.65; flex:1;}
  .cert-more{margin-top:auto; padding-top:16px; font-size:14px; color:var(--ink-2);}
  .cert-more a{color:var(--blue); font-weight:700; text-decoration:underline; text-underline-offset:2px;}
  .cert-more a:hover{color:var(--navy);}

  /* cta band */
  .cta-band{background:linear-gradient(115deg, var(--ice-100), var(--ice-300) 70%, var(--ice-200)); position:relative; overflow:hidden;}
  .cta-band::before{content:""; position:absolute; right:-140px; top:-140px; width:420px; height:420px; border-radius:50%;
    background:radial-gradient(circle, rgba(255,255,255,.9), transparent 70%);}
  .cta-card{position:relative; max-width:860px; margin:0 auto; background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); padding:52px 56px; text-align:center;}
  .cta-card .eyebrow{justify-content:center;}
  .cta-card h2{margin-top:16px; font-size:clamp(24px,3vw,32px); font-weight:800; max-width:100%; margin-left:auto; margin-right:auto;}
  .cta-card p{margin-top:12px; color:var(--ink-2); font-size:15.5px; max-width:460px; margin-left:auto; margin-right:auto;}
  .cta-actions{margin-top:28px; display:flex; flex-wrap:wrap; justify-content:center; gap:14px;}
  .cta-perks{position:relative; margin-top:28px; display:flex; flex-wrap:wrap; gap:18px;}
  .cta-perk{flex:1 1 220px; background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:24px 22px;}
  .cta-perk-ic{width:40px; height:40px; border-radius:11px; background:linear-gradient(135deg, var(--ice-100), var(--ice-200)); display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
  .cta-perk-ic svg{width:19px; height:19px; stroke:var(--navy);}
  .cta-perk h3{font-size:15px; font-weight:700; color:var(--navy); font-family:var(--font-body);}
  .cta-perk p{margin-top:6px; font-size:13.5px; color:var(--ink-2); line-height:1.55;}
  @media (max-width:640px){ .cta-card{padding:36px 24px;} }

  /* footer */
  footer{background:#03112b; padding:64px 0 28px; position:relative;}
  .foot-grid{display:grid; grid-template-columns:1.3fr 1fr 1.25fr; gap:48px;}
  @media (max-width:860px){ .foot-grid{grid-template-columns:1fr 1fr; row-gap:40px;} .foot-about{grid-column:1 / -1;} }
  @media (max-width:520px){ .foot-grid{grid-template-columns:1fr;} }
  .foot-h{display:inline-block; font-family:var(--font-display); font-size:19px; font-weight:800; color:#fff;}
  .foot-rule{display:flex; align-items:center; gap:7px; margin-top:12px;}
  .foot-about .foot-rule{justify-content:center;}
  .foot-rule i{display:block; width:28px; height:2px; border-radius:2px; background:var(--blue-dim);}
  .foot-rule b{display:block; width:5px; height:5px; border-radius:50%; background:var(--emerald); flex:none;}
  .foot-about{text-align:center;}
  .foot-about p{margin-top:18px; font-size:14px; color:rgba(255,255,255,.68); line-height:1.7; max-width:36ch; margin-left:auto; margin-right:auto;}
  .foot-about p + p{margin-top:12px;}
  .foot-social{display:flex; justify-content:center; align-items:center; gap:22px; margin-top:24px;}
  .foot-social a{display:flex; align-items:center; justify-content:center; transition:opacity .18s ease;}
  .foot-social a:hover{opacity:.7;}
  .foot-social svg{width:42px; height:42px;}
  .foot-links ul{margin-top:24px; display:flex; flex-direction:column; gap:13px;}
  .foot-links li a{display:inline-flex; align-items:center; gap:9px; font-size:14px; color:rgba(255,255,255,.78); font-weight:500;}
  .foot-links li a svg{width:13px; height:13px; stroke:var(--blue-dim); flex:none;}
  .foot-links li a:hover{color:#fff;}
  .foot-bottom{margin-top:52px; padding-top:24px; border-top:1px solid rgba(255,255,255,.15); display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:13px; color:rgba(255,255,255,.6);}
  .foot-bottom sup{font-size:.7em;}

/* ==========================================================================
   Mobile navigation (burger menu) + footer Service Areas links
   Added 2026-09-22 (Jason's carsonix-mobile-fix.zip): the approved design
   showed a burger button under 900px with no menu behind it, and footer
   Service Areas were plain text instead of links. Shared/sitewide, not a
   page block — mobile-nav.js (enqueued in functions.php) toggles
   header.nav-open; --cx-nav-top is set by that script from the header's
   real rendered bottom (accounts for the admin-bar/sticky-header offsets
   above), the value below is only the pre-JS fallback.
   ========================================================================== */
.burger{cursor:pointer; -webkit-tap-highlight-color:transparent; flex:none;}
.burger svg{display:block; width:24px; height:24px; max-width:none;}
@media (max-width:900px){
  header.nav-open .navlinks{
    display:flex; flex-direction:column; align-items:stretch; gap:0;
    position:fixed; left:0; right:0; top:var(--cx-nav-top, 78px); z-index:49;
    max-height:calc(100dvh - var(--cx-nav-top, 78px)); overflow-y:auto; overscroll-behavior:contain;
    background:var(--navy, #02286e); padding:6px 20px 24px;
    box-shadow:0 18px 30px rgba(6,20,46,.35);
    border-top:1px solid rgba(255,255,255,.12);
    font-size:17px; color:#fff;
  }
  header.nav-open .navlinks > a,
  header.nav-open .navlinks .nav-drop-trigger{
    display:flex; align-items:center; justify-content:space-between;
    padding:15px 4px; border-bottom:1px solid rgba(255,255,255,.1); color:#fff;
  }
  header.nav-open .navlinks a.active{color:#fff;}
  header.nav-open .navlinks a.active::after{
    left:-20px; right:auto; top:12px; bottom:12px; width:3px; height:auto; border-radius:0 3px 3px 0;
  }
  header.nav-open .nav-dropdown::after{display:none;}
  header.nav-open .nav-drop-trigger svg{display:none;}
  header.nav-open .nav-dropdown-panel{
    position:static; transform:none; opacity:1; visibility:visible; pointer-events:auto;
    min-width:0; background:transparent; box-shadow:none; border-radius:0;
    padding:4px 0 8px 14px; border-bottom:1px solid rgba(255,255,255,.1);
  }
  header.nav-open .nav-dropdown-panel::before{display:none;}
  header.nav-open .navlinks .nav-dropdown-panel a{
    padding:11px 4px; font-size:15.5px; font-weight:500; color:rgba(255,255,255,.78); background:none; white-space:normal;
  }
  header.nav-open .navlinks .nav-dropdown-panel a:hover,
  header.nav-open .navlinks .nav-dropdown-panel a.active{color:#fff; background:none;}
  header.nav-open .navlinks .nav-dropdown-panel a.active::after{display:none;}
  html.cx-nav-lock, html.cx-nav-lock body{overflow:hidden;}
}

.foot-links ul.foot-areas{gap:11px;}
.foot-areas li{display:flex; align-items:flex-start; gap:9px; font-size:14px; line-height:1.55; color:rgba(255,255,255,.78); font-weight:500;}
.foot-areas li > svg{width:13px; height:13px; stroke:var(--blue-dim, #5c86ef); flex:none; margin-top:4px;}
.foot-links .foot-areas a{display:inline; padding:0; color:rgba(255,255,255,.78); font-weight:500; text-decoration:none;}
.foot-links .foot-areas a:hover{color:#fff; text-decoration:underline; text-underline-offset:3px;}
.foot-areas .sep{margin:0 5px; color:rgba(255,255,255,.4);}
.foot-areas li.all{padding-left:22px; margin-top:2px;}
.foot-links .foot-areas li.all a{color:#9dc0ff; font-weight:700;}

/* ============================================================
   PART 2 — town pages (12)
   ============================================================ */
/* ===== Town-specific SEO page (shared with Richmond Hill) ===== */
.rh-hero{position:relative; overflow:hidden; padding:80px 0 56px; background:linear-gradient(135deg, #ffffff 0%, var(--ice-50) 45%, var(--ice-100) 100%);}
.rh-hero::before{content:""; position:absolute; top:-220px; right:-160px; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.16), rgba(47,111,237,0) 70%); pointer-events:none;}
.rh-hero .section-head{position:relative; max-width:900px;}
.rh-hero .section-head h1{font-size:clamp(30px,3.8vw,46px); font-weight:800; margin-top:14px; color:var(--navy); line-height:1.18;}
.rh-hero .section-head p{font-size:17px; color:var(--ink-2); line-height:1.65; margin-top:16px; max-width:760px;}
.rh-hero-cta{position:relative; margin-top:26px; display:flex; flex-direction:column; align-items:flex-start; gap:14px;}
.rh-back-link{display:inline-flex; align-items:center; gap:7px; font-size:14.5px; font-weight:700; color:var(--blue);}
.rh-back-link svg{width:14px; height:14px; stroke:var(--blue);}
.rh-back-link:hover{color:var(--navy);}

.rh-shell{background:#fff; padding:64px 0 88px;}
.rh-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; align-items:start; max-width:1180px; margin:0 auto;}
@media (max-width:900px){ .rh-grid{grid-template-columns:1fr; gap:36px;} }

/* left column: condensed services checklist */
.rh-check-card{background:linear-gradient(160deg, #ffffff, #f4faf7); border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:32px 30px; position:sticky; top:130px;}
@media (max-width:900px){ .rh-check-card{position:static;} }
.rh-check-head{display:flex; align-items:center; gap:12px; margin-bottom:20px;}
.rh-check-ic{width:44px; height:44px; border-radius:13px; display:flex; align-items:center; justify-content:center; flex:none;
  background:linear-gradient(135deg, var(--ice-100), var(--ice-200));
  box-shadow:inset 0 1.5px 1.5px rgba(255,255,255,.55), inset 0 -8px 11px rgba(10,42,94,.08), 0 8px 16px rgba(47,111,237,.14);}
.rh-check-ic svg{width:20px; height:20px; stroke:var(--blue);}
.rh-check-head h3{font-size:17px; font-weight:800; color:var(--navy); line-height:1.3;}
.rh-check-head div{display:flex; flex-direction:column;}
.rh-check-sub{font-size:12.5px; color:var(--ink-3); margin-top:2px;}
.rh-checklist{display:flex; flex-direction:column;}
.rh-checklist li{display:flex; align-items:center; gap:12px; padding:11px 0; font-size:14.5px; font-weight:600; color:var(--ink-2); border-bottom:1px dashed #dbe9e1;}
.rh-checklist li:last-child{border-bottom:none;}
.rh-checklist .tic{width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:none;
  background:linear-gradient(135deg, #59d69b, #12a065); box-shadow:0 3px 8px rgba(18,160,101,.28);}
.rh-checklist .tic svg{width:11px; height:11px; stroke:#fff; stroke-width:3;}
.rh-check-cta{margin-top:24px; padding-top:20px; border-top:1px solid var(--ice-200);}
.rh-check-cta .btn{width:100%;}
.rh-check-phone{margin-top:14px; text-align:center; font-size:13.5px; color:var(--ink-3);}
.rh-check-phone b{display:block; color:var(--navy); font-family:var(--font-mono); font-size:16px; margin-top:2px;}

/* right column: town-specific write-up */
.rh-prose h2{font-size:clamp(24px,2.8vw,30px); font-weight:800; color:var(--navy); margin-bottom:18px; line-height:1.25;}
.rh-prose p{font-size:15.5px; color:var(--ink-2); line-height:1.8;}
.rh-prose p + p{margin-top:16px;}
.rh-prose .rh-lede{font-size:16.5px; color:var(--ink); font-weight:500;}
.rh-prose-links{margin-top:22px; padding-top:18px; border-top:1px solid var(--ice-200); display:flex; flex-wrap:wrap; gap:10px 22px;}
.rh-prose-links a{display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:700; color:var(--blue);}
.rh-prose-links a svg{width:13px; height:13px; stroke:var(--blue);}
.rh-prose-links a:hover{color:var(--navy);}

/* checklist "see more" link row */
.rh-checklist-more{color:var(--ink-2); font-weight:600;}
.rh-checklist-more a{color:var(--blue); font-weight:700; text-decoration:underline; text-underline-offset:2px;}
.rh-checklist-more a:hover{color:var(--navy);}

/* at-a-glance service area grid (shared component, matches Service Areas page) */
.rh-area-mesh{background:var(--ice-50); padding:72px 0; border-top:1px solid var(--ice-200);}
.sa-glance{max-width:1180px; margin:0 auto; background:linear-gradient(160deg, #ffffff, var(--ice-50)); border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:34px 38px;}
.sa-glance-head{display:flex; align-items:center; gap:14px; margin-bottom:22px;}
.sa-glance-ic{width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; flex:none;
  background:linear-gradient(135deg, var(--ice-100), var(--ice-200));
  box-shadow:inset 0 1.5px 1.5px rgba(255,255,255,.55), inset 0 -8px 11px rgba(10,42,94,.08), 0 8px 16px rgba(47,111,237,.14);}
.sa-glance-ic svg{width:21px; height:21px; stroke:var(--blue);}
.sa-glance-head h3{font-size:18px; font-weight:800; color:var(--navy);}
.sa-glance-sub{font-size:13.8px; color:var(--ink-3); margin-top:2px;}
.sa-glance-sub a{color:var(--blue); font-weight:700; text-decoration:none;}
.sa-glance-sub a:hover{text-decoration:underline;}
.sa-glance-grid{display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--ice-200); border-left:1px solid var(--ice-200); border-radius:10px; overflow:hidden;}
.sa-glance-cell{display:flex; align-items:center; gap:10px; padding:16px 18px; font-size:14px; font-weight:700; color:var(--navy); background:#fff; border-right:1px solid var(--ice-200); border-bottom:1px solid var(--ice-200);}
.sa-glance-cell svg{width:15px; height:15px; stroke:var(--blue); flex:none;}
.sa-glance-cell{cursor:pointer; transition:background .15s ease, color .15s ease;}
.sa-glance-cell:hover{background:var(--ice-50); color:var(--blue);}
.sa-glance-cell.current{background:var(--navy); color:#fff; border-color:var(--navy); cursor:default;}
.sa-glance-cell.current svg{stroke:#fff;}
.sa-glance-cell.current:hover{background:var(--navy); color:#fff;}
@media (max-width:980px){ .sa-glance-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:760px){ .sa-glance-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:480px){ .sa-glance-grid{grid-template-columns:1fr;} }
@media (max-width:600px){ .sa-glance{padding:26px 22px;} }

/* ============================================================
   PART 3 — blog, blog-post
   ============================================================ */
/* ===== shared: hero, layout shell, sidebar widgets ===== */
  .blog-hero{position:relative; overflow:hidden; padding:80px 0 56px; background:linear-gradient(135deg, #ffffff 0%, var(--ice-50) 45%, var(--ice-100) 100%);}
  .blog-hero::before{content:""; position:absolute; top:-220px; right:-160px; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.16), rgba(47,111,237,0) 70%); pointer-events:none;}
  .blog-hero .section-head{max-width:820px;}
  .blog-hero .section-head h1{font-size:clamp(30px,3.6vw,44px); font-weight:800; margin-top:14px; color:var(--navy);}
  .blog-hero .section-head p{font-size:17px; color:var(--ink-2); line-height:1.65;}
  .blog-hero .post-meta{margin-top:20px;}

  .blog-shell{position:relative; overflow:hidden; background:linear-gradient(180deg, var(--ice-100) 0%, var(--ice-200) 100%); padding:64px 0 104px;}
  .blog-shell::before{content:""; position:absolute; top:-200px; right:-160px; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.12), rgba(47,111,237,0) 70%); pointer-events:none;}
  .blog-shell::after{content:""; position:absolute; bottom:-220px; left:-180px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(14,159,106,.10), rgba(14,159,106,0) 70%); pointer-events:none;}
  .blog-shell > .wrap{position:relative; z-index:1;}

  .blog-layout{display:grid; grid-template-columns:1fr 320px; gap:44px; align-items:start; max-width:1180px; margin:0 auto;}
  @media (max-width:900px){ .blog-layout{grid-template-columns:1fr;} }

  /* post meta row (author / date / category) — reused on cards and the article hero */
  .post-meta{display:flex; flex-wrap:wrap; align-items:center; gap:16px; font-size:13px; color:var(--ink-3);}
  .post-meta .pm-item{display:flex; align-items:center; gap:6px;}
  .post-meta .pm-item svg{width:14px; height:14px; stroke:var(--blue-dim); flex:none;}
  .post-meta .pm-cat{font-family:var(--font-mono); font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--blue); font-size:11.5px;}
  .blog-hero .post-meta{color:rgba(11,18,32,.55);}
  .blog-hero .post-meta .pm-item svg{stroke:var(--blue);}

  /* ===== listing page: row cards (same mechanics as the Showcase page's flipped cards) ===== */
  .blog-list{display:flex; flex-direction:column; gap:28px;}

  .blog-card{
    display:flex; flex-direction:row; align-items:stretch; overflow:hidden;
    background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .blog-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-lg), 0 0 0 1px var(--ice-300);}
  .blog-card-media{
    position:relative; flex:0 0 38%; max-width:38%; min-height:200px;
    background:linear-gradient(160deg, var(--ice-100) 0%, var(--ice-200) 100%);
  }
  .blog-card-media img{width:100%; height:100%; object-fit:cover; display:block;}
  .blog-card-body{
    display:flex; flex-direction:column; flex:1; min-width:0; padding:26px 30px;
    border-left:1px solid var(--line);
    background:radial-gradient(circle at 50% 20%, rgba(47,111,237,.12), rgba(47,111,237,0) 62%), linear-gradient(160deg, var(--ice-50) 0%, var(--ice-100) 100%);
  }
  .blog-card-body h2{margin-top:10px; font-size:20px; color:var(--navy); font-family:var(--font-body); font-weight:800; line-height:1.3;}
  .blog-card-body p.bc-excerpt{margin-top:10px; font-size:14.5px; color:var(--ink-2); line-height:1.62;}
  .blog-card-body .bc-more{margin-top:auto; padding-top:16px; display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:700; color:var(--blue); align-self:flex-start;}
  .blog-card-body .bc-more svg{stroke:var(--blue); width:13px; height:13px; flex:none; transition:transform .15s ease;}
  .blog-card:hover .bc-more svg{transform:translateX(3px);}
  @media (max-width:640px){
    .blog-card{flex-direction:column;}
    .blog-card-media{flex-basis:auto; max-width:100%; min-height:0; aspect-ratio:16/9;}
    .blog-card-body{border-left:none; border-top:1px solid var(--line); padding:22px 24px;}
  }

  /* pagination */
  .blog-pagination{margin-top:40px; display:flex; align-items:center; justify-content:center; gap:8px;}
  .blog-pagination a, .blog-pagination span{min-width:38px; height:38px; padding:0 6px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:13px; font-weight:700; color:var(--navy); background:#fff; border:1px solid var(--ice-200);}
  .blog-pagination a:hover{border-color:var(--blue); color:var(--blue);}
  .blog-pagination .is-current{background:var(--navy); color:#fff; border-color:var(--navy);}
  .blog-pagination .pg-dots{border:none; background:none; color:var(--ink-3);}

  /* ===== sidebar widgets ===== */
  .widget{background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:24px;}
  .widget + .widget{margin-top:24px;}
  .widget-title{font-family:var(--font-display); font-size:15px; font-weight:800; color:var(--navy); margin-bottom:16px;}
  .search-widget-form{display:flex; gap:8px;}
  .search-widget-form input{flex:1; min-width:0; padding:11px 14px; border-radius:10px; border:1px solid var(--ice-300); background:var(--ice-50); font-family:var(--font-body); font-size:13.5px; color:var(--ink);}
  .search-widget-form input::placeholder{color:var(--ink-3);}
  .search-widget-form button{flex:none; width:42px; height:42px; border-radius:10px; border:none; background:var(--blue); display:flex; align-items:center; justify-content:center; cursor:pointer;}
  .search-widget-form button svg{width:17px; height:17px; stroke:#fff;}
  .cat-list{display:flex; flex-direction:column; gap:2px;}
  .cat-list a{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 4px; font-size:14px; color:var(--ink-2); font-weight:600; border-bottom:1px solid var(--ice-100);}
  .cat-list li:last-child a{border-bottom:none;}
  .cat-list a:hover{color:var(--blue);}
  .cat-list a svg{width:13px; height:13px; stroke:var(--ink-3); flex:none; transition:transform .15s ease, stroke .15s ease;}
  .cat-list a:hover svg{stroke:var(--blue); transform:translateX(2px);}
  .widget-cta{background:linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 100%); border:none; color:#fff;}
  .widget-cta .widget-title{color:#fff;}
  .widget-cta p{font-size:13.5px; color:rgba(255,255,255,.78); line-height:1.6; margin-bottom:16px;}

  /* ===== single article page ===== */
  .article-media{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); margin-bottom:36px; background:linear-gradient(160deg, var(--ice-100) 0%, var(--ice-200) 100%);}
  .article-media img{width:100%; height:auto; display:block;}
  .article-body{background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); padding:8px 44px 44px;}
  .article-body h2{margin-top:38px; margin-bottom:14px; font-size:23px; font-weight:800; color:var(--navy); font-family:var(--font-display); line-height:1.35;}
  .article-body h2:first-child{margin-top:0;}
  .article-body p{margin-top:16px; font-size:15.5px; color:var(--ink-2); line-height:1.75;}
  .article-body p:first-of-type{margin-top:0;}
  .article-body strong{color:var(--navy); font-weight:700;}
  .article-cta-strip{margin-top:36px; padding:26px 28px; border-radius:var(--radius); background:linear-gradient(115deg, var(--ice-100), var(--ice-300) 70%, var(--ice-200)); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px;}
  .article-cta-strip p{margin:0; font-size:14.5px; font-weight:700; color:var(--navy); max-width:520px;}

  .post-nav{margin-top:32px; display:grid; grid-template-columns:1fr 1fr; gap:20px;}
  @media (max-width:640px){ .post-nav{grid-template-columns:1fr;} }
  .post-nav a{display:flex; flex-direction:column; gap:6px; padding:20px 22px; background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius); box-shadow:var(--shadow-sm); transition:box-shadow .15s ease, transform .15s ease;}
  .post-nav a:hover{box-shadow:var(--shadow-md); transform:translateY(-2px);}
  .post-nav .pn-dir{display:flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--blue);}
  .post-nav .pn-dir svg{width:12px; height:12px; stroke:var(--blue); flex:none;}
  .post-nav .pn-next{text-align:right;}
  .post-nav .pn-next .pn-dir{justify-content:flex-end;}
  .post-nav .pn-title{font-size:14.5px; font-weight:700; color:var(--navy); line-height:1.4;}
  .post-nav .pn-empty{color:var(--ink-3); font-style:italic; font-weight:500;}

/* ============================================================
   PART 4 — our-story
   ============================================================ */
/* ---------- Our Story page — page-specific styles ---------- */
  .story-hero{position:relative; overflow:hidden; background:linear-gradient(135deg, #ffffff 0%, var(--ice-50) 45%, var(--ice-100) 100%); padding:76px 0 96px;}
  .story-hero::before{content:""; position:absolute; top:-220px; right:-160px; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.14), rgba(47,111,237,0) 70%); pointer-events:none;}
  .story-hero::after{content:""; position:absolute; left:-200px; bottom:-260px; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle, rgba(14,159,106,.09), rgba(14,159,106,0) 70%); pointer-events:none;}
  .story-hero-grid{position:relative; display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:end; max-width:1180px; margin:0 auto;}
  @media (max-width:980px){ .story-hero-grid{grid-template-columns:1fr; gap:44px; max-width:640px; align-items:stretch;} }
  .story-hero h1{font-size:clamp(32px,4vw,48px); line-height:1.1; font-weight:800; margin-top:16px; max-width:20ch;}
  .story-hero h1 .accent{color:var(--blue);}
  .story-hero h1 .cto-full{display:inline-block; font-family:var(--font-body); font-weight:600; font-size:.48em; letter-spacing:0; color:var(--blue); margin-top:-8px;}
  .story-hero .lede{margin-top:18px; font-size:17px; color:var(--ink-2); max-width:52ch; line-height:1.65;}
  .hero-linkedin-prose{margin-top:22px;}
  .hero-linkedin-prose p{font-size:16px; color:var(--ink-2); line-height:1.72;}
  .hero-linkedin-prose p + p{margin-top:16px;}
  .award-text{margin-top:16px;}
  .award-badge{float:right; width:150px; height:auto; margin:0 0 12px 20px; shape-outside:margin-box; image-rendering:auto;}
  @media (max-width:560px){ .award-badge{width:120px; margin:0 0 10px 14px;} }

  .portrait-card{position:relative; background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); overflow:hidden;}
  .portrait-card::before{content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--navy); z-index:2;}
  .portrait-photo-frame{position:relative; margin:22px 22px 0; border-radius:14px; overflow:hidden; box-shadow:inset 0 0 0 1px var(--ice-300), var(--shadow-sm); background:radial-gradient(120% 100% at 50% 0%, var(--ice-100), var(--ice-200)); display:flex; align-items:center; justify-content:center;}
  .portrait-photo{display:block; width:100%; height:520px; object-fit:contain; object-position:center;}
  .portrait-nameplate{margin-top:22px; padding:17px 20px 21px; background:linear-gradient(135deg, var(--navy), var(--navy-2)); text-align:center;}
  .portrait-nameplate .name{display:block; font-family:var(--font-display); font-weight:800; font-size:19px; color:#fff;}
  .portrait-nameplate .role{display:block; margin-top:5px; font-family:var(--font-body); font-weight:600; font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:#a9c6ff;}

  /* timeline */
  .timeline-sec{background:linear-gradient(180deg, #fff, var(--ice-50));}
  .tl-track{position:relative; max-width:760px; margin:0 auto;}
  .tl-track::before{content:""; position:absolute; left:23px; top:6px; bottom:6px; width:2px; background:var(--ice-300);}
  .tl-item{position:relative; display:flex; gap:24px; padding-bottom:32px;}
  .tl-item:last-child{padding-bottom:0;}
  .tl-dot{position:relative; z-index:1; flex:none; width:48px; height:48px; border-radius:50%; background:#fff; border:1px solid var(--ice-200); box-shadow:var(--shadow-sm); display:flex; align-items:center; justify-content:center;}
  .tl-dot svg{stroke:var(--blue); width:20px; height:20px;}
  .tl-card{flex:1; background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:22px 24px; margin-top:2px;}
  .tl-year{display:block; font-family:var(--font-mono); font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--blue);}
  .tl-card h3{margin-top:6px; font-size:18px; font-weight:700; font-family:var(--font-body); color:var(--navy);}
  .tl-card p{margin-top:8px; font-size:14.5px; color:var(--ink-2); line-height:1.6;}
  @media (max-width:640px){ .tl-track::before{left:19px;} .tl-dot{width:40px; height:40px;} .tl-dot svg{width:16px; height:16px;} .tl-item{gap:16px;} }
  .tl-photo-frame{border-radius:12px; overflow:hidden; background:linear-gradient(160deg, var(--ice-100), var(--ice-200)); display:flex; align-items:center; justify-content:center;}
  .tl-photo{display:block; width:100%; height:320px; object-fit:contain;}
  .tl-photo-caption{margin-top:10px; font-size:12.5px; font-style:italic; color:var(--ink-3);}
  .tl-card .tl-photo-frame + .tl-photo-caption + .tl-year{margin-top:18px;}
  .tl-card .tl-photo-frame.tl-photo-after{margin-top:16px;}

  /* in Jason's words / long-form prose blocks */
  .in-words{background:linear-gradient(180deg, var(--ice-50), #fff);}
  .prose-block{max-width:760px; margin:0 auto; font-size:16.5px; color:var(--ink-2); line-height:1.75;}
  .prose-block p{text-align:left;}
  .prose-block p + p{margin-top:18px;}

  /* philosophy band extra prose */
  .philosophy-prose{position:relative; max-width:720px; margin:34px auto 0; padding-top:34px; border-top:1px solid rgba(255,255,255,.16); text-align:left;}
  .philosophy-prose p{font-size:15.5px; color:rgba(255,255,255,.72); line-height:1.75;}
  .philosophy-prose p + p{margin-top:16px;}

  /* featured story card */
  .story-feature{background:linear-gradient(180deg, #fff, var(--ice-50));}
  .feature-card{position:relative; max-width:780px; margin:0 auto; background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); padding:48px 48px 44px; text-align:center;}
  .feature-ic{width:56px; height:56px; margin:0 auto 22px; border-radius:50%; background:linear-gradient(160deg, #ffb0d8, #d92e78); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-md);}
  .feature-ic svg{width:26px; height:26px; stroke:#fff; fill:none;}
  .feature-card .prose-block{text-align:left; font-size:16px;}
  @media (max-width:640px){ .feature-card{padding:36px 24px 32px;} }
  /* Donald's review card (Jason's request, round 3): sits beside .feature-card, both cards the same
     height. Row is capped at max-width:998px = 620px story + 32px gap + 346px review, so the review
     column (a fixed 346px = its 284px image + 2x30px padding + 2x1px border, sized to fit the
     screenshot snugly) is genuinely fixed while the story column is a real 1fr -- it only reads as
     620px because the row's own max-width forces it there at >=1062px viewports (row content
     >=998px); below that it shrinks together with its card, no overflow (checked in Chrome down to
     640px -- an earlier version used a literal 620px column and silently overflowed .wrap between
     940px and ~1061px, since two fixed-px columns don't renegotiate when the container is narrower
     than their sum). 620px was chosen by measuring the story text's own height across candidate
     widths until it landed within ~40px of the review card's height (measured: 794px natural at
     620px vs the review card's 805.7px -- 11.7px apart). align-items:stretch makes both exactly
     805.7px. Stacks at 940px, same breakpoint convention as .team-grid on Your Team. */
  .story-feature-row{display:grid; grid-template-columns:minmax(0,1fr) 346px; max-width:998px; margin:0 auto; gap:32px; align-items:stretch;}
  .story-feature-row .feature-card{max-width:none; margin:0;}
  /* padding is deliberately NOT matched to .feature-card's 48px this round -- the whole point is a
     snugger card around the 284px screenshot (48px padding alone would force the card to 380px+,
     well past the 340-360px target). Background/border/radius/shadow still match .feature-card. */
  .donald-review-card{background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); padding:36px 30px 32px; text-align:center;}
  .donald-review-card h3{margin-top:6px; font-size:18px; font-weight:700; font-family:var(--font-body); color:var(--navy);}
  /* width:100% + max-width:284px (its real pixel width): shrinks on a narrow phone, never upscales
     past its own resolution -- --radius-sm (not the card's own --radius-lg) so it reads as a
     screenshot pasted into the card, not another rounded card. */
  .donald-review-img{display:block; width:100%; max-width:284px; height:auto; margin:22px auto 0; border:1px solid var(--ice-200); border-radius:var(--radius-sm);}
  @media (max-width:940px){ .story-feature-row{grid-template-columns:1fr;} }
  @media (max-width:640px){ .donald-review-card{padding:36px 24px 32px;} }
  .donald-corner{width:96px; height:96px; border-radius:18px; overflow:hidden; flex:none;
    border:1px solid var(--ice-200); box-shadow:var(--shadow-sm);}
  .donald-corner img{width:100%; height:100%; object-fit:cover; display:block;}
  .donald-corner.tl{float:left; margin:2px 22px 14px 0;}
  .donald-corner.tr{float:right; margin:2px 0 14px 22px;}
  .donald-corner.bl{float:left; margin:2px 22px 14px 0;}
  .donald-corner.br{float:right; margin:2px 0 14px 22px;}
  @media (max-width:520px){
    .donald-corner{width:64px; height:64px; border-radius:14px;}
    .donald-corner.tl,.donald-corner.tr,.donald-corner.bl,.donald-corner.br{margin:2px 12px 10px 0;}
  }

  /* philosophy quote band */
  .philosophy-band{background:linear-gradient(160deg, var(--navy), var(--navy-2)); text-align:center; padding:88px 0; position:relative; overflow:hidden;}
  .philosophy-band::before{content:""; position:absolute; top:-180px; right:-160px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.20), rgba(47,111,237,0) 70%); pointer-events:none;}
  .philosophy-band .wrap{position:relative; max-width:820px;}
  .q-mark-lg{opacity:.9;}
  .philosophy-quote{margin-top:22px; font-family:var(--font-display); font-weight:700; font-size:clamp(22px,3vw,32px); color:#fff; line-height:1.4;}
  .philosophy-quote span{color:#9dc0ff;}
  .philosophy-attr{display:block; margin-top:20px; font-size:14.5px; font-weight:600; color:rgba(255,255,255,.6); letter-spacing:.02em;}

/* ============================================================
   PART 5 — your-team
   ============================================================ */
/* ===== Our Team page ===== */
.team-hero{position:relative; overflow:hidden; padding:80px 0 56px; background:linear-gradient(135deg, #ffffff 0%, var(--ice-50) 45%, var(--ice-100) 100%);}
.team-hero::before{content:""; position:absolute; top:-220px; right:-160px; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.16), rgba(47,111,237,0) 70%); pointer-events:none;}
.team-hero .section-head{max-width:960px; margin-left:auto; margin-right:auto; text-align:center;}
.team-hero .section-head h1{font-size:clamp(30px,3.6vw,44px); font-weight:800; margin-top:14px; color:var(--navy);}
.team-hero .section-head p{font-size:17px; color:var(--ink-2); line-height:1.65; white-space:nowrap;}
@media (max-width:760px){ .team-hero .section-head p{white-space:normal;} }

.team-shell{background:#fff;}
.team-placeholder{max-width:720px; margin:0 auto; text-align:center; background:var(--ice-50); border:1px solid var(--ice-200); border-radius:var(--radius-lg); padding:56px 40px; box-shadow:var(--shadow-sm);}
.team-placeholder-ic{width:64px; height:64px; border-radius:18px; margin:0 auto 22px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, var(--ice-100), var(--ice-200));}
.team-placeholder-ic svg{width:30px; height:30px; stroke:var(--navy);}
.team-placeholder h2{font-size:22px; font-weight:800; color:var(--navy);}
.team-placeholder p{margin-top:12px; font-size:15.5px; color:var(--ink-2); line-height:1.65;}
.team-placeholder-links{margin-top:24px; padding-top:20px; border-top:1px solid var(--ice-200); display:flex; flex-wrap:wrap; justify-content:center; gap:10px 22px;}
.team-placeholder-links a{display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:700; color:var(--blue);}
.team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
@media (max-width:940px){ .team-grid{grid-template-columns:1fr; max-width:420px; margin:0 auto;} }
.team-card{background:var(--ice-50); border:1px solid var(--ice-200); border-radius:var(--radius-lg); padding:38px 30px 32px; text-align:center; box-shadow:var(--shadow-sm); transition:transform .18s ease, box-shadow .18s ease, background .18s ease;}
.team-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md); background:#fff;}
.team-photo{width:168px; height:168px; border-radius:50%; object-fit:cover; display:block; margin:0 auto 22px; border:4px solid #fff; box-shadow:var(--shadow-md); background:var(--ice-100);}
.team-card h3{font-size:19.5px; font-weight:800; color:var(--navy);}
.team-role{display:block; margin-top:8px; font-size:13.5px; font-weight:700; color:var(--blue); line-height:1.5;}

/* ============================================================
   PART 6 — reviews
   ============================================================ */
.rev-hero{position:relative; overflow:hidden; padding:80px 0 30px; background:linear-gradient(135deg, #ffffff 0%, var(--ice-50) 45%, var(--ice-100) 100%);}
  .rev-hero::before{content:""; position:absolute; top:-220px; right:-160px; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.16), rgba(47,111,237,0) 70%); pointer-events:none;}
  .rev-hero .section-head{max-width:760px; margin-bottom:0;}
  .rev-hero .section-head h1{font-size:clamp(30px,3.6vw,44px); font-weight:800; margin-top:14px; color:var(--navy);}
  .rev-hero .section-head p{max-width:760px; margin-left:auto; margin-right:auto; font-family:var(--font-display); font-size:18px; font-weight:500; color:var(--navy);}
  .rev-stat{position:relative; margin-top:30px; display:flex; justify-content:center; align-items:center; gap:8px;}
  .rev-stat-box{position:relative; display:inline-flex; align-items:center; background:#fff; border:1px solid var(--ice-200); border-radius:999px; box-shadow:var(--shadow-sm); padding:10px 30px 10px 17px;}
  .rev-stat-check{flex:none; transform:rotate(-5deg); width:96px; height:96px; margin-top:-17px; margin-right:-14px;
    filter:drop-shadow(0 6px 10px rgba(13,140,80,.4));}
  .rev-stat .stat-line{font-size:17px; color:var(--ink-2);}
  .rev-stat .stat-line b{color:var(--emerald-dark); font-weight:800;}

  .rev-list{position:relative; overflow:hidden; background:linear-gradient(180deg, var(--ice-100) 0%, var(--ice-200) 100%);}
  .rev-list::before{content:""; position:absolute; top:-200px; right:-160px; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.12), rgba(47,111,237,0) 70%); pointer-events:none;}
  .rev-list::after{content:""; position:absolute; bottom:-220px; left:-180px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(14,159,106,.10), rgba(14,159,106,0) 70%); pointer-events:none;}
  .rev-list{padding-top:48px;}
  .rev-list > .wrap{position:relative; z-index:1;}
  .rev-intro-cols{display:grid; grid-template-columns:1fr 1fr; gap:64px; max-width:920px; margin:0 auto 48px;}
  @media (max-width:820px){ .rev-intro-cols{grid-template-columns:1fr; max-width:480px; gap:36px;} }
  .rev-col-head{display:flex; align-items:center; justify-content:center; gap:12px; height:58px; margin-bottom:10px;}
  .rev-col-head .platform-logo{height:44px; width:auto; display:block;}
  .rev-col-head .platform-logo.clutch-logo{height:48px;}
  .col-divider{width:160px; height:2px; background:var(--ice-300); margin:18px auto;}
  .rev-note{margin:0; text-align:justify; font-size:15.5px; color:var(--ink-2); line-height:1.75;}
  .rev-grid{position:relative; display:flex; gap:48px; max-width:1240px; margin:0 auto; align-items:flex-start;}
  .rev-grid-col{flex:1; min-width:0; display:flex; flex-direction:column; gap:32px;}
  @media (max-width:820px){ .rev-grid{flex-direction:column; max-width:640px; gap:32px;} }

  .rev-card{
    display:block; width:100%; position:relative; overflow:hidden;
    background:#fff; border:1px solid #d5d9e3;
    border-radius:22px; box-shadow:var(--shadow-md); padding:0 38px 32px; margin:0 0 32px;
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .platform-bar{margin:0 -38px 18px; padding:17px 38px 14px; font-family:var(--font-mono); font-size:12.5px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:#fff;}
  .rev-card--google .platform-bar{background:linear-gradient(90deg, #4286f3, #7bacf7);}
  .rev-card--clutch .platform-bar{background:linear-gradient(90deg, #142f3b, #3d5b6b);}
  .rev-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-lg);}
  .rev-card > *{position:relative; z-index:1;}
  .rev-card .stars{display:flex; flex-wrap:wrap; gap:2px; margin-bottom:14px;}
  .rev-card .stars svg{width:43px; height:43px; display:block; filter:drop-shadow(0 3px 5px rgba(0,0,0,.18));}
  .rev-card p.rev-text{font-size:16px; color:var(--ink-2); line-height:1.8;}
  .rev-card p.rev-text + p.rev-text{margin-top:14px;}
  .rev-card .rev-sig{margin-top:14px; font-size:16px; line-height:1.8; color:var(--ink-2);}
  .rev-card .rev-footer{margin-top:22px; padding-top:18px; border-top:1px solid var(--ice-100);}
  .rev-card .rev-name{font-size:16px; font-weight:800; color:var(--navy); font-family:var(--font-body);}
  .rev-card .rev-meta{margin-top:3px; font-size:13px; color:var(--ink-3);}

  /* Clutch-specific card additions */
  .rev-card .clutch-quote{font-family:var(--font-display); font-size:18px; font-weight:700; color:var(--navy); line-height:1.4; margin-bottom:14px;}
  .rev-card .rev-footer.no-top-rule{margin-top:8px; padding-top:0; border-top:none;}
  .rev-card .clutch-divider{margin:20px 0; height:1px; background:var(--ice-100);}
  .rev-card .clutch-summary-heading{font-size:15.5px; font-weight:800; color:var(--ink); margin-bottom:8px;}
  .rev-card .clutch-project-size{display:flex; align-items:center; gap:6px; margin-top:14px; font-size:13px; color:var(--ink-3);}
  .rev-card .clutch-project-size svg{width:14px; height:14px; stroke:var(--blue); color:var(--blue); flex:none;}
  .rev-card .clutch-project-size b{color:var(--navy); font-weight:700;}
  .rev-card .clutch-kicker{font-family:var(--font-mono); font-size:11.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--blue); margin-bottom:14px;}
  .rev-card p.clutch-summary-text{font-size:13px; color:var(--ink-3); line-height:1.7;}

  /* Jason's Track Record - pre-Carsonix personal reviews */
  .track-record{background:var(--navy); position:relative; overflow:hidden; padding:76px 0 84px;}
  .track-record::before{content:""; position:absolute; top:-200px; left:-160px; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle, rgba(14,159,106,.20), rgba(14,159,106,0) 70%); pointer-events:none;}
  .track-record::after{content:""; position:absolute; bottom:-220px; right:-180px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.18), rgba(47,111,237,0) 70%); pointer-events:none;}
  .track-record .wrap{position:relative; z-index:1;}
  .track-record .eyebrow{color:#6ee7b7; justify-content:center;}
  .track-record .eyebrow .dot{background:#6ee7b7;}
  .track-record .section-head{max-width:960px; margin-bottom:0;}
  .track-record .section-head h2{color:#fff; font-size:clamp(26px,3.2vw,38px); font-weight:800;}
  .track-record .section-head p{color:rgba(255,255,255,.72); font-size:16.5px; white-space:nowrap;}
  @media (max-width:900px){ .track-record .section-head p{white-space:normal;} }
  .track-stat-wrap{position:relative; margin-top:30px; display:inline-flex; justify-content:center; align-items:center; gap:8px;}
  .track-stat-box{position:relative; display:inline-flex; align-items:center; background:#fff; border:1px solid rgba(255,255,255,.4); border-radius:999px; box-shadow:0 22px 46px rgba(0,0,0,.32); padding:12px 32px 12px 18px;}
  .track-stat-check{flex:none; transform:rotate(-5deg); width:92px; height:92px; margin-top:-16px; margin-right:-14px; filter:drop-shadow(0 6px 10px rgba(13,140,80,.5));}
  .track-stat-box .stat-line{font-family:var(--font-body); font-size:16.5px; font-weight:600; color:var(--ink-2); white-space:nowrap;}
  .track-stat-box .stat-line b{color:var(--emerald-dark); font-weight:800;}
  @media (max-width:560px){ .track-stat-box{padding:11px 22px 11px 15px;} .track-stat-check{width:74px; height:74px; margin-top:-12px; margin-right:-10px;} .track-stat-box .stat-line{font-size:13.5px; white-space:normal;} }
  .track-grid{margin-top:52px; display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  @media (max-width:1080px){ .track-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:680px){ .track-grid{grid-template-columns:1fr;} }
  .track-card{position:relative; background:#fff; border-radius:var(--radius); box-shadow:0 20px 44px rgba(0,0,0,.22); padding:24px 24px 20px; display:flex; flex-direction:column; overflow:hidden; transition:transform .18s ease, box-shadow .18s ease;}
  .track-card::before{content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg, #6ee7b7, var(--emerald));}
  .track-card > *{position:relative; z-index:1;}
  .track-card:hover{transform:translateY(-4px); box-shadow:0 30px 60px rgba(0,0,0,.3);}
  .track-card .stars{display:flex; align-items:center; flex-wrap:wrap; gap:2px; margin-bottom:14px;}
  .track-card .stars svg{width:19px; height:19px; display:block; filter:drop-shadow(0 2px 3px rgba(0,0,0,.15));}
  .track-card .rating-pct{margin-left:auto; padding-left:8px; font-family:var(--font-mono); font-size:12.5px; font-weight:700; color:var(--emerald-dark);}
  .track-card p.rev-text{font-size:14.5px; color:var(--ink-2); line-height:1.7; flex:1;}
  .track-card p.rev-text.no-comment{font-style:italic; color:var(--ink-3); font-weight:400;}
  .track-card .rev-footer{margin-top:16px; padding-top:14px; border-top:1px solid var(--ice-100);}
  .track-card .rev-name{font-size:14.5px; font-weight:800; color:var(--navy); font-family:var(--font-body);}
  .track-card .rev-meta{margin-top:2px; font-size:12px; color:var(--ink-3);}

/* ============================================================
   PART 7 — media
   ============================================================ */
.media-hero{position:relative; overflow:hidden; padding:80px 0 56px; background:linear-gradient(135deg, #ffffff 0%, var(--ice-50) 45%, var(--ice-100) 100%);}
  .media-hero::before{content:""; position:absolute; top:-220px; right:-160px; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.16), rgba(47,111,237,0) 70%); pointer-events:none;}
  .media-hero .section-head{max-width:900px; margin-bottom:0;}
  .media-hero .section-head h1{font-size:clamp(30px,3.6vw,44px); font-weight:800; margin-top:14px; color:var(--navy);}
  .media-hero .section-head p{max-width:none; white-space:nowrap; margin-left:auto; margin-right:auto; font-size:17px; color:var(--ink-2); line-height:1.65;}
  @media (max-width:760px){ .media-hero .section-head p{white-space:normal;} }

  .media-list{position:relative; overflow:hidden; background:linear-gradient(180deg, var(--ice-100) 0%, var(--ice-200) 100%); padding:64px 0 104px;}
  .media-list::before{content:""; position:absolute; top:-200px; right:-160px; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.12), rgba(47,111,237,0) 70%); pointer-events:none;}
  .media-list::after{content:""; position:absolute; bottom:-220px; left:-180px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(14,159,106,.10), rgba(14,159,106,0) 70%); pointer-events:none;}
  .media-list > .wrap{position:relative; z-index:1;}

  .media-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:28px;}
  @media (max-width:1080px){ .media-grid{grid-template-columns:repeat(2, 1fr);} }
  @media (max-width:640px){ .media-grid{grid-template-columns:1fr; max-width:440px; margin:0 auto;} }

  .media-card{
    display:flex; flex-direction:column; overflow:hidden;
    background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .media-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-lg), 0 0 0 1px var(--ice-300);}
  .media-card-media{position:relative; display:flex; align-items:center; justify-content:center; height:260px; padding:20px; background:#fff;}
  .media-card-media img{max-width:100%; max-height:100%; object-fit:contain; display:block;}
  .media-card-media.is-portrait img{max-height:224px; border-radius:8px; box-shadow:var(--shadow-sm);}
  .media-card-divider{height:1px; background:var(--line); margin:0 26px;}
  .media-card-body{
    display:flex; flex-direction:column; flex:1; padding:22px 26px 26px;
    background:radial-gradient(circle at 50% 68%, rgba(47,111,237,.16), rgba(47,111,237,0) 68%), linear-gradient(160deg, var(--ice-50) 0%, var(--ice-100) 100%);
  }
  .media-kicker{font-family:var(--font-mono); font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--blue);}
  .media-card-body h3{margin-top:8px; font-size:17px; color:var(--navy); font-family:var(--font-body); font-weight:700; line-height:1.35;}
  .media-card-body .media-sub{margin-top:6px; font-size:13.5px; color:var(--ink-3); line-height:1.5;}
  .media-card-body p.media-desc{margin-top:10px; font-size:14px; color:var(--ink-2); line-height:1.6; flex:1;}
  .media-links{margin-top:auto; padding-top:16px; display:flex; flex-direction:column; gap:8px;}
  .media-links a{display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:700; color:var(--blue); align-self:flex-start;}
  .media-links a svg{stroke:var(--blue); width:13px; height:13px; flex:none;}
  .media-links a:hover{color:var(--navy);}
  .media-links .media-note{font-size:13px; color:var(--ink-3); font-style:italic;}

/* ============================================================
   PART 8 — showcase
   ============================================================ */
.showcase-hero{position:relative; overflow:hidden; padding:80px 0 56px; background:linear-gradient(135deg, #ffffff 0%, var(--ice-50) 45%, var(--ice-100) 100%);}
  .showcase-hero::before{content:""; position:absolute; top:-220px; right:-160px; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.16), rgba(47,111,237,0) 70%); pointer-events:none;}
  .showcase-hero .section-head{max-width:820px;}
  .showcase-hero .section-head h1{font-size:clamp(30px,3.6vw,44px); font-weight:800; margin-top:14px; color:var(--navy);}
  .showcase-hero .section-head p{font-size:17px; color:var(--ink-2); line-height:1.65;}

  .tech-band{position:relative; overflow:hidden; background:var(--navy); padding:56px 0;}
  .tech-band::before{content:""; position:absolute; top:-180px; right:-160px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.20), rgba(47,111,237,0) 70%); pointer-events:none;}
  .tech-band > .wrap{position:relative; z-index:1;}
  .tech-band .section-head{text-align:center; max-width:640px; margin:0 auto 34px;}
  .tech-band .section-head .eyebrow{justify-content:center;}
  .tech-band .section-head h2{margin-top:14px; font-family:var(--font-display); font-weight:800; font-size:clamp(24px,2.8vw,32px); color:#fff;}
  .tech-band .section-head p{margin-top:10px; font-size:15.5px; color:rgba(255,255,255,.72);}
  .logo-marquee{position:relative; overflow:hidden; max-width:1340px; margin:0 auto; background:#fff; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); padding:26px 0; -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);}
  .logo-marquee-track{display:flex; align-items:center; gap:64px; width:max-content; animation:marquee 34s linear infinite; padding:0 32px;}
  .logo-marquee:hover .logo-marquee-track{animation-play-state:paused;}
  @media (prefers-reduced-motion:reduce){ .logo-marquee-track{animation:none;} }
  .logo-marquee-track img{height:34px; width:auto; max-width:120px; object-fit:contain; flex:none;}
  @media (max-width:760px){ .logo-marquee-track{gap:40px;} .logo-marquee-track img{height:28px;} }

  .showcase-list{position:relative; overflow:hidden; background:linear-gradient(180deg, var(--ice-100) 0%, var(--ice-200) 100%); padding:64px 0 104px;}
  .showcase-list::before{content:""; position:absolute; top:-200px; right:-160px; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.12), rgba(47,111,237,0) 70%); pointer-events:none;}
  .showcase-list::after{content:""; position:absolute; bottom:-220px; left:-180px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(14,159,106,.10), rgba(14,159,106,0) 70%); pointer-events:none;}
  .showcase-list > .wrap{position:relative; z-index:1;}

  .showcase-grid{display:flex; flex-direction:column; gap:32px; max-width:1180px; margin:0 auto;}

  .showcase-card{
    display:flex; flex-direction:row; align-items:stretch; overflow:hidden;
    background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .showcase-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-lg), 0 0 0 1px var(--ice-300);}
  .showcase-card-media{
    position:relative; flex:0 0 42%; max-width:42%; padding:24px; min-height:280px;
    display:flex; align-items:flex-start; justify-content:center;
    background:linear-gradient(160deg, var(--ice-100) 0%, var(--ice-200) 100%);
  }
  .showcase-card-media img{max-width:100%; max-height:420px; width:auto; height:auto; display:block; border-radius:8px; box-shadow:var(--shadow-md);}
  .showcase-card-divider{display:none;}
  .showcase-card-body{
    display:flex; flex-direction:column; flex:1; min-width:0; padding:30px 34px;
    border-left:1px solid var(--line);
    background:radial-gradient(circle at 50% 30%, rgba(47,111,237,.14), rgba(47,111,237,0) 62%), linear-gradient(160deg, var(--ice-50) 0%, var(--ice-100) 100%);
  }
  @media (max-width:760px){
    .showcase-card{flex-direction:column;}
    .showcase-card-media{flex-basis:auto; max-width:100%; padding:0; min-height:0;}
    .showcase-card-media img{max-height:none; border-radius:0; box-shadow:none;}
    .showcase-card-body{padding:22px 26px 26px; border-left:none; border-top:1px solid var(--line);}
  }
  .sc-kicker{font-family:var(--font-mono); font-size:11.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--blue);}
  .showcase-card-body h3{margin-top:8px; font-size:17px; color:var(--navy); font-family:var(--font-body); font-weight:700; line-height:1.35;}
  .showcase-card-body p.sc-desc{margin-top:10px; font-size:14px; color:var(--ink-2); line-height:1.6;}
  .showcase-card-body p.sc-desc + p.sc-desc{margin-top:10px;}
  .sc-subhead{margin-top:14px; font-size:12.5px; font-weight:700; color:var(--navy); text-transform:uppercase; letter-spacing:.03em;}
  .sc-specs{margin-top:8px; display:flex; flex-direction:column; gap:6px;}
  .sc-specs li{display:flex; align-items:flex-start; gap:8px; font-size:13.5px; color:var(--ink-2); line-height:1.5;}
  .sc-specs li svg{width:13px; height:13px; stroke:var(--emerald); flex:none; margin-top:3px;}
  .sc-perk{margin-top:12px; font-size:13px; color:var(--ink-3); font-style:italic;}

  .sc-bench{margin-top:16px;}
  .sc-bench-h{font-family:var(--font-mono); font-size:11.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--navy); margin-bottom:10px;}
  .sc-bench-device{background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-sm); padding:12px 14px; box-shadow:var(--shadow-sm);}
  .sc-bench-device + .sc-bench-device{margin-top:10px;}
  .sc-bench-name{font-size:13px; font-weight:700; color:var(--navy);}
  .sc-bench-stats{margin-top:7px; display:grid; grid-template-columns:1fr 1fr; gap:5px 10px;}
  .sc-bench-stats span{font-size:12.5px; color:var(--ink-2); display:flex; justify-content:space-between; gap:6px;}
  .sc-bench-stats span b{font-family:var(--font-mono); color:var(--navy); font-weight:700;}

/* ============================================================
   PART 9 — contact
   ============================================================ */
/* ===== Contact page ===== */
.contact-hero{position:relative; overflow:hidden; padding:80px 0 56px; background:linear-gradient(135deg, #ffffff 0%, var(--ice-50) 45%, var(--ice-100) 100%);}
.contact-hero::before{content:""; position:absolute; top:-220px; right:-160px; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.16), rgba(47,111,237,0) 70%); pointer-events:none;}
.contact-hero .section-head{max-width:720px;}
.contact-hero .section-head h1{font-size:clamp(30px,3.6vw,44px); font-weight:800; margin-top:14px; color:var(--navy);}
.contact-hero .section-head p{font-size:17px; color:var(--ink-2); line-height:1.65;}

.contact-shell{position:relative; overflow:hidden; background:linear-gradient(180deg, var(--ice-100) 0%, var(--ice-200) 100%); padding:64px 0 96px;}
.contact-shell::before{content:""; position:absolute; top:-200px; left:-160px; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.12), rgba(47,111,237,0) 70%); pointer-events:none;}
.contact-shell::after{content:""; position:absolute; bottom:-220px; right:-180px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(14,159,106,.10), rgba(14,159,106,0) 70%); pointer-events:none;}
.contact-shell > .wrap{position:relative; z-index:1;}

.contact-layout{display:grid; grid-template-columns:340px 1fr; gap:32px; align-items:start; max-width:1180px; margin:0 auto;}
.contact-layout > *{min-width:0;}
@media (max-width:900px){ .contact-layout{grid-template-columns:1fr;} }

.contact-sidebar{display:flex; flex-direction:column; gap:24px; min-width:0;}

.contact-intro{text-align:center; background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); padding:36px 28px;}
.contact-intro .eyebrow{justify-content:center;}
.contact-intro h2{margin-top:14px; font-size:20px; font-weight:800; color:var(--navy); font-family:var(--font-display);}
.contact-phone{margin-top:14px; display:inline-flex; align-items:center; gap:9px; font-family:var(--font-mono); font-size:21px; font-weight:700; color:var(--blue);}
.contact-phone svg{width:21px; height:21px; stroke:var(--blue); flex:none;}
.contact-phone:hover{color:var(--navy);}
.contact-phone-note{margin-top:6px; font-size:12.5px; color:var(--ink-3);}

.contact-form-card{background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); padding:44px;}
.contact-form-card .section-head{max-width:none; text-align:center; margin-bottom:32px;}
.contact-form-card .section-head h2{font-size:clamp(22px,2.6vw,28px);}
.contact-form-card .section-head p{max-width:52ch; margin-left:auto; margin-right:auto;}
.contact-form-card .section-head .form-confirm-note{margin-top:14px; font-size:13px; color:var(--ink-3); line-height:1.6;}
.contact-form-card .section-head .form-confirm-spam{font-style:italic;}

.form-placeholder{
  position:relative; min-height:420px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  text-align:center; padding:40px 32px; border-radius:var(--radius); border:2px dashed var(--ice-300);
  background:repeating-linear-gradient(135deg, var(--ice-50), var(--ice-50) 14px, var(--ice-100) 14px, var(--ice-100) 28px);
}
.form-placeholder .ph-label{display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--blue); background:#fff; border:1px solid var(--ice-300); border-radius:999px; padding:7px 16px;}
.form-placeholder .ph-shortcode{font-family:var(--font-mono); font-size:19px; font-weight:700; color:var(--navy); background:#fff; border:1px solid var(--ice-300); border-radius:10px; padding:12px 22px; box-shadow:var(--shadow-sm); user-select:all; white-space:normal; word-break:break-word; max-width:100%;}
.form-placeholder .ph-note{max-width:44ch; font-size:13.5px; color:var(--ink-3); line-height:1.6;}

.contact-info-row{display:flex; flex-direction:column; gap:16px;}
.contact-info-item{display:flex; align-items:center; gap:16px; background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius); box-shadow:var(--shadow-sm); padding:20px 22px; min-width:0;}
.contact-info-item > div:last-child{min-width:0;}
.contact-info-item .ci-ic{width:44px; height:44px; border-radius:12px; flex:none; display:flex; align-items:center; justify-content:center; background:linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 100%); box-shadow:inset 0 1.5px 1.5px rgba(255,255,255,.35), inset 0 -8px 11px rgba(0,0,0,.18), 0 8px 16px rgba(2,40,110,.22);}
.contact-info-item .ci-ic svg{width:20px; height:20px; stroke:#fff;}
.contact-info-item .ci-label{font-size:12.5px; color:var(--ink-3); font-weight:600;}
.contact-info-item .ci-value{margin-top:2px; font-size:15px; font-weight:700; color:var(--navy);}
.contact-info-item .ci-value a{color:inherit;}
.contact-info-item .ci-value a:hover{color:var(--blue);}

.contact-info-item.contact-location{align-items:flex-start;}
.contact-info-item.contact-location .ci-ic{margin-top:2px;}
.ci-town-list{margin-top:8px; display:flex; flex-direction:column; gap:7px;}
.ci-town-list li{position:relative; padding-left:15px; font-size:14px; font-weight:600; color:var(--navy); line-height:1.4;}
.ci-town-list li::before{content:""; position:absolute; left:0; top:7px; width:5px; height:5px; border-radius:50%; background:var(--emerald);}

@media (max-width:640px){
  .contact-intro, .contact-form-card{padding:32px 24px;}
}

/* ============================================================
   PART 10 — partners
   ============================================================ */
/* ===== Partners page ===== */
.partners-hero{position:relative; overflow:hidden; padding:80px 0 56px; background:linear-gradient(135deg, #ffffff 0%, var(--ice-50) 45%, var(--ice-100) 100%);}
.partners-hero::before{content:""; position:absolute; top:-220px; right:-160px; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.16), rgba(47,111,237,0) 70%); pointer-events:none;}
.partners-hero .section-head{max-width:720px;}
.partners-hero .section-head h1{font-size:clamp(30px,3.6vw,44px); font-weight:800; margin-top:14px; color:var(--navy);}
.partners-hero .section-head p{font-size:17px; color:var(--ink-2); line-height:1.65;}

.partners-shell{position:relative; overflow:hidden; background:linear-gradient(180deg, var(--ice-100) 0%, var(--ice-200) 100%); padding:64px 0 104px;}
.partners-shell::before{content:""; position:absolute; top:-200px; right:-160px; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.12), rgba(47,111,237,0) 70%); pointer-events:none;}
.partners-shell::after{content:""; position:absolute; bottom:-220px; left:-180px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(14,159,106,.10), rgba(14,159,106,0) 70%); pointer-events:none;}
.partners-shell > .wrap{position:relative; z-index:1;}

/* Single wide column, strictly one card per row top-to-bottom — no side-by-side columns to fall out of balance. */
.partner-list{display:flex; flex-direction:column; gap:32px; max-width:1040px; margin:0 auto;}

.partner-card{
  display:flex; flex-direction:column; overflow:hidden;
  background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
  transition:transform .18s ease, box-shadow .18s ease;
}
.partner-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-lg), 0 0 0 1px var(--ice-300);}
.partner-card-media{
  position:relative; width:100%; height:270px;
  display:flex; align-items:center; justify-content:center; padding:30px;
  background:#fff; border-bottom:1px solid var(--line);
}
.partner-card-media img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; display:block;}
.partner-card-body{
  padding:34px 40px;
  background:radial-gradient(circle at 50% 0%, rgba(47,111,237,.12), rgba(47,111,237,0) 62%), linear-gradient(160deg, var(--ice-50) 0%, var(--ice-100) 100%);
}
/* Body copy sits in a narrower, centered reading column under the full-width image so long paragraphs
   (Negative PID especially) don't stretch to uncomfortable line lengths just because the card itself is wide. */
.pc-content{display:flex; flex-direction:column; max-width:680px; margin:0 auto; width:100%;}
.pc-content .pc-kicker{font-family:var(--font-mono); font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--blue);}
.pc-content h2{margin-top:8px; font-size:21px; color:var(--navy); font-family:var(--font-body); font-weight:800; line-height:1.3;}
.pc-content p.pc-text{margin-top:12px; font-size:14.5px; color:var(--ink-2); line-height:1.65;}
.pc-content p.pc-text + p.pc-text{margin-top:10px;}
.pc-content .pc-cta{margin-top:16px; display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:700; color:var(--blue); align-self:flex-start;}
.pc-content .pc-cta svg{stroke:var(--blue); width:13px; height:13px; flex:none; transition:transform .15s ease;}
.pc-content .pc-cta:hover svg{transform:translateX(3px);}

/* bulleted service list (Negative PID) — reuses the Contact page's town-list bullet mechanics */
.pc-checklist{margin-top:14px; display:flex; flex-direction:column; gap:10px;}
.pc-checklist li{position:relative; padding-left:17px; font-size:14.5px; font-weight:500; color:var(--ink-2); line-height:1.6;}
.pc-checklist li::before{content:""; position:absolute; left:0; top:8px; width:5px; height:5px; border-radius:50%; background:var(--emerald);}

.pc-affiliations{margin-top:14px; font-size:13.5px; color:var(--ink-3); line-height:1.6;}

/* contact info block (Negative PID contacts / AFS card) */
.partner-contact-block{margin-top:16px; display:flex; flex-direction:column; gap:8px; padding:16px 18px; background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius); box-shadow:var(--shadow-sm);}
.partner-contact-block .pcb-row{display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--navy); font-weight:600;}
.partner-contact-block .pcb-row svg{width:15px; height:15px; stroke:var(--blue); flex:none;}
.partner-contact-block .pcb-row a{color:inherit;}
.partner-contact-block .pcb-row a:hover{color:var(--blue);}
.partner-contact-block .pcb-name{font-family:var(--font-display); font-size:14.5px; font-weight:800; color:var(--navy);}
.partner-contact-block .pcb-title{font-size:12.5px; color:var(--ink-3); font-weight:600; margin-top:-4px;}

@media (max-width:640px){
  .partner-card-media{height:200px; padding:22px;}
  .partner-card-body{padding:26px 24px;}
}

/* ============================================================
   PART 11 — faq
   ============================================================ */
/* ===== MSP FAQ page ===== */
.faq-hero{position:relative; overflow:hidden; padding:80px 0 56px; background:linear-gradient(135deg, #ffffff 0%, var(--ice-50) 45%, var(--ice-100) 100%);}
.faq-hero::before{content:""; position:absolute; top:-220px; right:-160px; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.16), rgba(47,111,237,0) 70%); pointer-events:none;}
.faq-hero .section-head{max-width:720px;}
.faq-hero .section-head h1{font-size:clamp(30px,3.6vw,44px); font-weight:800; margin-top:14px; color:var(--navy);}
.faq-hero .section-head p{font-size:17px; color:var(--ink-2); line-height:1.65;}

.faq-shell{background:#fff;}
.faq-shell .section-head{max-width:760px; margin-left:auto; margin-right:auto; text-align:center;}

.faq-list{max-width:840px; margin:0 auto; display:flex; flex-direction:column;}
.faq-item{padding:40px 0; border-top:1px solid var(--line);}
.faq-item:first-child{border-top:none; padding-top:0;}
.faq-kicker{display:inline-block; font-family:var(--font-mono); font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); background:var(--ice-50); border:1px solid var(--ice-200); border-radius:999px; padding:5px 14px;}
.faq-item.is-lead .faq-kicker, .faq-item.is-conclusion .faq-kicker{color:var(--emerald-dark); background:var(--emerald-50); border-color:#c9ecdd;}
.faq-q{margin-top:16px; font-size:22px; font-weight:800; color:var(--navy); font-family:var(--font-body); line-height:1.35;}
.faq-a{margin-top:14px; display:flex; flex-direction:column; gap:14px;}
.faq-a p{font-size:15.5px; color:var(--ink-2); line-height:1.7;}
.faq-a a{color:var(--blue); font-weight:700; text-decoration:underline; text-underline-offset:2px;}
.faq-a a:hover{color:var(--navy);}

/* bulleted "common services" list — reuses the Partners page's checklist mechanics */
.faq-checklist{display:flex; flex-direction:column; gap:10px;}
.faq-checklist li{position:relative; padding-left:19px; font-size:15.5px; font-weight:500; color:var(--ink-2); line-height:1.6;}
.faq-checklist li::before{content:""; position:absolute; left:0; top:9px; width:5px; height:5px; border-radius:50%; background:var(--emerald);}

/* embedded Reactive-vs-Proactive comparison — reuses the homepage hero's .cmp-grid component verbatim */
.faq-cmp-wrap{margin-top:8px;}
.faq-cmp-lead{text-align:center; font-size:clamp(19px,2.2vw,24px); font-weight:800; color:var(--navy); margin-bottom:24px;}
.faq-cmp-wrap .cmp-grid{max-width:760px; margin:0 auto;}
.faq-cmp-wrap .cmp-list{max-width:none;}

@media (max-width:640px){
  .faq-item{padding:30px 0;}
  .faq-q{font-size:19px;}
}

/* ============================================================
   PART 12 — managed-it
   ============================================================ */
/* ===== Managed IT Services page ===== */
.svc-hero{position:relative; overflow:hidden; padding:80px 0 36px; background:linear-gradient(135deg, #ffffff 0%, var(--ice-50) 45%, var(--ice-100) 100%);}
.svc-hero::before{content:""; position:absolute; top:-220px; right:-160px; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.16), rgba(47,111,237,0) 70%); pointer-events:none;}
/* 2-column hero, matching the homepage's own hero-grid pattern (text left, real visual right)
   instead of one text column with empty space beside it */
/* align-items:stretch: both hero columns are as tall as the text column, and from 1181px the diagram card is trimmed
   to run from the h1's cap line to the last paragraph line (see .svc-net-title / .svc-hero-diagram-panel below), so the
   card and the text block share top and bottom edges (Jason). Below 1181px the columns stack and nothing stretches. */
.svc-hero-grid{position:relative; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:stretch;}
@media (max-width:1180px){ .svc-hero-grid{grid-template-columns:1fr; gap:40px;} }
.svc-hero-left{min-width:0; display:flow-root;}
.svc-hero-right{min-width:0; display:flex; flex-direction:column;}
.svc-hero .section-head{max-width:none;}
.svc-hero .section-head h1{font-size:clamp(30px,3.6vw,44px); font-weight:800; margin-top:14px; color:var(--navy);}
.svc-hero .section-head p{font-size:17px; color:var(--ink-2); line-height:1.65;}
.svc-hero .section-head p + p{margin-top:8px;}
.svc-h1-underline{text-decoration:underline; text-underline-offset:4px;}

/* small title above the diagram panel identifying what the graphic shows */
.svc-net-title{text-align:center; font-size:15px; font-weight:800; color:var(--navy); margin-bottom:14px;}
/* from 1181px the card's top edge sits on the h1's cap line: h1 box top is 38px below the column top (24px eyebrow line +
   14px h1 margin), the cap line 0.21em below that (Sora, 1.2 line height), the caption is 22.5px tall; the card's bottom
   edge stops 3.7px above the column's bottom, which is the last paragraph line's descender (half-leading of 15px/1.7). */
@media (min-width:1181px){ .svc-net-title{margin-bottom:calc(15.5px + 0.21 * clamp(30px, 3.6vw, 44px));} .svc-hero-diagram-panel{margin-bottom:3.7px;} }

/* the network-diagram graphic, relocated from Section 1 into the hero's right column to fill
   the space that used to sit empty beside the hero text. The image fills the card's width (22px padding only) and is
   centred in the card, whose height matches the text column from 1181px. */
.svc-hero-diagram-panel{flex:1; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); padding:22px;}
.svc-hero-diagram-panel img{width:100%; height:auto; display:block; border-radius:12px;}
@media (max-width:1180px){ .svc-hero-diagram-panel{padding:26px;} }

.svc-shell{background:#fff; padding:0;}
/* eyebrow above centered section headings — reuses the site-wide .eyebrow/.dot component, just centered */
.svc-eyebrow-wrap{text-align:center; margin-bottom:22px;}

/* doctor-analogy intro: plain flowing text in the hero's left column (no card/box), width-matched to the hero
   text above it so it reads as one continuous column. It is NOT a formatting context: the hero illustration
   (.svc-hero-img) floats from the first lede line and this text wraps beside it, so it must not be display:flow-root
   (that would shrink the whole block beside the float and keep it narrow after the float ends). The float is
   contained by .svc-hero-left instead. */
.svc-intro-flow{margin-top:36px;}
.svc-intro-head{display:block; margin-bottom:14px;}
.svc-intro-flow h2{text-align:left; font-size:clamp(20px,2.2vw,25px); font-weight:800; color:var(--navy); margin-bottom:0; line-height:1.3;}
.svc-intro-flow p{text-align:left; font-size:15px; color:var(--ink-2); line-height:1.7; margin-top:12px;}
.svc-intro-flow p:first-of-type{margin-top:0;}
/* Hero illustration (Jason): a portrait figure floated right INSIDE the hero's left text block, so the lede lines, the
   "See if we serve your area" link and the three paragraphs wrap on its left, while the h1 (above it) and the h2 (nowrap,
   and clear of it horizontally) keep their full width. It is the first thing after the h1 in .section-head, which puts the
   float's top at the h1's bottom; margin-top 22.1px lands its frame on the first lede line's cap line (14px lede margin +
   3.7px half-leading + 4.1px ascender-to-cap for 17px Inter). Its height is meant to equal the span from that line to the
   last paragraph line's descender, and that span is set by how the text wraps, so the width (height = width x 1000/578)
   is stepped by viewport. All figures below were MEASURED in headless Chrome (Chrome for Testing, real Inter/Sora web
   fonts, real page), not modelled: >=1620px 241px = 417px tall = the span (top and bottom within 0.1px, 1,1 lede lines and
   2,3,3 paragraph lines); 1475-1619px 257px = 445px (span 445: the second lede line wraps); 1400-1474px 290px = 502px (span
   ~498-524, within one line); 900-1180px single column 241px (226px from 1115px, span 391), within one line above ~1000px
   and up to ~50px short at 900px. margin-right 40px insets it into the text block; the h2 is 460px wide, so image left edge
   must stay right of ~485px, which holds from 1400px and from 900px single-column. From 1181 to 1399px (equal columns) there
   is no room for the float and the 460px h2 together, so the h2 may wrap there and the image shrinks to keep 360px of text
   beside it (min 150px). Under 900px it stops floating and stacks centred above the text at 360px tall (flex order puts it
   above the eyebrow). Frame: 5px white + 1px --ice-300 ring + the site's soft shadow, radius 20px. */
.svc-hero-img{float:right; display:block; width:clamp(150px, calc(100% - 384px), 241px); height:auto; aspect-ratio:578/1000; margin:22.1px 0 0 24px; border:5px solid #fff; border-radius:20px; object-fit:cover; box-shadow:0 0 0 1px var(--ice-300), var(--shadow-md);}
/* >=1400px: two columns with the left one widened (1.8fr; 1.65fr from 1680px, where the text has spare width: line breaks
   are identical down to 1.6fr, which leaves lede line 2 only ~4px of slack, so 1.65fr) */
/* From 1400px the card sits beside the text, and the illustration is centred vertically on it, not on the text span. Card centre =
   (h1 cap line + last line)/2; the image spans (first lede cap line + last line), so its centre is lower by half the distance from
   the h1 cap line to the lede cap line = (22.1px lede cap offset below the h1 bottom + 44.2px h1 bottom below its cap line) / 2 = 33.1px
   (measured; the h1 is a fixed 44px from 1223px). The float is moved up by that half-distance via its top margin: (22.1 - 44.2) / 2.
   It depends only on the h1/lede geometry, not on the card's height, so it stays centred whenever the image spans the text (measured
   -0.2 to -0.4px at every size tier from 1475px; within 1.4px at 1440px; -11px at 1400px where the wrap differs). The float's
   exclusion area still starts at the h1's bottom, so nothing beside the image changes and nothing overlaps it. */
@media (min-width:1400px){ .svc-hero-grid{grid-template-columns:1.8fr 1fr;} .svc-hero-img{width:290px; margin-right:40px; margin-top:calc((22.1px - 44.2px) / 2);} .svc-intro-flow h2{white-space:nowrap;} }
@media (min-width:1475px){ .svc-hero-img{width:257px;} }
@media (min-width:1620px){ .svc-hero-img{width:241px;} }
@media (min-width:1680px){ .svc-hero-grid{grid-template-columns:1.65fr 1fr;} }
@media (min-width:900px) and (max-width:1180px){ .svc-hero-img{width:241px; margin-right:40px;} .svc-intro-flow h2{white-space:nowrap;} }
@media (min-width:1115px) and (max-width:1180px){ .svc-hero-img{width:226px;} }
@media (max-width:899px){ .svc-hero .section-head{display:flex; flex-direction:column; align-items:flex-start;} .svc-hero-img{order:-1; float:none; align-self:center; width:auto; max-width:100%; height:360px; margin:0 auto 20px;} }

.svc-prose{max-width:760px; margin:0 auto;}
.svc-prose h2{text-align:center; font-size:clamp(26px,3.4vw,36px); font-weight:800; color:var(--navy); margin-bottom:22px; line-height:1.25;}
.svc-prose p{font-size:15.5px; color:var(--ink-2); line-height:1.75; margin-top:14px;}
.svc-prose p:first-of-type{margin-top:0;}
.svc-prose a{color:var(--blue); font-weight:700; text-decoration:underline; text-underline-offset:2px;}
.svc-prose a:hover{color:var(--navy);}

/* solid grey, professional callout box for the "holistic approach" line */
.svc-holistic-box{margin-top:24px; background:#eceef2; border:1px solid #d7dbe3; border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:26px 36px;}
.svc-prose .svc-holistic-box p{margin:0; text-align:center; color:var(--ink-2); font-size:15.5px; line-height:1.6; font-weight:600;}
.svc-section{padding:52px 0;}
.svc-section + .svc-section{border-top:1px solid var(--line);}
.svc-section-first{padding-top:24px;}

/* single article column — widened to match the homepage's own widest content-body class
   (.aw-text-body, 1180px) rather than the live page's original ~860px, per Jason's feedback
   that this page's content should spread across the page at the same width as homepage content */
.svc-col{max-width:1180px; margin:40px auto 0;}

.svc-h6{text-align:center; font-size:15px; font-weight:700; color:var(--navy); margin-top:24px;}
.svc-h6.lead{font-size:16.5px; font-weight:600; color:var(--ink-2); margin-top:10px;}

/* tech-solutions: heading + plain list, THEN the diagram full-width below — same stacking order
   as the live page (not a side-by-side split, which was this page's v1 mistake) */
.svc-tech-heading{text-align:left; font-size:17px; font-weight:800; color:var(--navy); margin-bottom:14px;}
.svc-tech-card{background:linear-gradient(160deg, #ffffff, #f4faf7); border:1px solid #e3f2ea; border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:34px 42px;}
/* 3 columns at the card's new, wider width (12 items divides evenly into 4 rows of 3) so the
   extra room from widening .svc-col doesn't just turn into two very sparse columns */
.svc-tech-list{display:grid; grid-template-columns:repeat(3,1fr); column-gap:32px;}
.svc-tech-list li{display:flex; align-items:center; gap:12px; padding:11px 0; font-size:14.8px; font-weight:500; color:var(--ink-2); border-bottom:1px dashed #e5f0ea;}
.svc-tech-list li .tic{width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:none;
  background:linear-gradient(135deg, #59d69b, #12a065); box-shadow:inset 0 1px 1px rgba(255,255,255,.5), 0 3px 8px rgba(14,159,106,.35);}
.svc-tech-list li .tic svg{width:12px; height:12px; stroke:#fff; stroke-width:2.8;}
.svc-tech-list li:nth-last-child(-n+3){border-bottom:none;}
.svc-tech-list li.more{font-style:italic; color:var(--ink-3);}
.svc-tech-list li.more .tic{visibility:hidden;}
@media (max-width:900px){ .svc-tech-list{grid-template-columns:1fr 1fr;} .svc-tech-list li:nth-last-child(-n+3){border-bottom:1px dashed #e5f0ea;} .svc-tech-list li:nth-last-child(-n+2){border-bottom:none;} }
@media (max-width:640px){ .svc-tech-list{grid-template-columns:1fr;} .svc-tech-card{padding:22px 24px;} .svc-tech-list li:nth-last-child(-n+2){border-bottom:1px dashed #e5f0ea;} .svc-tech-list li:last-child{border-bottom:none;} }
.svc-tech-diagram{margin-top:28px; background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:20px;}
.svc-tech-diagram img{width:100%; height:auto; display:block; border-radius:12px;}

/* photo + checklist block — this pairing IS side-by-side on the live page, kept as-is */
.svc-photo-check{display:grid; grid-template-columns:220px 1fr; gap:30px; align-items:start;}
.svc-photo-check img{width:100%; height:100%; object-fit:cover; border-radius:var(--radius-lg); box-shadow:var(--shadow-md); aspect-ratio:1/1;}
.svc-checklist{display:grid; grid-template-columns:1fr 1fr; column-gap:22px; row-gap:14px;}
.svc-checklist li{display:flex; align-items:flex-start; gap:12px; font-size:14.2px; font-weight:500; color:var(--ink-2); line-height:1.4;}
.svc-check-ic{width:24px; height:24px; border-radius:50%; border:2px solid var(--blue); display:flex; align-items:center; justify-content:center; flex:none; margin-top:1px;}
.svc-check-ic svg{width:12px; height:12px; stroke:var(--blue); stroke-width:2.6;}
@media (max-width:700px){ .svc-photo-check{grid-template-columns:1fr;} .svc-photo-check img{aspect-ratio:16/9; max-width:280px; margin:0 auto;} .svc-checklist{grid-template-columns:1fr;} }

/* cost-savings callout — pulled out of the checklist grid (it was the 13th item there, which
   made one column longer than the other and, with its explanatory sub-line, didn't read as
   obviously connected to the checkmark above it) into its own icon-chip box, no checkmark */
.svc-savings-box{display:flex; align-items:center; gap:20px; background:linear-gradient(160deg, #eaf5ff, #cfe8fd); border:1px solid #a9d8f5; border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:26px 32px;}
.svc-savings-ic{width:52px; height:52px; border-radius:15px; display:flex; align-items:center; justify-content:center; flex:none;
  background:linear-gradient(160deg, #5c86ef, #1f5adf);
  box-shadow:inset 0 1.5px 1.5px rgba(255,255,255,.55), inset 0 -8px 11px rgba(4,30,80,.35), 0 8px 18px rgba(31,90,223,.4);}
.svc-savings-ic svg{width:24px; height:24px; stroke:#fff;}
.svc-savings-head{font-size:16.5px; font-weight:800; color:var(--navy);}
.svc-savings-sub{margin-top:6px; font-size:13.5px; color:var(--ink-2); line-height:1.55;}
@media (max-width:600px){ .svc-savings-box{flex-direction:column; align-items:flex-start; gap:14px; padding:22px 24px;} }

/* 2-photo gallery row — each photo now paired with its own caption directly beneath it (each
   photo's own rounded card + shadow, side by side), rather than one merged image panel with
   both captions stacked underneath on the left */
.svc-gallery-wrap{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
.svc-gallery-wrap img{width:100%; height:auto; aspect-ratio:2/1; object-fit:cover; display:block; border-radius:var(--radius-lg); box-shadow:var(--shadow-md);}
@media (max-width:600px){ .svc-gallery-wrap{grid-template-columns:1fr; gap:32px;} }

/* captions — plain left-aligned bold text continuing the page's own body flow, same as the live
   page (not a centered pull-quote treatment, which was this page's v1 embellishment). Both
   captions share identical styling now that each sits under its own photo. */
.svc-caption-flow{text-align:left; font-size:16px; font-weight:700; color:var(--navy); margin-top:16px; line-height:1.5;}

/* 3 stacked feature cards */
.svc-feature-list{display:flex; flex-direction:column; gap:22px;}
.svc-feature-card{display:flex; gap:22px; align-items:flex-start; background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:30px 32px;}
.svc-feature-ic{width:52px; height:52px; border-radius:15px; display:flex; align-items:center; justify-content:center; flex:none;
  background:linear-gradient(135deg, var(--ice-100), var(--ice-200));
  box-shadow:inset 0 1.5px 1.5px rgba(255,255,255,.55), inset 0 -8px 11px rgba(10,42,94,.08), 0 8px 16px rgba(47,111,237,.14);}
.svc-feature-ic svg{width:24px; height:24px; stroke:var(--blue);}
.svc-feature-body .mc-eyebrow{display:block; margin-bottom:6px;}
.svc-feature-body h3{font-size:18px; font-weight:800; color:var(--navy);}
.svc-feature-body p{margin-top:10px; font-size:14.8px; color:var(--ink-2); line-height:1.65;}
@media (max-width:600px){ .svc-feature-card{flex-direction:column;} }

/* decorative circular photo — sized close to how it renders on the live page (roughly
   a third of the article column), not shrunk down to a small icon-sized graphic */
.svc-circle-wrap{display:flex; flex-direction:column; align-items:flex-start; margin-top:40px;}
.svc-circle-img{width:300px; height:300px; border-radius:50%; object-fit:cover; box-shadow:var(--shadow-lg);}
@media (max-width:520px){ .svc-circle-img{width:220px; height:220px;} }

/* full-width wide photo */
.svc-wide-img{margin-top:36px; display:block; width:100%; height:auto; border-radius:var(--radius-lg); box-shadow:var(--shadow-md);}

/* Tools of the Trade: 3 sub-topics as a plain divided list (heading + paragraphs), matching the
   live page's own plain H2-then-paragraph flow — a small inline icon is the "modern twist",
   not a full bordered/tinted card (which was this page's v1 over-restyling) */
.svc-topic-list{display:flex; flex-direction:column;}
.svc-topic{padding:36px 0; border-top:1px solid var(--line);}
.svc-topic:first-child{padding-top:0; border-top:none;}
.svc-topic-head{display:flex; align-items:center; gap:14px; margin-bottom:14px;}
.svc-topic-ic{width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex:none;
  background:linear-gradient(135deg, var(--ice-100), var(--ice-200));}
.svc-topic-ic svg{width:19px; height:19px; stroke:var(--blue);}
.svc-topic h3{font-size:19px; font-weight:800; color:var(--navy); text-align:left;}
.svc-topic p{font-size:15px; color:var(--ink-2); line-height:1.75;}
.svc-topic p + p{margin-top:14px;}
.svc-net-list{margin-top:14px; display:flex; flex-direction:column; gap:8px;}
.svc-net-list li{position:relative; padding-left:19px; font-size:14.5px; color:var(--ink-2); line-height:1.6;}
.svc-net-list li::before{content:""; position:absolute; left:0; top:8px; width:5px; height:5px; border-radius:50%; background:var(--blue);}
.svc-net-sublist{margin-top:6px; margin-left:19px; display:flex; flex-direction:column; gap:6px;}
.svc-net-sublist li{position:relative; padding-left:17px; font-size:13.8px; color:var(--ink-3); line-height:1.55;}
.svc-net-sublist li::before{content:""; position:absolute; left:0; top:7px; width:4px; height:4px; border-radius:50%; background:var(--ice-300); border:1px solid var(--ink-3);}

/* Food for Thought: title paired with a thought-bubble icon, essay set inside a soft,
   organically-curved "thought bubble" card (asymmetric border-radius + two small trailing
   circles below-left, like a cartoon thought bubble's tail) rather than a plain block of text */
.svc-thought-head{display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:26px;}
.svc-thought-head h2{margin-bottom:0;}
.svc-thought-ic{width:50px; height:50px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:none;
  background:linear-gradient(135deg, var(--ice-100), var(--ice-200)); box-shadow:inset 0 1.5px 1.5px rgba(255,255,255,.55), 0 6px 14px rgba(47,111,237,.18);}
.svc-thought-ic svg{width:24px; height:24px; stroke:var(--blue);}
.svc-thought-card{
  position:relative; background:linear-gradient(160deg, #ffffff, var(--ice-50));
  border:1px solid var(--ice-200); box-shadow:var(--shadow-md);
  border-radius:56px 26px 50px 30px / 36px 50px 28px 44px;
  padding:44px 48px;
}
.svc-thought-card::before, .svc-thought-card::after{content:""; position:absolute; background:var(--ice-100); border:1px solid var(--ice-200);
  border-radius:50%;}
.svc-thought-card::before{width:18px; height:18px; left:58px; bottom:-22px;}
.svc-thought-card::after{width:10px; height:10px; left:40px; bottom:-34px;}
.svc-prose p.svc-closing-line{text-align:center; font-size:19px; font-weight:800; color:var(--blue); margin-top:26px; line-height:1.5;}

@media (max-width:640px){
  .svc-section{padding:40px 0;}
  .svc-feature-card{padding:24px 22px;}
  .svc-thought-card{padding:30px 26px; border-radius:40px 20px 36px 22px / 28px 36px 20px 32px;}
}

/* ============================================================
   PART 13 — service-areas
   ============================================================ */
/* ===== Service Areas page ===== */
.sa-hero{position:relative; overflow:hidden; padding:80px 0 36px; background:linear-gradient(135deg, #ffffff 0%, var(--ice-50) 45%, var(--ice-100) 100%);}
.sa-hero::before{content:""; position:absolute; top:-220px; right:-160px; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.16), rgba(47,111,237,0) 70%); pointer-events:none;}
.sa-hero-grid{position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:stretch;}
@media (max-width:1080px){ .sa-hero-grid{grid-template-columns:1fr; gap:36px;} }
.sa-hero-left{min-width:0;}
.sa-hero-right{min-width:0; display:flex; flex-direction:column;}
.sa-hero .section-head{max-width:none;}
.sa-hero .section-head h1{font-size:clamp(28px,3.4vw,42px); font-weight:800; margin-top:14px; color:var(--navy); line-height:1.2;}
.sa-hero .section-head p{font-size:17px; color:var(--ink-2); line-height:1.65; margin-top:14px;}
.sa-hero-panel{flex:1; display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); padding:18px;}
.sa-hero-panel img{width:100%; height:auto; display:block; border-radius:12px;}

.sa-shell{background:#fff; padding:0;}
.sa-eyebrow-wrap{text-align:center; margin-bottom:22px;}
.sa-section{padding:52px 0;}
.sa-section + .sa-section{border-top:1px solid var(--line);}
.sa-col{max-width:1180px; margin:0 auto;}

.sa-prose{max-width:760px; margin:0 auto; text-align:center;}
.sa-prose h2{font-size:clamp(26px,3.4vw,36px); font-weight:800; color:var(--navy); margin-bottom:22px; line-height:1.25;}
.sa-intro-text{max-width:900px; margin:0 auto; text-align:left;}
.sa-intro-text h3{font-size:19px; font-weight:800; color:var(--navy); margin-bottom:12px;}
.sa-intro-text p{font-size:15.5px; color:var(--ink-2); line-height:1.75;}

/* the 3 regional write-ups — plain divided list (heading + small pin icon + paragraph),
   matching the site's established "Tools of the Trade" divided-list pattern rather than
   heavy bordered cards, since these are continuous prose blocks on the live page */
.sa-region-list{display:flex; flex-direction:column; max-width:1180px; margin:36px auto 0;}
.sa-region{padding:32px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start;}
.sa-region:first-child{padding-top:0; border-top:none;}
.sa-region-ic{width:44px; height:44px; border-radius:13px; display:flex; align-items:center; justify-content:center; flex:none;
  background:linear-gradient(135deg, var(--ice-100), var(--ice-200));
  box-shadow:inset 0 1.5px 1.5px rgba(255,255,255,.55), inset 0 -8px 11px rgba(10,42,94,.08), 0 8px 16px rgba(47,111,237,.14);}
.sa-region-ic svg{width:20px; height:20px; stroke:var(--blue);}
.sa-region h3{font-size:19px; font-weight:800; color:var(--navy); margin-bottom:8px;}
.sa-region p{font-size:15px; color:var(--ink-2); line-height:1.75;}
@media (max-width:600px){ .sa-region{grid-template-columns:1fr;} .sa-region-ic{margin-bottom:4px;} }

/* "At a glance" area grid — every individual town/area gets its own cell (13 total), reusing the
   site-wide GTA service-region list (also the basis for the footer and the Contact page's "Where
   We Serve" box) but fully expanded rather than grouped, so a place like Mississauga or Innisfil
   (not covered in its own write-up above) still visibly reads as its own served area */
.sa-glance{max-width:1180px; margin:0 auto; background:linear-gradient(160deg, #ffffff, var(--ice-50)); border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:34px 38px;}
.sa-glance-head{display:flex; align-items:center; gap:14px; margin-bottom:22px;}
.sa-glance-ic{width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; flex:none;
  background:linear-gradient(135deg, var(--ice-100), var(--ice-200));
  box-shadow:inset 0 1.5px 1.5px rgba(255,255,255,.55), inset 0 -8px 11px rgba(10,42,94,.08), 0 8px 16px rgba(47,111,237,.14);}
.sa-glance-ic svg{width:21px; height:21px; stroke:var(--blue);}
.sa-glance-head h3{font-size:18px; font-weight:800; color:var(--navy);}
.sa-glance-sub{font-size:13.8px; color:var(--ink-3); margin-top:2px;}
.sa-glance-grid{display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--ice-200); border-left:1px solid var(--ice-200); border-radius:10px; overflow:hidden;}
.sa-glance-cell{display:flex; align-items:center; gap:10px; padding:16px 18px; font-size:14px; font-weight:700; color:var(--navy); background:#fff; border-right:1px solid var(--ice-200); border-bottom:1px solid var(--ice-200);}
.sa-glance-cell svg{width:15px; height:15px; stroke:var(--blue); flex:none;}
.sa-glance-cell{cursor:pointer; transition:background .15s ease, color .15s ease;}
.sa-glance-cell:hover{background:var(--ice-50); color:var(--blue);}
@media (max-width:980px){ .sa-glance-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:760px){ .sa-glance-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:480px){ .sa-glance-grid{grid-template-columns:1fr;} }
@media (max-width:600px){ .sa-glance{padding:26px 22px;} }

/* ============================================================
   PART 14 — town-richmond-hill
   ============================================================ */
/* ===== Richmond Hill (town-specific SEO page) ===== */
.rh-hero{position:relative; overflow:hidden; padding:80px 0 56px; background:linear-gradient(135deg, #ffffff 0%, var(--ice-50) 45%, var(--ice-100) 100%);}
.rh-hero::before{content:""; position:absolute; top:-220px; right:-160px; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, rgba(47,111,237,.16), rgba(47,111,237,0) 70%); pointer-events:none;}
.rh-hero .section-head{position:relative; max-width:900px;}
.rh-hero .section-head h1{font-size:clamp(30px,3.8vw,46px); font-weight:800; margin-top:14px; color:var(--navy); line-height:1.18;}
.rh-hero .section-head p{font-size:17px; color:var(--ink-2); line-height:1.65; margin-top:16px; max-width:760px;}
.rh-hero-cta{position:relative; margin-top:26px; display:flex; flex-direction:column; align-items:flex-start; gap:14px;}
.rh-back-link{display:inline-flex; align-items:center; gap:7px; font-size:14.5px; font-weight:700; color:var(--blue);}
.rh-back-link svg{width:14px; height:14px; stroke:var(--blue);}
.rh-back-link:hover{color:var(--navy);}

.rh-shell{background:#fff; padding:64px 0 88px;}
.rh-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; align-items:start; max-width:1180px; margin:0 auto;}
@media (max-width:900px){ .rh-grid{grid-template-columns:1fr; gap:36px;} }

/* left column: condensed services checklist */
.rh-check-card{background:linear-gradient(160deg, #ffffff, #f4faf7); border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:32px 30px; position:sticky; top:130px;}
@media (max-width:900px){ .rh-check-card{position:static;} }
.rh-check-head{display:flex; align-items:center; gap:12px; margin-bottom:20px;}
.rh-check-ic{width:44px; height:44px; border-radius:13px; display:flex; align-items:center; justify-content:center; flex:none;
  background:linear-gradient(135deg, var(--ice-100), var(--ice-200));
  box-shadow:inset 0 1.5px 1.5px rgba(255,255,255,.55), inset 0 -8px 11px rgba(10,42,94,.08), 0 8px 16px rgba(47,111,237,.14);}
.rh-check-ic svg{width:20px; height:20px; stroke:var(--blue);}
.rh-check-head h3{font-size:17px; font-weight:800; color:var(--navy); line-height:1.3;}
.rh-check-head div{display:flex; flex-direction:column;}
.rh-check-sub{font-size:12.5px; color:var(--ink-3); margin-top:2px;}
.rh-checklist{display:flex; flex-direction:column;}
.rh-checklist li{display:flex; align-items:center; gap:12px; padding:11px 0; font-size:14.5px; font-weight:600; color:var(--ink-2); border-bottom:1px dashed #dbe9e1;}
.rh-checklist li:last-child{border-bottom:none;}
.rh-checklist .tic{width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex:none;
  background:linear-gradient(135deg, #59d69b, #12a065); box-shadow:0 3px 8px rgba(18,160,101,.28);}
.rh-checklist .tic svg{width:11px; height:11px; stroke:#fff; stroke-width:3;}
.rh-check-cta{margin-top:24px; padding-top:20px; border-top:1px solid var(--ice-200);}
.rh-check-cta .btn{width:100%;}
.rh-check-phone{margin-top:14px; text-align:center; font-size:13.5px; color:var(--ink-3);}
.rh-check-phone b{display:block; color:var(--navy); font-family:var(--font-mono); font-size:16px; margin-top:2px;}

/* right column: town-specific write-up */
.rh-prose h2{font-size:clamp(24px,2.8vw,30px); font-weight:800; color:var(--navy); margin-bottom:18px; line-height:1.25;}
.rh-prose p{font-size:15.5px; color:var(--ink-2); line-height:1.8;}
.rh-prose p + p{margin-top:16px;}
.rh-prose .rh-lede{font-size:16.5px; color:var(--ink); font-weight:500;}

/* checklist "see more" link row */
.rh-checklist-more{color:var(--ink-2); font-weight:600;}
.rh-checklist-more a{color:var(--blue); font-weight:700; text-decoration:underline; text-underline-offset:2px;}
.rh-checklist-more a:hover{color:var(--navy);}

/* at-a-glance service area grid (shared component, matches Service Areas page) */
.rh-area-mesh{background:var(--ice-50); padding:72px 0; border-top:1px solid var(--ice-200);}
.sa-glance{max-width:1180px; margin:0 auto; background:linear-gradient(160deg, #ffffff, var(--ice-50)); border:1px solid var(--ice-200); border-radius:var(--radius-lg); box-shadow:var(--shadow-md); padding:34px 38px;}
.sa-glance-head{display:flex; align-items:center; gap:14px; margin-bottom:22px;}
.sa-glance-ic{width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; flex:none;
  background:linear-gradient(135deg, var(--ice-100), var(--ice-200));
  box-shadow:inset 0 1.5px 1.5px rgba(255,255,255,.55), inset 0 -8px 11px rgba(10,42,94,.08), 0 8px 16px rgba(47,111,237,.14);}
.sa-glance-ic svg{width:21px; height:21px; stroke:var(--blue);}
.sa-glance-head h3{font-size:18px; font-weight:800; color:var(--navy);}
.sa-glance-sub{font-size:13.8px; color:var(--ink-3); margin-top:2px;}
.sa-glance-sub a{color:var(--blue); font-weight:700; text-decoration:none;}
.sa-glance-sub a:hover{text-decoration:underline;}
.sa-glance-grid{display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--ice-200); border-left:1px solid var(--ice-200); border-radius:10px; overflow:hidden;}
.sa-glance-cell{display:flex; align-items:center; gap:10px; padding:16px 18px; font-size:14px; font-weight:700; color:var(--navy); background:#fff; border-right:1px solid var(--ice-200); border-bottom:1px solid var(--ice-200);}
.sa-glance-cell svg{width:15px; height:15px; stroke:var(--blue); flex:none;}
.sa-glance-cell{cursor:pointer; transition:background .15s ease, color .15s ease;}
.sa-glance-cell:hover{background:var(--ice-50); color:var(--blue);}
.sa-glance-cell.current{background:var(--navy); color:#fff; border-color:var(--navy); cursor:default;}
.sa-glance-cell.current svg{stroke:#fff;}
.sa-glance-cell.current:hover{background:var(--navy); color:#fff;}
@media (max-width:980px){ .sa-glance-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:760px){ .sa-glance-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:480px){ .sa-glance-grid{grid-template-columns:1fr;} }
@media (max-width:600px){ .sa-glance{padding:26px 22px;} }

/* ==========================================================================
   Elementor 4 container compatibility  (v2)
   --------------------------------------------------------------------------
   Elementor renders every container as `.elementor-element .e-con
   .e-atomic-element .e-flexbox-base` and sets display:flex with its own row
   direction, gap, padding and width. v1 restated our intent at `.e-con.<class>`
   (0,2,0) and still lost, which means Elementor's rule matches that specificity
   or higher and loads afterwards.

   Rather than keep escalating selector weight against a moving target, the
   layout-critical declarations below are marked !important. This is a
   deliberate framework-override layer, scoped strictly to the properties that
   decide layout — display, direction, gap, padding, width, alignment. Colour,
   type, borders and shadows are untouched and still cascade normally.
   ========================================================================== */

/* Containers that are ordinary blocks in the source design. */
.e-con.wrap,
.e-con.section-head,
.e-con.contact-hero,
.e-con.contact-shell,
.e-con.contact-intro,
.e-con.contact-info-row,
.e-con.contact-form-card{
  display:block !important;
  flex-direction:initial !important;
  align-items:initial !important;
  justify-content:initial !important;
  gap:0 !important;
  --gap:0 !important;
  width:auto !important;
  max-width:none !important;
  padding:0 !important;
}

/* Restore the geometry Elementor clobbered, per container. */
.e-con.wrap{max-width:var(--wrap) !important; margin:0 auto !important; padding:0 32px !important;}
@media (max-width:640px){ .e-con.wrap{padding:0 20px !important;} }

.e-con.contact-hero{padding:80px 0 56px !important;}
.e-con.contact-shell{padding:64px 0 96px !important;}
.e-con.contact-intro{padding:36px 28px !important;}
.e-con.contact-form-card{padding:44px !important;}

/* section-head width. The grouped reset above sets max-width:none on every
   .e-con.section-head, which overrode all three of the source design's rules:
   base 640px (.section-head), 720px (.contact-hero .section-head) and
   unconstrained (.contact-form-card .section-head). Restate them at the source
   specificity order; the two contextual ones are (0,3,0) and beat the base. */
.e-con.section-head{max-width:640px !important;}
.contact-hero .e-con.section-head{max-width:720px !important;}
.contact-form-card .e-con.section-head{max-width:none !important;}

.e-con.contact-layout{
  display:grid !important;
  grid-template-columns:340px 1fr !important;
  gap:32px !important;
  align-items:start !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:0 !important;
  width:auto !important;
}
@media (max-width:900px){ .e-con.contact-layout{grid-template-columns:1fr !important;} }

.e-con.contact-sidebar{
  display:flex !important;
  flex-direction:column !important;
  gap:24px !important;
  min-width:0 !important;
  padding:0 !important;
  width:auto !important;
  max-width:none !important;
}

/* Elementor wraps each html widget in its own div; keep it transparent. */
.e-con > .elementor-widget-html{display:block !important; width:auto !important; max-width:none !important;}
.e-con.contact-sidebar > .elementor-widget-html{width:100% !important;}

/* Where the SyncroMSP form renders. The source design used a dashed
   `.form-placeholder` box as an annotation; only its centring is wanted here,
   not the dashed border or striped background. */
.e-con.form-mount{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  text-align:center !important;
  width:auto !important;
  max-width:none !important;
  padding:0 !important;
  min-height:120px !important;
}

/* Theme Builder mounts. Elementor wraps the header and footer templates in its
   own container, which forces display:flex and adds padding. These reset it so
   <header> and <footer> behave as though they were top level — including the
   sticky header, which breaks if an ancestor clips overflow. */
.e-con.site-header-mount,.e-con.site-footer-mount{
  display:block !important; padding:0 !important; margin:0 !important;
  width:auto !important; max-width:none !important; gap:0 !important;
  overflow:visible !important;
}
.e-con.site-header-mount > .elementor-widget-html,
.e-con.site-footer-mount > .elementor-widget-html{
  display:block !important; width:auto !important; max-width:none !important; overflow:visible !important;
}

/* Image sizing under Elementor. Elementor ships `.elementor img{height:auto;
   max-width:100%}` at (0,1,1). Every site rule that sizes an image with a
   single class, e.g. `.logo-img{height:55px}` at (0,1,0), loses to it, and the
   image renders at natural height. Every Elementor-rendered area, including the
   Theme Builder header, sits inside an `.elementor` wrapper, so prefixing the
   class lifts it to (0,2,0), which wins with no !important. Restate the 900px
   breakpoint at the same weight or the base rule overrides it. */
.elementor .logo-img{height:55px; width:auto;}
@media (max-width:900px){ .elementor .logo-img{height:34px;} }

/* BEGIN generated-compat:faq  (convert/convert_page.py; regenerated in place, do not hand-edit) */
.e-con.faq-hero{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:80px 0 56px !important;}
.e-con.bad.cmp-col{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; border-radius:24px !important; padding:36px 30px 32px !important;}
.e-con.cmp-col.good{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; border-radius:24px !important; padding:36px 30px 32px !important;}
.e-con.cmp-grid{flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; display:grid !important; grid-template-columns:1fr 1fr !important; gap:28px !important; position:relative !important;}
.e-con.faq-cmp-wrap{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; margin-top:8px !important;}
.e-con.faq-a{align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; margin-top:14px !important; display:flex !important; flex-direction:column !important; gap:14px !important;}
.e-con.faq-item.is-lead{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:40px 0 !important;}
.e-con.faq-item{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:40px 0 !important;}
.e-con.faq-item.is-conclusion{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:40px 0 !important;}
.e-con.faq-list{align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; padding:0 !important; max-width:840px !important; margin:0 auto !important; display:flex !important; flex-direction:column !important;}
.e-con.faq-shell{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important;}
.e-con.cta-card{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; position:relative !important; max-width:860px !important; margin:0 auto !important; border-radius:var(--radius-lg) !important; padding:52px 56px !important;}
.e-con.cta-band{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important; position:relative !important; overflow:hidden !important;}
@media (max-width:800px){ .e-con.cmp-grid{grid-template-columns:1fr !important;} }
@media (max-width:640px){ .e-con.faq-item.is-lead{padding:30px 0 !important;} .e-con.faq-item{padding:30px 0 !important;} .e-con.faq-item.is-conclusion{padding:30px 0 !important;} .e-con.cta-card{padding:36px 24px !important;} }
.e-con.faq-item:first-child{padding-top:0 !important;}
.faq-cmp-wrap .e-con.cmp-grid{max-width:760px !important; margin:0 auto !important;}
/* END generated-compat:faq */

/* BEGIN generated-compat:showcase  (convert/convert_page.py; regenerated in place, do not hand-edit) */
.e-con.showcase-hero{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:80px 0 56px !important;}
.e-con.logo-marquee{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; position:relative !important; overflow:hidden !important; max-width:1340px !important; margin:0 auto !important; border-radius:var(--radius-lg) !important; padding:26px 0 !important;}
.e-con.tech-band{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:56px 0 !important;}
.e-con.showcase-card-media{flex-direction:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; position:relative !important; flex:0 0 42% !important; max-width:42% !important; padding:24px !important; min-height:280px !important; display:flex !important; align-items:flex-start !important; justify-content:center !important;}
.e-con.showcase-card-body{align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; display:flex !important; flex-direction:column !important; flex:1 !important; min-width:0 !important; padding:30px 34px !important;}
.e-con.showcase-card{justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; display:flex !important; flex-direction:row !important; align-items:stretch !important; overflow:hidden !important; border-radius:var(--radius-lg) !important;}
.e-con.sc-bench-device{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; border-radius:var(--radius-sm) !important; padding:12px 14px !important;}
.e-con.sc-bench{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; margin-top:16px !important;}
.e-con.showcase-grid{align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; padding:0 !important; display:flex !important; flex-direction:column !important; gap:32px !important; max-width:1180px !important; margin:0 auto !important;}
.e-con.showcase-list{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:64px 0 104px !important;}
.e-con.cta-card{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; position:relative !important; max-width:860px !important; margin:0 auto !important; border-radius:var(--radius-lg) !important; padding:52px 56px !important;}
.e-con.cta-band{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important; position:relative !important; overflow:hidden !important;}
@media (max-width:760px){ .e-con.showcase-card-media{flex-basis:auto !important; max-width:100% !important; padding:0 !important; min-height:0 !important;} .e-con.showcase-card-body{padding:22px 26px 26px !important;} .e-con.showcase-card{flex-direction:column !important;} }
@media (max-width:640px){ .e-con.cta-card{padding:36px 24px !important;} }
.tech-band > .e-con.wrap{position:relative !important; z-index:1 !important;}
.showcase-list > .e-con.wrap{position:relative !important; z-index:1 !important;}
.sc-bench-device + .e-con.sc-bench-device{margin-top:10px !important;}
/* leaf flex items: item properties restated on the widget wrapper */
.e-con.showcase-card-media > .elementor-widget-html:has(> img, > .elementor-widget-container > img){max-width:100% !important; width:auto !important;}
/* images: restated one class heavier than Elementor's .elementor img reset */
.elementor .logo-marquee-track img{height:34px; max-width:120px;}
.elementor .showcase-card-media img{max-width:100%; height:auto; border-radius:8px; box-shadow:var(--shadow-md);}
@media (max-width:760px){ .elementor .logo-marquee-track img{height:28px;} .elementor .showcase-card-media img{border-radius:0; box-shadow:none;} }
/* END generated-compat:showcase */

/* BEGIN generated-compat:home  (convert/convert_page.py; regenerated in place, do not hand-edit) */
.e-con.bad.cmp-col{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; border-radius:24px !important; padding:36px 30px 32px !important;}
.e-con.cmp-col.good{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; border-radius:24px !important; padding:36px 30px 32px !important;}
.e-con.cmp-grid{flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; display:grid !important; grid-template-columns:1fr 1fr !important; gap:28px !important; position:relative !important;}
.e-con.award-col{align-items:initial !important; justify-content:initial !important; --gap:0 !important; padding:0 !important; width:100% !important; max-width:100% !important; display:flex !important; flex-direction:column !important; gap:24px !important;}
.e-con.hero-visual{flex-direction:initial !important; align-items:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; position:relative !important; display:flex !important; justify-content:flex-end !important; min-width:0 !important;}
.e-con.hero-grid{flex-direction:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; position:relative !important; display:grid !important; grid-template-columns:660px 1fr !important; gap:56px !important; align-items:flex-start !important;}
.e-con.hero{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:28px 0 0 !important;}
.e-con.mq-logo-box{flex-direction:initial !important; gap:0 !important; --gap:0 !important; max-width:none !important; padding:0 !important; width:241px !important; height:50px !important; display:flex !important; align-items:center !important; justify-content:center !important; flex:none !important;}
.e-con.marquee-track{flex-direction:initial !important; justify-content:initial !important; --gap:0 !important; max-width:none !important; display:flex !important; align-items:center !important; gap:72px !important; width:max-content !important; padding:0 36px !important;}
.e-con.marquee{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; position:relative !important; overflow:hidden !important; max-width:1340px !important; margin:0 auto !important; border-radius:var(--radius-lg) !important; padding:33px 0 !important;}
.e-con.trust{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:76px 0 0 !important; position:relative !important; overflow:hidden !important;}
.e-con.aw-text-head{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; padding:0 !important; max-width:700px !important;}
.e-con.aw-badges{flex-direction:initial !important; align-items:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; position:relative !important; display:flex !important; justify-content:center !important; gap:40px !important; flex-wrap:wrap !important;}
.e-con.aw-text-body{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; padding:0 !important; max-width:1180px !important;}
.e-con.aw-inner{justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; position:relative !important; display:flex !important; flex-direction:column !important; align-items:center !important; gap:42px !important;}
.e-con.awards-showcase{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:96px 0 !important;}
.e-con.tb-card{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; flex:1 1 240px !important; border-radius:var(--radius) !important; padding:26px 24px !important;}
.e-con.tb-card.wide{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; border-radius:var(--radius) !important; padding:26px 24px !important; flex:2 1 380px !important;}
.e-con.tb-grid{flex-direction:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; position:relative !important; display:flex !important; flex-wrap:wrap !important; gap:20px !important; align-items:stretch !important;}
.e-con.trust-band{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:64px 0 56px !important; position:relative !important; overflow:hidden !important;}
.e-con.svc-card{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; border-radius:var(--radius) !important; padding:26px 22px !important;}
.e-con.svc-grid{flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; position:relative !important; display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:18px !important;}
.e-con.services{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important; position:relative !important; overflow:hidden !important;}
.e-con.cert-body{align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; display:flex !important; flex-direction:column !important; flex:1 !important; padding:22px 26px 26px !important;}
.e-con.cert{align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; display:flex !important; flex-direction:column !important; overflow:hidden !important; border-radius:var(--radius-lg) !important;}
.e-con.cert-row{flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:26px !important;}
.e-con.certs{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important; padding-top:64px !important;}
.e-con.cta-card{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; position:relative !important; max-width:860px !important; margin:0 auto !important; border-radius:var(--radius-lg) !important; padding:52px 56px !important;}
.e-con.cta-perk{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; flex:1 1 220px !important; border-radius:var(--radius) !important; padding:24px 22px !important;}
.e-con.cta-perks{flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; position:relative !important; margin-top:28px !important; display:flex !important; flex-wrap:wrap !important; gap:18px !important;}
.e-con.cta-band{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important; position:relative !important; overflow:hidden !important;}
@media (max-width:800px){ .e-con.cmp-grid{grid-template-columns:1fr !important;} }
@media (max-width:1180px){ .e-con.hero-grid{grid-template-columns:1fr !important; gap:48px !important;} }
@media (max-width:760px){ .e-con.mq-logo-box{width:183px !important; height:38px !important;} .e-con.marquee-track{gap:44px !important;} .e-con.aw-badges{gap:24px !important;} .e-con.cert-row{grid-template-columns:1fr !important; max-width:360px !important; margin:0 auto !important; gap:32px !important;} }
@media (max-width:980px){ .e-con.svc-grid{grid-template-columns:repeat(2,1fr) !important;} }
@media (max-width:560px){ .e-con.svc-grid{grid-template-columns:1fr !important;} }
@media (max-width:640px){ .e-con.cta-card{padding:36px 24px !important;} }
/* leaf flex items: item properties restated on the widget wrapper */
.e-con.mq-logo-box > .elementor-widget-html:has(> img.mq-logo, > .elementor-widget-container > img.mq-logo){max-width:100% !important; width:auto !important; flex:none !important;}
.e-con.cert-body > .elementor-widget-html:has(> p, > .elementor-widget-container > p){flex:1 !important;}
.e-con.cert-body > .elementor-widget-html:has(> p.cert-more, > .elementor-widget-container > p.cert-more){margin-top:auto !important; flex:1 !important;}
/* images: restated one class heavier than Elementor's .elementor img reset */
.elementor .aw-badge img{height:auto; border-radius:12px;}
.elementor .mq-logo{height:50px;}
.elementor .cert-img{max-width:230px; height:auto;}
@media (max-width:760px){ .elementor .mq-logo{height:38px;} }
/* stretched leaf items: wrapper and element fill their grid/flex row, as the source item did */
.e-con.aw-badges > .elementor-widget-html:has(> div.aw-badge, > .elementor-widget-container > div.aw-badge){align-self:stretch !important;}
.elementor .e-con.aw-badges > .elementor-widget-html > div.aw-badge, .elementor .e-con.aw-badges > .elementor-widget-html > .elementor-widget-container > div.aw-badge{height:100%;}
.e-con.svc-grid > .elementor-widget-html:has(> a.more.svc-card, > .elementor-widget-container > a.more.svc-card){align-self:stretch !important;}
.elementor .e-con.svc-grid > .elementor-widget-html > a.more.svc-card, .elementor .e-con.svc-grid > .elementor-widget-html > .elementor-widget-container > a.more.svc-card{height:100%;}
/* positioned elements: Elementor wrappers/containers between them and their containing block made static (front end only) */
:where(body:not(.elementor-editor-active)) .e-con.cmp-col.good > .elementor-widget-html{position:static !important;}
:where(body:not(.elementor-editor-active)) .e-con.aw-badges > .elementor-widget-html{position:static !important;}
/* positioned elements: position, offsets and z-index restated one class heavier */
.elementor .tagline{position:absolute; top:100%; right:0;}
.elementor .cmp-recommend{position:absolute; top:-16px; right:26px;}
.elementor .aw-heart-mark{position:absolute; top:50%;}
.elementor .aw-heart-left{left:-400px;}
.elementor .aw-heart-right{right:-400px;}
@media (max-width:760px){ .elementor .tagline{position:static;} }
/* END generated-compat:home */

/* BEGIN generated-compat:our-story  (convert/convert_page.py; regenerated in place, do not hand-edit) */
.e-con.story-hero-copy{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important;}
.e-con.portrait-card{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; position:relative !important; border-radius:var(--radius-lg) !important; overflow:hidden !important;}
.e-con.story-hero-visual{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important;}
.e-con.story-hero-grid.wrap{flex-direction:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; padding:0 32px !important; position:relative !important; display:grid !important; grid-template-columns:1.15fr .85fr !important; gap:70px !important; align-items:end !important; max-width:1180px !important; margin:0 auto !important;}
.e-con.story-hero{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:76px 0 96px !important;}
.e-con.tl-dot{flex-direction:initial !important; gap:0 !important; --gap:0 !important; max-width:none !important; padding:0 !important; position:relative !important; z-index:1 !important; flex:none !important; width:48px !important; height:48px !important; border-radius:50% !important; display:flex !important; align-items:center !important; justify-content:center !important;}
.e-con.tl-card{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; flex:1 !important; border-radius:var(--radius) !important; padding:22px 24px !important; margin-top:2px !important;}
.e-con.tl-item{flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; position:relative !important; display:flex !important; gap:24px !important; padding-bottom:32px !important;}
.e-con.tl-track{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; padding:0 !important; position:relative !important; max-width:760px !important; margin:0 auto !important;}
.e-con.timeline-sec{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important;}
.e-con.philosophy-band{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:88px 0 !important; position:relative !important; overflow:hidden !important;}
.e-con.prose-block{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; padding:0 !important; max-width:760px !important; margin:0 auto !important;}
.e-con.feature-card{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; position:relative !important; max-width:780px !important; margin:0 auto !important; border-radius:var(--radius-lg) !important; padding:48px 48px 44px !important;}
.e-con.story-feature-row{flex-direction:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; padding:0 !important; display:grid !important; grid-template-columns:minmax(0,1fr) 346px !important; max-width:998px !important; margin:0 auto !important; gap:32px !important; align-items:stretch !important;}
.e-con.story-feature{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important;}
.e-con.svc-card{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; border-radius:var(--radius) !important; padding:26px 22px !important;}
.e-con.svc-grid{flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; position:relative !important; display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:18px !important;}
.e-con.services.value-props{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important; position:relative !important; overflow:hidden !important;}
.e-con.cta-card{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; position:relative !important; max-width:860px !important; margin:0 auto !important; border-radius:var(--radius-lg) !important; padding:52px 56px !important;}
.e-con.cta-band{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important; position:relative !important; overflow:hidden !important;}
@media (max-width:640px){ .e-con.story-hero-grid.wrap{padding:0 20px !important;} .e-con.tl-dot{width:40px !important; height:40px !important;} .e-con.tl-item{gap:16px !important;} .e-con.feature-card{padding:36px 24px 32px !important;} .e-con.cta-card{padding:36px 24px !important;} }
@media (max-width:980px){ .e-con.story-hero-grid.wrap{grid-template-columns:1fr !important; gap:44px !important; max-width:640px !important; align-items:stretch !important;} .e-con.svc-grid{grid-template-columns:repeat(2,1fr) !important;} }
@media (max-width:940px){ .e-con.story-feature-row{grid-template-columns:1fr !important;} }
@media (max-width:560px){ .e-con.svc-grid{grid-template-columns:1fr !important;} }
.e-con.tl-item:last-child{padding-bottom:0 !important;}
.story-feature-row .e-con.feature-card{max-width:none !important; margin:0 !important;}
.philosophy-band .e-con.wrap{position:relative !important; max-width:820px !important;}
/* leaf flex items: item properties restated on the widget wrapper */
.e-con.tl-dot > .elementor-widget-html:has(> svg, > .elementor-widget-container > svg){max-width:100% !important; width:20px !important;}
@media (max-width:640px){ .e-con.tl-dot > .elementor-widget-html:has(> svg, > .elementor-widget-container > svg){width:16px !important;} }
/* images: restated one class heavier than Elementor's .elementor img reset */
.elementor .award-badge{height:auto;}
.elementor .portrait-photo{height:520px;}
.elementor .tl-photo{height:320px;}
.elementor .donald-review-img{max-width:284px; height:auto; border:1px solid var(--ice-200); border-radius:var(--radius-sm);}
.elementor .donald-corner img{height:100%;}
.elementor img[src="https://www.carsonix.com/wp-content/uploads/2026/09/our-story-img6.jpg"]{max-width:min(100%, 140px);}
.elementor img[src="https://www.carsonix.com/wp-content/uploads/2026/09/our-story-img7.jpg"]{max-width:min(100%, 140px);}
.elementor img[src="https://www.carsonix.com/wp-content/uploads/2026/09/our-story-img8.jpg"]{max-width:min(100%, 140px);}
.elementor img[src="https://www.carsonix.com/wp-content/uploads/2026/09/our-story-img9.jpg"]{max-width:min(100%, 140px);}
/* stretched leaf items: wrapper and element fill their grid/flex row, as the source item did */
.e-con.story-feature-row > .elementor-widget-html:has(> div.donald-review-card, > .elementor-widget-container > div.donald-review-card){align-self:stretch !important;}
.elementor .e-con.story-feature-row > .elementor-widget-html > div.donald-review-card, .elementor .e-con.story-feature-row > .elementor-widget-html > .elementor-widget-container > div.donald-review-card{height:100%;}
/* END generated-compat:our-story */

/* BEGIN generated-compat:media  (convert/convert_page.py; regenerated in place, do not hand-edit) */
.e-con.media-hero{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:80px 0 56px !important;}
.e-con.media-links{align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; margin-top:auto !important; padding-top:16px !important; display:flex !important; flex-direction:column !important; gap:8px !important;}
.e-con.media-card-body{align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; display:flex !important; flex-direction:column !important; flex:1 !important; padding:22px 26px 26px !important;}
.e-con.media-card{align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; display:flex !important; flex-direction:column !important; overflow:hidden !important; border-radius:var(--radius-lg) !important;}
.e-con.media-grid{flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; display:grid !important; grid-template-columns:repeat(3, 1fr) !important; gap:28px !important;}
.e-con.media-list{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:64px 0 104px !important;}
.e-con.cta-card{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; position:relative !important; max-width:860px !important; margin:0 auto !important; border-radius:var(--radius-lg) !important; padding:52px 56px !important;}
.e-con.cta-band{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important; position:relative !important; overflow:hidden !important;}
@media (max-width:1080px){ .e-con.media-grid{grid-template-columns:repeat(2, 1fr) !important;} }
@media (max-width:640px){ .e-con.media-grid{grid-template-columns:1fr !important; max-width:440px !important; margin:0 auto !important;} .e-con.cta-card{padding:36px 24px !important;} }
.media-list > .e-con.wrap{position:relative !important; z-index:1 !important;}
/* leaf flex items: item properties restated on the widget wrapper */
.e-con.media-card-body > .elementor-widget-html:has(> p.media-desc, > .elementor-widget-container > p.media-desc){margin-top:10px !important; flex:1 !important;}
.e-con.media-links > .elementor-widget-html:has(> a, > .elementor-widget-container > a){align-self:flex-start !important;}
.elementor .e-con.media-card-body > .elementor-widget-html > p.media-desc, .elementor .e-con.media-card-body > .elementor-widget-html > .elementor-widget-container > p.media-desc{margin:0;}
/* images: restated one class heavier than Elementor's .elementor img reset */
.elementor .media-card-media img{max-width:100%; width:auto; height:auto;}
.elementor .media-card-media.is-portrait img{border-radius:8px; box-shadow:var(--shadow-sm); width:auto; height:auto;}
.elementor img[src="https://www.carsonix.com/wp-content/uploads/2026/09/techbullion-profile-article-logo-jason-carson-carsonix-inc.jpg"]{max-width:min(100%, 269px);}
.elementor img[src="https://www.carsonix.com/wp-content/uploads/2026/09/the-ai-journal-carsonix-inc-named-best-msp-in-the-greater-to.png"]{max-width:min(100%, 300px);}
.elementor img[src="https://www.carsonix.com/wp-content/uploads/2026/09/imdb-logo-jason-carson-actra-additional-background-performer.png"]{max-width:min(100%, 330px);}
.elementor img[src="https://www.carsonix.com/wp-content/uploads/2026/09/ceo-times-jason-carson-and-carsonix-inc-recognized-as-smb-he.png"]{max-width:min(100%, 159px);}
.elementor img[src="https://www.carsonix.com/wp-content/uploads/2026/09/business-insider-jason-carson-and-carsonix-inc-recognized-as.png"]{max-width:min(100%, 200px);}
.elementor img[src="https://www.carsonix.com/wp-content/uploads/2026/09/best-version-media-richmond-hill-neighbours-magazine-feature.png"]{max-width:min(100%, 300px);}
/* END generated-compat:media */

/* BEGIN generated-compat:partners  (convert/convert_page.py; regenerated in place, do not hand-edit) */
.e-con.partners-hero{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:80px 0 56px !important;}
.e-con.partner-card-media{flex-direction:initial !important; gap:0 !important; --gap:0 !important; max-width:none !important; position:relative !important; width:100% !important; height:270px !important; display:flex !important; align-items:center !important; justify-content:center !important; padding:30px !important;}
.e-con.partner-card-body{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:34px 40px !important;}
.e-con.partner-card{align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; display:flex !important; flex-direction:column !important; overflow:hidden !important; border-radius:var(--radius-lg) !important;}
.e-con.partner-contact-block{align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; margin-top:16px !important; display:flex !important; flex-direction:column !important; gap:8px !important; padding:16px 18px !important; border-radius:var(--radius) !important;}
.e-con.pc-content{align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; padding:0 !important; display:flex !important; flex-direction:column !important; max-width:680px !important; margin:0 auto !important; width:100% !important;}
.e-con.partner-list{align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; padding:0 !important; display:flex !important; flex-direction:column !important; gap:32px !important; max-width:1040px !important; margin:0 auto !important;}
.e-con.partners-shell{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:64px 0 104px !important;}
.e-con.cta-card{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; position:relative !important; max-width:860px !important; margin:0 auto !important; border-radius:var(--radius-lg) !important; padding:52px 56px !important;}
.e-con.cta-band{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important; position:relative !important; overflow:hidden !important;}
@media (max-width:640px){ .e-con.partner-card-media{height:200px !important; padding:22px !important;} .e-con.partner-card-body{padding:26px 24px !important;} .e-con.cta-card{padding:36px 24px !important;} }
.partners-shell > .e-con.wrap{position:relative !important; z-index:1 !important;}
/* leaf flex items: item properties restated on the widget wrapper */
.e-con.partner-card-media > .elementor-widget-html:has(> img, > .elementor-widget-container > img){max-width:100% !important; width:auto !important;}
/* images with a percentage max-height/height: widget wrapper filled so it resolves against the fixed-height parent */
.e-con.partner-card-media > .elementor-widget-html:has(> img, > .elementor-widget-container > img){height:100% !important; display:flex !important; align-items:center !important; justify-content:center !important;}
@media (max-width:640px){ .e-con.partner-card-media > .elementor-widget-html:has(> img, > .elementor-widget-container > img){height:100% !important; display:flex !important; align-items:center !important; justify-content:center !important;} }
/* images: restated one class heavier than Elementor's .elementor img reset */
.elementor .partner-card-media img{max-width:100%; height:auto;}
.elementor img[src="https://www.carsonix.com/wp-content/uploads/2026/09/lenovo-partner-tier-status.png"]{max-width:min(100%, 610px);}
.elementor img[src="https://www.carsonix.com/wp-content/uploads/2026/09/teksavvy-certified-partner.jpg"]{max-width:min(100%, 1004px);}
.elementor img[src="https://www.carsonix.com/wp-content/uploads/2026/09/negative-pid.png"]{max-width:min(100%, 300px);}
.elementor img[src="https://www.carsonix.com/wp-content/uploads/2026/09/affiliated-financial-services.jpg"]{max-width:min(100%, 264px);}
.elementor img[src="https://www.carsonix.com/wp-content/uploads/2026/09/gtapreneurs.png"]{max-width:min(100%, 600px);}
/* END generated-compat:partners */

/* BEGIN generated-compat:reviews  (convert/convert_page.py; regenerated in place, do not hand-edit) */
.e-con.rev-stat-box{flex-direction:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; display:inline-flex !important; align-items:center !important; border-radius:999px !important; padding:10px 30px 10px 17px !important;}
.e-con.rev-stat{flex-direction:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; position:relative !important; margin-top:30px !important; display:flex !important; justify-content:center !important; align-items:center !important; gap:8px !important;}
.e-con.rev-hero{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:80px 0 30px !important;}
.e-con.rev-intro-col{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important;}
.e-con.rev-intro-cols{flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; padding:0 !important; display:grid !important; grid-template-columns:1fr 1fr !important; gap:64px !important; max-width:920px !important; margin:0 auto 48px !important;}
.e-con.no-top-rule.rev-footer{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important;}
.e-con.rev-card.rev-card--clutch{flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; max-width:none !important; display:block !important; width:100% !important; position:relative !important; overflow:hidden !important; border-radius:22px !important; padding:0 38px 32px !important; margin:0 0 32px !important;}
.e-con.rev-footer{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important;}
.e-con.rev-card.rev-card--google{flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; max-width:none !important; display:block !important; width:100% !important; position:relative !important; overflow:hidden !important; border-radius:22px !important; padding:0 38px 32px !important; margin:0 0 32px !important;}
.e-con.rev-grid-col{align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; flex:1 !important; min-width:0 !important; display:flex !important; flex-direction:column !important; gap:32px !important;}
.e-con.rev-grid{flex-direction:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; padding:0 !important; position:relative !important; display:flex !important; gap:48px !important; max-width:1240px !important; margin:0 auto !important; align-items:flex-start !important;}
.e-con.rev-list{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important; position:relative !important; overflow:hidden !important; padding-top:48px !important;}
.e-con.track-stat-wrap{flex-direction:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; position:relative !important; margin-top:30px !important; display:inline-flex !important; justify-content:center !important; align-items:center !important; gap:8px !important;}
.e-con.center.section-head{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; padding:0 !important; max-width:640px !important; margin-bottom:52px !important; margin-left:auto !important; margin-right:auto !important;}
.e-con.track-card{align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; border-radius:var(--radius) !important; padding:24px 24px 20px !important; display:flex !important; flex-direction:column !important; overflow:hidden !important;}
.e-con.track-grid{flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; margin-top:52px !important; display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:20px !important;}
.e-con.track-record{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:76px 0 84px !important;}
.e-con.cta-card{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; position:relative !important; max-width:860px !important; margin:0 auto !important; border-radius:var(--radius-lg) !important; padding:52px 56px !important;}
.e-con.cta-band{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important; position:relative !important; overflow:hidden !important;}
@media (max-width:820px){ .e-con.rev-intro-cols{grid-template-columns:1fr !important; max-width:480px !important; gap:36px !important;} .e-con.rev-grid{flex-direction:column !important; max-width:640px !important; gap:32px !important;} }
@media (max-width:1080px){ .e-con.track-grid{grid-template-columns:repeat(2,1fr) !important;} }
@media (max-width:680px){ .e-con.track-grid{grid-template-columns:1fr !important;} }
@media (max-width:640px){ .e-con.cta-card{padding:36px 24px !important;} }
.rev-hero .e-con.section-head{max-width:760px !important; margin-bottom:0 !important;}
.rev-list > .e-con.wrap{position:relative !important; z-index:1 !important;}
.rev-card .e-con.rev-footer{margin-top:22px !important; padding-top:18px !important;}
.rev-card .e-con.rev-footer.no-top-rule{margin-top:8px !important; padding-top:0 !important;}
.track-record .e-con.wrap{position:relative !important; z-index:1 !important;}
.track-record .e-con.section-head{max-width:960px !important; margin-bottom:0 !important;}
.track-card .e-con.rev-footer{margin-top:16px !important; padding-top:14px !important;}
/* leaf flex items: item properties restated on the widget wrapper */
.e-con.rev-stat > .elementor-widget-html:has(> svg.rev-stat-check, > .elementor-widget-container > svg.rev-stat-check){max-width:100% !important; flex:none !important; width:96px !important; margin-top:-17px !important; margin-right:-14px !important;}
.e-con.track-stat-wrap > .elementor-widget-html:has(> svg.track-stat-check, > .elementor-widget-container > svg.track-stat-check){max-width:100% !important; flex:none !important; width:92px !important; margin-top:-16px !important; margin-right:-14px !important;}
.e-con.track-card > .elementor-widget-html:has(> p.rev-text, > .elementor-widget-container > p.rev-text){flex:1 !important;}
.e-con.track-card > .elementor-widget-html:has(> p.no-comment.rev-text, > .elementor-widget-container > p.no-comment.rev-text){flex:1 !important;}
@media (max-width:560px){ .e-con.track-stat-wrap > .elementor-widget-html:has(> svg.track-stat-check, > .elementor-widget-container > svg.track-stat-check){width:74px !important; margin-top:-12px !important; margin-right:-10px !important;} }
.elementor .e-con.rev-stat > .elementor-widget-html > svg.rev-stat-check, .elementor .e-con.rev-stat > .elementor-widget-html > .elementor-widget-container > svg.rev-stat-check{margin:0;}
.elementor .e-con.track-stat-wrap > .elementor-widget-html > svg.track-stat-check, .elementor .e-con.track-stat-wrap > .elementor-widget-html > .elementor-widget-container > svg.track-stat-check{margin:0;}
/* images: restated one class heavier than Elementor's .elementor img reset */
.elementor .rev-col-head .platform-logo{height:44px;}
.elementor .rev-col-head .platform-logo.clutch-logo{height:48px;}
/* END generated-compat:reviews */

/* BEGIN generated-compat:managed-it-services  (convert/convert_page.py; regenerated in place, do not hand-edit) */
.e-con.svc-intro-flow{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; margin-top:36px !important;}
.e-con.svc-hero-left{flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; min-width:0 !important; display:flow-root !important;}
.e-con.svc-hero-diagram-panel{flex-direction:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; flex:1 !important; display:flex !important; align-items:center !important; justify-content:center !important; border-radius:var(--radius-lg) !important; padding:22px !important;}
.e-con.svc-hero-right{align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; min-width:0 !important; display:flex !important; flex-direction:column !important;}
.e-con.svc-hero-grid{flex-direction:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; position:relative !important; display:grid !important; grid-template-columns:1fr 1fr !important; gap:56px !important; align-items:stretch !important;}
.e-con.svc-hero{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:80px 0 36px !important;}
.e-con.svc-prose{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; padding:0 !important; max-width:760px !important; margin:0 auto !important;}
.e-con.svc-col{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; padding:0 !important; max-width:1180px !important; margin:40px auto 0 !important;}
.e-con.svc-col.svc-photo-check{flex-direction:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; padding:0 !important; max-width:1180px !important; margin:40px auto 0 !important; display:grid !important; grid-template-columns:220px 1fr !important; gap:30px !important; align-items:start !important;}
.e-con.svc-savings-box{flex-direction:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; display:flex !important; align-items:center !important; gap:20px !important; border-radius:var(--radius-lg) !important; padding:26px 32px !important;}
.e-con.svc-gallery-wrap{flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; display:grid !important; grid-template-columns:1fr 1fr !important; gap:28px !important;}
.e-con.svc-section.svc-section-first{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:52px 0 !important; padding-top:24px !important;}
.e-con.svc-feature-card{flex-direction:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; display:flex !important; gap:22px !important; align-items:flex-start !important; border-radius:var(--radius-lg) !important; padding:30px 32px !important;}
.e-con.svc-col.svc-feature-list{align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; padding:0 !important; max-width:1180px !important; margin:40px auto 0 !important; display:flex !important; flex-direction:column !important; gap:22px !important;}
.e-con.svc-section{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:52px 0 !important;}
.e-con.svc-topic{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:36px 0 !important;}
.e-con.svc-col.svc-topic-list{align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; padding:0 !important; max-width:1180px !important; margin:40px auto 0 !important; display:flex !important; flex-direction:column !important;}
.e-con.svc-shell{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important;}
.e-con.cta-card{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; position:relative !important; max-width:860px !important; margin:0 auto !important; border-radius:var(--radius-lg) !important; padding:52px 56px !important;}
.e-con.cta-band{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important; position:relative !important; overflow:hidden !important;}
@media (min-width:1181px){ .e-con.svc-hero-diagram-panel{margin-bottom:3.7px !important;} }
@media (max-width:1180px){ .e-con.svc-hero-diagram-panel{padding:26px !important;} .e-con.svc-hero-grid{grid-template-columns:1fr !important; gap:40px !important;} }
@media (min-width:1400px){ .e-con.svc-hero-grid{grid-template-columns:1.8fr 1fr !important;} }
@media (min-width:1680px){ .e-con.svc-hero-grid{grid-template-columns:1.65fr 1fr !important;} }
@media (max-width:700px){ .e-con.svc-col.svc-photo-check{grid-template-columns:1fr !important;} }
@media (max-width:600px){ .e-con.svc-savings-box{flex-direction:column !important; align-items:flex-start !important; gap:14px !important; padding:22px 24px !important;} .e-con.svc-gallery-wrap{grid-template-columns:1fr !important; gap:32px !important;} .e-con.svc-feature-card{flex-direction:column !important;} }
@media (max-width:640px){ .e-con.svc-section.svc-section-first{padding:40px 0 !important;} .e-con.svc-feature-card{padding:24px 22px !important;} .e-con.svc-section{padding:40px 0 !important;} .e-con.cta-card{padding:36px 24px !important;} }
.e-con.svc-topic:first-child{padding-top:0 !important;}
/* leaf flex items: item properties restated on the widget wrapper */
.e-con.svc-hero-diagram-panel > .elementor-widget-html:has(> img, > .elementor-widget-container > img){max-width:100% !important; width:100% !important;}
.e-con.svc-col.svc-photo-check > .elementor-widget-html:has(> img, > .elementor-widget-container > img){max-width:100% !important; width:100% !important;}
.e-con.svc-savings-box > .elementor-widget-html:has(> span.svc-savings-ic, > .elementor-widget-container > span.svc-savings-ic){width:52px !important; flex:none !important;}
.e-con.svc-feature-card > .elementor-widget-html:has(> span.svc-feature-ic, > .elementor-widget-container > span.svc-feature-ic){width:52px !important; flex:none !important;}
@media (max-width:700px){ .e-con.svc-col.svc-photo-check > .elementor-widget-html:has(> img, > .elementor-widget-container > img){max-width:280px !important; margin:0 auto !important;} }
/* images: restated one class heavier than Elementor's .elementor img reset */
.elementor .svc-hero-diagram-panel img{height:auto; border-radius:12px;}
.elementor .svc-hero-img{height:auto; border:5px solid #fff; border-radius:20px; box-shadow:0 0 0 1px var(--ice-300), var(--shadow-md);}
.elementor .svc-photo-check img{height:100%; border-radius:var(--radius-lg); box-shadow:var(--shadow-md);}
.elementor .svc-gallery-wrap img{height:auto; border-radius:var(--radius-lg); box-shadow:var(--shadow-md);}
.elementor .svc-wide-img{height:auto; border-radius:var(--radius-lg); box-shadow:var(--shadow-md);}
@media (max-width:899px){ .elementor .svc-hero-img{max-width:100%; height:360px;} }
@media (max-width:700px){ .elementor .svc-photo-check img{max-width:280px;} }
/* stretched leaf items: wrapper and element fill their grid/flex row, as the source item did */
.e-con.svc-gallery-wrap > .elementor-widget-html:has(> div.svc-gallery-item, > .elementor-widget-container > div.svc-gallery-item){align-self:stretch !important;}
.elementor .e-con.svc-gallery-wrap > .elementor-widget-html > div.svc-gallery-item, .elementor .e-con.svc-gallery-wrap > .elementor-widget-html > .elementor-widget-container > div.svc-gallery-item{height:100%;}
/* END generated-compat:managed-it-services */

/* BEGIN generated-compat:service-areas  (convert/convert_page.py; regenerated in place, do not hand-edit) */
.e-con.sa-hero-left{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; min-width:0 !important;}
.e-con.sa-hero-panel{flex-direction:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; flex:1 !important; display:flex !important; align-items:center !important; justify-content:center !important; border-radius:var(--radius-lg) !important; padding:18px !important;}
.e-con.sa-hero-right{align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; min-width:0 !important; display:flex !important; flex-direction:column !important;}
.e-con.sa-hero-grid.wrap{flex-direction:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:var(--wrap) !important; margin:0 auto !important; padding:0 32px !important; position:relative !important; display:grid !important; grid-template-columns:1.05fr .95fr !important; gap:56px !important; align-items:stretch !important;}
.e-con.sa-hero{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:80px 0 36px !important;}
.e-con.sa-col.wrap{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; padding:0 32px !important; max-width:1180px !important; margin:0 auto !important;}
.e-con.sa-section.sa-section-first{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:52px 0 !important;}
.e-con.sa-region{flex-direction:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:32px 0 !important; display:grid !important; grid-template-columns:auto 1fr !important; gap:18px !important; align-items:start !important;}
.e-con.sa-region-list{align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; padding:0 !important; display:flex !important; flex-direction:column !important; max-width:1180px !important; margin:36px auto 0 !important;}
.e-con.sa-section{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:52px 0 !important;}
.e-con.sa-glance-head{flex-direction:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; display:flex !important; align-items:center !important; gap:14px !important; margin-bottom:22px !important;}
.e-con.sa-glance{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:1180px !important; margin:0 auto !important; border-radius:var(--radius-lg) !important; padding:34px 38px !important;}
.e-con.sa-shell{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important;}
.e-con.cta-band{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important; position:relative !important; overflow:hidden !important;}
@media (max-width:640px){ .e-con.sa-hero-grid.wrap{padding:0 20px !important;} .e-con.sa-col.wrap{padding:0 20px !important;} }
@media (max-width:1080px){ .e-con.sa-hero-grid.wrap{grid-template-columns:1fr !important; gap:36px !important;} }
@media (max-width:600px){ .e-con.sa-region{grid-template-columns:1fr !important;} .e-con.sa-glance{padding:26px 22px !important;} }
.e-con.sa-region:first-child{padding-top:0 !important;}
/* leaf flex items: item properties restated on the widget wrapper */
.e-con.sa-hero-panel > .elementor-widget-html:has(> img, > .elementor-widget-container > img){max-width:100% !important; width:100% !important;}
.e-con.sa-region > .elementor-widget-html:has(> span.sa-region-ic, > .elementor-widget-container > span.sa-region-ic){width:44px !important; flex:none !important;}
.e-con.sa-glance-head > .elementor-widget-html:has(> span.sa-glance-ic, > .elementor-widget-container > span.sa-glance-ic){width:46px !important; flex:none !important;}
@media (max-width:600px){ .e-con.sa-region > .elementor-widget-html:has(> span.sa-region-ic, > .elementor-widget-container > span.sa-region-ic){margin-bottom:4px !important;} }
.elementor .e-con.sa-region > .elementor-widget-html > span.sa-region-ic, .elementor .e-con.sa-region > .elementor-widget-html > .elementor-widget-container > span.sa-region-ic{margin:0;}
/* images: restated one class heavier than Elementor's .elementor img reset */
.elementor .sa-hero-panel img{height:auto; border-radius:12px;}
/* END generated-compat:service-areas */

/* BEGIN generated-compat:your-team  (convert/convert_page.py; regenerated in place, do not hand-edit) */
.e-con.team-hero{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; position:relative !important; overflow:hidden !important; padding:80px 0 56px !important;}
.e-con.team-grid{flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:0 !important; display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:28px !important;}
.e-con.team-shell{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important;}
.e-con.cta-card{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; position:relative !important; max-width:860px !important; margin:0 auto !important; border-radius:var(--radius-lg) !important; padding:52px 56px !important;}
.e-con.cta-band{display:block !important; flex-direction:initial !important; align-items:initial !important; justify-content:initial !important; gap:0 !important; --gap:0 !important; width:auto !important; max-width:none !important; padding:104px 0 !important; position:relative !important; overflow:hidden !important;}
@media (max-width:940px){ .e-con.team-grid{grid-template-columns:1fr !important; max-width:420px !important; margin:0 auto !important;} }
@media (max-width:640px){ .e-con.cta-card{padding:36px 24px !important;} }
/* images: restated one class heavier than Elementor's .elementor img reset */
.elementor .team-photo{height:168px; border-radius:50%; border:4px solid #fff; box-shadow:var(--shadow-md);}
/* stretched leaf items: wrapper and element fill their grid/flex row, as the source item did */
.e-con.team-grid > .elementor-widget-html:has(> div.team-card, > .elementor-widget-container > div.team-card){align-self:stretch !important;}
.elementor .e-con.team-grid > .elementor-widget-html > div.team-card, .elementor .e-con.team-grid > .elementor-widget-html > .elementor-widget-container > div.team-card{height:100%;}
/* END generated-compat:your-team */
