/* Team PEDOX multi-page additions — uses the tokens defined in styles.css */
nav a[aria-current="page"]{color:var(--purple);box-shadow:inset 0 -2px 0 var(--gold)}
@media(max-width:1190px) and (min-width:901px){nav{gap:18px;font-size:11px}nav .nav-cta{margin-left:4px;padding:11px 14px;gap:12px}.brand img{width:130px}.brand-divider,.brand-domain{display:none}}
.section.soft{background:var(--soft)}
.section.plum{background:var(--plum);color:#fff}
.section.plum h2,.section.plum h3{color:#fff}
.section.plum p{color:#c9bdd3}

/* page hero */
.page-hero{background:var(--night);color:#fff;padding:70px 0 80px;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 85% 10%,#5c347155,transparent 60%);pointer-events:none}
.page-hero .container{position:relative}
.page-hero h1{font-size:clamp(40px,5vw,72px);letter-spacing:-3px;line-height:1.05;font-weight:600;margin:0 0 22px;max-width:900px;text-wrap:balance}
.page-hero h1 em,.tech-hero h1 em{color:var(--gold)}
.page-hero p{color:#c3b8cb;max-width:640px;font-size:17px;line-height:1.65}
.crumbs{display:flex;gap:10px;font-size:11px;color:#a898b3;margin-bottom:28px;flex-wrap:wrap}
.crumbs a{color:#d7cce1}.crumbs a:hover{color:var(--gold)}

/* shared layout */
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.split>*{min-width:0}
.prose p{font-size:15px;margin-top:14px;max-width:65ch}
.prose .lead{font-size:21px;line-height:1.5;color:var(--ink);margin-top:0}
.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:32px}
.timeline div{background:#fff;padding:16px;display:flex;flex-direction:column;gap:4px}
.timeline b{color:var(--purple);font-size:15px}.timeline span{font-size:12px;color:var(--muted);line-height:1.5}
.page-cta{background:var(--purple);color:#fff;padding:60px 0}
.page-cta .container{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.page-cta h2{color:#fff;font-size:clamp(26px,3vw,38px);letter-spacing:-1px;margin-bottom:10px}
.page-cta p{color:#e3d8ee;max-width:560px}

/* leadership & team */
.leaders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.leader{display:flex;gap:22px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--purple);padding:28px;min-width:0}
.avatar{flex:0 0 76px;height:76px;border-radius:50%;background:var(--plum);color:var(--gold);display:grid;place-items:center;font-size:24px;font-weight:700;letter-spacing:1px}
.leader h3{font-size:22px}.role{display:block;color:var(--purple);font-size:12px;font-weight:700;letter-spacing:.4px;margin:4px 0 10px}
.leader p{font-size:14px}
.advisors{margin-top:22px;background:#fff;border:1px solid var(--line);padding:24px 28px}
.advisors h3{font-size:15px;margin-bottom:14px}
.advisors ul,.team-group ul{list-style:none;margin:0;padding:0}
.advisors ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.advisors li{display:flex;flex-direction:column;font-size:14px}.advisors li span{font-size:12px;color:var(--muted)}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.team-group{border:1px solid var(--line);padding:24px;min-width:0}
.team-group h3{font-size:16px;color:var(--purple);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.team-group li{display:flex;gap:12px;align-items:center;padding:9px 0}
.team-group li div{display:flex;flex-direction:column;min-width:0}
.team-group li strong{font-size:14px}.team-group li span:not(.mini-avatar){font-size:12px;color:var(--muted);line-height:1.4}
.mini-avatar{flex:0 0 38px;height:38px;border-radius:50%;background:#f2edf5;color:var(--purple);display:grid;place-items:center;font-size:12px;font-weight:700}
.events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.event-card{margin:0;background:#2a1a3d;border:1px solid #3d2a55;min-width:0}
.event-card svg{display:block;width:100%;height:auto}
.event-card figcaption{padding:18px 20px 22px;color:#c9bdd3;font-size:13px;line-height:1.6}
.event-card strong{display:block;color:#fff;font-size:16px;margin-bottom:6px}
.illus{display:block;margin-top:10px;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--gold)}

/* projects */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.stats div{background:#fff;padding:28px 24px;display:flex;flex-direction:column;gap:8px}
.stats b{font-size:48px;letter-spacing:-2px;color:var(--purple);line-height:1;font-variant-numeric:tabular-nums}
.stats span{font-size:13px;color:var(--muted);line-height:1.5}
.bars{display:flex;flex-direction:column;gap:14px;max-width:900px}
.bar{display:grid;grid-template-columns:260px minmax(0,1fr) 44px;gap:18px;align-items:center}
.bar-label{font-size:14px;font-weight:600}
.bar-track{height:14px;background:#e9e3ee;border-radius:2px;overflow:hidden}
.bar-fill{display:block;height:100%;background:var(--purple)}
.bar:first-child .bar-fill{background:var(--plum)}
.bar-val{font-weight:700;color:var(--purple);font-variant-numeric:tabular-nums;text-align:right}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters button{border:1px solid var(--line);padding:9px 14px;font-size:12px;font-weight:600;border-radius:var(--radius)}
.filters button[aria-pressed="true"]{background:var(--plum);color:#fff;border-color:var(--plum)}
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.case{border:1px solid var(--line);border-top:3px solid var(--purple);padding:26px;display:flex;flex-direction:column;min-width:0}
.case[hidden]{display:none}
.case-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.tag{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:#f2edf5;color:var(--purple);padding:4px 9px;align-self:flex-start}
.loc{font-size:11px;color:var(--muted)}
.case h3{font-size:20px;margin-bottom:8px}.case .scope{font-size:14px;margin-bottom:14px}
.case ol{margin:0 0 16px;padding-left:20px;font-size:13px;color:var(--ink);line-height:1.6}
.case ol li{margin:4px 0}
.case .who{margin-top:auto;border-top:1px solid var(--line);padding-top:12px;font-size:12px}
.gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.g-item{position:relative;padding:0;overflow:hidden;background:#ddd;aspect-ratio:3/4;border-radius:var(--radius)}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.g-item:hover img{transform:scale(1.05)}
.g-item span{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;background:linear-gradient(transparent,#181120d9);color:#fff;font-size:12px;font-weight:600;text-align:left}
.lightbox{border:0;padding:0;background:transparent;max-width:min(1100px,94vw);max-height:92vh;overflow:visible}
.lightbox::backdrop{background:#181120e6}
.lightbox figure{margin:0}
.lightbox img{max-height:80vh;width:auto;margin:auto;border-radius:var(--radius)}
.lightbox figcaption{color:#fff;text-align:center;margin-top:12px;font-size:14px}
.lightbox button{position:fixed;color:#fff;font-size:38px;width:52px;height:52px;background:#ffffff1a;border-radius:50%;line-height:1}
.lb-close{top:18px;right:18px}.lb-prev{left:18px;top:50%}.lb-next{right:18px;top:50%}

/* clients */
.key-clients{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.key-clients li{background:#fff;padding:26px 20px;font-size:17px;font-weight:700;color:var(--plum);display:flex;align-items:center;min-height:92px;border-left:3px solid transparent}
.key-clients li:hover{border-left-color:var(--gold)}
.search input{width:min(320px,100%);border:1px solid var(--line);background:#fff;padding:12px 14px;border-radius:var(--radius)}
.az{columns:4 220px;column-gap:28px}
.az-group{break-inside:avoid;margin-bottom:22px}
.az-group[hidden]{display:none}
.az-group h3{font-size:22px;color:var(--purple);border-bottom:2px solid var(--gold);display:inline-block;margin-bottom:8px}
.az-group ul{list-style:none;margin:0;padding:0}
.az-group li{font-size:14px;padding:4px 0;border-bottom:1px solid var(--line)}
.az-group li[hidden]{display:none}

/* technical */
.tech-hero{background:var(--night);color:#fff;padding:60px 0 70px;overflow:hidden}
.tech-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}
.tech-grid>*{min-width:0}
.tech-hero h1{font-size:clamp(40px,4.8vw,70px);letter-spacing:-3px;line-height:1.04;font-weight:600;margin:0 0 20px}
.tech-hero p{color:#c3b8cb;font-size:16px;max-width:560px}
.coverage{display:flex;align-items:center;gap:14px;margin-top:30px;flex-wrap:wrap}
.coverage span{font-size:9px;letter-spacing:1.5px;font-weight:700;color:#a898b3}
.coverage b{font-size:15px}.coverage i{width:5px;height:5px;background:var(--gold)}
.scene-wrap{position:relative;border-radius:6px;overflow:hidden;box-shadow:0 30px 90px #0006}
.rig-scene{display:block;width:100%;height:auto}
.illus-note{position:absolute;right:12px;bottom:8px;font-size:10px!important;color:#fff!important;opacity:.7}
.rig{animation:rigRise 3.2s cubic-bezier(.2,.7,.2,1) both,rigBob 6s 3.2s ease-in-out infinite}
@keyframes rigRise{from{transform:translateY(190px)}to{transform:translateY(0)}}
@keyframes rigBob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
.van-move{animation:vanIn 1.6s cubic-bezier(.2,.8,.2,1) both}
@keyframes vanIn{from{transform:translateX(-700px)}to{transform:translateX(0)}}
.van-bob{animation:bob .35s ease-in-out infinite alternate}
@keyframes bob{to{transform:translateY(-2px)}}
.wheel{animation:spin .4s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.road-lines{animation:road .5s linear infinite}
@keyframes road{to{transform:translateX(-160px)}}
.speed{animation:speed .5s linear infinite}
@keyframes speed{0%{transform:translateX(30px);opacity:.9}100%{transform:translateX(-40px);opacity:0}}
.waves{animation:waves 5s linear infinite}
@keyframes waves{to{transform:translateX(-60px)}}
.blink{animation:blink 1.4s steps(2) infinite}
@keyframes blink{50%{opacity:.2}}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.svc{border:1px solid var(--line);border-top:3px solid var(--purple);padding:26px;min-width:0}
.svc .num{font-size:11px;font-weight:700;color:var(--purple);letter-spacing:1px}
.svc h3{font-size:20px;margin:12px 0 10px}.svc p{font-size:14px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.checks li{padding-left:34px;position:relative;color:#c9bdd3;font-size:14px}
.checks li::before{content:"";position:absolute;left:0;top:4px;width:18px;height:18px;border-radius:50%;background:var(--gold)}
.checks b{display:block;color:#fff;font-size:16px;margin-bottom:3px}
.tech-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.tc{border:1px solid var(--line);border-top:3px solid var(--gold);padding:28px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.tc .flag{font-size:28px;font-weight:700;color:#ddd3e4;letter-spacing:-1px}
.tc h3{font-size:24px}.tc>a:not(.button){font-size:18px;font-weight:700;color:var(--purple)}
.tc .button{margin-top:10px}

/* blog */
.posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.posts.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}
.post-card{border:1px solid var(--line);border-top:3px solid var(--purple);padding:28px;display:flex;flex-direction:column;gap:12px;background:#fff;transition:transform .2s,box-shadow .2s;min-width:0}
.post-card:hover{transform:translateY(-3px);box-shadow:0 14px 40px #21133114;color:inherit}
.post-card h3{font-size:22px;color:var(--ink)}.post-card.small h3{font-size:17px}
.post-card p{font-size:14px}.post-card .text-link{margin-top:auto;color:var(--purple)}
.article{max-width:760px}
.article .byline{font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:10px}
.article h2{font-size:26px;letter-spacing:-.6px;margin:34px 0 12px}
.article p{font-size:16px;line-height:1.8;color:#4a3f52}

/* home showcase */
.showcase{padding:80px 0}
.showcase-grid{display:grid;grid-template-columns:1.45fr .8fr;gap:44px;align-items:stretch}
.showcase-grid>*{min-width:0}
.slider{position:relative;background:var(--night);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.slides{position:relative;aspect-ratio:16/9}
.slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .8s}
.slide.is-active{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover}
.slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 22px 18px;background:linear-gradient(transparent,#181120e6);color:#fff}
.slide figcaption strong{display:block;font-size:20px}
.slide figcaption span{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--gold)}
.slider-ui{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--plum)}
.slider-ui button{color:#fff;font-size:22px;width:36px;height:36px;border-radius:50%;background:#ffffff14}
.slider-ui .s-pause{font-size:11px;margin-left:auto}
.dots{display:flex;gap:6px;flex-wrap:wrap}
.dot{width:9px!important;height:9px!important;border-radius:50%;padding:0;background:#ffffff40!important}
.dot.is-active{background:var(--gold)!important}
.quick-links{display:flex;flex-direction:column}
.quick-links h2{margin-bottom:18px}
.quick{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:14px;padding:16px 0;border-top:1px solid var(--line)}
.quick:last-child{border-bottom:1px solid var(--line)}
.quick strong{font-size:16px}.quick span{grid-column:1;font-size:12px;color:var(--muted)}
.quick .icon{grid-row:1/3;grid-column:2;transition:transform .2s}
.quick:hover .icon{transform:translate(3px,-3px)}

@media(max-width:1190px){.cases,.svc-grid,.team-grid,.events{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.key-clients{grid-template-columns:repeat(3,minmax(0,1fr))}.tech-grid,.showcase-grid{grid-template-columns:1fr}.advisors ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:30px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.leaders,.tech-contacts,.posts,.posts.three{grid-template-columns:1fr}.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.bar{grid-template-columns:1fr 44px}.bar-label{grid-column:1/-1}}
@media(max-width:640px){.cases,.svc-grid,.team-grid,.events{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.key-clients{grid-template-columns:repeat(2,minmax(0,1fr))}.key-clients li{font-size:14px;min-height:70px;padding:16px}.stats b{font-size:36px}.page-hero{padding:48px 0 56px}.page-hero h1,.tech-hero h1{letter-spacing:-1.5px}.leader{flex-direction:column}.advisors ul{grid-template-columns:1fr}.lb-prev,.lb-next{top:auto!important;bottom:18px}}
@media(prefers-reduced-motion:reduce){.rig,.van-move,.van-bob,.wheel,.road-lines,.speed,.waves,.blink{animation:none!important}.slide{transition:none}}
@media print{.slider-ui,.lightbox,.page-cta{display:none!important}}
