/* Seconda passata stile Apple: più respiro, tipografia grande, superfici morbide. */
@layer osv {
html body { background: #fbfbfd !important; color: #1d1d1f; -webkit-font-smoothing: antialiased; }
/* ritmo e titoli */
html body main h2, html body .section-head h2, html body .block > h2, html body .row-head h2 { font-size: clamp(32px, 4.2vw, 56px) !important; line-height: 1.06 !important; letter-spacing: -.045em !important; font-weight: 700 !important; color: #1d1d1f; }
html body .kicker, html body .eyebrow, html body .section-head .kicker { font-size: 13px !important; letter-spacing: .14em !important; font-weight: 600 !important; text-transform: uppercase; }
html body .block, html body main .section { margin-top: clamp(64px, 9vw, 128px) !important; }
html body .page-hero, html body .hero { border-radius: 36px !important; }
html body .page-hero p, html body .hero .lead { font-size: clamp(18px, 1.7vw, 24px) !important; line-height: 1.45 !important; letter-spacing: -.01em; }
/* superfici: card più grandi, ombre diffuse, niente bordi */
html body .product-card, html body .rcard, html body .pcard, html body .ocard, html body .press-card, html body .guide-card, html body .osv-city, html body .osv-key, html body .osv-quick, html body .osv-evid, html body .topic-context { border-radius: 28px !important; border: 0 !important; box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 18px 48px rgba(0,0,0,.07) !important; background: #fff !important; }
html body .product-card, html body .rcard, html body .ocard, html body .pcard { transition: transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s cubic-bezier(.2,.8,.2,1) !important; }
html body .product-card:hover, html body .rcard:hover, html body .ocard:hover { transform: translateY(-6px) scale(1.012) !important; box-shadow: 0 2px 4px rgba(0,0,0,.05), 0 30px 70px rgba(0,0,0,.14) !important; }
html body .product-card img.research-illustration, html body .rc-art img, html body .oc-art img { transition: transform .8s cubic-bezier(.2,.8,.2,1); }
html body .product-card:hover img.research-illustration, html body .rcard:hover .rc-art img, html body .ocard:hover .oc-art img { transform: scale(1.05); }
/* pulsanti e link */
html body .btn-line, html body .btn-white, html body .osv-dl, html body .filters button, html body #filters button { border-radius: 999px !important; font-weight: 600 !important; letter-spacing: -.01em; transition: transform .25s, background .25s, box-shadow .25s !important; }
html body .btn-line:hover, html body .osv-dl:hover { transform: translateY(-1px); }
html body .text-link, html body .rc-link, html body .arrow-link, html body .pc-link { color: #0066cc !important; font-weight: 500 !important; }
html body .text-link:hover, html body .rc-link:hover, html body .arrow-link:hover, html body .pc-link:hover { text-decoration: underline; }
/* filtri come segmented control */
html body .filters { background: rgba(0,0,0,.05); padding: 4px; border-radius: 999px; display: inline-flex !important; gap: 2px !important; }
html body .filters button { background: transparent !important; border: 0 !important; color: #1d1d1f !important; padding: 9px 18px !important; }
html body .filters button.active, html body .filters button[aria-pressed="true"] { background: #fff !important; box-shadow: 0 1px 3px rgba(0,0,0,.14) !important; color: #1d1d1f !important; }
/* testi di supporto più quieti */
html body .sub, html body .press-intro, html body .note, html body .about-note { color: #6e6e73 !important; }
html body .crumb, html body .crumb a { color: #6e6e73; }
}
