.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:var(--color-surface);border-block-end:1px solid var(--color-stroke-weak);padding-inline:var(--gutter);position:sticky;inset-block-start:0}.site-header__inner[data-astro-cid-nen7h5rs]{max-inline-size:var(--content-width);min-block-size:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-m);margin-inline:auto;display:flex;position:relative}.site-header__logo[data-astro-cid-nen7h5rs]{flex-shrink:0;display:block;& img{block-size:2.75rem;inline-size:auto}}.primary-nav[data-astro-cid-nen7h5rs]{inset-block-start:100%;inset-inline:calc(var(--gutter) * -1);background:var(--color-surface);box-shadow:var(--shadow-overlay);padding:var(--space-s) var(--gutter) var(--space-l);gap:var(--space-m);max-block-size:calc(100dvh - var(--header-height));opacity:0;visibility:hidden;transition:opacity calc(var(--dur-ui) * .8) var(--ease-out), translate calc(var(--dur-ui) * .8) var(--ease-out), visibility calc(var(--dur-ui) * .8);flex-direction:column;display:flex;position:absolute;overflow-y:auto;translate:0 -.5rem;&>ul[data-astro-cid-nen7h5rs]{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}&>ul[data-astro-cid-nen7h5rs]>li[data-astro-cid-nen7h5rs]{border-block-end:1px solid var(--color-stroke-weak)}&>ul[data-astro-cid-nen7h5rs]>li[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs]{padding-block:var(--space-s);font-family:var(--font-heading);font-weight:500;font-size:var(--text-l);color:var(--text);text-decoration:none;display:block;&[aria-current=page]{color:var(--color-brand);text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:.3em;text-decoration-thickness:3px}}.burger[data-astro-cid-nen7h5rs][aria-expanded=true]+&{opacity:1;visibility:visible;transition-duration:var(--dur-ui);translate:0}@media (width>=60rem){align-items:center;gap:var(--space-l);box-shadow:none;opacity:1;visibility:visible;background:0 0;flex-direction:row;max-block-size:none;padding:0;transition:none;position:static;inset:auto;overflow:visible;translate:0;&>ul[data-astro-cid-nen7h5rs]{gap:var(--space-xs);flex-direction:row}&>ul[data-astro-cid-nen7h5rs]>li[data-astro-cid-nen7h5rs]{border:0;align-items:center;display:flex;position:relative}&>ul[data-astro-cid-nen7h5rs]>li[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs]{padding:var(--space-xs) var(--space-s);font-size:var(--text-m);border-radius:var(--radius-s);transition:color var(--duration) var(--ease);&:hover{color:var(--color-brand)}}}}.has-children[data-astro-cid-nen7h5rs]{grid-template-columns:1fr auto;align-items:center;display:grid;@media (width>=60rem){display:flex}}.submenu-toggle[data-astro-cid-nen7h5rs]{border-radius:var(--radius-s);block-size:3rem;inline-size:3rem;color:var(--text-weak);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;& svg{transition:rotate var(--dur-ui) var(--ease-out)}&[aria-expanded=true] svg[data-astro-cid-nen7h5rs]{rotate:180deg}@media (width>=60rem){block-size:1.5rem;inline-size:1.5rem;margin-inline-start:calc(var(--space-xs) * -1)}}.submenu[data-astro-cid-nen7h5rs]{flex-direction:column;grid-column:1/-1;margin:0;padding-block-end:var(--space-s);padding-inline:0;list-style:none;display:none;.submenu-toggle[data-astro-cid-nen7h5rs][aria-expanded=true]+&{display:flex}& a{padding:var(--space-xs) var(--space-s);color:var(--text);border-radius:var(--radius-s);text-decoration:none;display:block;&:hover,&[aria-current=page]{color:var(--color-brand);background:var(--color-surface-tint)}}@media (width>=60rem){background:var(--color-surface);border:1px solid var(--color-stroke-weak);border-radius:var(--radius-m);min-inline-size:15rem;box-shadow:var(--shadow-raised);padding:var(--space-xs);visibility:hidden;transform-origin:0 0;opacity:0;transition:opacity calc(var(--dur-ui) * .8) var(--ease-out), scale calc(var(--dur-ui) * .8) var(--ease-out), visibility calc(var(--dur-ui) * .8);display:flex;position:absolute;inset-block-start:calc(100% + var(--space-xs));inset-inline-start:0;scale:.96;li[data-astro-cid-nen7h5rs]:hover>&,li[data-astro-cid-nen7h5rs]:focus-within>&{visibility:visible;opacity:1;transition-duration:var(--dur-ui);scale:1}}}.site-header__actions[data-astro-cid-nen7h5rs]{display:flex}.burger[data-astro-cid-nen7h5rs]{cursor:pointer;border-radius:var(--radius-s);--burger-gap:.4rem;background:0 0;border:0;place-items:center;gap:0;block-size:3rem;inline-size:3rem;display:grid;position:relative;& span{background:var(--text);block-size:2px;inline-size:1.5rem;transition:translate var(--dur-ui) var(--ease-in-out), rotate var(--dur-ui) var(--ease-in-out), opacity var(--dur-ui) var(--ease-in-out);border-radius:2px;display:block;position:absolute}& span:first-child{translate:0 calc(var(--burger-gap) * -1)}& span:nth-child(3){translate:0 var(--burger-gap)}&[aria-expanded=true]{& span:first-child{translate:0;rotate:45deg}& span:nth-child(2){opacity:0}& span:nth-child(3){translate:0;rotate:-45deg}}@media (width>=60rem){display:none}}.site-footer[data-astro-cid-jo6i4kqk]{font-size:var(--text-s)}.site-footer__top[data-astro-cid-jo6i4kqk]{padding-block:var(--section-space-s);padding-inline:var(--gutter);background:var(--bg)}.site-footer__top-inner[data-astro-cid-jo6i4kqk]{max-inline-size:var(--content-width);gap:var(--space-xl);margin-inline:auto;display:grid;@media (width>=60rem){grid-template-columns:1.4fr 2fr}}.site-footer__brand[data-astro-cid-jo6i4kqk]{align-items:flex-start;gap:var(--content-gap);flex-direction:column;max-inline-size:28rem;display:flex;& p{font-size:var(--text-m);color:var(--text-weak)}}.site-footer__logo[data-astro-cid-jo6i4kqk]{background:var(--color-surface);padding:var(--space-s);border-radius:var(--radius-m);display:inline-block;& img{block-size:auto;inline-size:10rem}}.site-footer__nav[data-astro-cid-jo6i4kqk]{gap:var(--space-l);grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr));display:grid}.site-footer__column[data-astro-cid-jo6i4kqk]{gap:var(--space-s);flex-direction:column;display:flex;& h2{font-size:var(--text-m);color:var(--color-accent);font-weight:600}& ul{gap:var(--space-xs);flex-direction:column;padding:0;list-style:none;display:flex}& a{color:var(--text);text-decoration:none;&:hover{color:var(--color-accent);text-decoration:underline}}}.office-list[data-astro-cid-jo6i4kqk]{& li{flex-direction:column;gap:.1rem;display:flex}& li+li[data-astro-cid-jo6i4kqk]{margin-block-start:var(--space-xs)}& span{color:var(--text-weak)}}.site-footer__bottom[data-astro-cid-jo6i4kqk]{padding-block:var(--space-m);padding-inline:var(--gutter);background:var(--bg)}.site-footer__bottom-inner[data-astro-cid-jo6i4kqk]{max-inline-size:var(--content-width);justify-content:space-between;gap:var(--space-s);color:var(--text-weak);flex-wrap:wrap;margin-inline:auto;display:flex}.site-footer__legal[data-astro-cid-jo6i4kqk]{gap:var(--space-m);flex-wrap:wrap;display:flex;& a{color:var(--text-weak);text-decoration:none;&:hover{color:var(--color-accent);text-decoration:underline}}}:root{--color-text:oklch(25.4% .047 249);--color-text-weak:oklch(46.9% .036 246);--color-brand:oklch(46.7% .096 237);--color-brand-hover:oklch(39.5% .081 237);--color-navy:oklch(34.2% .08 247);--color-navy-deep:oklch(25.4% .047 249);--color-accent:oklch(76.1% .174 130);--color-accent-tint:oklch(96.1% .031 123);--color-surface:oklch(100% 0 0);--color-surface-tint:oklch(95.3% .013 256);--color-stroke:oklch(64.5% .03 245);--color-stroke-weak:oklch(89.7% .014 248);--color-error:oklch(50% .19 27);--color-success:oklch(45% .13 150);--bg:var(--color-surface);--text:var(--color-text);--text-weak:var(--color-text-weak);--link:var(--color-brand);--link-hover:var(--color-brand-hover);--stroke:var(--color-stroke-weak);--text-s:clamp(.9375rem, .9rem + .2vw, 1rem);--text-m:clamp(1.0625rem, 1rem + .3vw, 1.125rem);--text-l:clamp(1.1875rem, 1.1rem + .5vw, 1.375rem);--text-h4:clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--text-h3:clamp(1.5rem, 1.3rem + .9vw, 2rem);--text-h2:clamp(1.875rem, 1.5rem + 1.6vw, 2.75rem);--text-h1:clamp(2.375rem, 1.8rem + 2.6vw, 3.75rem);--leading-body:1.6;--leading-heading:1.15;--tracking-heading:-.01em;--tracking-eyebrow:.08em;--space-xs:.5rem;--space-s:1rem;--space-m:1.5rem;--space-l:2rem;--space-xl:3rem;--space-xxl:4rem;--content-gap:1.25rem;--grid-gap:clamp(1.5rem, 3vw, 2rem);--container-gap:var(--space-xl);--section-space:clamp(4rem, 8vw, 7rem);--section-space-s:clamp(2.5rem, 5vw, 4rem);--gutter:clamp(1.25rem, 4vw, 2.5rem);--content-width:72rem;--text-width:65ch;--narrow-width:46rem;--header-height:4.5rem;--radius-s:.5rem;--radius-m:1rem;--radius-l:2rem;--shadow-raised:0 1px 2px oklch(from var(--color-text) l c h / .08), 0 8px 24px oklch(from var(--color-text) l c h / .1);--shadow-overlay:0 12px 40px oklch(from var(--color-text) l c h / .22);--duration:.18s;--ease:ease;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--dur-press:.16s;--dur-ui:.2s;--dur-enter:.55s;--stagger:50ms;--rise:12px;--focus-ring:3px solid var(--color-brand);--accent-rule-width:2.5rem;--accent-rule-height:.25rem;color-scheme:light}@media (prefers-reduced-motion:reduce){:root{--duration:0s;--dur-press:0s;--dur-ui:0s;--dur-enter:.2s;--stagger:0s;--rise:0px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-block-start:calc(var(--header-height) + var(--space-s))}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-m);line-height:var(--leading-body);text-wrap:pretty;margin:0}h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote,dl,dd{margin:0}ul[class],ol[class],nav ul{padding:0;list-style:none}img,svg,video{block-size:auto;max-inline-size:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}summary{cursor:pointer}:focus-visible{outline:var(--focus-ring);outline-offset:3px;border-radius:var(--radius-s)}::selection{background:var(--color-accent);color:var(--color-navy-deep)}h1,h2,h3,h4,.h1,.h2,.h3,.h4{font-family:var(--font-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);text-wrap:balance;font-weight:500}h1,.h1{font-size:var(--text-h1)}h2,.h2{font-size:var(--text-h2)}h3,.h3{font-size:var(--text-h3);font-weight:600}h4,.h4{font-size:var(--text-h4);font-weight:600}.lead{font-size:var(--text-l);color:var(--text-weak);max-inline-size:var(--text-width)}.text-s{font-size:var(--text-s)}.text-weak{color:var(--text-weak)}.eyebrow{font-family:var(--font-body);font-size:var(--text-s);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-weak);font-weight:700;line-height:1.3;&:before{content:"";inline-size:var(--accent-rule-width);block-size:var(--accent-rule-height);border-radius:var(--accent-rule-height);background:var(--color-accent);margin-block-end:var(--space-s);display:block}&:has(+:is(.h1,.h2,.h3)){margin-block-end:calc(var(--content-gap) * -.5)}}.eyebrow--centred:before{margin-inline:auto}a{color:var(--link);text-decoration-color:oklch(from var(--link) l c h / .4);text-underline-offset:.15em;transition:color var(--duration) var(--ease), text-decoration-color var(--duration) var(--ease);text-decoration-thickness:1px;&:hover{color:var(--link-hover);text-decoration-color:var(--color-accent);text-decoration-thickness:2px}}.section{padding-block:var(--section-space);padding-inline:var(--gutter);background:var(--bg);color:var(--text);&.section--tight{padding-block:var(--section-space-s)}&.section--tint{--bg:var(--color-surface-tint)}&.section--flush-top{padding-block-start:0}}.container{inline-size:100%;max-inline-size:var(--content-width);gap:var(--container-gap);flex-direction:column;margin-inline:auto;display:flex}.container--narrow{max-inline-size:var(--narrow-width)}.scheme--dark{--bg:var(--color-navy);--text:var(--color-surface);--text-weak:oklch(from var(--color-surface) l c h / .78);--link:var(--color-accent);--link-hover:var(--color-surface);--stroke:oklch(from var(--color-surface) l c h / .18);background:var(--bg);color:var(--text);& .eyebrow,& .lead{color:var(--text-weak)}}.scheme--deep{--bg:var(--color-navy-deep)}.section-intro{gap:var(--content-gap);max-inline-size:var(--text-width);flex-direction:column;display:flex;&.section-intro--centred{text-align:center;align-items:center;margin-inline:auto}}.btn{justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-s);border:2px solid var(--color-brand);background:var(--color-brand);min-block-size:3rem;color:var(--color-surface);font-family:var(--font-heading);font-weight:600;font-size:var(--text-m);cursor:pointer;transition:background-color var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease), scale var(--dur-press) var(--ease-out);padding:.75rem 1.5rem;line-height:1.2;text-decoration:none;display:inline-flex;&:hover{background:var(--color-brand-hover);border-color:var(--color-brand-hover);color:var(--color-surface);text-decoration:none}&:active{scale:.97}&.btn--secondary{color:var(--color-brand);background:0 0;&:hover{background:oklch(from var(--color-brand) l c h / .08);color:var(--color-brand-hover)}}&.btn--tertiary{color:var(--color-brand);text-underline-offset:.2em;padding-inline:var(--space-xs);background:0 0;border-color:#0000;text-decoration:underline;&:hover{color:var(--color-brand-hover);text-decoration-color:var(--color-accent)}}.scheme--dark &{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-navy-deep);&:hover{background:var(--color-surface);border-color:var(--color-surface);color:var(--color-navy-deep)}}.scheme--dark &.btn--secondary{border-color:var(--color-surface);color:var(--color-surface);background:0 0;&:hover{background:oklch(from var(--color-surface) l c h / .12);color:var(--color-surface)}}}.btn-group{gap:var(--space-s);flex-wrap:wrap;display:flex}.prose{max-inline-size:var(--text-width);&>*+*{margin-block-start:1em}&>h2{font-size:var(--text-h3);margin-block-start:1.75em}&>h3{font-size:var(--text-h4);margin-block-start:1.5em}&>h4{font-size:var(--text-l);margin-block-start:1.25em}&>:is(h2,h3,h4)+*{margin-block-start:.5em}& ul,& ol{padding-inline-start:1.25em}& li+li{margin-block-start:.35em}& li::marker{color:var(--color-brand)}& img{border-radius:var(--radius-m);margin-block:1.5em}& blockquote{border-inline-start:var(--accent-rule-height) solid var(--color-accent);color:var(--text-weak);font-size:var(--text-l);padding-inline-start:var(--space-m)}& iframe{aspect-ratio:16/9;border-radius:var(--radius-m);border:0;block-size:auto;inline-size:100%}& strong{font-weight:700}}.grid{gap:var(--grid-gap);grid-template-columns:repeat(auto-fit, minmax(min(var(--grid-min,18rem), 100%), 1fr));display:grid}.grid--flex{gap:var(--grid-gap);flex-wrap:wrap;justify-content:center;display:flex;&>*{flex:1 1 var(--grid-min,18rem);max-inline-size:var(--grid-max,26rem)}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;padding:var(--space-xs) var(--space-s);background:var(--color-surface);color:var(--color-brand);border-radius:var(--radius-s);transition:translate var(--dur-ui) var(--ease-out);position:absolute;inset-block-start:var(--space-xs);inset-inline-start:var(--space-xs);translate:0 -200%;&:focus{translate:0}}@keyframes rise{0%{opacity:0;translate:0 var(--rise)}to{opacity:1;translate:0}}@keyframes rise-soft{0%{opacity:0;scale:.96}to{opacity:1;scale:1}}@keyframes draw{0%{scale:0 1}to{scale:1}}html[data-motion] [data-reveal]:not([data-in])>*{opacity:0}html[data-motion] [data-reveal][data-in]>*{animation:rise var(--dur-enter) var(--ease-out) both;animation-delay:calc(min(var(--i,0), 8) * var(--stagger))}html[data-motion] [data-reveal=tiles][data-in]>*{animation-name:rise-soft;animation-duration:.4s;animation-delay:calc(var(--i,0) * 30ms)}html[data-motion] [data-reveal][data-in] .eyebrow:before{transform-origin:0;animation:draw var(--dur-enter) var(--ease-out) both;animation-delay:calc(min(var(--i,0), 8) * var(--stagger) + .12s)}html[data-motion] [data-reveal][data-in] .eyebrow--centred:before{transform-origin:50%}.tiles-enter>*{animation:rise-soft .45s var(--ease-out) both}.tiles-enter>:first-child{animation-delay:.1s}.tiles-enter>:nth-child(2){animation-delay:.14s}.tiles-enter>:nth-child(3){animation-delay:.18s}.tiles-enter>:nth-child(4){animation-delay:.22s}.tiles-enter>:nth-child(5){animation-delay:.26s}.tiles-enter>:nth-child(6){animation-delay:.3s}.tiles-enter>:nth-child(7){animation-delay:.34s}.tiles-enter>:nth-child(8){animation-delay:.38s}.tiles-enter>:nth-child(n+9){animation-delay:.42s}.hero-enter>*{animation:rise var(--dur-enter) var(--ease-out) both}.hero-enter>:first-child{animation-delay:0s}.hero-enter>:nth-child(2){animation-delay:60ms}.hero-enter>:nth-child(3){animation-delay:.12s}.hero-enter>:nth-child(4){animation-delay:.18s}.hero-enter>:nth-child(5){animation-delay:.24s}.hero-enter>:nth-child(n+6){animation-delay:.3s}.hero-enter>.eyebrow:before{transform-origin:0;animation:draw var(--dur-enter) var(--ease-out) .12s both}.hero-media-enter{animation:rise-soft .6s var(--ease-out) .15s both}@media (prefers-reduced-motion:reduce){html[data-motion] [data-reveal][data-in]>*,.hero-enter>*,.hero-media-enter,.tiles-enter>*{animation-name:fade;animation-delay:0s}html[data-motion] [data-reveal][data-in] .eyebrow:before,.hero-enter>.eyebrow:before{animation:none}@keyframes fade{0%{opacity:0}to{opacity:1}}}
