/* ============ page-specific components ============ */

/* ---------- HOME hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy)}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media .hero-video,.hero-media .hero-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media .hero-fallback{z-index:0;will-change:transform;backface-visibility:hidden;animation:slowzoom 28s ease-in-out infinite alternate}
.hero-media .hero-video{z-index:1}
.hero-media::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(14,42,71,.12) 0%,rgba(14,42,71,0) 30%,rgba(14,42,71,.15) 60%,rgba(14,42,71,.78) 100%)}
.hero-inner{position:relative;z-index:2;width:100%;padding:0 var(--pad) clamp(46px,8vh,90px)}
.hero h1{color:#fff;font-weight:600;font-size:clamp(44px,8.5vw,128px);line-height:.95;letter-spacing:-.025em;max-width:15ch}
.hero .eyebrow{color:var(--blue-l);display:block;margin-bottom:28px}
.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:42px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);flex-wrap:wrap}
.hero-foot p{color:var(--ice);font-size:clamp(14px,1.5vw,17px);max-width:46ch;line-height:1.55}
.hero-foot .tags{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:600;white-space:nowrap}

/* ---------- HOME: intro statement ---------- */
.intro{max-width:1500px;margin:0 auto;padding:clamp(90px,14vh,160px) var(--pad);display:grid;grid-template-columns:1fr 2.3fr;gap:clamp(30px,6vw,90px)}
.intro .side{display:flex;flex-direction:column;gap:12px}
.intro .side .idx{font-family:var(--display);font-size:14px;font-weight:600;color:var(--blue)}
.intro .side .ttl{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--slate)}
.intro .big{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.6vw,50px);line-height:1.16;letter-spacing:-.02em;color:var(--navy)}
.intro .big b{font-weight:600}.intro .big .mut{color:var(--steel)}

/* ---------- HOME: gateway cards (to subpages) ---------- */
.gateway{max-width:1500px;margin:0 auto;padding:0 var(--pad) clamp(80px,12vh,140px);display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.6vw,22px)}
.gcard{position:relative;min-height:clamp(300px,40vh,440px);overflow:hidden;display:flex;align-items:flex-end;background:var(--navy)}
.gcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.gcard:hover img{transform:scale(1.06)}
.gcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,42,71,.15) 30%,rgba(10,32,56,.9))}
.gcard .gc{position:relative;z-index:2;padding:clamp(30px,3.5vw,48px);width:100%}
.gcard .gnum{font-size:12px;letter-spacing:.2em;color:var(--blue-l);font-weight:600;display:block;margin-bottom:14px}
.gcard h3{font-size:clamp(26px,3vw,40px);font-weight:600;color:#fff;letter-spacing:-.015em;margin-bottom:10px}
.gcard p{font-size:14.5px;color:var(--ice);line-height:1.55;max-width:38ch;margin-bottom:18px}
.gcard .go{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff;display:inline-flex;align-items:center;gap:10px;transition:gap .4s}
.gcard:hover .go{gap:18px}

/* ---------- editorial rows (model) ---------- */
.rows{max-width:1500px;margin:0 auto;padding:clamp(50px,7vh,90px) var(--pad) clamp(80px,12vh,140px)}
.row{display:grid;grid-template-columns:72px 1fr 1.05fr auto;gap:clamp(20px,3vw,48px);align-items:center;padding:clamp(28px,3.5vw,44px) 0;border-top:1px solid var(--line)}
.row:last-child{border-bottom:1px solid var(--line)}
.row .rn{font-family:var(--display);font-size:clamp(28px,3.6vw,46px);font-weight:600;color:var(--blue-l);line-height:1}
.row .rt .k{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}
.row .rt h3{font-size:clamp(22px,2.6vw,34px);font-weight:600;color:var(--navy);margin-top:6px;letter-spacing:-.01em}
.row .rd{color:var(--slate);font-size:clamp(14px,1.5vw,16.5px);line-height:1.66;max-width:50ch}
.row .rd .val{display:block;margin-top:14px;font-weight:600;color:var(--navy)}
.row .rimg{width:clamp(140px,17vw,230px);height:clamp(100px,11vw,150px);overflow:hidden;position:relative}
.row .rimg img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.row:hover .rimg img{transform:scale(1.07)}

/* ---------- asymmetric sector grid (navy) ---------- */
.sectors-wrap{background:var(--navy);color:#fff;padding-bottom:clamp(70px,10vh,120px)}
.sectors-wrap .section-head h2{color:#fff}.sectors-wrap .section-head .sub{color:var(--ice)}
.sgrid{max-width:1500px;margin:0 auto;padding:clamp(40px,6vh,70px) var(--pad) 0;display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(10px,1.4vw,18px)}
.scell{position:relative;overflow:hidden;background:#0a2038}
.scell img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.scell:hover img{transform:scale(1.07)}
.scell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,32,56,0) 35%,rgba(10,32,56,.88))}
.scell .lab{position:absolute;left:clamp(18px,2vw,28px);bottom:clamp(16px,2vw,24px);z-index:2;right:18px}
.scell .lab .n{font-size:11px;letter-spacing:.18em;color:var(--blue-l);font-weight:600;display:block;margin-bottom:6px}
.scell .lab h3{font-size:clamp(18px,1.9vw,26px);font-weight:600;color:#fff}
.scell .lab p{font-size:13px;color:var(--steel);margin-top:4px;line-height:1.5}
.scell.tall{grid-column:span 6;aspect-ratio:16/10}
.scell.wide{grid-column:span 6;aspect-ratio:16/10}
.scell.third{grid-column:span 4;aspect-ratio:4/5}
.scell.half{grid-column:span 6;aspect-ratio:16/9}
@media(max-width:760px){.scell.tall,.scell.wide,.scell.third,.scell.half{grid-column:span 12;aspect-ratio:16/9}}

/* ---------- big detailed sector blocks (sectors page) ---------- */
.sblock{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border-bottom:1px solid var(--line)}
.sblock:nth-child(even) .sb-img{order:2}
.sb-img{position:relative;min-height:clamp(360px,50vh,560px);overflow:hidden}
.sb-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.3s cubic-bezier(.16,1,.3,1)}
.sblock:hover .sb-img img{transform:scale(1.05)}
.sb-txt{padding:clamp(44px,5vw,90px) var(--pad);display:flex;flex-direction:column;justify-content:center}
.sb-txt .snum{font-family:var(--display);font-size:clamp(28px,3vw,44px);font-weight:600;color:var(--line);margin-bottom:18px}
.sb-txt h2{font-size:clamp(26px,3vw,42px);font-weight:600;color:var(--navy);letter-spacing:-.015em;margin-bottom:18px}
.sb-txt p{font-size:clamp(14.5px,1.5vw,16.5px);color:var(--slate);line-height:1.7;max-width:46ch;margin-bottom:20px}
.sb-txt .tags{display:flex;flex-wrap:wrap;gap:8px}
.sb-txt .tags span{font-size:11.5px;font-weight:600;letter-spacing:.06em;color:var(--navy);border:1px solid var(--line);padding:7px 14px}
@media(max-width:880px){.sblock{grid-template-columns:1fr}.sblock:nth-child(even) .sb-img{order:0}}

/* ---------- why list / split ---------- */
.why-split{max-width:1500px;margin:0 auto;padding:clamp(40px,6vh,70px) var(--pad) clamp(80px,12vh,140px);display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(36px,5vw,80px);align-items:start}
.why-item{display:grid;grid-template-columns:60px 1fr;gap:clamp(16px,2vw,28px);align-items:baseline;padding:clamp(26px,3vw,38px) 0;border-top:1px solid var(--line);transition:padding-left .5s cubic-bezier(.16,1,.3,1)}
.why-item:last-child{border-bottom:1px solid var(--line)}.why-item:hover{padding-left:12px}
.why-item .wn{font-family:var(--display);font-size:clamp(22px,2.6vw,34px);font-weight:600;color:var(--blue-l)}
.why-item h3{font-size:clamp(18px,2vw,26px);font-weight:600;color:var(--navy);letter-spacing:-.01em}
.why-item p{font-size:14px;color:var(--slate);line-height:1.6;margin-top:6px}
.why-split .wimg{position:sticky;top:120px;height:clamp(440px,62vh,660px);overflow:hidden}
.why-split .wimg img{width:100%;height:100%;object-fit:cover}
@media(max-width:1024px){.why-split{grid-template-columns:1fr}.why-split .wimg{display:none}.why-item{grid-template-columns:46px 1fr}}

/* ---------- value chain ---------- */
.chain{max-width:1500px;margin:0 auto;padding:clamp(40px,6vh,70px) var(--pad) clamp(30px,4vh,50px);display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.clink{background:var(--white);position:relative;overflow:hidden;min-height:320px;display:flex;flex-direction:column;justify-content:flex-end}
.clink .cimg{position:absolute;inset:0;z-index:0;opacity:.15;transition:opacity .6s}.clink .cimg img{width:100%;height:100%;object-fit:cover}
.clink:hover .cimg{opacity:.34}
.clink.hl{background:var(--navy)}.clink.hl .cimg{opacity:.3}
.clink .ct{position:relative;z-index:2;padding:clamp(20px,2vw,26px)}
.clink .topn{position:absolute;top:20px;left:clamp(20px,2vw,26px);z-index:2;font-size:11px;letter-spacing:.18em;color:var(--blue);font-weight:600}
.clink.hl .topn{color:var(--blue-l)}
.clink .ct h4{font-family:var(--display);font-size:clamp(17px,1.7vw,21px);font-weight:600;color:var(--navy);margin-bottom:8px}
.clink.hl .ct h4{color:#fff}
.clink .ct p{font-size:12.5px;color:var(--slate);line-height:1.5}.clink.hl .ct p{color:var(--ice)}
.crosscut{max-width:1500px;margin:0 auto;padding:0 var(--pad) clamp(80px,12vh,130px)}
.crosscut-in{background:var(--navy);padding:clamp(26px,3vw,38px) clamp(28px,3.5vw,46px);display:flex;gap:clamp(20px,3vw,46px);align-items:center;flex-wrap:wrap}
.crosscut-in .ck{font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--blue-l);white-space:nowrap}
.crosscut-in .cp{color:var(--ice);font-size:clamp(14px,1.5vw,17px);line-height:1.55}
@media(max-width:1024px){.chain{grid-template-columns:1fr}}

/* ---------- principles (3 strategy cols) ---------- */
.principles{max-width:1500px;margin:0 auto;padding:0 var(--pad) clamp(80px,12vh,140px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,64px)}
.pcol{border-top:2px solid var(--navy);padding-top:26px}
.pcol .pn{font-family:var(--display);font-size:26px;font-weight:600;color:var(--blue-l);margin-bottom:18px}
.pcol h3{font-size:clamp(19px,2vw,25px);font-weight:600;color:var(--navy);margin-bottom:14px}
.pcol p{font-size:14.5px;color:var(--slate);line-height:1.66;margin-bottom:18px}
.pcol .ex{font-size:12.5px;color:var(--slate);line-height:1.55;padding-top:15px;border-top:1px solid var(--line)}
.pcol .ex b{display:block;color:var(--blue);font-weight:600;letter-spacing:.14em;font-size:11px;margin-bottom:5px}
@media(max-width:1024px){.principles{grid-template-columns:1fr;gap:0}.pcol{padding:30px 0;border-top:1px solid var(--line)}.pcol:first-child{border-top:2px solid var(--navy)}}

/* ---------- ethos (vision + values) ---------- */
.ethos{background:var(--navy);color:#fff}
.ethos .vision{max-width:1500px;margin:0 auto;padding:clamp(90px,14vh,160px) var(--pad) clamp(50px,7vh,80px)}
.ethos .vision .eyebrow{display:block;margin-bottom:30px}
.ethos .vision h2{font-weight:600;font-size:clamp(30px,5vw,66px);line-height:1.08;letter-spacing:-.025em;color:#fff;max-width:18ch}
.ethos .vision h2 em{color:var(--blue-l)}
.values{max-width:1500px;margin:0 auto;padding:0 var(--pad) clamp(60px,9vh,110px);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16)}
.value{padding:clamp(32px,4vw,50px) clamp(20px,2.5vw,40px) 0;border-right:1px solid rgba(255,255,255,.12)}
.value:last-child{border-right:none}
.value .vn{font-family:var(--display);font-size:14px;color:var(--blue-l);margin-bottom:18px;font-weight:600}
.value h3{font-weight:600;font-size:clamp(24px,3vw,38px);color:#fff;margin-bottom:14px}
.value p{font-size:14px;color:var(--ice);line-height:1.6;max-width:32ch}
@media(max-width:1024px){.values{grid-template-columns:1fr}.value{border-right:none;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:32px}.value:last-child{border-bottom:none}}

/* ---------- principles band (the 10) ---------- */
.principles-band{background:var(--paper)}
.pr-list{max-width:1500px;margin:0 auto;padding:clamp(40px,6vh,70px) var(--pad) clamp(80px,12vh,140px);display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(40px,6vw,100px)}
.pr{display:grid;grid-template-columns:54px 1fr;gap:clamp(14px,2vw,26px);align-items:baseline;padding:clamp(22px,2.6vw,30px) 0;border-top:1px solid var(--line);transition:padding-left .5s cubic-bezier(.16,1,.3,1)}
.pr:hover{padding-left:10px}
.pr .prn{font-family:var(--display);font-weight:600;font-size:clamp(18px,2vw,24px);color:var(--blue-l)}
.pr h4{font-family:var(--display);font-weight:600;font-size:clamp(18px,1.9vw,23px);color:var(--navy);margin-bottom:7px}
.pr p{font-size:13.5px;color:var(--slate);line-height:1.6;max-width:42ch}
@media(max-width:760px){.pr-list{grid-template-columns:1fr;gap:0}}

/* ---------- partners (split) ---------- */
.partner{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border-bottom:1px solid var(--line)}
.partner:nth-child(even) .pimg{order:2}
.partner .pimg{position:relative;min-height:clamp(320px,42vh,480px);overflow:hidden}
.partner .pimg img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.partner:hover .pimg img{transform:scale(1.05)}
.partner .pimg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,42,71,.2),rgba(14,42,71,.55))}
.partner .pinfo{padding:clamp(40px,5vw,80px) var(--pad);display:flex;flex-direction:column;justify-content:center}
.partner .pinfo .chip{font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--blue);margin-bottom:22px}
.partner .pinfo h3{font-size:clamp(26px,3.2vw,40px);font-weight:600;color:var(--navy);letter-spacing:-.02em;margin-bottom:8px}
.partner .pinfo .role{font-size:14px;color:var(--slate);margin-bottom:24px;font-weight:500}
.partner .pinfo p{font-size:clamp(14.5px,1.5vw,16.5px);color:var(--ink);line-height:1.7;max-width:48ch;margin-bottom:26px}
.partner .pinfo .badge{font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--blue);display:flex;align-items:center;gap:10px}
.partner .pinfo .badge .ln{width:30px;height:1px;background:var(--blue)}
@media(max-width:880px){.partner{grid-template-columns:1fr}.partner:nth-child(even) .pimg{order:0}}

/* ---------- presence ---------- */
.presence{background:var(--navy);color:#fff}
.pres-grid{max-width:1500px;margin:0 auto;padding:clamp(40px,6vh,70px) var(--pad) clamp(90px,12vh,140px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px)}
.office{position:relative;min-height:clamp(360px,50vh,520px);overflow:hidden;display:flex;align-items:flex-end}
.office img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.office:hover img{transform:scale(1.06)}
.office::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,42,71,.1) 30%,rgba(10,32,56,.9))}
.office .om{position:relative;z-index:2;padding:clamp(30px,4vw,48px)}
.office .om .city{font-family:var(--display);font-weight:600;font-size:clamp(34px,4.5vw,60px);color:#fff;letter-spacing:.01em;line-height:1}
.office .om .ln{width:46px;height:2px;background:var(--blue-l);margin:18px 0 16px}
.office .om .role{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-l);margin-bottom:10px}
.office .om .desc{font-size:14.5px;color:var(--ice);line-height:1.6;max-width:40ch}
@media(max-width:760px){.pres-grid{grid-template-columns:1fr}}

/* ---------- careers ---------- */
.careers-body{max-width:1500px;margin:0 auto;padding:clamp(44px,6vh,70px) var(--pad) clamp(50px,7vh,80px);display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,80px);align-items:start}
.careers-body .lead-txt{font-family:var(--display);font-weight:400;font-size:clamp(20px,2.4vw,30px);line-height:1.34;letter-spacing:-.01em;color:var(--navy)}
.careers-body .meta{display:flex;flex-direction:column;gap:24px}
.careers-body .meta .mblock h5{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
.careers-body .meta .mblock a,.careers-body .meta .mblock p{font-size:16px;color:var(--ink);line-height:1.5}
.careers-body .meta .mblock a:hover{color:var(--blue)}
.apply{position:relative;min-height:clamp(380px,52vh,560px);display:flex;align-items:center;overflow:hidden;background:var(--navy)}
.apply img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4;z-index:0}
.apply::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(14,42,71,.85),rgba(14,42,71,.5));z-index:1}
.apply-in{position:relative;z-index:2;max-width:1500px;margin:0 auto;width:100%;padding:0 var(--pad)}
.apply-in h3{font-family:var(--display);font-weight:600;font-size:clamp(28px,4.4vw,56px);color:#fff;line-height:1.08;letter-spacing:-.02em}
.apply-in h3 em{color:var(--blue-l)}
@media(max-width:880px){.careers-body{grid-template-columns:1fr;gap:36px}}

/* ---------- mini gateway (bottom of subpages: link to others) ---------- */
.morelinks{max-width:1500px;margin:0 auto;padding:0 var(--pad) clamp(80px,12vh,130px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,22px)}
.mlink{position:relative;min-height:240px;overflow:hidden;display:flex;align-items:flex-end;background:var(--navy)}
.mlink img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.mlink:hover img{transform:scale(1.06)}
.mlink::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,42,71,.1) 40%,rgba(10,32,56,.9))}
.mlink .ml{position:relative;z-index:2;padding:clamp(24px,3vw,36px)}
.mlink .ml .e{font-size:11px;letter-spacing:.18em;color:var(--blue-l);font-weight:600;display:block;margin-bottom:8px}
.mlink .ml h4{font-size:clamp(20px,2vw,28px);font-weight:600;color:#fff}
@media(max-width:760px){.morelinks{grid-template-columns:1fr}}

/* ============ MOBILE FIXES (≤760px) ============ */
@media(max-width:760px){
  /* rows (Build/Operate/Supply) — stack cleanly, hide side image */
  .rows{padding-left:0;padding-right:0}
  .row{grid-template-columns:1fr;gap:10px;padding:30px var(--pad)}
  .row .rn{font-size:32px}
  .row .rt h3{font-size:24px;margin-top:2px}
  .row .rd{max-width:100%;font-size:15px}
  .row .rimg{display:none}
  /* intro — single column, smaller text */
  .intro{grid-template-columns:1fr;gap:18px;padding-top:clamp(70px,12vh,110px);padding-bottom:clamp(70px,12vh,110px)}
  .intro .side{flex-direction:row;gap:14px;align-items:baseline}
  .intro .big{font-size:26px;line-height:1.22}
  /* gateway cards single column */
  .gateway{grid-template-columns:1fr}
  /* hero text + foot */
  .hero h1{font-size:clamp(40px,12vw,60px);max-width:100%}
  .hero-foot{flex-direction:column;align-items:flex-start;gap:16px}
  .hero-foot .tags{white-space:normal;font-size:11px;line-height:1.7}
  .hero-foot p{font-size:14px}
  /* page hero */
  .phero{min-height:auto;padding-top:130px;padding-bottom:50px}
  .phero h1{font-size:clamp(34px,10vw,52px)}
  /* section heads */
  .section-head{padding-top:clamp(60px,10vh,90px)}
  .section-head h2{font-size:clamp(26px,7vw,38px);max-width:100%}
  /* value chain — let each step size to content */
  .clink{min-height:200px}
  /* sector detailed blocks text */
  .sb-txt{padding-top:40px;padding-bottom:40px}
  .sb-txt h2{font-size:clamp(24px,7vw,34px)}
  /* band text */
  .band{height:auto;min-height:60vh;padding:80px 0}
  .band .bc h2{font-size:clamp(26px,7vw,40px)}
  /* ethos / careers headings */
  .ethos .vision h2{font-size:clamp(26px,7vw,40px)}
  .careers-body{grid-template-columns:1fr;gap:28px}
  .careers-body .lead-txt{font-size:22px}
  .apply-in h3{font-size:clamp(26px,7vw,40px)}
  /* cta */
  .cta h2{font-size:clamp(34px,11vw,56px)}
  /* prevent any horizontal overflow */
  .row,.intro,.gateway,.chain,.principles,.pr-list,.values{overflow-x:hidden}
}

@media(max-width:760px){
  /* crosscut band wrap fix */
  .crosscut-in{flex-direction:column;align-items:flex-start;gap:12px}
  .crosscut-in .ck{white-space:normal}
  /* value chain images shouldn't overflow */
  .clink .cimg img{max-width:100%}
  /* partner / office text overflow guard */
  .partner .pinfo p,.office .om .desc{max-width:100%}
  /* universal media guard */
  img,video{max-width:100%}
}

/* ============ TEAM PAGE — typographic roster ============ */
.roster{max-width:1500px;margin:0 auto;padding:clamp(20px,3vh,40px) var(--pad) clamp(80px,12vh,140px)}
.member{display:grid;grid-template-columns:160px 1.4fr 1fr;column-gap:clamp(24px,4vw,72px);row-gap:18px;
  padding:clamp(36px,5vh,68px) 0;border-top:1px solid var(--line);align-items:start;
  transition:padding-left .5s cubic-bezier(.16,1,.3,1)}
.member:last-child{border-bottom:1px solid var(--line)}
.member:hover{padding-left:14px}
/* col 1: department label only */
.member .m-idx{display:flex;flex-direction:column;gap:10px;padding-top:6px}
.member .m-idx .dept{font-family:var(--display);font-size:clamp(15px,1.4vw,18px);font-weight:600;letter-spacing:.06em;color:var(--navy);line-height:1.2}
.member .m-idx .dept-line{width:32px;height:2px;background:var(--blue-l);margin-top:4px}
/* col 2: name + role */
.member .m-name h2{font-size:clamp(28px,3.6vw,46px);font-weight:600;color:var(--navy);letter-spacing:-.02em;line-height:1.02;margin-bottom:10px}
.member .m-name .role{font-family:var(--display);font-size:clamp(15px,1.4vw,18px);font-weight:600;color:var(--blue);margin-bottom:4px}
.member .m-name .role-sub{font-size:13.5px;color:var(--slate);line-height:1.5;margin-top:2px}
/* col 3: credentials (edu + previously) */
.member .m-cred{display:flex;flex-direction:column;gap:14px;padding-top:8px}
.member .m-cred .credline{display:flex;flex-direction:column;gap:3px}
.member .m-cred .credline .lbl{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);opacity:.85}
.member .m-cred .credline .val{font-size:14px;color:var(--ink);line-height:1.5}
/* bio row (full width below) */
.member .m-bio{grid-column:2 / -1;font-size:clamp(14.5px,1.5vw,16px);color:var(--slate);line-height:1.72;max-width:74ch;margin-top:6px}

/* ROSTER intro band */
.roster-intro{max-width:1500px;margin:0 auto;padding:clamp(80px,12vh,130px) var(--pad) clamp(20px,3vh,40px);
  display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(28px,5vw,80px);align-items:end}
.roster-intro .ri-tag{font-size:11px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--blue)}
.roster-intro h2{font-size:clamp(28px,4vw,56px);font-weight:600;color:var(--navy);letter-spacing:-.025em;line-height:1.04;margin-top:18px}
.roster-intro p{font-size:clamp(15px,1.5vw,17.5px);color:var(--slate);line-height:1.66;max-width:54ch;padding-bottom:6px}

@media(max-width:1024px){
  .member{grid-template-columns:90px 1fr;column-gap:24px}
  .member .m-cred{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;gap:24px;padding-left:114px;padding-top:0}
  .member .m-bio{grid-column:1 / -1;padding-left:114px}
  .roster-intro{grid-template-columns:1fr}
}
@media(max-width:760px){
  .member{grid-template-columns:1fr;gap:14px;padding:32px 0}
  .member:hover{padding-left:0}
  .member .m-idx{flex-direction:row;align-items:baseline;gap:14px}
  .member .m-idx .num{font-size:32px}
  .member .m-cred{padding-left:0;gap:14px}
  .member .m-bio{padding-left:0;margin-top:8px}
}
