@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/inter-0.woff) format('woff');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/inter-1.woff) format('woff');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/inter-2.woff) format('woff');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/inter-3.woff) format('woff');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/inter-4.woff) format('woff');
}

@charset "UTF-8";
:root{--ink:#18253D;--paper:#F2F5FA;--blue:#496B9C;--ice:#A2DCEB;--muted:#5A667B;--line:#CDD6E3;--ease:cubic-bezier(.22,.75,.25,1);font-family:Inter,Arial,sans-serif;color:var(--ink);font-size:16px;scroll-behavior:smooth;scroll-padding-top:106px;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--paper);padding-top:96px}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,summary{cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}p{line-height:1.75}h1,h2,h3{font-weight:500}h1,h2{letter-spacing:-.065em;line-height:1.05}h2{font-size:clamp(2.6rem,4.4vw,4.1rem)}h3{line-height:1.25;letter-spacing:-.035em}section{scroll-margin-top:102px}.shell{width:min(1376px,calc(100% - 112px));margin-inline:auto}.section{padding:112px 0}.eyebrow{display:flex;align-items:center;gap:23px;font-size:.8125rem;line-height:1.5;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:28px}.eyebrow>span{font-size:.75rem;letter-spacing:0;opacity:.65}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:110px;margin-bottom:54px}.section-description{font-size:1.0625rem;max-width:465px;color:var(--muted);line-height:1.8}.index{font-size:.8125rem;font-weight:500;letter-spacing:.03em}.skip{position:fixed;top:-100px;left:20px;z-index:80;padding:14px 20px;background:var(--ice);color:var(--ink)}.skip:focus{top:12px}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.network :focus-visible,.footer :focus-visible,.hero :focus-visible{outline-color:var(--ice)}
/* Persistent header: contextual colours and the unchanged original logo. */
.site-header{--nav-bg:242,245,250;--nav-ink:#18253D;--nav-line:rgba(24,37,61,.2);--header-progress:0;--header-alpha:1;position:fixed;inset:0 0 auto;z-index:40;color:var(--nav-ink);isolation:isolate}
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(var(--nav-bg),var(--header-alpha));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 1px 0 var(--nav-line);transition:background .3s,color .3s}
.site-header.on-dark{--nav-bg:24,37,61;--nav-ink:#fff;--nav-line:rgba(255,255,255,.19)}
.site-header.on-blue{--nav-bg:73,107,156;--nav-ink:#fff;--nav-line:rgba(255,255,255,.25)}
.site-header.on-ice{--nav-bg:162,220,235;--nav-ink:#18253D;--nav-line:rgba(24,37,61,.22)}
.header{display:flex;align-items:center;gap:43px;min-height:calc(96px - 18px * var(--header-progress))}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0;margin-right:auto}.brand-name{font-size:.75rem;font-weight:600;letter-spacing:.11em;line-height:1.5}.brand>img,.brand-symbol{width:34px;height:50px;flex:0 0 34px}.brand-symbol{position:relative;display:block;overflow:hidden;transform:translateY(calc(-2px * var(--header-progress))) scale(calc(1 - .08 * var(--header-progress)));transform-origin:center}.brand-symbol img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform .46s var(--ease),opacity .32s}.brand .mark-dark{transform:translateY(0);opacity:1}.brand .mark-light{transform:translateY(110%);opacity:0}.on-dark .mark-dark{transform:translateY(-110%);opacity:0}.on-dark .mark-light{transform:translateY(0);opacity:1}.nav{display:flex;gap:29px;align-items:center;font-size:.875rem}.nav a{position:relative;padding:14px 0;white-space:nowrap}.nav a::after{content:"";height:1px;background:currentColor;position:absolute;bottom:8px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}.nav a:hover::after,.nav a.is-active::after{transform:scaleX(1)}.language{display:flex;align-items:center;gap:5px}.language a{min-height:44px;min-width:35px;display:grid;place-items:center;font-size:.875rem;opacity:.8;border-bottom:1px solid transparent;transition:opacity .2s}.language a.selected{opacity:1;border-color:currentColor}.language a:hover{opacity:1}.menu-toggle{display:none;min-height:44px;border:1px solid var(--nav-line);border-radius:100px;background:none;align-items:center;gap:11px;padding:10px 15px;font-size:.875rem}.menu-glyph{position:relative;display:block;flex:0 0 16px;width:16px;height:16px}.menu-glyph i{position:absolute;top:50%;left:0;width:100%;height:1px;display:block;background:currentColor;transform:translateY(-3px);transform-origin:center;transition:transform .2s}.menu-glyph i:last-child{transform:translateY(2px)}.menu-toggle[aria-expanded=true] .menu-glyph i:first-child{transform:translateY(-50%) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-glyph i:last-child{transform:translateY(-50%) rotate(-45deg)}.menu-open::before{background:rgb(var(--nav-bg))}.reading-progress{position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--blue);transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}.on-dark .reading-progress{background:var(--ice)}
.button{margin-top:26px}.scroll-arrow{border:1px solid #ffffff69;border-radius:100%;width:47px;height:47px;display:grid;place-items:center;font-size:1.4rem;transition:transform .25s}
.button{position:relative;display:inline-flex;justify-content:space-between;align-items:center;gap:37px;min-height:58px;padding:9px 10px 9px 25px;font-size:1rem;font-weight:500;border:1px solid transparent;border-radius:100px;background:var(--blue);color:#fff;isolation:isolate;overflow:hidden;transition:background .3s,color .3s,transform .3s}.button::before{content:"";position:absolute;inset:0;background:#18253D1A;transform:translateX(-101%);transition:transform .4s var(--ease);z-index:-1}.button:hover::before{transform:translateX(0)}.button:hover{transform:translateY(-2px)}.button-arrow{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:#ffffff1f;font-size:1.4rem;transition:transform .3s var(--ease)}.button:hover .button-arrow{transform:rotate(45deg)}.button-ice{background:var(--ice);color:var(--ink)}.button-ice .button-arrow{background:var(--ink);color:var(--ice)}.button-dark{background:var(--ink);color:#fff}.button-dark .button-arrow{background:var(--ice);color:var(--ink)}
.principle-band{background:var(--ice);overflow:hidden}.principle-track{display:flex;justify-content:space-between;gap:38px;padding:25px 0;align-items:center}.principle-track span{display:flex;align-items:center;gap:38px;font-size:clamp(1.35rem,2.4vw,2.2rem);letter-spacing:-.05em;font-weight:500}.principle-track span+span::before{content:"+";font-size:1.3rem;font-weight:400;opacity:.55}
/* Service cards have a directional colour wipe and native disclosures. */
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--line);padding:29px 28px 0;display:flex;flex-direction:column;transition:color .25s,border-color .25s;min-width:0}.service-card::before{content:"";position:absolute;inset:0;background:var(--blue);z-index:-1;transform:scaleY(0);transform-origin:bottom;transition:transform .45s var(--ease)}.service-top{display:flex;align-items:start;gap:20px;justify-content:space-between;margin-bottom:48px}.service-tag{font-size:.875rem;line-height:1.5;text-align:right;max-width:180px;color:var(--muted)}.service-card h3{font-size:clamp(1.45rem,2vw,1.9rem);max-width:350px;min-height:2.6em;margin-bottom:15px}.service-card>p{font-size:1rem;line-height:1.75;color:var(--muted);margin-bottom:28px}.service-card details{margin-top:auto}.service-card summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);padding:20px 0;font-size:.875rem}.service-card summary::-webkit-details-marker{display:none}.plus{font-size:1.75rem;font-weight:400;line-height:1;transition:transform .3s}.service-card details[open] .plus{transform:rotate(45deg)}.service-result{padding:2px 0 26px}.service-result strong{display:block;font-size:.8125rem;font-weight:500;margin-bottom:10px}.service-result p{font-size:1rem;line-height:1.65}.service-card:focus-within{color:#fff;border-color:var(--blue)}.service-card:focus-within::before{transform:scaleY(1)}.service-card:focus-within>p,.service-card:focus-within .service-tag{color:#F2F5FA}.service-card:focus-within summary{border-color:#ffffff5e}.service-card:focus-within :focus-visible{outline-color:var(--ice)}
@media(hover:hover) and (pointer:fine){.service-card:hover{color:#fff;border-color:var(--blue)}.service-card:hover::before{transform:scaleY(1)}.service-card:hover>p,.service-card:hover .service-tag{color:#F2F5FA}.service-card:hover summary{border-color:#ffffff5e}}
/* Partner network as a single image-led story. */
.network{background:var(--ink);color:#fff}.network .eyebrow{color:#C6D5E8}.network-title{font-size:clamp(2.7rem,5.1vw,4.9rem);margin-bottom:56px;max-width:1120px}.network-title span{color:var(--ice)}.network-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:80px;align-items:start}.network-copy>.lead{font-size:1.3125rem;line-height:1.65;letter-spacing:-.015em;color:#F2F5FA}.network-copy>p+p{color:#BACBE1;margin-top:24px;font-size:1rem}.network-pillars{margin-top:38px}.network-pillar{display:grid;grid-template-columns:35px 1fr;gap:21px;border-top:1px solid #ffffff3b;padding:25px 0}.network-pillar .index{color:var(--ice);padding-top:4px}.network-pillar h3{font-size:1.5rem;margin-bottom:8px}.network-pillar p{color:#BACBE1;font-size:1rem;line-height:1.7}
/* The chapter indicator follows the three steps as the page scrolls. */
.journey{background:#E6EDF5}.journey-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:105px;align-items:start}.journey-sticky{position:sticky;top:126px;padding:6px 0}.journey h2{font-size:clamp(2.5rem,4vw,3.75rem);max-width:650px}.journey .section-description{margin-top:28px;max-width:480px}.journey-indicator{display:flex;gap:17px;align-items:center;font-size:.875rem;margin-top:50px;max-width:280px;font-variant-numeric:tabular-nums}.journey-index{color:var(--blue);font-weight:600}.journey-line{position:relative;background:#C5D1E2;height:2px;flex:1}.journey-line::after{content:"";position:absolute;inset:0;background:var(--blue);transform:scaleX(var(--journey-progress,.333));transform-origin:left;transition:transform .4s var(--ease)}.journey-step{display:grid;grid-template-columns:60px 1fr;gap:24px;min-height:240px;padding:38px 0;border-top:1px solid #B8C9DF;transition:opacity .4s}.journey-step .step-number{font-size:2.4rem;font-weight:500;line-height:1;letter-spacing:-.07em;color:#697B97;transition:color .3s,transform .3s}.journey-step h3{font-size:2rem;margin-bottom:18px}.journey-step p{max-width:390px;color:var(--muted);font-size:1.0625rem;line-height:1.8}.journey-step.is-active .step-number{color:var(--blue);transform:translateX(4px)}
.international{background:var(--blue);color:#fff}.international .section-heading{gap:75px}.international h2{font-size:clamp(2.5rem,4vw,3.75rem)}.international .eyebrow{color:#F2F5FA}.international .section-description{color:#F2F5FA}.geo-note{margin-top:66px;margin-bottom:16px;font-size:.8125rem;color:#F2F5FA}.countries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ffffff66}.country{position:relative;display:flex;flex-direction:column;gap:26px;padding:23px 0 0;overflow:hidden}.country+.country{border-left:1px solid #ffffff55;padding-left:30px}.country-name{font-size:.9375rem}.country-code{font-size:clamp(5.8rem,13vw,12rem);font-weight:500;letter-spacing:-.1em;line-height:.9;color:var(--ice);transform:translateY(var(--country-shift,0px));transition:color .3s}.country:hover .country-code{color:white}
.clients-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.clients h2{font-size:clamp(2.5rem,4vw,3.7rem)}.clients ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}.clients li{padding:20px 0;border-bottom:1px solid var(--line);font-size:1.1875rem;line-height:1.5;letter-spacing:-.02em}.clients li span{display:block;transition:transform .3s,color .3s}.clients li:hover span{transform:translateX(7px);color:var(--blue)}
.contact{background:var(--ice);padding:87px 0 82px}.contact-heading{display:flex;justify-content:space-between;gap:50px;align-items:center}.contact h2{font-size:clamp(3.25rem,7.6vw,7rem);line-height:1.035}.contact h2 span{color:var(--blue)}.contact-orbit{width:148px;height:148px;border:1px solid #18253D70;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:5rem;line-height:1;transition:background .3s,color .3s,transform .4s var(--ease)}.contact-orbit span{display:block;transition:transform .4s var(--ease)}.contact-orbit:hover{background:var(--blue);color:#fff;border-color:var(--blue);transform:scale(1.045)}.contact-orbit:hover span{transform:rotate(45deg)}.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:46px;align-items:start}.contact-bottom>p{max-width:470px;font-size:1.0625rem;line-height:1.8}.contact-actions{justify-self:end;display:flex;flex-direction:column;align-items:start}.contact-direct{display:flex;flex-wrap:wrap;gap:12px 27px;margin-top:23px;font-size:.9375rem}.contact-direct a{text-decoration:underline;text-underline-offset:5px}.contact-direct a:hover{text-decoration-thickness:2px}
.footer{background:var(--ink);color:#F2F5FA;padding:49px 0 28px}.footer-top{display:flex;align-items:center;gap:65px}.footer .brand{margin:0}.footer-top p{color:#BACBE1;font-size:.875rem;max-width:420px;line-height:1.7}.footer-links{display:flex;gap:25px;margin-left:auto;align-items:center;font-size:.875rem}.footer-links a:hover{color:var(--ice)}.scope{font-size:.75rem;line-height:1.75;color:#BACBE1;margin-top:34px;max-width:1180px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap;border-top:1px solid #ffffff38;padding-top:23px;margin-top:31px;font-size:.75rem;color:#BACBE1}.motion-toggle{border:0;background:none;color:inherit;font-size:.8125rem;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:7px 0;cursor:pointer}.motion-toggle:hover{color:var(--ice)}
/* Legal pages and email composer share the new design system. */
.legal{max-width:840px;margin:auto;padding:66px 0 90px}.back{font-size:.9375rem}.legal h1{font-size:clamp(2.9rem,5vw,4.7rem);margin:35px 0 43px}.legal h2{font-size:1.35rem;letter-spacing:-.035em;line-height:1.3;margin:34px 0 14px}.legal p{font-size:1rem;color:var(--muted);margin-top:12px}.legal a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.legal a:hover{color:var(--blue)}.notice{border-left:3px solid var(--blue);padding:20px 24px;background:#E6EDF5}.legal .sources{font-size:.875rem}dialog{width:min(590px,calc(100% - 32px));max-height:calc(100dvh - 32px);border:0;padding:31px 35px 35px;background:var(--paper);color:var(--ink);border-radius:12px}dialog::backdrop{background:#101B30CC;backdrop-filter:blur(8px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-top .eyebrow{margin:0;font-size:.75rem}.dialog-close{display:grid;place-items:center;flex:0 0 44px;inline-size:44px;block-size:44px;padding:0;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:50%;line-height:0;appearance:none;transition:background .2s,border-color .2s}.close-icon{display:block;width:22px;height:22px;transform-origin:50% 50%;transform-box:fill-box;transition:transform .2s}.dialog-close:hover{background:var(--ice);border-color:var(--ice)}.dialog-close:hover .close-icon{transform:rotate(90deg)}.dialog-close:focus-visible{outline:3px solid var(--blue);outline-offset:3px}dialog h2{font-size:2.6rem;margin:28px 0}form{display:grid;gap:17px}form label{font-size:.875rem;font-weight:500;line-height:1.5;display:grid;gap:7px}input,textarea{width:100%;padding:12px 14px;font-size:1rem;border:1px solid #A5B5CA;border-radius:5px;background:white;color:var(--ink);min-height:47px}textarea{resize:vertical}.form-note{font-size:.875rem;color:var(--muted);line-height:1.6}form .button{border-radius:100px;justify-content:center;gap:25px}.direct-mail{font-size:.875rem;text-decoration:underline;text-underline-offset:4px}#form-feedback:empty{display:none}#form-feedback{padding:15px;background:#E6EDF5;font-size:.875rem;line-height:1.6}
/* Progressive motion; readable content remains the default. */
.motion-ready [data-reveal].reveal-pending{opacity:0;transform:translate3d(0,28px,0)}
.motion-ready [data-reveal]{transition:opacity .75s var(--ease) var(--delay,0ms),transform .75s var(--ease) var(--delay,0ms)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:none}
@keyframes line-in{from{transform:translateY(112%);opacity:.2}to{transform:translateY(0);opacity:1}}
@keyframes surface-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:surface-in .2s reverse both}::view-transition-new(root){animation:surface-in .28s both}
@supports not (backdrop-filter:blur(1px)){.site-header::before{background:rgba(var(--nav-bg),.97)}}
@media(min-width:1680px){}
@media(max-width:1150px){.shell{width:calc(100% - 72px)}.header{gap:27px}.nav{gap:20px}.section-heading{gap:60px}.section{padding:86px 0}.service-card{padding:25px 21px 0}.service-card h3{font-size:1.55rem}.service-top{gap:13px;margin-bottom:37px}.network-layout{gap:48px}.network-copy>.lead{font-size:1.2rem}.journey-layout{gap:60px}.journey-step{grid-template-columns:43px 1fr;gap:23px}.journey-step h3{font-size:1.8rem}.clients-layout{gap:60px}.contact-bottom{gap:65px}.footer-top{gap:35px;flex-wrap:wrap}.footer-links{margin-left:0}}
@media(max-width:900px){.shell{width:calc(100% - 48px)}.header{gap:20px}.nav{gap:16px}.brand-name{font-size:.6875rem}.brand{gap:10px}.brand>img,.brand-symbol{width:31px;height:45px;flex-basis:31px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card h3{font-size:1.7rem;min-height:2.4em}.network-layout{grid-template-columns:1fr 1fr;gap:36px}.network-title{font-size:3.5rem}.journey-layout{gap:40px}.journey-step{min-height:245px}.contact-orbit{width:110px;height:110px;font-size:3.8rem}.contact-actions{justify-self:start}.section-heading{gap:45px}}
@media(max-width:780px){:root{scroll-padding-top:96px}body{padding-top:84px}section{scroll-margin-top:94px}.section{padding:68px 0}.shell{width:calc(100% - 40px)}.header{min-height:calc(84px - 8px * var(--header-progress));gap:16px;flex-wrap:wrap}.brand-name{font-size:.75rem}.brand>img,.brand-symbol{width:30px;height:44px;flex-basis:30px}.nav{display:none;order:4;flex-direction:column;width:100%;align-items:stretch;gap:0;padding:5px 0 20px;max-height:calc(100dvh - 100px);overflow:auto}.nav.is-open{display:flex}.nav a{font-size:1.125rem;padding:16px 0;border-top:1px solid var(--nav-line)}.nav a::after{display:none}.language{margin-left:auto;gap:1px}.language a{min-width:32px}.menu-toggle{display:inline-flex}.principle-track{gap:20px;padding:23px 0}.principle-track span{gap:20px;font-size:clamp(1.1rem,3.2vw,1.7rem)}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:35px}.section-description{max-width:580px;font-size:1rem}.eyebrow{font-size:.75rem;margin-bottom:22px}.services-grid{gap:13px}.service-card{padding:25px 22px 0}.service-card h3{font-size:1.65rem}.service-top{margin-bottom:32px}.service-tag{font-size:.875rem;max-width:160px}.network-title{font-size:clamp(2.65rem,6.4vw,3.5rem);margin-bottom:37px}.network-layout{grid-template-columns:1fr;gap:33px}.network-copy>.lead{font-size:1.25rem;max-width:610px}.network-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.network-pillar{display:block;padding:22px 0 0}.network-pillar .index{display:block;margin-bottom:18px}.network-pillar h3{font-size:1.25rem}.network-pillar p{font-size:.9375rem}.journey-layout{grid-template-columns:1fr;gap:37px}.journey-sticky{position:static;padding:0}.journey h2{font-size:clamp(2.6rem,6.5vw,3.5rem)}.journey .section-description{max-width:560px;margin-top:23px}.journey-indicator{margin-top:25px;max-width:240px}.journey-steps{display:grid;grid-template-columns:1fr;gap:0}.journey-step{display:grid;grid-template-columns:50px 1fr;gap:25px;padding:28px 0;min-height:180px}.journey-step .step-number{display:block;margin-bottom:25px;font-size:2rem}.journey-step h3{font-size:1.4rem;margin-bottom:13px}.journey-step p{font-size:.9375rem;line-height:1.7}.international .section-heading{gap:25px}.international h2{font-size:clamp(2.5rem,6.4vw,3.5rem)}.geo-note{margin-top:40px}.country+.country{padding-left:23px}.country-code{font-size:18vw}.country-name{font-size:.875rem}.clients-layout{grid-template-columns:1fr;gap:35px}.clients li{padding:18px 0;font-size:1.125rem}.contact-heading{gap:30px}.contact h2{font-size:clamp(3rem,7.4vw,5rem)}.contact-orbit{width:90px;height:90px;font-size:3.2rem}.contact-bottom{grid-template-columns:1fr;gap:29px;margin-top:30px}.contact-bottom>p{font-size:1rem}.footer{padding-top:36px}.footer-top{gap:28px}.footer-top p{font-size:.875rem}.footer-links{width:100%}.footer-bottom{gap:10px 30px}.footer-bottom>span:nth-child(2){display:none}.legal{padding:45px 0 65px}.legal h1{font-size:3.25rem}}
@media(max-width:520px){.header{gap:10px}.brand{gap:9px}.brand-name{font-size:.75rem;letter-spacing:.09em}.brand>img,.brand-symbol{width:27px;height:40px;flex-basis:27px}.language a{font-size:.8125rem;min-width:30px}.menu-toggle{padding:9px 11px;font-size:.8125rem;gap:8px}.principle-track{gap:12px;padding:21px 0}.principle-track span{font-size:clamp(.875rem,3.7vw,1.2rem);gap:12px;letter-spacing:-.04em}.principle-track span+span::before{font-size:.9375rem}.section{padding:59px 0}h2{font-size:2.75rem;letter-spacing:-.06em}.services-grid{grid-template-columns:1fr}.service-card{padding:27px 26px 0}.service-top{margin-bottom:28px}.service-tag{max-width:210px}.service-card h3{min-height:0;font-size:1.85rem;max-width:340px}.service-card>p{margin-bottom:26px}.service-card summary{font-size:.9375rem}.network-title{font-size:2.7rem}.network-copy>.lead{font-size:1.1875rem}.network-pillars{grid-template-columns:1fr;gap:0;margin-top:30px}.network-pillar{display:grid;grid-template-columns:27px 1fr;gap:22px;padding:23px 0}.network-pillar .index{padding-top:4px;margin:0}.network-pillar h3{font-size:1.5rem}.network-pillar p{font-size:1rem}.journey-steps{grid-template-columns:1fr;gap:0}.journey-step{display:grid;grid-template-columns:48px 1fr;gap:22px;padding:29px 0}.journey-step h3{font-size:1.8rem}.journey-step p{font-size:1rem}.journey h2,.international h2,.clients h2{font-size:2.65rem}.country+.country{padding-left:15px}.country{gap:24px;padding-top:20px}.country-name{font-size:.8125rem}.country-code{font-size:20vw}.contact-heading{align-items:start;gap:18px}.contact h2{font-size:clamp(2.5rem,8.9vw,3.2rem)}.contact-orbit{width:53px;height:53px;font-size:2rem;margin-top:7px}.contact-direct{flex-direction:column;gap:15px;font-size:1rem}.contact-bottom{margin-top:27px}.footer-top{align-items:start}.footer-top .brand{width:100%}.footer .brand-name{font-size:.75rem}.footer .brand>img{width:31px;height:45px}.footer-top p{font-size:.8125rem}.footer-bottom{font-size:.75rem}.footer-links{font-size:.875rem}.scope{font-size:.75rem}.legal h1{font-size:2.8rem}.legal h2{font-size:1.3rem}.notice{padding:18px}dialog{padding:24px}dialog h2{font-size:2.3rem}}
@media(max-width:360px){.shell{width:calc(100% - 32px)}.header{gap:8px}.brand-name{font-size:.75rem;letter-spacing:.05em}.brand-symbol{width:25px;flex-basis:25px}.menu-toggle{padding:9px 10px}.menu-toggle>span:first-child{display:none}.language a{min-width:29px}.network-title{font-size:2.45rem}.contact-orbit{display:none}.service-card{padding-inline:23px}}

/* Indigo Advisory — clear conversations, readable images and generous space. */
.hero{position:relative;background:var(--ink);color:var(--paper);overflow:hidden;isolation:isolate}
.hero-inner{padding-top:62px;padding-bottom:24px}
.hero-layout{display:grid;grid-template-columns:1fr 1.18fr;gap:60px;align-items:center}
.hero-copy{min-width:0;padding:6px 0 12px}
.hero-eyebrow{color:#C6D5E8;font-size:.875rem;letter-spacing:.055em;margin-bottom:30px;max-width:490px}
.hero h1{font-size:clamp(3rem,5.2vw,5.2rem);letter-spacing:-.065em;line-height:1.045;overflow-wrap:anywhere}
.hero-line{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.04em}
.hero-line>span{display:block}
.hero-line:last-child{color:var(--ice)}
.motion-ready .hero-line>span{animation:line-in .95s var(--ease) both}
.motion-ready .hero-line:nth-child(2)>span{animation-delay:.10s}
.motion-ready .hero-line:nth-child(3)>span{animation-delay:.20s}
.hero-intro{max-width:475px;color:#D4E0EF;font-size:1.0625rem;line-height:1.75;margin-top:29px}
.hero .button{margin-top:27px}
.hero-visual{overflow:hidden;border-radius:18px;position:relative;background:#496B9C;box-shadow:0 30px 65px #08132633}
.hero-art{transform:translate3d(0,var(--parallax-y,0px),0) scale(1.06);will-change:transform}
.hero-art img{width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain}
.hero-foot{display:flex;align-items:center;justify-content:space-between;gap:25px;color:#C6D5E8;font-size:.8125rem;border-top:1px solid #ffffff30;padding-top:21px;margin-top:52px}
.hero-foot>span:last-child{letter-spacing:.12em}
.hero-discover{display:flex;align-items:center;gap:16px;font-size:.875rem;color:var(--paper);line-height:1.5}
.scroll-arrow{border:1px solid #ffffff69;border-radius:50%;width:41px;height:41px;display:grid;place-items:center;font-size:1.3rem;transition:transform .25s}
.hero-discover:hover .scroll-arrow{transform:translateY(4px)}
.principle-track{padding:22px 0}
.principle-track span{font-size:clamp(1.2rem,2vw,1.8rem);letter-spacing:-.035em}
.service-card{border-radius:12px;background:#FFFFFF;box-shadow:0 2px 4px #18253D03}
.service-card h3{letter-spacing:-.04em}
.service-top{margin-bottom:36px}
.service-card summary:focus-visible{outline-offset:-3px;border-radius:4px}
.network-layout{grid-template-columns:1.12fr 1fr;gap:70px;align-items:start}
.editorial-image{overflow:hidden;border-radius:14px;background:#D5E3EE}
.editorial-image img{width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;transition:transform .9s var(--ease)}
.network-image{position:sticky;top:120px}
.network-image img{aspect-ratio:1672/941}
.journey-sticky{top:104px}
.planning-image{margin-top:29px;max-width:480px}
.journey-indicator{margin-top:28px}
.journey-step{min-height:255px}
.international-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:center}
.international-copy .section-description{margin-top:28px;max-width:520px;color:#fff}
.international-copy h2{font-size:clamp(2.5rem,3.8vw,3.6rem)}
.remote-image{box-shadow:0 24px 50px #18253D26}
.geo-note{margin-top:55px;color:#fff}
.country-code{font-size:clamp(5.5rem,10vw,9.5rem)}
.clients-layout{grid-template-columns:1.05fr 1fr;align-items:start;gap:80px}
.business-image{margin-top:34px}
.clients ul{margin-top:50px}
.contact h2 span{color:#385784}
.international :focus-visible{outline-color:var(--paper)}
.footer .scope{color:#BACBE1}
@media(hover:hover) and (pointer:fine){.editorial-image:hover img{transform:scale(1.025)}}
@media(min-width:1680px){.hero-inner{padding-top:76px}.hero-layout{gap:72px}.hero h1{font-size:5.2rem}.hero-foot{margin-top:62px}}
@media(max-width:1150px){.hero-layout{gap:38px}.hero h1{font-size:5.2vw}.hero-inner{padding-top:48px}.hero-intro{font-size:1rem}.network-layout,.international-layout{gap:42px}.clients-layout{gap:55px}}
@media(max-width:980px){.hero-layout{grid-template-columns:1fr;gap:38px}.hero-copy{max-width:750px}.hero h1{font-size:clamp(3rem,8.8vw,5rem)}.hero-eyebrow{max-width:none}.hero-intro{max-width:600px}.hero-visual{width:100%;max-width:800px;margin:0 auto}.hero-art{transform:none;will-change:auto}.hero-foot{margin-top:30px}.hero-foot>span:last-child{display:none}.network-layout{grid-template-columns:1fr;gap:35px}.network-image{position:relative;top:auto;max-width:800px}.network-copy{max-width:820px}.network-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.network-pillar{display:block}.network-pillar .index{display:block;margin-bottom:16px}.network-pillar h3{font-size:1.3rem}.network-pillar p{font-size:1rem}.journey-layout{gap:42px;grid-template-columns:1fr 1fr}.journey-sticky{position:static}.international-layout{gap:35px;grid-template-columns:1fr}.international-copy .section-description{max-width:650px}.remote-image{max-width:800px}.international-copy h2{font-size:clamp(2.5rem,5.5vw,3.5rem)}.clients-layout{gap:40px}.clients h2{font-size:clamp(2.3rem,4.5vw,3.5rem)}.country-code{font-size:15vw}}
@media(max-width:780px){.hero-inner{padding-top:38px;padding-bottom:22px}.hero-copy{padding:0}.hero-eyebrow{font-size:.875rem;margin-bottom:25px}.hero-foot{font-size:.8125rem;gap:20px;align-items:center}.hero-discover{font-size:.875rem;gap:10px}.hero-discover>span:first-child{max-width:140px}.hero-visual{border-radius:12px}.hero-intro{margin-top:24px}.network-image img{aspect-ratio:1672/941}.journey-layout{grid-template-columns:1fr}.planning-image{max-width:600px}.journey-steps{margin-top:3px}.journey-step{min-height:190px}.clients-layout{grid-template-columns:1fr}.clients ul{margin-top:0}.business-image{max-width:600px}.geo-note{margin-top:38px}.country-code{font-size:18vw}}
@media(max-width:520px){.hero-inner{padding-top:29px}.hero h1{font-size:clamp(2.35rem,10vw,3.5rem)}.hero-eyebrow{font-size:.875rem;max-width:330px;letter-spacing:.035em}.hero-layout{gap:32px}.hero-intro{font-size:1rem;margin-top:23px}.hero .button{margin-top:23px}.hero-foot{flex-wrap:wrap;gap:15px;align-items:center;margin-top:25px}.hero-foot>span:first-child{width:100%;line-height:1.6}.hero-discover>span:first-child{max-width:none}.hero-discover .scroll-arrow{width:34px;height:34px}.principle-track{gap:12px;padding:20px 0}.principle-track span{font-size:clamp(.875rem,3.6vw,1.2rem);gap:12px}.network-pillars{grid-template-columns:1fr;gap:0}.network-pillar{display:grid;grid-template-columns:27px 1fr;gap:22px}.network-pillar .index{margin:0}.network-pillar h3{font-size:1.5rem}.network-image img{aspect-ratio:1672/941}.journey-step{min-height:0}.international-copy h2,.clients h2{font-size:2.65rem}.country-code{font-size:20vw}.country-name{font-size:.875rem}.service-tag{font-size:.875rem}.service-top{margin-bottom:28px}.button{gap:26px}.business-image{margin-top:28px}}

.motion-paused,.motion-paused *{scroll-behavior:auto!important}.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation:none!important;transition:none!important}.motion-paused .hero-line>span,.motion-paused [data-reveal],.motion-paused .hero-art{opacity:1!important;transform:none!important}.motion-paused::view-transition-old(root),.motion-paused::view-transition-new(root){animation:none!important}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}

.motion-toggle:disabled{cursor:default;text-decoration:none;opacity:.7}

/* Indigo Gallery: the supplied staggered-grid idea in the existing static site. */
:root {
  --gallery-radius: 16px;
  --gallery-shadow: 0 14px 32px rgb(24 37 61 / 9%);
  --gallery-ease: cubic-bezier(.2, .8, .2, 1);
}

/* Original vector paths are embedded, including both sliding logo variants. */
.brand > svg {
  display: block;
  width: 34px;
  height: 50px;
  flex: 0 0 34px;
}
.brand-symbol svg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  transition: transform .46s var(--ease), opacity .32s;
}
.brand-symbol .mark-dark { transform: translateY(0); opacity: 1; }
.brand-symbol .mark-light { transform: translateY(110%); opacity: 0; }
.on-dark .brand-symbol .mark-dark { transform: translateY(-110%); opacity: 0; }
.on-dark .brand-symbol .mark-light { transform: translateY(0); opacity: 1; }

.hero { background: var(--paper); color: var(--ink); }
.hero-inner { padding-top: 42px; padding-bottom: 22px; }
.hero-layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr);
  gap: clamp(32px, 4.5vw, 68px);
  align-items: center;
}
.hero-copy { padding: 0; }
.hero-eyebrow {
  color: var(--blue);
  max-width: 450px;
  font-size: .875rem;
  letter-spacing: .04em;
  margin-bottom: 27px;
}
.hero h1 {
  font-size: clamp(2.9rem, 4.35vw, 4.4rem);
  font-weight: 500;
  line-height: 1.09;
  letter-spacing: -.06em;
}
.hero-line { overflow: visible; padding: 0; margin: 0; }
.hero-line:last-child { color: var(--blue); }
.hero .hero-line > span { animation: none; }
.hero-intro {
  margin-top: 28px;
  color: var(--muted);
  max-width: 470px;
  font-size: 1.0625rem;
  line-height: 1.8;
}
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 19px 25px; margin-top: 31px; }
.hero-actions .button { margin: 0; }
.hero-text-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: .9375rem; }
.hero-text-link span { transition: transform .25s var(--ease); }
.hero-text-link:hover { color: var(--blue); }
.hero-text-link:hover span { transform: translateY(3px); }
.hero :focus-visible { outline-color: var(--blue); }
.hero-foot {
  color: var(--muted);
  border-color: var(--line);
  margin-top: 32px;
  padding-top: 22px;
  font-size: .8125rem;
}
.hero-foot > span:last-child { color: var(--blue); display: block; }

.hero-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: .3fr 1fr .3fr 1fr .3fr;
  gap: 16px;
  aspect-ratio: 1.1;
  width: 100%;
  min-width: 0;
}
.gallery-cell {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgb(73 107 156 / 12%);
  border-radius: var(--gallery-radius);
  background: #fff;
  box-shadow: var(--gallery-shadow);
}
/* Same four staggered areas as the provided React example. */
.gallery-cell-1 { grid-column: 2; grid-row: 1 / 3; }
.gallery-cell-2 { grid-column: 1; grid-row: 2 / 4; }
.gallery-cell-3 { grid-column: 1; grid-row: 4 / 6; }
.gallery-cell-4 { grid-column: 2; grid-row: 3 / 5; }
.gallery-photo { overflow: hidden; min-height: 0; background: #D5E3EE; }
.gallery-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .65s var(--gallery-ease);
}
.gallery-cell figcaption {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 13px 15px;
  font-size: .875rem;
  line-height: 1.45;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.gallery-number { color: var(--blue); font-size: .75rem; font-variant-numeric: tabular-nums; }

/* Entry is finite and observed once. Each block stays readable without JS. */
.motion-ready [data-blur] {
  transition: opacity .68s var(--gallery-ease) var(--delay, 0ms),
    transform .68s var(--gallery-ease) var(--delay, 0ms),
    filter .68s var(--gallery-ease) var(--delay, 0ms);
}
.motion-ready [data-blur].reveal-pending {
  opacity: 0;
  filter: blur(8px);
  transform: translate3d(0, 20px, 0);
}
.motion-ready [data-blur].is-visible { opacity: 1; filter: none; transform: none; }

.principle-band { background: var(--ice); }
.network-title { font-size: clamp(2.6rem, 4.8vw, 4.6rem); }
.network-layout { align-items: center; }
.network-image { position: relative; top: auto; }
.network-image img { aspect-ratio: 1672 / 941; }
.journey-sticky { top: 122px; }
.journey-indicator { margin-top: 35px; }
.international .section-heading { align-items: end; gap: 65px; }
.clients ul { margin-top: 0; }
.contact { border-radius: 28px 28px 0 0; }
.button:active { transform: translateY(0) scale(.985); }
.footer-links { flex-wrap: wrap; }
/* Five navigation items, including the new standalone pricing page. */
@media (min-width: 781px) and (max-width: 1050px) {
  .header { gap: 18px; }
  .nav { gap: 16px; }
}

@media (hover: hover) and (pointer: fine) {
  .gallery-cell:hover .gallery-photo img { transform: scale(1.045); }
  .gallery-cell:hover { box-shadow: 0 18px 38px rgb(24 37 61 / 14%); }
}
@media (max-width: 1150px) {
  .hero-layout { gap: 35px; }
  .hero-gallery { gap: 12px; }
  .gallery-cell figcaption { padding: 12px; gap: 8px; }
  .hero-actions { gap: 14px; }
  .hero-intro { font-size: 1rem; }
}
@media (max-width: 980px) {
  .hero-layout { grid-template-columns: 1fr; gap: 34px; }
  .hero-copy { max-width: 700px; }
  .hero h1 { font-size: clamp(3rem, 7.5vw, 4.7rem); }
  .hero-intro { max-width: 620px; }
  .hero-gallery { max-width: 730px; margin-inline: auto; aspect-ratio: 1.35; gap: 17px; }
  .hero-foot { flex-wrap: wrap; }
  .hero-foot > span:nth-child(2) { display: none; }
  .gallery-cell figcaption { padding: 13px 16px; }
  .journey-layout { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
  .brand > svg { width: 30px; height: 44px; flex-basis: 30px; }
  .hero-inner { padding-top: 35px; }
  .hero-foot { flex-direction: row; }
  .hero-gallery { aspect-ratio: 1.18; gap: 14px; }
  .international .section-heading { gap: 25px; }
  .contact { border-radius: 20px 20px 0 0; }
}
@media (max-width: 520px) {
  .hero h1 { font-size: clamp(2.375rem, 9.1vw, 3rem); letter-spacing: -.055em; }
  .hero-intro { margin-top: 22px; }
  .hero-eyebrow { margin-bottom: 22px; font-size: .875rem; }
  .hero-actions { margin-top: 24px; gap: 14px 22px; }
  .hero-gallery { aspect-ratio: 1.03; gap: 10px; }
  .gallery-cell { border-radius: 11px; box-shadow: 0 7px 18px rgb(24 37 61 / 8%); }
  .gallery-cell figcaption { padding: 10px 9px; gap: 6px; font-size: .875rem; }
  .gallery-number { display: none; }
  .hero-foot > span:first-child { width: auto; max-width: 220px; }
  .hero-foot > span:last-child { font-size: .75rem; }
  .brand > svg { width: 27px; height: 40px; flex-basis: 27px; }
  .footer .brand > svg { width: 31px; height: 45px; flex-basis: 31px; }
}
.motion-paused [data-blur] { opacity: 1 !important; filter: none !important; transform: none !important; }
.motion-paused .gallery-photo img { transform: none !important; }
@media (prefers-reduced-motion: reduce) {
  [data-blur] { opacity: 1 !important; filter: none !important; transform: none !important; }
  .gallery-photo img { transform: none !important; }
}

/* Autumn Advisory — deeper brand colours, seasonal atmosphere, clear services. */
:root { --ink:#10213F; --paper:#F2F6FC; --blue:#2F609E; --ice:#76D9E8; --muted:#51617A; --line:#CCD7E7; --amber:#F4BE67; --copper:#A95A23; }
.site-header { --nav-bg:242,246,252; --nav-ink:#10213F; }
.site-header.on-dark { --nav-bg:16,33,63; }
.site-header.on-blue { --nav-bg:47,96,158; }
.site-header.on-ice { --nav-bg:118,217,232; }
.seasonal-page body { padding-top:0; }
.seasonal-page .site-header:not(.is-scrolled):not(.menu-open)::before { background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none; }
.seasonal-hero { min-height:750px; color:#fff; background:#10213F; }
.season-scene, .season-shade { position:absolute; inset:0; pointer-events:none; }
.season-scene { overflow:hidden; z-index:-2; }
.season-scene picture, .season-art, .season-scene canvas { position:absolute; inset:0; width:100%; height:100%; }
.season-art { object-fit:cover; object-position:center; }
.season-atmosphere { opacity:.36; mix-blend-mode:screen; }
.season-leaves { opacity:.9; }
.season-shade { z-index:-1; background:linear-gradient(90deg,#0D1D37 0%,#0D1D37F5 24%,#0D1D37D9 43%,#0D1D3740 64%,transparent 82%),linear-gradient(0deg,#10213FD9 0%,transparent 25%); }
.seasonal-hero .hero-inner { min-height:750px; padding-top:180px; padding-bottom:24px; display:flex; flex-direction:column; }
.seasonal-hero .hero-layout { display:block; flex:1; }
.seasonal-hero .hero-copy { max-width:670px; padding:0; }
.seasonal-hero .hero-eyebrow { color:#CDDFF6; font-size:.875rem; letter-spacing:.09em; margin-bottom:30px; max-width:none; }
.seasonal-hero h1 { font-size:clamp(3.25rem,5.4vw,5.25rem); line-height:1.08; letter-spacing:-.065em; font-weight:500; }
.seasonal-hero .hero-line:last-child { color:var(--amber); }
.seasonal-hero .hero-intro { color:#D8E4F4; max-width:500px; font-size:1.0625rem; line-height:1.8; margin-top:30px; }
.seasonal-hero .hero-actions { margin-top:34px; gap:18px 26px; }
.seasonal-hero .button-season { background:var(--amber); color:var(--ink); margin:0; }
.seasonal-hero .button-season .button-arrow { background:#10213F; color:var(--amber); }
.seasonal-hero .button-season:hover { background:#FFD18A; }
.seasonal-hero .hero-text-link { color:#E5EEFA; }
.seasonal-hero .hero-text-link:hover { color:var(--amber); }
.seasonal-hero :focus-visible { outline-color:var(--amber); }
.seasonal-hero .hero-foot { border-color:#CDDFF633; color:#C7D6E9; margin-top:64px; padding-top:22px; font-size:.875rem; }
.seasonal-hero .hero-foot > span:last-child { color:var(--amber); }
.hero-motion { display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:8px 12px; margin:-10px 0; border:1px solid #CBDCF54D; border-radius:40px; color:inherit; background:#10213F40; font-size:.875rem; }
.hero-motion::before { content:'Ⅱ'; font-size:1rem; }
.hero-motion[aria-pressed=true]::before { content:'▷'; }
.hero-motion:disabled::before { content:''; }
.hero-motion:hover { border-color:currentColor; }
.principle-band { background:var(--ice); }
.principle-track { padding-block:23px; }
.principle-track span { font-weight:500; }
.section-heading .section-description { max-width:460px; }

/* A capsule inspired by a theme toggle; these are real language links. */
.language { position:relative; isolation:isolate; display:grid; grid-template-columns:repeat(2,44px); gap:0; border:1px solid var(--nav-line); border-radius:50px; padding:3px; flex-shrink:0; }
.language .language-thumb { position:absolute; z-index:-1; top:3px; bottom:3px; left:3px; width:44px; border-radius:40px; background:var(--nav-ink); transition:transform .32s var(--ease),background .3s; }
.language[data-active=en] .language-thumb { transform:translateX(44px); }
.language a, .language a.selected { min-height:38px; min-width:44px; padding:0; border:0; border-radius:40px; opacity:1; font-size:.875rem; font-weight:600; transition:color .25s; }
.language[data-active=de] a[lang=de], .language[data-active=en] a[lang=en] { color:rgb(var(--nav-bg)); }
.language[data-active=de] a[lang=en], .language[data-active=en] a[lang=de] { color:var(--nav-ink); }
.language a:focus-visible { outline:2px solid var(--amber); outline-offset:5px; }

/* Adaptation of the supplied feature hover grid, with the six LMPA services. */
.services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-card.feature-cell { padding:34px 30px 0; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:transparent; color:var(--ink); overflow:visible; }
.feature-cell::before { background:linear-gradient(to top,#76D9E831,transparent 85%); opacity:0; transform:none!important; transition:opacity .25s; }
.feature-cell:nth-child(n+4)::before { background:linear-gradient(to bottom,#76D9E831,transparent 85%); }
.feature-cell .service-top { align-items:center; margin-bottom:27px; }
.feature-cell .service-icon { width:40px; height:40px; object-fit:contain; }
.feature-cell .index { color:var(--blue); font-size:.875rem; }
.feature-cell h3 { position:relative; min-height:2.7em; font-size:clamp(1.25rem,1.75vw,1.6rem); line-height:1.35; margin-bottom:17px; }
.feature-cell h3::before { content:''; position:absolute; left:-30px; top:2px; height:24px; width:3px; background:#97ACC8; border-radius:0 3px 3px 0; transition:height .25s,background .25s; }
.feature-cell h3 span { display:inline-block; transition:transform .25s var(--ease); }
.service-card.feature-cell > p { color:var(--muted); margin-bottom:26px; }
.feature-cell summary { border-color:var(--line)!important; min-height:65px; }
.feature-cell .service-result strong { font-size:.875rem; color:var(--blue); }
.service-card.feature-cell:focus-within { color:var(--ink); border-color:var(--line); }
.service-card.feature-cell:focus-within > p { color:var(--muted); }
.feature-cell:focus-within::before { opacity:1; }
.feature-cell:focus-within h3::before { background:var(--blue); height:34px; }
.feature-cell:focus-within h3 span { transform:translateX(6px); }
.service-card.feature-cell :focus-visible { outline-color:var(--blue); }
@media (hover:hover) and (pointer:fine) {
 .service-card.feature-cell:hover { color:var(--ink); border-color:var(--line); }
 .service-card.feature-cell:hover > p { color:var(--muted); }
 .feature-cell:hover::before { opacity:1; }
 .feature-cell:hover h3::before { background:var(--blue); height:34px; }
 .feature-cell:hover h3 span { transform:translateX(6px); }
}
.network { background:var(--ink); }
.network-title span { color:var(--ice); }
.international { background:var(--blue); }
.contact { border-radius:0; background:var(--ice); }
.footer { background:var(--ink); }

/* Alternate autumn direction, selectable in review URLs with ?look=light. */
[data-look=light] .seasonal-hero { color:var(--ink); background:#E8F0FA; }
[data-look=light] .season-art { opacity:.62; }
[data-look=light] .season-atmosphere { opacity:.15; }
[data-look=light] .season-shade { background:linear-gradient(90deg,#EDF3FC 0%,#EDF3FCF5 30%,#EDF3FCD9 46%,#EDF3FC45 72%,#EDF3FC15 100%),linear-gradient(0deg,#EDF3FC 0%,transparent 35%); }
[data-look=light] .seasonal-hero .hero-line:last-child { color:#915022; }
[data-look=light] .seasonal-hero .hero-eyebrow { color:var(--blue); }
[data-look=light] .seasonal-hero .hero-intro { color:#3F506B; }
[data-look=light] .seasonal-hero .hero-text-link { color:var(--ink); }
[data-look=light] .seasonal-hero .hero-text-link:hover { color:#915022; }
[data-look=light] .seasonal-hero .hero-foot { color:#455B76; border-color:#10213F33; }
[data-look=light] .seasonal-hero .hero-foot > span:last-child { color:#915022; }
[data-look=light] .hero-motion { background:#EDF3FC66; border-color:#10213F40; }
[data-look=light] .seasonal-hero :focus-visible { outline-color:var(--blue); }
[data-look=light].seasonal-page .site-header:not(.is-scrolled):not(.menu-open) { --nav-bg:237,243,252; --nav-ink:#10213F; --nav-line:#10213F33; }
[data-look=light].seasonal-page .site-header:not(.is-scrolled):not(.menu-open) .mark-dark { transform:translateY(0); opacity:1; }
[data-look=light].seasonal-page .site-header:not(.is-scrolled):not(.menu-open) .mark-light { transform:translateY(110%); opacity:0; }

@media (min-width:1600px) { .seasonal-hero, .seasonal-hero .hero-inner { min-height:840px; } .seasonal-hero .hero-inner { padding-top:210px; } }
@media (max-width:1100px) { .header { gap:18px; } .nav { gap:17px; } .seasonal-hero .hero-copy { max-width:620px; } }
@media (max-width:980px) {
 .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .feature-cell:nth-child(n)::before { background:linear-gradient(to top,#76D9E831,transparent 85%); }
 .feature-cell:nth-child(n+3)::before { background:linear-gradient(to bottom,#76D9E831,transparent 85%); }
 .seasonal-hero .hero-inner { padding-top:165px; }
 .seasonal-hero .hero-copy { max-width:590px; }
 .seasonal-hero h1 { font-size:clamp(3.1rem,6.9vw,4.4rem); }
 .seasonal-hero .hero-foot > :nth-child(2) { display:inline-flex; }
}
@media (max-width:780px) {
 .seasonal-hero .hero-inner { padding-top:145px; }
 .seasonal-hero .hero-foot { flex-wrap:wrap; gap:20px; }
 .seasonal-hero .hero-foot > span:last-child { display:none; }
 .seasonal-hero .hero-foot > span:first-child { max-width:260px; }
 .season-shade { background:linear-gradient(90deg,#0D1D37F5 0%,#0D1D37D9 46%,#0D1D3755 100%); }
 .seasonal-page .nav { background:rgb(var(--nav-bg)); }
}
@media (max-width:600px) {
 .seasonal-hero, .seasonal-hero .hero-inner { min-height:860px; }
 .seasonal-hero .hero-inner { padding-top:142px; padding-bottom:25px; }
 .seasonal-hero .hero-copy { max-width:100%; }
 .seasonal-hero h1 { font-size:clamp(2.55rem,9.6vw,3.6rem); letter-spacing:-.06em; }
 .seasonal-hero .hero-eyebrow { max-width:270px; margin-bottom:26px; line-height:1.6; letter-spacing:.04em; }
 .seasonal-hero .hero-intro { font-size:1rem; margin-top:25px; line-height:1.75; }
 .seasonal-hero .hero-actions { margin-top:27px; gap:15px; }
 .seasonal-hero .button { min-height:56px; }
 .season-art { object-position:72% bottom; }
 .season-shade { background:linear-gradient(180deg,#10213F 0%,#10213FF5 25%,#10213FE6 47%,#10213F70 69%,#10213FAD 89%,#10213F 100%); }
 .seasonal-hero .hero-foot { margin-top:170px; padding-top:20px; align-items:start; }
 .seasonal-hero .hero-foot > span:first-child { max-width:190px; font-size:.875rem; line-height:1.6; }
 .hero-motion { max-width:150px; font-size:.8125rem; text-align:left; }
 [data-look=light] .season-shade { background:linear-gradient(180deg,#EDF3FC 0%,#EDF3FCF5 30%,#EDF3FCE6 47%,#EDF3FC40 73%,#EDF3FCB3 90%,#EDF3FC 100%); }
 .services-grid { grid-template-columns:1fr; }
 .service-card.feature-cell { padding:28px 24px 0; }
 .feature-cell h3 { min-height:0; font-size:1.5rem; }
 .feature-cell h3::before { left:-24px; }
 .feature-cell .service-top { margin-bottom:22px; }
 .language { grid-template-columns:repeat(2,38px); }
 .language a { min-width:38px; }
 .language .language-thumb { width:38px; }
 .language[data-active=en] .language-thumb { transform:translateX(38px); }
 .header { gap:12px; }
 .menu-toggle { padding:10px 12px; }
 .menu-toggle > span:first-child { display:none; }
}
@media (max-width:360px) {
 .header { gap:8px; }
 .language { grid-template-columns:repeat(2,34px); }
 .language a { min-width:34px; }
 .language .language-thumb { width:34px; }
 .language[data-active=en] .language-thumb { transform:translateX(34px); }
 .menu-toggle { padding:10px; }
}
.motion-paused .language-thumb, .motion-paused .feature-cell *, .motion-paused .feature-cell::before { transition:none!important; }
.motion-paused .feature-cell h3 span { transform:none!important; }
@media (prefers-reduced-motion:reduce) { .language-thumb,.feature-cell *,.feature-cell::before { transition:none!important; } .feature-cell h3 span { transform:none!important; } }

/* Version 12: one navy card system, centred service links and four seasons. */
:root { --card-gap:32px; --card-radius:34px; }
.seasonal-page .site-header.over-hero::before {
  background:transparent; box-shadow:none; border:0;
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
.seasonal-page .site-header.over-hero.menu-open::before { background:rgb(var(--nav-bg)); }
.site-header.over-hero .reading-progress { opacity:0; }
.site-header .reading-progress { transition:opacity .2s; }
.season-scene { z-index:-3; }
.season-shade { z-index:-2; }
.season-motion { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.season-motion canvas { position:absolute; inset:0; width:100%; height:100%; }
.season-motion .season-atmosphere { opacity:.55; }
.season-motion .season-leaves { opacity:1; }
.seasonal-hero .hero-inner { padding-bottom:110px; }
.principle-band { height:32px; background:var(--ice); }

/* Visual translation of the supplied course cards. No invented progress or avatars. */
.advisory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--card-gap); align-items:stretch; }
.advisory-card, .plan-card, .service-outcome {
  --card-accent:#8AC3FF; --card-glow:71,156,255;
  display:flex; flex-direction:column; min-width:0;
  color:#F4F8FF;
  background:linear-gradient(225deg,#163F72 0%,#102B50 28%,#0D203D 57%,#081426 100%) padding-box,
    linear-gradient(225deg,#57AEFF 0%,#307ABE 18%,#1C3C60 43%,#12223A 75%) border-box;
  border:1px solid transparent; border-radius:var(--card-radius); overflow:hidden;
  box-shadow:0 15px 32px #10213F12;
  transition:translate .3s var(--ease),box-shadow .3s;
}
.advisory-card { min-height:432px; }
.card-orbit { display:grid; place-items:center; width:48px; height:48px; flex:0 0 48px; border-radius:50%; background:#438DE523; border:1px solid #6FBAFF69; color:var(--card-accent); }
.card-orbit img { width:27px; height:27px; filter:brightness(0) invert(1); opacity:.9; }
.advisory-card-top { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:25px 27px 0; }
.advisory-category { font-size:.875rem; line-height:1.5; color:#C1D2E9; max-width:210px; }
.advisory-card-body { flex:1; padding:33px 27px 32px; text-align:center; }
.advisory-card h3 { font-size:clamp(1.375rem,1.75vw,1.625rem); line-height:1.3; letter-spacing:-.025em; font-weight:600; min-height:2.6em; margin-bottom:18px; }
.advisory-card-body p { font-size:1rem; line-height:1.75; color:#D4E0F0; }
.advisory-card-footer { margin-top:auto; background:#09182D73; border-top:1px solid rgba(var(--card-glow),.2); display:flex; align-items:center; justify-content:center; min-height:100px; padding:22px 24px; }
.service-discover { position:relative; isolation:isolate; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; min-height:52px; max-width:100%; padding:13px 29px; border-radius:40px; border:1px solid #73BAFF89; background:linear-gradient(135deg,#1B416E,#143056); box-shadow:inset 0 1px 0 #C8E5FF15; color:#EFF7FF; font-size:.9375rem; line-height:1.5; font-weight:500; text-align:center; transition:background .25s,border-color .25s,box-shadow .25s; }
.service-discover::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(110deg,transparent 15%,#9FCEFF29 48%,transparent 78%); transform:translateX(-120%); transition:transform .55s var(--ease); pointer-events:none; }
.advisory-card :focus-visible,.plan-card :focus-visible { outline:2px solid var(--card-accent); outline-offset:-5px; border-radius:14px; }
.advisory-card .service-discover:focus-visible { outline-offset:4px; border-radius:40px; }
.advisory-card:focus-within,.plan-card:focus-within { box-shadow:0 18px 34px #10213F25; }
@media (hover:hover) and (pointer:fine) {
 .advisory-card:hover,.plan-card:hover { translate:0 -5px; box-shadow:0 21px 38px #10213F25; }
 .service-discover:hover { background:#214B7A; border-color:#9ACFFF; box-shadow:0 4px 22px #5AA9FF20; }
 .service-discover:hover::before { transform:translateX(120%); }
}

/* Lists have no decorative ordinals or scroll-driven chapter meter. */
.network-pillar, .journey-step { display:block; }
.journey-step { min-height:0; padding:33px 0; }
.journey-step p { max-width:500px; }
.journey-step h3 { font-size:clamp(1.5rem,2.2vw,2rem); }
.journey-sticky { position:static; }
.footer-links { flex-wrap:wrap; justify-content:flex-end; gap:15px 24px; max-width:480px; }
.footer-links a { display:inline-flex; align-items:center; min-height:36px; }
.footer-top { justify-content:space-between; }
.company-details { margin-top:60px; padding-top:34px; border-top:1px solid #10213F35; }
.company-details h3 { font-size:1.125rem; font-weight:600; margin-bottom:24px; }
.company-details dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 36px; margin:0; }
.company-details dt { font-size:.875rem; margin-bottom:7px; color:#214768; }
.company-details dd { margin:0; font-size:1rem; line-height:1.7; overflow-wrap:anywhere; }
.company-details a { text-decoration:underline; text-underline-offset:3px; }
.company-review-note { max-width:920px; font-size:.8125rem; line-height:1.7; margin-top:25px; color:#214768; }

/* Geometric arrows have a symmetric viewBox, independent of font glyph metrics. */
.arrow-icon { display:block; width:20px; height:20px; flex-shrink:0; }
.button-arrow { display:grid; place-items:center; line-height:0; padding:0; }
.inline-arrow { display:grid; place-items:center; line-height:0; }
.contact-orbit .inline-arrow { width:100%; height:100%; display:grid; place-items:center; }
.contact-orbit .arrow-icon { width:43%; height:43%; }

@media (max-width:1100px) {
 :root { --card-gap:28px; }
 .advisory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .advisory-card { min-height:410px; }
 .footer-top { gap:30px; flex-wrap:wrap; }
}
@media (max-width:780px) {
 :root { --card-gap:24px; --card-radius:28px; }
 .advisory-card-top { padding:23px 23px 0; }
 .advisory-card-body { padding:28px 23px; }
 .advisory-card-footer { padding:22px 20px; }
 .service-discover { padding-inline:22px; }
 .company-details dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .network-pillar, .journey-step { display:block; }
 .footer-links { margin-left:0; justify-content:flex-start; max-width:none; }
 .principle-band { height:24px; }
}
@media (max-width:600px) {
 .advisory-grid { grid-template-columns:1fr; }
 .advisory-card { min-height:0; }
 .advisory-card-body { padding-top:29px; padding-bottom:30px; }
 .advisory-card h3 { min-height:0; font-size:1.5rem; }
 .company-details dl { grid-template-columns:1fr; gap:22px; }
 .seasonal-hero .hero-inner { min-height:820px; padding-bottom:220px; }
 .seasonal-hero { min-height:820px; }
}
@media (prefers-reduced-motion:reduce) {
 .advisory-card, .plan-card, .service-discover, .service-discover::before, .reading-progress { transition:none; }
 .service-discover::before { display:none; }
 .advisory-card:hover,.plan-card:hover { translate:none; }
}

/* Release 21: compact editorial company information and resilient controls. */
html { scrollbar-gutter:stable; }
body.mobile-menu-open { overflow:hidden; overscroll-behavior:none; }
.company-about { border-bottom:1px solid var(--line); }
.company-about-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(250px,.8fr); gap:80px; }
.company-about h2 { font-size:clamp(2.2rem,4vw,3.4rem); }
.company-about .lead { margin-top:28px; font-size:1.125rem; }
.company-about p + p { margin-top:20px; color:var(--muted); }
.director { border-left:1px solid var(--line); padding-left:36px; align-self:start; }
.director h3 { font-size:1.65rem; margin-bottom:20px; }
.director .text-link { display:inline-block; margin-top:20px; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.pricing-invitation { padding:48px 0 64px; }
.pricing-invitation > .shell { display:flex; justify-content:space-between; align-items:center; gap:40px; border-top:1px solid var(--line); padding-top:38px; }
.pricing-invitation h2 { font-size:clamp(1.6rem,2.6vw,2.2rem); letter-spacing:-.035em; line-height:1.25; }
.pricing-invitation p { color:var(--muted); margin-top:14px; }
.pricing-invitation .button { margin-top:0; flex-shrink:0; }
.pricing-scope { margin:42px auto 0; max-width:850px; text-align:left; }
.pricing-scope h2 { font-size:1.5rem; letter-spacing:-.03em; line-height:1.3; margin-bottom:14px; }
.pricing-scope p { color:var(--muted); }
.footer-contact { margin:25px 0 0; font-size:.9375rem; color:#C6D5E8; }
.footer-contact a { display:inline-block; padding-block:4px; }
.footer .scope { max-width:950px; line-height:1.7; }
.company-details > a { display:inline-block; margin-top:20px; min-height:30px; }
.mail-fallback { padding-top:20px; border-top:1px solid var(--line); }
.mail-fallback p { font-size:.9375rem; }
.mail-fallback .direct-mail { display:block; margin:4px 0 10px; overflow-wrap:anywhere; text-decoration:underline; }
.copy-email { min-height:44px; padding:10px 15px; border:1px solid var(--blue); border-radius:22px; background:transparent; font-size:.9375rem; }
.copy-email:hover { background:#E6EDF5; }
.copy-feedback { margin-top:10px; min-height:1.5em; }
.clipboard-field { position:fixed; width:1px; height:1px; opacity:0; pointer-events:none; }
:where(h1,h2,h3,button,.button,.advisory-category) { overflow-wrap:break-word; }
.advisory-card h3 { hyphens:auto; }
.button { max-width:100%; text-align:left; }
.button > span:first-child { min-width:0; }
.eyebrow,.geo-note { font-size:.875rem; }
.footer-links a,.language a { min-height:44px; }
.language a:focus-visible { outline-offset:2px; border-radius:18px; }
.pricing-page .billing-switch:focus-visible { outline:3px solid #31527F; outline-offset:5px; }
:where(input,textarea):focus-visible { outline:3px solid #496B9C; outline-offset:3px; }
@media(max-width:980px) {
 .company-about-layout { grid-template-columns:1fr; gap:38px; }
 .director { padding:28px 0 0; border-left:0; border-top:1px solid var(--line); }
 .pricing-invitation > .shell { flex-wrap:wrap; }
}
@media(max-width:780px) {
 .site-header .nav.is-open { max-height:calc(100dvh - 100px); overflow-y:auto; overscroll-behavior:contain; }
 .company-about h2,.legal h1 { overflow-wrap:anywhere; }
 .pricing-invitation { padding:30px 0 45px; }
 .pricing-scope { margin-top:30px; }
}
@media(max-width:360px) {
 .header { gap:8px; }
 .header .brand { gap:7px; }
 .header .brand-name { font-size:.625rem; letter-spacing:.04em; }
 .header .brand-symbol { width:26px; flex-basis:26px; }
 .menu-toggle { padding:10px; }
 .button { gap:15px; padding-left:18px; }
 .hero h1 { font-size:2.35rem; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { scroll-behavior:auto!important; }
}
@media(min-width:781px) and (max-width:64rem) {
 body { padding-top:84px; }
 .header { min-height:calc(84px - 8px * var(--header-progress)); gap:16px; flex-wrap:wrap; }
 .nav { display:none; order:4; flex-direction:column; width:100%; align-items:stretch; gap:0; padding:5px 0 20px; max-height:calc(100dvh - 100px); overflow:auto; }
 .nav.is-open { display:flex; }
 .nav a { font-size:1.125rem; padding:16px 0; border-top:1px solid var(--nav-line); }
 .nav a::after { display:none; }
 .menu-toggle { display:inline-flex; }
 .language { margin-left:auto; }
}

/* Shared close controls retain their centre in every interaction state. */
.dialog-close:active{background:var(--ice)}
@media(prefers-reduced-motion:reduce){.close-icon{transition:none}.dialog-close:hover .close-icon{transform:none}}
