/* =========================================================
   NOS Media — rifinitura grafica globale (2026-11-07)
   Caricato dopo portal-v3.css su tutte le pagine pubbliche.
   ========================================================= */

/* ---------- Base ---------- */
::selection{background:color-mix(in srgb,var(--accent,#488eff) 45%,transparent);color:#fff}
body.nos-portal-page :is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid var(--accent-3,#8cd6ff)!important;outline-offset:3px}
html{scroll-padding-top:96px}

/* ---------- Header ---------- */
body.nos-portal-page .portal-header{backdrop-filter:saturate(1.3) blur(14px);-webkit-backdrop-filter:saturate(1.3) blur(14px)}
body.nos-portal-page .portal-menu > a:not(.nav-cta):not(.nav-account){position:relative}
body.nos-portal-page .portal-menu > a:not(.nav-cta):not(.nav-account)::after{
  content:"";position:absolute;left:50%;right:50%;bottom:4px;height:2px;border-radius:2px;
  background:var(--accent,#488eff);transition:left .25s ease,right .25s ease
}
body.nos-portal-page .portal-menu > a:not(.nav-cta):not(.nav-account):hover::after,
body.nos-portal-page .portal-menu > a.is-current:not(.nav-cta):not(.nav-account)::after{left:14px;right:14px}

/* ---------- Menu "Esplora" ---------- */
body.nos-portal-page .portal-menu .nav-more > summary{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:9px 14px;border-radius:10px;
  color:#d7e2f2;font-weight:650;transition:background .2s ease,color .2s ease
}
body.nos-portal-page .portal-menu .nav-more > summary:hover,
body.nos-portal-page .portal-menu .nav-more[open] > summary{background:#ffffff0f;color:#fff}
.nav-more-chev{font-size:10px;opacity:.75;transition:transform .25s ease}
.nav-more[open] .nav-more-chev{transform:rotate(180deg)}

body.nos-portal-page .portal-header .nav-more-panel{
  width:min(560px,calc(100vw - 32px));min-width:0;right:-8px;top:calc(100% + 14px);
  grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:10px;
  background:linear-gradient(180deg,#141f31,#0f1828);border:1px solid #9eb2db33;border-radius:18px;
  box-shadow:0 30px 80px #000b,0 0 0 1px #ffffff08 inset;
  animation:nmPanelIn .22s cubic-bezier(.2,.8,.2,1)
}
body.nos-portal-page .portal-header .nav-more-panel::before{
  content:"";position:absolute;top:-7px;right:44px;width:12px;height:12px;transform:rotate(45deg);
  background:#141f31;border-left:1px solid #9eb2db33;border-top:1px solid #9eb2db33
}
@keyframes nmPanelIn{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
body.nos-portal-page .portal-header .nav-more-panel a{
  display:flex!important;align-items:center;gap:12px;padding:11px 12px!important;border-radius:12px!important;
  color:#c9d5e6!important;text-decoration:none;transition:background .18s ease,transform .18s ease
}
body.nos-portal-page .portal-header .nav-more-panel a:hover{background:#ffffff0d!important;transform:translateX(2px)}
body.nos-portal-page .portal-header .nav-more-panel a[aria-current="page"]{background:#ffffff10!important}
.nm-ico{
  flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;
  background:color-mix(in srgb,var(--accent,#488eff) 16%,#0b1322);border:1px solid color-mix(in srgb,var(--accent,#488eff) 32%,transparent);
  color:var(--accent-3,#8cd6ff);font-size:14px
}
.nm-txt{display:grid;gap:2px;min-width:0}
.nm-txt strong{font-size:13px;font-weight:750;color:#f1f5fc;letter-spacing:-.01em}
.nm-txt small{font-size:11.5px;color:#8a9bb5;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media (max-width:900px){
  body.nos-portal-page .portal-header .nav-more-panel{
    position:static;width:auto;grid-template-columns:1fr;margin:6px 0 10px;box-shadow:none;animation:none;background:#152237
  }
  body.nos-portal-page .portal-header .nav-more-panel::before{display:none}
  body.nos-portal-page .portal-menu .nav-more > summary{width:100%;justify-content:space-between}
}

/* ---------- Bottoni hero ---------- */
body.nos-portal-page .portal-actions{gap:12px}
body.nos-portal-page .portal-actions .portal-button{gap:12px;padding:14px 18px 14px 22px;border-radius:12px}
body.nos-portal-page .portal-actions .portal-button > span[aria-hidden]{
  display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#ffffff1f;
  font-size:13px;transition:transform .25s ease,background .25s ease
}
body.nos-portal-page .portal-actions .portal-button.secondary > span[aria-hidden]{background:#ffffff10}
body.nos-portal-page .portal-actions .portal-button:hover > span[aria-hidden]{transform:translateX(3px);background:#ffffff2e}
@media (max-width:640px){
  body.nos-portal-page .portal-actions .portal-button{justify-content:space-between}
}

/* ---------- Scritta iniziale (logo) ---------- */
body.nos-portal-page .portal-hero-copy h1.hero-wordmark{margin:6px 0 0;line-height:0;font-size:0;letter-spacing:0}
.hero-wordmark-svg{
  display:inline-block;width:min(100%,600px);height:auto;overflow:visible;
  filter:drop-shadow(0 12px 34px rgba(36,131,255,.28));
  animation:nmWordIn .9s cubic-bezier(.2,.8,.2,1) both
}
@keyframes nmWordIn{from{opacity:0;transform:translateY(14px);filter:blur(6px) drop-shadow(0 12px 34px rgba(36,131,255,0))}to{opacity:1;transform:none}}
body.nos-portal-page .portal-hero-copy .portal-eyebrow{animation:nmFadeUp .7s .05s ease both}
body.nos-portal-page .portal-hero-copy > p{animation:nmFadeUp .7s .2s ease both}
body.nos-portal-page .portal-hero-copy .portal-actions{animation:nmFadeUp .7s .3s ease both}
@keyframes nmFadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:640px){.hero-wordmark-svg{width:100%}}

/* ---------- Riquadro grafico dell'hero ---------- */
body.nos-portal-page .portal-hero .hero-frame > img.hero-symbol{
  position:absolute!important;left:50%!important;top:16%!important;width:min(44%,250px)!important;height:auto!important;
  transform:translateX(-50%);object-fit:contain!important;z-index:1;
  filter:drop-shadow(0 20px 40px rgba(36,131,255,.35)) drop-shadow(0 0 60px rgba(36,131,255,.18))!important;
  animation:nmFloat 7s ease-in-out infinite
}
body.nos-portal-page .portal-hero .hero-frame:hover > img.hero-symbol{transform:translateX(-50%) scale(1.04)}
@keyframes nmFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
body.nos-portal-page .portal-hero .art-overlay{left:30px;right:30px;bottom:28px;gap:8px}
body.nos-portal-page .portal-hero .art-overlay strong{font-size:clamp(28px,3.4vw,46px)!important;line-height:.98}

/* ---------- Striscia Trustpilot ---------- */
body.nos-portal-page .trustpilot-strip{padding-block:18px!important;background:#ffffff04!important;border-block:1px solid #a3c4ee17}
.tp-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.tp-text{margin:0;color:#a9b8cd;font-size:14px;display:flex;align-items:center;gap:10px}
.tp-stars{color:#00b67a;letter-spacing:2px;font-size:15px}
body.nos-portal-page a.tp-button{
  display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;
  border:1px solid #00b67a59;background:#00b67a14;color:#e9fff6!important;font-size:13.5px;font-weight:650;
  text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .2s ease
}
body.nos-portal-page a.tp-button:hover{background:#00b67a26;border-color:#00b67a99;transform:translateY(-1px)}
.tp-button img{height:20px;width:auto;display:block}
@media (max-width:640px){.tp-row{justify-content:center;text-align:center}.tp-text{justify-content:center}}

/* ---------- Card divisioni ---------- */
body.nos-portal-page .division-card{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
body.nos-portal-page a.division-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #0006}
body.nos-portal-page a.division-card:hover .division-arrow{background:var(--accent,#488eff);color:#fff;border-color:transparent}
body.nos-portal-page .division-arrow{transition:background .2s ease,color .2s ease}

/* ---------- Footer ---------- */
body.nos-portal-page .portal-footer .footer-nav-column a{transition:color .2s ease,transform .2s ease;display:inline-block}
body.nos-portal-page .portal-footer .footer-nav-column a:hover{color:#fff;transform:translateX(2px)}

@media (prefers-reduced-motion:reduce){
  .hero-wordmark-svg,body.nos-portal-page .portal-hero-copy :is(.portal-eyebrow,p,.portal-actions),
  body.nos-portal-page .portal-hero .hero-frame > img.hero-symbol,body.nos-portal-page .portal-header .nav-more-panel{animation:none!important}
}

/* ---------- Allineamento hero e titoli di sezione ---------- */
body.nos-portal-page .portal-hero-copy{text-align:left!important}
body.nos-portal-page .portal-hero-copy .portal-eyebrow{justify-content:flex-start!important;margin-inline:0!important}
body.nos-portal-page .portal-hero-copy > p{margin-inline:0!important}
body.nos-portal-page :is(.portal-section-heading,.section-head,.section-head-modern,.feature-copy) h2{
  letter-spacing:-.045em!important;text-transform:none!important;line-height:1.02
}

/* =========================================================
   Hero delle divisioni e delle pagine (stile homepage)
   ========================================================= */
body.nos-portal-page .portal-hero-copy .hero-tagline{
  margin:22px 0 0!important;max-width:560px;color:#f2f6ff!important;
  font-size:clamp(21px,2.3vw,32px)!important;line-height:1.15!important;font-weight:800;letter-spacing:-.03em!important;
  text-transform:none;animation:nmFadeUp .7s .15s ease both
}
body.nos-portal-page .portal-hero-copy .hero-tagline em{font-style:normal;color:var(--accent-3,#8cd6ff)}
body.nos-portal-page .portal-hero-copy .hero-tagline + p,
body.nos-portal-page .portal-hero-copy .page-lead{margin-top:14px!important;max-width:560px;color:#aab8ce;line-height:1.7;font-size:clamp(15px,1.3vw,17px)}
body.nos-portal-page .division-hero .hero-wordmark-svg,
body.nos-portal-page .page-hero .hero-wordmark-svg{width:min(100%,640px)}
body.nos-portal-page .division-frame,body.nos-portal-page .page-frame{
  background:radial-gradient(ellipse at 50% 38%,color-mix(in srgb,var(--accent,#488eff) 22%,#0f1c34),#0c1628 55%,#080d18 100%)!important
}
body.nos-portal-page .division-hero .hero-frame > img.hero-symbol{filter:drop-shadow(0 20px 40px color-mix(in srgb,var(--accent,#488eff) 45%,transparent)) drop-shadow(0 0 70px color-mix(in srgb,var(--accent,#488eff) 22%,transparent))!important}
body.nos-portal-page .division-hero .hero-frame .hero-banner-art,
body.nos-portal-page .division-hero .hero-frame .hero-brand-logo{display:none!important}

/* Pagine con hero generico (Culture, Collab, Privacy, Portfolio, Staff) */
body.nos-portal-page .page-hero{padding-top:clamp(40px,6vw,90px)}
.page-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.page-chips span{
  display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:999px;
  border:1px solid #9eb2db2e;background:#ffffff08;color:#cfdaea;font-size:12.5px;font-weight:650;line-height:1.2
}
.page-chips span i{color:var(--accent-3,#8cd6ff);font-size:12px}
.page-steps span{border-radius:10px;font-weight:750}
.page-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.page-point{display:flex;gap:10px;align-items:flex-start;padding:14px 15px;border-radius:14px;border:1px solid #9eb2db26;background:#0f1828}
.page-point .dot{flex:none;width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--accent,#488eff);box-shadow:0 0 12px var(--accent,#488eff)}
.page-point strong{display:block;color:#f1f5fc;font-size:14px;font-weight:750;line-height:1.3}
.page-point span{display:block;margin-top:3px;color:#93a6c2;font-size:12.5px;line-height:1.45}
body.nos-portal-page .page-actions{margin-top:28px}
body.nos-portal-page .page-actions .btn{display:inline-flex;align-items:center;gap:10px}
body.nos-portal-page .page-frame{height:clamp(320px,30vw,420px)!important}
body.nos-portal-page .page-frame .art-overlay strong{font-size:clamp(22px,2.4vw,32px)!important;line-height:1.1}
@media (max-width:640px){.page-points{grid-template-columns:1fr}}

/* =========================================================
   Menu a tendina leggibili (es. "Servizio di interesse")
   ========================================================= */
body.nos-portal-page select{color-scheme:dark}
body.nos-portal-page select option,
body.nos-portal-page select optgroup{background:#0f1828!important;color:#e9f0fb!important}
body.nos-portal-page select option:checked{background:#1f3a66!important;color:#fff!important}
body.nos-portal-page select option:disabled,body.nos-portal-page select option[value=""]{color:#8ea0bb!important}

/* =========================================================
   Pagine con layout "vecchio": card, sezioni e testi
   ========================================================= */
body.nos-portal-page :is(.section-head,.section-head-modern){gap:18px}
body.nos-portal-page :is(.pill,.badge){white-space:normal}
body.nos-portal-page .project-card .project-image{aspect-ratio:16/10;object-fit:cover;width:100%;border-radius:14px;background:#0b1322}
body.nos-portal-page .project-card h3{letter-spacing:.06em}
body.nos-portal-page .project-card p{color:#a9b8cd}
.page-point{text-align:left}
body.nos-portal-page .portal-hero-copy .page-lead{margin-top:20px!important}
body.nos-portal-page .page-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
body.nos-portal-page .page-actions .btn{min-height:52px!important;padding:0 20px!important;margin:0!important;border-radius:12px!important;justify-content:center}
body.nos-portal-page .page-frame > img.hero-symbol{width:min(36%,200px)!important;top:12%!important}

/* Creator NOS Onmi */
body.nos-portal-page .creators-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
body.nos-portal-page .creator-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:14px 14px 18px!important;border:1px solid color-mix(in srgb,var(--accent) 35%,#ffffff1a)!important;border-radius:18px!important;background:linear-gradient(180deg,#121b2b,#0d1524)!important;transition:transform .25s ease,box-shadow .25s ease}
body.nos-portal-page .creator-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px #0007,0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}
body.nos-portal-page .creator-card .project-image{margin-bottom:6px}
body.nos-portal-page .creator-card .project-image.is-fallback{object-fit:contain;padding:18px}
body.nos-portal-page .creator-card h3{margin:4px 0 0!important;color:var(--accent)!important;font-size:18px!important;letter-spacing:.08em!important}
.creator-role{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#93a6c2}
body.nos-portal-page .creator-card p{margin:2px 0 6px!important;font-size:13.5px;line-height:1.55}
body.nos-portal-page .creator-card .project-socials{margin-top:auto}
