/* Flight Horizon: original supplied artwork; Inter is the website typeface.
   Cyan for identity, deeper blue for readable buttons on light backgrounds. */
:root { --fh-night:#031c3d; --fh-cyan:#00b8ee; --fh-action:#007da8; --display:'Inter',sans-serif; --body:'Inter',system-ui,sans-serif; --serif:'Inter',sans-serif; }
h1,h2,h3,h4 { text-wrap:balance; }
.logo-img,.fh-logo { display:block; width:180px!important; height:60px!important; max-width:100%; object-fit:contain; border-radius:4px; }
.fh-mark { width:42px; height:42px; object-fit:contain; border-radius:6px; }
.fh-setup-brand { display:flex; align-items:center; gap:10px; }
.fh-setup-brand img { width:48px; height:48px; }
.fh-simple-nav { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:10px max(22px,calc((100% - 1120px)/2)); background:#f7f6f2; border-bottom:1px solid #dce4e9; }
.fh-simple-nav a { color:#052344; font-weight:700; text-decoration:none; }
.serif,em.serif,.hero h1 .accent { font-style:normal; font-weight:700; }
:focus-visible { outline:3px solid #007da8; outline-offset:4px; }
.fh-setup { --ink:#031c3d; --slate:#08294b; --slate-2:#103456; --amber:#00b8ee; }
.fh-setup h1,.fh-consulenza h1 { line-height:1.05; font-size:clamp(2.5rem,6.5vw,5rem); }
.fh-setup h2,.fh-consulenza h2 { line-height:1.12; }
.fh-consulenza { --paper:#f7f6f2; --paper-2:#e7edf1; --ink:#052344; }
.fh-mobile-menu { display:none; }
@media(max-width:1000px) {
 .nav .nav-in { flex-wrap:wrap; gap:8px 14px; padding-top:8px; padding-bottom:8px; }
 .fh-mobile-menu { display:block; width:100%; padding:7px 0; }
 .fh-mobile-menu summary { cursor:pointer; color:#052344; font-weight:700; }
 .fh-mobile-links { display:flex; flex-wrap:wrap; gap:12px 20px; padding:14px 0 4px; }
 .fh-mobile-links a { color:#052344; text-decoration:none; }
}
@media(max-width:600px) {
 .logo-img,.fh-logo { width:138px!important; height:46px!important; }
 nav.main-nav .container { gap:10px; flex-wrap:wrap; }
 .nav-right { gap:10px!important; flex-wrap:wrap; }
 .nav-cta { font-size:12px!important; padding:10px 12px!important; white-space:normal; }
 .fh-setup-brand { font-size:.85rem; white-space:normal; }
 .fh-setup .top .wrap { flex-wrap:wrap; }
 .fh-simple-nav { gap:10px; font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto!important} *,*::before,*::after{animation:none!important;transition:none!important} }
/* Long addresses and policy references must wrap on narrow screens. */
p,li,td,th { overflow-wrap:anywhere; }
