/* Measured from the live A Creative Block homepage. */
:root{--acb-red:#873030;--acb-yellow:#E4E244;--copy:#071321;--muted:#071321;--ink:#071321;--ink-soft:#071321;--quiet:#f6f6f6;--quiet-2:#ddd;--pad:24.79px;
  /* base.css's --blue (#006FDA) is a leftover web-blue, not our brand
     indigo — redefine it here so every existing var(--blue) reference
     site-wide (buttons, labels, hover states) renders as our actual
     brand colour instead. */
  --blue:#4f46e5;
}

/* ==========================================================================
   DESIGN TOKENS — single source of truth for spacing and type. Change a
   value here and it updates everywhere the token is used, on every page.
   Every size below is a clamp() so it scales smoothly with the viewport.
   ========================================================================== */
:root{
  /* spacing */
  --sp-card:clamp(18px,3vw,27px);               /* internal padding of a white/colour card */
  --sp-gap:clamp(28.8px,7vw,49.57px);             /* vertical gap between stacked sections */
  --radius-card:5px;                           /* card corner radius */
  --shadow-card:0 1.66px 3.3px rgba(161,158,168,.1); /* card elevation, matches the header's own shadow */

  /* type scale — 2 titles, 3 body sizes, 1 label. Titles (h1/h2) share one
     letter-spacing — same tightness, only the size differs. Body copy is
     close to normal tracking; only titles get pulled in. Line-height is the
     same two-value rule everywhere: big/title-sized text always sits at
     --lh-title, every smaller (copy) size always sits at --lh-copy. */
  --ls-title:-.035em;                     /* the one tracking value for every title-sized text */
  --lh-title:1;                           /* the one line-height for every title-sized text */
  --lh-copy:1.3;                          /* the one line-height for every copy size (copy-lg/body/small/button) */
  --fs-label:clamp(9.9px,1vw,11.56px);     --ls-label:-.01em;   /* eyebrows / small caps labels */
  --fs-h1:clamp(28.8px,5vw,63px);           --ls-h1:var(--ls-title); /* hero headline, closing statement */
  --fs-h2:clamp(22.5px,3.8vw,45px);         --ls-h2:var(--ls-title); /* section titles, card/panel headings */
  --fs-copy-lg:clamp(21.6px,2.8vw,30.6px);    --ls-copy-lg:-.015em;/* big copy: pull-quote, lead paragraph */
  --fs-body:clamp(14.4px,1.5vw,17.1px);       --ls-body:-.005em;   /* medium copy: standard paragraph */
  --fs-small:clamp(9.9px,1vw,11.7px);        --ls-small:0em;      /* small copy: fine print, list detail */
  --fs-button:clamp(12.15px,1vw,13.22px);  --ls-button:0em;     /* buttons — same size everywhere */
}
/* Same tiers as classes, for markup that wants the whole bundle in one go
   (font-size + letter-spacing + a sensible line-height/weight default). */
html body#acb-design .t-label{font-size:var(--fs-label)!important;letter-spacing:var(--ls-label)!important;line-height:1.2!important;text-transform:uppercase;font-weight:600}
html body#acb-design .t-h1{font-size:var(--fs-h1)!important;letter-spacing:var(--ls-h1)!important;line-height:var(--lh-title)!important;font-weight:500}
html body#acb-design .t-h2{font-size:var(--fs-h2)!important;letter-spacing:var(--ls-h2)!important;line-height:var(--lh-title)!important;font-weight:500}
html body#acb-design .t-copy-lg{font-size:var(--fs-copy-lg)!important;letter-spacing:var(--ls-copy-lg)!important;line-height:var(--lh-copy)!important;font-weight:500}
html body#acb-design .t-body{font-size:var(--fs-body)!important;letter-spacing:var(--ls-body)!important;line-height:var(--lh-copy)!important;font-weight:500}
html body#acb-design .t-small{font-size:var(--fs-small)!important;letter-spacing:var(--ls-small)!important;line-height:var(--lh-copy)!important;font-weight:500}
html body#acb-design .t-button{font-size:var(--fs-button)!important;letter-spacing:var(--ls-button)!important;line-height:var(--lh-copy)!important;font-weight:500}
html,html body#acb-design.home-page,html body#acb-design:not(.home-page){background:#f6f6f6!important;color:var(--ink);background-image:none!important}
html body#acb-design .acb-header{position:sticky!important;width:calc(100% - 49.57px)!important;max-width:none!important;margin:19.83px auto!important;background:#fff!important;color:var(--ink)!important;border:0!important;border-radius:var(--radius-card)!important;box-shadow:0 0 55px rgba(0,0,0,.15)!important;backdrop-filter:none!important;z-index:60}
html body#acb-design .acb-header .inner{display:flex!important;align-items:center!important;justify-content:space-between!important;max-width:none!important;padding:0!important;gap:19.83px!important;height:46.27px!important;min-height:46.27px!important}
html body#acb-design .acb-logo{margin-left:16.52px!important}
html body#acb-design .acb-header .mobile-menu-toggle{margin-right:5px!important}
html body#acb-design .acb-header .acb-logo{background:none!important;padding:5px!important;border-radius:0!important;flex-shrink:0;color:#4f46e5!important}
html body#acb-design .acb-header .acb-logo .acb-logo-mount{color:#4f46e5!important;height:38px!important}
@media(min-width:954.9px){html body#acb-design .acb-head-right{display:flex!important;flex:1;flex-direction:row!important;justify-content:flex-end!important;align-items:center!important;gap:26.44px!important}}
@media(min-width:954.9px){
  html body#acb-design .acb-logo{margin-left:5px!important}
  html body#acb-design .acb-header .acb-logo{background:none!important;padding:3px!important;border-radius:0!important}
  html body#acb-design .acb-header .acb-actions{padding:10px!important}
}
html body#acb-design .acb-header .acb-nav{gap:26.44px;align-items:center}
html body#acb-design .acb-header .navbutton,html body#acb-design .acb-header .acb-social a{color:var(--ink)!important;font-family:"Inter",sans-serif!important;font-weight:500!important;font-size:14.87px!important;letter-spacing:0!important;border-radius:6.61px!important;transition:background-color .2s ease,color .2s ease!important}
html body#acb-design .acb-header .navitem:hover .navbutton,
html body#acb-design .acb-header .navitem.is-active>.navbutton{color:#4f46e5!important;background:#eef2ff!important;text-decoration:none!important}
html body#acb-design .acb-header .acb-social a:hover{color:#4f46e5!important}
/* Footer links get the same hover pill as the header nav (adapted for the dark footer). */
html body#acb-design .acb-footer :is(.top,.foot-lead) a{display:block;padding:2.48px 4.96px!important;margin:-2.48px -4.96px!important;border-radius:6.61px!important;transition:background-color .2s ease,color .2s ease!important}
html body#acb-design .acb-footer :is(.top,.foot-lead) a:hover{color:#a5b4fc!important;background:rgba(255,255,255,.1)!important;text-decoration:none!important}
html body#acb-design .acb-header .acb-actions{display:flex;gap:19.83px;align-items:center;margin:0!important}
html body#acb-design .acb-header .acb-sub{background:#fff!important;color:var(--ink)!important;border:0!important;border-radius:var(--radius-card)!important;box-shadow:0 1.66px 3.3px #a19ea81a}
html body#acb-design .acb-header .acb-sub a{color:var(--ink)!important;font-family:"Inter",sans-serif!important;font-size:14.87px!important;border-radius:6.61px!important;padding:6.61px 8.26px!important;margin:0 -8.26px!important;transition:background-color .2s ease,color .2s ease!important}
html body#acb-design .acb-header .acb-sub a:hover{background:#eef2ff!important;color:#4f46e5!important}
/* Original hero composition, image, copy and type. */
html body#acb-design.home-page .acb-hero{--pad:clamp(16.52px,4vw,59.49px);--copy:var(--ink);--muted:var(--ink);--brand:#4f46e5;--action:#E4E244}
html body#acb-design.home-page .acb-hero .pill:hover{background:#3f37c4!important;color:#fff!important;border-color:#3f37c4!important}
/* A Creative Block uses 24.79px outer gutters, 9.92px corners and no panel outlines. */
html body#acb-design.home-page main section:where(:not(.acb-hero):not(.acb-marq)){margin:24.79px!important;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important}
html body#acb-design.home-page main section:where(:not(.acb-hero):not(.acb-marq))>.wrap{padding:24.79px!important;max-width:none!important;width:100%;border:0!important;border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow-card)}
html body#acb-design.home-page main section:not(.acb-hero) :is(h2,h3){font-family:"Inter",sans-serif!important;letter-spacing:var(--ls-title)}
html body#acb-design.home-page main section:not(.acb-hero) :is(.pill,.pill:hover),html body#acb-design:not(.home-page) :is(.btn,.btn-out,.pill,.refbar-btn,.btn:hover,.pill:hover){background:#4f46e5!important;color:#fff!important;border:0!important;border-radius:var(--radius-card)!important;font-family:"Inter",sans-serif!important;font-size:var(--fs-button)!important;letter-spacing:var(--ls-button);padding:13.22px 16.52px!important;line-height:var(--lh-copy)}
html body#acb-design.home-page :is(.acb-eyebrow,.mono,.eyebrow){background:none!important;color:var(--brand)!important;padding:0!important;font-size:var(--fs-label)!important;line-height:1.2!important;letter-spacing:var(--ls-label)!important;text-transform:uppercase!important;font-weight:600!important;margin:0 0 16.52px!important}
/* Restore the original long statement, edge-to-edge like About Us. */
html body#acb-design:is(.home-page,.blocks-page) main .acb-say>.wrap{padding:39.65px 24.79px!important;text-align:left;display:block}
html body#acb-design:is(.home-page,.blocks-page) .acb-say p .hl{color:var(--ink)!important}
html body#acb-design:is(.home-page,.blocks-page) .acb-say .cln{display:block!important;margin-top:33.05px!important}
html body#acb-design.home-page .acb-marq{background:#fff!important;border:0!important;padding:13.22px 0!important}
html body#acb-design.home-page .acb-marq .track span:nth-of-type(8n+1){color:#a47a00!important}
html body#acb-design.home-page .acb-marq .track span:nth-of-type(8n+2){color:#bd6530!important}
html body#acb-design.home-page .acb-marq .track span:nth-of-type(8n+3){color:#b13e39!important}
html body#acb-design.home-page .acb-marq .track span:nth-of-type(8n+4){color:#8259ac!important}
html body#acb-design.home-page .acb-marq .track span:nth-of-type(8n+5){color:#6257c4!important}
html body#acb-design.home-page .acb-marq .track span:nth-of-type(8n+6){color:#347eac!important}
html body#acb-design.home-page .acb-marq .track span:nth-of-type(8n+7){color:#3674ae!important}
html body#acb-design.home-page .acb-marq .track span:nth-of-type(8n){color:#909090!important}
/* The reference's yellow/red split feature panel. */
html body#acb-design.home-page main .acb-proof>.wrap{padding:0!important;overflow:hidden;background:#4f46e5}
html body#acb-design.home-page .acb-proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:0!important}
html body#acb-design.home-page .acb-proof-copy{background:#4f46e5!important;min-height:0;padding:var(--sp-card)!important;justify-content:flex-start;gap:16.52px;color:#fff}
html body#acb-design.home-page .acb-proof-copy h2{font-size:var(--fs-h2)!important;line-height:var(--lh-title);white-space:normal;letter-spacing:var(--ls-h2);margin:0!important;color:#fff}
html body#acb-design.home-page .acb-proof-copy .mono{color:var(--acb-yellow)!important;margin:0!important}
html body#acb-design.home-page .acb-proof-copy p{font-size:var(--fs-body)!important;line-height:var(--lh-copy);max-width:none;margin:0;color:#fff}
html body#acb-design.home-page .acb-proof-image{margin:0;height:100%;min-height:347px;overflow:hidden}
html body#acb-design.home-page .acb-proof-image img{width:100%;height:100%;object-fit:cover}
html body#acb-design.home-page .acb-look{text-align:left}
html body#acb-design.home-page .acb-look>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:19.83px 24.79px}
html body#acb-design.home-page .acb-look h2{grid-row:span 2;font-size:var(--fs-h2);letter-spacing:var(--ls-h2);line-height:var(--lh-title);max-width:none;margin:0;color:var(--ink)!important}
html body#acb-design.home-page .acb-look p{font-size:var(--fs-body);line-height:var(--lh-copy);max-width:none;margin:0;color:var(--ink)!important}
html body#acb-design.home-page .acb-look .cta{justify-content:flex-start;margin:0}
html body#acb-design.home-page .acb-h2{font-size:var(--fs-h2);letter-spacing:var(--ls-h2);line-height:var(--lh-title);max-width:none;color:var(--ink)}
html body#acb-design.home-page .acb-faq>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:24.79px}
html body#acb-design.home-page .acb-faq .acb-head{text-align:left;margin:0}
html body#acb-design.home-page .acb-faq .faq-list{max-width:none;width:100%;padding:0 var(--sp-card);border-top:0!important}
html body#acb-design.home-page .acb-faq .faq-item:first-child{border-top:0.75px solid var(--line)}
html body#acb-design.home-page .acb-faq .faq-q{font-size:var(--fs-body);padding:16.52px 0;color:var(--ink);line-height:var(--lh-copy)!important}
html body#acb-design.home-page .acb-faq .faq-a p{font-size:var(--fs-body);line-height:var(--lh-copy);max-width:none}
html body#acb-design.home-page main .acb-close>.wrap{background:var(--acb-yellow)!important;color:var(--acb-red)!important;display:grid!important;grid-template-columns:1fr auto;gap:19.83px 33.05px!important;align-items:center;text-align:left}
html body#acb-design.home-page .acb-close .note{font-size:var(--fs-h1)!important;letter-spacing:var(--ls-h1)!important;line-height:var(--lh-title);max-width:none;margin:0!important;color:var(--acb-red)!important}
html body#acb-design.home-page main .acb-close>.wrap .pill.big{font-size:clamp(16.2px,1.8vw,19.8px)!important;padding:19.83px 29.74px!important}
html body#acb-design .acb-footer>.wrap{padding:20px 20px 0px 20px!important;max-width:none}
html body#acb-design .acb-footer :is(p,a,b,h3,.bottom,input,button){color:var(--ink)!important}
html body#acb-design .acb-footer :is(.col a,.news p){font-size:14.87px!important}
html body#acb-design:not(.home-page) :is(.section,.acb-section){padding-top:39.65px!important;padding-bottom:39.65px!important}
/* Closed state: styled exactly like a hovered desktop nav item — light
   indigo pill, indigo text — not an icon. */
html body#acb-design .mobile-menu-toggle{
  width:auto!important;height:auto!important;padding:8.26px 16.52px!important;border:0!important;
  border-radius:6.61px!important;background:#eef2ff!important;color:#4f46e5!important;
  font-family:"Inter",sans-serif!important;font-weight:500!important;font-size:14.87px!important;
  letter-spacing:0!important;text-transform:none!important;
  position:relative!important;z-index:65;transition:background-color .2s ease,color .2s ease;
}
@media(max-width:954px){
 html body#acb-design .acb-header .acb-head-right{display:none!important}
 html body#acb-design .acb-header .mobile-menu-toggle{display:inline-flex!important}
 html body#acb-design .acb-logo{margin-left:5px!important}

 /* Mobile menu, fully open: solid brand-blue panel that slides in
    from the right, big stacked white links with no per-item boxes —
    flat list, spacing comes from gap, not padding. */
 html body#acb-design .acb-header.acb-menu-open,
 html body#acb-design .acb-header.mobile-open{background:#4f46e5!important}
 html body#acb-design .acb-header.acb-menu-open .acb-head-right,
 html body#acb-design .acb-header.mobile-open .acb-head-right{
   display:flex!important;position:fixed!important;inset:0!important;min-height:100dvh!important;
   background:#4f46e5!important;padding:79.32px 19.83px 0!important;margin:0!important;
   flex-direction:column!important;align-items:stretch!important;justify-content:space-between!important;
   overflow-y:auto!important;z-index:61!important;gap:0!important;
   animation:acbMenuIn .4s cubic-bezier(.16,1,.3,1);
 }
 html body#acb-design .acb-header.acb-menu-open .acb-nav,
 html body#acb-design .acb-header.mobile-open .acb-nav{display:flex!important;background:transparent!important;flex-direction:column!important;align-items:stretch!important;gap:13.22px!important;margin:0!important}
 html body#acb-design .acb-header.acb-menu-open .navitem,
 html body#acb-design .acb-header.mobile-open .navitem{border:0!important;padding:0!important}
 html body#acb-design .acb-header.acb-menu-open .navitem>a.navbutton,
 html body#acb-design .acb-header.acb-menu-open .navitem>button.navbutton,
 html body#acb-design .acb-header.mobile-open .navitem>a.navbutton,
 html body#acb-design .acb-header.mobile-open .navitem>button.navbutton{
   display:flex!important;align-items:center!important;justify-content:space-between!important;
   width:100%!important;padding:0!important;margin:0!important;border:0!important;background:none!important;
   border-radius:0!important;
   font-family:"Inter",sans-serif!important;font-weight:500!important;
   font-size:clamp(24.79px,8vw,36.35px)!important;letter-spacing:-.02em!important;line-height:1.15!important;
   color:#fff!important;text-transform:none!important;text-align:left!important;
 }
 html body#acb-design .acb-header.acb-menu-open .navitem.is-active>a.navbutton,
 html body#acb-design .acb-header.acb-menu-open .navitem.is-active>button.navbutton,
 html body#acb-design .acb-header.mobile-open .navitem.is-active>a.navbutton,
 html body#acb-design .acb-header.mobile-open .navitem.is-active>button.navbutton{
   color:var(--yellow,#E4E244)!important;
 }
 html body#acb-design .acb-header.acb-menu-open .navitem>button.navbutton::after,
 html body#acb-design .acb-header.mobile-open .navitem>button.navbutton::after{
   content:"";width:11.02px;height:11.02px;flex-shrink:0;margin-left:9.92px;
   border-right:2.06px solid currentColor!important;border-bottom:2.06px solid currentColor!important;opacity:.7;
   transform:rotate(45deg);transition:transform .3s cubic-bezier(.16,1,.3,1);
 }
 html body#acb-design .acb-header.acb-menu-open .navitem.is-open>button.navbutton::after,
 html body#acb-design .acb-header.mobile-open .navitem.submenu-open>button.navbutton::after{transform:rotate(-135deg)}
 html body#acb-design .acb-header.acb-menu-open .acb-sub,
 html body#acb-design .acb-header.mobile-open .acb-sub,
 html body#acb-design .acb-header.mobile-open .submenu{
   display:flex!important;flex-direction:column!important;position:static!important;min-width:0!important;
   background:transparent!important;border:0!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;
   transform:none!important;padding:0!important;margin:0!important;gap:13.22px!important;
   max-height:0!important;overflow:hidden!important;
   transition:max-height .4s cubic-bezier(.16,1,.3,1)!important;
 }
 html body#acb-design .acb-header.acb-menu-open .navitem.is-open .acb-sub,
 html body#acb-design .acb-header.mobile-open .navitem.submenu-open .acb-sub,
 html body#acb-design .acb-header.mobile-open .navitem.submenu-open .submenu{max-height:80vh!important;padding-top:13.22px!important}
 html body#acb-design .acb-header.acb-menu-open .acb-sub a,
 html body#acb-design .acb-header.mobile-open .acb-sub a,
 html body#acb-design .acb-header.mobile-open .submenu a{
   display:block!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
   font-family:"Inter",sans-serif!important;font-weight:500!important;
   font-size:clamp(24.79px,8vw,36.35px)!important;letter-spacing:-.02em!important;line-height:1.15!important;
   color:rgba(255,255,255,.68)!important;transition:color .2s ease;
 }
 html body#acb-design .acb-header.acb-menu-open .acb-sub a:hover,
 html body#acb-design .acb-header.mobile-open .acb-sub a:hover{color:#fff!important}
 html body#acb-design .acb-header.acb-menu-open .acb-actions,
 html body#acb-design .acb-header.mobile-open .acb-actions{
   position:sticky!important;bottom:0!important;left:-19.83px!important;width:calc(100% + 39.65px)!important;
   margin:19.83px 0 0!important;padding:19.83px 19.83px calc(19.83px + env(safe-area-inset-bottom))!important;
   background:#3730a3!important;border:0!important;border-radius:0!important;
   display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:16.52px!important;
 }
 html body#acb-design .acb-header.acb-menu-open .acb-utility-pill,
 html body#acb-design .acb-header.mobile-open .acb-utility-pill{
   background:#fff!important;color:#4f46e5!important;width:100%!important;justify-content:center!important;
   padding:14.87px!important;font-size:16.52px!important;border-radius:11.56px!important;order:2;
 }
 html body#acb-design .acb-header.acb-menu-open .acb-social,
 html body#acb-design .acb-header.mobile-open .acb-social{
   display:flex!important;justify-content:center!important;gap:22.03px!important;order:1;
 }
 html body#acb-design .acb-header.acb-menu-open .acb-social a,
 html body#acb-design .acb-header.mobile-open .acb-social a{color:rgba(255,255,255,.85)!important}
 html body#acb-design .acb-header.acb-menu-open .acb-social a svg,
 html body#acb-design .acb-header.mobile-open .acb-social a svg{width:22.03px!important;height:22.03px!important}
 @keyframes acbMenuIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}

 /* Close control: the same element, same spot as the closed pill (no
    position override, so it can't jump) — swaps to a plain "×". */
 html body#acb-design .acb-header.acb-menu-open .mobile-menu-toggle,
 html body#acb-design .acb-header.mobile-open .mobile-menu-toggle{
   width:36.35px!important;height:36.35px!important;padding:0!important;
   background:transparent!important;border-radius:0!important;
   font-size:0!important;color:transparent!important;
 }
 html body#acb-design .acb-header.acb-menu-open .mobile-menu-toggle::after,
 html body#acb-design .acb-header.mobile-open .mobile-menu-toggle::after{
   content:"\00d7";position:absolute;top:50%;left:50%;transform:translate(-50%,-55%);
   font-size:33.05px!important;line-height:1!important;color:#fff!important;
   font-family:"Inter",sans-serif!important;font-weight:400!important;
 }

}
@media(max-width:684px){
 html body#acb-design .acb-header{top:10.74px!important;width:calc(100% - 26.44px)!important;margin:10.74px auto!important}
 html body#acb-design .acb-header .inner{padding:0!important}
 html body#acb-design.home-page main section:where(:not(.acb-hero):not(.acb-marq)){margin:24.79px 13.22px!important}
 html body#acb-design.home-page main section:where(:not(.acb-hero):not(.acb-marq))>.wrap{padding:19.83px 16.52px!important}
 html body#acb-design:is(.home-page,.blocks-page) main .acb-say>.wrap{padding:26.44px 16.52px!important}
 html body#acb-design:is(.home-page,.blocks-page) .acb-say .cln{margin-top:23.13px!important}
 html body#acb-design.home-page :is(.acb-proof-grid,.acb-look>.wrap,.acb-faq>.wrap,.acb-close>.wrap){grid-template-columns:1fr!important}
 html body#acb-design.home-page .acb-proof-image{min-height:231.34px;height:264.38px}
 html body#acb-design.home-page .acb-look h2{grid-row:auto}
 html body#acb-design.home-page .acb-close>.wrap>div{justify-content:flex-start!important}
 html body#acb-design .acb-footer .bottom>div{justify-content:flex-start!important;gap:9.92px!important}
 html body#acb-design .acb-footer .bottom a{margin-left:0!important}
}

html body#acb-design .acb-nav{margin-left:auto!important;flex:0 1 auto!important}
html body#acb-design .acb-proof-grid{align-items:stretch}
html body#acb-design .acb-proof-image{position:relative;min-height:363.53px;height:auto}
html body#acb-design .acb-proof-image img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}
html body#acb-design .acb-header .navbutton{text-transform:none!important;padding:4.96px 8.26px!important;margin:-4.96px -8.26px!important}
html body#acb-design .acb-header .acb-social{display:none}
@media(max-width:684px){html body#acb-design .acb-proof-image{height:264.38px;min-height:0}}
html body#acb-design .acb-say .hl{background:none!important;padding:0!important}
html body#acb-design main section:not(.acb-hero) :is(.rv,.rvl){opacity:1!important;transform:none!important}
html body#acb-design .acb-header .acb-utility-pill{background:#4f46e5!important;color:#fff!important;border:0!important;padding:8.26px 14.87px!important;border-radius:var(--radius-card)!important;white-space:nowrap;font-family:"Inter",sans-serif!important;font-size:13.22px!important;text-transform:none!important;letter-spacing:0!important}

/* White-version spacing rhythm, with "Inter" body and navigation. */
html body#acb-design.home-page main .acb-proof>.wrap{padding:0!important}
html body#acb-design.home-page .work-card{box-shadow:var(--shadow-card)}
html body#acb-design:is(.home-page,.blocks-page) .acb-say p{max-width:none!important;width:100%;margin:0!important;text-align:left;font-size:var(--fs-copy-lg)!important;line-height:var(--lh-title)!important;text-wrap:wrap!important;color:var(--ink)!important;letter-spacing:var(--ls-title)!important}
html body#acb-design.home-page main section:not(.acb-hero) :is(p:not(.scrolltext):not(.note),.faq-q,.plist li){letter-spacing:var(--ls-copy-lg)!important}
html body#acb-design .acb-header :is(.navbutton,.acb-sub a,.acb-utility-pill){letter-spacing:var(--ls-copy-lg)!important}
html body#acb-design .acb-footer :is(p,a,input,button){letter-spacing:var(--ls-copy-lg)!important}
html body#acb-design:not(.home-page) :is(p,li,input,textarea,select,button,.btn,.pill,.navbutton,.acb-sub a){font-family:"Inter",sans-serif!important;letter-spacing:var(--ls-copy-lg)}
html body#acb-design:is(.home-page,.blocks-page) main .acb-say p.scrolltext{letter-spacing:var(--ls-title)!important}
html body#acb-design:is(.home-page,.blocks-page) .acb-say p.scrolltext{line-height:1.1!important}
/* Long, wide paragraphs shouldn't run edge to edge — hold back roughly a
   sixth of the section on the right so lines stay a readable length. */
html body#acb-design:is(.home-page,.blocks-page) .acb-say p.scrolltext{padding-right:16.67%!important}
html body#acb-design.internal-page .access-note{padding-right:16.67%!important}

/* "Inter" body; existing display titles remain unchanged. */
html body#acb-design :is(p,li,input,textarea,select,button,.pill,.btn,.btn-out,.navbutton,.acb-sub a,.mono,.eyebrow,.acb-eyebrow,.pe,.clabel,.note){font-family:"Inter",sans-serif!important;font-weight:500!important}
html body#acb-design .acb-hero :is(.sub,.pill){font-family:"Inter",sans-serif!important}
/* White-version near-black footer with readable white type and mark. */
html body#acb-design .acb-footer :is(p,a,b,h3,.bottom,input,button){color:#fff!important}
html body#acb-design .acb-footer .acb-logo-mount{color:#fff!important}
html body#acb-design .acb-footer :is(.top,.bottom,.foot-lead,.acb-newsletter){border-color:rgba(255,255,255,.25)!important}
html body#acb-design .acb-footer input::placeholder{color:rgba(255,255,255,.7)!important}
/* Even rhythm between panels: 49.57px everywhere (the average of the old 41.31px
   section gap and the ~82.62px it actually came out to before the footer,
   since .acb-footer sits in its own wrapper and its margin-top doesn't
   collapse with the previous section's margin-bottom like every other
   pair does — so the footer side gets 0 and leans on the section's own
   margin-bottom to make the same 49.57px, instead of doubling it). */
html body#acb-design.home-page main section:where(:not(.acb-hero):not(.acb-marq)){margin-top:var(--sp-gap)!important;margin-bottom:var(--sp-gap)!important}
@media(max-width:684px){
 html body#acb-design.home-page main section:where(:not(.acb-hero):not(.acb-marq)){margin-top:var(--sp-gap)!important;margin-bottom:var(--sp-gap)!important}
 html body#acb-design .acb-footer{margin-top:0!important}
}

/* "Inter" across all live typography; logo remains its original vector artwork. */
html body#acb-design,html body#acb-design *{font-family:"Inter",sans-serif!important;font-weight:500!important}
html body#acb-design{--site-gutter:clamp(16.52px,4vw,59.49px);--site-width:calc(min(100vw,1305.4px) - 2 * var(--site-gutter));--panel-boost:clamp(0px,6vw,80px)}
/* Desktop only (mobile/tablet keep the clamp above untouched): the gutter
   stops scaling up with viewport width past this point, so --site-width
   uses noticeably more of the screen instead of growing its side margins
   right along with it. */
@media(min-width:954.9px){html body#acb-design{--site-gutter:clamp(18px,1vw,28.8px)}}
html body#acb-design main{width:var(--site-width)!important;max-width:none!important;margin-inline:auto!important}
html body#acb-design .acb-header{width:calc(var(--site-width) + var(--panel-boost))!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}
/* The extra "wider than the panel" flourish is desktop-only — at mobile/
   tablet widths the header already had almost no spare room (site-width's
   own side gutters shrink a lot there), so a flat extra px pushed the
   header wider than the viewport itself and off the sides of the screen. */
@media(min-width:954.9px){html body#acb-design .acb-header{width:calc(var(--site-width) + var(--panel-boost) + 48px)!important}}
html body#acb-design.home-page main section:where(:not(.acb-hero):not(.acb-marq)){margin-left:0!important;margin-right:0!important}
/* Full image with a white text panel overlaid on its left edge. */
html body#acb-design.home-page .acb-hero{padding:0!important;background:transparent!important;width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important}
html body#acb-design.home-page .acb-hero>.wrap{padding:0!important;max-width:none!important}
html body#acb-design.home-page .acb-hero-grid{position:relative;display:grid;grid-template-columns:1fr!important;min-height:clamp(446.15px,70vh,611.39px);border-radius:0!important;overflow:hidden;padding:33.05px;align-items:end;isolation:isolate}
html body#acb-design.home-page .acb-hero-img{position:absolute;inset:0;z-index:-1;margin:0!important;width:100%;height:100%;min-height:0!important}
html body#acb-design.home-page .acb-hero-img img{width:100%;height:100%;min-height:0!important;object-fit:cover;object-position:center 45%;display:block}
html body#acb-design.home-page .acb-hero .sub{font-size:var(--fs-body);line-height:var(--lh-copy);max-width:none;margin-top:16.52px}
html body#acb-design.home-page .acb-hero .sub br{display:none}
html body#acb-design.home-page .acb-hero .pill{background:#4f46e5!important;color:#fff!important;border-color:#4f46e5!important;padding:11.56px 14.87px!important}
/* Two equal-width groups provide an exact, seamless half-track translation. */
html body#acb-design.home-page .acb-marq{margin:0 0 0 calc(50% - 50vw)!important;padding:13.22px 0!important;width:100vw!important;max-width:100vw!important;overflow:hidden;background:#fff!important;border:0!important}
html body#acb-design.home-page .acb-marq .track{display:flex;width:max-content;gap:0;white-space:nowrap;animation:acb-marquee 40s linear infinite;font-size:14.87px;line-height:1.4;will-change:transform}
html body#acb-design.home-page .acb-marq .marq-group{display:flex;align-items:center;flex-shrink:0;gap:19.83px;padding:0 19.83px 0 0}
html body#acb-design.home-page .acb-marq .track span{padding:0;flex-shrink:0}
html body#acb-design.home-page .acb-marq .track em{color:#b7b7b4!important;font-style:normal;font-size:14.87px;flex-shrink:0}
@keyframes acb-marquee{to{transform:translateX(-50%)}}
html body#acb-design.home-page .acb-marq:hover .track{animation-play-state:paused}
@media(max-width:954px){
 html body#acb-design.home-page .acb-hero-copy{width:min(429.62px,65%)}
}
@media(max-width:684px){
 html body#acb-design.home-page .acb-hero-grid{min-height:449px;padding:13.22px;align-items:end}
 html body#acb-design.home-page .acb-hero-copy{width:100%;padding:19.83px!important}
 html body#acb-design.home-page .acb-hero-img img{object-position:60% center}
 html body#acb-design.home-page .acb-marq .marq-group{gap:16.52px;padding-right:16.52px}
}
@media(prefers-reduced-motion:reduce){
 html body#acb-design.home-page .acb-marq{overflow-x:auto}
 html body#acb-design.home-page .acb-marq .track{animation:none}
 html body#acb-design.home-page .acb-marq .marq-group[aria-hidden]{display:none}
}
/* Compact copyright/legal row, matching the white version. */
html body#acb-design .acb-footer .bottom,
html body#acb-design .acb-footer .bottom a{
  font-size:6.95px!important;
  line-height:1.5;
  letter-spacing:.09em!important;
}

/* All buttons: rounded like the section cards, and no all-caps. */
html body#acb-design :is(.pill,.pill.big,.pill.alt,.pill.is-outline,.btn,.btn.big,.btn.dark,.btn-out,.acb-utility-pill,.refbar-btn){
  border-radius:var(--radius-card)!important;
  text-transform:none!important;
}

/* Home hero: header floats over it so the image touches the top/left/right edges.
   Fixed positioning uses margin-top:0 here because, unlike sticky, a fixed element's
   top offset and margin-top stack — using both like the shared rule above would
   double the gap and sit the header lower than on every other page. */
html body#acb-design .acb-header{position:fixed!important;left:0;right:0;top:19.83px!important;margin:0 auto!important}

/* Centre the nav in the header (desktop only); Book a call stays on the right. */
@media(min-width:954.9px){
  html body#acb-design .acb-header .inner{position:relative!important}
  html body#acb-design .acb-header .acb-nav{position:absolute!important;left:50%!important;transform:translateX(-50%)!important;margin:0!important;flex:0 0 auto!important}
}

/* Taller hero with the text bubble centred (both axes). */
html body#acb-design.home-page .acb-hero-grid{min-height:clamp(423px,74vh,778px)!important;align-items:center!important;justify-items:center!important;padding:33.05px calc((100vw - var(--site-width)) / 2)!important}
html body#acb-design.home-page .acb-hero-copy{position:relative;z-index:1;display:block;background:#fff!important;border-radius:var(--radius-card);width:fit-content!important;max-width:min(94vw,743.58px)!important;text-align:center!important;margin:0!important;padding:19.83px 26.44px!important}
html body#acb-design.home-page .acb-hero h1{font-size:14.87px!important;line-height:1.4!important;letter-spacing:0!important;font-weight:500!important;max-width:none;margin:0}
@media(max-width:684px){
  html body#acb-design.home-page .acb-hero h1{line-height:1!important;font-size:clamp(9.5px,3.3vw,14.4px)!important}
}
html body#acb-design.home-page .acb-hero .acb-cta{gap:8.26px;justify-content:center!important;margin-top:14.87px!important}

/* Footer sits at the very bottom: no gap below it, and pinned down on short pages.
   The footer itself bleeds edge to edge; each of its 3 rows (.wrap = logo/newsletter,
   .top.acb-footer-links = link columns, .bottom = copyright) stays centered at the
   site's normal reading width, same as the header and main content. */
html body#acb-design .acb-footer{width:100%!important;max-width:none!important;margin:0!important;background:var(--ink)!important;color:#fff!important;border-radius:0!important;padding:clamp(24px,3.4vw,40px) 0 0!important}
html body#acb-design .acb-footer>.wrap,
html body#acb-design .acb-footer>.top.acb-footer-links,
html body#acb-design .acb-footer>.bottom{width:var(--site-width)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}
html body#acb-design .acb-footer .top.acb-footer-links{padding:clamp(19.8px,3.4vw,33.6px) 0!important;gap:clamp(16.2px,2.2vw,26px)!important}
/* Copyright row: hugs the very bottom of the page, sized to its own text
   plus menu-style padding rather than the taller row spacing above. */
html body#acb-design .acb-footer .bottom{margin-top:0!important;padding:9.92px 0!important}

/* Foot-lead (logo/tagline + newsletter signup) row: same layout on every
   page as on home — a 2-column grid, not base.css's plainer stacked/grid
   layout that internal pages were falling back to. */
html body#acb-design .acb-footer .foot-lead{display:grid!important;grid-template-columns:1fr 1fr!important;gap:clamp(20px,3.4vw,44px)!important;padding-bottom:clamp(20px,3.4vw,36px)!important;border-bottom:0.83px solid rgba(255,255,255,.25)!important}
html body#acb-design .acb-footer .mark{display:block!important;padding:0!important}
html body#acb-design .acb-footer .mark .acb-logo-mount{height:36px!important}
html body#acb-design .acb-footer .ack{max-width:29ch!important;margin:13.22px 0 0!important;font-size:clamp(13.22px,1.3vw,17.7px)!important;line-height:1.18!important;color:#fff!important}
html body#acb-design .acb-footer .acb-footer-news{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:space-between!important;height:100%!important;padding:0!important;border:0!important;grid-column:auto!important}
html body#acb-design .acb-footer .acb-footer-news h3{font-family:"Inter",sans-serif!important;font-size:clamp(16.2px,1.7vw,21px)!important;font-weight:400!important;white-space:normal!important;margin:0!important}
html body#acb-design .acb-footer .acb-footer-news p{font-size:clamp(11.02px,1vw,13.22px)!important;max-width:44ch!important;margin:6.61px 0 11.02px!important;line-height:1.4!important;align-self:flex-start!important}
html body#acb-design .acb-footer .acb-newsletter{display:flex!important;margin:0!important;max-width:none!important;width:100%!important;grid-column:auto!important}
html body#acb-design .acb-footer .bottom a{color:inherit!important}
@media(max-width:630px){
  html body#acb-design .acb-footer .foot-lead{grid-template-columns:1fr!important}
  html body#acb-design .acb-footer .mark .acb-logo-mount{height:32px!important}
}

/* Cookie banner: site.js injects this <aside> on every page, but its only
   styling used to live in v2.css, which just a handful of article pages
   load — everywhere else it rendered unstyled and in normal document flow
   (pushing real height in below the footer instead of floating over the
   page). Styled here instead, since acb.css loads on every page. */
html body#acb-design .cookie-banner{
  position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:9999!important;
  display:grid!important;grid-template-columns:1fr auto!important;gap:16.2px 25.2px!important;align-items:center!important;
  width:100%!important;max-width:none!important;margin:0!important;
  padding:18px clamp(16.2px,4vw,36px)!important;background:var(--ink)!important;color:#fff!important;
}
html body#acb-design .cookie-banner[hidden]{display:none!important}
html body#acb-design .cookie-banner strong{display:block!important;font-size:var(--fs-body)!important;font-weight:500!important;margin:0 0 3.6px!important;color:#fff!important;line-height:var(--lh-copy)!important}
html body#acb-design .cookie-banner p{font-size:var(--fs-small)!important;line-height:var(--lh-copy)!important;color:rgba(255,255,255,.75)!important;margin:0!important;max-width:65ch!important}
html body#acb-design .cookie-banner a{color:#fff!important;text-decoration:underline!important;text-underline-offset:1.8px!important}
html body#acb-design .cookie-banner .cookie-actions{display:flex!important;gap:10.8px!important;flex-wrap:wrap!important}
html body#acb-design .cookie-banner button{font-family:"Inter",sans-serif!important;font-weight:500!important;font-size:var(--fs-button)!important;padding:8.26px 14.87px!important;border-radius:var(--radius-card)!important;border:0!important;cursor:pointer!important;white-space:nowrap!important;line-height:var(--lh-copy)!important}
html body#acb-design .cookie-banner [data-cookie-reject]{background:rgba(255,255,255,.12)!important;color:#fff!important}
html body#acb-design .cookie-banner [data-cookie-accept]{background:#4f46e5!important;color:#fff!important}
html body#acb-design .cookie-banner [data-cookie-accept]:hover{background:#3f37c4!important}
@media(max-width:558px){
  html body#acb-design .cookie-banner{grid-template-columns:1fr!important}
}
/* Sticky-footer layout: body is the flex column on every page (home included —
   there's no .site wrapper div anywhere anymore, it did nothing home's own
   body-level flex didn't already do). */
html body#acb-design{min-height:100vh;display:flex;flex-direction:column}
html body#acb-design>main{flex:1 0 auto}

/* Buttons on the yellow CTA bar + header hover use our button blue. */
html body#acb-design .acb-close :is(.pill,.btn,.is-outline,.btn-out),
html body#acb-design .acb-close-sub :is(.pill,.btn,.is-outline,.btn-out){background:#4f46e5!important;color:#fff!important;border-color:#4f46e5!important}
html body#acb-design .acb-close :is(.pill,.btn,.is-outline,.btn-out):hover,
html body#acb-design .acb-close-sub :is(.pill,.btn,.is-outline,.btn-out):hover,
html body#acb-design .acb-header .acb-utility-pill:hover{background:#3f37c4!important;color:#fff!important;border-color:#3f37c4!important}

/* ==========================================================================
   SHARED SUBPAGE LAYER — align every internal page with the home language:
   blue text eyebrows, "Inter" type, calmer heading sizes, 9.92px corners,
   indigo buttons. Loaded last so it wins over white-pages.css.
   ========================================================================== */
/* Eyebrows/labels become plain blue text (not a filled chip). */
html body#acb-design.internal-page :is(.mono,.eyebrow,.audience-eyebrow,.eyebrow2,.acb-eyebrow,.pe,.reslabel,.post-tag,.side-note,.card-tag,.faqx-nav .lbl){
  background:none!important;color:var(--blue)!important;width:auto!important;max-width:none!important;
  padding:0!important;font-size:var(--fs-label)!important;font-weight:600!important;letter-spacing:var(--ls-label)!important;
  text-transform:uppercase!important;margin:0 0 clamp(11.56px,1.6vw,16.52px)!important;
}
html body#acb-design.faq-page .faqx-cat-head .n{color:var(--blue)!important;font-size:var(--fs-h2)!important;font-weight:500!important;letter-spacing:var(--ls-h2)!important;text-transform:none!important;margin:0!important;line-height:var(--lh-title)!important}
/* "Inter" everywhere; dark headings with acb tracking. */
html body#acb-design.internal-page :is(h1,h2,h3,h4,p,li,a,span,strong,button,input,textarea,select,.display,.big){font-family:"Inter",sans-serif!important;font-weight:500!important}
html body#acb-design.internal-page :is(h1,h2,.display,.big){letter-spacing:var(--ls-title)!important;color:var(--ink)!important;font-weight:500!important}
/* Same 2-title / 3-copy / 1-label scale as the home page, on every subpage. */
html body#acb-design.internal-page :is(.display,.section-head h2,.section h2,.big,h2){font-size:var(--fs-h2)!important;line-height:var(--lh-title)!important}
html body#acb-design.internal-page :is(.page-hero h1,.legal-hero h1,.audience-hero-heading,.center-hero h1,h1){font-size:var(--fs-h1)!important;line-height:var(--lh-title)!important}
html body#acb-design.internal-page :is(.card h3,h3){font-size:var(--fs-copy-lg)!important;letter-spacing:var(--ls-copy-lg)!important;line-height:var(--lh-copy)!important}
/* Body copy: big (lead paragraphs) / medium (standard) / small (fine detail). */
html body#acb-design.internal-page :is(.acb-lead,.section-head p,.callout p){font-size:var(--fs-copy-lg)!important;letter-spacing:var(--ls-copy-lg)!important;line-height:var(--lh-copy)!important}
html body#acb-design.internal-page :is(p,.prose p,.card p,.outcome-list li,.faq-q,.faq-a p,.faqx .offer-toggle,.faqx .offer-body p,.audience-intro .body,.audience-eyebrow+p){font-size:var(--fs-body)!important;letter-spacing:var(--ls-body)!important;line-height:var(--lh-copy)!important}
html body#acb-design.internal-page :is(.plan-card p,.plan-card .plan-format,.note,small,.resitem span,.fxcard p){font-size:var(--fs-small)!important;letter-spacing:var(--ls-small)!important;line-height:var(--lh-copy)!important}
html body#acb-design.internal-page .access-note{font-size:var(--fs-copy-lg)!important;letter-spacing:var(--ls-copy-lg)!important;line-height:var(--lh-copy)!important}
/* 9.92px rounded surfaces to match the home. */
html body#acb-design.internal-page :is(.card,.plan-card,.price-card,.pack-card,.arc-card,.fxcard,.tcard,.resitem,.blog-card,.bmcard,.faq-item,.access-note,.outcome-list li,.tcol,.result-card){border-radius:var(--radius-card)!important}
html body#acb-design.internal-page :is(img,figure,.acb-hero-img,.bmcard-img,.split-img){border-radius:var(--radius-card)!important;overflow:hidden}
html body#acb-design.internal-page :is(input,textarea,select){border-radius:var(--radius-card)!important}
/* Buttons: our indigo, 9.92px, consistent hover — no yellow leak. */
html body#acb-design.internal-page :is(.btn,.btn-out,.pill,.acb-utility-pill,.refbar-btn){background:#4f46e5!important;color:#fff!important;border-color:#4f46e5!important;border-radius:var(--radius-card)!important}
html body#acb-design.internal-page :is(.btn,.btn-out,.pill,.acb-utility-pill,.refbar-btn):hover{background:#3f37c4!important;color:#fff!important;border-color:#3f37c4!important}

/* Hero sentence wraps only on phones. */
@media(max-width:648px){html body#acb-design.home-page .acb-hero h1{white-space:normal!important}}
/* Keep highlighted phrases fully visible without scroll-driven reveals. */
html body#acb-design:is(.home-page,.blocks-page) .acb-say p .hl{
  --hlp:1;
  background-image:linear-gradient(to bottom,transparent 8%,#E4E244 8%,#E4E244 92%,transparent 92%)!important;
  background-repeat:no-repeat!important;
  background-size:calc(var(--hlp) * 100%) 100%!important;
  background-position:left center!important;
  transition:none;
  color:var(--ink)!important;padding:0 .05em!important;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
}
@media(prefers-reduced-motion:reduce){
  html body#acb-design:is(.home-page,.blocks-page) .acb-say p .hl{background-size:100% 100%!important}
}
html body#acb-design:is(.home-page,.blocks-page) .acb-say p .hl::selection,html body#acb-design:is(.home-page,.blocks-page) .acb-say p .hl ::selection{background:#4f46e5!important;color:#fff!important}
html body#acb-design:is(.home-page,.blocks-page) .acb-say p .hl::-moz-selection,html body#acb-design:is(.home-page,.blocks-page) .acb-say p .hl ::-moz-selection{background:#4f46e5!important;color:#fff!important}

/* Uniform header across all pages: same logo size everywhere (subpages were 39.65px). */
html body#acb-design .acb-logo .acb-logo-mount{height:38px!important}

/* ==========================================================================
   SUBPAGE SECTION FRAMING — content pages match the home: grey field with
   white 9.92px rounded section cards. Heroes and the yellow CTA are excluded.
   Custom-layout pages keep their structure (they get typography/radius only).
   ========================================================================== */
html body#acb-design:is(.evidence-page,.factors-page,.about-page,.individuals-page,.organisations-page,.faq-page,.legal-page,.blocks-page,.method-page,.resources-page){background:#f6f6f6!important}
html body#acb-design:is(.evidence-page,.factors-page,.about-page,.individuals-page,.organisations-page,.faq-page,.legal-page,.blocks-page,.method-page,.resources-page) main section:not(.acb-hero):not(.center-hero):not(.page-hero):not(.bmap):not(.bm-hero):not(.bm-faq):not(.evidence-band):not(.arc-sec){margin:var(--sp-gap) 0!important;padding:0!important;border:0!important}
html body#acb-design:is(.evidence-page,.factors-page,.about-page,.individuals-page,.organisations-page,.faq-page,.legal-page,.blocks-page,.method-page,.resources-page) main :is(.acb-hero,.page-hero){margin:0!important;padding:0!important;border:0!important}
html body#acb-design:is(.evidence-page,.factors-page,.about-page,.individuals-page,.organisations-page,.faq-page,.legal-page,.blocks-page,.method-page,.resources-page) main section:not(.dark):not(.blue):not(.yellow):not(.pink):not(.ink):not(.tint):not(.talks-section):not(.legal-section):not(.bmap):not(.arc-sec):not(.evidence-band){background:transparent!important;background-image:none!important}
html body#acb-design:is(.evidence-page,.factors-page,.about-page,.individuals-page,.organisations-page,.faq-page,.legal-page,.blocks-page,.method-page,.resources-page) main section:not(.acb-hero):not(.page-hero):not(.acb-close-sub):not(.close):not(.talks-section):not(.dark):not(.blue):not(.yellow):not(.pink):not(.ink):not(.tint):not(.legal-section):not(.bmap):not(.arc-sec):not(.evidence-band):not(.bm-hypo) > .wrap{
  background:#fff!important;border-radius:var(--radius-card)!important;padding:var(--sp-card)!important;max-width:none!important;width:100%!important;box-shadow:var(--shadow-card)!important;
}
/* .talks-section keeps its own black card instead of the generic grey/white treatment. */
html body#acb-design.organisations-page main section.talks-section{background:#000!important}
html body#acb-design.organisations-page main section.talks-section>.wrap{background:#000!important;color:#fff!important;border-radius:var(--radius-card)!important;padding:var(--sp-card)!important;max-width:none!important;width:100%!important;box-shadow:var(--shadow-card)!important}
/* .acb-close-sub (the bottom CTA) is its own yellow card, like the home page's close section. */
html body#acb-design:is(.evidence-page,.factors-page,.about-page,.individuals-page,.organisations-page,.faq-page,.legal-page,.blocks-page,.method-page,.resources-page) main .acb-close-sub>.wrap{background:var(--acb-yellow)!important;color:var(--ink)!important;border-radius:var(--radius-card)!important;padding:var(--sp-card)!important;max-width:none!important;width:100%!important;text-align:left!important;display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:19.8px 32.4px!important;box-shadow:var(--shadow-card)!important}
html body#acb-design:is(.evidence-page,.factors-page,.about-page,.individuals-page,.organisations-page,.faq-page,.legal-page,.blocks-page,.method-page,.resources-page) main .acb-close-sub h2{margin:0!important}
html body#acb-design:is(.evidence-page,.factors-page,.about-page,.individuals-page,.organisations-page,.faq-page,.legal-page,.blocks-page,.method-page,.resources-page) main .acb-close-sub .cta{margin:0!important}
@media(max-width:558px){
  html body#acb-design:is(.evidence-page,.factors-page,.about-page,.individuals-page,.organisations-page,.faq-page,.legal-page,.blocks-page,.method-page,.resources-page) main .acb-close-sub>.wrap{grid-template-columns:1fr!important;text-align:center!important}
}
/* Legal pages (terms/privacy/cookies): the section itself is the white card — it has
   no .wrap child, just the sidebar-nav + article layout, which keeps its own width. */
html body#acb-design.legal-page main section.legal-section{background:#fff!important;border-radius:var(--radius-card)!important;padding:var(--sp-card)!important}
/* Section images sit flush and rounded like the home cards. */
html body#acb-design.internal-page :is(figure,.split-img,.acb-hero-img) img{border-radius:var(--radius-card)!important;display:block;width:100%}
/* Colour-class sections keep their own colour — beats an old nth-of-type(2n)
   zebra-stripe rule from before the unified card system existed. */
html body#acb-design.internal-page main section.tint{background:transparent!important}
/* .tint.flush-sec (about, the-factors) is a two-column split layout, not
   a centred text block with its own .wrap card — it has no other source
   of background/radius, so the line above left it blank on the page.
   Give it the same white-card treatment as everything else instead. */
html body#acb-design main section.tint.flush-sec{padding:0!important}
html body#acb-design main section.tint.flush-sec .flush{background:#fff!important;border-radius:var(--radius-card)!important;overflow:hidden!important;box-shadow:var(--shadow-card)!important}
html body#acb-design.internal-page main section.yellow{background:var(--yellow)!important}
html body#acb-design.internal-page main section.pink{background:var(--pink)!important}
html body#acb-design.internal-page main section.blue{background:var(--brand,#4f46e5)!important;color:#fff!important}
html body#acb-design.internal-page main section.ink{background:var(--ink)!important;color:#fff!important}
/* Evidence page: the yellow/blue bands were full-bleed squares while the
   rest of the site (including this page's own closing card) uses rounded
   cards — move the colour from the section onto an inset, rounded card. */
html body#acb-design.evidence-page main section.yellow{background:transparent!important}
html body#acb-design.evidence-page main section.yellow>.wrap{background:var(--yellow)!important;border-radius:var(--radius-card)!important;padding:var(--sp-card)!important;max-width:none!important;width:100%!important}
html body#acb-design.evidence-page main section.blue.flush-sec{background:transparent!important;padding:0!important}
html body#acb-design.evidence-page main section.blue.flush-sec .flush{background:var(--brand,#4f46e5)!important;border-radius:var(--radius-card)!important;overflow:hidden!important}
/* Same fix for the nth-of-type(2n+1) (odd) variant of the same zebra-stripe rule. */
html body#acb-design.blocks-page main section.evidence-band{background:var(--brand,#4f46e5)!important;color:#fff!important}
html body#acb-design.blocks-page main section.bmap{background:transparent!important}
/* Consistent block colour cards still read on the white field. */
html body#acb-design.internal-page :is(.card,.tcard,.plan-card,.trio>*){background:#fff!important;border:0.83px solid #ececec!important}

/* ==========================================================================
   BLOCK MAP — slide-in detail panel: wider (half the viewport, not capped
   at 386.66px), rounded to match the card system, bigger/legible type, and
   accented with the clicked block's own colour (--pc, set by the page's
   inline script) instead of the flat legacy yellow.
   ========================================================================== */
html body#acb-design .refpanel{
  --pc:#818cf8;
  width:50%!important;min-width:347px!important;max-width:none!important;
  border-radius:13.22px 0 0 13.22px!important;
  background:var(--pc)!important;color:var(--ink)!important;
}
@media(max-width:774px){html body#acb-design .refpanel{width:88%!important;min-width:0!important}}
html body#acb-design .refpanel.refpanel h3{font-size:clamp(31.1px,4.2vw,50.54px)!important;font-weight:500!important;letter-spacing:-.025em!important;color:var(--ink)!important}
html body#acb-design .bd-sci{font-size:12.64px!important;font-weight:500!important;letter-spacing:.08em!important;color:var(--ink)!important;opacity:.65}
html body#acb-design .refpanel .bd-lead{font-size:18.47px!important;line-height:1.5!important;color:var(--ink)!important}
html body#acb-design .refpanel h4{color:var(--ink)!important;opacity:.65;font-size:11.66px!important;font-weight:500!important;letter-spacing:.08em!important}
html body#acb-design .refpanel .bd-list li{font-size:15.55px!important;font-weight:500!important;line-height:1.5!important;color:var(--ink)!important}
html body#acb-design .refpanel .bd-list li::before{color:var(--ink)!important}
html body#acb-design .refpanel .bd-under{font-size:16.52px!important;line-height:1.55!important;color:var(--ink)!important}
html body#acb-design .refpanel-close{color:var(--ink)!important;opacity:.7}
html body#acb-design .refpanel-close:hover{opacity:1}

/* Terrain cards (the-factors, our-method) get a small icon badge (indigo
   tint, matching the block-color-badge language used on the block map). */
html body#acb-design:is(.factors-page,.method-page) .tcard{display:flex!important;flex-direction:column;align-items:flex-start}
html body#acb-design:is(.factors-page,.method-page) .tcard-ic{
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  width:36.35px;height:36.35px;margin-bottom:11.56px;border-radius:var(--radius-card)!important;
  background:#eef2ff;color:#4f46e5;
}
html body#acb-design:is(.factors-page,.method-page) .tcard-ic svg{width:18.18px;height:18.18px}

/* Social strip between the FAQ and closing CTA — two plain columns,
   Instagram / LinkedIn, no brand-colour background. */
html body#acb-design.home-page .acb-follow>.wrap{
  display:grid!important;grid-template-columns:1fr 1fr!important;align-items:center!important;
  gap:16.52px;padding:33.05px 28.09px!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
html body#acb-design.home-page .social-handle{
  display:block;text-align:center;
  font-family:"Inter",sans-serif!important;font-weight:600;font-size:clamp(32px,5.4vw,52px);
  letter-spacing:-.02em;color:var(--ink)!important;text-decoration:underline;text-underline-offset:.15em;
  transition:opacity .2s ease;
}
html body#acb-design.home-page .social-handle:hover{color:var(--ink)!important;opacity:.7}
html body#acb-design.home-page .pill.social-follow{display:none!important}

/* How we work — CRAFT method: five numbered steps in a row, connected by a
   thin line, each in the same rounded-card language as the rest of the site. */
html body#acb-design.method-page .craft-steps{
  display:grid;grid-template-columns:repeat(5,1fr);gap:13.22px;position:relative;
}
html body#acb-design.method-page .craft-step{
  position:relative;background:#fff;border-radius:var(--radius-card);padding:21.48px 16.52px;
  display:flex;flex-direction:column;gap:8.26px;
}
html body#acb-design.method-page .craft-step:not(:last-child)::after{
  content:"";position:absolute;top:31.39px;left:100%;width:13.22px;height:1.66px;
  background:#e0deee;z-index:1;
}
html body#acb-design.method-page .craft-num{
  display:flex;align-items:center;justify-content:center;width:33.05px;height:33.05px;
  border-radius:var(--radius-card);background:#4f46e5;color:#fff;font-weight:600;font-size:14.05px;
}
html body#acb-design.method-page .craft-step h3{font-size:var(--fs-copy-lg);font-weight:500;letter-spacing:var(--ls-copy-lg);margin:0;color:var(--ink);line-height:var(--lh-copy)!important}
html body#acb-design.method-page .craft-step p{font-size:var(--fs-small);letter-spacing:var(--ls-small);line-height:var(--lh-copy);color:var(--ink-soft);margin:0}
@media(max-width:900px){
  html body#acb-design.method-page .craft-steps{grid-template-columns:1fr 1fr}
  html body#acb-design.method-page .craft-step:nth-child(2)::after,html body#acb-design.method-page .craft-step:nth-child(4)::after{display:none}
}
@media(max-width:558px){
  html body#acb-design.method-page .craft-steps{grid-template-columns:1fr}
  html body#acb-design.method-page .craft-step::after{display:none!important}
}

/* Block map cards: Fairgrounds-locations vibe — photo card, white body,
   bold black title, color used only as a small hint (the label text).
   Full saturated color is reserved for the detail panel on click. */
html body#acb-design.blocks-page .bmcard{background:#fff!important;border:0!important}
html body#acb-design.blocks-page .bmcard-img,
html body#acb-design.blocks-page .bmcard-img img{border-radius:0!important}

/* Experiment: "Inter" on the home page only. Inter and "Inter"
   are still loaded (index.html's font link) so all three can be swapped
   in the inspector for a quick side-by-side comparison. */

/* ==========================================================================
   FOR-INDIVIDUALS / FOR-ORGANISATIONS: "choose a starting point" package
   cards — Fairgrounds-pricing-tier vibe (escalating color weight per tier,
   big bold type), and the dark intro band moved from off-brand teal to
   indigo so it reads as part of the same site.
   ========================================================================== */
html body#acb-design:is(.individuals-page,.organisations-page) .section.dark{background:transparent!important;color:#fff!important}
html body#acb-design:is(.individuals-page,.organisations-page) .section.dark>.wrap{background:#4f46e5!important;color:#fff!important}
html body#acb-design:is(.individuals-page,.organisations-page) .section.dark .body{color:rgba(255,255,255,.85)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-eyebrow{font-family:"Inter",sans-serif!important;font-weight:500!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-intro .big,
html body#acb-design:is(.individuals-page,.organisations-page) .takeaways p{font-family:"Inter",sans-serif!important;font-weight:500!important}

html body#acb-design:is(.individuals-page,.organisations-page) .plan-grid{gap:clamp(13.22px,1.8vw,18.18px)!important}
html body#acb-design.internal-page .access-note{max-width:none!important;width:100%!important;margin:clamp(17.7px,2.89vw,29.07px) 0 0!important;text-align:left!important;background:var(--acb-yellow)!important;color:var(--ink)!important;border:0!important}
html body#acb-design.internal-page:is(.individuals-page,.organisations-page) .plan-card{
  border:0!important;border-radius:var(--radius-card)!important;background:#fff!important;
  padding:clamp(23.13px,2.6vw,31.39px)!important;box-shadow:0 1.66px 3.3px rgba(0,0,0,.08);
}
html body#acb-design:is(.individuals-page,.organisations-page) .plan-card h3{font-family:"Inter",sans-serif!important;font-weight:500!important;font-size:var(--fs-copy-lg)!important;letter-spacing:var(--ls-copy-lg)!important;margin-top:0!important;line-height:var(--lh-copy)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .plan-card p{font-size:12.8px!important;line-height:1.55!important}
html body#acb-design:is(.individuals-page,.organisations-page) .plan-card .plan-format{font-family:"Inter",sans-serif!important;font-weight:500!important}
/* All three cards are the same size — equal-height grid row, no scale
   transform on the middle one (that was throwing its top/bottom edges
   out of line with its siblings). */
html body#acb-design:is(.individuals-page,.organisations-page) .plan-grid{align-items:stretch!important}
html body#acb-design:is(.individuals-page,.organisations-page) .plan-card{height:100%!important}
/* Middle card: the recommended tier — indigo, slightly larger presence. */
html body#acb-design:is(.individuals-page,.organisations-page) .plan-grid .plan-card:nth-child(2){
  background:#4f46e5!important;color:#fff!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .plan-grid .plan-card:nth-child(2) h3,
html body#acb-design:is(.individuals-page,.organisations-page) .plan-grid .plan-card:nth-child(2) p,
html body#acb-design:is(.individuals-page,.organisations-page) .plan-grid .plan-card:nth-child(2) .plan-format{color:#fff!important}
html body#acb-design:is(.individuals-page,.organisations-page) .plan-grid .plan-card:nth-child(2) .btn{background:#fff!important;color:#4f46e5!important;border-color:#fff!important}
/* Third card: the deepest tier — dark, yellow accent. */
html body#acb-design:is(.individuals-page,.organisations-page) .plan-grid .plan-card:nth-child(3){background:#111!important;color:#fff!important}
html body#acb-design:is(.individuals-page,.organisations-page) .plan-grid .plan-card:nth-child(3) h3,
html body#acb-design:is(.individuals-page,.organisations-page) .plan-grid .plan-card:nth-child(3) p,
html body#acb-design:is(.individuals-page,.organisations-page) .plan-grid .plan-card:nth-child(3) .plan-format{color:#fff!important}

/* Tighten the internal-page section gap to match the home page's 49.57px
   rhythm (was riding the shared --section-space var at 72-99.14px, which
   is also used for the home cards' own internal padding — decoupled
   here so that value stays untouched). */
html body#acb-design:not(.home-page) :is(.section,.acb-section){padding-top:49.57px!important;padding-bottom:49.57px!important}
html body#acb-design:not(.home-page) .section{padding-top:49.57px!important;padding-bottom:49.57px!important}

/* Less breathing room inside each section, top/bottom especially —
   horizontal padding untouched. Responsive: 18px on small screens up
   to 27px at wider ones, matching the 27px target on a normal desktop
   viewport. */
html body#acb-design.home-page main section:where(:not(.acb-hero):not(.acb-marq))>.wrap{padding:var(--sp-card)!important}
html body#acb-design:not(.home-page) :is(.section,.acb-section,.legal-section,.contact-unified,.personals-intro,.evidence-band,.blog-list){padding:var(--sp-card)!important}
html body#acb-design.blocks-page :is(.bm-hero,.bmap,.bm-faq){padding:var(--sp-card)!important}
html body#acb-design.home-page main .acb-blocks>.wrap{padding:0!important}
html body#acb-design.home-page main .acb-work>.wrap{padding:0!important;overflow:hidden}

/* Header must never hide on scroll — same always-visible behavior on
   every page as the home page already has. */
html body#acb-design [data-site-header].header-hidden,
html body#acb-design .acb-header.header-hidden{transform:none!important}

/* Block map card label: a small colored pill badge (matching the home
   carousel's .clabel), not the generic teal eyebrow style. */
html body#acb-design.blocks-page .bmcard .card-tag{background:var(--c)!important;color:var(--ink)!important;width:auto!important;max-width:none!important;padding:4.13px 7.43px!important;border-radius:5.4px!important}
html body#acb-design.blocks-page .bmcard-title{font-weight:500!important;font-size:clamp(24px,2.6vw,32px)!important;letter-spacing:var(--ls-title)!important;line-height:1.1!important}
html body#acb-design.blocks-page .bmcard-lead{font-size:var(--fs-body)!important;letter-spacing:var(--ls-body)!important;line-height:1.25!important}

/* More breathing room between the header and the top edge of the page. */
html body#acb-design .acb-header{top:28.8px!important;margin-top:0!important}
html body#acb-design.home-page .acb-header{top:28.8px!important}

/* Header edge padding matches the "Book a call" button's own vertical
   padding (8.26px), so the button sits the same distance from the
   right edge as it does top/bottom — and the logo mirrors it on the left. */

/* for-individuals/for-organisations: match the rest of the internal
   pages — blue eyebrows, bigger bolder headlines. */
html body#acb-design:is(.individuals-page,.organisations-page) .audience-eyebrow{color:var(--blue)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .section.dark .audience-eyebrow{color:#E4E244!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel .mono{color:var(--blue)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-intro .big{font-size:var(--fs-h2)!important;letter-spacing:var(--ls-h2)!important;font-weight:500!important;line-height:var(--lh-title)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .section.audience-intro{text-align:left!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-intro p.lead{font-size:var(--fs-copy-lg)!important;letter-spacing:var(--ls-copy-lg)!important;line-height:var(--lh-title)!important;font-weight:500!important;max-width:none!important}
/* "How it feels": a short relatable signs list under the lead line. */
html body#acb-design:is(.individuals-page,.organisations-page) .signs-list{list-style:none;margin:clamp(19.83px,3vw,29.74px) 0 0!important;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9.92px 26.44px;max-width:56ch}
html body#acb-design:is(.individuals-page,.organisations-page) .signs-list li{position:relative;padding-left:19.83px;font-size:var(--fs-body)!important;line-height:var(--lh-copy)!important;color:var(--ink-soft)}
html body#acb-design:is(.individuals-page,.organisations-page) .signs-list li::before{content:"—";position:absolute;left:0;color:#4f46e5}
@media(max-width:600px){html body#acb-design:is(.individuals-page,.organisations-page) .signs-list{grid-template-columns:1fr}}
/* "How we support you": the arrive/work-through/leave steps, restyled
   for the dark indigo band instead of the light tint/yellow/blue trio. */
html body#acb-design:is(.individuals-page,.organisations-page) .section.dark .acb-loop-steps{margin-top:clamp(26.44px,3.4vw,39.65px)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .section.dark .acb-loop-steps li{background:rgba(255,255,255,.12)!important;color:#fff!important}
html body#acb-design:is(.individuals-page,.organisations-page) .section.dark .acb-loop-steps li span{color:#E4E244!important;opacity:1!important}
html body#acb-design:is(.individuals-page,.organisations-page) .section.dark .acb-loop-steps li b{color:#fff!important}
html body#acb-design:is(.individuals-page,.organisations-page) .section.dark .acb-loop-steps li p{color:rgba(255,255,255,.75)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .section.dark .acb-loop-steps li:not(:last-child)::after{color:rgba(255,255,255,.5)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .takeaways p{font-size:var(--fs-copy-lg)!important;letter-spacing:var(--ls-copy-lg)!important;font-weight:500!important;line-height:var(--lh-copy)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-heading{font-weight:500!important}
html body#acb-design:is(.home-page,.blocks-page) main .acb-say>.wrap{padding:var(--sp-card)!important}
html body#acb-design :is(.center-hero,.acb-close-sub){padding:var(--sp-card)!important}
html body#acb-design.home-page .acb-proof-copy ::selection{background:#4f46e5!important;color:#fff!important}
/* Every yellow-background surface site-wide gets blue selection instead of
   the default yellow (which is invisible against a yellow background). */
html body#acb-design :is(.access-note,.map-test-inline,.audience-hero-heading .cycling-word)::selection,
html body#acb-design :is(.access-note,.map-test-inline,.audience-hero-heading .cycling-word) ::selection{background:#4f46e5!important;color:#fff!important}

/* Individuals/Organisations: the .dark intro section keeps its own indigo card
   instead of the generic white-card treatment above (line 437). */
html body#acb-design:is(.individuals-page,.organisations-page) .section.dark>.wrap{padding:var(--sp-card)!important;border-radius:var(--radius-card)!important;max-width:none!important;width:100%!important;box-shadow:var(--shadow-card)!important}

/* ==========================================================================
   INTERNAL PAGE COHERENCE — the homepage is the reference for gutters,
   surfaces, radius, spacing and typography.
   ========================================================================== */
:root{--page-gutter:clamp(16.2px,2vw,24.79px)}
html body#acb-design.internal-page:not(.individuals-page):not(.organisations-page) main{padding-top:99px}
html body#acb-design.internal-page main section,
html body#acb-design.internal-page .method-journey{width:auto!important;max-width:none!important;margin-left:var(--page-gutter)!important;margin-right:var(--page-gutter)!important}
html body#acb-design.internal-page main section:not(.acb-hero):not(.center-hero):not(.page-hero):not(.blog-hero):not(.bm-hero):not(.domain-hero){margin-top:var(--sp-gap)!important;margin-bottom:var(--sp-gap)!important}
html body#acb-design.internal-page main :is(.acb-hero,.center-hero,.page-hero,.blog-hero,.bm-hero,.domain-hero){margin-top:0!important;margin-bottom:0!important}
html body#acb-design.internal-page main section:first-child{margin-top:var(--page-gutter)!important}
html body#acb-design.internal-page main section:last-child{margin-bottom:var(--page-gutter)!important}
html body#acb-design.internal-page main section>.wrap,
html body#acb-design.internal-page .method-journey .journey-step>.wrap{box-sizing:border-box;max-width:none!important;width:100%!important;padding:var(--sp-card)!important;border-radius:var(--radius-card)!important}

/* References bar: same card language as every other block on the page
   (margin, rounded corners, elevation) instead of the old flat,
   edge-to-edge bar. */
html body#acb-design.internal-page .refbar-wrap{width:auto!important;max-width:none!important;margin:0 var(--page-gutter) var(--page-gutter) var(--page-gutter)!important;border-radius:var(--radius-card)!important;overflow:hidden;box-shadow:var(--shadow-card)!important}
html body#acb-design.internal-page .refbar{padding:var(--sp-card)!important;font-size:var(--fs-small)!important}
html body#acb-design.internal-page :is(.section-head,.audience-hero-panel,.speaking-grid)>*{min-width:0}
html body#acb-design.internal-page :is(h1,h2,h3,p,.audience-hero-heading,.display,.big){overflow-wrap:anywhere;text-wrap:pretty}
html body#acb-design.internal-page :is(.section-head p,.audience-intro .body){max-width:62ch}

/* Audience pages */
html body#acb-design:is(.individuals-page,.organisations-page) .section{padding:0!important;background:transparent!important}
html body#acb-design:is(.individuals-page,.organisations-page) .section>.wrap{background:#fff!important;color:var(--ink)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .section.dark>.wrap{background:#4f46e5!important;color:#fff!important}
html body#acb-design:is(.individuals-page,.organisations-page) .section.dark :is(h2,h3,p,li,.big,.body){color:#fff!important}
html body#acb-design:is(.individuals-page,.organisations-page) .section.dark :is(.audience-eyebrow,.eyebrow){color:var(--acb-yellow)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .plan-grid{margin-top:var(--sp-card)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .plan-card{padding:var(--sp-card)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .plan-card p{font-size:var(--fs-body)!important;line-height:var(--lh-copy)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .outcome-list{max-width:828px;margin:var(--sp-card) auto 0;display:grid;gap:9.9px}
/* FAQ section: same left-label/right-list layout as home's .acb-faq. */
html body#acb-design.internal-page :is(.section>.wrap,.bm-faq>.wrap):has(>.faq-list){display:grid!important;grid-template-columns:1fr 1.1fr!important;gap:24.79px!important;align-items:start!important}
html body#acb-design.internal-page :is(.section>.wrap,.bm-faq>.wrap):has(>.faq-list) :is(.section-head.center,.head){display:block!important;text-align:left!important;margin:0!important}
html body#acb-design.internal-page :is(.section>.wrap,.bm-faq>.wrap):has(>.faq-list) .section-head.center>div{max-width:none!important}
html body#acb-design.internal-page :is(.section>.wrap,.bm-faq>.wrap):has(>.faq-list) .section-head.center p{margin-left:0!important;margin-right:0!important}
@media(max-width:684px){
  html body#acb-design.internal-page :is(.section>.wrap,.bm-faq>.wrap):has(>.faq-list){grid-template-columns:1fr!important}
}
/* FAQ page's "Jump to" nav: was sticking flush under (even slightly
   under) the header with no breathing room. Lock it lower so there's a
   visible gap once it's pinned; the hero card above it keeps scrolling
   away normally (it was never sticky). */
html body#acb-design.faq-page .faqx-nav{top:125px!important}
html body#acb-design:is(.individuals-page,.organisations-page) .outcome-list li{padding:var(--sp-card)!important;padding-top:clamp(74px,9vw,98px)!important;background:rgba(255,255,255,.12)!important;color:inherit!important;border:0!important;font-size:clamp(16.2px,1.8vw,19.8px)!important;line-height:1.4!important}
html body#acb-design:is(.individuals-page,.organisations-page) .outcome-list li::before{top:var(--sp-card)!important;left:var(--sp-card)!important;font-size:clamp(40px,6vw,64px)!important}
html body#acb-design.organisations-page main section.talks-section{background:transparent!important}
html body#acb-design.organisations-page main section.talks-section>.wrap{background:#000!important}
html body#acb-design.organisations-page .talks-section :is(h2,p,.note){color:#fff!important}

/* How we work: a sticky left nav that tracks scroll progress through the steps. */
html body#acb-design.method-page .center-hero>.wrap,
html body#acb-design.method-page main section:not(.acb-close-sub)>.wrap{background:#fff!important}
html body#acb-design.method-page .method-journey{display:grid;grid-template-columns:minmax(135px,144px) 1fr;gap:0 var(--sp-card);background:#fff;border-radius:var(--radius-card);padding:var(--sp-card)}
html body#acb-design.method-page .journey-nav{grid-column:1;grid-row:1/-1;position:sticky;top:108px;align-self:start;display:flex;flex-direction:column;gap:25.2px;padding:3.6px 0}
html body#acb-design.method-page .journey-nav-item{display:flex;align-items:stretch;gap:12.6px;background:none;border:0;padding:0;margin:0;text-align:left;cursor:pointer;font-family:inherit}
html body#acb-design.method-page .journey-nav-item .jn-line{width:1.8px;flex:0 0 1.8px;border-radius:1.8px;background:#e2e2e2;transition:background 1.1s cubic-bezier(.22,.61,.36,1)}
html body#acb-design.method-page .journey-nav-item .jn-label{font-size:var(--fs-small);letter-spacing:var(--ls-small);line-height:var(--lh-copy);color:#9a9a9a;padding:0.9px 0;transition:color .9s ease,font-weight .9s ease}
html body#acb-design.method-page .journey-nav-item.active .jn-line{background:var(--ink)}
html body#acb-design.method-page .journey-nav-item.active .jn-label{color:var(--ink);font-weight:600}
html body#acb-design.method-page .journey-step{grid-column:2;margin:0!important;padding:39.6px 0!important;border-top:0.9px solid #ececec}
html body#acb-design.method-page .journey-step:first-child{padding-top:0!important;border-top:0!important}
html body#acb-design.method-page .journey-step:last-child{padding-bottom:0!important}
html body#acb-design.method-page .journey-step>.wrap{background:transparent!important;box-shadow:none!important;padding:0!important}
@media(max-width:684px){
  html body#acb-design.method-page .method-journey{display:block}
  html body#acb-design.method-page .journey-nav{display:none}
  html body#acb-design.method-page .journey-step{grid-column:auto}
}
html body#acb-design.method-page .terrain-cols{grid-template-columns:1fr 1fr!important;gap:12.6px!important}
html body#acb-design.method-page .tcard{padding:16.2px!important}
html body#acb-design.method-page .craft-steps{grid-template-columns:1fr!important;gap:9px!important}
html body#acb-design.method-page .craft-step{display:grid!important;grid-template-columns:auto 1fr;align-items:center;padding:14.4px!important}
html body#acb-design.method-page .craft-step p{grid-column:2}
html body#acb-design.method-page .craft-step::after{display:none!important}

/* Block map */
html body#acb-design.blocks-page :is(.bmap,.bm-faq,.evidence-band){padding:0!important;background:transparent!important}
html body#acb-design.blocks-page :is(.bm-faq,.evidence-band)>.wrap{padding:var(--sp-card)!important;border-radius:var(--radius-card)!important;background:#fff!important;color:var(--ink)!important;max-width:none!important}
/* The 8-card grid sits directly on the page's own gradient — no card
   background of its own, each bmcard already carries its own colour. */
html body#acb-design.blocks-page .bmap{padding:0!important;background:transparent!important;box-shadow:none!important}
html body#acb-design.blocks-page .bmgrid{padding:0!important;max-width:none!important;gap:clamp(10.8px,1.4vw,18px)!important}
html body#acb-design.blocks-page .bmcard-body{padding:14.4px 24px 14.4px 14.4px!important}
/* "The 7+1" intro — reuses .acb-say's scroll-driven highlight, centred
   like the rest of the map page's text blocks. */
html body#acb-design.blocks-page .bm-intro>.wrap{text-align:center!important;max-width:820px;margin:0 auto}
html body#acb-design.blocks-page .bm-intro .eyebrow2{color:var(--acb-yellow)!important}
html body#acb-design.blocks-page .bm-intro h2{margin:0 0 16.2px!important;color:var(--ink)!important}
html body#acb-design.blocks-page .evidence-band>.wrap{background:#fff!important;color:var(--ink)!important}
html body#acb-design.blocks-page .evidence-band :is(h2,p,.mono){color:var(--ink)!important}
/* "Want a useful first hypothesis?" — its own short, punchy section: a
   big statement line with a small asterisk footnote underneath. */
html body#acb-design.blocks-page .bm-hypo>.wrap{
  text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;gap:16.2px!important;
  padding:var(--sp-card)!important;border-radius:var(--radius-card)!important;box-shadow:var(--shadow-card)!important;
  width:100%!important;max-width:none!important;
  background:#4f46e5!important;color:#fff!important;text-decoration:none!important;
  cursor:pointer;transition:background-color .2s ease;
}
html body#acb-design.blocks-page .bm-hypo>.wrap:hover{background:#4338ca!important}
html body#acb-design.blocks-page .bm-hypo .stmt{margin:0!important;font-family:"Inter",sans-serif!important;font-weight:500!important;font-size:var(--fs-h2)!important;line-height:1.1!important;letter-spacing:var(--ls-title)!important;color:#fff!important;max-width:18ch!important}
html body#acb-design.blocks-page .bm-hypo .stmt sup{font-size:.5em!important;color:var(--acb-yellow)!important;top:-.6em!important}
html body#acb-design.blocks-page .bm-hypo .fine{margin:0!important;font-size:12.6px!important;color:rgba(255,255,255,.75)!important}

/* FAQ */
html body#acb-design.faq-page .faq-hero>.wrap{background:#fff!important;padding:var(--sp-card)!important;border-radius:var(--radius-card)!important}
html body#acb-design.faq-page .faq-hero p{font-size:var(--fs-copy-lg)!important;line-height:var(--lh-copy)!important;max-width:58ch}
html body#acb-design.faq-page .section{padding:0!important}
html body#acb-design.faq-page .section>.wrap{background:#fff!important}
html body#acb-design .offer-body,html body#acb-design .faq-a{display:grid!important;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .45s cubic-bezier(.22,1,.36,1),opacity .3s ease!important}
html body#acb-design :is(.offer-row,.faq-item).open :is(.offer-body,.faq-a){grid-template-rows:1fr;opacity:1}
html body#acb-design :is(.offer-body,.faq-a)>*{overflow:hidden}
html body#acb-design .offer-toggle .pm{display:grid!important;place-items:center;width:28.8px;height:28.8px;flex:0 0 28.8px}
html body#acb-design .offer-toggle .pm svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s cubic-bezier(.22,1,.36,1)}
html body#acb-design .offer-row.open .pm svg{transform:rotate(180deg)}
html{scroll-behavior:smooth;scroll-padding-top:108px}
html body#acb-design .faqx-cat{scroll-margin-top:108px}

/* Contact: full-width hero (.center-hero, shared with evidence/faq/legal),
   then a standard-gap section holding two equal-height columns. */
html body#acb-design.contact-page .contact-unified{padding:0!important}
html body#acb-design.contact-page .contact-unified>.wrap{display:grid!important;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:stretch!important;gap:var(--sp-card)!important;background:transparent!important;padding:0!important}
html body#acb-design.contact-page :is(.contact-form-wrap,.contact-side){padding:var(--sp-card)!important;border-radius:var(--radius-card)!important;background:#fff!important;color:var(--ink)!important;box-shadow:var(--shadow-card)!important;height:100%!important}
html body#acb-design.contact-page .contact-form-wrap{grid-column:2;grid-row:1}
html body#acb-design.contact-page .contact-side{grid-column:1;grid-row:1;margin-top:0!important;display:flex!important;flex-direction:column!important}
html body#acb-design.contact-page .contact-side :is(h2,p,a,.side-note){color:var(--ink)!important}
html body#acb-design.contact-page .contact-side .side-note{color:#4f46e5!important}
html body#acb-design.contact-page .cform{gap:16.2px!important}
html body#acb-design.contact-page .cform :is(input,textarea,select){box-sizing:border-box;width:100%;font-size:var(--fs-body)!important;color:var(--ink)!important;background:#f6f6f6!important;border:0.9px solid #dedede!important;padding:12.6px 14.4px!important;line-height:var(--lh-copy)!important}
html body#acb-design.contact-page .cform textarea{min-height:162px}
html body#acb-design.contact-page .cform-consent input{width:18px!important;flex:0 0 18px}

@media(max-width:774px){
  html body#acb-design.method-page .terrain-cols{grid-template-columns:1fr!important}
  html body#acb-design.contact-page .contact-unified>.wrap{grid-template-columns:1fr!important}
  html body#acb-design.contact-page :is(.contact-form-wrap,.contact-side){grid-column:1!important;grid-row:auto!important;height:auto!important}
}
@media(max-width:504px){
  html body#acb-design.internal-page main section,html body#acb-design.internal-page .method-journey{margin-left:12.6px!important;margin-right:12.6px!important}
  html body#acb-design.blocks-page .bmgrid{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html body#acb-design .offer-body,html body#acb-design .faq-a{transition:none!important}}

/* Main already owns the homepage width; internal sections fill it exactly. */
html body#acb-design.internal-page main section,
html body#acb-design.internal-page .method-journey{width:100%!important;margin-left:0!important;margin-right:0!important}
html body#acb-design.contact-page main section.contact-unified{background:transparent!important}
@media(max-width:504px){html body#acb-design.internal-page main section,html body#acb-design.internal-page .method-journey{width:100%!important;margin-left:0!important;margin-right:0!important}}
html body#acb-design.method-page .journey-step:first-child .tcard h3{font-size:var(--fs-body)!important;line-height:var(--lh-copy)!important;font-weight:600!important}
html body#acb-design.method-page .journey-step:first-child .tcard p{font-size:var(--fs-small)!important;line-height:var(--lh-copy)!important}
html body#acb-design.method-page .journey-step:first-child .tcard-ic{margin-bottom:5.4px!important}
html body#acb-design :is(.faq-a>p,.offer-body>div){padding-bottom:0!important;transition:padding-bottom .35s cubic-bezier(.22,1,.36,1)}
html body#acb-design :is(.faq-item,.offer-row).open :is(.faq-a>p,.offer-body>div){padding-bottom:16.2px!important}
html body#acb-design.faq-page .faqx .offer-row.open .offer-toggle .pm{transform:none!important;background:transparent!important;color:var(--ink)!important;border-color:currentColor!important}

/* Audience heroes use the homepage's full-bleed image + compact white overlay. */
html body#acb-design:is(.individuals-page,.organisations-page) [data-site-header]{position:absolute!important;inset:0 0 auto!important;height:0!important;width:100%!important;z-index:70}
/* Same full-bleed technique as the home hero (acb.css line ~308), copied
   verbatim rather than reformulated with --site-width, since that's the
   one version of this that's been proven correct across every browser
   this session. */
html body#acb-design:is(.individuals-page,.organisations-page) main section.acb-hero{width:100vw!important;max-width:100vw!important;margin:0 0 var(--sp-gap) calc(50% - 50vw)!important;background:transparent!important}
html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero>.wrap{max-width:none!important;width:100%!important;padding:0!important;border-radius:0!important;background:transparent!important}
html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero-grid{position:relative!important;display:grid!important;grid-template-columns:1fr!important;min-height:clamp(423px,74vh,778px)!important;padding:33.05px calc((100vw - var(--site-width))/2)!important;align-items:center!important;justify-items:center!important;overflow:hidden!important;isolation:isolate}
html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero-img{position:absolute!important;inset:0!important;z-index:-1!important;order:0!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;border-radius:0!important}
html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero-img img{width:100%!important;height:100%!important;min-height:0!important;border-radius:0!important;object-fit:cover!important;object-position:center 48%!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel{position:relative!important;z-index:1!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:25.2px!important;width:min(612px,94vw)!important;max-width:min(612px,94vw)!important;margin:0!important;padding:19.83px 26.44px!important;text-align:left!important;background:#fff!important;border-radius:var(--radius-card)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel>.mono{display:none!important}
html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero .audience-hero-heading{flex:1 1 auto!important;min-width:0!important;max-width:none!important;margin:0!important;font-size:14.87px!important;line-height:1.4!important;letter-spacing:0!important;font-weight:500!important;color:var(--ink)!important;overflow-wrap:normal!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-heading .cycling-line{display:block!important;min-height:0!important;margin:0!important;line-height:inherit!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-heading .cycling-word{display:inline!important;padding:0 .08em!important;line-height:inherit!important;background:var(--acb-yellow)!important;color:var(--ink)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-heading .hero-static-line{display:block!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel .cta{justify-content:flex-end!important;margin-top:0!important;flex:0 0 auto!important;gap:8.26px!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel .btn-out{display:none!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel .btn{padding:8.26px 14.87px!important;font-size:13.22px!important;line-height:1!important;letter-spacing:-.015em!important;white-space:nowrap!important}
@media(max-width:684px){
 html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero-grid{min-height:561.82px!important;padding:13.22px!important}
 html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel{width:calc(100% - 26.44px)!important;max-width:100%!important;padding:19.83px!important;flex-direction:column!important;text-align:center!important;gap:14.87px!important}
 html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel .cta{justify-content:center!important}
 html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-heading{white-space:normal!important;overflow-wrap:anywhere!important}
 html body#acb-design.individuals-page .acb-hero-img img{object-position:54% center!important}
 html body#acb-design.organisations-page .acb-hero-img img{object-position:center!important}
}

/* ==========================================================================
   Site-wide colour-wash page background. The page itself carries the
   gradient; a single white "main panel" holds everything except each
   page's own hero (and, on home, the marquee), so the gradient still
   shows around/behind the hero. The footer sits outside main as always,
   with its own opaque background, so it naturally covers the gradient
   rather than showing it through. Excluded: the find-your-block tool
   (its own full-screen "stage" UI, not a normal scrolling page).
   ========================================================================== */
html body#acb-design:not(.questionnaire-page){
  background-color:#faf7f2!important;
  /* The 8 working-map block colours (see .bgm-card on the home page),
     bloomed around the edges/corners instead of the original 5 arbitrary
     hues. */
  background-image:
    radial-gradient(circle farthest-corner at top left, #F6D65D 0%, rgba(246,214,93,0) 40%),
    radial-gradient(circle farthest-side at top center, #ef9f5e 0%, rgba(239,159,94,0) 35%),
    radial-gradient(circle farthest-corner at top right, #e35d54 0%, rgba(227,93,84,0) 45%),
    radial-gradient(circle farthest-side at right center, #c9a0f0 0%, rgba(201,160,240,0) 35%),
    radial-gradient(circle farthest-corner at bottom right, #9a8ff2 0%, rgba(154,143,242,0) 45%),
    radial-gradient(circle farthest-side at bottom center, #a9d5f5 0%, rgba(169,213,245,0) 35%),
    radial-gradient(circle farthest-corner at bottom left, #5f9dd6 0%, rgba(95,157,214,0) 45%),
    radial-gradient(circle farthest-side at left center, #909090 0%, rgba(144,144,144,0) 35%)!important;
  background-attachment:fixed!important;
  background-repeat:no-repeat!important;
}
html body#acb-design .acb-main-panel{
  /* main itself is pinned to var(--site-width) (same as the header — both
     now boosted by the same --panel-boost, so the header stays exactly
     as wide as the panel), so a plain max-width here only ever shrinks
     to fit it — break out with an explicit wider width plus matching
     negative side margins instead. */
  width:calc(var(--site-width) + var(--panel-boost));
  margin:0 calc(var(--panel-boost) / -2);
  background:transparent;
  border-radius:0;
  box-shadow:none;
  padding:var(--sp-card);
  box-sizing:border-box;
}
html body#acb-design .acb-main-panel{margin-top:0!important}
/* Each page's hero still carries its own margin-bottom (set further up,
   page by page) to space it from what follows — zero that out here so
   the panel touches it directly, whichever hero class the page uses. */
html body#acb-design main :is(.acb-hero,.center-hero,.page-hero,.blog-hero,.bm-hero,.domain-hero){margin-bottom:0!important}
/* individuals/organisations' own .acb-hero rule (its 100vw-breakout, set
   further up) re-declares this same margin at higher specificity than
   the generic rule above — match it exactly so this one wins instead. */
html body#acb-design:is(.individuals-page,.organisations-page) main section.acb-hero{margin-bottom:0!important}

/* ==========================================================================
   FINAL FRAME NORMALISATION — one visible card edge across the site.
   The homepage cards are the reference: colour, radius and shadow live on
   the inner surface, while the outer section only controls rhythm.
   ========================================================================== */
html body#acb-design.home-page .acb-offer .acb-panel .pbody{
  font-size:var(--fs-body)!important;
  letter-spacing:var(--ls-body)!important;
  line-height:var(--lh-copy)!important;
}

/* Heroes outside .acb-main-panel line up with the panel's card surfaces.
   The panel is wider than main but its padding brings its children back in;
   this uses that exact resulting width at every breakpoint. */
html body#acb-design.internal-page:not(.individuals-page):not(.organisations-page) main>
  :is(.center-hero,.page-hero,.blog-hero,.bm-hero,.domain-hero){
  width:calc(100% + var(--panel-boost) - (2 * var(--sp-card)))!important;
  margin-left:calc((var(--panel-boost) - (2 * var(--sp-card))) / -2)!important;
  margin-right:calc((var(--panel-boost) - (2 * var(--sp-card))) / -2)!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
}
html body#acb-design.internal-page:not(.individuals-page):not(.organisations-page) main>
  :is(.center-hero,.page-hero,.blog-hero,.bm-hero,.domain-hero)>.wrap{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  padding:var(--sp-card)!important;
  background:#fff!important;
  border-radius:var(--radius-card)!important;
  box-shadow:var(--shadow-card)!important;
}

/* Put every section colour on the same rounded element that visibly forms
   the card. This fixes square colour blocks with a rounded transparent child. */
html body#acb-design.internal-page .acb-main-panel>
  :is(.section.ink,.section.blue,.section.yellow,.section.pink,.section.tint){
  background:transparent!important;
  border-radius:0!important;
}
html body#acb-design.internal-page .acb-main-panel>.section.ink>.wrap{background:var(--ink)!important;color:#fff!important}
html body#acb-design.internal-page .acb-main-panel>.section.blue>.wrap{background:var(--brand,#4f46e5)!important;color:#fff!important}
html body#acb-design.internal-page .acb-main-panel>.section.yellow>.wrap{background:var(--yellow)!important}
html body#acb-design.internal-page .acb-main-panel>.section.pink>.wrap{background:var(--pink)!important}
html body#acb-design.internal-page .acb-main-panel>.section.tint>.wrap{background:var(--tint)!important}
html body#acb-design.internal-page .acb-main-panel>
  :is(.section.ink,.section.blue,.section.yellow,.section.pink,.section.tint)>.wrap{
  border-radius:var(--radius-card)!important;
  box-shadow:var(--shadow-card)!important;
}

/* Keep the section's own heading copy readable after the colour moves to
   the inner card. Nested white cards retain their normal dark text. */
html body#acb-design.internal-page .section.blue :is(.section-head,.craft-close) :is(h2,p),
html body#acb-design.internal-page .section.blue>.flush .copy :is(h2,p,strong){color:#fff!important}
html body#acb-design.internal-page .section.blue :is(.section-head,.craft-close) :is(.eyebrow,.side-note),
html body#acb-design.internal-page .section.blue>.flush .copy :is(.eyebrow,.side-note){color:#fff!important}
html body#acb-design.internal-page .section.blue :is(.section-head,.craft-close,.copy) :is(.btn,.btn-out){background:#fff!important;color:var(--brand,#4f46e5)!important;border-color:#fff!important}
html body#acb-design.internal-page .section.ink>.wrap :is(blockquote,h2,p){color:#fff!important}
html body#acb-design.internal-page .section.ink>.wrap :is(cite,.eyebrow,.side-note){color:var(--acb-yellow)!important}

/* ==========================================================================
   FINAL PAGE POLISH — contact, map, process, mobile navigation and services.
   ========================================================================== */
.mobile-header-cta,.mobile-menu-footer{display:none}

/* Contact: let the form own the larger column and reach the shared frame edge. */
html body#acb-design.contact-page .contact-unified>.wrap{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr)!important}
html body#acb-design.contact-page .contact-form-wrap{width:100%!important;max-width:none!important}
html body#acb-design.contact-page .mail-big{border:0!important;text-decoration:none!important;padding-bottom:0!important;color:#4f46e5!important}
html body#acb-design.contact-page .mail-big:hover{text-decoration:none!important;color:#3f37c4!important}
/* Contact form controls must not resize the newsletter field in the shared footer. */
html body#acb-design.contact-page .acb-footer .acb-newsletter input{font-size:inherit!important;line-height:inherit!important;background:transparent!important;color:#fff!important;border:0!important;padding:0 9.92px!important}

/* Block-map introduction: full card, centered readable text measure. */
html body#acb-design.blocks-page .bm-intro>.wrap{text-align:center!important}
html body#acb-design.blocks-page .bm-intro .eyebrow2{color:var(--ink)!important}
html body#acb-design.blocks-page .bm-intro .scrolltext{max-width:1040px!important;margin-inline:auto!important;padding-inline:clamp(24px,8vw,120px)!important;text-align:center!important}

/* Block-map cards behave unmistakably like controls, including on touch. */
html body#acb-design.blocks-page .bmcard{position:relative!important;isolation:isolate;box-shadow:0 8px 24px rgba(7,19,33,.12)!important;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1)!important}
html body#acb-design.blocks-page .bmcard-body{position:static!important;min-height:210px;padding:14.4px 68px 58px 14.4px!important}
html body#acb-design.blocks-page .bmcard-title{line-height:.9!important}
html body#acb-design.blocks-page .bmcard-arr{position:absolute!important;right:14.4px!important;bottom:14.4px!important;display:grid!important;place-items:center;width:40px;height:40px;margin:0!important;border-radius:50%!important;background:var(--c)!important;color:var(--ink)!important;font-size:20px!important;line-height:1!important;transition:transform .35s cubic-bezier(.16,1,.3,1),background-color .2s ease!important}
html body#acb-design.blocks-page .bmcard:hover{transform:translateY(-6px)!important;box-shadow:0 18px 42px rgba(7,19,33,.2)!important}
html body#acb-design.blocks-page .bmcard:hover .bmcard-arr{transform:translate(3px,-3px) scale(1.08)!important}
html body#acb-design.blocks-page .bmcard:active{transform:translateY(-1px) scale(.985)!important}
html body#acb-design.blocks-page .bmcard:focus-visible{outline:3px solid var(--blue)!important;outline-offset:4px!important}

/* The questionnaire prompt is a large CTA rather than a passive panel. */
html body#acb-design.blocks-page .bm-hypo>.wrap{position:relative!important;min-height:clamp(210px,24vw,300px);padding:clamp(28px,5vw,64px)!important;box-shadow:0 10px 28px rgba(7,19,33,.16)!important;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),background-color .2s ease!important}
html body#acb-design.blocks-page .bm-hypo>.wrap::after{content:"↗︎";position:absolute;right:var(--sp-card);top:var(--sp-card);display:grid;place-items:center;width:clamp(44px,5vw,64px);height:clamp(44px,5vw,64px);border-radius:50%;background:var(--acb-yellow);color:var(--ink);font-size:clamp(22px,3vw,34px);transition:transform .35s cubic-bezier(.16,1,.3,1)}
html body#acb-design.blocks-page .bm-hypo p.stmt{font-size:var(--fs-h1)!important;line-height:.92!important;max-width:16ch!important}
html body#acb-design.blocks-page .bm-hypo>.wrap:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(7,19,33,.22)!important}
html body#acb-design.blocks-page .bm-hypo>.wrap:hover::after{transform:translate(4px,-4px) scale(1.06)}
html body#acb-design.blocks-page main .acb-main-panel>section.evidence-band{background:transparent!important;background-color:transparent!important}

/* References bars fill the same card frame as every neighbouring section. */
html body#acb-design.internal-page .acb-main-panel>.refbar-wrap{width:100%!important;margin:var(--sp-gap) 0 0!important}

/* How we work: separate raised steps joined into one visible journey. */
html body#acb-design.method-page .method-journey{position:relative!important;display:grid!important;grid-template-columns:minmax(145px,170px) minmax(0,1fr)!important;gap:0 var(--sp-card)!important;padding:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
html body#acb-design.method-page .journey-nav{grid-column:1!important;padding:var(--sp-card) 0!important}
html body#acb-design.method-page .journey-nav-item .jn-label{font-size:var(--fs-body)!important;line-height:1.15!important}
html body#acb-design.method-page .journey-step{position:relative!important;grid-column:2!important;margin:0 0 34px!important;padding:0!important;border:0!important;scroll-margin-top:120px}
html body#acb-design.method-page .journey-step:last-child{margin-bottom:0!important}
html body#acb-design.method-page .journey-step>.wrap{position:relative!important;padding:var(--sp-card)!important;background:#fff!important;border-radius:var(--radius-card)!important;box-shadow:0 12px 34px rgba(7,19,33,.12)!important;border-top:6px solid var(--step-color,#4f46e5)!important}
html body#acb-design.method-page .journey-step:nth-of-type(1){--step-color:#F6D65D}
html body#acb-design.method-page .journey-step:nth-of-type(2){--step-color:#ef9f5e}
html body#acb-design.method-page .journey-step:nth-of-type(3){--step-color:#e35d54}
html body#acb-design.method-page .journey-step:nth-of-type(4){--step-color:#4f46e5}
html body#acb-design.method-page .journey-step:not(:last-child)::after{content:"";position:absolute;z-index:2;left:34px;top:100%;width:3px;height:34px;background:linear-gradient(var(--step-color),#4f46e5);border-radius:3px}
html body#acb-design.method-page .journey-step-number{display:block!important;margin:0 0 clamp(24px,4vw,44px)!important;font-size:clamp(58px,8vw,104px)!important;line-height:.76!important;letter-spacing:-.07em!important;color:var(--step-color)!important;font-weight:500!important}

/* The image meets the copy with square inner corners; only the card edge rounds. */
html body#acb-design.factors-page .flush.reverse .flush-img,
html body#acb-design.factors-page .flush.reverse .flush-img img{border-radius:var(--radius-card) 0 0 var(--radius-card)!important}

/* Home services: compact editorial intro plus two clear choices. */
html body#acb-design.home-page main .acb-work>.wrap{padding:var(--sp-card)!important;background:#fff!important;color:var(--ink)!important;overflow:hidden!important}
html body#acb-design.home-page .work-layout{display:grid!important;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)!important;gap:var(--sp-card)!important;align-items:stretch!important}
html body#acb-design.home-page .work-head{display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(6px,1.4vw,18px) 0}
html body#acb-design.home-page .work-head .acb-eyebrow{color:#4f46e5!important}
html body#acb-design.home-page .work-head .acb-h2{font-size:var(--fs-h2)!important;line-height:var(--lh-title)!important;color:var(--ink)!important;margin:0 0 18px!important}
html body#acb-design.home-page .work-head .work-intro{font-size:var(--fs-body)!important;line-height:var(--lh-copy)!important;color:var(--ink)!important;max-width:42ch;margin:0!important}
html body#acb-design.home-page .work-cards{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
html body#acb-design.home-page .work-card{position:relative!important;min-height:125px!important;padding:var(--sp-card)!important;border-radius:var(--radius-card)!important;box-shadow:none!important;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease!important}
html body#acb-design.home-page .work-card.blue{background:#4f46e5!important;color:#fff!important}
html body#acb-design.home-page .work-card.pink{background:var(--acb-yellow)!important;color:var(--ink)!important}
html body#acb-design.home-page .work-card h3{font-size:clamp(24px,3vw,38px)!important;line-height:.92!important;letter-spacing:var(--ls-title)!important;max-width:8ch!important;color:inherit!important}
html body#acb-design.home-page .work-card p{font-size:var(--fs-body)!important;line-height:var(--lh-copy)!important;color:inherit!important;max-width:24ch!important}
html body#acb-design.home-page .work-card:hover{transform:translateY(-4px)!important;box-shadow:0 14px 30px rgba(7,19,33,.14)!important}

@media(max-width:954px){
  html body#acb-design .acb-header .inner{position:relative!important}
  html body#acb-design .mobile-header-cta{display:inline-flex!important;position:absolute!important;left:50%;top:50%;transform:translate(-50%,-50%);z-index:65;align-items:center;justify-content:center;padding:7px 11px!important;border-radius:var(--radius-card)!important;background:#4f46e5!important;color:#fff!important;font-size:clamp(10px,3vw,12px)!important;line-height:1!important;letter-spacing:0!important;white-space:nowrap}
  html body#acb-design .acb-header.mobile-open .mobile-header-cta{background:var(--acb-yellow)!important;color:var(--ink)!important}
  html body#acb-design .acb-header.mobile-open .acb-logo .acb-logo-mount{color:#fff!important}
  html body#acb-design .acb-header.mobile-open{background:var(--ink)!important}
  html body#acb-design .acb-header.mobile-open .acb-head-right{background:var(--ink)!important;padding:clamp(94px,18vh,132px) 22px 0!important;justify-content:flex-start!important;overflow-x:hidden!important;will-change:transform,opacity;animation:acbMenuIn .58s cubic-bezier(.16,1,.3,1)!important}
  html body#acb-design .acb-header.mobile-open.menu-closing .acb-head-right{animation:acbMenuOut .52s cubic-bezier(.7,0,.84,0) forwards!important}
  html body#acb-design .acb-header.mobile-open .acb-nav{gap:clamp(10px,2.4vh,18px)!important}
  html body#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design .acb-header.mobile-open .navitem>button.navbutton{font-size:clamp(31px,9vw,52px)!important;line-height:.94!important;letter-spacing:-.05em!important}
  html body#acb-design .acb-header.mobile-open .acb-sub a,
  html body#acb-design .acb-header.mobile-open .submenu a{font-size:clamp(21px,6.4vw,30px)!important;line-height:1.05!important;color:rgba(255,255,255,.68)!important}
  html body#acb-design .acb-header.mobile-open .navitem{opacity:0;animation:acbMenuItemIn .55s cubic-bezier(.16,1,.3,1) forwards}
  html body#acb-design .acb-header.mobile-open .navitem:nth-child(1){animation-delay:.12s}
  html body#acb-design .acb-header.mobile-open .navitem:nth-child(2){animation-delay:.17s}
  html body#acb-design .acb-header.mobile-open .navitem:nth-child(3){animation-delay:.22s}
  html body#acb-design .acb-header.mobile-open .navitem:nth-child(4){animation-delay:.27s}
  html body#acb-design .acb-header.mobile-open.menu-closing .navitem{animation:none!important;opacity:1!important}
  html body#acb-design .acb-header.mobile-open .mobile-menu-footer{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px 24px!important;width:calc(100% + 44px)!important;margin:auto -22px 0!important;padding:24px 22px calc(24px + env(safe-area-inset-bottom))!important;background:var(--acb-yellow)!important;opacity:0;animation:acbMenuFooterIn .5s .28s cubic-bezier(.16,1,.3,1) forwards}
  html body#acb-design .acb-header.mobile-open .mobile-menu-footer a{color:var(--ink)!important;font-size:var(--fs-body)!important;line-height:1.1!important;letter-spacing:-.02em!important;text-decoration:none!important}
  html body#acb-design .acb-header.mobile-open .acb-actions{display:none!important}
  @keyframes acbMenuIn{0%{transform:translate3d(105%,0,0);opacity:.65;border-radius:48% 0 0 48%}100%{transform:translate3d(0,0,0);opacity:1;border-radius:0}}
  @keyframes acbMenuOut{0%{transform:translate3d(0,0,0);opacity:1;border-radius:0}100%{transform:translate3d(105%,0,0);opacity:.6;border-radius:48% 0 0 48%}}
  @keyframes acbMenuItemIn{from{transform:translateX(32px);opacity:0}to{transform:none;opacity:1}}
  @keyframes acbMenuFooterIn{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
}

@media(max-width:774px){
  html body#acb-design.contact-page .contact-unified>.wrap{grid-template-columns:1fr!important}
  html body#acb-design.contact-page :is(.contact-form-wrap,.contact-side){grid-column:1!important;grid-row:auto!important;width:100%!important}
  html body#acb-design.method-page .method-journey{display:block!important}
  html body#acb-design.method-page .journey-step{grid-column:auto!important;margin-bottom:28px!important}
  html body#acb-design.method-page .journey-step:not(:last-child)::after{left:28px;height:28px}
  html body#acb-design.method-page .terrain-cols{grid-template-columns:1fr 1fr!important;gap:8px!important}
  html body#acb-design.method-page .tcard{padding:12px!important}
  html body#acb-design.factors-page .flush.reverse .flush-img,
  html body#acb-design.factors-page .flush.reverse .flush-img img{border-radius:var(--radius-card) var(--radius-card) 0 0!important}
  html body#acb-design.home-page .work-layout{grid-template-columns:1fr!important}
  html body#acb-design.home-page .work-cards{grid-template-columns:1fr!important}
  html body#acb-design.home-page .work-card{min-height:150px!important}
  html body#acb-design.blocks-page .bmcard-body{min-height:0;padding-bottom:62px!important}
}

/* Responsive editorial imagery: picture/srcset ensures each viewport downloads one appropriate source. */
html body#acb-design .acb-hero-img picture,
html body#acb-design.blocks-page .bmcard-img picture{display:block;width:100%;height:100%}
html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero-img picture>img,
html body#acb-design.blocks-page .bmcard-img picture>img{width:100%;height:100%;object-fit:cover;display:block}

/* Contact hero: image-led like the audience heroes, with a compact white message card. */
html body#acb-design.contact-page [data-site-header]{position:absolute!important;inset:0 0 auto!important;height:0!important;width:100%!important;z-index:70}
html body#acb-design.internal-page.contact-page main{padding-top:0!important}
html body#acb-design.internal-page.contact-page:not(.individuals-page):not(.organisations-page) main>.contact-visual-hero{position:relative!important;display:grid!important;width:100vw!important;max-width:100vw!important;min-height:clamp(470px,72vh,680px)!important;margin:0 0 var(--sp-gap) calc(50% - 50vw)!important;padding:0!important;overflow:hidden!important;border-radius:0!important;background:#c86f50!important;isolation:isolate}
html body#acb-design.contact-page .contact-visual-hero .contact-hero-media{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%}
html body#acb-design.contact-page .contact-visual-hero .contact-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 47%;border-radius:0!important}
html body#acb-design.internal-page.contact-page:not(.individuals-page):not(.organisations-page) main>.contact-visual-hero>.wrap{position:relative;z-index:1;display:flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;max-width:none!important;min-height:100%!important;padding:33.05px calc((100vw - var(--site-width))/2)!important;background:transparent!important;box-shadow:none!important;border-radius:0!important}
html body#acb-design.contact-page .contact-visual-hero h1{display:block!important;width:min(520px,46vw)!important;margin:0!important;padding:19.83px 26.44px!important;background:#fff!important;color:var(--ink)!important;border-radius:var(--radius-card)!important;font-size:clamp(26px,2.5vw,34px)!important;line-height:.98!important;text-align:left!important;box-shadow:0 12px 34px rgba(7,19,33,.12)}
html body#acb-design.contact-page .contact-hero-kicker,
html body#acb-design.contact-page .contact-hero-main{display:block}
html body#acb-design.contact-page .contact-hero-kicker{width:fit-content;padding:0 .08em;background:var(--acb-yellow);font-size:.48em;line-height:1.25;letter-spacing:-.02em;margin-bottom:8px}

@media(max-width:774px){
  html body#acb-design.internal-page.contact-page:not(.individuals-page):not(.organisations-page) main>.contact-visual-hero{min-height:clamp(470px,64svh,570px)!important}
  html body#acb-design.contact-page .contact-visual-hero .contact-hero-media img{object-position:center!important}
  html body#acb-design.internal-page.contact-page:not(.individuals-page):not(.organisations-page) main>.contact-visual-hero>.wrap{padding:13.22px!important}
  html body#acb-design.contact-page .contact-visual-hero h1{width:min(300px,calc(100% - 26.44px))!important;font-size:clamp(25px,7.5vw,30px)!important;padding:19.83px!important}
}

/* Keep audience-hero copy clear of faces and anchor it to the left edge. */
html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero-grid{
  align-items:center!important;
  justify-items:start!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel{
  width:min(520px,46vw)!important;
  max-width:min(520px,46vw)!important;
}

/* Block-map controls: tighter type, compact rectangular arrows, two columns on phones. */
html body#acb-design.blocks-page .bmcard-title{
  font-size:clamp(20px,2.1vw,27px)!important;
  line-height:.95!important;
}
html body#acb-design.blocks-page .bmcard-arr{
  right:14.4px!important;
  bottom:14.4px!important;
  width:42px!important;
  height:20px!important;
  border-radius:var(--radius-card)!important;
  font-size:15px!important;
}
html body#acb-design.blocks-page .bm-hypo>.wrap::after{
  width:48px!important;
  height:24px!important;
  border-radius:var(--radius-card)!important;
  font-size:18px!important;
}

@media(max-width:684px){
  html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero-grid{
    align-items:center!important;
    justify-items:start!important;
    padding:13.22px!important;
  }
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel{
    width:min(300px,calc(100% - 26.44px))!important;
    max-width:min(300px,calc(100% - 26.44px))!important;
    text-align:left!important;
  }
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel .cta{
    justify-content:flex-start!important;
  }
  html body#acb-design.individuals-page .audience-hero-panel{
    width:min(250px,calc(100% - 26.44px))!important;
    max-width:min(250px,calc(100% - 26.44px))!important;
  }
}

/* Content renders immediately while the motion system is being redesigned. */
html body#acb-design :is(.rv,.rvl,.white-reveal,.reveal),
html body#acb-design .white-line-reveal>*,
html body#acb-design.blocks-page .bmap.reveal .bmcard{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
  transition-delay:0s!important;
  will-change:auto!important;
}
html body#acb-design.acb-fade{opacity:1!important;animation:none!important}

/* Image heroes reduced to 80% of their previous height. */
html body#acb-design.home-page .acb-hero-grid,
html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero-grid{
  min-height:clamp(423px,73.6vh,778px)!important;
}

@media(max-width:684px){
  html body#acb-design.home-page .acb-hero-grid,
  html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero-grid{
    min-height:449.5px!important;
  }
}

@media(max-width:504px){
  html body#acb-design.blocks-page .bmgrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  html body#acb-design.blocks-page .bmcard-body{
    min-height:132px!important;
    padding:10px 34px 36px 10px!important;
    gap:5px!important;
  }
  html body#acb-design.blocks-page .bmcard-title{font-size:16px!important}
  html body#acb-design.blocks-page .bmcard-lead{font-size:11.5px!important;line-height:1.2!important}
  html body#acb-design.blocks-page .card-tag{font-size:9px!important}
  html body#acb-design.blocks-page .bmcard-arr{
    right:10px!important;
    bottom:10px!important;
    width:36px!important;
    height:20px!important;
    font-size:14px!important;
  }
}

/* ===================== HERO FIXES: contact + 4i/4o ===================== */
/* Contact hero: match the 4i/4o height, drop the bottom margin, white 15px base border. */
html body#acb-design.contact-page .contact-visual-hero{min-height:clamp(423px,74vh,778px)!important;margin-bottom:0!important;border-bottom:15px solid #fff!important}
/* 4i/4o heroes: matching white 15px base border. */
html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero{border-bottom:15px solid #fff!important}

/* 4i/4o hero: rotating sentence bubble on top (contact-size type), stacked prompt+CTA bubble below. */
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack{position:relative;z-index:1;align-self:end;justify-self:start;display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:min(612px,94vw);max-width:min(612px,94vw);margin:0}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble{width:100%;margin:0!important;padding:19.83px 26.44px!important;background:#fff!important;border-radius:var(--radius-card)!important;font-family:"Inter",sans-serif!important;font-weight:500!important;color:var(--ink)!important;font-size:clamp(26px,2.5vw,34px)!important;line-height:1!important;letter-spacing:-.02em!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble .cycling-line{display:block!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble .cycling-word{padding:0 .08em!important;background:var(--acb-yellow)!important;color:var(--ink)!important;line-height:inherit!important;-webkit-box-decoration-break:clone;box-decoration-break:clone}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:12px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:19.83px 26.44px!important;background:#fff!important;border-radius:var(--radius-card)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel .mono{display:none!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel .hero-static-line{display:block!important;font-family:"Inter",sans-serif!important;font-weight:500!important;font-size:clamp(19px,1.7vw,24px)!important;line-height:1!important;color:var(--ink)!important;letter-spacing:-.02em!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel .cta{justify-content:flex-start!important;margin:0!important;gap:8px!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel .btn-out{display:none!important}

/* About + Our-blocks'-map: first section sits flush at the top like the other pages' heroes. */
html body#acb-design.internal-page main :is(.flush-sec,.bm-intro){margin-top:0!important}

/* Home "Work with us": image left; text above the two cards on the right. */
html body#acb-design.home-page .acb-work .work-layout{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-areas:"img head" "img cards"!important;gap:clamp(18px,2.4vw,34px) clamp(24px,3vw,48px)!important;align-items:start!important}
html body#acb-design.home-page .acb-work .work-image{grid-area:img;align-self:stretch;margin:0!important;border-radius:var(--radius-card);overflow:hidden;min-height:100%}
html body#acb-design.home-page .acb-work .work-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:var(--radius-card)}
html body#acb-design.home-page .acb-work .work-head{grid-area:head}
html body#acb-design.home-page .acb-work .work-cards{grid-area:cards}
@media(max-width:820px){html body#acb-design.home-page .acb-work .work-layout{grid-template-columns:1fr!important;grid-template-areas:"img" "head" "cards"!important}}

/* ===================== POST-CLAUDE ALIGNMENT PASS ===================== */
/* Home proof: keep the image half alive even when late global figure rules win. */
html body#acb-design.home-page .acb-proof .acb-proof-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important}
html body#acb-design.home-page .acb-proof .acb-proof-image{display:block!important;position:relative!important;min-height:clamp(280px,36vw,460px)!important;height:auto!important;margin:0!important;background:#4f46e5!important}
html body#acb-design.home-page .acb-proof .acb-proof-image picture{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
html body#acb-design.home-page .acb-proof .acb-proof-image img{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 44%!important}

/* Home Work with us: the photo bleeds to the white card edge, while copy keeps the card padding. */
html body#acb-design.home-page .acb-work .work-image{margin:calc(var(--sp-card) * -1) 0 calc(var(--sp-card) * -1) calc(var(--sp-card) * -1)!important;border-radius:var(--radius-card) 0 0 var(--radius-card)!important;min-height:calc(100% + (var(--sp-card) * 2))!important}
html body#acb-design.home-page .acb-work .work-image img{border-radius:var(--radius-card) 0 0 var(--radius-card)!important}

/* 4i/4o hero: full content-width bubbles, vertically centred, with the same type scale as Contact. */
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack{align-self:center!important;justify-self:start!important;width:100%!important;max-width:none!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble{width:100%!important;max-width:none!important;font-size:clamp(26px,2.5vw,34px)!important;line-height:.98!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel{width:100%!important;max-width:none!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel .hero-static-line{font-size:clamp(19px,1.7vw,24px)!important;line-height:1!important}
html body#acb-design:is(.individuals-page,.organisations-page) main section.acb-hero{border-bottom:15px solid #fff!important}

/* About and Block Map should start at the same vertical rhythm as FAQ and the other hero pages. */
html body#acb-design.internal-page:is(.about-page,.blocks-page) main{padding-top:0!important}

@media(max-width:820px){
  html body#acb-design.home-page .acb-proof .acb-proof-grid{grid-template-columns:1fr!important}
  html body#acb-design.home-page .acb-proof .acb-proof-image{min-height:280px!important}
  html body#acb-design.home-page .acb-work .work-image{margin:calc(var(--sp-card) * -1) calc(var(--sp-card) * -1) 0!important;border-radius:var(--radius-card) var(--radius-card) 0 0!important;min-height:clamp(260px,72vw,420px)!important}
  html body#acb-design.home-page .acb-work .work-image img{border-radius:var(--radius-card) var(--radius-card) 0 0!important}
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack{width:100%!important}
}

/* ===================== PROCESS + MOBILE REFINEMENT PASS ===================== */
/* Contact: the image hero touches the next panel exactly like the audience heroes. */
html body#acb-design.internal-page.contact-page main>section.contact-visual-hero{margin-bottom:0!important}
html body#acb-design.internal-page.contact-page:not(.individuals-page):not(.organisations-page) main>.contact-visual-hero{margin:0 0 0 calc(50% - 50vw)!important}

/* About and Block Map: align the first visible card to FAQ's hero start rhythm. */
html body#acb-design.internal-page:is(.about-page,.blocks-page) main{padding-top:74.21px!important}
html body#acb-design.internal-page:is(.about-page,.blocks-page) main>.acb-main-panel{padding-top:0!important}
@media(max-width:774px){
  html body#acb-design.internal-page:is(.about-page,.blocks-page) main{padding-top:var(--header-h)!important}
}

/* 4i/4o: match Contact hero typography exactly, including the smaller prompt line. */
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble,
html body#acb-design:is(.individuals-page,.organisations-page) h1.audience-hero-rotbubble,
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble .cycling-line,
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble .cycling-word{
  font-size:clamp(26px,2.5vw,34px)!important;
  line-height:.98!important;
  letter-spacing:-.02em!important;
  font-weight:500!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel .hero-static-line{
  font-size:clamp(12.48px,1.2vw,16.32px)!important;
  line-height:1.25!important;
  letter-spacing:-.02em!important;
  font-weight:500!important;
}

/* How we work: one white process shell with a connected left progress rail. */
html body#acb-design.method-page .method-journey{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(92px,128px) minmax(0,1fr)!important;
  gap:0 var(--sp-card)!important;
  padding:var(--sp-card)!important;
  background:#fff!important;
  border-radius:var(--radius-card)!important;
  box-shadow:var(--shadow-card)!important;
  overflow:visible!important;
}
html body#acb-design.method-page .journey-nav{
  position:sticky!important;
  top:108px!important;
  align-self:start!important;
  grid-column:1!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  padding:0!important;
}
html body#acb-design.method-page .journey-nav::before{
  content:"";
  position:absolute;
  left:11px;
  top:12px;
  bottom:12px;
  width:2px;
  background:#dedede;
  border-radius:2px;
}
html body#acb-design.method-page .journey-nav-item{
  position:relative!important;
  min-height:clamp(74px,12vh,116px);
  gap:12px!important;
  padding:0 0 0 0!important;
}
html body#acb-design.method-page .journey-nav-item .jn-line{
  position:relative;
  z-index:1;
  width:24px!important;
  flex:0 0 24px!important;
  background:transparent!important;
}
html body#acb-design.method-page .journey-nav-item .jn-line::before{
  content:"";
  position:absolute;
  left:4px;
  top:0;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#dedede;
  border:3px solid #fff;
  box-shadow:0 0 0 1px #dedede;
}
html body#acb-design.method-page .journey-nav-item.active .jn-line::before{
  background:#4f46e5;
  box-shadow:0 0 0 1px #4f46e5;
}
html body#acb-design.method-page .journey-nav-item .jn-label{
  padding-top:0!important;
  font-size:var(--fs-small)!important;
  line-height:1.2!important;
  letter-spacing:0!important;
}
html body#acb-design.method-page .journey-step{
  grid-column:2!important;
  margin:0!important;
  padding:0 0 var(--sp-card)!important;
  border:0!important;
  background:transparent!important;
}
html body#acb-design.method-page .journey-step:last-child{padding-bottom:0!important}
html body#acb-design.method-page .journey-step:not(:last-child)::after{
  content:""!important;
  position:absolute!important;
  left:calc(var(--sp-card) + 11px)!important;
  top:calc(var(--sp-card) + 18px)!important;
  bottom:calc(var(--sp-card) * -1 + 18px)!important;
  width:2px!important;
  height:auto!important;
  background:#dedede!important;
  border-radius:2px!important;
}
html body#acb-design.method-page .method-journey .journey-step>.wrap{
  display:block!important;
  padding:var(--sp-card)!important;
  background:#f6f6f6!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  box-shadow:none!important;
}
html body#acb-design.method-page .journey-step .section-head{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:clamp(14px,2.4vw,28px)!important;
  align-items:start!important;
  margin-bottom:var(--sp-card)!important;
  text-align:left!important;
}
html body#acb-design.method-page .method-journey .journey-step>.wrap,
html body#acb-design.method-page main .method-journey .journey-step>.wrap{
  background:#f6f6f6!important;
}
html body#acb-design.method-page .journey-step .section-head .eyebrow{display:none!important}
html body#acb-design.method-page .journey-step-number{
  float:left!important;
  display:block!important;
  width:auto!important;
  margin:0 clamp(14px,2.4vw,28px) 8px 0!important;
  font-size:clamp(42px,6vw,74px)!important;
  line-height:.86!important;
  letter-spacing:-.05em!important;
  color:var(--step-color,#4f46e5)!important;
}
html body#acb-design.method-page .journey-step .display{
  font-size:clamp(24px,3.2vw,42px)!important;
  line-height:.98!important;
  margin-top:0!important;
}
html body#acb-design.method-page .journey-step .section-head p{
  font-size:var(--fs-body)!important;
  line-height:var(--lh-copy)!important;
  max-width:62ch!important;
}
html body#acb-design.method-page .journey-step :is(.terrain-cols,.trio,.craft-steps){
  clear:both;
}
html body#acb-design.method-page .journey-step :is(.tcard,.card,.craft-step){
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  box-shadow:none!important;
}
@media(max-width:774px){
  html body#acb-design.method-page .method-journey{display:block!important;padding:var(--sp-card)!important}
  html body#acb-design.method-page .journey-nav{display:none!important}
  html body#acb-design.method-page .journey-step{grid-column:auto!important;padding:0 0 var(--sp-card)!important;margin:0!important}
  html body#acb-design.method-page .journey-step:not(:last-child)::after{display:none!important}
  html body#acb-design.method-page .journey-step .section-head{grid-template-columns:1fr!important}
}

/* Tablet: switch to the mobile header before the desktop nav can overflow. */
@media(max-width:1120px){
  html body#acb-design .acb-header .inner{position:relative!important;display:flex!important;height:var(--header-h)!important}
  html body#acb-design .acb-head-right{display:none!important}
  html body#acb-design .mobile-menu-toggle{display:inline-block!important;margin-left:auto!important}
  html body#acb-design .acb-actions{display:none!important}
  html body#acb-design .mobile-header-cta{display:inline-flex!important;position:absolute!important;left:50%;top:50%;transform:translate(-50%,-50%);z-index:65;align-items:center;justify-content:center;padding:7px 11px!important;border-radius:var(--radius-card)!important;background:#4f46e5!important;color:#fff!important;font-size:clamp(10px,2vw,12px)!important;line-height:1!important;letter-spacing:0!important;white-space:nowrap}
  html body#acb-design .acb-header.mobile-open{background:#4f46e5!important}
  html body#acb-design .acb-header.mobile-open .acb-head-right{
    position:fixed!important;
    inset:0!important;
    z-index:61!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    padding:clamp(82px,13vh,112px) 22px 0!important;
    background:#4f46e5!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    transform:translateX(0);
    animation:acbMenuSheetIn .38s cubic-bezier(.16,1,.3,1)!important;
  }
  html body#acb-design .acb-header.mobile-open.menu-closing .acb-head-right{animation:acbMenuSheetOut .32s cubic-bezier(.7,0,.84,0) forwards!important}
  html body#acb-design .acb-header.mobile-open .acb-nav{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:100%!important;border:0!important}
  html body#acb-design .acb-header.mobile-open .navitem{display:block!important;width:100%!important;padding:0!important;border-bottom:1px solid rgba(255,255,255,.24)!important;opacity:1!important;animation:none!important}
  html body#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design .acb-header.mobile-open .navitem>button.navbutton{
    width:100%!important;
    min-height:58px!important;
    padding:10px 0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    font-size:clamp(26px,7vw,42px)!important;
    line-height:1!important;
    letter-spacing:-.04em!important;
    color:#fff!important;
    text-align:left!important;
  }
  html body#acb-design .acb-header.mobile-open .submenu,
  html body#acb-design .acb-header.mobile-open .acb-sub{
    position:static!important;
    display:none!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0 0 14px 0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  html body#acb-design .acb-header.mobile-open .navitem.submenu-open .submenu,
  html body#acb-design .acb-header.mobile-open .navitem.submenu-open .acb-sub{display:grid!important;gap:8px!important}
  html body#acb-design .acb-header.mobile-open .submenu a,
  html body#acb-design .acb-header.mobile-open .acb-sub a{
    display:block!important;
    padding:0!important;
    font-size:clamp(16px,4.5vw,24px)!important;
    line-height:1.12!important;
    color:rgba(255,255,255,.78)!important;
    text-align:left!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-menu-footer{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:18px 26px!important;
    width:calc(100% + 44px)!important;
    margin:auto -22px 0!important;
    padding:24px 22px calc(24px + env(safe-area-inset-bottom))!important;
    background:var(--acb-yellow)!important;
    opacity:1!important;
    animation:none!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-menu-footer a{
    color:var(--ink)!important;
    font-size:clamp(20px,5vw,28px)!important;
    line-height:1!important;
    letter-spacing:-.03em!important;
    text-decoration:none!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-header-cta{background:var(--acb-yellow)!important;color:var(--ink)!important}
  @keyframes acbMenuSheetIn{from{transform:translateX(100%);opacity:.96}to{transform:translateX(0);opacity:1}}
  @keyframes acbMenuSheetOut{from{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:.96}}
}

/* Mobile text + CTA rhythm: no extra right padding and consistent button size. */
@media(max-width:774px){
  html body#acb-design .acb-say .scrolltext,
  html body#acb-design .acb-say .cta,
  html body#acb-design .section .cta,
  html body#acb-design .acb-close-sub .cta{padding-right:0!important;margin-right:0!important}
  html body#acb-design :is(.btn,.btn-out,.pill,.pill.big,.pill.alt){
    font-size:var(--fs-button)!important;
    line-height:var(--lh-copy)!important;
    padding:13.22px 16.52px!important;
    border-radius:var(--radius-card)!important;
  }
}


/* ===================== HERO WIDTH + CTA CONSOLIDATION PASS ===================== */
/* 4i/4o hero: stretch both white text bubbles to the full content column. */
html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero-grid{align-items:center!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack{
  align-items:stretch!important;
  justify-items:stretch!important;
  inline-size:100%!important;
  width:100%!important;
  max-width:none!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) h1.audience-hero-rotbubble,
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble,
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel{
  box-sizing:border-box!important;
  inline-size:100%!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  align-self:stretch!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
}

/* 4i: make the first "How it feels" panel read as two columns on larger screens. */
@media(min-width:775px){
  html body#acb-design.individuals-page .audience-intro:first-of-type>.wrap{
    display:grid!important;
    grid-template-columns:minmax(0,.95fr) minmax(280px,.85fr)!important;
    gap:var(--sp-card)!important;
    align-items:start!important;
  }
  html body#acb-design.individuals-page .audience-intro:first-of-type .audience-eyebrow{grid-column:1 / -1!important}
  html body#acb-design.individuals-page .audience-intro:first-of-type .body.lead{margin:0!important;max-width:34ch!important}
  html body#acb-design.individuals-page .audience-intro:first-of-type .signs-list{
    margin:0!important;
    max-width:none!important;
    grid-template-columns:1fr!important;
    align-self:start!important;
  }
}

/* Home Our approach: improve measure and browser line balancing to avoid lonely words/letters. */
html body#acb-design.home-page .acb-say p.scrolltext{
  max-width:35ch!important;
  padding-right:0!important;
  text-wrap:pretty!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
html body#acb-design.home-page .acb-say .cln{display:inline!important;margin-top:0!important}
html body#acb-design.home-page .acb-say .cln::before{content:" ";white-space:normal}
@supports(text-wrap:balance){
  html body#acb-design.home-page .acb-say p.scrolltext{text-wrap:balance!important}
}

/* CTAs: use the compact 4i button treatment everywhere main content asks for an action. */
html body#acb-design main :is(.cta .btn,.cta .btn-out,.cta .pill,.cta .pill.big,.cta .pill.alt,.plan-card .btn,.speaking-grid .btn,.refbar-btn,.map-test-inline,.bm-hypo button,.hero-panel .btn){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:8.26px 14.87px!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#4f46e5!important;
  color:#fff!important;
  box-shadow:none!important;
  font-family:"Inter",sans-serif!important;
  font-size:13.22px!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:-.015em!important;
  text-transform:none!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
html body#acb-design main :is(.cta .btn,.cta .btn-out,.cta .pill,.cta .pill.big,.cta .pill.alt,.plan-card .btn,.speaking-grid .btn,.refbar-btn,.map-test-inline,.bm-hypo button,.hero-panel .btn):hover{
  background:#3f37c4!important;
  color:#fff!important;
}
html body#acb-design main .section.blue :is(.cta .btn,.cta .btn-out){background:#fff!important;color:#4f46e5!important}
html body#acb-design main .section.blue :is(.cta .btn,.cta .btn-out):hover{background:#f4f2ed!important;color:#3f37c4!important}


/* plain-selector CTA lock: avoids parser/specificity edge cases from older rules. */
html body#acb-design.home-page main .cta a.pill,
html body#acb-design.home-page main .cta a.pill.big,
html body#acb-design.home-page main .cta a.pill.alt,
html body#acb-design.home-page main .acb-close a.pill,
html body#acb-design.internal-page main .cta a.btn,
html body#acb-design.internal-page main .cta a.btn-out,
html body#acb-design.internal-page main .cta a.pill,
html body#acb-design.internal-page main .plan-card a.btn,
html body#acb-design.internal-page main .speaking-grid a.btn,
html body#acb-design.internal-page main a.refbar-btn,
html body#acb-design.internal-page main button.map-test-inline,
html body#acb-design.internal-page main .bm-hypo button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:8.26px 14.87px!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#4f46e5!important;
  color:#fff!important;
  box-shadow:none!important;
  font-family:"Inter",sans-serif!important;
  font-size:13.22px!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:-.015em!important;
  text-transform:none!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
html body#acb-design.home-page main .cta a.pill:hover,
html body#acb-design.home-page main .acb-close a.pill:hover,
html body#acb-design.internal-page main .cta a.btn:hover,
html body#acb-design.internal-page main .cta a.btn-out:hover,
html body#acb-design.internal-page main .cta a.pill:hover,
html body#acb-design.internal-page main .plan-card a.btn:hover,
html body#acb-design.internal-page main .speaking-grid a.btn:hover,
html body#acb-design.internal-page main a.refbar-btn:hover,
html body#acb-design.internal-page main button.map-test-inline:hover,
html body#acb-design.internal-page main .bm-hypo button:hover{
  background:#3f37c4!important;
  color:#fff!important;
}
html body#acb-design.internal-page main .section.blue .cta a.btn,
html body#acb-design.internal-page main .section.blue .cta a.btn-out{background:#fff!important;color:#4f46e5!important}


/* CTA pseudo-arrow + closing band exact lock. */
html body#acb-design.home-page main .cta a.pill::after,
html body#acb-design.home-page main .acb-close a.pill::after,
html body#acb-design.internal-page main .cta a.btn::after,
html body#acb-design.internal-page main .cta a.btn-out::after,
html body#acb-design.internal-page main .plan-card a.btn::after{
  display:inline-block!important;
  margin-left:5.79px!important;
  font-size:1em!important;
  line-height:1!important;
}
html body#acb-design.home-page main .acb-close>.wrap .cta a.pill,
html body#acb-design.home-page main .acb-close>.wrap .cta a.pill.big{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:8.26px 14.87px!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#4f46e5!important;
  color:#fff!important;
  font-size:13.22px!important;
  line-height:1!important;
  letter-spacing:-.015em!important;
  text-transform:none!important;
  white-space:nowrap!important;
}


/* CTA row-direction lock for generated arrows and close-band variants. */
html body#acb-design.home-page main .cta a.pill,
html body#acb-design.home-page main .acb-close a.pill,
html body#acb-design.home-page main .acb-close a.pill.big,
html body#acb-design.internal-page main .cta a.btn,
html body#acb-design.internal-page main .cta a.btn-out,
html body#acb-design.internal-page main .plan-card a.btn{
  flex-direction:row!important;
  gap:0!important;
  font-size:13.22px!important;
  line-height:1!important;
  padding:8.26px 14.87px!important;
}
html body#acb-design.home-page main .cta a.pill::after,
html body#acb-design.home-page main .acb-close a.pill::after,
html body#acb-design.internal-page main .cta a.btn::after,
html body#acb-design.internal-page main .cta a.btn-out::after,
html body#acb-design.internal-page main .plan-card a.btn::after{
  flex:0 0 auto!important;
}


/* Home CTA exact 4i lock: no generated arrow, compact physical height. */
html body#acb-design.home-page main .cta a.pill::after,
html body#acb-design.home-page main .acb-close a.pill::after{content:""!important;display:none!important;margin:0!important}
html body#acb-design.home-page main .cta a.pill,
html body#acb-design.home-page main .cta a.pill.big,
html body#acb-design.home-page main .cta a.pill.alt,
html body#acb-design.home-page main .acb-close a.pill,
html body#acb-design.home-page main .acb-close a.pill.big,
html body#acb-design.home-page main .acb-close>.wrap a.pill,
html body#acb-design.home-page main .acb-close>.wrap a.pill.big{
  box-sizing:border-box!important;
  height:29.74px!important;
  max-height:29.74px!important;
  min-height:29.74px!important;
  padding:8.26px 14.87px!important;
  font-size:13.22px!important;
  line-height:1!important;
}

/* Audience hero bubbles: content-width, not full-column width. */
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack{
  align-items:flex-start!important;
  justify-items:start!important;
  width:auto!important;
  max-width:min(612px,94vw)!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) h1.audience-hero-rotbubble,
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble,
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel{
  inline-size:auto!important;
  width:max-content!important;
  min-width:0!important;
  max-width:min(612px,94vw)!important;
  align-self:flex-start!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel{
  flex-direction:column!important;
  align-items:flex-start!important;
}
@media(max-width:774px){
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack,
  html body#acb-design:is(.individuals-page,.organisations-page) h1.audience-hero-rotbubble,
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble,
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel{
    width:auto!important;
    max-width:calc(100vw - 39.66px)!important;
  }
}

/* Restore Home Our approach to the wide card measure while keeping sane wrapping. */
html body#acb-design.home-page .acb-say p.scrolltext{
  width:100%!important;
  max-width:none!important;
  padding-right:0!important;
  text-wrap:pretty!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
@supports(text-wrap:balance){
  html body#acb-design.home-page .acb-say p.scrolltext{text-wrap:pretty!important}
}

/* CTA final lock: match the 4i hero button across page CTAs. */
html body#acb-design main .cta a.btn,
html body#acb-design main .cta a.btn-out,
html body#acb-design main .cta a.pill,
html body#acb-design main .cta a.pill.big,
html body#acb-design main .cta a.pill.alt,
html body#acb-design main .plan-card a.btn,
html body#acb-design main .speaking-grid a.btn,
html body#acb-design main a.refbar-btn,
html body#acb-design main button.map-test-inline,
html body#acb-design main .bm-hypo button{
  box-sizing:border-box!important;
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:8.26px 14.87px!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#4f46e5!important;
  color:#fff!important;
  box-shadow:none!important;
  font-family:"Inter",sans-serif!important;
  font-size:13.22px!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:-.015em!important;
  text-transform:none!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
html body#acb-design main .cta a.btn::after,
html body#acb-design main .cta a.btn-out::after,
html body#acb-design main .cta a.pill::after,
html body#acb-design main .plan-card a.btn::after,
html body#acb-design main .speaking-grid a.btn::after,
html body#acb-design main a.refbar-btn::after{
  content:""!important;
  display:none!important;
}
html body#acb-design main .cta a.btn:hover,
html body#acb-design main .cta a.btn-out:hover,
html body#acb-design main .cta a.pill:hover,
html body#acb-design main .plan-card a.btn:hover,
html body#acb-design main .speaking-grid a.btn:hover,
html body#acb-design main a.refbar-btn:hover,
html body#acb-design main button.map-test-inline:hover,
html body#acb-design main .bm-hypo button:hover{
  background:#3f37c4!important;
  color:#fff!important;
}

/* 4i/4o hero rotator: Home hero text size and stable sentence width. */
html body#acb-design:is(.individuals-page,.organisations-page) h1.audience-hero-rotbubble,
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble{
  font-size:14.87px!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  font-weight:500!important;
  max-width:calc(100vw - 39.66px)!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble .cycling-line,
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble .cycling-word{
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
}
html body#acb-design.individuals-page .audience-hero-rotbubble .cycling-line{
  display:block!important;
  width:38ch!important;
  max-width:calc(100vw - 92.54px)!important;
}
html body#acb-design.organisations-page .audience-hero-rotbubble .cycling-line{
  display:block!important;
  width:42ch!important;
  max-width:calc(100vw - 92.54px)!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble .cycling-word{
  display:inline!important;
  white-space:normal!important;
}
@media(max-width:774px){
  html body#acb-design:is(.individuals-page,.organisations-page) h1.audience-hero-rotbubble,
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble{
    font-size:clamp(9.5px,3.3vw,14.4px)!important;
    line-height:1!important;
  }
}


/* Put Sound familiar inside the rotating hero bubble on 4i/4o. */
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble .hero-static-in-rot{
  display:block!important;
  margin-top:2px!important;
  font-family:"Inter",sans-serif!important;
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  font-weight:500!important;
  color:var(--ink)!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel{
  width:auto!important;
  min-width:0!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel .cta{
  margin:0!important;
}

/* Audience hero keeps a single compact CTA under the copy bubble. */
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel .btn-out{display:none!important}

/* Audience hero top bubble: Home hero text size, automatic content width. */
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack{
  align-items:flex-start!important;
  width:auto!important;
  max-width:min(94vw,720px)!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) h1.audience-hero-rotbubble,
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble{
  width:max-content!important;
  min-width:0!important;
  max-width:calc(100vw - 39.66px)!important;
  font-size:14.87px!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  font-weight:500!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble .cycling-line,
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble .cycling-word,
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble .hero-static-in-rot{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  white-space:nowrap!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel{
  width:max-content!important;
  min-width:0!important;
  max-width:calc(100vw - 39.66px)!important;
}
@media(max-width:774px){
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble .cycling-line,
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble .cycling-word,
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble .hero-static-in-rot{
    white-space:normal!important;
  }
}
