/* PlanGuard B5 — airy architecture, generous type, image-led interactions.
   Loaded after pg-v4.css. All new rules are scoped to the B5 body. */

/* Foundation */
body.pg-b5{
 --pg-ink:#151719;--pg-deep:#152936;--pg-paper:#fff;--pg-white:#fff;
 --pg-gold:#151719;--pg-muted:#626669;--pg-line:#dce0e1;
 --navy:#152936;--ink:#151719;--paper:#fff;--gold:#151719;--muted:#626669;--line:#dce0e1;
 --b5-soft:#f3f4f3;--b5-radius:32px;--b5-ease:cubic-bezier(.2,.7,.2,1);
 margin:0;background:#fff;color:var(--pg-ink);font-family:'Geist',Arial,sans-serif;
 font-size:19px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
body.pg-b5 *,body.pg-b5 *::before,body.pg-b5 *::after{box-sizing:border-box}
body.pg-b5 [hidden]{display:none!important}
body.pg-b5 :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,summary,small,span,strong,figcaption,li,dt,dd){font-family:'Geist',Arial,sans-serif}
body.pg-b5 :is(h1,h2,h3,h4){font-weight:600;letter-spacing:-.045em;text-transform:none;text-wrap:balance}
body.pg-b5 h1{font-size:clamp(48px,6.3vw,88px);line-height:1.01}
body.pg-b5 h2{font-size:clamp(38px,4.45vw,64px);line-height:1.08}
body.pg-b5 h3{font-size:30px;line-height:1.16;letter-spacing:-.035em}
body.pg-b5 p{max-width:none}
body.pg-b5 main p,body.pg-b5 main li,body.pg-b5 main dd{font-size:19px!important;line-height:1.65}
body.pg-b5 .wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}
body.pg-b5 main .eyebrow,body.pg-b5 main p.eyebrow,body.pg-b5 .eyebrow{font-size:14px!important;line-height:1.5;font-weight:500;letter-spacing:.075em;text-transform:uppercase;color:#63686b;margin:0 0 22px}
body.pg-b5 main p.fine,body.pg-b5 main p.pg-role-note,body.pg-b5 main p.pg-image-note,body.pg-b5 main p.pg-local-note{font-size:16px!important;line-height:1.65}
body.pg-b5 :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #48728a;outline-offset:5px}
body.pg-b5 a{text-decoration:none}
body.pg-b5 button,body.pg-b5 a{-webkit-tap-highlight-color:transparent}
body.pg-b5 img{display:block;max-width:100%}
body.pg-b5 figure{margin:0}
body.pg-b5 .b5-word{display:inline-block}
body.pg-b5 .pg-reading-progress{height:3px;background:#1d3444}
body.pg-b5 .pg-mep-hero h1,body.pg-b5 .page-intro .display-title{animation:none}

/* Clear, light navigation */
body.pg-b5 .pg-header{position:sticky;top:0;z-index:80;background:#fff;color:#151719;border:0;box-shadow:0 1px 0 #1517190d}
body.pg-b5 .pg-header-inner{width:min(1440px,calc(100% - 64px));min-height:96px;gap:26px}
body.pg-b5 .pg-brand{gap:11px;color:inherit;min-width:0}
body.pg-b5 .pg-brand img{width:39px;height:48px;flex:none}
body.pg-b5 .pg-brand>span{font-family:'Geist',Arial,sans-serif;font-size:24px;line-height:1.1;letter-spacing:-.035em;font-weight:600}
body.pg-b5 .pg-brand small{font-size:14px;letter-spacing:0;line-height:1.2;margin-top:5px;max-width:none;font-weight:400}
body.pg-b5 .pg-navigation{display:flex;align-items:center;gap:24px;margin-left:auto;background:transparent}
body.pg-b5 .pg-navigation a{font-size:16px;font-weight:400;letter-spacing:-.02em;text-transform:none;color:#272b2e;padding:12px 0;white-space:nowrap;transition:color .25s}
body.pg-b5 .pg-navigation a:hover{color:#5d798a}
body.pg-b5 .pg-navigation .pg-lang{color:#151719!important}
body.pg-b5 .pg-header-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:15px;min-height:50px;padding:8px 9px 8px 21px;border:1px solid #151719;border-radius:999px;background:#151719;color:#fff;font-size:15px;line-height:1.25;white-space:nowrap;transition:background .25s,transform .3s var(--b5-ease)}
body.pg-b5 .pg-header-cta:hover{background:#29414e;transform:translateY(-2px)}
body.pg-b5 .pg-header-cta>span[aria-hidden]{width:32px;height:32px;display:grid;place-items:center;flex:none;border-radius:50%;color:#151719;background:#fff;font-size:22px;line-height:1}
body.pg-b5 .menu-toggle{display:none;border:1px solid #d4d9db;border-radius:999px;padding:10px 14px;color:#151719;background:#fff;font-size:16px}

/* Pills and text actions */
body.pg-b5 .button,body.pg-b5 .b5-pill{
 display:inline-flex;align-items:center;justify-content:space-between;gap:22px;
 padding:9px 10px 9px 24px;min-height:58px;max-width:100%;border-radius:999px;
 font-size:16px!important;font-weight:500;line-height:1.35;letter-spacing:-.015em;
 white-space:normal;text-transform:none;box-shadow:none;text-align:left;
 border:1px solid #171b1d;background:#171b1d;color:#fff;
 transition:transform .35s var(--b5-ease),background .3s,border-color .3s,color .3s;
}
body.pg-b5 .button:is(.button-gold,.gold,.primary),body.pg-b5 .b5-pill{background:#171b1d;border-color:#171b1d;color:#fff}
body.pg-b5 .button:is(.button-outline,.outline){background:#fff;border-color:#d6dadc;color:#151719}
body.pg-b5 .button>span[aria-hidden],body.pg-b5 .b5-pill>span[aria-hidden]{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#fff;color:#151719;font-size:25px;font-weight:400;line-height:1;transition:transform .4s var(--b5-ease)}
body.pg-b5 .button:is(.button-outline,.outline)>span[aria-hidden]{background:#151719;color:#fff}
body.pg-b5 .button:hover,body.pg-b5 .b5-pill:hover{transform:translateY(-3px);background:#314a58;border-color:#314a58;color:#fff}
body.pg-b5 .button:hover>span[aria-hidden],body.pg-b5 .b5-pill:hover>span[aria-hidden]{transform:rotate(45deg)}
body.pg-b5 .pg-text-link{font-size:17px;font-weight:500;letter-spacing:-.02em;line-height:1.45;gap:24px;padding:8px 0;border-bottom:1px solid #b6bfc3;color:inherit;transition:gap .3s var(--b5-ease)}
body.pg-b5 .pg-text-link:hover{gap:32px}
body.pg-b5 .pg-text-link>span{font-size:24px}

/* Image-led home hero */
body.pg-b5 .b5-hero{position:relative;isolation:isolate;overflow:hidden;width:min(1440px,calc(100% - 48px));min-height:780px;margin:8px auto 0;border-radius:32px;background:#253843;color:#fff;display:flex;flex-direction:column;justify-content:space-between}
body.pg-b5 .b5-hero-image{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover;object-position:50% 50%;margin:0}
body.pg-b5 figure.b5-hero-image>img,body.pg-b5 .b5-hero-image>picture,body.pg-b5 .b5-hero-image>picture>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
body.pg-b5 .b5-hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(10,24,29,.78) 0%,rgba(10,24,29,.4) 53%,rgba(10,24,29,.04) 100%),linear-gradient(0deg,rgba(10,24,29,.67) 0%,transparent 42%)}
body.pg-b5 .b5-hero-content{width:min(920px,100%);padding:70px 64px 45px;position:relative}
body.pg-b5 .b5-hero-content .eyebrow,body.pg-b5 .b5-hero .eyebrow{color:#fff!important;margin-bottom:26px;font-size:14px!important;letter-spacing:.09em}
body.pg-b5 .b5-hero h1{font-size:clamp(58px,5.9vw,84px);font-weight:600;line-height:1;letter-spacing:-.055em;margin:0 0 30px;color:#fff;max-width:810px;text-wrap:balance}
body.pg-b5 .b5-hero h1>span{color:inherit}
body.pg-b5 .b5-hero-content>p:not(.eyebrow),body.pg-b5 .b5-hero-content .pg-hero-lead{font-size:21px!important;line-height:1.55;max-width:660px!important;margin:0 0 30px;color:#f4f6f6}
body.pg-b5 .b5-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:32px}
body.pg-b5 .b5-hero .button,body.pg-b5 .b5-hero .b5-pill{background:#fff;color:#151719;border-color:#fff}
body.pg-b5 .b5-hero .button>span[aria-hidden],body.pg-b5 .b5-hero .b5-pill>span[aria-hidden]{background:#151719;color:#fff}
body.pg-b5 .b5-hero .button:is(.button-outline,.outline){background:#ffffff0d;border-color:#ffffff90;color:#fff;backdrop-filter:blur(6px)}
body.pg-b5 .b5-hero .button:is(.button-outline,.outline)>span[aria-hidden]{background:#fff;color:#151719}
body.pg-b5 .b5-hero .button:hover,body.pg-b5 .b5-hero .b5-pill:hover{background:#e9eeee;color:#151719;border-color:#e9eeee}
body.pg-b5 .b5-hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:30px 64px 38px;position:relative;color:#fff;border-top:1px solid #ffffff40;margin:0 64px;padding-inline:0}
body.pg-b5 .b5-hero-bottom p{font-size:16px!important;line-height:1.5;margin:0;max-width:490px!important}
body.pg-b5 .b5-hero-bottom small,body.pg-b5 .b5-hero-bottom figcaption{display:block;font-size:14px;line-height:1.5;color:#ecf0f1;margin-top:6px;max-width:500px}
body.pg-b5 .b5-hero-bottom a{display:inline-flex;align-items:center;gap:24px;font-size:16px;line-height:1.5;color:#fff;flex:none}
body.pg-b5 .b5-hero-bottom a>span[aria-hidden]{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff80;border-radius:50%;font-size:26px}

/* Generous section headings */
body.pg-b5 .b5-section{padding-block:100px}
body.pg-b5 .pg-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:56px;margin:0 0 48px}
body.pg-b5 .b5-section-head{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,.8fr);align-items:end;gap:0 56px;margin:0 0 48px}
body.pg-b5 .b5-section-head>.eyebrow{grid-column:1/-1}
body.pg-b5 .b5-section-head>h2{grid-column:1}
body.pg-b5 .b5-section-head>p:not(.eyebrow){grid-column:2}
body.pg-b5 .b5-section-head>div{min-width:0;max-width:800px}
body.pg-b5 .b5-section-head h2,body.pg-b5 .pg-section-heading h2{font-size:clamp(38px,4.1vw,60px)!important;line-height:1.08;letter-spacing:-.045em;margin:0;text-transform:none}
body.pg-b5 .b5-section-head>p:not(.eyebrow),body.pg-b5 .pg-section-heading>p{flex:0 1 390px;max-width:390px!important;font-size:19px!important;line-height:1.65;color:#62676a;margin:0 0 3px}
body.pg-b5 .b5-section-head .eyebrow,body.pg-b5 .pg-section-heading .eyebrow{margin-bottom:18px}
body.pg-b5 .b5-section-head>.button,body.pg-b5 .b5-section-head>.pg-text-link{flex-shrink:0}

/* The expanding service deck */
body.pg-b5 .b5-services{display:flex;align-items:stretch;gap:16px;margin-top:42px}
body.pg-b5 .b5-service{position:relative;isolation:isolate;flex:.65 1 0;min-width:0;min-height:555px;padding:28px;border-radius:28px;background:#f0f2f2;overflow:hidden;transition:flex .75s var(--b5-ease),background .45s}
body.pg-b5 .b5-service.is-active{flex:2.5 1 0;background:#f0f2f2}
body.pg-b5 .b5-service-toggle{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;width:100%;padding:0;border:0;background:none;color:#171b1d;text-align:left;font-family:'Geist',Arial,sans-serif;font-size:34px;line-height:1.12;font-weight:500;letter-spacing:-.045em;cursor:pointer}
body.pg-b5 .b5-service-toggle h3{font:inherit;margin:0}
body.pg-b5 .b5-service-number{font-size:14px;line-height:1.5;letter-spacing:0;color:#71808a;padding-top:4px;flex:none}
body.pg-b5 .b5-service-title{flex:1;min-width:0}
body.pg-b5 .b5-service:not(.is-active) .b5-service-toggle>.b5-service-number{writing-mode:horizontal-tb;transform:none;flex:none}
body.pg-b5 .b5-service:not(.is-active) .b5-service-toggle>.b5-service-title{flex:1;align-self:center}
body.pg-b5 .b5-service-toggle>span[aria-hidden],body.pg-b5 .b5-service-toggle>.b5-service-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:1px solid #c8d0d3;border-radius:50%;font-size:26px;line-height:1;transition:transform .45s var(--b5-ease),background .3s,color .3s}
body.pg-b5 .b5-service.is-active .b5-service-toggle>span[aria-hidden],body.pg-b5 .b5-service.is-active .b5-service-toggle>.b5-service-icon{background:#171b1d;color:#fff;border-color:#171b1d;transform:rotate(45deg)}
body.pg-b5 .b5-service:not(.is-active) .b5-service-toggle{height:100%;flex-direction:column;justify-content:space-between;gap:36px}
body.pg-b5 .b5-service:not(.is-active) .b5-service-toggle>.b5-service-title,body.pg-b5 .b5-service:not(.is-active) .b5-service-toggle h3{writing-mode:vertical-rl;transform:rotate(180deg);text-wrap:nowrap}
body.pg-b5 .b5-service-body{position:relative;z-index:1;width:47%;padding-top:43px}
body.pg-b5 .b5-service-body p{font-size:19px!important;line-height:1.6;margin:0 0 28px;color:#515a5f}
body.pg-b5 .b5-service-body .button{font-size:16px!important;gap:16px;padding-left:19px}
body.pg-b5 .b5-service-media{position:absolute;right:22px;top:111px;bottom:22px;width:45%;border-radius:20px;overflow:hidden;background:#d4dde0}
body.pg-b5 .b5-service-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--b5-ease)}
body.pg-b5 .b5-service:hover .b5-service-media img{transform:scale(1.035)}
body.pg-b5 .b5-service-media figcaption{position:absolute;left:16px;right:16px;bottom:14px;color:#fff;font-size:14px;line-height:1.4;text-shadow:0 1px 8px #000}
body.pg-b5 .b5-service.is-active .b5-service-body:not([hidden]),body.pg-b5 .b5-service.is-active .b5-service-media:not([hidden]){display:block}

/* Case resolution feature */
body.pg-b5 .b5-code-spot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:70px;padding-block:100px}
body.pg-b5 .b5-code-spot>div:not(.b5-spot-image){padding:22px 0;align-self:center}
body.pg-b5 .b5-code-spot h2{font-size:clamp(40px,4.35vw,64px)!important;line-height:1.08;margin:0 0 28px;letter-spacing:-.045em}
body.pg-b5 .b5-code-spot h2 em{font-style:normal;color:inherit}
body.pg-b5 .b5-code-spot p:not(.eyebrow){color:#62676a;max-width:570px!important}
body.pg-b5 .b5-code-spot .button{margin-top:15px}
body.pg-b5 .b5-spot-image{position:relative;min-width:0;min-height:590px;border-radius:32px;overflow:hidden;background:#e4e7e5}
body.pg-b5 .b5-spot-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
body.pg-b5 .b5-spot-image figcaption{position:absolute;bottom:22px;left:24px;right:24px;z-index:1;font-size:14px;line-height:1.5;color:#fff;text-shadow:0 1px 8px #000}
body.pg-b5 .b5-spot-image::after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#101e28a0)}
body.pg-b5 .b5-code-spot .pg-inline-es{font-size:16px;color:#405866;margin-top:21px}
body.pg-b5 .b5-code-spot .pg-ruled-list li{border-color:#dce0e1;gap:16px;padding:16px 0;font-size:18px!important}
body.pg-b5 .b5-code-spot .pg-ruled-list span{font-size:14px;color:#6b767e}

/* The collaboration has a distinct place, with explicit firm roles. */
body.pg-b5 .b5-partner-section{width:min(1440px,calc(100% - 48px));margin:0 auto;padding:85px 0;background:#152936;color:#fff;border-radius:32px}
body.pg-b5 .b5-partner-section>.wrap{width:calc(100% - 104px);max-width:1320px}
body.pg-b5 .b5-partner-section .b5-section-head h2,body.pg-b5 .b5-partner-section .pg-section-heading h2{color:#fff}
body.pg-b5 .b5-partner-section .b5-section-head>p,body.pg-b5 .b5-partner-section .pg-section-heading>p{color:#c4d0d7}
body.pg-b5 .b5-partner-section .eyebrow{color:#cad5dc!important}
body.pg-b5 .pg-partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:38px}
body.pg-b5 .pg-partner-card{padding:36px;border-radius:24px;border:0;background:#fff;color:#151719;box-shadow:none}
body.pg-b5 .pg-partner-card .eyebrow{color:#657179!important;font-size:14px!important;line-height:1.55;margin-bottom:25px}
body.pg-b5 .pg-partner-card h3{font-size:36px!important;font-weight:500;letter-spacing:-.045em;line-height:1.12;margin:0 0 23px}
body.pg-b5 .pg-partner-card p:not(.eyebrow){font-size:18px!important;line-height:1.65;color:#60696f}
body.pg-b5 .pg-partner-card p+p{margin-top:17px}
body.pg-b5 .b5-partner-section>.wrap>p.pg-role-note{color:#c8d2d9;margin-top:26px!important;max-width:1050px!important}
body.pg-b5 .b5-partner-section .button{background:#fff;color:#152936;border-color:#fff;margin-top:25px}
body.pg-b5 .b5-partner-section .button>span[aria-hidden]{background:#152936;color:#fff}
body.pg-b5 .b5-partner-section .pg-text-link{color:#fff}

/* Systems explorer */
body.pg-b5 .b5-engineering-explorer,body.pg-b5 .pg-engineering{padding:100px 0;background:#fff;color:#151719}
body.pg-b5 .pg-engineering-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:60px;background:#fff;align-items:stretch}
body.pg-b5 .pg-systems-visual{display:flex;flex-direction:column;justify-content:space-between;min-height:560px;padding:28px 28px 24px;background:#edf1f2;border:0;border-radius:28px;color:#243f50;overflow:hidden}
body.pg-b5 .pg-systems-visual svg{display:block;width:100%;max-width:100%;height:auto;flex:1 1 auto;max-height:445px;color:#324f60}
body.pg-b5 .pg-system-caption{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:15px;color:#546976;font-size:14px;line-height:1.5;letter-spacing:.015em}
body.pg-b5 .pg-system-status{color:#233f50;font-weight:600}
body.pg-b5 .pg-systems-visual [data-system]{color:#607a89;opacity:.12;transition:opacity .5s,color .5s}
body.pg-b5 .pg-systems-visual [data-system].is-active{color:#174962;opacity:1}
body.pg-b5 .pg-systems-visual figcaption{position:static;background:none;color:#5e707a;padding:0;margin-top:14px;font-size:16px;line-height:1.5;letter-spacing:0}
body.pg-b5 .pg-systems-visual figcaption small{display:block;font-size:14px;line-height:1.5;margin-top:7px;color:#6d7e88}
body.pg-b5 .pg-disciplines{padding-top:6px;min-width:0}
body.pg-b5 .pg-tablist{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 24px;border-bottom:1px solid #dde2e4}
body.pg-b5 .pg-tablist button{padding:10px 14px;border:1px solid #d5dce0;border-radius:999px;background:#fff;color:#5c6870;font-size:14px;line-height:1.3;font-weight:500;letter-spacing:0;transition:background .25s,color .25s,border-color .25s}
body.pg-b5 .pg-tablist button[aria-selected=true]{background:#152936;border-color:#152936;color:#fff;font-weight:500}
body.pg-b5 .pg-tablist button:hover{background:#edf1f2;color:#152936}
body.pg-b5 #pg-discipline-panel{position:relative;min-height:300px;padding-top:38px;isolation:isolate}
body.pg-b5 #pg-discipline-panel h3{position:relative;z-index:1;font-size:38px!important;line-height:1.1;max-width:430px;margin:0 0 24px;letter-spacing:-.045em}
body.pg-b5 #pg-discipline-panel p{max-width:490px!important;color:#5d6970;font-size:19px!important;line-height:1.65;margin-top:0}
body.pg-b5 .pg-discipline-letter{top:22px;right:0;font-family:'Geist',Arial,sans-serif;font-size:115px;font-weight:500;line-height:1;letter-spacing:-.08em;color:#e9edef;z-index:-1}
body.pg-b5 .pg-disciplines .pg-role-note{color:#68747a}
body.pg-b5 .pg-disciplines>.pg-text-link{font-size:17px;margin-top:20px}
body.pg-b5 .pg-partner-lead{border:1px solid #dce3e6;border-radius:24px;background:#f4f6f6;padding:28px 32px;margin-top:40px;color:#152936}
body.pg-b5 .pg-partner-lead>strong{font-family:'Geist',Arial,sans-serif;font-size:27px;font-weight:500;letter-spacing:-.025em}
body.pg-b5 .pg-partner-lead p{color:#5a6870}

/* Horizontal portfolio */
body.pg-b5 .b5-work{padding:100px 0;background:#f5f6f5;overflow:hidden}
body.pg-b5 .b5-work-track{display:flex;gap:26px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-padding-inline:0;padding:0 0 22px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#96a5ac transparent}
body.pg-b5 .b5-work-card{display:block;position:relative;min-width:0;flex:0 0 min(650px,45vw);scroll-snap-align:start;color:#151719}
body.pg-b5 .b5-work-card img{width:100%;height:430px;object-fit:cover;border-radius:28px;transition:filter .4s,transform .7s var(--b5-ease)}
body.pg-b5 .b5-work-card:hover img{filter:brightness(1.06)}
body.pg-b5 .b5-work-card>span,body.pg-b5 .b5-work-card figcaption,body.pg-b5 .b5-work-card>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0 7px;font-size:21px;line-height:1.4;font-weight:500;letter-spacing:-.025em}
body.pg-b5 .b5-work-card h3{margin:0;font-size:25px;font-weight:500}
body.pg-b5 .b5-work-card>span>span[aria-hidden]{font-size:26px}
body.pg-b5 .b5-work-controls{display:flex;gap:10px;align-items:center;flex:none}
body.pg-b5 .b5-work-controls button{display:grid;place-items:center;width:50px;height:50px;padding:0;border:1px solid #cbd3d7;border-radius:50%;background:#fff;color:#151719;font-size:25px;line-height:1;cursor:pointer;transition:background .25s,color .25s,transform .3s}
body.pg-b5 .b5-work-controls button:hover{background:#152936;color:#fff;transform:translateY(-2px)}
body.pg-b5 .b5-work-controls button:disabled{opacity:.35;cursor:default;transform:none}
body.pg-b5 .b5-work .pg-image-note{color:#69757c;margin-top:20px}

/* Existing routes, brought into the same visual system */
body.pg-b5 .page-hero{padding:78px 0 65px;background:#f4f6f6;border:0}
body.pg-b5 .page-hero h1{font-size:clamp(45px,5.8vw,80px);line-height:1.04;letter-spacing:-.05em}
body.pg-b5 .page-hero p.lead,body.pg-b5 .page-intro p.intro-copy{font-size:21px!important;line-height:1.6}
body.pg-b5 .breadcrumb{font-size:14px;color:#68747b}
body.pg-b5 .section{padding:88px 0}
body.pg-b5 .section .wrap{max-width:1320px}
body.pg-b5 .section p{color:#5f696f}
body.pg-b5 .section h2{margin-bottom:25px}
body.pg-b5 .section h3{margin-bottom:16px}
body.pg-b5 .split-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:70px}
body.pg-b5 .page-intro,body.pg-b5 .pg-mep-hero{width:min(1440px,calc(100% - 48px));margin:8px auto 0;padding:76px 0;background:#172d3a;color:#fff;border-radius:32px;overflow:hidden}
body.pg-b5 .page-intro>.wrap,body.pg-b5 .pg-mep-hero>.wrap{width:calc(100% - 112px);max-width:1300px}
body.pg-b5 .page-intro>.wrap{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);gap:0 68px}
body.pg-b5 .page-intro .display-title{font-size:clamp(44px,5vw,70px);line-height:1.06;letter-spacing:-.05em;text-transform:none;margin:0}
body.pg-b5 .page-intro .eyebrow,body.pg-b5 .pg-mep-hero .eyebrow{color:#d4dfe5!important}
body.pg-b5 .page-intro p.intro-copy{color:#d5dfe4;margin:28px 0;max-width:660px!important}
body.pg-b5 .page-intro>.wrap>p:not(.eyebrow):not(.intro-copy){font-size:16px!important;color:#c1d0d9}
body.pg-b5 .page-intro .button,body.pg-b5 .pg-mep-hero .button{background:#fff;color:#152936;border-color:#fff}
body.pg-b5 .page-intro .button>span[aria-hidden],body.pg-b5 .pg-mep-hero .button>span[aria-hidden]{background:#152936;color:#fff}
body.pg-b5 .pg-appointment-plate{padding:32px;background:#fff;color:#172d3a;border:0;border-radius:26px;box-shadow:none;transform:none}
body.pg-b5 .pg-plate-label{font-size:14px;line-height:1.5;letter-spacing:.05em;border-color:#dce3e6}
body.pg-b5 .pg-plate-number{font-family:'Geist',Arial,sans-serif;font-size:110px;line-height:1;letter-spacing:-.075em;margin:24px 0}
body.pg-b5 .pg-plate-number>span{font-size:18px;letter-spacing:0}
body.pg-b5 .pg-appointment-plate h2{font-size:34px!important;line-height:1.15;letter-spacing:-.04em}
body.pg-b5 .pg-plate-lines{font-size:14px;line-height:1.5;letter-spacing:.01em;border-color:#dce3e6}
body.pg-b5 .pg-appointment-plate>p{font-size:16px!important;color:#617079}
body.pg-b5 .step-list{gap:35px;margin-top:40px}
body.pg-b5 .step-list li{padding-top:24px;border-color:#d9e0e3}
body.pg-b5 .step-list li::before{font-size:16px;color:#798890;margin-bottom:30px}
body.pg-b5 .step-list h3{font-size:28px;line-height:1.2}
body.pg-b5 .booking-panel{padding:52px!important;background:#f0f3f4;border-radius:28px}
body.pg-b5 .faq-list summary{font-size:21px;font-weight:500;letter-spacing:-.025em;line-height:1.4}
body.pg-b5 .faq-list details{padding:24px 0;border-color:#dce2e5}
body.pg-b5 .pg-mep-hero h1{font-size:clamp(46px,5.6vw,80px);line-height:1.05;letter-spacing:-.05em;text-transform:none;max-width:1220px}
body.pg-b5 .pg-mep-hero h1 span{color:#bcced9}
body.pg-b5 .pg-mep-hero-bottom{gap:60px;margin-top:40px}
body.pg-b5 .pg-mep-hero-bottom>p{font-size:21px!important;color:#d1dde4;line-height:1.6;max-width:770px!important}
body.pg-b5 .pg-mep-scope{color:#c5d5df;border-color:#506672;margin-top:35px;font-size:16px!important;letter-spacing:.02em}
body.pg-b5 .pg-mep-image img{border-radius:24px;height:370px}
body.pg-b5 .pg-mep-image figcaption{font-size:14px;color:#68777f;margin-top:10px}
body.pg-b5 .pg-mep-rows article{gap:30px;padding:30px 0;border-color:#dce2e5}
body.pg-b5 .pg-mep-rows article>span{font-family:'Geist',Arial,sans-serif;font-size:40px;font-weight:500;letter-spacing:-.05em;min-width:65px;color:#80939f}
body.pg-b5 .pg-mep-rows article p{font-size:18px!important}
body.pg-b5 .pg-partner-section{background:#f1f4f5;padding:85px 0}
body.pg-b5 .pg-contact-booking{background:#152936;color:#fff;padding:56px 0}
body.pg-b5 .pg-contact-booking h2{font-size:38px!important;line-height:1.1}
body.pg-b5 .pg-contact-booking .eyebrow{color:#cedae1!important}
body.pg-b5 .pg-contact-booking .button{background:#fff;color:#152936;border-color:#fff}
body.pg-b5 .pg-contact-booking .button>span[aria-hidden]{background:#152936;color:#fff}
body.pg-b5 .contact-info h2,body.pg-b5 .form-panel h2{font-size:42px;line-height:1.1}
body.pg-b5 .form-panel{border-radius:28px;background:#f3f5f5}
body.pg-b5 input,body.pg-b5 textarea,body.pg-b5 select{border-radius:12px;font-size:18px;line-height:1.5;border-color:#cdd6dc;background:#fff}
body.pg-b5 label{font-size:16px;line-height:1.4}
body.pg-b5 .service-jump{background:#fff}
body.pg-b5 .service-jump a{font-size:16px;line-height:1.4;border-radius:999px}
body.pg-b5 .project-card,body.pg-b5 .service-card{border-radius:24px;overflow:hidden}
body.pg-b5 .project-card img{border-radius:24px 24px 0 0}
body.pg-b5 .cta-band{background:#152936;color:#fff;border-radius:28px}
body.pg-b5 .cta-band .eyebrow{color:#c9d7df!important}
body.pg-b5 .cta-band p{color:#c9d7df}
body.pg-b5 .cta-band .button{background:#fff;color:#152936;border-color:#fff}
body.pg-b5 .cta-band .button>span[aria-hidden]{background:#152936;color:#fff}

/* Invitation and footer */
body.pg-b5 .pg-final-cta{padding:110px 0;background:#fff}
body.pg-b5 .pg-final-cta>.wrap{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:90px}
body.pg-b5 .pg-final-cta h2{font-size:clamp(45px,4.8vw,68px)!important;line-height:1.06;letter-spacing:-.05em}
body.pg-b5 .pg-final-actions{align-items:flex-start;gap:15px}
body.pg-b5 .pg-final-actions>p{font-size:16px!important;line-height:1.6;color:#67757d;margin-top:12px!important}
body.pg-b5 .pg-footer{background:#142733;color:#eef3f5;padding:64px 0 28px}
body.pg-b5 .pg-footer .pg-brand>span{color:#fff}
body.pg-b5 .pg-footer .pg-brand small{color:#c5d0d7}
body.pg-b5 .pg-footer-top{border-color:#3b505e;padding-bottom:35px}
body.pg-b5 .pg-footer-top>p{font-family:'Geist',Arial,sans-serif;font-size:28px;letter-spacing:-.035em;color:#c6d4dd;font-weight:400}
body.pg-b5 .pg-footer-grid{padding:38px 0;gap:50px}
body.pg-b5 .pg-footer-grid .eyebrow{font-size:14px!important;letter-spacing:.045em;color:#afc3cf!important;margin-bottom:20px!important}
body.pg-b5 .pg-footer-grid p,body.pg-b5 .pg-footer-grid a{font-size:17px;line-height:1.8;color:#e1e9ee}
body.pg-b5 .pg-professional-note{font-size:15px;line-height:1.7;max-width:1100px!important;color:#b4c4ce;margin-bottom:29px}
body.pg-b5 .pg-footer-bottom{font-size:14px;line-height:1.6;color:#b9cbd6;border-color:#3b505e;gap:30px}
body.pg-b5 .pg-footer-bottom nav{gap:22px}
body.pg-b5 dialog{border-radius:24px}
body.pg-b5 dialog h2{font-size:32px}

/* Home content helpers */
body.pg-b5 .b5-hero-content .b5-hero-bottom{margin:40px 0 0;padding:26px 0 0;gap:30px;max-width:800px;align-items:flex-start}
body.pg-b5 .b5-hero-bottom>div{flex:1;min-width:0}
body.pg-b5 .b5-hero-bottom strong{display:block;font-size:17px;font-weight:500;line-height:1.5;color:#fff}
body.pg-b5 .b5-hero-bottom>div>span{display:block;font-size:15px;line-height:1.5;color:#d7e1e4;margin-top:6px}
body.pg-b5 .b5-hero-image-note{position:absolute;bottom:27px;right:30px;font-size:14px;line-height:1.5;color:#eef3f4;z-index:1;text-shadow:0 1px 10px #10232c}
body.pg-b5 .b5-code-section.section{padding:0}
body.pg-b5 .b5-checks{list-style:none;padding:0;margin:28px 0}
body.pg-b5 .b5-checks li{position:relative;padding:13px 0 13px 32px;border-bottom:1px solid #dce3e5;font-size:18px!important;line-height:1.6}
body.pg-b5 .b5-checks li::before{content:'✓';position:absolute;left:0;top:14px;font-size:17px;color:#5d7685}
body.pg-b5 main p.b5-appointment-note{font-size:16px!important;color:#64737c;margin:17px 0 12px}
body.pg-b5 .b5-evaluation-card{position:absolute;left:28px;right:28px;bottom:48px;padding:30px 32px;background:#ffffffed;border-radius:22px;backdrop-filter:blur(12px);z-index:2;color:#172d3a}
body.pg-b5 .b5-evaluation-card>span{display:block;font-size:14px;font-weight:500;letter-spacing:.035em;line-height:1.5;color:#5e727d;max-width:280px}
body.pg-b5 .b5-evaluation-card>strong{display:block;font-size:100px;line-height:1.05;letter-spacing:-.075em;font-weight:500;margin:20px 0 14px}
body.pg-b5 .b5-evaluation-card strong small{font-size:21px;letter-spacing:-.02em;font-weight:400}
body.pg-b5 .b5-evaluation-card p{font-size:18px!important;line-height:1.5;color:#556b78;margin:0;padding-right:48px}
body.pg-b5 .b5-evaluation-card>a{position:absolute;right:28px;bottom:29px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#172d3a;color:#fff;font-size:28px;line-height:1;transition:transform .3s}
body.pg-b5 .b5-evaluation-card>a:hover{transform:rotate(45deg)}
body.pg-b5 .b5-visual-note{position:absolute;bottom:16px;left:28px;font-size:14px;line-height:1.5;color:#fff;z-index:2;text-shadow:0 1px 8px #152936}
body.pg-b5 .b5-partner-footer{display:flex;align-items:center;justify-content:space-between;gap:55px;margin-top:32px}
body.pg-b5 .b5-partner-footer p{font-size:17px!important;line-height:1.6;color:#c6d3dc;max-width:690px!important;margin:0}
body.pg-b5 .b5-partner-footer .button{margin:0;flex:none}
body.pg-b5 .b5-work-heading-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:25px;grid-column:2;max-width:390px!important}
body.pg-b5 .b5-work-heading-bottom p{font-size:19px!important;color:#697780;margin:0}
body.pg-b5 .b5-work-card>div{display:grid;grid-template-columns:1fr 38px;gap:8px 20px;align-items:center;padding-top:22px}
body.pg-b5 .b5-work-card>div>span{grid-column:1;font-size:14px;font-weight:400;letter-spacing:.06em;color:#687983}
body.pg-b5 .b5-work-card>div>h3{grid-column:1;font-size:28px;line-height:1.2;font-weight:500}
body.pg-b5 .b5-work-card>div>b{grid-column:2;grid-row:1/span 2;font-size:29px;font-weight:400}
body.pg-b5 .b5-faq .b5-section-head{display:block;margin:0}
body.pg-b5 .b5-faq .b5-section-head h2{max-width:500px}
body.pg-b5 .b5-contact{background:#f1f4f4}
body.pg-b5 .b5-contact-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
body.pg-b5 .b5-contact-details{display:flex;flex-wrap:wrap;gap:15px 32px;margin-top:48px;padding-top:30px;border-top:1px solid #d2dce0;font-size:17px;line-height:1.6;color:#566d7b}
body.pg-b5 .b5-contact-details a{color:#263f4f}
body.pg-b5 .b5-contact-details a:hover{text-decoration:underline}

/* Tablet and compact navigation */
@media(max-width:1280px){
 body.pg-b5 .pg-header-inner{gap:20px;width:calc(100% - 48px)}
 body.pg-b5 .pg-navigation{gap:18px}
 body.pg-b5 .pg-header-cta{display:none}
 body.pg-b5 .b5-hero-content{padding:64px 48px 40px}
 body.pg-b5 .b5-hero-bottom{margin-inline:48px}
 body.pg-b5 .b5-section-head,body.pg-b5 .pg-section-heading{gap:40px}
 body.pg-b5 .b5-code-spot{gap:45px}
 body.pg-b5 .pg-engineering-grid{gap:40px}
 body.pg-b5 .pg-mep-hero-bottom{display:block}
 body.pg-b5 .pg-mep-hero-bottom>.button{margin-top:28px}
 body.pg-b5 .page-intro>.wrap{gap:0 42px;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}
 body.pg-b5 .pg-final-cta>.wrap{gap:50px}
}
@media(max-width:1180px){
 body.pg-b5 .pg-header-inner{min-height:90px}
 body.pg-b5 .pg-navigation{display:none}
 body.pg-b5 .menu-toggle{display:inline-flex;margin-left:0;gap:12px;align-items:center}
 body.pg-b5 .pg-header-cta{display:inline-flex;margin-left:auto}
 body.pg-b5 .header.menu-open .pg-navigation{display:flex;position:absolute;top:90px;left:0;right:0;max-height:calc(100dvh - 90px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;padding:16px 28px 25px;margin:0;background:#fff;border-top:1px solid #dfe5e7;box-shadow:0 20px 22px #172d3a0f}
 body.pg-b5 .header.menu-open .pg-navigation a{padding:13px 0;font-size:18px;color:#152936}
}
@media(max-width:1100px){
 body.pg-b5 .wrap{width:calc(100% - 72px)}
 body.pg-b5 .b5-hero{min-height:750px}
 body.pg-b5 .b5-hero h1{font-size:72px;max-width:760px}
 body.pg-b5 .b5-section-head,body.pg-b5 .pg-section-heading{display:block}
 body.pg-b5 .b5-section-head>p:not(.eyebrow),body.pg-b5 .pg-section-heading>p{margin-top:24px;max-width:720px!important}
 body.pg-b5 .b5-section-head>.button,body.pg-b5 .b5-section-head>.pg-text-link{margin-top:24px}
 body.pg-b5 .b5-services{display:flex;flex-direction:column;gap:15px}
 body.pg-b5 .b5-service,body.pg-b5 .b5-service.is-active{flex:none;min-height:0;padding:30px}
 body.pg-b5 .b5-service-toggle,body.pg-b5 .b5-service:not(.is-active) .b5-service-toggle{height:auto;flex-direction:row;align-items:center;gap:22px;font-size:34px}
 body.pg-b5 .b5-service:not(.is-active) .b5-service-toggle>.b5-service-title,body.pg-b5 .b5-service:not(.is-active) .b5-service-toggle h3{writing-mode:horizontal-tb;transform:none;text-wrap:balance}
 body.pg-b5 .b5-service-body{width:100%;max-width:740px;padding-top:30px}
 body.pg-b5 .b5-service-body p{max-width:720px!important}
 body.pg-b5 .b5-service-media{position:relative;inset:auto;width:100%;height:350px;margin-top:28px;border-radius:20px}
 body.pg-b5 .b5-code-spot{gap:34px}
 body.pg-b5 .b5-spot-image{min-height:620px}
 body.pg-b5 .pg-partner-card{padding:30px}
 body.pg-b5 .pg-engineering-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
 body.pg-b5 .pg-systems-visual{min-height:510px;padding:24px}
 body.pg-b5 #pg-discipline-panel h3{font-size:34px!important}
 body.pg-b5 .b5-work-card{flex-basis:58vw}
 body.pg-b5 .b5-work-controls{margin-top:0}
 body.pg-b5 .b5-work-heading-bottom{margin-top:25px;max-width:720px!important;flex-direction:row;align-items:center;justify-content:space-between}
 body.pg-b5 .b5-partner-footer{display:block}
 body.pg-b5 .b5-partner-footer .button{margin-top:25px}
 body.pg-b5 .b5-work-card img{height:380px}
 body.pg-b5 .pg-mep-hero h1{font-size:64px}
 body.pg-b5 .page-intro>.wrap{grid-template-columns:1fr}
 body.pg-b5 .pg-appointment-plate{grid-column:1;grid-row:auto;max-width:470px;margin-top:40px}
 body.pg-b5 .split-grid{gap:40px}
}
@media(max-width:800px){
 body.pg-b5 .wrap{width:calc(100% - 48px)}
 body.pg-b5 .b5-hero{width:calc(100% - 32px);border-radius:28px;min-height:780px}
 body.pg-b5 .b5-hero-content{padding:52px 32px 40px;width:100%}
 body.pg-b5 .b5-hero h1{font-size:64px;max-width:650px}
 body.pg-b5 .b5-hero-content>p:not(.eyebrow),body.pg-b5 .b5-hero-content .pg-hero-lead{max-width:570px!important}
 body.pg-b5 .b5-hero::after{background:linear-gradient(90deg,#0a181de3 0%,#0a181d85 75%,#0a181d40 100%),linear-gradient(0deg,#0a181db0 0%,transparent 50%)}
 body.pg-b5 .b5-hero-bottom{margin-inline:32px;padding-bottom:28px;gap:25px;align-items:flex-start}
 body.pg-b5 .b5-hero-bottom a{font-size:15px;gap:15px}
 body.pg-b5 .b5-section,body.pg-b5 .b5-work,body.pg-b5 .b5-engineering-explorer,body.pg-b5 .pg-engineering{padding-block:78px}
 body.pg-b5 .b5-code-spot{grid-template-columns:1fr;gap:36px;padding-block:78px}
 body.pg-b5 .b5-code-spot>div:not(.b5-spot-image){padding:0}
 body.pg-b5 .b5-spot-image{min-height:440px}
 body.pg-b5 .b5-partner-section{width:calc(100% - 32px);padding:65px 0;border-radius:28px}
 body.pg-b5 .b5-partner-section>.wrap{width:calc(100% - 64px)}
 body.pg-b5 .pg-partner-grid{grid-template-columns:1fr;gap:20px}
 body.pg-b5 .pg-partner-card{padding:32px}
 body.pg-b5 .pg-engineering-grid{grid-template-columns:1fr;gap:40px}
 body.pg-b5 .pg-systems-visual{min-height:500px;padding:28px}
 body.pg-b5 .pg-systems-visual svg{max-height:390px}
 body.pg-b5 #pg-discipline-panel{min-height:260px}
 body.pg-b5 #pg-discipline-panel h3{font-size:38px!important;max-width:520px}
 body.pg-b5 #pg-discipline-panel p{max-width:650px!important}
 body.pg-b5 .b5-work-card{flex-basis:78vw}
 body.pg-b5 .b5-work-card img{height:390px}
 body.pg-b5 .page-intro,body.pg-b5 .pg-mep-hero{width:calc(100% - 32px);border-radius:28px;padding:60px 0}
 body.pg-b5 .page-intro>.wrap,body.pg-b5 .pg-mep-hero>.wrap{width:calc(100% - 64px)}
 body.pg-b5 .pg-mep-hero h1{font-size:54px}
 body.pg-b5 .section{padding-block:68px}
 body.pg-b5 .split-grid{grid-template-columns:1fr;gap:45px}
 body.pg-b5 .step-list{grid-template-columns:1fr;gap:28px}
 body.pg-b5 .step-list li::before{margin-bottom:22px}
 body.pg-b5 .pg-final-cta{padding:80px 0}
 body.pg-b5 .pg-final-cta>.wrap{grid-template-columns:1fr;gap:35px}
 body.pg-b5 .pg-footer-grid{grid-template-columns:1fr 1fr;gap:35px}
 body.pg-b5 .pg-footer-grid>div:first-child{grid-column:1/-1}
 body.pg-b5 .pg-footer-bottom{flex-direction:column;gap:20px}
}
@media(max-width:620px){
 body.pg-b5{font-size:18px}
 body.pg-b5 main p,body.pg-b5 main li,body.pg-b5 main dd{font-size:18px!important}
 body.pg-b5 main p.eyebrow{font-size:14px!important}
 body.pg-b5 main p.fine,body.pg-b5 main p.pg-role-note,body.pg-b5 main p.pg-image-note,body.pg-b5 main p.pg-local-note{font-size:16px!important}
 body.pg-b5 .wrap{width:calc(100% - 40px)}
 body.pg-b5 h2{font-size:36px;line-height:1.1}
 body.pg-b5 .pg-header-inner{min-height:84px;width:calc(100% - 32px);gap:12px}
 body.pg-b5 .pg-brand{gap:9px}
 body.pg-b5 .pg-brand img{width:31px;height:40px}
 body.pg-b5 .pg-brand>span{font-size:23px;letter-spacing:-.045em}
 body.pg-b5 .pg-brand small{font-size:14px;line-height:1.1;max-width:145px;letter-spacing:0}
 body.pg-b5 .pg-header-cta{display:none}
 body.pg-b5 .menu-toggle,body.pg-b5 .pg-header-cta+.menu-toggle{margin-left:auto;padding:9px 10px;font-size:15px;gap:8px}
 body.pg-b5 .menu-toggle>span:first-child{display:none}
 body.pg-b5 .header.menu-open .pg-navigation{top:84px;max-height:calc(100dvh - 84px);padding:12px 24px 24px}
 body.pg-b5 .button,body.pg-b5 .b5-pill{min-height:56px;padding:8px 9px 8px 20px;gap:15px;font-size:16px!important}
 body.pg-b5 .button>span[aria-hidden],body.pg-b5 .b5-pill>span[aria-hidden]{width:36px;height:36px;flex-basis:36px;font-size:24px}
 body.pg-b5 .b5-hero{width:calc(100% - 24px);border-radius:24px;margin-top:4px;min-height:810px}
 body.pg-b5 .b5-hero-content{padding:42px 24px 36px}
 body.pg-b5 .b5-hero h1{font-size:clamp(43px,10vw,60px);line-height:1.04;letter-spacing:-.05em;margin-bottom:25px;text-wrap:pretty}
 body.pg-b5 .b5-hero .eyebrow{font-size:14px!important;letter-spacing:.055em;margin-bottom:24px}
 body.pg-b5 .b5-hero-content>p:not(.eyebrow),body.pg-b5 .b5-hero-content .pg-hero-lead{font-size:19px!important;line-height:1.6;margin-bottom:24px}
 body.pg-b5 .b5-hero-actions{flex-direction:column;align-items:stretch;gap:12px;margin-top:28px}
 body.pg-b5 .b5-hero .button{width:100%}
 body.pg-b5 .b5-hero-bottom{flex-direction:column;gap:22px;margin-inline:24px;padding-top:24px;padding-bottom:27px}
 body.pg-b5 .b5-hero-content .b5-hero-bottom{margin-top:32px;padding-top:23px;gap:20px;flex-direction:column}
 body.pg-b5 .b5-hero-image-note{position:relative;align-self:flex-start;bottom:auto;right:auto;margin:0 24px 24px;font-size:14px}
 body.pg-b5 .b5-hero-bottom strong{font-size:17px}
 body.pg-b5 .b5-hero-bottom>div>span{font-size:15px;margin-top:2px}
 body.pg-b5 .b5-hero-bottom p{font-size:16px!important}
 body.pg-b5 .b5-hero-bottom a{font-size:16px}
 body.pg-b5 .b5-hero-image,body.pg-b5 figure.b5-hero-image>img{object-position:58% 50%}
 body.pg-b5 .b5-section,body.pg-b5 .b5-work,body.pg-b5 .b5-engineering-explorer,body.pg-b5 .pg-engineering{padding-block:64px}
 body.pg-b5 .b5-section-head,body.pg-b5 .pg-section-heading{margin-bottom:32px}
 body.pg-b5 .b5-section-head h2,body.pg-b5 .pg-section-heading h2{font-size:36px!important;line-height:1.1;letter-spacing:-.045em}
 body.pg-b5 .b5-section-head>p:not(.eyebrow),body.pg-b5 .pg-section-heading>p{font-size:18px!important;margin-top:22px}
 body.pg-b5 .b5-services{margin-top:28px;gap:13px}
 body.pg-b5 .b5-service,body.pg-b5 .b5-service.is-active{padding:24px;border-radius:24px}
 body.pg-b5 .b5-service-toggle,body.pg-b5 .b5-service:not(.is-active) .b5-service-toggle{font-size:29px;line-height:1.15;gap:18px}
 body.pg-b5 .b5-service-toggle>span[aria-hidden],body.pg-b5 .b5-service-toggle>.b5-service-icon{width:34px;height:34px;flex-basis:34px;font-size:24px}
 body.pg-b5 .b5-service-body{padding-top:25px}
 body.pg-b5 .b5-service-body p{font-size:18px!important}
 body.pg-b5 .b5-service-body .button{width:100%}
 body.pg-b5 .b5-service-media{height:300px;border-radius:18px;margin-top:25px}
 body.pg-b5 .b5-code-spot{padding-block:65px;gap:32px}
 body.pg-b5 .b5-code-spot h2{font-size:38px!important;line-height:1.1;letter-spacing:-.045em}
 body.pg-b5 .b5-spot-image{min-height:380px;border-radius:24px}
 body.pg-b5 .b5-code-spot .button{width:100%}
 body.pg-b5 .b5-partner-section{width:calc(100% - 24px);padding:52px 0;border-radius:24px}
 body.pg-b5 .b5-partner-section>.wrap{width:calc(100% - 48px)}
 body.pg-b5 .pg-partner-card{padding:26px;border-radius:20px}
 body.pg-b5 .pg-partner-card h3{font-size:30px!important}
 body.pg-b5 .pg-partner-card p:not(.eyebrow){font-size:18px!important}
 body.pg-b5 .pg-partner-grid{margin-top:30px}
 body.pg-b5 .pg-systems-visual{min-height:400px;padding:22px 20px;border-radius:24px}
 body.pg-b5 .pg-system-caption{font-size:14px;gap:13px}
 body.pg-b5 .pg-systems-visual svg{min-height:250px;max-height:340px}
 body.pg-b5 .pg-tablist{gap:8px;padding-bottom:22px}
 body.pg-b5 .pg-tablist button{font-size:14px;padding:10px 12px}
 body.pg-b5 #pg-discipline-panel{min-height:295px;padding-top:32px}
 body.pg-b5 #pg-discipline-panel h3{font-size:33px!important;line-height:1.12}
 body.pg-b5 #pg-discipline-panel p{font-size:18px!important}
 body.pg-b5 .pg-discipline-letter{font-size:95px;top:25px}
 body.pg-b5 .pg-partner-lead{padding:26px 24px}
 body.pg-b5 .pg-partner-lead>strong{font-size:25px}
 body.pg-b5 .b5-work-card{flex-basis:85vw}
 body.pg-b5 .b5-work-card img{height:310px;border-radius:24px}
 body.pg-b5 .b5-work-card>span,body.pg-b5 .b5-work-card figcaption,body.pg-b5 .b5-work-card>div{font-size:20px;padding-top:17px}
 body.pg-b5 .b5-work-controls{margin-top:0}
 body.pg-b5 .b5-work-heading-bottom{flex-direction:column;align-items:flex-start;gap:22px}
 body.pg-b5 .b5-contact-actions{flex-direction:column;align-items:stretch}
 body.pg-b5 .b5-contact-details{flex-direction:column;gap:16px;margin-top:32px}
 body.pg-b5 .b5-evaluation-card{left:20px;right:20px;bottom:43px;padding:25px 24px}
 body.pg-b5 .b5-evaluation-card>strong{font-size:85px}
 body.pg-b5 .b5-evaluation-card strong small{font-size:18px}
 body.pg-b5 .b5-evaluation-card p{font-size:18px!important;padding-right:38px}
 body.pg-b5 .b5-evaluation-card>a{right:22px;bottom:25px;width:38px;height:38px;font-size:24px}
 body.pg-b5 .b5-visual-note{left:20px}
 body.pg-b5 .b5-partner-footer p{font-size:17px!important}
 body.pg-b5 .b5-work-controls button{width:46px;height:46px}
 body.pg-b5 .page-hero{padding:55px 0}
 body.pg-b5 .page-hero h1{font-size:43px;line-height:1.07}
 body.pg-b5 .page-hero p.lead,body.pg-b5 .page-intro p.intro-copy{font-size:19px!important;line-height:1.6}
 body.pg-b5 .page-intro,body.pg-b5 .pg-mep-hero{width:calc(100% - 24px);margin-top:4px;padding:45px 0;border-radius:24px}
 body.pg-b5 .page-intro>.wrap,body.pg-b5 .pg-mep-hero>.wrap{width:calc(100% - 48px)}
 body.pg-b5 .page-intro .display-title{font-size:clamp(36px,8.6vw,48px);line-height:1.08;letter-spacing:-.045em}
 body.pg-b5 .pg-mep-hero h1{font-size:clamp(34px,8.2vw,48px);line-height:1.1;letter-spacing:-.055em;overflow-wrap:anywhere}
 body.pg-b5 .pg-mep-hero-bottom{margin-top:28px}
 body.pg-b5 .pg-mep-hero-bottom>p{font-size:19px!important}
 body.pg-b5 .pg-mep-hero-bottom>.button{width:100%}
 body.pg-b5 .pg-mep-scope{font-size:16px!important;line-height:1.6}
 body.pg-b5 .pg-appointment-plate{padding:27px 24px;margin-top:35px;border-radius:22px;max-width:100%}
 body.pg-b5 .pg-plate-number{font-size:94px;letter-spacing:-.07em}
 body.pg-b5 .pg-appointment-plate h2{font-size:30px!important}
 body.pg-b5 .pg-appointment-plate>p{font-size:16px!important}
 body.pg-b5 .section{padding-block:60px}
 body.pg-b5 .booking-panel{padding:30px 24px!important;border-radius:24px}
 body.pg-b5 .faq-list summary{font-size:20px}
 body.pg-b5 .pg-mep-rows article{gap:20px;padding:25px 0}
 body.pg-b5 .pg-mep-rows article>span{font-size:30px;min-width:45px}
 body.pg-b5 .pg-mep-image img{height:280px;border-radius:22px}
 body.pg-b5 .pg-partner-section{padding:60px 0}
 body.pg-b5 .pg-final-cta{padding:66px 0}
 body.pg-b5 .pg-final-cta h2{font-size:42px!important;line-height:1.08}
 body.pg-b5 .pg-final-actions{align-items:stretch}
 body.pg-b5 .pg-contact-booking h2{font-size:34px!important}
 body.pg-b5 .pg-contact-booking .button{width:100%}
 body.pg-b5 .contact-info h2,body.pg-b5 .form-panel h2{font-size:36px}
 body.pg-b5 .pg-footer{padding:47px 0 24px}
 body.pg-b5 .pg-footer-top{display:block;padding-bottom:29px}
 body.pg-b5 .pg-footer-top>p{font-size:25px;margin-top:24px}
 body.pg-b5 .pg-footer-grid{grid-template-columns:1fr;gap:30px;padding-block:32px}
 body.pg-b5 .pg-footer-grid>div:first-child{grid-column:auto}
 body.pg-b5 .pg-footer-grid a,body.pg-b5 .pg-footer-grid p{font-size:17px}
 body.pg-b5 .pg-footer-bottom nav{gap:13px 20px}
}
@media(max-width:360px){
 body.pg-b5 .pg-brand>span{font-size:21px}
 body.pg-b5 .pg-brand small{font-size:14px;max-width:138px}
 body.pg-b5 .b5-hero-content{padding-inline:20px}
 body.pg-b5 .b5-hero h1{font-size:40px}
 body.pg-b5 .b5-hero-bottom{margin-inline:20px}
 body.pg-b5 .b5-service,body.pg-b5 .b5-service.is-active{padding:20px}
 body.pg-b5 .b5-service-toggle,body.pg-b5 .b5-service:not(.is-active) .b5-service-toggle{font-size:26px;gap:12px}
 body.pg-b5 .b5-partner-section>.wrap{width:calc(100% - 40px)}
 body.pg-b5 .pg-partner-card{padding:23px 20px}
 body.pg-b5 .pg-partner-card h3{font-size:28px!important}
 body.pg-b5 .b5-section-head h2,body.pg-b5 .pg-section-heading h2{font-size:33px!important}
 body.pg-b5 .b5-code-spot h2{font-size:35px!important}
 body.pg-b5 .pg-tablist button{padding:9px 10px}
 body.pg-b5 .pg-mep-hero h1{font-size:32px}
 body.pg-b5 .page-intro .display-title{font-size:34px}
}
@media(prefers-reduced-motion:reduce){
 body.pg-b5 *,body.pg-b5 *::before,body.pg-b5 *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 body.pg-b5 .b5-word{transform:none!important;filter:none!important;opacity:1!important}
 body.pg-b5 .b5-work-track{scroll-behavior:auto}
}
@media print{
 body.pg-b5{background:#fff;color:#000;font-size:12pt}
 body.pg-b5 .pg-header,body.pg-b5 .pg-reading-progress,body.pg-b5 .b5-work-controls{display:none!important}
 body.pg-b5 .b5-hero,body.pg-b5 .page-intro,body.pg-b5 .pg-mep-hero,body.pg-b5 .b5-partner-section{background:#fff!important;color:#000!important;margin:0;width:100%;border-radius:0}
 body.pg-b5 .b5-hero::after,body.pg-b5 .b5-hero-image{display:none}
 body.pg-b5 .b5-hero h1,body.pg-b5 .b5-hero p,body.pg-b5 .b5-hero .eyebrow{color:#000!important}
 body.pg-b5 .b5-word{opacity:1!important;filter:none!important;transform:none!important}
}
