:root{--ink:#101934;--blue:#1c08a9;--deep:#080d35;--mid:#0a347e;--electric:#1168e3;--muted:#58627b;--paper:#f6f8fc;--line:#e0e5ef;--orange:#e48b09;--shell:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}p{line-height:1.68}h1,h2,h3{font-weight:700}::selection{background:#bad7ff;color:#081a46}:focus-visible{outline:3px solid #eaa22b;outline-offset:4px}.container{width:min(calc(100% - 84px),var(--shell));margin:auto}.skip-link{position:fixed;z-index:100;left:16px;top:-80px;padding:12px 20px;color:#fff;background:#103591}.skip-link:focus{top:12px}.section-space{padding:108px 0}
/* Group navigation */
.site-header{height:94px;background:rgba(255,255,255,.97);border-bottom:1px solid #ecedf2;position:relative;z-index:50}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:40px}.brand{display:block;flex-shrink:0}.brand img{width:160px}.site-nav{display:flex;align-items:center;gap:36px}.site-nav>a{font-size:13px;color:#39415a;font-weight:590;transition:color .2s}.site-nav>a:hover{color:var(--blue)}.site-nav .nav-enquiry{border:1px solid #cbd5ea;color:#102753;padding:13px 17px;display:flex;gap:33px;align-items:center}.nav-enquiry span{font-size:16px}.site-nav .nav-enquiry:hover{border-color:#173ba8;background:#f6f9ff}.menu-toggle{display:none;cursor:pointer;color:var(--ink);background:transparent;border:0;padding:10px}.menu-toggle span{display:block;width:25px;height:2px;background:currentColor;margin:6px 0;transition:transform .2s}
/* Blue group hero: controlled photographic-style gradient, no PNA logo */
.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(120deg,#080a2d 0%,#0d1d60 47%,#114aab 79%,#1672df 100%)}.hero:after{content:"";position:absolute;right:-15%;top:-55%;width:76%;height:160%;border-radius:50%;border:1px solid rgba(255,255,255,.11);transform:rotate(-24deg);pointer-events:none}.hero-glow{position:absolute;inset:0;pointer-events:none;opacity:.65;background:radial-gradient(ellipse 70% 90% at 80% 105%,rgba(50,145,255,.22),transparent 70%),radial-gradient(ellipse 60% 85% at 25% 5%,rgba(6,6,41,.7),transparent 75%)}.hero-content{position:relative;z-index:1;padding:45px 0 27px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:730;letter-spacing:.14em;text-transform:uppercase;color:#284ca1}.eyebrow.light{color:#c5d7fa}.eyebrow-rule{height:1px;width:30px;background:currentColor;opacity:.7}.eyebrow-dot{opacity:.65}.hero-grid{min-height:560px;padding:108px 0 100px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.55fr);gap:10%;align-items:center}.hero h1{font-size:clamp(52px,5.65vw,83px);font-weight:700;letter-spacing:-.068em;line-height:1.11;margin:0;max-width:790px}.hero h1 em{font-weight:400;font-family:Georgia,"Times New Roman",serif;letter-spacing:-.065em}.hero-side{max-width:318px;border-left:1px solid rgba(255,255,255,.26);padding-left:31px}.hero-side-label{font-size:10px;letter-spacing:.13em;font-weight:760;color:#b4d1ff;margin:0 0 23px;line-height:1.7}.hero-side>p:not(.hero-side-label){font-size:17px;line-height:1.69;color:#edf4ff;margin:0 0 29px}.btn{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;white-space:nowrap;font-size:13px;font-weight:650;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-light{background:#fff;color:#09255e;padding:17px 20px}.btn-light:hover{background:#eaf2ff}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:21px 0 0;border-top:1px solid rgba(255,255,255,.24);font-size:10px;letter-spacing:.105em;font-weight:690;color:#e3ebfd}.hero-bottom i{padding:0 15px;font-style:normal;color:#92befa}.hero-bottom a{white-space:nowrap}.hero-bottom a span{margin-left:9px;font-size:17px}
/* Intro */
.introduction{background:linear-gradient(110deg,#fff 0%,#fff 65%,#f7faff 100%);padding:112px 0}.intro-grid{display:grid;grid-template-columns:1.08fr .72fr;gap:15%;align-items:end}.intro-grid h2,.section-heading h2,.landscape h2,.channels h2,.approach h2,.contact-section h2{font-size:clamp(39px,4.1vw,61px);line-height:1.15;letter-spacing:-.045em;font-weight:670;margin:27px 0 0}.intro-right{border-left:2px solid #dce6fa;padding-left:31px}.intro-right p{color:#526079;font-size:16px;margin:15px 0 0}.intro-right .lead{color:#1d2b48;font-weight:580;font-size:20px;line-height:1.49;margin:0}
/* Expertise */
.expertise{background:linear-gradient(160deg,#f3f7fe 0%,#f8faff 40%,#edf3fb 100%)}.section-top{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:20px;border-bottom:1px solid #d9e2f0}.section-top>p{font-size:10px;color:#738099;letter-spacing:.13em;font-weight:720;margin:0}.section-heading{display:grid;grid-template-columns:1fr .45fr;gap:12%;align-items:end;margin:22px 0 44px}.section-heading h2{max-width:680px;margin-top:0}.section-heading>p{font-size:16px;color:var(--muted);max-width:310px;margin:0 0 7px}.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.expertise-card{border:1px solid #e0e6f0;background:linear-gradient(160deg,rgba(255,255,255,.99),rgba(248,250,255,.97));padding:29px;min-height:428px;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.expertise-card:hover{box-shadow:0 16px 28px rgba(11,34,89,.08);transform:translateY(-2px)}.card-number{font-size:10px;letter-spacing:.13em;color:#435d93;font-weight:760}.expertise-card h3{font-size:23px;letter-spacing:-.033em;line-height:1.21;margin:9px 0 13px;font-weight:690;min-height:58px}.expertise-card>p{font-size:14px;color:#55627b;line-height:1.72;margin:0 0 24px}.card-foot{display:block;padding-top:18px;margin-top:auto;border-top:1px solid #dce5f1;font-size:10px;color:#687996;letter-spacing:.075em;font-weight:730}.card-abstract{height:103px;position:relative;margin:26px 0 14px;overflow:hidden}.card-abstract span{position:absolute;display:block}.abstract-strategy span{height:2px;left:8px;background:linear-gradient(90deg,#91afec,#2059c5);transform:rotate(-24deg);transform-origin:left}.abstract-strategy span:nth-child(1){width:120px;top:66px}.abstract-strategy span:nth-child(2){width:190px;top:85px}.abstract-strategy span:nth-child(3){width:260px;top:103px}.abstract-digital span{border:1px solid #6088d5;border-radius:50%;width:85px;height:85px;top:7px;left:35px}.abstract-digital span:nth-child(2){width:53px;height:53px;top:23px;left:51px;border-color:#91b3f4}.abstract-digital span:nth-child(3){width:17px;height:17px;top:41px;left:69px;background:#1f57bb;border:0}.abstract-creative span{width:80px;height:80px;border-radius:1px;border:1px solid #84a0d5;top:11px;left:34px;transform:rotate(-10deg)}.abstract-creative span:nth-child(2){border-color:#2556b8;transform:rotate(18deg);left:52px}
/* Landscape: data-led, high contrast, nuanced */
.landscape{color:#fff;background:linear-gradient(133deg,#080c32 0%,#0b215e 48%,#1559b3 100%);position:relative;overflow:hidden}.landscape:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 100% 10%,rgba(57,133,235,.25),transparent 57%);pointer-events:none}.landscape>.container{position:relative}.section-top-light{border-color:rgba(255,255,255,.22)}.section-top-light>p{color:#bad1fa}.landscape-head{display:grid;grid-template-columns:1.04fr .65fr;gap:15%;align-items:end;margin:24px 0 50px}.landscape-head h2{margin:0;max-width:640px}.landscape-head>p{color:#c6d5f1;font-size:17px;margin:0 0 7px}.evidence-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr;gap:13px}.evidence-primary,.evidence-secondary-card{border:1px solid rgba(220,234,255,.24);padding:31px;min-height:294px;display:flex;flex-direction:column;align-items:start;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.045))}.evidence-primary{background:linear-gradient(140deg,rgba(29,98,204,.65),rgba(7,22,71,.46))}.figure-kicker{font-size:10px;letter-spacing:.13em;font-weight:740;color:#bdd6fa}.evidence-grid strong{font-size:clamp(69px,6vw,95px);line-height:1.06;font-weight:630;letter-spacing:-.075em;margin:23px 0 9px}.evidence-grid strong span{font-size:.48em;font-weight:600}.evidence-grid p{font-size:14px;line-height:1.6;color:#eff5ff;margin:0;max-width:260px}.evidence-grid a{font-size:10px;letter-spacing:.075em;margin-top:auto;color:#c7dbff;padding-top:24px}.evidence-grid a:hover,.election-link:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}.evidence-secondary{display:flex;align-items:baseline;gap:12px;margin-top:17px}.evidence-secondary strong{font-size:23px;margin:0;white-space:nowrap}.evidence-secondary>span{color:#d8e9ff;font-size:12px}.election-context{margin-top:18px;padding:30px 0;display:grid;grid-template-columns:1.3fr .72fr .88fr;gap:34px;border-top:1px solid rgba(220,232,255,.25);border-bottom:1px solid rgba(220,232,255,.25);position:relative}.small-tag{font-size:10px;letter-spacing:.12em;color:#bcd5ff;font-weight:700}.election-caption h3{font-size:22px;line-height:1.2;letter-spacing:-.025em;margin:16px 0 10px}.election-caption p{margin:0;color:#d0dff5;font-size:13px;max-width:315px}.election-number{border-left:1px solid rgba(255,255,255,.2);padding-left:23px;display:flex;flex-direction:column;gap:8px}.election-number strong{font-size:44px;letter-spacing:-.07em;font-weight:630}.election-number span{font-size:13px;color:#dce7f7;line-height:1.5}.election-link{grid-column:1/-1;font-size:10px;letter-spacing:.1em;color:#c7dbff;justify-self:end}
/* Platform choice */
.channels{background:#fff}.channels-grid{display:grid;grid-template-columns:.83fr 1.05fr;gap:11%;align-items:start}.channels h2{font-size:clamp(35px,3.65vw,53px);margin:24px 0}.channels-copy>p{color:#56647c;max-width:450px;font-size:16px}.channel-note{display:flex;gap:18px;align-items:center;background:linear-gradient(110deg,#f1f6ff,#fff);border-left:3px solid #3475d1;padding:19px 21px;margin-top:38px}.channel-note strong{font-size:38px;color:#1c4ca8;letter-spacing:-.07em;white-space:nowrap}.channel-note p{font-size:12px;line-height:1.62;margin:0;color:#53617b}.channel-note a,.source-line a{color:#2054aa;text-decoration:underline;text-decoration-color:#adc4e3;text-underline-offset:2px}.channel-data{padding:31px 34px 28px;border:1px solid #dee6f2;background:linear-gradient(140deg,#f7faff,#f1f6fd)}.data-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.data-head h3{font-size:24px;margin:0;letter-spacing:-.035em}.data-head span{font-size:9px;letter-spacing:.095em;font-weight:690;color:#647591}.chart-subtitle{font-size:13px;color:#67758b;margin:8px 0 27px}.bars{display:grid;gap:18px}.bar-row{display:grid;grid-template-columns:140px 1fr 51px;gap:14px;align-items:center;font-size:12px;font-weight:620}.bar-row>span{color:#3a4c70}.bar-row>b{text-align:right;font-size:13px;white-space:nowrap;color:#173b88}.bar-track{height:10px;background:#dfe9f7;border-radius:1px;overflow:hidden}.bar-track i{height:100%;display:block;width:var(--percent);background:linear-gradient(90deg,#102f83,#1c65c5 76%,#4192eb 100%);border-radius:1px}.source-line{font-size:11px;color:#697b92;border-top:1px solid #dfe6ef;margin:26px 0 0;padding-top:18px;line-height:1.6}
/* How we work */
.approach{background:linear-gradient(155deg,#eef4fc,#f8fbff 55%,#fff)}.approach-grid{display:grid;grid-template-columns:1fr .94fr;gap:13%;padding-top:30px}.approach h2{margin:0;max-width:560px}.approach-grid>div:first-child>p{font-size:16px;color:#596881;margin-top:27px;max-width:460px}.approach-item{padding:25px 0;border-bottom:1px solid #cfdbec;display:grid;grid-template-columns:36px 1fr;gap:22px}.approach-item:first-child{border-top:1px solid #cfdbec}.approach-item>span{font-size:12px;color:#1e56ab;font-weight:750;padding-top:4px}.approach-item h3{font-size:22px;font-weight:670;letter-spacing:-.025em;margin:0 0 8px}.approach-item p{font-size:14px;color:#5c6980;margin:0}
/* PNA: separate warm identity on a neutral ground */
.pna-section{background:#fff;padding:110px 0}.pna-frame{border:1px solid #e7e6e4;display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(130deg,#fff,#fdfdfd)}.pna-display{min-height:440px;color:#fff;position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:33px 36px;background:linear-gradient(115deg,rgba(184,80,4,.26),rgba(255,200,44,.1)),url('./assets/agency-orange.jpg') center / cover}.pna-display:before{position:absolute;content:"";inset:0;background:linear-gradient(105deg,rgba(140,50,0,.12),transparent 75%);pointer-events:none}.pna-display>*{position:relative}.pna-display-top,.pna-display-bottom{width:100%;font-size:10px;letter-spacing:.13em;font-weight:730;opacity:.92}.pna-display-bottom{text-align:right}.pna-display img{width:min(78%,345px);height:auto;filter:drop-shadow(0 9px 10px rgba(92,31,0,.08))}.pna-content{display:flex;align-items:start;justify-content:center;flex-direction:column;padding:64px clamp(30px,6vw,76px)}.pna-eyebrow{color:#9e671e;font-size:10px;font-weight:740;letter-spacing:.13em}.pna-content h2{font-size:clamp(33px,3.3vw,47px);line-height:1.18;letter-spacing:-.045em;margin:23px 0 15px}.pna-content h2 span{font-weight:490}.pna-content p{font-size:15px;color:#5b6375;line-height:1.73;max-width:390px;margin:0}.subtle-link{display:inline-flex;gap:60px;align-items:center;border-bottom:1px solid #c48628;color:#795218;padding:0 0 10px;margin-top:30px;font-size:13px;font-weight:670}.subtle-link:hover{color:#ab6504}
/* Contact and footer belong to the Group */
.contact-section{color:#fff;background:linear-gradient(120deg,#080a31,#0e2667 57%,#1455ad);padding:95px 0}.contact-grid{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:end}.contact-section h2{font-size:clamp(42px,4.6vw,70px);margin:23px 0 18px;max-width:620px}.contact-section p{font-size:16px;color:#d7e7fa;margin:0}.contact-action{display:flex;align-items:start;flex-direction:column;gap:17px;margin-bottom:5px}.contact-action>a{display:flex;align-items:center;justify-content:space-between;gap:65px;padding:20px 24px;color:#0b2760;background:#fff;min-width:268px;font-weight:700;font-size:14px;transition:background .2s}.contact-action>a:hover{background:#edf5ff}.contact-action>span{font-size:12px;color:#d3e4ff;overflow-wrap:anywhere}.footer{background:#070b29;color:#fff;padding:58px 0 25px}.footer-main{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:8%;align-items:start;padding-bottom:60px}.footer-logo img{width:210px}.footer-tagline{font-size:20px;line-height:1.45;letter-spacing:-.02em;color:#e0e9fc}.footer-details{font-size:13px;line-height:1.85;color:#b4c0de}.footer-bottom{border-top:1px solid rgba(255,255,255,.18);padding-top:25px;display:flex;justify-content:space-between;gap:20px;align-items:center;color:#9caed5;font-size:11px}.footer-bottom a:hover{color:#fff}
@media(max-width:1050px){.container{width:min(calc(100% - 56px),var(--shell))}.site-nav{gap:22px}.hero-grid{grid-template-columns:1.2fr .7fr;gap:6%}.hero h1{font-size:clamp(49px,5.8vw,72px)}.section-heading{gap:7%}.channels-grid{gap:6%}.bar-row{grid-template-columns:123px 1fr 47px;gap:10px}.pna-content{padding:48px}}
@media(max-width:820px){html{scroll-padding-top:76px}.container{width:calc(100% - 42px)}.site-header{height:78px}.brand img{width:126px}.menu-toggle{display:block;position:relative;z-index:60}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:78px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 21px 23px;background:#fff;box-shadow:0 18px 30px rgba(0,0,0,.10);border-bottom:1px solid #dee6f1}.site-nav.open{display:flex}.site-nav>a{font-size:16px;padding:15px 4px;border-bottom:1px solid #e8ecf3}.site-nav .nav-enquiry{justify-content:space-between;margin-top:15px}.hero-content{padding-top:29px}.hero-grid{min-height:0;grid-template-columns:1fr;gap:42px;padding:75px 0 76px}.hero h1{max-width:670px;font-size:clamp(51px,8.2vw,74px)}.hero-side{max-width:570px;padding-left:23px}.hero-side>p:not(.hero-side-label){font-size:16px}.hero-bottom{font-size:9px}.hero-bottom i{padding:0 5px}.introduction{padding:80px 0}.intro-grid,.section-heading,.landscape-head,.channels-grid,.approach-grid{grid-template-columns:1fr;gap:28px}.intro-grid h2,.section-heading h2,.landscape h2,.channels h2,.approach h2{font-size:clamp(38px,6.4vw,56px)}.intro-right{max-width:720px}.section-space{padding:80px 0}.section-heading{margin:25px 0 33px}.section-heading>p{max-width:540px}.expertise-grid{grid-template-columns:1fr;gap:12px}.expertise-card{min-height:0;padding:26px}.card-abstract{height:75px;margin:15px 0 8px}.expertise-card h3{min-height:0}.expertise-card>p{max-width:540px}.evidence-grid{grid-template-columns:1fr 1fr}.evidence-primary{grid-column:1/-1;min-height:0}.evidence-primary strong{font-size:84px}.evidence-primary p{max-width:420px}.evidence-secondary{margin-top:12px}.evidence-secondary-card{min-height:255px}.election-context{grid-template-columns:1fr 1fr}.election-caption{grid-column:1/-1}.election-number:first-of-type{border-left:0;padding-left:0}.channels-grid{gap:35px}.channels-copy>p{max-width:650px}.channel-note{max-width:530px}.approach-grid{gap:38px}.pna-frame{grid-template-columns:1fr}.pna-display{min-height:350px}.pna-display img{width:290px}.pna-content{padding:47px}.contact-grid{grid-template-columns:1fr;gap:36px}.contact-section h2{max-width:640px}.footer-main{gap:5%;grid-template-columns:1fr 1fr}.footer-logo{grid-column:1/-1}.footer-bottom{flex-wrap:wrap}}
@media(max-width:530px){.container{width:calc(100% - 36px)}.eyebrow{font-size:9px;letter-spacing:.1em;gap:7px}.eyebrow-rule{width:18px}.hero-content{padding-top:24px}.hero-grid{padding:58px 0 68px;gap:37px}.hero h1{font-size:clamp(39px,10.3vw,56px);letter-spacing:-.058em}.hero-side{padding-left:16px}.hero-side-label{font-size:9px;margin:0 0 12px}.hero-side>p:not(.hero-side-label){font-size:15px;margin-bottom:22px}.hero-bottom{align-items:start;gap:15px;line-height:1.8;font-size:9px}.hero-bottom>span{max-width:230px}.hero-bottom a{white-space:nowrap}.intro-grid h2,.section-heading h2,.landscape h2,.channels h2,.approach h2{font-size:clamp(37px,9.7vw,48px)}.introduction,.section-space{padding:67px 0}.intro-right{padding-left:20px}.intro-right .lead{font-size:18px}.intro-right p{font-size:15px}.section-top>p{display:none}.section-heading>p{font-size:15px}.expertise-card h3{font-size:21px}.landscape-head{margin-bottom:32px}.landscape-head>p{font-size:15px}.evidence-grid{grid-template-columns:1fr;gap:10px}.evidence-primary{grid-column:auto}.evidence-primary,.evidence-secondary-card{padding:25px;min-height:242px}.evidence-grid strong{font-size:69px;margin-top:16px}.evidence-primary{min-height:278px}.election-context{gap:25px}.election-number strong{font-size:37px}.election-number span{font-size:12px}.channels-grid{gap:28px}.channel-data{padding:21px 15px}.data-head{display:block}.data-head h3{font-size:22px}.data-head span{font-size:9px}.bar-row{grid-template-columns:108px 1fr 46px;gap:8px;font-size:10px}.bar-row>b{font-size:12px}.bars{gap:17px}.channel-note{margin-top:24px}.approach-item h3{font-size:19px}.pna-section{padding:65px 0}.pna-display{min-height:280px;padding:25px}.pna-display img{width:220px}.pna-content{padding:36px 26px}.pna-content h2{font-size:35px}.pna-content p{font-size:14px}.contact-section{padding:72px 0}.contact-section h2{font-size:clamp(42px,10vw,55px)}.contact-action>a{min-width:100%}.contact-action>span{font-size:11px}.footer-main{grid-template-columns:1fr;gap:25px;padding-bottom:40px}.footer-logo{grid-column:auto}.footer-logo img{width:180px}.footer-tagline{font-size:18px}.footer-bottom{font-size:10px}}
@media(max-width:365px){.hero h1{font-size:36px}.bar-row{grid-template-columns:92px 1fr 43px;gap:6px;font-size:9px}.bar-track{height:9px}.evidence-primary,.evidence-secondary-card{padding:22px}.election-context{grid-template-columns:1fr}.election-number{border-left:0;padding-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* PNA refined colour revision — preserve the original layout and typography,
   while refining colour balance, card fit, corner radius, and brand hierarchy. */
:root{
  --blue:#122c8f;
  --mid:#1b56b8;
  --electric:#2f74dd;
  --paper:#fff8ef;
  --line:#ead9c3;
  --orange:#e58a11;
}
::selection{background:#ffdca7;color:#2a1608}
:focus-visible{outline-color:#d97d10}
.site-nav>a{color:#234098}
.site-nav>a:hover{color:#0d2d80}
.site-nav .nav-enquiry{border-color:#d6dff4;background:#fff}
.site-nav .nav-enquiry:hover{border-color:#8ba5e4;background:#f7faff}
.brand img{width:186px;height:auto}
.footer-logo img{width:188px;height:auto}
.hero{background:linear-gradient(118deg,#b7630c 0%,#cf7a0e 26%,#e58d12 63%,#f1a62b 100%)}
.hero:after{border-color:rgba(255,244,221,.16)}
.hero-glow{opacity:1;background:radial-gradient(ellipse 68% 78% at 84% 100%,rgba(255,214,130,.28),transparent 72%),radial-gradient(ellipse 56% 58% at 6% 0%,rgba(255,255,255,.10),transparent 72%)}
.hero .eyebrow.light{color:#fff0cf}
.hero-side-label{color:#fff0c5}
.hero-side>p:not(.hero-side-label){color:#fff7ed}
.hero-bottom{color:#fff5e8}
.hero-bottom i{color:#f6cd8a}
.btn-light{color:#2d2f91}
.btn-light:hover{background:#fff2de}
.introduction{background:linear-gradient(110deg,#fff 0%,#fff 66%,#fff8ee 100%)}
.eyebrow{color:#b56a16}
.intro-right{border-color:#f1e1ca}
.intro-grid h2,.section-heading h2,.channels h2,.approach h2,.pna-content h2,.contact-section h2{color:#183391}
.intro-right p,.section-heading>p,.expertise-card>p,.approach-item p{color:#5f6571}
.intro-right .lead{color:#1c327c}
.expertise{background:linear-gradient(160deg,#fffaf2 0%,#fffdf9 46%,#fbf5ec 100%)}
.section-top{border-bottom-color:#efe2d1}
.section-top>p{color:#6b7daf}
.expertise-grid{gap:18px}
.expertise-card{border-color:#efe3d3;background:linear-gradient(160deg,#fff,#fffbf6);border-radius:32px;box-shadow:0 12px 24px rgba(26,38,93,.04);min-height:366px}
.expertise-card:hover{box-shadow:0 18px 32px rgba(26,38,93,.08)}
.card-number{color:#b06a1a}
.card-foot{border-color:#e9ddcf;color:#3b57a4}
.abstract-strategy span{background:linear-gradient(90deg,#f3cc92,#d07a14)}
.abstract-digital span{border-color:#caa06a}
.abstract-digital span:nth-child(2){border-color:#efcc96}
.abstract-digital span:nth-child(3){background:#2f74dd}
.abstract-creative span{border-color:#dfa66a}
.abstract-creative span:nth-child(2){border-color:#2b66c4}
.landscape{background:linear-gradient(133deg,#07174d 0%,#0f2f83 48%,#1c56bb 100%)}
.landscape:before{background:radial-gradient(ellipse at 100% 10%,rgba(120,183,255,.18),transparent 57%)}
.section-top-light{border-color:rgba(255,255,255,.20)}
.section-top-light>p{color:#dbe8ff}
.landscape .eyebrow.light{color:#e7efff}
.landscape-head>p,.evidence-grid p,.evidence-secondary span,.election-caption p,.election-number span{color:#e3edff}
.landscape h2{color:#fff}
.evidence-primary,.evidence-secondary-card{background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.06));border-color:rgba(255,255,255,.16);border-radius:32px;min-height:286px}
.evidence-secondary-card p{font-size:15px;line-height:1.62;max-width:265px}
.figure-kicker,.small-tag{color:#aecaFF}
.evidence-primary a,.evidence-secondary-card a,.election-link{color:#cfe0ff}
.evidence-primary a:hover,.evidence-secondary-card a:hover,.election-link:hover{color:#ffffff}
.evidence-secondary strong{color:#cfe0ff}
.election-context{background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.05));border-color:rgba(255,255,255,.16);border-radius:32px}
.election-caption h3{max-width:290px}
.channels{background:linear-gradient(108deg,#fff 0%,#fff 67%,#f7faff 100%)}
.channels .eyebrow,.channels h2,.data-head h3{color:#17388f}
.channel-note{border:1px solid #d8e1f5;border-left:4px solid #244fb4;border-radius:28px;background:linear-gradient(165deg,#fff,#f9fbff)}
.channel-note strong{color:#1f47a5}
.channel-note a,.source-line a{color:#274aa7}
.channel-note-source{color:#2f4f9b}
.channel-data{border-color:#dce4f4;background:linear-gradient(145deg,#f7faff,#f1f6ff);border-radius:32px}
.data-head span{color:#6d7ea5}
.chart-subtitle{color:#68789e}
.bar-row>span{color:#394866}
.bar-row>b{color:#1f47a5}
.bar-track{background:#dfe8f8}
.bar-track i{background:linear-gradient(90deg,#12358f,#2257ba 74%,#3c83ea)}
.source-line{color:#68799a}
.approach{background:linear-gradient(155deg,#fff8ef,#f9fbff 58%,#fff)}
.approach-item{border-color:#e7e0d7}
.approach-item>span{color:#b56b18}
.pna-frame{border-color:#ebddcc;background:linear-gradient(130deg,#fff,#fffaf3);border-radius:34px;overflow:hidden}
.pna-display{background:linear-gradient(115deg,rgba(203,111,15,.16),rgba(245,177,65,.10)),url('./assets/agency-orange.jpg') center/cover;min-height:420px;padding:28px 32px}
.pna-display img{width:min(82%,355px);height:auto;filter:drop-shadow(0 8px 12px rgba(56,26,0,.08))}
.pna-content{padding:58px clamp(30px,6vw,74px)}
.pna-eyebrow{color:#b56d1a}
.pna-content p{color:#5d6370;max-width:420px}
.subtle-link{border-bottom-color:#d8a156;color:#2247aa}
.subtle-link:hover{color:#12358f}
.contact-section{background:linear-gradient(120deg,#b35f0f 0%,#cf7a15 54%,#e89a27 100%)}
.contact-section p{color:#fff2df}
.contact-action>a{color:#213d97;background:#fff;border-radius:22px}
.contact-action>a:hover{background:#fff2dd}
.contact-action>span{color:#fff0d0}
.footer{background:linear-gradient(180deg,#07103d,#091544)}
.footer-tagline{color:#e6eeff}
.footer-details{color:#bcc8e6}
.footer-bottom{color:#9fb1dd}
@media(max-width:1050px){.brand img{width:172px}.footer-logo img{width:180px}.evidence-secondary-card p{max-width:100%}}
@media(max-width:820px){.brand img{width:126px}.expertise-card{min-height:0;border-radius:30px}.evidence-primary,.evidence-secondary-card,.election-context,.channel-data,.channel-note,.pna-frame{border-radius:28px}.pna-display img{width:min(82%,300px)}.election-caption h3{max-width:none}}
@media(max-width:530px){.hero h1{font-size:clamp(39px,10vw,55px)}.hero-grid{padding:56px 0 68px}.evidence-primary,.evidence-secondary-card{min-height:0}.channel-data,.channel-note{border-radius:26px}.pna-display{min-height:260px;padding:24px}.pna-display img{width:min(84%,255px)}.pna-content{padding:34px 24px}.contact-action>a{border-radius:20px}}

/* Focused revision: rich, dark PNA orange (never black) and a proportionate PNG masthead. */
.site-header{height:94px}
.header-inner{align-items:center}
.brand{height:100%;display:flex;align-items:center;flex-shrink:0}
.brand img{width:130px;height:auto;max-height:62px;object-fit:contain}
.hero{background:linear-gradient(117deg,#893a04 0%,#a94805 31%,#c35e0a 68%,#d77c19 100%)}
.hero-glow{opacity:.56;background:radial-gradient(ellipse 70% 78% at 86% 102%,rgba(255,198,84,.2),transparent 73%),radial-gradient(ellipse 55% 70% at 6% 2%,rgba(244,142,35,.1),transparent 72%)}
.hero-side{max-width:330px}
.hero-side>p:not(.hero-side-label){font-size:16px;line-height:1.67}
.hero-side-label{color:#ffe0ad}
.expertise-card h3,.approach-item h3{overflow-wrap:break-word}
.evidence-grid,.election-context{min-width:0}
.evidence-primary,.evidence-secondary-card,.expertise-card,.channel-note,.channel-data,.pna-content{min-width:0}
.evidence-grid a,.source-line{overflow-wrap:anywhere}
.election-context>*{min-width:0}
@media(max-width:820px){.site-header{height:78px}.brand img{width:111px;max-height:56px}.hero-side{max-width:570px}}
@media(max-width:530px){.election-context{grid-template-columns:minmax(0,1fr)}.election-caption{grid-column:1/-1}.election-number{border-left:0;padding-left:0}.election-context>.election-number{grid-column:1/-1}}
/* Keep the election evidence neatly inset within the rounded blue panel. */
.election-context{padding:30px 30px}
@media(max-width:530px){.election-context{padding:26px 24px}}

/* Corporate colour polish, 30 October 2026.
   No section or typography redesign: all neutrals are white or cool blue,
   Group evidence stays blue, PNA keeps its branded orange hero and logo. */
:root{
  --ink:#0d226d;
  --blue:#1708b8;
  --mid:#2459cc;
  --electric:#166bff;
  --muted:#50688d;
  --paper:#f4f8ff;
  --line:#d9e5fa;
}
body{background:#ffffff}
.hero-pna-lockup{border-top:1px solid rgba(255,255,255,.3);margin-top:30px;padding-top:19px;width:215px;max-width:100%}
.hero-pna-lockup img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(66,30,0,.04))}
.hero-side{min-width:0}
.hero-side>p:not(.hero-side-label){color:#fff9ef}
/* Crisp cool-white surfaces: remove all cream/beige appearance */
.introduction{background:linear-gradient(112deg,#fff 0%,#fff 47%,#edf5ff 100%)}
.intro-right{border-left-color:#95b8fa}
.intro-grid h2,.section-heading h2,.channels h2,.approach h2,.pna-content h2{color:#132f99}
.intro-right .lead{color:#163da0}
.expertise{background:linear-gradient(149deg,#e4f0ff 0%,#f8fbff 49%,#e9f3ff 100%)}
.section-top{border-bottom-color:#c8daf8}
.section-top>p{color:#2d52a5}
.expertise-card{background:linear-gradient(155deg,#fff 0%,#f7fbff 100%);border-color:#cadbf6;border-radius:32px;box-shadow:0 16px 38px rgba(20,59,148,.065)}
.expertise-card:hover{box-shadow:0 22px 44px rgba(20,59,148,.12)}
.expertise-card h3{color:#112d89}
.card-number,.card-foot{color:#1853c4}
.card-foot{border-top-color:#d8e7ff}
.abstract-strategy span{background:linear-gradient(90deg,#5a9cff,#164fff)}
.abstract-digital span{border-color:#2172f7}
.abstract-digital span:nth-child(2){border-color:#8abaff}
.abstract-digital span:nth-child(3){background:#1759ff}
.abstract-creative span{border-color:#66a3f9}
.abstract-creative span:nth-child(2){border-color:#205bff}
/* More electrical blue evidence graphics, retained in the Group's identity */
.landscape{background:linear-gradient(124deg,#071349 0%,#122987 38%,#204fc1 76%,#236de2 100%)}
.landscape:before{background:radial-gradient(ellipse at 100% 12%,rgba(83,165,255,.36),transparent 58%),radial-gradient(ellipse at 0 100%,rgba(15,93,245,.24),transparent 58%)}
.evidence-primary,.evidence-secondary-card{border-radius:34px;border:1px solid rgba(181,219,255,.48);background:linear-gradient(140deg,#194bd1 0%,#1766ea 62%,#2c86f7 100%);box-shadow:0 16px 33px rgba(0,11,55,.18);padding:30px;min-width:0}
.evidence-primary{background:linear-gradient(140deg,#112eae 0%,#1958e3 65%,#2b8afd 100%)}
.evidence-secondary-card:nth-child(3){background:linear-gradient(138deg,#2145ba 0%,#1d62dd 66%,#2875ee 100%)}
.evidence-grid strong{color:#fff;letter-spacing:-.075em}
.figure-kicker,.small-tag{color:#cce5ff}
.evidence-grid a{color:#f1f7ff;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.45);overflow-wrap:anywhere}
.evidence-grid p{color:#fff}
.evidence-secondary strong{color:#fff}
.evidence-secondary>span{color:#e7f5ff}
.election-context{background:linear-gradient(110deg,rgba(20,83,195,.46),rgba(54,121,231,.32));border:1px solid rgba(178,222,255,.33);border-radius:32px;padding:31px;gap:24px}
.election-number strong{color:#bbdeff;text-shadow:0 0 18px rgba(128,205,255,.15)}
.election-caption h3{max-width:none}
/* Platform figures: true blues rather than muted beige/grey */
.channels{background:linear-gradient(128deg,#fff 0%,#f9fcff 58%,#eaf3ff 100%)}
.channel-note{background:linear-gradient(128deg,#eff6ff,#fff);border-color:#bfd5fc;border-left-color:#165dfa}
.channel-note strong{color:#1649c9}
.channel-data{background:linear-gradient(132deg,#f3f8ff,#e2efff);border-color:#b9d3fb;box-shadow:0 16px 35px rgba(30,80,180,.06)}
.data-head h3{color:#0e329f}
.bar-track{background:#ccdcf5;height:12px;border-radius:9px}
.bar-track i{background:linear-gradient(90deg,#1627c7 0%,#165bff 52%,#35a8ff 100%);border-radius:9px}
.bar-row>b{color:#1145bd}
.bar-row>span{color:#284c96}
.source-line{border-top-color:#c7d9f6}
.approach{background:linear-gradient(148deg,#eef6ff 0%,#fbfdff 54%,#fff 100%)}
.approach-item{border-color:#cbdffb}
.approach-item>span{color:#1655d9}
.approach-item h3{color:#143794}
.pna-section{background:linear-gradient(155deg,#fff 0%,#f6faff 100%)}
.pna-frame{border-color:#d7e5fb;background:linear-gradient(135deg,#fff,#f6faff);box-shadow:0 20px 50px rgba(19,55,127,.07)}
.pna-content{background:linear-gradient(140deg,#fff 0%,#f4f8ff 100%)}
.pna-eyebrow{color:#1741b0}
.pna-content p{color:#445b83}
.subtle-link{border-bottom-color:#467feb;color:#1847bd}
.subtle-link:hover{color:#0a318f}
/* Contact: approachable luminous Group blue with white headline and readable body */
.contact-section{color:#fff;background:linear-gradient(114deg,#317add 0%,#2466c9 53%,#17469e 100%);position:relative;overflow:hidden}
.contact-section:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 55% 120% at 1% -12%,rgba(129,192,255,.28),transparent 65%)}
.contact-section>.container{position:relative}
.contact-section h2{color:#fff!important;text-shadow:0 1px 1px rgba(12,41,92,.10)}
.contact-section .eyebrow.light{color:#ecf7ff}
.contact-section p{color:#fff}
.contact-action>a{color:#123a9a;background:#fff;border-radius:24px}
.contact-action>a:hover{background:#ecf5ff}
.contact-action>span{color:#f1f7ff}
/* Preserve the dark Group blue lower footer to anchor the bright contact gradient */
.footer{background:linear-gradient(180deg,#0a1a58 0%,#07113e 100%)}
.footer-tagline{color:#eff5ff}
@media(max-width:1050px){.evidence-primary,.evidence-secondary-card{padding:27px}}
@media(max-width:820px){.hero-pna-lockup{margin-top:25px;width:184px}.evidence-primary,.evidence-secondary-card{border-radius:30px}.election-context{border-radius:30px}.expertise-card{border-radius:30px}}
@media(max-width:530px){.hero-pna-lockup{width:166px}.evidence-primary,.evidence-secondary-card{padding:24px}.evidence-grid strong{font-size:clamp(58px,16vw,73px)}.contact-section h2{color:#fff!important}.contact-action>a{border-radius:20px}}
/* Keep section metadata legible over Group blue. */
.landscape .section-top-light>p{color:#e3efff}


/* Final reorder + styling refinement, 30 October 2026 */
/* Keep current layout, deepen bright accents slightly, reorder sections, and tune brand graphics. */
.site-nav{gap:24px}.site-nav a{font-size:12.5px}
@media(max-width:1180px){.site-nav{gap:18px}.site-nav a{font-size:12px}}
@media(max-width:820px){.site-nav a{font-size:16px}}
/* Section order numbering visual consistency */
.channels .eyebrow{gap:10px;flex-wrap:wrap}
/* Expertise graphics should be bright PNA orange, not blue. */
.abstract-strategy span:nth-child(1){background:linear-gradient(90deg,#f8cf89,#f09e24 55%,#d8750d)}
.abstract-strategy span:nth-child(2){background:linear-gradient(90deg,#ffdca6,#f3b24b)}
.abstract-strategy span:nth-child(3){background:linear-gradient(90deg,#ef991f,#cc6909)}
.abstract-digital span:nth-child(1){background:linear-gradient(135deg,#f5b54b,#cf7109);border-color:#d57a13}
.abstract-digital span:nth-child(2){border-color:#f2be69;background:rgba(255,255,255,.1)}
.abstract-digital span:nth-child(3){background:linear-gradient(90deg,#f3a227,#d86d08)}
.abstract-creative span:nth-child(1){border-color:#e39940;background:linear-gradient(135deg,#f2bf68,#cf7408)}
.abstract-creative span:nth-child(2){border-color:#d87510;background:linear-gradient(90deg,#f5b548,#da7809)}
/* Make the punchy blue sections slightly darker and more corporate. */
.landscape{background:linear-gradient(124deg,#06113f 0%,#112775 40%,#1b47ac 78%,#255fca 100%)}
.landscape:before{background:radial-gradient(ellipse at 100% 12%,rgba(83,165,255,.25),transparent 58%),radial-gradient(ellipse at 0 100%,rgba(15,93,245,.16),transparent 58%)}
.evidence-primary,.evidence-secondary-card{background:linear-gradient(140deg,#153fab 0%,#1957cc 62%,#2b73dd 100%);box-shadow:0 14px 28px rgba(0,11,55,.16)}
.evidence-primary{background:linear-gradient(140deg,#102f97 0%,#174bc4 65%,#276ed8 100%)}
.evidence-secondary-card:nth-child(3){background:linear-gradient(138deg,#1b3ea4 0%,#1a57c3 66%,#2869d2 100%)}
.election-context{background:linear-gradient(110deg,rgba(17,63,155,.50),rgba(40,95,194,.34));box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.contact-section{background:linear-gradient(114deg,#2b6dca 0%,#225bb5 53%,#153d88 100%)}
.contact-section:before{background:radial-gradient(ellipse 55% 120% at 1% -12%,rgba(129,192,255,.20),transparent 65%)}
/* Percent symbols on communications landscape need clear separation. */
.evidence-grid strong span,.evidence-secondary strong span,.election-number strong span{display:inline-block;margin-left:2px;font-size:.62em}
/* UK platform audience sliders should use a PNA orange gradient. */
.bar-track{background:#d9e5f8}
.bar-track i{background:linear-gradient(90deg,#bb5d08 0%,#df820f 52%,#f2ab34 100%)}
/* Keep corners more rounded and cards fitting nicely. */
.evidence-primary,.evidence-secondary-card,.election-context,.channel-note,.channel-data,.expertise-card,.pna-frame,.contact-action>a{border-radius:34px}
.contact-action>a{border-radius:24px}
.expertise-card p,.evidence-secondary-card p,.channel-note p,.source-line,.contact-section p{overflow-wrap:anywhere}
/* Maintain smaller, trustworthy logo presence. */
.brand img{width:122px;max-height:58px}
.footer-logo img{width:176px}
@media(max-width:820px){.brand img{width:106px;max-height:52px}.evidence-primary,.evidence-secondary-card,.election-context,.channel-note,.channel-data,.expertise-card,.pna-frame{border-radius:30px}}
@media(max-width:530px){.evidence-primary,.evidence-secondary-card,.election-context,.channel-note,.channel-data,.expertise-card,.pna-frame{border-radius:28px}.brand img{width:100px;max-height:50px}}

/* 31 Oct 2026: digital communications motif — layered platform windows, not concentric circles. */
.abstract-digital span{
    position:absolute;display:block;transform:none;border:0;border-radius:0;
    background:transparent;box-shadow:none;
}
.abstract-digital span:nth-child(1){
    top:7px;left:10px;width:116px;height:77px;border:2px solid #d87811;
    border-radius:10px;background:linear-gradient(148deg,#ffffff,#fff7eb);
    box-shadow:0 6px 16px rgba(175,88,11,.08);
}
.abstract-digital span:nth-child(1)::before{
    content:"";position:absolute;left:0;top:0;right:0;height:16px;
    border-radius:8px 8px 0 0;background:linear-gradient(90deg,#cb6a07,#ee9820);
}
.abstract-digital span:nth-child(1)::after{
    content:"";position:absolute;left:11px;top:32px;width:48px;height:7px;
    border-radius:3px;background:#e8982f;box-shadow:0 16px 0 #f1c487;
}
.abstract-digital span:nth-child(2){
    top:28px;left:86px;width:91px;height:57px;border:2px solid #fff;
    border-radius:9px;background:linear-gradient(139deg,#d5780d,#f2ab37);
    transform:rotate(6deg);box-shadow:0 6px 12px rgba(170,81,5,.14);
}
.abstract-digital span:nth-child(3){
    top:48px;left:107px;width:46px;height:7px;border-radius:3px;
    background:#fff8e9;transform:rotate(6deg);box-shadow:2px 16px 0 -1px rgba(255,255,255,.78);
}


/* Executive refinement: consistent visual hierarchy and reduced UI noise.
   Hero orange, Ofcom PNG-blue section, orange service graphics, and orange channel bars remain. */
:root{--executive-ink:#112b7c;--executive-muted:#53637f;--executive-line:#d9e3f1;--executive-radius:22px}
html{scroll-padding-top:95px}
body{line-height:1.54}
/* Tighten the masthead with equal vertical padding; no oversized branding. */
.site-header{height:82px;background:rgba(255,255,255,.98);border-bottom-color:#e7ebf2}
.header-inner{gap:30px}
.brand img{width:112px;max-height:52px;object-fit:contain}
.site-nav{gap:31px}
.site-nav>a{font-size:13px;font-weight:580;color:#223b79}
.site-nav .nav-enquiry{border-radius:12px;padding:11px 16px;gap:24px}
/* Brand-driven hero remains the dominant editorial moment; slightly more deliberate spacing. */
.hero-content{padding-top:36px}
.hero-grid{min-height:0;padding:80px 0 79px;grid-template-columns:minmax(0,1.22fr) minmax(255px,.60fr);gap:8%}
.hero h1{font-size:clamp(50px,5.2vw,76px);line-height:1.095;letter-spacing:-.065em}
.hero-side>p:not(.hero-side-label){font-size:15.5px;line-height:1.66}
.hero-side-label{margin-bottom:17px}
.hero-pna-lockup{width:173px;margin-top:24px;padding-top:15px}
.btn-light{border-radius:12px;padding:14px 18px}
.hero-bottom{padding:19px 0 0}
/* Headline hierarchy: heroes first, section headings second, card titles third. */
.section-space{padding:86px 0}
.section-top{padding-bottom:16px}
.section-heading{display:block;max-width:900px;margin:27px 0 34px}
.section-heading h2{max-width:850px}
.section-heading h2,.landscape h2,.channels h2,.approach h2{font-size:clamp(34px,3.55vw,52px);line-height:1.12;letter-spacing:-.042em}
.eyebrow{letter-spacing:.12em}
/* Quiet service cards: soft surfaces, fewer gradients and smaller corners. */
.expertise{background:linear-gradient(150deg,#f2f6fc 0%,#f8faff 52%,#edf3fc 100%)}
.expertise-grid{gap:17px}
.expertise-card{min-height:361px;padding:29px;background:#ffffff;border:1px solid var(--executive-line);border-radius:22px;box-shadow:0 7px 19px rgba(21,49,108,.045)}
.expertise-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(21,49,108,.09)}
.expertise-card h3{font-size:21px;line-height:1.25;min-height:52px;margin-top:3px}
.expertise-card>p{font-size:14px;line-height:1.67;margin-bottom:16px}
.card-abstract{height:85px;margin:19px 0 15px}
.card-foot{font-size:9.5px;letter-spacing:.09em;padding-top:14px}
/* Blue evidence is the only large card-led section. One field, controlled highlights. */
.landscape{background:linear-gradient(126deg,#081447 0%,#112b7d 51%,#2557ae 100%)}
.landscape:before{background:radial-gradient(ellipse at 100% 13%,rgba(72,145,244,.19),transparent 58%)}
.landscape-head{margin:25px 0 34px;gap:12%}
.landscape-head>p{font-size:15.5px;line-height:1.67}
.evidence-grid{gap:16px}
.evidence-primary,.evidence-secondary-card{min-height:263px;padding:26px;border-radius:22px;border-color:rgba(194,217,249,.26);box-shadow:none;background:linear-gradient(145deg,rgba(61,115,200,.31),rgba(28,61,134,.23))}
.evidence-primary{background:linear-gradient(138deg,rgba(45,102,200,.42),rgba(28,62,146,.26))}
.evidence-secondary-card:nth-child(3){background:linear-gradient(138deg,rgba(49,107,199,.33),rgba(22,65,149,.21))}
.evidence-grid strong{margin:16px 0 9px;font-size:clamp(64px,5.4vw,81px)}
.evidence-grid p{font-size:14px;line-height:1.6}
.evidence-grid a{padding-top:16px}
.evidence-secondary{margin-top:13px}
.evidence-secondary strong{font-size:23px;margin:0}
.election-context{border-radius:20px;border-color:rgba(189,218,255,.22);background:rgba(255,255,255,.045);box-shadow:none;gap:22px;margin-top:18px;padding:27px}
.election-caption h3{font-size:21px}
.election-number strong{font-size:39px;text-shadow:none}
/* Data diagram is measured and legible; PNA-orange bars are the single accent. */
.channels{background:#fff}
.channels-grid{gap:10%}
.channels h2{max-width:510px;margin:24px 0 19px}
.channel-note{border-radius:20px;padding:18px 21px;box-shadow:none;background:#f7faff;border:1px solid #dbe6f6;border-left:3px solid #234da6}
.channel-data{background:#f5f9ff;border:1px solid #dbe5f3;box-shadow:none;border-radius:22px;padding:29px}
.bar-track{height:10px;border-radius:999px;background:#dbe5f4}
.bar-track i{border-radius:999px;background:linear-gradient(90deg,#a94b05,#cf740e 52%,#eaa02b)}
/* Parent / agency lockup reads as provenance instead of another giant CTA. */
.pna-section{background:#fff;padding:85px 0}
.pna-frame{border:1px solid #dbe5f3;box-shadow:0 8px 25px rgba(18,50,111,.045);border-radius:22px;background:#fff}
.pna-display{min-height:320px;padding:26px 31px}
.pna-display img{width:min(70%,285px)}
.pna-content{padding:43px clamp(30px,5vw,62px);background:#fff}
.pna-content h2{font-size:clamp(29px,3vw,40px);line-height:1.16}
.pna-content p{font-size:14.5px;line-height:1.7}
.pna-eyebrow{letter-spacing:.105em}
.pna-eyebrow-separator{margin:0 7px;opacity:.6}
/* A substantive closing rationale; use the retained political-expertise line as lead. */
.approach{background:linear-gradient(145deg,#f1f6fd,#f8fbff 62%,#fff)}
.approach-grid{gap:11%}
.approach-grid>div:first-child>p{font-size:15.5px;line-height:1.7;max-width:490px;margin:18px 0 0;color:#546585}
.approach-grid .approach-lead{font-size:19px!important;line-height:1.42!important;font-weight:650;color:#123885!important;max-width:440px!important;margin-top:24px!important}
.approach-item{padding:21px 0}
.approach-item h3{font-size:19px;line-height:1.25}
.approach-item p{font-size:14px}
/* Closing gradient and dark footer remain a single Group-blue family. */
.contact-section{background:linear-gradient(112deg,#2866bc 0%,#2255a5 55%,#173a83 100%);padding:83px 0}
.contact-section h2{font-size:clamp(38px,3.8vw,56px);margin-top:18px}
.contact-action>a{border-radius:14px;box-shadow:none}
.footer{background:linear-gradient(180deg,#0a1d58,#091641)}
/* Layout rhythm and mobile scale: content comes into view sooner. */
@media(max-width:1050px){.hero-grid{gap:7%}.site-nav{gap:21px}.expertise-card{padding:25px}.evidence-primary,.evidence-secondary-card{padding:23px}}
@media(max-width:820px){
  html{scroll-padding-top:75px}
  .site-header{height:76px}.brand img{width:105px;max-height:51px}
  .site-nav{gap:0;top:76px}
  .hero-content{padding-top:27px}
  .hero-grid{padding:54px 0 54px;gap:34px;min-height:0}
  .hero h1{font-size:clamp(44px,6.8vw,65px)}
  .hero-side{max-width:600px}
  .hero-pna-lockup{width:155px}
  .section-space{padding:70px 0}
  .section-heading{margin:23px 0 29px}
  .section-heading h2,.landscape h2,.channels h2,.approach h2{font-size:clamp(34px,5.4vw,48px)}
  .expertise-card{border-radius:20px;min-height:0}
  .evidence-primary,.evidence-secondary-card,.election-context,.channel-data,.channel-note,.pna-frame{border-radius:20px}
  .pna-display{min-height:300px}.pna-display img{width:min(72%,255px)}
  .pna-section{padding:70px 0}
}
@media(max-width:530px){
  .site-header{height:68px}.brand img{width:95px;max-height:44px}
  .site-nav{top:68px}
  .hero-content{padding-top:19px}
  .hero-grid{padding:36px 0 36px;gap:26px}
  .hero h1{font-size:clamp(34px,9.25vw,47px);line-height:1.065}
  .hero-side{padding-left:14px}
  .hero-side-label{font-size:9px;margin-bottom:10px}
  .hero-side>p:not(.hero-side-label){font-size:14px;line-height:1.58;margin-bottom:17px}
  .hero-pna-lockup{width:133px;margin-top:16px;padding-top:10px}
  .btn-light{padding:12px 16px}
  .hero-bottom{font-size:9px;line-height:1.6;gap:8px;padding-top:15px}
  .hero-bottom i{padding:0 5px}
  .section-space{padding:57px 0}
  .section-heading h2,.landscape h2,.channels h2,.approach h2{font-size:clamp(32px,8.5vw,40px)}
  .section-heading{margin:18px 0 24px}
  .expertise-card{padding:23px;border-radius:20px}
  .expertise-card h3{font-size:20px;min-height:0}
  .card-abstract{margin:13px 0;height:73px}
  .evidence-primary,.evidence-secondary-card{min-height:0;padding:23px}
  .evidence-grid strong{font-size:clamp(60px,14vw,72px)}
  .election-context{padding:22px}
  .pna-section{padding:57px 0}
  .pna-display{min-height:250px}.pna-display img{width:min(76%,240px)}
  .pna-content{padding:33px 26px}
  .approach-grid .approach-lead{font-size:18px!important}
  .contact-section{padding:68px 0}
  .contact-section h2{font-size:clamp(34px,9vw,44px)}
}
@media(prefers-reduced-motion:reduce){.expertise-card:hover,.btn:hover{transform:none}}

/* Final breakpoint correction: the hero must stack naturally on mobile. */
@media(max-width:820px){
  .hero-grid{grid-template-columns:minmax(0,1fr);align-items:start}
  .channels{padding-bottom:58px}
  .pna-section{padding-top:58px}
}
@media(min-width:821px){
  .channels{padding-bottom:61px}
  .pna-section{padding-top:57px}
}
@media(max-width:530px){
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero-side{max-width:100%;margin-top:0}
  .channels{padding-bottom:45px}
  .pna-section{padding-top:42px}
}


/* Unified PNA capability + agency module, considered motion design (2026-10-30) */
.agency-suite{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(165deg,#fff 0%,#fafcff 52%,#f5f9ff 100%)}
.agency-suite::before{content:"";pointer-events:none;position:absolute;inset:0 0 auto auto;width:min(48vw,640px);height:760px;background:radial-gradient(ellipse at 100% 15%,rgba(232,136,30,.075),transparent 64%);z-index:-1}
.agency-suite .expertise{background:none;padding-bottom:50px}
.agency-suite .pna-section{background:none;padding:34px 0 100px}
.agency-suite-divider{width:min(calc(100% - 64px),1160px);margin:0 auto;height:1px;position:relative;background:linear-gradient(90deg,#e5effb 0%,#e6ecf5 62%,rgba(214,116,21,.45) 100%)}
.agency-suite-divider span{display:block;width:76px;height:3px;position:absolute;top:-1px;left:0;background:linear-gradient(90deg,#b75007,#e88e19)}
.agency-suite .section-top{border-bottom-color:#dce5f1}
.agency-suite .section-top .eyebrow,.agency-suite .card-number{color:#b65f0c}
.agency-suite .section-top>p{color:#64738c}
.agency-suite .expertise-card{border:1px solid #e1e7f0;background:#fff;box-shadow:0 6px 18px rgba(21,49,108,.035);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;position:relative;overflow:hidden}
.agency-suite .expertise-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#b95c07,#e79119,#f4b758);opacity:0;transition:opacity .25s}
.agency-suite .expertise-card:hover{transform:translateY(-4px);border-color:#efbd81;box-shadow:0 17px 34px rgba(95,51,15,.10)}
.agency-suite .expertise-card:hover::before{opacity:1}
.agency-suite .expertise-card h3{color:#123283}
.agency-suite .card-foot{color:#8a5d25;border-color:#e8edf4}
.service-icon{width:84px;height:84px;border-radius:20px;display:grid;place-items:center;margin:15px 0 16px;background:linear-gradient(145deg,#fff6eb,#ffecd3);color:#ce710e;border:1px solid #f3ddc4;transition:transform .3s ease,background .3s ease}
.service-icon svg{width:75px;height:75px;stroke:currentColor;stroke-width:3.1;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s ease}
.expertise-card:hover .service-icon{transform:translateY(-2px);background:linear-gradient(145deg,#fff1df,#ffdda9)}
.expertise-card:hover .service-icon svg{transform:scale(1.045)}
.agency-suite .pna-frame{border:1px solid #e4e9f0;background:#fff;box-shadow:0 8px 24px rgba(21,49,108,.045);border-radius:22px;overflow:hidden;transition:box-shadow .32s,border-color .32s}
.agency-suite .pna-frame:hover{border-color:#e2c4a2;box-shadow:0 16px 38px rgba(77,47,20,.09)}
.agency-suite .pna-display{background:linear-gradient(122deg,#a94c07 0%,#d36e0c 50%,#ec911d 100%);overflow:hidden}
.agency-suite .pna-display::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 100% 5%,rgba(255,213,143,.18),transparent 60%)}
.agency-suite .pna-display img{width:min(69%,290px);transition:transform .4s ease;will-change:transform}
.agency-suite .pna-frame:hover .pna-display img{transform:translateY(-3px) scale(1.02)}
.agency-suite .pna-content{background:#fff}
.agency-suite .pna-eyebrow{color:#a65711}
.agency-suite .pna-content h2{color:#11338d}
.agency-suite .subtle-link{transition:color .25s,border-color .25s,gap .25s}
.agency-suite .subtle-link:hover{color:#c06b12;border-color:#e4963d;gap:75px}
/* Calm movement: no forced scrolling, no heavy parallax. */
.hero-glow{animation:pna-glow-drift 17s ease-in-out infinite alternate}
@keyframes pna-glow-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-32px,15px,0) scale(1.055)}}
.btn-light, .nav-enquiry, .contact-action>a{transition:transform .24s ease,background-color .24s ease,box-shadow .24s ease}
.btn-light:hover, .contact-action>a:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(22,45,98,.13)}
.site-nav>a:not(.nav-enquiry){position:relative}
.site-nav>a:not(.nav-enquiry)::after{content:"";position:absolute;bottom:-7px;left:0;width:100%;height:2px;background:#cb7518;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.site-nav>a:not(.nav-enquiry):hover::after,.site-nav>a:not(.nav-enquiry):focus-visible::after{transform:scaleX(1)}
.bar-track i{transform-origin:left center}
.bars.data-animate .bar-track i{animation:pna-bar-grow 1s cubic-bezier(.22,.61,.36,1) both}
.bars.data-animate .bar-row:nth-child(2) i{animation-delay:.07s}
.bars.data-animate .bar-row:nth-child(3) i{animation-delay:.14s}
.bars.data-animate .bar-row:nth-child(4) i{animation-delay:.21s}
.bars.data-animate .bar-row:nth-child(5) i{animation-delay:.28s}
@keyframes pna-bar-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.reveal-on-scroll.is-in-view{animation:pna-entrance .72s both cubic-bezier(.2,.7,.2,1)}
@keyframes pna-entrance{from{opacity:.15;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.evidence-primary,.evidence-secondary-card{transition:transform .28s ease,box-shadow .28s ease}
.evidence-primary:hover,.evidence-secondary-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(0,16,68,.23)}
@media(max-width:820px){.agency-suite .expertise{padding-bottom:34px}.agency-suite .pna-section{padding:34px 0 74px}.agency-suite-divider{width:calc(100% - 42px)}.agency-suite .pna-display img{width:min(68%,260px)}.site-nav>a:not(.nav-enquiry)::after{bottom:6px}}
@media(max-width:530px){.agency-suite .expertise{padding-bottom:29px}.agency-suite .pna-section{padding:30px 0 58px}.agency-suite-divider{width:calc(100% - 36px)}.service-icon{height:70px;width:70px;border-radius:17px;margin:12px 0 14px}.service-icon svg{width:63px;height:63px}.agency-suite .expertise-card{padding:23px}.agency-suite .pna-display img{width:min(67%,218px)}.reveal-on-scroll.is-in-view{animation-duration:.52s}}
@media(prefers-reduced-motion:reduce){.hero-glow{animation:none!important}.bars.data-animate .bar-track i,.reveal-on-scroll.is-in-view{animation:none!important}.agency-suite .expertise-card,.agency-suite .pna-frame,.agency-suite .pna-display img,.service-icon,.service-icon svg,.evidence-primary,.evidence-secondary-card,.btn-light,.contact-action>a{transition:none!important}}

/* Quiet navigation feedback: 2px scroll-reading indicator. */
.site-header{position:sticky}
.scroll-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#aa4b08,#d87b0f,#f1ae3b);transform:scaleX(0);transform-origin:left;pointer-events:none;z-index:90;will-change:transform}
/* Distinct orange thread from capability cards into the agency identity. */
.agency-suite-divider span{width:96px}
.agency-suite .pna-display{box-shadow:inset 0 0 0 1px rgba(255,255,255,.11)}
.agency-suite .expertise-card:focus-within{border-color:#d57b17}
.hero-pna-lockup img{transition:opacity .3s ease,transform .3s ease}
.hero-pna-lockup:hover img{opacity:.96;transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.scroll-progress{will-change:auto}.hero-pna-lockup img{transition:none}}

/* Hide keyboard skip navigation fully until focused; avoid fixed-position overscan on long pages. */
.skip-link{position:fixed;left:-10000px;top:12px;z-index:100;width:auto;height:auto;overflow:visible}
.skip-link:focus{left:16px;top:12px}


/* Count-up + section-connection refinement */
/* 01: approach cards subtly lift from the background. */
.approach{background:linear-gradient(145deg,#eff5fd 0%,#f6f9fe 56%,#ffffff 100%)}
.approach-list{display:grid;gap:12px}
.approach-item{background:rgba(255,255,255,.82);border:1px solid rgba(210,223,242,.95);border-radius:18px;padding:18px 18px 18px 0;box-shadow:0 1px 2px rgba(17,43,124,.035),0 10px 24px rgba(17,43,124,.045);transform:translateY(0);transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease}
.approach-item:hover{transform:translateY(-2px);box-shadow:0 2px 5px rgba(17,43,124,.05),0 14px 28px rgba(17,43,124,.07);background:#fff}
.approach-item>span{margin-left:18px;min-width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#fff8ee,#f4efe6);box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 1px 1px rgba(13,37,101,.03);display:grid;place-items:center}
.approach-item div{padding-right:6px}
/* 02: percentage figures count up on scroll and feel more alive. */
.countup{display:inline-flex;align-items:flex-start}
.countup .countup-number{display:inline-block;min-width:.9ch}
.countup span{margin-left:2px}
/* 03: make the channels section a transition from the darker blue evidence section. */
.channels{background:linear-gradient(180deg,#edf4ff 0%,#f5f9ff 38%,#ffffff 100%)}
.channels-grid{position:relative}
.channel-note{background:linear-gradient(180deg,#f9fbff,#f2f7ff)}
.channel-data{background:linear-gradient(180deg,#fbfdff,#eff5ff)}
.channel-data:before{content:"";display:block;height:1px;width:100%;background:linear-gradient(90deg,rgba(38,93,201,0),rgba(38,93,201,.12),rgba(38,93,201,0));margin:-1px 0 22px}
/* Keep 04 distinct with a warmer, agency-led transition. */
.agency-suite{background:linear-gradient(180deg,#fffdf9 0%,#fff9f0 18%,#fff8ef 100%)}
@media(max-width:820px){.approach-list{gap:10px}.approach-item{padding:16px 16px 16px 0;border-radius:16px}.approach-item>span{margin-left:16px;width:42px;height:42px}}
@media(max-width:530px){.approach-item{padding:15px 14px 15px 0}.approach-item>span{margin-left:14px;width:40px;height:40px;border-radius:12px}}


/* Final colour and animated-percentage corrections. */
/* 03: about 15% richer blue at the top; dissolve fully into white below. */
.channels{background:linear-gradient(180deg,#d8e9ff 0%,#eaf3ff 32%,#f6faff 65%,#ffffff 100%)}
/* 04-05: no beige. A continuous white-to-PNA-orange progression. */
.agency-suite{background:linear-gradient(180deg,#ffffff 0%,#ffffff 27%,#ffe2b8 58%,#f5ac46 83%,#e78a16 100%)}
.agency-suite::before{background:none}
/* Keep every counter to one number and one suffix, both correctly sized. */
.countup{display:inline-flex;align-items:baseline;white-space:nowrap;font-variant-numeric:tabular-nums}
.evidence-grid .countup .countup-number,
.election-number .countup .countup-number{font-size:1em;font-weight:inherit;line-height:inherit;letter-spacing:inherit;margin-left:0;min-width:0}
.evidence-grid .countup .percent-sign,
.election-number .countup .percent-sign{font-size:.62em;font-weight:600;line-height:1;letter-spacing:normal;margin-left:3px}


/* 30 Oct 2026: subtler 01 markers and cleaner 04 background. */
/* Make the 1 / 2 / 3 markers blend into the page rather than reading as feature badges. */
.approach-item{background:rgba(255,255,255,.72);box-shadow:0 1px 1px rgba(17,43,124,.015),0 6px 14px rgba(17,43,124,.028)}
.approach-item:hover{box-shadow:0 2px 4px rgba(17,43,124,.025),0 8px 18px rgba(17,43,124,.038)}
.approach-item>span{margin-left:18px;min-width:auto;height:auto;padding-top:2px;background:transparent;border-radius:0;box-shadow:none;color:rgba(17,43,124,.28);font-size:10px;letter-spacing:.12em;font-weight:700}
/* Remove the beige/orange wash from 04–05 and make 04 primarily white with a subtle PNA background motif. */
.agency-suite{background:#ffffff}
.agency-suite::before{display:none}
.agency-suite .expertise{position:relative;background:#ffffff;padding-bottom:42px;overflow:hidden}
.agency-suite .expertise::after{content:"";position:absolute;right:0;bottom:0;width:min(46vw,720px);height:min(30vw,420px);background:url('./assets/pna-narrative-contours.svg') right bottom / contain no-repeat;opacity:.82;pointer-events:none;z-index:0}
.agency-suite .expertise .container{position:relative;z-index:1}
.agency-suite-divider{background:linear-gradient(90deg,#e4eefb 0%,#e5ecf5 72%,rgba(214,116,21,.25) 100%)}
.agency-suite-divider span{opacity:.92}
.agency-suite .pna-section{background:#ffffff}
.agency-suite .pna-content{background:#fff}
@media(max-width:820px){
  .approach-item>span{margin-left:16px;font-size:9px}
  .agency-suite .expertise::after{width:min(72vw,520px);height:min(42vw,260px);opacity:.72}
}
@media(max-width:530px){
  .approach-item>span{margin-left:14px;font-size:9px;opacity:.9}
  .agency-suite .expertise::after{width:min(84vw,390px);height:min(52vw,210px);opacity:.62}
}


/* 2026-10-30 — scroll ripple and connected brand field, no content or layout changes. */
/* Section 01 mirrors section 03: white at the top, cool Group blue at the bottom. */
.approach{
  background:linear-gradient(180deg,#ffffff 0%,#f6faff 30%,#eaf3ff 65%,#d8e9ff 100%);
}
/* Keep the 01 numerals visually quiet. The ripple is a momentary outline, never a badge. */
.approach-item>span{
  position:relative;
  width:24px;
  height:24px;
  min-width:24px;
  margin-left:14px;
  padding-top:0;
  display:grid;
  place-items:center;
  background:none;
  border:0;
  border-radius:0;
  box-shadow:none;
  color:rgba(17,43,124,.34);
  font-size:10px;
  line-height:1;
}
.approach-item>span::after{
  content:"";
  position:absolute;
  inset:-6px;
  border:1px solid rgba(44,103,193,.24);
  border-radius:50%;
  opacity:0;
  transform:scale(.55);
  pointer-events:none;
}
.approach.ripple-active .approach-item>span::after{
  animation:pna-step-ripple 1.35s cubic-bezier(.22,.61,.36,1) both;
}
.approach.ripple-active .approach-item:nth-child(2)>span::after{animation-delay:.28s}
.approach.ripple-active .approach-item:nth-child(3)>span::after{animation-delay:.56s}
@keyframes pna-step-ripple{
  0%{opacity:0;transform:scale(.55)}
  20%{opacity:.30}
  100%{opacity:0;transform:scale(1.8)}
}
/* One decorative canvas for BOTH 04 and the PNA introduction beneath it. */
.agency-suite{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#ffffff;
}
.agency-suite::before{display:none}
.agency-suite::after{
  content:"";
  display:block;
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background-image:url('./assets/pna-narrative-contours.svg');
  background-repeat:no-repeat;
  background-position:right -80px bottom 180px;
  background-size:min(110vw,1500px) auto;
  opacity:.78;
}
.agency-suite .expertise::after{display:none}
.agency-suite .expertise,
.agency-suite .pna-section{
  position:relative;
  z-index:1;
  background:transparent;
}
.agency-suite .expertise .container,
.agency-suite .pna-section .container{position:relative;z-index:1}
/* Adjust the shared graphic rather than restarting it for mobile. */
@media(max-width:820px){
  .agency-suite::after{
    background-size:1050px auto;
    background-position:right -245px bottom 100px;
    opacity:.64;
  }
  .approach-item>span{margin-left:12px}
}
@media(max-width:530px){
  .agency-suite::after{
    background-size:900px auto;
    background-position:right -385px bottom 110px;
    opacity:.56;
  }
  .approach-item>span{margin-left:10px}
}
/* UK platform bars: the same PNA-orange accent, with a slower, measured motion. */
.bars.data-animate .bar-track i{
  animation-duration:2.4s;
  animation-timing-function:cubic-bezier(.19,.75,.26,1);
}
.bars.data-animate .bar-row:nth-child(2) i{animation-delay:.15s}
.bars.data-animate .bar-row:nth-child(3) i{animation-delay:.30s}
.bars.data-animate .bar-row:nth-child(4) i{animation-delay:.45s}
.bars.data-animate .bar-row:nth-child(5) i{animation-delay:.60s}
@media(prefers-reduced-motion:reduce){
  .approach.ripple-active .approach-item>span::after{animation:none;opacity:0}
  .bars.data-animate .bar-track i{animation:none!important}
}


/* Editorial system, 2026-10-30: purpose-drawn diagrams, original scalable PNA contour artwork. */
/* The three service graphics are quiet diagrams, not coloured app-style icons. */
.service-diagram{width:100%;height:96px;margin:12px 0 13px;display:flex;align-items:center;justify-content:flex-start;color:#c8741a;position:relative}
.service-diagram svg{width:min(100%,235px);height:94px;overflow:visible;display:block;transition:transform .32s ease}
.service-diagram .diagram-outline{stroke:#cf7b1e;stroke-width:1.65}
.service-diagram .diagram-primary{stroke:#c76b0e;stroke-width:1.85;stroke-linecap:round}
.service-diagram .diagram-link{stroke:#d28a39;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.service-diagram .diagram-faint{stroke:#d6a978;stroke-width:1.4;stroke-linecap:round}
.service-diagram .diagram-guide{stroke:#e6d1b8;stroke-width:1.25}
.service-diagram .diagram-dot{fill:#c56c0d}
.agency-suite .expertise-card:hover .service-diagram svg{transform:translateY(-3px)}
/* A completely new SVG sits behind BOTH the service section and the PNA introduction. */
.agency-suite::after{display:block;content:"";position:absolute;z-index:0;pointer-events:none;inset:0;background-image:url('./assets/pna-narrative-contours.svg');background-repeat:no-repeat;background-position:right -155px bottom -180px;background-size:min(110vw,1550px) auto;opacity:.55}
.agency-suite .expertise::after{display:none}
.agency-suite .expertise,.agency-suite .pna-section{position:relative;z-index:1;background:transparent}
.agency-suite .expertise-card,.agency-suite .pna-frame{background:#fff}
/* Ripple: each step responds when it actually scrolls into the visitor's reading area. */
.approach-item{overflow:visible}
.approach-item>span{position:relative;isolation:isolate;z-index:2}
.approach-item>span::before,.approach-item>span::after{content:"";position:absolute;border:1.6px solid rgba(35,93,181,.43);width:30px;height:30px;top:50%;left:50%;border-radius:50%;transform:translate(-50%,-50%) scale(.45);opacity:0;pointer-events:none;box-sizing:border-box}
.approach-item>span::after{border-color:rgba(35,93,181,.25)}
.approach-item.ripple-visible>span::before{animation:approach-visible-ripple 1.55s cubic-bezier(.16,.65,.24,1) both}
.approach-item.ripple-visible>span::after{animation:approach-visible-ripple 1.55s cubic-bezier(.16,.65,.24,1) .25s both}
@keyframes approach-visible-ripple{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.42)}
  18%{opacity:.72}
  65%{opacity:.22}
  100%{opacity:0;transform:translate(-50%,-50%) scale(2.75)}
}
/* Don't let the former one-shot, near-invisible rule override the new observer. */
.approach.ripple-active .approach-item>span::after{animation:none}
@media(max-width:820px){.agency-suite::after{background-size:1150px auto;background-position:right -300px bottom -185px;opacity:.45}}
@media(max-width:530px){.service-diagram{height:85px;margin:6px 0 13px}.service-diagram svg{height:82px;width:min(100%,210px)}.agency-suite::after{background-size:950px auto;background-position:right -400px bottom -130px;opacity:.40}}
@media(prefers-reduced-motion:reduce){.approach-item.ripple-visible>span::before,.approach-item.ripple-visible>span::after{animation:none!important}.service-diagram svg{transition:none!important}}


/* October 2026: 01-panel wave + service-specific schematic art. */
/* Keep the 01 panels within the surface, not separate white tiles. */
.approach-list{gap:8px}
.approach-item,
.approach-item:hover{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(72,108,172,.09);
  border-radius:14px;
  box-shadow:0 1px 6px rgba(22,52,110,.012);
  transform:none;
}
.approach-item{position:relative;transform-origin:center center;will-change:transform}
.approach-item:first-child{border-top:1px solid rgba(72,108,172,.09)}
.approach-item>span{color:rgba(21,61,129,.38)}
/* Retire the earlier ring ripple completely; the entire text panel now pulses. */
.approach-item>span::before,
.approach-item>span::after{content:none!important;display:none!important;animation:none!important}
.approach.ripple-active .approach-item>span::after,
.approach-item.ripple-visible>span::before,
.approach-item.ripple-visible>span::after{animation:none!important}
.approach.wave-sequence .approach-item{
  animation:pna-panel-wave 1.05s cubic-bezier(.2,.75,.25,1) both;
}
.approach.wave-sequence .approach-item:nth-child(2){animation-delay:.28s}
.approach.wave-sequence .approach-item:nth-child(3){animation-delay:.56s}
@keyframes pna-panel-wave{
  0%,100%{transform:translateY(0) scale(1);box-shadow:0 1px 6px rgba(22,52,110,.012);background:rgba(255,255,255,.12)}
  45%{transform:translateY(-2px) scale(1.022);box-shadow:0 6px 20px rgba(22,52,110,.065);background:rgba(255,255,255,.34)}
}
/* Deliberately minimal, content-specific editorial diagrams, not iconography. */
.service-diagram{color:#bc6811}
.service-diagram svg{width:min(100%,235px);transition:transform .32s ease}
.service-diagram .diagram-label{fill:#ad6113;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:8px;font-weight:650;letter-spacing:.7px}
.service-diagram .diagram-outline{stroke:#d08a3a;stroke-width:1.35}
.service-diagram .diagram-primary{stroke:#b65d09;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.service-diagram .diagram-faint{stroke:#e1b987;stroke-width:1.25;stroke-linecap:round}
.service-diagram .diagram-link{stroke:#c48030;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.service-diagram .diagram-guide{stroke:#edd9bf;stroke-width:1.1}
.service-diagram .diagram-faint-stroke{stroke:#d7a368;stroke-width:1.3}
.service-diagram .diagram-dot{fill:#bd670e}
@media(max-width:820px){.approach-list{gap:8px}.approach-item{border-radius:12px}}
@media(prefers-reduced-motion:reduce){
  .approach.wave-sequence .approach-item{animation:none!important;will-change:auto}
}


/* October 30 — restrained cinematic hero reveal and truly scroll-linked approach wave. */
/* Original heading typography remains; the line wrappers allow a measured editorial entrance. */
.hero h1 .hero-line{display:block;animation:pna-hero-line-reveal 950ms cubic-bezier(.19,1,.32,1) both}
.hero h1 .hero-line:nth-child(2){animation-delay:130ms}
.hero h1 .hero-line:nth-child(3){animation-delay:270ms}
.hero h1 .hero-line:nth-child(4){animation-delay:410ms}
.hero-side-label,.hero-side>p:not(.hero-side-label),.hero-side .btn,.hero-pna-lockup{animation:pna-hero-aside-reveal 900ms cubic-bezier(.19,1,.32,1) both}
.hero-side-label{animation-delay:340ms}
.hero-side>p:not(.hero-side-label){animation-delay:450ms}
.hero-side .btn{animation-delay:565ms}
.hero-pna-lockup{animation-delay:695ms}
/* A slow moving contour subtly punctuates the hero without new visuals or new colour. */
.hero::after{animation:pna-hero-contour 22s ease-in-out infinite alternate}
@keyframes pna-hero-line-reveal{from{opacity:0;transform:translate3d(0,17px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes pna-hero-aside-reveal{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes pna-hero-contour{from{transform:translate3d(0,0,0) rotate(-24deg)}to{transform:translate3d(-13px,12px,0) rotate(-20deg)}}
/* Approach panels follow scroll directly — no timed sequence or delayed one-shot trigger. */
.approach .approach-item,.approach .approach-item:hover{
  --wave:0;
  transform:translate3d(0,calc(-2px * var(--wave)),0) scale(calc(1 + .021 * var(--wave)));
  background:rgba(255,255,255,calc(.12 + .18 * var(--wave)));
  box-shadow:0 1px calc(6px + 15px * var(--wave)) rgba(22,52,110,calc(.012 + .050 * var(--wave)));
  border-color:rgba(72,108,172,calc(.09 + .045 * var(--wave)));
  transition:none;
}
/* Remove obsolete class-driven animation: scrolling in either direction is symmetric. */
.approach.wave-sequence .approach-item{animation:none!important}
@media(prefers-reduced-motion:reduce){
  .hero h1 .hero-line,.hero-side-label,.hero-side>p:not(.hero-side-label),
  .hero-side .btn,.hero-pna-lockup,.hero::after{animation:none!important;opacity:1!important;transform:none!important}
  .approach .approach-item,.approach .approach-item:hover{--wave:0!important;transform:none!important;will-change:auto!important}
}

/* Audience bars: static classes permit a strict no-inline-style CSP. */
.bar-track .reach-100{width:100%}
.bar-track .reach-99-1{width:99.1%}
.bar-track .reach-83-2{width:83.2%}
.bar-track .reach-59{width:59%}
.bar-track .reach-41-7{width:41.7%}


/* PNA quote enquiry: white, restrained form on the existing Group-blue closing gradient. */
.quote-section-top{border-bottom-color:rgba(255,255,255,.24)}
.quote-section-top>p{color:#eaf3ff}
.quote-layout{display:grid;grid-template-columns:minmax(0,.76fr) minmax(0,1.18fr);gap:clamp(32px,7vw,104px);align-items:start;padding-top:32px}
.quote-intro h2{font-size:clamp(42px,4.1vw,60px);line-height:1.08;letter-spacing:-.05em;color:#fff!important;margin:0 0 20px}
.quote-lead{font-size:16px!important;line-height:1.76;max-width:400px}
.quote-promise{margin-top:42px;padding:21px 0 0;border-top:1px solid rgba(255,255,255,.26)}
.quote-promise-key{display:block;font-size:10px;letter-spacing:.12em;font-weight:750;color:#cee1ff;margin-bottom:13px}
.quote-promise strong{display:block;font-size:19px;line-height:1.45;letter-spacing:-.025em;color:#fff;font-weight:650;max-width:340px}
.quote-promise p{margin-top:13px;color:#dceafd;font-size:14px;line-height:1.7}
.quote-email-link{font-size:12px!important;line-height:1.6;margin-top:34px!important;color:#dceafe!important}
.quote-email-link a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.quote-form-wrap{min-width:0}
.quote-form{background:#fff;color:#15327b;border:1px solid #d8e5fa;border-radius:22px;padding:clamp(24px,3vw,38px);box-shadow:0 18px 48px rgba(8,28,81,.15)}
.quote-form .form-field{margin:0 0 22px;min-width:0}
.quote-form label:not(.inline-checkbox):not(.choice-pill):not(.form-agreement),.quote-fieldset legend{display:block;font-size:13px;color:#17357b;line-height:1.55;font-weight:680;margin-bottom:9px}
.quote-form .required{color:#be650f;font-weight:780}
.quote-form input[type=text],.quote-form input[type=email],.quote-form input[type=date],.quote-form textarea{display:block;width:100%;min-width:0;appearance:none;font:inherit;font-size:15px;line-height:1.5;color:#102b72;background:#fbfdff;border:1px solid #cad8ec;border-radius:11px;padding:13px 14px;outline:none;transition:border-color .18s,box-shadow .18s}
.quote-form input[type=date]{appearance:auto;min-height:49px}
.quote-form input::placeholder,.quote-form textarea::placeholder{color:#8290a7}
.quote-form input:focus,.quote-form textarea:focus{border-color:#235ab7;box-shadow:0 0 0 3px rgba(33,89,178,.11)}
.quote-form textarea{resize:vertical;min-height:128px}
.quote-fields-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.quote-fieldset{border:0;padding:0;margin:0 0 23px;min-width:0}
.quote-fieldset legend{margin:0 0 12px;padding:0;width:100%}
.choice-row{display:flex;gap:9px;flex-wrap:wrap}
.choice-pill{position:relative;cursor:pointer;display:inline-flex;align-items:center;gap:9px;background:#f6f9ff;border:1px solid #d8e2f2;border-radius:11px;padding:11px 13px;font-size:13px;font-weight:600;color:#294477;line-height:1.35;transition:background .2s,border-color .2s}
.choice-pill:hover{background:#edf4ff;border-color:#9fb7db}
.choice-pill:has(input:checked){background:#eaf2ff;border-color:#5582c4;color:#153889}
.choice-pill input{accent-color:#204caa;margin:0;flex:none}
.field-hint{display:block;margin:-4px 0 9px;color:#667997;font-size:12px;line-height:1.55}
.inline-checkbox,.form-agreement{display:flex;align-items:start;gap:10px;font-size:13px;color:#354e7f;line-height:1.5;cursor:pointer}
.inline-checkbox{margin-top:12px}
.inline-checkbox input,.form-agreement input{width:16px;height:16px;margin:2px 0 0;flex:none;accent-color:#204fae}
.privacy-summary{border-top:1px solid #e2eaf6;padding-top:18px;font-size:12px;line-height:1.7;color:#587093;margin:6px 0 20px}
.privacy-summary a{color:#1d4f9e;text-decoration:underline;text-underline-offset:2px}
.form-agreement{margin:0 0 25px;font-size:12px}
.quote-submit{border:none;border-radius:12px;background:linear-gradient(110deg,#a44c09,#d67e14 70%,#edab38);color:white;padding:16px 18px;width:100%;display:flex;justify-content:space-between;gap:18px;align-items:center;text-align:left;cursor:pointer;font:inherit;font-size:14px;font-weight:730;transition:filter .2s,transform .2s,box-shadow .2s}
.quote-submit:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 8px 19px rgba(149,69,9,.17)}
.quote-submit[disabled]{opacity:.6;cursor:wait;transform:none;box-shadow:none}
.quote-form-foot{color:#677994!important;font-size:11px!important;margin:13px 0 0!important}
.quote-error{padding:13px 15px;border:1px solid #f0b5a7;border-radius:9px;background:#fff4f1;color:#993b26;margin:0 0 16px;font-size:13px;line-height:1.55}
.quote-success{padding:clamp(30px,4vw,48px);border-radius:22px;background:#fff;color:#112b74;box-shadow:0 18px 48px rgba(8,28,81,.15)}
.quote-success-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e8f1ff;color:#1e4ca4;font-weight:800;font-size:21px;margin-bottom:20px}
.quote-success h3{font-size:clamp(29px,3.2vw,40px);line-height:1.12;letter-spacing:-.045em;margin:0 0 19px;color:#122f8b}
.quote-success p{color:#495e80!important;line-height:1.75;font-size:15px;margin:0 0 16px!important}
.quote-success a{display:inline-block;color:#153d96;font-size:13px;font-weight:700;border-bottom:1px solid #adc1e0;margin-top:12px}
.trap-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
[hidden]{display:none!important}
@media(max-width:950px){.quote-layout{grid-template-columns:1fr;gap:30px}.quote-intro{max-width:700px}.quote-promise{margin-top:24px}.quote-form-wrap{max-width:780px}}
@media(max-width:530px){.quote-layout{padding-top:26px}.quote-fields-two{grid-template-columns:1fr;gap:0}.quote-form{padding:21px;border-radius:18px}.quote-intro h2{font-size:39px}.choice-pill{flex:1 1 auto}.quote-form .form-field{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.quote-submit,.choice-pill{transition:none!important}}


/* October 2026 — quote contact section / editorial quotations. */
.quote-email-option{margin-top:34px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:100%}
.quote-email-eyebrow{font-size:10px;font-weight:750;letter-spacing:.13em;color:#e1edff}
.quote-email-button{min-width:min(100%,285px);display:inline-flex;justify-content:space-between;align-items:center;gap:35px;background:#fff;color:#16448e;border:1px solid #fff;border-radius:14px;padding:15px 19px;font-size:15px;font-weight:710;line-height:1.4;box-shadow:0 7px 22px rgba(8,28,81,.09);transition:background .2s,transform .2s,box-shadow .2s}
.quote-email-button:hover{background:#eaf3ff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(8,28,81,.16)}
.quote-email-button:focus-visible,.quote-carousel-nav:focus-visible,.quote-email-address:focus-visible{outline:3px solid #f7b15c;outline-offset:3px}
.quote-email-address{display:block;max-width:100%;font-size:clamp(15px,1.3vw,17px);line-height:1.5;font-weight:590;color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.48);overflow-wrap:anywhere}
.quote-email-address:hover{text-decoration-color:#fff}
.quote-carousel{margin-top:64px;border-top:1px solid rgba(255,255,255,.30);padding-top:19px;max-width:500px}
.quote-carousel-header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:9px;line-height:1.5;letter-spacing:.115em;font-weight:740;color:#d1e3ff}
.quote-slides{margin-top:24px;min-height:235px}
.quote-slide{margin:0;opacity:1;transform:translateY(0);transition:opacity .28s ease,transform .28s ease}
.quote-slide[hidden]{display:none}
.quote-slide.is-leaving{opacity:0;transform:translateY(7px)}
.quote-slide.is-entering{animation:quote-arrive .38s ease both}
@keyframes quote-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.quote-slide blockquote{font-family:Georgia,"Times New Roman",serif;font-size:clamp(20px,1.9vw,27px);letter-spacing:-.016em;line-height:1.36;font-weight:400;color:#fff;margin:0 0 25px;max-width:475px;text-wrap:pretty}
.quote-slide figcaption{display:flex;flex-direction:column;align-items:flex-start;gap:6px;line-height:1.55}
.quote-author{font-size:14px;font-weight:700;color:#fff}
.quote-work{font-size:12px;color:#d9e7fc}
.quote-slide figcaption a{display:inline-block;margin-top:2px;font-size:12px;color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.54);text-underline-offset:3px}
.quote-slide figcaption a:hover{text-decoration-color:#fff}
.quote-carousel-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.24);padding-top:16px;margin-top:13px}
.quote-carousel-count{font-variant-numeric:tabular-nums;font-size:12px;font-weight:730;letter-spacing:.10em;color:#fff}
.quote-carousel-count span{color:#bed2f2}
.quote-carousel-controls{display:flex;gap:9px}
.quote-carousel-nav{width:37px;height:37px;border:1px solid rgba(255,255,255,.44);border-radius:50%;display:grid;place-items:center;background:transparent;color:#fff;font:inherit;font-size:16px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.quote-carousel-nav:hover{background:rgba(255,255,255,.15);border-color:#fff;transform:translateY(-1px)}
@media(max-width:950px){.quote-carousel{margin-top:40px;max-width:640px}.quote-slides{min-height:190px}}
@media(max-width:530px){.quote-email-option{margin-top:28px}.quote-carousel{margin-top:36px}.quote-slides{min-height:215px}.quote-slide blockquote{font-size:22px}.quote-email-button{width:100%;max-width:320px}}
@media(prefers-reduced-motion:reduce){.quote-slide,.quote-email-button,.quote-carousel-nav{transition:none!important;animation:none!important}}

/* Quotations now display without a branded heading. */
.quote-carousel .quote-slides{margin-top:13px}
