/* PDPS V1.1: Gutenberg-friendly configurable sections + projects and horizontal timelines */
.pdps-v11-section{--pdps-v11-bg:#fff;--pdps-v11-fg:#1d2a36;--pdps-v11-muted:#485564;--pdps-v11-accent:var(--blue);--pdps-v11-border:#dfe4e9;background:var(--pdps-v11-bg);color:var(--pdps-v11-fg)}
.pdps-tone-white{--pdps-v11-bg:#fff;--pdps-v11-fg:#1d2a36;--pdps-v11-muted:#485564;--pdps-v11-accent:var(--blue);--pdps-v11-border:#dfe4e9}
.pdps-tone-pale{--pdps-v11-bg:#f4f7f9;--pdps-v11-fg:#1d2a36;--pdps-v11-muted:#485564;--pdps-v11-accent:var(--blue);--pdps-v11-border:#dfe4e9}
.pdps-tone-navy{--pdps-v11-bg:var(--navy2);--pdps-v11-fg:#fff;--pdps-v11-muted:#c2cbd8;--pdps-v11-accent:#b1baff;--pdps-v11-border:#435165}
.pdps-tone-blue{--pdps-v11-bg:var(--blue);--pdps-v11-fg:#fff;--pdps-v11-muted:#e0e2ff;--pdps-v11-accent:#f6f7ff;--pdps-v11-border:#7378c8}
.pdps-v11-section:not(.pdps-v11-hero) h2,.pdps-v11-section:not(.pdps-v11-hero) h3{color:var(--pdps-v11-fg)}
.pdps-v11-section .section-head__side p,.pdps-v11-section .two-feature p,.pdps-v11-section .pdps-timeline p{color:var(--pdps-v11-muted)}
.pdps-v11-section .kicker,.pdps-v11-section .section-head h2 span{color:var(--pdps-v11-accent)}
.pdps-v11-section .kicker:before{background:var(--pdps-v11-accent)}
.pdps-tone-navy .btn--outline,.pdps-tone-blue .btn--outline{color:#fff;border-color:rgba(255,255,255,.7)}
.pdps-tone-navy .btn--outline:hover,.pdps-tone-blue .btn--outline:hover{background:#fff;color:var(--navy2)}
.pdps-v11-section .hero{background:var(--pdps-v11-bg)}
.pdps-v11-section .hero__copy{background:var(--pdps-v11-bg);color:var(--pdps-v11-fg)}
.pdps-v11-section .hero h1{color:var(--pdps-v11-fg)}
.pdps-v11-section .hero h1 em{color:var(--pdps-v11-accent)}
.pdps-v11-section .hero__identifier{color:var(--pdps-v11-accent);white-space:normal}
.pdps-v11-section .hero__copy p{color:var(--pdps-v11-muted)}
.pdps-v11-section .hero__huge-mark{color:rgba(104,118,170,.055)}
.pdps-v11-section .hero__coordinates{color:var(--pdps-v11-muted)}
.pdps-tone-white .hero .btn--white,.pdps-tone-pale .hero .btn--white{background:var(--blue);color:#fff}
.pdps-tone-white .hero .btn--ghost,.pdps-tone-pale .hero .btn--ghost{border-color:var(--blue);color:var(--blue)}
.pdps-tone-white .hero .btn--ghost:hover,.pdps-tone-pale .hero .btn--ghost:hover{color:#fff;background:var(--blue)}
.pdps-v11-stats .proof-strip{background:var(--pdps-v11-bg);border-color:var(--pdps-v11-border)}
.pdps-v11-stats .proof-strip__inner>div{border-color:var(--pdps-v11-border)}
.pdps-v11-stats .proof-strip__inner strong,.pdps-v11-stats .proof-strip__inner>a{color:var(--pdps-v11-accent)}
.pdps-v11-stats .proof-strip__inner span{color:var(--pdps-v11-muted)}
.pdps-v11-services .cap-grid{grid-template-columns:repeat(4,minmax(0,1fr));border-color:var(--pdps-v11-border)}
.pdps-v11-services .cap-card{border-color:var(--pdps-v11-border);color:var(--pdps-v11-fg)}
.pdps-v11-services .cap-card p{color:var(--pdps-v11-muted)}
.pdps-v11-services .cap-card:hover{background:var(--navy2);color:#fff}
.pdps-v11-services .cap-card:hover h3{color:#fff}
.pdps-v11-services .cap-card:hover p{color:#cbd5e1}
.pdps-v11-feature .feature-split{background:var(--pdps-v11-bg);color:var(--pdps-v11-fg)}
.pdps-v11-feature .feature-split__content{color:var(--pdps-v11-fg)}
.pdps-v11-feature .feature-split__content>p{color:var(--pdps-v11-muted)}
.pdps-v11-feature .approach-list,.pdps-v11-feature .approach-list>div{border-color:var(--pdps-v11-border)}
.pdps-v11-feature .approach-list>div>span:first-child{color:var(--pdps-v11-accent)}
.pdps-v11-feature .approach-list small{color:var(--pdps-v11-muted)}
.pdps-v11-feature .feature-split__content h2{color:var(--pdps-v11-fg)}
.pdps-v11-industries .two-feature{color:var(--pdps-v11-fg)}
.pdps-v11-industries .sector-list>div{border-color:var(--pdps-v11-border)}
.pdps-v11-industries .sector-list strong{color:var(--pdps-v11-fg)}
.pdps-v11-industries .sector-list span{color:var(--pdps-v11-accent)}
.pdps-v11-news .news-section,.pdps-v11-news .section{background:var(--pdps-v11-bg)}
.pdps-v11-cta .cta-strip{background:var(--pdps-v11-bg);color:var(--pdps-v11-fg)}
.pdps-v11-cta .cta-strip h2{color:var(--pdps-v11-fg)}
.pdps-v11-cta .cta-strip p{color:var(--pdps-v11-muted)}
.pdps-tone-white.pdps-v11-cta .btn--white,.pdps-tone-pale.pdps-v11-cta .btn--white{background:var(--blue);color:#fff}
.pdps-tone-navy .office,.pdps-tone-blue .office{border-color:var(--pdps-v11-border);background:rgba(255,255,255,.07)}
.pdps-v11-offices .office>p{color:var(--pdps-v11-muted)}
.pdps-v11-offices .office__links a{color:var(--pdps-v11-accent)}
.pdps-v11-free{padding:82px 0}
.pdps-v11-free__inner{margin-inline:auto;padding-inline:30px;max-width:1232px}
.pdps-width-narrow .pdps-v11-free__inner{max-width:850px}
.pdps-width-full .pdps-v11-free__inner{max-width:none}
.pdps-space-compact{padding-block:35px}.pdps-space-spacious{padding-block:125px}
.pdps-v11-free h1,.pdps-v11-free h2,.pdps-v11-free h3{color:var(--pdps-v11-fg)}
.pdps-v11-free p{color:var(--pdps-v11-muted)}
.pdps-v11-free .wp-block-button__link{background:var(--pdps-v11-accent);color:var(--pdps-v11-bg);border-radius:0}
.pdps-v11-free img{max-width:100%;height:auto}
/* Horizontal timeline — accessible snap scrolling, deliberate restrained motion */
.pdps-timeline{position:relative}
.pdps-timeline__controls{display:flex;justify-content:flex-end;gap:8px;margin:0 0 15px}
.pdps-timeline__controls button{width:42px;height:42px;border:1px solid var(--pdps-v11-border);color:var(--pdps-v11-fg);background:transparent;cursor:pointer;font-size:20px;transition:.2s}
.pdps-timeline__controls button:hover:not(:disabled){background:var(--pdps-v11-accent);color:var(--pdps-v11-bg)}
.pdps-timeline__controls button:disabled{opacity:.32;cursor:not-allowed}
.pdps-timeline__track{display:flex;gap:0;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:34px 0 18px}
.pdps-timeline__entry{position:relative;scroll-snap-align:start;flex:0 0 clamp(235px,29%,355px);padding:15px 29px 18px 0;min-width:0;border-top:2px solid var(--pdps-v11-border)}
.pdps-timeline__dot{position:absolute;top:-9px;left:0;width:16px;height:16px;border:3px solid var(--pdps-v11-accent);border-radius:50%;background:var(--pdps-v11-bg);transition:transform .2s}
.pdps-timeline__entry:hover .pdps-timeline__dot{transform:scale(1.2)}
.pdps-timeline__date{font-size:13px;color:var(--pdps-v11-accent);font-weight:800;letter-spacing:.08em;margin-bottom:19px}
.pdps-timeline__entry h3{font-size:22px;margin:13px 0}
.pdps-timeline__entry p{font-size:13px;line-height:1.8;margin:0}
.pdps-timeline__photo{height:148px;overflow:hidden;margin-bottom:18px}
.pdps-timeline__photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pdps-timeline__entry:hover .pdps-timeline__photo img{transform:scale(1.035)}
/* Project gallery: native attachment sizes and a focus-trapped JS lightbox */
.pdps-project-detail-gallery{margin-top:48px}
.pdps-project-detail-gallery h2{font-size:28px}
.pdps-project-detail-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.pdps-project-detail-gallery__grid a{display:block;overflow:hidden;background:#e8ecf1;aspect-ratio:4/3}
.pdps-project-detail-gallery__grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.pdps-project-detail-gallery__grid a:hover img{transform:scale(1.05)}
.pdps-lightbox{position:fixed;inset:0;background:rgba(5,12,22,.96);color:#fff;z-index:99999;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:58px 80px 32px}
.pdps-lightbox[hidden]{display:none!important}.pdps-lightbox img{max-height:calc(100vh - 145px);max-width:100%;object-fit:contain}
.pdps-lightbox button{background:rgba(255,255,255,.15);border:1px solid #8c9bac;color:#fff;cursor:pointer;padding:10px 16px;font-size:18px}
.pdps-lightbox__close{position:absolute;top:17px;right:22px}.pdps-lightbox__prev{position:absolute;left:14px;top:50%}.pdps-lightbox__next{position:absolute;right:14px;top:50%}.pdps-lightbox__caption{font-size:13px;text-align:center}
@media(max-width:1020px){.pdps-v11-services .cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pdps-v11-services .cap-card:nth-child(2n){border-right:0}.pdps-project-detail-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.pdps-v11-services .cap-grid{grid-template-columns:1fr}.pdps-v11-services .cap-card{border-right:0}.pdps-timeline__entry{flex-basis:84%;padding-right:20px}.pdps-project-detail-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.pdps-lightbox{padding:60px 45px 35px}.pdps-v11-free{padding-block:55px}}
@media(prefers-reduced-motion:reduce){.pdps-timeline__track{scroll-behavior:auto}.pdps-timeline__dot,.pdps-timeline__photo img,.pdps-project-detail-gallery__grid img{transition:none}}


/* V1.1.2: Full-height hero and readable statistics strip on navy backgrounds. */
@media (min-width: 1021px) {
 .pdps-v11-hero .hero, .pdps-v11-hero .hero__media {min-height:max(675px,calc(100svh - 118px));}
}
.pdps-v11-stats.pdps-tone-navy .proof-strip__inner span,
.pdps-v11-stats.pdps-tone-blue .proof-strip__inner span {color:#edf2fa;}
.pdps-v11-stats.pdps-tone-navy .proof-strip__inner>a,
.pdps-v11-stats.pdps-tone-blue .proof-strip__inner>a {color:#fff;}
.pdps-v11-stats.pdps-tone-navy .proof-strip__inner strong {color:#fff;}
.pdps-v11-stats.pdps-tone-blue .proof-strip__inner strong {color:#fff;}


/* V1.1.3: Adjust first-screen composition so header + hero + stats fit closer to the approved reference. */
:root{--pdps-admin-bar-offset:0px;--pdps-firstscreen-static-offset:236px;}
body.admin-bar{--pdps-admin-bar-offset:32px;}
@media (max-width: 782px){body.admin-bar{--pdps-admin-bar-offset:46px;}}
@media (min-width: 1021px) {
  .hero, .hero__media {min-height:clamp(560px,calc(100svh - var(--pdps-firstscreen-static-offset) - var(--pdps-admin-bar-offset)),690px);}
  .pdps-v11-hero .hero, .pdps-v11-hero .hero__media {min-height:clamp(560px,calc(100svh - var(--pdps-firstscreen-static-offset) - var(--pdps-admin-bar-offset)),690px);}
  .hero__copy-content{padding-top:60px;padding-bottom:40px;}
  .hero__tag{bottom:56px;}
  .hero__scroll{bottom:24px;}
}
