/* SHG Startup theme styles. Generated from the approved mockup (src/build.py) by src/wp_export.py. */
  /* Base look follows the W3.CSS "Startup" template: Raleway, white / light grey / dark grey / black.
     SHG brand orange appears only inside the logo files, per the brand-use rule. */
  :root{
    --white:#ffffff; --light:#f1f1f1; --dark:#616161; --black:#000000;
    --text:#000000; --muted:#555555; --line:#cccccc;
    color-scheme: light;
  }
  *{box-sizing:border-box}
  body{margin:0;background:var(--white);color:var(--text);
    font-family:"Raleway",Verdana,Arial,sans-serif;font-size:15px;line-height:1.5}
  h1,h2,h3,h4{font-family:"Raleway",Verdana,Arial,sans-serif;font-weight:500;margin:0;text-wrap:balance}
  img{max-width:100%;display:block}
  a{color:inherit}
  .ms{font-family:"Material Symbols Outlined";font-weight:300;font-style:normal;line-height:1;
    display:inline-block;-webkit-font-feature-settings:"liga";font-feature-settings:"liga";font-size:64px}
  .wrap{max-width:1140px;margin:0 auto;padding-inline:16px}
  section{padding-block:112px}
  .center{text-align:center}
  .kicker{font-size:22px;letter-spacing:4px;text-transform:uppercase;font-weight:500;text-align:center}
  .lead{font-size:18px;text-align:center;margin:12px auto 0;max-width:62ch;color:var(--black)}
  .btn{display:inline-block;border:0;cursor:pointer;font:inherit;text-decoration:none;
    padding:12px 24px;font-size:16px;transition:opacity .2s,background .2s}
  .btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #2196F3;outline-offset:2px;box-shadow:0 0 0 5px rgba(255,255,255,.9)}
  .btn-black{background:var(--black);color:#fff}
  .btn-black:hover{background:#333}
  .btn-white{background:#fff;color:#000}
  .btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.7)}
  .btn-ghost:hover{background:rgba(255,255,255,.25)}
  .btn-light{background:var(--light);color:#000;width:100%}
  .btn-light:hover{background:#ddd}

  /* Top bar */
  .topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:#fff;
    box-shadow:0 2px 5px rgba(0,0,0,.16),0 2px 10px rgba(0,0,0,.12)}
  .topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px}
  .topbar .logo img{height:40px;width:auto}
  .nav{display:flex;flex-wrap:wrap;gap:0}
  .nav a{text-decoration:none;padding:18px 14px;font-size:14px;letter-spacing:1px;text-transform:uppercase}
  .nav a:hover{background:#ccc}
  .menu-btn{display:none;background:none;border:0;font:inherit;padding:12px;cursor:pointer}
  .menu-btn .ms{font-size:28px}
  @media (max-width:820px){
    .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;
      box-shadow:0 4px 10px rgba(0,0,0,.15)}
    .nav.open{display:flex}
    .nav a{padding:14px 16px}
    .menu-btn{display:block}
  }

  /* Hero */
  .hero{position:relative;color:#fff;min-height:620px;display:flex;align-items:center;
    background:#1c2230 url("../img/skyline.jpg") center top/cover no-repeat;padding-block:96px}
  .hero .slot{position:absolute;right:16px;bottom:12px;font-size:12px;letter-spacing:1px;text-transform:uppercase;opacity:.7}
  .hero::before{content:"";position:absolute;inset:0;
    background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.5) 45%,rgba(0,0,0,.1) 80%)}
  .hero .wrap{position:relative;width:100%}
  .hero-copy{max-width:860px}
  .hero .eyebrow{font-size:14px;letter-spacing:4px;text-transform:uppercase;opacity:.85}
  .hero h1{font-size:clamp(40px,6.5vw,64px);line-height:1.08;margin-top:14px;font-weight:500}
  .hero p{font-size:19px;margin:18px 0 28px;max-width:52ch}
  .hero .ctas{display:flex;flex-wrap:wrap;gap:12px}

  /* Feature quarters */
  .quarters{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:64px;text-align:center}
  .quarters h4,.quarters h3{font-size:19px;margin:16px 0 8px}
  .quarters p{margin:0;color:var(--muted)}
  @media (max-width:900px){.quarters{grid-template-columns:repeat(2,1fr)}}
  @media (max-width:520px){.quarters{grid-template-columns:1fr}}

  /* Split */
  .grey{background:var(--light)}
  .photo{background:#d6d6d6;color:#555;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:16px;font-size:13px;aspect-ratio:4/3;max-width:100%}
  .photo .ms{font-size:36px}
  .photo.tall{aspect-ratio:1/1;box-shadow:0 4px 10px rgba(0,0,0,.16);font-size:14px}
  .split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
  .split h3{font-size:36px}
  .split p{font-size:17px;max-width:52ch}
  .split ul{margin:0 0 24px;padding-left:20px}
  .split li{margin-bottom:6px}
  .split img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;box-shadow:0 4px 10px rgba(0,0,0,.16)}
  @media (max-width:820px){.split{grid-template-columns:1fr}}

  /* Technician cards (Team slot) */
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
  .card{background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.16),0 2px 10px rgba(0,0,0,.12);display:flex;flex-direction:column}
  .cardimg{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;background:#fff}
  .splitimg{width:100%;height:auto;aspect-ratio:5/4;object-fit:contain;box-shadow:0 4px 10px rgba(0,0,0,.16)}
  .card .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px}
  .card h4,.card h3{font-size:21px}
  .card .role{color:#757575;font-size:15px;margin:0}
  .card p{margin:0}
  @media (max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}
  @media (max-width:560px){.cards{grid-template-columns:1fr}}

  /* Stats */
  .stats{background:var(--dark);color:#fff;padding-block:64px}
  .stats .row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center}
  .stats .num{font-size:44px;font-variant-numeric:tabular-nums;line-height:1.1}
  .stats .lab{font-size:18px;margin-top:6px}
  .stats .tbc{opacity:.6}
  .stats .note{text-align:center;font-size:13px;opacity:.75;margin-top:28px}
  @media (max-width:560px){.stats .row{grid-template-columns:1fr;row-gap:32px}}

  /* Services grid (Work slot) */
  .svc{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
  .svc .cell{background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 22px;transition:background .2s}
  .svc .cell:hover{background:#fafafa}
  .svc .ms{font-size:36px}
  .svc h4,.svc h3{font-size:18px;margin:12px 0 6px}
  .svc p{margin:0;color:var(--muted);font-size:14.5px}
  .svc .soon{display:inline-block;margin-top:10px;font-size:12px;letter-spacing:2px;text-transform:uppercase;background:var(--black);color:#fff;padding:2px 8px}
  @media (max-width:900px){.svc{grid-template-columns:repeat(2,1fr)}}
  @media (max-width:480px){.svc{grid-template-columns:1fr}}

  /* Engagement (Pricing slot, no prices) */
  .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px;align-items:start}
  .plan{list-style:none;margin:0;padding:0;background:#fff;text-align:center;
    box-shadow:0 2px 5px rgba(0,0,0,.16),0 2px 10px rgba(0,0,0,.12)}
  .plan li{padding:16px;border-bottom:1px solid #ddd}
  .plan li:last-child{border-bottom:0}
  .plan .head{background:var(--black);color:#fff;font-size:22px;padding:28px 16px}
  .plan.mid .head{background:var(--dark)}
  .plan .fit{background:var(--light);font-size:15px;color:#333}
  @media (max-width:820px){.plans{grid-template-columns:1fr;max-width:460px;margin-inline:auto}}

  /* Contact */
  .contact{display:grid;grid-template-columns:5fr 7fr;gap:48px;margin-top:56px}
  .rare{background:var(--black);color:#fff;padding:28px 24px;margin-bottom:28px}
  .rare-h{font-size:14px;letter-spacing:4px;text-transform:uppercase;opacity:.8;margin-bottom:14px}
  .rare-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px;font-size:22px}
  .rare-row b{font-size:30px;font-weight:600}
  form label{font-size:13px;letter-spacing:.5px;display:block;margin-bottom:4px;color:#333}
  form label.check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;letter-spacing:0;line-height:1.45}
  form label.check input{width:auto;margin-top:3px}
  .info{display:grid;gap:10px;margin-bottom:24px;font-size:17px}
  .info div{display:flex;align-items:flex-start;gap:14px}
  .info .ms{font-size:26px}
  .ph{background:#fff3cd;padding:0 4px}
  form{display:grid;gap:14px}
  .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  input,select,textarea{width:100%;padding:10px 8px;border:1px solid #ccc;font:inherit;background:#fff;color:#000}
  textarea{min-height:110px;resize:vertical}
  label.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .formmsg{font-size:14px;color:#2e7d32}
  @media (max-width:820px){.contact{grid-template-columns:1fr}.two{grid-template-columns:1fr}}

  /* Footer */
  footer{background:var(--black);color:#fff;text-align:center;padding-block:64px}
  footer img{height:48px;width:48px;margin:28px auto 12px}
  footer .small{font-size:13px;opacity:.8}
  footer .links{display:flex;justify-content:center;gap:8px 20px;flex-wrap:wrap;padding-inline:16px;margin-top:10px;font-size:13px}
  footer .links a{opacity:.85;display:inline-block;padding:4px 2px;min-height:24px}
  .top-btn{background:var(--light);color:#000}

  @media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
  html{scroll-behavior:smooth}
  [id]{scroll-margin-top:64px}

  .ms{max-width:1em;overflow:hidden;vertical-align:middle}
  .svc-row h2{flex-wrap:wrap}
  [hidden]{display:none!important}
  /* R.A.R.E. standard block (animated intro) */
  .rare{position:relative;overflow:hidden;background:#111!important;color:#fff;padding:34px 30px 30px!important;margin-bottom:28px}
  .rare-bg{position:absolute;inset:-40%;background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 2px,transparent 2px 34px);animation:fsdrift 5s ease-out 1 both}
  .rare > *:not(.rare-bg){position:relative}
  .rare .rare-h{font-size:13px!important;letter-spacing:4px;text-transform:uppercase;opacity:.8;margin-bottom:18px!important}
  .rare-mark{letter-spacing:4px;font-weight:700;opacity:1}
  .rare-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
  .rv{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.14)}
  .rv:last-child{border-bottom:0;padding-bottom:0}
  .rv-l{font-size:44px;font-weight:700;line-height:1;text-align:center;border:2px solid rgba(255,255,255,.85);height:54px;display:flex;align-items:center;justify-content:center}
  .rv-t{display:flex;flex-direction:column;gap:3px}
  .rv-t b{font-size:20px;font-weight:600;letter-spacing:.5px}
  .rv-t em{font-style:normal;font-size:14px;opacity:.78}
  .rare-foot{margin-top:20px;font-size:12.5px;letter-spacing:2.5px;text-transform:uppercase;opacity:.7}
  /* intro: armed state hides, play reveals in sequence */
  .rare.arm .rv-l{opacity:0;transform:scale(.4) rotate(-8deg)}
  .rare.arm .rv-t{opacity:0;transform:translateX(-14px)}
  .rare.arm .rare-foot{opacity:0}
  .rare.play .rv-l{animation:rvpop .55s cubic-bezier(.2,.9,.3,1.3) both}
  .rare.play .rv-t{animation:rvslide .6s cubic-bezier(.2,.7,.2,1) both}
  .rare.play .rv:nth-child(1) .rv-l{animation-delay:.05s}.rare.play .rv:nth-child(1) .rv-t{animation-delay:.3s}
  .rare.play .rv:nth-child(2) .rv-l{animation-delay:.45s}.rare.play .rv:nth-child(2) .rv-t{animation-delay:.7s}
  .rare.play .rv:nth-child(3) .rv-l{animation-delay:.85s}.rare.play .rv:nth-child(3) .rv-t{animation-delay:1.1s}
  .rare.play .rv:nth-child(4) .rv-l{animation-delay:1.25s}.rare.play .rv:nth-child(4) .rv-t{animation-delay:1.5s}
  .rare.play .rare-foot{animation:rvfade .8s ease 1.9s both}
  .rare.play .rv-l{box-shadow:0 0 0 0 rgba(255,255,255,.5)}
  .rare.play .rv:hover .rv-l{background:#fff;color:#111;transition:background .2s,color .2s}
  @keyframes rvpop{from{opacity:0;transform:scale(.4) rotate(-8deg)}to{opacity:1;transform:none}}
  @keyframes rvslide{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
  @keyframes rvfade{from{opacity:0}to{opacity:.7}}
  @media (prefers-reduced-motion:reduce){.rare-bg{animation:none}.rare .rv-l,.rare .rv-t,.rare .rare-foot{animation:none!important;opacity:1!important;transform:none!important}}
  /* Direct engagement flow (Case Studies) */
  .eflow{padding-block:48px 0}
  .eflow-fig{margin:0 auto;max-width:1000px}
  .eflow-fig img{width:100%;height:auto;display:block}
  /* Accessibility (R33) */
  .a11y-list{padding-left:20px;display:grid;gap:12px;line-height:1.7}
  .hero::before{background:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.66) 50%,rgba(0,0,0,.3) 85%)}
  .hero .hero-copy,.page-hero .wrap{text-shadow:0 1px 3px rgba(0,0,0,.55)}
  @media (max-width:760px){.hero::before{background:rgba(0,0,0,.68)}html .page-hero::before{background:rgba(0,0,0,.62)}}
  .skip-link{position:absolute;left:12px;top:-60px;z-index:1000;background:#000;color:#fff;padding:12px 18px;font-weight:600;text-decoration:none}
  .skip-link:focus{top:12px}
  main:focus{outline:none}
  form label.check input,.check input[type=checkbox]{width:18px!important;height:18px;flex:none}
  .gate-req{font-size:13px;color:#555;margin:-4px 0 4px}
  /* FAQ + service area (R31) */
  .faq{background:#fff}
  .faq-list{max-width:860px;margin:28px auto 0;border-top:1px solid #ddd}
  .faq-item{border-bottom:1px solid #ddd}
  .faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 4px}
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary h3{font-size:17px;margin:0;font-weight:600}
  .faq-item summary .ms{font-size:24px;max-width:1em;overflow:hidden;transition:transform .25s ease;flex:none}
  .faq-item[open] summary .ms{transform:rotate(180deg)}
  .faq-item p{margin:0 4px 20px;color:#444;line-height:1.7}
  .faq-more{text-align:center;margin-top:24px}
  .sa-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
  .sa-card{background:#f1f1f1;padding:28px}
  .sa-card .ms,.sa-ind .ms{font-size:34px;color:#616161}
  .sa-card h3{margin:10px 0 8px;font-size:20px}
  .sa-card p,.sa-ind p{color:#555;line-height:1.65;margin:0}
  .sa-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
  .sa-split .kicker{text-align:left}
  .sa-work{columns:2;column-gap:24px}
  .sa-inds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}
  .sa-ind{background:#fff;padding:20px}
  .sa-ind h3{margin:6px 0 4px;font-size:16px}
  .sa-contact{text-align:center}
  .sa-contact p{line-height:1.9}
  @media (max-width:860px){.sa-grid,.sa-split{grid-template-columns:1fr}.sa-work{columns:1}}
  @media (max-width:480px){.sa-inds{grid-template-columns:1fr}}
  /* Case study animated stat panel */
  .cpanel{container-type:inline-size;background:#f8f7f4;border:1px solid #e6e3dd;overflow:hidden;font-family:Raleway,sans-serif;text-align:left}
  .cp-head{position:relative;overflow:hidden;background:#2a2d33;color:#fff;padding:clamp(18px,4.5cqi,44px) clamp(18px,5cqi,56px) clamp(18px,4.5cqi,44px) calc(clamp(18px,5cqi,56px) + 18px)}
  .cp-bg{position:absolute;inset:-60%;background:repeating-linear-gradient(115deg,rgba(255,255,255,.04) 0 2px,transparent 2px 36px);animation:fsdrift 5s ease-out 1 both}
  .cp-head > *:not(.cp-bg){position:relative}
  .cp-bar{position:absolute!important;left:clamp(18px,5cqi,56px);top:clamp(18px,4.5cqi,44px);bottom:clamp(18px,4.5cqi,44px);width:5px;border-radius:3px;background:#FE8D27;transform-origin:top}
  .cp-kick{color:#FE8D27;font-weight:700;font-size:clamp(11px,1.6cqi,14px);letter-spacing:2.5px;text-transform:uppercase}
  .cp-h{font-weight:700;font-size:clamp(20px,4.4cqi,40px);line-height:1.15;margin:8px 0 8px}
  .cp-h .cp-n{color:#FE8D27;font-variant-numeric:tabular-nums}
  .cp-sub{font-size:clamp(12px,1.8cqi,16px);opacity:.82}
  .cp-body{padding:clamp(14px,3cqi,32px) clamp(14px,5cqi,56px) clamp(14px,3cqi,28px)}
  .cp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2cqi,20px)}
  .cp-card{background:#fff;border:1px solid #e6e3dd;border-radius:12px;padding:clamp(12px,2.2cqi,24px);position:relative;overflow:hidden}
  .cp-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#FE8D27;transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.2,.7,.2,1) calc(.5s + var(--i)*.15s)}
  .cp-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
  .cp-top .ms{font-size:26px;color:#616161}
  .cp-pill{background:#FFF0E0;color:#A84E00;font-weight:700;border-radius:999px;padding:4px 14px;font-size:clamp(13px,2cqi,17px);font-variant-numeric:tabular-nums;white-space:nowrap}
  .cp-lab{font-weight:700;font-size:clamp(14px,2.2cqi,20px);color:#222}
  .cp-txt{color:#5f6368;font-size:clamp(12px,1.6cqi,14.5px);line-height:1.5;margin-top:6px}
  .cp-foot{position:relative;margin-top:clamp(14px,2.5cqi,24px);padding-top:clamp(12px,2cqi,18px)}
  .cp-line{position:absolute;left:0;right:0;top:0;height:1px;background:#d9d5ce;transform-origin:left}
  .cp-steps{font-weight:700;font-size:clamp(13px,2cqi,17px);color:#222;display:flex;flex-wrap:wrap;gap:4px 10px}
  .cp-dot{color:#FE8D27}
  .cp-note{font-size:12.5px;color:#6b6b6b;margin-top:4px}
  @container (max-width:620px){.cp-cards{grid-template-columns:1fr;gap:8px}.cp-card{display:flex;align-items:center;gap:12px;padding:9px 14px}.cp-card::after{height:2px}.cp-top{margin:0}.cp-top .ms{display:none}.cp-txt{display:none}.cp-note{display:none}}
  @container (max-width:420px){.cp-sub{display:none}.cp-body{padding-top:10px}.cp-foot{display:none}}
  /* intro animation: armed until visible */
  .cpanel.arm .cp-bar{transform:scaleY(0)}
  .cpanel.arm .cp-kick,.cpanel.arm .cp-h,.cpanel.arm .cp-sub{opacity:0;transform:translateY(12px)}
  .cpanel.arm .cp-card{opacity:0;transform:translateY(18px) scale(.97)}
  .cpanel.arm .cp-line{transform:scaleX(0)}
  .cpanel.arm .cp-step,.cpanel.arm .cp-dot,.cpanel.arm .cp-note{opacity:0}
  .cpanel .cp-bar,.cpanel .cp-line{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
  .cpanel .cp-kick,.cpanel .cp-h,.cpanel .cp-sub{transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
  .cpanel .cp-h{transition-delay:.15s}.cpanel .cp-sub{transition-delay:.3s}
  .cpanel .cp-card{transition:opacity .6s ease calc(.35s + var(--i)*.15s),transform .6s cubic-bezier(.2,.7,.2,1) calc(.35s + var(--i)*.15s)}
  .cpanel .cp-line{transition-delay:.9s}
  .cpanel .cp-step,.cpanel .cp-dot,.cpanel .cp-note{transition:opacity .5s ease 1.2s}
  .cpanel .cp-step{transition-delay:calc(1.1s + var(--i)*.18s)}
  .cpanel.play .cp-card::after{transform:scaleX(1)}
  .cpanel.play .cp-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.08)}
  .cpanel .cp-pill{transition:transform .3s ease}
  .cpanel .cp-pill.pop{transform:scale(1.12)}
  .card-media-panel{display:block}
  @media (prefers-reduced-motion:reduce){.cp-bg{animation:none}.cpanel *{transition:none!important}}
  .filters{display:flex;gap:16px;flex-wrap:wrap}
  .case-sub{font-size:16px;color:#555;margin:-8px 0 10px}
  .case-cta{margin-top:28px!important}
  .case-card img{aspect-ratio:16/9!important;object-fit:cover}
  /* Field stats: animated "by the numbers" strip */
  .fstats{position:relative;overflow:hidden;background:#1f1f1f;color:#fff;padding-block:80px}
  .fstats-bg{position:absolute;inset:-50%;background:
      repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 2px,transparent 2px 38px),
      radial-gradient(60% 60% at 20% 30%,rgba(255,255,255,.06),transparent 70%);
    animation:fsdrift 5s ease-out 1 both}
  @keyframes fsdrift{to{transform:translate3d(18px,9px,0)}}
  .fstats .wrap{position:relative}
  .fstats-head{text-align:center;margin-bottom:44px}
  .fstats-kicker{font-size:13px;letter-spacing:4px;text-transform:uppercase;opacity:.7}
  .fstats-head h2{font-size:clamp(22px,3vw,30px);margin-top:10px;font-weight:500}
  .fstats-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
  .fs{position:relative;text-align:center;padding:30px 10px 34px;border-left:1px solid rgba(255,255,255,.14)}
  .fs:first-child{border-left:0}
  .fs .ms{font-size:30px;opacity:.85;display:block;margin:0 auto 12px}
  .fs-num{font-size:clamp(28px,2.6vw,38px);font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:.5px}
  .fs-lab{font-size:14px;margin-top:8px;opacity:.85;letter-spacing:.3px}
  .fs-bar{position:absolute;left:22%;right:22%;bottom:16px;height:2px;background:#fff;transform:scaleX(0);transform-origin:left;opacity:.6}
  .fstats.play .fs{animation:fsin .7s cubic-bezier(.2,.7,.2,1) both}
  .fstats.play .fs:nth-child(2){animation-delay:.14s}.fstats.play .fs:nth-child(3){animation-delay:.28s}
  .fstats.play .fs:nth-child(4){animation-delay:.42s}.fstats.play .fs:nth-child(5){animation-delay:.56s}
  .fstats.play .fs:nth-child(6){animation-delay:.7s}.fstats.play .fs:nth-child(7){animation-delay:.84s}
  .fstats.play .fs-bar{transition:transform 1.4s cubic-bezier(.2,.7,.2,1) .3s;transform:scaleX(1)}
  .fstats.done .fs:hover .fs-bar{opacity:1}
  @keyframes fsin{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
  .stats-cap{text-align:center;font-size:13px;opacity:.7;margin:26px 0 0;letter-spacing:1.5px;text-transform:uppercase}
  @media (max-width:1000px){.fstats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fs:nth-child(5){border-left:0}.fs:nth-child(n+5){border-top:1px solid rgba(255,255,255,.14)}}
  @media (max-width:560px){.fstats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fs:last-child{grid-column:span 2}.fs{border-left:1px solid rgba(255,255,255,.14)!important}.fs:nth-child(odd){border-left:0!important}.fs:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14)}}
  @media (prefers-reduced-motion:reduce){.fstats-bg{animation:none}.fstats.play .fs{animation:none}.fs-bar{transition:none}}
  /* Turnstile widget (mockup look) */
  .ts{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid #d9d9d9;background:#fafafa;padding:10px 14px;max-width:360px;font-size:14px}
  .ts-box{display:flex;align-items:center;gap:10px}
  .ts-dot{width:18px;height:18px;border-radius:50%;border:2px solid #bbb;border-top-color:#f38020;animation:tsspin 1s linear infinite}
  .ts[data-state="passed"] .ts-dot{animation:none;border-color:#2e7d32;background:#2e7d32}
  .ts[data-state="unavailable"] .ts-dot{animation:none;border-color:#c62828}
  .ts-brand{font-size:11px;color:#6B6B6B}
  .ts-err{color:#8a1c14;font-size:14px}
  @keyframes tsspin{to{transform:rotate(360deg)}}
  @media (prefers-reduced-motion:reduce){.ts-dot{animation:none}}
  /* Expandable service images */
  .peek{overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.18);position:relative}
  .peek img{box-shadow:none!important;display:block}
  .peek:not(.open)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40px;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.85))}
  .peek.open{aspect-ratio:auto!important}
  .see-more{margin-top:10px;background:none;border:1px solid #000;padding:8px 16px;font:inherit;font-size:14px;cursor:pointer}
  .see-more:hover{background:#000;color:#fff}
  /* Gate Monitor */
  .mon-bar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
  .mon-bar select{padding:8px 10px;border:1px solid #ccc;font:inherit}
  .mon-actions{display:flex;gap:8px;flex-wrap:wrap}
  .btn-light-sm{background:#f1f1f1;color:#000;padding:8px 14px;font-size:14px}
  .btn-light-sm:hover{background:#ddd}
  .mon-note{font-size:13.5px;color:#555;margin:12px 0 8px}
  .mon-h{font-size:15px;letter-spacing:2px;text-transform:uppercase;margin:36px 0 12px}
  .mon-sub{font-size:12px;letter-spacing:0;text-transform:none;color:#6B6B6B;margin-left:8px}
  .tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .tile{border:1px solid #ddd;padding:16px 18px;border-top:4px solid #ccc}
  .tile.ok{border-top-color:#2e7d32}.tile.bad{border-top-color:#c62828}
  .t-l{font-size:13px;color:#555}.t-v{font-size:30px;font-variant-numeric:tabular-nums;margin:6px 0}.t-s{font-size:12.5px;color:#6B6B6B}
  .funnel{display:grid;gap:8px}
  .f-row{display:grid;grid-template-columns:170px 1fr 56px;gap:12px;align-items:center;font-size:14px}
  .f-bar{background:#f1f1f1;height:16px}.f-bar i{display:block;height:100%;background:#616161}
  .f-n{text-align:right;font-variant-numeric:tabular-nums}
  .mon-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px}
  .tbl{overflow-x:auto}
  .tbl table{width:100%;border-collapse:collapse;font-size:13.5px}
  .tbl th,.tbl td{text-align:left;padding:8px 10px;border-bottom:1px solid #e5e5e5;vertical-align:top}
  .tbl th{font-weight:600;background:#f7f7f7}
  .tbl .num{text-align:right;font-variant-numeric:tabular-nums}
  .tag{font-size:11px;background:#eee;padding:1px 6px;letter-spacing:.5px}
  @media (max-width:820px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.mon-grid{grid-template-columns:minmax(0,1fr)}.f-row{grid-template-columns:120px 1fr 44px}}
  /* Blog reading gate */
  html.gated,html.gated body{overflow:hidden}
  html.gated main > :not(.gate):not(.gate-toast):not(script){filter:blur(6px);pointer-events:none;user-select:none}
  .gate{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px}
  .gate-box{background:#fff;max-width:480px;width:100%;padding:32px 30px;display:grid;gap:14px;box-shadow:0 10px 40px rgba(0,0,0,.35);max-height:calc(100vh - 32px);overflow:auto}
  .gate-kicker{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#555}
  .gate-box h2{font-size:24px}
  .gate-box p{margin:0}
  .gate-box label{display:block;font-size:13px;margin-bottom:4px}
  .gate-box input:not([type=checkbox]){width:100%;padding:10px 8px;border:1px solid #ccc;font:inherit}
  .gate-box .check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45}
  .gate-box .check input{margin-top:2px;width:18px;height:18px;flex:none}
  .gate-err{color:#8a1c14;font-size:14px}
  .gate-note{font-size:12.5px;color:#666}
  .gate-toast{position:fixed;left:16px;right:16px;bottom:16px;z-index:101;background:#000;color:#fff;padding:12px 16px;font-size:13.5px;max-width:760px;margin:0 auto}
  /* Terms page */
  .terms h2{font-size:24px;margin:40px 0 12px}
  .terms-sec h3.sub{font-size:17px;margin:22px 0 8px}
  .disclosure{margin:0 0 18px;padding:14px 18px;border-left:3px solid #000;background:#f7f7f7;font-size:15.5px;line-height:1.6}
  .toc{background:#f1f1f1;padding:20px 24px;margin:24px 0 8px}
  .toc h3,.toc .toc-h{font-size:14px;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}
  .toc ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
  /* Bigger logo bar */
  .topbar .wrap{min-height:84px}
  .topbar .logo img{height:62px;width:auto;display:block}
  [id]{scroll-margin-top:96px}
  @media (max-width:820px){.topbar .wrap{min-height:66px}.topbar .logo img{height:46px}}
  /* Image placeholders */
  .ph-img{aspect-ratio:5/4;width:100%;background:#dcdcdc;color:#444;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:16px;font-size:13px}
  .ph-img .ms{font-size:34px;max-width:none}
  .ph-img b{font-size:14px;letter-spacing:1px;text-transform:uppercase}
  .ph-img.wide{aspect-ratio:16/9}
  /* Service row without image */
  .svc-row.noimg .grid{grid-template-columns:minmax(0,1fr);max-width:760px}
  /* Blog featured + filter */
  .featured{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.16),0 2px 10px rgba(0,0,0,.12);margin-bottom:56px}
  .featured .ph-img,.featured img{height:100%;aspect-ratio:auto;min-height:340px}
  .featured .txt{padding:40px 36px;display:flex;flex-direction:column;justify-content:center;gap:12px}
  .featured h2{font-size:30px;line-height:1.2}
  .flag{align-self:flex-start;font-size:12px;letter-spacing:2px;text-transform:uppercase;background:#000;color:#fff;padding:3px 10px}
  .filterbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;border-bottom:1px solid #ddd;padding-bottom:16px}
  .filterbar h2{font-size:22px;letter-spacing:3px;text-transform:uppercase}
  .filterbar label{font-size:14px;margin-right:8px}
  .filterbar select{padding:8px 10px;border:1px solid #ccc;font:inherit;background:#fff}
  .count{font-size:14px;color:#757575;margin:0 0 20px}
  .article h3.sub{font-size:22px;margin:32px 0 14px}
  .article .dt b{font-weight:700}
  .byline{font-size:14px;color:#555}
  @media (max-width:820px){.featured{grid-template-columns:minmax(0,1fr)}.featured .ph-img{min-height:220px}}
  /* Linked service cells */
  .svc .cell{display:block;text-decoration:none;color:inherit;background:#fff}
  .svc .cell .more{display:inline-block;margin-top:12px;font-size:13px;letter-spacing:1px;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}
  .morebtn{margin-top:40px}
  .nav a[aria-current="page"]{background:#e8e8e8}

  /* Sub-page hero */
  .page-hero{position:relative;color:#fff;background:#2b2b2b;padding-block:80px}
  .page-hero.hero-photo{background:#1c2230 url("../img/skyline.jpg") center top/cover no-repeat;padding-block:88px}
  .page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.45))}
  .page-hero .wrap{position:relative}
  .page-hero h1{font-size:clamp(36px,5.5vw,54px);line-height:1.1;margin-top:10px}
  .page-hero p{font-size:18px;max-width:60ch;margin:14px 0 0}
  .crumb{font-size:13px;letter-spacing:2px;text-transform:uppercase;opacity:.85}
  .crumb a{text-decoration:none}

  /* Service jump links */
  .jump{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:8px}
  .jump a{border:1px solid #ccc;padding:8px 14px;text-decoration:none;font-size:14px;background:#fff}
  .jump a:hover{background:#f1f1f1}

  /* Service rows */
  .svc-row{padding-block:88px}
  .svc-row .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
  .svc-row.flip .media{order:2}
  .svc-row .media img{width:100%;height:auto;box-shadow:0 4px 12px rgba(0,0,0,.18);background:#fff}
  .svc-row .tag{font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--muted)}
  .svc-row h2{font-size:34px;margin:8px 0 14px;display:flex;align-items:center;gap:12px}
  .svc-row h2 .ms{font-size:36px}
  .svc-row .intro{font-size:17px;margin:0 0 20px;max-width:56ch}
  .svc-row h3{font-size:14px;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
  .checks{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px}
  .checks li{display:flex;gap:10px;align-items:flex-start}
  .checks li::before{content:"check";font-family:"Material Symbols Outlined";font-size:20px;line-height:1.2;font-feature-settings:"liga"}
  .best{margin:0 0 24px;padding:12px 16px;background:#fff;border-left:3px solid #000}
  .grey .best{background:#fff}
  section:not(.grey) .best{background:#f1f1f1}
  .soon-tag{display:inline-block;font-size:12px;letter-spacing:2px;text-transform:uppercase;background:#000;color:#fff;padding:3px 10px;margin-bottom:10px}
  @media (max-width:860px){.svc-row .grid{grid-template-columns:minmax(0,1fr);gap:28px}.svc-row.flip .media{order:0}}

  /* CTA band */
  .cta-band{background:#000;color:#fff;padding-block:72px;text-align:center}
  .cta-band h2{font-size:30px}
  .cta-band p{font-size:17px;margin:12px auto 26px;max-width:56ch;opacity:.9}

  /* Case study feature */
  .case-feature{display:grid;grid-template-columns:1fr 1fr;gap:0;box-shadow:0 2px 5px rgba(0,0,0,.16),0 2px 10px rgba(0,0,0,.12);background:#fff}
  .case-feature img{width:100%;height:100%;object-fit:cover;min-height:320px}
  .case-feature .txt{padding:40px 36px;display:flex;flex-direction:column;justify-content:center}
  .case-label{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
  .case-feature h3{font-size:28px;margin:10px 0 12px}
  .case-feature p{margin:0 0 22px;font-size:16px}
  .textlink{font-size:14px;letter-spacing:1px;text-transform:uppercase;text-underline-offset:4px;display:inline-block;padding-block:5px}
  @media (max-width:820px){.case-feature{grid-template-columns:1fr}.case-feature img{min-height:0;aspect-ratio:5/4}}

  /* Blog cards */
  .posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .post{background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.16),0 2px 10px rgba(0,0,0,.12);display:flex;flex-direction:column}
  .post img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover}
  .post .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
  .meta{font-size:13px;color:#757575}
  .post h3{font-size:20px;line-height:1.3}
  .post p{margin:0}
  .post .textlink{margin-top:auto;padding-top:6px}
  @media (max-width:900px){.posts{grid-template-columns:1fr 1fr}}
  @media (max-width:600px){.posts{grid-template-columns:1fr}}

  /* Articles */
  .article{max-width:760px;margin:0 auto;padding-block:72px;border-top:1px solid #ddd}
  .article h2{font-size:32px;line-height:1.2;margin:10px 0 18px}
  .article img{width:100%;height:auto;margin:10px 0 26px}
  .article p{font-size:17px;line-height:1.7;margin:0 0 18px}
  .article .lead-p{font-size:20px;font-weight:600;line-height:1.5}
  .article .strong-p{font-weight:600}
  .sources{font-size:14px;color:#555;border-top:1px solid #ddd;padding-top:16px;margin-top:28px}
  .sources a{display:inline-block;margin-right:16px}
  .disclaimer{font-size:13.5px;font-style:italic;color:#555}

  /* Report form */
  .report{background:#f1f1f1;padding:40px 36px;margin-top:40px}
  .report h3{font-size:24px;margin-bottom:8px}
  .report > p{margin:0 0 22px}

/* WordPress integration */
body{margin:0}
.wp-site-blocks{padding:0}
.wp-site-blocks > *, main.wp-block-group > *{margin-block:0}
main.wp-block-group{margin:0}
.entry-content > * + *{margin-block-start:0}
.shg-page-body .article.terms > *:first-child{margin-top:0}
.cf-turnstile{margin:6px 0}
.ts-wrap{display:flex;flex-direction:column;gap:6px}
.shg-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-status{margin-top:8px;font-size:15px}
.form-status.ok{color:#1b5e20}.form-status.err{color:#8a1c14}
.admin-bar .skip-link:focus{top:44px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.article h1{font-size:clamp(28px,4vw,40px);line-height:1.2;margin:10px 0 18px}
.page-hero .single-kicker{font-size:13px;letter-spacing:3px;text-transform:uppercase;opacity:.85;margin:10px 0 0}
.shg-page-body .article.terms{border-top:0;padding-top:0}
.article h2.sub{font-size:22px;margin:32px 0 14px}
.shg-hp[inert]{display:block}
.wp-block-post-content.article{padding-block:0 72px}
