/* Stili della landing, dalla bozza di design Main.dc.html. Inter servito dal
   sito (niente Google Fonts); il mono è quello di KaiGrid: JetBrains Mono se
   installato, altrimenti quello di sistema. */
@font-face{font-family:'Inter';src:url(/fonts/InterVariable.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
body{margin:0;background-color:#000c1e}
a{color:#9ccef8}a:hover{color:#f6f8f9}
.kg,.kg *{box-sizing:border-box}
.kg ::selection{background-color:#0084d5;color:#000c1e}
.kg :focus-visible{outline:2px solid #6cb8f6;outline-offset:3px}
@keyframes kgTileIn{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}
@keyframes kgDrawX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes kgDrawY{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes kgRunX{0%{left:0%;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:100%;opacity:0}}
@keyframes kgRunY{0%{top:0%;opacity:0}8%{opacity:1}92%{opacity:1}100%{top:100%;opacity:0}}
@keyframes kgBreath{0%,100%{box-shadow:0 0 0 1px #0084d5,0 0 36px 0 rgba(0,132,213,.35)}50%{box-shadow:0 0 0 1px #6cb8f6,0 0 90px 10px rgba(0,132,213,.55)}}
@keyframes kgRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes kgBlink{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes kgMarq{to{transform:translateX(-50%)}}
.kg-tile{animation:kgTileIn .9s cubic-bezier(.2,.8,.2,1) both}
.kg-tile:hover,.kg-tile:focus-within{z-index:8 !important}
.kg-line-x{transform-origin:left center;animation:kgDrawX 1.3s cubic-bezier(.65,0,.25,1) both}
.kg-line-y{transform-origin:center top;animation:kgDrawY 1.3s cubic-bezier(.65,0,.25,1) both}
.kg-pulse-x,.kg-pulse-y{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background-color:#e1eef9;box-shadow:0 0 10px 3px rgba(54,159,238,.95);opacity:0;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite;animation-fill-mode:both}
.kg-pulse-x{top:50%;left:0;animation-name:kgRunX;animation-duration:3.6s}
.kg-pulse-y{left:50%;top:0;animation-name:kgRunY;animation-duration:3.6s}
.kg-core{animation:kgBreath 4.5s ease-in-out 1.2s infinite;box-shadow:0 0 0 1px #0084d5,0 0 36px 0 rgba(0,132,213,.35)}
.kg-blink{animation:kgBlink 2.4s ease-in-out infinite}
.kg-rise{animation:kgRise 1s cubic-bezier(.2,.8,.2,1) both}
.kg-marquee{animation:kgMarq 52s linear infinite}
.kg-app{transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s}
.kg-app:hover,.kg-app:focus-visible{transform:scale(1.14);filter:drop-shadow(0 18px 28px rgba(0,132,213,.55))}
.kg-tip{position:absolute;left:50%;bottom:calc(100% + 14px);padding:7px 10px;border-radius:8px;background-color:#e1eef9;color:#000c1e;font:500 12px/1 'JetBrains Mono',ui-monospace,monospace;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,6px);transition:opacity .25s,transform .25s}
.kg-app:hover .kg-tip,.kg-app:focus-visible .kg-tip{opacity:1;transform:translate(-50%,0)}
.kg-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border:0;border-radius:999px;background-color:#0084d5;color:#000c1e;font:600 15px/1 'Inter',system-ui,sans-serif;text-decoration:none;cursor:pointer;transition:background-color .25s,box-shadow .25s,transform .25s}
.kg-btn:hover{background-color:#369fee;color:#000c1e;box-shadow:0 14px 34px -10px rgba(0,132,213,.85);transform:translateY(-1px)}
.kg-ghost{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:1px solid rgba(156,206,248,.32);background-color:transparent;color:#e1eef9;font:500 15px/1 'Inter',system-ui,sans-serif;text-decoration:none;cursor:pointer;transition:border-color .25s,background-color .25s}
.kg-ghost:hover{border-color:#9ccef8;background-color:rgba(156,206,248,.07);color:#f6f8f9}
.kg-nav a{color:#b3bec8;text-decoration:none;transition:color .2s}
.kg-nav a:hover{color:#f6f8f9}
.kg-nav a.kg-btn,.kg-nav a.kg-btn:hover{color:#000c1e}
.kg-nav a.kg-ghost{color:#e1eef9}.kg-nav a.kg-ghost:hover{color:#f6f8f9}
.kg-lang{appearance:none;-webkit-appearance:none;min-height:44px;padding:0 36px 0 16px;border-radius:999px;border:1px solid rgba(156,206,248,.32);background-color:transparent;color:#e1eef9;font:500 13px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.06em;cursor:pointer;transition:border-color .2s}
.kg-lang:hover{border-color:#9ccef8}
.kg option{background-color:#041e42;color:#f6f8f9}
.kg-seg{border:0;cursor:pointer;font:500 14px/1 'Inter',system-ui,sans-serif;transition:background-color .35s,color .35s}
.kg-pick{background:none;border:0;padding:0;margin:0;cursor:pointer;color:inherit;font:inherit;transition:opacity .45s,filter .45s}
.kg-pick>span:first-child{transition:box-shadow .45s,transform .45s cubic-bezier(.2,.8,.2,1)}
.kg-pick:hover>span:first-child{transform:scale(1.1)}
.kg-card{position:relative;border:1px solid rgba(108,184,246,.14);background-color:rgba(4,30,66,.55);transition:border-color .35s,transform .5s cubic-bezier(.2,.8,.2,1),background-color .35s}
.kg-card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(520px circle at 0% 0%,rgba(0,132,213,.20),transparent 45%);opacity:0;transition:opacity .45s;pointer-events:none}
.kg-card:hover{border-color:rgba(54,159,238,.55);transform:translateY(-4px);background-color:rgba(4,30,66,.85)}
.kg-card:hover::before{opacity:1}
.kg-card-icon{transform-origin:left center;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.kg-card:hover .kg-card-icon{transform:scale(1.16)}
.kg-cardlink{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;min-height:44px;font:500 13px/1 'JetBrains Mono',ui-monospace,monospace;color:#9ccef8;text-decoration:none;transition:color .2s,gap .3s}
.kg-cardlink:hover{color:#f6f8f9;gap:12px}
.kg-soon{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid rgba(156,206,248,.28);font:500 11px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#9ccef8}
.kg-launch{display:flex;align-items:center;gap:16px;padding:18px 22px 18px 18px;border-radius:20px;border:1px solid rgba(108,184,246,.16);background-color:rgba(4,30,66,.55);text-decoration:none}
.kg-launch img{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
a.kg-launch{transition:border-color .3s,background-color .3s}
a.kg-launch:hover{border-color:rgba(54,159,238,.6);background-color:rgba(4,30,66,.9)}
a.kg-launch:hover img{transform:scale(1.12)}
.kg-input{width:100%;min-height:52px;padding:0 16px;border-radius:12px;border:1px solid rgba(156,206,248,.24);background-color:rgba(0,12,30,.6);color:#f6f8f9;font:400 15px/1.4 'Inter',system-ui,sans-serif;transition:border-color .2s,box-shadow .2s}
.kg-input::placeholder{color:#697a8a}
.kg-input:hover{border-color:rgba(156,206,248,.45)}
.kg-input:focus{outline:none;border-color:#369fee;box-shadow:0 0 0 3px rgba(54,159,238,.25)}
select.kg-input{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer}
textarea.kg-input{min-height:140px;padding:14px 16px;resize:vertical}
.kg-foot a{color:#b3bec8;text-decoration:none;transition:color .2s}
.kg-foot a:hover{color:#f6f8f9}
.kg-still *,.kg-still *::before{animation:none !important;transition:none !important}
.kg-still .kg-pulse-x,.kg-still .kg-pulse-y{display:none}
@media (max-width:1000px){.kg-navlinks{display:none !important}}
@media (max-width:760px){.kg-busline{display:none !important}}
@media (max-width:560px){.kg-navlogin{display:none !important}}
@media (prefers-reduced-motion:reduce){.kg *,.kg *::before{animation:none !important;transition:none !important}.kg .kg-pulse-x,.kg .kg-pulse-y{display:none}}
[hidden]{display:none !important}
/* Banner dei cookie (come sul sito di Flow). */
.cc{position:fixed;left:20px;bottom:20px;z-index:150;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow-y:auto;padding:20px 22px 18px;background:#041e42;border:1px solid rgba(108,184,246,.28);border-radius:18px;box-shadow:0 24px 60px -20px rgba(0,0,0,.7);color:#f6f8f9;font:400 14px/1.5 'Inter',system-ui,sans-serif;box-sizing:border-box}
.cc *{box-sizing:border-box}
.cc h2{margin:0 30px 8px 0;font-size:16px;font-weight:600;letter-spacing:-.01em}
.cc-x{position:absolute;top:10px;right:10px;display:flex;padding:6px;border:0;border-radius:8px;background:none;color:#8a99a8;cursor:pointer}
.cc-x:hover{color:#f6f8f9}
.cc-text{margin:0;color:#b3bec8;font-size:13.5px;line-height:1.6}
.cc-text a{color:#9ccef8;font-weight:600;text-decoration:none}.cc-text a:hover{text-decoration:underline}
.cc-cats{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.cc-cat{display:block;border:1px solid rgba(108,184,246,.2);border-radius:12px;padding:11px 14px}
label.cc-cat{cursor:pointer}
.cc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}
.cc-cat p{margin:5px 0 0;color:#8a99a8;font-size:12.5px;line-height:1.55}
.cc-always{font-size:12px;font-weight:600;color:#9ccef8}
.cc-toggle{appearance:none;-webkit-appearance:none;flex:none;position:relative;width:38px;height:22px;margin:0;border-radius:999px;background:rgba(156,206,248,.25);cursor:pointer;transition:background-color .2s}
.cc-toggle::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#f6f8f9;transition:transform .2s}
.cc-toggle:checked{background:#0084d5}.cc-toggle:checked::after{transform:translateX(16px)}
.cc-actions{display:flex;align-items:center;gap:8px;margin-top:16px;flex-wrap:wrap}
.cc-grow{flex:1}
.cc-link{border:0;background:none;padding:8px 2px;color:#9ccef8;font:600 14px/1 'Inter',system-ui,sans-serif;cursor:pointer}.cc-link:hover{text-decoration:underline}
.cc-btn{min-height:40px;padding:0 18px;border:0;border-radius:999px;background:#0084d5;color:#000c1e;font:600 14px/1 'Inter',system-ui,sans-serif;cursor:pointer}.cc-btn:hover{background:#369fee}
@media (max-width:520px){.cc{left:16px;bottom:16px}.cc-actions .cc-btn{flex:1}.cc-grow{display:none}.cc-link{width:100%;text-align:left}}
/* Modulo contatti, validazione come il sito di Flow: l'errore cambia le
   parole dell'etichetta, mai la scatola; nessun popup del browser. */
#kg-form [data-et]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#kg-form .kg-err [data-et],#kg-form .kg-consenso.kg-err span{color:#f08a8a}
#kg-form .kg-err .kg-input{border-color:rgba(240,138,138,.6);background-color:rgba(240,138,138,.05)}
.kg-consenso{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.6;color:#b3bec8;cursor:pointer}
.kg-consenso a{color:#9ccef8}
/* Lingua: pillole come sul sito di Flow. */
.kg-langs{display:flex;flex-wrap:wrap;gap:4px}
.kg-langs a{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;border:1px solid rgba(156,206,248,.32);color:#b3bec8;font:600 12px/1 'Inter',system-ui,sans-serif;text-decoration:none;transition:background-color .2s,color .2s}
.kg-langs a:hover{background-color:rgba(156,206,248,.08);color:#f6f8f9}
.kg-langs a.on{background-color:#0084d5;border-color:transparent;color:#fff}
html{scrollbar-gutter:stable}
