/* Fabricamotus · aggiornamento 24 settembre 2026. Nessuna risorsa remota. */
.fm-brand-readable { color-scheme: light !important; background: #fff !important; color: #123c58 !important; border: 1px solid #dce7ee !important; border-radius: 10px; padding: 7px 11px !important; box-sizing: border-box; isolation: isolate; text-decoration: none; }
.fm-brand-readable :is(span,strong,b,em) { color: #123c58 !important; }
.fm-brand-readable img, img.fm-logo-readable { background: #fff !important; filter: none !important; mix-blend-mode: normal !important; opacity: 1 !important; }
img.fm-logo-readable { color-scheme: light !important; border-radius: 7px; box-sizing: border-box; padding: 5px 8px; }
.fm-privacy-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem 1.35rem; padding: 1.25rem 1rem; font-size: .88rem; line-height: 1.6; clear: both; }
.fm-privacy-links a { color: inherit !important; text-decoration: underline; text-underline-offset: .22em; }
.fm-privacy-links a:focus-visible,.fm-external-card a:focus-visible,.fm-policy a:focus-visible { outline: 3px solid #078aca; outline-offset: 5px; border-radius: 3px; }
.fm-external-card { width: 100%; min-height: 280px; padding: clamp(24px,5vw,48px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 14px; box-sizing: border-box; border: 1px solid #cddfe8; border-radius: 18px; color: #16364c; background: #f0f7fb; text-align: left; font: inherit; }
.fm-external-card .fm-map-kicker { font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; color: #216285; }
.fm-external-card h3 { color: inherit; font-size: clamp(1.3rem,3vw,1.8rem); line-height: 1.2; margin: 0; }
.fm-external-card p { color: inherit; margin: 0; max-width: 60ch; font-size: 1rem; line-height: 1.7; }
.fm-external-card a { display: inline-block; background: #0f587d; color: #fff !important; padding: 12px 19px; border-radius: 10px; font-weight: 650; text-decoration: none; line-height: 1.35; }
.fm-external-card small { max-width: 65ch; font-size: .85rem; line-height: 1.6; opacity: .85; }
.fm-andrei-bio { max-width: 78ch; }
.fm-andrei-bio p { margin: 0 0 1.15em; line-height: 1.8; }
.fm-andrei-bio strong { font-weight: 700; }
.fm-andrei-bio blockquote { border-left: 3px solid #1686bc; margin: 1.6rem 0 0; padding: .3rem 0 .3rem 1.2rem; font-style: normal; }
.fm-andrei-bio blockquote p { margin: 0; }
.fm-policy { max-width: 880px; margin: 0 auto; padding: clamp(35px,7vw,75px) 24px; font-family: inherit; line-height: 1.8; overflow-wrap: anywhere; }
.fm-policy h1 { font-size: clamp(2rem,5vw,3.1rem); line-height: 1.14; letter-spacing: -.03em; margin: .6rem 0 1.1rem; }
.fm-policy h2 { font-size: 1.35rem; line-height: 1.4; margin: 2.1rem 0 .75rem; }
.fm-policy p { margin: .75rem 0 1rem; }
.fm-policy .fm-policy-date { font-size: .85rem; opacity: .7; }
.fm-policy .fm-policy-intro { padding: 20px 24px; border-left: 3px solid #1686bc; background: #eef6fa; color: #15374b; border-radius: 0 10px 10px 0; }
.fm-policy a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.fm-policy table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: .94rem; }
.fm-policy :is(th,td) { text-align: left; vertical-align: top; border-bottom: 1px solid #cbdce5; padding: 12px 10px; }
.fm-policy th { font-weight: 700; }
.fm-legal-shell { margin: 0; background: #fff; color: #15364b; font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.fm-legal-header { max-width: 1160px; margin: 0 auto; padding: 22px 24px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border-bottom: 1px solid #dce7ee; }
.fm-legal-header a { color: inherit; text-decoration: none; }
.fm-legal-header img { max-width: 210px; max-height: 74px; width: auto; height: auto; object-fit: contain; }
.fm-legal-brand { font-size: 1.3rem; font-weight: 750; letter-spacing: -.02em; }
.fm-legal-footer { max-width: 1160px; margin: auto; padding: 24px; border-top: 1px solid #dce7ee; }
.fm-legal-footer p { margin: .3em 0; font-size: .9rem; }
@media (prefers-color-scheme:dark) {
 .fm-external-card { background:#122c3d; border-color:#315267; color:#e7f3fb; }
 .fm-external-card .fm-map-kicker { color:#a5d8f1; }
 .fm-legal-shell { color:#e5f1f8; background:#0c1c28; color-scheme:dark; }
 .fm-policy .fm-policy-intro { background:#153347; color:#e5f1f8; }
 .fm-legal-header,.fm-legal-footer { border-color:#345367; }
}
:is(html,body)[data-theme="dark"] .fm-external-card, :is(html,body).dark .fm-external-card { background:#122c3d; border-color:#315267; color:#e7f3fb; }
@media (max-width:480px) { .fm-brand-readable { padding:5px 7px !important; } .fm-legal-header { padding:16px; } .fm-legal-header img { max-width:150px; } .fm-legal-header > a:last-child { font-size:.85rem; } .fm-policy { padding:30px 18px; } }
@media (prefers-reduced-motion:reduce) { .fm-external-card,.fm-andrei-bio { scroll-behavior:auto; } }
