:root{--navy:#0b2943;--blue:#17608d;--teal:#1686a3;--bluegray:#a8bcc9;--copper:#c07a35;--ink:#0c2a45;--muted:#4e5c67;--paper:#f5f7f8;--line:#dbe2e6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Helvetica Neue",Arial,sans-serif;background:white}a{color:inherit}.header{height:74px;display:flex;align-items:center;padding:0 clamp(26px,4.2vw,70px);border-bottom:1px solid #d9e0e4;background:#fff;position:sticky;top:0;z-index:20}.logo{display:flex;align-items:center;text-decoration:none;gap:12px}.logo svg{width:62px;height:43px;fill:var(--navy)}.logo svg .logo-mid{fill:#2f6382}.logo svg .logo-light{fill:#8fa6b5}.logo strong{display:block;font-size:25px;letter-spacing:3.4px;line-height:1}.logo small{display:block;font-size:9px;letter-spacing:5px;text-align:center;margin-top:6px;color:#385a73}.header nav{display:flex;gap:40px;margin-left:auto;align-self:stretch}.header nav a{display:flex;align-items:center;text-decoration:none;font-size:13px;font-weight:600;position:relative}.header nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:14px;height:2px;background:var(--blue)}.hamburger{display:none;border:0;background:none;margin-left:auto;width:36px}.hamburger span{display:block;height:2px;background:var(--navy);margin:6px 0}

.hero{height:470px;position:relative;overflow:hidden;background:var(--navy)}.hero-photo{position:absolute;inset:0;background:url("../images/hero-hydro.jpg") 74% center/cover no-repeat;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,27,45,.98) 0%,rgba(5,27,45,.91) 31%,rgba(5,27,45,.53) 57%,rgba(5,27,45,.08) 80%)}.hero-content{position:relative;z-index:2;color:#fff;width:min(690px,54%);padding:62px 0 0 clamp(40px,5.4vw,86px)}.kicker{font-size:11px;font-weight:700;letter-spacing:2.8px;color:#173c59}.kicker.light{color:#e8f0f5}.hero h1,.story h2,.global h2,.hydro-depth h2,.contact h2{font-family:Georgia,"Times New Roman",serif;font-weight:400}.hero h1{font-size:61px;line-height:.98;margin:13px 0 20px;letter-spacing:-1.8px}.hero p{font-size:16px;line-height:1.55;max-width:650px;margin-bottom:22px}.btn{display:inline-flex;align-items:center;gap:18px;text-decoration:none;background:var(--blue);color:white;padding:14px 19px;font-size:10px;font-weight:800;letter-spacing:.7px}.btn b{font-size:15px;font-weight:400}

.expertise-grid{display:grid;grid-template-columns:repeat(6,1fr);padding:10px 26px 18px;max-width:1536px;margin:auto}.practice{min-width:0;border-right:1px solid var(--line);padding:0 10px 12px}.practice:last-child{border-right:0}.practice>img{width:100%;height:105px;object-fit:cover;display:block}.practice-body{padding:12px 3px 0;display:flex;flex-direction:column;height:calc(100% - 117px)}.practice-title{display:flex;align-items:flex-start;gap:10px;min-height:48px}.practice-title h2{font-size:15px;line-height:1.15;margin:3px 0 0}.practice-icon{font-size:28px;color:#0b78a2;line-height:1}.practice-icon.waves{font-size:33px}.practice p{font-size:12.5px;line-height:1.45;color:#485966;margin:9px 0 13px}.practice a{text-decoration:none;color:#0b5684;font-size:9.5px;font-weight:800;letter-spacing:.8px;margin-top:auto}.practice a b{font-size:13px;margin-left:7px}

.two-stories{background:linear-gradient(#f7f9fa,#eef3f5);display:grid;grid-template-columns:1.1fr .9fr;padding:29px clamp(30px,4vw,64px) 34px;gap:0}.story{padding:0 24px}.story+ .story{border-left:1px solid #d6dfe4}.story h2{font-size:27px;margin:7px 0 26px;line-height:1.1}.steps,.chain{display:flex;align-items:center;justify-content:space-between}.steps div,.chain div{text-align:center;min-width:56px}.steps i,.chain i{display:grid;place-items:center;margin:auto;width:43px;height:43px;border-radius:50%;background:var(--teal);color:white;font-style:normal;font-size:18px}.steps div:nth-of-type(1) i{background:var(--navy)}.steps div:nth-of-type(4) i{background:#7898ad}.steps div:nth-of-type(5) i,.steps div:nth-of-type(6) i{background:var(--copper)}.steps span,.chain span{display:block;font-size:10px;font-weight:700;margin-top:8px}.steps em{height:1px;background:#75a3bd;flex:1;min-width:8px}.chain i{background:transparent;color:#0b5f88;border-radius:0;font-size:31px;width:auto}.chain b{color:#79a1b8;font-weight:400}.asset-band{margin-top:18px;background:linear-gradient(90deg,#b8732e,#ca8b42);border-radius:20px;color:#fff;text-align:center;padding:6px 18px;font-size:10px;letter-spacing:2px;font-weight:800;display:flex;justify-content:space-between}

.global{min-height:160px;display:grid;grid-template-columns:38% 1fr auto;align-items:center;position:relative;overflow:hidden;background:linear-gradient(90deg,#051d31,#0a2b44);color:white;padding:25px clamp(35px,5vw,75px);gap:30px}.globe{position:absolute;left:0;top:0;bottom:0;width:40%;background:linear-gradient(90deg,rgba(2,18,30,.08),rgba(2,18,30,.8)),url("../images/global.jpg") left center/cover no-repeat}.global-copy{grid-column:2;position:relative;z-index:2}.global h2{font-size:29px;margin:6px 0 8px}.global p{font-size:13px;line-height:1.5;max-width:580px;margin:0}.outline{grid-column:3;background:transparent;border:1px solid #a9bdca;position:relative;z-index:2;white-space:nowrap}

.hydro-depth{padding:48px clamp(38px,7vw,110px);background:white}.hydro-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:8px}.hydro-depth h2{font-size:34px;line-height:1.1;margin:0}.hydro-depth p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}.contact{display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--navy);color:white;padding:38px clamp(38px,7vw,110px)}.contact h2{font-size:31px;margin:6px 0}.pale{background:#fff;color:var(--navy)}footer{height:58px;display:flex;align-items:center;justify-content:center;gap:16px;background:#071e31;color:#9fb4c3;font-size:9px;letter-spacing:2px}footer i{font-style:normal;color:#58758a}

@media(max-width:1050px){.header nav{gap:24px}.expertise-grid{grid-template-columns:repeat(3,1fr)}.practice{border-bottom:1px solid var(--line);padding-bottom:20px}.practice p{min-height:0}.two-stories{grid-template-columns:1fr}.story+.story{border-left:0;border-top:1px solid #d6dfe4;margin-top:30px;padding-top:30px}.global{grid-template-columns:34% 1fr}.outline{grid-column:2;justify-self:start}.global-copy{grid-column:2}.globe{width:35%}}
@media(max-width:760px){.header{height:68px;padding:0 22px}.logo svg{width:48px}.logo strong{font-size:20px}.logo small{font-size:7px}.header nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:20px 26px;flex-direction:column;gap:18px;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.header nav a.active:after{display:none}.hamburger{display:block}.hero{height:395px}.hero-photo{background-position:63% center}.hero-shade{background:linear-gradient(90deg,rgba(5,27,45,.95),rgba(5,27,45,.67))}.hero-content{width:100%;padding:38px 25px 0}.hero h1{font-size:43px}.hero p{font-size:14px;max-width:420px}.expertise-grid{grid-template-columns:1fr;padding:8px 0}.practice{display:grid;grid-template-columns:112px 1fr;padding:8px 18px;border-right:0;gap:13px}.practice>img{height:100px}.practice-body{padding-top:5px}.practice-title{min-height:0}.practice p{min-height:0;margin:8px 0;font-size:12px}.two-stories{padding:28px 10px}.story{padding:0 14px}.story h2{font-size:25px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 5px}.steps em{display:none}.chain{gap:5px}.chain i{font-size:24px}.chain span{font-size:9px}.global{display:block;padding:35px 25px 38px}.globe{width:100%;opacity:.28}.global-copy{position:relative}.global h2{font-size:27px}.outline{margin-top:18px}.hydro-layout{grid-template-columns:1fr;gap:18px}.hydro-depth{padding:38px 25px}.hydro-depth h2{font-size:29px}.contact{display:block;padding:34px 25px}.contact h2{font-size:27px}.contact .btn{margin-top:12px}}

.page-hero{min-height:360px;padding:70px clamp(40px,7vw,110px);color:#fff;background:linear-gradient(90deg,rgba(5,27,45,.97),rgba(5,27,45,.74)),url("../images/hero-hydro.jpg") center 48%/cover no-repeat;display:flex;flex-direction:column;justify-content:center}.page-hero h1{font:400 54px/1 Georgia,"Times New Roman",serif;margin:12px 0 20px;letter-spacing:-1px}.page-hero p{font-size:16px;line-height:1.6;max-width:720px}.intro-band{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:48px clamp(40px,7vw,110px);background:#eef3f5}.intro-band h2,.detail-section h2,.experience-block h2,.about-grid h2,.principal h2,.contact-page h2{font:400 34px/1.1 Georgia,"Times New Roman",serif;margin:0}.intro-band p{line-height:1.7;margin:0;color:#4e5c67}.detail-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;padding:58px clamp(40px,7vw,110px);border-bottom:1px solid #dbe2e6;scroll-margin-top:90px}.detail-copy h2{margin:8px 0 16px}.detail-copy p{line-height:1.7;color:#4e5c67}.capability-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.capability-list span{padding:14px 0;border-bottom:1px solid #dbe2e6;font-size:14px;line-height:1.4}.experience-hero{background-position:center 55%}.experience-block{padding:58px clamp(40px,7vw,110px)}.experience-block>div:first-child{display:grid;grid-template-columns:1fr 2fr;align-items:end;margin-bottom:28px}.experience-block.alt{background:#f3f6f7}.experience-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.experience-cards article{border-top:3px solid #1686a3;background:#fff;padding:24px;box-shadow:0 5px 18px rgba(8,35,56,.06)}.experience-cards strong{font:400 30px Georgia,serif;color:#17608d}.experience-cards h3{font-size:16px;margin:12px 0 8px}.experience-cards p{font-size:13px;line-height:1.6;color:#4e5c67}.about-hero{background-position:center 40%}.about-grid,.principal{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding:60px clamp(40px,7vw,110px)}.about-grid p,.principal-copy p{line-height:1.75;color:#4e5c67}.principal{background:#f3f6f7}.principal-title h2{margin:8px 0}.principal-title>p{color:#17608d;font-weight:600}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:55px clamp(40px,7vw,110px)}.credentials>div+div{border-left:1px solid #dbe2e6;padding-left:80px}.credentials h3{font-size:15px;margin:22px 0 4px}.credentials p{margin:0;color:#4e5c67}.contact-page{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;padding:65px clamp(40px,7vw,110px)}.contact-page h2{margin:8px 0 20px}.contact-page p{line-height:1.7;color:#4e5c67}.contact-page .note{font-size:13px;border-left:3px solid #c07a35;padding-left:15px}.contact-card{background:#eef3f5;padding:32px}.contact-card h3{font-size:11px;letter-spacing:2px;text-transform:uppercase;margin:0 0 6px}.contact-card p,.contact-card a:not(.btn){display:block;margin:0 0 24px;color:#17608d;text-decoration:none}.contact-card .btn{margin-top:8px}
@media(max-width:760px){.page-hero{min-height:310px;padding:45px 25px}.page-hero h1{font-size:40px}.intro-band,.detail-section,.about-grid,.principal,.credentials,.contact-page{grid-template-columns:1fr;gap:24px;padding:38px 25px}.capability-list{grid-template-columns:1fr}.experience-block{padding:38px 25px}.experience-block>div:first-child{display:block}.experience-block h2{margin-top:8px}.experience-cards{grid-template-columns:1fr}.credentials>div+div{border-left:0;border-top:1px solid #dbe2e6;padding:28px 0 0}.contact-card{padding:25px}}

/* Tablet / compact desktop refinement for six-column expertise cards.
   Prevents long headings such as “Interconnection” from crossing into
   the adjacent card while preserving the six-card layout. */
@media (min-width:1051px) and (max-width:1400px){
  .expertise-grid{padding-left:20px;padding-right:20px}
  .practice{padding-left:8px;padding-right:8px}
  .practice-title{gap:6px}
  .practice-title h2{font-size:14px;line-height:1.16;overflow-wrap:anywhere}
  .practice-icon{font-size:24px;flex:0 0 auto}
  .practice-icon.waves{font-size:28px}
}

/* iPad / compact-desktop refinement: keep the long Interconnection heading
   comfortably inside its card without shrinking the other practice headings. */
@media (min-width:1051px) and (max-width:1400px){
  .expertise-grid .practice:nth-child(2) .practice-title h2{
    font-size:13px;
    letter-spacing:-0.15px;
  }
}

/* Homepage six-card headings — matches actual index.html markup */
.expertise-grid .practice .practice-body > h2{
  font-size:15px;
  line-height:1.15;
  margin:3px 0 0;
}
@media (min-width:1051px){
  .expertise-grid .practice:nth-child(2) .practice-body > h2{
    font-size:15px !important;
    line-height:1.15 !important;
    letter-spacing:-0.2px !important;
    padding-right:10px !important;
    white-space:normal !important;
  }
}

/* Homepage expertise cards: align CTAs responsively without fixed heading/paragraph heights. */
@media (min-width:761px){
  .expertise-grid .practice{
    display:flex;
    flex-direction:column;
  }
  .expertise-grid .practice .practice-body{
    display:grid;
    grid-template-rows:auto 1fr auto;
    flex:1 1 auto;
    height:auto;
  }
  .expertise-grid .practice .practice-body > p{
    min-height:0;
  }
  .expertise-grid .practice .practice-body > a{
    margin-top:0;
    align-self:start;
  }
}

/* Mobile expertise cards: restore natural document flow. */
@media (max-width:760px){
  .expertise-grid .practice .practice-body{
    display:block;
    height:auto;
  }
  .expertise-grid .practice .practice-body > a{
    display:inline-block;
    margin-top:8px;
  }
}

/* Keep the designation footnote aligned with the Education column. */
.designation-note{padding:0 clamp(40px,7vw,110px)}
@media(max-width:760px){.designation-note{padding:0 25px}}
