.teams-hero{background:#1d2922;color:#fff;padding:96px var(--page-x) 82px}.teams-wrap{max-width:1420px;margin:0 auto}.teams-kicker{font:700 9px var(--mono);letter-spacing:.14em;color:#ffd18a}.teams-hero h1{font:500 clamp(58px,7vw,108px)/.86 var(--serif);letter-spacing:-.055em;margin:30px 0 25px}.teams-hero h1 em,.teams-country-hero h1 em{color:#ffd18a;font-weight:400}.teams-hero p{max-width:680px;color:#d9dfd5;font-size:15px;line-height:1.65}.teams-section{background:#f0ede4;padding:78px var(--page-x) 92px}.teams-grid{max-width:1420px;margin:38px auto 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(30,38,32,.5);border-left:1px solid rgba(30,38,32,.5)}.team-card{padding:25px 24px 28px;min-height:190px;border-right:1px solid rgba(30,38,32,.5);border-bottom:1px solid rgba(30,38,32,.5);background:rgba(251,250,246,.42);display:flex;flex-direction:column;text-decoration:none;color:#151c16}.team-card:nth-child(3n+2){background:rgba(181,138,73,.08)}.team-card small{font:700 8px var(--mono);letter-spacing:.12em;color:#596357}.team-card h2{font:500 31px/.95 var(--serif);letter-spacing:-.03em;margin:48px 0 10px}.team-card p{margin:0;color:#4d564e;font-size:11px;line-height:1.55}.team-card span{margin-top:auto;padding-top:20px;font:700 8px var(--mono);letter-spacing:.1em;color:#76572d}.teams-country-hero{background:#1d2922;color:#fff;padding:92px var(--page-x) 72px}.country-meta{display:flex;gap:20px;flex-wrap:wrap;font:700 8px var(--mono);letter-spacing:.12em;color:#ffd18a}.teams-country-hero h1{font:500 clamp(58px,7vw,110px)/.86 var(--serif);margin:28px 0 22px;letter-spacing:-.055em}.country-intro{max-width:720px;color:#d9dfd5;font-size:14px;line-height:1.65}.country-body{background:#f0ede4;padding:72px var(--page-x) 92px}.country-panel{max-width:1420px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;border-top:1px solid rgba(30,38,32,.55);border-left:1px solid rgba(30,38,32,.55)}.country-panel>div{padding:25px 24px;border-right:1px solid rgba(30,38,32,.55);border-bottom:1px solid rgba(30,38,32,.55)}.country-panel h2{font:500 38px/.95 var(--serif);margin:0 0 16px}.country-panel p{font-size:12px;line-height:1.65;color:#4d564e}.city-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;border-top:1px solid rgba(30,38,32,.4);border-left:1px solid rgba(30,38,32,.4)}.city-link{padding:18px;border-right:1px solid rgba(30,38,32,.4);border-bottom:1px solid rgba(30,38,32,.4);color:#151c16;text-decoration:none;font:500 22px/1 var(--serif);background:rgba(251,250,246,.4)}.person-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:36px}.person-card{background:#1d2922;color:#fff;border:1px solid rgba(255,209,138,.35);display:grid;grid-template-columns:180px 1fr;min-height:250px}.person-copy{padding:25px}.person-copy small{font:700 8px var(--mono);letter-spacing:.12em;color:#ffd18a}.person-copy h3{font:500 31px/.95 var(--serif);margin:22px 0 9px}.person-copy .role{color:#ffd18a;font:500 12px var(--sans);line-height:1.4}.person-copy p{color:#cdd4ca;font-size:11px;line-height:1.55}.photo-placeholder{width:180px;min-height:250px;display:grid;place-items:center;background:#26332c;color:#ffd18a;font:700 9px var(--mono);letter-spacing:.1em;text-align:center}.team-note{margin-top:36px;padding:18px 20px;border:1px solid rgba(30,38,32,.35);font:500 16px/1.45 var(--serif);color:#303a31;background:rgba(251,250,246,.5)}@media(max-width:1050px){.teams-grid{grid-template-columns:repeat(2,1fr)}.country-panel{grid-template-columns:1fr}.city-grid{grid-template-columns:repeat(3,1fr)}.person-grid{grid-template-columns:1fr}}@media(max-width:640px){.teams-hero,.teams-country-hero,.teams-section,.country-body{padding-left:7vw;padding-right:7vw}.teams-grid{grid-template-columns:1fr}.city-grid{grid-template-columns:repeat(2,1fr)}.person-card{grid-template-columns:120px 1fr}.photo-placeholder{width:120px;min-height:220px}.person-copy{padding:18px}.person-copy h3{font-size:26px}.teams-hero h1,.teams-country-hero h1{font-size:54px}}

/* Teams system — inherit the site's canonical global header; page-specific styling starts below. */
.person-grid{align-items:stretch;gap:24px}
.person-card{grid-template-columns:280px minmax(0,1fr);min-height:390px;overflow:hidden;border-color:rgba(255,209,138,.28)}
.person-photo{width:100%;height:100%;min-height:390px;display:block;object-fit:cover;object-position:center top;background:#26332c}
.person-copy{padding:34px 32px;display:flex;flex-direction:column;justify-content:center}
.person-copy h3{font-size:38px;margin:20px 0 12px}
.person-copy .role{font-size:12px;max-width:430px}
.person-copy p{font-size:12px;line-height:1.7;max-width:470px;margin-top:18px}
.team-note{max-width:1420px;margin-left:auto;margin-right:auto;margin-top:30px;padding:20px 24px}
@media(max-width:1500px){.main-nav{gap:17px}.header-right{gap:10px}.header-right>a:first-child{display:none}.header-cta{padding:14px 15px}.person-card{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:1150px){.header{grid-template-columns:auto auto;justify-content:space-between}.main-nav,.header-right{display:none}.menu{display:block}.person-grid{grid-template-columns:1fr}.person-card{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:640px){.person-card{grid-template-columns:1fr}.person-photo{height:330px;min-height:330px}.person-copy{padding:26px 22px}.person-copy h3{font-size:32px}.person-copy p{font-size:11px}.team-note{font-size:14px}}

/* India country team profile */
.country-team-card{max-width:1420px;margin:32px auto 0;padding:28px 30px;border:1px solid rgba(30,38,32,.5);background:rgba(251,250,246,.5);display:flex;align-items:center;justify-content:space-between;gap:32px}.country-team-photo{width:180px;height:180px;flex:0 0 180px;display:block;object-fit:cover;object-position:center top;background:#d8d0c2;border:1px solid rgba(30,38,32,.22)}.country-team-copy{min-width:0;flex:1}.country-team-card small{font:700 8px var(--mono);letter-spacing:.12em;color:#596357}.country-team-card h2{font:500 38px/.95 var(--serif);letter-spacing:-.03em;margin:16px 0 10px;color:#151c16}.country-team-card p{margin:0;color:#4d564e;font-size:12px;line-height:1.55}.country-team-card .btn{flex:0 0 auto}@media(max-width:640px){.country-team-card{display:grid;grid-template-columns:120px 1fr;align-items:center;padding:20px;gap:20px}.country-team-photo{width:120px;height:120px;flex-basis:120px}.country-team-card .btn{grid-column:1/-1;display:inline-flex;margin-top:4px;width:max-content}}


/* Canonical People Intelligence profile */
.person-profile-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:64px;align-items:center;margin-top:34px}.person-profile-photo{width:280px;aspect-ratio:1/1;overflow:hidden;border:1px solid rgba(255,255,255,.18);background:#d8d0c2}.person-profile-photo img{display:block;width:100%;height:100%;object-fit:cover}.profile-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#c9c0b0;border:1px solid #c9c0b0;margin-top:24px}.profile-timeline article{background:#eee8dc;padding:30px}.profile-timeline small{display:block;letter-spacing:.08em;font-size:.68rem;color:#6f4f2b;margin-bottom:12px}.profile-timeline h2{margin:0 0 8px}.profile-timeline p{margin:0}.profile-publications{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#c9c0b0;border:1px solid #c9c0b0;margin-top:24px}.profile-publications p{margin:0;background:#eee8dc;padding:24px}.person-profile-hero .country-intro{max-width:760px}@media(max-width:760px){.person-profile-hero{grid-template-columns:1fr;gap:30px}.person-profile-photo{width:220px}.profile-timeline,.profile-publications{grid-template-columns:1fr}}


/* About page — Teams section aligned to the canonical Teams system */
.about-teams-section{border-top:1px solid rgba(30,38,32,.18)}
.about-teams-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:end;margin-top:24px}
.about-teams-heading h2{font:var(--section-title);letter-spacing:-.045em;margin:0;color:#151c16}
.about-teams-heading h2 em{font-style:italic;font-weight:400;color:#6f4f2b}
.about-teams-heading p{max-width:650px;margin:22px 0 0;color:#4d564e;line-height:1.6;font-weight:500}
.about-teams-heading .btn{margin-bottom:3px;white-space:nowrap}
@media(max-width:760px){
  .about-teams-heading{grid-template-columns:1fr;gap:24px}
  .about-teams-heading .btn{width:max-content}
}


/* Teams system — canonical page alignment and presentation */
.teams-section,.country-body{box-sizing:border-box}
.teams-section>.teams-wrap,.country-body>.teams-wrap{width:100%;max-width:1420px;margin-left:auto;margin-right:auto}
.teams-section .section-label{margin-bottom:0}
.teams-hero .teams-wrap,.teams-country-hero .teams-wrap{width:100%;max-width:1420px;margin-left:auto;margin-right:auto}
.about-teams-section{padding:78px var(--page-x) 92px;background:#f0ede4}
.about-teams-section .teams-wrap{max-width:1280px}
.about-teams-heading{border-top:1px solid rgba(30,38,32,.5);padding-top:26px}
.about-teams-heading h2{max-width:900px}
.about-teams-heading .btn{align-self:end}
.team-card{transition:background .2s ease,transform .2s ease}
.team-card:hover{background:rgba(181,138,73,.13);transform:translateY(-2px)}
.country-body .country-panel{width:100%}
.city-grid{max-width:1420px}
.person-grid{max-width:1420px;margin-left:auto;margin-right:auto}
.person-card{height:100%}
.person-profile-hero{max-width:1420px;margin-left:auto;margin-right:auto}

.person-name-link{color:inherit;text-decoration:none}.person-name-link:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}


/* DAM-facing designation layer for India People Intelligence */
.country-team-card .dam-role{margin:0 0 10px;color:#6f4f2b;font:600 11px/1.4 var(--sans);letter-spacing:.01em}


/* ============================================================
   DAM Teams Design System — Hyderabad canonical visual language
   Applied site-wide to regional, country and city team surfaces.
   ============================================================ */

/* Regional / country directory cards: same dark editorial language,
   while retaining their directory function and larger grid density. */
.teams-grid{
  border-color:rgba(255,209,138,.22);
}
.team-card{
  background:#1d2922;
  color:#fff;
  border-color:rgba(255,209,138,.24);
  min-height:220px;
  padding:26px 25px 28px;
  transition:background .2s ease,transform .2s ease,border-color .2s ease;
}
.team-card:nth-child(3n+2),
.team-card:nth-child(3n+1),
.team-card:nth-child(3n+3){
  background:#1d2922;
}
.team-card:hover{
  background:#26332c;
  border-color:rgba(255,209,138,.5);
  transform:translateY(-3px);
}
.team-card small{
  color:#ffd18a;
}
.team-card h2{
  color:#fff;
  margin-top:54px;
  font-size:34px;
}
.team-card p{
  color:#cdd4ca;
}
.team-card span{
  color:#ffd18a;
}

/* Canonical people presentation.
   person-card is the reference component; legacy country-team-card
   markup is intentionally styled into the same component rather than
   maintaining a second visual system. */
.person-card,
.country-team-card{
  background:#1d2922;
  color:#fff;
  border:1px solid rgba(255,209,138,.28);
  overflow:hidden;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.person-card:hover,
.country-team-card:hover{
  background:#26332c;
  border-color:rgba(255,209,138,.52);
  transform:translateY(-2px);
}

.country-team-card{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:280px minmax(0,1fr) auto;
  align-items:stretch;
  justify-content:initial;
  gap:0;
}
.country-team-photo{
  width:100%;
  height:100%;
  min-height:390px;
  flex:none;
  display:block;
  object-fit:cover;
  object-position:center top;
  background:#26332c;
  border:0;
}
.country-team-copy{
  min-width:0;
  padding:34px 32px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.country-team-card small{
  color:#ffd18a;
}
.country-team-card h2{
  color:#fff;
  font-size:38px;
  line-height:.95;
  letter-spacing:-.04em;
  margin:20px 0 12px;
}
.country-team-card p{
  color:#cdd4ca;
  font-size:12px;
  line-height:1.7;
  max-width:520px;
}
.country-team-card .dam-role{
  color:#ffd18a;
  font:500 12px/1.4 var(--sans);
  max-width:520px;
}
.country-team-card .btn{
  align-self:center;
  margin:0 28px 0 0;
  white-space:nowrap;
  color:#fff;
  border-color:rgba(255,209,138,.55);
  background:transparent;
}
.country-team-card .btn:hover{
  background:#ffd18a;
  color:#1d2922;
  border-color:#ffd18a;
}

/* Country/city people sections use the same two-column rhythm as
   Hyderabad rather than the former single-column light directory. */
.india-team-section .teams-wrap{
  max-width:1420px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.india-team-section .teams-wrap > .section-label{
  grid-column:1/-1;
}
.india-team-section .teams-wrap > h2{
  grid-column:1/-1;
}
.india-team-section .country-team-card{
  height:100%;
}

/* Preserve the compact Hyderabad component on narrow screens. */
@media(max-width:1150px){
  .country-team-card{
    grid-template-columns:230px minmax(0,1fr);
  }
  .country-team-card .btn{
    grid-column:2;
    justify-self:start;
    align-self:end;
    margin:0 0 28px 32px;
  }
  .india-team-section .teams-wrap{
    grid-template-columns:1fr;
  }
}
@media(max-width:640px){
  .team-card h2{font-size:30px}
  .country-team-card{
    grid-template-columns:1fr;
  }
  .country-team-photo{
    height:330px;
    min-height:330px;
  }
  .country-team-copy{
    padding:26px 22px;
  }
  .country-team-card h2{
    font-size:32px;
  }
  .country-team-card .btn{
    grid-column:1;
    margin:0 22px 22px;
    justify-self:start;
  }
}

/* Country panel remains the information layer; people are consistently
   presented as editorial People Intelligence cards beneath it. */
.country-panel{
  background:transparent;
}


/* ============================================================
   People card geometry correction
   The first propagation exposed an undesirable three-column
   constraint: portrait + narrow copy + action column. The
   Hyderabad reference is a two-column card. Restore that geometry
   at every viewport where the People grid is multi-column.
   ============================================================ */

.person-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}

.country-team-card{
  grid-template-columns:minmax(0,42%) minmax(0,58%);
  min-height:390px;
  height:390px;
}

.country-team-photo{
  width:100%;
  height:100%;
  min-height:0;
  aspect-ratio:auto;
  object-fit:cover;
}

.country-team-copy{
  min-width:0;
  height:100%;
  padding:32px 30px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  overflow:hidden;
}

.country-team-card h2{
  overflow-wrap:normal;
  word-break:normal;
}

.country-team-card p{
  margin-top:18px;
  overflow-wrap:normal;
  word-break:normal;
}

.country-team-card .btn{
  align-self:flex-start;
  margin:24px 0 0;
  margin-top:auto;
}

.india-team-section .teams-wrap{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

/* Do not let responsive rules reintroduce the old action column. */
@media(max-width:1150px){
  .person-grid{
    grid-template-columns:1fr;
  }

  .country-team-card{
    grid-template-columns:minmax(0,40%) minmax(0,60%);
    height:390px;
  }

  .country-team-card .btn{
    grid-column:auto;
    justify-self:start;
    align-self:flex-start;
    margin:24px 0 0;
  }

  .india-team-section .teams-wrap{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  .person-grid{
    grid-template-columns:1fr;
  }

  .country-team-card{
    grid-template-columns:1fr;
    height:auto;
    min-height:0;
  }

  .country-team-photo{
    height:330px;
    min-height:330px;
  }

  .country-team-copy{
    height:auto;
    padding:26px 22px 24px;
    overflow:visible;
  }

  .country-team-card .btn{
    margin-top:24px;
  }
}


/* Final canonical People-card rule:
   legacy country-team-card markup now renders as the same two-column
   editorial object as Hyderabad. The existing profile anchor becomes
   a full-card interaction layer, so the composition contains no
   separate CTA block. */
.country-team-card{
  position:relative;
  grid-template-columns:280px minmax(0,1fr);
  min-height:390px;
  height:390px;
  padding:0;
  margin:0;
  display:grid;
  overflow:hidden;
}
.country-team-card .country-team-photo{
  grid-column:1;
  grid-row:1;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
}
.country-team-card .country-team-copy{
  grid-column:2;
  grid-row:1;
  width:auto;
  height:100%;
  padding:34px 32px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
}
.country-team-card .btn{
  grid-column:1/-1;
  grid-row:1;
  position:absolute;
  inset:0;
  z-index:3;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:transparent;
  font-size:0;
  line-height:0;
  display:block;
}
.country-team-card .btn b{display:none}
.country-team-card:hover{
  background:#26332c;
  border-color:rgba(255,209,138,.52);
}
.country-team-card .btn:focus-visible{
  outline:2px solid #ffd18a;
  outline-offset:-4px;
}
@media(max-width:1150px){
  .country-team-card{
    grid-template-columns:230px minmax(0,1fr);
    height:390px;
  }
  .country-team-card .country-team-copy{
    grid-column:2;
    grid-row:1;
    padding:30px;
  }
  .country-team-card .btn{
    grid-column:1/-1;
    grid-row:1;
  }
}
@media(max-width:640px){
  .country-team-card{
    grid-template-columns:1fr;
    height:auto;
  }
  .country-team-card .country-team-photo{
    grid-column:1;
    grid-row:1;
    height:330px;
    min-height:330px;
  }
  .country-team-card .country-team-copy{
    grid-column:1;
    grid-row:2;
    height:auto;
    padding:26px 22px 28px;
    overflow:visible;
  }
  .country-team-card .btn{
    grid-column:1;
    grid-row:1/-1;
  }
}


/* Final geometry calibration — match the Hyderabad editorial proportion.
   Country/India People cards must read as wide horizontal objects, not
   portrait/square tiles. The image/copy ratio remains proportional as the
   available width changes, while the 2:1 card ratio preserves the Hyderabad
   visual rhythm. */
.country-team-card{
  grid-template-columns:30% minmax(0,70%);
  height:auto;
  min-height:390px;
  aspect-ratio:2 / 1;
}
.country-team-card .country-team-photo{
  height:100%;
  min-height:0;
}
.country-team-card .country-team-copy{
  height:100%;
  min-height:0;
}
@media(max-width:1150px){
  .country-team-card{
    grid-template-columns:30% minmax(0,70%);
    aspect-ratio:2 / 1;
    min-height:390px;
    height:auto;
  }
}
@media(max-width:640px){
  .country-team-card{
    grid-template-columns:1fr;
    aspect-ratio:auto;
    min-height:0;
    height:auto;
  }
  .country-team-card .country-team-photo{
    height:330px;
    min-height:330px;
  }
  .country-team-card .country-team-copy{
    height:auto;
    min-height:0;
  }
}


/* India People cards — widen the editorial profile boxes by 30%.
   Keep the two-column grid and expand the horizontal proportion rather
   than increasing the portrait footprint. */
.india-team-section .country-team-card{
  aspect-ratio:2.6 / 1;
  min-height:0;
  height:auto;
}
@media(max-width:640px){
  .india-team-section .country-team-card{
    aspect-ratio:auto;
    min-height:0;
    height:auto;
  }
}


/* India People — restore the exact Hyderabad card height.
   The 30% horizontal expansion must not alter vertical geometry. */
.india-team-section .country-team-card{
  height:390px;
  min-height:390px;
  aspect-ratio:auto;
}
.india-team-section .country-team-card .country-team-photo{
  height:100%;
  min-height:0;
}
.india-team-section .country-team-card .country-team-copy{
  height:100%;
  min-height:0;
}
@media(max-width:640px){
  .india-team-section .country-team-card{
    height:auto;
    min-height:0;
  }
  .india-team-section .country-team-card .country-team-photo{
    height:330px;
    min-height:330px;
  }
  .india-team-section .country-team-card .country-team-copy{
    height:auto;
    min-height:0;
  }
}


/* India People — exact requested geometry:
   30% wider than the current India profile boxes, while preserving the
   same width/height ratio as the Hyderabad canonical cards. */
.india-team-section .teams-wrap{
  max-width:1846px;
}
.india-team-section .country-team-card{
  aspect-ratio:1.48 / 1;
  height:auto;
  min-height:0;
}
.india-team-section .country-team-card .country-team-photo,
.india-team-section .country-team-card .country-team-copy{
  height:100%;
  min-height:0;
}
@media(max-width:640px){
  .india-team-section .teams-wrap{
    max-width:none;
  }
  .india-team-section .country-team-card{
    aspect-ratio:auto;
    height:auto;
    min-height:0;
  }
  .india-team-section .country-team-card .country-team-photo{
    height:330px;
    min-height:330px;
  }
  .india-team-section .country-team-card .country-team-copy{
    height:auto;
  }
}


/* India People — use the full country content column.
   The People section is nested inside .country-body, so its own
   country-body padding was being applied a second time. That created the
   visibly constricted two-column deployment in the India page. */
.india-team-section{
  width:calc(100% + (2 * var(--page-x)));
  margin-left:calc(-1 * var(--page-x));
  box-sizing:border-box;
  padding-left:var(--page-x);
  padding-right:var(--page-x);
}
.india-team-section .teams-wrap{
  width:100%;
  max-width:1420px;
  margin-left:auto;
  margin-right:auto;
}
.india-team-section .country-team-card{
  width:100%;
}
@media(max-width:640px){
  .india-team-section{
    width:calc(100% + (2 * 7vw));
    margin-left:-7vw;
    padding-left:7vw;
    padding-right:7vw;
  }
}


/* India People — 3:2 internal allocation.
   Allocate 60% of each card to editorial text and 40% to portrait,
   while preserving the established card height/aspect ratio. */
.india-team-section .country-team-card{
  grid-template-columns:40% minmax(0,60%);
}
@media(max-width:640px){
  .india-team-section .country-team-card{
    grid-template-columns:1fr;
  }
}

/* India city-team note — full-width closing panel above the footer. */
.india-team-note .teams-wrap{
  max-width:1420px;
}
.india-team-note .team-note{
  width:100%;
  box-sizing:border-box;
  margin:0;
}
