
    .hb-split{display:grid;gap:26px;align-items:center;}
    @media(min-width:900px){.hb-split{grid-template-columns:1.05fr .95fr;}}
    .art-steps{list-style:none;counter-reset:st;margin-top:22px;display:flex;flex-direction:column;gap:10px;}
    .art-steps li{counter-increment:st;display:flex;gap:11px;font-size:13.5px;color:rgba(27,31,29,0.68);line-height:1.6;}
    .art-steps li::before{content:counter(st);font-family:var(--f-label);font-size:9.5px;color:var(--blue);
      border:1px solid rgba(14,87,71,0.35);border-radius:50%;width:19px;height:19px;display:flex;align-items:center;
      justify-content:center;flex:none;margin-top:1px;}
    .art-steps b{color:rgba(27,31,29,0.88);font-weight:600;}
    

    .fp2-hero{position:relative;isolation:isolate;overflow:hidden;}

    /* 1 — the photograph, full-bleed, graded into the palette */
    .fp2-hero::before{
      content:'';position:absolute;inset:0;z-index:-2;
      background-image:url('https://web-repay.com/wp-content/themes/repay-v3/assets/img/hero-floor.jpg');
      background-size:cover;
      background-position:74% 26%;      /* keeps the rep's head clear of the selector card */
      filter:grayscale(.42) saturate(.85) contrast(1.06) brightness(.42);
      transform:scale(1.06);            /* hides filter edge softening */
    }

    /* 2 — colour cast, so a warm daylit photo belongs on a cool dark page */
    .fp2-hero::after{
      content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
      background:linear-gradient(96deg,
          #ffffff 0%,
          rgba(11,66,55,0.93) 26%,
          rgba(11,66,55,0.74) 48%,
          rgba(11,66,55,0.46) 70%,
          rgba(11,66,55,0.34) 100%),
        radial-gradient(80% 70% at 18% 40%, rgba(255,225,93,0.32), transparent 62%),
        linear-gradient(180deg, rgba(11,66,55,0.55) 0%, transparent 24%, transparent 62%, rgba(11,66,55,0.92) 100%);color:#0e5747}

    /* content sits above both layers */
    .fp2-hero > .cnt{position:relative;z-index:1;}

    /* The selector card reads as glass floating over the photograph. */
    .fp2-hero .fp2-hg > *:last-child{position:relative;}

    /* Mobile: the crop loses the subject and the copy needs the full width,
       so the picture steps back and the scrim takes over. */
    @media(max-width:860px){
      .fp2-hero::before{background-position:64% 38%;filter:grayscale(.5) brightness(.3);}
      .fp2-hero::after{background:linear-gradient(180deg, #eefbf6 0%, #eefbf6 55%, #ffffff 100%),
        radial-gradient(90% 60% at 50% 20%, rgba(255,225,93,0.288), transparent 65%);color:#0e5747}
    }
    

:root{--grid:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);}

/* ═══ Heroes: jade islands ════════════════════════════════════════ */
:root .hm-hero,:root .hh,:root .ip-hero,:root .ia-hero{
  background-color:var(--jade)!important;background-image:var(--grid)!important;background-size:88px 88px!important;background-position:center top!important;border-bottom:0!important;}
:root .hm-hero-bg,:root .ip-hero-bg,:root .ia-hero-bg{display:none!important;}
:root .hm-hero::before,:root .hm-hero::after,:root .hh::before,:root .hh::after,:root .ip-hero::before,:root .ip-hero::after,:root .ia-hero::before,:root .ia-hero::after{display:none!important;}
:root .hm-hero-grid::before{display:none!important;}

/* type on jade */
:root .hm-hero-copy h1,:root .hh-copy h1,:root .hh-h1,:root .ip-hero h1,:root .ia-hero h1{color:#fff!important;background:none!important;-webkit-text-fill-color:#fff!important;font-weight:600;}
:root .hm-hero-copy h1 *,:root .hh-copy h1 *,:root .ip-hero h1 *,:root .ia-hero h1 *{color:#fff!important;background:none!important;-webkit-text-fill-color:#fff!important;}
:root .hm-hero-copy .hm-lede,:root .hm-hero-copy p,:root .hh-copy p,:root .hh-copy li,:root .ip-hero .ip-lede,:root .ia-hero .ia-lede,
:root .hm-hero-copy .hm-facts li,:root .ip-hero .ip-facts li,:root .ia-hero .ia-facts li,:root .hh-copy .hh-points li{color:#fff!important;}
:root .hm-hero-copy b,:root .hm-hero-copy strong,:root .hh-copy b,:root .hh-copy strong,:root .ip-hero .ip-facts b,:root .ia-hero .ia-facts b{color:#fff!important;}
:root .hm-hero-copy .hm-kicker,:root .ip-hero .ip-kicker,:root .ia-hero .ia-kicker,:root .hh-badge,:root .hh-badge *{color:#fff!important;}
:root .hm-kicker i{background:var(--yellow)!important;}
:root .hh-copy a:not(.bk-btn):not(.hm-btn){color:#fff!important;text-decoration-color:var(--yellow)!important;}

/* facts: deep-green tick in a white circle on jade */
:root .hm-hero-copy .hm-facts li::before,:root .ip-hero .ip-facts li::before,:root .ia-hero .ia-facts li::before{
  top:4px;width:18px;height:18px;border-radius:50%;background:#ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.3l2.6 2.6L14 7.4' fill='none' stroke='%230e5747' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat!important;}
:root .hm-facts li,:root .ip-facts li,:root .ia-facts li{padding-left:27px;}

/* ═══ Calls to action ═════════════════════════════════════════════ */
/* primary: yellow, deep-green type, a thin deep-green outline */
:root .hm-btn:not(.hm-ghost),:root .ip-btn:not(.ip-ghost),:root .bk-btn:not(.bk-ghost),:root .ql-go,:root .nav-cta{
  background:var(--yellow)!important;color:var(--jade-d)!important;border:1px solid var(--jade-d)!important;border-radius:8px!important;box-shadow:none!important;}
:root .hm-btn:not(.hm-ghost):hover,:root .ip-btn:not(.ip-ghost):hover,:root .bk-btn:not(.bk-ghost):hover,:root .ql-go:hover{background:var(--yellow-hi)!important;transform:translateY(-1px);}
/* secondary on white: outlined ink */
:root .hm-ghost,:root .ip-ghost,:root .bk-ghost,:root .ql-book{background:#ffffff!important;color:var(--ink)!important;border:1px solid var(--outline)!important;border-radius:8px!important;}
/* secondary on jade: outlined white */
:root .hm-hero-copy .hm-ghost,:root .ip-hero .ip-ghost,:root .hh-copy .bk-ghost{background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.75)!important;}
:root .hm-hero-copy .hm-ghost:hover,:root .ip-hero .ip-ghost:hover,:root .hh-copy .bk-ghost:hover{background:rgba(255,255,255,.12)!important;}

/* platform-page hero: the copy around the form is white */
:root .hh-copy .hh-price,:root .hh-copy .hh-term,:root .hh-copy .hh-works,:root .hh-copy .hh-sub,:root .hh-copy .hh-hook,
:root .hh-copy .hh-meta,:root .hh-copy .hh-meta *,:root .hh-copy .hh-checks li,:root .hh-copy .hh-checks li *,:root .hh-copy .hh-stat,:root .hh-copy .hh-stat *,
:root .hh-copy .hh-stats-note,:root .hh-badge-sub{color:#fff!important;}
:root .hh-copy .hh-sep{background:rgba(255,255,255,.4)!important;}
:root .hh-submit{background:var(--yellow)!important;color:var(--jade-d)!important;border:1px solid var(--jade-d)!important;border-radius:8px!important;}

/* ═══ Cards in the heroes stay white, outlined ═════════════════════ */
:root .hh-form,:root .hm-hero-lead .ql,:root .ip-pair,:root .ia-sel,:root .sv-vis,:root .ct-way{
  background:#ffffff!important;border:1px solid var(--jade-dd)!important;border-radius:22px!important;box-shadow:0 24px 50px rgba(11,66,55,.22)!important;color:var(--ink);}

/* ═══ Outlined cards everywhere else ═══════════════════════════════ */
:root .hm-tile{background:#ffffff!important;border:1px solid var(--outline)!important;border-radius:20px!important;box-shadow:none!important;}
:root .hm-tile-ico{background:var(--mint)!important;color:var(--jade-d)!important;border:1px solid var(--mint2);}
:root .pl-card,:root .ip-related a{border-color:var(--outline)!important;}

/* ═══ Numbers band: deep green ═════════════════════════════════════ */
:root .hm-nums{background:var(--jade-d)!important;border:0!important;}
:root .hm-nums::before{display:none!important;}
:root .hm-nums dd{color:#fff!important;font-family:var(--f-head)!important;font-weight:600!important;}
:root .hm-nums dt{color:#d4f2e6!important;}
:root .hm-nums div+div{border-left-color:rgba(255,255,255,.18)!important;}

/* ═══ Old navy bands are mint now; give them a quiet dotted grid ════ */
:root .hm-alt::before{background-image:radial-gradient(rgba(14,87,71,.14) 1px,transparent 1px)!important;}

/* ═══ Lead card + band under the pair-page hero ════════════════════ */
:root .ql-band{position:relative;z-index:2;margin-top:-34px;margin-bottom:8px;}
:root .ql{border:1px solid var(--outline)!important;border-radius:22px!important;box-shadow:none!important;background:#ffffff!important;}
:root .ql-in{border-radius:8px!important;background:#ffffff!important;}
@media(max-width:899px){:root .ql-band{margin-top:-20px;}}

/* ═══ Homepage brief: a white outlined card, not a dark panel ══════ */
:root .hm-form{background:#ffffff!important;border:1px solid var(--outline)!important;border-radius:22px!important;box-shadow:none!important;}
:root .hm-form input,:root .hm-form select,:root .hm-form textarea{background:#ffffff!important;border:1px solid var(--line2)!important;color:var(--ink)!important;border-radius:8px!important;}
:root .hm-need{background:#ffffff!important;border:1px solid var(--line2)!important;color:var(--ink)!important;}
:root .hm-need:has(input:checked){background:var(--mint)!important;border-color:var(--jade-d)!important;}

/* ═══ Case study: white type over the photograph ═══════════════════ */
:root .cs-quote,:root .cs-who-t,:root .cs-who-t *,:root .cs-story-in p,:root .cs-story-in h2,:root .cs-story-in h3{color:#fff!important;}
:root .cs-badge{color:var(--yellow)!important;}
:root .cs-ver{color:#b9f3d6!important;}
:root .cs-stack li,:root .cs-stack span{color:#fff!important;border-color:rgba(255,255,255,.4)!important;background:rgba(255,255,255,.08)!important;}

/* ═══ Floating chips on photographs ════════════════════════════════ */
:root .hm-chip{background:#ffffff!important;color:var(--ink)!important;border:1px solid var(--outline)!important;box-shadow:0 10px 24px rgba(14,40,32,.14)!important;}
:root .hm-deal,:root .hm-deal b{color:var(--ink)!important;}
:root .hm-mover,:root .hm-mover *,:root .hm-deal.hm-mover b,:root .hm-deal.hm-mover i{color:#fff!important;}

/* ═══ Desktop sticky pill: white and outlined ═══════════════════════ */
:root .sbar-in{background:#ffffff!important;border:1px solid var(--outline)!important;box-shadow:0 18px 40px rgba(14,40,32,.16)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;}
:root .sbar-id b{color:var(--ink)!important;} :root .sbar-id em,:root .sbar-id span{color:var(--ink3)!important;}

/* ═══ Reviews plugin (web-repay-reviews): outlined white cards ══════ */
:root .wrr-eyebrow{color:var(--jade-d)!important;}
:root .wrr-sub{color:var(--ink2)!important;}
:root .wrr-card{background:#ffffff!important;border:1px solid var(--outline)!important;border-radius:20px!important;}
:root .wrr-card blockquote p,:root .wrr-card blockquote p *{color:var(--ink)!important;}
:root .wrr-card figcaption{border-top-color:var(--line)!important;}
:root .wrr-who b,:root .wrr-f-name,:root .wrr-stats dd{color:var(--ink)!important;}
:root .wrr-who em,:root .wrr-meta,:root .wrr-f-role,:root .wrr-f-bio,:root .wrr-stats dt{color:var(--ink3)!important;}
:root .wrr-meta a,:root .wrr-f-link{color:var(--jade-d)!important;}
:root .wrr-stars i{background:#d3dbd7!important;} :root .wrr-stars i.on{background:#e8a900!important;}
:root .wrr-founder{background:var(--mint)!important;border:1px solid var(--outline)!important;}
:root .wrr-stats div{background:#ffffff!important;border-color:var(--line)!important;}

/* ═══ Identity plugin trust strip in the footer ═════════════════════ */
:root .wri-trust,:root .wri-trust *{color:var(--ink2)!important;}
:root .wri-trust a{color:var(--jade-d)!important;}
:root .wri-trust-label{color:var(--ink3)!important;}

/* the buttons inside the website mock-up */
:root .wb-nav i,:root .wb-btns i{background:#0f766e!important;color:#fff!important;}

/* ═══ Speed page: the outcome panel is a white card ════════════════ */
:root .psi-out{background:#fff!important;border:1px solid var(--outline)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;}

/* ═══ Contact hero: details on jade ════════════════════════════════ */
:root .ct-hero .ct-meta,:root .ct-hero .ct-meta *{color:#fff!important;}

/* ═══ Phones: grid columns may shrink below their widest child ═══ */
@media(max-width:959px){:root .ip-hero-grid{grid-template-columns:minmax(0,1fr)!important;}}
:root .ip-hero-grid>*,:root .pl-card{min-width:0;}
@media(max-width:600px){:root .pl-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}

/* ═══ Cookie bar on phones: one line ═══════════════════════════════ */
.wrc-p-s{display:none;}
@media(max-width:600px){
  :root .wrc{padding:12px 12px 10px;border-radius:14px;}
  :root .wrc .wrc-top,:root .wrc .wrc-p{display:none;}
  :root .wrc .wrc-p-s{display:block;margin:0 0 10px;font-size:13px;line-height:1.45;color:var(--ink2);}
  :root .wrc .wrc-p-s a{color:var(--jade-d);}
  :root .wrc .wrc-btns{grid-template-columns:1fr 1fr 1fr;}
  :root .wrc .wrc-btns .wrc-cust{grid-column:auto;order:0;}
  :root .wrc .wrc-btn{height:38px;font-size:12.5px;padding:0 6px;}
}
@media(max-width:960px){:root .wrc{bottom:calc(76px + env(safe-area-inset-bottom));}}

/* ═══ One phone bar everywhere (see header.php) ═════════════════════ */
@media(max-width:960px){
  :root body.page-crm-archive .m-bar,:root body.page-dialer-archive .m-bar,:root body.single-integration .m-bar{display:grid!important;}
  :root #sbar{display:none!important;}
}


:root{--cloud:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 48'%3E%3Cg fill='%23fff'%3E%3Ccircle cx='-14' cy='50' r='24'/%3E%3Ccircle cx='20' cy='52' r='22'/%3E%3Ccircle cx='62' cy='50' r='28'/%3E%3Ccircle cx='104' cy='54' r='20'/%3E%3Ccircle cx='142' cy='48' r='30'/%3E%3Ccircle cx='188' cy='52' r='22'/%3E%3Ccircle cx='226' cy='50' r='24'/%3E%3Ccircle cx='260' cy='52' r='22'/%3E%3Crect y='44' width='240' height='4'/%3E%3C/g%3E%3C/svg%3E");--cable:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 700' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='c' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%237ee0b8'/%3E%3Cstop offset='.38' stop-color='%23a0a5ff'/%3E%3Cstop offset='.7' stop-color='%23ffe15d'/%3E%3Cstop offset='1' stop-color='%23ffb38a'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M96 0C26 110 118 200 70 300S8 452 78 522s34 120-14 178' stroke='%230b4237' stroke-width='9' stroke-linecap='round'/%3E%3Cpath d='M96 0C26 110 118 200 70 300S8 452 78 522s34 120-14 178' stroke='url(%23c)' stroke-width='5' stroke-linecap='round'/%3E%3Ccircle cx='70' cy='300' r='7' fill='%23fff' stroke='%230b4237' stroke-width='2'/%3E%3Ccircle cx='78' cy='522' r='7' fill='%23ffe15d' stroke='%230b4237' stroke-width='2'/%3E%3C/svg%3E");--cloud-line:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 48'%3E%3Cg fill='none' stroke='%231b1f1d' stroke-width='3'%3E%3Ccircle cx='-14' cy='50' r='24'/%3E%3Ccircle cx='20' cy='52' r='22'/%3E%3Ccircle cx='62' cy='50' r='28'/%3E%3Ccircle cx='104' cy='54' r='20'/%3E%3Ccircle cx='142' cy='48' r='30'/%3E%3Ccircle cx='188' cy='52' r='22'/%3E%3Ccircle cx='226' cy='50' r='24'/%3E%3Ccircle cx='260' cy='52' r='22'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Ccircle cx='-14' cy='50' r='24'/%3E%3Ccircle cx='20' cy='52' r='22'/%3E%3Ccircle cx='62' cy='50' r='28'/%3E%3Ccircle cx='104' cy='54' r='20'/%3E%3Ccircle cx='142' cy='48' r='30'/%3E%3Ccircle cx='188' cy='52' r='22'/%3E%3Ccircle cx='226' cy='50' r='24'/%3E%3Ccircle cx='260' cy='52' r='22'/%3E%3Crect y='44' width='240' height='4'/%3E%3C/g%3E%3C/svg%3E");--doodle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 260' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' opacity='.55'%3E%3Cpath d='M44 92a16 16 0 0124-12 21 21 0 0138 7 14 14 0 014 27H46a13 13 0 01-2-22z'/%3E%3Cpath d='M322 30l16 16M338 30l-16 16M176 168l10 10M186 168l-10 10'/%3E%3Cpath d='M300 176q3 11 14 14-11 3-14 14-3-11-14-14 11-3 14-14z' fill='%23ffe15d' stroke='none'/%3E%3Ccircle cx='96' cy='214' r='6'/%3E%3Ccircle cx='250' cy='96' r='3' fill='%23fff'/%3E%3C/svg%3E");}

/* ═══ Nav on the jade hero (until the page scrolls) ═══════════════ */
#site-nav{transition:background .25s ease,box-shadow .25s ease,border-color .25s ease;}
body:not([class*="jt-"]):has(.hm-hero,.hh,.ip-hero,.ia-hero) #site-nav:not(.stuck):not(.open){background:var(--jade)!important;border-bottom:1px solid rgba(255,255,255,.16)!important;box-shadow:none!important;}
body:not([class*="jt-"]):has(.hm-hero,.hh,.ip-hero,.ia-hero) #site-nav:not(.stuck):not(.open) :is(.logo-name,.nl,.nav-wa,.nav-mail){color:#fff!important;}
body:not([class*="jt-"]):has(.hm-hero,.hh,.ip-hero,.ia-hero) #site-nav:not(.stuck):not(.open) :is(.nl,.nav-wa,.nav-mail):hover{background:rgba(255,255,255,.12)!important;color:#fff!important;}
body:not([class*="jt-"]):has(.hm-hero,.hh,.ip-hero,.ia-hero) #site-nav:not(.stuck):not(.open) .nav-wa svg{fill:#fff!important;}
body:not([class*="jt-"]):has(.hm-hero,.hh,.ip-hero,.ia-hero) #site-nav:not(.stuck):not(.open) .logo-mark{box-shadow:0 0 0 1px rgba(255,255,255,.28);}
body:not([class*="jt-"]):has(.hm-hero,.hh,.ip-hero,.ia-hero) #site-nav:not(.stuck):not(.open) .nav-burger{background:transparent!important;border-color:rgba(255,255,255,.6)!important;color:#fff!important;}

/* ═══ Cloud edges ═════════════════════════════════════════════════
   Under a hero (or under the numbers band when one follows the hero),
   and above and below each closing band. */
:root body :is(.hh,.ip-hero,.ia-hero),:root body .hm-hero:not(:has(+ .hm-nums)),:root body .hm-nums,
:root body :is(.hm-close,.ia-close,.ip-close,.hh-book){position:relative;isolation:isolate;}
:root body :is(.hh,.ip-hero,.ia-hero)::after,:root body .hm-hero:not(:has(+ .hm-nums))::after,:root body .hm-nums::after,
:root body :is(.hm-close,.ia-close,.ip-close,.hh-book)::after,:root body :is(.hm-close,.ia-close,.ip-close,.hh-book)::before{
  content:''!important;display:block!important;position:absolute!important;inset:auto 0 -1px 0!important;width:auto!important;height:54px!important;
  background:var(--cloud) repeat-x 0 100%/270px 54px!important;z-index:-1!important;pointer-events:none;
  border:0!important;border-radius:0!important;opacity:1!important;filter:none!important;transform:none!important;animation:none!important;}
:root body :is(.hm-close,.ia-close,.ip-close,.hh-book)::before{inset:-1px 0 auto 0!important;transform:scaleY(-1)!important;background-position:120px 100%!important;}
:root body :is(.hh,.ip-hero,.ia-hero),:root body .hm-hero:not(:has(+ .hm-nums)){padding-bottom:120px!important;}
:root body .hm-nums{padding-bottom:84px!important;}
@media(max-width:600px){
  :root body :is(.hh,.ip-hero,.ia-hero)::after,:root body .hm-hero:not(:has(+ .hm-nums))::after,:root body .hm-nums::after,
  :root body :is(.hm-close,.ia-close,.ip-close,.hh-book)::after,:root body :is(.hm-close,.ia-close,.ip-close,.hh-book)::before{height:34px!important;background-size:170px 34px!important;}
  :root body :is(.hh,.ip-hero,.ia-hero),:root body .hm-hero:not(:has(+ .hm-nums)){padding-bottom:84px!important;}
  :root body .hm-nums{padding-bottom:60px!important;}
}

/* ═══ Closing bands: jade, white type, the form stays a white card ═══ */
:root body :is(.hm-close,.ia-close,.ip-close,.hh-book){background-color:var(--jade)!important;background-image:var(--grid)!important;background-size:88px 88px!important;
  border:0!important;padding-top:130px!important;padding-bottom:140px!important;}
@media(max-width:600px){:root body :is(.hm-close,.ia-close,.ip-close,.hh-book){padding-top:84px!important;padding-bottom:92px!important;}}
:root .hm-close .hm-brief{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;}
:root .hm-close .hm-brief::before,:root .hm-close .hm-brief::after,:root .hm-brief-side.has-photo::after{display:none!important;}
:root .hm-close .hm-brief-bg{display:none!important;}
:root .hm-close .hm-brief-side,:root .hm-close .hm-brief-side.has-photo{min-height:0!important;align-items:center!important;padding:0 40px 0 0!important;}
@media(max-width:959px){:root .hm-close .hm-brief-side,:root .hm-close .hm-brief-side.has-photo{padding:0 0 32px!important;}}
:root .hm-close .hm-brief-main{border:0!important;padding:0!important;}
:root .hm-close .hm-brief-copy :is(h2,.hm-lede,p,li,b,em){color:#fff!important;-webkit-text-fill-color:#fff;}
:root .hm-close .hm-next li > span{color:var(--jade-d)!important;-webkit-text-fill-color:var(--jade-d)!important;background:var(--yellow)!important;border-color:var(--yellow)!important;}
:root .hh-book h2,:root .hh-book .hh-book-in > div > p,:root .hh-book .hh-book-alt,
:root .ip-close h2,:root .ip-close .ip-close-grid > div:first-child :is(p,li,b,a:not([class*=btn])),
:root .ia-close h2,:root .ia-close > .ia-in > :is(p,ul,div:not([class])) {color:#fff!important;}
:root .hh-book .hh-book-alt:hover{color:var(--yellow)!important;}
:root .hm-close .hm-direct{border-top-color:rgba(255,255,255,.3)!important;}
:root .hm-close .hm-direct a{color:#fff!important;background:rgba(11,66,55,.6)!important;border-color:rgba(255,255,255,.45)!important;}
:root .hm-close .hm-direct a:hover{background:rgba(11,66,55,.85)!important;}
:root .hm-close .hm-direct svg{color:var(--yellow)!important;}
:root .hh-book :is(.bk2-agenda,.bk2-agenda *,.bk2-alt,.bk2-alt *),:root .ia-close .ia-lede{color:#fff!important;}
:root .hh-book .bk2-alt a:hover{color:var(--yellow)!important;}
/* mock-ups */
:root .wb-send-a{color:#fff!important;background:#0f766e!important;}
:root .hm-av{color:#0e5747!important;}
:root .cs-av{color:#fff!important;-webkit-text-fill-color:#fff!important;}
:root .wb-logo{background:var(--jade-d)!important;color:#fff!important;}
:root .ia-mark{color:var(--yellow)!important;}
:root .sv-vis-virus .sv-scan li i{color:#b00404!important;}
:root .jr-dom-l .no b{color:#b00404!important;}
:root .hm-send-b{background:#107836!important;}

/* ═══ Section labels: mint pills ══════════════════════════════════ */
:root :is(.hm-eyebrow,.hb-eyebrow,.faqx-eyebrow,.bk2-eyebrow,.wrr-eyebrow,.lg-eyebrow,.si-section-label){
  display:inline-flex!important;align-items:center;gap:7px;width:auto!important;padding:6px 13px!important;border-radius:999px!important;
  background:#e3f6ee!important;border:1px solid #b9e6d4!important;color:var(--jade-d)!important;
  font:600 11.5px/1.25 var(--f-body)!important;letter-spacing:.1em!important;text-transform:uppercase!important;margin-bottom:16px!important;}
:root .hb-eyebrow::before{display:none!important;}
:root :is(.hm-close,.ia-close,.ip-close,.hh-book) :is(.hm-eyebrow,.bk2-eyebrow,.hb-eyebrow){background:rgba(11,66,55,.6)!important;border-color:rgba(255,255,255,.45)!important;color:#fff!important;}
:root :is(.hm-close,.ia-close,.ip-close,.hh-book) :is(.hm-eyebrow,.bk2-eyebrow,.hb-eyebrow) *{color:#fff!important;}

/* ═══ Hero and closing form cards: a deck of coloured cards behind ═══ */
:root :is(.hh-form,.hm-hero-lead .ql,.ip-pair,.ia-sel,.hm-close .hm-form,.hh-book-list,.ip-close .ql){
  box-shadow:14px 0 0 -10px #c9ccff,28px 0 0 -20px var(--yellow)!important;}
@media(max-width:600px){:root :is(.hh-form,.hm-hero-lead .ql,.ip-pair,.ia-sel,.hm-close .hm-form,.hh-book-list,.ip-close .ql){box-shadow:8px 0 0 -6px #c9ccff,16px 0 0 -12px var(--yellow)!important;}}

/* ═══ Tool logos: an outlined strip of cells ══════════════════════ */
:root :is(.hm-logos,.ia-logos){padding:56px 0!important;border:0!important;}
:root :is(.hm-logos-h){font:600 15px/1.4 var(--f-head)!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--ink)!important;margin-bottom:26px!important;}
:root :is(.hm-marq,.ia-marq){border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);}
:root :is(.hm-marq,.ia-marq) + :is(.hm-marq,.ia-marq){margin-top:0!important;border-top:0;}
:root :is(.hm-marq-track,.ia-marq-track){gap:0!important;}
:root :is(.hm-logo,.ia-logo-chip){border:0!important;border-right:1px solid var(--line2)!important;border-radius:0!important;background:transparent!important;
  padding:20px 34px!important;font-size:15px!important;font-weight:600!important;color:var(--ink)!important;}
:root :is(.hm-logo,.ia-logo-chip):hover{background:var(--mint)!important;color:var(--jade-d)!important;}


/* ═══ The cable down the right of the wide heroes ═════════════════ */
@media(min-width:1180px){
  :root body :is(.hm-hero,.ia-hero)::before{content:''!important;display:block!important;position:absolute!important;inset:28px 1.5% 40px auto!important;
    width:104px!important;height:auto!important;background:var(--cable) no-repeat center top/contain!important;z-index:-1!important;opacity:1!important;filter:none!important;transform:none!important;pointer-events:none;}
}

/* ═══════════════════════════════════════════════════════════════════
   ROUND 2 — the wider Jade kit
   ═══════════════════════════════════════════════════════════════════ */

/* ═══ Page tints: some pages wear a pastel hero instead of jade ═══ */
body[class*="jt-"]{--tint:#fff;--tgrid:rgba(27,31,29,.06);}
body.jt-lav{--tint:#e6e7ff;} body.jt-pink{--tint:#fce8f1;} body.jt-mint{--tint:#dcf5e9;} body.jt-peach{--tint:#fde4d0;} body.jt-white{--tint:#fff;}
:root body[class*="jt-"] :is(.hm-hero,.ip-hero,.ia-hero){background-color:var(--tint)!important;
  background-image:linear-gradient(var(--tgrid) 1px,transparent 1px),linear-gradient(90deg,var(--tgrid) 1px,transparent 1px)!important;}
:root body[class*="jt-"] :is(.hm-hero-copy h1,.hm-hero-copy h1 *,.ip-hero h1,.ip-hero h1 *,.ia-hero h1,.ia-hero h1 *){color:var(--jade-d)!important;-webkit-text-fill-color:var(--jade-d)!important;}
:root body[class*="jt-"] :is(.hm-hero-copy .hm-lede,.hm-hero-copy p,.ip-hero .ip-lede,.ia-hero .ia-lede,.ia-hero p,.hm-hero-copy .hm-facts li,.ip-hero .ip-facts li,.ia-hero .ia-facts li,
  .hm-hero-copy b,.hm-hero-copy strong,.ip-hero .ip-facts b,.ia-hero .ia-facts b,.ct-hero .ct-meta,.ct-hero .ct-meta *){color:var(--ink)!important;}
:root body[class*="jt-"] :is(.hm-hero-copy .hm-ghost,.ip-hero .ip-ghost){background:#fff!important;color:var(--ink)!important;border-color:var(--ink)!important;}
:root body[class*="jt-"] :is(.hm-hero-copy .hm-ghost,.ip-hero .ip-ghost):hover{background:var(--mint)!important;}
:root body[class*="jt-"] :is(.hm-facts,.ip-facts,.ia-facts) li::before{box-shadow:0 0 0 1.5px var(--jade);}
:root body[class*="jt-"] .hm-kicker i{background:var(--jade)!important;}

/* ═══ Hero labels: outlined pills ═════════════════════════════════ */
:root :is(.hm-hero-copy .hm-kicker,.ip-hero .ip-kicker,.ia-hero .ia-kicker){display:inline-flex!important;align-items:center;gap:8px;width:auto!important;
  padding:6px 14px!important;border-radius:999px!important;border:1.6px solid rgba(255,255,255,.75)!important;background:transparent!important;
  font:600 14px/1.3 var(--f-body)!important;letter-spacing:0!important;text-transform:none!important;margin-bottom:18px!important;}
:root body[class*="jt-"] :is(.hm-hero-copy .hm-kicker,.ip-hero .ip-kicker,.ia-hero .ia-kicker){border-color:var(--jade)!important;background:#fff!important;color:var(--ink)!important;}

/* ═══ Feature-row labels: a mint pill in sentence case ════════════ */
:root .hm-copy > .hm-eyebrow{background:var(--mint)!important;border:1.6px solid var(--jade)!important;color:var(--ink)!important;
  font:600 14.5px/1.3 var(--f-body)!important;letter-spacing:0!important;text-transform:none!important;padding:6px 14px!important;}

/* ═══ Headings: deep jade on light ground, a light second half ════ */
:root main :is(h2,h3):not(:is(.hm-hero,.hh,.ip-hero,.ia-hero,.hm-close,.ia-close,.ip-close,.hh-book,.hm-nums,.cs-grid,.cs-story,.cs-demo,.hm-mock,.ql,.hm-form,.hh-form,[class*="mock"],[class*="wb-"]) *){color:var(--jade-d)!important;}
.hw-l{font-weight:400;}

/* ═══ Pain points: one outlined grid, big serif numbers ═══════════ */
:root .hm-probs{counter-reset:pr;gap:0!important;border:1.6px solid var(--ink);border-radius:22px;overflow:hidden;background:#fff;}
:root .hm-prob{counter-increment:pr;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:1px 0 0 var(--line2),0 1px 0 var(--line2)!important;padding:28px 28px 30px!important;transform:none!important;}
:root .hm-prob::before{content:counter(pr,decimal-leading-zero);display:block;font:600 46px/1 var(--f-head);color:var(--jade);margin-bottom:14px;}
:root .hm-prob-ico{display:none!important;}

/* ═══ Accordions: separate rounded rows, a round chevron ══════════ */
:root{--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1f1d' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");}
:root :is(.hm-faq,.ia-faq,.ip-faq) details,:root .faqx-item{border:1px solid var(--line2)!important;border-radius:14px!important;padding:0!important;margin:0 0 10px!important;background:#fff!important;overflow:hidden;}
:root .faqx-list{border:0!important;border-radius:0!important;overflow:visible!important;background:transparent!important;}
:root .faqx-item:last-child{border-bottom:1px solid var(--line2)!important;}
:root :is(.hm-faq,.ia-faq,.ip-faq) summary,:root .faqx-item summary{display:flex!important;align-items:center!important;justify-content:space-between;gap:16px;
  padding:15px 16px 15px 22px!important;font:600 16px/1.4 var(--f-head)!important;color:var(--ink)!important;list-style:none;cursor:pointer;}
:root :is(.hm-faq,.ia-faq,.ip-faq) details[open] > summary,:root .faqx-item[open] > summary{background:var(--mint)!important;border-bottom:1px solid var(--line2);}
:root :is(.hm-faq,.ia-faq,.ip-faq) summary::after{content:''!important;flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--ink);
  background:#fff var(--chev) center/14px no-repeat;transition:transform .2s ease;margin:0!important;}
:root :is(.hm-faq,.ia-faq,.ip-faq) details[open] > summary::after{transform:rotate(180deg);}
:root .faqx-ico{order:9;margin-left:auto;width:30px!important;height:30px!important;border-radius:50%;border:1.5px solid var(--ink);background:#fff var(--chev) center/14px no-repeat;transition:transform .2s ease;}
:root .faqx-ico::before,:root .faqx-ico::after{display:none!important;}
:root .faqx-item[open] .faqx-ico{transform:rotate(180deg);}
:root :is(.hm-faq,.ia-faq,.ip-faq) details > :not(summary){margin:0!important;padding:14px 22px 18px!important;}
:root .faqx-a{padding:14px 22px 18px!important;}

/* ═══ Reviews: jade-outlined cards, a big serif quote mark ════════ */
:root .wrr-card{border:1.6px solid var(--jade)!important;}
:root .wrr-card blockquote::before{content:'\201C';display:block;font:600 70px/.75 var(--f-head);color:var(--jade-hi);margin-bottom:6px;}
:root .wrr-card blockquote p::before,:root .wrr-card blockquote p::after{content:none!important;}
:root .wrr-card blockquote p{font-family:var(--f-head)!important;font-size:17px!important;line-height:1.65!important;}

/* ═══ Section visuals: a dotted offset shadow ═════════════════════ */
@media(min-width:960px){
  :root .hm-shot::before{content:'';position:absolute;z-index:-1;inset:26px -20px -20px 26px;border-radius:26px;pointer-events:none;
    background:radial-gradient(var(--ink) 1.3px,transparent 1.8px) 0 0/10px 10px;}
}

/* ═══ Hard shadows: the step form, active tabs, cards on hover ════ */
:root .hm-close .hm-form{border:2px solid var(--ink)!important;border-radius:22px!important;box-shadow:8px 8px 0 var(--ink)!important;}
:root .jr-panel{border:1.6px solid var(--ink)!important;box-shadow:8px 8px 0 var(--ink)!important;}
:root .ip-zap-tab.on{background:#ffe482!important;border:1.6px solid var(--ink)!important;box-shadow:4px 4px 0 var(--ink)!important;}
:root .jr-tab.on .jr-num{background:var(--yellow)!important;border:1.6px solid var(--ink)!important;box-shadow:none!important;color:var(--ink)!important;}
:root :is(.hm-tile,.svx-card,.pl-card,.ia-pop-card){transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease!important;}
@media(hover:hover){:root :is(.hm-tile,.svx-card,.pl-card,.ia-pop-card):hover{transform:translate(-2px,-2px)!important;box-shadow:4px 4px 0 var(--ink)!important;border-color:var(--ink)!important;}}

/* ═══ Icon badges: pastel circles with an ink ring ════════════════ */
:root :is(.hm-tile-ico,.svx-ico,.io4-ico,.ia-step-ico,.ip-cicon){border-radius:50%!important;border:1.5px solid var(--ink)!important;background:#ffe482!important;color:var(--ink)!important;box-shadow:none!important;}
:root :nth-child(4n+2) > :is(.hm-tile-ico,.svx-ico,.io4-ico,.ia-step-ico,.ip-cicon){background:#ffd6e3!important;}
:root :nth-child(4n+3) > :is(.hm-tile-ico,.svx-ico,.io4-ico,.ia-step-ico,.ip-cicon){background:#dcdeff!important;}
:root :nth-child(4n+4) > :is(.hm-tile-ico,.svx-ico,.io4-ico,.ia-step-ico,.ip-cicon){background:#cdf1e1!important;}

/* ═══ Tool logos: outlined tiles ══════════════════════════════════ */
:root .lt{box-shadow:inset 0 0 0 1.5px var(--ink)!important;}

/* ═══ Pair card: the two tools on a peach panel, joined by a cable ═ */

/* ═══ Closing bands: doodles, and a drawn cloud edge on top ═══════ */
:root body :is(.hm-close,.ia-close,.ip-close,.hh-book){
  background-image:var(--doodle),var(--doodle),var(--grid)!important;background-repeat:no-repeat,no-repeat,repeat,repeat!important;
  background-size:420px 273px,420px 273px,88px 88px,88px 88px!important;background-position:left 2% top 80px,right 2% bottom 70px,center top,center top!important;}
:root body :is(.hm-close,.ia-close,.ip-close,.hh-book)::before{background-image:var(--cloud-line)!important;}
@media(max-width:700px){:root body :is(.hm-close,.ia-close,.ip-close,.hh-book){background-image:var(--grid)!important;background-repeat:repeat!important;background-size:88px 88px!important;background-position:center top!important;}}

/* ═══ Footer rule: a line with a dot at each end ══════════════════ */
:root .ft-bottom{border-top:0!important;padding-top:26px!important;
  background:radial-gradient(circle,var(--ink) 3px,transparent 3.6px) left top/8px 8px no-repeat,radial-gradient(circle,var(--ink) 3px,transparent 3.6px) right top/8px 8px no-repeat,linear-gradient(var(--ink),var(--ink)) 0 3.5px/100% 1px no-repeat;}
/* logo tiles stay centred boxes, even inside blocks that style every span (e.g. .hh-form-head span) */
:root body span.lt{display:inline-flex!important;align-items:center!important;justify-content:center!important;}
:root body .io4-core span.lt{display:flex!important;}


:root{--cables:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%201440%20700%27%20preserveAspectRatio%3D%27none%27%20fill%3D%27none%27%3E%3Cpath%20d%3D%27M-20%20260C200%20200%20360%2040%20640%2060S880%20140%20900%20200%27%20stroke%3D%27%230b4237%27%20stroke-opacity%3D%27.5%27%20stroke-width%3D%2711%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3Cpath%20d%3D%27M-20%20260C200%20200%20360%2040%20640%2060S880%20140%20900%20200%27%20stroke%3D%27%23bfe0ff%27%20stroke-width%3D%277.5%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3Cpath%20d%3D%27M-30%20470C160%20440%20300%20520%20420%20720%27%20stroke%3D%27%230b4237%27%20stroke-opacity%3D%27.5%27%20stroke-width%3D%2711%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3Cpath%20d%3D%27M-30%20470C160%20440%20300%20520%20420%20720%27%20stroke%3D%27%23b9f0d8%27%20stroke-width%3D%277.5%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3Cpath%20d%3D%27M520%20230C400%20120%20260%20150%20250%20300S300%20480%20360%20470%20420%20380%20340%20400%20230%20560%20120%20720%27%20stroke%3D%27%230b4237%27%20stroke-opacity%3D%27.5%27%20stroke-width%3D%2711%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3Cpath%20d%3D%27M520%20230C400%20120%20260%20150%20250%20300S300%20480%20360%20470%20420%20380%20340%20400%20230%20560%20120%20720%27%20stroke%3D%27%23d5d7ff%27%20stroke-width%3D%277.5%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3Cpath%20d%3D%27M1460%2090C1300%2060%201180%20120%201120%20300S1000%20560%20980%20720%27%20stroke%3D%27%230b4237%27%20stroke-opacity%3D%27.5%27%20stroke-width%3D%2711%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3Cpath%20d%3D%27M1460%2090C1300%2060%201180%20120%201120%20300S1000%20560%20980%20720%27%20stroke%3D%27%23b9f0d8%27%20stroke-width%3D%277.5%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3Cpath%20d%3D%27M1460%20400C1250%20360%201100%20420%20980%20560S820%20720%20760%20720%27%20stroke%3D%27%230b4237%27%20stroke-opacity%3D%27.5%27%20stroke-width%3D%2711%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3Cpath%20d%3D%27M1460%20400C1250%20360%201100%20420%20980%20560S820%20720%20760%20720%27%20stroke%3D%27%23ffd3b0%27%20stroke-width%3D%277.5%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3Cpath%20d%3D%27M1350-20C1330%2080%201400%20140%201460%20150%27%20stroke%3D%27%230b4237%27%20stroke-opacity%3D%27.5%27%20stroke-width%3D%2711%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3Cpath%20d%3D%27M1350-20C1330%2080%201400%20140%201460%20150%27%20stroke%3D%27%23eafff6%27%20stroke-width%3D%277.5%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3Cpath%20d%3D%27M700%20720C900%20640%201200%20690%201460%20560%27%20stroke%3D%27%230b4237%27%20stroke-opacity%3D%27.5%27%20stroke-width%3D%2711%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3Cpath%20d%3D%27M700%20720C900%20640%201200%20690%201460%20560%27%20stroke%3D%27%23fff3b0%27%20stroke-width%3D%277.5%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3C%2Fsvg%3E");--pair-cable:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20300%20120%27%20preserveAspectRatio%3D%27none%27%20fill%3D%27none%27%3E%3Cpath%20d%3D%27M0%2070C30%2070%2040%2020%2080%2014S140%2030%20150%2060%20170%20108%20210%20106%20270%2080%20300%2084%27%20stroke%3D%27%230b4237%27%20stroke-width%3D%276%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3Cpath%20d%3D%27M0%2070C30%2070%2040%2020%2080%2014S140%2030%20150%2060%20170%20108%20210%20106%20270%2080%20300%2084%27%20stroke%3D%27%237ee0b8%27%20stroke-width%3D%273.5%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3Cpath%20d%3D%27M0%2070C30%2070%2040%2020%2080%2014S140%2030%20150%2060%20170%20108%20210%20106%20270%2080%20300%2084%27%20stroke%3D%27%23ffe15d%27%20stroke-width%3D%273.5%27%20stroke-dasharray%3D%2734%2070%27%20stroke-linecap%3D%27round%27%20vector-effect%3D%27non-scaling-stroke%27%2F%3E%3C%2Fsvg%3E");}
.jh-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.jl-cube{display:inline-block;width:16px;height:16px;flex:none;border-radius:4px;background:var(--lav,#a0a5ff);border:1.5px solid #1b1f1d;box-shadow:2px 2px 0 #1b1f1d;}

/* pucks */
.jp-puck{position:absolute;width:var(--ps);height:var(--ps);border-radius:50%;background:#fff;border:1.5px solid #0b4237;display:grid;place-items:center;
  box-shadow:0 9px 0 -1.5px var(--pc),0 9px 0 0 #0b4237;z-index:1;}
.jp-puck img,.jp-puck svg{max-width:52%;max-height:52%;}
.jp-pic{width:100%;height:auto;display:block;}

/* ── deck ── */
.jl{position:relative;background:var(--jade);background-image:var(--grid);background-size:88px 88px;padding:96px 5% 90px;color:#fff;}
.jl-in{max-width:1180px;margin:0 auto;}
.jl-head{text-align:center;max-width:760px;margin:0 auto 44px;}
.jl-kick{display:inline-block;margin:0 0 14px;padding:6px 14px;border-radius:999px;border:1.6px solid rgba(255,255,255,.7);font:600 14px/1.3 var(--f-body);color:#fff;}
:root body .jl h2{color:#fff!important;font:600 clamp(32px,4.4vw,52px)/1.1 var(--f-head);margin:0;}
.jl-lede{margin:16px auto 0;font-size:18px;line-height:1.7;color:#fff;max-width:60ch;}
.jl-deck{position:relative;padding-right:56px;}
.jl-card{display:none;grid-template-columns:1fr 300px;min-height:440px;background:#fff;color:var(--ink);border:1px solid #0b4237;border-radius:24px;box-shadow:var(--deck);overflow:visible;}
.jl-card.on{display:grid;animation:jlIn .35s ease;}
@keyframes jlIn{from{opacity:.4;transform:translateX(10px)}to{opacity:1;transform:none}}
.jl-copy{padding:40px 44px;display:flex;flex-direction:column;}
.jl-label{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:700 13.5px/1.3 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--jade-d);}
:root body .jl-card h3{font:600 clamp(26px,2.6vw,34px)/1.15 var(--f-head);color:var(--ink)!important;margin:0 0 16px;}
.jl-text{font-size:17.5px;line-height:1.75;color:var(--ink2);margin:0 0 22px;max-width:56ch;}
.jl-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;}
.jl-chip{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:999px;border:1.5px solid var(--jade-d);background:#fff;color:var(--ink);font:600 14px var(--f-body);text-decoration:none;transition:background .15s;}
.jl-chip:hover{background:var(--mint);}
.jl-chip img,.jl-chip svg{max-height:22px;max-width:60px;}
.jl-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:22px;}
.jl-links a,.jb-link,.jh-link{font:700 15.5px var(--f-body);color:var(--jade-d);text-decoration:none;padding-bottom:3px;border-bottom:2px solid currentColor;width:fit-content;}
.jl-links a:hover,.jb-link:hover{color:var(--ink);}
.jl-panel{position:relative;background:var(--lc);border-left:1px solid #0b4237;border-radius:0 23px 23px 0;overflow:hidden;}
.jl-num{position:absolute;top:22px;right:26px;font:600 50px/1 var(--f-head);color:var(--jade-d);z-index:2;}
.jl-num::before{content:'';position:absolute;inset:6px -8px -4px -10px;border-radius:50%;background:rgba(255,255,255,.55);z-index:-1;transform:rotate(-14deg);}
.jl-art{position:absolute;left:0;top:50px;width:300px;height:330px;}
.jl-wires{position:absolute;inset:0;width:100%;height:100%;}
.jl-pic{position:absolute;left:40px;top:70px;width:220px;}
.jl-nav{display:flex;justify-content:center;gap:12px;margin-top:30px;}
.jl-nav button{width:46px;height:46px;border-radius:50%;border:1.5px solid #0b4237;background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .15s;}
.jl-nav button:hover{background:var(--mint2);}
.jl-nav svg{width:20px;height:20px;}
@media(max-width:900px){
  .jl{padding:64px 16px 60px;}
  .jl-deck{padding-right:0;display:grid;gap:22px;}
  .jl-card,.jl-card.on{display:grid;grid-template-columns:1fr;box-shadow:none;animation:none;min-height:0;}
  .jl-copy{padding:26px 22px;}
  .jl-panel{border-left:0;border-top:1px solid #0b4237;border-radius:0 0 23px 23px;height:380px;}
  .jl-art{left:50%;margin-left:-150px;}
  .jl-nav{display:none;}
}

/* cloud edges where the deck's jade meets white */
.jl{isolation:isolate;padding-top:130px;padding-bottom:130px;}
.jl::before,.jl::after{content:'';position:absolute;left:0;right:0;height:54px;z-index:-1;pointer-events:none;background:var(--cloud) repeat-x 0 100%/270px 54px;}
.jl::before{top:-1px;transform:scaleY(-1);background-image:var(--cloud-line);background-position:120px 100%;}
.jl::after{bottom:-1px;}
@media(max-width:900px){.jl{padding-top:84px;padding-bottom:84px;} .jl::before,.jl::after{height:34px;background-size:170px 34px;}}
.hm-anchor{display:block;position:relative;top:-110px;height:0;visibility:hidden;}

/* ── hub diagram ── */
.jh{padding:90px 5% 40px;text-align:center;overflow:hidden;}
.jh-in{max-width:1180px;margin:0 auto;}
:root body .jh h2{font:600 clamp(32px,4.4vw,54px)/1.1 var(--f-head);color:var(--ink)!important;margin:0;}
.jh-lede{margin:18px auto 0;font-size:18px;line-height:1.7;color:var(--ink2);max-width:58ch;}
.jh-btn{display:inline-flex;align-items:center;height:50px;padding:0 26px;margin-top:26px;border-radius:8px;background:var(--yellow);color:var(--jade-d);border:1.6px solid var(--ink);font:600 16px var(--f-body);text-decoration:none;}
.jh-btn:hover{background:var(--yellow-hi);}
.jh-map{position:relative;height:calc(var(--bus) + 110px);margin-top:10px;}
.jh-bus{position:absolute;left:4%;right:4%;top:var(--bus);height:0;border-top:1.6px solid #c3cec8;}
.jh-bus::before,.jh-bus::after{content:'';position:absolute;top:-1.6px;width:1.6px;height:110px;background:#c3cec8;}
.jh-bus::before{left:18%;} .jh-bus::after{right:24%;}
.jh-node{position:absolute;width:76px;height:76px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 6px 18px rgba(14,40,32,.14);z-index:2;transition:transform .15s;}
.jh-node:hover{transform:translateY(-3px);}
.jh-node::after{content:'';position:absolute;left:50%;top:100%;width:1.6px;height:var(--drop);background:#c3cec8;z-index:-1;}
.jh-node img,.jh-node svg{max-width:44px;max-height:44px;}
.jh-hub{position:absolute;left:50%;top:var(--bus);transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:14px;padding:16px 34px 16px 18px;border-radius:999px;background:#fff;
  font:600 clamp(24px,3vw,40px)/1 var(--f-head);color:var(--jade-d);z-index:3;
  border:4px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#a0a5ff,#7ee0b8 60%,#188165) border-box;box-shadow:0 10px 0 -2px #dcdeff;}
.jh-mark{width:48px;height:48px;border-radius:12px;background:var(--jade-d);display:grid;place-items:center;}
.jh-mark svg{width:70%;height:70%;}
.jp-cloud,.jh .jp-cloud{position:absolute;width:110px;height:auto;z-index:1;}
@media(max-width:900px){
  .jh{padding:64px 16px 24px;}
  .jh-map{transform:scale(.58);transform-origin:top center;width:172%;margin-left:-36%;margin-bottom:calc((var(--bus) + 110px) * -.42);}
}

/* ── pastel tiles ── */
.jt{padding:90px 5%;text-align:center;}
.jt-in{max-width:1240px;margin:0 auto;}
:root body .jt h2{font:600 clamp(30px,3.8vw,46px)/1.12 var(--f-head);color:var(--ink)!important;margin:0;}
.jt-lede{margin:16px auto 0;max-width:56ch;font-size:18px;line-height:1.7;color:var(--ink2);}
.jt-row{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;}
.jt-tile{--tb:#fde68a;--tl:#f5d35a;--tt:#7a4d00;padding:34px 22px 30px;border-radius:24px;background:var(--tb);border:1.5px solid var(--tl);display:flex;flex-direction:column;align-items:center;}
.jt-tile:nth-child(5n+2){--tb:#fccaa8;--tl:#f4a982;--tt:#9a3412;}
.jt-tile:nth-child(5n+3){--tb:#d4d6ff;--tl:#a9adf5;--tt:#3730a3;}
.jt-tile:nth-child(5n+4){--tb:#fbd5e6;--tl:#f2a9c9;--tt:#9d174d;}
.jt-tile:nth-child(5n+5){--tb:#cfe4ff;--tl:#9cc4f5;--tt:#1e40af;}
.jt-tile .jp-pic{width:120px;margin:0 auto 22px;}
:root body .jt-tile h3{font:500 25px/1.25 var(--f-head);color:var(--tt)!important;margin:0;}
.jt-tile p{margin:12px 0 0;font-size:15px;line-height:1.6;color:var(--ink);}

/* ── bento ── */
.jb{padding:40px 5% 90px;}
.jb-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.jb-card{position:relative;display:flex;flex-direction:column;min-height:560px;padding:40px 40px 0;border-radius:26px;background:#fff;border:1px solid var(--ink);overflow:hidden;}
.jb-dark{background:#0f6d59;border-color:#0b4237;color:#fff;}
.jb-kick{display:flex;align-items:center;gap:10px;margin:0 0 10px;font:700 14px/1.3 var(--f-body);letter-spacing:.04em;text-transform:uppercase;color:var(--jade-d);}
.jb-dark .jb-kick{color:#bff0dc;}
:root body .jb-card h3{font:500 clamp(28px,3vw,38px)/1.15 var(--f-head);color:var(--ink)!important;margin:0 0 16px;}
:root body .jb-dark h3{color:#fff!important;}
.jb-text{font-size:17.5px;line-height:1.75;color:var(--ink2);margin:0 0 18px;}
.jb-dark .jb-text{color:#fff;}
.jb-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;}
.jb-chips span{padding:7px 16px;border-radius:999px;background:#ecedff;color:#3730a3;font:500 15px var(--f-body);}
.jb-dark .jb-link{color:#fff;}
.jb-art{position:relative;flex:1;min-height:230px;margin-top:26px;}
.jb-pic{position:absolute;left:0;right:0;bottom:-6px;margin:0 auto;width:min(380px,92%);padding:22px 26px 0;background:#fff;border:1px solid #0b4237;border-bottom:0;border-radius:18px 18px 0 0;}
.jb-wires{position:absolute;left:0;top:0;width:420px;height:200px;}
.jb-hex{position:absolute;left:30px;top:44px;width:150px;height:150px;border-radius:34px;background:#b9f0d8;border:1.5px solid #0b4237;display:grid;place-items:center;box-shadow:0 14px 0 -1.5px #3fbf94,0 14px 0 0 #0b4237;transform:rotate(-8deg);}
.jb-hex svg{width:62%;height:62%;padding:14px;background:#0e5747;border-radius:22px;}
@media(max-width:900px){
  .jb{padding:24px 16px 64px;}
  .jb-in{grid-template-columns:1fr;}
  .jb-card{min-height:0;padding:28px 22px 0;}
  .jb-art{min-height:220px;}
  .jb-wires{transform:scale(.8);transform-origin:left top;}
}

/* ── plain logo row ── */
.jg{padding:70px 0 60px;text-align:center;overflow:hidden;}
:root body .jg h2{font:600 clamp(28px,3.4vw,42px)/1.15 var(--f-head);color:var(--ink)!important;margin:0 16px 40px;}
.jg-marq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.jg-track{display:flex;align-items:center;gap:84px;width:max-content;padding:0 42px;}
.jg-track a{display:grid;place-items:center;width:84px;height:84px;flex:none;transition:transform .15s;}
.jg-track a:hover{transform:scale(1.08);}
.jg-track img,.jg-track svg{max-width:84px;max-height:72px;}
@media(prefers-reduced-motion:no-preference){.jg-track{animation:jgMarq 70s linear infinite;} .jg-marq:hover .jg-track{animation-play-state:paused;}}
@media(prefers-reduced-motion:reduce){.jg-marq{overflow-x:auto;}}
@keyframes jgMarq{to{transform:translateX(-50%)}}
/* ── closing bands: long pastel cables behind a centred card ── */
:root body :is(.hm-close,.ia-close,.ip-close,.hh-book){background-image:var(--cables),var(--grid)!important;background-repeat:no-repeat,repeat,repeat!important;
  background-size:100% 100%,88px 88px,88px 88px!important;background-position:center,center top,center top!important;}
:root body .hm-close .hm-brief,:root body .hh-book .hh-book-in,:root body .ip-close .ip-close-grid,:root body .ia-close .ia-close-grid{
  position:relative;background:#14775f!important;border:1px solid #0b4237!important;border-radius:28px!important;padding:48px!important;box-shadow:none!important;}
:root body .hh-book .hh-book-in{max-width:1140px;margin:0 auto;}
@media(max-width:900px){:root body .hm-close .hm-brief,:root body .hh-book .hh-book-in,:root body .ip-close .ip-close-grid,:root body .ia-close .ia-close-grid{padding:26px 18px!important;border-radius:22px!important;}}

/* ── pair card: two outlined tiles, a cable looping round them ── */
:root .ip-pair-top{display:grid!important;grid-template-columns:84px minmax(48px,1fr) 84px;grid-template-rows:84px auto;row-gap:10px;column-gap:0;align-items:center;justify-items:center;position:relative;
  padding:22px 26px 16px!important;border-radius:16px!important;background:#fde4d0!important;border:1.5px solid var(--ink)!important;}
:root body.jt-peach .ip-pair-top{background:#e6e7ff!important;}
:root .ip-pair-top .ip-node{display:block;position:relative;z-index:1;line-height:0;}
:root .ip-pair-top .lt{--lt:84px!important;width:84px!important;height:84px!important;border-radius:18px!important;background:#fff!important;box-shadow:inset 0 0 0 1.5px var(--ink),4px 4px 0 var(--ink)!important;}
.ip-cable{display:block;width:calc(100% + 14px);height:84px;margin:0 -7px;overflow:visible;}
.ip-cable-sleeve{stroke:#0b4237;stroke-width:9;stroke-linecap:round;}
.ip-cable-core{stroke:#7ee0b8;stroke-width:4.5;stroke-linecap:round;}
.ip-name{width:124px;font:600 14px/1.25 var(--f-body);color:var(--ink);text-align:center;text-wrap:balance;}
.ip-cable-dot{position:absolute;left:0;top:0;z-index:2;width:14px;height:14px;border-radius:50%;background:var(--yellow);border:2px solid #0b4237;box-shadow:0 0 0 4px rgba(255,225,93,.45);pointer-events:none;}
@media(max-width:420px){:root .ip-pair-top{grid-template-columns:64px minmax(40px,1fr) 64px;grid-template-rows:64px auto;padding:18px 26px 14px!important;} .ip-name{width:104px;font-size:13px;} :root .ip-pair-top .lt{--lt:64px!important;width:64px!important;height:64px!important;border-radius:14px!important;} .ip-cable{height:64px;}}

/* ── journey tabs: one segmented bar, a grey copy panel and a pink picture panel ── */
:root .jr-rail{gap:0!important;border:1px solid var(--line2);border-radius:14px;overflow:hidden;background:#fff;margin-bottom:28px!important;}
:root .jr-bar{display:none!important;}
:root .jr-tab{flex-direction:row!important;justify-content:center;gap:10px!important;padding:16px 10px!important;border-right:1px solid var(--line)!important;transition:background .15s;}
:root .jr-tab:last-child{border-right:0!important;}
:root .jr-tab em{display:none!important;}
:root .jr-tab b{font:600 16px var(--f-body)!important;color:var(--ink)!important;padding-bottom:4px;border-bottom:2.5px solid transparent;}
:root .jr-tab.on{background:#f9d3e4!important;}
:root .jr-tab.on b{border-bottom-color:var(--ink);}
:root .jr-tab:hover:not(.on){background:#fdf2f7;}
:root .jr-num{width:28px!important;height:28px!important;font-size:13px!important;border:1.5px solid var(--ink)!important;background:#fff!important;color:var(--ink)!important;box-shadow:none!important;}
:root .jr-tab.on .jr-num{background:var(--yellow)!important;}
:root .jr-panel{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;gap:28px!important;align-items:stretch!important;}
:root .jr-copy{background:#f0f0f5;border-radius:22px;padding:34px;}
:root .jr-art{background:#f9d3e4;border-radius:22px;padding:28px;}
@media(max-width:899px){:root .jr-rail{grid-template-columns:repeat(6,minmax(150px,1fr))!important;overflow-x:auto;} :root .jr-copy{padding:24px 20px;} :root .jr-art{padding:18px;}}

/* logos sit inside their discs and chips at a fixed size */
:root body .jh-node .il-logo,:root body .jh-node .il-mono{width:44px!important;height:44px!important;max-width:none!important;object-fit:contain;border-radius:10px;}
:root body .jp-puck .il-logo,:root body .jp-puck .il-mono{width:calc(var(--ps) * .5)!important;height:calc(var(--ps) * .5)!important;max-width:none!important;object-fit:contain;border-radius:8px;}
:root body .jg-track .il-logo,:root body .jg-track .il-mono{width:64px!important;height:64px!important;max-width:none!important;object-fit:contain;border-radius:12px;}
:root body .jl-chip .il-logo,:root body .jl-chip .il-mono{width:22px!important;height:22px!important;max-width:none!important;object-fit:contain;border-radius:5px;}
/* ── zig-zag rows joined by a cable ── */
.ja{padding:76px 5% 72px;background:#fff;}
.ja-head{text-align:center;max-width:720px;margin:0 auto 40px;}
.ja-kick{display:inline-block;margin:0 0 14px;padding:5px 13px;border-radius:999px;background:#e3f6ee;border:1px solid #b9e6d4;font:600 11.5px/1.3 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--jade-d);}
:root body .ja h2{font:600 clamp(28px,3.4vw,42px)/1.12 var(--f-head);color:var(--ink)!important;margin:0;}
:root body .ja h2 .hw-l{color:var(--jade);}
.ja-lede{margin:14px auto 0;font-size:17px;line-height:1.65;color:var(--ink2);max-width:58ch;}
.ja-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;max-width:1060px;margin:0 auto;}
.ja-row.flip .ja-art{order:2;}
.ja-art{display:grid;place-items:center;}
.ja-scene{width:min(290px,100%);height:auto;}
:root body .ja-copy h3{font:500 clamp(24px,2.4vw,30px)/1.2 var(--f-head);color:var(--ac)!important;margin:0 0 6px;}
.ja-sub{margin:0 0 10px;font:700 15px/1.4 var(--f-body);color:var(--jade-d);}
.ja-text{margin:0;font-size:16px;line-height:1.65;color:var(--ink2);max-width:52ch;}
.ja-note{display:flex;gap:10px;align-items:flex-start;margin:16px 0 0;padding:12px 14px;max-width:52ch;border:1px solid var(--line2);border-radius:12px;background:#fff;font:italic 400 15px/1.5 var(--f-head);color:var(--ink);}
.ja-note svg{width:20px;height:20px;flex:none;margin-top:1px;}
.ja-logos{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;}
.ja-logos a{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--line2);background:#fff;transition:border-color .15s,transform .15s;}
.ja-logos a:hover{border-color:var(--ink);transform:translateY(-2px);}
:root body .ja-logos .il-logo,:root body .ja-logos .il-mono{width:24px!important;height:24px!important;max-width:none!important;object-fit:contain;border-radius:5px;}
.ja-logos a.ja-more{width:auto;padding:0 12px;font:600 13px var(--f-body);color:var(--ink2);text-decoration:none;}
.ja-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:16px;}
.ja-links a{font:700 15px var(--f-body);color:var(--jade-d);text-decoration:none;padding-bottom:2px;border-bottom:2px solid currentColor;}
.ja-links a:hover{color:var(--ink);}
.ja-wire{display:block;width:100%;max-width:1060px;height:84px;margin:-6px auto;}
@media(max-width:900px){
  .ja{padding:56px 16px 48px;}
  .ja-row,.ja-row.flip{grid-template-columns:1fr;gap:14px;margin-bottom:40px;}
  .ja-row.flip .ja-art{order:0;}
  .ja-scene{width:220px;}
  .ja-wire{display:none;}
}
/* ══ Tidy pass: one rhythm for the whole site ════════════════════
   Sections 72px apart (52px on a phone), one heading size for every
   section, a slightly tighter line height. */
body{line-height:1.65!important;}
:root body main h2{font-size:clamp(27px,3vw,38px)!important;line-height:1.15!important;letter-spacing:-.01em;}
:root body main :is(.hm-sec,.hb,.hb-alt,.ip-sec,.ia-sec,.wrr,.faqx,.pl){padding-top:72px!important;padding-bottom:72px!important;}
:root body main :is(.hm-head,.hb-head,.wrr-head){margin-bottom:24px!important;}
:root body .hm-nums{padding-top:44px!important;padding-bottom:76px!important;}
.jt{padding:72px 5%;} .jt-row{margin-top:32px;gap:20px;} .jt-tile{padding:28px 20px 24px;}
.jh{padding:72px 5% 8px;} .jh-btn{margin-top:22px;}
.jh-bus::before,.jh-bus::after{display:none;}
.jh-map{height:calc(var(--bus) + 56px);}
.jb{padding:0 5% 72px;} .jb-card{min-height:500px;padding:34px 34px 0;}
:root body :is(.hm-close,.ia-close,.ip-close,.hh-book){padding-top:104px!important;padding-bottom:110px!important;}
:root body .hm-close .hm-brief,:root body .hh-book .hh-book-in,:root body .ip-close .ip-close-grid,:root body .ia-close .ia-close-grid{padding:40px!important;}
/* the zig-zag rows, a little tighter */
.ja-row{gap:44px;} .ja-scene{width:min(250px,100%);} .ja-wire{height:64px;margin:-4px auto;} .ja-head{margin-bottom:28px;}
/* the homepage hero ends with its call to action now, not a row of tiles */
:root body .hm-hero{padding-bottom:96px!important;}
/* four reviews sit in one row instead of three and one */
:root .wrr-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;}
@media(max-width:900px){
  :root body main :is(.hm-sec,.hb,.hb-alt,.ip-sec,.ia-sec,.wrr,.faqx,.pl){padding-top:52px!important;padding-bottom:52px!important;}
  .jt{padding:52px 16px;} .jh{padding:52px 16px 0;} .jb{padding:0 16px 52px;}
  :root body :is(.hm-close,.ia-close,.ip-close,.hh-book){padding-top:72px!important;padding-bottom:76px!important;}
  :root body .hm-close .hm-brief,:root body .hh-book .hh-book-in,:root body .ip-close .ip-close-grid,:root body .ia-close .ia-close-grid{padding:24px 18px!important;}
}
/* ══ Motion ═══════════════════════════════════════════════════════
   Small movements, only while a section is on screen (.in), and none
   at all for people who ask their device for less motion. */

/* the desk toy */
.jtoy{position:absolute;right:28px;top:calc(100% + 10px);width:112px;height:104px;z-index:2;user-select:none;-webkit-user-select:none;}
.jtoy svg{position:absolute;inset:0;width:100%;height:100%;}
.jtoy-move{position:absolute;inset:0;transform-origin:50% 35.4%;cursor:grab;touch-action:none;}
.jtoy-move.drag{cursor:grabbing;}
.jtoy-move.spring{transition:transform .9s cubic-bezier(.3,1.9,.45,1);}
.jtoy-idle{position:absolute;inset:0;transform-origin:50% 35.4%;}
.jtoy-rings{opacity:0;}
.hm-hero-lead{position:relative;}
@media(max-width:1099px){.jtoy{display:none;}}

@media(prefers-reduced-motion:no-preference){
  /* the phone rings every few seconds */
  .jtoy.in .jtoy-idle{animation:jtRing 5s ease-in-out infinite;}
  .jtoy.in .jtoy-rings{animation:jtRings 5s ease-in-out infinite;}
  .jtoy-move.drag .jtoy-idle,.jtoy-move.drag .jtoy-rings{animation:none;}
  @keyframes jtRing{0%,62%,100%{transform:none}66%{transform:translateY(-6px) rotate(-7deg)}70%{transform:translateY(-6px) rotate(7deg)}74%{transform:translateY(-6px) rotate(-6deg)}78%{transform:translateY(-6px) rotate(5deg)}82%{transform:translateY(-3px) rotate(-2deg)}86%{transform:none}}
  @keyframes jtRings{0%,62%,90%,100%{opacity:0}66%,84%{opacity:1}}

  /* service drawings: one moving part each */
  .ja-scene *{transform-box:fill-box;transform-origin:center;}
  .ja-row.in .a-cursor{animation:aCursor 3.8s ease-in-out infinite;}
  .ja-row.in .a-btn{animation:aBtn 3.8s ease-in-out infinite;}
  .ja-row.in .a-pop{animation:aPop 3.8s ease infinite;}
  @keyframes aCursor{0%,62%,100%{transform:none}22%,40%{transform:translate(-34px,-10px)}30%{transform:translate(-34px,-10px) scale(.85)}}
  @keyframes aBtn{0%,26%,36%,100%{transform:none}30%{transform:scale(.9)}}
  @keyframes aPop{0%,34%{opacity:0;transform:translateY(10px) scale(.92)}44%,88%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-4px)}}
  .ja-row.in .a-deal{animation:aDeal 4.4s ease-in-out infinite;}
  @keyframes aDeal{0%{opacity:0;transform:translateX(-136px)}8%{opacity:1;transform:translateX(-136px)}20%{transform:translateX(-136px)}46%,86%{opacity:1;transform:none}100%{opacity:0;transform:none}}
  .ja-row.in .a-dash{animation:aDash 1s linear infinite;}
  @keyframes aDash{to{stroke-dashoffset:-22}}
  .ja-row.in .a-bar{animation:aBar .9s ease-in-out infinite alternate;}
  @keyframes aBar{from{transform:scaleY(.4)}to{transform:scaleY(1)}}
  .ja-row.in .a-blink{animation:aBlink 1.4s ease-in-out infinite;}
  @keyframes aBlink{50%{opacity:.35}}
  .ja-row.in .a-glow{animation:aGlow 2.2s linear infinite;}
  @keyframes aGlow{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
  .ja-row.in .a-twinkle{animation:aTwinkle 2.6s ease-in-out infinite;}
  @keyframes aTwinkle{0%,100%{transform:none}50%{transform:scale(1.25) rotate(18deg)}}

  /* hub: the logos bob, dots run down the lines into Web Repay */
  .jh.in .jh-node .il-logo,.jh.in .jh-node .il-mono{animation:jhBob 3.2s ease-in-out infinite;}
  .jh.in .jh-node:nth-of-type(3n+2) .il-logo{animation-duration:2.7s;animation-delay:-.8s;}
  .jh.in .jh-node:nth-of-type(3n) .il-logo{animation-duration:3.6s;animation-delay:-1.6s;}
  @keyframes jhBob{50%{transform:translateY(-5px)}}
  .jh.in .jh-node::before{content:'';position:absolute;left:50%;top:100%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--jade);
    box-shadow:0 0 0 3px rgba(24,129,101,.18);z-index:-1;animation:jhDrop 2.6s linear infinite;}
  .jh.in .jh-node:nth-of-type(2n)::before{animation-delay:-1.3s;}
  .jh.in .jh-node:nth-of-type(3n)::before{animation-duration:3.1s;animation-delay:-.6s;}
  @keyframes jhDrop{0%{transform:translateY(0);opacity:0}12%,85%{opacity:1}100%{transform:translateY(var(--drop));opacity:0}}
  .jh.in .jh-hub{animation:jhHub 2.6s ease-in-out infinite;}
  @keyframes jhHub{50%{box-shadow:0 10px 0 -2px #dcdeff,0 0 0 8px rgba(126,224,184,.25)}}
}


.jc .hm-brief{align-items:start;}
@media(min-width:960px){.jc .hm-brief{grid-template-columns:1.15fr .85fr;gap:40px;}}
.jc .hm-brief-side{display:block!important;}
.jc-group{margin:22px 0 0;display:block;}
.jc-label{display:block;margin:0 0 10px;font:600 12px/1.3 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:#d9f5ea!important;}
.jc-chips{display:flex;flex-wrap:wrap;gap:8px;}
.jc-chip{display:inline-flex;align-items:center;min-height:38px;padding:0 15px;border-radius:999px;border:1.5px solid rgba(255,255,255,.6);background:transparent;color:#fff;font:500 14px var(--f-body);cursor:pointer;transition:background .15s,color .15s,border-color .15s;}
.jc-chip:hover{background:rgba(255,255,255,.12);}
.jc-chip[aria-pressed="true"]{background:var(--yellow);border-color:var(--yellow);color:var(--ink);}
.jc-chip[aria-pressed="true"]::before{content:'';width:14px;height:14px;margin-right:7px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1f1d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4L19 7'/%3E%3C/svg%3E") center/contain no-repeat;}
.jc-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;}
.jc-logos .jc-chip{justify-content:center;min-height:74px;border-radius:14px;}
.jc-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:74px;padding:8px 6px;border-radius:14px;border:1.5px solid transparent;background:#fff;color:var(--ink);font:600 12px/1.2 var(--f-body);cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s;}
.jc-logo:hover{transform:translateY(-2px);}
.jc-logo[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 3px var(--yellow);}
:root body .jc-logo .il-logo,:root body .jc-logo .il-mono{width:30px!important;height:30px!important;max-width:none!important;object-fit:contain;border-radius:7px;}
.jc-link{display:inline-block;margin-top:12px;font:700 15px var(--f-body);color:#fff!important;border-bottom:2px solid var(--yellow);text-decoration:none;}
.jc-link:hover{color:var(--yellow)!important;}
.jc-pair{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.jc-pair label{flex:1;min-width:180px;}
.jc-pair select,:root body .jc .jc-url input{width:100%;height:48px;padding:0 14px;border-radius:10px;border:1.5px solid #fff!important;background:#fff!important;color:var(--ink)!important;font:500 15px var(--f-body);}
.jc-plus{font:600 24px var(--f-head);color:var(--yellow);}
.jc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.jc-urgent{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:12px 18px;border-radius:10px;background:#fff;color:var(--ink)!important;font:600 15px var(--f-body);text-decoration:none;border:1.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);}
.jc-urgent svg{width:20px;height:20px;color:#1fa855;}
.jc-urgent:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink);}
.jc-points{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px;}
.jc-points li{position:relative;padding-left:32px;font-size:16px;line-height:1.5;color:#fff!important;}
.jc-points li::before{content:'';position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1f1d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/14px no-repeat;}
.jc-steps{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px;}
.jc-steps li{display:flex;align-items:center;gap:10px;font:500 14px/1.4 var(--f-body);color:#fff;}
.jc-steps li span{display:grid;place-items:center;width:24px;height:24px;flex:none;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);font:700 12px var(--f-head);color:#fff;}
.jc .hm-brief-main .ql{box-shadow:8px 8px 0 var(--ink)!important;border:2px solid var(--ink)!important;}


.mm{position:static;display:flex;align-items:center;}
.mm-t{display:inline-flex!important;align-items:center;gap:4px;}
.mm-chev{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease;}
.mm-panel{position:absolute;left:50%;top:calc(100% + 8px);z-index:600;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;width:min(860px,calc(100vw - 40px));
  padding:18px;border:1px solid var(--line2);border-radius:20px;background:#fff;box-shadow:0 24px 60px -20px rgba(14,40,32,.28);
  opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;}
.mm-panel::before{content:'';position:absolute;left:0;right:0;top:-14px;height:14px;}  /* keeps the hover alive across the gap */
.mm.open .mm-panel,.mm-panel:focus-within{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .18s ease,transform .18s ease,visibility 0s;}
@media(hover:hover){.mm:hover .mm-panel{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .18s ease .08s,transform .18s ease .08s,visibility 0s .08s;}
  .mm:hover .mm-chev{transform:rotate(180deg);}}
.mm.open .mm-chev{transform:rotate(180deg);}
.mm-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 18px;align-content:start;padding:6px 4px;}
.mm-main:has(.mm-logos){display:block;}
.mm-h{grid-column:1/-1;margin:0 0 8px;font:600 11.5px/1.3 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);}
.mm-col{display:flex;flex-direction:column;gap:2px;}
.mm-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 10px;}
.mm-logos a,.mm-pair{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;color:var(--ink)!important;font:600 14px var(--f-body);text-decoration:none;}
.mm-logos a:hover,.mm-pair:hover,.mm-link:hover{background:var(--mint);}
.mm-lg{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:8px;border:1px solid var(--line);}
:root body .mm-lg .il-logo,:root body .mm-lg .il-mono{width:20px!important;height:20px!important;max-width:none!important;object-fit:contain;}
.mm-lg2{display:inline-flex;flex:none;}
:root body .mm-lg2 .il-logo,:root body .mm-lg2 .il-mono{width:20px!important;height:20px!important;max-width:none!important;object-fit:contain;border-radius:5px;background:#fff;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--line);}
:root body .mm-lg2 > * + *{margin-left:-6px;}
.mm-link{display:flex;flex-direction:column;gap:1px;padding:9px 10px;border-radius:10px;text-decoration:none;}
.mm-link b{font:600 14.5px var(--f-body);color:var(--ink);}
.mm-link span{font-size:13px;color:var(--ink3);}
.mm-all,.mm-foot{display:inline-block;margin:10px 10px 0;font:700 13.5px var(--f-body);color:var(--jade-d)!important;text-decoration:none;border-bottom:2px solid currentColor;}
.mm-foot{grid-column:1/-1;justify-self:start;}
.mm-promo{display:flex;flex-direction:column;justify-content:flex-end;gap:10px;min-height:220px;padding:16px 18px 18px;border-radius:14px;background:var(--pf);border:1px solid var(--line2);text-decoration:none;color:var(--ink)!important;overflow:hidden;}
.mm-art{display:grid;place-items:center;flex:1;}
.mm-art .ja-scene{width:150px;height:auto;}
.mm-promo b{font:600 19px/1.25 var(--f-head);color:var(--jade-d);}
.mm-btn{align-self:flex-start;padding:7px 12px;border-radius:8px;background:#fff;border:1.5px solid var(--ink);font:700 13px var(--f-body);color:var(--ink);}
.mm-promo:hover .mm-btn{background:var(--yellow);}
/* on the jade hero the nav text is white, but the open panel keeps its own colours */
body:not([class*="jt-"]) #site-nav:not(.stuck):not(.open) .mm-panel :is(a,b,span,p){text-shadow:none;}
/* phones and tablets: each menu opens in place, as a short list (no promo card) */
@media(max-width:960px){
  #site-nav.open .nav-links{max-height:calc(100vh - 110px);overflow-y:auto;}
  #site-nav.open .mm{display:block;border-bottom:1px solid var(--line);}
  #site-nav.open .mm > .mm-t{display:flex!important;justify-content:space-between;width:100%;border-bottom:0!important;}
  .mm-chev{width:18px;height:18px;}
  .mm-panel{display:none!important;position:static!important;transform:none!important;opacity:1!important;visibility:visible!important;width:auto!important;
    margin:0!important;padding:0 0 14px!important;border:0!important;box-shadow:none!important;background:none!important;grid-template-columns:1fr!important;}
  .mm.open .mm-panel{display:block!important;}
  .mm-panel::before,.mm-promo{display:none!important;}
  .mm-main{padding:0!important;display:block!important;}
  .mm-col + .mm-col{margin-top:10px;}
  .mm-logos{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .mm-link span{display:none;}
  .mm-logos a,.mm-pair,.mm-link{padding:9px 6px!important;}
}


/* hero cards: GSAP moves these variables while the page scrolls */
.gsap-on #hm-stage .hm-site{translate:0 var(--pa,0px);}
.gsap-on #hm-stage .hm-crm{translate:0 var(--pb,0px);}
.gsap-on #hm-stage .hm-dial{translate:0 var(--pc,0px);}
/* service rows: the dot that rides each cable */
.ja{position:relative;}
.ja-dot{position:absolute;left:0;top:0;z-index:2;width:16px;height:16px;border-radius:50%;background:var(--yellow);border:2px solid #0b4237;box-shadow:0 0 0 5px rgba(255,225,93,.35);pointer-events:none;}
/* onboarding line: drawn by GSAP through --draw */
.jhs::before{transform:scaleX(var(--draw,1));transform-origin:left center;}
@media(max-width:900px){.jhs::before{transform:scaleY(var(--draw,1));transform-origin:center top;}}
/* pair pages: GSAP takes over from the page's own fade-in */
.gsap-on .ip-pre{opacity:1!important;transform:none!important;}


:root{--f-head:'Fraunces',Georgia,'Times New Roman',serif;--cloud:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20640%20110%27%3E%3Crect%20x%3D%2722%27%20y%3D%2734%27%20width%3D%27170%27%20height%3D%2780%27%20rx%3D%2712%27%20fill%3D%27%23fff%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%273%27%2F%3E%3Cpath%20d%3D%27M22%2054h170%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%273%27%2F%3E%3Ccircle%20cx%3D%2738%27%20cy%3D%2744%27%20r%3D%274%27%20fill%3D%27%23ff9db8%27%2F%3E%3Ccircle%20cx%3D%2751%27%20cy%3D%2744%27%20r%3D%274%27%20fill%3D%27%23ffe15d%27%2F%3E%3Ccircle%20cx%3D%2764%27%20cy%3D%2744%27%20r%3D%274%27%20fill%3D%27%237ee0b8%27%2F%3E%3Crect%20x%3D%2778%27%20y%3D%2740%27%20width%3D%27100%27%20height%3D%278%27%20rx%3D%274%27%20fill%3D%27%23e8efeb%27%2F%3E%3Crect%20x%3D%2736%27%20y%3D%2764%27%20width%3D%2774%27%20height%3D%277%27%20rx%3D%273%27%20fill%3D%27%230e5747%27%2F%3E%3Crect%20x%3D%2736%27%20y%3D%2776%27%20width%3D%2750%27%20height%3D%275%27%20rx%3D%272%27%20fill%3D%27%23c9d6cf%27%2F%3E%3Crect%20x%3D%27120%27%20y%3D%2764%27%20width%3D%2758%27%20height%3D%2724%27%20rx%3D%275%27%20fill%3D%27%23fff1e6%27%2F%3E%3Cg%20transform%3D%27rotate%28-3%20285%2064%29%27%3E%3Crect%20x%3D%27212%27%20y%3D%2714%27%20width%3D%27150%27%20height%3D%27100%27%20rx%3D%2712%27%20fill%3D%27%23fff%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%273%27%2F%3E%3Ccircle%20cx%3D%27240%27%20cy%3D%2742%27%20r%3D%2712%27%20fill%3D%27%23dcdeff%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%272%27%2F%3E%3Crect%20x%3D%27260%27%20y%3D%2734%27%20width%3D%2770%27%20height%3D%277%27%20rx%3D%273%27%20fill%3D%27%231b1f1d%27%2F%3E%3Crect%20x%3D%27260%27%20y%3D%2746%27%20width%3D%2746%27%20height%3D%275%27%20rx%3D%272%27%20fill%3D%27%23c9d6cf%27%2F%3E%3Crect%20x%3D%27226%27%20y%3D%2766%27%20width%3D%2736%27%20height%3D%2712%27%20rx%3D%276%27%20fill%3D%27%237ee0b8%27%2F%3E%3Crect%20x%3D%27268%27%20y%3D%2766%27%20width%3D%2736%27%20height%3D%2712%27%20rx%3D%276%27%20fill%3D%27%23ffe15d%27%2F%3E%3Crect%20x%3D%27310%27%20y%3D%2766%27%20width%3D%2736%27%20height%3D%2712%27%20rx%3D%276%27%20fill%3D%27%23e8efeb%27%2F%3E%3C%2Fg%3E%3Crect%20x%3D%27388%27%20y%3D%274%27%20width%3D%2766%27%20height%3D%27112%27%20rx%3D%2714%27%20fill%3D%27%23fff%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%273%27%2F%3E%3Cpath%20d%3D%27M412%2015h18%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%2F%3E%3Cg%20fill%3D%27%23c9d6cf%27%3E%3Ccircle%20cx%3D%27406%27%20cy%3D%2734%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27421%27%20cy%3D%2734%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27436%27%20cy%3D%2734%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27406%27%20cy%3D%2748%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27421%27%20cy%3D%2748%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27436%27%20cy%3D%2748%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27406%27%20cy%3D%2762%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27421%27%20cy%3D%2762%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27436%27%20cy%3D%2762%27%20r%3D%274%27%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%27421%27%20cy%3D%2779%27%20r%3D%277%27%20fill%3D%27%237ee0b8%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%272%27%2F%3E%3Crect%20x%3D%27474%27%20y%3D%2740%27%20width%3D%27148%27%20height%3D%2776%27%20rx%3D%2712%27%20fill%3D%27%23fff%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%273%27%2F%3E%3Crect%20x%3D%27486%27%20y%3D%2752%27%20width%3D%2784%27%20height%3D%2716%27%20rx%3D%278%27%20fill%3D%27%23e8efeb%27%2F%3E%3Crect%20x%3D%27528%27%20y%3D%2773%27%20width%3D%2782%27%20height%3D%2716%27%20rx%3D%278%27%20fill%3D%27%230e5747%27%2F%3E%3Ccircle%20cx%3D%27548%27%20cy%3D%2781%27%20r%3D%272.5%27%20fill%3D%27%23ffe15d%27%2F%3E%3Ccircle%20cx%3D%27558%27%20cy%3D%2781%27%20r%3D%272.5%27%20fill%3D%27%23ffe15d%27%2F%3E%3Ccircle%20cx%3D%27568%27%20cy%3D%2781%27%20r%3D%272.5%27%20fill%3D%27%23ffe15d%27%2F%3E%3Crect%20x%3D%270%27%20y%3D%2792%27%20width%3D%27640%27%20height%3D%2718%27%20fill%3D%27%23fff%27%2F%3E%3Cpath%20d%3D%27M0%2092.5h640%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%273%27%2F%3E%3C%2Fsvg%3E");--cloud-line:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20640%20110%27%3E%3Crect%20x%3D%2722%27%20y%3D%2734%27%20width%3D%27170%27%20height%3D%2780%27%20rx%3D%2712%27%20fill%3D%27%23fff%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%273%27%2F%3E%3Cpath%20d%3D%27M22%2054h170%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%273%27%2F%3E%3Ccircle%20cx%3D%2738%27%20cy%3D%2744%27%20r%3D%274%27%20fill%3D%27%23ff9db8%27%2F%3E%3Ccircle%20cx%3D%2751%27%20cy%3D%2744%27%20r%3D%274%27%20fill%3D%27%23ffe15d%27%2F%3E%3Ccircle%20cx%3D%2764%27%20cy%3D%2744%27%20r%3D%274%27%20fill%3D%27%237ee0b8%27%2F%3E%3Crect%20x%3D%2778%27%20y%3D%2740%27%20width%3D%27100%27%20height%3D%278%27%20rx%3D%274%27%20fill%3D%27%23e8efeb%27%2F%3E%3Crect%20x%3D%2736%27%20y%3D%2764%27%20width%3D%2774%27%20height%3D%277%27%20rx%3D%273%27%20fill%3D%27%230e5747%27%2F%3E%3Crect%20x%3D%2736%27%20y%3D%2776%27%20width%3D%2750%27%20height%3D%275%27%20rx%3D%272%27%20fill%3D%27%23c9d6cf%27%2F%3E%3Crect%20x%3D%27120%27%20y%3D%2764%27%20width%3D%2758%27%20height%3D%2724%27%20rx%3D%275%27%20fill%3D%27%23fff1e6%27%2F%3E%3Cg%20transform%3D%27rotate%28-3%20285%2064%29%27%3E%3Crect%20x%3D%27212%27%20y%3D%2714%27%20width%3D%27150%27%20height%3D%27100%27%20rx%3D%2712%27%20fill%3D%27%23fff%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%273%27%2F%3E%3Ccircle%20cx%3D%27240%27%20cy%3D%2742%27%20r%3D%2712%27%20fill%3D%27%23dcdeff%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%272%27%2F%3E%3Crect%20x%3D%27260%27%20y%3D%2734%27%20width%3D%2770%27%20height%3D%277%27%20rx%3D%273%27%20fill%3D%27%231b1f1d%27%2F%3E%3Crect%20x%3D%27260%27%20y%3D%2746%27%20width%3D%2746%27%20height%3D%275%27%20rx%3D%272%27%20fill%3D%27%23c9d6cf%27%2F%3E%3Crect%20x%3D%27226%27%20y%3D%2766%27%20width%3D%2736%27%20height%3D%2712%27%20rx%3D%276%27%20fill%3D%27%237ee0b8%27%2F%3E%3Crect%20x%3D%27268%27%20y%3D%2766%27%20width%3D%2736%27%20height%3D%2712%27%20rx%3D%276%27%20fill%3D%27%23ffe15d%27%2F%3E%3Crect%20x%3D%27310%27%20y%3D%2766%27%20width%3D%2736%27%20height%3D%2712%27%20rx%3D%276%27%20fill%3D%27%23e8efeb%27%2F%3E%3C%2Fg%3E%3Crect%20x%3D%27388%27%20y%3D%274%27%20width%3D%2766%27%20height%3D%27112%27%20rx%3D%2714%27%20fill%3D%27%23fff%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%273%27%2F%3E%3Cpath%20d%3D%27M412%2015h18%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%2F%3E%3Cg%20fill%3D%27%23c9d6cf%27%3E%3Ccircle%20cx%3D%27406%27%20cy%3D%2734%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27421%27%20cy%3D%2734%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27436%27%20cy%3D%2734%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27406%27%20cy%3D%2748%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27421%27%20cy%3D%2748%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27436%27%20cy%3D%2748%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27406%27%20cy%3D%2762%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27421%27%20cy%3D%2762%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%27436%27%20cy%3D%2762%27%20r%3D%274%27%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%27421%27%20cy%3D%2779%27%20r%3D%277%27%20fill%3D%27%237ee0b8%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%272%27%2F%3E%3Crect%20x%3D%27474%27%20y%3D%2740%27%20width%3D%27148%27%20height%3D%2776%27%20rx%3D%2712%27%20fill%3D%27%23fff%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%273%27%2F%3E%3Crect%20x%3D%27486%27%20y%3D%2752%27%20width%3D%2784%27%20height%3D%2716%27%20rx%3D%278%27%20fill%3D%27%23e8efeb%27%2F%3E%3Crect%20x%3D%27528%27%20y%3D%2773%27%20width%3D%2782%27%20height%3D%2716%27%20rx%3D%278%27%20fill%3D%27%230e5747%27%2F%3E%3Ccircle%20cx%3D%27548%27%20cy%3D%2781%27%20r%3D%272.5%27%20fill%3D%27%23ffe15d%27%2F%3E%3Ccircle%20cx%3D%27558%27%20cy%3D%2781%27%20r%3D%272.5%27%20fill%3D%27%23ffe15d%27%2F%3E%3Ccircle%20cx%3D%27568%27%20cy%3D%2781%27%20r%3D%272.5%27%20fill%3D%27%23ffe15d%27%2F%3E%3Crect%20x%3D%270%27%20y%3D%2792%27%20width%3D%27640%27%20height%3D%2718%27%20fill%3D%27%23fff%27%2F%3E%3Cpath%20d%3D%27M0%2092.5h640%27%20stroke%3D%27%231b1f1d%27%20stroke-width%3D%273%27%2F%3E%3C%2Fsvg%3E");}
/* hub doodles a touch bigger than the clouds were; no decorative cables */
:root body .jh .jp-cloud{width:150px!important;}
/* the windows edge, at 40% size */
:root body :is(.hh,.ip-hero,.ia-hero)::after,:root body .hm-hero:not(:has(+ .hm-nums))::after,:root body .hm-nums::after,
:root body :is(.hm-close,.ia-close,.ip-close,.hh-book)::after,:root body :is(.hm-close,.ia-close,.ip-close,.hh-book)::before,
.jl::before,.jl::after{height:44px!important;background-size:256px 44px!important;background-position:0 100%!important;}
:root body :is(.hh,.ip-hero,.ia-hero),:root body .hm-hero:not(:has(+ .hm-nums)){padding-bottom:110px!important;}
:root body .hm-nums{padding-bottom:84px!important;}
/* where the quick-price card overlaps the hero's bottom edge, the card is the edge */
:root body .ip-hero:has(+ .ql-band)::after,:root body .ip-hero:has(.ql-band)::after{display:none!important;}
/* 'book a call instead' in the wide quick-price card: a plain link, not a box */
:root body .ql.ql-wide .ql-book{border:0!important;background:none!important;padding:4px 0!important;width:auto!important;color:#0e5747!important;font-weight:600!important;text-decoration:underline;text-underline-offset:3px;}
:root body .ql.ql-wide .ql-book:hover{color:#1b1f1d!important;}
/* windows only stand up: the top edges of the bands stay straight */
:root body :is(.hm-close,.ia-close,.ip-close,.hh-book)::before,.jl::before{display:none!important;}
:root body :is(.hm-close,.ia-close,.ip-close,.hh-book){padding-bottom:110px!important;}
.jl{padding-bottom:130px!important;}
@media(max-width:600px){
  :root body :is(.hh,.ip-hero,.ia-hero)::after,:root body .hm-hero:not(:has(+ .hm-nums))::after,:root body .hm-nums::after,
  :root body :is(.hm-close,.ia-close,.ip-close,.hh-book)::after,:root body :is(.hm-close,.ia-close,.ip-close,.hh-book)::before,
  .jl::before,.jl::after{height:36px!important;background-size:210px 36px!important;}
  :root body :is(.hh,.ip-hero,.ia-hero),:root body .hm-hero:not(:has(+ .hm-nums)){padding-bottom:84px!important;}
  :root body .hm-nums{padding-bottom:64px!important;}
  :root body :is(.hm-close,.ia-close,.ip-close,.hh-book){padding-bottom:84px!important;}
  .jl{padding-bottom:84px!important;}
}
:root body :is(.hm-hero,.ia-hero)::before{display:none!important;}
:root body :is(.hm-close,.ia-close,.ip-close,.hh-book){background-image:var(--grid)!important;background-repeat:repeat!important;background-size:88px 88px!important;background-position:center top!important;}
/* forms: one solid shadow */
:root :is(.hh-form,.hm-hero-lead .ql,.ip-pair,.ia-sel,.hh-book-list,.ip-close .ql){box-shadow:6px 6px 0 #0b4237!important;}
/* tints: the four service colours only */
body.jt-lav,body.jt-pink,body.jt-mint{--tint:#fff1e6;}
body.jt-peach{--tint:#fde8f1;}
:root .ip-pair-top,:root body.jt-peach .ip-pair-top{background:#fff!important;}


.wr-cover{display:block;width:100%;height:auto;}
.jbl-art:has(.wr-cover){display:block!important;height:auto!important;min-height:0!important;aspect-ratio:16/9;padding:0!important;}
.jbl-feat .jbl-art:has(.wr-cover){aspect-ratio:auto;display:flex!important;align-items:center;}
/* the article's cover sits beside the title on wide screens, under it on phones */
.jbp-cover{margin:28px 0 0;}
.jbp-cover .wr-cover{border-radius:20px;border:1px solid var(--line2,#d5dfda);box-shadow:6px 6px 0 #0b4237;}
@media(min-width:1000px){
  .jbp-head .jbp-in:has(> .jbp-cover){display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,440px);column-gap:56px;max-width:1180px;}
  .jbp-head .jbp-in:has(> .jbp-cover) > *{grid-column:1;}
  .jbp-head .jbp-in:has(> .jbp-cover) > :is(.jbp-top){justify-self:start;}
  .jbp-head .jbp-in > .jbp-cover{grid-column:2;grid-row:1 / span 12;align-self:center;margin:0;}
}


/* ═══ Jade palette ═══════════════════════════════════════════════
   White pages, jade bands, a yellow call to action and outlined cards.
   The jade is deepened from the reference (#20a986) to #188165 so white
   text on it passes 4.5:1; the original only reaches 2.97:1.
   The older token names (--bg0, --t1, --blue…) are kept and pointed at Jade
   colours so templates that still read them follow the new brand. */
:root{
  --jade:#188165;--jade-hi:#1d9676;--jade-d:#0e5747;--jade-dd:#0b4237;
  --mint:#eefbf6;--mint2:#d7f4e8;--yellow:#ffe15d;--yellow-hi:#ffd630;--lav:#a0a5ff;
  --ink:#1b1f1d;--ink2:#3d4541;--ink3:#5c6661;--line:#dfe6e2;--line2:#c3cec8;--outline:#1b1f1d;
  --page:#ffffff;--card:#ffffff;

  --bg0:#ffffff;--bg1:#f6faf8;--bg2:#ffffff;--bg3:#eefbf6;
  --b1:rgba(27,31,29,.12);--b2:rgba(27,31,29,.2);--b3:rgba(27,31,29,.32);
  --t1:#1b1f1d;--t2:#3d4541;--t3:#5c6661;
  --blue:#0e5747;--bd:rgba(255,225,93,.4);--bb:rgba(14,87,71,.35);
  --green:#188165;--gd:rgba(24,129,101,.1);--gb:rgba(24,129,101,.3);
  --amber:#a15c00;--ad:rgba(161,92,0,.08);--ab:rgba(161,92,0,.28);
  --red:#b42318;--rd:rgba(180,35,24,.07);--rb:rgba(180,35,24,.25);
  --violet:#5b3fd1;--vd:rgba(91,63,209,.08);--cyan:#0f766e;
  --r:12px;--rl:20px;--max:1180px;
  --ann-h:38px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:#fff;color:var(--ink);font-family:var(--f-body),sans-serif;font-size:16px;line-height:1.75;letter-spacing:.15px;overflow-x:hidden;-webkit-font-smoothing:antialiased;padding-top:var(--ann-h);}
::selection{background:var(--yellow);color:var(--jade-d);}

/* ═══ Announcement bar ═════════════════════════════════════════ */
.ann{position:fixed;top:0;left:0;right:0;z-index:501;height:var(--ann-h);display:flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;
     background:var(--jade-dd);color:#fff;font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;transition:transform .25s ease;}
.ann .pill{flex:none;padding:2px 10px;border-radius:999px;background:var(--mint2);color:var(--jade-d);border:1px solid var(--yellow);font-weight:600;font-size:12.5px;}
.ann span.t{overflow:hidden;text-overflow:ellipsis;}
.ann a{flex:none;color:var(--yellow);font-weight:600;text-decoration:none;}
.ann a:hover{text-decoration:underline;}
nav.stuck + .ann{transform:translateY(-100%);}
.ann .pill{position:relative;}
.pill-spark{position:absolute;right:-7px;top:-6px;width:13px;height:13px;fill:#fff;stroke:var(--jade-dd);stroke-width:1.5;stroke-linejoin:round;}
@media(prefers-reduced-motion:no-preference){.pill-spark{animation:pillSpark 2.4s ease-in-out infinite;transform-origin:center;}}
@keyframes pillSpark{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(.7) rotate(25deg)}}
@media(max-width:600px){.ann{font-size:12.5px;justify-content:flex-start;} .ann a{display:none;}}

/* ═══ Header ═══════════════════════════════════════════════════ */
nav{position:fixed;top:var(--ann-h);left:0;right:0;z-index:500;height:64px;display:flex;align-items:center;padding:0 5%;
    background:#fff;border-bottom:1px solid var(--line);transition:top .25s ease,box-shadow .25s ease;}
nav.stuck,#site-nav.stuck{top:0;background:#fff;box-shadow:0 6px 24px rgba(14,40,32,.07);}
.nav-in{width:100%;max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:14px;}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;}
.logo-mark{width:34px;height:34px;background:var(--jade-d);border-radius:9px;display:grid;place-items:center;flex:none;}
.logo-mark svg{width:64%;height:64%;display:block;}
.logo-name{font-family:var(--f-head);font-size:21px;font-weight:600;color:var(--jade-d);letter-spacing:-.01em;white-space:nowrap;}
.nav-links{display:flex;gap:2px;align-items:center;margin-left:22px;}
.nl{font-size:15px;font-weight:500;color:var(--ink2);text-decoration:none;padding:8px 12px;border-radius:8px;transition:color .15s ease,background .15s ease;}
.nl:hover{color:var(--jade-d);background:var(--mint);}
.nav-r{margin-left:auto;display:flex;align-items:center;gap:6px;}
.nav-wa{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:500;color:var(--ink2);text-decoration:none;padding:8px 12px;border-radius:8px;}
.nav-wa:hover{background:var(--mint);color:var(--jade-d);}
.nav-wa svg{width:18px;height:18px;fill:#1fa855;flex-shrink:0;}
.nav-mail{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;color:var(--ink2);text-decoration:none;}
.nav-mail:hover{background:var(--mint);color:var(--jade-d);}
.nav-mail svg{width:18px;height:18px;fill:currentColor;}
.nav-cta{display:flex;align-items:center;gap:8px;height:42px;padding:0 16px;background:var(--yellow);color:var(--jade-d);font:600 15px var(--f-body);
         border:1px solid var(--jade-d);cursor:pointer;text-decoration:none;border-radius:8px;white-space:nowrap;flex-shrink:0;transition:background .15s ease,transform .15s ease;}
.nav-cta:hover{background:var(--yellow-hi);transform:translateY(-1px);}
.nav-cta svg{width:17px;height:17px;flex:none;}
@media(max-width:1060px){.nav-mail{display:none;}}
@media(max-width:960px){.nav-links,.nav-wa{display:none;}}
@media(max-width:600px){.nav-cta{display:none;}}
/* phone menu */
.nav-burger{display:none;}
@media(max-width:960px){
  .nav-burger{display:grid;place-items:center;width:44px;height:44px;margin-left:4px;border:1px solid var(--line2);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;}
  .nav-burger svg{width:20px;height:20px;}
  .nav-burger .x{display:none;} #site-nav.open .nav-burger .x{display:block;} #site-nav.open .nav-burger .b{display:none;}
  #site-nav.open .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;left:0;right:0;top:100%;margin:0;
       padding:8px 5% 18px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 30px -18px rgba(14,40,32,.25);}
  #site-nav.open .nl{font-size:17px;padding:15px 4px;border-radius:0;border-bottom:1px solid var(--line);}
  #site-nav.open .nl:last-child{border-bottom:0;}
}

/* ═══ Phone action bar ═════════════════════════════════════════ */
.m-bar{display:none;}
@media(max-width:960px){
  .m-bar{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;position:fixed;bottom:0;left:0;right:0;z-index:8000;
         padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);
         -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);}
  .m-bar a,.m-bar button{display:flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 8px;border-radius:8px;
           font:600 15px var(--f-body);text-decoration:none;cursor:pointer;border:1px solid var(--outline);background:#fff;color:var(--ink);}
  .m-bar .m-book{background:var(--yellow);border-color:var(--jade-d);color:var(--jade-d);}
  .m-bar svg{width:18px;height:18px;flex-shrink:0;}
  .m-bar .m-wa svg{fill:#1fa855;} .m-bar .m-book svg{fill:none;stroke:var(--jade-d);}
  body{padding-bottom:68px;}
}

/* ── KILL GHOST NAV — every possible selector ── */
.wp-block-navigation, .wp-block-navigation-item, .wp-block-navigation__container,
.wp-block-navigation-submenu, .wp-block-site-title:not(.logo),
header:not(#site-nav), .site-header, .header-inner,
.primary-navigation, .main-navigation, .site-navigation,
/* NOTE: the bare `nav{position:fixed}` rule above styles the site header, so
   ANY <nav> tag on the page becomes a fixed bar. This rule then hides them.
   Footer and secondary navigation must use <div role="navigation">. */
nav:not(#site-nav), ul.menu, ul.nav-menu, ul.main-menu,
.menu-main-menu-container, .menu-primary-container, .menu-primary-navigation,
.header-menu, .top-nav, .navbar:not(#site-nav),
[class*="navigation"]:not(#site-nav):not(.nav-in):not(.nav-links):not(.fp2-car-nav):not(.breadcrumbs) {
  display:none!important; visibility:hidden!important; height:0!important; overflow:hidden!important;
  position:absolute!important; pointer-events:none!important;
}
a.fp2-car-site-link { display: none; }
#site-nav { display:flex!important; visibility:visible!important; height:64px!important; position:fixed!important; }


    .il-logo{display:block;object-fit:contain;}
    .il-logo.il-svg{width:56%!important;height:auto!important;max-height:56%!important;}
    .il-logo.il-png{width:60%!important;height:auto!important;max-height:60%!important;border-radius:22%;}
    .il-logo.il-fav{width:auto!important;max-width:var(--il-max)!important;height:auto!important;max-height:none!important;border-radius:8px;}
    .il-mono{font-family:var(--f-head);font-weight:800;font-size:22px;color:#0e5747;}
    

.hm-cs .hm-head-lede{max-width:720px;}
.cs-grid{display:grid;gap:26px;margin-top:34px;}
@media(min-width:980px){.cs-grid{grid-template-columns:.92fr 1.08fr;gap:34px;align-items:stretch;}}

/* ── the story ── */
.cs-story{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:520px;padding:32px 30px 30px;border-radius:22px;overflow:hidden;background:rgba(var(--bgr),.86);border:1px solid rgba(var(--fg),.12);box-shadow:0 40px 90px -60px rgba(14,40,32,0.16);}
.cs-bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;max-width:none;filter:grayscale(.2) contrast(1.05) brightness(.66);}
.cs-story::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(420px 320px at 8% 6%,rgba(45,212,191,.18),transparent 70%),
    linear-gradient(180deg,rgba(11,66,55,0.3) 0%,rgba(11,66,55,0.78) 48%,#ffffff 88%);}
.cs-story-in{position:relative;z-index:2;}
@media(max-width:600px){.cs-story{min-height:440px;padding:26px 20px 24px;}}
.cs-badge{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;font:700 10px var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:#267765;}
.cs-dot{width:6px;height:6px;border-radius:50%;background:#2dd4bf;box-shadow:0 0 0 3px rgba(45,212,191,.2);}
@media(prefers-reduced-motion:no-preference){.cs-dot{animation:csPulse 1.9s ease-in-out infinite;}}
@keyframes csPulse{50%{box-shadow:0 0 0 7px rgba(45,212,191,.05);}}
.cs-quote{position:relative;margin:0 0 22px;padding-left:20px;font-size:17px;line-height:1.8;color:#1b1f1d;text-shadow:0 1px 20px rgba(14,40,32,0.088);}
.cs-quote::before{content:'“';position:absolute;left:-2px;top:-10px;font:800 46px var(--f-head);color:#107968;line-height:1;}
.cs-who{display:flex;align-items:center;gap:13px;padding-top:18px;border-top:1px solid rgba(27,31,29,0.288);}
.cs-av{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:none;border-radius:50%;font:800 17px var(--f-head);color:#0e5747;background:linear-gradient(135deg,#188165,#ffe15d);}
.cs-who-t{flex:1;min-width:0;} .cs-who-t b{display:block;font:600 15.5px var(--f-head);} .cs-who-t em{display:block;font-style:normal;font-size:13px;color:var(--ink3);}
.cs-ver{flex:none;padding:4px 10px;border-radius:100px;font:600 11px var(--f-body);color:#107836;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.34);}
.cs-stack{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 0;padding:0;}
.cs-stack li{padding:5px 11px;border-radius:100px;font-size:12.5px;color:#0e5747;background:rgba(14,87,71,0.08);border:1px solid rgba(27,31,29,0.288);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}

/* ── the demo ── */
.cs-demo{display:grid;gap:12px;align-content:start;padding:22px;border-radius:22px;background:rgba(var(--bgr),.86);border:1px solid rgba(var(--fg),.12);box-shadow:0 40px 90px -60px rgba(14,40,32,0.16);}
@media(min-width:620px){.cs-demo{grid-template-columns:1fr 34px 1fr;align-items:center;}}
.cs-phone,.cs-sheet{border-radius:16px;background:#ffffff;border:1px solid rgba(27,31,29,0.16);overflow:hidden;font-family:var(--f-body);}
.cs-ph-h{display:flex;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid rgba(27,31,29,0.128);}
.cs-ph-av{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:rgba(255,225,93,0.32);color:#0e5747;font:700 12px var(--f-head);}
.cs-ph-h b{display:block;font-size:13.5px;font-weight:600;} .cs-ph-h em{display:block;font-style:normal;font-size:11px;color:var(--ink3);}
.cs-thread{display:grid;gap:8px;padding:13px;min-height:190px;align-content:start;}
.cs-msg{margin:0;max-width:86%;padding:8px 12px;border-radius:14px;font-size:12.5px;line-height:1.55;}
.cs-in{justify-self:start;background:rgba(14,87,71,0.077);color:var(--ink);border-bottom-left-radius:5px;}
.cs-out{justify-self:end;background:rgba(255,225,93,0.352);border:1px solid rgba(14,87,71,0.3);color:#0e5747;border-bottom-right-radius:5px;}
@media(prefers-reduced-motion:no-preference){
  .cs-msg{opacity:0;transform:translateY(6px);animation:csMsg 9s ease-out infinite;animation-delay:calc(var(--i) * 1.15s);}
}
@keyframes csMsg{0%{opacity:0;transform:translateY(6px);} 8%,92%{opacity:1;transform:none;} 100%{opacity:0;}}

.cs-wire{position:relative;height:34px;}
@media(min-width:620px){.cs-wire{height:auto;align-self:stretch;min-height:120px;}}
.cs-wire::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:linear-gradient(180deg,transparent,rgba(24,129,101,0.18),transparent);}
@media(min-width:620px){.cs-wire::before{left:0;right:0;top:50%;bottom:auto;width:auto;height:2px;transform:translateY(-50%);background:linear-gradient(90deg,transparent,rgba(24,129,101,0.18),transparent);}}
.cs-pulse{position:absolute;left:50%;top:0;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:#188165;box-shadow:0 0 12px rgba(94,234,212,.9);}
@media(prefers-reduced-motion:no-preference){.cs-pulse{animation:csRunY 9s ease-in-out infinite;}}
@keyframes csRunY{0%,40%{transform:translateY(0);opacity:0;} 46%{opacity:1;} 62%{transform:translateY(34px);opacity:1;} 68%,100%{transform:translateY(34px);opacity:0;}}
@media(min-width:620px){
  .cs-pulse{left:0;top:50%;margin:-3.5px 0 0;}
  @media(prefers-reduced-motion:no-preference){.cs-pulse{animation:csRunX 9s ease-in-out infinite;}}
}
@keyframes csRunX{0%,40%{transform:translateX(0);opacity:0;} 46%{opacity:1;} 62%{transform:translateX(34px);opacity:1;} 68%,100%{transform:translateX(34px);opacity:0;}}

.cs-sh-h{display:flex;align-items:center;gap:9px;padding:11px 13px;border-bottom:1px solid rgba(27,31,29,0.128);font-size:13.5px;}
.cs-sh-ico{color:#1a7a57;} .cs-sh-h b{flex:1;font-weight:600;}
.cs-sh-live{font-style:normal;font-size:11px;color:#107836;}
.cs-row{display:grid;grid-template-columns:1.25fr .8fr .8fr .9fr;gap:8px;padding:9px 13px;font-size:11.5px;color:var(--ink2);border-bottom:1px solid rgba(27,31,29,0.12);}
.cs-row-h{font:700 9.5px var(--f-label);letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);}
.cs-row b{font-weight:600;} .cs-row .ok{color:#107836;}
.cs-row-new{background:rgba(24,129,101,0.07);}
@media(prefers-reduced-motion:no-preference){
  .cs-row-new{opacity:0;animation:csRow 9s ease-out infinite;animation-delay:5s;}
}
@keyframes csRow{0%{opacity:0;transform:translateY(-6px);} 6%,94%{opacity:1;transform:none;} 100%{opacity:0;}}
.cs-state{position:relative;}
.cs-state .b{color:#107836;}
@media(prefers-reduced-motion:no-preference){
  .cs-state .a{animation:csSwapA 9s linear infinite;}
  .cs-state .b{position:absolute;left:0;top:0;opacity:0;animation:csSwapB 9s linear infinite;}
}
@keyframes csSwapA{0%,68%{opacity:1;} 72%,100%{opacity:0;}}
@keyframes csSwapB{0%,68%{opacity:0;} 72%,100%{opacity:1;}}
.cs-sync{display:flex;align-items:center;gap:8px;margin:0;padding:10px 13px;font-size:11.5px;color:var(--ink3);}



.jbr{padding:72px 5%;background:#fff;border-top:1px solid var(--line);}
.jbr-in{max-width:1180px;margin:0 auto;}
.jbr-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px;}
.jbr-kick{display:inline-block;margin:0 0 12px;padding:5px 13px;border-radius:999px;background:#e3f6ee;border:1px solid #b9e6d4;font:600 11.5px/1.3 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--jade-d);}
:root body .jbr h2{margin:0;color:var(--jade-d)!important;}
.jbr-lede{margin:10px 0 0;font-size:16.5px;line-height:1.6;color:var(--ink2);max-width:56ch;}
.jbr-all{font:700 15px var(--f-body);color:var(--jade-d);text-decoration:none;border-bottom:2px solid currentColor;white-space:nowrap;}
.jbl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;}
.jbl-card{display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:20px;overflow:hidden;background:#fff;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
@media(hover:hover){.jbl-card:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink);border-color:var(--ink);}}
.jbl-art{display:grid;place-items:center;height:170px;background:var(--af);border-bottom:1px solid var(--line2);}
.jbl-art .ja-scene{width:150px;height:auto;}
.jbl-body{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px;}
.jbl-cat{align-self:flex-start;margin-bottom:10px;padding:4px 11px;border-radius:999px;background:var(--af);color:var(--ac);font:700 12px/1.3 var(--f-body);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;}
:root body .jbl-title{margin:0 0 8px;font:600 19px/1.3 var(--f-head);color:var(--ink)!important;}
.jbl-title a{color:inherit;text-decoration:none;} .jbl-title a:hover{color:var(--jade-d);}
.jbl-ex{margin:0 0 12px;font-size:15px;line-height:1.6;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.jbl-meta{margin:auto 0 0;font-size:13px;color:var(--ink3);}
@media(max-width:600px){.jbr{padding:52px 16px;}}


.hm{--fg:14,87,71;--bgr:11,66,55;--shd:14,40,32;--bg:#ffffff;--panel:#ffffff;--brief-a:#eefbf6;--brief-b:#ffffff;--brief-c:#ffffff;
  --link:#0e5747;--ok-t:#107836;--bad-t:#da0707;--warn-t:#876802;--chip-t:#0e5747;--eyebrow:#0e5747;--chip-em:#0e5747;--mover:#0e5747;
  --num-a:#1b1f1d;--num-b:#0e5747;--h1-a:#0e5747;--h1-b:#267765;--photo-filter:var(--photo-filter);
  --ink:#1b1f1d;--ink2:#3d4541;--ink3:#5c6661;--line:rgba(var(--fg),.09);--card:rgba(var(--fg),.035);--acc:#0e5747;--ok:#177654;color:var(--ink);background:var(--bg);overflow-x:hidden;}
.hm-in{max-width:1180px;margin:0 auto;padding:0 24px;}
@media(max-width:600px){.hm-in{padding:0 16px;}}
.hm-narrow{max-width:820px;}
.hm h1,.hm h2,.hm h3{font-family:var(--f-head);color:var(--ink);letter-spacing:-.3px;}
.hm h2{font-size:clamp(26px,3.2vw,36px);line-height:1.15;margin:0 0 14px;font-weight:700;text-wrap:balance;}
.hm p{line-height:1.7;}
.hm svg{display:block;}
.hm .lt{width:var(--lt);height:var(--lt);flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:calc(var(--lt) * .28);background:#ffffff;overflow:hidden;}
.hm .lt img{width:68%!important;height:68%!important;object-fit:contain;border-radius:0!important;max-width:none!important;}
.hm-btn{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 24px;border-radius:11px;border:1px solid transparent;background:var(--acc);color:#fff;font:600 15px var(--f-body);text-decoration:none;cursor:pointer;transition:background .15s ease,transform .15s ease;}
.hm-btn:hover{background:#ffe15d;transform:translateY(-1px);color:#0e5747}
.hm-ghost{background:rgba(var(--fg),.04);border-color:rgba(var(--fg),.22);color:var(--ink);}
.hm-ghost:hover{background:rgba(var(--fg),.09);}
.hm-tick{width:18px;height:18px;flex:none;border-radius:50%;background:#16a34a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4L19 7'/%3E%3C/svg%3E") center/11px no-repeat;}

/* ── hero ── */
.hm-hero{position:relative;isolation:isolate;overflow:hidden;padding:88px 0 0;border-bottom:1px solid var(--line);}
.hm-hero::after{content:'';position:absolute;z-index:-1;inset:auto 0 0;height:180px;background:linear-gradient(180deg,transparent,var(--bg));pointer-events:none;}
.hm-hero-bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:60% 35%;filter:grayscale(.15) saturate(.9) brightness(.62);}
.hm-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(95deg,rgba(var(--bgr),.97) 0%,rgba(var(--bgr),.9) 42%,rgba(var(--bgr),.66) 70%,rgba(var(--bgr),.55) 100%),linear-gradient(180deg,transparent 45%,var(--bg) 92%);}
@media(max-width:959px){.hm-hero::before{background:linear-gradient(180deg,rgba(var(--bgr),.86),rgba(var(--bgr),.95) 60%,var(--bg));}}
.hm-hero-grid{display:grid;gap:40px;align-items:center;}
@media(min-width:960px){.hm-hero-grid{grid-template-columns:1.02fr .98fr;gap:48px;}}
.hm-kicker{display:flex;align-items:center;gap:12px;margin:0 0 22px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--link);}
.hm-kicker i{width:4px;height:4px;border-radius:50%;background:rgba(14,87,71,0.14);}
.hm-hero h1{font-size:clamp(40px,5.6vw,72px);line-height:1;margin:0 0 22px;font-weight:800;letter-spacing:-2.4px;}
.hm-hero h1 span{background:linear-gradient(90deg,var(--h1-a),var(--h1-b) 70%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hm-lede{font-size:18px;color:var(--ink2);margin:0 0 26px;max-width:58ch;}
.hm-btns{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px;}
.hm-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;}
.hm-facts li{position:relative;padding-left:18px;font-size:14.5px;color:var(--ink2);}
.hm-facts li::before{content:'';position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--ok);}
.hm-facts b{color:var(--ink);}

/* hero stage */
.hm-stage{position:relative;height:470px;font-family:var(--f-body);}
.hm-wire{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;}
.hm-wire path{fill:none;stroke:rgba(94,234,212,.35);stroke-width:2;stroke-dasharray:5 7;vector-effect:non-scaling-stroke;}
.hm-win,.hm-card,.hm-mock{background:var(--panel);border:1px solid rgba(var(--fg),.12);border-radius:14px;box-shadow:0 30px 70px -22px rgba(var(--shd),.8);}
.hm-bar{display:flex;align-items:center;gap:5px;padding:9px 12px;border-bottom:1px solid var(--line);background:rgba(var(--fg),.03);border-radius:14px 14px 0 0;}
.hm-bar i{width:8px;height:8px;border-radius:50%;background:#ff5f57;} .hm-bar i+i{background:#febc2e;} .hm-bar i+i+i{background:#28c840;}
.hm-bar span{margin-left:10px;flex:1;padding:3px 10px;border-radius:6px;background:rgba(var(--fg),.05);font-size:11px;color:var(--ink3);}
.hm-site{position:absolute;left:0;top:0;width:58%;}
.hm-site-body{padding:14px 16px 16px;}
.hm-site-nav{display:flex;gap:8px;align-items:center;margin-bottom:14px;}
.hm-site-nav b{width:44px;height:9px;border-radius:4px;background:rgba(var(--fg),.3);margin-right:auto;}
.hm-site-nav span{width:26px;height:6px;border-radius:3px;background:rgba(var(--fg),.12);}
.hm-site-h{margin:0 0 10px;font:700 15px/1.3 var(--f-head);}
.hm-field{display:flex;flex-direction:column;gap:3px;margin-bottom:8px;padding:6px 9px;border-radius:7px;border:1px solid rgba(var(--fg),.12);background:rgba(var(--fg),.03);}
.hm-field em{font-style:normal;font-size:10px;color:var(--ink3);}
.hm-type{display:block;overflow:hidden;white-space:nowrap;font-size:12.5px;color:var(--ink);width:max-content;max-width:100%;}
.hm-send{position:relative;height:32px;border-radius:8px;background:var(--acc);color:#fff;font-size:12.5px;font-weight:600;overflow:hidden;}
.hm-send span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;transition:transform .35s ease,opacity .35s ease;}
.hm-send svg{width:14px;height:14px;}
.hm-card{position:absolute;padding:14px;transition:opacity .45s ease,transform .45s ease,border-color .45s ease;}
.hm-card-h{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.hm-card-h b{font-size:13px;}
.hm-ico{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:rgba(255,225,93,0.288);color:#0e5747;}
.hm-ico svg{width:15px;height:15px;}
.hm-new{margin-left:auto;font-style:normal;font-size:11px;padding:2px 8px;border-radius:100px;color:var(--ok-t);background:rgba(34,197,94,.14);}
.hm-crm{right:0;top:132px;width:56%;}
.hm-person{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.hm-person b,.hm-call b{display:block;font-size:13.5px;}
.hm-person em,.hm-call em{display:block;font-style:normal;font-size:11.5px;color:var(--ink3);}
.hm-av{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border-radius:50%;font-size:11px;font-weight:700;color:#0e5747;background:linear-gradient(135deg,#eefbf6,#188165);}
.hm-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:10px;}
.hm-stages span{padding:5px 0;text-align:center;font-size:11px;border-radius:6px;color:var(--ink3);background:rgba(var(--fg),.04);transition:background .4s ease,color .4s ease;}
.hm-activity{display:flex;align-items:center;gap:6px;margin:0;font-size:11.5px;color:var(--ok-t);transition:opacity .4s ease;}
.hm-activity svg{width:13px;height:13px;}
.hm-dial{left:6%;bottom:0;width:54%;}
.hm-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-style:normal;font-size:11px;color:var(--ok-t);}
.hm-live i{width:7px;height:7px;border-radius:50%;background:var(--ok);}
.hm-call{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.hm-timer{font:700 20px var(--f-head);font-variant-numeric:tabular-nums;letter-spacing:-.5px;}
.hm-outs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;}
.hm-outs span{padding:6px 0;text-align:center;font-size:11px;border-radius:7px;border:1px solid rgba(var(--fg),.1);color:var(--ink3);transition:all .35s ease;}

/* resting / step states (a1…a4 added in order; markup rests on all four) */
.hm-stage:not(.a1) .hm-type{width:0;}
.hm-stage.a1 .hm-type.t1{animation:hmType .9s steps(9,end) both;}
.hm-stage.a1 .hm-type.t2{animation:hmType 1s steps(14,end) .9s both;}
.hm-stage.js.a1:not(.a2) .hm-type{animation-play-state:running;}
.hm-stage:not(.js) .hm-type{animation:none!important;}
@keyframes hmType{from{width:0}to{width:100%}}
.hm-send-b{transform:translateY(100%);opacity:0;background:#16a34a;}
.hm-stage.a2 .hm-send-a{transform:translateY(-100%);opacity:0;}
.hm-stage.a2 .hm-send-b{transform:none;opacity:1;}
.hm-stage:not(.a2) .hm-crm,.hm-stage:not(.a3) .hm-dial{opacity:.35;transform:translateY(10px) scale(.98);}
.hm-stage.a2:not(.a3) .hm-crm,.hm-stage.a3:not(.a4) .hm-dial{border-color:rgba(16,121,104,0.5);}
.hm-stage.a2 .st1{color:#0e5747;background:rgba(255,225,93,0.56);}
.hm-stage.a3 .st1{color:var(--ink3);background:rgba(var(--fg),.04);}
.hm-stage.a3 .st2{color:#0e5747;background:rgba(255,225,93,0.56);}
.hm-stage.a4 .st2{color:var(--ink3);background:rgba(var(--fg),.04);}
.hm-stage.a4 .st3{color:#1b1f1d;background:rgba(34,197,94,.4);}
.hm-stage:not(.a4) .hm-activity{opacity:0;}
.hm-stage:not(.a4) .hm-new{visibility:hidden;}
.hm-live-b{display:none;}
.hm-stage.a4 .hm-live-a{display:none;} .hm-stage.a4 .hm-live-b{display:inline;color:var(--ink3);}
.hm-stage.a4 .hm-live i{background:var(--ink3);animation:none;}
.hm-stage.a4 .hm-outs .on{color:#1b1f1d;border-color:rgba(34,197,94,.6);background:rgba(34,197,94,.25);}
@media(max-width:959px){
  .hm-stage{height:auto;display:grid;gap:12px;max-width:520px;margin:0 auto;width:100%;}
  .hm-wire{display:none;}
  .hm-site,.hm-crm,.hm-dial{position:relative;inset:auto;width:auto;}
  .hm-crm{margin-left:12%;} .hm-dial{margin-right:12%;}
}
@media(max-width:480px){.hm-crm{margin-left:0;} .hm-dial{margin-right:0;}}

/* service tiles */
.hm-tiles{display:grid;gap:12px;margin:56px 0 0;padding-bottom:40px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.hm-tile{position:relative;display:flex;flex-direction:column;gap:4px;padding:20px;border-radius:16px;text-decoration:none;color:var(--ink);background:rgba(var(--bgr),.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--fg),.11);transition:transform .2s ease,border-color .2s ease;}
.hm-tile:hover{transform:translateY(-4px);border-color:rgba(14,87,71,0.5);}
.hm-tile-ico{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:10px;border-radius:12px;color:#0e5747;background:linear-gradient(135deg,rgba(255,225,93,0.384),rgba(160,165,255,.12));border:1px solid rgba(14,87,71,0.36);}
.hm-tile-ico svg{width:21px;height:21px;}
.hm-tile b{font:600 16.5px var(--f-head);}
.hm-tile em{font-style:normal;font-size:14px;color:var(--ink2);}
.hm-tile-p{margin-top:8px;font-size:13px;font-weight:600;color:var(--link);transition:transform .2s ease;}
.hm-tile:hover .hm-tile-p{transform:translateX(4px);}
@media(max-width:600px){.hm-tiles{grid-template-columns:1fr 1fr;gap:10px;margin-top:40px;} .hm-tile{padding:14px;} .hm-tile em{display:none;} .hm-tile b{font-size:14.5px;line-height:1.3;} .hm-tile-ico{width:36px;height:36px;margin-bottom:8px;} .hm-tile-p{margin-top:auto;padding-top:6px;font-size:12px;}}

/* numbers */
/* The numbers band.
   It was 34px of padding and a gradient with no room to reach navy, so the
   band never appeared; the labels sat at --ink3, which is 3.6:1 against it
   and under the 4.5:1 that 14px text needs. The whole thing read as a strip
   of grey text between two sections. It now gets the same treatment as the
   other bands — navy through the middle, masked dots, an edge top and bottom
   — with brighter labels and a rule between the columns. */
.hm-nums{position:relative;overflow:hidden;isolation:isolate;padding:54px 0 56px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,var(--bg),#eefbf6 45%,#eefbf6 55%,var(--bg));}
.hm-nums::before{content:'';position:absolute;z-index:0;inset:0;display:block;pointer-events:none;
  background-image:radial-gradient(rgba(14,87,71,0.14) 1px,transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(ellipse 85% 62% at 50% 50%,#000,transparent 75%);
  mask-image:radial-gradient(ellipse 85% 62% at 50% 50%,#000,transparent 75%);}
.hm-nums .hm-in{position:relative;z-index:1;}
.hm-nums dl{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 22px;margin:0;}
@media(min-width:800px){.hm-nums dl{grid-template-columns:repeat(4,1fr);gap:22px;}}
.hm-nums div{display:flex;flex-direction:column;}
/* the rule only makes sense once the four sit in one row */
@media(min-width:800px){.hm-nums div+div{padding-left:24px;border-left:1px solid rgba(var(--fg),.10);}}
.hm-nums dd{margin:0;font:700 clamp(34px,4vw,46px)/1 var(--f-head);letter-spacing:-1px;color:#fff;}
.hm-nums dt{margin-top:9px;font-size:14px;line-height:1.45;color:var(--ink2);}

/* feature rows */
.hm-sec{position:relative;overflow:hidden;padding:88px 0;border-bottom:0;}
.hm-sec > .hm-in{position:relative;z-index:2;}

/* ── SECTION BAND ────────────────────────────────────────────────
   The band lifts to navy through the middle and falls back to the page
   colour at both ends, so two sections never meet at a visible seam and
   nothing needs a divider line. Dots sit in the centre only, masked to
   an ellipse. Picked from twenty candidates reviewed in September 2026. */
.hm-alt{background:linear-gradient(180deg,var(--bg),#eefbf6 42%,#eefbf6 58%,var(--bg));}
.hm-alt::before{content:'';position:absolute;z-index:0;inset:0;display:block;pointer-events:none;
  background-image:radial-gradient(rgba(14,87,71,0.126) 1px,transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 50%,#000,transparent 75%);
  mask-image:radial-gradient(ellipse 80% 60% at 50% 50%,#000,transparent 75%);}
/* a shallower lift when two land in a row, so the rhythm still reads */
.hm-alt + .hm-alt{background:linear-gradient(180deg,var(--bg),#eefbf6 42%,#eefbf6 58%,var(--bg));}
.hm-row{display:grid;gap:44px;align-items:center;}
@media(min-width:960px){.hm-row{grid-template-columns:1fr 1fr;gap:72px;} .hm-flip .hm-shot{order:2;}}
.hm-eyebrow{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--eyebrow);}
.hm-copy > p:not(.hm-eyebrow){margin:0 0 18px;font-size:16.5px;color:var(--ink2);}
.hm-list{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px;}
.hm-list li{position:relative;padding-left:30px;font-size:15.5px;color:var(--ink);}
.hm-list li::before{content:'';position:absolute;left:0;top:3px;width:19px;height:19px;border-radius:50%;background:#16a34a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4L19 7'/%3E%3C/svg%3E") center/11px no-repeat;}
.hm-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;padding-top:18px;border-top:1px solid var(--line);}
.hm-price{font-size:15px;color:var(--ink2);} .hm-price b{color:var(--ink);font-family:var(--f-head);}
.hm-more-2{color:var(--ink2)!important;font-weight:500!important;}
.hm-more{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--link);text-decoration:none;}
.hm-more svg{width:17px;height:17px;transition:transform .2s ease;}
.hm-more:hover svg{transform:translateX(4px);}
.hm-plats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;}
.hm-plat{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:10px;font-size:13.5px;color:var(--ink2);text-decoration:none;background:var(--card);border:1px solid var(--line);transition:border-color .15s ease,color .15s ease;}
.hm-plat:hover{border-color:rgba(14,87,71,0.5);color:var(--ink);}
.hm-plat-more{padding:5px 12px;color:var(--link);}

/* photo + mockup composites */
.hm-shot{position:relative;margin:0;min-height:440px;isolation:isolate;}
.hm-photo{position:absolute;top:0;bottom:60px;left:0;right:22%;border-radius:22px;overflow:hidden;box-shadow:0 34px 80px -26px rgba(var(--shd),.8),0 0 0 1px rgba(var(--fg),.08);}
.hm-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.hm-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(200deg,rgba(255,225,93,0.224),transparent 45%,rgba(var(--bgr),.45));color:#0e5747}
.hm-mock{position:absolute;right:0;bottom:0;width:62%;z-index:2;}
.hm-flip .hm-photo{left:22%;right:0;} .hm-flip .hm-mock{right:auto;left:0;}
.hm-mock-h{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);}
.hm-mock-h b{font-size:13.5px;} .hm-mock-h em{font-style:normal;font-size:11.5px;color:var(--ink3);}
.hm-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;padding:9px 14px 9px 9px;border-radius:13px;white-space:nowrap;background:rgba(var(--bgr),.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(var(--fg),.14);box-shadow:0 16px 38px rgba(var(--shd),.5);}
.hm-chip b{display:block;font-size:13px;font-weight:600;} .hm-chip em{display:block;font-style:normal;font-size:12px;color:var(--chip-em);}
.hm-chip .hm-tick{width:28px;height:28px;border-radius:9px;background-size:14px;}
.hm-chip-a{left:-10px;top:26px;} .hm-chip-b{right:-10px;top:26px;}


@media(max-width:959px){.hm-shot{min-height:0;display:grid;gap:0;} .hm-photo,.hm-flip .hm-photo{position:relative;inset:auto;height:280px;} .hm-mock,.hm-flip .hm-mock{position:relative;inset:auto;width:auto;margin:-60px 16px 0;} .hm-chip-a{left:10px;top:12px;} .hm-chip-b{right:10px;left:auto;top:12px;}}

/* website mockup */
.hm-web{padding:14px;}
.hm-web-hero{position:relative;padding:14px;border-radius:10px;background:linear-gradient(135deg,rgba(255,225,93,0.448),rgba(160,165,255,.1));margin-bottom:10px;color:#0e5747}
.hm-web-hero b{display:block;width:62%;height:11px;border-radius:5px;background:rgba(var(--fg),.75);margin-bottom:8px;}
.hm-web-hero span{display:block;width:80%;height:6px;border-radius:3px;background:rgba(var(--fg),.28);margin-bottom:5px;} .hm-web-hero span.s{width:55%;}
.hm-web-hero i{display:inline-block;margin-top:6px;padding:5px 10px;border-radius:6px;font-style:normal;font-size:11px;font-weight:600;color:#fff;background:var(--acc);}
.hm-web-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px;}
.hm-web-cols span{height:34px;border-radius:7px;background:rgba(var(--fg),.05);border:1px solid var(--line);}
.hm-web-foot{display:flex;align-items:center;gap:12px;}
.hm-ring{position:relative;width:46px;height:46px;flex:none;}
.hm-ring svg{width:46px;height:46px;transform:rotate(-90deg);}
.hm-ring circle{fill:none;stroke:rgba(var(--fg),.1);stroke-width:3.2;}
.hm-ring circle.v{stroke:var(--ok);stroke-linecap:round;stroke-dasharray:97.4;stroke-dashoffset:calc(97.4 - 97.4 * var(--v) / 100);transition:stroke-dashoffset 1.4s ease;}
.hm-ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 13px var(--f-head);}
.hm-web-t b{display:block;font-size:13px;} .hm-web-t em{display:block;font-style:normal;font-size:11.5px;color:var(--ink3);}
.hm-pre .hm-ring circle.v{stroke-dashoffset:97.4;}

/* CRM kanban mockup */
.hm-kan{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;--gap:8px;}
.hm-col{display:flex;flex-direction:column;gap:6px;min-width:0;}
.hm-col em{font-style:normal;font-size:11px;color:var(--ink3);margin-bottom:2px;}
.hm-deal{display:flex;flex-direction:column;gap:1px;padding:7px 8px;border-radius:8px;background:rgba(var(--fg),.05);border:1px solid var(--line);min-height:38px;box-sizing:border-box;}
.hm-deal b{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} .hm-deal i{font-style:normal;font-size:11px;color:var(--ok-t);}
.hm-deal.ghost{border-style:dashed;background:transparent;}
.hm-mover{position:absolute;left:12px;bottom:12px;width:calc((100% - 24px - 16px) / 3);border-color:rgba(16,121,104,0.55);background:var(--mover);box-shadow:0 10px 24px rgba(var(--shd),.45);transform:translateX(calc(200% + 16px));}

/* dialer mockup */
.hm-queue{list-style:none;margin:0;padding:8px;display:grid;gap:6px;}
.hm-queue li{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;border:1px solid transparent;}
.hm-queue li.now{background:rgba(255,225,93,0.16);border-color:rgba(14,87,71,0.35);color:#0e5747}
.hm-queue li > span:nth-child(2){flex:1;min-width:0;}
.hm-queue b{display:block;font-size:12.5px;} .hm-queue em{display:block;font-style:normal;font-size:11px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hm-queue i{font-style:normal;font-size:11px;padding:3px 8px;border-radius:100px;color:var(--ink3);background:rgba(var(--fg),.05);}
.hm-queue i.q-now{color:var(--ok-t);background:rgba(34,197,94,.14);} .hm-queue i.q-done{color:var(--warn-t);background:rgba(245,158,11,.12);}
.hm-queue .hm-av{width:28px;height:28px;font-size:10px;}
.hm-dial-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);}
.hm-dial-stats span{padding:10px 12px;} .hm-dial-stats span+span{border-left:1px solid var(--line);}
.hm-dial-stats b{display:block;font:700 16px var(--f-head);} .hm-dial-stats em{display:block;font-style:normal;font-size:11px;color:var(--ink3);}

/* integration flow card */
.hm-shot-flow{min-height:0;}
.hm-flow{padding:22px;border-radius:18px;background:var(--panel);border:1px solid var(--line);box-shadow:0 30px 70px -24px rgba(var(--shd),.75);}
.hm-flow-top{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.hm-node{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:92px;text-align:center;}
.hm-node b{font-size:13.5px;font-weight:600;transition:opacity .3s ease;}
.hm-node-logo{display:flex;transition:opacity .3s ease,transform .3s ease;}
.hm-flow.swap .hm-node-logo,.hm-flow.swap .hm-node b{opacity:0;transform:scale(.85);}
.hm-link{position:relative;display:block;flex:1;height:3px;border-radius:2px;background:rgba(var(--fg),.14);overflow:hidden;}
.hm-link i{position:absolute;top:0;left:-45%;width:45%;height:100%;background:linear-gradient(90deg,transparent,#188165,transparent);}
.hm-flow-list{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px;}
.hm-flow-list li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:10px;background:var(--card);border:1px solid var(--line);}
.hm-flow-list .hm-tick{margin-top:2px;}
.hm-flow-list b{display:block;font-size:14.5px;font-weight:600;} .hm-flow-list em{display:block;font-style:normal;font-size:13px;color:var(--ink3);margin-top:2px;}
.hm-flow.js .hm-flow-list li{opacity:0;transform:translateY(8px);}
.hm-flow.js.go .hm-flow-list li{opacity:1;transform:none;transition:opacity .45s ease,transform .45s ease;transition-delay:calc(.3s + var(--i) * .4s);}
.hm-flow-go{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--link);text-decoration:none;}
.hm-flow-go svg{width:16px;height:16px;}

/* logos */
.hm-logos{padding:36px 0;border-bottom:1px solid var(--line);overflow:hidden;}
.hm-logos-h{margin:0 0 16px;text-align:center;font-size:14px;color:var(--ink3);}
.hm-marq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.hm-marq + .hm-marq{margin-top:12px;}
.hm-marq-track{display:flex;gap:12px;width:max-content;}
.hm-logo{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:12px;background:var(--card);border:1px solid var(--line);white-space:nowrap;font-size:14px;color:var(--ink2);text-decoration:none;}
.hm-logo:hover{border-color:rgba(14,87,71,0.5);color:var(--ink);}

/* problems + steps */
.hm-head{max-width:720px;margin-bottom:28px;}
.hm-head-2{margin-top:80px;}
.hm-probs{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}
@media(max-width:360px){.hm-probs{grid-template-columns:1fr;}}
.hm-prob{display:flex;flex-direction:column;padding:22px;border-radius:16px;background:var(--card);border:1px solid var(--line);transition:border-color .2s ease,transform .2s ease;}
.hm-prob:hover{border-color:rgba(14,87,71,0.4);transform:translateY(-3px);}
.hm-prob-ico{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;color:var(--bad-t);background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);margin-bottom:14px;}
.hm-prob-ico svg{width:19px;height:19px;}
.hm-prob-q{margin:0 0 14px;font:600 16px/1.45 var(--f-head);flex:1;}
.hm-prob-a{display:flex;gap:10px;margin:0;padding-top:14px;border-top:1px solid var(--line);font-size:14.5px;line-height:1.55;color:var(--ink2);}
.hm-prob-a .hm-tick{margin-top:2px;}
.hm-steps{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:12px;}
@media(min-width:900px){.hm-steps{grid-template-columns:repeat(4,1fr);padding-top:18px;} .hm-steps::before{content:'';position:absolute;left:6px;right:6px;top:0;height:2px;border-radius:2px;background:linear-gradient(90deg,#ffe15d,#a0a5ff);transform-origin:left;transition:transform 1.4s ease .2s;color:#0e5747} .hm-pre .hm-steps::before{transform:scaleX(0);}}
.hm-steps li{padding:20px;border-radius:14px;background:var(--card);border:1px solid var(--line);}
.hm-step-n{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-bottom:12px;border-radius:50%;font:700 14px var(--f-head);color:#0e5747;background:rgba(255,225,93,0.24);border:1px solid rgba(14,87,71,0.42);}
.hm-steps h3{font-size:16.5px;margin:0 0 6px;} .hm-steps p{margin:0;font-size:14.5px;color:var(--ink2);}

/* faq */
.hm-faq details{border-bottom:1px solid var(--line);padding:18px 0;}
.hm-faq summary{cursor:pointer;font:600 16.5px var(--f-head);color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:16px;}
.hm-faq summary::-webkit-details-marker{display:none;}
.hm-faq summary::after{content:'+';color:var(--ink3);font-weight:400;}
.hm-faq details[open] summary::after{content:'\2013';}
.hm-faq details p{margin:10px 0 0;color:var(--ink2);font-size:15.5px;}

/* close: project brief */
/* the closing band uses the same treatment, lifted a little further and
   held slightly longer, because it is the last thing before the footer */
.hm-close{position:relative;overflow:hidden;padding:98px 0 108px;isolation:isolate;
  background:linear-gradient(180deg,var(--bg),#eefbf6 38%,#eefbf6 62%,var(--bg));}
.hm-close::before{content:'';position:absolute;z-index:0;inset:0;display:block;pointer-events:none;
  background-image:radial-gradient(rgba(14,87,71,0.14) 1px,transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(ellipse 82% 62% at 50% 50%,#000,transparent 75%);
  mask-image:radial-gradient(ellipse 82% 62% at 50% 50%,#000,transparent 75%);}
.hm-close > .hm-in{position:relative;z-index:2;}
@media(max-width:600px){.hm-close{padding:64px 0;}}
.hm-brief{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:0;padding:0;border-radius:28px;background:linear-gradient(145deg,var(--brief-a) 0%,var(--brief-b) 55%,var(--brief-c) 100%);border:1px solid rgba(var(--fg),.1);box-shadow:0 50px 120px -40px rgba(var(--shd),.9);}
.hm-brief::before{content:'';position:absolute;z-index:-1;width:620px;height:620px;left:-200px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(255,225,93,0.448),transparent 65%);color:#0e5747}
.hm-brief::after{content:'';position:absolute;z-index:-1;width:520px;height:520px;right:-180px;bottom:-260px;border-radius:50%;background:radial-gradient(circle,rgba(160,165,255,.14),transparent 65%);}

/* a picture in the left column of the brief, no caption over it */
/* left panel: the photograph, full bleed, with the copy over its foot */
.hm-brief-side{position:relative;display:flex;align-items:flex-end;min-height:330px;padding:34px 30px 30px;}
.hm-brief-side.has-photo{min-height:520px;}
.hm-brief-bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;max-width:none;filter:grayscale(.28) contrast(1.04) brightness(.72);}
.hm-brief-side.has-photo::after{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(11,66,55,0.16) 0%,rgba(11,66,55,0.62) 46%,rgba(11,66,55,0.94) 86%);}
.hm-brief-copy{position:relative;z-index:2;width:100%;}
@media(max-width:600px){.hm-brief-photo img{height:176px;}}
@media(min-width:960px){.hm-brief{grid-template-columns:.92fr 1.08fr;}}
@media(max-width:600px){.hm-brief{padding:24px 16px;border-radius:20px;gap:28px;}}
.hm-brief h2{font-size:clamp(32px,4.2vw,50px);line-height:1.04;letter-spacing:-1.4px;margin-bottom:14px;}
.hm-brief .hm-lede{font-size:17px;margin-bottom:28px;}
/* the three steps, on one line each, as a rail rather than a list */
.hm-next{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:11px;}
.hm-next li{display:flex;align-items:center;gap:12px;font-size:14.5px;}
.hm-next li > span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;border-radius:50%;font:700 11.5px var(--f-head);color:#0e5747;border:1px solid rgba(14,87,71,0.5);background:rgba(255,225,93,0.288);}
.hm-next b{font-weight:600;color:#1b1f1d;}
.hm-next em{font-style:normal;color:#3d4541;font-size:13px;margin-left:auto;text-align:right;}
.hm-direct{display:flex;flex-wrap:wrap;gap:8px;padding-top:18px;border-top:1px solid rgba(27,31,29,0.224);}
.hm-direct a{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:100px;text-decoration:none;color:#1b1f1d;font-size:13.5px;font-weight:600;background:rgba(14,87,71,0.077);border:1px solid rgba(27,31,29,0.256);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .15s ease,background .15s ease;}
.hm-direct a:hover{border-color:rgba(14,87,71,0.5);background:rgba(14,87,71,0.08);}
.hm-direct svg{width:15px;height:15px;color:#0e5747;}

.hm-brief-main{position:relative;padding:38px 34px 40px;border-top:1px solid rgba(var(--fg),.1);}
@media(min-width:960px){.hm-brief-main{border-top:0;border-left:1px solid rgba(var(--fg),.1);}}
@media(max-width:600px){.hm-brief-side{padding:26px 20px 22px;min-height:280px;} .hm-brief-side.has-photo{min-height:420px;} .hm-brief-main{padding:28px 20px 30px;}}
.hm-form{padding:28px;border-radius:20px;background:rgba(var(--bgr),.72);border:1px solid rgba(var(--fg),.1);}
@media(max-width:600px){.hm-form{padding:18px 14px;}}
.hm-prog{height:4px;border-radius:4px;background:rgba(var(--fg),.08);overflow:hidden;margin-bottom:12px;}
.hm-prog span{display:block;height:100%;width:100%;border-radius:4px;background:linear-gradient(90deg,#ffe15d,#a0a5ff);transition:width .45s ease;color:#0e5747}
.hm-stepno{margin:0 0 4px;font-size:12.5px;color:var(--ink3);}
.hm-step{border:0;margin:0 0 18px;padding:0;min-width:0;}
.hm-step legend{padding:0;margin:0 0 4px;font:700 22px/1.25 var(--f-head);color:var(--ink);letter-spacing:-.3px;}
.hm-hint{margin:0 0 16px;font-size:14px;color:var(--ink3);}
.hm-form.js .hm-step{display:none;}
.hm-form.js .hm-step.on{display:block;animation:hmStep .4s ease;}
.hm-form:not(.js) .hm-stepno,.hm-form:not(.js) .hm-prog,.hm-form:not(.js) #hm-next,.hm-form:not(.js) #hm-back{display:none;}
@keyframes hmStep{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.hm-form label{display:block;margin-bottom:12px;}
.hm-form label > span{display:block;font-size:12.5px;color:var(--ink3);margin-bottom:6px;}
.hm select,.hm input[type=text],.hm input[type=email],.hm textarea{width:100%;box-sizing:border-box;padding:12px;border-radius:10px;border:1px solid rgba(var(--fg),.14);background:rgba(var(--fg),.05);color:var(--ink);font:15px var(--f-body);}
.hm select option{background:var(--panel);color:var(--ink);}
.hm select:focus,.hm input:focus,.hm textarea:focus{outline:none;border-color:var(--acc);}
.hm-form-row{display:grid;gap:0 10px;}
@media(min-width:560px){.hm-form-row{grid-template-columns:1fr 1fr;}}
.hm-need{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
@media(min-width:620px){.hm-need{grid-template-columns:repeat(3,1fr);}}
.hm-need label{margin:0;position:relative;}
.hm-need input{position:absolute;opacity:0;pointer-events:none;}
.hm-need label > span{margin:0;font-size:inherit;color:inherit;}
.hm-need span{position:relative;display:flex!important;flex-direction:column;align-items:flex-start;gap:3px;height:100%;box-sizing:border-box;padding:14px;border-radius:14px;border:1px solid rgba(var(--fg),.12);background:rgba(var(--fg),.03);cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease;}
.hm-need span:hover{border-color:rgba(var(--fg),.28);transform:translateY(-2px);}
.hm-need svg{width:22px;height:22px;margin-bottom:8px;color:var(--link);}
.hm-need b{display:block;padding-right:18px;font-size:14.5px;color:var(--ink);}
.hm-need em{display:block;font-style:normal;font-size:12.5px;line-height:1.4;color:var(--ink3);}
.hm-need span::after{content:'';position:absolute;right:10px;top:10px;width:18px;height:18px;border-radius:50%;border:1px solid rgba(var(--fg),.2);transition:all .15s ease;}
.hm-need input:checked + span{border-color:rgba(14,87,71,0.5);background:rgba(255,225,93,0.224);color:#0e5747}
.hm-need input:checked + span::after{border-color:transparent;background:#ffe15d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4L19 7'/%3E%3C/svg%3E") center/11px no-repeat;color:#0e5747}
.hm-need input:focus-visible + span{outline:2px solid var(--link);outline-offset:2px;}
.hm-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.hm-summary span{padding:5px 10px;border-radius:100px;font-size:12.5px;color:#0e5747;background:rgba(255,225,93,0.224);border:1px solid rgba(14,87,71,0.3);}
.hm-form-actions{display:flex;flex-wrap:wrap;gap:10px;}
.hm-form-actions .hm-btn svg{width:17px;height:17px;margin-left:8px;}
.hm-form.js #hm-next ~ #hm-send[hidden],.hm-form [hidden]{display:none!important;}
@media(max-width:480px){.hm-form-actions .hm-btn{flex:1;}}
.hm-msg{margin:10px 0 0;font-size:14px;}
.hm-msg.bad{color:var(--bad-t);}
.hm-legal{margin:12px 0 0;font-size:12.5px;color:var(--ink3);} .hm-legal a{color:var(--link);}
.hm-done{padding:48px 28px;border-radius:20px;text-align:center;background:rgba(var(--bgr),.72);border:1px solid rgba(34,197,94,.35);animation:hmStep .5s ease;}
.hm-done-ico{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:16px;border-radius:50%;color:#1b1f1d;background:#16a34a;box-shadow:0 0 0 10px rgba(34,197,94,.14);}
.hm-done-ico svg{width:30px;height:30px;}
.hm-done h3{font-size:26px;margin:0 0 8px;}
.hm-done p{margin:0 auto 22px;max-width:40ch;color:var(--ink2);}

/* reveal (class added by script, below the fold only) */
.hm-sec .hm-in,.hm-close .hm-in{transition:opacity .7s ease,transform .7s ease;}
.hm-pre{opacity:0;transform:translateY(22px);}

@media(prefers-reduced-motion:no-preference){
  .hm-link i{animation:hmLink 1.9s ease-in-out infinite;}
  .hm-marq-track{animation:hmMarq 80s linear infinite;}
  .hm-marq.rev .hm-marq-track{animation-duration:90s;animation-direction:reverse;}
  .hm-marq:hover .hm-marq-track{animation-play-state:paused;}
  .hm-live i{animation:hmPulse 1.6s ease-in-out infinite;}
  .hm-chip{animation:hmFloat 7s ease-in-out infinite;} .hm-chip-b,.hm-c2{animation-delay:-2.3s;} .hm-c3{animation-delay:-4.6s;}
  .hm-mover{animation:hmMove 9s ease-in-out infinite;}
  .hm-wire path{animation:hmDash 1.2s linear infinite;}
}
@media(prefers-reduced-motion:reduce){
  .hm-marq{overflow-x:auto;}
  .hm-pre{opacity:1;transform:none;}
  .hm-flow.js .hm-flow-list li{opacity:1;transform:none;}
}
@keyframes hmLink{to{left:100%}}
@keyframes hmMarq{to{transform:translateX(-50%)}}
@keyframes hmPulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}
@keyframes hmFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes hmDash{to{stroke-dashoffset:-24}}
@keyframes hmMove{
  0%,14%{transform:translateX(0)}
  30%,50%{transform:translateX(calc(100% + 8px))}
  66%,90%{transform:translateX(calc(200% + 16px))}
  100%{transform:translateX(0)}
}


/* ═══ Jade footer: white, outlined grid ═══ */
.site-footer{background:#fff!important;border-top:1px solid var(--line)!important;padding:0 5% 26px!important;}
.ft-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:0;align-items:stretch;border-left:1px solid var(--line);border-right:1px solid var(--line);}
.ft-grid>div{padding:48px 28px 40px;border-right:1px solid var(--line);}
.ft-grid>div:last-child{border-right:0;}
@media(max-width:900px){.ft-grid{grid-template-columns:1fr 1fr;}.ft-grid>div{border-bottom:1px solid var(--line);}.ft-grid>div:nth-child(2n){border-right:0;}}
@media(max-width:520px){.ft-grid{grid-template-columns:1fr;border:0;}.ft-grid>div{border-right:0;padding:32px 0 28px;}}
.ft-brand .logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;}
.ft-brand .logo-mark{width:30px;height:30px;border-radius:8px;}
.ft-brand .logo-name{font-size:18px;}
.ft-brand p{font-size:14px;color:var(--ink3);line-height:1.75;margin-top:16px;max-width:32ch;}
.ft-h{font-family:var(--f-label);font-size:11px;font-weight:600;color:var(--jade-d);letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;}
.ft-col .ft-nav{display:flex;flex-direction:column;gap:11px;}
.ft-col .ft-nav a{font-size:14px;color:var(--ink2);text-decoration:none;transition:color .15s;width:fit-content;background:linear-gradient(var(--jade),var(--jade)) 0 100%/0 1px no-repeat;transition:background-size .2s,color .15s;}
.ft-col .ft-nav a:hover{color:var(--jade-d);background-size:100% 1px;}
.ft-new{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--mint2);border:1px solid var(--yellow);color:var(--jade-d);font:600 10.5px/1.5 var(--f-body);vertical-align:1px;}
.ft-contact{display:flex;flex-direction:column;gap:14px;}
.ft-item{display:flex;gap:11px;align-items:flex-start;text-decoration:none;}
.ft-item svg{width:16px;height:16px;fill:var(--jade);flex-shrink:0;margin-top:3px;}
.ft-item b{display:block;font-size:14px;font-weight:600;color:var(--ink);line-height:1.4;}
a.ft-item:hover b{color:var(--jade-d);}
.ft-item span{display:block;font-size:12.5px;color:var(--ink3);margin-top:1px;}
.ft-bottom{max-width:var(--max);margin:0 auto;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;}
.ft-legal{display:flex;gap:18px;flex-wrap:wrap;}
.ft-legal a{font-size:12.5px;color:var(--ink3);text-decoration:none;transition:color .15s;}
.ft-legal a:hover{color:var(--ink);}
.ft-bottom p{font-family:var(--f-label);font-size:11.5px;color:var(--ink3);line-height:1.7;}


/* ── animation ── */
@keyframes wrPopIn{from{opacity:0;transform:scale(.93) translateY(10px)}to{opacity:1;transform:none}}

/* ── overlay ── */
#wr-popup{
  position:fixed;inset:0;
  background:#eefbf6;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
/* short viewports: top-align so card isn't clipped */
@media(max-height:680px){
  #wr-popup{align-items:flex-start;}
  #wr-popup > div{margin:auto;}
}

/* ── card shell ── */
#wr-card{
  background:#ffffff;
  border:1px solid rgba(27,31,29,0.16);
  border-radius:16px;
  width:100%;
  max-width:520px;
  overflow:hidden;
  box-shadow:0 28px 70px rgba(14,40,32,0.143);
  position:relative;
  display:flex;
  animation:wrPopIn .28s ease;
}

/* ── FORM COLUMN ── */
#wr-right{
  flex:1;
  min-width:0;
  padding:26px 22px 20px;
  display:flex;
  flex-direction:column;
}
.wr-offer-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(240,160,48,.12);border:.5px solid rgba(240,160,48,.3);color:#9a5f0b;font-size:10px;font-weight:700;letter-spacing:.07em;padding:4px 11px;border-radius:100px;margin-bottom:9px;font-family:var(--f-body);}
.wr-heading{font-size:17px;font-weight:800;color:#1b1f1d;margin:0 0 3px;font-family:var(--f-head);line-height:1.2;}
.wr-sub{font-size:11.5px;color:rgba(27,31,29,0.68);margin:0 0 14px;font-family:var(--f-body);}

/* tabs */
.wr-tabs{display:grid;grid-template-columns:1fr 1fr;background:rgba(14,87,71,0.044);border-radius:8px;padding:3px;margin-bottom:14px;border:.5px solid rgba(27,31,29,0.12);}
.wr-tab{padding:8px;text-align:center;font-size:12px;cursor:pointer;border-radius:6px;color:rgba(27,31,29,0.68);display:flex;align-items:center;justify-content:center;gap:4px;font-family:var(--f-body);font-weight:500;transition:all .15s;}
.wr-tab.on{background:rgba(14,87,71,0.08);color:#1b1f1d;font-weight:600;}

/* labels */
.wr-section-label{font-size:9px;font-weight:700;color:rgba(27,31,29,0.68);letter-spacing:.1em;text-transform:uppercase;margin:0 0 7px;font-family:var(--f-label);}

/* calendar (Calendly, loaded when the pop-up opens) — kept on white so the
   scheduler looks deliberate on every Calendly plan, paid theme or not */
#wr-cal{height:580px;background:#ffffff;border-radius:10px;overflow:hidden;margin-bottom:9px;border:1px solid rgba(27,31,29,0.16);}
#wr-cal .calendly-inline-widget,#wr-cal iframe{width:100%;height:100%;min-width:0!important;border:0;display:block;}
.wr-cal-wait{display:flex;align-items:center;justify-content:center;height:100%;font-size:12px;color:#5c6661;font-family:var(--f-body);}
.wr-sch-lead{font-size:12.5px;color:rgba(27,31,29,0.68);margin:0 0 12px;line-height:1.75;font-family:var(--f-body);}
.wr-btn-go{text-decoration:none;margin-bottom:9px;}
.wr-cal-alt{font-size:10.5px;color:rgba(27,31,29,0.68);margin:0;line-height:1.7;font-family:var(--f-body);}
.wr-cal-alt a{color:#0e5747;text-decoration:none;}
.wr-cal-alt a:hover{text-decoration:underline;}

/* inputs */
.wr-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:7px;}
.wr-sinp{width:100%;padding:9px 11px;border:1px solid rgba(27,31,29,0.16);border-radius:7px;font-size:12px;color:#1b1f1d;background:rgba(14,87,71,0.055);font-family:var(--f-body);outline:none;box-sizing:border-box;transition:border-color .15s;}
.wr-sinp:focus{border-color:#0e5747;}
.wr-sinp::placeholder{color:rgba(27,31,29,0.68);}

/* submit button */
.wr-btn{width:100%;padding:11px;background:#ffe15d;color:#0e5747;font-weight:700;font-size:13px;border:none;cursor:pointer;border-radius:8px;font-family:var(--f-body);display:flex;align-items:center;justify-content:center;gap:6px;transition:opacity .2s;}
.wr-btn:hover{opacity:.88;}
.wr-privacy{font-size:10px;color:rgba(27,31,29,0.68);text-align:center;margin:9px 0 0;font-family:var(--f-body);}

/* message */
#wr-msg{display:none;padding:8px;border-radius:7px;font-size:12px;font-weight:600;text-align:center;margin-top:7px;font-family:var(--f-body);}

/* ── SUCCESS ── */
#wr-success{display:none;flex:1;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;text-align:center;}
.wr-success-mark{width:56px;height:56px;border-radius:50%;background:rgba(34,197,94,.12);border:2px solid #22b07d;color:#177654;font-size:26px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
#wr-success h3{font-size:17px;font-weight:700;color:#1b1f1d;margin:0 0 5px;font-family:var(--f-head);}
#wr-success p{font-size:12px;color:rgba(27,31,29,0.68);line-height:1.65;margin:0 0 14px;font-family:var(--f-body);}

/* ══ MOBILE — single column ══════════════════════ */
@media(max-width:600px){
  #wr-card{max-width:100%;border-radius:14px;}
  #wr-right{padding:16px 14px 18px;}
  .wr-heading{font-size:15px;}
  .wr-row{grid-template-columns:1fr;}
  #wr-cal{height:74vh;min-height:430px;}
}


    /* Applied by JS only — see the guard below. */
    .m-ready .m-rise{opacity:0;transform:translateY(10px);
      transition:opacity .42s cubic-bezier(.4,0,.2,1),transform .42s cubic-bezier(.4,0,.2,1);}
    .m-ready .m-rise.m-in{opacity:1;transform:none;}
    .m-ready .m-stagger > *{opacity:0;transform:translateY(8px);
      transition:opacity .38s cubic-bezier(.4,0,.2,1),transform .38s cubic-bezier(.4,0,.2,1);}
    .m-ready .m-stagger.m-in > *{opacity:1;transform:none;}
    .m-ready .m-stagger.m-in > *:nth-child(1){transition-delay:.02s}
    .m-ready .m-stagger.m-in > *:nth-child(2){transition-delay:.07s}
    .m-ready .m-stagger.m-in > *:nth-child(3){transition-delay:.12s}
    .m-ready .m-stagger.m-in > *:nth-child(4){transition-delay:.17s}
    .m-ready .m-stagger.m-in > *:nth-child(5){transition-delay:.22s}
    .m-ready .m-stagger.m-in > *:nth-child(6){transition-delay:.27s}

    /* Hero, on load rather than on scroll — it is already in view. */
    .m-ready .hh-copy > *{opacity:0;transform:translateY(12px);
      animation:mIn .55s cubic-bezier(.4,0,.2,1) forwards;}
    .m-ready .hh-copy > *:nth-child(1){animation-delay:.04s}
    .m-ready .hh-copy > *:nth-child(2){animation-delay:.11s}
    .m-ready .hh-copy > *:nth-child(3){animation-delay:.18s}
    .m-ready .hh-copy > *:nth-child(4){animation-delay:.25s}
    .m-ready .hh-copy > *:nth-child(5){animation-delay:.32s}
    .m-ready .hh-copy > *:nth-child(6){animation-delay:.39s}
    .m-ready .hh-form-wrap{opacity:0;transform:translateY(16px);
      animation:mIn .6s cubic-bezier(.4,0,.2,1) .22s forwards;}
    @keyframes mIn{to{opacity:1;transform:none}}

    /* Flow diagram draws in sequence, so the eye follows the failure chain. */
    .m-ready .hv-flow g,.m-ready .hv-flow .hv-arrow{opacity:0;transition:opacity .3s ease;}
    .m-ready .hv-flow .hv-point,.m-ready .hv-flow .hv-note{opacity:0;transition:opacity .4s ease;}
    .m-ready .hv-flow.m-in g,.m-ready .hv-flow.m-in .hv-arrow{opacity:1;}
    .m-ready .hv-flow.m-in .hv-point{opacity:.5;}
    .m-ready .hv-flow.m-in .hv-note{opacity:1;}
    .m-ready .hv-flow.m-in g:nth-of-type(1){transition-delay:.05s}
    .m-ready .hv-flow.m-in g:nth-of-type(2){transition-delay:.17s}
    .m-ready .hv-flow.m-in g:nth-of-type(3){transition-delay:.29s}
    .m-ready .hv-flow.m-in g:nth-of-type(4){transition-delay:.41s}
    .m-ready .hv-flow.m-in g:nth-of-type(5){transition-delay:.53s}
    .m-ready .hv-flow.m-in .hv-arrow{transition-delay:.34s}
    .m-ready .hv-flow.m-in .hv-point,.m-ready .hv-flow.m-in .hv-note{transition-delay:.72s}

    /* Interactive affordances. */
    .cs-card,.hb-card,.hv-logo{transition:border-color .16s cubic-bezier(.4,0,.2,1),
      background .16s cubic-bezier(.4,0,.2,1),transform .16s cubic-bezier(.4,0,.2,1);}
    .cs-card:hover{border-color:rgba(27,31,29,0.272)!important;transform:translateY(-2px);}
    .hh-field input,.hh-field textarea{transition:border-color .16s,background .16s,box-shadow .16s;}
    .hh-field input:focus,.hh-field textarea:focus{box-shadow:0 0 0 3px rgba(14,87,71,0.052);}

    @media(prefers-reduced-motion:reduce){
      .m-ready .m-rise,.m-ready .m-stagger > *,.m-ready .hh-copy > *,.m-ready .hh-form-wrap,
      .m-ready .hv-flow g,.m-ready .hv-flow .hv-arrow,.m-ready .hv-flow .hv-point,.m-ready .hv-flow .hv-note{
        opacity:1!important;transform:none!important;animation:none!important;transition:none!important;}
      .cs-card:hover{transform:none;}
    }
    

    /* The layer. Fixed, behind everything, painted from three custom props so a
       single class swap re-tints the whole page. */
    body::after{
      content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
      background:radial-gradient(78% 58% at 12% 4%,  var(--tone-a, rgba(255,225,93,0.352)), transparent 64%),
        radial-gradient(64% 52% at 90% 22%, var(--tone-b, rgba(139,92,246,.14)), transparent 66%),
        radial-gradient(90% 60% at 50% 104%,var(--tone-c, rgba(6,214,199,.10)), transparent 68%);
      transition:background 1100ms cubic-bezier(.4,0,.2,1);color:#0e5747}
    body.page-crm-archive, body.page-dialer-archive{background-color:#ffffff;}

    /* Sections sit on translucent grounds so the tone reads through them. These
       started at .58/.72 and were far too opaque — a tone under that much black
       is arithmetically present and visually absent. The page stays dark because
       the base colour under everything is still #080b12. */
    body.page-crm-archive .hb,  body.page-dialer-archive .hb{background:#eefbf6!important;}
    body.page-crm-archive .hb-alt, body.page-dialer-archive .hb-alt{background:#eefbf6!important;}
    .faqx{background:#eefbf6!important;}

    /* A hairline at each section boundary, lit by the current tone. It gives the
       colour change an edge to happen on, so the shift is legible as a change
       rather than as a vague difference in the dark. */
    body.page-crm-archive .hb, body.page-dialer-archive .hb, .faqx{
      border-top:1px solid var(--tone-a, rgba(14,87,71,0.4));
      transition:border-color 1100ms cubic-bezier(.4,0,.2,1);
    }

    /* Tones. Still moods rather than statements, but pitched to actually carry
       through a translucent section. */
    .tone-hero     { --tone-a:rgba(255,225,93,0.6); --tone-b:rgba(139,92,246,.24); --tone-c:rgba(6,214,199,.16); }
    .tone-problem  { --tone-a:rgba(198,64,64,.34);  --tone-b:rgba(240,160,48,.20); --tone-c:rgba(255,225,93,0.192); }
    .tone-audit    { --tone-a:rgba(255,225,93,0.6); --tone-b:rgba(6,214,199,.22);  --tone-c:rgba(255,225,93,0.256); }
    .tone-services { --tone-a:rgba(139,92,246,.38); --tone-b:rgba(255,225,93,0.416); --tone-c:rgba(139,92,246,.15); }
    .tone-price    { --tone-a:rgba(6,214,199,.28);  --tone-b:rgba(255,225,93,0.416); --tone-c:rgba(6,214,199,.15); }
    .tone-outcome  { --tone-a:rgba(13,184,118,.30); --tone-b:rgba(6,214,199,.22);  --tone-c:rgba(13,184,118,.15); }
    .tone-close    { --tone-a:rgba(255,225,93,0.6); --tone-b:rgba(139,92,246,.28); --tone-c:rgba(255,225,93,0.32); }

    /* A thin progress rule at the top — cheap, and it tells a reader how much
       of a long page is left, which is its own encouragement to continue. */
    .scrollbar-prog{position:fixed;top:0;left:0;height:2px;z-index:1000;width:0;
      background:linear-gradient(90deg,#ffe15d,#8b5cf6,#06d6c7);
      transition:width .1s linear;pointer-events:none;color:#0e5747}

    @media(prefers-reduced-motion:reduce){
      body::after{transition:none;}
      .scrollbar-prog{display:none;}
    }
    

    .ico{width:18px;height:18px;flex:none;}

    /* ── logo tile ── */
    .lt{width:var(--lt);height:var(--lt);flex:none;display:inline-flex;align-items:center;justify-content:center;
      border-radius:calc(var(--lt) * .28);background:#ffffff;overflow:hidden;
      box-shadow:0 0 0 1px rgba(27,31,29,0.08),0 6px 18px rgba(14,40,32,0.077);}
    .lt .il-logo{width:68%!important;height:68%!important;max-width:68%!important;max-height:68%!important;object-fit:contain;border-radius:0!important;}
    .lt .il-mono{font-size:calc(var(--lt) * .5);}

    /* ── buttons ── */
    .bk-pair{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
    .bk-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 24px;border-radius:12px;
      font-family:var(--f-body);font-size:15.5px;font-weight:700;letter-spacing:-.1px;color:#0e5747;text-decoration:none;cursor:pointer;
      border:1px solid rgba(27,31,29,0.288);background:linear-gradient(180deg,#ffe15d,#ffe15d);
      box-shadow:inset 0 1px 0 rgba(27,31,29,0.08),0 12px 30px -8px rgba(14,87,71,0.18);
      transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s ease,background .18s ease;white-space:nowrap;}
    .bk-btn:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(27,31,29,0.08),0 18px 36px -8px rgba(14,87,71,0.18);}
    .bk-btn:active{transform:translateY(0);}
    .bk-btn:focus-visible{outline:2px solid #0e5747;outline-offset:3px;}
    .bk-ghost{background:rgba(14,87,71,0.044);border-color:rgba(27,31,29,0.3);box-shadow:none;color:#0e5747;}
    .bk-ghost:hover{background:rgba(14,87,71,0.08);border-color:rgba(27,31,29,0.3);box-shadow:none;}
    .bk-sm{height:42px;padding:0 16px;font-size:14px;border-radius:10px;}
    .bk-ico-only{width:42px;padding:0;}
    .hb .hb-cta{display:none!important;}         /* retired single CTA, replaced by .bk-pair */
    .svx-cta{margin-top:28px!important;}
    .hb-price-cta{margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;}
    .hb-price-cta p{margin:0;font-size:13.5px;color:#5c6661;}

    /* ── section headings: calmer eyebrow, a little more air ── */
    .hb-eyebrow{display:flex;align-items:center;gap:10px;color:#0e5747!important;}
    .hb-eyebrow::before{content:'';width:18px;height:1px;background:linear-gradient(90deg,#ffe15d,#a0a5ff);color:#0e5747}
    .hb h2,.hb-alt h2{text-wrap:balance;}
    .hb .hb-lede,.hb-alt .hb-lede{text-wrap:pretty;}

    /* ── cards ── */
    .svx-card,.pn-card{border-radius:18px!important;background:linear-gradient(180deg,rgba(14,87,71,0.05),rgba(14,87,71,0.03))!important;
      border-color:rgba(27,31,29,0.144)!important;overflow:hidden;}
    .svx-card::before,.pn-card::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;
      background:linear-gradient(90deg,transparent,rgba(255,225,93,0.6),rgba(160,165,255,.9),transparent);opacity:0;transition:opacity .3s ease;color:#0e5747}
    .svx-card:hover::before,.pn-card:hover::before{opacity:1;}
    .svx-card h3{font-size:18px!important;}
    .svx-card li{color:#3d4541!important;}
    .svx-card li::before{width:14px!important;height:14px!important;margin-top:2px!important;border-radius:50%;
      background:rgba(160,165,255,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e5747' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4L19 7'/%3E%3C/svg%3E") center/9px no-repeat!important;}
    .pob-step{border-radius:16px!important;}

    /* ── logos in the illustrations sit on white, like the core ── */
    .io-node:not(.io-cap){background:radial-gradient(circle at 35% 30%,#ffffff,#eefbf6)!important;border-color:rgba(27,31,29,0.3)!important;
      box-shadow:0 0 0 6px rgba(14,87,71,0.032),0 14px 34px rgba(14,40,32,0.099)!important;}
    .ia-logo{background:#ffffff!important;border-color:rgba(27,31,29,0.3)!important;}
    .io-node .il-fav,.ia-logo .il-fav{border-radius:6px!important;}

    /* ── hero ── */
    .hh-badge .lt{box-shadow:none;}
    .hh-h1{letter-spacing:-2px!important;}
    .hh-checks li{display:block!important;position:relative;padding-left:30px;}
    .hh-checks li::before{position:absolute;left:0;top:2px;width:18px!important;height:18px!important;margin-top:1px!important;border:none!important;
      /* Two layers, comma-separated:tick on top, gradient beneath. Written as
         one layer the whole declaration is invalid and the old circle shows. */
      background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4L19 7'/%3E%3C/svg%3E") center/11px no-repeat,linear-gradient(135deg,#5b8cff,#a0a5ff)!important;
      box-shadow:0 4px 12px rgba(14,87,71,0.16);}
    .hh-checks li b{color:#1b1f1d;font-weight:600;}
    .hh-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0 0 6px;}
    .hh-price{font-family:var(--f-head);font-size:14px;color:#3d4541;}
    .hh-price b{font-size:22px;font-weight:700;color:#fff;letter-spacing:-.6px;margin:0 2px;}
    .hh-term{font-size:13.5px;color:#3d4541;display:inline-flex;align-items:center;gap:7px;}
    .hh-term .ico{width:15px;height:15px;color:#0a7484;}
    .hh-works{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:#5c6661;}
    .hh-works .lts{display:inline-flex;gap:6px;}
    .hh-works .lt{box-shadow:0 4px 12px rgba(14,40,32,0.077);}

    /* ── hero form ── */
    .hh-form{border-radius:20px!important;padding:24px 24px 20px!important;
      background:linear-gradient(180deg,#d7f4e8,#ffffff)!important;
      border:1px solid rgba(27,31,29,0.192)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
      box-shadow:0 1px 0 rgba(27,31,29,0.048) inset,0 40px 90px -20px rgba(14,40,32,0.154),0 0 0 1px rgba(14,87,71,0.048)!important;}
    .hh-form-head{display:flex;align-items:center;gap:14px;padding-bottom:16px!important;margin-bottom:16px!important;}
    .hh-form-head strong{font-size:18px!important;margin-bottom:2px!important;}
    .hh-form-head span.sub{font-size:12.5px;color:#5c6661;display:flex;align-items:center;gap:6px;}
    .hh-form-head .live{width:7px;height:7px;border-radius:50%;background:#22b07d;box-shadow:0 0 0 3px rgba(34,197,94,.2);flex:none;}
    .hf-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
    .hf-row .hh-field{margin-bottom:12px;}
    .hh-field input,.hh-field textarea{border-radius:10px!important;background:rgba(14,87,71,0.044)!important;}
    .hh-field textarea{min-height:92px!important;}
    .hh-form .hh-submit{height:52px;padding:0!important;border-radius:12px!important;display:flex;align-items:center;justify-content:center;gap:10px;
      font-size:15.5px!important;font-weight:700!important;background:linear-gradient(180deg,#ffe15d,#ffe15d)!important;
      border:1px solid rgba(27,31,29,0.288)!important;box-shadow:inset 0 1px 0 rgba(27,31,29,0.08),0 12px 30px -8px rgba(14,87,71,0.18);color:#0e5747}
    .hh-form .hh-submit:hover{transform:translateY(-2px);}
    .hh-form .hh-submit .ico{transition:transform .18s ease;}
    .hh-form .hh-submit:hover .ico{transform:translateX(3px);}
    .hf-or{display:flex;align-items:center;gap:12px;margin:12px 0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#5c6661;}
    .hf-or::before,.hf-or::after{content:'';flex:1;height:1px;background:rgba(14,87,71,0.08);}
    .hf-book{width:100%;height:46px;font-size:14.5px;}
    .hf-trust{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:14px 0 0;padding:0;}
    .hf-trust li{display:flex;align-items:center;gap:6px;font-size:12px;color:#5c6661;}
    .hf-trust .ico{width:13px;height:13px;color:#177654;stroke-width:3;}
    .hh-fine{display:none;}
    @media(max-width:460px){ .hf-row,.hf-chips{grid-template-columns:1fr;} .hh-form{padding:20px 16px 18px!important;} }

    /* ── booking block ── */
    .bk2{position:relative;overflow:hidden;padding:96px 0 104px!important;background:linear-gradient(180deg,#ffffff,#eefbf6 38%,#eefbf6 62%,#ffffff)!important;}
    .bk2 > *{position:relative;z-index:2;}
    .bk2::before{content:'';position:absolute;z-index:0;inset:0;display:block;pointer-events:none;
      background-image:radial-gradient(rgba(14,87,71,0.14) 1px,transparent 1px);
      background-size:26px 26px;
      -webkit-mask-image:radial-gradient(ellipse 82% 62% at 50% 50%,#000,transparent 75%);
      mask-image:radial-gradient(ellipse 82% 62% at 50% 50%,#000,transparent 75%);}
    .bk2::before,.bk2::after{display:none!important;}
    .bk2 .hh-book-in{grid-template-columns:1fr!important;gap:48px!important;}
    @media(min-width:960px){ .bk2 .hh-book-in{grid-template-columns:1.05fr .95fr!important;gap:64px!important;} }
    .bk2-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;padding:6px 12px;border-radius:100px;
      font-size:12.5px;font-weight:600;color:#2a7a4e;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);}
    .bk2-eyebrow i{width:7px;height:7px;border-radius:50%;background:#22b07d;box-shadow:0 0 0 3px rgba(34,197,94,.22);}
    .bk2 h2{font-size:clamp(28px,3.6vw,42px)!important;letter-spacing:-1.3px!important;line-height:1.1!important;max-width:18ch!important;margin-bottom:16px!important;text-wrap:balance;}
    .bk2-copy > p.lead{font-size:17px;line-height:1.7;color:#3d4541;max-width:52ch;margin:0 0 24px;}
    .bk2-agenda{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:12px;counter-reset:ag;}
    .bk2-agenda li{display:flex;align-items:flex-start;gap:14px;font-size:15px;line-height:1.5;color:#1b1f1d;counter-increment:ag;}
    .bk2-agenda li::before{content:counter(ag);flex:none;width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;
      font-family:var(--f-head);font-size:13px;font-weight:700;color:#0e5747;background:rgba(255,225,93,0.224);border:1px solid rgba(14,87,71,0.35);}
    .bk2-agenda b{color:#1b1f1d;font-weight:600;}
    .bk2-alt{display:flex;flex-wrap:wrap;gap:8px 22px;margin:20px 0 0;}
    .bk2-alt a{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#3d4541;text-decoration:none;}
    .bk2-alt a:hover{color:#1b1f1d;}
    .bk2-alt .ico{width:16px;height:16px;color:#0e5747;}

    .bk2-photo{position:relative;margin:0;min-height:440px;isolation:isolate;}
    .bk2-frame{position:absolute;inset:0 0 0 6%;border-radius:28px;overflow:hidden;
      box-shadow:0 40px 90px -24px rgba(14,40,32,0.16),0 0 0 1px rgba(27,31,29,0.06);}
    .bk2-frame img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92) contrast(1.04);}
    .bk2-frame::after{content:'';position:absolute;inset:0;pointer-events:none;
      background:linear-gradient(200deg,rgba(255,225,93,0.288),transparent 40%,rgba(11,66,55,0.55) 100%);color:#0e5747}
    .bk2-photo::before{content:'';position:absolute;z-index:-1;width:70%;aspect-ratio:1;right:-6%;top:-8%;border-radius:50%;
      background:radial-gradient(circle,rgba(255,225,93,0.56),transparent 65%);filter:blur(10px);color:#0e5747}
    .bk2-chip{position:absolute;z-index:2;display:flex;align-items:center;gap:11px;padding:11px 15px 11px 11px;border-radius:14px;
      background:#eefbf6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
      border:1px solid rgba(27,31,29,0.224);box-shadow:0 18px 40px rgba(14,40,32,0.11);white-space:nowrap;}
    .bk2-chip b{display:block;font-size:13px;font-weight:600;color:#1b1f1d;}
    .bk2-chip em{display:block;font-style:normal;font-size:12px;color:#0e5747;margin-top:1px;}
    .bk2-chip .dot{width:30px;height:30px;border-radius:9px;flex:none;display:flex;align-items:center;justify-content:center;
      background:linear-gradient(135deg,#ffe15d,#a0a5ff);color:#0e5747;}
    .bk2-chip .dot .ico{width:16px;height:16px;}
    .bk2-chip.green .dot{background:linear-gradient(135deg,#16a34a,#22b07d);}
    .bk2-c1{left:0;top:9%;} .bk2-c2{right:-2%;top:46%;} .bk2-c3{left:10%;bottom:7%;}
    @media(prefers-reduced-motion:no-preference){ .bk2-chip{animation:bkFloat 7s ease-in-out infinite;} .bk2-c2{animation-delay:-2.3s;} .bk2-c3{animation-delay:-4.6s;} }
    @keyframes bkFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
    @media(max-width:959px){ .bk2-photo{min-height:340px;} .bk2-frame{inset:0;} .bk2-c1{left:4%;} .bk2-c2{right:4%;} }
    @media(max-width:520px){ .bk2-chip{padding:8px 11px 8px 8px;} .bk2-chip b{font-size:12px;} .bk2-chip em{font-size:11px;} .bk2-c2{top:auto;bottom:30%;} }

    /* ── sticky bar ── */
    .sbar{position:fixed;left:50%;bottom:20px;z-index:850;width:min(820px,calc(100% - 32px));
      transform:translate(-50%,140%);opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s ease;}
    .sbar.on{transform:translate(-50%,0);opacity:1;pointer-events:auto;}
    .sbar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 10px 10px 12px;border-radius:18px;
      background:#eefbf6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
      border:1px solid rgba(27,31,29,0.192);box-shadow:0 24px 60px rgba(14,40,32,0.132),0 0 0 1px rgba(14,87,71,0.048);}
    .sbar-id{display:flex;align-items:center;gap:12px;min-width:0;}
    .sbar-id b{display:block;font-family:var(--f-head);font-size:14px;font-weight:600;color:#1b1f1d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .sbar-id em{display:block;font-style:normal;font-size:12px;color:#3d4541;white-space:nowrap;}
    .sbar-act{display:flex;gap:8px;flex:none;}
    .sbar-pair{display:inline-flex;flex:none;} .sbar-pair .lt + .lt{margin-left:-8px;box-shadow:0 0 0 2px rgba(14,40,32,0.16);}
    @media(max-width:960px){
      body.page-crm-archive .m-bar, body.page-dialer-archive .m-bar, body.single-integration .m-bar{display:none!important;}
      .sbar{left:0;right:0;bottom:0;width:auto;transform:translateY(110%);}
      .sbar.on{transform:translateY(0);}
      .sbar-in{border-radius:0;border-width:1px 0 0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));}
      .sbar-id{display:none;}
      .sbar-act{flex:1;} .sbar-act .bk-btn{flex:1;} .sbar-act .bk-ico-only{flex:0 0 42px;}
    }
    @media(max-width:380px){ .sbar-act .bk-btn span{font-size:13px;} }
    

.wrc,.wrc-modal{--wrc-bg:#ffffff;--wrc-line:rgba(27,31,29,0.16);--wrc-ink:#1b1f1d;--wrc-ink2:#3d4541;--wrc-ink3:#5c6661;--wrc-acc:#0e5747;font-family:var(--f-body),sans-serif;color:var(--wrc-ink);}
.wrc[hidden],.wrc-modal[hidden],.wrc-detail[hidden]{display:none!important;}
.wrc{position:fixed;z-index:999990;left:20px;bottom:20px;width:min(440px,calc(100vw - 40px));box-sizing:border-box;padding:20px;border-radius:18px;background:var(--wrc-bg);border:1px solid var(--wrc-line);box-shadow:0 30px 80px -20px rgba(14,40,32,0.16),0 0 0 1px rgba(27,31,29,0.018);}
.wrc.in{animation:wrcIn .45s cubic-bezier(.22,1,.36,1) both;}
@keyframes wrcIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.wrc-top,.wrc-mhead{display:flex;align-items:center;gap:10px;}
.wrc-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border-radius:10px;color:#0e5747;background:rgba(255,225,93,0.24);border:1px solid rgba(14,87,71,0.3);}
.wrc-ico svg{width:18px;height:18px;}
.wrc-h{margin:0;font:700 16px var(--f-head),sans-serif;color:var(--wrc-ink);}
.wrc-p{margin:12px 0 16px;font-size:13.5px;line-height:1.6;color:var(--wrc-ink2);}
.wrc-p b{color:var(--wrc-ink);font-weight:600;}
.wrc a{color:#0e5747;text-decoration:underline;text-underline-offset:2px;}
.wrc-btns,.wrc-mfoot{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.wrc-btn{height:42px;padding:0 10px;border-radius:10px;font:600 13.5px var(--f-body),sans-serif;cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease;white-space:nowrap;}
.wrc-main{background:var(--wrc-acc);color:#1b1f1d;} .wrc-main:hover{background:#ffe15d;color:#0e5747}
.wrc-alt{background:rgba(14,87,71,0.055);border-color:rgba(27,31,29,0.288);color:var(--wrc-ink);} .wrc-alt:hover{background:rgba(14,87,71,0.08);}
.wrc-btn:focus-visible,.wrc-x:focus-visible,.wrc-more:focus-visible,.wrc-switch input:focus-visible + .wrc-track{outline:2px solid #0e5747;outline-offset:2px;}
.wrc-modal{position:fixed;inset:0;z-index:999995;display:flex;align-items:center;justify-content:center;padding:16px;background:#eefbf6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.wrc-dialog{display:flex;flex-direction:column;width:min(620px,100%);max-height:min(720px,calc(100vh - 32px));border-radius:20px;background:var(--wrc-bg);border:1px solid var(--wrc-line);box-shadow:0 40px 100px -20px rgba(14,40,32,0.16);animation:wrcIn .35s cubic-bezier(.22,1,.36,1) both;outline:none;}
.wrc-mhead{padding:18px 20px;border-bottom:1px solid var(--wrc-line);}
.wrc-mh{margin:0;flex:1;font:700 18px var(--f-head),sans-serif;color:var(--wrc-ink);}
.wrc-x{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--wrc-line);background:transparent;color:var(--wrc-ink2);cursor:pointer;}
.wrc-x svg{width:18px;height:18px;} .wrc-x:hover{color:var(--wrc-ink);background:rgba(14,87,71,0.066);}
.wrc-mbody{padding:18px 20px;overflow-y:auto;}
.wrc-md{margin:0 0 16px;font-size:14px;line-height:1.6;color:var(--wrc-ink2);}
.wrc-md a,.wrc-none a{color:#0e5747;}
.wrc-cat{padding:14px 0;border-top:1px solid var(--wrc-line);}
.wrc-cat-h{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.wrc-more{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--wrc-ink);font:600 15px var(--f-head),sans-serif;cursor:pointer;text-align:left;}
.wrc-more svg{width:16px;height:16px;color:var(--wrc-ink3);transition:transform .2s ease;}
.wrc-more[aria-expanded="true"] svg{transform:rotate(180deg);}
.wrc-cat-p{margin:6px 0 0;font-size:13.5px;line-height:1.55;color:var(--wrc-ink2);}
.wrc-always{font-size:12px;font-weight:600;padding:4px 10px;border-radius:100px;color:#107836;background:rgba(34,197,94,.14);white-space:nowrap;}
.wrc-switch{position:relative;display:inline-flex;flex:none;cursor:pointer;}
.wrc-switch input{position:absolute;opacity:0;width:1px;height:1px;}
.wrc-track{position:relative;width:46px;height:26px;border-radius:26px;background:rgba(14,87,71,0.08);transition:background .2s ease;}
.wrc-track::after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#ffffff;transition:transform .2s ease;box-shadow:0 2px 6px rgba(14,40,32,0.077);}
.wrc-switch input:checked + .wrc-track{background:var(--wrc-acc);}
.wrc-switch input:checked + .wrc-track::after{transform:translateX(20px);}
.wrc-detail{margin-top:10px;}
.wrc-detail table{width:100%;border-collapse:collapse;font-size:12.5px;}
.wrc-detail th,.wrc-detail td{padding:8px;text-align:left;vertical-align:top;border-bottom:1px solid var(--wrc-line);color:var(--wrc-ink2);}
.wrc-detail th{font-weight:600;color:var(--wrc-ink3);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;}
.wrc-detail td:first-child{color:var(--wrc-ink);font-family:var(--f-label),monospace;font-size:11.5px;word-break:break-word;}
.wrc-none{margin:0;font-size:13px;color:var(--wrc-ink3);}
.wrc-mfoot{padding:16px 20px;border-top:1px solid var(--wrc-line);}
body.wrc-showing #sbar{opacity:0!important;pointer-events:none!important;}
@media(max-width:600px){
  .wrc{left:10px;right:10px;bottom:10px;width:auto;padding:16px;}
  .wrc-btns,.wrc-mfoot{grid-template-columns:1fr 1fr;} .wrc-btns .wrc-cust,.wrc-mfoot .wrc-cust{grid-column:1 / -1;order:1;}
  .wrc-modal{padding:0;align-items:flex-end;} .wrc-dialog{max-height:92vh;border-radius:20px 20px 0 0;}
  .wrc-detail thead{display:none;} .wrc-detail tr{display:block;padding:8px 0;border-bottom:1px solid var(--wrc-line);} .wrc-detail td{display:block;padding:2px 0;border:0;}
}
@media(prefers-reduced-motion:reduce){.wrc.in,.wrc-dialog{animation:none;}}
.ft-cookie-btn{padding:0;border:0;background:none;font:inherit;font-size:12px;color:var(--t3,#5c6661);cursor:pointer;transition:color .15s;}
.ft-cookie-btn:hover{color:var(--t1,#1b1f1d);}
