/* Diya Group V8 — clarity, performance and responsive system corrections */
:root{
  --v8-ink:#041c31;
  --v8-blue:#075fd7;
  --v8-sky:#1591e8;
  --v8-lime:#96cb1b;
  --v8-muted:#536b7d;
  --v8-line:rgba(5,73,127,.14);
  --v8-ice:#f3f9fd;
  --v8-shadow:0 24px 70px rgba(4,52,88,.11);
}

/* Keep content readable even if a third-party animation is late or unavailable. */
.reveal{
  opacity:1!important;
  transform:none!important;
}

/* Header: fixed columns, balanced rhythm and a clear active route. */
.nav-shell{
  width:min(1280px,calc(100% - 32px));
  height:76px;
  grid-template-columns:158px auto 178px;
  justify-content:space-between;
  gap:clamp(1rem,2.6vw,2.5rem);
  padding:0 9px 0 20px;
}
.nav-shell .brand-mark{width:158px;min-width:0;overflow:visible}
.nav-shell .brand-logo{width:142px;height:52px}
.nav-shell .brand-logo img{width:100%;height:100%;object-fit:contain;object-position:left center}
.nav-shell .main-nav{
  width:max-content;
  max-width:100%;
  justify-self:center;
  justify-content:center;
  gap:clamp(1.1rem,2.25vw,2.25rem);
}
.nav-shell .main-nav a{
  position:relative;
  display:grid;
  place-items:center;
  min-height:42px;
  padding:.25rem .05rem;
  color:#112a3c;
  white-space:nowrap;
}
.nav-shell .main-nav a:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:1px;
  width:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--v8-blue),var(--v8-lime));
  transform:translateX(-50%);
  transition:width .25s ease;
}
.nav-shell .main-nav a:hover:after,.nav-shell .main-nav a.is-current:after{width:100%}
.nav-shell .main-nav a.is-current{color:var(--v8-blue)}
.nav-shell .nav-cta{width:178px;min-width:178px;min-height:58px}

/* Hero: retain the technical grid, remove unrelated rings and frame ornaments. */
.hero-v4{
  min-height:880px;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 48%,rgba(24,139,232,.12),transparent 32%),
    linear-gradient(rgba(14,104,181,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(14,104,181,.045) 1px,transparent 1px),
    #fbfdff;
  background-size:auto,64px 64px,64px 64px,auto;
}
.hero-v4:before,.hero-v4:after,.power-sphere-core:after{display:none!important}
.power-sphere-core:before{
  opacity:.42;
  mask-image:radial-gradient(circle at 73% 50%,#000 0 38%,transparent 69%);
}
.power-sphere-object{
  left:74%;
  top:54%;
  width:min(650px,46vw);
  max-width:650px;
  opacity:1;
  filter:drop-shadow(0 30px 26px rgba(15,80,145,.09));
}
.power-sphere-object:before{
  inset:17%;
  background:radial-gradient(circle,rgba(23,131,255,.16),rgba(23,131,255,.025) 54%,transparent 73%);
}
.power-sphere-object:after{opacity:.55}
.hero-v4__copy{
  width:min(625px,48%);
  padding:clamp(190px,23vh,226px) 0 76px;
}
.hero-v4 h1{font-size:clamp(4.1rem,5.2vw,5.75rem)}
.hero-v4__actions .button{min-width:224px}
.sphere-caption{right:clamp(1rem,3vw,2.5rem)}
.sphere-webgl-status{bottom:9%;font-size:.62rem}

/* Compact certificate badge based on the supplied ISO certificates. */
.iso-badge{
  display:flex;
  align-items:center;
  gap:.8rem;
  width:max-content;
  max-width:100%;
  margin-top:1.35rem;
  padding:.65rem .9rem .65rem .68rem;
  border:1px solid rgba(5,95,175,.16);
  border-radius:14px;
  background:rgba(255,255,255,.84);
  box-shadow:0 12px 35px rgba(6,69,115,.07);
  backdrop-filter:blur(14px);
}
.iso-badge__seal{
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 50px;
  width:50px;
  height:50px;
  border:1px solid rgba(7,95,215,.18);
  border-radius:50%;
  background:linear-gradient(145deg,#fff,#eef7fd);
  color:var(--v8-blue);
}
.iso-badge__seal:before,.iso-badge__seal:after{
  content:"";
  position:absolute;
  inset:5px;
  border:1px dashed rgba(7,95,215,.24);
  border-radius:50%;
}
.iso-badge__seal:after{inset:2px;border-color:rgba(150,203,27,.28)}
.iso-badge__seal b{font-size:.66rem;letter-spacing:.08em}
.iso-badge__seal i{
  position:absolute;
  right:-1px;
  bottom:1px;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border:2px solid #fff;
  border-radius:50%;
  background:var(--v8-lime);
  color:#173205;
  font-size:.58rem;
  font-style:normal;
}
.iso-badge__copy{display:grid;gap:.13rem;min-width:0}
.iso-badge__copy small{
  color:#607687;
  font-size:.52rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.iso-badge__copy strong{color:var(--v8-ink);font-size:.7rem;line-height:1.25}
.iso-badge__copy strong i{padding:0 .25rem;color:var(--v8-lime);font-style:normal}
.iso-badge__copy em{color:#6d8291;font-size:.5rem;font-style:normal}
.iso-badge--about{margin-top:2rem}

/* Client and partner marks remain in their original brand colours. */
.logo-track img,.profile-network__logos img,.profile-network__logos figure:hover img,
.profile-partner-strip img,.partner-card>img{
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
}
.client-rail{background:#fff}
.logo-track img{padding:.35rem .6rem;border-radius:8px;background:#fff}
.profile-network__logos figure{background:#fff}
.profile-network__logos figure:hover{background:#f1f8fd}

/* Static editorial catalogues replace the rejected horizontal carousel. */
.catalogue-section{overflow:visible}
.catalogue-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1rem,2vw,1.7rem);
  margin-top:clamp(2.25rem,4vw,4rem);
}
.catalogue-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(240px,.82fr) minmax(300px,1.18fr);
  min-height:350px;
  padding:0;
  overflow:hidden;
  border:1px solid var(--v8-line);
  border-radius:22px;
  background:#fff;
  color:var(--v8-ink);
  text-align:left;
  box-shadow:0 1px 0 rgba(4,63,105,.03);
  cursor:pointer;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.catalogue-card:nth-child(4n+2),.catalogue-card:nth-child(4n+3){
  grid-template-columns:minmax(300px,1.18fr) minmax(240px,.82fr);
}
.catalogue-card:nth-child(4n+2) .catalogue-card__media,
.catalogue-card:nth-child(4n+3) .catalogue-card__media{order:2}
.catalogue-card:hover,.catalogue-card:focus-visible{
  z-index:2;
  transform:translateY(-5px);
  border-color:rgba(7,95,215,.34);
  box-shadow:var(--v8-shadow);
  outline:none;
}
.catalogue-card__media{
  display:grid;
  place-items:center;
  min-width:0;
  padding:1.25rem;
  overflow:hidden;
  background:linear-gradient(145deg,#eef6fb,#fbfdff);
}
.catalogue-card__media img{
  display:block;
  width:100%;
  height:100%;
  max-height:310px;
  object-fit:contain;
  object-position:center;
  transition:transform .45s ease;
}
.catalogue-card:hover .catalogue-card__media img{transform:scale(1.025)}
.catalogue-card__body{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:clamp(1.5rem,2.6vw,2.4rem);
}
.catalogue-card__body small,.fieldwork-card__body small{
  margin-bottom:.85rem;
  color:var(--v8-blue);
  font-size:.6rem;
  font-weight:750;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.catalogue-card__body strong{
  color:var(--v8-ink);
  font-size:clamp(1.55rem,2vw,2.2rem);
  font-weight:620;
  line-height:1.03;
  letter-spacing:-.035em;
}
.catalogue-card__body p{
  margin:.9rem 0 1.5rem;
  color:var(--v8-muted);
  font-size:.78rem;
  line-height:1.65;
}
.catalogue-card__body>span:last-child,.fieldwork-card__body>span:last-child{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:auto;
  padding-top:1rem;
  border-top:1px solid var(--v8-line);
  color:var(--v8-ink);
  font-size:.68rem;
  font-weight:700;
}
.catalogue-card__body>span i,.fieldwork-card__body>span i{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:var(--v8-blue);
  color:#fff;
  font-style:normal;
}

/* Built-on-site grid: image-led, uncropped and easy to inspect. */
.project-narrative{overflow:visible}
.fieldwork-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:clamp(1rem,1.8vw,1.5rem);
  margin-top:clamp(2.5rem,5vw,4.5rem);
}
.fieldwork-card{
  grid-column:span 4;
  display:grid;
  grid-template-rows:minmax(280px,1fr) auto;
  min-height:530px;
  padding:0;
  overflow:hidden;
  border:1px solid var(--v8-line);
  border-radius:22px;
  background:#fff;
  color:var(--v8-ink);
  text-align:left;
  cursor:pointer;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.fieldwork-card:first-child,.fieldwork-card:nth-child(5){grid-column:span 8}
.fieldwork-card:hover,.fieldwork-card:focus-visible{
  transform:translateY(-5px);
  border-color:rgba(7,95,215,.34);
  box-shadow:var(--v8-shadow);
  outline:none;
}
.fieldwork-card__media{
  display:grid;
  place-items:center;
  min-height:280px;
  padding:1rem;
  background:linear-gradient(145deg,#eaf4fa,#fbfdff);
}
.fieldwork-card__media img{
  width:100%;
  height:100%;
  max-height:410px;
  object-fit:contain;
  object-position:center;
}
.fieldwork-card__body{display:flex;flex-direction:column;padding:1.5rem}
.fieldwork-card__body strong{
  color:var(--v8-ink);
  font-size:clamp(1.3rem,1.7vw,1.9rem);
  line-height:1.05;
  letter-spacing:-.03em;
}
.fieldwork-card__body p{
  display:-webkit-box;
  margin:.75rem 0 1.2rem;
  overflow:hidden;
  color:var(--v8-muted);
  font-size:.72rem;
  line-height:1.55;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
}

/* Modal: reliable, readable and uncropped. */
.detail-modal{
  width:min(980px,calc(100% - 2rem));
  max-height:min(760px,calc(100dvh - 2rem));
  border:1px solid rgba(255,255,255,.4);
  border-radius:24px;
}
.detail-modal[open]{grid-template-columns:minmax(340px,.95fr) minmax(380px,1.05fr)}
.detail-modal::backdrop{background:rgba(2,24,42,.68)}
.detail-modal__media{
  display:grid;
  place-items:center;
  min-height:570px;
  padding:1.5rem;
  background:linear-gradient(145deg,#eaf4fa,#fbfdff);
}
.detail-modal__media img{width:100%;height:100%;max-height:540px;object-fit:contain;object-position:center}
.detail-modal__content>p:not(.eyebrow){font-size:.85rem;line-height:1.7}
.detail-modal__close{box-shadow:0 8px 24px rgba(3,42,70,.12)}

/* Contrast and alignment corrections for conversion areas. */
.contact-cta-v4__band{background:linear-gradient(135deg,#042b4b,#075fb4)}
.contact-cta-v4 .contact-form{box-shadow:0 20px 55px rgba(0,26,47,.16)}
.contact-cta-v4 .contact-form label{color:#466075}
.contact-cta-v4 .contact-form input,.contact-cta-v4 .contact-form textarea{color:var(--v8-ink)}
.contact-cta-v4 .contact-form .button{background:var(--v8-lime);color:#092640}
.contact-cta-v4 .contact-form .button-icon{background:#fff;color:var(--v8-blue)}
.contact-direct a,.contact-direct span{color:rgba(255,255,255,.88)}
.page-heading p,.partner-heading p,.section-heading-v4>p{color:var(--v8-muted)}

@media(max-width:1180px){
  .nav-shell{grid-template-columns:150px 1fr 164px;gap:1rem}
  .nav-shell .main-nav{gap:1.15rem}
  .nav-shell .nav-cta{width:164px;min-width:164px}
  .power-sphere-object{left:76%;width:min(610px,50vw)}
  .catalogue-card{grid-template-columns:1fr;grid-template-rows:250px auto}
  .catalogue-card:nth-child(4n+2),.catalogue-card:nth-child(4n+3){grid-template-columns:1fr;grid-template-rows:250px auto}
  .catalogue-card:nth-child(4n+2) .catalogue-card__media,
  .catalogue-card:nth-child(4n+3) .catalogue-card__media{order:0}
}

@media(max-width:900px){
  .nav-shell{
    width:calc(100% - 24px);
    grid-template-columns:142px 1fr 50px;
    padding:0 10px 0 16px;
  }
  .nav-shell .nav-toggle{grid-column:3;width:46px;height:46px;justify-self:end}
  .nav-shell .main-nav{width:auto}
  .nav-shell .nav-cta{width:auto;min-width:0}
  .hero-v4{min-height:1060px}
  .hero-v4__copy{width:100%;padding:150px 0 545px}
  .hero-v4 h1{max-width:720px}
  .power-sphere-object{left:50%;top:72%;width:min(650px,78vw)}
  .catalogue-grid{grid-template-columns:1fr}
  .fieldwork-card,.fieldwork-card:first-child,.fieldwork-card:nth-child(5){grid-column:span 6}
}

@media(max-width:640px){
  .nav-shell{top:12px;width:calc(100% - 20px);height:70px;border-radius:22px}
  .nav-shell .brand-logo{width:126px;height:48px}
  .hero-v4{
    min-height:990px;
    padding:0 1rem;
    background-size:auto,44px 44px,44px 44px,auto;
  }
  .hero-v4__copy{padding:122px 0 470px}
  .hero-v4 h1{font-size:clamp(3.4rem,15.8vw,4.55rem);line-height:.9}
  .hero-rule{margin:1.4rem 0}
  .hero-v4__summary{max-width:94%;font-size:.84rem}
  .hero-v4__actions{grid-template-columns:1fr 1fr}
  .hero-v4__actions .button{width:100%;min-width:0;min-height:56px;padding:.4rem .4rem .4rem .7rem;font-size:.62rem}
  .hero-v4__actions .button-icon{width:38px;height:38px}
  .iso-badge{width:100%;gap:.65rem;margin-top:.9rem;padding:.55rem .65rem}
  .iso-badge__seal{flex-basis:44px;width:44px;height:44px}
  .iso-badge__copy small{font-size:.43rem}
  .iso-badge__copy strong{font-size:.58rem}
  .iso-badge__copy em{font-size:.44rem}
  .power-sphere-object{top:73.5%;width:min(440px,112vw)}
  .sphere-caption{bottom:.7rem;right:50%;transform:translateX(50%);font-size:.5rem}
  .fieldwork-grid{grid-template-columns:1fr}
  .fieldwork-card,.fieldwork-card:first-child,.fieldwork-card:nth-child(5){
    grid-column:auto;
    min-height:0;
    grid-template-rows:250px auto;
  }
  .catalogue-card,.catalogue-card:nth-child(4n+2),.catalogue-card:nth-child(4n+3){
    grid-template-rows:235px auto;
    min-height:0;
    border-radius:18px;
  }
  .catalogue-card__media{padding:.8rem}
  .catalogue-card__body{padding:1.3rem}
  .catalogue-card__body strong{font-size:1.45rem}
  .catalogue-card__body p{font-size:.72rem}
  .detail-modal{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);border-radius:18px}
  .detail-modal[open]{grid-template-columns:1fr;overflow:auto}
  .detail-modal__media{min-height:260px;height:260px;padding:.8rem}
  .detail-modal__content{padding:1.5rem}
  .detail-modal__content h2{font-size:2.2rem}
}

@media(prefers-reduced-motion:reduce){
  .catalogue-card,.catalogue-card__media img,.fieldwork-card{transition:none}
}
