@font-face{font-family:"Inter";src:url("fonts/Inter-VariableFont_opsz-wght.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/Inter-Italic-VariableFont_opsz-wght.ttf") format("truetype");font-style:italic;font-weight:100 900;font-display:swap}

/* Measured from the live A Creative Block homepage. */
:root{--acb-red:#873030;--acb-yellow:#E4E244;--copy:#071321;--muted:#071321;--ink:#111118;--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:2rem;                          /* card corner radius */
  --shadow-card:0 1.66px 3.3px rgba(161,158,168,.1); /* shared elevation for every card and section surface */

  /* 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:-.022em;                     /* tight, while preserving Inter's designed kerning pairs */
  --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:20px;                           --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:20px;                              --ls-body:-.017em;    /* 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 */
}
html body#acb-design{
  font-kerning:normal;
  font-optical-sizing:auto;
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
  text-rendering:optimizeLegibility;
}
html body#acb-design .service-scope-marker{
  margin-left:.12em;
  font-size:.55em;
  line-height:0;
  vertical-align:super;
}
html body#acb-design .service-scope-note{
  max-width:62ch!important;
  margin:18px 0 0!important;
  padding-top:12px!important;
  border-top:1px solid currentColor!important;
  font-size:13px!important;
  line-height:1.35!important;
  letter-spacing:-.01em!important;
  opacity:.72!important;
}
/* 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: 400}
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: 400}
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: 400}
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: 400}
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: 400}
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: 400}
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: 400}
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: 400!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;top:100%!important}
html body#acb-design .acb-header .acb-sub a{color:var(--ink)!important;font-family:"Inter",sans-serif!important;font-size:13.22px!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: 400!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,.evidence-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,.evidence-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:35px!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:18px!important;line-height:var(--lh-copy);max-width:none;margin:0;color:#fff}
html body#acb-design.home-page main .acb-proof-copy .cta a.pill.alt{background:var(--acb-yellow)!important;color:var(--ink)!important}
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: 400!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: 400!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: 400!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,.evidence-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}
html body#acb-design.home-page .acb-say p.scrolltext{font-size:35px!important;padding-right:15%!important}
@media(max-width:954px){html body#acb-design.home-page .acb-say p.scrolltext{padding-right:10%!important}}
@media(max-width:684px){html body#acb-design.home-page .acb-say p.scrolltext{padding-right:0!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: 400!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,.qc-form){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: 400!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:94vw!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:20px!important;line-height:1.4!important;letter-spacing:var(--ls-title)!important;font-weight: 400!important;max-width:none!important;margin:0;white-space:nowrap!important}
@media(max-width:684px){
  html body#acb-design.home-page .acb-hero h1{line-height:1.2!important;font-size:20px!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;border:0!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 .qc-form{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: 400!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:9px!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: 400!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,.article-kicker){
  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: 400!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: 400!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: 400!important}
html body#acb-design.internal-page :is(h1,h2,.display,.big){letter-spacing:var(--ls-title)!important;color:var(--ink)!important;font-weight: 400!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 :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,.evidence-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,.evidence-page) .acb-say p .hl{background-size:100% 100%!important}
}
html body#acb-design:is(.home-page,.blocks-page,.evidence-page) .acb-say p .hl::selection,html body#acb-design:is(.home-page,.blocks-page,.evidence-page) .acb-say p .hl ::selection{background:#4f46e5!important;color:#fff!important}
html body#acb-design:is(.home-page,.blocks-page,.evidence-page) .acb-say p .hl::-moz-selection,html body#acb-design:is(.home-page,.blocks-page,.evidence-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,.article-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,.article-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):not(.legal-section):not(.acb-marq):not(.method-block){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,.article-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,.article-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):not(.acb-marq):not(.method-block){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,.article-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:not(.raw){
  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;
}
/* .raw wraps (e.g. two-column splits that carry their own per-column
   background) opt out of the generic auto white-card treatment above,
   and out of the section's own default padding/margin reset too. */
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,.article-page) main .wrap.raw{background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:0!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,.article-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,.article-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,.article-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,.article-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:var(--radius-card,5px) 0 0 var(--radius-card,5px)!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: 400!important;letter-spacing:-.022em!important;color:var(--ink)!important}
html body#acb-design .bd-sci{font-size:12.64px!important;font-weight: 400!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: 400!important;letter-spacing:.08em!important}
html body#acb-design .refpanel .bd-list li{font-size:15.55px!important;font-weight: 400!important;line-height:1.5!important;color:var(--ink)!important;padding-left:26px!important}
html body#acb-design .refpanel .bd-list li::before{color:var(--ink)!important;opacity:.6}
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 .bd-under b{color:var(--ink)!important;font-weight:600!important}
html body#acb-design .refpanel-close{color:var(--ink)!important;opacity:.7}
html body#acb-design .refpanel-close:hover{opacity:1}
html body#acb-design .refpanel .refpanel-note{color:rgba(17,17,24,.78)!important;font-size:15px!important}
html body#acb-design .refpanel ol.refs li{color:rgba(17,17,24,.85)!important;border-top-color:rgba(17,17,24,.18)!important;font-size:14px!important;line-height:1.5!important}
html body#acb-design .refpanel ol.refs li b{color:var(--ink)!important}
html body#acb-design .refpanel ol.refs li::before{color:var(--ink)!important;opacity:.55}

/* "References & sources" panel + its trigger button (evidence, the-factors,
   the legacy method page) — ink background, white text. The block-map's own
   .refpanel (per-block colour, .blocks-page) is a separate component and
   keeps its light background + ink text untouched. */
html body#acb-design.internal-page .refbar-wrap{background:var(--ink)!important}
html body#acb-design.internal-page .refbar{color:#fff!important}
html body#acb-design:is(.evidence-page,.factors-page,.method-page) .refpanel{background:var(--ink)!important;color:#fff!important}
html body#acb-design:is(.evidence-page,.factors-page,.method-page) .refpanel.refpanel h3{color:#fff!important}
html body#acb-design:is(.evidence-page,.factors-page,.method-page) .refpanel h4{color:#fff!important}
html body#acb-design:is(.evidence-page,.factors-page,.method-page) .refpanel-close{color:#fff!important}
html body#acb-design:is(.evidence-page,.factors-page,.method-page) .refpanel .refpanel-note{color:rgba(255,255,255,.78)!important}
html body#acb-design:is(.evidence-page,.factors-page,.method-page) .refpanel ol.refs li{color:rgba(255,255,255,.85)!important;border-top-color:rgba(255,255,255,.18)!important}
html body#acb-design:is(.evidence-page,.factors-page,.method-page) .refpanel ol.refs li b{color:#fff!important}
html body#acb-design:is(.evidence-page,.factors-page,.method-page) .refpanel ol.refs li::before{color:#fff!important;opacity:.55}

/* 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: 400;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:var(--tint);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: 400;font-size:14.05px;
}
html body#acb-design.method-page .craft-step h3{font-size:var(--fs-copy-lg);font-weight: 400;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:clamp(13.5px,1.4vw,15.5px)!important;letter-spacing:normal!important;line-height:1.4!important;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}
}

/* Evidence definition and organisation statement share one reading scale. */
html body#acb-design#acb-design.evidence-page main .evidence-organise p{
  max-width:none!important;
  font-size:clamp(24px,2.5vw,35px)!important;
  line-height:1.13!important;
  letter-spacing:var(--ls-body)!important;
}

/* Contact keeps its full-bleed visual hero flush with the top of the page. */
html body#acb-design#acb-design.internal-page.contact-page main{
  padding-top:0!important;
}
html body#acb-design#acb-design.internal-page.contact-page main>section.contact-visual-hero{
  margin-top:0!important;
}

@media(min-width:1181px){
  html body#acb-design#acb-design.internal-page.contact-page main>.contact-visual-hero>.wrap{
    width:var(--acb-frame-width)!important;
    max-width:var(--acb-frame-width)!important;
    padding-inline:0!important;
  }
}
@media(max-width:1180px){
  html body#acb-design#acb-design.internal-page.contact-page main>.contact-visual-hero>.wrap{
    width:calc(100vw - 26px)!important;
    max-width:calc(100vw - 26px)!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}
@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: 400!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: 400!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: 400!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: 400!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) :is(.btn,.btn-out){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: 400!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: 400!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: 400!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: 400!important;line-height:var(--lh-copy)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-heading{font-weight: 400!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:var(--acb-yellow)!important;color:var(--ink)!important}
html body#acb-design.home-page .acb-proof-copy ::-moz-selection{background:var(--acb-yellow)!important;color:var(--ink)!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{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{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}
/* 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.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}


/* 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 :is(h1,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: 400!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 .4s cubic-bezier(.4,0,.2,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 .faq-item .faq-q::after{transition:transform .4s cubic-bezier(.4,0,.2,1)!important}
/* Same +/× glyph everywhere a FAQ answer opens/closes — the dedicated FAQ
   page used to have its own circled-chevron icon, not used anywhere else
   on the site. Site.js still injects a chevron <svg> into .pm; hide it
   and draw the shared "+" → "×" glyph with ::after instead, matching the
   embedded .faq-q icon exactly (same size, same rotation, same curve). */
html body#acb-design .offer-toggle .pm,
html body#acb-design .offer-row.open .offer-toggle .pm{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:auto!important;flex:none!important;border:0!important;background:none!important;border-radius:0!important;position:relative;transform:none!important}
html body#acb-design .offer-toggle .pm svg{display:none!important}
html body#acb-design .offer-toggle .pm::after{content:"+"!important;display:inline-block!important;font-size:20px!important;font-weight: 400!important;line-height:1!important;color:var(--blue)!important;transition:transform .4s cubic-bezier(.4,0,.2,1)!important}
html body#acb-design .offer-row.open .offer-toggle .pm::after{transform:rotate(135deg)!important}

/* Home answers need a clear breath before the next rule. */
html body#acb-design.home-page .acb-faq .faq-item.open .faq-a>p{padding-bottom:44px!important}

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}
/* ".cform label{display:grid}" also matches .cform-consent (it's a <label>
   too) and, because it's a class+element selector, edges out
   ".cform-consent{display:flex}" on specificity despite coming first —
   so the checkbox stacked above its text instead of sitting beside it. */
html body#acb-design.contact-page .cform-consent{display:flex!important;align-items:flex-start!important;gap:10px!important}
html body#acb-design.contact-page .cform-status{margin:0!important;font-size:var(--fs-small)!important;color:var(--ink)!important}
html body#acb-design.contact-page .cform-status.is-error{color:#b3261e!important}

@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}
}

/* FAQ rows are one interactive surface. Their nested text/icon elements must
   inherit the same cursor so it never flickers between pointer and default. */
html body#acb-design :is(.faq-q,.offer-toggle),
html body#acb-design :is(.faq-q,.offer-toggle) *{cursor:pointer!important}

/* Shared action pills: a single compact, one-line treatment everywhere. */
html body#acb-design :is(a.btn,a.btn-out,a.pill,a.pill.big,a.pill.alt,button.btn,button.btn-out,button.pill,.refbar-btn,.map-test-inline,.bm-hypo button,.hero-panel .btn,.cta .btn,.cta .btn-out,.cta .pill,.plan-card .btn,.speaking-grid .btn,.acb-close .btn,.acb-close-sub .btn,.acb-utility-pill,.mobile-header-cta){
  font-size:20px!important;
  line-height:0!important;
  padding:20px!important;
  white-space:nowrap!important;
}

/* The homepage headline mirrors the measured header height: 54px on desktop
   and the 40px compact header used below the desktop-navigation breakpoint. */
html body#acb-design.home-page .acb-hero h1{
  font-size:54px!important;
  line-height:1!important;
}
@media(max-width:1180px){
  html body#acb-design.home-page .acb-hero h1{font-size:40px!important}
}


/* Exact action controls — these names appear in the document markup and
   remain protected from legacy component declarations. */
html body#acb-design.contact-page .cform button[type="submit"],
html body#acb-design.home-page .acb-look .cta .pill,
html body#acb-design .cookie-banner .cookie-actions button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:20px!important;
  font-size:20px!important;
  line-height:0!important;
  white-space:nowrap!important;
}
@media(max-width:504px){
  html body#acb-design.internal-page main section{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{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{width:100%!important;margin-left:0!important;margin-right:0!important}}
html body#acb-design.method-page .method-block:first-child .tcard h3{font-size:var(--fs-body)!important;line-height:var(--lh-copy)!important;font-weight: 400!important}
html body#acb-design.method-page .method-block:first-child .tcard p{font-size:clamp(13.5px,1.4vw,15.5px)!important;line-height:1.4!important}
/* The "Mostly fixed" eyebrow sits on the tcol's own indigo background;
   a sitewide rule forces every .eyebrow to indigo text regardless of
   context, which made this one unreadable. Restore pages.css's original
   per-column contrast (white on indigo, ink on yellow) at higher specificity. */
html body#acb-design.method-page .terrain-cols .tcol>.eyebrow{color:#fff!important}
html body#acb-design.method-page .terrain-cols .tcol.movable>.eyebrow{color:var(--ink)!important}
html body#acb-design :is(.faq-a>p,.offer-body>div){padding-bottom:0!important;transition:padding-bottom .4s cubic-bezier(.4,0,.2,1)}
html body#acb-design :is(.faq-item,.offer-row).open :is(.faq-a>p,.offer-body>div){padding-bottom:16.2px!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,.evidence-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,.evidence-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,.evidence-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,.evidence-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: 400!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:#f0f6ff!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%);
  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 .qc-form 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:none!important;transition:transform .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:none!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: two-column reading layout — a plain numbered process list
   (no card background of its own) beside floating white section cards.
   Only the steps carry a background, same principle as the FAQ page where
   the nav is plain text and each question is its own pill. */
html body#acb-design.method-page main .method-section{padding:0!important;background:transparent!important}
html body#acb-design.method-page .method-layout{
  width:100%!important;max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(220px,.32fr) minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
  padding:0!important;
}
html body#acb-design.method-page .method-nav{
  position:sticky!important;top:96px!important;align-self:start!important;
  counter-reset:method-step;
  display:flex!important;flex-direction:column!important;gap:4px!important;
  padding:var(--sp-card)!important;background:#fff!important;border-radius:var(--radius-card)!important;box-shadow:var(--shadow-card)!important;
}
html body#acb-design.method-page .method-nav a{
  counter-increment:method-step;
  display:flex!important;align-items:baseline!important;gap:12px!important;
  padding:10px 12px!important;margin:0 -12px!important;
  border-radius:var(--radius-card)!important;color:var(--ink-soft)!important;
  font-size:17px!important;line-height:1.3!important;text-decoration:none!important;
}
html body#acb-design.method-page .method-nav a::before{
  content:counter(method-step,decimal-leading-zero)!important;
  flex:0 0 auto!important;font-size:12px!important;letter-spacing:.04em!important;color:var(--brand)!important;font-weight:600!important;
}
html body#acb-design.method-page .method-nav a:is(:hover,.is-current){background:rgba(79,70,229,.1)!important;color:var(--ink)!important}
html body#acb-design.method-page .method-copy{display:flex!important;flex-direction:column!important;gap:16px!important}
html body#acb-design.method-page .method-block{
  padding:var(--sp-card)!important;border-radius:var(--radius-card)!important;
  background:#fff!important;box-shadow:var(--shadow-card)!important;
  scroll-margin-top:110px!important;
}
@media(max-width:774px){
  html body#acb-design.method-page .method-layout{grid-template-columns:1fr!important}
  html body#acb-design.method-page .method-nav{position:static!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;letter-spacing:var(--ls-h2)!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:clamp(110px,10vw,150px)!important;padding:var(--sp-card)!important;border-radius:var(--radius-card)!important;box-shadow:none!important;transition:none!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(34px,7.2vw,72px)!important;line-height:.92!important;letter-spacing:-.3rem!important;max-width:none!important;width:100%!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:none!important;padding-right:56px!important}
html body#acb-design.home-page .work-card:hover{transform:none!important;box-shadow:none!important}
html body#acb-design.home-page .work-card .work-arrow{position:absolute!important;right:var(--sp-card)!important;bottom:var(--sp-card)!important;font-size:clamp(20px,2.6vw,30px)!important;line-height:1!important;transition:transform .3s cubic-bezier(.16,1,.3,1)!important}
html body#acb-design.home-page .work-card:is(:hover,:focus-visible) .work-arrow{transform:translate(4px,-4px)!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:-.022em!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 .terrain-cols{grid-template-columns: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:130px!important}
  html body#acb-design.home-page .work-card h3{font-size:clamp(30px,11vw,40px)!important;letter-spacing:normal!important}
  html body#acb-design.home-page .work-card p{padding-right:44px!important}
  html body#acb-design.home-page .work-card .work-arrow{font-size:22px!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:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;margin-left:auto!important;margin-right:auto!important;min-height:100%!important;padding:33.05px 0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important}
@media(min-width:1181px){
  html body#acb-design.internal-page.contact-page:not(.individuals-page):not(.organisations-page) main>.contact-visual-hero>.wrap{
    width:min(calc(var(--site-width) + var(--panel-boost) + 80px),calc(100vw - 16px))!important;
  }
}

/* Calm motion system — shared by every page. The header follows a shell-first,
   content-second entrance; page surfaces then reveal with short, quiet cascades. */
@keyframes acb-header-shell-in{
  from{opacity:.72;transform:translateY(-6px) scaleX(.985)}
  to{opacity:1;transform:translateY(0) scaleX(1)}
}
@keyframes acb-header-part-in{
  from{opacity:0;translate:0 -5px}
  to{opacity:1;translate:0 0}
}
@keyframes acb-page-image-in{
  from{opacity:.38;transform:scale(1.018)}
  to{opacity:1;transform:scale(1)}
}
@keyframes acb-page-copy-in{
  from{opacity:0;transform:translateY(11px) scale(.99)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes acb-page-marquee-in{
  from{opacity:0;transform:translateY(7px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes acb-page-item-in{
  from{opacity:0;translate:var(--acb-motion-x,0) 11px}
  to{opacity:1;translate:0 0}
}

html body#acb-design .acb-header{
  transform-origin:top center;
  animation:acb-header-shell-in .56s .02s cubic-bezier(.16,1,.3,1) both;
}
html body#acb-design .acb-header .acb-logo,
html body#acb-design .acb-header .navitem,
html body#acb-design .acb-header .acb-actions,
html body#acb-design .acb-header .mobile-header-cta,
html body#acb-design .acb-header .mobile-menu-toggle{
  animation:acb-header-part-in .48s cubic-bezier(.16,1,.3,1) both;
}
html body#acb-design .acb-header .acb-logo{animation-delay:.13s}
html body#acb-design .acb-header .navitem:nth-child(1){animation-delay:.18s}
html body#acb-design .acb-header .navitem:nth-child(2){animation-delay:.22s}
html body#acb-design .acb-header .navitem:nth-child(3){animation-delay:.26s}
html body#acb-design .acb-header .navitem:nth-child(4){animation-delay:.30s}
html body#acb-design .acb-header .acb-actions{animation-delay:.34s}
html body#acb-design .acb-header .mobile-header-cta{animation-delay:.19s}
html body#acb-design .acb-header .mobile-menu-toggle{animation-delay:.25s}

html.acb-motion body#acb-design .acb-motion-hero :is(.acb-hero-img,.contact-hero-media){
  animation:acb-page-image-in 1.02s cubic-bezier(.16,1,.3,1) both;
  transform-origin:center center;
}
html.acb-motion body#acb-design .acb-motion-hero .acb-motion-hero-item{
  animation:acb-page-copy-in .72s calc(.14s + var(--acb-hero-delay,0ms)) cubic-bezier(.16,1,.3,1) both;
}
html body#acb-design.home-page main>.acb-marq{
  animation:acb-page-marquee-in .64s .25s cubic-bezier(.16,1,.3,1) both;
}

html.acb-motion body#acb-design .acb-motion-section{
  opacity:0;
  translate:0 15px;
  transition:opacity .62s ease,translate .74s cubic-bezier(.16,1,.3,1);
  will-change:opacity,translate;
}
html.acb-motion body#acb-design .acb-motion-section.is-motion-visible{
  opacity:1;
  translate:0 0;
  will-change:auto;
}
html.acb-motion body#acb-design .acb-motion-section .acb-motion-item{
  opacity:0;
  translate:var(--acb-motion-x,0) 11px;
}
html.acb-motion body#acb-design .acb-motion-section.is-motion-visible .acb-motion-item{
  animation:acb-page-item-in .6s calc(.08s + var(--acb-motion-delay,0ms)) cubic-bezier(.16,1,.3,1) both;
}

@media(max-width:684px){
  html.acb-motion body#acb-design .acb-motion-section{translate:0 10px}
  html.acb-motion body#acb-design .acb-motion-section .acb-motion-item{
    translate:0 8px;
    --acb-motion-x:0px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  html body#acb-design .acb-header,
  html body#acb-design .acb-header :is(.acb-logo,.navitem,.acb-actions,.mobile-header-cta,.mobile-menu-toggle),
  html body#acb-design main>.acb-marq,
  html.acb-motion body#acb-design .acb-motion-hero :is(.acb-hero-img,.contact-hero-media,.acb-motion-hero-item){
    animation:none!important;
  }
  html.acb-motion body#acb-design :is(.acb-motion-section,.acb-motion-item){
    opacity:1!important;
    translate:0 0!important;
    animation:none!important;
    transition:none!important;
  }
}

/* Use the Evidence domain pills as the shared visual language for the 7+1
   labels on Home and on every Block Map card. */
html body#acb-design#acb-design.home-page .acb-blocks .bgm-card .bgm-lab,
html body#acb-design#acb-design.blocks-page .bmcard .card-tag{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:100%!important;
  padding:12px 20px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--c,#4f46e5)!important;
  color:var(--ink)!important;
  font-family:"Inter",sans-serif!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:-.022em!important;
  text-transform:none!important;
  box-shadow:0 8px 20px rgba(7,19,33,.1)!important;
}
@media(max-width:900px){
  html body#acb-design#acb-design.home-page .acb-blocks .bgm-card .bgm-lab,
  html body#acb-design#acb-design.blocks-page .bmcard .card-tag{
    padding:9px 15px!important;
    font-size:13px!important;
  }
}
@media(max-width:600px){
  html body#acb-design#acb-design.home-page .acb-blocks .bgm-card .bgm-lab,
  html body#acb-design#acb-design.blocks-page .bmcard .card-tag{
    padding:6px 8px!important;
    font-size:12px!important;
  }
}

/* The closed references drawer sits just outside the viewport. Its left-facing
   shadow must stay off until the drawer opens, otherwise it paints a dark fade
   down the right edge of the Evidence page on narrow screens. */
html body#acb-design#acb-design.evidence-page .refpanel:not(.open){
  box-shadow:none!important;
}

/* The 4i and 4o offer-deck headings are one shared typographic component. */
html body#acb-design#acb-design:is(.individuals-page,.organisations-page) main h2.offer-deck-title{
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  font-size:clamp(40px,5.6vw,68px)!important;
  line-height:.95!important;
  letter-spacing:-.022em!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:0!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: 400!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: 400!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:774px){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:0!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:is(.individuals-page,.organisations-page) .audience-hero-stack{width:100%!important}
}
/* Keep "Work with us" and "The symptom and the cause" side-by-side like
   desktop through tablet widths — only stack them on true phones, at the
   same breakpoint their own image sizes hint already assumes. */
@media(max-width:774px){
  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}
}

/* ===================== 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:20px!important;
  line-height:1.4!important;
  letter-spacing:var(--ls-title)!important;
  font-weight: 400!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: 400!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:-.022em!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:-.022em!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;
  }
}

/* Header controls — final responsive source of truth. */
@media(max-width:1180px){
  html body#acb-design .acb-header:not(.mobile-open) .mobile-header-cta{
    background:#4f46e5!important;
    color:#fff!important;
    border:none!important;
  }
  html body#acb-design .acb-header:not(.mobile-open) .mobile-menu-toggle{
    background:#dbeafe!important;
    color:#4f46e5!important;
    border:none!important;
  }
}

/* Shared type, FAQ and call-to-action pass. */
html body#acb-design .acb-header :is(.navbutton,.acb-sub a){
  font-size:14.87px!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  font-weight: 400!important;
}
html body#acb-design :is(h1,h2,h3,.display,.scrolltext){text-wrap:pretty!important;hyphens:none!important;word-break:normal!important}

html body#acb-design .faq-list{width:100%!important;max-width:none!important;margin:0!important}
html body#acb-design .faq-item{border-bottom:1px solid var(--line)!important}
html body#acb-design .faq-item .faq-q{
  min-height:58px!important;
  padding:14px 0!important;
  font-size:var(--fs-body)!important;
  line-height:1.25!important;
  letter-spacing:var(--ls-body)!important;
  color:var(--ink)!important;
}
html body#acb-design .faq-item .faq-q::after{
  content:""!important;
  width:9px!important;
  height:9px!important;
  margin-left:auto!important;
  border-right:2px solid currentColor!important;
  border-bottom:2px solid currentColor!important;
  color:var(--acb-blue,#4f46e5)!important;
  transform:rotate(45deg)!important;
  transition:transform .28s cubic-bezier(.16,1,.3,1)!important;
}
html body#acb-design .faq-item.open .faq-q::after{transform:rotate(225deg)!important}
html body#acb-design .faq-a{overflow:hidden!important;display:grid!important;grid-template-rows:0fr!important;opacity:0!important;transition:grid-template-rows .32s cubic-bezier(.16,1,.3,1),opacity .22s ease!important}
html body#acb-design .faq-item.open .faq-a{grid-template-rows:1fr!important;opacity:1!important}
html body#acb-design .faq-a>p{width:60%!important;max-width:60%!important;overflow:hidden!important;padding:0 0 18px!important;font-size:var(--fs-body)!important;line-height:var(--lh-copy)!important}
@media(max-width:774px){html body#acb-design .faq-a>p{width:100%!important;max-width:none!important}}

/* One FAQ control everywhere: a plain plus that turns into a cross. */
html body#acb-design :is(.faq-a,.offer-body){overflow:hidden!important;display:block!important;height:0!important;opacity:0!important;transition:height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease!important}
html body#acb-design :is(.faq-item,.offer-row).open :is(.faq-a,.offer-body){height:auto!important;opacity:1!important}
html body#acb-design :is(.faq-a>p,.offer-body>div){overflow:hidden!important;padding-bottom:0!important;transition:padding-bottom .4s cubic-bezier(.4,0,.2,1)!important}
html body#acb-design :is(.faq-item,.offer-row).open :is(.faq-a>p,.offer-body>div){padding-bottom:28px!important}
html body#acb-design .faq-item .faq-q::after{content:"+"!important;width:auto!important;height:auto!important;margin-left:auto!important;border:0!important;color:var(--blue)!important;font-size:20px!important;font-weight: 400!important;line-height:1!important;transform:rotate(0)!important;transition:transform .4s cubic-bezier(.4,0,.2,1)!important}
html body#acb-design .faq-item.open .faq-q::after{transform:rotate(135deg)!important}
html body#acb-design .offer-toggle .pm{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:auto!important;flex:none!important;border:0!important;background:none!important;border-radius:0!important;position:relative!important;transform:none!important}
html body#acb-design .offer-toggle .pm svg{display:none!important}
html body#acb-design .offer-toggle .pm::after{content:"+"!important;display:inline-block!important;font-size:20px!important;font-weight: 400!important;line-height:1!important;color:var(--blue)!important;transition:transform .4s cubic-bezier(.4,0,.2,1)!important}
html body#acb-design .offer-row.open .offer-toggle .pm::after{transform:rotate(135deg)!important}

html body#acb-design.blocks-page .bm-hypo>.wrap::after{display:none!important}
html body#acb-design.blocks-page .bm-hypo>.wrap{padding:clamp(28px,5vw,56px)!important}
html body#acb-design.blocks-page .bm-hypo p.stmt{font-size:var(--fs-h2)!important;line-height:var(--lh-title)!important;letter-spacing:var(--ls-h2)!important;max-width:none!important}
html body#acb-design.blocks-page .bm-hypo p.stmt span{display:inline-block!important;transition:transform .22s ease!important}
html body#acb-design.blocks-page .bm-hypo>.wrap:hover p.stmt span{transform:translateX(7px)!important}
html body#acb-design.blocks-page .evidence-band>.wrap{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr)!important;gap:var(--sp-card)!important;padding:0!important;overflow:hidden!important;background:#fff!important}
html body#acb-design.blocks-page .evidence-band .evidence-copy{padding:var(--sp-card)!important;align-self:center!important}
html body#acb-design.blocks-page .evidence-band .evidence-copy .btn{margin-top:18px!important}
html body#acb-design.blocks-page .evidence-band .evidence-image{margin:0!important;min-height:340px!important;overflow:hidden!important}
html body#acb-design.blocks-page .evidence-band .evidence-image img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
html body#acb-design.organisations-page .speaking-grid{grid-template-columns:1fr 1fr!important;align-items:stretch!important}
html body#acb-design .speaking-masonry{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:repeat(2,minmax(130px,1fr))!important;gap:8px!important;margin:0!important;overflow:hidden!important}
html body#acb-design .speaking-masonry img{width:100%!important;height:100%!important;object-fit:cover!important}
html body#acb-design.organisations-page .speaking-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;padding:var(--sp-card)!important}
html body#acb-design :is(.acb-close,.acb-close-sub)>.wrap{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:24px!important;text-align:left!important}
html body#acb-design :is(.acb-close,.acb-close-sub)>.wrap :is(h2,.note){max-width:18ch!important;margin:0!important}
html body#acb-design :is(.acb-close,.acb-close-sub)>.wrap .cta{margin:0!important;justify-content:flex-end!important}
html body#acb-design.blocks-page .refpanel{width:50%!important;min-width:347px!important;background:var(--pc,#e35d54)!important;color:var(--ink)!important;border-radius:var(--radius-card,5px) 0 0 var(--radius-card,5px)!important}
@media(max-width:774px){html body#acb-design.blocks-page .refpanel{width:100%!important;min-width:0!important}}
html body#acb-design.blocks-page .refpanel-inner{padding:clamp(34px,5vw,70px)!important}
html body#acb-design.blocks-page .refpanel h3{font-size:clamp(44px,5.8vw,82px)!important;line-height:.9!important;letter-spacing:var(--ls-h1)!important;color:var(--ink)!important}
html body#acb-design.blocks-page .refpanel :is(.bd-lead,.bd-under){font-size:clamp(19px,2.1vw,30px)!important;line-height:1.12!important;color:var(--ink)!important}
html body#acb-design.blocks-page .refpanel h4{padding:14px 18px!important;background:#fff!important;border-radius:var(--radius-card,5px)!important;color:var(--ink)!important;font-size:var(--fs-label)!important;letter-spacing:var(--ls-label)!important}
html body#acb-design.blocks-page .refpanel .bd-list{gap:13px!important}
html body#acb-design.blocks-page .refpanel .bd-list li{font-size:var(--fs-copy-lg)!important;line-height:1.1!important;color:var(--ink)!important;padding-left:34px!important}
@media(max-width:774px){html body#acb-design.blocks-page .evidence-band>.wrap,html body#acb-design.organisations-page .speaking-grid,html body#acb-design :is(.acb-close,.acb-close-sub)>.wrap{grid-template-columns:1fr!important}html body#acb-design.blocks-page .evidence-band .evidence-image{min-height:260px!important}html body#acb-design :is(.acb-close,.acb-close-sub)>.wrap .cta{justify-content:flex-start!important}}

html body#acb-design.home-page .acb-faq>.wrap{display:block!important}
html body#acb-design.home-page .acb-faq .acb-head{margin:0 0 18px!important;text-align:left!important}
html body#acb-design.home-page .acb-faq .faq-list{padding:0!important}

/* Block map: an inline direction cue, then the evidence as a true split. */
html body#acb-design.blocks-page .bm-hypo>.wrap::after{display:none!important}
html body#acb-design.blocks-page .bm-hypo>.wrap{padding:clamp(28px,5vw,56px)!important}
html body#acb-design.blocks-page .bm-hypo p.stmt{font-size:var(--fs-h2)!important;line-height:var(--lh-title)!important;letter-spacing:var(--ls-h2)!important;max-width:none!important}
html body#acb-design.blocks-page .bm-hypo p.stmt span{display:inline-block;transition:transform .22s ease!important}
html body#acb-design.blocks-page .bm-hypo>.wrap:hover p.stmt span{transform:translateX(7px)}
html body#acb-design.blocks-page .bm-hypo .fine{letter-spacing:var(--ls-small)!important}

/* Match the compact yellow closing CTA: generous padding, without a forced
   panel height. The cards retain their established type and spacing. */
html body#acb-design.blocks-page .bm-hypo > .wrap{min-height:0!important;padding:var(--sp-card)!important}

/* Map cards use the shared flat card surface — no page-specific shadow. */
html body#acb-design.blocks-page .bmcard,
html body#acb-design.blocks-page .bmcard:hover{box-shadow:none!important}
html body#acb-design.blocks-page .evidence-band>.wrap{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr)!important;gap:var(--sp-card)!important;padding:0!important;overflow:hidden!important;background:#fff!important}
html body#acb-design.blocks-page .evidence-band .evidence-copy{padding:var(--sp-card)!important;align-self:center!important}
html body#acb-design.blocks-page .evidence-band .evidence-copy .btn{margin-top:18px!important}
html body#acb-design.blocks-page .evidence-band .evidence-image{margin:0!important;min-height:340px!important;overflow:hidden!important}
html body#acb-design.blocks-page .evidence-band .evidence-image img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
@media(max-width:774px){html body#acb-design.blocks-page .evidence-band>.wrap{grid-template-columns:1fr!important}html body#acb-design.blocks-page .evidence-band .evidence-image{min-height:260px!important}}

/* Organisation talk imagery and individuals' outcomes mirror the split panels. */
html body#acb-design.organisations-page .speaking-grid{grid-template-columns:1fr 1fr!important;align-items:stretch!important}
html body#acb-design .speaking-masonry{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:repeat(2,minmax(130px,1fr))!important;gap:8px!important;margin:0!important;overflow:hidden!important}
html body#acb-design .speaking-masonry img{width:100%!important;height:100%!important;object-fit:cover!important}
html body#acb-design.organisations-page .speaking-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;padding:var(--sp-card)!important}
@media(max-width:774px){html body#acb-design.organisations-page .speaking-grid{grid-template-columns:1fr!important}}

/* Closing prompts use one concise sentence with the action held on the right. */
html body#acb-design :is(.acb-close,.acb-close-sub)>.wrap{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:24px!important;text-align:left!important}
html body#acb-design :is(.acb-close,.acb-close-sub)>.wrap :is(h2,.note){max-width:18ch!important;margin:0!important}
html body#acb-design :is(.acb-close,.acb-close-sub)>.wrap .cta{margin:0!important;justify-content:flex-end!important}
@media(max-width:774px){html body#acb-design :is(.acb-close,.acb-close-sub)>.wrap{grid-template-columns:1fr!important}html body#acb-design :is(.acb-close,.acb-close-sub)>.wrap .cta{justify-content:flex-start!important}}

/* Block detail panels follow the map's scale rather than the old tiny type. */
html body#acb-design.blocks-page .refpanel{width:50%!important;min-width:347px!important;background:var(--pc,#e35d54)!important;color:var(--ink)!important;border-radius:var(--radius-card,5px) 0 0 var(--radius-card,5px)!important}
@media(max-width:774px){html body#acb-design.blocks-page .refpanel{width:100%!important;min-width:0!important}}
html body#acb-design.blocks-page .refpanel-inner{padding:clamp(34px,5vw,70px)!important}
html body#acb-design.blocks-page .refpanel h3{font-size:clamp(44px,5.8vw,82px)!important;line-height:.9!important;letter-spacing:var(--ls-h1)!important;color:var(--ink)!important}
html body#acb-design.blocks-page .refpanel :is(.bd-lead,.bd-under){font-size:clamp(19px,2.1vw,30px)!important;line-height:1.12!important;color:var(--ink)!important}
html body#acb-design.blocks-page .refpanel h4{padding:14px 18px!important;background:#fff!important;border-radius:var(--radius-card,5px)!important;color:var(--ink)!important;font-size:var(--fs-label)!important;letter-spacing:var(--ls-label)!important}
html body#acb-design.blocks-page .refpanel .bd-list{gap:13px!important}
html body#acb-design.blocks-page .refpanel .bd-list li{font-size:var(--fs-copy-lg)!important;line-height:1.1!important;color:var(--ink)!important;padding-left:34px!important}

/* Match the desktop floating header card at every responsive size. */
@media(max-width:1180px){
  html body#acb-design .acb-header:not(.mobile-open){
    position:fixed!important;
    top:20px!important;
    left:20px!important;
    right:20px!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:6px 10px!important;
    background:#fff!important;
    border:0!important;
    border-radius:var(--radius-card,5px)!important;
    box-shadow:0 0 55px rgba(0,0,0,.15)!important;
  }
  html body#acb-design .acb-header:not(.mobile-open)>.inner{
    min-height:42px!important;
    height:42px!important;
  }
}

/* Tablet navigation opens as a contained panel from the right. */
@media(min-width:901px) and (max-width:1180px){
  html body#acb-design .acb-header.mobile-open{
    background:transparent!important;
    overflow:visible!important;
  }
  html body#acb-design .acb-header.mobile-open .acb-head-right{
    left:auto!important;
    right:0!important;
    width:40vw!important;
    min-width:360px!important;
    max-width:480px!important;
    padding:76px 24px 0!important;
    box-shadow:-14px 0 36px rgba(7,19,33,.18)!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-menu-footer{
    width:calc(100% + 48px)!important;
    margin-left:-24px!important;
  }
}

/* Desktop nav uses the same compact, unbordered menu treatment. */
@media(min-width:1181px){
  html body#acb-design .acb-header .inner{
    height:54px!important;
    min-height:54px!important;
    padding:0 14px!important;
    gap:14px!important;
  }
  html body#acb-design .acb-header .acb-logo{margin:0!important;padding:0!important}
  html body#acb-design .acb-header .acb-logo .acb-logo-mount{height:34px!important}
  html body#acb-design .acb-header .acb-nav{display:flex!important;gap:3px!important}
  html body#acb-design .acb-header .navbutton{
    margin:0!important;
    padding:8px 10px!important;
    border:0!important;
    border-radius:var(--radius-card,5px)!important;
    background:transparent!important;
    color:var(--ink)!important;
    font-size:13.22px!important;
    font-weight: 400!important;
    line-height:1!important;
    letter-spacing:-.015em!important;
    text-transform:none!important;
  }
  html body#acb-design .acb-header .navitem:hover>.navbutton,
  html body#acb-design .acb-header .navitem.is-active>.navbutton{
    background:#dbeafe!important;
    color:#4f46e5!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;
  }
}

/* Footer finishing: social links live beneath Support, the newsletter reads
   as one compact unit, and the copyright row stays deliberately quiet. */
html body#acb-design .acb-footer .acb-footer-news{
  justify-content:flex-start!important;
  gap:8px!important;
}
html body#acb-design .acb-footer .acb-footer-news p{
  margin:0!important;
}
html body#acb-design .acb-footer .footer-socials{
  display:flex!important;
  width:auto!important;
  gap:10px!important;
  margin:0!important;
  padding-top:0!important;
  border-top:0!important;
}
html body#acb-design .acb-footer .footer-socials a{
  width:44px!important;
  height:44px!important;
  color:#fff!important;
}
html body#acb-design .acb-footer .footer-socials svg{
  width:29px!important;
  height:29px!important;
  fill:currentColor!important;
  stroke:none!important;
}
html body#acb-design .acb-footer .footer-socials svg{
  width:24px!important;
  height:24px!important;
  color:#fff!important;
}
html body#acb-design .acb-footer>.bottom{
  min-height:0!important;
  padding:8px 0 0!important;
  line-height:1.2!important;
}

/* The FAQ page keeps its finished title and question cards, without a
   second background panel around them. This lets both use the full reading
   column beside the contents index. */
html body#acb-design.faq-page .section>.wrap,
html body#acb-design.faq-page .faqx>div{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body#acb-design.faq-page .faqx :is(.faqx-cat-head,.offer-list){
  width:100%!important;
  max-width:none!important;
}

/* Dedicated FAQ typography follows the Home FAQ exactly. */
html body#acb-design.faq-page .faqx-cat-head h2{font-size:var(--fs-h2)!important;line-height:var(--lh-title)!important}
html body#acb-design.faq-page .faqx .offer-toggle{font-size:30px!important;line-height:1.15!important}
html body#acb-design.faq-page .faqx .offer-body p{font-size:20px!important;line-height:1.3!important}
@media(max-width:774px){
  html body#acb-design.faq-page .faqx-cat-head h2{font-size:var(--fs-h2)!important}
  html body#acb-design.faq-page .faqx .offer-toggle,
  html body#acb-design.faq-page .faqx .offer-body p{font-size:var(--fs-body)!important}
}

/* One 20px content-action scale on every page and viewport. The floating
   header remains compact; this covers page CTAs, offer enquiries, map links
   and reference actions only. */
html body#acb-design main :is(
  a.btn,a.btn-out,a.pill,a.pill.big,a.pill.alt,
  button.btn,button.btn-out,button.pill,
  .cta :is(a,button),.plan-card :is(a.btn,button.btn),
  .speaking-grid :is(a.btn,button.btn),a.refbar-btn,button.refbar,
  .map-test-inline,.bm-hypo button,.hero-panel .btn,.acb-close .btn,
  .acb-close-sub .btn
){font-size:20px!important}

/* Give desktop/tablet menu hover surfaces a subtle horizontal breathing room
   without changing their height or the expanded mobile-menu geometry. */
html body#acb-design .acb-header:not(.mobile-open) :is(.navbutton,.acb-sub a){
  padding-inline:4px!important;
}

/* The document index uses a rounded, pill-like progress stroke rather than
   a hairline underline as each linked section becomes current. */
html body#acb-design :is(.legal-nav,.faqx-nav) a::after{
  bottom:3px!important;
  height:7px!important;
  border-radius:999px!important;
  background:rgba(79,70,229,.24)!important;
  opacity:0;
  transition:transform .36s cubic-bezier(.16,1,.3,1),opacity .2s ease!important;
}
html body#acb-design :is(.legal-nav,.faqx-nav) a:is(:hover,.is-current)::after{
  opacity:1!important;
}

/* FAQ and legal documents sit directly on the page field. Their separate
   index and reading cards provide the only surfaces; no generic section
   wrapper should add a third white background or shrink the shared frame. */
html body#acb-design.faq-page main section.section>.wrap,
html body#acb-design.legal-page main .legal-section,
html body#acb-design.legal-page main .legal-wrap.legal-layout{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Individuals: a fuller feeling check-in, then a visible, adaptable process. */
@media(min-width:775px){
  html body#acb-design.individuals-page .individual-feeling>.wrap{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)!important;
    gap:var(--sp-card)!important;
    align-items:start!important;
  }
  html body#acb-design.individuals-page .individual-feeling .audience-eyebrow{grid-column:1 / -1!important}
  html body#acb-design.individuals-page .individual-feeling .feeling-copy{grid-column:1!important}
  html body#acb-design.individuals-page .individual-feeling .signs-list{grid-column:2!important;margin:0!important;max-width:none!important;grid-template-columns:1fr!important}
  html body#acb-design.individuals-page .individual-support>.wrap{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important;gap:var(--sp-card)!important;align-items:start!important}
  html body#acb-design.individuals-page .individual-support .support-copy{grid-column:1!important}
  html body#acb-design.individuals-page .individual-support .acb-loop-steps{grid-column:2!important;grid-template-columns:1fr!important;margin:0!important}
}
html body#acb-design.individuals-page .individual-feeling .feeling-copy .body{margin-bottom:0!important}
html body#acb-design.individuals-page .individual-support .support-copy .big{color:#fff!important}
html body#acb-design.individuals-page .individual-support .acb-loop-steps{grid-template-columns:1fr!important}
html body#acb-design.individuals-page .individual-support .acb-loop-steps li:not(:last-child)::after{display:none!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: 400!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: 400!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:15%!important;
  text-wrap:pretty!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
@media(max-width:954px){html body#acb-design.home-page .acb-say p.scrolltext{padding-right:10%!important}}
@media(max-width:684px){html body#acb-design.home-page .acb-say p.scrolltext{padding-right:0!important}}
@supports(text-wrap:balance){
  html body#acb-design.home-page .acb-say p.scrolltext{text-wrap:pretty!important}
}

/* Give consecutive content cards room to breathe. The selector only starts
   after the first card in a content panel, so every hero-to-first-card gap
   keeps its established size. */
:root{--sp-gap-wide:clamp(54px,13vw,92px)}
html body#acb-design#acb-design main > .acb-main-panel > section + section,
html body#acb-design#acb-design main > section:not(.acb-hero):not(.center-hero):not(.page-hero):not(.blog-hero):not(.bm-hero):not(.domain-hero) + section{
  margin-top:var(--sp-gap-wide)!important;
}

/* Four organisation offers form two balanced rows; a single column keeps
   each offer easy to scan on phones. */
html body#acb-design.organisations-page .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:738px){html body#acb-design.organisations-page .plan-grid{grid-template-columns:1fr!important}}

/* Individuals: the opening statement uses the same long-form hierarchy as
   Home's approach. The support journey then holds the explanatory copy on
   the left and the complete process on the right half. Doubled #acb-design:
   two stale two-column grid rules further down (written for an older
   .feeling-copy/.signs-list layout this section no longer has) still match
   via .individual-feeling>.wrap and .audience-intro:first-of-type>.wrap and
   carry more raw specificity, so a single-ID block override here loses and
   the grid's row-gap adds ~27px of unwanted space under the eyebrow. */
html body#acb-design#acb-design.individuals-page .individual-feeling>.wrap{display:block!important;gap:0!important}
html body#acb-design.individuals-page .individual-feeling .scrolltext{
  max-width:none!important;margin:0!important;padding-right:15%!important;
  color:var(--ink)!important;font-size:35px!important;line-height:var(--lh-title)!important;
  letter-spacing:var(--ls-title)!important;text-wrap:pretty!important;
}
html body#acb-design.individuals-page .individual-feeling .scrolltext .hl{
  background-image:linear-gradient(to bottom,transparent 8%,var(--acb-yellow) 8%,var(--acb-yellow) 92%,transparent 92%)!important;
  color:var(--ink)!important;
}
html body#acb-design.individuals-page .individual-support>.wrap{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:var(--sp-card)!important;align-items:start!important;
}
html body#acb-design.individuals-page .individual-support .support-copy .big{
  font-size:var(--fs-h2)!important;line-height:var(--lh-title)!important;letter-spacing:var(--ls-h2)!important;
  margin:0 0 16px!important;
}
html body#acb-design.individuals-page .individual-support .support-copy .lead{
  font-size:var(--fs-copy-lg)!important;line-height:1!important;letter-spacing:var(--ls-copy-lg)!important;
  margin:0!important;
}
html body#acb-design.individuals-page .individual-support .acb-loop-steps{
  grid-column:2!important;grid-template-columns:1fr!important;gap:8px!important;margin:0!important;
}
html body#acb-design.individuals-page .individual-support .acb-loop-steps li{
  padding:16px!important;min-height:0!important;
}
html body#acb-design.individuals-page .individual-support .acb-loop-steps li span{
  display:block!important;margin:0 0 8px!important;font-size:var(--fs-label)!important;
  letter-spacing:var(--ls-label)!important;line-height:1.2!important;text-transform:uppercase!important;
}
html body#acb-design.individuals-page .individual-support .acb-loop-steps li b{
  display:block!important;margin:0 0 7px!important;font-size:var(--fs-copy-lg)!important;
  letter-spacing:var(--ls-copy-lg)!important;line-height:1!important;font-weight: 400!important;
}
html body#acb-design.individuals-page .individual-support .acb-loop-steps li p{
  margin:0!important;font-size:var(--fs-body)!important;line-height:var(--lh-copy)!important;
}
@media(max-width:774px){
  html body#acb-design.individuals-page .individual-feeling .scrolltext{padding-right:0!important;font-size:35px!important}
  html body#acb-design.individuals-page .individual-support>.wrap{grid-template-columns:1fr!important}
  html body#acb-design.individuals-page .individual-support .acb-loop-steps{grid-column:1!important;margin-top:var(--sp-card)!important}
}

/* "What you/the team leave with": text on the left in its own colour card,
   each takeaway in its own colour-blocked card on the right, gently
   scattered/rotated — the whole row no longer shares one background. */
html body#acb-design:is(.individuals-page,.organisations-page) .takeaways>.wrap{
  display:grid!important;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;
  align-items:stretch!important;
  gap:clamp(20px,3vw,32px)!important;
  padding:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  max-width:none!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .takeaway-copy{
  padding:var(--sp-card)!important;max-width:none!important;
  background:#fff!important;border-radius:var(--radius-card)!important;
  display:flex!important;flex-direction:column!important;justify-content:flex-start!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .takeaway-copy .audience-eyebrow{margin-bottom:0!important}
html body#acb-design:is(.individuals-page,.organisations-page) .takeaway-copy h2{
  font-size:clamp(60px,6.7vw,100px)!important;line-height:.8!important;
  letter-spacing:-.022em!important;text-wrap:balance!important;
  margin:0!important;padding-top:20px!important;max-width:none!important;width:100%!important;color:var(--ink)!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .takeaway-blocks{
  display:grid!important;gap:18px!important;margin:0!important;padding:0!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .tblock{
  padding:26px 30px!important;border-radius:var(--radius-card)!important;box-shadow:var(--shadow-card)!important;
}
/* Doubled ID: a generic paragraph rule elsewhere (html body#acb-design.internal-page
   :is(p,...,.faqx .offer-body p,...)) carries the :is() list's most-specific
   branch (2 classes+element) across its whole selector, outranking this
   single-ID rule even though .tblock p matches none of those branches. */
html body#acb-design#acb-design:is(.individuals-page,.organisations-page) .tblock p{
  margin:0!important;font-size:clamp(28px,3.6vw,42px)!important;line-height:1.08!important;font-weight:400!important;letter-spacing:-.022em!important;
  color:inherit!important;
}
html body#acb-design#acb-design:is(.individuals-page,.organisations-page) .tblock sup.cite{color:inherit!important;opacity:.75!important}
html body#acb-design:is(.individuals-page,.organisations-page) .tblock.c1{background:#4f46e5!important;color:#fff!important}
html body#acb-design:is(.individuals-page,.organisations-page) .tblock.c2{background:var(--acb-yellow)!important;color:var(--ink)!important;margin-left:clamp(0px,4vw,32px)!important}
html body#acb-design:is(.individuals-page,.organisations-page) .tblock.c3{background:#f6b3cc!important;color:var(--ink)!important}
@media(max-width:774px){
  html body#acb-design:is(.individuals-page,.organisations-page) .takeaways>.wrap{grid-template-columns:1fr!important;gap:16px!important}
  html body#acb-design:is(.individuals-page,.organisations-page) .takeaway-copy{padding:24px!important}
  html body#acb-design:is(.individuals-page,.organisations-page) .takeaway-copy h2{font-size:clamp(48px,11vw,68px)!important;line-height:.9!important;max-width:none!important}
  html body#acb-design:is(.individuals-page,.organisations-page) .takeaway-blocks{gap:12px!important}
  html body#acb-design:is(.individuals-page,.organisations-page) .tblock{margin-left:0!important}
}

/* Gravity drop-in for the takeaway blocks: each starts lifted, faded and
   level, then drops into its resting rotation with a small spring overshoot
   as it scrolls into view (site.js toggles .in-view via IntersectionObserver,
   staggered per block). Respects reduced-motion by skipping straight to rest. */
html body#acb-design:is(.individuals-page,.organisations-page) .tblock{
  --tblock-rot:0deg;
  opacity:0!important;transform:translateY(46px) rotate(0deg)!important;
  transition:transform .7s cubic-bezier(.22,1.6,.36,1),opacity .45s ease!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .tblock.c1{--tblock-rot:-1.4deg}
html body#acb-design:is(.individuals-page,.organisations-page) .tblock.c2{--tblock-rot:1deg}
html body#acb-design:is(.individuals-page,.organisations-page) .tblock.c3{--tblock-rot:-.8deg}
html body#acb-design:is(.individuals-page,.organisations-page) .tblock.in-view{
  opacity:1!important;transform:translateY(0) rotate(var(--tblock-rot))!important;
}
@media(prefers-reduced-motion:reduce){
  html body#acb-design:is(.individuals-page,.organisations-page) .tblock{
    opacity:1!important;transform:translateY(0) rotate(var(--tblock-rot))!important;transition:none!important;
  }
}

/* Home's closing prompt is one large, direct action—not a small link inside
   a card—so the entire yellow surface is the Get in touch button. */
html body#acb-design.home-page main .acb-close>a.home-close-link{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  min-height:clamp(112px,15vw,170px)!important;text-decoration:none!important;cursor:pointer!important;
}
html body#acb-design.home-page main .acb-close>a.home-close-link:hover{background:#d9d73f!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: 400!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: 400!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: 400!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: 400!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;
  }
}

/* ===================== MOBILE HEADER + HERO + METHOD FINAL PASS ===================== */
@media(max-width:900px){
  html body#acb-design .acb-header{min-height:54px!important;height:54px!important}
  html body#acb-design .acb-header>.inner{min-height:54px!important;height:54px!important;padding-top:8px!important;padding-bottom:8px!important}
  html body#acb-design .mobile-menu-toggle,
  html body#acb-design .mobile-header-cta{
    min-height:30px!important;
    height:30px!important;
    padding:8px 12px!important;
    border-radius:var(--radius-card)!important;
    font-size:11.5px!important;
    line-height:1!important;
    font-weight: 400!important;
    letter-spacing:-.01em!important;
    text-transform:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  html body#acb-design .mobile-menu-toggle{margin-left:auto!important;color:var(--ink)!important;background:#fff!important;border:0!important}
  html body#acb-design .mobile-header-cta{background:#4f46e5!important;color:#fff!important;border:0!important}
  html body#acb-design .acb-header.mobile-open .mobile-menu-toggle,
  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 .navitem{padding:0!important;margin:0!important;border-bottom:1px solid rgba(255,255,255,.22)!important}
  html body#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design .acb-header.mobile-open .navitem>button.navbutton{
    min-height:54px!important;
    padding:8px 0!important;
    font-size:clamp(24px,6.4vw,36px)!important;
    line-height:1!important;
    letter-spacing:-.022em!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:0!important;
    padding:0 0 12px 0!important;
    margin:0!important;
    width:100%!important;
    background:transparent!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;
    width:100%!important;
    padding:7px 0 7px 16px!important;
    margin:0!important;
    font-size:clamp(16px,4.2vw,22px)!important;
    line-height:1.12!important;
    letter-spacing:-.022em!important;
    color:rgba(255,255,255,.82)!important;
    text-align:left!important;
  }
  html body#acb-design .acb-header.mobile-open .submenu a::before,
  html body#acb-design .acb-header.mobile-open .acb-sub a::before{content:""!important;display:none!important}

  html body#acb-design.home-page .acb-hero-copy,
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble,
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel{
    padding:10px 0!important;
  }
}

/* 4i/4o hero copy sits at the bottom of the image hero. */
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack{
  align-self:end!important;
  justify-self:start!important;
  margin-bottom:clamp(18px,3vw,42px)!important;
}



/* Audience hero: text-only layout, no lower CTA container. */
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel{display:none!important}

/* Audience hero vertical placement: centered on desktop, bottom on mobile. */
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack{
  align-self:center!important;
  margin-bottom:0!important;
}
@media(max-width:774px){
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack{
    align-self:end!important;
    margin-bottom:clamp(18px,6vw,42px)!important;
  }
}

/* Mobile hero text padding + light-blue header pills. */
@media(max-width:900px){
  html body#acb-design .mobile-menu-toggle,
  html body#acb-design .mobile-header-cta{
    background:var(--sky,#dbeafe)!important;
    color:#4f46e5!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-menu-toggle,
  html body#acb-design .acb-header.mobile-open .mobile-header-cta{
    background:var(--sky,#dbeafe)!important;
    color:#4f46e5!important;
  }
}
@media(max-width:774px){
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble{
    padding:12px 14px!important;
  }
  html body#acb-design.home-page .acb-hero-copy{
    padding:12px 14px!important;
  }
}

/* Mobile menu submenu state fix: closed submenus must not reserve space. */
@media(max-width:900px){
  html body#acb-design .acb-header.mobile-open .navitem:not(.submenu-open)>.submenu,
  html body#acb-design .acb-header.mobile-open .navitem:not(.submenu-open)>.acb-sub{
    display:none!important;
    height:0!important;
    max-height:0!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events: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;
    height:auto!important;
    max-height:48vh!important;
    min-height:0!important;
    overflow:visible!important;
    padding:0 0 14px 0!important;
    margin:0!important;
    border:0!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  html body#acb-design .acb-header.mobile-open .navitem>button.navbutton::after{
    content:""!important;
    width:.46em!important;
    height:.46em!important;
    border-right:4px solid currentColor!important;
    border-bottom:4px solid currentColor!important;
    transform:rotate(45deg)!important;
    transition:transform .22s ease!important;
    flex:0 0 auto!important;
  }
  html body#acb-design .acb-header.mobile-open .navitem.submenu-open>button.navbutton::after{
    transform:rotate(225deg)!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;
    box-sizing:border-box!important;
  }
}

/* Mobile header final polish: Get in touch keeps the light CTA treatment; close button follows card radius. */
@media(max-width:900px){
  html body#acb-design .acb-mobile-cta,
  html body#acb-design .acb-header .acb-mobile-cta{
    background:var(--acb-sky)!important;
    color:var(--acb-blue)!important;
    border-color:var(--acb-blue)!important;
  }
  html body#acb-design .acb-header.mobile-open .acb-mobile-cta,
  html body#acb-design .acb-header.mobile-open .acb-mobile-cta:visited{
    background:var(--acb-sky)!important;
    color:var(--acb-blue)!important;
    border-color:var(--acb-blue)!important;
  }
  html body#acb-design .mobile-menu-toggle[aria-expanded="true"],
  html body#acb-design .acb-header.mobile-open .mobile-menu-toggle{
    border-radius:var(--radius-card,5px)!important;
  }
}

/* Mobile header uses equal edge padding based on the menu button side spacing. */
@media(max-width:900px){
  html body#acb-design .acb-header{
    padding:var(--space-sm)!important;
  }
}

/* Mobile scroll stability: keep the compact header anchored during fast browser chrome changes. */
@media(max-width:900px){
  html body#acb-design .acb-header{
    position:fixed!important;
    top:var(--space-sm)!important;
    left:var(--space-sm)!important;
    right:var(--space-sm)!important;
    width:auto!important;
    margin:0!important;
    transform:none!important;
    will-change:auto!important;
    contain:layout paint!important;
    backface-visibility:hidden!important;
  }
  html body#acb-design .acb-header.header-hidden,
  html body#acb-design .acb-header.is-hidden,
  html body#acb-design .acb-header[data-hidden="true"]{
    transform:none!important;
  }
  html body#acb-design .acb-header>.inner{
    transform:none!important;
    will-change:auto!important;
  }
  html body#acb-design .acb-header.mobile-open{
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    min-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
    contain:none!important;
  }
}

/* Tablet parity for mobile hero padding and header/menu behavior. */
@media(min-width:901px) and (max-width:1180px){
  html body#acb-design .acb-header{
    position:fixed!important;
    top:var(--space-sm)!important;
    left:var(--space-sm)!important;
    right:var(--space-sm)!important;
    width:auto!important;
    margin:0!important;
    padding:var(--space-sm)!important;
    transform:none!important;
    will-change:auto!important;
    contain:layout paint!important;
    backface-visibility:hidden!important;
  }
  html body#acb-design .acb-header.header-hidden,
  html body#acb-design .acb-header.is-hidden,
  html body#acb-design .acb-header[data-hidden="true"]{
    transform:none!important;
  }
  html body#acb-design .acb-header>.inner{
    transform:none!important;
    will-change:auto!important;
  }
  html body#acb-design .acb-header.mobile-open{
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    min-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
    contain:none!important;
  }
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack{
    padding:10px 14px!important;
    box-sizing:border-box!important;
  }
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble{
    padding:10px 14px!important;
    box-sizing:border-box!important;
  }
  html body#acb-design .acb-header.mobile-open .navitem:not(.submenu-open)>.submenu,
  html body#acb-design .acb-header.mobile-open .navitem:not(.submenu-open)>.acb-sub{
    display:none!important;
    height:0!important;
    max-height:0!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events: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;
    height:auto!important;
    max-height:48vh!important;
    min-height:0!important;
    overflow:visible!important;
    padding:0 0 14px 0!important;
    margin:0!important;
    border:0!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  html body#acb-design .acb-mobile-cta,
  html body#acb-design .acb-header .acb-mobile-cta,
  html body#acb-design .acb-header.mobile-open .acb-mobile-cta,
  html body#acb-design .acb-header.mobile-open .acb-mobile-cta:visited{
    background:var(--acb-sky)!important;
    color:var(--acb-blue)!important;
    border-color:var(--acb-blue)!important;
  }
  html body#acb-design .mobile-menu-toggle[aria-expanded="true"],
  html body#acb-design .acb-header.mobile-open .mobile-menu-toggle{
    border-radius:var(--radius-card,5px)!important;
  }
}

/* Final mobile/tablet header reset: compact header and open menu are separate states. */
@media(max-width:1180px){
  html body#acb-design .acb-header:not(.mobile-open){
    position:fixed!important;
    top:var(--space-sm)!important;
    left:var(--space-sm)!important;
    right:var(--space-sm)!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:var(--space-sm)!important;
    border-radius:var(--radius-card,5px)!important;
    transform:none!important;
    will-change:auto!important;
    overflow:visible!important;
  }
  html body#acb-design .acb-header:not(.mobile-open)>.inner{
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    transform:none!important;
    display:flex!important;
    align-items:center!important;
  }
  html body#acb-design .acb-header:not(.mobile-open) .acb-head-right{
    display:none!important;
  }
  html body#acb-design .mobile-menu-toggle,
  html body#acb-design .acb-mobile-cta{
    min-height:40px!important;
    height:40px!important;
    padding:0 14px!important;
    font-size:14px!important;
    line-height:1!important;
    border-radius:var(--radius-card,5px)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  html body#acb-design .mobile-menu-toggle{
    margin-left:auto!important;
    margin-right:0!important;
  }
  html body#acb-design .acb-mobile-cta,
  html body#acb-design .acb-header:not(.mobile-open) .acb-mobile-cta,
  html body#acb-design .acb-header.mobile-open .acb-mobile-cta,
  html body#acb-design .acb-header.mobile-open .acb-mobile-cta:visited{
    background:var(--acb-sky)!important;
    color:var(--acb-blue)!important;
    border-color:var(--acb-blue)!important;
  }
  html body#acb-design .acb-header.mobile-open{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:var(--space-sm)!important;
    border-radius:0!important;
    transform:none!important;
    overflow:hidden!important;
  }
  html body#acb-design .acb-header.mobile-open>.inner{
    height:auto!important;
    min-height:0!important;
    padding:0!important;
  }
}

/* Final mobile header shape: a nearly full-width floating bar that is flush
   with the top edge.  Header controls stay border-free and use opposite
   brand colours. */
@media(max-width:1180px){
  html body#acb-design .acb-header:not(.mobile-open){
    top:0!important;
    left:10px!important;
    right:10px!important;
    width:auto!important;
    padding:6px 10px!important;
    border-radius:0 0 var(--radius-card,5px) var(--radius-card,5px)!important;
    box-shadow:0 7px 20px rgba(7,19,33,.14)!important;
  }
  html body#acb-design .acb-header:not(.mobile-open)>.inner{
    min-height:42px!important;
    height:42px!important;
  }
  html body#acb-design .acb-header .acb-logo{
    margin:0!important;
    padding:0!important;
  }
  html body#acb-design .acb-header .acb-logo .acb-logo-mount{
    height:42px!important;
  }
  html body#acb-design .mobile-header-cta,
  html body#acb-design .mobile-menu-toggle{
    height:40px!important;
    min-height:40px!important;
    border:0!important;
    box-shadow:none!important;
  }
  html body#acb-design .mobile-header-cta,
  html body#acb-design .acb-header.mobile-open .mobile-header-cta{
    background:var(--acb-blue,#4f46e5)!important;
    color:#fff!important;
    border:0!important;
  }
  html body#acb-design .mobile-menu-toggle{
    background:var(--acb-sky,#dbeafe)!important;
    color:var(--acb-blue,#4f46e5)!important;
    border:0!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-menu-toggle{
    background:var(--acb-yellow,#e4e244)!important;
    border:0!important;
  }
  html body#acb-design .acb-header.mobile-open .acb-head-right{
    padding-top:66px!important;
  }
  html body#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design .acb-header.mobile-open .navitem>button.navbutton{
    height:64px!important;
    min-height:64px!important;
    padding:0!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{
    gap:0!important;
    padding:0 0 10px!important;
  }
  html body#acb-design .acb-header.mobile-open .submenu a,
  html body#acb-design .acb-header.mobile-open .acb-sub a{
    display:flex!important;
    align-items:center!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 0 0 16px!important;
  }
}

/* Last-loaded CTA source of truth for every page, including direct content
   links that are not wrapped in a .cta element. */
html body#acb-design main :is(a.btn,a.btn-out,a.pill,a.pill.big,a.pill.alt,button.btn,button.btn-out,button.pill,.refbar-btn,.map-test-inline,.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:29.74px!important;
  min-height:29.74px!important;
  max-height:29.74px!important;
  margin:0!important;
  padding:0 14.87px!important;
  border:0!important;
  border-radius:var(--radius-card,5px)!important;
  background:#4f46e5!important;
  color:#fff!important;
  box-shadow:none!important;
  font-family:"Inter",sans-serif!important;
  font-size:13.22px!important;
  font-weight: 400!important;
  line-height:1!important;
  letter-spacing:-.015em!important;
  text-transform:none!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
html body#acb-design main :is(a.btn,a.btn-out,a.pill,a.pill.big,a.pill.alt,button.btn,button.btn-out,button.pill,.refbar-btn,.map-test-inline,.bm-hypo button)::after{
  content:""!important;
  display:none!important;
}
html body#acb-design main :is(a.btn,a.btn-out,a.pill,a.pill.big,a.pill.alt,button.btn,button.btn-out,button.pill,.refbar-btn,.map-test-inline,.bm-hypo button):hover{
  background:#3f37c4!important;
  color:#fff!important;
}

/* Restore the original detached mobile/tablet header card. */
@media(max-width:1180px){
  html body#acb-design .acb-header:not(.mobile-open){
    top:10px!important;
    left:13px!important;
    right:13px!important;
    width:auto!important;
    margin:0!important;
    padding:6px 10px!important;
    border:0!important;
    border-radius:var(--radius-card,5px)!important;
    box-shadow:0 0 34px rgba(7,19,33,.16)!important;
  }
  html body#acb-design .acb-header .acb-logo,
  html body#acb-design .acb-header .acb-logo .acb-logo-mount{
    margin:0!important;
    padding:0!important;
    height:34px!important;
  }
  html body#acb-design .mobile-header-cta,
  html body#acb-design .mobile-menu-toggle,
  html body#acb-design .acb-header.mobile-open .mobile-header-cta,
  html body#acb-design .acb-header.mobile-open .mobile-menu-toggle{
    border:none!important;
    outline:none!important;
    box-shadow:none!important;
  }
}

/* The desktop card may grow beyond the content frame, never beyond the
   viewport.  This keeps it centred and uncut at smaller desktop widths. */
@media(min-width:1181px){
  html body#acb-design .acb-header{
    width:min(calc(var(--site-width) + var(--panel-boost) + 48px),calc(100vw - 26px))!important;
    max-width:calc(100vw - 26px)!important;
    box-sizing:border-box!important;
  }
}

/* Keep mobile submenu groups in a compact document flow.  The menu footer
   can still sit at the bottom, but navigation rows must never distribute
   themselves through the available viewport height. */
@media(max-width:1180px){
  html body#acb-design .acb-header.mobile-open .acb-nav{
    display:flex!important;
    flex:0 0 auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    align-content:flex-start!important;
    justify-content:flex-start!important;
    gap:0!important;
    margin:0!important;
    padding:0!important;
  }
  html body#acb-design .acb-header.mobile-open .navitem{
    display:block!important;
    flex:0 0 auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  html body#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design .acb-header.mobile-open .navitem>button.navbutton{
    min-height:0!important;
    padding:16px 0!important;
    border-bottom:1px solid rgba(255,255,255,.2)!important;
  }
  html body#acb-design .acb-header.mobile-open .navitem>.submenu,
  html body#acb-design .acb-header.mobile-open .navitem>.acb-sub{
    display:flex!important;
    flex:0 0 auto!important;
    flex-direction:column!important;
    min-height:0!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
    max-height:0!important;
    overflow:hidden!important;
    opacity:0!important;
    transition:max-height .35s cubic-bezier(.16,1,.3,1),opacity .25s ease,padding .35s cubic-bezier(.16,1,.3,1)!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{
    max-height:600px!important;
    padding:10px 0 16px!important;
    opacity:1!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-menu-footer{
    flex:0 0 auto!important;
    margin-top:auto!important;
  }
}

/* Mobile/tablet header: one full-width bar in its resting state and one
   full-screen state while the menu is open.  These rules deliberately use
   the actual mobile CTA class so the two controls cannot drift apart. */
@media(max-width:1180px){
  html body#acb-design .acb-header:not(.mobile-open){
    position:fixed!important;
    inset:10px 13px auto 13px!important;
    top:10px!important;
    left:13px!important;
    right:13px!important;
    width:auto!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    padding:6px 10px!important;
    border-radius:var(--radius-card,5px)!important;
    background:#fff!important;
    box-shadow:0 0 34px rgba(7,19,33,.16)!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  html body#acb-design .acb-header:not(.mobile-open)>.inner{
    width:100%!important;
    min-height:40px!important;
    height:40px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    box-sizing:border-box!important;
  }
  html body#acb-design .acb-header:not(.mobile-open) .acb-head-right{
    display:none!important;
  }
  html body#acb-design .mobile-header-cta,
  html body#acb-design .mobile-menu-toggle{
    display:inline-flex!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:8.26px 14.87px!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:var(--radius-card,5px)!important;
    font-family:"Inter",sans-serif!important;
    font-size:13.22px!important;
    font-weight: 400!important;
    line-height:1!important;
    letter-spacing:var(--ls-button,0)!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
  }
  html body#acb-design .mobile-header-cta{
    margin-left:auto!important;
    background:var(--acb-sky,#dbeafe)!important;
    color:var(--acb-blue,#4f46e5)!important;
    border:1px solid var(--acb-blue,#4f46e5)!important;
  }
  html body#acb-design .mobile-menu-toggle{
    background:var(--acb-blue,#4f46e5)!important;
    color:#fff!important;
    border:1px solid var(--acb-blue,#4f46e5)!important;
  }
  html body#acb-design .acb-header.mobile-open{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:10px 14px!important;
    border-radius:0!important;
    background:var(--acb-blue,#4f46e5)!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html body#acb-design .acb-header.mobile-open>.inner{
    position:relative!important;
    z-index:62!important;
    width:100%!important;
    min-height:40px!important;
    height:40px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-header-cta{
    margin-left:auto!important;
    background:var(--acb-sky,#dbeafe)!important;
    color:var(--acb-blue,#4f46e5)!important;
    border:1px solid var(--acb-blue,#4f46e5)!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-menu-toggle{
    position:relative!important;
    z-index:63!important;
    width:32px!important;
    height:32px!important;
    min-height:0!important;
    padding:0!important;
    background:var(--acb-yellow,#e4e244)!important;
    color:transparent!important;
    border:0!important;
    border-radius:var(--radius-card,5px)!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-menu-toggle::after{
    color:var(--ink,#071321)!important;
  }
  html body#acb-design .acb-header.mobile-open .acb-head-right{
    display:flex!important;
    position:fixed!important;
    inset:0!important;
    z-index:61!important;
    min-height:100dvh!important;
    padding:72px 14px 0!important;
    box-sizing:border-box!important;
  }
}

/* Tablet: the open menu is a side panel capped at half the screen, with
   the rest of the page dimmed behind it (same idea as the block-map's
   .refpanel/.refscrim) — not a full-bleed blue takeover. The block above
   applies to phones and tablets alike, so this narrows it back down for
   the tablet band specifically. */
@media(min-width:901px) and (max-width:1180px){
  html body#acb-design .acb-header.mobile-open{
    background:rgba(7,19,33,.5)!important;
  }
  html body#acb-design .acb-header.mobile-open .acb-head-right{
    left:auto!important;
    right:0!important;
    width:50%!important;
    max-width:480px!important;
    padding:76px 28px 24px!important;
    background:var(--acb-blue,#4f46e5)!important;
    border-radius:var(--radius-card,5px) 0 0 var(--radius-card,5px)!important;
    box-shadow:-19.83px 0 44.61px rgba(0,0,0,.3)!important;
  }
  html body#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design .acb-header.mobile-open .navitem>button.navbutton{
    padding:16px 4px!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{
    padding:10px 4px 16px!important;
  }
}

/* ============================================================
   Mobile + tablet header, consolidated pass:
   - the toggle keeps one fixed 40x40 footprint at every state, so
     the icon never jumps when it swaps from hamburger to a close X
   - "Get in touch" stops using a leftover absolute-center rule that
     was only meant for the small closed pill — once the header goes
     full-screen open that rule put the button in the middle of the
     screen instead of next to the toggle
   - the logo stays white on the open panel at every width this menu
     can open at (it was only doing that below 954px)
   - one border per row instead of two (row wrapper + link inside it
     were both drawing a bottom border)
   - no hover/tap background flash on touch
   ============================================================ */
@media(max-width:1180px){
  html body#acb-design .mobile-menu-toggle{
    position:relative!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    width:40px!important;height:40px!important;min-height:0!important;
    margin:0!important;padding:0!important;flex-shrink:0!important;
    border:0!important;border-radius:var(--radius-card,5px)!important;
    background:var(--acb-sky,#dbeafe)!important;
    font-size:0!important;line-height:1!important;color:transparent!important;
  }
  html body#acb-design .mobile-menu-toggle::before,
  html body#acb-design .mobile-menu-toggle::after{
    content:""!important;position:absolute!important;left:50%!important;top:50%!important;
    width:16px!important;height:2px!important;border-radius:2px!important;
    background:var(--acb-blue,#4f46e5)!important;
    transition:transform .25s cubic-bezier(.16,1,.3,1),background .2s ease!important;
  }
  html body#acb-design .mobile-menu-toggle::before{transform:translate(-50%,-50%) translateY(-4px)!important}
  html body#acb-design .mobile-menu-toggle::after{transform:translate(-50%,-50%) translateY(4px)!important}
  html body#acb-design .acb-header.mobile-open .mobile-menu-toggle{
    background:var(--acb-yellow,#e4e244)!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-menu-toggle::before{
    transform:translate(-50%,-50%) rotate(45deg)!important;background:var(--ink,#071321)!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-menu-toggle::after{
    transform:translate(-50%,-50%) rotate(-45deg)!important;background:var(--ink,#071321)!important;
  }

  html body#acb-design .mobile-header-cta{
    position:static!important;inset:auto!important;transform:none!important;
    margin:0!important;margin-left:auto!important;flex-shrink:0!important;
  }

  html body#acb-design .acb-header.mobile-open .acb-logo,
  html body#acb-design .acb-header.mobile-open .acb-logo .acb-logo-mount{
    color:#fff!important;
  }

  html body#acb-design .acb-header.mobile-open .navitem{
    border-bottom:0!important;
  }

  html body#acb-design .acb-header.mobile-open .navbutton,
  html body#acb-design .acb-header.mobile-open .acb-sub a,
  html body#acb-design .acb-header.mobile-open .submenu a{
    -webkit-tap-highlight-color:transparent!important;
  }
  html body#acb-design .acb-header.mobile-open .navbutton:hover,
  html body#acb-design .acb-header.mobile-open .navbutton:active,
  html body#acb-design .acb-header.mobile-open .navbutton:focus,
  html body#acb-design .acb-header.mobile-open .acb-sub a:hover,
  html body#acb-design .acb-header.mobile-open .submenu a:hover{
    background:transparent!important;
  }
}

/* Tablet open panel: its own footer (social links + Get in touch)
   instead of the phone's full-bleed yellow strip, which looked
   disconnected from the panel. The header-bar CTA hides while open
   since the panel now carries its own, so there's never a "Get in
   touch" pill sitting half on / half off the panel edge. */
@media(min-width:901px) and (max-width:1180px){
  html body#acb-design .acb-header.mobile-open .mobile-header-cta{
    display:none!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-menu-footer{
    display:none!important;
  }
  html body#acb-design .acb-header.mobile-open .acb-actions{
    display:flex!important;
    flex:0 0 auto!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:16px!important;
    margin:auto -28px -24px!important;
    padding:20px 28px calc(20px + env(safe-area-inset-bottom))!important;
    border-top:1px solid rgba(255,255,255,.18)!important;
    background:rgba(0,0,0,.1)!important;
    border-radius:0 0 0 var(--radius-card,5px)!important;
  }
  html body#acb-design .acb-header.mobile-open .acb-social{
    display:flex!important;gap:14px!important;
  }
  html body#acb-design .acb-header.mobile-open .acb-social a{
    color:rgba(255,255,255,.75)!important;
  }
  html body#acb-design .acb-header.mobile-open .acb-social a svg{
    width:19px!important;height:19px!important;
  }
  html body#acb-design .acb-header.mobile-open .acb-utility-pill{
    background:#fff!important;color:var(--acb-blue,#4f46e5)!important;
    padding:10px 18px!important;border-radius:var(--radius-card,5px)!important;
    font-size:13px!important;font-weight: 400!important;letter-spacing:0!important;
    white-space:nowrap!important;text-transform:none!important;
    box-shadow:none!important;border:0!important;
  }
}

/* Home "Work with us": the photo must never drive the row/section height —
   only the copy + two cards do. A portrait photo at width:100%;height:100%
   with no other height on its ancestors falls back to its own intrinsic
   aspect ratio when the grid computes row track sizes, which was inflating
   the whole row far past what the copy needed. Taking the img out of flow
   (position:absolute) stops it contributing any intrinsic size to that
   calculation, so the row is sized by the copy alone and the image just
   fills whatever results, cropped from the bottom (object-position:top). */
html body#acb-design.home-page .acb-work .work-image{
  position:relative!important;
}

html body#acb-design.home-page .acb-work .work-image picture{
  display:block!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
}
html body#acb-design.home-page .acb-work .work-image img{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:top!important;
}

/* Home "The symptom and the cause": same idea — crop from the bottom only,
   never the top. */
html body#acb-design.home-page .acb-proof .acb-proof-image img{
  object-position:top!important;
}

/* Blog index: the card grid was inset from both sides on top of its own
   wrap padding — .blog-list (the section) was adding var(--sp-card) of its
   own left/right padding even though the grid already zeroes its own, so
   the cards sat narrower than the hero above them. Only keep the vertical
   rhythm, drop the lateral padding so the grid matches the hero's width. */
html body#acb-design.blog-index .blog-list{
  padding-left:0!important;
  padding-right:0!important;
  padding-top:0!important;
}
/* The grid itself (.wrap.blog-grid) also picks up the generic
   "main section > .wrap" card padding independently of its parent
   section — zero its top too so nothing pushes the cards down. */
html body#acb-design.blog-index main section > .blog-grid{
  padding-top:0!important;
}

/* Blog index cards: bigger title, smaller body copy — more contrast
   between the two so the hierarchy actually reads. */
html body#acb-design.internal-page.blog-index .blog-card h2{
  font-size:clamp(17px,1.4vw,20px)!important;
}
html body#acb-design.internal-page.blog-index .blog-card p{
  font-size:clamp(11.5px,.85vw,12.5px)!important;
}

/* Legal pages: restyle the two callout boxes ("before launch" reminder,
   "working draft" disclaimer) to match the site's one established callout
   language — a solid, rounded, borderless colour block (.access-note) —
   instead of the pale box + accent-coloured left border that isn't used
   anywhere else on the site. */
html body#acb-design.legal-page :is(.legal-placeholder,.legal-note){
  background:var(--acb-yellow,#E4E244)!important;
  color:var(--ink)!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  padding:16px 18px!important;
  font-size:14px!important;
  line-height:1.6!important;
  margin:1.7em 0!important;
}

/* Blog index cards: no lift/shadow/border-colour hover — the site doesn't
   use that pattern anywhere else. Selector matches pages.css's chain
   exactly (same specificity) so this later rule wins the tie. */
html body#acb-design.internal-page.blog-index .blog-card:hover{
  transform:none!important;
  box-shadow:none!important;
  border-color:var(--line)!important;
}

/* Blog index cards: real typographic hierarchy. pages.css's ".blog-card p"
   reset was also catching .blog-meta — it's a <p> too — and, because it
   has one more element in the selector chain (html body … p) than a bare
   ".blog-meta" override, it out-specifies a same-class-count fix; adding
   the "p" type here matches its weight so the meta keeps its own margin
   instead of sitting flush against the heading with no separation. */
html body#acb-design.internal-page.blog-index .blog-card p.blog-meta{
  margin:0 0 12px!important;
  padding:0 0 10px!important;
  border-bottom:1px solid var(--line)!important;
}
html body#acb-design.internal-page.blog-index .blog-card .blog-art{
  position:relative!important;
  overflow:hidden!important;
  font-size:20px!important;
  letter-spacing:var(--ls-body)!important;
}
html body#acb-design.internal-page.blog-index .blog-card .blog-art img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border-radius:0!important;
  object-fit:cover!important;
  object-position:center!important;
  transition:transform .55s cubic-bezier(.16,1,.3,1)!important;
}
html body#acb-design.internal-page.blog-index .blog-card .blog-art:has(img)::after{
  content:""!important;
  position:absolute!important;
  inset:35% 0 0!important;
  background:linear-gradient(transparent,rgba(17,17,24,.72))!important;
  pointer-events:none!important;
}
html body#acb-design.internal-page.blog-index .blog-card .blog-art span{
  position:relative!important;
  z-index:1!important;
}
html body#acb-design.internal-page.blog-index .blog-card:hover .blog-art img{
  transform:scale(1.025)!important;
}
html body#acb-design.internal-page.blog-index .blog-card :is(.blog-cat,.blog-time){
  font-size:15px!important;
  line-height:1.1!important;
  letter-spacing:-.01em!important;
}
html body#acb-design.internal-page.blog-index .blog-card .blog-time{
  color:var(--ink)!important;
  text-transform:none!important;
  opacity:1!important;
}
/* Journal taxonomy labels use one compact outlined-pill language on the
   homepage, blog index, related cards and inside each article. */
html body#acb-design.internal-page.blog-index .blog-card .blog-cat,
html body#acb-design.article-page .article-kicker{
  display:inline-flex!important;
  width:max-content!important;
  align-items:center!important;
  padding:4px 9px!important;
  border:1px solid currentColor!important;
  border-radius:999px!important;
  color:var(--ink)!important;
  font-size:15px!important;
  line-height:1!important;
  letter-spacing:-.022em!important;
  text-transform:none!important;
  font-weight:400!important;
}
html body#acb-design.article-page .article-kicker{margin:0 0 14px!important}
html body#acb-design.internal-page.blog-index .blog-card h2{
  font-size:clamp(24px,2vw,30px)!important;
  line-height:1.05!important;
  letter-spacing:var(--ls-title)!important;
  margin-bottom:14px!important;
}
html body#acb-design.internal-page.blog-index .blog-card.featured h2{
  font-size:clamp(28px,2.6vw,36px)!important;
}
html body#acb-design.internal-page.blog-index .blog-card p:not(.blog-meta){
  font-size:16px!important;
  line-height:1.35!important;
  letter-spacing:var(--ls-body)!important;
}

/* Final shared menu and FAQ behaviour, placed after page-specific layers. */
html body#acb-design .acb-header :is(.navbutton,.acb-sub a){font-size:14.87px!important;line-height:1.4!important;letter-spacing:0!important;font-weight: 400!important}
html body#acb-design .faq-list{width:100%!important;max-width:none!important;margin:0!important}
html body#acb-design .faq-item{border-bottom:1px solid var(--line)!important}
html body#acb-design .faq-item .faq-q{min-height:58px!important;padding:14px 0!important;font-size:var(--fs-body)!important;line-height:1.25!important;letter-spacing:var(--ls-body)!important;color:var(--ink)!important}
html body#acb-design .faq-item .faq-q::after{content:""!important;width:9px!important;height:9px!important;margin-left:auto!important;border-right:2px solid var(--acb-blue,#4f46e5)!important;border-bottom:2px solid var(--acb-blue,#4f46e5)!important;transform:rotate(45deg)!important;transition:transform .28s cubic-bezier(.16,1,.3,1)!important}
html body#acb-design .faq-item.open .faq-q::after{transform:rotate(225deg)!important}
html body#acb-design .faq-a{overflow:hidden!important;display:grid!important;grid-template-rows:0fr!important;opacity:0!important;transition:grid-template-rows .32s cubic-bezier(.16,1,.3,1),opacity .22s ease!important}
html body#acb-design .faq-item.open .faq-a{grid-template-rows:1fr!important;opacity:1!important}
html body#acb-design .faq-a>p{width:60%!important;max-width:60%!important;overflow:hidden!important;padding:0 0 18px!important;font-size:var(--fs-body)!important;line-height:var(--lh-copy)!important}
html body#acb-design.home-page .acb-faq>.wrap{display:block!important}
html body#acb-design.home-page .acb-faq .acb-head{margin:0 0 18px!important;text-align:left!important}
html body#acb-design.home-page .acb-faq .faq-list{padding:0!important}
@media(max-width:774px){html body#acb-design .faq-a>p{width:100%!important;max-width:none!important}}

/* Final FAQ control override: all questions use the same + → × motion. */
html body#acb-design :is(.faq-a,.offer-body){overflow:hidden!important;display:block!important;grid-template-rows:none!important;height:0!important;opacity:0!important;transition:height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease!important}
html body#acb-design :is(.faq-item,.offer-row).open :is(.faq-a,.offer-body){height:auto!important;opacity:1!important}
html body#acb-design :is(.faq-a>p,.offer-body>div){overflow:hidden!important;padding-bottom:0!important;transition:padding-bottom .4s cubic-bezier(.4,0,.2,1)!important}
html body#acb-design :is(.faq-item,.offer-row).open :is(.faq-a>p,.offer-body>div){padding-bottom:28px!important}
html body#acb-design .faq-item .faq-q::after{content:"+"!important;width:auto!important;height:auto!important;margin-left:auto!important;border:0!important;color:var(--blue)!important;font-size:20px!important;font-weight: 400!important;line-height:1!important;transform:rotate(0)!important;transition:transform .4s cubic-bezier(.4,0,.2,1)!important}
html body#acb-design .faq-item.open .faq-q::after{transform:rotate(135deg)!important}
html body#acb-design .offer-toggle .pm{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:auto!important;flex:none!important;border:0!important;background:none!important;border-radius:0!important;position:relative!important;transform:none!important}
html body#acb-design .offer-toggle .pm svg{display:none!important}
html body#acb-design .offer-toggle .pm::after{content:"+"!important;display:inline-block!important;font-size:20px!important;font-weight: 400!important;line-height:1!important;color:var(--blue)!important;transition:transform .4s cubic-bezier(.4,0,.2,1)!important}
html body#acb-design .offer-row.open .offer-toggle .pm::after{transform:rotate(135deg)!important}

/* Final type lock: this must sit after every page-specific typography rule. */
html body#acb-design,
html body#acb-design *{font-weight: 400!important}

/* One menu scale on every breakpoint. */
html body#acb-design .acb-header :is(.navbutton,.acb-sub a){font-size:20px!important}

/* One generous action scale: regular calls to action and the header action
   use 20px type with padding that gives the text room to breathe. */
html body#acb-design :is(a.btn,a.btn-out,a.pill,a.refbar-btn,.acb-utility-pill,button.btn,button.btn-out,button.pill){
  font-size:20px!important;line-height:1.2!important;padding:14px 22px!important;
}

/* The content frame now shares the floating header's outside edges. Full
   bleed image heroes keep their deliberate viewport-wide treatment. */
html body#acb-design main{
  width:calc(100vw - 26px)!important;max-width:calc(100vw - 26px)!important;
  margin-left:auto!important;margin-right:auto!important;
}
html body#acb-design main>.acb-main-panel{width:100%!important;margin:0!important;padding:0!important}
@media(min-width:1181px){
  html body#acb-design main{
    width:min(calc(var(--site-width) + var(--panel-boost) + 48px),calc(100vw - 26px))!important;
    max-width:calc(100vw - 26px)!important;
  }
}

html body#acb-design.home-page .acb-hero-copy{padding:10px 50px!important}

/* A slightly wider shared frame for content and the floating header. */
html body#acb-design main{
  width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;
}
@media(max-width:1180px){
  html body#acb-design .acb-header{
    left:8px!important;right:auto!important;width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;margin:0!important;
  }
}
@media(min-width:1181px){
  html body#acb-design main,
  html body#acb-design .acb-header{
    width:min(calc(var(--site-width) + var(--panel-boost) + 80px),calc(100vw - 16px))!important;
    max-width:calc(100vw - 16px)!important;
  }
}

/* Final CTA lock: 20px text and 20px padding, including the variants that
   had their own compact page-level declarations. */
html body#acb-design main :is(.cta .btn,.cta .btn-out,.cta .pill,.plan-card .btn,.speaking-grid .btn,.bm-hypo .btn,.acb-close .btn,a.refbar-btn),
html body#acb-design .acb-header .acb-utility-pill{
  font-size:20px!important;line-height:1.2!important;padding:20px!important;
}

html body#acb-design .acb-header :is(.navbutton,.acb-sub a,.acb-utility-pill,.mobile-menu-toggle){letter-spacing:-.022em!important}

/* Global action and label scale. Kept last so individual page styles cannot
   silently reduce an action or section label. */
html body#acb-design main :is(a.btn,a.btn-out,a.pill,a.pill.big,a.pill.alt,button.btn,button.btn-out,button.pill,.refbar-btn,.map-test-inline,.bm-hypo button,.hero-panel .btn),
html body#acb-design .acb-header .acb-utility-pill{
  font-size:20px!important;
  line-height:1.2!important;
  padding:20px!important;
}
html body#acb-design :is(.acb-eyebrow,.eyebrow,.eyebrow2,.audience-eyebrow,.contact-hero-kicker,.jn-label,.card-tag,.tag,.stage,.labels,.note,.side-note,.access-note){
  font-size:20px!important;
}

/* 4i / 4o share the Home hero copy scale at every breakpoint. */
html body#acb-design:is(.individuals-page,.organisations-page) :is(h1.audience-hero-rotbubble,.audience-hero-rotbubble,.audience-hero-rotbubble .cycling-line,.audience-hero-rotbubble .cycling-word,.audience-hero-rotbubble .hero-static-in-rot){
  font-size:20px!important;
  line-height:1.4!important;
}

/* The header action remains compact inside the floating navigation bar. */
html body#acb-design .acb-header .acb-utility-pill{
  padding:10px 16px!important;
}

/* Start the first content card after a hero on the same rhythm as every
   following card. Home has its marquee between those two elements. */
html body#acb-design#acb-design main > :is(.acb-hero,.center-hero,.page-hero,.blog-hero,.bm-hero,.domain-hero) + .acb-main-panel > section:first-child,
html body#acb-design#acb-design.home-page main > .acb-main-panel > section:first-child{
  margin-top:var(--sp-gap-wide)!important;
}

/* FAQ cards: every question lives in its own white rounded bubble. */
html body#acb-design .faq-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  width:100%!important;
  max-width:none!important;
  margin:20px 0 0!important;
  border:0!important;
}
html body#acb-design .faq-item{
  overflow:hidden!important;
  margin:0!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design .faq-item .faq-q{
  min-height:72px!important;
  padding:20px!important;
  border:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  font-size:20px!important;
  line-height:1.2!important;
}
html body#acb-design .faq-item .faq-a{
  background:transparent!important;
}
html body#acb-design .faq-item .faq-a>p{
  width:min(60%,760px)!important;
  max-width:none!important;
  margin:0!important;
  padding:0 20px 20px!important;
  font-size:20px!important;
  line-height:1.3!important;
}
html body#acb-design.home-page .acb-faq>.wrap{
  display:block!important;
}

/* The dedicated FAQ page uses offer rows; give those the same card system. */
html body#acb-design.faq-page .faqx .offer-list{
  display:grid!important;
  gap:12px!important;
  margin:20px 0 0!important;
  border:0!important;
}
html body#acb-design.faq-page .faqx .offer-row{
  overflow:hidden!important;
  margin:0!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design.faq-page .faqx .offer-toggle{
  min-height:72px!important;
  padding:20px!important;
  border:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  font-size:20px!important;
  line-height:1.2!important;
}
html body#acb-design.faq-page .faqx .offer-body>div{
  width:min(60%,760px)!important;
  margin:0!important;
  padding:0 20px 20px!important;
}
html body#acb-design.faq-page .faqx .offer-body p{
  margin:0!important;
  font-size:20px!important;
  line-height:1.3!important;
}
@media(max-width:774px){
  html body#acb-design .faq-item .faq-a>p,
  html body#acb-design.faq-page .faqx .offer-body>div{width:100%!important}
}

/* Footer shares the contained card frame used by the rest of the site. */
html body#acb-design .acb-footer{
  width:calc(100vw - 16px)!important;
  max-width:calc(100vw - 16px)!important;
  margin:0 auto 8px!important;
  border-radius:var(--radius-card)!important;
  overflow:hidden!important;
  box-shadow:var(--shadow-card)!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:calc(100% - 40px)!important;
  max-width:var(--site-width)!important;
}
@media(min-width:1181px){
  html body#acb-design .acb-footer{
    width:min(calc(var(--site-width) + var(--panel-boost) + 80px),calc(100vw - 16px))!important;
  }
}

/* The eight Block Map cards do not use the inherited coloured top rule. */
html body#acb-design.blocks-page .bmcard-body{border-top:0!important}

/* Audience hero copy shares the main content column's left edge. */
@media(min-width:1181px){
  html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero-grid{
    padding-inline:calc((100vw - min(calc(var(--site-width) + var(--panel-boost) + 80px),calc(100vw - 16px))) / 2)!important;
  }
}
@media(max-width:1180px){
  html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero-grid{
    padding-inline:8px!important;
  }
}

/* Match the Research & method dropdown exactly to its trigger width. */
@media(min-width:1181px){
  html body#acb-design .acb-header .navitem:nth-child(3)>.acb-sub{
    width:100%!important;
    min-width:100%!important;
    box-sizing:border-box!important;
  }
}

/* Home journal carousel. */
html body#acb-design.home-page .acb-journal>.wrap{
  overflow:hidden!important;
  padding:clamp(24px,3vw,40px)!important;
  background:var(--acb-yellow)!important;
  box-shadow:none!important;
}
html body#acb-design.home-page .acb-journal ::selection{background:#4f46e5!important;color:#fff!important}
html body#acb-design.home-page .acb-journal ::-moz-selection{background:#4f46e5!important;color:#fff!important}
html body#acb-design.home-page .acb-journal .journal-head{
  display:flex!important;
  align-items:end!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin-bottom:24px!important;
}
html body#acb-design.home-page .acb-journal .acb-eyebrow{color:var(--ink)!important;margin-bottom:8px!important}
html body#acb-design.home-page .acb-journal h2{margin:0!important;font-size:clamp(35px,4vw,56px)!important}
html body#acb-design.home-page .acb-journal .journal-head p{margin:8px 0 0!important;font-size:20px!important;line-height:1.25!important}
html body#acb-design.home-page .journal-controls{display:flex!important;gap:8px!important;flex:none!important}
html body#acb-design.home-page .journal-control{
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:36px!important;
  padding:0!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:rgba(255,255,255,.65)!important;
  color:var(--ink)!important;
  font:400 24px/1 "Inter",sans-serif!important;
  cursor:pointer!important;
  transition:transform .2s ease,background-color .2s ease!important;
}
html body#acb-design.home-page .journal-control.is-next{background:var(--blue)!important;color:#fff!important}
html body#acb-design.home-page .journal-control:hover{transform:translateX(-2px)!important}
html body#acb-design.home-page .journal-control.is-next:hover{transform:translateX(2px)!important}
html body#acb-design.home-page .journal-viewport{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scroll-snap-type:x mandatory!important;scroll-behavior:smooth!important;scrollbar-width:none!important;touch-action:pan-x!important}
html body#acb-design.home-page .journal-viewport::-webkit-scrollbar{display:none!important}
/* Reserve vertical space inside the scrolling viewport for the 5px card lift. */
html body#acb-design.home-page .journal-track{display:flex!important;gap:16px!important;width:max-content!important;padding:8px 10px 8px 0!important}
html body#acb-design.home-page .journal-card{
  display:flex!important;
  flex:0 0 clamp(270px,23vw,320px)!important;
  min-height:340px!important;
  flex-direction:column!important;
  scroll-snap-align:start!important;
  padding:20px!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  color:var(--ink)!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:transform .25s cubic-bezier(.16,1,.3,1)!important;
}
html body#acb-design.home-page .journal-card:hover{transform:none!important}
html body#acb-design.home-page .journal-card,html body#acb-design.home-page .journal-card *{cursor:pointer!important}
html body#acb-design.home-page .journal-card figure{width:100%!important;aspect-ratio:4/3!important;margin:0 0 18px!important;overflow:hidden!important;border-radius:calc(var(--radius-card) - 8px)!important;background:#dbeafe!important}
html body#acb-design.home-page .journal-card img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .4s ease!important}
html body#acb-design.home-page .journal-card:hover img{transform:scale(1.03)!important}
html body#acb-design.home-page .journal-tag{align-self:flex-start!important;margin:0 0 12px!important;padding:4px 9px!important;border:1px solid currentColor!important;border-radius:999px!important;font-size:15px!important;line-height:1!important;letter-spacing:-.022em!important}
html body#acb-design.home-page .journal-card h3{margin:0!important;font-size:clamp(24px,2vw,30px)!important;line-height:1.04!important;letter-spacing:-.022em!important}
html body#acb-design.home-page .journal-meta{margin-top:auto!important;padding-top:20px!important;font-size:15px!important;letter-spacing:-.022em!important}
/* Text-led cards keep the same generous height while exposing half of the
   fifth card, making the horizontal continuation immediately obvious. */
html body#acb-design.home-page .journal-viewport{container-type:inline-size!important}
html body#acb-design.home-page .journal-card{flex-basis:calc((100cqw - 64px) / 4.5)!important;min-height:340px!important}
html body#acb-design.home-page .journal-card figure{display:none!important}
@media(max-width:774px){
  html body#acb-design.home-page .acb-journal>.wrap{padding:20px!important}
  html body#acb-design.home-page .acb-journal .journal-head{align-items:start!important;flex-direction:column!important}
  html body#acb-design.home-page .journal-card{flex-basis:calc((100cqw - 16px) / 1.5)!important;min-height:300px!important}
}
@media(min-width:775px) and (max-width:1180px){
  html body#acb-design.home-page .journal-card{flex-basis:calc((100cqw - 32px) / 2.5)!important}
}

/* FAQ surfaces stay independent: title card, then individual question cards. */
html body#acb-design main section:has(.faq-list)>.wrap,
html body#acb-design main section:has(.faqx)>.wrap{
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body#acb-design :is(.acb-faq .acb-head,.section-head:has(+.faq-list),.bm-faq .head){
  margin:0 0 12px!important;
  padding:var(--sp-card)!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design.faq-page .faqx-cat-head{
  margin:0 0 12px!important;
  padding:var(--sp-card)!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  box-shadow:var(--shadow-card)!important;
}

/* Newsletter sign-up: its own bold CTA band inside main, right after the
   home page's "Get in touch" close. No special width of its own any
   more — it just sizes to .acb-main-panel like every sibling section
   (.acb-close, .acb-say, ...), so it can never run wider than main.
   margin-top/bottom are both pinned to the same section-rhythm gap
   used between every other section, so the gap up to the CTA above and
   down to the footer below match exactly. Doubled #acb-design
   throughout: now that this lives as a direct <main>/.acb-main-panel
   section, the page-type generic section resets (home page's
   :where(...) reset and the internal-page main section:not(...)...
   background reset, both with more raw specificity than a plain
   single-ID rule despite being "generic") would otherwise strip its
   width/background/padding/radius. */
html body#acb-design#acb-design .acb-quick-contact{
  position:relative!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  margin-top:calc(var(--sp-gap-wide) + 100px)!important;
  margin-bottom:var(--sp-gap-wide)!important;
  min-height:0!important;
  border-radius:var(--radius-card)!important;
  background:var(--blue)!important;
  color:#fff!important;
  padding:clamp(20px,2.6vw,28px) var(--sp-card) clamp(32px,4.2vw,48px)!important;
  box-sizing:border-box!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design#acb-design .acb-quick-contact .qc-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  margin:0!important;
  display:block!important;
}
html body#acb-design#acb-design .acb-quick-contact .qc-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
html body#acb-design#acb-design .acb-quick-contact>.wrap{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,.85fr)!important;
  align-items:center!important;
  text-align:left!important;
  gap:24px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}
html body#acb-design#acb-design .acb-quick-contact .qc-copy{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:start!important;
  width:fit-content!important;
  max-width:100%!important;
  margin:0!important;
  min-height:54px!important;
  background:#fff!important;
  border-radius:var(--radius-card)!important;
  padding:0 20px!important;
  box-shadow:none!important;
  color:var(--ink)!important;
  font-size:20px!important;
  line-height:1.2!important;
  letter-spacing:var(--ls-title)!important;
  font-weight:400!important;
  text-align:center!important;
  white-space:nowrap!important;
}
html body#acb-design#acb-design .acb-quick-contact .qc-form{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:10px!important;
  align-items:flex-start!important;
  justify-self:end!important;
  width:100%!important;
  max-width:360px!important;
  margin:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  border-radius:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  box-shadow:none!important;
  transition:opacity .25s ease!important;
}
html body#acb-design#acb-design .acb-quick-contact .qc-form .row2{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  width:100%!important;
}
html body#acb-design#acb-design .acb-quick-contact .qc-form :is(input:not([type="checkbox"]),textarea){
  box-sizing:border-box!important;
  width:100%!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  padding:0 20px!important;
  min-height:54px!important;
  font-family:"Inter",sans-serif!important;
  font-size:17px!important;
  letter-spacing:var(--ls-body)!important;
  color:var(--ink)!important;
  line-height:1.2!important;
  box-shadow:none!important;
}
html body#acb-design#acb-design .acb-quick-contact .qc-form.qc-form textarea{
  height:84px!important;
  min-height:0!important;
  padding:18px 20px 14px!important;
  padding-block-start:18px!important;
  line-height:1.4!important;
  resize:none!important;
  overflow-y:auto!important;
}
html body#acb-design#acb-design .acb-quick-contact .qc-form :is(input:not([type="checkbox"]),textarea)::placeholder{color:#7a7a7a!important;letter-spacing:var(--ls-body)!important}
html body#acb-design#acb-design .acb-quick-contact .qc-form .qc-consent{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  width:100%!important;
  margin:2px 0!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1.35!important;
  letter-spacing:var(--ls-body)!important;
  text-transform:none!important;
}
html body#acb-design#acb-design .acb-quick-contact .qc-form .qc-consent input[type="checkbox"]{
  appearance:auto!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  flex:0 0 16px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:3px!important;
  background:#fff!important;
  box-shadow:none!important;
  accent-color:var(--blue)!important;
}
html body#acb-design#acb-design .acb-quick-contact .qc-form .qc-consent :is(span,a){color:#fff!important}
html body#acb-design#acb-design .acb-quick-contact .qc-form .qc-consent a{text-decoration:underline!important;text-underline-offset:2px!important}
html body#acb-design#acb-design .acb-quick-contact .qc-form button{
  align-self:flex-start!important;
  margin:0!important;
  font-size:20px!important;
  padding:20px!important;
  letter-spacing:var(--ls-copy-lg)!important;
}
html body#acb-design#acb-design .acb-quick-contact .qc-status:empty{
  display:none!important;
}
html body#acb-design#acb-design .acb-quick-contact .qc-status{
  margin:0!important;
  font-size:var(--fs-small)!important;
  color:var(--ink)!important;
}
html body#acb-design#acb-design .acb-quick-contact .qc-status.is-error{color:#b3261e!important}
html body#acb-design#acb-design .acb-quick-contact .qc-sent{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  min-height:54px!important;
  background:#fff!important;
  border-radius:var(--radius-card)!important;
  padding:16px 20px!important;
  color:var(--ink)!important;
  font-size:20px!important;
  letter-spacing:var(--ls-title)!important;
  line-height:1.2!important;
}
@media(max-width:774px){
  html body#acb-design#acb-design .acb-quick-contact{padding:20px!important}
  html body#acb-design#acb-design .acb-quick-contact>.wrap{grid-template-columns:1fr!important;gap:16px!important}
  html body#acb-design#acb-design .acb-quick-contact .qc-copy{width:100%!important;min-height:0!important;white-space:normal!important;font-size:17px!important;padding:14px 18px!important}
  html body#acb-design#acb-design .acb-quick-contact .qc-form{max-width:none!important;justify-self:stretch!important;align-items:stretch!important}
  html body#acb-design#acb-design .acb-quick-contact .qc-sent{font-size:17px!important;padding:14px 18px!important}
}
@media(max-width:420px){
  html body#acb-design#acb-design .acb-quick-contact .qc-form .row2{grid-template-columns:1fr!important}
}

/* Branded validation tooltip for the CTA form, replacing the browser's
   default "please fill out this field" bubble. Positioned in JS via
   getBoundingClientRect against the invalid field, anchored bottom-center
   so the arrow always points straight down at it. */
html body#acb-design .qc-tooltip{
  position:absolute!important;
  z-index:9999!important;
  transform:translate(-50%,-100%) translateY(10px)!important;
  background:var(--yellow)!important;
  color:var(--ink)!important;
  font-family:"Inter",sans-serif!important;
  font-size:13px!important;
  letter-spacing:var(--ls-body)!important;
  line-height:1.3!important;
  white-space:nowrap!important;
  padding:8px 16px!important;
  border-radius:999px!important;
  box-shadow:0 10px 24px rgba(30,27,60,.28)!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .18s ease,transform .18s ease!important;
}
html body#acb-design .qc-tooltip::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:100%!important;
  transform:translateX(-50%)!important;
  border:6px solid transparent!important;
  border-top-color:var(--yellow)!important;
}
html body#acb-design .qc-tooltip.is-visible{
  opacity:1!important;
  transform:translate(-50%,-100%) translateY(-8px)!important;
}

/* Footer: wide blue card with its identity/news on the left and links right. */
html body#acb-design .acb-footer{
  background:var(--blue)!important;
  padding:clamp(24px,3vw,40px)!important;
  padding-bottom:10px!important;
  margin-bottom:0px!important;
  box-sizing:border-box!important;
}
html body#acb-design .acb-footer .acb-logo-mount,
html body#acb-design .acb-footer .acb-logo-mount svg{color:#fff!important}
html body#acb-design .acb-footer>.wrap{
  display:grid!important;
  grid-template-columns:minmax(250px,.9fr) minmax(0,2.1fr)!important;
  column-gap:clamp(28px,4vw,64px)!important;
  row-gap:0!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
html body#acb-design .acb-footer .foot-lead{
  grid-column:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:32px!important;
  padding:0!important;
  border:0!important;
}
html body#acb-design .acb-footer .acb-footer-news{width:100%!important}
html body#acb-design .acb-footer>.top.acb-footer-links{
  grid-column:2!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
html body#acb-design .acb-footer>.bottom{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-top:20px!important;
}
@media(max-width:900px){
  html body#acb-design .acb-footer>.wrap{grid-template-columns:1fr!important}
  html body#acb-design .acb-footer .foot-lead,
  html body#acb-design .acb-footer>.top.acb-footer-links{grid-column:1!important}
}
@media(max-width:600px){
  html body#acb-design .acb-footer{padding:24px 20px 0!important}
  html body#acb-design .acb-footer>.top.acb-footer-links{grid-template-columns:1fr 1fr!important}
}

/* Legal and FAQ reading layouts: an independent index card beside the copy. */
html body#acb-design.legal-page main .legal-section{
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}
html body#acb-design.legal-page .legal-layout{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:minmax(220px,.32fr) minmax(0,1fr)!important;
  gap:16px!important;
  padding:0!important;
}
html body#acb-design.legal-page .legal-nav,
html body#acb-design.faq-page .faqx-nav{
  align-self:start!important;
  padding:var(--sp-card)!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#dbeafe!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design.legal-page .legal-nav::before{
  content:"Contents";
  display:block;
  margin-bottom:12px;
  color:var(--ink);
  font-size:20px;
  line-height:1.2;
}
html body#acb-design.legal-page .legal-nav a,
html body#acb-design.faq-page .faqx-nav a{
  padding:8px 0!important;
  border:0!important;
  color:var(--ink)!important;
  font-size:20px!important;
  line-height:1.2!important;
}
html body#acb-design.legal-page .legal-copy{
  padding:var(--sp-card)!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design.faq-page .faqx-nav .lbl{
  color:var(--ink)!important;
  font-size:20px!important;
  line-height:1.2!important;
  text-transform:none!important;
}
html body#acb-design.faq-page main>section:not(.page-hero):not(.acb-close-sub),
html body#acb-design.faq-page .faqx-cat{background:transparent!important}
@media(max-width:774px){
  html body#acb-design.legal-page .legal-layout{grid-template-columns:1fr!important}
  html body#acb-design.legal-page .legal-nav,
  html body#acb-design.faq-page .faqx-nav{position:static!important}
  html body#acb-design.faq-page .faqx-nav{display:flex!important}
}

/* Only Home keeps its hero-to-marquee divider. */
html body#acb-design:not(.home-page) main :is(.acb-hero,.center-hero,.page-hero,.blog-hero,.bm-hero,.domain-hero,.sub-hero,.fam-hero,.contact-visual-hero){
  border-bottom:0!important;
}

/* Final action scale: page-specific CTA rules may set their own colours,
   but every actionable button in the main content shares the same 20px type
   and breathing room. The header remains intentionally compact. */
html body#acb-design main :is(a.btn,a.btn-out,a.pill,a.pill.big,a.pill.alt,button.btn,button.btn-out,button.pill,.plan-card a.btn,.speaking-grid a.btn,a.refbar-btn,button.map-test-inline,.bm-hypo button,.hero-panel .btn){
  font-size:20px!important;
  line-height:1.2!important;
  padding:20px!important;
}

/* Home FAQ: the questions line up with the title card and lead at their own
   larger reading size. */
html body#acb-design.home-page .acb-faq .faq-item .faq-q{
  padding-inline:var(--sp-card)!important;
  font-size:20px!important;
  line-height:1.15!important;
}
html body#acb-design.home-page .acb-faq .faq-item .faq-a>p{
  padding-inline:var(--sp-card)!important;
  padding-bottom:28px!important;
}

/* Footer finishing details: the social marks share the bottom row with the
   copyright line — copyright on the left, icons on the right — instead of
   sitting under the link columns behind their own divider. */
html body#acb-design .acb-footer .footer-socials{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  column-gap:clamp(16.2px,2.2vw,26px)!important;
  width:100%!important;
  margin:0!important;
}
html body#acb-design .acb-footer .footer-socials .social-icons{
  grid-column:4!important;
  display:flex!important;
  justify-content:flex-start!important;
  gap:20px!important;
}
html body#acb-design .acb-footer .footer-socials a{
  display:grid!important;
  place-items:center!important;
  width:25px!important;
  height:25px!important;
  margin:0!important;
  color:#fff!important;
  border-radius:50%!important;
  text-decoration:none!important;
}
html body#acb-design .acb-footer .footer-socials svg{width:25px!important;height:25px!important}
@media(max-width:900px){
  html body#acb-design .acb-footer .footer-socials{display:flex!important;width:auto!important;gap:2px!important}
  html body#acb-design .acb-footer .footer-socials .social-icons{display:contents!important}
}
@media(min-width:775px){
  html body#acb-design .acb-footer .wrap>.bottom span{font-size:10px!important}
  html body#acb-design .acb-footer .top.acb-footer-links .col b{font-size:10px!important}
}
html body#acb-design .acb-footer>.bottom{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  text-align:left!important;
  gap:16px!important;
}

/* Final small interface refinements. */
html body#acb-design .acb-footer .top.acb-footer-links .col{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
}
html body#acb-design .acb-footer .top.acb-footer-links .col a{
  display:inline-flex!important;
  align-self:flex-start!important;
  width:auto!important;
}
html body#acb-design .acb-header .acb-sub a{border-radius:var(--radius-card)!important}

/* Home, the individuals lead and the organisations opening statement use one
   shared long-form reading scale. Doubled #acb-design: the generic
   .internal-page :is(p,...) copy rule below carries a :is() branch
   (.faqx .offer-body p) with more raw specificity than this selector, so a
   single-ID version of this rule loses to it on individuals/organisations
   pages even though those pages never match that branch. */
html body#acb-design#acb-design.individuals-page .individual-feeling .scrolltext,
html body#acb-design#acb-design.organisations-page .audience-intro.dark.centered p.lead{
  width:100%!important;
  max-width:none!important;
  padding-right:15%!important;
  font-size:35px!important;
  line-height:1.1!important;
  letter-spacing:var(--ls-title)!important;
  text-wrap:pretty!important;
}

/* The blog hero stays inside the same outer frame as the header and content. */
html body#acb-design.blog-index main .blog-hero,
html body#acb-design.blog-index main .blog-hero>.wrap{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
html body#acb-design.faq-page main .faq-hero,
html body#acb-design.faq-page main .faq-hero>.wrap{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Restore the FAQ’s category index to the left. Its section remains clear;
   only headings and the individual question cards use white surfaces. */
html body#acb-design.faq-page .faqx{
  grid-template-columns:minmax(220px,.32fr) minmax(0,1fr)!important;
  gap:16px!important;
}
html body#acb-design.faq-page .faqx-nav{
  grid-column:1!important;
  grid-row:1!important;
  max-height:calc(100vh - 110px)!important;
  overflow:auto!important;
}
html body#acb-design.faq-page .faqx>div{grid-column:2!important;grid-row:1!important}
html body#acb-design.faq-page .faqx .faqx-cat,
html body#acb-design.faq-page .faqx .offer-list{background:transparent!important}
@media(max-width:774px){
  html body#acb-design#acb-design.individuals-page .individual-feeling .scrolltext,
  html body#acb-design#acb-design.organisations-page .audience-intro.dark.centered p.lead{padding-right:0!important}
  html body#acb-design.faq-page .faqx{grid-template-columns:1fr!important}
  html body#acb-design.faq-page .faqx-nav,
  html body#acb-design.faq-page .faqx>div{grid-column:1!important;grid-row:auto!important;max-height:none!important}
}

/* FAQs are a field of independent cards. The page surface stays clear, with
   a title card followed by one white pill for every question. */
html body#acb-design main :is(section,.bm-faq):has(.faq-list),
html body#acb-design main :is(section,.bm-faq):has(.faq-list)>.wrap,
html body#acb-design main .faq-list{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
}
html body#acb-design main :is(section,.bm-faq):has(.faq-list)>.wrap{padding:0!important}
html body#acb-design main .faq-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  width:100%!important;
  max-width:none!important;
  margin:12px 0 0!important;
  padding:0!important;
}
html body#acb-design main .faq-item{
  margin:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design main .faq-item .faq-q{
  width:100%!important;
  min-height:0!important;
  padding:var(--sp-card)!important;
  border:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  font-size:20px!important;
  line-height:1.15!important;
}
html body#acb-design main .faq-item .faq-a,
html body#acb-design main .faq-item .faq-a>p{background:transparent!important}
html body#acb-design main .faq-item .faq-a>p{
  width:min(60%,760px)!important;
  margin:0!important;
  padding:0 var(--sp-card) 28px!important;
  font-size:20px!important;
  line-height:1.3!important;
}
html body#acb-design :is(.acb-faq .acb-head,.section-head:has(+.faq-list),.bm-faq .head){
  width:100%!important;
  margin:0!important;
  padding:var(--sp-card)!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  box-shadow:var(--shadow-card)!important;
}

/* Legal pages and the dedicated FAQ share a document-and-index composition:
   reading content sits left; a sticky contents card sits right. */
html body#acb-design.legal-page .legal-layout,
html body#acb-design.faq-page .faqx{
  grid-template-columns:minmax(0,1fr) minmax(220px,.32fr)!important;
  gap:16px!important;
}
html body#acb-design.legal-page .legal-copy,
html body#acb-design.faq-page .faqx>div{grid-column:1!important;grid-row:1!important}
html body#acb-design.legal-page .legal-nav,
html body#acb-design.faq-page .faqx-nav{grid-column:2!important;grid-row:1!important}
html body#acb-design.legal-page .legal-nav::before,
html body#acb-design.faq-page .faqx-nav .lbl{
  display:block!important;
  margin:0 0 12px!important;
  padding:0 0 12px!important;
  border-bottom:1px solid rgba(17,17,24,.18)!important;
}
html body#acb-design :is(.legal-nav,.faqx-nav) a{
  position:relative!important;
  display:block!important;
  transition:color .25s ease,transform .25s cubic-bezier(.16,1,.3,1)!important;
}
html body#acb-design :is(.legal-nav,.faqx-nav) a::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:2px!important;
  height:2px!important;
  border-radius:2px!important;
  background:var(--blue)!important;
  transform:scaleX(0)!important;
  transform-origin:left center!important;
  transition:transform .32s cubic-bezier(.16,1,.3,1)!important;
}
html body#acb-design :is(.legal-nav,.faqx-nav) a:is(:hover,.is-current){
  color:var(--blue)!important;
  transform:translateX(4px)!important;
}
html body#acb-design :is(.legal-nav,.faqx-nav) a:is(:hover,.is-current)::after{transform:scaleX(1)!important}
html body#acb-design.faq-page main,
html body#acb-design.faq-page main>section:not(.page-hero):not(.acb-close-sub),
html body#acb-design.faq-page .faqx,
html body#acb-design.faq-page .faqx-cat{background:transparent!important;background-image:none!important}
@media(max-width:774px){
  html body#acb-design main .faq-item .faq-a>p{width:100%!important}
  html body#acb-design.legal-page .legal-layout,
  html body#acb-design.faq-page .faqx{grid-template-columns:1fr!important}
  html body#acb-design.legal-page .legal-copy,
  html body#acb-design.legal-page .legal-nav,
  html body#acb-design.faq-page .faqx>div,
  html body#acb-design.faq-page .faqx-nav{grid-column:1!important;grid-row:auto!important}
}

/* Bottom-of-page FAQs use the Home composition everywhere: one title card,
   then a full-width vertical stack of separate question cards. */
html body#acb-design.internal-page :is(.section>.wrap,.bm-faq>.wrap):has(>.faq-list){
  display:block!important;
  padding:0!important;
}
html body#acb-design.internal-page :is(.section>.wrap,.bm-faq>.wrap):has(>.faq-list) :is(.section-head.center,.head){
  display:block!important;
  width:100%!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{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
html body#acb-design.internal-page :is(.section>.wrap,.bm-faq>.wrap):has(>.faq-list) .faq-list{
  width:100%!important;
  max-width:none!important;
  margin-top:12px!important;
}

/* Text-only heroes use the same outer edge as the shared header and main.
   Image heroes retain their intentional full-bleed treatment. */
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:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

/* Mobile type returns to the compact scale used by the gradient-era site.
   This is deliberately a type-only layer: the current layout, spacing,
   surfaces and responsive behaviour remain intact. */
@media(max-width:774px){
  html body#acb-design{
    --fs-h1:28.8px;
    --fs-h2:35px;
    --fs-copy-lg:21.6px;
    --fs-body:14.4px;
    --fs-small:9.9px;
    --fs-button:12.15px;
  }

  html body#acb-design main :is(h1,.t-h1){font-size:var(--fs-h1)!important}
  html body#acb-design main :is(h2,.t-h2){font-size:var(--fs-h2)!important}
  html body#acb-design main :is(h3,.t-h3){font-size:var(--fs-copy-lg)!important}
  html body#acb-design main :is(p,li,.t-body){font-size:var(--fs-body)!important}
  html body#acb-design main :is(.t-copy-lg,.acb-lead,.section-head p,.callout p,.lead,.access-note){font-size:var(--fs-copy-lg)!important}

  html body#acb-design main :is(a.btn,a.btn-out,a.pill,a.pill.big,a.pill.alt,button.btn,button.btn-out,button.pill,.refbar-btn,.map-test-inline,.bm-hypo button,.hero-panel .btn,.cta .btn,.cta .btn-out,.cta .pill,.plan-card .btn,.speaking-grid .btn,.acb-close .btn){font-size:var(--fs-button)!important}
  html body#acb-design .acb-header .acb-utility-pill,
  html body#acb-design .mobile-header-cta{font-size:12.15px!important}

  html body#acb-design :is(.faq-item .faq-q,.faq-item .faq-a>p,.faq-page .faqx .offer-toggle,.faq-page .faqx .offer-body p){font-size:var(--fs-body)!important}
  html body#acb-design :is(.faq-item .faq-q::after,.offer-toggle .pm::after){font-size:14.4px!important}

  html body#acb-design.home-page .acb-hero h1,
  html body#acb-design:is(.individuals-page,.organisations-page) :is(.audience-hero-rotbubble,.audience-hero-rotbubble .cycling-line,.audience-hero-rotbubble .cycling-word,.audience-hero-rotbubble .hero-static-in-rot),
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-panel .hero-static-line{font-size:clamp(9.5px,3.3vw,14.4px)!important}
  html body#acb-design.contact-page .contact-visual-hero h1{font-size:var(--fs-h1)!important}

  html body#acb-design.home-page :is(.acb-say p.scrolltext,.individual-feeling .scrolltext),
  html body#acb-design.individuals-page .individual-feeling .scrolltext{font-size:var(--fs-copy-lg)!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}
  html body#acb-design.blocks-page .card-tag{font-size:9px!important}

  html body#acb-design .acb-footer :is(.col a,.news p,.ack){font-size:14.4px!important}
  html body#acb-design .acb-header.mobile-open .navitem :is(a.navbutton,button.navbutton){font-size:clamp(24.79px,8vw,36.35px)!important}
  html body#acb-design .acb-header.mobile-open :is(.acb-sub a,.submenu a){font-size:clamp(16px,4.2vw,22px)!important}
  html body#acb-design .acb-header.mobile-open .mobile-menu-footer a{font-size:14.4px!important}
}

/* FAQ questions use the same standalone pill system everywhere. */
html body#acb-design .faq-item .faq-q,
html body#acb-design.faq-page .faqx .offer-toggle{
  min-height:0!important;
  padding:var(--sp-card)!important;
  font-size:30px!important;
  line-height:1.15!important;
}
html body#acb-design .faq-item .faq-a>p,
html body#acb-design.faq-page .faqx .offer-body>div{
  padding-inline:var(--sp-card)!important;
  padding-bottom:28px!important;
}

/* The dedicated FAQ reads like a document: answers on the left, with every
   question available from a sticky index card on the right. */
html body#acb-design.faq-page .faqx{
  grid-template-columns:minmax(0,1fr) minmax(260px,.34fr)!important;
  gap:16px!important;
}
html body#acb-design.faq-page .faqx>div{grid-column:1!important;grid-row:1!important}
html body#acb-design.faq-page .faqx-nav{
  grid-column:2!important;
  grid-row:1!important;
  max-height:calc(100vh - 110px)!important;
  overflow:auto!important;
}
html body#acb-design.faq-page .faqx-nav a{padding:8px 0!important}
html body#acb-design.faq-page .faqx .offer-row{scroll-margin-top:110px!important}
@media(max-width:774px){
  html body#acb-design.faq-page .faqx{grid-template-columns:1fr!important}
  html body#acb-design.faq-page .faqx>div,
  html body#acb-design.faq-page .faqx-nav{grid-column:1!important;grid-row:auto!important;max-height:none!important}
}

/* Keep the mobile scale above the late FAQ component rules as well. */
@media(max-width:774px){
  html body#acb-design .faq-item .faq-q,
  html body#acb-design.faq-page .faqx .offer-toggle{font-size:var(--fs-body)!important}
}

/* Document pages read from left to right: the contents index is its own
   left-hand card and the actual document is a separate right-hand card. */
@media(min-width:775px){
  html body#acb-design.legal-page .legal-layout,
  html body#acb-design.faq-page .faqx{
    grid-template-columns:minmax(220px,.34fr) minmax(0,1fr)!important;
    gap:16px!important;
  }
  html body#acb-design.legal-page .legal-nav,
  html body#acb-design.faq-page .faqx-nav{grid-column:1!important;grid-row:1!important}
  html body#acb-design.legal-page .legal-copy,
  html body#acb-design.faq-page .faqx>div{grid-column:2!important;grid-row:1!important}
  html body#acb-design.faq-page .faqx>div{
    padding:var(--sp-card)!important;
    border-radius:var(--radius-card)!important;
    background:#fff!important;
    box-shadow:var(--shadow-card)!important;
  }
}

/* FINAL MOBILE TYPE RESTORATION — exact type tokens from the gradient-era
   version. This is intentionally at the end of the stylesheet so no later
   component rule can keep the newer, oversized mobile type. */
@media(max-width:774px){
  html body#acb-design{
    --fs-h1:clamp(28.8px,5vw,63px);
    --fs-h2:clamp(35px,4vw,56px);
    --fs-copy-lg:clamp(21.6px,2.8vw,30.6px);
    --fs-body:clamp(14.4px,1.5vw,17.1px);
    --fs-small:clamp(9.9px,1vw,11.7px);
    --fs-button:clamp(12.15px,1vw,13.22px);
  }
  html body#acb-design main :is(h1,.t-h1){font-size:var(--fs-h1)!important}
  html body#acb-design main :is(h2,.t-h2){font-size:var(--fs-h2)!important}
  html body#acb-design main :is(h3,.t-h3){font-size:var(--fs-copy-lg)!important}
  html body#acb-design main :is(p,li,.t-body){font-size:var(--fs-body)!important}
  html body#acb-design main :is(.t-copy-lg,.acb-lead,.section-head p,.callout p,.lead,.access-note){font-size:var(--fs-copy-lg)!important}
  html body#acb-design main .acb-lead{line-height:1.1!important}
  html body#acb-design#acb-design :is(.t-label,.acb-eyebrow,.eyebrow,.eyebrow2,.audience-eyebrow,.contact-hero-kicker,.jn-label,.card-tag,.tag,.stage,.labels,.note,.side-note){font-size:16px!important}
  html body#acb-design main :is(a.btn,a.btn-out,a.pill,a.pill.big,a.pill.alt,button.btn,button.btn-out,button.pill,.refbar-btn,.map-test-inline,.bm-hypo button,.hero-panel .btn,.cta .btn,.cta .btn-out,.cta .pill,.plan-card .btn,.speaking-grid .btn,.acb-close .btn,.acb-close-sub .btn){font-size:var(--fs-button)!important}
  html body#acb-design#acb-design :is(.faq-item .faq-q,.faq-page .faqx .offer-toggle){font-size:var(--fs-copy-lg)!important}
  html body#acb-design :is(.faq-item .faq-a>p,.faq-page .faqx .offer-body p){font-size:var(--fs-body)!important}
  html body#acb-design.home-page .acb-hero h1,
  html body#acb-design:is(.individuals-page,.organisations-page) :is(.audience-hero-rotbubble,.audience-hero-rotbubble .cycling-line,.audience-hero-rotbubble .cycling-word,.audience-hero-rotbubble .hero-static-in-rot,.audience-hero-panel .hero-static-line){font-size:clamp(9.5px,3.3vw,14.4px)!important}
  html body#acb-design.home-page :is(.acb-say p.scrolltext,.individual-feeling .scrolltext),
  html body#acb-design#acb-design.individuals-page .individual-feeling .scrolltext,
  html body#acb-design#acb-design.organisations-page .audience-intro.dark.centered p.lead{font-size:var(--fs-copy-lg)!important}
  html body#acb-design.blocks-page .bmcard-title{font-size:var(--fs-copy-lg)!important}
  html body#acb-design.blocks-page .bmcard-lead{font-size:var(--fs-small)!important}
  html body#acb-design .acb-header:not(.mobile-open) :is(.navbutton,.acb-sub a){font-size:14.87px!important}
  html body#acb-design .acb-header .acb-utility-pill{font-size:13.22px!important}
  html body#acb-design .mobile-header-cta{font-size:16.52px!important}
  html body#acb-design .acb-header.mobile-open .navitem :is(a.navbutton,button.navbutton),
  html body#acb-design .acb-header.mobile-open :is(.acb-sub a,.submenu a){font-size:clamp(24.79px,8vw,36.35px)!important}
  html body#acb-design .acb-header.mobile-open .mobile-menu-footer a,
  html body#acb-design .acb-footer :is(.col a,.news p){font-size:14.87px!important}
  html body#acb-design .acb-footer .ack{font-size:clamp(13.22px,1.3vw,17.7px)!important}
}


/* FINAL INTERACTION AND MOBILE TYPE LAYER — deliberately last. */
html body#acb-design .acb-header:not(.mobile-open) :is(.navbutton,.acb-sub a){
  padding-inline:6px!important;
  border-radius:var(--radius-card)!important;
}
html body#acb-design .acb-header:not(.mobile-open) .acb-sub a{
  padding-inline:10px!important;
  margin-inline:0!important;
}

/* The document-table-of-contents is highlighted with a small background
   pill, both on hover and as the scroll spy advances — never an underline. */
html body#acb-design :is(.legal-nav,.faqx-nav) a{
  display:table!important;
  width:auto!important;
  padding:6px 8px!important;
  margin-left:-8px!important;
  border-radius:var(--radius-card)!important;
  transform:none!important;
  transition:background-color .24s ease,color .24s ease!important;
}
html body#acb-design :is(.legal-nav,.faqx-nav) a::after{content:none!important;display:none!important}
html body#acb-design :is(.legal-nav,.faqx-nav) a:is(:hover,.is-current){
  background:rgba(79,70,229,.18)!important;
  color:var(--ink)!important;
  transform:none!important;
}

html body#acb-design :is(a.btn,a.btn-out,a.pill,a.pill.big,a.pill.alt,button.btn,button.btn-out,button.pill,.refbar-btn,.map-test-inline,.bm-hypo button,.hero-panel .btn,.cta .btn,.cta .btn-out,.cta .pill,.plan-card .btn,.speaking-grid .btn,.acb-close .btn,.acb-close-sub .btn,.acb-utility-pill,.mobile-header-cta){
  font-size:20px!important;
  line-height:0!important;
  padding:20px!important;
  white-space:nowrap!important;
}

/* ACTUAL END OF STYLESHEET — exact CTA controls. */
html body#acb-design.contact-page .cform button[type="submit"],
html body#acb-design.home-page .acb-look .cta .pill,
html body#acb-design .cookie-banner .cookie-actions button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:20px!important;
  font-size:20px!important;
  line-height:0!important;
  white-space:nowrap!important;
}

/* The homepage headline uses the header's measured 54px desktop height. */
html body#acb-design.home-page .acb-hero h1{font-size:54px!important;line-height:1!important}
@media(max-width:1180px){html body#acb-design.home-page .acb-hero h1{font-size:40px!important}}

/* The individuals/organisations hero statement matches the home hero's
   type exactly (20px/1.2/ls-title), at every width — home hero has no
   mobile-specific size of its own (its one unconditional rule wins at
   every viewport), so this stays unconditional too rather than only
   fixing the desktop mismatch. Doubled #acb-design: earlier rotbubble
   rules elsewhere in the file are a tangle of h1.audience-hero-rotbubble
   and :is(...) variants at competing specificities; this is the one
   rule meant to win regardless of what came before it. */
html body#acb-design#acb-design:is(.individuals-page,.organisations-page) :is(.audience-hero-rotbubble,.audience-hero-rotbubble .cycling-line,.audience-hero-rotbubble .cycling-word,.audience-hero-rotbubble .hero-static-in-rot,.audience-hero-panel .hero-static-line){
  font-size:20px!important;
  line-height:1.2!important;
  letter-spacing:var(--ls-title)!important;
}

/* Header links need physical separation as well as a padded hover surface. */
html body#acb-design .acb-header:not(.mobile-open) .acb-nav{gap:10px!important}
html body#acb-design .acb-header:not(.mobile-open) .acb-sub{gap:4px!important}

/* Home hero: match the header BAR height, not the headline font size. */
html body#acb-design.home-page .acb-hero-copy{
  min-height:54px!important;
  padding:0 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
html body#acb-design.home-page .acb-hero h1{
  font-size:20px!important;
  line-height:1.2!important;
}
@media(max-width:1180px){
  html body#acb-design.home-page .acb-hero-copy{min-height:40px!important}
}
/* On mobile only, shrink the home hero line so the full sentence sits in
   1-2 lines instead of 3 — the 20px desktop size is unconditional above,
   so this needs the doubled #acb-design ID to actually win on mobile. */
@media(max-width:774px){
  html body#acb-design#acb-design.home-page .acb-hero h1{font-size:15px!important}
  html body#acb-design#acb-design.home-page .acb-hero-copy{padding:10px 20px!important}
}

/* Cascade lock: the legacy theme contains selectors with long chains of
   :not() filters.  These component rules intentionally carry the page id
   twice so the final component layer wins on every page without depending
   on stylesheet load timing. */
html body#acb-design#acb-design .acb-header:not(.mobile-open) .acb-nav{gap:8px!important}
html body#acb-design#acb-design .acb-header:not(.mobile-open) .navitem>.navbutton{
  padding:7px 11px!important;
  border-radius:var(--radius-card)!important;
}
html body#acb-design#acb-design .acb-header:not(.mobile-open) .acb-sub{padding:8px!important;gap:4px!important}
html body#acb-design#acb-design .acb-header:not(.mobile-open) .acb-sub a{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:8px 10px!important;
  border-radius:var(--radius-card)!important;
}

html body#acb-design#acb-design main :is(
  a.btn,a.btn-out,a.pill,a.pill.big,a.pill.alt,
  button.btn,button.btn-out,button.pill,
  .plan-card a.btn,.speaking-grid a.btn,.cta a,
  a.refbar-btn,.map-test-inline,.bm-hypo button,.hero-panel .btn
),
html body#acb-design#acb-design.contact-page .cform button[type="submit"],
html body#acb-design#acb-design.home-page .acb-blocks .cta .pill,
html body#acb-design#acb-design .cookie-banner .cookie-actions button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:20px!important;
  font-size:20px!important;
  line-height:0!important;
  white-space:nowrap!important;
}

html body#acb-design#acb-design.internal-page main :is(.section,.bm-faq)>.wrap:has(>.faq-list),
html body#acb-design#acb-design.internal-page main :is(.section,.bm-faq):has(>.wrap>.faq-list){
  padding:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border-radius:0!important;
}
html body#acb-design#acb-design.internal-page main :is(.section,.bm-faq)>.wrap:has(>.faq-list){
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
}
html body#acb-design#acb-design.internal-page main :is(.section,.bm-faq)>.wrap:has(>.faq-list) :is(.section-head,.head){
  display:block!important;
  margin:0!important;
  padding:var(--sp-card)!important;
  text-align:left!important;
  background:#fff!important;
  border-radius:var(--radius-card)!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design#acb-design.internal-page main :is(.section,.bm-faq)>.wrap:has(>.faq-list) .faq-list{
  display:grid!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
html body#acb-design#acb-design.internal-page main :is(.section,.bm-faq)>.wrap:has(>.faq-list) .faq-item{
  overflow:hidden!important;
  margin:0!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design#acb-design.internal-page main :is(.section,.bm-faq)>.wrap:has(>.faq-list) .faq-q{
  width:100%!important;
  min-height:0!important;
  padding:var(--sp-card)!important;
  border:0!important;
  background:transparent!important;
  font-size:20px!important;
  line-height:1.15!important;
  text-align:left!important;
}
html body#acb-design#acb-design.internal-page main :is(.section,.bm-faq)>.wrap:has(>.faq-list) .faq-a>p{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 var(--sp-card) 28px!important;
  font-size:20px!important;
  line-height:1.3!important;
}

html body#acb-design#acb-design.legal-page main section.legal-section{
  padding:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border-radius:0!important;
}
html body#acb-design#acb-design.legal-page main .legal-wrap.legal-layout{
  display:grid!important;
  grid-template-columns:minmax(220px,.34fr) minmax(0,1fr)!important;
  gap:16px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
html body#acb-design#acb-design.legal-page main .legal-nav{
  grid-column:1!important;
  padding:var(--sp-card)!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#dbeafe!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design#acb-design.legal-page main .legal-copy{
  grid-column:2!important;
  padding:var(--sp-card)!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  box-shadow:var(--shadow-card)!important;
}

html body#acb-design#acb-design.faq-page main .acb-main-panel,
html body#acb-design#acb-design.faq-page main section.section>.wrap,
html body#acb-design#acb-design.faq-page main .faqx,
html body#acb-design#acb-design.faq-page main .faqx>div,
html body#acb-design#acb-design.faq-page main .faqx-cat{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  margin-top:0!important;
}
html body#acb-design#acb-design.faq-page main section.section{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  margin-top:var(--sp-gap)!important;
}
html body#acb-design#acb-design.faq-page main .faqx-cat+.faqx-cat{
  margin-top:clamp(29.74px,5vw,56.51px)!important;
}
html body#acb-design#acb-design.faq-page main section.section>.wrap{padding:0!important;border-radius:0!important}
html body#acb-design#acb-design.faq-page main .faqx{
  display:grid!important;
  grid-template-columns:minmax(220px,.34fr) minmax(0,1fr)!important;
  gap:16px!important;
  width:100%!important;
  max-width:none!important;
}
html body#acb-design#acb-design.faq-page main .faqx-nav{
  grid-column:1!important;
  grid-row:1!important;
  padding:var(--sp-card)!important;
  border-radius:var(--radius-card)!important;
  background:#dbeafe!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design#acb-design.faq-page main .faqx>div{
  grid-column:2!important;
  grid-row:1!important;
  padding:0!important;
}
html body#acb-design#acb-design.faq-page main .faqx-cat-head{
  margin:0 0 12px!important;
  padding:var(--sp-card)!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design#acb-design.faq-page main .faqx .offer-list{
  display:grid!important;
  gap:12px!important;
  background:transparent!important;
}
html body#acb-design#acb-design.faq-page main .faqx .offer-row{
  overflow:hidden!important;
  margin:0!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  box-shadow:var(--shadow-card)!important;
}

html body#acb-design#acb-design :is(.legal-nav,.faqx-nav) a{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:9px 12px!important;
  border-radius:var(--radius-card)!important;
}
html body#acb-design#acb-design :is(.legal-nav,.faqx-nav) a:is(:hover,.is-current){
  background:rgba(79,70,229,.18)!important;
}

@media(max-width:774px){
  html body#acb-design#acb-design.legal-page main .legal-layout,
  html body#acb-design#acb-design.faq-page main .faqx{grid-template-columns:1fr!important}
  html body#acb-design#acb-design.legal-page main :is(.legal-nav,.legal-copy),
  html body#acb-design#acb-design.faq-page main :is(.faqx-nav,.faqx>div){
    grid-column:1!important;
    grid-row:auto!important;
  }
}

/* FAQ questions on mobile: true final word. An unconditional rule earlier
   in the file (the .wrap:has(>.faq-list) variant, itself doubled #acb-design)
   pins these to a flat 30px — it isn't just tied with a double-ID override,
   its :is()/:has() chain genuinely carries more raw class-tier specificity
   (8 vs 6), so even doubling #acb-design here still lost. Tripled instead:
   the ID tier always outranks class/element count regardless of how either
   selector is built. */
@media(max-width:774px){
  html body#acb-design#acb-design#acb-design :is(.faq-item .faq-q,.faq-page .faqx .offer-toggle){font-size:var(--fs-copy-lg)!important}
}

/* Peekaboo footer reveal (home only): the footer sticks to the bottom of
   the viewport once it arrives there, while the subscribe card — pulled
   up behind it via a negative bottom margin, lower z-index, no bottom
   gap of its own — keeps scrolling underneath. As the page scrolls the
   rest of the way, subscribe rises up from behind the pinned footer
   before the footer finally lets go and settles into its normal place. */
html body#acb-design#acb-design .footer-reveal{
  position:relative!important;
}
html body#acb-design#acb-design .footer-reveal .acb-quick-contact{
  position:relative!important;
  z-index:1!important;
  width:calc(100vw - 16px)!important;
  max-width:calc(100vw - 16px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-bottom:-32px!important;
  border-radius:var(--radius-card)!important;
}
html body#acb-design#acb-design .footer-reveal .acb-footer{
  position:sticky!important;
  bottom:0!important;
  z-index:2!important;
  border-radius:var(--radius-card)!important;
  box-shadow:var(--shadow-card),0 -14px 24px -12px rgba(30,27,60,.28)!important;
}
@media(max-width:774px){
  html body#acb-design#acb-design .footer-reveal .acb-quick-contact{margin-bottom:-24px!important;padding-left:20px!important;padding-right:20px!important}
}

/* Bug fix: every earlier ".acb-footer>.bottom" rule in this file uses a
   direct-child combinator, but .bottom actually lives inside .acb-footer
   .wrap (footer > wrap > bottom) — that combinator has never matched
   anything. It stayed invisible while .bottom only held a centered
   copyright line; once the social icons moved in and .bottom needed to
   span the full footer width in a space-between row, the real (grid
   auto-placed, ~1 column wide) layout showed through as a squeezed,
   narrower-than-the-footer bottom row. Using the correct descendant
   selector here, with the grid-column span the old rule never applied. */
html body#acb-design#acb-design .acb-footer .wrap>.bottom{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(250px,.9fr) minmax(0,2.1fr)!important;
  column-gap:clamp(28px,4vw,64px)!important;
  align-items:center!important;
  text-align:left!important;
  margin:0!important;
}
html body#acb-design#acb-design .acb-footer .wrap>.bottom span{
  white-space:nowrap!important;
}
@media(max-width:900px){
  html body#acb-design#acb-design .acb-footer .wrap>.bottom{display:flex!important;flex-wrap:wrap!important;justify-content:space-between!important}
}

/* Newsletter card on desktop: bounded by the site's own content-width
   system (site-width + panel-boost, like the header) rather than
   stretching edge-to-edge like the footer, capped at the same
   100vw-16px the footer uses so it never runs past it either. */
@media(min-width:685px){
  html body#acb-design#acb-design .footer-reveal .acb-quick-contact{
    width:min(calc(var(--site-width) + var(--panel-boost) + 80px),calc(100vw - 16px))!important;
    max-width:min(calc(var(--site-width) + var(--panel-boost) + 80px),calc(100vw - 16px))!important;
    margin-top:70px!important;
    margin-bottom:-20px!important;
  }
}

/* Mobile-only: shrink the longer body-copy blocks on home (not the
   "Our approach" pull-quote, not the titles) and the FAQ answer text,
   to a smaller, easier-to-scan 15px. */
@media(max-width:774px){
  html body#acb-design#acb-design.home-page .acb-lead{font-size:15px!important}
  html body#acb-design#acb-design.home-page .work-intro{font-size:15px!important}
  html body#acb-design#acb-design.home-page .acb-journal .journal-head p{font-size:15px!important}
  html body#acb-design#acb-design.home-page .acb-faq .faq-a p{font-size:15px!important}
  html body#acb-design#acb-design.faq-page .faqx .offer-body p{font-size:15px!important}
}

/* Base reset for the two toggle buttons (real <button> elements now,
   not <span>/pseudo-content), so they don't pick up default browser
   button chrome (border box, padding) on desktop where they're still
   laid out like plain text via the existing .lbl/::before styling.
   The legal-page toggle is desktop-hidden entirely - "Contents" (the
   ::before label) already does its job there; the toggle only takes
   over on mobile, inside the media query below. */
html body#acb-design#acb-design.faq-page .faqx-nav .lbl{
  display:block!important;
  margin:0 0 7.43px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  font-family:inherit!important;
  cursor:default!important;
  text-align:left!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
html body#acb-design#acb-design.legal-page .legal-nav-toggle{
  display:none!important;
}

/* Mobile-only: collapse the FAQ "Jump to" list and the legal pages'
   "Contents" index into a tap-to-open toggle instead of a permanently
   expanded block taking up a screen's worth of space before the content. */
@media(max-width:774px){
  html body#acb-design#acb-design.legal-page .legal-nav::before{display:none!important}
  html body#acb-design#acb-design.faq-page .faqx-nav .lbl,
  html body#acb-design#acb-design.legal-page .legal-nav-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:none!important;
    font-family:inherit!important;
    cursor:pointer!important;
    text-align:left!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }
  html body#acb-design#acb-design.faq-page .faqx-nav .lbl::after,
  html body#acb-design#acb-design.legal-page .legal-nav-toggle::after{
    content:""!important;
    flex:none!important;
    width:9px!important;
    height:9px!important;
    margin-left:12px!important;
    border-right:2px solid currentColor!important;
    border-bottom:2px solid currentColor!important;
    transform:rotate(45deg)!important;
    transition:transform .2s ease!important;
  }
  html body#acb-design#acb-design.faq-page .faqx-nav.is-open .lbl::after,
  html body#acb-design#acb-design.legal-page .legal-nav.is-open .legal-nav-toggle::after{
    transform:rotate(-135deg)!important;
  }
  html body#acb-design#acb-design.faq-page .faqx-nav>a,
  html body#acb-design#acb-design.legal-page .legal-nav>a{
    display:none!important;
  }
  html body#acb-design#acb-design.faq-page .faqx-nav.is-open>a,
  html body#acb-design#acb-design.legal-page .legal-nav.is-open>a{
    display:block!important;
    margin-top:8px!important;
  }
}

/* Evidence page: dark, centred intro band replacing the old headline+CTA hero —
   just a label and one big lead line, like the audience pages' "how we work
   with you" intro. */
html body#acb-design.evidence-page .evidence-intro>.wrap{text-align:center!important}
html body#acb-design.evidence-page .evidence-intro h1.mono{
  display:inline-block!important;background:none!important;margin:0 0 16px!important;padding:0!important;
  color:rgba(255,255,255,.6)!important;font-size:var(--fs-label)!important;letter-spacing:var(--ls-label)!important;
  text-transform:uppercase!important;font-weight:400!important;
}
html body#acb-design.evidence-page .evidence-intro .lead{
  font-size:var(--fs-copy-lg)!important;line-height:var(--lh-title)!important;font-weight:400!important;
  max-width:62ch!important;margin:0 auto!important;color:#fff!important;
}

/* Evidence page: "Backed by research" scrolling researcher-name marquee, reusing the
   acb-marquee keyframe. Single container: the card, the clip box and the fade mask
   all live on .acb-marq itself, not on a separate wrapper. The clip/mask lives on
   an inner .marq-viewport so overflow:hidden never clips the card's own shadow.
   Never pauses on hover — it's a passive credibility strip, not something to read
   line by line. */
html body#acb-design.evidence-page .acb-marq{
  width:100%!important;max-width:var(--wrap)!important;margin:0 auto!important;box-sizing:border-box!important;
  background:#fff!important;border-radius:var(--radius-card)!important;box-shadow:var(--shadow-card)!important;
  padding:clamp(36px,5.5vw,58px) 0!important;text-align:center!important;
}
html body#acb-design.evidence-page .acb-marq .eyebrow{color:var(--brand)!important;font-size:var(--fs-label)!important;letter-spacing:var(--ls-label)!important;text-transform:uppercase!important;margin:0 clamp(19.83px,3.5vw,33.05px) 8px!important}
html body#acb-design.evidence-page .acb-marq h2{margin:0 clamp(19.83px,3.5vw,33.05px) 26.44px!important}
html body#acb-design.evidence-page .acb-marq .marq-viewport{overflow:hidden!important}
html body#acb-design.evidence-page .acb-marq .track{
  display:flex!important;width:max-content!important;gap:0!important;white-space:nowrap!important;
  animation:acb-marquee 70s linear infinite!important;will-change:transform;
  mask-image:linear-gradient(to right,transparent,#000 46px,#000 calc(100% - 46px),transparent)!important;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 46px,#000 calc(100% - 46px),transparent)!important;
}
html body#acb-design.evidence-page .acb-marq .marq-group{display:flex!important;align-items:center!important;flex-shrink:0!important;gap:11.56px!important;padding:0 11.56px 0 0!important}
html body#acb-design.evidence-page .acb-marq .marq-pill{
  display:inline-flex!important;align-items:center!important;flex-shrink:0!important;
  border:0!important;border-radius:999px!important;background:#fafafa!important;
  padding:11.56px 19.83px!important;font-size:14.87px!important;font-weight:600!important;color:var(--ink)!important;white-space:nowrap!important;
}
html body#acb-design.evidence-page .acb-marq .marq-pill::after{content:none!important}
@media(prefers-reduced-motion:reduce){
  html body#acb-design.evidence-page .acb-marq .track{animation:none!important}
  html body#acb-design.evidence-page .acb-marq .marq-group[aria-hidden]{display:none!important}
}
@media(max-width:684px){
  html body#acb-design.evidence-page .acb-marq{padding:24px 0!important}
  html body#acb-design.evidence-page .acb-marq .eyebrow,
  html body#acb-design.evidence-page .acb-marq h2{margin-left:16.52px!important;margin-right:16.52px!important}
  html body#acb-design.evidence-page .acb-marq .marq-pill{padding:9.29px 14.87px!important;font-size:13px!important}
}

/* Evidence page: "research we draw on" / "what the numbers say" as two
   genuinely distinct cards (each with its own background), not one shared
   tinted band. The numbers column reuses the "what you leave with" stacked,
   rotated colour-block language from the audience pages. */
html body#acb-design.evidence-page .ev-split{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important;align-items:stretch!important;
}
html body#acb-design.evidence-page :is(.ev-copy-card,.ev-stats-card){
  background:#fff!important;border-radius:var(--radius-card)!important;padding:var(--sp-card)!important;
}
html body#acb-design.evidence-page .ev-split .eyebrow{margin:0 0 8px!important}
html body#acb-design.evidence-page .ev-split h2{margin:0 0 16px!important}
html body#acb-design.evidence-page .ev-stat-blocks{display:grid!important;gap:16px!important;margin-top:18px!important}
html body#acb-design.evidence-page .ev-stat-block{
  padding:20px 24px!important;border-radius:var(--radius-card)!important;box-shadow:var(--shadow-card)!important;
}
html body#acb-design.evidence-page .ev-stat-block.sc1{background:#4f46e5!important;color:#fff!important;transform:rotate(-1.2deg)!important}
html body#acb-design.evidence-page .ev-stat-block.sc2{background:var(--acb-yellow)!important;color:var(--ink)!important;transform:rotate(.9deg)!important;margin-left:clamp(0px,3vw,20px)!important}
html body#acb-design.evidence-page .ev-stat-block.sc3{background:#f6b3cc!important;color:var(--ink)!important;transform:rotate(-.7deg)!important}
html body#acb-design.evidence-page .ev-stat-block .statnum{font-size:clamp(40px,5.5vw,60px)!important;margin:0 0 6px!important;font-weight:400!important;line-height:1!important;color:inherit!important;letter-spacing:normal!important}
html body#acb-design.evidence-page .ev-stat-block p{margin:0!important;font-size:clamp(16px,1.8vw,19px)!important;line-height:1.4!important;font-weight:400!important;color:inherit!important}
html body#acb-design.evidence-page .ev-stat-block sup.cite{color:inherit!important;opacity:.75!important}
@media(max-width:774px){
  html body#acb-design.evidence-page .ev-split{grid-template-columns:1fr!important}
  html body#acb-design.evidence-page .ev-stat-block{transform:none!important;margin-left:0!important}
}

/* Evidence page: "Why it matters" copy and domain pills. */
html body#acb-design.evidence-page .why-matters-copy{
  position:relative!important;z-index:1!important;max-width:46ch!important;text-align:center!important;
  background:transparent!important;border-radius:0!important;box-shadow:none!important;
  padding:0!important;
}
html body#acb-design.evidence-page .why-matters-copy .side-note{display:block!important;margin:0 0 8px!important}
html body#acb-design.evidence-page .why-matters-copy h2{margin:0 0 8px!important;font-size:clamp(32px,3vw,42px)!important;line-height:1.05!important}
html body#acb-design.evidence-page .why-matters-copy p{margin:0 0 12px!important;max-width:none!important;line-height:1.2!important}
html body#acb-design.evidence-page .wm-pill{
  display:inline-flex!important;
  background:var(--c,#4f46e5)!important;color:var(--ink)!important;border-radius:999px!important;
  padding:12px 20px!important;font-size:15px!important;font-weight:600!important;
  box-shadow:0 8px 20px rgba(7,19,33,.1)!important;
}
@media(max-width:900px){html body#acb-design.evidence-page .wm-pill{padding:9px 15px!important;font-size:13px!important}}
@media(prefers-reduced-motion:reduce){html body#acb-design.evidence-page .flush-vmarq .vtrack{animation:none!important}}
@media(max-width:774px){html body#acb-design.evidence-page .flush-vmarq{min-height:220px!important}}

/* Citation tooltip: a real visible popup with the reference text (site.js
   builds it on hover/focus), not the native browser title box. */
html body#acb-design sup.cite.cite-tip{cursor:pointer!important;text-decoration:underline dotted!important;text-underline-offset:2px!important;outline:none!important;margin-right:.45em!important}
html body#acb-design sup.cite.cite-tip:last-of-type{margin-right:0!important}
html body .cite-tip-bubble{
  position:absolute!important;z-index:9999!important;max-width:min(320px,80vw)!important;
  background:var(--ink,#111118)!important;color:#fff!important;
  font-family:"Inter",sans-serif!important;font-size:12.5px!important;line-height:1.5!important;font-weight:400!important;
  padding:10px 13px!important;border-radius:10px!important;box-shadow:0 12px 28px rgba(7,19,33,.28)!important;
  opacity:0!important;transform:translateY(4px)!important;transition:opacity .15s ease,transform .15s ease!important;
  pointer-events:none!important;
}
html body .cite-tip-bubble.is-visible{opacity:1!important;transform:translateY(0)!important}

/* Evidence page hero: structural rules (full-bleed breakout, grid, image)
   are the exact 4i/4o ones, extended to .evidence-page above — copied
   verbatim rather than reimplemented. Only the bubble/copy styling below
   is evidence-specific: a white rounded bubble bottom-left (instead of
   4i/4o's compact cycling-word panel), with the research definition as
   its headline. */
html body#acb-design.evidence-page .audience-hero-stack{
  position:relative!important;z-index:1!important;align-self:end!important;justify-self:start!important;
  width:min(654px,94vw)!important;max-width:min(654px,94vw)!important;margin:0!important;
}
html body#acb-design.evidence-page .evidence-hero-bubble{
  background:#fff!important;border-radius:32px!important;padding:clamp(20px,2.6vw,32px)!important;
}
html body#acb-design.evidence-page .evidence-hero-bubble .mono{
  color:var(--brand)!important;background:none!important;display:block!important;
  margin:0 0 clamp(13px,2vw,21px)!important;font-size:var(--fs-label)!important;
  letter-spacing:var(--ls-label)!important;text-transform:uppercase!important;font-weight:400!important;
}
html body#acb-design#acb-design.evidence-page .evidence-hero-def{
  font-family:"Inter",sans-serif!important;font-weight:400!important;
  font-size:35px!important;line-height:1.2!important;letter-spacing:-.02em!important;
  color:var(--ink)!important;margin:0!important;max-width:none!important;
}
html body#acb-design.evidence-page .evidence-hero-def .hl{color:var(--ink)!important}
@media(max-width:774px){
  html body#acb-design.evidence-page .audience-hero-stack{width:100%!important;max-width:100%!important}
  html body#acb-design#acb-design.evidence-page .evidence-hero-def{font-size:24px!important}
}

/* Keep the Evidence image flush with the viewport, as on the audience pages. */
html body#acb-design.evidence-page .acb-hero-grid{padding-inline:calc(8px + var(--sp-card))!important}
html body#acb-design.evidence-page .acb-hero-grid,
html body#acb-design.evidence-page .acb-hero-img,
html body#acb-design.evidence-page .acb-hero-img img{border-radius:0!important}
html body#acb-design.evidence-page .acb-hero-img img{width:100%!important;height:100%!important;object-fit:cover!important}

/* Three independent columns let the 7+1 labels drift around the copy without
   ever crossing its space. Narrow layouts move them above and below it. */
@keyframes wm-drift{0%,100%{transform:translate(0,0) rotate(var(--rot,0deg))}50%{transform:translate(var(--dx,0px),-4px) rotate(var(--rot,0deg))}}
html body#acb-design.evidence-page section.why-matters,
html body#acb-design.evidence-page section.why-matters>.why-matters-stage{background:#fff!important}
html body#acb-design.evidence-page .why-matters-stage{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,58%) minmax(0,1fr)!important;
  grid-template-rows:repeat(4,minmax(0,1fr))!important;column-gap:clamp(34px,4vw,60px)!important;row-gap:clamp(14px,1.5vw,20px)!important;
  min-height:0!important;padding:clamp(16px,2vw,28px)!important;
}
html body#acb-design.evidence-page .why-matters-pills{display:contents!important;position:static!important}
html body#acb-design.evidence-page .wm-pill{
  position:static!important;justify-self:center!important;align-self:center!important;
  box-sizing:border-box!important;width:100%!important;max-width:100%!important;white-space:normal!important;text-align:center!important;
  animation:wm-drift var(--duration,7s) ease-in-out infinite!important;animation-delay:var(--delay,0s)!important;
}
html body#acb-design.evidence-page .wm-p1{grid-column:1!important;grid-row:1!important;justify-self:start!important;--dx:6px;--rot:-3deg;--delay:-1s}
html body#acb-design.evidence-page .wm-p2{grid-column:3!important;grid-row:1!important;justify-self:end!important;--dx:-6px;--rot:2deg;--delay:-4s;--duration:8s}
html body#acb-design.evidence-page .wm-p3{grid-column:1!important;grid-row:2!important;justify-self:end!important;--dx:-5px;--rot:3deg;--delay:-2s;--duration:8.5s}
html body#acb-design.evidence-page .wm-p4{grid-column:3!important;grid-row:2!important;justify-self:start!important;--dx:5px;--rot:-3deg;--delay:-5s}
html body#acb-design.evidence-page .wm-p5{grid-column:1!important;grid-row:3!important;justify-self:start!important;--dx:7px;--rot:-2deg;--delay:-3s}
html body#acb-design.evidence-page .wm-p6{grid-column:3!important;grid-row:3!important;justify-self:end!important;--dx:-7px;--rot:3deg;--delay:-1.5s;--duration:8s}
html body#acb-design.evidence-page .wm-p7{grid-column:1!important;grid-row:4!important;justify-self:end!important;--dx:-5px;--rot:2deg;--delay:-5.5s;--duration:7.5s}
html body#acb-design.evidence-page .wm-p8{grid-column:3!important;grid-row:4!important;justify-self:start!important;--dx:6px;--rot:-2deg;--delay:-2.5s}
html body#acb-design.evidence-page .why-matters-copy{
  grid-column:2!important;grid-row:1/5!important;justify-self:stretch!important;align-self:center!important;
  box-sizing:border-box!important;width:100%!important;max-width:none!important;
}
html body#acb-design.evidence-page .why-matters-copy .btn{margin-top:20px!important}
@media(max-width:850px){
  html body#acb-design.evidence-page .why-matters-stage{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:auto auto auto!important;gap:clamp(16px,2.5vw,28px)!important;min-height:0!important}
  html body#acb-design.evidence-page .wm-pill{grid-column:auto!important;justify-self:center!important}
  html body#acb-design.evidence-page .wm-p1,html body#acb-design.evidence-page .wm-p2,html body#acb-design.evidence-page .wm-p3,html body#acb-design.evidence-page .wm-p4{grid-row:1!important}
  html body#acb-design.evidence-page .wm-p5,html body#acb-design.evidence-page .wm-p6,html body#acb-design.evidence-page .wm-p7,html body#acb-design.evidence-page .wm-p8{grid-row:3!important}
  html body#acb-design.evidence-page .why-matters-copy{grid-column:1/-1!important;grid-row:2!important;justify-self:center!important;width:min(100%,680px)!important}
}
@media(max-width:600px){
  html body#acb-design.evidence-page .why-matters-stage{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,auto) auto repeat(2,auto)!important;gap:12px!important;padding:12px!important}
  html body#acb-design.evidence-page .why-matters-copy h2{font-size:32px!important}
  html body#acb-design.evidence-page .why-matters-copy p{font-size:18px!important;line-height:1.25!important}
  html body#acb-design.evidence-page .wm-pill{padding:6px 8px!important;font-size:12px!important}
  html body#acb-design.evidence-page .wm-p1,html body#acb-design.evidence-page .wm-p2{grid-row:1!important}
  html body#acb-design.evidence-page .wm-p3,html body#acb-design.evidence-page .wm-p4{grid-row:2!important}
  html body#acb-design.evidence-page .wm-p5,html body#acb-design.evidence-page .wm-p6{grid-row:4!important}
  html body#acb-design.evidence-page .wm-p7,html body#acb-design.evidence-page .wm-p8{grid-row:5!important}
  html body#acb-design.evidence-page .why-matters-copy{grid-row:3!important}
}
@media(prefers-reduced-motion:reduce){html body#acb-design.evidence-page .wm-pill{animation:none!important}}

/* Evidence: an unused portrait from the original block map, cropped to keep
   the face visible beside the hero copy. */
html body#acb-design.evidence-page .acb-hero-img img{object-position:center 34%!important}
@media(max-width:774px){html body#acb-design.evidence-page .acb-hero-img img{object-position:center 38%!important}}

/* One explanation of the underlying causes and their repeating effect. */
html body#acb-design.evidence-page .evidence-cause>.wrap{background:var(--acb-yellow)!important}
html body#acb-design.evidence-page .evidence-cause .eyebrow{margin:0 0 16px!important}
html body#acb-design.evidence-page .evidence-cause h2{max-width:22ch!important;margin:0 0 20px!important}
html body#acb-design.evidence-page .evidence-cause-lead{max-width:78ch!important;margin:0 0 clamp(36px,4vw,56px)!important;font-size:var(--fs-copy-lg)!important;line-height:var(--lh-copy)!important;color:var(--ink)!important}
html body#acb-design.evidence-page .evidence-cycle-track{list-style:none!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(40px,5vw,72px)!important;margin:0!important;padding:0!important}
html body#acb-design.evidence-page .evidence-cycle-step{position:relative!important;min-width:0!important;padding:clamp(24px,3vw,36px)!important;background:#fff!important;border-radius:var(--radius-card)!important;box-shadow:var(--shadow-card)!important}
html body#acb-design.evidence-page .evidence-cycle-step:nth-child(2){background:#e8f2ff!important}
html body#acb-design.evidence-page .evidence-cycle-step:nth-child(3){background:#f9e5ed!important}
html body#acb-design.evidence-page .evidence-cycle-num{display:block!important;margin:0 0 18px!important;color:var(--brand)!important;font-size:var(--fs-label)!important;line-height:1.15!important}
html body#acb-design.evidence-page .evidence-cycle-step h3{margin:0 0 12px!important;font-size:clamp(27px,3vw,42px)!important;line-height:1!important;font-weight:400!important;letter-spacing:var(--ls-title)!important}
html body#acb-design.evidence-page .evidence-cycle-step p{margin:0!important;font-size:var(--fs-body)!important;line-height:var(--lh-copy)!important;color:var(--ink)!important}
html body#acb-design.evidence-page .evidence-cycle-step:not(:last-child)::after{content:'→';position:absolute!important;left:calc(100% + clamp(10px,1.5vw,24px))!important;top:50%!important;transform:translateY(-50%)!important;color:var(--ink)!important;font-size:clamp(30px,3vw,46px)!important;line-height:1!important}
html body#acb-design.evidence-page .evidence-cycle-return{position:relative!important;height:82px!important;margin:12px 0 0!important;text-align:center!important}
html body#acb-design.evidence-page .evidence-cycle-return svg{display:block!important;width:100%!important;height:76px!important;overflow:visible!important}
html body#acb-design.evidence-page .evidence-cycle-return svg path{fill:none!important;stroke:var(--ink)!important;stroke-width:2.5!important;vector-effect:non-scaling-stroke!important;stroke-linecap:round!important;stroke-linejoin:round!important}
html body#acb-design.evidence-page .evidence-cycle-return span{position:absolute!important;left:50%!important;bottom:7px!important;transform:translateX(-50%)!important;padding:2px 14px!important;background:var(--acb-yellow)!important;color:var(--ink)!important;font-size:var(--fs-label)!important;white-space:nowrap!important}
@media(max-width:774px){
  html body#acb-design.evidence-page .evidence-cycle-track{grid-template-columns:1fr!important;gap:42px!important}
  html body#acb-design.evidence-page .evidence-cycle-step:not(:last-child)::after{content:'↓';left:50%!important;top:calc(100% + 7px)!important;transform:translateX(-50%)!important}
  html body#acb-design.evidence-page .evidence-cycle-return{height:auto!important;margin:12px 0 0!important}
  html body#acb-design.evidence-page .evidence-cycle-return svg{display:none!important}
  html body#acb-design.evidence-page .evidence-cycle-return::before{content:'↺';display:block!important;font-size:48px!important;line-height:1!important}
  html body#acb-design.evidence-page .evidence-cycle-return span{position:static!important;display:block!important;transform:none!important;background:transparent!important}
}

/* Follow the site's label-title-copy rhythm rather than a split heading. */
html body#acb-design.evidence-page .evidence-organise{display:block!important}
html body#acb-design.evidence-page .evidence-organise .eyebrow{margin:0 0 16px!important}
html body#acb-design.evidence-page .evidence-organise h2{margin:0 0 24px!important;max-width:24ch!important}
html body#acb-design.evidence-page .evidence-organise p{max-width:80ch!important;margin:0 0 22px!important;font-size:var(--fs-copy-lg)!important;line-height:var(--lh-copy)!important;color:var(--ink)!important}
html body#acb-design.evidence-page .evidence-organise p:last-child{margin-bottom:0!important}
html body#acb-design.evidence-page .evidence-organise .hl{background-image:linear-gradient(to bottom,transparent 12%,var(--acb-yellow) 12%,var(--acb-yellow) 90%,transparent 90%)!important;color:var(--ink)!important;box-decoration-break:clone!important;-webkit-box-decoration-break:clone!important}

/* Keep the block map's evidence label distinct from its heading. */
html body#acb-design.blocks-page .evidence-band .evidence-copy>.mono{color:var(--brand)!important}

/* The evidence definition uses the same spacious, highlighted copy as Home. */
html body#acb-design.evidence-page .evidence-definition .eyebrow{display:block!important;margin-bottom:24px!important}
html body#acb-design.evidence-page main section.evidence-definition .evidence-definition-copy p{max-width:none!important;margin:0 0 1em!important;font-size:clamp(24px,2.5vw,35px)!important;line-height:1.13!important;letter-spacing:var(--ls-body)!important;text-wrap:pretty!important;color:var(--ink)!important}
html body#acb-design.evidence-page main section.evidence-definition .evidence-definition-copy p:last-child{margin-bottom:0!important}
html body#acb-design.evidence-page .evidence-definition-copy .hl{background:linear-gradient(to bottom,transparent 55%,var(--acb-yellow) 55%,var(--acb-yellow) 91%,transparent 91%)!important;box-decoration-break:clone!important;-webkit-box-decoration-break:clone!important;color:var(--ink)!important;padding:0!important}
html body#acb-design.method-page .terrain-cols .tcard :is(h3,p),html body#acb-design.factors-page .terrain-cols .tcard :is(h3,p){color:var(--ink)!important}
html body#acb-design#acb-design.home-page .acb-blocks .blocks-head .acb-lead{font-size:20px!important;line-height:1!important;padding-right:6%!important;box-sizing:border-box!important}
@media(max-width:684px){html body#acb-design#acb-design.home-page .acb-blocks .blocks-head .acb-lead{padding-right:8px!important}}

/* Match offer format tags to the small outlined tags on Home's article cards. */
html body#acb-design:is(.individuals-page,.organisations-page) main .plan-card .plan-format{
  display:inline-flex!important;align-self:flex-start!important;width:max-content!important;max-width:100%!important;
  margin:0 0 2px!important;padding:4px 9px!important;border:1px solid currentColor!important;
  border-radius:999px!important;color:inherit!important;opacity:1!important;
  font-size:15px!important;line-height:1!important;letter-spacing:-.022em!important;text-transform:none!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) main .plan-card a.btn{margin-top:auto!important}
html body#acb-design.individuals-page main .access-note{font-size:20px!important}

/* Keep the eyebrow-to-title rhythm in every question heading equal to Home. */
html body#acb-design#acb-design main :is(.acb-faq .acb-head,.section-head:has(+.faq-list),.bm-faq .head) > :is(.acb-eyebrow,.eyebrow){
  display:block!important;margin:0 0 16.52px!important;
}

/* The process index uses the FAQ's sticky offset, and step one starts level with it. */
html body#acb-design#acb-design.method-page main .method-nav{top:125px!important}
html body#acb-design#acb-design.method-page main .method-nav,
html body#acb-design#acb-design.method-page main .method-nav a,
html body#acb-design#acb-design.method-page main .method-nav a::before{letter-spacing:-.6px!important}
html body#acb-design#acb-design.method-page main .method-copy>.method-block:first-child{margin-top:0!important}

/* Align the Evidence hero bubble with the shared content and header edge. */
html body#acb-design#acb-design.evidence-page main .acb-hero-grid{padding-inline:8px!important}
html body#acb-design#acb-design.evidence-page .acb-hero-img img{object-position:center center!important}

/* Use Home's highlight depth and copy rhythm in the definition. */
html body#acb-design#acb-design.evidence-page main .evidence-definition-copy p{
  padding-right:15%!important;line-height:1.1!important;letter-spacing:var(--ls-body)!important;
}
html body#acb-design#acb-design.evidence-page main .evidence-definition-copy .hl{
  background-image:linear-gradient(to bottom,transparent 8%,var(--acb-yellow) 8%,var(--acb-yellow) 92%,transparent 92%)!important;
  box-decoration-break:clone!important;-webkit-box-decoration-break:clone!important;padding:0 .05em!important;
}
@media(max-width:954px){html body#acb-design#acb-design.evidence-page main .evidence-definition-copy p{padding-right:10%!important}}
@media(max-width:684px){html body#acb-design#acb-design.evidence-page main .evidence-definition-copy p{padding-right:0!important}}

/* Give the scrolling research chips room for their lower borders. */
html body#acb-design#acb-design.evidence-page .acb-marq .marq-viewport{padding-block:4px!important}

/* Make the figure and its explanation read as one unit inside each pill. */
html body#acb-design#acb-design.evidence-page .ev-stat-block{
  display:grid!important;grid-template-columns:clamp(100px,8vw,150px) minmax(0,1fr)!important;
  align-items:center!important;column-gap:clamp(16px,2vw,28px)!important;
}
html body#acb-design#acb-design.evidence-page .ev-stat-block .statnum{
  font-size:clamp(52px,6vw,84px)!important;line-height:.9!important;margin:0!important;
}
@media(max-width:684px){
  html body#acb-design#acb-design.evidence-page .ev-stat-block{grid-template-columns:90px minmax(0,1fr)!important;column-gap:14px!important}
  html body#acb-design#acb-design.evidence-page .ev-stat-block .statnum{font-size:clamp(44px,10vw,60px)!important}
}

/* Keep the current submenu destination visible along with its parent. */
html body#acb-design .acb-header .acb-sub a.is-active,
html body#acb-design .acb-header .acb-sub a[aria-current="page"]{
  color:var(--brand)!important;background:#eef2ff!important;
}
@media(max-width:1180px){
  html body#acb-design .acb-header.mobile-open .acb-sub a.is-active,
  html body#acb-design .acb-header.mobile-open .acb-sub a[aria-current="page"]{
    color:var(--ink)!important;background:var(--acb-yellow)!important;
  }
}

/* Anchor targets need one offset, not scroll-padding plus scroll-margin. */
html:has(> body#acb-design:is(.method-page,.faq-page,.legal-page)){scroll-padding-top:0!important}
html body#acb-design.method-page main .method-block,
html body#acb-design.faq-page main .faqx-cat{scroll-margin-top:125px!important}
html body#acb-design.legal-page main .legal-copy [id]{scroll-margin-top:96px!important}
html body#acb-design#acb-design.legal-page main .legal-copy{
  padding-bottom:calc(var(--sp-card) + max(80px,20vh))!important;
}

/* Evidence refinements: align copy with the shared card inset and avoid orphans. */
html body#acb-design#acb-design.evidence-page main .acb-hero-grid{padding-inline:calc(8px + var(--sp-card))!important}
html body#acb-design#acb-design.evidence-page .evidence-hero-def{letter-spacing:var(--ls-body)!important}
html body#acb-design#acb-design.evidence-page main .evidence-definition-copy p{padding-right:0!important;text-wrap:balance!important}
html body#acb-design#acb-design.evidence-page main .evidence-organise p{max-width:100%!important;text-wrap:balance!important}
html body#acb-design#acb-design.evidence-page .ev-copy-card .hl{
  background-image:none!important;background-color:var(--acb-yellow)!important;
  color:inherit!important;box-decoration-break:clone!important;-webkit-box-decoration-break:clone!important;
}
html body#acb-design#acb-design.evidence-page .ev-stat-block{grid-template-columns:minmax(120px,auto) minmax(0,1fr)!important;column-gap:clamp(16px,2vw,28px)!important}
html body#acb-design#acb-design.evidence-page .ev-stat-block .statnum{min-width:0!important;white-space:nowrap!important;letter-spacing:-.022em!important;padding-right:8px!important;font-size:clamp(48px,5vw,72px)!important}
html body#acb-design#acb-design.evidence-page .ev-stat-block p{min-width:0!important}
html body#acb-design#acb-design.evidence-page .why-matters-copy h2{font-size:clamp(40px,4vw,56px)!important}
@media(max-width:684px){
  html body#acb-design#acb-design.evidence-page .ev-stat-block{grid-template-columns:minmax(108px,auto) minmax(0,1fr)!important;column-gap:12px!important}
  html body#acb-design#acb-design.evidence-page .ev-stat-block .statnum{font-size:clamp(38px,10vw,52px)!important}
  html body#acb-design#acb-design.evidence-page .why-matters-copy h2{font-size:36px!important}
}
html body#acb-design.blocks-page .refpanel .bd-list{margin-bottom:clamp(26px,3vw,44px)!important}
html body#acb-design.blocks-page .refpanel h3{margin-bottom:clamp(18px,2vw,28px)!important}
html body#acb-design.blocks-page .refpanel .bd-under{max-width:80%!important}
html body#acb-design.blocks-page .evidence-band>.wrap{gap:0!important}
html body#acb-design.blocks-page .evidence-band .evidence-copy{padding:clamp(28px,4vw,54px)!important}
html body#acb-design.blocks-page .evidence-band .evidence-image{min-height:260px!important;max-height:380px!important}
@media(max-width:774px){html body#acb-design.blocks-page .evidence-band .evidence-image{max-height:260px!important}}

/* Evidence layout follow-up. */
html body#acb-design#acb-design.evidence-page main .acb-hero-grid{padding-inline:8px!important}
html body#acb-design#acb-design.evidence-page .acb-marq{width:100%!important;max-width:none!important}
html body#acb-design#acb-design.evidence-page .ev-stat-block .statnum{padding-right:2px!important}
/* Four organisation offers read as one overlapping deck on desktop and tablet. */
@media(min-width:700px){
  html body#acb-design#acb-design.organisations-page main .plan-grid{display:flex!important;gap:0!important;align-items:stretch!important;padding:10px 0 14px!important}
  html body#acb-design#acb-design.organisations-page main .plan-card{
    position:relative!important;flex:0 0 calc((100% + 54px)/4)!important;width:calc((100% + 54px)/4)!important;
    height:auto!important;align-self:stretch!important;margin-left:-18px!important;padding:clamp(18px,2vw,28px)!important;transform:rotate(-.55deg)!important;
    box-shadow:var(--shadow-card)!important;transition:transform .22s ease,box-shadow .22s ease!important;
  }
  html body#acb-design#acb-design.organisations-page main .plan-card:first-child{margin-left:0!important}
  html body#acb-design#acb-design.organisations-page main .plan-card:nth-child(even){transform:translateY(8px) rotate(.55deg)!important}
  html body#acb-design#acb-design.organisations-page main .plan-card:hover{z-index:5!important;transform:translateY(-4px) rotate(0)!important}
}

/* The process cards connect without the extra vertical gutters. */
html body#acb-design#acb-design.method-page main .method-copy{gap:20px!important}
html body#acb-design#acb-design.method-page main .method-block{margin-top:0!important;margin-bottom:0!important}

/* 4o offers: a centred, full-width editorial heading above the card deck. */
html body#acb-design#acb-design.organisations-page main #offers>.wrap>.audience-eyebrow{
  display:block!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html body#acb-design#acb-design.organisations-page main #offers>.wrap>h2.big{
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  font-size:clamp(40px,5.6vw,68px)!important;
  line-height:.88!important;
  letter-spacing:-.022em!important;
}

/* 4i offers use the same overlapping deck language as 4o, adapted to three
   cards. The heading remains at its existing scale but is centred above it. */
html body#acb-design#acb-design.individuals-page main .section.tint>.wrap>.audience-eyebrow{
  display:block!important;width:100%!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important;
}
html body#acb-design#acb-design.individuals-page main .section.tint>.wrap>h2.big{
  width:100%!important;min-width:100%!important;max-width:none!important;
  margin-left:auto!important;margin-right:auto!important;text-align:center!important;
}
@media(min-width:700px){
  html body#acb-design#acb-design.individuals-page main .plan-grid{
    display:flex!important;gap:0!important;align-items:stretch!important;padding:10px 0 14px!important;
  }
  html body#acb-design#acb-design.individuals-page main .plan-card{
    position:relative!important;flex:0 0 calc((100% + 36px)/3)!important;width:calc((100% + 36px)/3)!important;
    height:auto!important;align-self:stretch!important;margin-left:-18px!important;padding:clamp(18px,2vw,28px)!important;
    transform:rotate(-.55deg)!important;box-shadow:var(--shadow-card)!important;
    transition:transform .22s ease,box-shadow .22s ease!important;
  }
  html body#acb-design#acb-design.individuals-page main .plan-card:first-child{margin-left:0!important}
  html body#acb-design#acb-design.individuals-page main .plan-card:nth-child(even){transform:translateY(8px) rotate(.55deg)!important}
  html body#acb-design#acb-design.individuals-page main .plan-card:hover{z-index:5!important;transform:translateY(-4px) rotate(0)!important}
}

/* Surface elevation lock: custom/composite sections opt out of the generic
   section wrapper, so their visible cards receive the same shared shadow. */
html body#acb-design#acb-design :is(
  .takeaway-copy,
  .tblock,
  .plan-card,
  .work-card,
  .journal-card,
  .blog-card,
  .ev-copy-card,
  .ev-stats-card,
  .organise-card,
  .method-block,
  .faq-item,
  .offer-row,
  .contact-form-wrap,
  .contact-side,
  .bmcard,
  .bm-hypo>.wrap,
  .contact-visual-hero h1,
  .wm-pill,
  .bgm-lab,
  .card-tag
){box-shadow:var(--shadow-card)!important}
html body#acb-design#acb-design.home-page main .acb-journal>.wrap,
html body#acb-design#acb-design.blocks-page main .evidence-band>.wrap,
html body#acb-design#acb-design.legal-page main .legal-section,
html body#acb-design#acb-design .acb-footer{
  box-shadow:var(--shadow-card)!important;
}

/* One icon language: diagonal arrows mean "go"; matching chevrons mean
   "reveal". FAQ and submenu chevrons share stroke, size and motion. */
html body#acb-design{
  --acb-icon-size:10px;
  --acb-icon-stroke:2px;
  --acb-icon-ease:cubic-bezier(.16,1,.3,1);
}
html body#acb-design#acb-design .faq-item .faq-q::after,
html body#acb-design#acb-design .offer-toggle .pm::after,
html body#acb-design#acb-design .acb-header .navitem>button.navbutton::after{
  content:""!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  width:var(--acb-icon-size)!important;
  height:var(--acb-icon-size)!important;
  border:0!important;
  border-right:var(--acb-icon-stroke) solid currentColor!important;
  border-bottom:var(--acb-icon-stroke) solid currentColor!important;
  border-radius:1px!important;
  background:transparent!important;
  font-size:0!important;
  line-height:0!important;
  transform:rotate(45deg)!important;
  transform-origin:50% 50%!important;
  transition:transform .3s var(--acb-icon-ease),color .2s ease!important;
}
html body#acb-design#acb-design .faq-item .faq-q::after,
html body#acb-design#acb-design .offer-toggle .pm{margin-left:auto!important}
html body#acb-design#acb-design .faq-item.open .faq-q::after,
html body#acb-design#acb-design .offer-row.open .offer-toggle .pm::after,
html body#acb-design#acb-design .acb-header .navitem>button.navbutton[aria-expanded="true"]::after,
html body#acb-design#acb-design .acb-header:not(.mobile-open) .navitem:is(:hover,:focus-within)>button.navbutton::after{
  transform:rotate(225deg)!important;
}
html body#acb-design#acb-design .faq-item .faq-q::after,
html body#acb-design#acb-design .offer-toggle .pm::after{color:var(--brand)!important}
html body#acb-design#acb-design .offer-toggle .pm{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:var(--acb-icon-size)!important;height:var(--acb-icon-size)!important;
  font-size:0!important;line-height:0!important;
}
html body#acb-design#acb-design .acb-header .navitem>button.navbutton{
  display:inline-flex!important;align-items:center!important;gap:10px!important;
}
html body#acb-design#acb-design .acb-header .navitem>button.navbutton::after{
  --acb-icon-size:8px;color:currentColor!important;margin:-4px 2px 0 0!important;
}

/* Give offer copy room to breathe before the aligned Enquire action. */
html body#acb-design#acb-design:is(.individuals-page,.organisations-page) main .plan-card>p{
  padding-bottom:20px!important;
}

/* Organisation offer colours: advisory stays light; speaking carries the
   brand blue with a reversed action for clear contrast. */
html body#acb-design#acb-design.organisations-page main .plan-grid .plan-card:nth-child(3){
  background:#fff!important;
  color:var(--ink)!important;
}
html body#acb-design#acb-design.organisations-page main .plan-grid .plan-card:nth-child(3) :is(h3,p,.plan-format){
  color:var(--ink)!important;
}
html body#acb-design#acb-design.organisations-page main .plan-grid .plan-card:nth-child(4){
  background:var(--blue)!important;
  color:#fff!important;
}
html body#acb-design#acb-design.organisations-page main .plan-grid .plan-card:nth-child(4) :is(h3,p,.plan-format){
  color:#fff!important;
}
html body#acb-design#acb-design.organisations-page main .plan-grid .plan-card:nth-child(4) a.btn{
  background:#fff!important;
  color:var(--blue)!important;
}
html body#acb-design#acb-design.organisations-page main .plan-grid .plan-card:nth-child(4) a.btn:hover{
  background:var(--acb-yellow)!important;
  color:var(--ink)!important;
}

/* Block-map copy uses the full card width. The arrow only occupies the bottom
   corner, so reserving its width on every line created tiny orphan endings. */
html body#acb-design#acb-design.blocks-page .bmcard-body{
  padding:14.4px 18px 64px 14.4px!important;
}
html body#acb-design#acb-design.blocks-page :is(.bmcard-title,.bmcard-lead){
  max-width:none!important;
  text-wrap:pretty!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* Block-map arrows use the same forward-control language as the Home journal
   carousel: compact rounded rectangle, blue fill and a quiet horizontal move. */
html body#acb-design#acb-design.blocks-page .bmcard-arr{
  right:14.4px!important;
  bottom:14.4px!important;
  width:44px!important;
  height:36px!important;
  padding:0!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:var(--c)!important;
  color:var(--ink)!important;
  font-size:0!important;
  box-shadow:none!important;
  transform:none!important;
  transition:transform .2s ease,background-color .2s ease!important;
}
/* Carousel and map controls use an outlined, two-stroke arrowhead like the
   Get in touch arrow, instead of the font glyph's filled triangle. */
html body#acb-design#acb-design.home-page .journal-control{
  position:relative!important;
  font-size:0!important;
}
html body#acb-design#acb-design.blocks-page .bmcard-arr{
  position:absolute!important;
  font-size:0!important;
}
html body#acb-design#acb-design.home-page .journal-control::before,
html body#acb-design#acb-design.blocks-page .bmcard-arr::before{
  content:""!important;position:absolute!important;left:50%!important;top:50%!important;
  width:16px!important;height:2px!important;background:currentColor!important;border-radius:2px!important;
  transform:translate(-50%,-50%)!important;
}
html body#acb-design#acb-design.home-page .journal-control::after,
html body#acb-design#acb-design.blocks-page .bmcard-arr::after{
  content:""!important;position:absolute!important;left:calc(50% + 5px)!important;top:50%!important;
  width:7px!important;height:7px!important;border-top:2px solid currentColor!important;border-right:2px solid currentColor!important;
  transform:translate(-50%,-50%) rotate(45deg)!important;
}
html body#acb-design#acb-design.home-page .journal-control:not(.is-next)::after{
  left:calc(50% - 5px)!important;transform:translate(-50%,-50%) rotate(-135deg)!important;
}
html body#acb-design#acb-design.blocks-page .bmcard:is(:hover,:focus-visible) .bmcard-arr{
  transform:translateX(2px)!important;
}
@media(max-width:504px){
  html body#acb-design#acb-design.blocks-page .bmcard-arr{right:10px!important;bottom:10px!important}
}
/* Keep the interaction cursor stable across the whole clickable surface.
   Without the descendant and generated-content rules, the cursor briefly
   returned to the default arrow when it crossed text, icons or arrow layers. */
html body#acb-design :is(
  a[href],
  button:not(:disabled),
  [role="button"],
  summary,
  .faq-q,
  .offer-toggle,
  .work-card,
  .journal-card,
  .bmcard,
  .brow2,
  .refbar,
  .refbar-btn,
  .map-test-inline
),
html body#acb-design :is(
  a[href],
  button:not(:disabled),
  [role="button"],
  summary,
  .faq-q,
  .offer-toggle,
  .work-card,
  .journal-card,
  .bmcard,
  .brow2,
  .refbar,
  .refbar-btn,
  .map-test-inline
) *,
html body#acb-design :is(
  a[href],
  button:not(:disabled),
  [role="button"],
  summary,
  .faq-q,
  .offer-toggle,
  .work-card,
  .journal-card,
  .bmcard,
  .brow2,
  .refbar,
  .refbar-btn,
  .map-test-inline
)::before,
html body#acb-design :is(
  a[href],
  button:not(:disabled),
  [role="button"],
  summary,
  .faq-q,
  .offer-toggle,
  .work-card,
  .journal-card,
  .bmcard,
  .brow2,
  .refbar,
  .refbar-btn,
  .map-test-inline
)::after{
  cursor:pointer!important;
}
html body#acb-design button:disabled,
html body#acb-design button:disabled *{
  cursor:not-allowed!important;
}

/* Lamé-curve corners. The existing radius remains the fallback for browsers
   without CSS corner-shape; supporting browsers render the same geometry as a
   superellipse instead of a quarter-circle. */
@supports (corner-shape:superellipse(2)){
  html body#acb-design,
  html body#acb-design *,
  html body#acb-design *::before,
  html body#acb-design *::after{
    corner-shape:superellipse(2);
  }

  /* These elements are intentionally circular rather than card surfaces. */
  html body#acb-design :is(
    input[type="radio"],
    input[type="checkbox"],
    .blob,
    .leave .card .n,
    .acb-footer .footer-socials a
  ){
    corner-shape:round;
  }
}

/* One outlined action arrow everywhere. A mask avoids font-dependent arrow
   glyphs, whose endpoints vary between a filled triangle and two strokes. */
html body#acb-design{
  --acb-go-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 16'%3E%3Cpath d='M1 8h15M11 3l5 5-5 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

html body#acb-design .acb-header .acb-utility-pill::after,
html body#acb-design .qc-form button[type="submit"]::after,
html body#acb-design .work-card .work-arrow,
html body#acb-design .bm-hypo .stmt span,
html body#acb-design .refbar .arr,
html body#acb-design .journal-control::after,
html body#acb-design .bmcard-arr::after{
  content:""!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  width:18px!important;
  height:16px!important;
  margin:0 0 0 9px!important;
  border:0!important;
  border-radius:0!important;
  background:currentColor!important;
  -webkit-mask:var(--acb-go-arrow) center/contain no-repeat!important;
  mask:var(--acb-go-arrow) center/contain no-repeat!important;
  font-size:0!important;
  line-height:0!important;
}

/* Diagonal actions keep their direction; their arrowhead geometry and weight
   now match every horizontal control. */
html body#acb-design .acb-header .acb-utility-pill::after,
html body#acb-design .qc-form button[type="submit"]::after,
html body#acb-design .work-card .work-arrow{
  transform:rotate(-45deg)!important;
  transition:transform .24s cubic-bezier(.16,1,.3,1)!important;
}
html body#acb-design .acb-header .acb-utility-pill:hover::after,
html body#acb-design .qc-form button[type="submit"]:hover::after{
  transform:translate(2px,-2px) rotate(-45deg)!important;
}
html body#acb-design.home-page .work-card:is(:hover,:focus-visible) .work-arrow{
  transform:translate(4px,-4px) rotate(-45deg)!important;
}

/* Controls that already provide their own coloured container use the same
   mask without the legacy extra shaft/head pseudo-element. */
html body#acb-design :is(.journal-control,.bmcard-arr)::before{display:none!important}
html body#acb-design.home-page .journal-control::after,
html body#acb-design.blocks-page .bmcard-arr::after{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
}
html body#acb-design.home-page .journal-control:not(.is-next)::after{
  transform:translate(-50%,-50%) scaleX(-1)!important;
}

html body#acb-design .bm-hypo .stmt span,
html body#acb-design .refbar .arr{
  vertical-align:middle!important;
}

/* Links styled as buttons used to inherit several legacy font arrows. Keep
   every actionable button on the same outlined, diagonal arrow language. */
html body#acb-design a.btn::after,
html body#acb-design a.btn-out::after,
html body#acb-design a.pill::after,
html body#acb-design button.btn::after,
html body#acb-design button.btn-out::after,
html body#acb-design button.pill::after,
html body#acb-design button.refbar-btn::after{
  content:""!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  width:18px!important;
  height:16px!important;
  margin:0 0 0 9px!important;
  border:0!important;
  border-radius:0!important;
  background:currentColor!important;
  -webkit-mask:var(--acb-go-arrow) center/contain no-repeat!important;
  mask:var(--acb-go-arrow) center/contain no-repeat!important;
  font-size:0!important;
  line-height:0!important;
  transform:rotate(-45deg)!important;
  transition:transform .24s cubic-bezier(.16,1,.3,1)!important;
}
html body#acb-design a.btn:hover::after,
html body#acb-design a.btn-out:hover::after,
html body#acb-design a.pill:hover::after,
html body#acb-design button.btn:hover::after,
html body#acb-design button.btn-out:hover::after,
html body#acb-design button.pill:hover::after,
html body#acb-design button.refbar-btn:hover::after{
  transform:translate(2px,-2px) rotate(-45deg)!important;
}

/* The evidence loop is directional rather than clickable, but it uses the
   same stroke and open endpoint so it belongs to the same visual system. */
html body#acb-design.evidence-page .evidence-cycle-step:not(:last-child)::after{
  content:""!important;
  width:26px!important;
  height:20px!important;
  background:var(--ink)!important;
  -webkit-mask:var(--acb-go-arrow) center/contain no-repeat!important;
  mask:var(--acb-go-arrow) center/contain no-repeat!important;
  font-size:0!important;
  line-height:0!important;
}
@media(max-width:774px){
  html body#acb-design.evidence-page .evidence-cycle-step:not(:last-child)::after{
    transform:translateX(-50%) rotate(90deg)!important;
  }
}

/* Header actions have their own measured footprint. They must not inherit the
   20px/20px content-button dimensions: that rule makes the CTA taller than
   the 46px navigation rail and the added arrow then pushes it sideways. */
html body#acb-design .acb-header .inner{min-width:0!important}
html body#acb-design .acb-header .acb-head-right{min-width:0!important}
html body#acb-design .acb-header .acb-actions{flex:0 0 auto!important}
html body#acb-design .acb-header .acb-utility-pill{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
  padding:0 16px!important;
  gap:0!important;
  font-size:18px!important;
  line-height:1!important;
  flex:0 0 auto!important;
}
html body#acb-design .acb-header .acb-utility-pill::after{
  width:16px!important;
  height:14px!important;
  margin-left:7px!important;
}
@media(min-width:1181px) and (max-width:1380px){
  html body#acb-design .acb-header .inner{gap:10px!important}
  html body#acb-design .acb-header .acb-head-right{gap:12px!important}
  html body#acb-design .acb-header .acb-nav{gap:clamp(10px,1.25vw,18px)!important}
  html body#acb-design .acb-header .navbutton{font-size:clamp(13px,1.1vw,15px)!important}
  html body#acb-design .acb-header .acb-utility-pill{height:42px!important;min-height:42px!important;max-height:42px!important;padding-inline:13px!important;font-size:16px!important}
}
@media(max-width:1180px){
  html body#acb-design .mobile-header-cta,
  html body#acb-design .mobile-menu-toggle{
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    padding:0 14px!important;
    font-size:15px!important;
    line-height:1!important;
  }
  html body#acb-design .mobile-menu-toggle{width:40px!important;padding:0!important}
}

/* The block-finder CTA already carries its visible arrow beside the words.
   Suppress the older second glyph that sat in the panel corner. */
html body#acb-design.blocks-page .bm-hypo>.wrap::after{content:none!important;display:none!important}

/* Final mobile header geometry. Double ID specificity deliberately protects
   these three controls from the site's broad 20px CTA rule. */
@media(max-width:1180px){
  html body#acb-design#acb-design .acb-header:not(.mobile-open){
    width:auto!important;
    max-width:100%!important;
    margin:10px auto!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open)>.inner{
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
    position:relative!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .acb-head-right{display:none!important}
  html body#acb-design#acb-design .acb-header .acb-logo{
    flex:0 0 auto!important;
    margin:0!important;
    padding:2px 5px!important;
  }
  html body#acb-design#acb-design .acb-header .acb-logo .acb-logo-mount{height:32px!important}
  html body#acb-design#acb-design .mobile-header-cta{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    flex:0 0 auto!important;
    width:auto!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    margin:0 0 0 auto!important;
    padding:0 12px!important;
    font-size:14px!important;
    line-height:1!important;
    letter-spacing:-.022em!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  html body#acb-design#acb-design .mobile-menu-toggle{
    position:relative!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 40px!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    max-width:40px!important;
    max-height:40px!important;
    margin:0!important;
    padding:0!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .mobile-header-cta{
    position:absolute!important;
    top:0!important;
    right:48px!important;
    left:auto!important;
    bottom:auto!important;
    margin:0!important;
    transform:none!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .mobile-menu-toggle{
    position:absolute!important;
    top:0!important;
    right:0!important;
    left:auto!important;
    bottom:auto!important;
    display:inline-flex!important;
  }
}

/* Keep the three outcome cards visibly elevated. Their resting rotations
   create new paint layers, so pin the shared card shadow to the cards after
   every animation and page-specific rule in the cascade. */
html body#acb-design#acb-design:is(.individuals-page,.organisations-page)
main .takeaways .takeaway-blocks{
  overflow:visible!important;
}
html body#acb-design#acb-design:is(.individuals-page,.organisations-page)
main .takeaways .takeaway-blocks > .tblock{
  position:relative!important;
  box-shadow:var(--shadow-card)!important;
}

/* Domain tags use the same regular weight wherever the 7+1 language appears. */
html body#acb-design#acb-design.home-page .acb-blocks .bgm-lab,
html body#acb-design#acb-design.blocks-page .bmcard .card-tag,
html body#acb-design#acb-design.method-page :is(.terrain-cols .eyebrow,.tcard .eyebrow){
  font-weight:400!important;
}

/* How We Work: the terrain labels behave as full-width single-line pills. */
html body#acb-design#acb-design.method-page .terrain-cols .tcol > .eyebrow{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}

/* Working-map cards: keep the domain pill attached to its card copy on small
   screens instead of pushing every pill to the bottom edge. */
html body#acb-design#acb-design.home-page .acb-blocks .bgm-card .bgm-lab{
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  flex:0 0 auto!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
}
@media(max-width:810px){
  html body#acb-design#acb-design.home-page .acb-blocks .bgm-card .bgm-lab{
    align-self:stretch!important;
    margin-top:6px!important;
  }
}

/* Evidence is full-bleed, but its copy starts on the same left edge as the
   floating header and the shared main frame. This final rule replaces the
   older fixed 8px desktop inset that pulled the bubble outside that frame. */
@media(min-width:1181px){
  html body#acb-design#acb-design.evidence-page main .evidence-hero .acb-hero-grid{
    padding-left:calc((100vw - min(calc(var(--site-width) + var(--panel-boost) + 80px),calc(100vw - 16px))) / 2)!important;
    padding-right:calc((100vw - min(calc(var(--site-width) + var(--panel-boost) + 80px),calc(100vw - 16px))) / 2)!important;
  }
}
@media(max-width:1180px){
  html body#acb-design#acb-design.evidence-page main .evidence-hero .acb-hero-grid{
    padding-inline:8px!important;
  }
}

/* The individual and organisation offer decks share one heading scale: more
   presence than the former 4i title, without the oversized 4o treatment. */
html body#acb-design#acb-design:is(.individuals-page,.organisations-page)
main .section > .wrap:has(> .plan-grid) > h2.big{
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
  font-size:clamp(40px,5.6vw,68px)!important;
  line-height:.95!important;
  letter-spacing:-.022em!important;
}

/* Mobile contact CTA: a clean yellow card with no background photograph.
   Desktop keeps the full image-backed treatment. */
@media(max-width:774px){
  html body#acb-design#acb-design .footer-reveal .acb-quick-contact{
    background:var(--acb-yellow)!important;
    color:var(--ink)!important;
  }
  html body#acb-design#acb-design .footer-reveal .acb-quick-contact .qc-media{
    display:none!important;
  }
}

/* Evidence 7+1 card: on phones the copy leads and all eight domain pills form
   one tidy grid beneath it. Pills stay centred, regular-weight and single-line. */
html body#acb-design#acb-design.evidence-page .why-matters-stage .wm-pill{
  font-weight:400!important;
  text-align:center!important;
  justify-content:center!important;
  animation:wm-drift var(--duration,7s) ease-in-out infinite!important;
  animation-delay:var(--delay,0s)!important;
}
@media(prefers-reduced-motion:reduce){
  html body#acb-design#acb-design.evidence-page .why-matters-stage .wm-pill{
    animation:none!important;
  }
}
@media(max-width:600px){
  html body#acb-design#acb-design.evidence-page .why-matters-stage{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:auto!important;
    align-items:stretch!important;
    gap:12px!important;
  }
  html body#acb-design#acb-design.evidence-page .why-matters-stage .why-matters-copy{
    grid-column:1 / -1!important;
    grid-row:1!important;
    width:100%!important;
    max-width:none!important;
    margin-bottom:8px!important;
  }
  html body#acb-design#acb-design.evidence-page .why-matters-stage .wm-pill{
    grid-column:auto!important;
    grid-row:auto!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    white-space:nowrap!important;
    font-size:clamp(10px,2.8vw,12px)!important;
  }
}

/* Mobile actions use the compact type scale; desktop CTAs remain 20px. */
@media(max-width:684px){
  html body#acb-design#acb-design main :is(
    a.btn,a.btn-out,a.pill,a.pill.big,a.pill.alt,
    button.btn,button.btn-out,button.pill,
    .plan-card a.btn,.speaking-grid a.btn,.cta a,
    a.refbar-btn,.map-test-inline,.bm-hypo button,.hero-panel .btn
  ),
  html body#acb-design#acb-design.contact-page .cform button[type="submit"],
  html body#acb-design#acb-design .acb-quick-contact .qc-form button,
  html body#acb-design#acb-design .cookie-banner .cookie-actions button{
    font-size:14px!important;
  }
}


/* Audience process cards: calm, tactile stacks built from one shared white-card
   language. 4i overlaps five cards vertically; 4o opens the same idea into a
   three-part Discover / Design / Deliver sequence. */
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps{
  gap:0!important;
  padding:8px 0!important;
}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps li{
  --step-rotate:0deg;
  position:relative!important;
  z-index:1;
  margin-top:-10px!important;
  padding:20px!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  color:var(--ink)!important;
  box-shadow:var(--shadow-card)!important;
  transform:rotate(var(--step-rotate))!important;
}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps li:first-child{margin-top:0!important;--step-rotate:-.35deg}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps li:nth-child(2){z-index:2;--step-rotate:.25deg}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps li:nth-child(3){z-index:3;--step-rotate:-.2deg}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps li:nth-child(4){z-index:4;--step-rotate:.3deg}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps li:nth-child(5){z-index:5;--step-rotate:-.25deg}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps li span{color:var(--blue)!important}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps li b,
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps li p{color:var(--ink)!important}

html body#acb-design#acb-design.organisations-page .organisation-feeling>.wrap{display:block!important;gap:0!important}
html body#acb-design#acb-design.organisations-page .organisation-feeling .scrolltext{
  max-width:none!important;
  margin:0!important;
  padding-right:15%!important;
  color:var(--ink)!important;
  font-size:35px!important;
  line-height:1.1!important;
  letter-spacing:var(--ls-title)!important;
  text-wrap:pretty!important;
}
html body#acb-design#acb-design.organisations-page .organisation-feeling .scrolltext .hl{
  background-image:linear-gradient(to bottom,transparent 8%,var(--acb-yellow) 8%,var(--acb-yellow) 92%,transparent 92%)!important;
  color:var(--ink)!important;
}
html body#acb-design#acb-design.organisations-page .organisation-support>.wrap{
  display:block!important;
  padding:var(--sp-card)!important;
}
html body#acb-design#acb-design.organisations-page .organisation-support .support-copy{
  width:min(900px,100%)!important;
  margin:0 auto!important;
  text-align:center!important;
}
html body#acb-design#acb-design.organisations-page .organisation-support .support-copy .big{
  margin:0 auto 16px!important;
  font-size:clamp(45px,7.6vw,90px)!important;
  line-height:var(--lh-title)!important;
  letter-spacing:var(--ls-h2)!important;
  color:#fff!important;
}
html body#acb-design#acb-design.organisations-page .organisation-support .support-copy .lead{
  max-width:58ch!important;
  margin:0 auto!important;
  padding-right:6%!important;
  font-size:var(--fs-copy-lg)!important;
  line-height:1.1!important;
  letter-spacing:var(--ls-copy-lg)!important;
  color:#fff!important;
}
@media(max-width:774px){
  html body#acb-design#acb-design.organisations-page .organisation-support .support-copy .lead{padding-right:0!important}
}
html body#acb-design#acb-design.organisations-page .organisation-support .support-copy .lead strong{
  color:var(--acb-yellow)!important;
  font-weight:400!important;
}
html body#acb-design#acb-design.organisations-page .organisation-process{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:32px 0 0!important;
  padding:0!important;
}
html body#acb-design#acb-design.organisations-page .organisation-process li{
  min-height:250px!important;
  padding:24px!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  color:var(--ink)!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design#acb-design.organisations-page .organisation-process li::after{display:none!important}
html body#acb-design#acb-design.organisations-page .organisation-process .step-number{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  margin:0 0 34px!important;
  padding:0!important;
  border-radius:50%!important;
  background:var(--acb-yellow)!important;
  color:var(--ink)!important;
  font-size:15px!important;
  line-height:1!important;
  letter-spacing:0!important;
}
html body#acb-design#acb-design.organisations-page .organisation-process li:nth-child(2) .step-number{background:#bde7d5!important}
html body#acb-design#acb-design.organisations-page .organisation-process li:nth-child(3) .step-number{background:#eef2ff!important;color:var(--blue)!important}
html body#acb-design#acb-design.organisations-page .organisation-process li b{
  display:block!important;
  margin:0 0 14px!important;
  color:var(--ink)!important;
  font-size:var(--fs-copy-lg)!important;
  line-height:1!important;
  letter-spacing:var(--ls-copy-lg)!important;
  font-weight:400!important;
}
html body#acb-design#acb-design.organisations-page .organisation-process li p{
  margin:0!important;
  color:var(--ink)!important;
  font-size:var(--fs-body)!important;
  line-height:var(--lh-copy)!important;
  letter-spacing:var(--ls-body)!important;
}
@media(max-width:774px){
  html body#acb-design#acb-design.organisations-page .organisation-feeling .scrolltext{padding-right:0!important;font-size:35px!important}
  html body#acb-design#acb-design.organisations-page .organisation-support .support-copy{text-align:left!important}
  html body#acb-design#acb-design.organisations-page .organisation-support .support-copy .big,
  html body#acb-design#acb-design.organisations-page .organisation-support .support-copy .lead{margin-left:0!important;margin-right:0!important}
  html body#acb-design#acb-design.organisations-page .organisation-process{grid-template-columns:1fr!important;gap:10px!important;margin-top:24px!important}
  html body#acb-design#acb-design.organisations-page .organisation-process li{min-height:0!important}
  html body#acb-design#acb-design.organisations-page .organisation-process .step-number{margin-bottom:22px!important}
}


/* Audience process refinement: the five individual steps sit as a tactile
   vertical deck, while the organisation offer now reflects its three actual
   levels of work. */
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps{
  overflow:visible!important;
}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps li{
  --step-shift:0px;
  margin-top:-18px!important;
  transform:translateX(var(--step-shift)) rotate(var(--step-rotate))!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps li:first-child{margin-top:0!important;--step-shift:-2px}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps li:nth-child(2){--step-shift:5px}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps li:nth-child(3){--step-shift:-3px}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps li:nth-child(4){--step-shift:4px}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps li:nth-child(5){--step-shift:-1px}
@media(min-width:700px){
  html body#acb-design#acb-design.organisations-page main .plan-card{
    flex-basis:calc((100% + 54px)/4)!important;
    width:calc((100% + 54px)/4)!important;
  }
}

/* Horizontal navigation arrows: an exact left/right axis for the journal
   carousel and block-map cards, independent of legacy font glyphs. */
html body#acb-design{
  --acb-horizontal-arrow:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 18 14%27%3E%3Cpath d=%27M1 7h15M11 2l5 5-5 5%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");
}
html body#acb-design#acb-design.home-page .journal-control::after,
html body#acb-design#acb-design.blocks-page .bmcard-arr::after{
  width:18px!important;
  height:14px!important;
  margin:0!important;
  border:0!important;
  background:currentColor!important;
  -webkit-mask:var(--acb-horizontal-arrow) center/18px 14px no-repeat!important;
  mask:var(--acb-horizontal-arrow) center/18px 14px no-repeat!important;
  transform:translate(-50%,-50%)!important;
}
html body#acb-design#acb-design.home-page .journal-control:not(.is-next)::after{
  transform:translate(-50%,-50%) scaleX(-1)!important;
}
html body#acb-design#acb-design.blocks-page .bmcard-arr::after{
  transform:translate(-50%,-50%)!important;
}


/* Audience process stacks: both audience pages use the same layered-card
   construction. The stronger downward shadow stays visible where each white
   card tucks beneath the next one. */
html body#acb-design#acb-design:is(.individuals-page,.organisations-page)
:is(.individual-support .acb-loop-steps,.organisation-process){
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  margin:0!important;
  padding:8px 0!important;
  overflow:visible!important;
}
html body#acb-design#acb-design:is(.individuals-page,.organisations-page)
:is(.individual-support .acb-loop-steps,.organisation-process)>li{
  --process-shift:0px;
  --process-rotate:0deg;
  position:relative!important;
  min-height:0!important;
  margin-top:-18px!important;
  padding:20px!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  color:var(--ink)!important;
  box-shadow:0 7px 16px rgba(17,17,24,.18)!important;
  transform:translateX(var(--process-shift)) rotate(var(--process-rotate))!important;
}
html body#acb-design#acb-design:is(.individuals-page,.organisations-page)
:is(.individual-support .acb-loop-steps,.organisation-process)>li:first-child{
  margin-top:0!important;
  --process-shift:-2px;
  --process-rotate:-.35deg;
}
html body#acb-design#acb-design:is(.individuals-page,.organisations-page)
:is(.individual-support .acb-loop-steps,.organisation-process)>li:nth-child(2){
  z-index:2;
  --process-shift:5px;
  --process-rotate:.25deg;
}
html body#acb-design#acb-design:is(.individuals-page,.organisations-page)
:is(.individual-support .acb-loop-steps,.organisation-process)>li:nth-child(3){
  z-index:3;
  --process-shift:-3px;
  --process-rotate:-.2deg;
}
html body#acb-design#acb-design.individuals-page
.individual-support .acb-loop-steps>li:nth-child(4){
  z-index:4;
  --process-shift:4px;
  --process-rotate:.3deg;
}
html body#acb-design#acb-design.individuals-page
.individual-support .acb-loop-steps>li:nth-child(5){
  z-index:5;
  --process-shift:-1px;
  --process-rotate:-.25deg;
}
html body#acb-design#acb-design.organisations-page .organisation-support>.wrap{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:var(--sp-card)!important;
  align-items:start!important;
  padding:var(--sp-card)!important;
}
html body#acb-design#acb-design.organisations-page .organisation-support .support-copy{
  grid-column:1!important;
  width:100%!important;
  margin:0!important;
  text-align:left!important;
}
html body#acb-design#acb-design.organisations-page .organisation-support .support-copy :is(.big,.lead){
  margin-left:0!important;
  margin-right:0!important;
}
html body#acb-design#acb-design.organisations-page .organisation-process{
  grid-column:2!important;
}
html body#acb-design#acb-design.organisations-page .organisation-process .step-number{
  margin-bottom:20px!important;
}

/* Prefer balanced line endings throughout editorial copy. The closing thought
   in the individual feeling statement stays together so it cannot leave one
   or two words stranded on their own line. */
html body#acb-design main :is(p,.scrolltext,.lead,.body,.faq-a){
  text-wrap:pretty;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
html body#acb-design .keep-together{white-space:nowrap!important}

@media(max-width:774px){
  html body#acb-design#acb-design.organisations-page .organisation-support>.wrap{
    grid-template-columns:1fr!important;
  }
  html body#acb-design#acb-design.organisations-page .organisation-process{
    grid-column:1!important;
    margin-top:var(--sp-card)!important;
  }
}

/* Individual support steps: one action per card, with only a quiet number for orientation. */
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps>li{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center!important;
  gap:16px!important;
  min-height:92px!important;
}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps .step-number{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%!important;
  background:#eef2ff!important;
  color:var(--blue)!important;
  font-size:15px!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps>li>p{
  margin:0!important;
  color:var(--ink)!important;
  font-size:var(--fs-copy-lg)!important;
  line-height:1.05!important;
  letter-spacing:var(--ls-copy-lg)!important;
  text-wrap:pretty!important;
}
@media(max-width:684px){
  html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps>li{
    grid-template-columns:36px minmax(0,1fr)!important;
    gap:12px!important;
    min-height:78px!important;
  }
  html body#acb-design#acb-design.individuals-page .individual-support .acb-loop-steps .step-number{
    width:36px!important;
    height:36px!important;
    font-size:13px!important;
  }
}

/* ============================================================
   Mobile navigation + compact footer

   The open menu keeps the floating header controls in place while its blue
   panel moves underneath them. The footer navigation is repeated inside the
   menu on phones, which lets the page footer keep only the brand, motto,
   copyright and social links.
   ============================================================ */
@media(max-width:900px){
  html body#acb-design .acb-header.mobile-open{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:10px 14px!important;
    border-radius:0!important;
    background:var(--acb-blue,#4f46e5)!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  html body#acb-design .acb-header.mobile-open>.inner{
    position:relative!important;
    z-index:63!important;
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    background:transparent!important;
  }
  html body#acb-design .acb-header.mobile-open .acb-logo,
  html body#acb-design .acb-header.mobile-open .acb-logo .acb-logo-mount{
    position:relative!important;
    z-index:64!important;
    color:#fff!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-header-cta{
    position:static!important;
    transform:none!important;
    margin-left:auto!important;
    background:var(--acb-yellow,#e4e244)!important;
    color:var(--ink,#111118)!important;
    border:0!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-menu-toggle{
    border:0!important;
    background:var(--acb-sky,#dbeafe)!important;
    border-radius:var(--radius-card)!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-menu-toggle::before,
  html body#acb-design .acb-header.mobile-open .mobile-menu-toggle::after{
    background:var(--acb-blue,#4f46e5)!important;
  }

  html body#acb-design .acb-header.mobile-open .acb-head-right{
    display:flex!important;
    position:fixed!important;
    inset:0!important;
    z-index:61!important;
    width:100%!important;
    min-height:100dvh!important;
    padding:94px 22px 0!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background:var(--acb-blue,#4f46e5)!important;
    transform-origin:100% 0!important;
    animation:acbMobilePanelIn .48s cubic-bezier(.16,1,.3,1) both!important;
    overscroll-behavior:contain!important;
  }
  html body#acb-design .acb-header.mobile-open.menu-closing .acb-head-right{
    animation:acbMobilePanelOut .4s cubic-bezier(.7,0,.84,0) both!important;
  }
  html body#acb-design .acb-header.mobile-open .acb-nav{
    width:100%!important;
    gap:0!important;
    flex:0 0 auto!important;
  }
  html body#acb-design .acb-header.mobile-open .navitem{
    opacity:1!important;
    transform:none!important;
    animation:acbMobileItemIn .42s cubic-bezier(.16,1,.3,1) both!important;
  }
  html body#acb-design .acb-header.mobile-open .navitem:nth-child(1){animation-delay:.11s!important}
  html body#acb-design .acb-header.mobile-open .navitem:nth-child(2){animation-delay:.15s!important}
  html body#acb-design .acb-header.mobile-open .navitem:nth-child(3){animation-delay:.19s!important}
  html body#acb-design .acb-header.mobile-open .navitem:nth-child(4){animation-delay:.23s!important}
  html body#acb-design .acb-header.mobile-open.menu-closing .navitem{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }

  html body#acb-design .acb-header.mobile-open .mobile-menu-footer{
    display:block!important;
    width:100%!important;
    margin:38px 0 0!important;
    padding:24px 0 calc(26px + env(safe-area-inset-bottom))!important;
    border-top:1px solid rgba(255,255,255,.25)!important;
    background:transparent!important;
    opacity:1!important;
    animation:acbMobileFooterIn .44s .27s cubic-bezier(.16,1,.3,1) both!important;
  }
  html body#acb-design .acb-header.mobile-open.menu-closing .mobile-menu-footer{
    animation:none!important;
    opacity:1!important;
  }
  html body#acb-design .mobile-menu-columns{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:26px 20px!important;
  }
  html body#acb-design .mobile-menu-columns .col{
    display:flex!important;
    min-width:0!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:8px!important;
  }
  html body#acb-design .mobile-menu-columns b{
    display:block!important;
    margin:0 0 3px!important;
    color:var(--acb-yellow,#e4e244)!important;
    font-size:12px!important;
    line-height:1!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-menu-columns a{
    display:inline-block!important;
    width:auto!important;
    padding:2px 0!important;
    color:#fff!important;
    font-size:16px!important;
    line-height:1.15!important;
    letter-spacing:-.022em!important;
  }
  html body#acb-design .mobile-menu-socials{
    display:flex!important;
    gap:13px!important;
    margin-top:26px!important;
  }
  html body#acb-design .acb-header.mobile-open .mobile-menu-socials a{
    display:grid!important;
    width:38px!important;
    height:38px!important;
    padding:0!important;
    place-items:center!important;
    border-radius:50%!important;
    color:var(--acb-blue,#4f46e5)!important;
    background:#fff!important;
  }
  html body#acb-design .mobile-menu-socials svg{
    width:21px!important;
    height:21px!important;
  }

  @keyframes acbMobilePanelIn{
    from{opacity:0;transform:translate3d(18px,-10px,0) scale(.985)}
    to{opacity:1;transform:translate3d(0,0,0) scale(1)}
  }
  @keyframes acbMobilePanelOut{
    from{opacity:1;transform:translate3d(0,0,0) scale(1)}
    to{opacity:0;transform:translate3d(18px,-8px,0) scale(.985)}
  }
  @keyframes acbMobileItemIn{
    from{transform:translateY(14px)}
    to{transform:translateY(0)}
  }
  @keyframes acbMobileFooterIn{
    from{transform:translateY(18px)}
    to{transform:translateY(0)}
  }
}

@media(max-width:684px){
  html body#acb-design .acb-footer{
    padding:24px 0 0!important;
  }
  html body#acb-design .acb-footer .acb-footer-links{
    display:none!important;
  }
  html body#acb-design .acb-footer .foot-lead{
    display:block!important;
    padding-bottom:18px!important;
    border-bottom:1px solid rgba(255,255,255,.22)!important;
  }
  html body#acb-design .acb-footer .ack{
    margin-top:10px!important;
  }
  html body#acb-design .acb-footer .bottom{
    display:flex!important;
    min-height:0!important;
    margin:0!important;
    padding:12px 0 14px!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
  }
  html body#acb-design .acb-footer .bottom>span{
    max-width:28ch!important;
    font-size:10px!important;
    line-height:1.25!important;
  }
  html body#acb-design .acb-footer .footer-socials{
    flex:0 0 auto!important;
  }
  html body#acb-design .acb-footer .footer-socials a{
    width:34px!important;
    height:34px!important;
  }
  html body#acb-design .acb-footer .footer-socials svg{
    width:22px!important;
    height:22px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html body#acb-design .acb-header.mobile-open .acb-head-right,
  html body#acb-design .acb-header.mobile-open .navitem,
  html body#acb-design .acb-header.mobile-open .mobile-menu-footer{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
}

/* Rotate reveal icons as soon as closing starts while the answer finishes its height transition. */
html body#acb-design#acb-design .faq-item.closing .faq-q::after,
html body#acb-design#acb-design .offer-row.closing .offer-toggle .pm::after{
  transform:rotate(45deg)!important;
}

/* Mobile footer and menu alignment. The open header occupies the exact same
   floating frame as the closed header; the blue panel sits underneath it. */
@media(max-width:900px){
  html body#acb-design#acb-design .acb-header.mobile-open{
    padding:0!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open>.inner{
    position:fixed!important;
    top:10px!important;
    right:13px!important;
    left:13px!important;
    z-index:63!important;
    width:auto!important;
    height:52px!important;
    min-height:52px!important;
    margin:0!important;
    padding:6px 10px!important;
    box-sizing:border-box!important;
    border-radius:var(--radius-card)!important;
    background:transparent!important;
  }
  html body#acb-design#acb-design .acb-header .acb-logo,
  html body#acb-design#acb-design .acb-header .acb-logo .acb-logo-mount{
    height:36px!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .acb-head-right{
    padding:86px 22px 0!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .mobile-menu-footer{
    flex:0 0 auto!important;
    margin:auto 0 0!important;
    padding:20px 0 calc(22px + env(safe-area-inset-bottom))!important;
  }
  html body#acb-design .mobile-menu-utility{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px 20px!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .mobile-menu-utility a{
    display:inline-flex!important;
    align-items:center!important;
    width:fit-content!important;
    padding:2px 0!important;
    color:#fff!important;
    font-size:16px!important;
    line-height:1.15!important;
    letter-spacing:-.022em!important;
  }
  html body#acb-design .mobile-menu-socials{
    margin-top:20px!important;
  }
}

@media(max-width:684px){
  html body#acb-design#acb-design .acb-footer{
    padding:24px 14px 16px!important;
  }
  html body#acb-design#acb-design .acb-footer>.wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  html body#acb-design#acb-design .acb-footer .wrap>.bottom{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:12px!important;
    width:100%!important;
    padding:16px 0 0!important;
  }
  html body#acb-design#acb-design .acb-footer .footer-socials{
    order:1!important;
  }
  html body#acb-design#acb-design .acb-footer .wrap>.bottom>span{
    order:2!important;
    max-width:none!important;
    font-size:9px!important;
    white-space:nowrap!important;
  }
  html body#acb-design#acb-design .footer-reveal .acb-quick-contact{
    margin-top:clamp(36px,11vw,52px)!important;
    margin-bottom:-8px!important;
  }
}

/* Home FAQ: resolve the answer padding before measuring its opening height.
   Otherwise the height animation targets the partially padded copy and jumps
   to the full natural height during its final frame. */
html body#acb-design#acb-design.home-page .acb-faq .faq-a>p{
  transition:none!important;
}

/* One mobile/tablet menu from phone through compact landscape tablet.
   The blue panel unfolds downward from the floating header instead of
   switching to the old right-hand drawer between 901px and 1180px. */
@media(max-width:1180px){
  html body#acb-design#acb-design .acb-header:not(.mobile-open){
    top:10px!important;
    right:13px!important;
    left:13px!important;
    width:auto!important;
    height:52px!important;
    min-height:52px!important;
    margin:0!important;
    padding:6px 10px!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open{
    position:fixed!important;
    inset:0!important;
    z-index:60!important;
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open>.inner{
    position:fixed!important;
    top:10px!important;
    right:13px!important;
    left:13px!important;
    z-index:63!important;
    width:auto!important;
    height:52px!important;
    min-height:52px!important;
    margin:0!important;
    padding:6px 10px!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    box-sizing:border-box!important;
    border-radius:var(--radius-card)!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  html body#acb-design#acb-design .acb-header .acb-logo,
  html body#acb-design#acb-design .acb-header .acb-logo .acb-logo-mount{
    height:36px!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .acb-head-right{
    display:flex!important;
    position:fixed!important;
    top:10px!important;
    right:13px!important;
    bottom:10px!important;
    left:13px!important;
    z-index:61!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:86px 22px 0!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    border-radius:var(--radius-card)!important;
    background:var(--acb-blue,#4f46e5)!important;
    transform-origin:50% 0!important;
    animation:acbMenuDropIn .48s cubic-bezier(.16,1,.3,1) both!important;
    will-change:transform,opacity!important;
    backface-visibility:hidden!important;
    overscroll-behavior:contain!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open.menu-closing .acb-head-right{
    animation:acbMenuDropOut .4s cubic-bezier(.4,0,.2,1) both!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .mobile-menu-footer{
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    margin:auto 0 0!important;
    padding:20px 0 calc(22px + env(safe-area-inset-bottom))!important;
    border-top:1px solid rgba(255,255,255,.25)!important;
    background:transparent!important;
    opacity:1!important;
    animation:acbMobileFooterIn .44s .24s cubic-bezier(.16,1,.3,1) both!important;
  }
  html body#acb-design .mobile-menu-utility{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,auto))!important;
    align-items:start!important;
    justify-content:space-between!important;
    gap:10px 20px!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .mobile-menu-utility a{
    display:inline-flex!important;
    align-items:center!important;
    width:fit-content!important;
    padding:2px 0!important;
    color:#fff!important;
    font-size:16px!important;
    line-height:1.15!important;
    letter-spacing:-.022em!important;
  }
  html body#acb-design .mobile-menu-socials{
    display:flex!important;
    gap:13px!important;
    margin-top:20px!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .mobile-menu-socials a{
    display:grid!important;
    width:38px!important;
    height:38px!important;
    padding:0!important;
    place-items:center!important;
    border-radius:50%!important;
    color:var(--acb-blue,#4f46e5)!important;
    background:#fff!important;
  }
  html body#acb-design .mobile-menu-socials svg{
    width:21px!important;
    height:21px!important;
  }
  @keyframes acbMenuDropIn{
    0%{transform:translate3d(0,calc(-100% + 52px),0)}
    86%,100%{transform:translate3d(0,0,0)}
  }
  @keyframes acbMenuDropOut{
    0%{opacity:1;transform:translate3d(0,0,0)}
    72%{opacity:1}
    100%{opacity:0;transform:translate3d(0,calc(-100% - 24px),0)}
  }
}

@media(max-width:684px){
  html body#acb-design .mobile-menu-utility{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    justify-content:stretch!important;
  }
}

/* The document behind the open navigation stays put. The body receives a
   fixed scroll position from site.js so this also holds on iOS Safari. */
html.menu-open,
html.menu-open body{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

/* Match the mobile/tablet content frame to the floating header exactly. */
@media(max-width:1180px){
  html body#acb-design main{
    width:calc(100vw - 26px)!important;
    max-width:calc(100vw - 26px)!important;
  }
}

/* Keep the frame stable on short phones and tablets.  Expanded submenus
   scroll inside the middle navigation area; the header controls and the
   footer/social links stay aligned to the panel edges. */
@media(max-width:1180px){
  html body#acb-design#acb-design .acb-header.mobile-open .acb-head-right{
    overflow:hidden!important;
    width:auto!important;
    max-width:none!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .acb-nav{
    display:flex!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-width:none!important;
    padding:0 0 14px!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .acb-nav::-webkit-scrollbar{
    display:none!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .mobile-menu-footer{
    margin-top:0!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .acb-actions{
    display:none!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .mobile-header-cta{
    display:inline-flex!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .acb-logo{
    position:relative!important;
    z-index:65!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open>.inner{
    transition:background-color .28s cubic-bezier(.4,0,.2,1),box-shadow .28s cubic-bezier(.4,0,.2,1)!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open :is(.acb-logo,.acb-logo-mount,.mobile-header-cta){
    transition:color .28s cubic-bezier(.4,0,.2,1),background-color .28s cubic-bezier(.4,0,.2,1)!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open.menu-closing>.inner{
    background:#fff!important;
    box-shadow:0 0 34px rgba(7,19,33,.16)!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open.menu-closing :is(.acb-logo,.acb-logo-mount){
    color:var(--acb-blue,#4f46e5)!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open.menu-closing .mobile-header-cta{
    background:var(--acb-blue,#4f46e5)!important;
    color:#fff!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open.menu-closing .mobile-menu-toggle::before{
    transform:translate(-50%,-50%) translateY(-4px)!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open.menu-closing .mobile-menu-toggle::after{
    transform:translate(-50%,-50%) translateY(4px)!important;
  }
}

@media(max-width:684px){
  html body#acb-design#acb-design .acb-header.mobile-open .acb-head-right{
    padding:76px 16px 0!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design#acb-design .acb-header.mobile-open .navitem>button.navbutton{
    padding:12px 0!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .navitem.submenu-open>.submenu,
  html body#acb-design#acb-design .acb-header.mobile-open .navitem.submenu-open>.acb-sub{
    gap:4px!important;
    padding:6px 0 10px!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .mobile-menu-footer{
    padding:14px 0 calc(14px + env(safe-area-inset-bottom))!important;
  }
  html body#acb-design .mobile-menu-utility{
    gap:7px 18px!important;
  }
  html body#acb-design .mobile-menu-socials{
    margin-top:12px!important;
  }
}

/* Mobile/tablet submenu accordion. Keep the collapsed element in layout so
   both opening and closing can interpolate instead of toggling display. */
@media(max-width:1180px){
  html body#acb-design#acb-design .acb-header.mobile-open .navitem>.submenu,
  html body#acb-design#acb-design .acb-header.mobile-open .navitem>.acb-sub{
    display:flex!important;
    height:auto!important;
    min-height:0!important;
    max-height:0!important;
    flex-direction:column!important;
    gap:4px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate3d(0,-8px,0)!important;
    transform-origin:50% 0!important;
    transition:max-height .4s cubic-bezier(.16,1,.3,1),padding .4s cubic-bezier(.16,1,.3,1),opacity .22s ease,transform .4s cubic-bezier(.16,1,.3,1),visibility 0s linear .4s!important;
    will-change:max-height,opacity,transform!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .navitem.submenu-open>.submenu,
  html body#acb-design#acb-design .acb-header.mobile-open .navitem.submenu-open>.acb-sub{
    display:flex!important;
    max-height:300px!important;
    padding:6px 0 10px!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translate3d(0,0,0)!important;
    transition-delay:0s!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .navitem>.submenu a,
  html body#acb-design#acb-design .acb-header.mobile-open .navitem>.acb-sub a{
    opacity:0!important;
    transform:translate3d(0,-5px,0)!important;
    transition:opacity .2s ease,transform .32s cubic-bezier(.16,1,.3,1)!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .navitem.submenu-open>.submenu a,
  html body#acb-design#acb-design .acb-header.mobile-open .navitem.submenu-open>.acb-sub a{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .navitem>button.navbutton::after{
    transition:transform .34s cubic-bezier(.16,1,.3,1)!important;
  }
}

/* 4o opening copy follows the same restored mobile reading scale as 4i. */
@media(max-width:774px){
  html body#acb-design#acb-design.organisations-page .organisation-feeling .scrolltext{
    font-size:var(--fs-copy-lg)!important;
  }
}

/* Match all 4o process-number colours to the five 4i support steps. */
html body#acb-design#acb-design.organisations-page .organisation-process .step-number,
html body#acb-design#acb-design.organisations-page .organisation-process li:nth-child(2) .step-number,
html body#acb-design#acb-design.organisations-page .organisation-process li:nth-child(3) .step-number{
  background:#eef2ff!important;
  color:var(--blue)!important;
}

/* Keep menu-row text fully rendered on one stable plane while the panel
   opens. iOS Safari otherwise briefly redraws the glyphs near the endpoint. */
@media(max-width:1180px){
  html body#acb-design#acb-design .acb-header.mobile-open .navitem{
    opacity:1!important;
    transform:translateZ(0)!important;
    will-change:auto!important;
    animation:none!important;
  }
html body#acb-design#acb-design .acb-header.mobile-open.menu-closing .navitem{
    opacity:1!important;
    transform:translateZ(0)!important;
    animation:none!important;
  }
}

/* Evidence: play is presented as a mental mode rather than a prescribed
   craft. The two rails make the generation/evaluation shift visible without
   turning the section into another long block of explanatory copy. */
html body#acb-design.evidence-page .evidence-play>.wrap{
  display:grid!important;
  gap:clamp(22px,3vw,36px)!important;
  padding:var(--sp-card)!important;
  background:#fff!important;
  border-radius:var(--radius-card)!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design.evidence-page .evidence-play-intro{
  display:grid!important;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr)!important;
  column-gap:clamp(24px,5vw,76px)!important;
  align-items:start!important;
}
html body#acb-design.evidence-page .evidence-play-intro .eyebrow{
  grid-column:1/-1!important;
  margin:0 0 12px!important;
  color:var(--brand)!important;
}
html body#acb-design.evidence-page .evidence-play-intro h2{
  margin:0!important;
  max-width:12ch!important;
  font-size:clamp(42px,5vw,68px)!important;
  line-height:.92!important;
  letter-spacing:-.022em!important;
}
html body#acb-design.evidence-page .evidence-play-intro>p{
  margin:0!important;
  max-width:64ch!important;
  font-size:clamp(20px,2vw,27px)!important;
  line-height:1.14!important;
  letter-spacing:var(--ls-body)!important;
  text-wrap:pretty!important;
}
html body#acb-design.evidence-page .evidence-play-intro .hl{
  background:linear-gradient(transparent 8%,var(--acb-yellow) 8%,var(--acb-yellow) 92%,transparent 92%)!important;
  box-decoration-break:clone!important;
  -webkit-box-decoration-break:clone!important;
}
html body#acb-design.evidence-page .play-process{
  display:grid!important;
  grid-template-columns:.72fr 1.28fr!important;
  gap:14px!important;
}
html body#acb-design.evidence-page .play-route{
  display:grid!important;
  align-content:space-between!important;
  min-width:0!important;
  padding:22px!important;
  border-radius:calc(var(--radius-card) * .72)!important;
}
html body#acb-design.evidence-page .play-route-tight{background:#eef2ff!important}
html body#acb-design.evidence-page .play-route-open{background:var(--acb-yellow)!important}
html body#acb-design.evidence-page .play-route-label{
  display:block!important;
  margin:0 0 22px!important;
  font-size:15px!important;
  line-height:1!important;
  letter-spacing:-.022em!important;
  color:var(--ink)!important;
}
html body#acb-design.evidence-page .play-route ol{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
html body#acb-design.evidence-page .play-route li{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  font-size:clamp(18px,2vw,27px)!important;
  line-height:1!important;
  letter-spacing:-.022em!important;
  color:var(--ink)!important;
  white-space:nowrap!important;
}
html body#acb-design.evidence-page .play-route li:not(:last-child)::after{
  content:""!important;
  display:block!important;
  flex:0 0 22px!important;
  width:22px!important;
  height:16px!important;
  margin-left:10px!important;
  background:currentColor!important;
  -webkit-mask:var(--acb-go-arrow) center/contain no-repeat!important;
  mask:var(--acb-go-arrow) center/contain no-repeat!important;
}
html body#acb-design.evidence-page .evidence-play-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
html body#acb-design.evidence-page .evidence-play-card{
  padding:clamp(22px,3vw,34px)!important;
  border-radius:calc(var(--radius-card) * .72)!important;
  background:#fafafa!important;
}
html body#acb-design.evidence-page .evidence-play-card h3{
  margin:0 0 14px!important;
  max-width:24ch!important;
  font-size:clamp(25px,2.8vw,38px)!important;
  line-height:.98!important;
  letter-spacing:-.022em!important;
}
html body#acb-design.evidence-page .evidence-play-card p{
  margin:0!important;
  max-width:62ch!important;
  font-size:20px!important;
  line-height:1.25!important;
  letter-spacing:var(--ls-body)!important;
  text-wrap:pretty!important;
}
html body#acb-design.evidence-page .evidence-play-card.play-limit{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:.72fr 1.28fr!important;
  gap:clamp(24px,5vw,76px)!important;
  background:var(--ink)!important;
}
html body#acb-design.evidence-page .evidence-play-card.play-limit :is(h3,p){color:#fff!important}
html body#acb-design.evidence-page .play-question{
  display:grid!important;
  grid-template-columns:.36fr 1.64fr!important;
  gap:20px!important;
  align-items:center!important;
  padding:22px 24px!important;
  border-radius:999px!important;
  background:var(--acb-blue,#4f46e5)!important;
  color:#fff!important;
}
html body#acb-design.evidence-page .play-question span{
  font-size:15px!important;
  line-height:1!important;
  letter-spacing:-.022em!important;
  text-transform:uppercase!important;
  color:#fff!important;
}
html body#acb-design.evidence-page .play-question p{
  margin:0!important;
  font-size:clamp(22px,2.5vw,34px)!important;
  line-height:1!important;
  letter-spacing:-.022em!important;
  color:#fff!important;
}
@media(max-width:900px){
  html body#acb-design.evidence-page .evidence-play-intro,
  html body#acb-design.evidence-page .evidence-play-card.play-limit{grid-template-columns:1fr!important}
  html body#acb-design.evidence-page .evidence-play-intro h2{max-width:18ch!important;margin-bottom:18px!important}
  html body#acb-design.evidence-page .play-process{grid-template-columns:1fr!important}
  html body#acb-design.evidence-page .play-route ol{flex-wrap:wrap!important}
}
@media(max-width:684px){
  html body#acb-design.evidence-page .evidence-play>.wrap{gap:18px!important}
  html body#acb-design.evidence-page .evidence-play-intro h2{font-size:36px!important}
  html body#acb-design.evidence-page .evidence-play-intro>p,
  html body#acb-design.evidence-page .evidence-play-card p{font-size:16px!important;line-height:1.35!important}
  html body#acb-design.evidence-page .evidence-play-grid{grid-template-columns:1fr!important}
  html body#acb-design.evidence-page .evidence-play-card.play-limit{grid-column:auto!important}
  html body#acb-design.evidence-page .play-route{padding:18px!important}
  html body#acb-design.evidence-page .play-route li{font-size:18px!important}
  html body#acb-design.evidence-page .play-question{
    grid-template-columns:1fr!important;
    gap:10px!important;
    border-radius:var(--radius-card)!important;
  }
  html body#acb-design.evidence-page .play-question p{font-size:24px!important;line-height:1.05!important}
}
html body#acb-design.individuals-page .individual-support .service-scope-note{
  max-width:62ch!important;
  margin:18px 0 0!important;
  padding-top:12px!important;
  border-top:1px solid currentColor!important;
  font-size:13px!important;
  line-height:1.35!important;
  letter-spacing:-.01em!important;
  opacity:.72!important;
}

/* ========================================================================
   DESKTOP 95% SCALE
   Each design token and component dimension is set midway between the original scale and the former 90% reduction. This
   is intentionally a desktop-only layer: tablet and mobile keep their
   current measurements, and full-bleed/percentage-based geometry is intact.
   ======================================================================== */
@media (min-width:955px){
  html body#acb-design{
    --sp-card:clamp(17.1px,2.85vw,25.65px);
    --sp-gap:clamp(27.36px,6.65vw,47.09px);
    --radius-card:1.9rem;
    --site-gutter:clamp(17.1px,0.95vw,27.36px);
    --site-width:calc(min(100vw,1240.13px) - 2 * var(--site-gutter));
    --panel-boost:clamp(0px,5.7vw,76px);
    --fs-label:19px;
    --fs-h1:clamp(27.36px,4.75vw,59.85px);
    --fs-h2:clamp(21.38px,3.61vw,42.75px);
    --fs-copy-lg:clamp(20.52px,2.66vw,29.07px);
    --fs-body:19px;
    --fs-small:clamp(9.41px,0.95vw,11.12px);
    --fs-button:19px;
  }

  html body#acb-design .acb-header{
    top:18.84px!important;
    width:calc(var(--site-width) + var(--panel-boost) + 45.6px)!important;
  }
  html body#acb-design .acb-header .inner{
    height:43.95px!important;
    min-height:43.95px!important;
    gap:18.84px!important;
  }
  html body#acb-design .acb-header .acb-logo{padding:2.85px!important}
  html body#acb-design .acb-header .acb-actions{padding:9.5px!important;gap:18.84px!important}
  html body#acb-design .acb-header .acb-nav{gap:25.12px!important}
  html body#acb-design .acb-header .navbutton,
  html body#acb-design .acb-header .acb-social a{font-size:14.12px!important}
  html body#acb-design .acb-header .acb-sub a{
    font-size:12.56px!important;
    padding:6.28px 7.84px!important;
    margin:0 -7.43px!important;
  }
  html body#acb-design .acb-header .acb-utility-pill{
    padding:7.84px 14.12px!important;
    font-size:12.56px!important;
  }

  html body#acb-design.home-page main section:where(:not(.acb-hero):not(.acb-marq)){margin:23.55px!important}
  html body#acb-design.home-page .acb-marq{padding:12.56px 0!important}
  html body#acb-design.home-page .acb-marq .track{font-size:14.12px!important}
  html body#acb-design.home-page .acb-marq .marq-group{gap:18.84px;padding-right:18.84px!important}
  html body#acb-design.home-page .acb-marq .track em{font-size:14.12px!important}
  html body#acb-design.home-page .acb-hero-grid{padding:31.4px calc((100vw - var(--site-width)) / 2)!important}
  html body#acb-design.home-page .acb-hero-copy{padding:18.84px 25.12px!important}
  html body#acb-design.home-page .acb-hero h1{font-size:51.3px!important}
  html body#acb-design.home-page .acb-hero .acb-cta{gap:7.84px;margin-top:14.12px!important}
  html body#acb-design.home-page .acb-proof-copy{gap:15.7px!important}
  html body#acb-design.home-page .acb-proof-copy h2,
  html body#acb-design.home-page .acb-say p.scrolltext{font-size:33.25px!important}
  html body#acb-design.home-page .acb-proof-copy p{font-size:17.1px!important}
  html body#acb-design.home-page .acb-proof-image{min-height:329.65px!important}
  html body#acb-design.home-page .acb-look>.wrap{gap:18.84px 23.55px!important}
  html body#acb-design.home-page .acb-faq>.wrap{gap:23.55px!important}

  html body#acb-design :is(a.btn,a.btn-out,a.pill,a.pill.big,a.pill.alt,button.btn,button.btn-out,button.pill,.refbar-btn,.map-test-inline,.bm-hypo button,.hero-panel .btn,.cta .btn,.cta .btn-out,.cta .pill,.plan-card .btn,.speaking-grid .btn,.acb-close .btn,.acb-close-sub .btn,.acb-utility-pill),
  html body#acb-design.contact-page .cform button[type="submit"],
  html body#acb-design.home-page .acb-look .cta .pill,
  html body#acb-design .cookie-banner .cookie-actions button{
    font-size:19px!important;
    padding:19px!important;
  }
  html body#acb-design .faq-item .faq-q,
  html body#acb-design.faq-page .faqx .offer-toggle{font-size:28.5px!important}
  html body#acb-design .faq-item .faq-a>p,
  html body#acb-design.faq-page .faqx .offer-body>div{padding-bottom:26.6px!important}

  html body#acb-design .acb-footer{padding:clamp(22.8px,3.23vw,38px) 0 0!important}
  html body#acb-design .acb-footer .top.acb-footer-links{padding:clamp(18.81px,3.23vw,31.92px) 0!important;gap:clamp(15.39px,2.09vw,24.7px)!important}
  html body#acb-design .acb-footer .foot-lead{gap:clamp(19px,3.23vw,41.8px)!important;padding-bottom:clamp(19px,3.23vw,34.2px)!important}
  html body#acb-design .acb-footer .ack{margin-top:12.56px!important;font-size:clamp(12.56px,1.23vw,16.82px)!important}
  html body#acb-design .acb-footer :is(.col a,.news p){font-size:14.12px!important}
  html body#acb-design .acb-footer .bottom{padding:9.43px 0!important}

  html body#acb-design .cookie-banner{padding:17.1px clamp(15.39px,3.8vw,34.2px)!important;gap:15.39px 23.94px!important}
  html body#acb-design .cookie-banner p{font-size:8.55px!important}
  html body#acb-design .cookie-banner .cookie-actions{gap:10.26px!important}

  html body#acb-design.contact-page .cform{gap:15.39px!important}
  html body#acb-design.contact-page .cform :is(input,textarea,select){padding:11.97px 13.68px!important}
  html body#acb-design.contact-page .cform-consent{gap:9.5px!important}

  html body#acb-design.blocks-page .bmgrid{gap:clamp(10.26px,1.33vw,17.1px)!important}
  html body#acb-design.blocks-page .bmcard-body{padding:13.68px 22.8px 13.68px 13.68px!important}
  html body#acb-design.blocks-page .bmcard-title{font-size:clamp(22.8px,2.47vw,30.4px)!important}
  html body#acb-design.blocks-page .card-tag{padding:3.93px 7.06px!important}

  html body#acb-design:is(.individuals-page,.organisations-page) .plan-grid{gap:clamp(12.56px,1.71vw,17.27px)!important}
  html body#acb-design:is(.individuals-page,.organisations-page) .signs-list{gap:9.43px 25.12px!important;margin-top:clamp(18.84px,2.85vw,28.26px)!important}
  html body#acb-design:is(.individuals-page,.organisations-page) .signs-list li{padding-left:18.84px!important}

  html body#acb-design.method-page .craft-steps{gap:12.56px!important}
  html body#acb-design.method-page .craft-step{padding:20.4px 15.7px!important;gap:7.84px!important}
  html body#acb-design.method-page .craft-step p{font-size:clamp(12.83px,1.33vw,14.72px)!important}

  html body#acb-design.evidence-page .evidence-play-card h3{font-size:clamp(23.75px,2.66vw,36.1px)!important;margin-bottom:13.3px!important}
  html body#acb-design.evidence-page .evidence-play-card p{font-size:19px!important}
  html body#acb-design.evidence-page .evidence-play-card.play-limit{gap:clamp(22.8px,4.75vw,72.2px)!important}
  html body#acb-design.evidence-page .play-question{gap:19px!important;padding:20.9px 22.8px!important}
  html body#acb-design.evidence-page .play-question span{font-size:14.25px!important}
  html body#acb-design.evidence-page .play-question p{font-size:clamp(20.9px,2.38vw,32.3px)!important}

  html body#acb-design.article-page .article-dek{margin-top:5.7px!important}
  html body#acb-design.article-page .article-meta{margin-top:15.2px!important}
  html body#acb-design.article-page .article-col{max-width:665px!important}
  html body#acb-design.article-page .article-aside{margin-bottom:clamp(20.9px,2.85vw,32.3px)!important;padding:15.2px 17.1px!important}
  html body#acb-design.article-page .article-copy .article-note{padding:14.25px 17.1px!important}
  html body#acb-design.article-page .article-back{margin-top:clamp(32.3px,4.28vw,49.4px)!important;padding-top:20.9px!important}

  html body#acb-design.questionnaire-page .progress{height:4.75px!important}
  html body#acb-design.questionnaire-page .top{
    width:calc(100% - 30.4px)!important;
    max-width:1710px!important;
    height:68.4px!important;
    margin-top:15.2px!important;
    padding:9.5px 15.2px!important;
  }
  html body#acb-design.questionnaire-page .quiz-home,
  html body#acb-design.questionnaire-page .quiz-wordmark{width:142.5px!important}
  html body#acb-design.questionnaire-page .quiz-home{height:32.3px!important}
  html body#acb-design.questionnaire-page .quiz-logo{height:45.6px!important}
  html body#acb-design.questionnaire-page .quiz-status{gap:9.5px!important}
  html body#acb-design.questionnaire-page .count{min-width:66.5px!important;font-size:14.25px!important}
  html body#acb-design.questionnaire-page .quiz-exit{min-height:41.8px!important;padding:11.4px 17.1px!important;font-size:15.2px!important}
  html body#acb-design.questionnaire-page .stage{min-height:calc(100svh - 83.6px)!important;padding:clamp(32.3px,5.7vw,83.6px) max(15.2px,var(--pad,2.85vw))!important}
  html body#acb-design.questionnaire-page .card{width:min(874px,100%)!important;min-height:418px!important;padding:clamp(26.6px,4.75vw,68.4px)!important}
}

/* Keep the organisation support headline as compact and expressive as the
   closing "A team that keeps moving." title. Its fluid cap prevents the
   half-width copy column from breaking into four short lines. */
html body#acb-design#acb-design.organisations-page .organisation-support .support-copy .big{
  max-width:11.5ch!important;
  font-size:clamp(42px,5.2vw,72px)!important;
  line-height:.84!important;
  letter-spacing:-.022em!important;
  text-wrap:balance!important;
}
@media(max-width:774px){
  html body#acb-design#acb-design.organisations-page .organisation-support .support-copy .big{
    max-width:12ch!important;
    font-size:clamp(40px,10.5vw,58px)!important;
    line-height:.88!important;
  }
}

/* Home FAQ answers use the full question-card width, matching the accordions
   across the internal pages. */
html body#acb-design#acb-design.home-page .acb-faq .faq-item .faq-a>p{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

/* Components whose proportions were already deliberately tuned before the
   desktop scale pass. Keep their own measurements while the surrounding
   layout uses the intermediate 95% scale. */
@media(min-width:955px){
  html body#acb-design .acb-header .navbutton,
  html body#acb-design .acb-header .acb-sub a{
    font-size:20px!important;
  }
  html body#acb-design .acb-header .acb-sub a{
    padding:6px 8px!important;
    margin:0 -8px!important;
  }
  html body#acb-design .acb-header .acb-utility-pill{
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    padding:0 16px!important;
    font-size:18px!important;
    line-height:1!important;
  }
  html body#acb-design .acb-footer{
    padding:clamp(24px,3.4vw,40px) 0 0!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;
  }
  html body#acb-design .acb-footer .foot-lead{
    gap:clamp(20px,3.4vw,44px)!important;
    padding-bottom:clamp(20px,3.4vw,36px)!important;
  }
  html body#acb-design.home-page .acb-hero-copy{
    padding:10px 50px!important;
  }
  html body#acb-design.home-page .acb-hero h1{
    font-size:20px!important;
    line-height:1.2!important;
  }
}
@media(min-width:1181px) and (max-width:1380px){
  html body#acb-design .acb-header .navbutton{
    font-size:clamp(13px,1.1vw,15px)!important;
  }
}

/* 4o process cards: number and title share one compact heading row. */
html body#acb-design#acb-design.organisations-page .organisation-process>li{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  column-gap:14px!important;
  row-gap:12px!important;
  align-items:center!important;
}
html body#acb-design#acb-design.organisations-page .organisation-process .step-number{
  grid-column:1!important;
  grid-row:1!important;
  margin:0!important;
}
html body#acb-design#acb-design.organisations-page .organisation-process>li>b{
  grid-column:2!important;
  grid-row:1!important;
  margin:0!important;
}
html body#acb-design#acb-design.organisations-page .organisation-process>li>p{
  grid-column:1/-1!important;
  grid-row:2!important;
}
@media(max-width:684px){
  html body#acb-design#acb-design.organisations-page .organisation-process>li{
    grid-template-columns:36px minmax(0,1fr)!important;
    column-gap:12px!important;
    row-gap:10px!important;
  }
  html body#acb-design#acb-design.organisations-page .organisation-process .step-number{
    width:36px!important;
    height:36px!important;
    font-size:13px!important;
  }
}

/* Typography rendering system. Inter's variable optical-size axis handles
   glyph drawing at each rendered size; native OpenType shaping handles real
   kerning and contextual pairs. Manual tracking stays restrained so it does
   not fight those font metrics. */
html body#acb-design,
html body#acb-design :is(button,input,select,textarea){
  font-kerning:normal!important;
  font-optical-sizing:auto!important;
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1!important;
  font-variant-ligatures:common-ligatures contextual!important;
  font-synthesis:none!important;
  text-rendering:optimizeLegibility;
}


/* About page narrative — long-form story using the same card, spacing and type
   language as the rest of A Creative Block. */
html body#acb-design.about-page .about-main{
  display:flex;
  flex-direction:column;
  gap:var(--section-gap)!important;
}
html body#acb-design.about-page .about-main>.section,
html body#acb-design.about-page .about-main>.acb-close-sub{
  margin:0!important;
}
html body#acb-design.about-page .about-main :is(h1,h2,h3,p){text-wrap:pretty}
html body#acb-design.about-page .about-main :is(h1,h2){letter-spacing:-.04em!important}
html body#acb-design.about-page .about-hero>.wrap{
  min-height:clamp(470px,62svh,690px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  padding:clamp(34px,5.2vw,76px)!important;
  background:var(--blue)!important;
  color:#fff;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design.about-page .about-hero .side-note{color:var(--yellow)!important}
html body#acb-design.about-page .about-hero h1{
  max-width:15ch;
  margin:.35em 0 .45em!important;
  font-size:clamp(48px,6.4vw,96px)!important;
  line-height:.86!important;
  color:#fff!important;
}
html body#acb-design.about-page .about-hero-copy{
  width:min(860px,100%);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,3vw,48px);
}
html body#acb-design.about-page .about-hero-copy p{
  margin:0!important;
  font-size:var(--fs-body)!important;
  line-height:1.15!important;
  color:#fff!important;
}
html body#acb-design.about-page .about-main>.section:not(.about-hero)>.wrap{
  padding:clamp(38px,5vw,72px)!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design.about-page .about-intro{max-width:1100px}
html body#acb-design.about-page .about-intro h2,
html body#acb-design.about-page .about-founder h2,
html body#acb-design.about-page .about-turn h2,
html body#acb-design.about-page .about-beliefs h2,
html body#acb-design.about-page .about-next h2,
html body#acb-design.about-page .about-cta h2{
  margin:.28em 0 .5em!important;
  font-size:clamp(42px,5.2vw,76px)!important;
  line-height:.9!important;
}
html body#acb-design.about-page .about-lead,
html body#acb-design.about-page .about-why-close{
  max-width:46ch;
  font-size:clamp(25px,2.7vw,40px)!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
}
html body#acb-design.about-page .about-lead strong{
  background:linear-gradient(transparent 52%,var(--yellow) 52%);
  color:inherit!important;
}
html body#acb-design.about-page .about-reasons{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:clamp(34px,5vw,70px) 0;
}
html body#acb-design.about-page .about-reasons article{
  min-height:235px;
  display:grid;
  grid-template-columns:46px 1fr;
  grid-template-rows:auto 1fr;
  gap:8px 14px;
  padding:clamp(22px,3vw,38px);
  border-radius:var(--radius-card);
  background:var(--bg)!important;
}
html body#acb-design.about-page .about-reasons article>span,
html body#acb-design.about-page .about-belief-stack article>span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:999px;
  background:var(--pale-blue);
  color:var(--blue);
  font-size:14px;
}
html body#acb-design.about-page .about-reasons h3{
  margin:0!important;
  align-self:center;
  font-size:clamp(27px,2.5vw,38px)!important;
  line-height:1!important;
}
html body#acb-design.about-page .about-reasons p{
  grid-column:2;
  margin:0!important;
  font-size:var(--fs-body)!important;
  line-height:1.15!important;
}
html body#acb-design.about-page .about-two-col{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
  gap:clamp(30px,5vw,78px);
  align-items:start;
}
html body#acb-design.about-page .about-story-copy p,
html body#acb-design.about-page .about-next-card p{
  font-size:var(--fs-body)!important;
  line-height:1.25!important;
}
html body#acb-design.about-page .about-story-copy p:first-of-type{
  font-size:clamp(23px,2.1vw,31px)!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
}
html body#acb-design.about-page .about-founder-photo{
  position:sticky;
  top:110px;
  margin:0!important;
}
html body#acb-design.about-page .about-founder-photo picture,
html body#acb-design.about-page .about-founder-photo img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:72% 28%;
  border-radius:var(--radius-card);
}
html body#acb-design.about-page .about-founder-photo figcaption{
  padding-top:10px;
  font-size:14px;
  color:color-mix(in srgb,var(--ink) 65%,transparent);
}
html body#acb-design.about-page .about-turn>.wrap{background:var(--yellow)!important}
html body#acb-design.about-page .about-turn-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important}
html body#acb-design.about-page .about-turn-title{position:sticky;top:110px}
html body#acb-design.about-page .about-pull{
  max-width:19ch;
  margin-top:clamp(38px,7vw,92px)!important;
  font-size:clamp(29px,3vw,44px)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}
html body#acb-design.about-page .about-closing-line{
  margin-top:1.6em!important;
  font-size:clamp(28px,3vw,43px)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}
html body#acb-design.about-page .about-beliefs-head{max-width:950px;margin-bottom:clamp(30px,4vw,54px)}
html body#acb-design.about-page .about-belief-stack{display:grid;gap:12px}
html body#acb-design.about-page .about-belief-stack article{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:18px;
  align-items:start;
  padding:clamp(22px,2.8vw,38px);
  background:var(--bg)!important;
  border-radius:var(--radius-card);
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design.about-page .about-belief-stack p{
  max-width:46ch;
  margin:0!important;
  font-size:clamp(25px,2.8vw,42px)!important;
  line-height:1.03!important;
  letter-spacing:-.035em!important;
}
html body#acb-design.about-page .about-next>.wrap{background:transparent!important;padding:0!important;box-shadow:none!important}
html body#acb-design.about-page .about-next-card{
  min-height:560px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:clamp(32px,4vw,58px);
  border-radius:var(--radius-card);
  background:#fff;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design.about-page .about-next-card .btn{margin-top:auto!important}
html body#acb-design.about-page .about-next-future{background:var(--pale-blue)!important}
html body#acb-design.about-page .about-cta>.wrap{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(24px,5vw,72px);
  align-items:end;
  padding:clamp(38px,5vw,72px)!important;
  background:var(--yellow)!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design.about-page .about-cta-copy{max-width:1000px}
html body#acb-design.about-page .about-cta p{
  max-width:45ch;
  margin:0!important;
  font-size:var(--fs-body)!important;
  line-height:1.15!important;
}
html body#acb-design.about-page .about-cta .btn{white-space:nowrap}

@media(max-width:954px){
  html body#acb-design.about-page .about-two-col,
  html body#acb-design.about-page .about-turn-grid{grid-template-columns:1fr!important}
  html body#acb-design.about-page .about-founder-photo,
  html body#acb-design.about-page .about-turn-title{position:relative;top:auto}
  html body#acb-design.about-page .about-founder-photo{order:-1}
  html body#acb-design.about-page .about-founder-photo picture,
  html body#acb-design.about-page .about-founder-photo img{aspect-ratio:16/10;object-position:70% 30%}
  html body#acb-design.about-page .about-next-card{min-height:0}
  html body#acb-design.about-page .about-next-card .btn{margin-top:24px!important}
}
@media(max-width:684px){
  html body#acb-design.about-page .about-main{gap:var(--section-gap)!important}
  html body#acb-design.about-page .about-hero>.wrap{min-height:70svh;padding:26px 20px!important}
  html body#acb-design.about-page .about-hero h1{max-width:none;font-size:clamp(43px,13vw,64px)!important;line-height:.88!important}
  html body#acb-design.about-page .about-hero-copy{grid-template-columns:1fr;gap:12px}
  html body#acb-design.about-page .about-main>.section:not(.about-hero)>.wrap{padding:30px 20px!important}
  html body#acb-design.about-page .about-intro h2,
  html body#acb-design.about-page .about-founder h2,
  html body#acb-design.about-page .about-turn h2,
  html body#acb-design.about-page .about-beliefs h2,
  html body#acb-design.about-page .about-next h2,
  html body#acb-design.about-page .about-cta h2{font-size:clamp(36px,10.5vw,50px)!important;line-height:.92!important}
  html body#acb-design.about-page .about-lead,
  html body#acb-design.about-page .about-why-close{font-size:25px!important}
  html body#acb-design.about-page .about-reasons{grid-template-columns:1fr;margin:30px 0}
  html body#acb-design.about-page .about-reasons article{min-height:0;padding:22px 18px;grid-template-columns:38px 1fr}
  html body#acb-design.about-page .about-reasons article>span,
  html body#acb-design.about-page .about-belief-stack article>span{width:34px;height:34px;font-size:12px}
  html body#acb-design.about-page .about-reasons p{grid-column:1/-1;padding-top:8px}
  html body#acb-design.about-page .about-two-col{gap:28px}
  html body#acb-design.about-page .about-founder-photo picture,
  html body#acb-design.about-page .about-founder-photo img{aspect-ratio:4/5}
  html body#acb-design.about-page .about-pull{margin-top:30px!important}
  html body#acb-design.about-page .about-belief-stack article{grid-template-columns:38px 1fr;gap:12px;padding:20px 16px}
  html body#acb-design.about-page .about-belief-stack p{font-size:24px!important}
  html body#acb-design.about-page .about-next>.wrap{padding:0!important}
  html body#acb-design.about-page .about-next-card{padding:28px 20px}
  html body#acb-design.about-page .about-cta>.wrap{grid-template-columns:1fr;padding:30px 20px!important}
  html body#acb-design.about-page .about-cta .btn{width:100%;justify-content:space-between}
}

/* Shared frame and control corrections: footer, content, CTA and floating
   header now resolve from one measured width at every breakpoint. */
html body#acb-design{
  --acb-frame-width:calc(100vw - 26px);
}
html body#acb-design main,
html body#acb-design .acb-footer,
html body#acb-design .footer-reveal .acb-quick-contact{
  width:var(--acb-frame-width)!important;
  max-width:var(--acb-frame-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
html body#acb-design .acb-footer{
  padding-left:clamp(20px,3vw,40px)!important;
  padding-right:clamp(20px,3vw,40px)!important;
}
html body#acb-design .acb-footer>.wrap{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
@media(min-width:1181px){
  html body#acb-design{
    --acb-frame-width:min(calc(var(--site-width) + var(--panel-boost) + 45.6px),calc(100vw - 26px));
  }
  html body#acb-design .acb-header{
    width:var(--acb-frame-width)!important;
    max-width:var(--acb-frame-width)!important;
  }
  html body#acb-design .acb-header .inner{
    overflow:hidden!important;
  }
  html body#acb-design .acb-header .acb-logo{padding:0!important}
  html body#acb-design .acb-header .acb-logo .acb-logo-mount{
    height:42px!important;
  }
  html body#acb-design .acb-header .acb-utility-pill{
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    padding:0 13px!important;
    font-size:16px!important;
  }
}
@media(max-width:1180px){
  html body#acb-design .acb-header:not(.mobile-open),
  html body#acb-design .acb-header.mobile-open>.inner,
  html body#acb-design .acb-header.mobile-open .acb-head-right{
    right:13px!important;
    left:13px!important;
    width:auto!important;
    max-width:none!important;
  }
  html body#acb-design .acb-header .acb-logo{padding:0!important}
  html body#acb-design .acb-header .acb-logo .acb-logo-mount{
    height:38px!important;
  }
  html body#acb-design .acb-footer{padding-left:20px!important;padding-right:20px!important}
}

/* Panel close control: a large, high-contrast version of the mobile menu X. */
html body#acb-design .refpanel-close{
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  z-index:4!important;
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  padding:0!important;
  border:0!important;
  border-radius:var(--radius-card)!important;
  background:var(--pale-blue,#dcecff)!important;
  color:var(--blue,#4f46e5)!important;
  opacity:1!important;
  font-size:0!important;
  line-height:0!important;
  cursor:pointer!important;
  transition:transform .22s cubic-bezier(.16,1,.3,1),background .2s ease!important;
}
html body#acb-design .refpanel-close::before,
html body#acb-design .refpanel-close::after{
  content:""!important;
  position:absolute!important;
  width:23px!important;
  height:2px!important;
  border-radius:999px!important;
  background:currentColor!important;
}
html body#acb-design .refpanel-close::before{transform:rotate(45deg)!important}
html body#acb-design .refpanel-close::after{transform:rotate(-45deg)!important}
html body#acb-design .refpanel-close:hover{
  transform:scale(1.05)!important;
  background:var(--yellow,#e4e244)!important;
}

/* About colour surfaces must beat the generic internal-page white-card rule. */
html body#acb-design#acb-design.about-page main .about-hero>.wrap{
  background:var(--blue)!important;
  color:#fff!important;
}
html body#acb-design#acb-design.about-page main .about-hero :is(h1,p){color:#fff!important}
html body#acb-design#acb-design.about-page main .about-hero .side-note{color:var(--yellow)!important}
html body#acb-design#acb-design.about-page main .about-turn>.wrap{background:var(--yellow)!important}
html body#acb-design#acb-design.about-page main .about-next>.wrap{
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body#acb-design#acb-design.about-page main .about-cta>.wrap{background:var(--yellow)!important}

/* The three-line wordmark should read as a peer to the header controls. */
@media(min-width:1181px){
  html body#acb-design .acb-header .acb-logo .acb-logo-mount{height:44px!important}
}
@media(max-width:1180px){
  html body#acb-design .acb-header .acb-logo .acb-logo-mount{height:40px!important}
}

html body#acb-design.evidence-page .evidence-definition h1.eyebrow{margin:0!important}

/* Final shared-frame corrections: preserve the floating wordmark breathing
   room, allow desktop dropdowns to escape the header row, and keep the
   quick-contact CTA exactly level with the footer. */
html body#acb-design#acb-design .footer-reveal .acb-quick-contact{
  width:var(--acb-frame-width)!important;
  max-width:var(--acb-frame-width)!important;
}
@media(min-width:1181px){
  html body#acb-design .acb-header,
  html body#acb-design .acb-header .inner{height:54px!important;min-height:54px!important}
  html body#acb-design .acb-header .inner{overflow:visible!important}
  html body#acb-design .acb-header .acb-logo{padding:3px!important}
  html body#acb-design .acb-header .acb-logo .acb-logo-mount{height:40px!important}
}
@media(max-width:1180px){
  html body#acb-design .acb-header .acb-logo{padding:3px!important}
  html body#acb-design .acb-header .acb-logo .acb-logo-mount{height:36px!important}
}

/* Shared frame alignment: Home content cards use the complete frame, while
   4i/4o keep full-bleed imagery and align only their copy to that frame. */
html body#acb-design.home-page main>.acb-main-panel>section:where(:not(.acb-hero):not(.acb-marq)){
  margin-left:0!important;
  margin-right:0!important;
  width:100%!important;
  max-width:100%!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack{
  margin-left:calc((100vw - var(--acb-frame-width))/2 - 8px)!important;
  width:calc(100% - ((100vw - var(--acb-frame-width))/2 + 2px))!important;
}

/* About: four focused sections using the site's large-copy and stacked-card
   language. */
html body#acb-design.about-page .about-overview>.wrap{
  background:#fff!important;
  padding:clamp(40px,6vw,86px)!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design.about-page .about-overview-copy .hl{
  background-image:linear-gradient(to bottom,transparent 10%,var(--yellow) 10%,var(--yellow) 92%,transparent 92%)!important;
  box-decoration-break:clone!important;
  -webkit-box-decoration-break:clone!important;
  padding:0 .04em!important;
}
html body#acb-design.about-page .about-why-grid,
html body#acb-design.about-page .about-beliefs-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(34px,5vw,78px)!important;
  align-items:start!important;
}
html body#acb-design.about-page .about-why-grid .about-reasons{grid-column:1!important;grid-row:1!important;margin:0!important}
html body#acb-design.about-page .about-why-grid .about-intro{grid-column:2!important;grid-row:1!important}
html body#acb-design.about-page .about-stack{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
  padding:clamp(18px,2vw,28px)!important;
  overflow:hidden!important;
  background:var(--brand)!important;
  border-radius:var(--radius-card)!important;
}
html body#acb-design.about-page .about-stack article{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  gap:clamp(18px,2.2vw,30px)!important;
  margin-top:-12px!important;
  padding:clamp(20px,2.2vw,30px)!important;
  background:#fff!important;
  border-radius:var(--radius-card)!important;
  box-shadow:var(--shadow-card)!important;
  transform:none!important;
}
html body#acb-design.about-page .about-stack article:first-child{margin-top:0!important}
html body#acb-design.about-page .about-stack article>span{
  display:grid!important;
  place-items:center!important;
  width:clamp(50px,5vw,66px)!important;
  height:clamp(50px,5vw,66px)!important;
  border-radius:18px!important;
  background:var(--pale-blue)!important;
  color:var(--brand)!important;
  font-size:clamp(17px,1.8vw,23px)!important;
  line-height:1!important;
}
html body#acb-design.about-page .about-stack article p{
  grid-column:2!important;
  margin:0!important;
  max-width:none!important;
  font-size:clamp(24px,2.55vw,38px)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
html body#acb-design.about-page .about-stack article:nth-child(n){background:#fff!important;color:var(--ink)!important;transform:none!important}
html body#acb-design.about-page .about-why .about-lead,
html body#acb-design.about-page .about-why .about-why-close{max-width:none!important}
html body#acb-design.about-page .about-origin>.wrap{align-items:center!important}
html body#acb-design.about-page .about-origin h2{margin:.28em 0 .5em!important;font-size:clamp(42px,5.2vw,76px)!important;line-height:.9!important}
html body#acb-design.about-page .about-origin .about-founder-photo{position:relative!important;top:auto!important}
html body#acb-design.about-page .about-beliefs-head{position:sticky!important;top:110px!important;margin:0!important}
html body#acb-design.about-page .about-beliefs-head p{max-width:34ch!important;font-size:var(--fs-body)!important;line-height:1.15!important}
html body#acb-design.about-page .about-future h2{margin:.28em 0 0!important;font-size:clamp(42px,5.2vw,76px)!important;line-height:.9!important}
html body#acb-design.about-page .about-future-copy p{font-size:clamp(23px,2.1vw,31px)!important;line-height:1.12!important;letter-spacing:-.025em!important}

@media(max-width:954px){
  html body#acb-design.about-page .about-why-grid,
  html body#acb-design.about-page .about-beliefs-grid{grid-template-columns:1fr!important}
  html body#acb-design.about-page .about-why-grid .about-reasons,
  html body#acb-design.about-page .about-why-grid .about-intro{grid-column:1!important;grid-row:auto!important}
  html body#acb-design.about-page .about-why-grid .about-intro{order:-1!important}
  html body#acb-design.about-page .about-beliefs-head{position:relative!important;top:auto!important}
}
@media(max-width:684px){
  html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack{
    margin-left:13px!important;
    width:calc(100% - 26px)!important;
  }
  html body#acb-design.about-page .about-overview>.wrap{padding:30px 20px!important}
    html body#acb-design.about-page .about-stack article{grid-template-columns:auto minmax(0,1fr)!important;gap:14px!important;padding:17px 15px!important;margin-top:-7px!important}
  html body#acb-design.about-page .about-stack article>span{width:44px!important;height:44px!important;border-radius:14px!important;font-size:14px!important}
  html body#acb-design.about-page .about-stack article p{grid-column:2!important;font-size:19px!important;line-height:1.04!important}
}


/* About: coaching credential. The source artwork is kept intact and visually
   cropped in its frame so a future SVG can replace it without layout changes. */
html body#acb-design.about-page .about-certification{
  display:inline-flex;
  align-items:center;
  gap:16px;
  margin-top:28px;
  padding:10px 22px 10px 10px;
  border-radius:var(--radius-card);
  background:var(--pale-blue);
  box-shadow:var(--shadow-card);
}
html body#acb-design.about-page .about-certification-mark{
  position:relative;
  display:block;
  width:96px;
  height:96px;
  flex:0 0 96px;
  overflow:hidden;
  border-radius:50%;
  background:#fff;
}
html body#acb-design.about-page .about-certification-mark img{
  position:absolute;
  width:137%;
  max-width:none!important;
  height:auto;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
html body#acb-design.about-page .about-certification-copy{
  display:grid;
  gap:5px;
}
html body#acb-design.about-page .about-certification-copy .side-note{margin:0!important}
html body#acb-design.about-page .about-certification-copy strong{
  font-size:20px!important;
  line-height:1!important;
  letter-spacing:-.03em!important;
}
@media(max-width:774px){
  html body#acb-design.about-page .about-certification{gap:12px;margin-top:22px;padding:8px 16px 8px 8px}
  html body#acb-design.about-page .about-certification-mark{width:76px;height:76px;flex-basis:76px}
  html body#acb-design.about-page .about-certification-copy strong{font-size:16px!important}
}

/* About uses the established 4o opening rhythm and stacked process cards. */
html body#acb-design.about-page .about-overview>.wrap{padding:clamp(38px,5vw,72px)!important}
html body#acb-design.about-page .about-overview .side-note{display:block!important;margin:0 0 12px!important}
html body#acb-design.about-page .about-main>.section:not(.about-overview) .side-note{display:block!important;margin:0 0 12px!important}
html body#acb-design.about-page .about-main>.section h2{margin:0 0 20px!important}
html body#acb-design.about-page .about-main>.section p+p{margin-top:16px!important}
html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack{
  display:grid!important;grid-template-columns:1fr!important;gap:0!important;margin:0!important;
  padding:8px 0!important;overflow:visible!important;background:transparent!important;border-radius:0!important;
}
html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article{
  --about-stack-shift:0px;--about-stack-rotate:0deg;position:relative!important;z-index:1;
  min-height:0!important;margin:0!important;margin-top:-18px!important;padding:20px!important;
  display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:16px!important;
  border:0!important;border-radius:var(--radius-card)!important;background:#fff!important;color:var(--ink)!important;
  box-shadow:0 7px 16px rgba(17,17,24,.18)!important;
  transform:translateX(var(--about-stack-shift)) rotate(var(--about-stack-rotate))!important;
  transition:transform .45s cubic-bezier(.16,1,.3,1)!important;
}
html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article:first-child{margin-top:0!important;--about-stack-shift:-2px;--about-stack-rotate:-.35deg}
html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article:nth-child(2){z-index:2;--about-stack-shift:5px;--about-stack-rotate:.25deg}
html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article:nth-child(3){z-index:3;--about-stack-shift:-3px;--about-stack-rotate:-.2deg}
html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article:nth-child(4){z-index:4;--about-stack-shift:4px;--about-stack-rotate:.3deg}
html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article:nth-child(5){z-index:5;--about-stack-shift:-1px;--about-stack-rotate:-.25deg}
html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article>span{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:42px!important;height:42px!important;margin:0!important;border-radius:50%!important;
  background:#eef2ff!important;color:var(--blue)!important;font-size:15px!important;line-height:1!important;letter-spacing:0!important;
}
html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article>p{
  grid-column:2!important;margin:0!important;max-width:none!important;font-size:clamp(24px,2.55vw,38px)!important;
  line-height:1!important;letter-spacing:-.035em!important;
}
html body#acb-design.about-page .about-beliefs-head{position:relative!important;top:auto!important;margin:0!important}
html body#acb-design.about-page :is(.about-overview-copy .hl,.about-lead strong){
  background:linear-gradient(to bottom,transparent 8%,var(--yellow) 8%,var(--yellow) 92%,transparent 92%)!important;
  box-decoration-break:clone!important;-webkit-box-decoration-break:clone!important;padding:0 .04em!important;
}
html body#acb-design.about-page .about-certification{box-shadow:none!important;transform:none!important}
@media(max-width:684px){
  html body#acb-design.about-page .about-overview>.wrap{padding:30px 20px!important}
    html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article{margin-top:-10px!important;padding:17px 15px!important;gap:14px!important}
  html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article>span{width:42px!important;height:42px!important;font-size:14px!important}
  html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article>p{font-size:19px!important;line-height:1.04!important}
}

/* Keep 4i/4o hero copy on the exact shared frame edge. The previous -8px
   optical adjustment pulled it outside both the header and main content. */
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack{
  margin-left:calc((100vw - var(--acb-frame-width))/2)!important;
}


/* 4i/4o hero alignment: the full-bleed image keeps its own viewport width,
   while the copy uses the same single gutter as the header and main frame. */
html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero-grid{
  padding-left:calc((100vw - var(--acb-frame-width))/2)!important;
  padding-right:calc((100vw - var(--acb-frame-width))/2)!important;
}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack{
  margin-left:0!important;
}
@media(max-width:1180px){
  html body#acb-design:is(.individuals-page,.organisations-page) .acb-hero-grid{
    padding-left:13px!important;
    padding-right:13px!important;
  }
}
html body#acb-design:is(.individuals-page,.organisations-page) .audience-hero-stack{
  padding-left:0!important;
  padding-right:0!important;
}

/* About opening statement: requested full-width editorial measure. */

/* About stacks use the same colour and elevation language as the 4o
   "What the team leaves with" cards, while retaining their numbered stack. */
html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack{
  background:transparent!important;
  box-shadow:none!important;
}
html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article{
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article:nth-child(3n + 1){
  background:#4f46e5!important;
  color:#fff!important;
}
html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article:nth-child(3n + 2){
  background:var(--acb-yellow)!important;
  color:var(--ink)!important;
}
html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article:nth-child(3n){
  background:#f6b3cc!important;
  color:var(--ink)!important;
}
html body#acb-design.about-page :is(.about-reasons,.about-belief-stack).about-stack>article>p{
  color:inherit!important;
}

/* About overview copy — definitive component styles. Keep this more specific
   than the shared internal-page paragraph system so its editorial type scale
   cannot be reset by generic page copy rules. */
html body#acb-design.about-page main :is(.about-overview,.about-signal,.about-future) p.about-overview-copy{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding-right:15%!important;
  color:var(--ink)!important;
  font-size:35px!important;
  line-height:1.1!important;
  letter-spacing:var(--ls-title)!important;
  text-wrap:pretty!important;
}
@media(max-width:684px){
  html body#acb-design.about-page main :is(.about-overview,.about-signal,.about-future) p.about-overview-copy{
    padding-right:0!important;
    font-size:var(--fs-copy-lg)!important;
  }
}

/* Responsive navigation active pills and landscape-tablet header.
   Keep the horizontal navigation wherever it fits; reserve the full-screen
   menu for phone and portrait-tablet widths. */
@media(min-width:901px) and (max-width:1180px){
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .acb-head-right{
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .acb-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:2px!important;
    min-width:0!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .navitem{
    display:inline-flex!important;
    width:auto!important;
    flex:0 0 auto!important;
    padding:0!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .navbutton{
    display:inline-flex!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:7px 8px!important;
    border:0!important;
    border-radius:var(--radius-card)!important;
    background:transparent!important;
    font-size:12.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .navitem:is(:hover,.is-active)>.navbutton{
    width:auto!important;
    background:var(--acb-sky,#dbeafe)!important;
    color:var(--acb-blue,#4f46e5)!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .acb-actions{
    display:flex!important;
    flex:0 0 auto!important;
    padding:0!important;
    gap:6px!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .acb-utility-pill{
    padding:8px 10px!important;
    font-size:12.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) :is(.mobile-header-cta,.mobile-menu-toggle,.mobile-menu-footer){
    display:none!important;
  }
}

@media(max-width:900px){
  html body#acb-design#acb-design .acb-header.mobile-open .navitem.is-active>.navbutton,
  html body#acb-design#acb-design .acb-header.mobile-open .navitem.is-active>a.navbutton,
  html body#acb-design#acb-design .acb-header.mobile-open .navitem.is-active>button.navbutton{
    display:inline-flex!important;
    width:fit-content!important;
    max-width:100%!important;
    justify-content:flex-start!important;
    gap:12px!important;
    padding:7px 11px!important;
    margin:5px 0!important;
    border-radius:var(--radius-card)!important;
    background:var(--acb-yellow,#e4e244)!important;
    color:var(--ink,#111118)!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .acb-sub a:is(.is-active,[aria-current="page"]),
  html body#acb-design#acb-design .acb-header.mobile-open .submenu a:is(.is-active,[aria-current="page"]){
    display:block!important;
    width:fit-content!important;
    max-width:100%!important;
    padding:6px 10px!important;
    margin:2px 0!important;
    border-radius:var(--radius-card)!important;
    background:var(--acb-yellow,#e4e244)!important;
    color:var(--ink,#111118)!important;
  }
}

/* Keep the landscape-tablet navigation readable and optically centred.
   The nav is centred on the header itself, independent of the logo and CTA. */
@media(min-width:901px) and (max-width:1180px){
  html body#acb-design#acb-design .acb-header:not(.mobile-open)>.inner{
    position:relative!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .acb-head-right{
    display:contents!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .acb-nav{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    width:max-content!important;
    max-width:calc(100% - 300px)!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .navbutton{
    padding:8px 9px!important;
    font-size:14px!important;
    line-height:1!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .acb-actions{
    margin-left:auto!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .acb-utility-pill{
    padding:9px 12px!important;
    font-size:14px!important;
  }
}

/* Final portrait-tablet hero and mobile-navigation locks. */
@media(min-width:775px) and (max-width:900px){
  html body#acb-design#acb-design.home-page .acb-hero-copy{
    min-height:54px!important;
    padding:14px 50px!important;
  }
}
@media(max-width:774px){
  html body#acb-design#acb-design.home-page .acb-hero h1,
  html body#acb-design#acb-design:is(.individuals-page,.organisations-page) :is(.audience-hero-rotbubble,.audience-hero-rotbubble .cycling-line,.audience-hero-rotbubble .cycling-word,.audience-hero-rotbubble .hero-static-in-rot){
    font-size:clamp(9.5px,3.3vw,14.4px)!important;
  }
}
@media(max-width:900px){
  html body#acb-design#acb-design .acb-header.mobile-open .navitem.is-active>.navbutton,
  html body#acb-design#acb-design .acb-header.mobile-open .navitem.is-active>a.navbutton,
  html body#acb-design#acb-design .acb-header.mobile-open .navitem.is-active>button.navbutton,
  html body#acb-design#acb-design .acb-header.mobile-open .acb-sub a:is(.is-active,[aria-current="page"]),
  html body#acb-design#acb-design .acb-header.mobile-open .submenu a:is(.is-active,[aria-current="page"]){
    background:var(--acb-sky,#dbeafe)!important;
    color:var(--acb-blue,#4f46e5)!important;
  }
}

/* Horizontal tablet and compact-laptop navigation: retain a readable desktop
   scale and use more of the viewport so the larger labels still breathe. */
@media(min-width:901px) and (max-width:1180px){
  html body#acb-design#acb-design .acb-header:not(.mobile-open){
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .acb-nav{
    gap:5px!important;
    max-width:calc(100% - 270px)!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .navbutton{
    padding:8px 10px!important;
    font-size:16px!important;
  }
  html body#acb-design#acb-design .acb-header:not(.mobile-open) .acb-utility-pill{
    padding:9px 14px!important;
    font-size:16px!important;
  }
}

/* Internal-page opening rhythm: Evidence is the reference. Every comparable
   first section begins after the same main offset and shared section gap. */
html body#acb-design#acb-design:is(.blocks-page,.method-page,.about-page,.contact-page,.blog-index,.legal-page,.faq-page) main{
  padding-top:99px!important;
}
html body#acb-design#acb-design:is(.blocks-page,.method-page,.about-page,.contact-page,.blog-index,.legal-page,.faq-page) main>section:first-of-type,
html body#acb-design#acb-design:is(.blocks-page,.method-page,.about-page,.contact-page,.blog-index,.legal-page,.faq-page) main>.acb-main-panel>section:first-child{
  margin-top:var(--sp-gap)!important;
}

/* Give the FAQ opening enough measure to keep its final phrase together. */
html body#acb-design.faq-page .faq-hero h1{
  width:100%!important;
  max-width:24ch!important;
  text-wrap:balance!important;
}

/* Keep the future statement evenly filled, with no one- or two-word final line. */
html body#acb-design.about-page main .about-future p.about-overview-copy{
  padding-right:6%!important;
  text-wrap:balance!important;
}

/* About opening: two true sibling sections in a transparent 2/3 + 1/3 row. */
html body#acb-design.about-page .about-opening-grid{
  --about-opening-gap:var(--sp-gap);
  --about-opening-pad:clamp(30px,3.2vw,46px);
  display:grid!important;
  grid-template-columns:minmax(0,2fr) minmax(300px,1fr)!important;
  gap:var(--about-opening-gap)!important;
  align-items:stretch!important;
  width:100%!important;
  margin-top:var(--sp-gap)!important;
  background:transparent!important;
}
html body#acb-design.about-page :is(.about-opening-left,.about-opening-right){
  display:flex!important;
  flex-direction:column!important;
  gap:var(--about-opening-gap)!important;
  min-width:0!important;
  height:100%!important;
}
html body#acb-design.about-page .about-opening-left>:is(.about-overview-main,.about-future){
  display:flex!important;
  flex:1 1 0!important;
}
html body#acb-design.about-page .about-opening-left>:is(.about-overview-main,.about-future)>.wrap{
  height:100%!important;
}
html body#acb-design.about-page :is(.about-opening-left,.about-opening-right)>section+section{
  margin-top:0!important;
}
html body#acb-design.about-page .about-opening-left>.about-future{
  margin:0!important;
}
html body#acb-design#acb-design.about-page .about-opening-grid :is(.about-overview-main,.about-future,.about-overview-beliefs,.about-socials){
  margin:0!important;
  margin-block:0!important;
  min-width:0!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}
html body#acb-design.about-page .about-opening-grid :is(.about-overview-main,.about-future,.about-overview-beliefs,.about-socials)>.wrap{
  width:100%!important;
  max-width:none!important;
  padding:var(--about-opening-pad)!important;
  background:#fff!important;
  border-radius:var(--radius-card)!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design.about-page .about-opening-grid .about-overview-main p.about-overview-copy{
  padding-right:0!important;
  font-size:clamp(22px,1.9vw,29px)!important;
}
html body#acb-design.about-page .about-opening-grid .about-overview-beliefs>.wrap>.side-note{
  display:block!important;
  margin:0 0 12px!important;
}
html body#acb-design.about-page .about-opening-grid .about-overview-beliefs .about-stack>article{
  padding:clamp(15px,1.45vw,21px)!important;
  gap:12px!important;
  margin-top:-10px!important;
  grid-template-columns:minmax(0,1fr)!important;
}
html body#acb-design.about-page .about-opening-grid .about-overview-beliefs .about-stack>article>p{
  grid-column:1!important;
  font-size:clamp(18px,1.65vw,25px)!important;
  line-height:1.02!important;
}
html body#acb-design.about-page .about-social-links{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
}
html body#acb-design.about-page .about-socials .side-note{
  display:block!important;
  margin:0 0 12px!important;
}
html body#acb-design.about-page .about-social-links a{
  display:grid!important;
  align-items:center!important;
  justify-content:center!important;
  width:48px!important;
  height:48px!important;
  padding:0!important;
  border-radius:50%!important;
  background:var(--pale-blue)!important;
  color:var(--brand)!important;
  line-height:1!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:transform .25s ease,background-color .25s ease!important;
}
html body#acb-design.about-page .about-social-links a:nth-child(2){
  background:var(--pale-blue)!important;
  color:var(--brand)!important;
}
html body#acb-design.about-page .about-social-links a svg{
  width:25px!important;
  height:25px!important;
}
html body#acb-design.about-page .about-social-links a:hover{
  transform:translateY(-3px)!important;
  background:var(--acb-yellow)!important;
}
@media(max-width:954px){
  html body#acb-design.about-page .about-opening-grid{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  html body#acb-design.about-page :is(.about-opening-left,.about-opening-right){
    height:auto!important;
  }
  html body#acb-design.about-page .about-opening-left>:is(.about-overview-main,.about-future){
    display:block!important;
    flex:none!important;
  }
  html body#acb-design.about-page .about-opening-left>:is(.about-overview-main,.about-future)>.wrap{
    height:auto!important;
  }
}
@media(max-width:774px){
  html body#acb-design.about-page .about-opening-grid .about-overview-main p.about-overview-copy{
    font-size:var(--fs-copy-lg)!important;
  }
}
@media(max-width:684px){
  html body#acb-design.about-page .about-opening-grid :is(.about-overview-main,.about-future,.about-overview-beliefs,.about-socials)>.wrap{
    padding:30px 20px!important;
  }
  html body#acb-design.about-page main .about-future p.about-overview-copy{
    padding-right:0!important;
    text-wrap:balance!important;
  }
}
@media(max-width:600px){
  html body#acb-design.about-page .about-opening-grid .about-overview-main p.about-overview-copy{
    font-size:var(--fs-body)!important;
  }
}

/* Keep the footer identity together: logo and motto share one row. */
html body#acb-design#acb-design .acb-footer .mark{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:clamp(14px,1.8vw,24px)!important;
  width:100%!important;
}
html body#acb-design#acb-design .acb-footer .mark>a{
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
}
html body#acb-design#acb-design .acb-footer .mark .ack{
  margin:0!important;
}
@media(max-width:684px){
  html body#acb-design#acb-design .acb-footer .mark{
    gap:12px!important;
  }
  html body#acb-design#acb-design .acb-footer .mark .ack{
    max-width:26ch!important;
  }
}

/* Align the footer navigation with the identity row and lift the social marks. */
@media(min-width:685px){
  html body#acb-design#acb-design .acb-footer>.top.acb-footer-links{
    align-self:start!important;
    padding-top:0!important;
  }
  html body#acb-design#acb-design .acb-footer .footer-socials{
    transform:translateY(-10px)!important;
  }
}

/* Footer alignment correction: the links are nested inside .wrap. Keep the
   identity and four navigation columns in the same row down to mobile. */
@media(min-width:685px){
  html body#acb-design#acb-design .acb-footer>.wrap{
    grid-template-columns:minmax(230px,.82fr) minmax(0,2.18fr)!important;
    column-gap:clamp(18px,3vw,48px)!important;
  }
  html body#acb-design#acb-design .acb-footer .foot-lead{
    grid-column:1!important;
  }
  html body#acb-design#acb-design .acb-footer>.wrap>.top.acb-footer-links{
    grid-column:2!important;
    align-self:start!important;
    padding-top:0!important;
  }
  html body#acb-design#acb-design .acb-footer .footer-socials{
    transform:translateY(-28px)!important;
  }
}

/* Footer lower rhythm: mirror the upper grid so the social marks begin on the
   Support-column edge, then give the copyright its own quieter row below. */
@media(min-width:685px){
  html body#acb-design#acb-design .acb-footer>.wrap>.bottom{
    display:grid!important;
    grid-template-columns:minmax(230px,.82fr) minmax(0,2.18fr)!important;
    column-gap:clamp(18px,3vw,48px)!important;
    align-items:start!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
  }
  html body#acb-design#acb-design .acb-footer .footer-socials{
    grid-column:2!important;
    grid-row:1!important;
  }
  html body#acb-design#acb-design .acb-footer>.wrap>.bottom>span{
    grid-column:1/-1!important;
    grid-row:2!important;
    margin-top:34px!important;
  }
}

/* Preserve the four-column social alignment at tablet widths too. */
@media(min-width:685px){
  html body#acb-design#acb-design .acb-footer .footer-socials{
    display:grid!important;
    width:100%!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    column-gap:clamp(16.2px,2.2vw,26px)!important;
  }
  html body#acb-design#acb-design .acb-footer .footer-socials .social-icons{
    display:flex!important;
    grid-column:4!important;
    justify-content:flex-start!important;
  }
}

/* The founder portrait reads as a compact ID-style image beside the story. */
html body#acb-design#acb-design.about-page .about-origin .about-two-col{
  grid-template-columns:160px minmax(0,1fr)!important;
  gap:clamp(28px,4vw,64px)!important;
}
html body#acb-design#acb-design.about-page .about-origin .about-founder-photo{
  width:100%!important;
  max-width:160px!important;
  justify-self:start!important;
  align-self:start!important;
}
html body#acb-design#acb-design.about-page .about-origin .about-founder-photo picture,
html body#acb-design#acb-design.about-page .about-origin .about-founder-photo img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
}
@media(max-width:954px){
  html body#acb-design#acb-design.about-page .about-origin .about-two-col{
    grid-template-columns:1fr!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-founder-photo{
    width:150px!important;
  }
}
@media(max-width:684px){
  html body#acb-design#acb-design.about-page .about-origin .about-founder-photo{
    width:140px!important;
  }
}

/* About story: a large opening column beside the smaller supporting story. */
html body#acb-design#acb-design.about-page .about-origin .about-story-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(36px,5vw,78px)!important;
  align-items:start!important;
}
html body#acb-design#acb-design.about-page .about-story-lead p{
  margin:0!important;
  font-size:clamp(26px,2.8vw,40px)!important;
  line-height:1.08!important;
  letter-spacing:var(--ls-title)!important;
  text-wrap:pretty!important;
}
html body#acb-design#acb-design.about-page .about-story-detail p{
  margin-top:0!important;
  font-size:var(--fs-body)!important;
  line-height:1.25!important;
  text-wrap:pretty!important;
}
html body#acb-design#acb-design.about-page .about-story-lead .about-founder-photo{
  width:160px!important;
  max-width:160px!important;
  margin:clamp(28px,4vw,48px) 0 0!important;
}
html body#acb-design#acb-design.about-page .about-certification-mark picture{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
html body#acb-design#acb-design.about-page .about-certification-mark img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:1!important;
}
@media(max-width:774px){
  html body#acb-design#acb-design.about-page .about-origin .about-story-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  html body#acb-design#acb-design.about-page .about-story-lead p{
    font-size:var(--fs-copy-lg)!important;
  }
  html body#acb-design#acb-design.about-page .about-story-lead .about-founder-photo{
    width:140px!important;
  }
}

/* Story composition: portrait left; the story itself stays in two text columns. */
html body#acb-design#acb-design.about-page .about-origin .about-story-copy{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:clamp(36px,4vw,64px)!important;
  align-items:start!important;
  min-width:0!important;
}
html body#acb-design#acb-design.about-page .about-origin .about-story-copy>.side-note{
  grid-column:1/-1!important;
  margin-bottom:8px!important;
}
html body#acb-design#acb-design.about-page .about-origin .about-story-intro{
  grid-column:1!important;
  margin:0!important;
  font-size:clamp(22px,1.9vw,29px)!important;
  line-height:1.08!important;
  letter-spacing:var(--ls-title)!important;
  text-wrap:pretty!important;
}
html body#acb-design#acb-design.about-page .about-origin .about-story-detail{
  grid-column:2!important;
  display:grid!important;
  gap:16px!important;
  margin-top:0!important;
}
html body#acb-design#acb-design.about-page .about-origin .about-story-detail p{
  margin:0!important;
  font-size:var(--fs-body)!important;
  line-height:1.25!important;
  text-wrap:pretty!important;
}
html body#acb-design#acb-design.about-page .about-origin .about-founder-column{
  width:100%!important;
  max-width:160px!important;
}
html body#acb-design#acb-design.about-page .about-origin .about-portrait-credential-logo{
  display:block!important;
  width:70px!important;
  max-width:70px!important;
  height:auto!important;
  margin:16px 0 0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body#acb-design#acb-design.about-page .about-origin>.wrap{
  padding-bottom:clamp(44px,5vw,68px)!important;
}
@media(max-width:774px){
  html body#acb-design#acb-design.about-page .about-origin .about-story-copy{
    grid-template-columns:1fr!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-story-copy>.side-note,
  html body#acb-design#acb-design.about-page .about-origin .about-story-intro,
  html body#acb-design#acb-design.about-page .about-origin .about-story-detail{
    grid-column:1!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-story-intro{
    font-size:var(--fs-copy-lg)!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-story-detail{
    margin-top:24px!important;
  }
}

/* About story responsive composition. */
@media(min-width:1025px){
  html body#acb-design#acb-design.about-page .about-origin .about-two-col{
    align-items:start!important;
    align-content:start!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-founder-column{
    padding-top:0!important;
  }
}
@media(min-width:601px) and (max-width:1024px){
  html body#acb-design#acb-design.about-page .about-origin .about-two-col{
    grid-template-columns:150px minmax(0,1fr)!important;
    gap:clamp(28px,4vw,48px)!important;
    align-items:start!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-founder-column{
    display:block!important;
    width:150px!important;
    max-width:150px!important;
    padding-top:24px!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-founder-photo{
    width:150px!important;
    max-width:150px!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-story-copy{
    display:grid!important;
    grid-template-columns:1fr!important;
    column-gap:0!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-story-copy>.side-note,
  html body#acb-design#acb-design.about-page .about-origin .about-story-intro,
  html body#acb-design#acb-design.about-page .about-origin .about-story-detail{
    grid-column:1!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-story-detail{
    margin-top:24px!important;
  }
}
@media(max-width:600px){
  html body#acb-design#acb-design.about-page .about-origin .about-two-col{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:
      "photo"
      "label"
      "intro"
      "detail"
      "credential"!important;
    column-gap:0!important;
    row-gap:0!important;
    align-items:start!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-founder-column,
  html body#acb-design#acb-design.about-page .about-origin .about-story-copy{
    display:contents!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-story-copy>.side-note{
    grid-area:label!important;
    margin:24px 0 10px!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-founder-photo{
    grid-area:photo!important;
    width:100%!important;
    max-width:118px!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-story-intro{
    grid-area:intro!important;
    font-size:var(--fs-body)!important;
    line-height:1.06!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-story-detail{
    grid-area:detail!important;
    margin-top:20px!important;
  }
  html body#acb-design#acb-design.about-page .about-origin .about-portrait-credential-logo{
    grid-area:credential!important;
    width:70px!important;
    max-width:70px!important;
    margin:26px 0 0!important;
  }
}

/* Footer identity and social controls mirror the mobile-menu treatment. */
html body#acb-design#acb-design .acb-footer .mark{
  align-items:flex-start!important;
}
html body#acb-design#acb-design .acb-footer .mark>a{
  align-items:flex-start!important;
}
html body#acb-design#acb-design .acb-footer .footer-socials .social-icons{
  gap:13px!important;
}
html body#acb-design#acb-design .acb-footer .footer-socials a{
  display:grid!important;
  width:38px!important;
  height:38px!important;
  padding:0!important;
  place-items:center!important;
  border-radius:50%!important;
  color:var(--acb-blue,#4f46e5)!important;
  background:#fff!important;
}
html body#acb-design#acb-design .acb-footer .footer-socials svg{
  width:21px!important;
  height:21px!important;
  color:currentColor!important;
  fill:currentColor!important;
}

/* Desktop footer: social controls sit below the identity column while the
   copyright closes the same lower row on the far right. */
@media(min-width:685px){
  html body#acb-design#acb-design .acb-footer>.wrap>.bottom{
    grid-template-columns:minmax(230px,.82fr) minmax(0,2.18fr)!important;
    align-items:center!important;
  }
  html body#acb-design#acb-design .acb-footer .footer-socials{
    grid-column:1!important;
    grid-row:1!important;
    display:flex!important;
    width:auto!important;
    justify-self:start!important;
    transform:translateY(-28px)!important;
  }
  html body#acb-design#acb-design .acb-footer .footer-socials .social-icons{
    display:flex!important;
    grid-column:auto!important;
    justify-content:flex-start!important;
  }
  html body#acb-design#acb-design .acb-footer>.wrap>.bottom>span{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    margin:0!important;
    text-align:right!important;
    transform:translateY(4px)!important;
  }
}


/* Home introduction and How-we-work approach placement. */
html body#acb-design.method-page .method-approach .scrolltext{
  margin:0!important;
  max-width:none!important;
  padding-right:15%!important;
  color:var(--ink)!important;
  font-size:35px!important;
  font-weight:400!important;
  line-height:1.1!important;
  letter-spacing:var(--ls-title)!important;
  text-wrap:pretty!important;
}
html body#acb-design.method-page .method-approach .hl{
  background:linear-gradient(transparent 6%,var(--acb-yellow) 6%,var(--acb-yellow) 94%,transparent 94%)!important;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
@media (min-width:821px){
  html body#acb-design.home-page .work-card h3{letter-spacing:-.045em!important}
}
@media (max-width:954px){
  html body#acb-design.method-page .method-approach .scrolltext{padding-right:10%!important}
}
@media (max-width:684px){
  html body#acb-design.home-page .acb-hero h1{
    font-size:15px!important;
  }
  html body#acb-design.home-page .acb-work .work-intro{
    font-size:20px!important;
  }
  html body#acb-design.method-page .method-approach .scrolltext{
    padding-right:0!important;
    font-size:var(--fs-copy-lg)!important;
  }
}

/* 4i mobile hero: JS measures the longest rotating sentence and sets this
   value so every sentence fits the available hero width on one line. */
@media (max-width:774px){
  html body#acb-design#acb-design.individuals-page :is(
    .audience-hero-rotbubble,
    .audience-hero-rotbubble .cycling-line,
    .audience-hero-rotbubble .cycling-word,
    .audience-hero-rotbubble .hero-static-in-rot
  ){
    font-size:var(--individual-hero-fit,14px)!important;
  }
  html body#acb-design#acb-design.individuals-page .audience-hero-rotbubble .cycling-line,
  html body#acb-design#acb-design.individuals-page .audience-hero-rotbubble .cycling-word{
    width:auto!important;
    max-width:none!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
  }
}

/* 4i support hierarchy and offer framing. */
html body#acb-design#acb-design.individuals-page .individual-support .support-copy .big{
  max-width:none!important;
  font-size:clamp(42px,5.2vw,72px)!important;
  line-height:.84!important;
  letter-spacing:-.022em!important;
  text-wrap:balance!important;
}
html body#acb-design#acb-design.individuals-page .individual-support .support-copy .lead{
  width:100%!important;
  max-width:42ch!important;
}
@media(min-width:775px){
  html body#acb-design#acb-design.individuals-page .individual-support .support-copy .lead{
    font-size:20px!important;
    line-height:1.12!important;
  }
}
html body#acb-design#acb-design.individuals-page .individual-support .concept-underline{
  background:linear-gradient(transparent 6%,var(--acb-yellow) 6%,var(--acb-yellow) 94%,transparent 94%)!important;
  color:var(--ink)!important;
  box-decoration-break:clone!important;
  -webkit-box-decoration-break:clone!important;
  padding:0!important;
}
html body#acb-design#acb-design.individuals-page .offer-deck-intro{
  max-width:62ch!important;
  margin:12px auto 28px!important;
  text-align:center!important;
  font-size:var(--fs-body)!important;
  line-height:var(--lh-copy)!important;
  text-wrap:pretty!important;
}
@media(max-width:774px){
  html body#acb-design#acb-design.individuals-page .individual-support .support-copy .big{
    max-width:none!important;
    font-size:clamp(40px,10.5vw,58px)!important;
    line-height:.88!important;
  }
  html body#acb-design#acb-design.individuals-page .individual-support .support-copy .lead{
    max-width:none!important;
  }
  html body#acb-design#acb-design.individuals-page .offer-deck-intro{
    margin:10px 0 24px!important;
    text-align:left!important;
  }
}

@media(min-width:775px){
  html body#acb-design#acb-design.organisations-page .organisation-support .support-copy .lead{
    font-size:20px!important;
  }
  html body#acb-design#acb-design.individuals-page .access-note{
    font-size:30px!important;
  }
}

/* The How-we-work approach statement shares the 4i “How it feels” scale. */
html body#acb-design#acb-design.method-page .method-approach .scrolltext{
  font-size:35px!important;
  line-height:1.1!important;
  letter-spacing:var(--ls-title)!important;
}
@media(max-width:774px){
  html body#acb-design#acb-design.method-page .method-approach .scrolltext{
    font-size:var(--fs-copy-lg)!important;
  }
}

/* Block Map hero: three separate ideas, each with its own visual surface. */
html body#acb-design#acb-design.blocks-page .bm-intro>.bm-intro-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:var(--sp-gap)!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:left!important;
}
html body#acb-design#acb-design.blocks-page .bm-intro-panel{
  display:flex!important;
  min-width:0!important;
  min-height:0!important;
  padding:var(--sp-card)!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  border-radius:var(--radius-card)!important;
  background:#fff!important;
  box-shadow:var(--shadow-card)!important;
}
html body#acb-design#acb-design.blocks-page .bm-intro-title .eyebrow2{
  margin:0 0 14px!important;
  color:var(--blue)!important;
}
html body#acb-design#acb-design.blocks-page .bm-intro-title h1{
  margin:0!important;
  font-size:var(--fs-h1)!important;
  line-height:var(--lh-title)!important;
  letter-spacing:var(--ls-h1)!important;
  text-wrap:balance!important;
}
html body#acb-design#acb-design.blocks-page .bm-intro-panel p{
  max-width:none!important;
  margin:0!important;
  color:var(--ink)!important;
  text-align:left!important;
  text-wrap:pretty!important;
}
html body#acb-design#acb-design.blocks-page .bm-intro-explainer p{
  max-width:none!important;
  padding-right:15%!important;
  font-size:35px!important;
  line-height:1.1!important;
  letter-spacing:var(--ls-title)!important;
}
html body#acb-design#acb-design.blocks-page .bm-intro-explainer .eyebrow2{
  margin:0 0 16.52px!important;
  color:var(--blue)!important;
}
@media(max-width:900px){
  html body#acb-design#acb-design.blocks-page .bm-intro>.bm-intro-grid{
    grid-template-columns:1fr!important;
  }
  html body#acb-design#acb-design.blocks-page .bm-intro-panel{
    min-height:0!important;
  }
  html body#acb-design#acb-design.blocks-page .bm-intro-explainer p{
    padding-right:0!important;
    font-size:var(--fs-copy-lg)!important;
  }
}

/* iPad Mini portrait: give the homepage What we do statement a little more
   presence than the compact phone scale without changing smaller screens. */
@media(min-width:700px) and (max-width:820px){
  html body#acb-design#acb-design.home-page .acb-say p.scrolltext{
    font-size:25px!important;
  }
}

/* About opening copy follows the same hierarchy as Home's What we do
   statement instead of dropping to ordinary body copy on phones. */
html body#acb-design#acb-design.about-page .about-opening-grid .about-overview-main p.about-overview-copy{
  font-size:35px!important;
  line-height:1.1!important;
  letter-spacing:var(--ls-title)!important;
}
@media(max-width:774px){
  html body#acb-design#acb-design.about-page .about-opening-grid .about-overview-main p.about-overview-copy{
    font-size:var(--fs-copy-lg)!important;
  }
}
@media(min-width:700px) and (max-width:820px){
  html body#acb-design#acb-design.about-page .about-opening-grid .about-overview-main p.about-overview-copy{
    font-size:25px!important;
  }
}

/* iPhone-sized menu: keep the hierarchy comfortable without letting the
   labels dominate the screen, and use the same tighter rounded-square
   treatment as the rest of the interface. */
@media(max-width:430px){
  html body#acb-design#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design#acb-design .acb-header.mobile-open .navitem>button.navbutton{
    min-height:48px!important;
    font-size:24px!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub) a{
    font-size:17px!important;
  }
  html body#acb-design#acb-design .mobile-menu-toggle,
  html body#acb-design#acb-design .mobile-header-cta,
  html body#acb-design#acb-design .acb-header.mobile-open .navitem.is-active>.navbutton,
  html body#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub) a:is(.is-active,[aria-current="page"]){
    border-radius:8px!important;
  }
}

/* Match the 4o How we work with you explanation to the 4i Working together
   mobile body treatment. */
@media(max-width:774px){
  html body#acb-design#acb-design.organisations-page .organisation-support .support-copy p.lead{
    font-size:17px!important;
    line-height:1.35!important;
  }

  html body#acb-design#acb-design.organisations-page main #offers>.wrap{
    padding-bottom:40px!important;
  }
}

/* Mostly fixed / Movable: on mobile, the six terrain-card titles share the
   same heading scale as Flooded, Empty and Regulated below them. */
@media(max-width:774px){
  html body#acb-design#acb-design:is(.method-page,.factors-page) .terrain-cols .tcard h3{
    font-size:var(--fs-copy-lg)!important;
    line-height:1.05!important;
    letter-spacing:var(--ls-title)!important;
  }
}

/* Evidence numbers: recover horizontal reading width on phones, where the
   nested card padding otherwise leaves the first two explanations too narrow. */
@media(max-width:684px){
  html body#acb-design#acb-design.evidence-page .ev-stats-card{
    padding-right:14px!important;
    padding-left:14px!important;
  }
  html body#acb-design#acb-design.evidence-page .ev-stat-block{
    padding-right:12px!important;
    padding-left:12px!important;
  }
  html body#acb-design#acb-design.evidence-page .ev-copy-card>p{
    font-size:17px!important;
    line-height:1.4!important;
  }
  html body#acb-design#acb-design.evidence-page .evidence-play-card.play-limit{
    gap:8px!important;
  }
  html body#acb-design#acb-design.evidence-page .evidence-play-card.play-limit h3{
    margin-bottom:0!important;
  }
}

/* Mobile menu uses spacing instead of rules between navigation items. Keep
   only the footer's top border as the division between navigation and utility links. */
@media(max-width:900px){
  html body#acb-design#acb-design .acb-header.mobile-open .navitem,
  html body#acb-design#acb-design .acb-header.mobile-open .navitem :is(.submenu,.acb-sub),
  html body#acb-design#acb-design .acb-header.mobile-open .navitem :is(.submenu,.acb-sub)>a{
    border-top:0!important;
    border-right:0!important;
    border-bottom:0!important;
    border-left:0!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .mobile-menu-footer{
    border-top:1px solid rgba(255,255,255,.25)!important;
  }
}

/* 4i Working together explanation: this is sustained explanatory copy, so it
   needs a calmer size and more leading than the display text around it. */
html body#acb-design#acb-design.individuals-page .individual-support .support-copy p.lead{
  font-size:18px!important;
  line-height:1.3!important;
}
@media(max-width:774px){
  html body#acb-design#acb-design.individuals-page .individual-support .support-copy p.lead{
    font-size:17px!important;
    line-height:1.35!important;
  }

  html body#acb-design#acb-design.individuals-page .individual-offers>.wrap>.audience-eyebrow,
  html body#acb-design#acb-design.individuals-page .individual-offers .offer-deck-title{
    display:block!important;
    width:100%!important;
    text-align:center!important;
  }
}

/* Phone surfaces need a proportionally tighter curve. Reusing the desktop
   2rem radius on small controls turns rounded squares into pills. Explicit
   circles and 999px pills keep their intentional geometry. */
@media(max-width:684px){
  html body#acb-design{
    --radius-card:14px;
  }
}

/* 4i / 4o mobile heroes: keep the statements legible and let the longest
   line wrap naturally instead of shrinking the whole component below body
   size merely to force every rotating sentence onto one line. */
@media(max-width:774px){
  html body#acb-design#acb-design:is(.individuals-page,.organisations-page) :is(
    .audience-hero-rotbubble,
    .audience-hero-rotbubble .cycling-line,
    .audience-hero-rotbubble .cycling-word,
    .audience-hero-rotbubble .hero-static-in-rot
  ){
    font-size:clamp(16px,4.6vw,18.5px)!important;
    line-height:1.15!important;
  }
  html body#acb-design#acb-design:is(.individuals-page,.organisations-page) .audience-hero-rotbubble :is(.cycling-line,.cycling-word){
    width:auto!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
  }
}

/* Compact phone-menu rhythm. Active links keep their highlight without
   gaining a visibly taller box than neighbouring items. */
@media(max-width:430px){
  html body#acb-design#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design#acb-design .acb-header.mobile-open .navitem>button.navbutton{
    min-height:42px!important;
    padding:5px 0!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open .navitem.is-active>.navbutton{
    padding:4px 9px!important;
    margin:2px 0!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub) a{
    padding-top:5px!important;
    padding-bottom:5px!important;
  }
  html body#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub) a:is(.is-active,[aria-current="page"]){
    padding:4px 8px!important;
    margin:1px 0!important;
  }
}

/* About: center the follow label and social icons on phones only. */
@media(max-width:684px){
  html body#acb-design#acb-design.about-page .about-socials>.wrap{
    text-align:center!important;
  }
  html body#acb-design#acb-design.about-page .about-socials .side-note{
    width:100%!important;
    text-align:center!important;
  }
  html body#acb-design#acb-design.about-page .about-social-links{
    width:100%!important;
    justify-content:center!important;
  }
}

/* FAQ phone category headings: match the opening statement scale. */
@media(max-width:684px){
  html body#acb-design#acb-design.faq-page .faqx-cat-head :is(.n,h2){
    font-size:var(--fs-h1)!important;
  }
}

/* Match the 4o support copy measure to the 4i support column. */
html body#acb-design#acb-design.organisations-page .organisation-support .support-copy .big{
  max-width:none!important;
}
html body#acb-design#acb-design.organisations-page .organisation-support .support-copy .lead{
  width:100%!important;
  max-width:42ch!important;
}
@media(max-width:774px){
  html body#acb-design#acb-design.organisations-page .organisation-support .support-copy .lead{
    max-width:none!important;
  }
}

/* 4i: anchor the consulting scope rule and note to the foot of the text
   column, level with the bottom of the stacked process cards. */
@media(min-width:775px){
  html body#acb-design#acb-design.individuals-page .individual-support>.wrap{
    align-items:stretch!important;
  }
  html body#acb-design#acb-design.individuals-page .individual-support .support-copy{
    display:flex!important;
    flex-direction:column!important;
    min-height:100%!important;
  }
  html body#acb-design#acb-design.individuals-page .individual-support .service-scope-note{
    margin-top:auto!important;
  }
}

/* Final mobile-menu separators: legacy rules draw lines on both the row and
   its button. Clear every navigation surface; retain only the footer divider. */
@media(max-width:1180px){
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .acb-nav,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>.navbutton,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem :is(.submenu,.acb-sub),
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem :is(.submenu,.acb-sub)>a{
    border-top:0!important;
    border-right:0!important;
    border-bottom:0!important;
    border-left:0!important;
    box-shadow:none!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .mobile-menu-footer{
    border-top:1px solid rgba(255,255,255,.25)!important;
    border-right:0!important;
    border-bottom:0!important;
    border-left:0!important;
  }
}

/* 4i Creative Direction uses the same light treatment as Block Check. */
html body#acb-design#acb-design.individuals-page main .plan-grid .plan-card:nth-child(3){
  background:#fff!important;
  color:var(--ink)!important;
}
html body#acb-design#acb-design.individuals-page main .plan-grid .plan-card:nth-child(3) :is(h3,p,.plan-format){
  color:var(--ink)!important;
}

/* Final phone-menu scale: compact enough for short mobile viewports while
   preserving the same hierarchy and active-link treatment. */
@media(max-width:430px){
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>button.navbutton{
    min-height:36px!important;
    padding:2px 0!important;
    font-size:20px!important;
    line-height:1.05!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem.is-active>.navbutton{
    min-height:0!important;
    margin:1px 0!important;
    padding:3px 7px!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub){
    padding-top:3px!important;
    padding-bottom:6px!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub)>a{
    padding-top:3px!important;
    padding-bottom:3px!important;
    font-size:15px!important;
    line-height:1.15!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub)>a:is(.is-active,[aria-current="page"]){
    margin:1px 0!important;
    padding:3px 7px!important;
  }
}

/* Phone menu final compact spacing: active backgrounds hug the label and
   ordinary rows rely on line-height rather than padded touch boxes. */
@media(max-width:430px){
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>button.navbutton{
    min-height:30px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    line-height:1!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem.is-active>.navbutton{
    min-height:0!important;
    margin:0!important;
    padding:2px 6px!important;
    line-height:1!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub){
    padding-top:1px!important;
    padding-bottom:3px!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub)>a{
    padding-top:1px!important;
    padding-bottom:1px!important;
    line-height:1.05!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub)>a:is(.is-active,[aria-current="page"]){
    margin:0!important;
    padding:2px 6px!important;
    line-height:1!important;
  }
}

/* Override the legacy fixed 64px/40px mobile-menu heights themselves. */
@media(max-width:430px){
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>button.navbutton{
    height:30px!important;
    min-height:30px!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem.is-active>.navbutton{
    height:auto!important;
    min-height:0!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub)>a{
    height:24px!important;
    min-height:24px!important;
    padding-left:8px!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub)>a:is(.is-active,[aria-current="page"]){
    height:auto!important;
    min-height:0!important;
  }
}

/* Balanced phone menu: comfortable rhythm, pill-shaped active links, and
   submenu arrows consistently attached to their labels. */
@media(max-width:430px){
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>button.navbutton{
    width:max-content!important;
    max-width:100%!important;
    height:38px!important;
    min-height:38px!important;
    padding:4px 0!important;
    justify-content:flex-start!important;
    font-size:22px!important;
    line-height:1!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>button.navbutton::after{
    margin:0 0 0 8px!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem.is-active>.navbutton{
    width:max-content!important;
    height:auto!important;
    min-height:0!important;
    margin:2px 0!important;
    padding:5px 10px!important;
    border-radius:999px!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub){
    padding-top:4px!important;
    padding-bottom:7px!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub)>a{
    width:max-content!important;
    max-width:100%!important;
    height:29px!important;
    min-height:29px!important;
    padding:3px 0 3px 10px!important;
    font-size:16px!important;
    line-height:1.1!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub)>a:is(.is-active,[aria-current="page"]){
    height:auto!important;
    min-height:0!important;
    margin:2px 0 2px 8px!important;
    padding:4px 9px!important;
    border-radius:999px!important;
  }
}

/* Phone navigation uses one shared pill component for main and submenu links.
   Active state changes colour only, never dimensions or arrow position. */
@media(max-width:430px){
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .acb-nav{
    gap:2px!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>button.navbutton,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub)>a,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem.is-active>.navbutton,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub)>a:is(.is-active,[aria-current="page"]){
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:max-content!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:6px 10px!important;
    border-radius:8px!important;
    font-size:18px!important;
    line-height:1!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub){
    gap:2px!important;
    padding:2px 0 5px 12px!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>button.navbutton::after{
    margin:0 0 0 7px!important;
  }
}

/* Slightly larger shared phone-menu type. */
@media(max-width:430px){
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>button.navbutton,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub)>a{
    font-size:25px!important;
  }
}

/* Phone-menu hierarchy: active pills retain the shared type size; only
   top-level groups receive extra separation. */
@media(max-width:430px){
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .acb-nav{
    gap:8px!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem.is-active>.navbutton,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub)>a:is(.is-active,[aria-current="page"]){
    font-size:25px!important;
  }
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub){
    gap:2px!important;
  }
}

/* Final phone-menu pill sizing: one 20px scale and taller vertical padding. */
@media(max-width:430px){
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>a.navbutton,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem>button.navbutton,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub)>a,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open .navitem.is-active>.navbutton,
  html body#acb-design#acb-design#acb-design .acb-header.mobile-open :is(.submenu,.acb-sub)>a:is(.is-active,[aria-current="page"]){
    height:auto!important;
    min-height:0!important;
    padding:8px 10px!important;
    font-size:20px!important;
    line-height:1!important;
  }
}
