/* Ecological cooperation client-review refinements. */

/* Enlarge the wide source artwork so the shield scene reaches the right edge
   rather than leaving the source image's quiet margin visible. */
.agency-page > .page-hero {
  background:
    linear-gradient(90deg,rgba(241,246,255,.98) 0%,rgba(241,246,255,.88) 43%,rgba(241,246,255,.05) 76%),
    var(--hero-image) center / auto 124% no-repeat,
    #f1f6ff;
}

/* Common project: full photographic backdrop with a reversed detail panel. */
.agency-page > .page-hero + .section {
  isolation:isolate;
  background:#07152f url("assets/agency-common-project-background.png") center / cover no-repeat;
}

.agency-page > .page-hero + .section::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:linear-gradient(90deg,rgba(5,18,48,.88) 0%,rgba(8,27,65,.66) 48%,rgba(4,15,39,.46) 100%);
  pointer-events:none;
}

.agency-page > .page-hero + .section > .container {
  position:relative;
  z-index:1;
}

.agency-page > .page-hero + .section .summary-card {
  border-color:rgba(255,255,255,.72);
  background:rgba(255,255,255,.9);
  box-shadow:0 28px 64px rgba(0,0,0,.24);
  backdrop-filter:blur(16px);
  transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s ease,background .38s ease;
}

.agency-page > .page-hero + .section .summary-card::after {
  background:rgba(196,181,253,.32);
  box-shadow:0 0 0 38px rgba(51,111,252,.06),0 0 0 76px rgba(107,92,246,.04);
}

.agency-page > .page-hero + .section .project-details {
  position:relative;
  overflow:hidden;
  border-color:rgba(255,255,255,.28);
  color:#fff;
  background:linear-gradient(145deg,rgba(4,15,39,.88),rgba(22,49,102,.72));
  box-shadow:0 28px 64px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(18px);
  transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s ease,border-color .38s ease;
}

.agency-page > .page-hero + .section .project-details::before {
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  top:-120px;
  right:-85px;
  border:1px solid rgba(124,212,253,.42);
  border-radius:50%;
  box-shadow:0 0 0 32px rgba(51,111,252,.08),0 0 0 66px rgba(107,92,246,.05);
  pointer-events:none;
}

.agency-page > .page-hero + .section .project-details > * {
  position:relative;
  z-index:1;
}

.agency-page > .page-hero + .section .project-details h2,
.agency-page > .page-hero + .section .project-details b {
  color:#fff;
}

.agency-page > .page-hero + .section .project-details .detail-row {
  border-color:rgba(255,255,255,.16);
}

.agency-page > .page-hero + .section .project-details .detail-row span {
  color:rgba(219,234,254,.72);
}

.agency-page > .page-hero + .section .project-details .detail-row .success {
  color:#6ce9a6;
}

.agency-page > .page-hero + .section .summary-card:hover,
.agency-page > .page-hero + .section .project-details:hover {
  transform:translateY(-8px);
  box-shadow:0 36px 78px rgba(0,0,0,.34);
}

.agency-page > .page-hero + .section .project-details:hover {
  border-color:rgba(124,212,253,.52);
}

/* Value section: photographic strategy card and homepage-style filled icons. */
.agency-page .agency-value-main {
  isolation:isolate;
  min-height:440px;
  padding:44px;
  background:#041127 url("assets/agency-strategic-judgment-background.png") center / cover no-repeat;
  box-shadow:0 24px 58px rgba(4,15,39,.26);
  transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s ease;
}

.agency-page .agency-value-main::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:linear-gradient(90deg,rgba(4,15,39,.98) 0%,rgba(4,20,47,.91) 44%,rgba(4,15,39,.18) 82%);
  pointer-events:none;
}

.agency-page .agency-value-main::after {
  z-index:0;
  border-color:rgba(124,212,253,.32);
  box-shadow:0 0 0 42px rgba(51,111,252,.07),0 0 0 84px rgba(107,92,246,.05);
}

.agency-page .agency-value-main > * {
  position:relative;
  z-index:1;
}

.agency-page .agency-value-main:hover {
  transform:translateY(-8px) scale(1.008);
  box-shadow:0 34px 72px rgba(4,15,39,.34);
}

.agency-page .agency-value-row {
  grid-template-columns:58px minmax(0,1fr);
  transition:transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .34s ease,border-color .34s ease,background .34s ease;
}

.agency-page .agency-value-row > span {
  position:relative;
  width:58px;
  height:58px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.8);
  border-radius:17px;
  color:#fff;
  background:linear-gradient(145deg,#155eef,#53b1fd);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.68),inset 0 -10px 18px rgba(30,64,175,.16),0 12px 24px rgba(37,99,235,.24);
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease;
}

.agency-page .agency-value-row:nth-child(2) > span {
  color:#fff;
  background:linear-gradient(145deg,#6938ef,#b692f6);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.68),inset 0 -10px 18px rgba(67,46,255,.16),0 12px 24px rgba(107,92,246,.24);
}

.agency-page .agency-value-row > span::before {
  content:"";
  position:absolute;
  z-index:2;
  width:40px;
  height:14px;
  top:3px;
  left:8px;
  border-radius:50%;
  background:rgba(255,255,255,.38);
  filter:blur(3px);
  pointer-events:none;
}

.agency-page .agency-value-row > span::after {
  content:"";
  position:relative;
  z-index:1;
  width:31px;
  height:31px;
  background:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23fff' d='M4 5h17v5H4zm0 8h17v5H4zm0 8h17v5H4zM23 8h5v5h-5zm0 8h5v5h-5zm0 8h5v5h-5z'/%3E%3Cpath fill='%23b9dcff' d='m22 2 2 3.8L28 8l-4 2.2-2 3.8-2-3.8L16 8l4-2.2z'/%3E%3C/svg%3E");
}

.agency-page .agency-value-row:nth-child(2) > span::after {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23fff' d='M16 3a10 10 0 0 1 10 10c0 7-6 12-10 16-4-4-10-9-10-16A10 10 0 0 1 16 3m0 5a5 5 0 1 0 0 10 5 5 0 0 0 0-10'/%3E%3Cpath fill='%23e4d7ff' d='M16 10.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5m8 11 1.4 3.1 3.1 1.4-3.1 1.4L24 30.5l-1.4-3.1-3.1-1.4 3.1-1.4z'/%3E%3C/svg%3E");
}

.agency-page .agency-value-row > span svg {
  display:none;
}

.agency-page .agency-value-row:hover {
  transform:translateY(-7px);
  border-color:var(--brand-200);
  background:linear-gradient(145deg,#fff,var(--brand-25));
  box-shadow:0 24px 48px rgba(37,99,235,.16);
}

.agency-page .agency-value-row:hover > span {
  transform:scale(1.08) rotate(-4deg);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.72),0 18px 32px rgba(37,99,235,.3);
}

/* Coordination section: richer color, rings and moving light accents. */
.agency-page > .section.blue {
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(122deg,#1d4ed8 0%,#2563eb 47%,#4f46e5 76%,#6d28d9 120%);
}

.agency-page > .section.blue::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:-20%;
  background:radial-gradient(circle at 18% 22%,rgba(34,211,238,.34),transparent 20%),radial-gradient(circle at 78% 18%,rgba(251,191,36,.2),transparent 17%),radial-gradient(circle at 86% 82%,rgba(192,132,252,.38),transparent 24%),radial-gradient(circle at 42% 78%,rgba(110,231,183,.16),transparent 18%);
  animation:agency-aurora 12s ease-in-out infinite alternate;
  pointer-events:none;
}

.agency-page > .section.blue::after {
  content:"";
  position:absolute;
  z-index:0;
  width:390px;
  height:390px;
  right:-95px;
  bottom:-245px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  box-shadow:0 0 0 48px rgba(255,255,255,.055),0 0 0 98px rgba(124,212,253,.045),0 0 0 150px rgba(196,181,253,.035);
  animation:agency-rings 7s ease-in-out infinite alternate;
  pointer-events:none;
}

.agency-page > .section.blue .responsibility-grid {
  position:relative;
  z-index:1;
}

.agency-page .responsibility-card {
  border-color:rgba(255,255,255,.5);
  background:rgba(255,255,255,.88);
  box-shadow:0 28px 64px rgba(13,38,110,.3);
  backdrop-filter:blur(16px);
  transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s ease,background .38s ease;
}

.agency-page .responsibility-card:hover {
  transform:translateY(-8px) rotate(-.4deg);
  background:rgba(255,255,255,.94);
  box-shadow:0 38px 78px rgba(13,38,110,.38);
}

/* Entrance motion and micro-interactions across the page. */
.agency-page .reveal {
  transform:translate3d(0,40px,0);
  transition:opacity .72s cubic-bezier(.2,.8,.2,1),transform .72s cubic-bezier(.2,.8,.2,1);
  will-change:opacity,transform;
}

.agency-page .reveal.is-visible {
  transform:translate3d(0,0,0);
}

.agency-page .moment-card {
  transition:transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .34s ease,border-color .34s ease,background .34s ease;
}

.agency-page .moment-card:nth-child(2) { transition-delay:.08s; }
.agency-page .moment-card:nth-child(3) { transition-delay:.16s; }
.agency-page .agency-value-row:nth-child(2) { transition-delay:.1s; }

.agency-page .moment-card:hover {
  transform:translateY(-8px);
  border-color:var(--brand-200);
  background:linear-gradient(145deg,#fff,var(--brand-25));
  box-shadow:0 25px 50px rgba(37,99,235,.16);
}

.agency-page .moment-card:hover .moment-art {
  transform:translateX(5px) scale(1.02);
}

.agency-page .moment-art,
.agency-page .inline-cta-actions .button {
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease;
}

.agency-page .inline-cta-actions .button:hover {
  transform:translateY(-4px);
}

@keyframes agency-aurora {
  from { transform:translate3d(-1.5%,-1%,0) scale(1); }
  to { transform:translate3d(2%,1.5%,0) scale(1.05); }
}

@keyframes agency-rings {
  from { transform:translate3d(0,0,0) scale(.98); opacity:.72; }
  to { transform:translate3d(-18px,-14px,0) scale(1.05); opacity:1; }
}

@media (max-width:1050px) {
  .agency-page > .page-hero + .section {
    background-position:64% center;
  }

  .agency-page .agency-value-main {
    min-height:520px;
  }
}

@media (max-width:760px) {
  .agency-page > .page-hero + .section {
    background-position:70% center;
  }

  .agency-page .agency-value-main {
    min-height:500px;
    padding:32px 24px;
    background-position:66% center;
  }

  .agency-page .agency-value-main::before {
    background:linear-gradient(180deg,rgba(4,15,39,.97) 0%,rgba(4,20,47,.82) 62%,rgba(4,15,39,.4) 100%);
  }

  .agency-page .agency-value-row {
    grid-template-columns:58px minmax(0,1fr);
  }
}

@media (prefers-reduced-motion:reduce) {
  .agency-page > .section.blue::before,
  .agency-page > .section.blue::after {
    animation:none;
  }

  .agency-page .reveal,
  .agency-page .reveal.is-visible {
    opacity:1;
    transform:none;
    transition:none;
  }
}
