@font-face{font-family:Roboto;src:url('fonts/roboto-latin-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Roboto;src:url('fonts/roboto-latin-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Roboto;src:url('fonts/roboto-latin-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--ink:#004577;--blue:#004577;--blue-hover:#00355C;--paper:#F7F6F2;--sky:#EAF4FC;--slate:#4D6373;--line:#CCDCE8;--white:#FFFFFF;--error:#B42318;--success:#18613C;--brand-light-blue:#59B1F9;--action:#59B1F9;--action-hover:#7BC2FA;--action-text:#00355C;--max:1120px;--gutter:40px;--control-radius:5px;--panel-radius:5px;--motion:180ms;--font-family:Roboto,Arial,sans-serif}
/* Brand fonts and variables are prepended by scripts/brand_system.py. */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.65 Roboto,Arial,sans-serif}
a{color:var(--ink);text-underline-offset:.22em}
a:hover{text-decoration-thickness:2px}
button,input,textarea,select{font:inherit}
img{max-width:100%;height:auto}
button,a,summary,input,textarea,select{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 3px var(--white)}
.skip{position:fixed;top:-100px;left:20px;z-index:99;background:white;padding:12px 18px}
.skip:focus{top:10px}
.wrap{width:min(var(--max),calc(100% - 80px));margin:auto}
.site-header{background:var(--white);border-bottom:1px solid var(--line);position:relative;z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:102px}
.brand{display:flex;align-items:center;min-height:48px;flex-shrink:0}
.brand img{display:block;width:180px;height:auto}
.nav{display:flex;gap:22px;align-items:center}
.nav a{font-size:16px;font-weight:400;text-decoration:none;padding:12px 0}
.nav a[aria-current=page],.nav a:hover{text-decoration:underline}
.mobile-menu{display:none}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;background:var(--action);border:1px solid var(--action);border-radius:var(--control-radius);color:var(--action-text);text-decoration:none;font-size:16px;font-weight:500;transition:background var(--motion)}
.button:hover{background:var(--action-hover);border-color:var(--action-hover);text-decoration:none}
.button.secondary{background:transparent;color:var(--ink);border-color:var(--ink)}
.button.secondary:hover{background:var(--sky)}
.text-link{display:inline-flex;align-items:center;gap:12px;font-size:16px;min-height:48px}
.actions{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:30px}
h1,h2,h3,h4{font-weight:500;letter-spacing:-.025em;line-height:1.2;margin:0}
h1{font-size:clamp(38px,4.3vw,54px);max-width:850px}
h2{font-size:34px;line-height:1.25;max-width:760px}
h3{font-size:24px;line-height:1.3}
p{margin:20px 0 0}
p.lead{font-size:21px;line-height:1.6;color:var(--slate);max-width:780px}
p.micro{font-size:14px;line-height:1.55;color:var(--slate);margin-top:16px}
.eyebrow{font-size:15px;font-weight:400;color:var(--slate);margin:0 0 14px}
.hero{padding:76px 0 80px}
.hero .lead{margin-top:28px}
.section{padding:72px 0}
.section.white{background:white}
.section.sky{background:var(--sky)}
.section.ink,.contact-close{background:var(--paper);border-top:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:1fr 1.25fr;gap:72px;margin-bottom:36px}
.section-head p{margin:0;color:var(--slate)}
.expertise-list{margin-top:32px}
.expertise-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) 24px;gap:40px;padding:26px 0;border-top:1px solid var(--line);align-items:center;text-decoration:none}
.expertise-row:last-child{border-bottom:1px solid var(--line)}
.expertise-row :is(h2,h3){font-size:22px}
.expertise-row:hover :is(h2,h3){text-decoration:underline;text-underline-offset:5px}
.expertise-row p{font-size:17px;color:var(--slate);margin:0}
.expertise-row .arrow{font-size:24px;text-align:right}
.engagement-note{margin-top:28px;max-width:850px}
.engagement-note p{color:var(--slate);font-size:17px}
.engagement-note .text-link{margin-top:8px}
.work-section{border-top:1px solid var(--line)}
.section-intro{max-width:740px;color:var(--slate)}
.experience-marks{margin:36px 0 44px}
.logo-row{display:flex;align-items:center;justify-content:flex-start;gap:60px;min-height:72px}
.logo-item{width:140px;height:72px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-item img{display:block;width:auto;height:auto;object-fit:contain}
/* Official assets retain their native whitespace, proportions and colours. */
.logo-item[data-brand=nab] img{width:64px}
.logo-item[data-brand=cba] img{width:54px}
.logo-item[data-brand=nbn] img{width:110px}
.logo-item[data-brand=telstra] img{width:72px}
.work-examples{display:grid;grid-template-columns:1fr 1fr;gap:72px}
.work-examples article{border-top:1px solid var(--line);padding-top:24px}
.work-organisation{font-size:15px;color:var(--slate);margin:0 0 12px}
.work-examples h3{max-width:440px}
.work-examples p:not(.work-organisation){font-size:17px;color:var(--slate)}
.work-examples .work-outcome{color:var(--ink)!important}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:72px;align-items:start}
.split p:first-child{margin-top:0}
.split p{color:var(--slate)}
.split .text-link{margin-top:16px}
.founder-portrait{display:block;width:min(100%,176px);height:auto;margin:20px 0 0;border:0;border-radius:0}
.about-copy{max-width:780px}
.about-copy p{color:var(--slate)}
.values-list{margin:0}
.values-list>div+div{margin-top:24px}
.values-list dt{font-size:21px;font-weight:500}
.values-list dd{margin:6px 0 0;color:var(--slate)}
.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:36px}
.card{border-top:1px solid var(--line);padding:24px 0 0;display:flex;flex-direction:column;align-items:flex-start}
.card :is(h2,h3){font-size:23px}
.card p{font-size:17px;color:var(--slate)}
.card .text-link{margin-top:auto;padding-top:20px}
.card p.measure{font-size:15px}
.faq-list{max-width:880px;margin-top:32px}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;padding:24px 38px 24px 0;font-size:20px;font-weight:500;position:relative;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';position:absolute;right:6px;top:19px;font-size:27px}
details[open] summary::after{content:'\2212'}
.faq-list details p{margin:0;padding:0 44px 24px 0;font-size:17px;color:var(--slate)}
.cta-panel{display:flex;align-items:center;justify-content:space-between;gap:64px}
.cta-panel>div{max-width:720px}
.cta-panel p{color:var(--slate)}
.cta-panel .button{flex-shrink:0}
.site-footer{background:var(--ink);color:var(--sky);padding:44px 0 24px}
.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:flex-start}
.footer-top .footer-brand{width:180px;height:auto;background:#fff;padding:8px}
.footer-top p{font-size:14px;margin-top:12px}
.footer-links{display:flex;gap:28px;flex-wrap:wrap}
.footer-links a{color:var(--sky);font-size:15px;min-height:48px;display:inline-flex;align-items:center}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #306a94;margin-top:32px;padding-top:22px;font-size:13px}
.site-footer a:focus-visible{outline-color:white;box-shadow:0 0 0 3px var(--ink)}
.page-hero{padding:48px 0 60px}
.breadcrumb{font-size:14px;color:var(--slate);margin-bottom:28px}
.breadcrumb a{color:var(--slate)}
.page-hero .lead{margin-top:24px}
.bullets{padding-left:22px;margin:24px 0 0}
.bullets li{margin:12px 0}
.check-list{padding-left:22px;margin:24px 0 0}
.check-list li{padding:0 0 12px 4px}
.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px;margin-top:36px}
.capability{border-top:1px solid var(--line);padding-top:24px}
.capability p{color:var(--slate);font-size:17px}
.scope-note{font-size:15px!important;border-left:2px solid var(--line);padding-left:20px}
.offer-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;padding:44px 0;border-top:1px solid var(--line);scroll-margin-top:28px}
.offer-detail h2{font-size:32px}
.offer-detail h3{font-size:21px}
.offer-detail p,.offer-detail li{font-size:17px;color:var(--slate)}
.offer-detail .fit{font-weight:500;color:var(--ink)}
.contact-hints{padding-left:20px;margin:24px 0}
.contact-hints li{padding:0 0 14px 4px;color:var(--slate)}
.contact-box{min-width:0}
.article{max-width:760px;margin:auto;padding:0 0 72px}
.article section{margin-top:40px}
.article h2{font-size:29px}
.article p{font-size:18px;line-height:1.75;color:var(--slate)}
.article-end{padding-top:28px;border-top:1px solid var(--line);margin-top:40px}
.only-screenreader{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1023px){
 .wrap{width:calc(100% - 64px)}
 .nav{gap:20px}.nav a{font-size:15px}
 .section-head,.split,.work-examples,.offer-detail{gap:40px}
 .three-col{gap:28px}
 .expertise-row{gap:28px}
 .logo-row{gap:36px}
}
@media(max-width:767px){
 body{font-size:17px;line-height:1.65}
 .wrap{width:calc(100% - 40px)}
 h1{font-size:38px;line-height:1.16}h2{font-size:29px}h3{font-size:23px}
 .header-inner{min-height:86px;gap:0}.brand img{width:160px}.nav{display:none}
 .mobile-menu{display:block;margin-left:auto}
 .mobile-menu summary{font-size:16px;padding:12px 28px 12px 12px;min-height:48px}
 .mobile-menu summary::after{right:3px;top:7px}
 .mobile-menu nav{position:absolute;left:0;right:0;top:85px;padding:20px;background:white;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
 .mobile-menu nav a{display:block;min-height:48px;padding:12px;text-decoration:none}
 .hero{padding:48px 0 52px}.hero .lead,p.lead{font-size:19px;line-height:1.6}
 .actions{gap:12px 20px;margin-top:24px}
 .section{padding:48px 0}.section-head{display:block;margin-bottom:24px}.section-head p{margin-top:20px}
 .expertise-list{margin-top:28px}.expertise-row{grid-template-columns:minmax(0,1fr) 24px;gap:12px;padding:22px 0}
 .expertise-row :is(h2,h3){font-size:22px}.expertise-row p{grid-column:1;grid-row:2;font-size:16px}.expertise-row .arrow{grid-column:2;grid-row:1}
 .logo-row{justify-content:space-between;gap:12px;min-height:60px}
 .logo-item{width:auto;flex:1;height:60px;min-width:0}
 .logo-item[data-brand=nab] img{width:50px}.logo-item[data-brand=cba] img{width:42px}.logo-item[data-brand=nbn] img{width:80px}.logo-item[data-brand=telstra] img{width:56px}
 .experience-marks{margin:28px 0 32px}.experience-marks .micro{font-size:13px}
 .work-examples,.split,.three-col,.capability-grid,.offer-detail{grid-template-columns:1fr;gap:32px}
 .work-examples article{padding-top:22px}.work-examples h3{font-size:24px}
 .split p:first-child{margin-top:0}#contact .enquiry-form label:first-of-type{margin-top:0}
 .cta-panel{display:block}.cta-panel .button{margin-top:24px}
 .page-hero{padding:32px 0 44px}.breadcrumb{font-size:13px}
 .offer-detail{padding:32px 0}.offer-detail h2{font-size:29px}
 .article h2{font-size:26px}.article p{font-size:17px}.article{padding-bottom:48px}
 summary{font-size:18px}.faq-list details p{font-size:16px}
 .footer-top{display:block}.footer-links{margin-top:24px;gap:20px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.engagement-note .text-link{margin-right:24px}
@media(min-width:801px) and (max-width:1000px){.nav{gap:14px}.nav a{font-size:14px}.header-inner{gap:20px}}

/* The sixth service adds a campaign example; the new assessment link adds a navigation item. */
.service-example{max-width:850px}.service-example p{color:var(--slate)}
@media(min-width:768px) and (max-width:900px){.nav{gap:12px}.nav a{font-size:13px}.header-inner{gap:14px}.brand img{width:155px}}

.hero-context{max-width:780px;margin-top:38px;padding-top:24px;border-top:1px solid var(--line)}
.hero-context h2{font-size:21px;line-height:1.4;letter-spacing:-.01em}
.hero-context p{font-size:17px;line-height:1.65;color:var(--slate);margin-top:12px}
