/* One connected cyan-to-amber field. Load last, after all compact overrides. */
footer.rx-footer.rx-footer--unified{
  position:relative;isolation:isolate;overflow:hidden;padding:0;
  color:#edf4f6;background:#061622;
}
.rx-footer.rx-footer--unified .rx-footer-content{
  position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;
  width:100%;max-width:none;margin:0;padding:25px 0 17px;gap:0;
}
.rx-footer.rx-footer--unified .rx-brand{
  display:flex;flex:none;flex-wrap:nowrap;align-items:center;justify-content:center;
  width:auto;max-width:100%;margin:0;padding:0 20px;gap:10px;
  white-space:nowrap;color:#edf4f6;
}
.rx-footer.rx-footer--unified .rx-brand .xmark{
  display:inline-block;flex:0 0 31px;width:31px;font-size:37px;font-weight:900;
  line-height:1;letter-spacing:-5px;
  background:linear-gradient(135deg,#d4f6fa 8%,#67cddd 42%,#469bb2 49%,#c7eef2 82%);
  background-clip:text;-webkit-background-clip:text;color:transparent;
}
.rx-footer.rx-footer--unified .rx-brand strong{
  font-size:27px;font-weight:700;line-height:1.2;letter-spacing:.08em;
}
.rx-footer.rx-footer--unified .rx-art{
  position:relative;z-index:0;flex:none;inset:auto;width:100%;
  height:clamp(72px,7.8vw,112px);margin:6px 0 3px;overflow:hidden;opacity:1;
  pointer-events:none;
}
.rx-footer.rx-footer--unified .rx-fibres{
  position:absolute;inset:0 auto auto 50%;display:block;
  width:max(100%,760px);height:100%;max-width:none;aspect-ratio:auto;
  object-fit:fill;object-position:center;transform-origin:center;
  transform:translateX(-50%);opacity:.88;
  animation:rx-connected-drift 16s ease-in-out infinite;
  animation-play-state:paused;
}
.rx-footer.rx-footer--unified[data-rx-active="true"] .rx-fibres{animation-play-state:running}
@keyframes rx-connected-drift{
  0%,100%{transform:translateX(-50%) translateY(-1px) scale(1.006);opacity:.8}
  50%{transform:translateX(-50%) translateY(1px) scale(1.018);opacity:1}
}
.rx-footer.rx-footer--unified .rx-footer-meta{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:4px 22px;max-width:100%;padding:0 20px;
}
.rx-footer.rx-footer--unified .footer-nav{
  display:flex;flex:none;align-items:center;justify-content:center;
  margin:0;padding:0;gap:0;font-size:13px;
}
.rx-footer.rx-footer--unified .footer-nav button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:44px;margin:0;padding:8px 3px;border:0;border-radius:3px;
  background:transparent;color:#e2edf2;font:inherit;line-height:1.4;
  transition:color .2s ease;
}
.rx-footer.rx-footer--unified .footer-nav button svg{display:block;flex:none;opacity:.7}
.rx-footer.rx-footer--unified .rx-copyright{
  margin:0;font-size:12px;line-height:1.6;letter-spacing:.025em;color:#a6b7c2;
}
.rx-footer.rx-footer--unified :is(a,button):focus-visible{
  outline:2px solid #8de4f5;outline-offset:5px;
}
@media(hover:hover) and (pointer:fine){
  .rx-footer.rx-footer--unified .footer-nav button:hover{color:#89e1ed}
}
@media(max-width:520px){
  .rx-footer.rx-footer--unified .rx-footer-content{padding-top:23px;padding-bottom:18px}
  .rx-footer.rx-footer--unified .rx-brand strong{font-size:24px;letter-spacing:.07em}
  .rx-footer.rx-footer--unified .rx-brand .xmark{font-size:34px;width:29px;flex-basis:29px}
  .rx-footer.rx-footer--unified .rx-art{height:72px;margin-top:5px;margin-bottom:0}
  .rx-footer.rx-footer--unified .rx-footer-meta{flex-direction:column;gap:0;padding:0 16px}
  .rx-footer.rx-footer--unified .rx-copyright{font-size:11px;text-align:center}
}

/* About alone gets this presentation; app.js still owns its content and dialog. */
#detail.rx-about-dialog{
  width:calc(100% - 32px);max-width:940px;max-height:88svh;
  padding:26px 36px 34px;border:1px solid #d4e1e6;border-radius:20px;
  color:#142c39;background:#f9fbfa;box-shadow:0 30px 100px #0005;
  overscroll-behavior:contain;scrollbar-gutter:stable;
}
#detail.rx-about-dialog::backdrop{background:#020d19cf;backdrop-filter:blur(8px)}
#detail.rx-about-dialog>.close{
  position:sticky;top:0;right:auto;float:right;z-index:5;
  width:44px;height:44px;min-width:44px;margin:0 -12px 0 16px;
  border:1px solid #cddce1;border-radius:50%;background:#f9fbfaf5;
  color:#173a4c;font-size:29px;line-height:1;
}
#detail.rx-about-dialog>.eyebrow{
  padding-top:8px;margin:0 60px 10px 0;font-size:11px;font-weight:500;
  letter-spacing:.14em;line-height:1.5;color:#50707f;
}
#detail.rx-about-dialog #detail-title{
  display:flex;align-items:center;gap:12px;clear:none;
  margin:0 60px 25px 0;font-size:34px;font-weight:700;
  letter-spacing:.07em;line-height:1.25;color:#112e3e;
}
#detail.rx-about-dialog #detail-title::before{
  content:'X';flex:none;width:30px;line-height:1;font-size:38px;font-weight:900;
  letter-spacing:-5px;color:#348ca1;
}
#detail.rx-about-dialog #detail-title:focus{outline:none}
#detail.rx-about-dialog #detail-content{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:24px 32px;clear:both;
}
#detail.rx-about-dialog #detail-content>p{
  margin:0;font-size:16px;line-height:1.75;color:#37515e;
}
#detail.rx-about-dialog #detail-content>ul{
  display:grid;align-content:start;gap:12px;margin:0;padding:16px 20px 16px 36px;
  border:1px solid #dbe7e9;border-radius:12px;background:#eef5f5;
  font-size:14px;line-height:1.6;color:#37515e;
}
#detail.rx-about-dialog #detail-content>ul li::marker{color:#498c9b}
#detail.rx-about-dialog .agency-office-gallery{
  grid-column:1/-1;min-width:0;margin:0;padding-top:24px;border-top:1px solid #d8e4e7;
}
#detail.rx-about-dialog .agency-office-gallery h3{
  margin:0 0 16px;font-size:20px;font-weight:500;line-height:1.4;
  letter-spacing:-.015em;color:#173a4b;
}
#detail.rx-about-dialog .agency-proof-office-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px;
  width:100%;max-width:none;
}
#detail.rx-about-dialog .agency-office-tile{
  border-radius:9px;outline-offset:4px;box-shadow:0 2px 8px #12354a0a;
}
#detail.rx-about-dialog .agency-proof-office-grid figcaption{
  margin-top:7px;font-size:12px;line-height:1.45;color:#526b77;
}
#detail.rx-about-dialog .agency-proof-link{
  display:inline-flex;align-items:center;min-height:44px;margin-top:10px;
  font-size:13px;line-height:1.5;color:#276779;text-underline-offset:4px;
}
#detail.rx-about-dialog #detail-cta{margin-top:20px}
#detail.rx-about-dialog :is(a,button):focus-visible{
  outline:2px solid #247f90;outline-offset:4px;
}
@media(max-width:700px){
  #detail.rx-about-dialog{padding:20px 22px 26px;border-radius:16px;max-height:90svh}
  #detail.rx-about-dialog>.close{margin-right:-6px}
  #detail.rx-about-dialog #detail-title{font-size:28px;gap:9px;margin-bottom:20px}
  #detail.rx-about-dialog #detail-title::before{font-size:34px;width:26px}
  #detail.rx-about-dialog #detail-content{grid-template-columns:minmax(0,1fr);gap:20px}
  #detail.rx-about-dialog #detail-content>p{font-size:15px;line-height:1.7}
  #detail.rx-about-dialog .agency-proof-office-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  #detail.rx-about-dialog .agency-office-gallery{padding-top:20px}
}
@media(max-width:359px){
  #detail.rx-about-dialog{width:calc(100% - 20px);padding-inline:16px}
  #detail.rx-about-dialog #detail-title{font-size:25px;letter-spacing:.04em}
}
@media(prefers-reduced-motion:reduce){
  .rx-footer.rx-footer--unified .rx-fibres{animation:none!important;transform:translateX(-50%);opacity:.9}
  #detail.rx-about-dialog,.rx-footer.rx-footer--unified *{scroll-behavior:auto;transition:none}
}
@media(forced-colors:active){
  .rx-footer.rx-footer--unified .rx-art{display:none}
  .rx-footer.rx-footer--unified .rx-brand .xmark{background:none;color:CanvasText}
  .rx-footer.rx-footer--unified .rx-footer-meta{margin-top:12px}
  #detail.rx-about-dialog{border:1px solid CanvasText}
  #detail.rx-about-dialog :is(a,button):focus-visible,
  .rx-footer.rx-footer--unified :is(a,button):focus-visible{outline-color:Highlight}
}

/* Footer artwork only. The existing title, About and copyright stay untouched. */
.rx-footer.rx-footer--unified .rx-art{
  height:clamp(132px,32.5vw,260px);
  margin:6px 0 3px;
}
.rx-footer.rx-footer--unified .rx-fibres--organic{
  inset:0;left:0;width:100%;height:100%;max-width:none;
  object-fit:fill;object-position:center;transform-origin:50% 50%;
  opacity:1;transform:none;
  animation:rx-organic-float-a 18s ease-in-out infinite;
  animation-play-state:paused;
}
.rx-footer.rx-footer--unified .rx-fibres--organic:nth-child(2){
  animation-name:rx-organic-float-b;animation-duration:22s;animation-delay:-7s;
}
.rx-footer.rx-footer--unified .rx-fibres--organic:nth-child(3){
  animation-name:rx-organic-float-c;animation-duration:26s;animation-delay:-13s;
}
.rx-footer.rx-footer--unified[data-rx-active="true"] .rx-fibres--organic{
  animation-play-state:running;
}
@keyframes rx-organic-float-a{
  0%,100%{transform:translateY(-1px) scaleY(1.012)}
  50%{transform:translateY(1.5px) scaleY(.985)}
}
@keyframes rx-organic-float-b{
  0%,100%{transform:translateY(1px) scaleY(.987)}
  50%{transform:translateY(-1.7px) scaleY(1.014)}
}
@keyframes rx-organic-float-c{
  0%,100%{transform:translateY(-.5px) scale(1.005,1.008)}
  50%{transform:translateY(1px) scale(1.002,.991)}
}
@media(max-width:520px){
  .rx-footer.rx-footer--unified .rx-art{height:clamp(118px,33.333vw,170px);margin-top:5px;margin-bottom:0}
}
@media(prefers-reduced-motion:reduce){
  .rx-footer.rx-footer--unified .rx-fibres--organic{animation:none!important;transform:none;opacity:1}
}
