/* Approved 1328 × 272 immediate-taper composition. Video contains only
   decorative artwork; localized text and logo remain semantic overlays. */
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:block;
  width:100%;max-width:none;height:max(190px,20.4819277108vw);
  margin:0;padding:0;
}
.rx-footer.rx-footer--unified .rx-art{
  position:absolute;z-index:0;inset:0;display:block;
  width:100%;height:100%;margin:0;overflow:hidden;opacity:1;pointer-events:none;
}
.rx-footer.rx-footer--unified :is(.rx-footer-poster,.rx-footer-video){
  position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;
  object-fit:cover;object-position:center;pointer-events:none;
}
.rx-footer.rx-footer--unified .rx-footer-poster{opacity:1}
.rx-footer.rx-footer--unified .rx-footer-video{opacity:0}
.rx-footer.rx-footer--unified[data-rx-playing="true"] .rx-footer-video{opacity:1}
.rx-footer.rx-footer--unified .rx-brand{
  position:absolute;z-index:1;top:-.3012048193vw;left:50%;
  display:block;width:max(250px,30.1204819277vw);height:auto;max-width:calc(100% - 32px);
  margin:0;padding:0;transform:translateX(-50%);overflow:visible;
}
.rx-footer.rx-footer--unified .rx-brand-logo{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.rx-footer.rx-footer--unified .rx-footer-meta{
  position:absolute;z-index:1;top:auto;left:50%;transform:translateX(-50%);
  /* Match the upper logo ink center: 32px bottom inset at 1328px width. */
  bottom:calc(max(32.9505px,3.9699436vw) - .3012048193vw - 16.72px);
  display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:center;
  gap:0 24px;width:max-content;max-width:100%;margin:0;padding:0 16px;
}
.rx-footer.rx-footer--unified .rx-copyright{
  margin:0;font-size:12px;line-height:1.6;letter-spacing:0;color:#a6b7c2;text-align:center;
}
.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;min-height:34px;
  margin:0;padding:8px 0;border:0;border-radius:3px;background:transparent;
  color:#e2edf2;font:inherit;line-height:1.4;transition:color .2s ease;
}
.rx-footer.rx-footer--unified :is(a,button):focus-visible{outline:2px solid #8de4f5;outline-offset:2px}
@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{height:210px}
  .rx-footer.rx-footer--unified :is(.rx-footer-poster,.rx-footer-video){
    inset:auto;left:50%;top:50%;width:720px;height:auto;aspect-ratio:1328 / 272;
    transform:translate(-50%,-50%);object-fit:contain;
  }
  .rx-footer.rx-footer--unified .rx-brand{top:0}
  .rx-footer.rx-footer--unified .footer-nav button{min-height:44px}
  .rx-footer.rx-footer--unified .rx-footer-meta{bottom:5px;flex-direction:column;align-items:center;gap:0;width:100%}
  .rx-footer.rx-footer--unified .rx-copyright{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .rx-footer.rx-footer--unified .rx-footer-video{display:none!important}
  #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}
  #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}
}

/* 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}
}
