/* Final shared reading rhythm without changing approved examples. */
.department-page .service-hero h1{font-size:clamp(38px,4.2vw,64px);line-height:1.1;max-width:800px}.department-page .sales-intro:not(:has(.demo)){grid-template-columns:1fr}.department-page .sales-intro:not(:has(.demo))>div{max-width:850px}.about-proof :is(h2,h3){color:#fff4e5}.department-page .service-label{font-family:var(--gl-display),sans-serif}body .lab-footer nav{line-height:1.7}.department-page .approved-service-art .svc-demo{color:#fff4e5}.depth-grid article a{line-height:1.6}
.services-menu .service-art img{object-fit:contain;background:#09172e;border-radius:12px}.about-disciplines img[src*="preview-"]{object-fit:contain;background:#09172e;border-radius:12px}

.historical-news{background:#111a32;color:#f8f2e8}.historical-news .page-hero,.historical-news .prose{max-width:1000px;margin-inline:auto;padding:64px 28px}.historical-news .page-hero h1{color:#fff4e5;font-family:var(--gl-display),sans-serif;line-height:1.12;font-size:clamp(36px,5vw,64px)}.historical-news .prose{padding-top:0;font-size:18px;line-height:1.8}.historical-news .prose p{color:#c3d2e9}.historical-news .intro{color:#74dbea}
.historical-news .page-hero{background:transparent}.historical-news .prose a{color:#74dbea}

.case-results{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:40px 0 12px}.case-results>div{border-top:3px solid #b487ff;padding:24px 0}.case-results strong{display:block;color:#d3b1ff;font-size:clamp(32px,5vw,58px);font-family:var(--gl-display),sans-serif;line-height:1.2}.case-results span{display:block;color:#fff4e5}.case-caption,.case-original figcaption{font-size:14px;color:#aabdd8}.case-original{margin:36px 0}.case-original img{display:block;width:100%;height:auto;border-radius:12px}.historical-news .prose h2{color:#fff4e5;margin-top:40px;font-size:28px}.historical-links .depth-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:600px){.case-results,.historical-links .depth-grid{grid-template-columns:1fr}}

.historical-news .prose .case-results-heading{font-family:var(--gl-display),sans-serif;font-size:clamp(34px,4vw,48px);color:#74dbea;line-height:1.15;margin:44px 0 20px}.case-results-heading+.case-results{margin-top:0}
/* Portfolio identities: original client artwork, shared site typography. */
.client-card-logo{height:108px;padding:18px 22px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;box-sizing:border-box}
.client-card-logo img{display:block;width:auto;max-width:100%;height:auto;max-height:70px;object-fit:contain}
.client-card-logo-pair{gap:20px}.client-card-logo-pair img{max-width:46%;max-height:65px}
.portfolio-history{padding-top:64px;padding-bottom:64px}.portfolio-projects{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px}
.portfolio-project{background:#1b2843;border:1px solid #41516c;border-radius:24px;overflow:hidden;display:flex;flex-direction:column}
.portfolio-brand{min-height:230px;display:flex;align-items:center;justify-content:center;background:#142c30;padding:22px;box-sizing:border-box}.portfolio-brand>img{width:195px;height:175px;object-fit:contain}.educators-project .portfolio-brand{background:#e8e8e8}
.educators-crest{display:block;position:relative;overflow:hidden;width:190px;aspect-ratio:425/430;flex:none}.educators-crest img{position:absolute!important;max-width:none!important;width:729.412%!important;height:auto!important;left:-561.176%;top:-19.767%;margin:0!important;border-radius:0!important}
.portfolio-project-copy{padding:30px;display:flex;flex-direction:column;flex:1}.portfolio-project-copy h3{font-size:30px;margin:0 0 14px;color:#fff5e9}.portfolio-project-copy p{color:#c4d5e8;line-height:1.65}.portfolio-project-copy a{color:#70e2ef;font-weight:700;margin-top:auto;padding-top:22px}
.portfolio-project-copy .portfolio-time{color:#a9ed89;font-size:20px;font-weight:700;margin:16px 0 2px}.portfolio-results{display:flex;flex-wrap:wrap;gap:24px}.portfolio-results p{margin:8px 0 24px}.portfolio-results strong{display:block;font-size:30px;color:#fff}.portfolio-results span{display:block;font-size:15px}.portfolio-capabilities{padding-left:20px;color:#f1d19b;line-height:2;margin:18px 0 24px}
.case-brand{margin-bottom:28px}.case-brand>img{width:190px;height:auto}.case-brand .educators-crest{background:#e8e8e8;border-radius:12px}
.ministry-project{border-top:1px solid #41516c;margin-top:64px;padding-top:48px;padding-bottom:12px}.ministry-project h2{font-size:32px}.portfolio-closing{margin-top:64px!important}
@media(max-width:700px){.portfolio-projects{grid-template-columns:1fr}.portfolio-project-copy{padding:24px}.portfolio-brand{min-height:210px}.portfolio-closing{margin-top:40px!important}.portfolio-history{padding-top:40px;padding-bottom:24px}}
.portfolio-brand{height:240px;min-height:240px;flex:none}
.elgoal-project .portfolio-brand{background:#0e163b}
.client-card-logo img{margin:0!important;align-self:center;object-position:center}
.client-award{display:flex;align-items:center;gap:14px;margin:14px 0 20px}.client-award img{width:64px;height:auto;flex:none;margin:0}.client-award p{margin:0!important;font-size:14px;line-height:1.5}.client-award strong{display:block;color:#ffe365}.client-award span{display:block;color:#d1dfef}
.ministry-project{display:flex;align-items:center;gap:40px;background:#d3e8ef;border:0;border-radius:24px;padding:40px!important;box-sizing:border-box}.ministry-project .ministry-emblem{width:160px;height:auto;flex:none;margin:0}.ministry-project h2,.ministry-project p,.ministry-project .depth-kicker{color:#14213b}.ministry-project h2{margin:8px 0 14px}.ministry-project p:last-child{margin-bottom:0}.depth-evidence .depth-grid>article{display:flex;flex-direction:column}.depth-evidence .depth-grid>article>a{margin-top:auto;padding-top:12px}
@media(max-width:600px){.ministry-project{flex-direction:column;align-items:flex-start;gap:20px;padding:26px!important}.ministry-project .ministry-emblem{width:130px}}
/* Preserve the full SEDCO website capture, including its header and logo. */
#sedco.lasting-work{grid-template-columns:1fr 1.25fr;gap:40px}
#sedco .project-visual{min-width:0;width:100%;align-self:center}
#sedco .project-visual img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;display:block}
@media(max-width:800px){#sedco.lasting-work{grid-template-columns:1fr;gap:28px}}
/* Keep NBK's complete website header and logo visible. */
#nbk .project-visual img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
/* Round the property introduction panel to match the established card system. */
.sales-intro:has(.ridge-launchpad){border-radius:24px}
/* Shared light-panel treatment across service, company and enquiry pages. */
main :is(.sales-intro,.scenarios,.about-disciplines,.about-builders,.about-principles,.brief-section,.page-hero){border-radius:24px}
/* Equal panel insets, with edge margins reset so the visible space is balanced. */
main :is(.sales-intro,.scenarios,.about-disciplines,.about-builders,.about-principles){padding-block:64px}
main :is(.sales-intro,.scenarios,.about-disciplines,.about-builders,.about-principles,.delivery,.faq)>:first-child{margin-top:0}
main :is(.sales-intro,.scenarios,.about-disciplines,.about-builders,.about-principles,.delivery,.faq)>:last-child{margin-bottom:0}
.sales-intro>div>:first-child,.scenarios .section-heading>:first-child,.scenarios .section-heading>p{margin-top:0}
.sales-intro>div>:last-child,.scenario-grid article>:last-child,.delivery li>:last-child{margin-bottom:0}
.scenarios .section-heading{margin-bottom:40px}.scenario-grid article h3{margin-top:0}
.buyer-grid{gap:22px;align-items:stretch}
.buyer-section .buyer-grid>article{padding:28px;border:1px solid #465572;border-top:3px solid #aa8aff;border-radius:20px;background:linear-gradient(140deg,#26324e,#19253e);box-sizing:border-box}
.buyer-section .buyer-grid>article:nth-child(2){border-top-color:#55dbe9}.buyer-section .buyer-grid>article:nth-child(3){border-top-color:#f8c655}
.buyer-section .buyer-grid h3{margin:20px 0 14px}.buyer-section .buyer-grid p{margin:0;line-height:1.7}
.journey-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:17px;background:#302c55;color:#c1a2ff;flex:none;margin-bottom:22px}
.journey-icon svg{display:block;width:38px;height:38px}.icon-prototype,.icon-receive{background:#183d4e;color:#60e3ef}.icon-build,.icon-fit{background:#403825;color:#ffd467}
.department-page .delivery li:before{display:none}.department-page .delivery li{padding-left:0;position:relative}.department-page .delivery ol{margin-bottom:0}.department-page main>.delivery{padding-block:48px}
.buyer-section .journey-icon{margin-bottom:0}
.pepsico-service-spotlight{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.4fr);gap:42px;align-items:center;background:#1b2843;border:1px solid #405374;border-radius:24px;padding:48px!important;box-sizing:border-box}
.pepsico-service-logo{background:#fff;border-radius:20px;padding:32px 24px;text-align:center}.pepsico-service-logo img{display:block;width:100%;height:auto;margin:0 auto}.pepsico-service-logo p{color:#314362!important;font-size:14px;margin:22px 0 0}.pepsico-service-copy>:first-child{margin-top:0}.pepsico-service-copy>:last-child{margin-bottom:0}.pepsico-service-copy h2{font-size:clamp(28px,3vw,42px)}
@media(max-width:700px){main :is(.sales-intro,.scenarios,.about-disciplines,.about-builders,.about-principles){padding-block:32px}.scenarios .section-heading{margin-bottom:28px}.buyer-section .buyer-grid>article{padding:24px}.pepsico-service-spotlight{grid-template-columns:1fr;padding:26px!important;gap:28px}.pepsico-service-logo{max-width:300px;width:100%;box-sizing:border-box}.department-page main>.delivery{padding-block:32px}.journey-icon{width:54px;height:54px}}

/* Give the closing invitation room, with one continuous full-width footer. */
body main > .cta{margin-top:64px}
body .lab-footer{width:100%;max-width:none;margin-inline:0;box-sizing:border-box;padding-inline:6%}
@media(max-width:800px){body main > .cta{margin-top:40px}}

/* Service-specific processes share the same clear, colourful step language. */
.design-process li:before{display:none}
.design-process ol{list-style:none;padding:0;margin:0;display:grid;gap:24px}
.design-process li{padding:24px;border:1px solid #465572;border-radius:20px;background:#1b2843}
.design-process li strong{color:#fff4e5}.design-process li p{color:#c3d2e9;margin-bottom:0}
.design-process .journey-icon{margin-bottom:18px}
.service-client-proof .client-card-logo{max-width:300px;width:100%;margin-bottom:24px}
.service-retail-logo{max-width:280px;height:100px;margin-bottom:24px}
.service-retail-logo img{max-height:64px}
.buyer-grid>article:nth-child(3) .journey-icon{background:#403825;color:#ffd467}

/* Balance logo stages on both axes, independent of neighbouring text styles. */
body .client-card-logo{display:flex;align-items:center;justify-content:center;padding:20px 24px}
body .client-card-logo img{display:block;flex:0 1 auto;object-fit:contain;object-position:center;margin:0!important}
.service-client-proof .client-card-logo,.service-retail-logo{margin-inline:auto}

/* Four project portraits, composed from original identities and real site views. */
.story-home .project-showcase{height:auto;aspect-ratio:1.4;position:relative;border-radius:22px;overflow:hidden;isolation:isolate;background:#d8c8ac;color:#27332f}
.project-showcase .showcase-identity{position:absolute;top:7%;left:12%;right:12%;height:12%;display:flex;align-items:center;justify-content:center}
.project-showcase .showcase-logo{display:block;width:auto;height:auto;max-width:45%;max-height:100%;object-fit:contain;object-position:center;margin:0}
.story-home .showcase-esotico{background:#11191e;color:#f1e6d2}.story-home .showcase-worldwide{background:#e8ded0}.story-home .showcase-gallery1{background:#ece2d3}.story-home .showcase-ridgeplate{background:#f3efe5}
.showcase-worldwide .showcase-logo{mix-blend-mode:multiply}.showcase-gallery1 .showcase-logo{mix-blend-mode:multiply}.showcase-ridgeplate .showcase-logo{mix-blend-mode:multiply}
.showcase-devices{position:absolute;inset:25% 6% 13%}
.showcase-desktop{position:absolute;left:0;top:0;width:83%;height:85%}
.desktop-display{height:90%;border:7px solid #172024;border-bottom-width:14px;border-radius:11px;background:#172024;overflow:hidden;box-shadow:0 16px 25px #0002}
.project-showcase .desktop-display img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;margin:0;border-radius:0}
.desktop-stand{display:block;position:relative;margin:0 auto;width:22%;height:12%;background:linear-gradient(90deg,#828b8b,#c1c9c7,#828b8b)}
.desktop-stand:after{content:"";position:absolute;bottom:-5px;left:-30%;width:160%;height:6px;background:#bac2c0;border-radius:50% 50% 3px 3px}
.showcase-phone{position:absolute;right:0;bottom:0;width:25%;aspect-ratio:390/844;border:5px solid #172024;border-radius:19px;overflow:hidden;background:#fff;box-shadow:0 14px 24px #0004}
.project-showcase .showcase-phone img{width:100%;height:100%;object-fit:cover;object-position:top;margin:0;border-radius:0;display:block}
.showcase-detail{position:absolute;bottom:5%;left:7%;right:7%;text-align:center;font-size:clamp(11px,1vw,14px);font-weight:600}
.showcase-outputs{position:absolute;inset:24% 6% 13%}
.project-showcase figure{margin:0;position:absolute;box-shadow:0 14px 28px #1d302625;background:#fff;padding:10px;border-radius:8px}
.showcase-plan{left:0;top:0;width:65%;height:100%;transform:rotate(-3deg)}
.showcase-room{right:0;top:23%;width:47%;height:68%;transform:rotate(4deg)}
.project-showcase figure img{display:block;width:100%;height:calc(100% - 25px);object-fit:contain;object-position:center;margin:0}
.project-showcase .showcase-room img{object-fit:cover}
.project-showcase figcaption{font-size:clamp(9px,.9vw,12px);color:#243d36;text-align:center;line-height:25px;margin:0}
@media(max-width:600px){.story-home .project-showcase{aspect-ratio:1.18;border-radius:18px}.project-showcase .showcase-logo{max-width:54%}.showcase-devices{inset:27% 6% 15%}.showcase-phone{width:27%;border-width:4px;border-radius:13px}.desktop-display{border-width:5px;border-bottom-width:10px}.showcase-detail{font-size:11px}.project-showcase figure{padding:7px}}

.showcase-esotico .showcase-logo{filter:brightness(0) invert(1)}
.story-home .showcase-ridgeplate{background:#f3efe6}.showcase-ridgeplate .showcase-logo{mix-blend-mode:normal}

/* Real project evidence, with the contribution stated for each service. */
.service-work-proof>h2{max-width:950px}.service-work-proof>.depth-intro{max-width:850px}
.proof-group-heading{margin:44px 0 22px}.proof-group-heading h3{font-size:26px;color:#fff4e5;margin:0 0 10px}.proof-group-heading p{margin:0;color:#c3d2e9}
.service-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:30px}.service-work-grid.proof-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-work-card{border:1px solid #40516d;border-radius:22px;background:#1b2843;overflow:hidden;display:flex;flex-direction:column}
.service-work-art{height:155px;padding:28px;display:flex;align-items:center;justify-content:center;background:#fff;gap:18px}
.service-work-art>img{width:auto;height:auto;max-width:70%;max-height:95px;object-fit:contain;object-position:center;margin:0}
.proof-esotico .service-work-art{background:#11191e}.proof-esotico .service-work-art img{filter:brightness(0) invert(1);max-height:58px}
.proof-ridgeplate .service-work-art{background:#f3efe6}.proof-elgoal .service-work-art{background:#0e163b}.proof-elgoal .service-work-art img{max-height:125px}
.proof-educators .service-work-art{background:#e8e8e8}.service-work-art .educators-crest{width:112px}
.proof-sedco .service-work-art{background:#ece8df;flex-direction:column;gap:12px}.proof-wordmark{font-size:25px;color:#17243b;font-weight:600}.proof-sedco .service-work-art img{max-height:56px}
.service-work-copy{padding:28px;display:flex;flex-direction:column;flex:1}.service-work-copy h3{font-size:28px;margin:12px 0;color:#fff4e5}.service-work-copy>p{color:#c3d2e9;margin:0 0 20px;line-height:1.7}.service-work-copy .service-work-scope,.service-work-scope{color:#ffe365;font-size:13px;line-height:1.6}.service-work-copy>a{margin-top:auto;align-self:flex-start}
.proof-follow-on{margin:28px 0 0;color:#c3d2e9;max-width:850px}.proof-follow-on a{color:#70e2ef;text-decoration:underline;text-underline-offset:4px}
.ai-project-proof{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;background:#1b2843;border:1px solid #40516d;border-radius:24px;padding:36px;margin-top:32px}
.ai-proof-copy>img{display:block;width:230px;max-width:100%;height:auto;margin:0 0 28px;border-radius:8px}.ai-proof-copy h3{color:#fff4e5;font-size:30px}.ai-proof-copy p{color:#c3d2e9}.ai-project-proof figure{margin:0;background:#f3efe6;padding:20px;border-radius:16px}.ai-project-proof figure img{display:block;width:100%;height:auto;max-height:350px;object-fit:contain;object-position:center;margin:0}.ai-project-proof figcaption{color:#213746;font-size:13px;line-height:1.6;margin-top:16px;text-align:center}
@media(max-width:900px){.service-work-grid.proof-three{grid-template-columns:1fr 1fr}.ai-project-proof{gap:24px;padding:26px}}
@media(max-width:600px){.service-work-grid,.service-work-grid.proof-three,.ai-project-proof{grid-template-columns:1fr}.service-work-copy{padding:24px}.service-work-art{height:145px}.proof-group-heading{margin-top:32px}.ai-project-proof{padding:24px}.service-work-copy h3{font-size:26px}}

/* The learning experiment is bright lime, including every decision state. */
.story-home .journey[data-route="learn"]{background:#c4e985;border-color:#c4e985;color:#17243b;--white:#17243b;--muted:#283d2c;--lime:#17243b}
.journey[data-route="learn"] .journey-top{background:#b7df70;border-color:#17243b26;color:#17243b}
.journey[data-route="learn"] .journey-visual{background:#dfefb7;border-color:#17243b26}
.journey[data-route="learn"] :is(h3,h4,p,.sample-label,.step-counter,.text-button,.conversation-label,.conversation-note,.decision small,.decision-arrow,.outcome-tag){color:#17243b}
.journey[data-route="learn"] .decision{background:#e7fbb9;border-color:#55782e;color:#17243b}
.journey[data-route="learn"] .decision:hover,.journey[data-route="learn"] .decision[aria-pressed="true"]{background:#f5ffe1;border-color:#17243b}
.journey[data-route="learn"] .conversation-message{background:#f8ffe9;color:#17243b}
.journey[data-route="learn"] .you-message{background:#bcdf70;color:#17243b}
.journey[data-route="learn"] .consequence{border-color:#17243b40}
.journey[data-route="learn"] :is(.goal-options button,.outcome-tag){border-color:#55782e;color:#17243b}
.journey[data-route="learn"] .goal-options button[aria-pressed="true"],.journey[data-route="learn"] .button.lime{background:#17243b;color:#f8ffe9;border-color:#17243b}
.journey[data-route="learn"] :is(button,a):focus-visible{outline-color:#17243b}

/* A process illustration, not an imitation interface with inactive controls. */
.process-story .depth-four{gap:22px}.process-story .depth-four>li{padding:26px;display:flex;flex-direction:column}
.process-stage{display:flex;align-items:center;gap:12px;margin-bottom:22px}.process-stage h3{font-size:25px!important;margin:0!important;color:#fff4e5}
.process-stage-icon{display:grid;place-items:center;width:42px;height:42px;flex:none;color:#bd98ff}.process-stage-icon svg{width:32px;height:34px}
.process-story li:nth-child(2) .process-stage-icon{color:#50ddec}.process-story li:nth-child(3) .process-stage-icon{color:#c4f247}.process-story li:nth-child(4) .process-stage-icon{color:#ffd25a}
.process-illustration{border-radius:8px;overflow:hidden;background:#0e182c;border:1px solid #354760;margin-bottom:25px}.process-illustration svg{display:block;width:100%;height:auto}

.process-story h4{font-family:var(--gl-display),sans-serif;font-size:22px;font-weight:500;line-height:1.25;color:#fff4e5;margin:0 0 15px}.process-story li>p{margin:0 0 20px}.process-story li>.process-art-caption{font-size:12px;color:#b9cbe1;margin:auto 0 0;padding-top:6px}
@media(min-width:801px) and (max-width:1200px){.process-story .depth-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.process-story .depth-four>li{padding:24px}.process-stage h3{font-size:27px!important}.process-illustration{max-height:235px}.process-illustration svg{height:235px;object-fit:contain}}

/* Keep the property caption readable in the original dark experiment palette. */
.journey .plan-caption span:last-child{color:#435c69}
/* Clear, generously sized service actions with each lab's own accent. */
.story-home .svc-copy>a{font-size:15px;line-height:1.4;min-height:52px;padding:14px 18px;border:1px solid var(--accent);border-radius:12px;background:#101b30;color:#fff8f0;gap:20px}
.story-home .svc-copy>a>span{font-size:24px;line-height:1;color:var(--accent)}
.story-home .svc-copy>a:hover{background:#273653;text-decoration:none}
.story-home .svc-copy>a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}

/* Illustration lettering follows the site's display typography. */
.svc-demo svg text,.process-illustration svg text{font-family:var(--gl-display,var(--display)),sans-serif;font-weight:500;letter-spacing:-.02em}

