/* Round 9: one public partner template and one uncategorised ecosystem directory. */
.r9-eco-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:32px}
.r9-eco-grid.full{margin-top:0;gap:14px}
.r9-eco-item{min-width:0;min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:20px 18px 16px;border:1px solid #e0e8f1;background:#fff;color:#24415f;text-align:center;text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.r9-eco-grid.full .r9-eco-item{min-height:142px}
a.r9-eco-item:hover{border-color:#91b5d9;box-shadow:0 9px 24px rgba(17,70,125,.08);transform:translateY(-2px)}
.r9-eco-item:focus-visible{outline:3px solid #e89a54;outline-offset:3px}
.r9-eco-logo{display:flex;align-items:center;justify-content:center;width:100%;height:58px;min-width:0}
.r9-eco-grid.full .r9-eco-logo{height:66px}
.r9-eco-logo img{display:block;width:100%;height:100%;max-width:220px;object-fit:contain}
.r9-eco-name{max-width:100%;color:#60748a;font-size:11px;line-height:1.55;overflow-wrap:anywhere}
.r9-detail .r7-hero-copy{max-width:900px}
.r9-detail .r7-photo-duo.documents{background:#edf2f7}
.r9-detail .r7-photo-duo.documents figure{background:#fff}
.r9-detail .r7-photo-duo.documents img{height:330px;object-fit:contain;background:#f4f7fb}
.r9-detail .r7-photo-duo.documents figcaption{border-top-width:2px;background:#fff}

.r9-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.r9-photo{position:relative;min-width:0;height:320px;overflow:hidden;padding:0;border:0;background:#0a2b50;cursor:zoom-in;text-align:left}
.r9-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.r9-photo:hover img{transform:scale(1.025)}
.r9-photo:focus-visible{outline:3px solid #e89a54;outline-offset:3px}
.r9-photo>span{position:absolute;inset:auto 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:46px 19px 17px;background:linear-gradient(180deg,transparent,rgba(4,25,49,.92));color:#fff}
.r9-photo b{font-size:14px;line-height:1.5}
.r9-photo small{grid-column:1;color:#c4d5e6;font-size:10px;line-height:1.6}
.r9-photo i{grid-column:2;grid-row:1/3;align-self:end;color:#f2bd86;font-size:10px;font-style:normal;white-space:nowrap}
.r9-gallery.documents{align-items:start}
.r9-gallery.documents .r9-photo{height:auto;border:1px solid #dce5ee;background:#fff}
.r9-gallery.documents .r9-photo img{height:310px;object-fit:contain;background:#f2f5f9}
.r9-gallery.documents .r9-photo:hover img{transform:none}
.r9-gallery.documents .r9-photo>span{position:static;inset:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:16px 18px 18px;border-top:2px solid #2b78ba;background:#fff;color:#183c60}
.r9-gallery.documents .r9-photo b{font-size:13px}
.r9-gallery.documents .r9-photo small{color:#687c90}
.r9-gallery.documents .r9-photo i{color:#b96e2d}

.r9-schematic-duo,.r9-schematic-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.r9-schematic-duo figure,.r9-schematic-gallery>div{min-width:0;margin:0;padding:24px;border:1px solid #d8e3ee;background:linear-gradient(145deg,#fff,#eef5fb);text-align:center}
.r9-schematic-duo svg,.r9-schematic-gallery svg{display:block;width:100%;height:190px;margin:0 auto 15px}
.r9-schematic-duo figcaption,.r9-schematic-gallery>div{display:flex;flex-direction:column;align-items:center}
.r9-schematic-duo b,.r9-schematic-gallery b{color:#1d4469;font-size:14px;line-height:1.6}
.r9-schematic-duo span,.r9-schematic-gallery span{margin-top:5px;color:#7a8b9d;font-size:10.5px;line-height:1.7}
.r9-lightbox{z-index:450}
html.i18n-en .r9-detail .r7-hero h1{font-size:clamp(25px,2.7vw,38px);line-height:1.28;letter-spacing:-.015em}
html.i18n-en .r9-detail .r7-tagline{font-size:15px;line-height:1.65}
html.i18n-en .r9-detail .r7-scene-flow h3{line-height:1.5}
html.i18n-en .r9-detail .r7-scene-flow p{line-height:1.65}
html.i18n-en .r9-detail .r7-stage h3{line-height:1.45}
html.i18n-en .r9-detail .r7-stage-meta{align-items:flex-start;font-size:9px}
html.i18n-en .r9-detail .r7-stage-meta b{white-space:normal;text-align:right;line-height:1.4}
html.i18n-en .r9-eco-name{line-height:1.45}

@media(max-width:1050px){
  .r9-eco-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .r9-detail .r7-photo-duo.documents img{height:280px}
  .r9-gallery.documents .r9-photo img{height:260px}
}
@media(max-width:760px){
  .r9-eco-grid,.r9-eco-grid.full{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:25px}
  .r9-eco-grid.full{margin-top:0}
  .r9-eco-item,.r9-eco-grid.full .r9-eco-item{min-height:116px;padding:16px 12px 13px;gap:10px}
  .r9-eco-logo,.r9-eco-grid.full .r9-eco-logo{height:52px}
  .r9-eco-logo img{max-width:155px}
  .r9-eco-name{font-size:10px}
  .r9-gallery{grid-template-columns:1fr}
  .r9-photo{height:250px}
  .r9-gallery.documents .r9-photo img{height:auto;min-height:0;aspect-ratio:auto}
  .r9-gallery.documents .r9-photo>span{grid-template-columns:1fr;padding:14px 15px 16px}
  .r9-gallery.documents .r9-photo i{grid-column:1;grid-row:auto;margin-top:4px}
  .r9-detail .r7-photo-duo.documents img{height:auto;max-height:none}
  .r9-schematic-duo,.r9-schematic-gallery{grid-template-columns:1fr}
  .r9-schematic-duo svg,.r9-schematic-gallery svg{height:165px}
  html.i18n-en .r9-detail .r7-hero h1{font-size:22px;line-height:1.32}
  html.i18n-en .r9-detail .r7-tagline{font-size:13px}
}
@media(max-width:390px){
  .r9-eco-item,.r9-eco-grid.full .r9-eco-item{min-height:108px;padding:14px 9px 12px}
  .r9-eco-logo,.r9-eco-grid.full .r9-eco-logo{height:46px}
  .r9-eco-logo img{max-width:132px}
  .r9-eco-name{font-size:9.5px}
  .r9-photo{height:230px}
  .r9-photo>span{grid-template-columns:1fr;padding:42px 15px 15px}
  .r9-photo i{grid-column:1;grid-row:auto;margin-top:4px}
}
@media(prefers-reduced-motion:reduce){
  .r9-eco-item,.r9-photo img{transition:none}
  a.r9-eco-item:hover,.r9-photo:hover img{transform:none}
}
