:root{
  --c-bg:#f5f8fa; --c-fg:#0e2233; --c-sea:#1976a8; --c-sea-dark:#0e547d;
  --c-acc:#5fb7a8; --c-warn:#e07b00; --c-bord:#d6e2ea; --c-card:#ffffff;
  --shadow:0 2px 6px rgba(14,34,51,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
     color:var(--c-fg);background:var(--c-bg);line-height:1.4}
a{color:var(--c-sea-dark);text-decoration:none}
a:hover{text-decoration:underline}

.endemica-header{display:flex;justify-content:space-between;align-items:center;
  padding:.6rem 1.2rem;background:linear-gradient(90deg,var(--c-sea-dark),var(--c-sea));
  color:#fff;box-shadow:var(--shadow);
  position:relative;z-index:1100 /* stacking context > Leaflet panes (max 700) */}
.endemica-header .brand{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none}
.endemica-header .brand:hover{text-decoration:none;opacity:.92}
.endemica-header .brand .brand-logo{display:block}
.endemica-header .brand .brand-text{display:flex;flex-direction:column;line-height:1.15}
.endemica-header .brand strong{font-size:1.05rem;display:block}
.endemica-header .brand span{font-size:.78rem;opacity:.85}
.endemica-header nav a{color:#fff;margin-left:1rem;font-size:.92rem}
.endemica-header nav .nav-sep{margin-left:.8rem;opacity:.5}
.endemica-header nav .nav-user{margin-left:.8rem;font-size:.85rem;opacity:.85}
.endemica-header nav .nav-login,
.endemica-header nav .nav-logout{margin-left:.5rem;background:#fbbf24;color:#5a3e00;padding:.25rem .7rem;border-radius:4px;font-weight:600;font-size:.82rem}
.endemica-header nav .nav-login:hover,
.endemica-header nav .nav-logout:hover{background:#f59e0b;text-decoration:none}

/* === Nav dropdown (menu 6 voci - 4 dropdown + 2 dirette) === */
.endemica-header nav.endemica-nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.endemica-header nav.endemica-nav a{margin-left:0} /* reset margin per le voci dentro nav-main */
.nav-main{display:flex;list-style:none;margin:0;padding:0;gap:.2rem;flex-wrap:wrap}
.nav-main .nav-item{position:relative}
.nav-main .nav-link{
  display:inline-flex;align-items:center;gap:.3rem;
  background:transparent;border:none;color:#fff;font:inherit;
  font-size:.92rem;padding:.45rem .7rem;border-radius:5px;
  cursor:pointer;text-decoration:none;line-height:1.2
}
.nav-main .nav-link:hover,
.nav-main .nav-link:focus,
.nav-main .nav-link:focus-visible,
.nav-main .nav-item.open > .nav-link{
  background:#ffffff22;text-decoration:none;outline:none}
.nav-main .nav-link:focus-visible{outline:2px solid #fff;outline-offset:2px}
.nav-caret{font-size:.7em;opacity:.85}
.endemica-header nav .dropdown-menu{
  display:none;
  position:absolute;top:100%;left:0;
  margin:.3rem 0 0;padding:.35rem 0;
  list-style:none;
  background:#fff;color:#0e2233;
  min-width:280px;
  border-radius:8px;
  box-shadow:0 8px 22px rgba(14,34,51,.22);
  z-index:1000
}
.nav-item:hover > .dropdown-menu,
.nav-item:focus-within > .dropdown-menu,
.nav-item.open > .dropdown-menu{display:block}
.endemica-header nav .dropdown-menu a{
  display:block;
  margin-left:0;
  padding:.55rem 1rem;
  color:#0e2233;
  font-size:.9rem;
  text-decoration:none;
  white-space:nowrap}
.endemica-header nav .dropdown-menu a:hover,
.endemica-header nav .dropdown-menu a:focus{
  background:#eef4f8;color:#0a3f60;text-decoration:none}
/* Focus-visible: outline esplicito solo per navigazione da tastiera (WCAG 2.4.7) */
.endemica-header nav .dropdown-menu a:focus-visible{
  outline:2px solid #0a3f60;outline-offset:-2px}
.endemica-header nav .dropdown-menu a.coming-soon{
  color:#999;cursor:default;pointer-events:none;font-style:italic}
.endemica-header nav .dropdown-menu a.coming-soon small{opacity:.85;margin-left:.3rem}
.nav-auth{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}
@media(max-width:840px){
  .endemica-header nav.endemica-nav{justify-content:flex-start}
  .nav-main{gap:0}
  .nav-main .nav-link{padding:.4rem .5rem;font-size:.86rem}
  .endemica-header nav .dropdown-menu{min-width:240px}
}

.endemica-messages{padding:.6rem 1.2rem}
.endemica-messages .msg{padding:.5rem .8rem;border-radius:6px;margin-bottom:.4rem;background:#e6f6ef;border:1px solid #b3e2cf}
.endemica-messages .msg-error{background:#fde7e7;border-color:#f5b5b5}

.endemica-footer{padding:1rem 1.2rem;font-size:.78rem;color:#557;
  border-top:1px solid var(--c-bord);background:#fff;margin-top:2rem}

.container{max-width:1080px;margin:1.2rem auto;padding:0 1rem}

/* ============================================================ */
/* Open Data page (memo §4)                                     */
/* ============================================================ */
.od-page{max-width:1180px;margin:1.5rem auto;padding:0 1.2rem}
.od-hero{margin-bottom:1.6rem}
.od-hero h1{margin:.2rem 0 .6rem;font-size:1.7rem;color:var(--c-sea-dark)}
.od-hero .lede{font-size:1rem;line-height:1.6;color:#345;max-width:920px}
.od-badges{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:1rem 0 0}
.od-badge{display:inline-block;background:#e6f0f6;color:#0a3f60;
  padding:.25rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;
  border:1px solid #c9dbe8}

.od-h2{margin:2rem 0 .3rem;font-size:1.25rem;color:var(--c-sea-dark);
  border-bottom:2px solid #e1ebe4;padding-bottom:.3rem}
.od-h2-sub{font-size:.92rem;color:#557;margin:0 0 1rem}

/* Dataset cards (B2) */
.od-cards{display:grid;gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.od-card{background:#fff;border:1px solid var(--c-bord);border-radius:8px;
  padding:1rem 1.1rem;box-shadow:0 1px 3px rgba(8,30,20,.04)}
.od-card-h{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.4rem}
.od-card-h h3{margin:0;font-size:1rem;color:#0e2233}
.od-card-d{font-size:.88rem;color:#456;margin:.2rem 0 .6rem;line-height:1.45}
.od-card-meta{list-style:none;padding:0;margin:.4rem 0;font-size:.82rem;color:#456}
.od-card-meta li{padding:.12rem 0}
.od-card-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}

/* Status badges */
.od-status{display:inline-block;font-size:.7rem;font-weight:600;
  padding:.18rem .55rem;border-radius:999px;text-transform:uppercase;
  letter-spacing:.04em;white-space:nowrap}
.od-status-ok{background:#dff4e6;color:#0a5f2c;border:1px solid #b3e2cf}
.od-status-pending{background:#fff3d6;color:#7a5200;border:1px solid #f1d896}
.od-status-planned{background:#e8ecf2;color:#3a4a6b;border:1px solid #c5cee0}

/* Buttons */
.od-btn{display:inline-flex;align-items:center;padding:.4rem .8rem;
  font-size:.82rem;font-weight:600;border-radius:5px;text-decoration:none;
  border:1px solid transparent;line-height:1.3}
.od-btn:hover{text-decoration:none}
.od-btn-primary{background:#0e5a8a;color:#fff;border-color:#0a3f60}
.od-btn-primary:hover{background:#0a3f60}
.od-btn-secondary{background:#fff;color:#0a3f60;border-color:#0a3f60}
.od-btn-secondary:hover{background:#eef4f8}
.od-btn-soon{background:#f5f6f8;color:#888;border-color:#dde0e6;cursor:not-allowed;font-weight:500}

/* OGC services (B3) */
.od-services{display:grid;gap:.8rem;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.od-service{background:#fafbfc;border:1px solid var(--c-bord);border-radius:8px;
  padding:.9rem 1rem}
.od-service h4{margin:0 0 .3rem;font-size:.95rem;color:#0e2233}
.od-service p{font-size:.85rem;color:#456;margin:0 0 .4rem}
.od-service code{display:inline-block;background:#fff;border:1px solid #ddd;
  padding:.15rem .4rem;border-radius:3px;font-size:.78rem;color:#0a3f60;
  margin-bottom:.4rem}

/* API / Connector tables (B4 + B5) */
.od-api,.od-connectors{overflow-x:auto}
.od-api-table,.od-conn-table{width:100%;border-collapse:collapse;
  font-size:.85rem;background:#fff}
.od-api-table th,.od-conn-table th{
  text-align:left;background:#eef4f8;color:#0a3f60;
  padding:.5rem .7rem;border-bottom:2px solid #c9dbe8;font-weight:600}
.od-api-table td,.od-conn-table td{
  padding:.5rem .7rem;border-bottom:1px solid #ecedef;vertical-align:top}
.od-api-table tr:hover td,.od-conn-table tr:hover td{background:#fafbfc}
.od-api-table code{background:#f3f5f7;padding:.1rem .35rem;border-radius:3px;
  font-size:.8rem;color:#0a3f60}

/* Citazione (Footer) */
.od-cite{background:#fafbfc;border:1px solid var(--c-bord);border-radius:8px;
  padding:1rem;margin-top:.4rem}
.od-cite-tabs{display:flex;gap:.3rem;margin-bottom:.6rem;flex-wrap:wrap}
.od-cite-tab{background:#fff;border:1px solid var(--c-bord);
  padding:.35rem .9rem;border-radius:5px;font-size:.82rem;font-weight:600;
  color:#456;cursor:pointer}
.od-cite-tab:hover{background:#eef4f8;color:#0a3f60}
.od-cite-tab.active{background:#0a3f60;color:#fff;border-color:#0a3f60}
.od-cite-tab:focus-visible{outline:2px solid #0a3f60;outline-offset:2px}
.od-cite-block{background:#fff;border:1px solid #ddd;border-radius:5px;
  padding:.7rem .9rem;font-family:Consolas,Monaco,"Courier New",monospace;
  font-size:.82rem;color:#0e2233;white-space:pre-wrap;
  margin:0 0 .6rem;line-height:1.5;overflow-x:auto}

@media(max-width:640px){
  .od-hero h1{font-size:1.4rem}
  .od-card-h{flex-direction:column;align-items:flex-start;gap:.3rem}
}

/* Atlante */
.atlante-wrap{display:grid;grid-template-columns:340px 1fr;gap:0;
              height:calc(100vh - 110px);
              min-height:640px; /* fail-safe: anche se viewport schiacciata,
                                   l'atlante mantiene un'altezza usabile */}
.atlante-side{padding:1rem 1.2rem;overflow-y:auto;background:#fff;border-right:1px solid var(--c-bord)}
.atlante-side h1{font-size:1.2rem;margin:.2rem 0 .4rem}
.atlante-side .lead{font-size:.88rem;color:#345}
.atlante-map{width:100%;height:100%;
             min-height:600px; /* idem: garantisce altezza minima al container Leaflet */}
.counters{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin:.8rem 0}
.counters>div{background:var(--c-bg);padding:.6rem;border-radius:6px;text-align:center}
.counters strong{display:block;font-size:1.4rem;color:var(--c-sea-dark)}
.counters span{font-size:.72rem;color:#557;text-transform:uppercase;letter-spacing:.05em}
.filter-list{display:flex;flex-direction:column;gap:.18rem;font-size:.85rem;
  max-height:200px;overflow-y:auto;padding:.4rem;background:var(--c-bg);border-radius:6px}
.filter-list label{display:flex;align-items:center;gap:.4rem;cursor:pointer}
.fasi{padding-left:1rem;font-size:.85rem}
.fasi li{margin:.2rem 0}

@media(max-width:780px){
  .atlante-wrap{grid-template-columns:1fr;height:auto}
  .atlante-map{height:60vh}
}

.btn{display:inline-block;padding:.55rem 1rem;border-radius:6px;background:#fff;
  border:1px solid var(--c-sea);color:var(--c-sea-dark);cursor:pointer;font-weight:600}
.btn.primary{background:var(--c-sea);color:#fff;border-color:var(--c-sea)}
.btn.primary:hover{background:var(--c-sea-dark);text-decoration:none}

.poi-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:var(--shadow);border-radius:6px;overflow:hidden}
.poi-table th,.poi-table td{padding:.55rem .7rem;text-align:left;border-bottom:1px solid var(--c-bord);font-size:.9rem}
.poi-table thead{background:#eef4f8}

.poi-detail .poi-img{max-width:100%;border-radius:8px;margin:1rem 0}
.poi-detail .meta{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.6rem;font-size:.85rem}
.poi-detail .meta li{background:#fff;padding:.4rem .7rem;border-radius:4px;border:1px solid var(--c-bord)}
.back{font-size:.85rem;color:#557}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;background:#fff;
  padding:1rem;border-radius:8px;box-shadow:var(--shadow);margin-top:.8rem}
.form-grid .field{display:flex;flex-direction:column;gap:.2rem}
.form-grid .field.full{grid-column:1/-1}
.form-grid label{font-size:.82rem;color:#345;font-weight:600}
.form-grid input,.form-grid select,.form-grid textarea{
  padding:.45rem .6rem;border:1px solid var(--c-bord);border-radius:5px;font:inherit}
.form-grid .errs{color:#c0392b;font-size:.8rem}
.form-grid small{color:#789;font-size:.75rem}

.poi-popup h4{margin:.1rem 0}
.poi-popup .tipo{font-size:.75rem;color:#557;text-transform:uppercase;margin:.1rem 0 .3rem}
.poi-popup .descr{font-size:.85rem;margin:.3rem 0 .5rem;max-height:280px;overflow-y:auto;word-break:break-word}
.poi-popup .descr img{max-width:100%;height:auto !important;border-radius:4px;margin:.3rem 0}
.poi-popup .descr a{color:var(--c-sea-dark);word-break:break-all}
.poi-popup .dettaglio{font-weight:600}

.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:1rem}
.doc-card{background:#fff;border-radius:8px;padding:1rem;box-shadow:var(--shadow)}
.doc-card img{width:20%;border-radius:6px;margin-bottom:.5rem}
.doc-card .tipo{font-size:.75rem;color:#557;text-transform:uppercase}

.progetto h2{color:var(--c-sea-dark);margin-top:1.4rem;border-bottom:1px solid var(--c-bord);padding-bottom:.3rem}
.sinergie{padding-left:1rem}
.sinergie li{margin:.2rem 0}

/* ----- Sezioni divulgative: praterie, EPM, DSS, divulgazione, My Endemica ----- */
.endemica-section{max-width:1080px;margin:1.2rem auto;padding:0 1rem}
.endemica-section .section-head{margin-bottom:1rem}
.endemica-section .section-head h1{color:var(--c-sea-dark);margin:.2rem 0 .4rem;font-size:1.4rem}
.endemica-section .lede{font-size:1rem;color:#345;max-width:60ch}
.endemica-section .empty{background:#fff;border:1px dashed var(--c-bord);
  border-radius:8px;padding:1rem;color:#557;font-size:.9rem}
.endemica-section .muted{color:#557}
.endemica-section .small{font-size:.82rem}

/* Filter bar (praterie) */
.filter-bar{display:flex;flex-wrap:wrap;gap:.8rem;align-items:flex-end;
  background:#fff;padding:.8rem 1rem;border-radius:8px;box-shadow:var(--shadow);margin-bottom:1rem}
.filter-bar label{display:flex;flex-direction:column;font-size:.78rem;
  color:#345;font-weight:600;gap:.2rem}
.filter-bar select{padding:.4rem .55rem;border:1px solid var(--c-bord);
  border-radius:5px;font:inherit;min-width:160px}
.filter-bar button{padding:.5rem 1rem;border-radius:5px;background:var(--c-sea);
  color:#fff;border:1px solid var(--c-sea);cursor:pointer;font-weight:600}
.filter-bar button:hover{background:var(--c-sea-dark)}

/* Tabella generica (praterie e simili) - stessa estetica di .poi-table */
.endemica-table{width:100%;border-collapse:collapse;background:#fff;
  box-shadow:var(--shadow);border-radius:6px;overflow:hidden}
.endemica-table th,.endemica-table td{padding:.55rem .7rem;text-align:left;
  border-bottom:1px solid var(--c-bord);font-size:.9rem}
.endemica-table thead{background:#eef4f8}

/* Card grid (DSS, divulgazione, My Endemica) */
.endemica-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1rem;margin:1rem 0}
.endemica-cards .card{background:#fff;border-radius:8px;padding:1rem;
  box-shadow:var(--shadow);border-top:3px solid var(--c-acc)}
.endemica-cards .card h2{margin:0 0 .4rem;font-size:1rem;color:var(--c-sea-dark)}
.endemica-cards .card p{margin:0;font-size:.88rem;color:#345}

/* EPM project list */
.epm-projects{list-style:none;padding:0;margin:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.8rem}
.epm-project{background:#fff;border-radius:8px;padding:.9rem 1rem;
  box-shadow:var(--shadow);border-left:4px solid var(--c-sea)}
.epm-project .epm-ambito{font-size:.72rem;text-transform:uppercase;
  letter-spacing:.05em;color:#557;margin-bottom:.3rem}
.epm-project .epm-titolo{font-weight:600;color:var(--c-sea-dark);font-size:.95rem;line-height:1.3}

/* My Endemica: blocco download app + store badges */
.myendemica-download,
.myendemica-link{margin:1.5rem 0;background:#fff;border-radius:8px;
  padding:1.2rem;box-shadow:var(--shadow)}
.myendemica-download h2,
.myendemica-link h2{color:var(--c-sea-dark);margin:.2rem 0 .6rem;font-size:1.1rem}
.myendemica-link p{font-size:.92rem;color:#345;margin:.4rem 0}
.store-badges{display:flex;flex-wrap:wrap;gap:.8rem;margin:.8rem 0}
.store-badge{display:inline-flex;flex-direction:column;align-items:flex-start;
  padding:.6rem 1rem;border-radius:6px;background:var(--c-bg);
  border:1px solid var(--c-bord);min-width:160px;line-height:1.2}
.store-badge strong{font-size:.95rem;color:var(--c-fg)}
.store-badge em{font-size:.72rem;color:var(--c-warn);font-style:normal;
  text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem}
.store-badge--disabled{opacity:.7;cursor:not-allowed}

/* ----- Marker dot per la legenda dei filtri POI (atlante.html) -----
   La palette deve restare in sync con COLORS in static/axiom_endemica/js/atlante.js
   (single source of truth da estrarre quando si vorra' deduplicare). */
.marker-dot{display:inline-block;width:12px;height:12px;border-radius:50%;
  border:2px solid #fff;vertical-align:middle;margin:0 .35rem 0 .15rem;
  background:var(--dot-color,#1976a8);
  box-shadow:0 0 0 1px var(--dot-color,#1976a8)}
.marker-dot[data-tipo="parco_marino"]  {--dot-color:#0e547d}
.marker-dot[data-tipo="isca_focus"]    {--dot-color:#0fa46e}
.marker-dot[data-tipo="calabria_focus"]{--dot-color:#0fa46e}
.marker-dot[data-tipo="prateria"]      {--dot-color:#2e7d32}
.marker-dot[data-tipo="campo_boe"]     {--dot-color:#7b1fa2}
.marker-dot[data-tipo="diving"]        {--dot-color:#1976a8}
.marker-dot[data-tipo="pontile"]       {--dot-color:#455a64}
.marker-dot[data-tipo="lido"]          {--dot-color:#fbc02d}
.marker-dot[data-tipo="oasi"]          {--dot-color:#558b2f}
.marker-dot[data-tipo="zsc"]           {--dot-color:#5d4037}
.marker-dot[data-tipo="lab"]           {--dot-color:#5fb7a8}
.marker-dot[data-tipo="heritage"]      {--dot-color:#8d6e63}
.marker-dot[data-tipo="contatti"]      {--dot-color:#1565c0}
.marker-dot[data-tipo="infografica"]   {--dot-color:#ef6c00}
.marker-dot[data-tipo="progetto"]      {--dot-color:#283593}
.marker-dot[data-tipo="segnalazione"]  {--dot-color:#c62828}

/* ----- Tecnologie page (M7 QR-Dynamic Display + Nautical Plug-in) ----- */
.tech-block{background:#fff;border-radius:8px;padding:1.2rem 1.4rem;
  box-shadow:var(--shadow);margin:1.2rem 0;border-left:4px solid var(--c-sea)}
.tech-block-head{margin:0 0 .8rem}
.tech-block h2{color:var(--c-sea-dark);margin:0 0 .2rem;font-size:1.2rem}
.tech-block h3{color:var(--c-sea-dark);margin:1.1rem 0 .4rem;font-size:1rem;
  border-bottom:1px solid var(--c-bord);padding-bottom:.2rem}
.tech-block h4{margin:.6rem 0 .3rem;font-size:.88rem;color:var(--c-fg)}
.tech-block p{font-size:.92rem;color:#345;margin:.4rem 0}
.tech-tag{font-size:.78rem;color:#557;text-transform:uppercase;letter-spacing:.05em;margin:.2rem 0 0}
.tech-note{font-size:.78rem;color:#789;font-style:italic;margin-top:1rem;
  padding-top:.6rem;border-top:1px dashed var(--c-bord)}
.tech-list{padding-left:1.1rem;margin:.3rem 0}
.tech-list li{margin:.3rem 0;font-size:.9rem;color:#345}
.tech-pill-list{list-style:none;padding:0;margin:.4rem 0;display:flex;
  flex-wrap:wrap;gap:.4rem}
.tech-pill-list li{background:var(--c-bg);border:1px solid var(--c-bord);
  border-radius:14px;padding:.25rem .7rem;font-size:.82rem;color:#345}
.tech-modules{padding-left:1.4rem;margin:.3rem 0;counter-reset:none}
.tech-modules li{margin:.4rem 0;font-size:.9rem;color:#345}
.tech-stack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:.8rem;margin:.6rem 0}
.tech-stack-grid>div{background:var(--c-bg);border:1px solid var(--c-bord);
  border-radius:6px;padding:.7rem .9rem}
.tech-stack-grid ul{list-style:none;padding:0;margin:0;font-size:.85rem}
.tech-stack-grid li{padding:.15rem 0;color:#345}

/* ----- Pagina Info: griglia partner + lista partnership ----- */
.partner-grid{list-style:none;padding:0;margin:1rem 0;
  display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(max-width:600px){
  .partner-grid{grid-template-columns:1fr} /* mobile: 1 colonna, 6 righe */
}
.partner-card{background:#fff;border-radius:8px;padding:.8rem;
  box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;
  text-align:center}
.partner-logo-frame{width:100%;aspect-ratio:4/3;background:var(--c-bg);
  border:1px solid var(--c-bord);border-radius:6px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  padding:.6rem}
.partner-logo-frame img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.partner-logo-fallback{display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;font-size:.8rem;color:#557;font-weight:600;
  text-align:center;padding:.4rem}
.partner-name{margin:.6rem 0 0;font-size:.85rem;color:var(--c-sea-dark);font-weight:600}

.info-partnership{margin:1.5rem 0;background:#fff;border-radius:8px;
  padding:1.2rem;box-shadow:var(--shadow);border-left:4px solid var(--c-sea)}
.info-partnership h2{color:var(--c-sea-dark);margin:.2rem 0 .8rem;font-size:1.1rem;
  border-bottom:1px solid var(--c-bord);padding-bottom:.3rem}
.partnership-list{margin:0;padding:0}
.partnership-row{display:flex;flex-wrap:wrap;gap:.4rem;
  padding:.35rem 0;border-bottom:1px dashed var(--c-bord)}
.partnership-row:last-child{border-bottom:none}
.partnership-row dt{font-weight:600;color:#345;min-width:280px}
.partnership-row dd{margin:0;color:var(--c-sea-dark);font-weight:600}
