/**
 * structure.css — Elementor layout chrome only.
 * Typography, colors, margin, padding: Elementor Style / Advanced.
 * This file: grids, 1px-gap borders, ::before/::after chrome, icon wraps,
 * width overrides, hover backgrounds, responsive collapses.
 */

/* Section side gutters — HTML uses padding:6rem 6%; Elementor owns vertical, CSS owns % sides */
body .elementor .it-section:not(#hero):not(#cta),
body .elementor #proposition,
body .elementor #services,
body .elementor #sectors,
body .elementor #consultancy,
body .elementor #academy,
body .elementor #about,
body .elementor #process,
body .elementor #clients,
body .elementor #testimonials,
body .elementor #pricing{
  padding-left:6%!important;
  padding-right:6%!important;
}
body .elementor #cta{
  padding-left:6%!important;
  padding-right:6%!important;
}

/* ── tokens ── */
body .elementor{--navy:#111110;--navy2:#1a1a18;--navy3:#222220;--gold-pale:#ede9e1;--cream:#f4f1eb;--cream2:#ebe8e0;--slate:#888884;--white:#faf8f4;--line-light:rgba(255,255,255,.09);--line-dark:rgba(17,17,16,.1);--text-dim:rgba(255,255,255,.42);--text-mid:rgba(255,255,255,.72);--fp:"Playfair Display",Georgia,serif;--fo:"Outfit",system-ui,sans-serif;--fm:"Space Mono",ui-monospace,monospace;--ease:cubic-bezier(.22,1,.36,1);max-width:none!important;}

/* Neutralise Elementor container max-width */
body .elementor .e-con > .e-con-inner{max-width:none!important;box-sizing:border-box;}
body .elementor .elementor-widget{margin-block-end:0;}
body .elementor .elementor-widget-text-editor p{margin:0;}
body .elementor .elementor-icon-list-items{list-style:none;margin:0;padding:0;}
body .elementor .elementor-button{box-shadow:none;}

/* ── shared chrome: eyebrow dash (typography/color from Elementor) ── */
/* Kill informed.css .eyebrow::before on the widget — dash lives on the title only */
body .elementor .eyebrow::before,
body .elementor .elementor-element.eyebrow::before,
body .elementor .academy-coming::before{content:none!important;display:none!important;width:0!important;height:0!important;border:none!important;background:none!important;margin:0!important;padding:0!important;}
body .elementor .elementor-element.eyebrow .elementor-heading-title{display:flex!important;align-items:center!important;gap:.8rem!important;}
body .elementor .elementor-element.eyebrow .elementor-heading-title::before{content:""!important;display:block!important;width:20px!important;height:1px!important;background:currentColor!important;opacity:.5!important;flex-shrink:0!important;}
body .elementor .eyebrow-light .elementor-heading-title::before{opacity:1!important;background:rgba(255,255,255,.18)!important;}
body .elementor #cta .eyebrow .elementor-heading-title{justify-content:center;}
body .elementor #cta .eyebrow .elementor-heading-title::before{display:none!important;}

/* ── shared chrome: coming-badge (type from Elementor; pill + hollow dot here) ── */
/* Neutralise widget-level box from informed.css — chrome on the title only */
body .elementor .coming-badge .elementor-heading-title{display:inline-flex!important;align-items:center!important;gap:.6rem!important;width:fit-content!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.04)!important;padding:.4rem .9rem!important;border-radius:2px!important;box-sizing:border-box!important;}
body .elementor .academy-coming .elementor-heading-title{display:inline-flex!important;align-items:center!important;gap:.7rem!important;width:fit-content!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.03)!important;padding:.4rem 1rem!important;border-radius:2px!important;box-sizing:border-box!important;}
body .elementor .coming-badge .elementor-heading-title::before{content:""!important;display:block!important;width:5px!important;height:5px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.3)!important;background:transparent!important;flex-shrink:0!important;box-sizing:border-box!important;opacity:1!important;}
body .elementor .academy-coming .elementor-heading-title::before{content:""!important;display:block!important;width:4px!important;height:4px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.3)!important;background:transparent!important;flex-shrink:0!important;box-sizing:border-box!important;opacity:1!important;}
/* Prevent eyebrow dash + badge dot stacking if both classes apply */
body .elementor .coming-badge.eyebrow .elementor-heading-title::before{width:5px!important;height:5px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.3)!important;background:transparent!important;opacity:1!important;}
body .elementor .academy-coming.eyebrow .elementor-heading-title::before{width:4px!important;height:4px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.3)!important;background:transparent!important;opacity:1!important;}

/* ── shared chrome: dash lists (hide FA icons; single hairline only) ── */
body .elementor .dash-list .elementor-icon-list-icon,
body .elementor .pcard-list .elementor-icon-list-icon,
body .elementor .div-list .elementor-icon-list-icon,
body .elementor .spec-list .elementor-icon-list-icon,
body .elementor .pillar-list .elementor-icon-list-icon,
body .elementor .tier-list .elementor-icon-list-icon,
body .elementor #proposition .division .elementor-icon-list-icon,
body .elementor #services .spec-card .elementor-icon-list-icon,
body .elementor #consultancy .pillar .elementor-icon-list-icon,
body .elementor #pricing .pcard .elementor-icon-list-icon,
body .elementor #academy .tier .elementor-icon-list-icon{display:none!important;}
/* Kill informed.css native li::before when classes sit on Elementor widgets */
body .elementor .div-list li::before,
body .elementor .spec-list li::before,
body .elementor .pillar-list li::before,
body .elementor .dash-list li::before,
body .elementor .pcard-list li::before,
body .elementor .tier-list li::before,
body .elementor #proposition .division li::before,
body .elementor #services .spec-card li::before,
body .elementor #consultancy .pillar li::before,
body .elementor #pricing .pcard li::before,
body .elementor #academy .tier li::before{content:none!important;display:none!important;width:0!important;height:0!important;margin:0!important;background:none!important;border:none!important;}
body .elementor .dash-list .elementor-icon-list-text,
body .elementor .pcard-list .elementor-icon-list-text,
body .elementor .div-list .elementor-icon-list-text,
body .elementor .spec-list .elementor-icon-list-text,
body .elementor .pillar-list .elementor-icon-list-text,
body .elementor .tier-list .elementor-icon-list-text,
body .elementor #proposition .division .elementor-icon-list-text,
body .elementor #services .spec-card .elementor-icon-list-text,
body .elementor #consultancy .pillar .elementor-icon-list-text,
body .elementor #pricing .pcard .elementor-icon-list-text,
body .elementor #academy .tier .elementor-icon-list-text{display:flex!important;align-items:flex-start!important;gap:.55rem!important;padding-left:0!important;}
body .elementor .dash-list .elementor-icon-list-text::before,
body .elementor .pcard-list .elementor-icon-list-text::before,
body .elementor .div-list .elementor-icon-list-text::before,
body .elementor .spec-list .elementor-icon-list-text::before,
body .elementor .pillar-list .elementor-icon-list-text::before,
body .elementor .tier-list .elementor-icon-list-text::before,
body .elementor #proposition .division .elementor-icon-list-text::before,
body .elementor #services .spec-card .elementor-icon-list-text::before,
body .elementor #consultancy .pillar .elementor-icon-list-text::before,
body .elementor #pricing .pcard .elementor-icon-list-text::before,
body .elementor #academy .tier .elementor-icon-list-text::before{content:""!important;display:block!important;width:10px!important;height:1px!important;background:currentColor!important;opacity:.35!important;flex-shrink:0!important;}
body .elementor #pricing .pcard .elementor-icon-list-text{
  align-items: center !important;
}
/* ── buttons — single shared chrome (match informed.css / design) ── */
body .elementor .btn-primary,
body .elementor .btn-outline,
body .elementor .btn-dark,
body .elementor .btn-ghost,
body .elementor .btn-ghost-white{width:auto!important;max-width:none!important;flex:0 0 auto!important;align-self:flex-start!important;}
body .elementor .btn-primary .elementor-button-wrapper,
body .elementor .btn-outline .elementor-button-wrapper,
body .elementor .btn-dark .elementor-button-wrapper,
body .elementor .btn-ghost .elementor-button-wrapper,
body .elementor .btn-ghost-white .elementor-button-wrapper{width:auto!important;display:block!important;}
body .elementor .btn-primary .elementor-button,
body .elementor .btn-outline .elementor-button,
body .elementor .btn-dark .elementor-button,
body .elementor .btn-ghost .elementor-button,
body .elementor .btn-ghost-white .elementor-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.5rem!important;width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;border-radius:2px!important;border-style:solid!important;border-width:1.5px!important;border-color:transparent!important;box-shadow:none!important;box-sizing:border-box!important;transition:background .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease),transform .22s var(--ease),-webkit-text-fill-color .22s var(--ease)!important;}
body .elementor .btn-primary .elementor-button{background:var(--white)!important;border-color:var(--white)!important;-webkit-text-fill-color:var(--navy)!important;}
body .elementor .btn-primary .elementor-button:hover,
body .elementor .btn-primary .elementor-button:focus{background:var(--cream)!important;border-color:var(--cream)!important;-webkit-text-fill-color:var(--navy)!important;transform:translateY(-2px);}
body .elementor .btn-outline .elementor-button{background:transparent!important;border-color:rgba(255,255,255,.22)!important;-webkit-text-fill-color:rgba(255,255,255,.7)!important;}
body .elementor .btn-outline .elementor-button:hover,
body .elementor .btn-outline .elementor-button:focus{border-color:rgba(255,255,255,.55)!important;-webkit-text-fill-color:var(--white)!important;}
body .elementor .btn-dark .elementor-button{background:var(--navy)!important;border-color:var(--navy)!important;-webkit-text-fill-color:var(--white)!important;}
body .elementor .btn-dark .elementor-button:hover,
body .elementor .btn-dark .elementor-button:focus{background:var(--navy2)!important;border-color:var(--navy2)!important;transform:translateY(-2px);}
body .elementor .btn-ghost .elementor-button{background:transparent!important;border-color:rgba(17,17,16,.2)!important;-webkit-text-fill-color:var(--navy)!important;}
body .elementor .btn-ghost .elementor-button:hover,
body .elementor .btn-ghost .elementor-button:focus{background:var(--navy)!important;border-color:var(--navy)!important;-webkit-text-fill-color:var(--white)!important;}
body .elementor .btn-ghost-white .elementor-button{background:transparent!important;border-color:rgba(255,255,255,.2)!important;-webkit-text-fill-color:rgba(255,255,255,.6)!important;}
body .elementor .btn-ghost-white .elementor-button:hover,
body .elementor .btn-ghost-white .elementor-button:focus{border-color:rgba(255,255,255,.5)!important;-webkit-text-fill-color:var(--white)!important;}

/* ════════════════════════════════════════
   HERO — layout chrome only (type/spacing via Elementor Style)
   ════════════════════════════════════════ */
body .elementor #hero{min-height:100vh;position:relative;overflow:hidden;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;}
#hero{ padding: 6rem 6% !important;}
body .elementor #hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:
    linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);background-size:64px 64px;}
body .elementor #hero > .e-con-inner{position:relative;z-index:1;display:flex!important;flex-direction:column!important;flex:1 1 auto!important;width:100%!important;max-width:none!important;min-height:100vh;justify-content:flex-end!important;padding:0!important;gap:0!important;}

/* Hero content gutter — HTML: padding:0 6% 5rem (mixed %/rem → CSS sides + Elementor bottom) */
body .elementor #hero .hero-content,
body .elementor #hero .hero-content > .e-con-inner{
  padding-left:6%!important;
  padding-right:6%!important;
}

/* Two equal columns — Elementor 3.x often omits .e-con-inner */
body .elementor #hero .hero-content{flex:1 1 auto!important;width:100%!important;max-width:none!important;align-self:stretch!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:6rem!important;align-items:end!important;box-sizing:border-box!important;padding-bottom:5rem!important;padding-top:0!important;}
body .elementor #hero .hero-content > .e-con-inner{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6rem!important;align-items:end!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;padding-bottom:5rem!important;padding-top:0!important;}
body .elementor #hero .hero-right{width:100%!important;max-width:none!important;display:flex!important;flex-direction:column!important;gap:0!important;}
body .elementor #hero .hero-right > .e-con-inner{display:flex!important;flex-direction:column!important;width:100%!important;gap:0!important;}

/*
 * Badge pill — chrome on the title only (kills informed.css widget-level border
 * that stacked into a double border with the title border).
 */
body .elementor .hero-badge,
body .elementor #hero .hero-badge{width:fit-content!important;max-width:100%!important;align-self:flex-start!important;border:none!important;background:transparent!important;padding:0!important;}
body .elementor .hero-badge .elementor-heading-title{display:inline-flex!important;align-items:center!important;gap:.6rem!important;width:fit-content!important;max-width:100%!important;padding:.4rem 1rem!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:2px!important;background:rgba(255,255,255,.05)!important;box-sizing:border-box!important;box-shadow:none!important;outline:none!important;}
body .elementor .hero-badge .elementor-heading-title::before{content:""!important;display:block!important;width:4px!important;height:4px!important;border-radius:50%!important;background:rgba(255,255,255,.5)!important;border:none!important;flex-shrink:0!important;opacity:1!important;}

/* H1 italic highlight — HTML h1 .ital */
body .elementor #hero .hero-title .elementor-heading-title{display:block!important;}
body .elementor #hero .hero-title .elementor-heading-title em,
body .elementor #hero .hero-title .elementor-heading-title .ital{
  font-style:italic!important;
  font-weight:400!important;
  opacity:.45!important;
  color:inherit!important;
}

/* Shared heading em highlight — HTML h2 em { italic; weight 400 } */
body .elementor .elementor-heading-title em,
body .elementor .elementor-heading-title .ital{
  font-style:italic!important;
  font-weight:400!important;
}

/* Dark-section muted em (HTML rgba(255,255,255,.35)) */
body .elementor #proposition .elementor-heading-title em,
body .elementor #sectors .elementor-heading-title em,
body .elementor #sectors .platform-title .elementor-heading-title em,
body .elementor #sectors .platform-grid h3.elementor-heading-title em,
body .elementor #academy .elementor-heading-title em,
body .elementor #process .elementor-heading-title em,
body .elementor #services .why-heading .elementor-heading-title em,
body .elementor #services .why-panel h2.elementor-heading-title em{
  color:rgba(255,255,255,.35)!important;
  opacity:1!important;
}

/* About light-section em — HTML slate */
body .elementor #about .elementor-heading-title em{
  color:var(--slate)!important;
  opacity:1!important;
}

/* Light cream-section em — muted navy (visual highlight vs bold navy) */
body .elementor #services .svc-top .elementor-heading-title em{
  color:var(--slate)!important;
  opacity:1!important;
}

/* CTA em — HTML rgba(255,255,255,.38) */
body .elementor #cta .elementor-heading-title em,
body .elementor #cta .cta-heading .elementor-heading-title em{
  color:rgba(255,255,255,.38)!important;
  opacity:1!important;
}

/* Platform titles — keep em muted, no opacity stack */
body .elementor #sectors .platform-title em,
body .elementor #sectors .platform-grid h3 em{opacity:1!important;}


body .elementor #hero .hero-desc{max-width:460px!important;}

body .elementor #hero .btns,
body .elementor #hero .btns > .e-con-inner{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;gap:.75rem!important;}
/* Equal content-sized buttons — prevent Elementor widget stretch */
body .elementor #hero .btns .elementor-widget-button{width:auto!important;flex:0 0 auto!important;}
body .elementor #hero .btns .elementor-button{min-width:11.5rem!important;}

/* Panel frame — padding set in Elementor */
body .elementor #hero .hero-panel{
  border:1px solid var(--line-light)!important;
  background:rgba(255,255,255,.035)!important;
  border-radius:6px!important;
  backdrop-filter:blur(12px);
  width:100%!important;
  max-width:none!important;
  overflow:hidden;
}
body .elementor #hero .hero-panel > .e-con-inner{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  width:100%!important;
}

/* List rows — bordered chips matching HTML .panel-list li (flex/pad on li; no link wrapper) */
body .elementor .it-hero .panel-list,
body .elementor #hero .panel-list{margin-bottom:0!important;width:100%!important;}
body .elementor .it-hero .panel-list .elementor-widget-container,
body .elementor #hero .panel-list .elementor-widget-container{width:100%!important;}
body .elementor .it-hero .panel-list .elementor-icon-list-items,
body .elementor #hero .panel-list .elementor-icon-list-items{
  display:flex!important;
  flex-direction:column!important;
  gap:.4rem!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  width:100%!important;
}
body .elementor .it-hero .panel-list .elementor-icon-list-item,
body .elementor #hero .panel-list .elementor-icon-list-item{
  display:flex!important;
  align-items:center!important;
  gap:.75rem!important;
  margin:0!important;
  padding:.5rem .8rem!important;
  border:1px solid rgba(255,255,255,.06)!important;
  border-radius:3px!important;
  background:transparent!important;
  transition:background .2s,border-color .2s;
  width:100%!important;
  box-sizing:border-box!important;
}
body .elementor .it-hero .panel-list .elementor-icon-list-item:hover,
body .elementor #hero .panel-list .elementor-icon-list-item:hover{
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(255,255,255,.14)!important;
}
body .elementor .it-hero .panel-list .elementor-icon-list-item a,
body .elementor .it-hero .panel-list .elementor-icon-list-item > .elementor-icon-list-item-content-wrapper,
body .elementor #hero .panel-list .elementor-icon-list-item a,
body .elementor #hero .panel-list .elementor-icon-list-item > .elementor-icon-list-item-content-wrapper{
  display:flex!important;
  align-items:center!important;
  gap:.75rem!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:0!important;
  margin:0!important;
  text-decoration:none!important;
}
body .elementor .it-hero .panel-list .elementor-icon-list-text,
body .elementor #hero .panel-list .elementor-icon-list-text{
  font-family:var(--fo)!important;
  font-size:.8rem!important;
  font-weight:300!important;
  color:rgba(255,255,255,.5)!important;
  line-height:1.4!important;
}
body .elementor .it-hero .panel-list .elementor-icon-list-icon,
body .elementor #hero .panel-list .elementor-icon-list-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:6px!important;
  min-width:6px!important;
  height:6px!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
  flex-shrink:0!important;
}
/* Replace FA circle with solid 6px .panel-dot */
body .elementor .it-hero .panel-list .elementor-icon-list-icon i,
body .elementor .it-hero .panel-list .elementor-icon-list-icon svg,
body .elementor #hero .panel-list .elementor-icon-list-icon i,
body .elementor #hero .panel-list .elementor-icon-list-icon svg{display:none!important;}
body .elementor .it-hero .panel-list .elementor-icon-list-icon::before,
body .elementor #hero .panel-list .elementor-icon-list-icon::before{
  content:""!important;
  display:block!important;
  width:6px!important;
  height:6px!important;
  border-radius:50%!important;
  background:#aaaaaa!important;
  flex-shrink:0!important;
}
body .elementor #hero .panel-list .elementor-icon-list-item:nth-child(2) .elementor-icon-list-icon::before{background:#777776!important;}
body .elementor #hero .panel-list .elementor-icon-list-item:nth-child(3) .elementor-icon-list-icon::before{background:#555554!important;}
body .elementor #hero .panel-list .elementor-icon-list-item:nth-child(4) .elementor-icon-list-icon::before{background:#888888!important;}
body .elementor #hero .panel-list .elementor-icon-list-item:nth-child(5) .elementor-icon-list-icon::before{background:#666664!important;}

/* Divider between list and stats (HTML .panel-divider) */
body .elementor #hero .panel-divider,
body .elementor #hero .panel-divider .elementor-divider-separator{
  width:100%!important;
  border:none!important;
  border-top:1px solid var(--line-light)!important;
  margin:1.2rem 0!important;
  height:0!important;
  padding:0!important;
}
body .elementor #hero .panel-divider .elementor-divider{padding:0!important;margin:0!important;}
body .elementor #hero .elementor-widget-divider.panel-divider{margin:0!important;}

/* Panel stats — 1px hairline grid */
body .elementor #hero .panel-stats{
  width:100%!important;
  border:1px solid var(--line-light)!important;
  border-radius:3px!important;
  overflow:hidden!important;
  background:var(--line-light)!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:1px!important;
  padding:0!important;
}
body .elementor #hero .panel-stats > .e-con-inner{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:1px!important;
  width:100%!important;
  padding:0!important;
  margin:0!important;
}
body .elementor #hero .panel-stat{
  background:rgba(255,255,255,.025)!important;
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  gap:.25rem!important;
}
body .elementor #hero .panel-stat > .e-con-inner{
  display:flex!important;
  flex-direction:column!important;
  gap:.25rem!important;
  width:100%!important;
}
body .elementor #hero .panel-stat .ps-num .elementor-heading-title,
body .elementor #hero .panel-stat .ps-num{
  font-family:var(--fp)!important;
  font-size:1.6rem!important;
  font-weight:700!important;
  color:var(--white)!important;
  line-height:1!important;
}
body .elementor #hero .panel-stat .ps-num .elementor-heading-title sup,
body .elementor #hero .panel-stat .ps-num .elementor-heading-title > sup,
body .elementor #hero .panel-stat .elementor-heading-title sup{
  font-size:.8rem!important;
  color:rgba(255,255,255,.4)!important;
  vertical-align:super!important;
  line-height:0!important;
}
body .elementor #hero .panel-stat .ps-label .elementor-heading-title{
  font-family:var(--fm)!important;
  font-size:.54rem!important;
  letter-spacing:.12em!important;
  color:var(--slate)!important;
  text-transform:uppercase!important;
  margin-top:.25rem!important;
}
/* Analytics bar */
body .elementor #hero .hero-bar{width:100%!important;max-width:none!important;align-self:stretch!important;margin-top:auto!important;border-top:1px solid var(--line-light)!important;background:transparent!important;position:relative;z-index:2;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important;padding:0!important;}
body .elementor #hero .hero-bar > .e-con-inner{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important;width:100%!important;max-width:none!important;padding:0!important;}
body .elementor #hero .hbar-item{border-right:1px solid var(--line-light)!important;width:100%!important;display:flex!important;flex-direction:column!important;gap:.25rem!important;}
body .elementor #hero .hbar-item:last-child{border-right:none!important;}
body .elementor #hero .hbar-item > .e-con-inner{display:flex!important;flex-direction:column!important;gap:.25rem!important;width:100%!important;}
/* Align first/last cells with 6% content gutter */
body .elementor #hero .hbar-item:first-child{--padding-left:6%!important;}
body .elementor #hero .hbar-item:last-child{--padding-right:6%!important;}
body .elementor #hero .hbar-item:first-child > .e-con-inner{padding-left:0!important;}
body .elementor #hero .hbar-item:last-child > .e-con-inner{padding-right:0!important;}

@media(max-width:900px){
  body .elementor #hero .hero-content,
  body .elementor #hero .hero-content > .e-con-inner{grid-template-columns:1fr!important;gap:3rem!important;}
  body .elementor #hero .hero-right{display:none!important;}
  body .elementor #hero .hero-bar,
  body .elementor #hero .hero-bar > .e-con-inner{grid-template-columns:1fr 1fr!important;}
  body .elementor #hero .hbar-item:nth-child(2){border-right:none!important;}
  body .elementor #hero .hbar-item:nth-child(1),
  body .elementor #hero .hbar-item:nth-child(2){border-bottom:1px solid var(--line-light)!important;}
  body .elementor #hero .hbar-item:first-child,
  body .elementor #hero .hbar-item:last-child{--padding-left:1.5rem!important;--padding-right:1.5rem!important;}
}

/* ════════════════════════════════════════
   TICKER — original .ticker-track / .ti infinite marquee
   ════════════════════════════════════════ */
body .elementor .ticker{background:var(--navy2)!important;border-bottom:1px solid var(--line-light)!important;overflow:hidden!important;display:block!important;}
body .elementor .ticker > .e-con-inner{padding:0!important;overflow:hidden!important;display:block!important;width:100%!important;}
body .elementor .ticker .elementor-widget-text-editor{padding:0!important;width:100%!important;max-width:none!important;}
body .elementor .ticker-track{display:flex!important;flex-wrap:nowrap!important;width:max-content!important;min-width:100%!important;animation:scroll 44s linear infinite!important;will-change:transform;margin:0!important;padding:0!important;}
body .elementor .ticker-track .ti,
.ticker .ti{display:inline-flex!important;align-items:center!important;gap:1rem!important;flex:0 0 auto!important;}

@keyframes scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@keyframes it-ticker{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media (prefers-reduced-motion:reduce){
  body .elementor .ticker .ticker-track,
  body .elementor .ticker-track,
  .ticker .ticker-track{animation:none!important;}
}

/* ════════════════════════════════════════
   PROPOSITION — layout chrome only (type/spacing via Elementor)
   ════════════════════════════════════════ */
body .elementor #proposition .prop-intro,
body .elementor #proposition .prop-intro > .e-con-inner{
  max-width:780px!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body .elementor #proposition .prop-copy .elementor-widget-container,
body .elementor #proposition .prop-copy .elementor-widget-container p{max-width:700px;margin-left:auto;margin-right:auto;}

/* 1px card grid + hover sweep */
body .elementor #proposition .divisions,
body .elementor #proposition .divisions > .e-con-inner{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:1px!important;
  background:var(--line-light)!important;
  border:1px solid var(--line-light)!important;
  padding:0!important;
  width:100%!important;
}
body .elementor #proposition .division{
  position:relative;
  overflow:hidden;
  transition:background .3s;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  width:100%!important;
}
body .elementor #proposition .division::after{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:1px;
  background:rgba(255,255,255,.12);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s var(--ease);
}
body .elementor #proposition .division:hover{background:rgba(255,255,255,.045)!important;}
body .elementor #proposition .division:hover::after{transform:scaleX(1);}
body .elementor #proposition .division > .e-con-inner{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  width:100%!important;
}

/* Icon wrap chrome (SVG HTML widget) */
body .elementor #proposition .division .div-icon-wrap{
  width:36px!important;
  height:36px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:3px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(255,255,255,.04)!important;
  box-sizing:border-box!important;
}
body .elementor #proposition .division .div-icon-wrap svg{
  width:16px!important;
  height:16px!important;
  stroke:rgba(255,255,255,.65)!important;
  fill:none!important;
  stroke-width:1.5!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body .elementor #proposition .division .elementor-widget-html.div-icon{
  width:auto!important;
  align-self:flex-start!important;
}

/* Pill badge — add class "div-pill" on the heading widget (HTML .div-pill, no dot) */
body .elementor .div-pill,
body .elementor #proposition .div-pill{
  width:fit-content!important;
  max-width:100%!important;
  align-self:flex-start!important;
  border:none!important;
  background:transparent!important;
  padding:0!important;
}
.div-pill p{
  line-height: 1.7 !important;
}
body .elementor .div-pill .elementor-heading-title,
body .elementor #proposition .div-pill .elementor-heading-title{
  display:inline-block!important;
  width:fit-content!important;
  max-width:100%!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:2px!important;
  padding:.3rem 1rem!important;
  box-sizing:border-box!important;
  background:transparent!important;
}

/* List stack gap only — dashes from shared dash-list chrome */
body .elementor #proposition .division .elementor-icon-list-items{
  display:flex!important;
  flex-direction:column!important;
  gap:.3rem!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body .elementor #proposition .division .elementor-icon-list-item{margin:0!important;}
body .elementor #proposition .division .div-list .elementor-icon-list-text::before{
  width:12px!important;
  background:rgba(255,255,255,.2)!important;
  margin-top:.55em!important;
}

/* ════════════════════════════════════════
   SERVICES — layout chrome only (type/spacing via Elementor)
   ════════════════════════════════════════ */
body .elementor #services .svc-top,
body .elementor #services .svc-top > .e-con-inner{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:5rem!important;
  align-items:end!important;
  width:100%!important;
}
body .elementor #services .svc-top > .e-con,
body .elementor #services .svc-top > .e-con-inner > .e-con{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
}

/* 1px specialism grids */
body .elementor #services .specialism-grid,
body .elementor #services .specialism-grid > .e-con-inner{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:1px!important;
  background:rgba(17,17,16,.1)!important;
  border:1px solid rgba(17,17,16,.1)!important;
  padding:0!important;
  width:100%!important;
}
body .elementor #services .specialism-grid-2,
body .elementor #services .specialism-grid-2 > .e-con-inner{
  display:grid!important;
  grid-template-columns:repeat(2,1fr)!important;
  gap:1px!important;
  background:rgba(17,17,16,.1)!important;
  border:1px solid rgba(17,17,16,.1)!important;
  border-top:none!important;
  padding:0!important;
  width:100%!important;
}

/* Spec card hover sweep */
body .elementor #services .spec-card{
  position:relative;
  overflow:hidden;
  transition:background .25s;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  width:100%!important;
}
body .elementor #services .spec-card::after{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:1px;
  background:var(--navy);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .38s var(--ease);
}
body .elementor #services .spec-card:hover{background:var(--white)!important;}
body .elementor #services .spec-card:hover::after{transform:scaleX(1);}
body .elementor #services .spec-card > .e-con-inner{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  width:100%!important;
}

/* Spec icon wrap */
body .elementor .spec-card .spec-icon-wrap{
  width:36px!important;
  height:36px!important;
  border:1px solid rgba(17,17,16,.12)!important;
  border-radius:3px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(17,17,16,.03)!important;
  box-sizing:border-box!important;
}
body .elementor .spec-card .spec-icon-wrap svg{
  width:16px!important;
  height:16px!important;
  stroke:var(--navy)!important;
  fill:none!important;
  stroke-width:1.5!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  opacity:.7!important;
}
body .elementor #services .spec-card .elementor-widget-html.spec-icon{
  width:auto!important;
  align-self:flex-start!important;
}

/* Spec list stack — dashes via shared dash chrome; border/pad from Elementor */
body .elementor #services .spec-card .elementor-icon-list-items{
  display:flex!important;
  flex-direction:column!important;
  gap:.35rem!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body .elementor #services .spec-card .elementor-icon-list-item{margin:0!important;padding:0!important;}
body .elementor #services .spec-list .elementor-icon-list-text::before{
  width:10px!important;
  background:var(--navy)!important;
  opacity:.35!important;
  margin-top:.6em!important;
}

/* Spec pill badge — class "spec-pill" */
body .elementor .spec-pill,
body .elementor #services .spec-pill{
  width:fit-content!important;
  max-width:100%!important;
  align-self:flex-start!important;
  border:none!important;
  background:transparent!important;
  padding:0!important;
}
body .elementor .spec-pill .elementor-heading-title,
body .elementor #services .spec-pill .elementor-heading-title{
  display:inline-block!important;
  width:fit-content!important;
  border:1px solid rgba(17,17,16,.18)!important;
  border-radius:2px!important;
  padding:.25rem .9rem!important;
  box-sizing:border-box!important;
  background:transparent!important;
}

/* Why panel grids */
body .elementor #services .why-header,
body .elementor #services .why-header > .e-con-inner{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:4rem!important;
  align-items:end!important;
  width:100%!important;
}
body .elementor #services .why-header > .e-con,
body .elementor #services .why-header > .e-con-inner > .e-con{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
}
body .elementor #services .why-rows > .e-con-inner{
  display:flex!important;
  flex-direction:column!important;
  gap:1px!important;
  background:var(--line-light)!important;
  padding:0!important;
}
body .elementor #services .why-row{
  transition:background .22s;
  width:100%!important;
}
body .elementor #services .why-row:hover{background:rgba(255,255,255,.05)!important;}
/*
 * Number beside copy (HTML: 48px + 1fr).
 * Force on .e-con-inner and on .why-row itself — Elementor flex vars /
 * full-width widgets otherwise stack the number above the text.
 */
body .elementor #services .why-panel .why-row.e-con,
body .elementor #services .why-panel .why-row > .e-con-inner{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:flex-start!important;
  gap:2rem!important;
  --flex-direction:row!important;
  --flex-wrap:nowrap!important;
  --align-items:flex-start!important;
  width:100%!important;
}
body .elementor #services .why-panel .why-row > .e-con-inner > .elementor-widget-heading.why-n,
body .elementor #services .why-panel .why-row > .elementor-widget-heading.why-n,
body .elementor #services .why-panel .why-row .why-n.elementor-widget{
  width:48px!important;
  max-width:48px!important;
  min-width:48px!important;
  flex:0 0 48px!important;
  --width:48px!important;
  margin:0!important;
  align-self:flex-start!important;
}
body .elementor #services .why-panel .why-row > .e-con-inner > .why-copy,
body .elementor #services .why-panel .why-row > .why-copy,
body .elementor #services .why-panel .why-row .why-copy.e-con{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  flex:1 1 0%!important;
  --width:100%!important;
  --flex-grow:1!important;
}

/* ════════════════════════════════════════
   SECTORS — layout chrome only (type/pad in Elementor)
   ════════════════════════════════════════ */

/* Intro shell — border on outer; 1fr / 1.2fr grid on the item parent only */
body .elementor #sectors .sector-intro,
body .elementor #sectors .sectors-intro{
  width:100%!important;
  margin-bottom:0!important;
  border-bottom:1px solid var(--line-light)!important;
}
body .elementor #sectors .sector-intro > .e-con-inner,
body .elementor #sectors .sectors-intro > .e-con-inner{
  display:grid!important;
  grid-template-columns:1fr 1.2fr!important;
  gap:5rem!important;
  align-items:start!important;
  width:100%!important;
  --flex-direction:row!important;
  --flex-wrap:nowrap!important;
}
body .elementor #sectors .sector-intro:not(:has(> .e-con-inner)),
body .elementor #sectors .sectors-intro:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:1fr 1.2fr!important;
  gap:5rem!important;
  align-items:start!important;
}
body .elementor #sectors .sector-intro > .e-con-inner > .e-con,
body .elementor #sectors .sectors-intro > .e-con-inner > .e-con,
body .elementor #sectors .sector-intro > .sector-left,
body .elementor #sectors .sector-intro > .sector-right{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
}
body .elementor #sectors .sector-right{width:100%!important;}

/* Context 2×3 ghost grid */
body .elementor #sectors .sector-context > .e-con-inner{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:1px!important;
  background:var(--line-light)!important;
  border:1px solid var(--line-light)!important;
  padding:0!important;
  width:100%!important;
}
body .elementor #sectors .sector-context:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:1px!important;
  background:var(--line-light)!important;
  border:1px solid var(--line-light)!important;
}
body .elementor #sectors .sc-item{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  transition:background .2s;
}
body .elementor #sectors .sc-item:hover{background:rgba(255,255,255,.04)!important;}

/* Platform rows — pad/border (second row) via Elementor; 2-col chrome here */
body .elementor #sectors .platform-grid{width:100%!important;}
body .elementor #sectors .platform-grid > .e-con-inner{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:4rem!important;
  align-items:start!important;
  width:100%!important;
  --flex-direction:row!important;
  --flex-wrap:nowrap!important;
}
body .elementor #sectors .platform-grid:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:4rem!important;
  align-items:start!important;
}
/* First platform after intro — no extra top rule (intro already has bottom border) */
body .elementor #sectors .sector-intro + .platform-grid,
body .elementor #sectors .sectors-intro + .platform-grid{
  border-top:none!important;
}
body .elementor #sectors .sector-intro + .platform-grid > .e-con-inner,
body .elementor #sectors .sectors-intro + .platform-grid > .e-con-inner{
  padding-top:0!important;
}
body .elementor #sectors .platform-grid > .e-con-inner > .e-con,
body .elementor #sectors .platform-grid > .platform-copy,
body .elementor #sectors .platform-grid > .plat-modules{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
}

/* Module stack — 1px ghost list */
body .elementor #sectors .plat-modules > .e-con-inner{
  display:flex!important;
  flex-direction:column!important;
  gap:1px!important;
  background:var(--line-light)!important;
  padding:0!important;
  width:100%!important;
  border:1px solid var(--line-light)!important;
  box-sizing:border-box!important;
}
body .elementor #sectors .plat-modules:not(:has(> .e-con-inner)){
  display:flex!important;
  flex-direction:column!important;
  gap:1px!important;
  background:var(--line-light)!important;
  border:1px solid var(--line-light)!important;
}
body .elementor #sectors .plat-mod{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  box-sizing:border-box!important;
  transition:background .2s;
}
body .elementor #sectors .plat-mod:hover{background:rgba(255,255,255,.055)!important;}
body .elementor #sectors .platform-title em,
body .elementor #sectors .platform-grid h3 em{opacity:1!important;}
body .elementor #sectors .platform-copy > .elementor-widget-button{width:auto!important;align-self:flex-start!important;}

/* ════════════════════════════════════════
   CONSULTANCY — chrome only (type/pad in Elementor)
   Three blocks: pillars · problems panel · deliverables
   ════════════════════════════════════════ */

/* Intro 1fr / 1fr */
body .elementor #consultancy .bo-top{width:100%!important;}
body .elementor #consultancy .bo-top > .e-con-inner{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:5rem!important;
  align-items:end!important;
  width:100%!important;
  --flex-direction:row!important;
  --flex-wrap:nowrap!important;
}
body .elementor #consultancy .bo-top:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:5rem!important;
  align-items:end!important;
}
body .elementor #consultancy .bo-top > .e-con-inner > .e-con{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
}

/* Pillars — 2×2 ghost grid */
body .elementor #consultancy .pillars{width:100%!important;}
body .elementor #consultancy .pillars > .e-con-inner{
  display:grid!important;
  grid-template-columns:repeat(2,1fr)!important;
  gap:1px!important;
  background:rgba(17,17,16,.1)!important;
  border:1px solid rgba(17,17,16,.1)!important;
  padding:0!important;
  width:100%!important;
}
body .elementor #consultancy .pillars:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:repeat(2,1fr)!important;
  gap:1px!important;
  background:rgba(17,17,16,.1)!important;
  border:1px solid rgba(17,17,16,.1)!important;
}
body .elementor #consultancy .pillar{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
  transition:background .25s;
}
body .elementor #consultancy .pillar:hover{background:var(--white)!important;}
body .elementor #consultancy .pillar .pillar-icon-wrap{
  width:32px!important;
  height:32px!important;
  border:1px solid rgba(17,17,16,.12)!important;
  border-radius:2px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(17,17,16,.03)!important;
  flex-shrink:0!important;
  box-sizing:border-box!important;
}
body .elementor #consultancy .pillar .pillar-icon-wrap svg{
  width:14px!important;
  height:14px!important;
  stroke:var(--navy)!important;
  fill:none!important;
  stroke-width:1.5!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  opacity:.6!important;
  display:block!important;
}
body .elementor #consultancy .pillar > .elementor-widget-icon-list,
body .elementor #consultancy .pillar .pillar-list{width:100%!important;}
body .elementor #consultancy .pillar .elementor-icon-list-items{
  display:flex!important;
  flex-direction:column!important;
  gap:.3rem!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body .elementor #consultancy .pillar .elementor-icon-list-item{margin:0!important;padding:0!important;}
/* Dash already on .pillar-list text::before — keep aside of text */
body .elementor #consultancy .pillar .pillar-list .elementor-icon-list-text::before{margin-top:.6em!important;}

/* Problems panel — 1fr / 1fr; dots + row hairlines */
body .elementor #consultancy .problems-panel{width:100%!important;box-sizing:border-box!important;}
body .elementor #consultancy .problems-panel > .e-con-inner{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:4rem!important;
  align-items:start!important;
  width:100%!important;
  --flex-direction:row!important;
  --flex-wrap:nowrap!important;
}
body .elementor #consultancy .problems-panel:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:4rem!important;
  align-items:start!important;
}
body .elementor #consultancy .problems-panel > .e-con-inner > .e-con{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
}
body .elementor #consultancy .problems-panel .elementor-icon-list-items{
  display:flex!important;
  flex-direction:column!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  gap:0!important;
}
body .elementor #consultancy .problems-panel .elementor-icon-list-item{
  margin:0!important;
  padding:.55rem 0!important;
  border-bottom:1px solid rgba(255,255,255,.04)!important;
  display:flex!important;
  align-items:center!important;
  gap:.8rem!important;
}
body .elementor #consultancy .problems-panel .elementor-icon-list-item:last-child{border-bottom:none!important;}
body .elementor #consultancy .problems-panel .problem-list li::before,
body .elementor #consultancy .problems-panel .elementor-icon-list-item::before{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  background:none!important;
  border:none!important;
}
/* 3px solid dot aside of text */
body .elementor #consultancy .problems-panel .elementor-icon-list-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:3px!important;
  height:3px!important;
  min-width:3px!important;
  margin:0!important;
  flex-shrink:0!important;
  position:relative!important;
}
body .elementor #consultancy .problems-panel .elementor-icon-list-icon i,
body .elementor #consultancy .problems-panel .elementor-icon-list-icon svg{
  display:none!important;
  width:0!important;
  height:0!important;
}
body .elementor #consultancy .problems-panel .elementor-icon-list-icon::before{
  content:""!important;
  display:block!important;
  width:3px!important;
  height:3px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.25)!important;
}

/* Deliverables — 3-col ghost grid; icon beside copy */
body .elementor #consultancy .deliverables{width:100%!important;}
body .elementor #consultancy .deliverables > .e-con-inner{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:1px!important;
  background:rgba(17,17,16,.1)!important;
  border:1px solid rgba(17,17,16,.1)!important;
  padding:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}
body .elementor #consultancy .deliverables:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:1px!important;
  background:rgba(17,17,16,.1)!important;
  border:1px solid rgba(17,17,16,.1)!important;
}
body .elementor #consultancy .deliv{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  transition:background .2s;
}
body .elementor #consultancy .deliv:hover{background:var(--gold-pale)!important;}
body .elementor #consultancy .deliv,
body .elementor #consultancy .deliv > .e-con-inner{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:flex-start!important;
  gap:1.2rem!important;
  --flex-direction:row!important;
  --flex-wrap:nowrap!important;
}
body .elementor #consultancy .deliv .deliv-icon,
body .elementor #consultancy .deliv .deliv-icon-widget{
  flex:0 0 38px!important;
  width:38px!important;
  max-width:38px!important;
}
body .elementor #consultancy .deliv .deliv-icon{
  width:38px!important;
  height:38px!important;
  border-radius:3px!important;
  background:rgba(17,17,16,.04)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-shrink:0!important;
  border:1px solid rgba(17,17,16,.1)!important;
  box-sizing:border-box!important;
}
body .elementor #consultancy .deliv-icon svg{
  width:16px!important;
  height:16px!important;
  stroke:var(--navy)!important;
  fill:none!important;
  stroke-width:1.5!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  opacity:.65!important;
  display:block!important;
}
body .elementor #consultancy .deliv .deliv-copy{
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
}

/* ════════════════════════════════════════
   ACADEMY — chrome only (type/pad in Elementor)
   Intro + focus box · three membership tiers
   ════════════════════════════════════════ */

body .elementor #academy .academy-intro{width:100%!important;}
body .elementor #academy .academy-intro > .e-con-inner{
  display:grid!important;
  grid-template-columns:1fr 1.2fr!important;
  gap:5rem!important;
  align-items:end!important;
  width:100%!important;
  --flex-direction:row!important;
  --flex-wrap:nowrap!important;
}
body .elementor #academy .academy-intro:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:1fr 1.2fr!important;
  gap:5rem!important;
  align-items:end!important;
}
body .elementor #academy .academy-intro > .e-con-inner > .e-con,
body .elementor #academy .academy-left,
body .elementor #academy .academy-right{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
}

/* Focus box border/bg via Elementor — keep width reset */
body .elementor #academy .academy-focus{width:100%!important;}

/* Focus 2-col ghost grid */
body .elementor #academy .academy-focus-grid > .e-con-inner{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:1px!important;
  background:var(--line-light)!important;
  padding:0!important;
  width:100%!important;
}
body .elementor #academy .academy-focus-grid:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:1px!important;
  background:var(--line-light)!important;
  width:100%!important;
}
body .elementor #academy .afg-item{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body .elementor #academy .afg-item .elementor-widget-container p,
body .elementor #academy .afg-item > p{margin:0!important;}

/* Coming Soon pill chrome — type/margin in Elementor */
body .elementor #academy .academy-left > .elementor-widget-button{width:auto!important;align-self:flex-start!important;}

/* Tiers — 3-col ghost grid */
body .elementor #academy .academy-tiers{width:100%!important;}
body .elementor #academy .academy-tiers > .e-con-inner{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:1px!important;
  background:var(--line-light)!important;
  border:1px solid var(--line-light)!important;
  padding:0!important;
  width:100%!important;
}
body .elementor #academy .academy-tiers:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:1px!important;
  background:var(--line-light)!important;
  border:1px solid var(--line-light)!important;
}
body .elementor #academy .tier{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
  position:relative;
  transition:background .25s;
}
body .elementor #academy .tier:hover{background:rgba(255,255,255,.05)!important;}

/* Tier badge — pill chrome on title only */
body .elementor #academy .tier-badge,
body .elementor #academy .tier > .elementor-widget-heading:first-child{
  border:none!important;
  background:transparent!important;
  padding:0!important;
  width:auto!important;
  max-width:100%!important;
}
body .elementor #academy .tier > .elementor-widget-heading:first-child .elementor-heading-title,
body .elementor #academy .tier-badge .elementor-heading-title{
  display:inline-block!important;
  width:fit-content!important;
  border:1px solid rgba(255,255,255,.12)!important;
  padding:.3rem .9rem!important;
  border-radius:2px!important;
  box-sizing:border-box!important;
}

/* Tier list — dashes aside + row hairlines */
body .elementor #academy .tier > .elementor-widget-icon-list,
body .elementor #academy .tier .tier-list{width:100%!important;}
body .elementor #academy .tier .elementor-icon-list-items{
  display:flex!important;
  flex-direction:column!important;
  gap:.35rem!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body .elementor #academy .tier .elementor-icon-list-item{
  margin:0!important;
  padding:.35rem 0!important;
  border-bottom:1px solid rgba(255,255,255,.035)!important;
}
body .elementor #academy .tier .elementor-icon-list-item:last-child{border-bottom:none!important;}
body .elementor #academy .tier .tier-list .elementor-icon-list-text::before{margin-top:.6em!important;}

/* ════════════════════════════════════════
   ABOUT — chrome only (type/pad in Elementor)
   Intro 1fr/1.4fr · tags · 3-col team cards
   ════════════════════════════════════════ */

body .elementor #about .about-intro{width:100%!important;}
body .elementor #about .about-intro > .e-con-inner{
  display:grid!important;
  grid-template-columns:1fr 1.4fr!important;
  gap:6rem!important;
  align-items:end!important;
  width:100%!important;
  --flex-direction:row!important;
  --flex-wrap:nowrap!important;
}
body .elementor #about .about-intro:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:1fr 1.4fr!important;
  gap:6rem!important;
  align-items:end!important;
}
body .elementor #about .about-intro > .e-con-inner > .e-con,
body .elementor #about .about-heading-col,
body .elementor #about .about-copy-col{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
}
body .elementor #about .about-copy-col > .elementor-widget-button{
  width:auto!important;
  align-self:flex-start!important;
}

/* Tags — flex wrap; pill chrome on title */
body .elementor #about .about-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.45rem!important;
  width:100%!important;
  align-self:stretch!important;
}
body .elementor #about .about-tags > .e-con-inner{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  gap:.45rem!important;
  padding:0!important;
  width:100%!important;
}
body .elementor #about .about-tag,
body .elementor #about .about-tags .about-tag{
  width:auto!important;
  max-width:none!important;
  flex:0 0 auto!important;
  border:none!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
}
body .elementor #about .about-tag .elementor-heading-title,
body .elementor #about .about-tags .about-tag .elementor-heading-title,
body .elementor #about .about-tags > span.about-tag{
  display:inline-block!important;
  width:fit-content!important;
  background:transparent!important;
  border:1px solid rgba(17,17,16,.18)!important;
  padding:.3rem .9rem!important;
  border-radius:2px!important;
  transition:background .2s,color .2s,border-color .2s,opacity .2s,-webkit-text-fill-color .2s!important;
  box-sizing:border-box!important;
  margin:0!important;
}
body .elementor #about .about-tag:hover .elementor-heading-title,
body .elementor #about .about-tags .about-tag:hover .elementor-heading-title,
body .elementor #about .about-tags > span.about-tag:hover{
  background:var(--navy)!important;
  color:var(--white)!important;
  -webkit-text-fill-color:var(--white)!important;
  opacity:1!important;
  border-color:var(--navy)!important;
}

/* Team — 3-col ghost grid */
body .elementor #about .about-team{width:100%!important;}
body .elementor #about .about-team > .e-con-inner{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:1px!important;
  background:rgba(17,17,16,.1)!important;
  border:1px solid rgba(17,17,16,.1)!important;
  padding:0!important;
  width:100%!important;
}
body .elementor #about .about-team:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:1px!important;
  background:rgba(17,17,16,.1)!important;
  border:1px solid rgba(17,17,16,.1)!important;
}
body .elementor #about .team-card{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  transition:background .25s;
}
body .elementor #about .team-card:hover{background:var(--white)!important;}

/* Portrait gradient + initials circle */
body .elementor #about .portrait-fill{
  background:linear-gradient(160deg,var(--navy3) 0%,var(--navy2) 100%)!important;
  width:100%!important;
}
body .elementor #about .portrait-fill > .e-con-inner{
  min-height:220px;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
}
body .elementor #about .portrait-initials{
  border:none!important;
  background:transparent!important;
  padding:0!important;
  margin:0 auto!important;
  width:fit-content!important;
  align-self:center!important;
}
body .elementor #about .portrait-initials .elementor-heading-title{
  width:56px!important;
  height:56px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  box-sizing:border-box!important;
}
body .elementor #about .portrait-fill > .portrait-initials:not(.elementor-widget){
  width:56px!important;
  height:56px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
body .elementor #about .portrait-strip{width:100%!important;}
body .elementor #about .bio-panel{
  width:100%!important;
  flex:1!important;
}

/* ════════════════════════════════════════
   PROCESS — chrome only (type/pad in Elementor)
   Intro 1fr/1.5fr · 5-col steps ghost grid
   ════════════════════════════════════════ */

body .elementor #process .process-top{width:100%!important;}
body .elementor #process .process-top > .e-con-inner{
  display:grid!important;
  grid-template-columns:1fr 1.5fr!important;
  gap:5rem!important;
  align-items:end!important;
  width:100%!important;
  --flex-direction:row!important;
  --flex-wrap:nowrap!important;
}
body .elementor #process .process-top:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:1fr 1.5fr!important;
  gap:5rem!important;
  align-items:end!important;
}
body .elementor #process .process-top > .e-con-inner > .e-con,
body .elementor #process .process-heading-col,
body .elementor #process .process-copy-col{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
}

/* Steps — 5-col 1px ghost grid */
body .elementor #process .steps{width:100%!important;}
body .elementor #process .steps > .e-con-inner{
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  gap:1px!important;
  background:var(--line-light)!important;
  border:1px solid var(--line-light)!important;
  padding:0!important;
  width:100%!important;
}
body .elementor #process .steps:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  gap:1px!important;
  background:var(--line-light)!important;
  border:1px solid var(--line-light)!important;
}
body .elementor #process .step{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
  transition:background .25s;
}
body .elementor #process .step:hover{background:rgba(255,255,255,.05)!important;}

/* 24px hairline under step label */
body .elementor #process .step-line,
body .elementor #process .step .elementor-widget-divider{
  width:24px!important;
  max-width:24px!important;
  align-self:flex-start!important;
}
body .elementor #process .step-line .elementor-divider-separator,
body .elementor #process .step .elementor-divider-separator{
  width:24px!important;
  margin:0!important;
  border-top-color:rgba(255,255,255,.15)!important;
}

/* ════════════════════════════════════════
   CLIENTS
   ════════════════════════════════════════ */


/* ════════════════════════════════════════
   CLIENTS — chrome only (type/pad in Elementor)
   Intro 1fr/1fr · 4-col type cards
   ════════════════════════════════════════ */

body .elementor #clients .clients-top{width:100%!important;}
body .elementor #clients .clients-top > .e-con-inner{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:5rem!important;
  align-items:end!important;
  width:100%!important;
  --flex-direction:row!important;
  --flex-wrap:nowrap!important;
}
body .elementor #clients .clients-top:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:5rem!important;
  align-items:end!important;
}
body .elementor #clients .clients-top > .e-con-inner > .e-con,
body .elementor #clients .clients-heading-col,
body .elementor #clients .clients-copy-col{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
}
body .elementor #clients .clients-top .sub .elementor-widget-container p,
body .elementor #clients .clients-copy-col .elementor-widget-text-editor .elementor-widget-container p{
  max-width:none!important;
}

/* 4-col ghost grid */
body .elementor #clients .client-types{width:100%!important;}
body .elementor #clients .client-types > .e-con-inner{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:1px!important;
  background:rgba(17,17,16,.1)!important;
  border:1px solid rgba(17,17,16,.1)!important;
  padding:0!important;
  width:100%!important;
}
body .elementor #clients .client-types:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:1px!important;
  background:rgba(17,17,16,.1)!important;
  border:1px solid rgba(17,17,16,.1)!important;
}
body .elementor #clients .client-type{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
  transition:background .22s;
}
body .elementor #clients .client-type:hover{background:var(--gold-pale)!important;}

/* Icon wrap chrome */
body .elementor #clients .client-type .ct-icon-wrap{
  width:36px!important;
  height:36px!important;
  border:1px solid rgba(17,17,16,.1)!important;
  border-radius:3px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(17,17,16,.03)!important;
  box-sizing:border-box!important;
  flex-shrink:0!important;
}
body .elementor #clients .ct-icon-wrap svg{
  width:15px!important;
  height:15px!important;
  stroke:var(--navy)!important;
  fill:none!important;
  stroke-width:1.5!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  opacity:.6!important;
  display:block!important;
}

/* ════════════════════════════════════════
   TESTIMONIALS — chrome only (type/pad in Elementor)
   Header 1fr/auto · 3-col quote cards · 4×2 outcomes
   ════════════════════════════════════════ */

body .elementor #testimonials .testi-top{width:100%!important;}
body .elementor #testimonials .testi-top > .e-con-inner{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:end!important;
  gap:2rem!important;
  width:100%!important;
  --flex-direction:row!important;
  --flex-wrap:nowrap!important;
}
body .elementor #testimonials .testi-top:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:end!important;
  gap:2rem!important;
}
body .elementor #testimonials .testi-top > .e-con-inner > .elementor-widget-heading,
body .elementor #testimonials .testi-heading{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
}
body .elementor #testimonials .testi-top > .e-con-inner > .elementor-widget-button,
body .elementor #testimonials .testi-top .btn-ghost{
  width:auto!important;
  justify-self:end!important;
  align-self:end!important;
  flex:none!important;
}

/* 3-col ghost grid */
body .elementor #testimonials .tgrid{width:100%!important;}
body .elementor #testimonials .tgrid > .e-con-inner{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:1px!important;
  background:rgba(17,17,16,.09)!important;
  border:1px solid rgba(17,17,16,.09)!important;
  padding:0!important;
  width:100%!important;
}
body .elementor #testimonials .tgrid:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:1px!important;
  background:rgba(17,17,16,.09)!important;
  border:1px solid rgba(17,17,16,.09)!important;
}
body .elementor #testimonials .tcard{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
  transition:background .22s;
}
body .elementor #testimonials .tcard:hover{background:var(--gold-pale)!important;}
body .elementor #testimonials .tcard > .e-con-inner{
  height:100%;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:0!important;
}

/* Source pill chrome */
body .elementor #testimonials .tcard-source{border:none!important;background:transparent!important;padding:0!important;margin:0!important;}
body .elementor #testimonials .tcard-source .elementor-heading-title{
  border:1px solid rgba(17,17,16,.14)!important;
  padding:.25rem .75rem!important;
  border-radius:2px!important;
  display:inline-block!important;
  width:fit-content!important;
  box-sizing:border-box!important;
  margin:0!important;
}
body .elementor #testimonials .tcard .tcard-quote{flex:1 1 auto!important;}

/* Attribution row chrome (pad/gap in Elementor) */
body .elementor #testimonials .tcard-who{
  border-top:1px solid rgba(17,17,16,.07)!important;
  width:100%!important;
}
body .elementor #testimonials .tcard-who > .e-con-inner{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:.8rem!important;
}
body .elementor #testimonials .tcard-av{border:none!important;background:transparent!important;padding:0!important;margin:0!important;width:auto!important;flex-shrink:0!important;}
body .elementor #testimonials .tcard-av .elementor-heading-title{
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background:var(--navy)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
}

/* Outcomes panel chrome */
body .elementor #testimonials .outcomes{width:100%!important;}
body .elementor #testimonials .outcomes-grid{width:100%!important;}
body .elementor #testimonials .outcomes-grid > .e-con-inner{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:1px!important;
  background:var(--line-light)!important;
  padding:0!important;
  width:100%!important;
}
body .elementor #testimonials .outcomes-grid:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:1px!important;
  background:var(--line-light)!important;
}
body .elementor #testimonials .outcome{
  border:1px solid rgba(255,255,255,.05)!important;
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
}
body .elementor #testimonials .outcome-arrow{border:none!important;background:transparent!important;padding:0!important;}
body .elementor #testimonials .outcome-arrow .elementor-heading-title{display:block!important;margin:0!important;}

/* ════════════════════════════════════════
   PRICING — chrome only (type/pad in Elementor)
   Intro 1fr/1fr · 4-col cards · label pill · dash list · full-width BTNs
   ════════════════════════════════════════ */

body .elementor #pricing .pricing-top{width:100%!important;}
body .elementor #pricing .pricing-top > .e-con-inner{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:5rem!important;
  align-items:end!important;
  width:100%!important;
  --flex-direction:row!important;
  --flex-wrap:nowrap!important;
}
body .elementor #pricing .pricing-top:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:5rem!important;
  align-items:end!important;
}
body .elementor #pricing .pricing-top > .e-con-inner > .e-con,
body .elementor #pricing .pricing-heading-col,
body .elementor #pricing .pricing-copy-col{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
}
body .elementor #pricing .pricing-top .sub .elementor-widget-container p,
body .elementor #pricing .pricing-copy-col .elementor-widget-text-editor .elementor-widget-container p{
  max-width:none!important;
}

/* 4-col ghost grid */
body .elementor #pricing .pricing-cards{width:100%!important;}
body .elementor #pricing .pricing-cards > .e-con-inner{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:1px!important;
  background:rgba(17,17,16,.1)!important;
  border:1px solid rgba(17,17,16,.1)!important;
  padding:0!important;
  width:100%!important;
}
body .elementor #pricing .pricing-cards:not(:has(> .e-con-inner)){
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:1px!important;
  background:rgba(17,17,16,.1)!important;
  border:1px solid rgba(17,17,16,.1)!important;
}
body .elementor #pricing .pcard{
  width:100%!important;
  max-width:100%!important;
  --width:100%!important;
  flex:none!important;
  min-width:0!important;
}
body .elementor #pricing .pcard.featured{position:relative;}
body .elementor #pricing .pcard.featured::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:1px;
  background:rgba(255,255,255,.12);
  z-index:1;
}
body .elementor #pricing .pcard > .e-con-inner{
  height:100%;
  display:flex!important;
  flex-direction:column!important;
}

/* Label pill chrome */
body .elementor #pricing .pcard-label{border:none!important;background:transparent!important;padding:0!important;margin:0!important;}
body .elementor #pricing .pcard-label .elementor-heading-title{
  display:inline-block!important;
  width:fit-content!important;
  padding:.3rem .8rem!important;
  border:1px solid rgba(17,17,16,.16)!important;
  background:transparent!important;
  border-radius:2px!important;
  margin:0!important;
  box-sizing:border-box!important;
}
body .elementor #pricing .pcard-label .elementor-heading-title::before{content:none!important;display:none!important;}
body .elementor #pricing .pcard.featured .pcard-label .elementor-heading-title{border-color:rgba(255,255,255,.15)!important;}

/* Dash list chrome — borders + dash (type/gap in Elementor) */
body .elementor #pricing .pcard > .elementor-widget-icon-list{flex:1;width:100%!important;}
body .elementor #pricing .pcard .elementor-icon-list-items{
  display:flex!important;
  flex-direction:column!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  gap: 0.4rem !important;
}
body .elementor #pricing .pcard .elementor-icon-list-item{
  margin:0!important;
  padding:.38rem 0!important;
  border-bottom:1px solid rgba(17,17,16,.05)!important;
}
body .elementor #pricing .pcard.featured .elementor-icon-list-item{border-bottom-color:var(--line-light)!important;}
body .elementor #pricing .pcard.featured .elementor-icon-list-text::before{
  background:rgba(255,255,255,.25)!important;
  opacity:1!important;
}

/* Full-width card CTAs */
body .elementor #pricing .pcard .btn-primary,
body .elementor #pricing .pcard .btn-outline,
body .elementor #pricing .pcard .btn-dark,
body .elementor #pricing .pcard .btn-ghost,
body .elementor #pricing .pcard .btn-ghost-white,
body .elementor #pricing .pcard .elementor-widget-button{
  width:100%!important;
  max-width:100%!important;
  flex:0 0 auto!important;
  align-self:stretch!important;
  margin-top:auto!important;
}
body .elementor #pricing .pcard .btn-primary .elementor-button-wrapper,
body .elementor #pricing .pcard .btn-outline .elementor-button-wrapper,
body .elementor #pricing .pcard .btn-dark .elementor-button-wrapper,
body .elementor #pricing .pcard .btn-ghost .elementor-button-wrapper,
body .elementor #pricing .pcard .btn-ghost-white .elementor-button-wrapper,
body .elementor #pricing .pcard .elementor-widget-button .elementor-button-wrapper{width:100%!important;}
body .elementor #pricing .pcard .btn-primary .elementor-button,
body .elementor #pricing .pcard .btn-outline .elementor-button,
body .elementor #pricing .pcard .btn-dark .elementor-button,
body .elementor #pricing .pcard .btn-ghost .elementor-button,
body .elementor #pricing .pcard .btn-ghost-white .elementor-button,
body .elementor #pricing .pcard .elementor-widget-button .elementor-button{
  width:100%!important;
  justify-content:center!important;
}

/* ════════════════════════════════════════
   CTA — chrome only (type/pad in Elementor)
   Centered 680px column · btn row · mono details strip
   ════════════════════════════════════════ */

body .elementor #cta > .e-con-inner{align-items:center!important;}
body .elementor #cta .cta-inner{width:100%!important;max-width:680px!important;}
body .elementor #cta .cta-inner > .e-con-inner{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  width:100%!important;
  max-width:680px!important;
  margin:0 auto!important;
}
body .elementor #cta .cta-inner:not(:has(> .e-con-inner)){
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  margin:0 auto!important;
}

/* Eyebrow — no dash on CTA */
body .elementor #cta .eyebrow,
body .elementor #cta .eyebrow.eyebrow-light{
  border:none!important;
  background:transparent!important;
  padding:0!important;
  width:100%!important;
}
body .elementor #cta .eyebrow .elementor-heading-title{
  justify-content:center!important;
  margin:0!important;
}
body .elementor #cta .eyebrow .elementor-heading-title::before{content:none!important;display:none!important;}

body .elementor #cta .cta-heading,
body .elementor #cta .cta-heading .elementor-heading-title,
body .elementor #cta .cta-note,
body .elementor #cta .cta-note .elementor-widget-container,
body .elementor #cta .cta-note .elementor-widget-container p{
  text-align:center!important;
  width:100%!important;
}
body .elementor #cta .cta-note .elementor-widget-container,
body .elementor #cta .cta-note .elementor-widget-container p{
  max-width:560px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Button row */
body .elementor #cta .cta-btns{width:100%!important;}
body .elementor #cta .cta-btns > .e-con-inner{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  gap:.75rem!important;
  justify-content:center!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
}
body .elementor #cta .cta-btns:not(:has(> .e-con-inner)){
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.75rem!important;
  justify-content:center!important;
}
body .elementor #cta .cta-btns .elementor-widget-button{
  width:auto!important;
  flex:0 0 auto!important;
  margin:0!important;
  align-self:center!important;
}

/* Details strip — HTML widget; type/color here (kills WP/Elementor link magenta) */
body .elementor #cta .cta-details-wrap,
body .elementor #cta .cta-details-wrap .elementor-widget-container{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:none!important;
  background:transparent!important;
}
body .elementor #cta .cta-details,
body .elementor #cta .cta-details-wrap .cta-details{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.8rem!important;
  flex-wrap:wrap!important;
  margin:0!important;
  padding:0!important;
  width:100%!important;
  font-family:var(--fm)!important;
  font-size:.58rem!important;
  letter-spacing:.12em!important;
  color:rgba(255,255,255,.25)!important;
}
body .elementor #cta .cta-details span,
body .elementor #cta .cta-details a{
  font:inherit!important;
  letter-spacing:inherit!important;
  color:inherit!important;
}
body .elementor #cta .cta-details a{
  color:rgba(255,255,255,.45)!important;
  text-decoration:none!important;
  transition:color .2s;
}
body .elementor #cta .cta-details a:hover{color:var(--white)!important;}

/* ════════════════════════════════════════
   GRID CHILDREN — force 100% width
   ════════════════════════════════════════ */
body .elementor .sector-intro > .e-con-inner > .e-con{width:100%!important;max-width:100%!important;--width:100%!important;flex:none!important;min-width:0!important;}

/* ════════════════════════════════════════
   RESPONSIVE — match HTML design breakpoints
   Always retarget: shell · > .e-con-inner · :not(:has())
   Clear Elementor flex nowrap vars when stacking
   ════════════════════════════════════════ */

/* Shared: force grid children full-bleed inside collapsed grids */
@media(max-width:1100px){
  body .elementor #pricing .pricing-cards,
  body .elementor #pricing .pricing-cards > .e-con-inner,
  body .elementor #pricing .pricing-cards:not(:has(> .e-con-inner)){grid-template-columns:repeat(2,1fr)!important;}
  body .elementor #process .steps,
  body .elementor #process .steps > .e-con-inner,
  body .elementor #process .steps:not(:has(> .e-con-inner)){grid-template-columns:repeat(3,1fr)!important;}
}

@media(max-width:900px){
  /* Side gutters — slightly tighter on tablet/phone */
  body .elementor .it-section:not(#hero):not(#cta),
  body .elementor #proposition,
  body .elementor #services,
  body .elementor #sectors,
  body .elementor #consultancy,
  body .elementor #academy,
  body .elementor #about,
  body .elementor #process,
  body .elementor #clients,
  body .elementor #testimonials,
  body .elementor #pricing,
  body .elementor #cta{
    padding-left:5%!important;
    padding-right:5%!important;
  }

  /* Hero (also in section block above — keep end-file in sync) */
  body .elementor #hero .hero-content,
  body .elementor #hero .hero-content > .e-con-inner,
  body .elementor #hero .hero-content:not(:has(> .e-con-inner)){
    grid-template-columns:1fr!important;
    gap:3rem!important;
  }
  body .elementor #hero .hero-right{display:none!important;}
  body .elementor #hero .hero-bar,
  body .elementor #hero .hero-bar > .e-con-inner,
  body .elementor #hero .hero-bar:not(:has(> .e-con-inner)){grid-template-columns:1fr 1fr!important;}
  body .elementor #hero .hero-content{padding-bottom:3.5rem!important;}
  body .elementor #hero .hero-content > .e-con-inner{padding-bottom:3.5rem!important;}
  body .elementor #hero .btns .elementor-button{min-width:0!important;}
  body .elementor #hero .hero-left,
  body .elementor #hero .hero-left > .e-con-inner,
  body .elementor #hero .hero-content > .e-con-inner > .e-con{
    width:100%!important;
    max-width:100%!important;
    --width:100%!important;
    flex:none!important;
  }

  /* Two-column intros → stack (HTML list) */
  body .elementor #services .svc-top,
  body .elementor #services .svc-top > .e-con-inner,
  body .elementor #services .svc-top:not(:has(> .e-con-inner)),
  body .elementor #services .why-header,
  body .elementor #services .why-header > .e-con-inner,
  body .elementor #services .why-header:not(:has(> .e-con-inner)),
  body .elementor #consultancy .bo-top,
  body .elementor #consultancy .bo-top > .e-con-inner,
  body .elementor #consultancy .bo-top:not(:has(> .e-con-inner)),
  body .elementor #sectors .sector-intro,
  body .elementor #sectors .sector-intro > .e-con-inner,
  body .elementor #sectors .sector-intro:not(:has(> .e-con-inner)),
  body .elementor #sectors .sectors-intro,
  body .elementor #sectors .sectors-intro > .e-con-inner,
  body .elementor #sectors .sectors-intro:not(:has(> .e-con-inner)),
  body .elementor #sectors .platform-grid,
  body .elementor #sectors .platform-grid > .e-con-inner,
  body .elementor #sectors .platform-grid:not(:has(> .e-con-inner)),
  body .elementor #about .about-intro,
  body .elementor #about .about-intro > .e-con-inner,
  body .elementor #about .about-intro:not(:has(> .e-con-inner)),
  body .elementor #process .process-top,
  body .elementor #process .process-top > .e-con-inner,
  body .elementor #process .process-top:not(:has(> .e-con-inner)),
  body .elementor #clients .clients-top,
  body .elementor #clients .clients-top > .e-con-inner,
  body .elementor #clients .clients-top:not(:has(> .e-con-inner)),
  body .elementor #pricing .pricing-top,
  body .elementor #pricing .pricing-top > .e-con-inner,
  body .elementor #pricing .pricing-top:not(:has(> .e-con-inner)),
  body .elementor #testimonials .testi-top,
  body .elementor #testimonials .testi-top > .e-con-inner,
  body .elementor #testimonials .testi-top:not(:has(> .e-con-inner)),
  body .elementor #academy .academy-intro,
  body .elementor #academy .academy-intro > .e-con-inner,
  body .elementor #academy .academy-intro:not(:has(> .e-con-inner)){
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:2rem!important;
    --flex-direction:column!important;
    --flex-wrap:wrap!important;
    align-items:start!important;
  }

  /* Intro / platform children must fill stacked column */
  body .elementor #services .svc-top > .e-con-inner > .e-con,
  body .elementor #services .why-header > .e-con-inner > .e-con,
  body .elementor #consultancy .bo-top > .e-con-inner > .e-con,
  body .elementor #sectors .sector-intro > .e-con-inner > .e-con,
  body .elementor #sectors .sectors-intro > .e-con-inner > .e-con,
  body .elementor #sectors .platform-grid > .e-con-inner > .e-con,
  body .elementor #about .about-intro > .e-con-inner > .e-con,
  body .elementor #process .process-top > .e-con-inner > .e-con,
  body .elementor #clients .clients-top > .e-con-inner > .e-con,
  body .elementor #pricing .pricing-top > .e-con-inner > .e-con,
  body .elementor #testimonials .testi-top > .e-con-inner > .e-con,
  body .elementor #testimonials .testi-top > .e-con-inner > .elementor-widget,
  body .elementor #academy .academy-intro > .e-con-inner > .e-con{
    width:100%!important;
    max-width:100%!important;
    --width:100%!important;
    flex:none!important;
    min-width:0!important;
  }
  body .elementor #testimonials .testi-top .btn-ghost,
  body .elementor #testimonials .testi-top .elementor-widget-button{
    justify-self:start!important;
    align-self:start!important;
  }

  /* Multi-card / ghost grids → 1 col (HTML) */
  body .elementor #proposition .divisions,
  body .elementor #proposition .divisions > .e-con-inner,
  body .elementor #proposition .divisions:not(:has(> .e-con-inner)),
  body .elementor #services .specialism-grid,
  body .elementor #services .specialism-grid > .e-con-inner,
  body .elementor #services .specialism-grid:not(:has(> .e-con-inner)),
  body .elementor #services .specialism-grid-2,
  body .elementor #services .specialism-grid-2 > .e-con-inner,
  body .elementor #services .specialism-grid-2:not(:has(> .e-con-inner)),
  body .elementor #consultancy .pillars,
  body .elementor #consultancy .pillars > .e-con-inner,
  body .elementor #consultancy .pillars:not(:has(> .e-con-inner)),
  body .elementor #consultancy .deliverables,
  body .elementor #consultancy .deliverables > .e-con-inner,
  body .elementor #consultancy .deliverables:not(:has(> .e-con-inner)),
  body .elementor #academy .academy-tiers,
  body .elementor #academy .academy-tiers > .e-con-inner,
  body .elementor #academy .academy-tiers:not(:has(> .e-con-inner)),
  body .elementor #about .about-team,
  body .elementor #about .about-team > .e-con-inner,
  body .elementor #about .about-team:not(:has(> .e-con-inner)),
  body .elementor #process .steps,
  body .elementor #process .steps > .e-con-inner,
  body .elementor #process .steps:not(:has(> .e-con-inner)),
  body .elementor #clients .client-types,
  body .elementor #clients .client-types > .e-con-inner,
  body .elementor #clients .client-types:not(:has(> .e-con-inner)),
  body .elementor #testimonials .tgrid,
  body .elementor #testimonials .tgrid > .e-con-inner,
  body .elementor #testimonials .tgrid:not(:has(> .e-con-inner)),
  body .elementor #pricing .pricing-cards,
  body .elementor #pricing .pricing-cards > .e-con-inner,
  body .elementor #pricing .pricing-cards:not(:has(> .e-con-inner)){
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  body .elementor #proposition .division,
  body .elementor #services .spec-card,
  body .elementor #consultancy .pillar,
  body .elementor #consultancy .deliv,
  body .elementor #academy .tier,
  body .elementor #about .team-card,
  body .elementor #process .step,
  body .elementor #clients .client-type,
  body .elementor #testimonials .tcard,
  body .elementor #pricing .pcard{
    width:100%!important;
    max-width:100%!important;
    --width:100%!important;
    flex:none!important;
    min-width:0!important;
  }

  /* Stay 2-col @900 (HTML): context / problems / outcomes */
  body .elementor #consultancy .problems-panel,
  body .elementor #consultancy .problems-panel > .e-con-inner,
  body .elementor #consultancy .problems-panel:not(:has(> .e-con-inner)),
  body .elementor #sectors .sector-context,
  body .elementor #sectors .sector-context > .e-con-inner,
  body .elementor #sectors .sector-context:not(:has(> .e-con-inner)),
  body .elementor #testimonials .outcomes-grid,
  body .elementor #testimonials .outcomes-grid > .e-con-inner,
  body .elementor #testimonials .outcomes-grid:not(:has(> .e-con-inner)),
  body .elementor #academy .academy-focus-grid,
  body .elementor #academy .academy-focus-grid > .e-con-inner,
  body .elementor #academy .academy-focus-grid:not(:has(> .e-con-inner)){
    grid-template-columns:1fr 1fr!important;
    --flex-wrap:wrap!important;
  }

  /* Dense panels — breathe on tablet */
  body .elementor #services .why-panel{padding:2.5rem 1.5rem!important;}
  body .elementor #consultancy .problems-panel{padding:2.25rem 1.5rem!important;}
  body .elementor #testimonials .outcomes{padding:2.25rem 1.5rem!important;}
  body .elementor #about .bios{margin-top:2rem!important;}

  /* Why rows: keep number beside copy; allow shrink */
  body .elementor #services .why-panel .why-row > .e-con-inner,
  body .elementor #services .why-panel .why-row.e-con{
    gap:1.25rem!important;
  }
  body .elementor #services .why-panel .why-row .why-copy,
  body .elementor #services .why-panel .why-row .why-copy.e-con{
    min-width:0!important;
  }

  /* CTA buttons — wrap cleanly */
  body .elementor #cta .cta-btns > .e-con-inner,
  body .elementor #cta .cta-btns:not(:has(> .e-con-inner)){
    gap:.65rem!important;
  }
}

@media(max-width:600px){
  body .elementor .it-section:not(#hero):not(#cta),
  body .elementor #proposition,
  body .elementor #services,
  body .elementor #sectors,
  body .elementor #consultancy,
  body .elementor #academy,
  body .elementor #about,
  body .elementor #process,
  body .elementor #clients,
  body .elementor #testimonials,
  body .elementor #pricing,
  body .elementor #cta{
    padding-left:1.25rem!important;
    padding-right:1.25rem!important;
  }

  /* Remaining 2-cols → 1 (phones) */
  body .elementor #consultancy .problems-panel,
  body .elementor #consultancy .problems-panel > .e-con-inner,
  body .elementor #consultancy .problems-panel:not(:has(> .e-con-inner)),
  body .elementor #sectors .sector-context,
  body .elementor #sectors .sector-context > .e-con-inner,
  body .elementor #sectors .sector-context:not(:has(> .e-con-inner)),
  body .elementor #testimonials .outcomes-grid,
  body .elementor #testimonials .outcomes-grid > .e-con-inner,
  body .elementor #testimonials .outcomes-grid:not(:has(> .e-con-inner)),
  body .elementor #academy .academy-focus-grid,
  body .elementor #academy .academy-focus-grid > .e-con-inner,
  body .elementor #academy .academy-focus-grid:not(:has(> .e-con-inner)),
  body .elementor #hero .hero-bar,
  body .elementor #hero .hero-bar > .e-con-inner,
  body .elementor #hero .hero-bar:not(:has(> .e-con-inner)){
    grid-template-columns:1fr!important;
  }

  body .elementor #hero .hbar-item{border-right:none!important;border-bottom:1px solid var(--line-light)!important;}
  body .elementor #hero .hbar-item:last-child{border-bottom:none!important;}
  body .elementor #hero .hbar-item:first-child,
  body .elementor #hero .hbar-item:last-child{--padding-left:1.25rem!important;--padding-right:1.25rem!important;}

  body .elementor #consultancy .problems-panel > .e-con-inner > .e-con,
  body .elementor #sectors .sector-context > .e-con-inner > .e-con,
  body .elementor #testimonials .outcome,
  body .elementor #academy .afg-item{
    width:100%!important;
    max-width:100%!important;
    --width:100%!important;
    flex:none!important;
  }

  /* Deliv / why: allow wrap if cramped */
  body .elementor #consultancy .deliv,
  body .elementor #consultancy .deliv > .e-con-inner{
    flex-wrap:wrap!important;
    --flex-wrap:wrap!important;
  }

  body .elementor #services .why-panel{padding:2rem 1.15rem!important;}
  body .elementor #consultancy .problems-panel{padding:1.75rem 1.15rem!important;}
  body .elementor #testimonials .outcomes{padding:1.75rem 1.15rem!important;}

  /* Full-width CTAs on narrow phones */
  body .elementor #cta .cta-btns .elementor-widget-button,
  body .elementor #cta .cta-btns .btn-primary,
  body .elementor #cta .cta-btns .btn-outline{
    width:100%!important;
    max-width:100%!important;
  }
  body .elementor #cta .cta-btns .elementor-button-wrapper,
  body .elementor #cta .cta-btns .elementor-button{width:100%!important;}
  body .elementor #hero .btns .elementor-widget-button{width:100%!important;max-width:100%!important;}
  body .elementor #hero .btns .elementor-button-wrapper,
  body .elementor #hero .btns .elementor-button{width:100%!important;}
}
