/* MOLTEN MEDIA V7 — Full-spectrum hero; quiet colour-threaded section echoes.
   Layered real type, not rasterised/generated branding. Existing photos are untouched. */
.hero.has-ambient-red .hero-content { max-width:min(54%,800px); }
.hero.has-ambient-red .spectrum-title {
  font-family:var(--font-display);font-size:clamp(112px,12.5vw,208px);
  font-weight:800;line-height:.84;letter-spacing:-.025em;
  margin:26px 0 25px;white-space:normal;text-shadow:none;
}
.spectrum-title > span { display:block;width:max-content;max-width:100%; }
.spectrum-title .spectrum-outline {
  color:#151015;-webkit-text-stroke:1px #bbb0bc;
  text-shadow:0 1px 0 #655263;line-height:.88;margin-top:.055em;
}
.hero-brandline {
  color:#f5f2ed;font-size:clamp(12px,1.12vw,16px);font-weight:700;
  letter-spacing:.18em;line-height:1.4;margin:0 0 14px;
}
.hero.has-ambient-red .hero-description { color:#c8bec5; }
.hero.has-ambient-red .hero-signal { top:113px;bottom:110px; }
.hero.has-ambient-red::before {
  background:linear-gradient(90deg,rgba(12,12,15,.61) 0%,rgba(12,12,15,.40) 23%,rgba(12,12,15,.12) 42%,transparent 59%);
}
.hero-signal .signal-scope-label { color:#c49aaf; }
/* Shared lettering finish: red/gold/magenta with a restrained violet edge. */
.spectrum-title .spectrum-metal,
.site-footer .footer-signature .footer-wordmark-text.spectrum-metal {
  position:relative;color:#fc9267;isolation:isolate;
  -webkit-text-stroke:.55px rgba(255,204,161,.50);
  background:none;text-shadow:none;
  filter:drop-shadow(0 0 16px rgba(227,27,70,.17));
}
@supports (-webkit-background-clip:text) or (background-clip:text) {
  .spectrum-title .spectrum-metal,
  .site-footer .footer-signature .footer-wordmark-text.spectrum-metal {
    background-image:
      linear-gradient(178deg,rgba(255,248,207,.52) 0%,rgba(255,238,206,.15) 14%,transparent 31%,rgba(26,2,26,.34) 64%,rgba(12,3,21,.67) 100%),
      linear-gradient(108deg,#ff493b 3%,#ffbd55 26%,#fd702c 40%,#ef2b78 65%,#b62fbb 83%,#7454d3 100%);
    background-size:100% 100%,100% 100%;background-repeat:no-repeat;
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .spectrum-title .spectrum-metal::before,
  .site-footer .footer-signature .footer-wordmark-text.spectrum-metal::before {
    content:attr(data-spectrum-text);position:absolute;inset:0;
    font:inherit;letter-spacing:inherit;line-height:inherit;white-space:inherit;
    pointer-events:none;-webkit-text-stroke:0;color:transparent;
    background:repeating-linear-gradient(115deg,rgba(255,230,206,.26) 0px,rgba(255,230,206,.26) .6px,rgba(28,0,20,.16) .9px,transparent 2px,transparent 3px);
    -webkit-background-clip:text;background-clip:text;opacity:.46;
  }
  .spectrum-title .spectrum-metal::after,
  .site-footer .footer-signature .footer-wordmark-text.spectrum-metal::after {
    content:attr(data-spectrum-text);position:absolute;inset:0;
    font:inherit;letter-spacing:inherit;line-height:inherit;white-space:inherit;
    pointer-events:none;-webkit-text-stroke:0;color:transparent;
    background:linear-gradient(110deg,transparent 38%,rgba(255,244,209,.02) 44%,rgba(255,244,209,.45) 49%,rgba(255,216,224,.12) 54%,transparent 61%);
    background-repeat:no-repeat;background-size:260% 100%;background-position:110% 50%;
    -webkit-background-clip:text;background-clip:text;
    animation:molten-spectrum-sheen 19s ease-in-out infinite;
    animation-play-state:paused;
  }
}
.spectrum-in-view .spectrum-metal::after { animation-play-state:running!important; }
@keyframes molten-spectrum-sheen {
  0%,12%{background-position:115% 50%;opacity:0;}
  20%{opacity:.65;}
  66%{opacity:.65;}
  80%,100%{background-position:-15% 50%;opacity:0;}
}
body.motion-paused .spectrum-metal::after,
body.spectrum-page-hidden .spectrum-metal::after { animation-play-state:paused!important; }
/* Preserve the measured single line at the bottom, with colour rather than new clutter. */
.site-footer .footer-signature .footer-wordmark-text.spectrum-metal {
  display:inline-block;max-width:none;width:auto;line-height:inherit;
  -webkit-text-stroke:.55px rgba(255,200,176,.35);
  filter:drop-shadow(0 0 22px rgba(239,36,100,.14));
}
.site-footer .footer-signature .footer-wordmark { padding:.06em 0 .12em; }
.site-footer .footer-signature .footer-wordmark:hover .spectrum-metal { filter:brightness(1.12) drop-shadow(0 0 22px rgba(239,36,100,.20)); }
.footer-signature-rule {
  background:linear-gradient(90deg,transparent,#b92144 10%,#e64152 32%,#f7ae5c 52%,#d133aa 75%,#7944be 91%,transparent);
  box-shadow:0 0 18px rgba(214,30,89,.17);
}
/* Lower-page option 3: soft colour threads, not more histogram bars. */
.work > .signal-echo--lead { opacity:.40; }
.work > .signal-echo--trail { opacity:.23; }
.approach > .signal-echo--lead { opacity:.34; }
.approach > .signal-echo--trail { opacity:.24; }
.site-footer > .signal-echo--lead { opacity:.31; }
.site-footer > .signal-echo--trail { opacity:.25; }
/* Photo 1 and 4 swap places; keep their original aspect-ratio proportions. */
@media(min-width:1101px){
  .team-photo-row { grid-template-columns:minmax(0,1.3356fr) minmax(0,1.7778fr) minmax(0,1fr) minmax(0,.6665fr) minmax(0,1fr); }
}
@media(min-width:761px) and (max-width:1100px){
  .hero.has-ambient-red .spectrum-title { font-size:clamp(106px,12.7vw,140px); }
  .hero.has-ambient-red .hero-content { max-width:58%; }
}
@media(max-width:760px){
  .hero.has-ambient-red { padding-top:375px;min-height:max(960px,100svh); }
  .hero.has-ambient-red .hero-content { max-width:100%; }
  .hero.has-ambient-red .hero-signal { top:88px;bottom:auto;height:292px; }
  .hero.has-ambient-red .spectrum-title { font-size:clamp(84px,25vw,156px);margin:22px 0 24px;line-height:.83;letter-spacing:-.027em; }
  .spectrum-title .spectrum-outline { margin-top:.04em;-webkit-text-stroke:.85px #bbb0bc; }
  .hero-brandline { font-size:11px;letter-spacing:.14em;margin-bottom:13px; }
  .spectrum-title .spectrum-metal { -webkit-text-stroke:.4px rgba(255,204,161,.55); }
  .work > .signal-echo--lead,.approach > .signal-echo--lead { opacity:.28; }
  .work > .signal-echo--trail,.approach > .signal-echo--trail { opacity:.19; }
  .site-footer > .signal-echo--lead,.site-footer > .signal-echo--trail { opacity:.23; }
  .site-footer .footer-signature .footer-wordmark-text.spectrum-metal { -webkit-text-stroke:.35px rgba(255,204,161,.5); }
}
@media(max-width:370px){
  .hero.has-ambient-red { padding-top:340px;min-height:940px; }
  .hero.has-ambient-red .hero-signal { height:250px; }
  .hero.has-ambient-red .spectrum-title { font-size:25vw; }
}
@media(prefers-reduced-motion:reduce){
  .spectrum-metal::after { animation:none!important;display:none; }
}
@media(forced-colors:active),print{
  .spectrum-title .spectrum-metal,.spectrum-title .spectrum-outline,
  .site-footer .footer-signature .footer-wordmark-text.spectrum-metal {
    color:CanvasText!important;-webkit-text-fill-color:CanvasText;background:none!important;
    -webkit-text-stroke:0;filter:none;
  }
  .spectrum-metal::before,.spectrum-metal::after { display:none!important; }
}
/* Move the aspect ratio with each photograph, not with its previous position. */
.team-photo-card:nth-child(1) { --photo-ratio:1600 / 1198; }
.team-photo-card:nth-child(4) { --photo-ratio:1365 / 2048; }
