/* ============================================================
   CAQA LLND — site chassis CSS, restyled to the captured Wix
   design system (see _llnd-source/_DESIGN.md, _BANNERS.md).
   Palette: #2770A1 primary blue · #F4A629 yellow secondary ·
   #FFCD1F squiggle · #F7F8FA light wash · #F16635 active accent ·
   hairline rgba(194,194,194,.4). Poppins everywhere.
   Footer: caqaresources.com.au design (#202233 / #BBBCCE) per
   _FOOTER-RESOURCES.md.
   ============================================================ */
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:local('Poppins Regular'),local('Poppins-Regular'),url('../fonts/poppins-400.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:local('Poppins Medium'),local('Poppins-Medium'),url('../fonts/poppins-500.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:local('Poppins SemiBold'),local('Poppins-SemiBold'),url('../fonts/poppins-600.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:local('Poppins Bold'),local('Poppins-Bold'),url('../fonts/poppins-700.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;src:local('Poppins ExtraBold'),local('Poppins-ExtraBold'),url('../fonts/poppins-800.woff2') format('woff2')}

:root{
  --blue:#2770A1;
  --blue-d:#1F5C85;      /* hover darken + accent-as-text */
  --yellow:#F4A629;
  --yellow-d:#E0951D;    /* hover darken */
  --squiggle:#FFCD1F;
  --active:#F16635;      /* active nav / small accents only, never body text */
  --ink:#000000;
  --body-c:#000000;
  --muted:#3A3A3A;
  --paper:#FFFFFF;
  --wash:#F7F8FA;
  --hairline:rgba(194,194,194,.4);
  --card-shadow:rgba(0,0,0,.12) 0 1px 4.3px;
  --chip-shadow:rgba(0,0,0,.18) 0 1px 19px;
  --radius:16px;
  --foot-bg:#202233;
  --foot-link:#BBBCCE;
}
/* retint the cinema engine's signature layer to brand (cinema.css
   loads after this sheet; html:root outranks its :root) */
html:root{
  --cine-deep:#123A55;
  --cine-accent:#2770A1;
  --cine-accent-2:#4E8FBC;
  --cine-glow:#F4A629;
  --cine-accent-rgb:39,112,161;
  --cine-glow-rgb:244,166,41;
  --cine-deep-rgb:18,58,85;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
[hidden]{display:none!important}
[id]{scroll-margin-top:96px}
body{font-family:'Poppins','Segoe UI',system-ui,Arial,sans-serif;color:var(--body-c);background:var(--paper);font-size:1.08rem;line-height:1.6;overflow-x:clip}
h1,h2,h3,h4,h5,h6{font-family:'Poppins',sans-serif;color:var(--ink);font-weight:700;line-height:1.3;letter-spacing:normal}
h1{font-size:clamp(2.15rem,4.5vw,3.375rem)}     /* 54px / 70 */
h2{font-size:clamp(1.7rem,3.1vw,2.535rem)}      /* 40.55px / 53 */
h3{font-size:1.3rem}
p{margin:0}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:none;transition:color .4s ease}
a:hover{color:var(--blue-d);text-decoration:underline}
ul{list-style:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
.container{width:min(1160px,92%);margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--blue);color:#fff;padding:12px 22px;z-index:999;border-radius:0 0 10px 0}
.skip-link:focus{left:0}

/* reusable squiggle underline (inline-SVG data URI, #FFCD1F) */
.pagehead h1::after,
.sec-head.center h2::after,
.band-blue h2::after{
  content:"";display:block;width:183px;max-width:60%;height:16px;margin:12px auto 0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 183 22'%3E%3Cpath d='M4 13 C 44 5, 118 3, 179 7' stroke='%23FFCD1F' stroke-width='5.5' fill='none' stroke-linecap='round'/%3E%3Cpath d='M28 18 C 70 12, 132 10, 168 13' stroke='%23FFCD1F' stroke-width='3.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.band-blue h2::after{margin-left:0}
.sec-head:not(.center) h2::after{margin-left:0}

/* ---------- buttons: Wix StylableButton clone ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 24px;border-radius:8px;border:0;cursor:pointer;font:500 1rem/1.25 'Poppins',sans-serif;text-decoration:none!important;transition:background-color .4s ease,border-color .4s ease,color .4s ease;background:var(--blue);color:#fff!important}
.btn:hover{background:var(--blue-d)}
/* secondary = brand yellow, black label (paired after a blue primary) */
.btn-ghost,.btn-dark{background:var(--yellow);color:var(--ink)!important;border:0}
.btn-ghost:hover,.btn-dark:hover{background:var(--yellow-d);color:var(--ink)!important;box-shadow:none}
.btn-sm{min-height:44px;padding:9px 19px;font-size:.93rem}
/* buttons sitting on blue bands read best in yellow */
.band-blue .btn,.pagehead .btn{background:var(--yellow);color:var(--ink)!important}
.band-blue .btn:hover,.pagehead .btn:hover{background:var(--yellow-d)}

/* ---------- temporary site header (hidden by mega-menu engine) ---------- */
.site-head{position:relative;z-index:120;background:#fff;border-bottom:1px solid var(--hairline)}
.nav-row{display:flex;align-items:center;gap:20px;min-height:97px;flex-wrap:wrap;padding:8px 0}
.brand img{height:58px;width:auto}
.topnav{display:flex;flex-wrap:wrap;gap:2px;margin-left:auto}
.topnav a{display:inline-flex;align-items:center;min-height:44px;padding:6px 13px;color:var(--ink);font:500 .88rem 'Poppins',sans-serif;text-decoration:none}
.topnav a:hover{color:var(--blue);text-decoration:none}
.topnav a[aria-current="page"]{color:var(--active)}
.head-cta{flex:none}
@media(max-width:1080px){.topnav{order:3;width:100%;margin-left:0;justify-content:flex-start}.nav-row{min-height:0}}

/* ---------- sections: white <-> #F7F8FA rhythm, blue emphasis bands ---------- */
.section{padding:80px 0}
.section.wash{background:var(--wash)}
.section.tight{padding:54px 0}
.eyebrow{display:inline-block;font:600 1.14rem/1.4 'Poppins',sans-serif;color:var(--blue);margin-bottom:12px}
.lead{font-size:1.08rem;line-height:1.6;max-width:64ch}
.sec-head{max-width:860px;margin-bottom:42px}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head p{margin-top:16px}
.center{text-align:center}
.mt-1{margin-top:14px}.mt-2{margin-top:26px}.mt-3{margin-top:44px}

/* full-width primary-blue emphasis band ("What We Do", "Partner With Us") */
.section.band-blue{background:var(--blue)}
.band-blue h2,.band-blue h3,.band-blue p,.band-blue b,.band-blue li,.band-blue .eyebrow{color:#fff}
.band-blue .ticks li::after{border-color:#fff}
.band-blue .icon-row p{color:#fff}

/* ---------- Type A split hero (light #F7F8FA, black H1 left, photo right) ---------- */
.hero{padding:64px 0 72px;background:var(--wash)}
.hero .container{width:min(1280px,94%)}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:48px;align-items:center}
.hero h1{margin:0 0 18px}
.hero .lead{margin-bottom:28px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-media{position:relative}
/* home H1 two-line colouring */
.h1-a{color:var(--yellow)}
.h1-b{color:var(--blue)}
.frame{border-radius:var(--radius);overflow:hidden;border:1px solid var(--hairline);box-shadow:var(--card-shadow);background:#fff}
.frame img{width:100%;height:100%;object-fit:cover}
.hero-media .frame,.hero-media .slides{aspect-ratio:709/483}
.chip-float{position:absolute;background:#fff;border-radius:8px;box-shadow:var(--chip-shadow);padding:12px 18px;display:flex;align-items:center;gap:12px;font:600 .82rem 'Poppins',sans-serif;color:var(--ink);z-index:3}
.chip-float.tl{top:18px;left:-22px}
.chip-float.br{bottom:22px;right:-16px}
.chip-float>b{font:700 1.35rem 'Poppins',sans-serif;color:var(--blue)}
.avatars{display:flex}
.avatars img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-left:-9px}
.avatars img:first-child{margin-left:0}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr;gap:38px}.chip-float.tl{left:8px}.chip-float.br{right:8px}}

/* ---------- home hero slideshow (Wix SlideshowRepeater clone, ES5 + PRM-gated) ---------- */
.slides{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--hairline);box-shadow:var(--card-shadow);background:#fff}
.slides .slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none}
.slides .slide.on{opacity:1;pointer-events:auto}
.slides .slide img{width:100%;height:100%;object-fit:cover}
@media(prefers-reduced-motion:reduce){.slides .slide{transition:none}}
.slide-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:9px;z-index:4}
.slide-dots button{width:11px;height:11px;min-height:0;padding:0;border-radius:50%;border:2px solid #fff;background:transparent;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.35);transition:background-color .4s ease}
.slide-dots button[aria-current="true"]{background:var(--yellow);border-color:#fff}

/* ---------- Type B flat-blue banner (+ Type C photo banner) ---------- */
.pagehead{
  background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='364' viewBox='0 0 420 364'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-opacity='.07' stroke-width='3'%3E%3Cpath d='M105 6 195 58v104l-90 52-90-52V58z'/%3E%3Cpath d='M315 188 405 240v104l-90 52-90-52V240z'/%3E%3C/g%3E%3C/svg%3E") repeat;
  color:#fff;text-align:center;
  display:grid;align-content:center;justify-items:center;
  min-height:322px;padding:56px 0;
}
.pagehead h1{color:#fff;margin:0}
.pagehead .crumb{display:block;font:500 .8rem 'Poppins',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:14px}
.pagehead .crumb a{color:rgba(255,255,255,.9)}
.pagehead .crumb a:hover{color:#fff}
.pagehead .ph-sub{color:#fff;font:400 1.08rem/1.5 'Poppins',sans-serif;max-width:740px;margin:20px auto 0}
.pagehead.ph-tall{min-height:428px}          /* client pages */
/* Type C — team photo banner */
.pagehead.pagehead-photo{
  background:#20313d url('../img/teamwork-banner-image-2.jpg') center/cover no-repeat;
  min-height:262px;padding:40px 0;
}
.pagehead.pagehead-photo h1{letter-spacing:.06em}
.pagehead.pagehead-photo h1::after{display:none}

/* ---------- split rows ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split .frame{aspect-ratio:4/3}
.split.rev>.split-media{order:2}
@media(max-width:920px){.split{grid-template-columns:1fr;gap:34px}.split.rev>.split-media{order:0}}
.split h2{margin-bottom:16px}
.split p+p{margin-top:14px}

/* ---------- cards & icon lists (white, r16, hairline, 0 1px 4.3px) ---------- */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media(max-width:980px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--card-shadow);padding:28px 26px;transition:background-color .4s ease,border-color .4s ease,box-shadow .4s ease}
.card:hover{border-color:rgba(39,112,161,.45);box-shadow:rgba(0,0,0,.16) 0 2px 10px}
a.card{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--body-c)}
a.card:hover{text-decoration:none}
.card h3{margin-bottom:8px;font-size:1.3rem}   /* card titles ~26px at full scale */
.card p{font-size:.97rem;line-height:1.6}
.card .go{margin-top:auto;font:600 .86rem 'Poppins',sans-serif;color:var(--blue)}
a.card:hover .go{color:var(--blue-d)}
/* icon chips: circular, light on white cards (orange glyph art shows),
   brand-yellow on blue bands (those rows use white glyph art) */
.icon-tile{width:58px;height:58px;flex:none;border-radius:50%;background:var(--wash);border:1px solid var(--hairline);display:grid;place-items:center;margin-bottom:16px;transition:background-color .4s ease}
.band-blue .icon-tile{background:var(--yellow);border:0}
.pagehead .icon-tile{background:var(--yellow);border:0}
.icon-tile img{width:30px;height:30px;object-fit:contain}
.icon-row{display:flex;gap:16px;align-items:flex-start}
.icon-row .icon-tile{width:52px;height:52px;margin-bottom:0}
.icon-row .icon-tile img{width:26px;height:26px}
.icon-rows{display:grid;gap:18px}
.icon-row b,.icon-row>div>b{display:block;font-family:'Poppins',sans-serif;font-weight:600;color:var(--ink);margin-bottom:3px}
.icon-row p{font-size:.97rem;line-height:1.6}

/* check lists (green check circles per the reference shots) */
.ticks{display:grid;gap:11px;margin:18px 0}
.ticks li{position:relative;padding-left:34px;line-height:1.6}
.ticks li::before{content:"";position:absolute;left:0;top:3px;width:22px;height:22px;border-radius:50%;background:#2E9E6B}
.ticks li::after{content:"";position:absolute;left:6px;top:9px;width:10px;height:5px;border-left:2.4px solid #fff;border-bottom:2.4px solid #fff;transform:rotate(-45deg)}
.band-blue .ticks li::before{background:var(--yellow)}
.band-blue .ticks li::after{border-color:var(--ink)}
.ticks b,.ticks strong{color:var(--ink)}

/* stats */
.stat{background:#fff;border:1px solid var(--hairline);border-radius:8px;box-shadow:var(--chip-shadow);padding:24px 26px;text-align:center}
.stat b{display:block;font:700 2.1rem 'Poppins',sans-serif;color:var(--ink)}
.stat span{color:var(--muted);font-size:.88rem}

/* photo cluster */
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.photo-pair .frame{aspect-ratio:1/1.02}

/* circular photo frame (4px white ring + soft shadow, per _DESIGN §4) */
.frame-round,.frame.frame-round{border-radius:50%;border:4px solid #fff;box-shadow:var(--chip-shadow);aspect-ratio:1/1}
.frame-round img{border-radius:50%}

/* ---------- CTA band (blue, white text, yellow CTA) ---------- */
.cta-band{background:var(--blue);border-radius:var(--radius);padding:46px 50px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;box-shadow:var(--card-shadow)}
.cta-band h2,.cta-band p{color:#fff}
.cta-band h2::after{display:none}
.cta-band p{margin-top:8px;max-width:56ch}
.cta-band .btn{background:var(--yellow);color:var(--ink)!important}
.cta-band .btn:hover{background:var(--yellow-d)}

/* tagline band */
.tagband{background:var(--wash);padding:44px 0;text-align:center}
.tagband p{font:600 clamp(1.05rem,2vw,1.35rem)/1.55 'Poppins',sans-serif;color:var(--ink);max-width:40ch;margin-inline:auto}

/* ---------- timeline (milestones) ---------- */
.tline{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media(max-width:980px){.tline{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.tline{grid-template-columns:1fr}}
.tline .tl{background:#fff;border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--card-shadow);padding:26px 24px;position:relative;overflow:hidden}
.tline .tl::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--yellow)}
.tline .tl b{display:block;font:700 1.5rem 'Poppins',sans-serif;color:var(--blue);margin-bottom:8px}
.tline .tl p{font-size:.94rem}

/* ---------- quote / testimonial ---------- */
.quote{background:#fff;border:1px solid var(--hairline);border-left:5px solid var(--yellow);border-radius:var(--radius);box-shadow:var(--card-shadow);padding:34px 36px;max-width:820px;margin-inline:auto}
.quote blockquote{font:500 1.15rem/1.65 'Poppins',sans-serif;color:var(--ink)}
.quote .who{margin-top:16px;font-weight:600;color:var(--blue)}

/* ---------- accordions ---------- */
.acc{border:1px solid var(--hairline);border-radius:var(--radius);background:#fff;box-shadow:var(--card-shadow);overflow:hidden}
.acc+.acc{margin-top:14px}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:20px 24px;font:600 1.05rem 'Poppins',sans-serif;color:var(--ink);min-height:48px;transition:background-color .4s ease}
.acc summary::-webkit-details-marker{display:none}
.acc summary .acc-ic{width:44px;height:44px;flex:none;border-radius:50%;background:var(--yellow);display:grid;place-items:center}
.acc summary .acc-ic img{width:22px;height:22px;object-fit:contain}
.acc summary::after{content:"";margin-left:auto;width:11px;height:11px;border-right:2.6px solid var(--blue);border-bottom:2.6px solid var(--blue);transform:rotate(45deg);transition:transform .3s ease-in-out;flex:none}
.acc[open] summary::after{transform:rotate(225deg)}
.acc summary:hover{background:var(--wash)}
.acc summary[aria-expanded]{-webkit-tap-highlight-color:transparent}
.acc-body{padding:2px 24px 24px 82px;display:grid;gap:12px}
@media(max-width:640px){.acc-body{padding-left:24px}}
.acc[open] .acc-body{animation:accdown .34s ease}
@keyframes accdown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.acc[open] .acc-body{animation:none}}
.acc .acc-body .icon-row .icon-tile{width:44px;height:44px}
.acc .acc-body .icon-row .icon-tile img{width:22px;height:22px}

/* ---------- team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media(max-width:1020px){.team-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.team-grid{grid-template-columns:1fr}}
.t-card{background:#fff;border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--card-shadow);padding:18px;text-align:center;transition:box-shadow .4s ease,border-color .4s ease}
.t-card:hover{box-shadow:rgba(0,0,0,.16) 0 2px 10px}
.t-card .frame{aspect-ratio:1/1;margin:0 auto 14px;border-radius:50%;border:4px solid #fff;box-shadow:var(--chip-shadow);max-width:180px}
.t-card .frame img{object-position:top center;border-radius:50%}
.t-card b{display:block;font:700 1rem 'Poppins',sans-serif;color:var(--ink)}
.t-card span{display:block;font-size:.82rem;color:var(--muted);min-height:2.4em;margin-top:4px}
.t-card .go{display:inline-flex;align-items:center;min-height:44px;padding:4px 14px;font:600 .82rem 'Poppins',sans-serif;color:var(--blue)}
.bio{display:grid;grid-template-columns:280px 1fr;gap:44px;align-items:start;padding:38px 0;border-top:1px solid var(--hairline)}
.bio:first-of-type{border-top:0}
.bio .frame{aspect-ratio:1/1;position:sticky;top:110px;border-radius:50%;border:4px solid #fff;box-shadow:var(--chip-shadow)}
.bio .frame img{border-radius:50%}
.bio h3{font-size:1.4rem}
.bio .role{display:block;font:600 .85rem 'Poppins',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin:6px 0 16px}
.bio p+p{margin-top:13px}
@media(max-width:820px){.bio{grid-template-columns:1fr;gap:24px}.bio .frame{position:static;max-width:280px}}

/* banner strip image (content strips) */
.banner-strip{border-radius:var(--radius);overflow:hidden;border:1px solid var(--hairline);box-shadow:var(--card-shadow)}
.banner-strip img{width:100%;object-fit:cover;max-height:280px}
.img-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.img-strip .frame{aspect-ratio:16/10}
@media(max-width:760px){.img-strip{grid-template-columns:1fr}}

/* ---------- forms ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid .full{grid-column:1/-1}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}}
.field label{display:block;font:600 .9rem 'Poppins',sans-serif;color:var(--ink);margin-bottom:7px}
.field .req{color:var(--active)}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:11px 16px;border:1px solid var(--hairline);border-radius:8px;background:#fff;font:400 .95rem 'Poppins',sans-serif;color:var(--ink);transition:border-color .4s ease,box-shadow .4s ease}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(39,112,161,.22);outline:none}
.field input[type="file"]{padding:10px 14px;background:var(--wash);border-radius:100px}
.form-card{background:#fff;border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--card-shadow);padding:34px}
.map-wrap{border-radius:var(--radius);overflow:hidden;border:1px solid var(--hairline);box-shadow:var(--card-shadow)}
.map-wrap iframe{width:100%;height:340px;border:0;display:block}
.office{background:#fff;border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--card-shadow);padding:26px}
.office h3{margin-bottom:8px}
.office a{font-weight:500}

/* ============================================================
   FOOTER — caqaresources.com.au design (#202233, #BBBCCE links,
   4 columns + two full-width link bands + bottom bar).
   ============================================================ */
.footer{background:var(--foot-bg);color:#fff;font-size:.93rem;margin-top:84px;padding:100px 0 30px}
.fr-wrap{width:min(1240px,92%);margin-inline:auto}
.fr-cols{display:grid;grid-template-columns:1.25fr 1fr 1.15fr 1fr;gap:44px}
@media(max-width:1020px){.fr-cols{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.fr-cols{grid-template-columns:1fr}}
.footer h4{color:#fff;font:600 1rem/1.5 'Poppins',sans-serif;letter-spacing:.6px;margin-bottom:20px}
.footer li{margin-bottom:11px}
.footer a{color:var(--foot-link);transition:color .4s ease}
.footer a:hover{color:#fff;text-decoration:none}
.fr-brand .fr-logo{width:210px;height:auto;margin-bottom:22px}
.fr-brand p{color:var(--foot-link);line-height:1.75;font-size:.93rem}
.fr-brand p a{text-decoration:underline;color:var(--foot-link)}
.fr-brand p a:hover{color:#fff}
/* newsletter pill (Netlify form) — mirrors the reference email field */
.fr-news{display:flex;align-items:center;background:#fff;border-radius:999px;padding:5px;margin-top:22px;max-width:300px;position:relative}
.fr-news input[type=email]{flex:1;border:0;outline:none;background:transparent;padding:9px 16px;font:400 .9rem 'Poppins',sans-serif;color:var(--ink);min-width:0}
.fr-news input[type=email]:focus-visible{outline:3px solid var(--blue);outline-offset:-2px;border-radius:999px}
.fr-news button{width:40px;height:40px;flex:none;border:0;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background-color .4s ease}
.fr-news button:hover{background:var(--yellow-d)}
.fr-news button svg{width:16px;height:16px}
.fr-news .hp{position:absolute;left:-9999px}
.fr-consent{font-size:.76rem;color:#8E90A6;margin-top:10px}
.fr-consent a{color:#8E90A6;text-decoration:underline}
.fr-socials{display:flex;gap:11px;margin-top:22px}
.fr-socials a{width:44px;height:44px;border-radius:50%;border:1px solid rgba(187,188,206,.45);display:grid;place-items:center;transition:border-color .4s ease,background-color .4s ease}
.fr-socials a:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.fr-socials svg{width:16px;height:16px;fill:var(--foot-link)}
.fr-socials a:hover svg{fill:#fff}
.fr-info li{margin-bottom:14px;color:var(--foot-link);line-height:1.65}
.fr-info b{display:block;color:#fff;font-weight:600;margin-bottom:2px}
.fr-info .fr-hours{color:var(--yellow)}
.fr-info a{color:var(--yellow)}
.fr-info a:hover{color:#fff}
/* full-width link bands */
.fr-band{border-top:1px solid rgba(187,188,206,.18);margin-top:48px;padding-top:38px}
.fr-band h4{margin-bottom:18px;font-size:1.35rem;font-weight:700}
.fr-band ul{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 30px}
@media(max-width:1020px){.fr-band ul{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.fr-band ul{grid-template-columns:1fr}}
.fr-band .fr-bandgrid{display:grid;grid-template-columns:2fr 1fr;gap:44px}
@media(max-width:820px){.fr-band .fr-bandgrid{grid-template-columns:1fr}}
.fr-bandgrid ul{grid-template-columns:repeat(2,1fr)}
@media(max-width:560px){.fr-bandgrid ul{grid-template-columns:1fr}}
.fr-band h5{color:#fff;font:700 1.05rem/1.5 'Poppins',sans-serif;margin-bottom:14px}
/* bottom bar */
.fr-bottom{border-top:1px solid rgba(187,188,206,.18);margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--foot-link);font-size:.86rem}
.fr-bottom a{color:var(--foot-link);text-decoration:underline}
.fr-bottom a:hover{color:#fff}

/* scroll buttons */
.cqscroll{position:fixed;right:18px;bottom:24px;display:flex;flex-direction:column;gap:10px;z-index:140}
.cqscroll a{width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;box-shadow:rgba(0,0,0,.25) 0 4px 14px;display:grid;place-items:center;transition:background-color .4s ease;opacity:.9;cursor:pointer}
.cqscroll a:hover{background:var(--yellow);color:var(--ink);opacity:1}
.cqscroll svg{width:17px;height:17px}
@media(max-width:760px){.cqscroll{right:12px;bottom:16px}}

/* cq3 launcher headings use <p class="cq3-ht"> (outline-safe) */
.cq3-pane .cq3-ht{display:none;margin:16px 0 10px;color:#7E8CA6;font-size:.8125rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.cq3-panes.f .cq3-pane .cq3-ht{display:block}
.cq3-pane:first-child .cq3-ht{margin-top:0}

/* reveal (cinema.js hooks) — safety net: content always visible */
.reveal{opacity:1}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* misc typography helpers */
.h-md{font-size:1.62rem;margin-bottom:12px}     /* ~26px card-title scale */
h4{font-size:1rem;margin-bottom:6px}
.card h4{margin-top:12px}

/* ---------- policy pages (blue banner + site typography) ---------- */
.policy-body{color:var(--body-c)}
.policy-body p{margin:0 0 1.05em;line-height:1.7}
.policy-body h2,.policy-body h3,.policy-body h4{font-size:1.4rem;font-weight:700;color:var(--ink);line-height:1.3;margin:1.8em 0 .6em}
.policy-body h2:first-child,.policy-body h4:first-child,.policy-body p:first-child{margin-top:0}
.policy-body ul,.policy-body ol{margin:0 0 1.2em;padding-left:1.3em;list-style:disc;display:block;gap:0}
.policy-body ol{list-style:decimal}
.policy-body li{margin-bottom:.5em;line-height:1.7}
.policy-body a{text-decoration:underline}
.policy-body .policy-meta{color:var(--muted);font-size:.9rem;margin-bottom:30px}

/* fb-logo58: lift the engine's 56px brand clamp to the fleet's 58px standard */
#cqMega .cqm-bar .cqm-brand img{max-height:58px;height:58px}
/* cq-a11y: contract 60px mobile bar — the 58px pin above (and the
   brand.height inline style) otherwise grows the mobile bar to ~67px.
   Same mobile !important pin as caqa-com/caqa-consulting. */
@media (max-width:899.98px){
  #cqMega .cqm-bar .cqm-brand img{height:36px!important;max-height:36px!important}
}

/* oval-sig ==================================================
   Signature Wix backdrop shapes: transparent cutout photos sit
   on a large orange/amber oval (or blob/rect/arch variant) so
   the subject "stands" on the shape. Colours sampled from the
   reference shots: #F16635 deep-orange ovals, #F4A629 amber
   rounded rects, #2770A1 blue arch, #4E9184 teal outline.
   All shapes are pseudo-elements => decorative by definition.
   ============================================================ */
.oval-stage{position:relative;isolation:isolate;border:0;background:transparent}
.oval-stage img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.oval-stage::before,.oval-stage::after{content:"";position:absolute;z-index:0;pointer-events:none}
.oval-stage::after{content:none}
.hero-media .oval-stage{aspect-ratio:709/483;width:100%}

/* big centred deep-orange circle (home slideshow, clients, employability) */
.oval-circle::before{left:50%;top:5%;transform:translateX(-50%);height:90%;aspect-ratio:1/1;border-radius:50%;background:#F16635}

/* irregular amber-orange egg blob + offset teal outline (services) */
.oval-blob::before{left:6%;right:2%;top:7%;bottom:8%;background:#F16635;border-radius:53% 47% 44% 56%/58% 51% 49% 42%}
.oval-blob::after{content:"";left:1%;right:5%;top:2%;bottom:3%;background:transparent;border:2.5px solid #4E9184;border-radius:47% 53% 56% 44%/52% 58% 42% 48%}

/* amber rounded rectangle (about-us, contact-us, courses) */
.oval-rect::before{left:7%;right:7%;top:14%;bottom:9%;background:#F4A629;border-radius:38px}

/* blue arch / dome (frameworks) */
.oval-arch::before{left:11%;right:11%;top:3%;bottom:0;background:var(--blue);border-radius:44% 44% 26px 26px/58% 58% 26px 26px}

/* small circle top-left + dotted grid (assessments, resources,
   training, consultancy split figures) */
.split .oval-stage,.oval-spot{aspect-ratio:1/1}
.oval-spot::before{left:4%;top:3%;width:36%;aspect-ratio:1/1;border-radius:50%;background:#F16635}
.oval-spot.oval-amber::before{background:#F4A629}
.oval-spot::after{content:"";left:52%;top:12%;width:17%;height:20%;background-image:radial-gradient(circle,rgba(60,60,96,.5) 2.4px,transparent 2.9px);background-size:24px 24px;background-position:0 0}

/* home hero slideshow gets the oval instead of the white frame */
.slides.oval-stage{overflow:hidden;box-shadow:none}
.slides.oval-stage .slide img{object-fit:contain;object-position:center bottom}

/* mid-page decor on the blue "What We Do" band: dotted grid +
   amber->orange gradient circle beside the photos (home) */
.band-blue .split-media{position:relative}
.band-decor{position:absolute;inset:0;pointer-events:none;z-index:0}
.band-decor::before{content:"";position:absolute;left:-8%;bottom:-58px;width:150px;height:150px;border-radius:50%;background:linear-gradient(155deg,#F4A629 8%,#F16635 88%)}
.band-decor::after{content:"";position:absolute;right:-4%;top:-46px;width:150px;height:96px;background-image:radial-gradient(circle,rgba(255,255,255,.55) 2.4px,transparent 2.9px);background-size:24px 24px}
.band-blue .split-media .photo-pair{position:relative;z-index:1}

/* zigzag squiggle accent in hub cards (services + clients),
   colour-cycled per card like the reference */
a.card.zig{position:relative;overflow:hidden}
a.card.zig::after{content:"";position:absolute;right:10px;bottom:8px;width:96px;height:34px;background:var(--zigc,#F4A629);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 34'%3E%3Cpath d='M2 30 Q10 14 16 24 T30 20 T44 16 T58 12 T72 8 T88 4' stroke='%23000' stroke-width='2.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 34'%3E%3Cpath d='M2 30 Q10 14 16 24 T30 20 T44 16 T58 12 T72 8 T88 4' stroke='%23000' stroke-width='2.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.zig-amber{--zigc:#F4A629}.zig-teal{--zigc:#2E9E6B}.zig-orange{--zigc:#F16635}.zig-blue{--zigc:#2770A1}

/* responsive: shapes scale with the stage; guard small screens */
@media(max-width:768px){
  /* .slides keeps its fixed aspect (absolute slides need the height) */
  .hero-media .oval-stage:not(.slides){aspect-ratio:auto;min-height:0}
  .hero-media .oval-stage:not(.slides) img{height:auto}
  .band-decor::before{left:0;bottom:-40px;width:110px;height:110px}
  .band-decor::after{right:0;top:-30px}
}
/* /oval-sig */

/* nl-band: rounded blue newsletter card over curved navy footer top
   (owner screenshot, 11 Jul) */
.nl-band{position:relative;background:#F7F8FA;padding:56px 0 0;overflow:hidden}
.nl-card{position:relative;z-index:2;max-width:1180px;margin:0 auto;
  background:#1E4DBC;border-radius:24px;padding:52px 56px;display:flex;
  align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.nl-copy h2{color:#fff;font-size:2.35rem;font-weight:700;margin:0 0 6px}
.nl-copy p{color:#E4EAFB;font-size:1.1rem;margin:0}
.nl-form{display:flex;flex:1 1 420px;max-width:620px;background:#fff;
  border-radius:999px;padding:5px;align-items:center}
.nl-form .hp{position:absolute;left:-9999px}
.nl-form input[type=email]{flex:1;border:0;background:transparent;
  padding:14px 24px;font:500 1rem Poppins,Arial,sans-serif;color:#202233;
  min-width:0;outline-offset:2px}
.nl-form input[type=email]::placeholder{color:#B6BAC6}
.nl-form button{background:#F16635;color:#fff;border:0;border-radius:999px;
  padding:16px 34px;font:600 .95rem Poppins,Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.04em;cursor:pointer;
  transition:background .4s;white-space:nowrap}
.nl-form button:hover{background:#D9541F}
.nl-form button:focus-visible{outline:2px solid #202233;outline-offset:2px}
.foot-curve{position:relative;z-index:1;margin:34px 0 0;line-height:0}
.foot-curve svg{width:100%;height:140px;display:block}
.footer{margin-top:0}
@media (max-width:760px){
  .nl-card{padding:36px 24px;border-radius:18px;margin-inline:16px}
  .nl-copy h2{font-size:1.7rem}
  .nl-form{flex:1 1 100%}
  .nl-form button{padding:14px 22px}
}

/* cq-foot-v3 */
.cqf3{background:#122736;color:#E9ECF3;font-size:.95rem;line-height:1.7;margin-top:0}
.cqf3 a{color:#ABCCE3;text-decoration:none}
.cqf3 a:hover{color:#fff;text-decoration:underline}
.cqf3 h4{color:#B6D7ED;font-size:.9rem;letter-spacing:.07em;text-transform:uppercase;margin:0 0 14px;font-weight:700}
.cqf3-wrap{max-width:1200px;margin:0 auto;padding:64px 24px 26px}
.cqf3-cols{display:grid;grid-template-columns:1.4fr 1fr 1.1fr 1.2fr;gap:42px}
.cqf3 ul{list-style:none;margin:0;padding:0}
.cqf3 li{margin:0 0 9px}
.cqf3-logo{max-width:220px;height:auto;display:block;margin:0 0 16px}
.cqf3-blurb{margin:0 0 16px}
.cqf3-socials{display:flex;gap:10px;margin:0 0 22px}
.cqf3-socials a{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.09)}
.cqf3-socials a:hover{background:rgba(255,255,255,.18)}
.cqf3-socials svg{width:17px;height:17px;fill:#ABCCE3}
.cqf3-socials a:hover svg{fill:#fff}
.cqf3-news form{display:flex;gap:8px;flex-wrap:wrap;margin:0;background:transparent;border-radius:0;padding:0;min-width:0;max-width:none;box-shadow:none}
.cqf3-news form input[type=email]{flex:1 1 170px;min-width:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:10px 12px;color:#fff;font:inherit}
.cqf3-news form button{flex:none;border-radius:8px;padding:10px 18px}
.cqf3-news input[type=email]{flex:1 1 170px;min-width:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:10px 12px;color:#fff;font:inherit}
.cqf3-news input[type=email]::placeholder{color:#AEBAC2}
.cqf3-news button{background:#95C5E4;color:#122736;border:0;border-radius:8px;padding:10px 18px;font-weight:700;font-family:inherit;cursor:pointer}
.cqf3-news button:hover{filter:brightness(1.08)}
.cqf3-news .news-consent{font-size:.8rem;color:#AEBAC2;margin:8px 0 0;flex-basis:100%}
.cqf3-info b{display:block;color:#B6D7ED;font-weight:600}
.cqf3-info li{margin:0 0 13px}
.cqf3-band{border-top:1px solid rgba(255,255,255,.13);margin-top:44px;padding-top:20px}
.cqf3-band h4{margin-bottom:10px}
.cqf3-band ul{display:flex;flex-wrap:wrap;gap:6px 26px}
.cqf3-band li{margin:0}
.cqf3-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:30px;padding-top:20px;font-size:.85rem;color:#AEBAC2;text-align:center}
@media(max-width:1020px){.cqf3-cols{grid-template-columns:1fr 1fr;gap:34px}}
@media(max-width:600px){.cqf3-cols{grid-template-columns:1fr}.cqf3-wrap{padding:48px 18px 22px}}
/* /cq-foot-v3 */

/* cq-fb21jul ==================================================
   Owner-feedback wave, 21 Jul (fonts unified, coloured icon
   circles, logo-jump fix, footer colour match, training align).
   ============================================================ */
/* 1. mega-menu top links: #cqMega button{font:inherit} (ID+element)
   outranked .cqm-top (class), so disclosure buttons rendered
   400/1.08rem while plain links rendered 700/.9rem — the mixed-font
   nav the owner flagged. Pin one Poppins spec for both. */
#cqMega .cqm-top{font:700 .9rem/1.25 'Poppins','Segoe UI',system-ui,Arial,sans-serif}
/* 2. logo movement: the temporary fallback header painted first,
   then the deferred mega-menu engine hid it and re-mounted the
   logo in the bar — a visible jump on every load. Pages set
   html.cqjs inline in <head>; JS-on users never see the fallback
   header, no-JS users keep it. */
html.cqjs .site-head{display:none}
/* 3. coloured icon circles (owner: "add colors to the white
   circles" — most glyph art is white and vanished on the pale
   wash). Solid brand-blue circle by default; deep navy on blue
   bands/pageheads so the circle still reads against the band. */
.icon-tile{background:var(--blue);border:0}
.band-blue .icon-tile,.pagehead .icon-tile{background:#164A6B;border:0}
.acc summary .acc-ic{background:var(--blue)}
/* services hub cards: circle matches each card's squiggle colour */
a.card.zig-orange .icon-tile{background:#F16635}
a.card.zig-blue .icon-tile{background:var(--blue)}
a.card.zig-amber .icon-tile{background:#E0951D}
a.card.zig-teal .icon-tile{background:#2E9E6B}
/* colour-cycled circles for card grids that opt in (courses levels,
   training delivery modes) — all glyphs in these grids are white art */
.tint-cycle .card:nth-child(6n+2) .icon-tile{background:#F16635}
.tint-cycle .card:nth-child(6n+3) .icon-tile{background:#2E9E6B}
.tint-cycle .card:nth-child(6n+4) .icon-tile{background:#E0951D}
.tint-cycle .card:nth-child(6n+5) .icon-tile{background:#4E9184}
.tint-cycle .card:nth-child(6n+0) .icon-tile{background:var(--blue-d)}
/* 4. footer colour match: one hue for the bold info labels */
.cqf3-info b{color:#fff}
/* 5. training "Outcomes and Alignment" / "Who Is It For?" columns
   were vertically centred, so the two H2s sat at different heights */
.split.split-top{align-items:start}
/* 6. team cards: darker role text for the black-body-text standard */
.t-card span{color:#1F1F1F}
/* /cq-fb21jul */
