@font-face{font-family:'Open Sans';src:url('fonts/open-sans-variable.woff') format('woff');font-style:normal;font-weight:300 800;font-display:swap}
:root{--purple:#5f3b99;--purple-light:#9271bc;--ink:#24313c;--muted:#626c75;--teal:#137d77;--soft:#f7f5fa;--line:#e3dfea;--width:1180px;--gutter:clamp(28px,5vw,80px)}*{box-sizing:border-box}html{scroll-padding-top:120px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.75 'Open Sans',Arial,sans-serif}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:600;line-height:1.3;letter-spacing:-.035em}h1{font-size:clamp(38px,4.6vw,66px)}h2{font-size:clamp(28px,3vw,39px)}h3{font-size:21px;line-height:1.4}p{color:var(--muted)}a{color:inherit;text-decoration:none}a:hover{color:var(--purple)}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #a98bc9;outline-offset:4px}.container{width:min(var(--width),calc(100% - var(--gutter)*2));margin-inline:auto}.small{font-size:13px;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-100px;padding:12px 20px;background:white;color:var(--purple);z-index:100}.skip-link:focus{top:12px}.icon{width:32px;height:32px;flex:0 0 auto;vertical-align:middle;color:var(--purple)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--purple);color:white;border:1px solid var(--purple);border-radius:7px;min-height:49px;padding:12px 22px;font-size:14px;font-weight:600;text-align:center}.button:hover{background:#452571;color:white}.button.compact{padding:10px 17px;min-height:44px;white-space:nowrap;font-size:13px}.button.light{background:white;border-color:white;color:var(--purple)}.text-link{font-size:14px;color:var(--purple);font-weight:600;line-height:1.6}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--purple);margin-bottom:20px}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}.site-header{position:sticky;top:0;background:white;border-bottom:1px solid var(--line);z-index:30}.header-inner{display:flex;align-items:center;gap:26px;min-height:100px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:44px;height:52px;object-fit:contain}.brand strong{display:block;font-size:29px;font-weight:700;line-height:1.05;color:var(--purple);letter-spacing:.13em}.brand small{display:block;font-size:11px;line-height:1.2;margin-top:8px;letter-spacing:.17em;font-weight:600;color:var(--ink)}.brand:hover strong,.brand:hover small{color:var(--purple-light)}.header-search{position:relative;width:210px;margin-left:auto;flex:0 1 210px;min-width:145px}.header-search input{width:100%;border:1px solid #ded5e8;border-radius:6px;background:#faf9fc;padding:10px 39px 10px 12px;min-height:42px;font-size:12px;color:var(--ink)}.header-search button{position:absolute;right:3px;top:3px;width:36px;height:36px;padding:7px;border:0;background:transparent;border-radius:4px}.header-search button:hover{background:#ece5f6}.header-search .icon{width:20px;height:20px}#main-nav{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:600}#main-nav>a{white-space:nowrap}.menu-toggle{display:none}.nav-group{padding:0;border:0}.nav-group summary{cursor:pointer;list-style:none;padding:14px 0;white-space:nowrap}.nav-group summary::after{content:'⌄';margin-left:8px}.nav-group summary::-webkit-details-marker{display:none}.mega{position:absolute;left:0;right:0;top:100%;background:white;box-shadow:0 20px 30px #30204413;border-block:1px solid var(--line);padding:32px max(var(--gutter),calc((100% - var(--width))/2));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;max-height:70vh;overflow-y:auto}.nav-label{font-size:11px;letter-spacing:.1em;font-weight:700;color:var(--purple);margin-bottom:14px}.mega a{display:block;font-size:14px;font-weight:400;padding:9px 0;min-height:40px}.mega a:hover{text-decoration:underline;text-underline-offset:5px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:62px;align-items:center;padding-block:72px 66px}.hero h1{line-height:1.12;letter-spacing:-.045em;font-weight:600}.hero h1 em{font-style:normal;color:var(--purple)}.hero .intro{font-size:17px;line-height:1.85;margin-top:26px;max-width:515px;text-align:justify;hyphens:auto}.hero-note{font-size:11px;line-height:1.8;margin-top:29px}.hero-note span{color:var(--purple);padding:0 8px}.hero-art{position:relative;min-width:0;background:radial-gradient(ellipse at center,#f0eaf7 0,#faf9fc 63%,#fff 100%);border-radius:20px;padding:23px 0 12px}.hero-art>img{width:100%;height:auto;display:block}.art-kicker{display:flex;align-items:center;gap:9px;padding:0 26px;font-size:10px;letter-spacing:.09em;color:var(--purple);font-weight:600}.live-dot{width:6px;height:6px;background:var(--teal);border-radius:50%}.art-footer{display:flex;justify-content:space-between;gap:20px;margin:0 26px;padding:18px 0;border-top:1px solid #e0d6ec;font-size:12px;color:var(--purple);font-weight:600}.hero-art>p{font-size:10px;text-align:center;margin-top:8px}.principle-strip{border-block:1px solid var(--line)}.principle-strip .container{display:flex;justify-content:space-between;gap:20px;padding-block:22px;color:var(--muted);font-size:12px}.section{padding-block:72px}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:36px}.section-heading>p{max-width:430px;font-size:15px;text-align:justify;hyphens:auto}.card-grid{display:grid;gap:22px;margin-top:30px}.card-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--line);border-radius:10px;background:#fff;padding:28px;min-width:0}.linked-card{display:flex;flex-direction:column;align-items:start}.linked-card>.icon{margin-bottom:24px}.card h3{font-size:20px}.card p{font-size:14px;line-height:1.85;margin-top:17px}.card .text-link{margin-top:auto;padding-top:24px;font-size:13px}.linked-card:hover{border-color:#baa3d4;box-shadow:0 8px 26px #5f3b9909}.linked-card:hover h3{color:var(--purple)}.section-link{display:inline-block;margin-top:30px}.soft{background:var(--soft)}.stage-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--line);border-radius:9px;overflow:hidden}.stage-tabs button{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 12px;background:#fff;border:0;border-right:1px solid var(--line);color:var(--muted);font-size:13px;min-height:56px}.stage-tabs button:last-child{border-right:0}.stage-tabs button span{font-size:10px}.stage-tabs button[aria-selected=true]{background:var(--purple);color:white}.stage-panel{display:grid;grid-template-columns:1fr .6fr;gap:50px;align-items:center;border:1px solid var(--line);border-radius:10px;background:#faf8fd;padding:40px;margin-top:22px}.stage-panel h3{font-size:27px;max-width:630px}.stage-panel p:not(.eyebrow){margin:20px 0;line-height:1.9}.stage-art{display:flex;flex-direction:column;align-items:center;gap:20px;color:var(--purple)}.stage-art>.icon{width:100px;height:100px;stroke-width:.8}.stage-art span{font-size:12px}.scope-callout{display:grid;grid-template-columns:65px 1fr;gap:26px;border:1px solid var(--line);border-radius:10px;padding:35px;margin-bottom:70px}.scope-callout>.icon{width:45px;height:45px}.scope-callout h2{font-size:27px}.scope-callout p{margin:18px 0;text-align:justify}.cta{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:42px;background:var(--purple);color:white;border-radius:12px;margin-bottom:70px}.cta .eyebrow{color:#ddcfed;margin-bottom:14px}.cta h2{font-size:31px}.cta p:not(.eyebrow){color:#eee7f7;max-width:700px;margin-top:15px;font-size:15px}.cta .button{flex-shrink:0}.page-banner{background:var(--purple);color:white;margin:0}.page-banner>.container{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:32px;min-height:214px}.page-banner h1{font-size:clamp(28px,3.4vw,43px);letter-spacing:-.025em;line-height:1.25}.page-banner p{color:#eee5f6;font-size:15px;margin-top:14px;max-width:900px;line-height:1.8}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px;font-size:12px;color:#e5d8f2}.breadcrumbs a:hover{color:white;text-decoration:underline}.banner-icon{flex-shrink:0;display:grid;place-items:center;width:145px;height:145px;border:1px solid #b69cc845;border-radius:50%;background:#ffffff04}.banner-icon .icon{width:74px;height:74px;color:white;stroke-width:1}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:start}.split h2{font-size:34px}.intro-small{font-size:17px;line-height:1.9;margin-top:25px;text-align:justify;hyphens:auto}.split>div>p:not(.eyebrow){margin-top:22px;text-align:justify}.split h3{margin-top:32px}.check-list{padding:0;list-style:none;margin:24px 0}.check-list li{position:relative;padding:12px 0 12px 28px;border-bottom:1px solid var(--line);font-size:16px;color:var(--muted)}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--teal)}.deliverables{padding:34px;border:1px solid var(--line);border-radius:12px;background:#faf8fd}.deliverables>.icon,.icon-wrap{display:block;margin-bottom:24px}.deliverables h2{font-size:25px}.deliverables ul{padding-left:20px;color:var(--muted);margin:24px 0}.deliverables li{margin:12px 0;font-size:15px;line-height:1.8}.deliverables p{font-size:14px;margin:24px 0;line-height:1.9}.deliverables .button{width:100%;margin-top:8px}.boundary{border-top:1px solid var(--line);padding-block:32px 65px}.boundary h2{font-size:26px}.boundary p{margin-top:20px;max-width:980px;text-align:justify}.boundary a{color:var(--purple)}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px}.process-grid article{border-top:1px solid var(--line);padding-top:22px}.step-number{display:block;color:var(--purple);font-size:13px;margin-bottom:20px}.process-grid p{font-size:15px;line-height:1.9;margin-top:15px;text-align:justify}.article{max-width:850px}.article>section{margin:0 0 35px}.article h2{font-size:27px;margin-bottom:20px}.article p{margin-bottom:20px;text-align:justify;hyphens:auto}.article a{color:var(--purple);text-decoration:underline;text-underline-offset:4px}.article-meta{font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px!important}.note{padding:25px;border:1px solid var(--line);border-radius:9px;background:#faf8fd;margin:30px 0}.note h3,.note b{font-size:18px}.note p{font-size:14px;margin-top:14px;line-height:1.85}.reference-list{list-style:none;padding:0;margin:30px 0}.reference-list li{padding:20px 0;border-bottom:1px solid var(--line)}.reference-list a{display:block;font-size:16px;color:var(--purple)}.reference-list span{display:block;font-size:14px;color:var(--muted);margin-top:10px}details:not(.nav-group){padding:20px 24px;border:1px solid var(--line);border-radius:9px;margin:15px 0}details:not(.nav-group)>summary{font-size:16px;color:var(--purple);font-weight:600;cursor:pointer}details:not(.nav-group)>p{margin:18px 0 0;line-height:1.9}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}.contact-layout>div>p:not(.eyebrow){margin-top:22px;line-height:1.9;text-align:justify}.contact-email{display:block;margin-top:26px;color:var(--purple);font-size:14px;overflow-wrap:anywhere}.enquiry-form{padding:32px;border:1px solid var(--line);border-radius:12px;background:#faf8fd}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid label{display:block;font-size:14px;color:var(--ink);font-weight:600;min-width:0}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;min-width:0;margin-top:9px;padding:12px;background:white;color:var(--ink);border:1px solid #cfc3de;border-radius:6px;font-size:16px;min-height:48px}.form-grid textarea{resize:vertical}.form-grid .full{grid-column:1/-1}.form-privacy{font-size:13px;line-height:1.85;margin:25px 0}.form-privacy a{text-decoration:underline;color:var(--purple)}.enquiry-form>.small{margin-top:20px}.honeypot{position:absolute;left:-10000px}.search-form>label{display:block;font-weight:600;margin-bottom:12px}.search-form>div{display:flex;gap:12px}.search-form input{flex:1 1 0;min-width:0;width:auto;padding:13px 16px;border:1px solid #cfc3de;border-radius:6px;font-size:16px}.search-form .button{flex:0 0 auto}.search-result{padding:25px 0;border-bottom:1px solid var(--line)}.search-result h2{font-size:23px;margin-bottom:12px}.search-result a{color:var(--purple);text-decoration:none}.search-result p{font-size:15px;margin:0}#search-status{margin-top:24px;font-size:14px}.directory{padding-left:20px}.directory li{margin:12px 0;font-size:16px}.site-footer{border-top:1px solid var(--line);padding-top:50px}.footer-grid{display:grid;grid-template-columns:1.2fr .9fr 1fr;gap:70px;padding-bottom:42px}.footer-grid>div{min-width:0}.footer-grid p{margin-top:20px;font-size:14px;line-height:1.9}.footer-grid .small{font-size:12px}.footer-grid .nav-label{font-size:11px;color:var(--purple);margin:0 0 20px}.footer-grid>div>a:not(.brand){display:block;margin:12px 0;font-size:14px;overflow-wrap:anywhere}.footer-bottom{padding-block:22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:11px;color:var(--muted)}.footer-bottom>div{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.footer-bottom button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}.cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:white;box-shadow:0 -6px 26px #3020441a;border-top:1px solid var(--line);max-height:70vh;overflow:auto}.cookie-inner{display:grid;grid-template-columns:1fr auto;gap:20px 35px;padding-block:22px}.cookie-inner h2{font-size:19px;letter-spacing:0}.cookie-inner p{font-size:12px;line-height:1.85;margin-top:10px}.cookie-inner a{text-decoration:underline;color:var(--purple)}.cookie-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.cookie-inner button{background:white;border:1px solid #8f74b3;color:var(--purple);border-radius:6px;min-height:42px;padding:10px 14px;font-size:12px}.cookie-inner button:hover{background:#f2edf8}#cookie-options{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px}#cookie-options label{display:flex;align-items:start;gap:10px;font-size:14px;font-weight:400;margin:16px 0}#cookie-options input{accent-color:var(--purple);width:19px;height:19px;flex:0 0 19px;margin:3px 0 0}#cookie-status{grid-column:1/-1;margin:0}[hidden]{display:none!important}
@media(max-width:1120px){.menu-toggle{display:block;border:1px solid #d9d0e3;border-radius:6px;background:white;color:var(--purple);font-size:14px;min-height:44px;padding:10px 15px;white-space:nowrap}.header-search{flex-basis:260px;width:260px}.header-search input{font-size:14px}#main-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:6px;background:white;border-bottom:1px solid var(--line);padding:24px var(--gutter);max-height:75dvh;overflow:auto;font-size:16px}#main-nav.open{display:flex}#main-nav>a{padding:12px 0}#main-nav .button{padding:12px}.nav-group summary{font-size:16px}.mega{position:static;grid-template-columns:repeat(2,minmax(0,1fr));padding:24px 0;box-shadow:none;max-height:none;gap:25px}.hero{gap:35px}.hero h1{font-size:52px}.card-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.split{gap:40px}.contact-layout{gap:35px}.stage-tabs button{font-size:12px;gap:6px}.stage-panel{gap:25px}.footer-grid{gap:35px}}
@media(max-width:760px){:root{--gutter:26px}html{scroll-padding-top:150px}.header-inner{min-height:140px;display:grid;grid-template-columns:1fr auto;grid-template-rows:72px 44px;gap:0 15px;padding-bottom:12px}.brand img{width:36px;height:46px}.brand strong{font-size:25px}.brand small{font-size:10px;letter-spacing:.15em;margin-top:6px}.header-search{grid-column:1/-1;grid-row:2;width:100%;margin:0}.header-search input{font-size:16px;min-height:44px}.header-search button{top:4px}.menu-toggle{grid-column:2;grid-row:1}.mega{grid-template-columns:1fr}#main-nav{max-height:calc(100dvh - 140px)}.hero{grid-template-columns:1fr;padding-block:45px 36px;gap:38px}.hero h1{font-size:clamp(40px,10.6vw,55px)}.hero .intro{font-size:16px;margin-top:24px}.hero .actions{align-items:start;flex-direction:column;gap:20px}.hero-art{max-width:530px;width:100%;margin:auto}.hero-note{font-size:11px}.hero-note span{padding-inline:5px}.principle-strip .container{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:11px;padding-block:18px}.section{padding-block:46px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:none;margin-top:22px}.section-heading h2{font-size:31px}.eyebrow{font-size:10px}.card-grid.three,.card-grid.two{grid-template-columns:1fr}.card-grid.four{gap:14px}.card{padding:23px}.card-grid.four .card{padding:22px 18px}.card h3{font-size:20px}.card-grid.four h3{font-size:18px}.card p{font-size:14px}.card .text-link{font-size:12px}.stage-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.stage-tabs button{border-bottom:1px solid var(--line);min-height:50px}.stage-tabs button:nth-child(3){border-right:0}.stage-tabs button:nth-child(n+4){border-bottom:0}.stage-panel{grid-template-columns:1fr;padding:26px;gap:20px}.stage-panel h3{font-size:25px}.stage-art{flex-direction:row;justify-content:flex-start}.stage-art>.icon{width:48px;height:48px;stroke-width:1.2}.scope-callout{grid-template-columns:1fr;padding:26px;margin-bottom:45px;gap:18px}.scope-callout h2{font-size:25px}.scope-callout p{font-size:15px}.cta{padding:30px 26px;flex-direction:column;align-items:start;gap:26px;margin-bottom:45px}.cta h2{font-size:28px}.page-banner>.container{min-height:200px;padding-block:27px;gap:10px}.page-banner h1{font-size:28px;line-height:1.3;overflow-wrap:anywhere}.page-banner p{font-size:14px}.banner-icon{width:70px;height:70px;border:0;align-self:start;position:absolute;right:22px;opacity:.13;pointer-events:none}.banner-icon .icon{width:65px;height:65px}.page-banner>.container>div:first-child{position:relative;z-index:1}.breadcrumbs{font-size:11px;gap:8px;line-height:1.8}.split{grid-template-columns:1fr;gap:30px}.split h2{font-size:30px}.intro-small{font-size:16px}.deliverables{padding:26px}.deliverables h2{font-size:25px}.boundary{padding-block:26px 45px}.boundary p{font-size:15px}.process-grid{grid-template-columns:1fr;gap:28px}.article h2{font-size:25px}.article p{font-size:16px;line-height:1.9}.contact-layout{grid-template-columns:1fr;gap:28px}.contact-layout h2{font-size:30px}.enquiry-form{padding:24px}.form-grid{grid-template-columns:1fr;gap:20px}.form-grid .full{grid-column:auto}.form-privacy{font-size:13px}.search-form>div{flex-direction:column}.search-form input{width:100%;flex:none;min-height:48px}.search-form .button{width:100%;flex:none}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid p,.footer-grid>div>a:not(.brand){font-size:13px}.footer-bottom{flex-direction:column;align-items:start;font-size:11px;gap:18px}.footer-bottom>div{gap:14px}.cookie-inner{grid-template-columns:1fr;gap:16px;padding-block:20px}.cookie-inner h2{font-size:18px}.cookie-inner p{font-size:12px}.cookie-buttons{gap:8px}.cookie-inner button{font-size:12px;flex:1;white-space:nowrap}.cookie-bar{max-height:65dvh}.reference-list a{font-size:15px}.article .note p{font-size:14px}}
@media(max-width:370px){:root{--gutter:22px}.brand strong{font-size:23px}.brand small{font-size:9px}.brand{gap:9px}.menu-toggle{padding:8px 11px}.card-grid.four{grid-template-columns:1fr}.hero h1{font-size:39px}.cookie-buttons{display:grid;grid-template-columns:1fr}.page-banner h1{font-size:26px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:no-preference){.linked-card{transition:border-color .18s,box-shadow .18s}.button{transition:background .18s,color .18s}.brand strong,.brand small{transition:color .18s}}
@media print{.site-header,.site-footer,.cookie-bar,.cta,.skip-link{display:none!important}.container{width:100%;max-width:none}.page-banner{color:#24313c;background:white;border-bottom:1px solid #aaa}.page-banner p,.breadcrumbs{color:#626c75}.banner-icon{display:none}.section{padding-block:25px}.card-grid{display:block}.card{margin-bottom:18px}.stage-panel{break-inside:avoid}}
