/* Drive Awake - chrome condiviso, estratto dalle home (header, nav, menu mobile, badge, claim, footer) */
.container{max-width: 840px;
            margin: 0 auto;
            padding: 0 32px;}
/* Header Navigation */
        .header{position: fixed;
            top: 0;
            left: 0;
            right: 0;
            background: rgba(31,31,31,0.97);
            backdrop-filter: blur(10px);
            border-bottom: 1px solid #222;
            padding: 16px 0;
            z-index: 1000;}
.header-inner{max-width: 840px;
            margin: 0 auto;
            padding: 0 32px;
            display: flex;
            align-items: center;
            justify-content: space-between;}
.header-logo{font-size: 17px;
            font-weight: 600;
            color: #fff;
            text-decoration: none;
            letter-spacing: -0.01em;}
.header-nav{display: none;
            gap: 24px;
            margin-left: 56px;}
.nav-item{display: flex;
            flex-direction: column;
            gap: 3px;
            text-align: left;
            text-decoration: none;
            transition: all 200ms;}
.nav-title{font-size: 14px;
            font-weight: 400;
            color: #999;
            transition: color 200ms;}
.nav-subtitle{font-size: 11px;
            font-weight: 300;
            color: #666;
            letter-spacing: 0.03em;
            transition: color 200ms;}
.nav-item:hover .nav-title{color: #fff;}
.nav-item:hover .nav-subtitle{color: #999;}
/* Mobile Menu Languages */
        .mobile-menu-divider{width: 100%;
            height: 1px;
            background: rgba(255,255,255,0.1);
            margin: 8px 0;}
.mobile-nav-languages{display: flex;
            gap: 20px;
            padding-top: 8px;}
.mobile-nav-languages a{font-size: 16px;
            color: #999;
            text-decoration: none;
            transition: color 200ms;}
.mobile-nav-languages a:hover{color: #fff;}
.mobile-nav-languages a.active{color: var(--accent-primary);}
footer p{font-size: 13px;
            opacity: 0.65;
            margin-bottom: 12px;
            text-align: left;}
/* Hamburger Icon */
        .hamburger{display: none;
            background: none;
            border: none;
            flex-direction: column;
            gap: 5px;
            cursor: pointer;
            padding: 8px;
            z-index: 1001;}
.hamburger span{display: block;
            width: 24px;
            height: 2px;
            background: #fff;
            transition: all 300ms cubic-bezier(0.16, 1, 0.3, 1);}
.hamburger.active span:nth-child(1){transform: rotate(45deg) translate(5px, 5px);}
.hamburger.active span:nth-child(2){opacity: 0;}
.hamburger.active span:nth-child(3){transform: rotate(-45deg) translate(7px, -7px);}
/* Mobile Menu Overlay */
        .mobile-menu{position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.98);
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            align-items: flex-start;
            gap: 28px;
            padding: 80px 32px 60px 32px;
            transform: translateX(100%);
            transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1);
            z-index: 1000;
            overflow-y: auto;}
.mobile-menu.active{transform: translateX(0);}
.mobile-menu-header{display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 8px;
            padding-bottom: 0;
            width: 100%;
            cursor: pointer;}
.mobile-menu-logo{width: 40px;
            height: 40px;
            animation: rotate 20s linear infinite;}
.mobile-menu-title{font-size: 20px;
            font-weight: 400;
            color: #fff;}
.mobile-menu-intro{padding: 0 0 24px 0;
            border-bottom: 1px solid rgba(255,255,255,0.1);
            margin-bottom: 16px;
            width: 100%;}
.mobile-tagline{font-size: 15px;
            line-height: 1.5;
            color: #fff;
            margin: 0 0 8px 0;
            font-weight: 400;}
.mobile-subtitle{font-size: 13px;
            color: #999;
            margin: 0;
            font-style: italic;}
.mobile-nav-item{display: flex;
            flex-direction: column;
            gap: 4px;
            text-align: left;
            text-decoration: none;
            transition: all 200ms;}
.mobile-nav-item:hover{transform: translateX(4px);}
.mobile-nav-title{font-size: 28px;
            font-weight: 400;
            color: #fff;
            transition: color 200ms;}
.mobile-nav-subtitle{font-size: 13px;
            font-weight: 300;
            color: #666;
            letter-spacing: 0.03em;
            text-transform: uppercase;}
.mobile-nav-item:hover .mobile-nav-title{color: #ccc;}
@media (max-width: 768px){
.container{padding: 0 24px;}
.header{padding: 12px 0;}
.header-inner{padding: 0 24px;}
.hamburger{display: flex;}
}
/* Circadian Badge & Navigation */
        .circadian-badge{position: fixed;
            top: 20px;
            right: 20px;
            background: rgba(255, 165, 0, 0.08);
            border: 1px solid rgba(255, 165, 0, 0.25);
            padding: 8px 14px;
            border-radius: 20px;
            font-size: 12px;
            color: #ffa500;
            cursor: help;
            z-index: 999;
            display: flex;
            align-items: center;
            gap: 6px;
            transition: all 200ms ease;
            opacity: 0.7;}
.circadian-badge:hover{opacity: 1;
            background: rgba(255, 165, 0, 0.12);
            border-color: rgba(255, 165, 0, 0.4);}
.circadian-badge svg{width: 16px;
            height: 16px;
            flex-shrink: 0;}
.circadian-nav-icon{display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background: rgba(255, 165, 0, 0.1);
            border: 1px solid rgba(255, 165, 0, 0.25);
            cursor: pointer;
            transition: all 200ms ease;
            margin-left: 12px;}
.circadian-nav-icon:hover{background: rgba(255, 165, 0, 0.15);
            border-color: rgba(255, 165, 0, 0.4);}
.circadian-nav-icon svg{width: 18px;
            height: 18px;
            color: #ffa500;}
.circadian-tooltip{position: absolute;
            top: calc(100% + 10px);
            right: 0;
            background: rgba(10, 10, 10, 0.98);
            border: 1px solid rgba(255, 165, 0, 0.3);
            border-radius: 8px;
            padding: 16px;
            width: 320px;
            font-size: 13px;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.8);
            pointer-events: none;
            opacity: 0;
            transform: translateY(-10px);
            transition: all 300ms ease;
            z-index: 1000;}
.circadian-badge:hover .circadian-tooltip{opacity: 1;
            transform: translateY(0);
            pointer-events: auto;}
@media (max-width: 768px){
.circadian-badge{top: 10px;
                right: 10px;
                font-size: 11px;
                padding: 6px 10px;}
.circadian-badge svg{width: 14px;
                height: 14px;}
.circadian-badge-text{display: none;}
.circadian-tooltip{width: 280px;
                right: -10px;}
}
/* ── HEADER FIX ── */
        .header-inner{max-width: 1200px;
            margin: 0 auto;
            padding: 0 32px;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;}
.header-nav{display: none;
            align-items: center;
            gap: 2px;
            flex: 1;
            justify-content: flex-end;
            margin-left: 24px;}
.nav-item{display: flex;
            flex-direction: column;
            gap: 2px;
            padding: 7px 9px;
            border-radius: 7px;
            text-decoration: none;
            transition: background 200ms ease;
            white-space: nowrap;}
.nav-item:hover{background: rgba(255,255,255,0.06);}
.nav-title{font-size: 13px; font-weight: 400; color: #ccc; line-height: 1; transition: color 200ms;}
.nav-subtitle{font-size: 10px; font-weight: 300; color: #555; line-height: 1; transition: color 200ms;}
.nav-item:hover .nav-title{color: #fff;}
.nav-item:hover .nav-subtitle{color: #4A9EFF;}
@media (min-width: 900px){
.header-nav{display: flex !important;}
.hamburger{display: none !important;}
}
@media (max-width: 1100px) and (min-width: 900px){
.nav-subtitle{display: none;}
.nav-item{padding: 6px 7px;}
.nav-title{font-size: 12px;}
}
/* ── MOBILE MENU FIX ── */
        .mobile-menu{transform: translateY(-100%);
            transition: transform 400ms cubic-bezier(0.16,1,0.3,1);}
.mobile-menu.active{transform: translateY(0);}
.mobile-menu-logo{animation: logoBreath 6s ease-in-out infinite !important;}
.mobile-nav-item{display: flex; flex-direction: column; gap: 3px;
            padding: 14px 0;
            border-bottom: 1px solid rgba(255,255,255,0.05);
            text-decoration: none;
            transition: transform 200ms ease;}
.mobile-nav-item:hover{transform: translateX(6px);}
.mobile-nav-title{font-size: 18px; font-weight: 300; color: #fff; line-height: 1;}
.mobile-nav-subtitle{font-size: 11px; color: #555;}
.mobile-nav-item:hover .mobile-nav-title{color: #4A9EFF;}
.logo circle:nth-child(2), .mobile-menu-logo circle:nth-child(2){stroke: none !important;}
.logo circle:last-child, .mobile-menu-logo circle:last-child{fill: #4A9EFF !important;}
/* ── HEADER CLAIM - sottile sotto il logo ── */
        .header-claim{font-size: 8px;
            font-weight: 400;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: #3a3a3a;
            display: block;
            line-height: 1;
            margin-top: 2px;
            white-space: nowrap;}
.header-logo-wrap{display: flex;
            flex-direction: column;
            gap: 0;}
/* ── CLAIM STRIP - linea sottile tra header e hero ── */
        .da-claim-strip{background: #111;
            border-bottom: 1px solid #1e1e1e;
            padding: 11px 40px;
            display: flex;
            align-items: center;
            justify-content: space-between;}
.da-claim-strip-text{font-size: 9px;
            font-weight: 400;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: #3a3a3a;}
.da-claim-strip-dot{width: 4px;
            height: 4px;
            border-radius: 50%;
            background: #FF6B35;
            opacity: 0.5;
            flex-shrink: 0;}
.da-claim-strip-right{font-size: 9px;
            font-weight: 400;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: #2a2a2a;}
/* ── NAV NO WRAP ── */
        .nav-item{white-space: nowrap;}
.header-nav{flex-wrap: nowrap; gap: 1px;}
.nav-title{white-space: nowrap;}
.nav-subtitle{white-space: nowrap;}
/* ── LANG SWITCHER HEADER ── */
        .lang-switcher{display: flex;
            align-items: center;
            gap: 2px;
            margin-right: 16px;}
.lang-sw{font-size: 9px;
            font-weight: 500;
            letter-spacing: .1em;
            color: #3a3a3a;
            text-decoration: none;
            padding: 4px 6px;
            border-radius: 3px;
            transition: all 150ms;}
.lang-sw:hover{color: #888;}
.lang-sw.active{color: #4A9EFF;
            background: rgba(74,158,255,.08);}
.lang-switcher-sep{width: 1px;
            height: 10px;
            background: #2a2a2a;
            margin: 0 2px;}
.irm-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.irm-link-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#111;border:1px solid #222;border-radius:8px;font-size:12px;color:#4A9EFF;text-decoration:none;transition:border-color 150ms}
.irm-link-btn:hover{border-color:#4A9EFF}
.mission>.container{position:relative;z-index:2;width:100%;max-width:840px;margin:0 auto;padding:0 32px}
@media(max-width:768px){
.mission>.container{padding:0 24px}
}
.da-porte .container{max-width:980px;margin:0 auto;padding:0 32px}
@media(max-width:560px){
.da-porte .container{padding:0 24px}
}
@media(min-width:1100px){
.header .header-nav{gap:12px;align-items:center}
.header .nav-item{white-space:nowrap;padding:6px 7px}
.header .nav-title{white-space:nowrap;line-height:1.1}
.header .nav-subtitle{white-space:nowrap;max-width:none;line-height:1.3}
}
body{padding-top:60px}
@media(max-width:899px){body{padding-top:50px}}

/* language switch: smooth scroll + fade-out (fail-safe) */
section[id]{scroll-margin-top:72px}
body{transition:opacity .5s ease-in-out}
body.da-leaving{opacity:0}
