/* CIIDT feature bento and discoverability refinements */
#overview{background:#f4f6f8}
#overview .section-heading{max-width:1000px}
#overview .section-heading h2{letter-spacing:-.065em}
#overview .platform-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-flow:row dense;
  grid-auto-rows:minmax(240px,auto);
  gap:18px;
  margin-top:clamp(30px,4vw,58px);
  align-items:stretch
}
#overview .platform-grid>.feature-card,
#overview .platform-grid>.feature-card:nth-child(n){
  position:relative;isolation:isolate;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;
  min-width:0;min-height:310px;margin:0;
  border:1px solid rgba(20,48,63,.08)!important;
  border-radius:27px!important;
  padding:clamp(25px,3.6vw,48px)!important;
  box-shadow:0 9px 35px rgba(15,40,58,.035)!important;
  background:#fff;
  transition:box-shadow .35s ease,transform .35s ease
}
#overview .platform-grid>.feature-card>*{position:relative;z-index:2}
#overview .platform-grid>.feature-card>.ui-icon{
  display:block;flex:0 0 auto;width:52px;height:52px;padding:13px;
  border-radius:15px!important;
  background:rgba(255,255,255,.12);
  color:inherit;stroke:currentColor;stroke-width:1.6;
  margin:0 0 auto
}
#overview .platform-grid>.feature-card h3{
  max-width:670px;margin:28px 0 13px;
  font-size:clamp(29px,3vw,49px);font-weight:690;
  line-height:1.075;letter-spacing:-.055em
}
#overview .platform-grid>.feature-card p{
  max-width:650px;margin:0;
  font-size:clamp(16px,1.3vw,20px);line-height:1.57;
  font-weight:450;letter-spacing:-.016em;
  overflow-wrap:break-word
}
/* Large hero feature; an abstract energy/air orb, no invented product imagery. */
#overview .platform-grid>.feature-card:nth-child(1){
  grid-column:span 7;grid-row:span 2;min-height:660px;
  background:radial-gradient(ellipse at 93% 77%,#438ea788 0,#438ea700 58%),linear-gradient(135deg,#102c42,#0b1e32 80%);
  color:#fff
}
#overview .platform-grid>.feature-card:nth-child(1)::before{
  content:"";position:absolute;z-index:0;
  width:min(37vw,490px);aspect-ratio:1;bottom:-14%;right:-15%;
  border:1px solid #bedee766;border-radius:50%;
  box-shadow:0 0 0 34px #72bcd20b,0 0 0 90px #72bcd20a,0 0 0 145px #72bcd206,
  inset 0 0 130px 35px #99ced022;
  background:radial-gradient(circle at 34% 30%,#d5f8ee70,#4f9eb238 29%,#1a466f70 61%,#071e35 90%);
}
#overview .platform-grid>.feature-card:nth-child(1) h3{font-size:clamp(38px,4.3vw,68px);max-width:540px}
#overview .platform-grid>.feature-card:nth-child(1) p{color:#e3edf1;max-width:460px}
#overview .platform-grid>.feature-card:nth-child(1) .ui-icon{background:#ffffff18}
/* The smaller right-hand cards have distinct, carefully related palettes. */
#overview .platform-grid>.feature-card:nth-child(2){
  grid-column:span 5;
  background:linear-gradient(135deg,#fafdff,#e4eef3);
  color:#1b384e
}
#overview .platform-grid>.feature-card:nth-child(2)::before{
  content:"";position:absolute;z-index:0;right:-85px;top:-125px;
  width:360px;height:360px;border:1px solid #a5c7d15e;border-radius:50%;
  box-shadow:0 0 0 34px #a5c7d11f,0 0 0 80px #a5c7d118,
    0 0 0 133px #a5c7d110
}
#overview .platform-grid>.feature-card:nth-child(2) p{color:#4f6877}
#overview .platform-grid>.feature-card:nth-child(2) .ui-icon{background:#d4e5ed;color:#376e8b}
#overview .platform-grid>.feature-card:nth-child(3){
  grid-column:span 5;
  background:linear-gradient(135deg,#e5ecf1,#d8e4f0 60%,#b8d3de);
  color:#153549
}
#overview .platform-grid>.feature-card:nth-child(3)::before{
  content:"";position:absolute;inset:28% -10% -10% 40%;z-index:0;
  background:linear-gradient(90deg,#dce9f0 0,#dae8f04a 55%),
    url('/assets/etkm/technology-51.webp') center/cover;
  mask-image:linear-gradient(90deg,transparent,black 36%);
  opacity:.43
}
#overview .platform-grid>.feature-card:nth-child(3) p{color:#3e5769}
#overview .platform-grid>.feature-card:nth-child(3) .ui-icon{background:#eff6fb;color:#416f9b}
#overview .platform-grid>.feature-card:nth-child(4){
  grid-column:span 12;min-height:290px;
  background:linear-gradient(110deg,#e9f4e4 0,#edf3e9 57%,#d1e8d9);
  color:#173b37;
  padding-right:clamp(25px,21vw,270px)!important
}
#overview .platform-grid>.feature-card:nth-child(4)::before{
  content:"";position:absolute;right:-60px;top:50%;transform:translateY(-50%);
  width:min(33vw,360px);aspect-ratio:1;z-index:0;
  background:radial-gradient(circle at 51% 48%,#85c6beaa 0 8%,transparent 8.8%),
    repeating-radial-gradient(circle at center,transparent 0 37px,#74aca944 38px 39px,transparent 40px 73px);
  border-radius:50%;opacity:.8
}
#overview .platform-grid>.feature-card:nth-child(4) h3{font-size:clamp(32px,3.3vw,54px)}
#overview .platform-grid>.feature-card:nth-child(4) p{color:#435e56}
#overview .platform-grid>.feature-card:nth-child(4) .ui-icon{background:#d5ebd2;color:#2e785e}
@media(hover:hover) and (pointer:fine){
  #overview .platform-grid>.feature-card:hover{
    transform:translateY(-3px);
    box-shadow:0 19px 45px rgba(12,43,66,.095)!important
  }
}

/* The four integrated systems below: matching bento rhythm while preserving
   the real ETKM photographs and existing View photo interaction. */
#technology .architecture-grid{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;align-items:stretch
}
#technology .architecture-grid>li.system-card{
  grid-column:span 6;min-height:390px;
  border:1px solid #dfe7e8!important;
  border-radius:25px!important;
  box-shadow:0 9px 35px #132e3c07
}
#technology .architecture-grid>li.system-card:nth-child(3){grid-column:span 5}
#technology .architecture-grid>li.system-card:nth-child(4){grid-column:span 7}
#technology .system-card-content{
  box-sizing:border-box;min-height:390px;
  padding:clamp(25px,3vw,40px)
}
#technology .architecture-grid .system-card h3{font-size:clamp(25px,2.4vw,36px);min-height:0}
#technology .architecture-grid .system-icon{
  width:70px;height:70px;border-radius:20px!important;
  background:#dfe9f5
}
#technology .architecture-grid .system-photo-toggle{
  border-top:1px solid #c6d5dd;padding-top:14px;
  min-height:54px
}
#technology .architecture-grid>li.system-card:nth-child(1){background:#e8eff5}
#technology .architecture-grid>li.system-card:nth-child(2){background:#e4f0e8}
#technology .architecture-grid>li.system-card:nth-child(3){background:#f2f1ee}
#technology .architecture-grid>li.system-card:nth-child(4){background:#e4edf3}
#technology .system-photo-toggle .ui-icon{transition:transform .3s ease}
#technology .system-photo-toggle:hover .ui-icon{transform:translate(3px,-3px)}

/* Expandable sections: add a discreet recurring halo to the plus buttons.
   Native <details> retains keyboard support and works without JavaScript. */
.read-more>summary{cursor:pointer;min-height:67px}
.read-more>summary>span[aria-hidden]{
  display:inline-grid;place-items:center;
  flex:0 0 44px;width:44px;height:44px;
  border-radius:50%!important;
  font-size:27px;line-height:1;
  background:#e6eff8;color:#315e8f;
  box-shadow:0 0 0 0 rgba(112,178,230,0);
  animation:ciidt-plus-pulse 3.8s ease-in-out infinite;
  transition:transform .3s ease,background .3s,color .3s,box-shadow .3s
}
.read-more:not([open])>summary:hover>span[aria-hidden],
.read-more:not([open])>summary:focus-visible>span[aria-hidden]{
  background:#d4e7f8;color:#174b7b;
  box-shadow:0 0 0 8px rgba(121,180,229,.19),0 0 28px rgba(102,175,237,.25);
  animation-play-state:paused
}
.read-more[open]>summary>span[aria-hidden]{
  animation:none;transform:rotate(45deg);
  background:#315c87;color:#fff;
  box-shadow:0 0 0 5px #8caec62d
}
.read-more>summary:focus-visible{outline:2px solid #7daaca;outline-offset:4px}
.read-more .read-more-content{animation:ciidt-expand-reveal .42s cubic-bezier(.2,.8,.2,1) both}
body.has-video-hero .hero-detail>summary>span[aria-hidden],
.video-chapter .read-more>summary>span[aria-hidden]{
  color:#19394b;background:#f7fbff;
  box-shadow:0 0 0 0 rgba(237,255,255,0)
}
body.has-video-hero .hero-detail[open]>summary>span[aria-hidden],
.video-chapter .read-more[open]>summary>span[aria-hidden]{
  color:#fff;background:#4c79ad
}
@keyframes ciidt-plus-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(113,177,230,0),0 0 0 rgba(92,167,222,0)}
  48%{box-shadow:0 0 0 7px rgba(113,177,230,.17),0 0 23px rgba(92,167,222,.20)}
}
@keyframes ciidt-expand-reveal{
  from{opacity:.25;transform:translateY(-9px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:1000px){
  #overview .platform-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
  #overview .platform-grid>.feature-card:nth-child(n){grid-column:auto;grid-row:auto;min-height:375px}
  #overview .platform-grid>.feature-card:nth-child(1){min-height:440px}
  #overview .platform-grid>.feature-card:nth-child(4){padding-right:clamp(25px,3.6vw,48px)!important}
  #overview .platform-grid>.feature-card:nth-child(1)::before{width:340px}
  #technology .architecture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #technology .architecture-grid>li.system-card:nth-child(n){grid-column:auto}
}
@media(max-width:680px){
  #overview .platform-grid,#technology .architecture-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  #overview .platform-grid>.feature-card:nth-child(n){min-height:290px;border-radius:23px!important;padding:27px!important}
  #overview .platform-grid>.feature-card:nth-child(1){min-height:390px}
  #overview .platform-grid>.feature-card:nth-child(1) h3{font-size:clamp(38px,9vw,55px)}
  #overview .platform-grid>.feature-card:nth-child(1)::before{right:-120px;bottom:-130px;width:350px}
  #overview .platform-grid>.feature-card:nth-child(2) h3,
  #overview .platform-grid>.feature-card:nth-child(3) h3,
  #overview .platform-grid>.feature-card:nth-child(4) h3{font-size:clamp(30px,7.6vw,43px)}
  #overview .platform-grid>.feature-card:nth-child(4){min-height:320px;padding-right:27px!important}
  #overview .platform-grid>.feature-card:nth-child(4)::before{width:250px;right:-95px;top:75%}
  #overview .platform-grid>.feature-card p{font-size:16px;line-height:1.55}
  #technology .architecture-grid>li.system-card:nth-child(n){grid-column:auto;min-height:355px;border-radius:22px!important}
  #technology .system-card-content{min-height:355px;padding:28px}
  #technology .architecture-grid .system-card h3{font-size:29px}
  .read-more>summary>span[aria-hidden]{width:46px;height:46px;flex-basis:46px}
}
@media(prefers-reduced-motion:reduce){
  #overview .platform-grid>.feature-card,
  .read-more>summary>span[aria-hidden],
  .read-more .read-more-content,
  #technology .system-photo-toggle .ui-icon{
    animation:none!important;transition:none!important
  }
}


/* CIIDT project overview: a photographic Apple-inspired bento grid.
   Every visual is an actual ETKM project image from the relevant category. */
.infrastructure-page .project-index{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:16px!important;
  padding:clamp(24px,4vw,65px) var(--chapter-gutter) clamp(55px,6vw,100px)!important;
  margin:0;
  overflow:visible!important;
  background:#f3f5f7;
}
.infrastructure-page .project-index>a{
  position:relative;isolation:isolate;overflow:hidden;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 42px!important;
  grid-template-rows:auto 1fr auto!important;
  align-content:stretch;align-items:end;
  flex:none!important;min-width:0;width:auto;
  grid-column:span 4;
  min-height:250px;
  padding:clamp(20px,2.8vw,34px)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:26px!important;
  background-color:#163349!important;
  box-shadow:0 9px 34px rgba(10,27,39,.09);
  color:#fff!important;
  font-weight:650;
  text-decoration:none!important;
  transition:transform .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s ease;
}
.infrastructure-page .project-index>a::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background-image:var(--etkm-tile-image);
  background-position:center;background-size:cover;
  filter:saturate(.78) contrast(1.04);
  transform:scale(1.01);
  transition:transform .7s cubic-bezier(.16,1,.3,1),filter .6s ease;
}
.infrastructure-page .project-index>a::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(8,27,40,.25),rgba(8,27,40,.22) 28%,rgba(6,22,36,.85) 100%);
  pointer-events:none;
}
.infrastructure-page .project-index>a:nth-child(1){
  grid-column:span 7;min-height:350px;
}
.infrastructure-page .project-index>a:nth-child(2){
  grid-column:span 5;min-height:350px;
}
.infrastructure-page .project-index>a>span{
  position:relative;z-index:1;
}
.infrastructure-page .project-index .project-index-number{
  grid-column:1;grid-row:1;
  display:flex;align-items:center;justify-content:center;
  width:47px;height:34px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.25);
  border-radius:99px!important;
  font-size:14px;font-weight:750;letter-spacing:.05em;
  color:#f6fcff!important;
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
.infrastructure-page .project-index>a>span:nth-child(2){
  grid-column:1;grid-row:3;
  font-size:clamp(23px,2.4vw,36px);
  line-height:1.12;letter-spacing:-.047em;
  font-weight:700;
  color:#fff!important;
  text-wrap:balance;
  overflow-wrap:break-word;
}
.infrastructure-page .project-index>a>.button-arrow{
  grid-column:2;grid-row:3;align-self:end;justify-self:end;
  width:42px;height:42px;padding:10px;
  border:1px solid rgba(255,255,255,.42);
  background:rgba(255,255,255,.15);
  border-radius:50%!important;
  stroke:#fff!important;color:#fff!important;
  transition:background .25s ease,transform .25s ease;
}
.infrastructure-page .project-index>a:focus-visible{
  outline:3px solid #3b83ba;outline-offset:4px;
}
@media(hover:hover) and (pointer:fine){
  .infrastructure-page .project-index>a:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 48px rgba(10,27,39,.18);
  }
  .infrastructure-page .project-index>a:hover::before{
    transform:scale(1.075);filter:saturate(.98) contrast(1.02)
  }
  .infrastructure-page .project-index>a:hover>.button-arrow{
    transform:translate(2px,-2px);
    background:rgba(255,255,255,.27)
  }
}
/* Project-category-to-photo mapping comes from the corresponding ETKM portfolio. */
.infrastructure-page .project-index>a[href="#control-center"]{--etkm-tile-image:url('/assets/etkm/technology-40.webp')}
.infrastructure-page .project-index>a[href="#server-rooms"]{--etkm-tile-image:url('/assets/etkm/technology-51.webp')}
.infrastructure-page .project-index>a[href="#energy"]{--etkm-tile-image:url('/assets/etkm/technology-59.webp')}
.infrastructure-page .project-index>a[href="#containers"]{--etkm-tile-image:url('/assets/etkm/technology-66.webp')}
.infrastructure-page .project-index>a[href="#high-capacity"]{--etkm-tile-image:url('/assets/etkm/technology-72.webp')}
.infrastructure-page .project-index>a[href="#public-buildings"]{--etkm-tile-image:url('/assets/etkm/urban-01.webp')}
.infrastructure-page .project-index>a[href="#offices"]{--etkm-tile-image:url('/assets/etkm/urban-10.webp')}
.infrastructure-page .project-index>a[href="#commercial"]{--etkm-tile-image:url('/assets/etkm/urban-14.webp')}
.infrastructure-page .project-index>a[href="#homes"]{--etkm-tile-image:url('/assets/etkm/urban-19.webp')}
.infrastructure-page .project-index>a[href="#air-filtration"]{--etkm-tile-image:url('/assets/etkm/urban-25.webp')}
/* Primary dark feature card must never inherit the global dark heading style. */
#overview .platform-grid>.feature-card:first-child h3,
#overview .platform-grid>.feature-card:first-child p,
#overview .platform-grid>.feature-card:first-child>.ui-icon{
  color:#fff!important
}
#overview .platform-grid>.feature-card:first-child p{color:#e5eff3!important}
@media(max-width:950px){
  .infrastructure-page .project-index{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .infrastructure-page .project-index>a:nth-child(n){grid-column:span 1;min-height:250px}
  .infrastructure-page .project-index>a:nth-child(1){grid-column:span 2;min-height:310px}
  .infrastructure-page .project-index>a:nth-child(5){grid-column:span 2;min-height:225px}
}
@media(max-width:600px){
  .infrastructure-page .project-index{
    gap:12px!important;
    padding:22px var(--chapter-gutter) 65px!important
  }
  .infrastructure-page .project-index>a{
    border-radius:21px!important;padding:19px!important;
    grid-template-columns:minmax(0,1fr) 30px!important;
  }
  .infrastructure-page .project-index>a:nth-child(n){min-height:207px}
  .infrastructure-page .project-index>a:nth-child(1){min-height:255px}
  .infrastructure-page .project-index>a:nth-child(5){min-height:200px}
  .infrastructure-page .project-index>a>span:nth-child(2){
    font-size:clamp(18px,4.6vw,26px)
  }
  .infrastructure-page .project-index>a:nth-child(1)>span:nth-child(2),
  .infrastructure-page .project-index>a:nth-child(5)>span:nth-child(2){
    font-size:clamp(24px,6.5vw,35px)
  }
  .infrastructure-page .project-index .project-index-number{
    width:42px;height:31px;font-size:12px
  }
  .infrastructure-page .project-index>a>.button-arrow{
    width:32px;height:32px;padding:7px
  }
}
@media(prefers-reduced-motion:reduce){
  .infrastructure-page .project-index>a,
  .infrastructure-page .project-index>a::before,
  .infrastructure-page .project-index>a>.button-arrow{
    transition:none!important;transform:none!important
  }
}

/* A plain-language lead introduces the verified engineering capabilities. */
.infra-chapter#advantage .infra-lead-highlight{
  max-width:940px;
  margin:0 0 43px;
  font-size:clamp(19px,2.2vw,28px)!important;
  line-height:1.48;
  letter-spacing:-.035em;
  font-weight:500;
  color:#456074;
}
.infra-chapter#advantage .infra-columns{gap:clamp(18px,3vw,42px)}
.infra-chapter#advantage .infra-columns>article{
  padding:clamp(24px,3vw,38px)!important;
  background:#fff;
  border:1px solid #e1e9ec;
  border-radius:22px!important;
}
.infra-chapter#advantage .infra-columns h3{
  font-size:clamp(21px,2vw,28px);
  line-height:1.28;
  letter-spacing:-.035em
}
@media(max-width:680px){
  .infra-chapter#advantage .infra-lead-highlight{margin-bottom:25px}
  .infra-chapter#advantage .infra-columns>article{padding:23px!important}
}
