/* Structural design: immersive opening, native capability explorer and split page introductions. */
.home .fe-header{background:#062938;border-bottom-color:#ffffff22}
.home .fe-navigation a,.home .fe-header-cta{color:#f7f7f0}
.home .fe-header-cta{border-color:#ffffff50;background:transparent}
.home .fe-header-cta:hover{background:#e5c47f;color:#082f42}
.home .fe-js .fe-menu-toggle{color:#fff}
.home .fe-menu-toggle{color:#fff;border-color:#ffffff60;background:transparent!important}
.home .fe-menu-toggle[aria-expanded=true]{background:#095764!important}
.fe-hero{
 width:100%;max-width:none;margin:0!important;padding:84px 0 116px;
 background:var(--fe-deep);isolation:isolate;overflow:hidden;min-height:760px;
}
.fe-hero::before,.fe-hero::after{display:none}
.fe-hero>.wp-block-columns{display:contents!important}
.fe-hero>.wp-block-columns>.wp-block-column:first-child{
 display:block;position:relative;z-index:3;width:min(1320px,calc(100% - 112px));
 margin:0 auto!important;min-width:0;
}
.fe-hero>.wp-block-columns>.wp-block-column:last-child{display:contents}
.fe-hero .fe-eyebrow{color:#e9cf97;margin:0 0 44px!important;letter-spacing:.14em}
.fe-hero h1{
 font-family:var(--fe-font-sans);font-size:clamp(4rem,6.8vw,6.7rem);font-weight:500;
 line-height:1.02;letter-spacing:-.064em;max-width:1160px;text-wrap:initial;
 margin:0 0 44px;color:#f9f9f2;animation:none;
}
.fe-hero .fe-lead{max-width:570px;font-size:1.07rem;line-height:1.8;color:#d6e4e6;margin:0}
.fe-hero .wp-block-buttons{margin-top:35px;gap:30px}
.fe-hero .wp-block-button__link{font-size:.91rem;padding:19px 27px}
.fe-hero .wp-block-button.is-style-outline .wp-block-button__link{font-size:.9rem;color:#fff}
.fe-hero-visual{
 position:absolute!important;inset:0;z-index:0;min-height:0!important;display:block;
 background:#062938;border:0;box-shadow:none;border-radius:0;overflow:hidden;
}
.fe-hero-visual figure{inset:0!important;margin:0!important;width:100%;height:100%}
.fe-hero-visual figure img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;filter:saturate(.65);opacity:1}
.fe-hero-visual figure::after{
 content:"";position:absolute;inset:0;background:linear-gradient(90deg,#062938f5 0%,#062938e8 29%,#062938a8 56%,#06293814 100%),linear-gradient(0deg,#062938e0,transparent 65%);
}
.fe-hero-visual::before{inset:20px 2% 100px auto;width:40%;height:auto;background:url("system-field.svg") right center/contain no-repeat;--fe-system-opacity:.9;opacity:var(--fe-system-opacity);animation:none;z-index:1}
.fe-hero-visual::after{inset:34px;border:1px solid #f9e5b31f;z-index:2}
.fe-hero-caption{
 position:absolute;right:max(56px,calc((100vw - 1320px)/2));bottom:40px;width:auto;
 max-width:370px;padding:0 0 0 20px;border:0;border-left:2px solid #d5b875;
 background:transparent;font:400 1.45rem/1.22 var(--fe-font-serif);color:#f9f9f2;z-index:2;
}
.fe-context-bar{
 background:#fff;color:#465f68;border:0;border-bottom:1px solid #d3dbd4;padding:32px 0;margin-top:0!important;
}
.fe-context-bar .wp-block-columns{gap:60px}
.fe-context-bar .wp-block-columns>.wp-block-column:first-child{flex-basis:25%!important}
.fe-context-bar .wp-block-columns>.wp-block-column:last-child{flex-basis:75%!important}
.fe-context-bar .fe-eyebrow{color:#095764!important;font-size:.69rem!important}
.fe-context-bar p{font-size:1rem;line-height:1.6;max-width:850px}
.fe-container.fe-section:has(>.fe-service-explorer){
 display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:0 90px;
 padding-block:100px;
}
.fe-container.fe-section:has(>.fe-service-explorer)>.fe-eyebrow{grid-column:1/-1;margin-bottom:28px!important}
.fe-container.fe-section:has(>.fe-service-explorer)>h2{
 font:500 clamp(2.7rem,4.2vw,4.05rem)/1.07 var(--fe-font-sans);
 letter-spacing:-.055em;max-width:780px;margin:0;grid-column:1;
}
.fe-container.fe-section:has(>.fe-service-explorer)>.fe-section-intro{
 grid-column:2;align-self:end;margin:0 0 5px;font-size:1rem;line-height:1.8;max-width:360px;
}
.fe-service-explorer{grid-column:1/-1;min-width:0;width:100%;margin-top:48px}
.fe-section>.fe-service-explorer:first-child{margin-top:0}
.fe-explorer-tabs{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #aabab5;
 border-bottom:1px solid #aabab5;gap:0;
}
.fe-explorer-tab{
 display:grid;grid-template-columns:25px minmax(0,1fr) 18px;gap:14px;align-items:center;
 min-height:105px;padding:24px 28px;color:var(--fe-navy);text-decoration:none;
 font:500 1rem/1.4 var(--fe-font-sans);position:relative;background:transparent;
}
.fe-explorer-tab+.fe-explorer-tab{border-left:1px solid #c9d2cb}
.fe-tab-number{font:400 .69rem/1.5 ui-monospace,Consolas,monospace;color:#61736e;align-self:start;margin-top:4px}
.fe-tab-arrow{color:#8b681f;font-size:1.1rem}
.fe-explorer-tab::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--fe-gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.fe-explorer-tab:hover{background:#e5eae2}
.fe-explorer-tab[aria-selected=true]{background:#082f42;color:#fff}
.fe-explorer-tab[aria-selected=true] .fe-tab-number,.fe-explorer-tab[aria-selected=true] .fe-tab-arrow{color:#e6c47f}
.fe-explorer-tab[aria-selected=true]::after{transform:scaleX(1)}
.fe-service-explorer .fe-service-grid{display:grid!important;grid-template-columns:1fr;gap:20px!important;border:0;margin:24px 0 0}
.fe-service-explorer .fe-service-card,.fe-service-explorer .fe-service-card+.fe-service-card{
 display:flex;flex-direction:column;align-items:start;justify-content:center;
 min-height:490px;position:relative;isolation:isolate;padding:55px 52% 55px 50px!important;
 border:0;border-radius:0;background:#e7ece2;box-shadow:none;overflow:hidden;
}
.fe-service-explorer .fe-service-card[hidden]{display:none!important}
.fe-service-explorer .fe-service-card::before{
 display:block;content:"";position:absolute;inset:0 0 0 52%;height:auto;
 background:linear-gradient(140deg,#0a4e5b,#082f42);transform:none;z-index:-1;
}
.fe-service-explorer .fe-service-card::after{
 content:"";position:absolute;inset:25px 20px 25px 53%;z-index:-1;
 background:url("capability-policy.svg") center/contain no-repeat;pointer-events:none;
}
.fe-service-explorer .fe-service-card:nth-child(2)::after{background-image:url("capability-digital.svg")}
.fe-service-explorer .fe-service-card:nth-child(3)::after{background-image:url("capability-research.svg")}
.fe-service-explorer .fe-service-card .fe-number{
 font:400 .7rem/1.5 ui-monospace,Consolas,monospace!important;letter-spacing:.12em;
 border:1px solid #b9c6b9;padding:8px 12px;margin:0 0 30px!important;color:#34554e;
}
.fe-service-explorer .fe-service-card h3{
 font:500 clamp(2rem,3vw,2.9rem)/1.12 var(--fe-font-sans);letter-spacing:-.045em;
 max-width:520px;min-height:0;margin:0 0 24px!important;
}
.fe-service-explorer .fe-service-card p:not(.fe-number):not(.fe-card-link){
 font-size:1rem;line-height:1.8;color:#3c595e;max-width:470px;margin:0!important;
}
.fe-service-explorer .fe-service-card .fe-card-link{margin:30px 0 0!important;align-self:start}
.fe-service-explorer .fe-card-link a{font-size:.86rem;gap:25px}
.fe-service-explorer .fe-card-link a span{width:40px;height:40px;background:#fff;border:0}
.fe-service-explorer .fe-service-card:hover,.fe-service-explorer .fe-service-card.fe-revealed:hover{transform:none;background:#e7ece2}
.fe-service-explorer .fe-service-card{scroll-margin-top:125px}
.fe-service-explorer .fe-service-card:focus-visible{outline-offset:-5px}
/* Inner pages get a split introduction, not a smaller copy of the homepage. */
.fe-page-hero{background:#082f42;border:0;padding:70px 0 72px}
.fe-page-hero>.fe-container{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr);gap:28px 80px;align-items:end}
.fe-page-hero .fe-eyebrow{grid-column:1/-1;color:#e4c789;margin:0!important}
.fe-page-hero h1{
 grid-column:1;font:500 clamp(2.8rem,4.8vw,4.7rem)/1.08 var(--fe-font-sans);
 letter-spacing:-.055em;margin:0;max-width:900px;color:#f7f8f1;
}
.fe-page-hero .fe-lead{grid-column:2;font-size:1rem;line-height:1.75;color:#ccdcde;margin:0 0 3px;border-left:1px solid #c09a52;padding-left:24px}
.fe-page-hero::before{background:url("system-field.svg") center/contain no-repeat;right:-100px;top:-100px;width:560px;height:560px;transform:none;opacity:.16}
.fe-page-body{padding-block:75px}
.fe-page-body h2{font-family:var(--fe-font-sans);font-size:2.25rem;line-height:1.2;letter-spacing:-.04em;font-weight:500}
.fe-page-body .fe-sidebar{background:#e8ece4;padding:30px;border-top:3px solid #b88a35}
/* The native editor shows all capability panels; interactive controls are frontend-only. */
.editor-styles-wrapper .fe-hero{min-height:700px}
.editor-styles-wrapper .fe-hero>.wp-block-columns{display:contents!important}
.editor-styles-wrapper .fe-hero-visual{inset:0}
@media(prefers-reduced-motion:no-preference){
 .fe-hero-visual figure img{animation:fe-architecture-in 2.2s ease-out both}
 .fe-hero-visual::before{animation:fe-system-in 2s ease-out both}
 .fe-service-explorer.is-interactive .fe-service-card:not([hidden]){animation:fe-panel-in .38s ease-out both}
}
@keyframes fe-architecture-in{from{transform:scale(1.045)}to{transform:scale(1)}}
@keyframes fe-system-in{from{opacity:0;transform:translateX(20px)}to{opacity:var(--fe-system-opacity,.9);transform:none}}
@keyframes fe-panel-in{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1199px){
 .fe-hero{min-height:730px;padding-top:75px}
 .fe-hero>.wp-block-columns>.wp-block-column:first-child{width:calc(100% - 80px)}
 .fe-hero h1{font-size:clamp(4rem,7.2vw,5.8rem);max-width:950px}
 .fe-hero-caption{right:40px}
 .fe-container.fe-section:has(>.fe-service-explorer){gap:0 50px}
 .fe-explorer-tab{padding:22px 19px;font-size:.88rem;gap:10px;grid-template-columns:21px minmax(0,1fr) 15px}
 .fe-service-explorer .fe-service-card,.fe-service-explorer .fe-service-card+.fe-service-card{padding:40px 52% 40px 32px!important;min-height:460px}
 .fe-service-explorer .fe-service-card h3{font-size:2.3rem}
 .fe-page-hero>.fe-container{gap:28px 45px}
}
@media(max-width:900px){
 .fe-hero>.wp-block-columns>.wp-block-column:first-child{width:calc(100% - 64px)}
 .fe-hero h1{font-size:4.4rem;max-width:730px}
 .fe-hero .fe-lead{max-width:510px}.fe-hero-visual::before{width:44%;--fe-system-opacity:.5;opacity:var(--fe-system-opacity)}
 .fe-explorer-tab{min-height:118px;font-size:.82rem}
 .fe-service-explorer .fe-service-card h3{font-size:2.05rem}
 .fe-service-explorer .fe-service-card p:not(.fe-number):not(.fe-card-link){font-size:.94rem}
}
@media(max-width:781px){
 .fe-hero{padding:55px 0 133px;min-height:720px}
 .fe-hero>.wp-block-columns>.wp-block-column:first-child{width:calc(100% - 40px)}
 .fe-hero h1{font-size:clamp(3.15rem,9.6vw,4.7rem);line-height:1.03;letter-spacing:-.055em;max-width:650px;margin-bottom:30px}
 .fe-hero .fe-eyebrow{font-size:.59rem!important;letter-spacing:.09em;margin-bottom:32px!important;max-width:350px}
 .fe-hero .fe-lead{font-size:.98rem;max-width:510px;line-height:1.8}
 .fe-hero .wp-block-buttons{margin-top:30px;gap:22px}
 .fe-hero .wp-block-button__link{font-size:.85rem;padding:17px 20px}
 .fe-hero .wp-block-button.is-style-outline .wp-block-button__link{font-size:.85rem}
 .fe-hero-visual figure img{object-position:67% center}
 .fe-hero-visual figure::after{background:linear-gradient(90deg,#062938ed,#062938b0),linear-gradient(0deg,#062938c0,transparent)}
 .fe-hero-visual::before{inset:auto -50px 0 auto;width:250px;height:400px;--fe-system-opacity:.3;opacity:var(--fe-system-opacity)}
 .fe-hero-visual::after{inset:14px;border-color:#e6c47f20}
 .fe-hero-caption{right:20px;left:20px;bottom:35px;font-size:1.3rem;max-width:none}
 .fe-context-bar{padding:28px 0}.fe-context-bar .wp-block-columns{gap:13px}
 .fe-context-bar p{font-size:.94rem}
 .fe-container.fe-section:has(>.fe-service-explorer){display:block;padding-block:64px}
 .fe-container.fe-section:has(>.fe-service-explorer)>h2{font-size:2.65rem;line-height:1.09;margin-bottom:25px}
 .fe-container.fe-section:has(>.fe-service-explorer)>.fe-section-intro{font-size:.95rem;max-width:570px}
 .fe-service-explorer{margin-top:34px}
 .fe-explorer-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
 .fe-explorer-tab{display:flex;flex-direction:column;align-items:start;justify-content:start;gap:9px;padding:16px 12px;min-height:134px;font-size:.72rem;line-height:1.4}
 .fe-tab-number{font-size:.64rem;margin:0}.fe-tab-arrow{display:none}
 .fe-service-explorer .fe-service-card,.fe-service-explorer .fe-service-card+.fe-service-card{
  display:flex;min-height:0;padding:30px 25px 290px!important;justify-content:start;
 }
 .fe-service-explorer .fe-service-card::before{inset:auto 0 0;height:255px}
 .fe-service-explorer .fe-service-card::after{inset:auto 10px 5px;height:245px}
 .fe-service-explorer .fe-service-card .fe-number{margin-bottom:22px!important}
 .fe-service-explorer .fe-service-card h3{font-size:2.12rem;max-width:600px}
 .fe-service-explorer .fe-service-card p:not(.fe-number):not(.fe-card-link){font-size:.94rem;max-width:560px}
 .fe-service-explorer .fe-service-card .fe-card-link{margin-top:24px!important}
 .fe-service-explorer .fe-service-card{scroll-margin-top:100px}
 .fe-page-hero{padding-block:50px}.fe-page-hero>.fe-container{display:block}
 .fe-page-hero h1{font-size:clamp(2.6rem,8.6vw,4rem);margin:24px 0 30px}
 .fe-page-hero .fe-lead{font-size:.95rem;padding-left:18px;max-width:650px}
 .fe-page-hero::before{right:-190px;opacity:.13}
 .fe-page-body h2{font-size:1.95rem}
}
@media(max-width:360px){
 .fe-hero h1{font-size:2.85rem}.fe-hero .fe-eyebrow{font-size:.52rem!important}
 .fe-hero .wp-block-buttons{gap:19px}
 .fe-hero .wp-block-button__link{padding:16px;font-size:.8rem}
 .fe-hero .wp-block-button.is-style-outline .wp-block-button__link{font-size:.8rem}
 .fe-explorer-tab{padding-inline:9px;font-size:.65rem;min-height:130px}
 .fe-service-explorer .fe-service-card,.fe-service-explorer .fe-service-card+.fe-service-card{padding-inline:22px!important}
}
@media(prefers-reduced-motion:reduce){.fe-hero-visual figure img,.fe-hero-visual::before,.fe-service-explorer.is-interactive .fe-service-card{animation:none!important;transform:none!important}}
@media print{.fe-hero{min-height:0;background:white;padding:30px 0}.fe-hero-visual{display:none}.fe-hero h1,.fe-hero .fe-lead{color:#082f42}.fe-explorer-tabs{display:none}.fe-service-explorer .fe-service-card[hidden]{display:flex!important}.fe-service-explorer .fe-service-card{break-inside:avoid}}
