/* Eligesoft · 1. Base: colori, caratteri, barra, pulsanti, scena 3D. */
:root{
  --ground:#F4F2EE; --paper:#FFFFFF; --step:#E7E4DE; --ink:#0B0B0C; --ink2:#4A4C50;
  --red:#E10600; --red-ink:#FFFFFF;
  --violet:#7C3AED; --teal:#2F7D6D; --blue:#2952E3; --sun:#FFC83D;
  --field:#0B0B0C; --on-field:#F4F2EE; --on-field2:#B4B6BA;
  --font:"Archivo", "Helvetica Neue", Arial, system-ui, sans-serif;
  --m:clamp(16px,3vw,44px);
  --gap:clamp(96px,12vw,190px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --bar:72px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --paper:#FFFFFF; }
}
:root[data-theme="dark"]{ --paper:#FFFFFF; }

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font);font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.55;padding-bottom:env(safe-area-inset-bottom,0px);overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
h1,h2,h3{margin:0;font-weight:800;font-stretch:118%;letter-spacing:-.03em;line-height:.95}
p{margin:0}
.frame{padding-inline:var(--m);max-width:1560px;margin-inline:auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.6rem 1rem}

/* scena 3D */
#scene{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;display:block;pointer-events:none}
main,footer,.bar{position:relative;z-index:1}
.ch{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;padding-top:calc(var(--bar) + clamp(24px,4vh,56px));padding-bottom:clamp(40px,6vh,80px);color:var(--chink,#0B0B0C);background:var(--chbg)}
.gl .ch{background:transparent}
.ch .frame{width:100%}
.ch-t{max-width:min(600px,46%)}
@media (max-width:900px){
  .ch{align-items:flex-end;padding-bottom:clamp(40px,8vh,80px)}
  .ch-t{max-width:none}
  .gl .ch{padding-bottom:0}
  .gl .ch-t{margin-top:44vh;margin-top:44svh;margin-inline:calc(-1 * var(--m));padding:28px var(--m) clamp(48px,8vh,72px);background:var(--chbg)}
}
.solid{position:relative;background:var(--ground)}

/* barra */
.bar{position:fixed;top:0;left:0;right:0;z-index:40;padding-top:env(safe-area-inset-top,0px);transition:background-color .3s}
.bar{background:var(--barbg,#F4F2EE);color:#0B0B0C}
.bar.dark{color:#fff}
.gl .bar.over-ch{background:var(--scenebg,var(--barbg))}
.gl[data-sdark="1"] .bar.over-ch{color:#fff}
.gl[data-sdark="0"] .bar.over-ch{color:#0B0B0C}
.gl[data-sdark="1"] .bar.over-ch .btn{background:#fff;color:#0B0B0C}
.gl[data-sdark="0"] .bar.over-ch .btn{background:#0B0B0C;color:#fff}
.gl .bar.over-ch .btn:hover{color:#fff}
.gl[data-sred="1"] .bar.over-ch .logo path[fill="#E10600"]{fill:#fff}
.gl[data-sred="0"] .bar.over-ch .logo path[fill="#E10600"]{fill:#E10600}
.bar-in{display:flex;align-items:center;gap:2rem;height:var(--bar)}
.bar .brand{display:inline-flex;align-items:center;min-height:48px}
.bar .logo{width:150px;height:auto;color:currentColor}
.bar .logo .t-red{fill:var(--red)}
.bar nav{margin-left:auto}
.bar nav ul{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0}
.bar nav a{display:inline-block;padding:12px 0;text-decoration:none;font-weight:700}
.bar nav a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.btn{position:relative;display:inline-flex;align-items:center;gap:.7rem;min-height:54px;padding:0 1.6rem;background:var(--ink);color:#fff;font:inherit;font-weight:800;text-decoration:none;border:0;border-radius:999px;cursor:pointer;overflow:hidden;isolation:isolate;transition:transform .25s var(--ease),color .25s}
.btn::before{content:"";position:absolute;inset:0;background:var(--red);transform:translateY(101%);transition:transform .35s var(--ease);z-index:-1}
.btn:hover::before{transform:none}
.btn:active{transform:scale(.96)}
.btn .arr{transition:transform .25s var(--ease)}
.btn:hover .arr{transform:translateX(5px)}
.btn.light{background:#fff;color:#0B0B0C}
.btn.light:hover{color:#fff}
.btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.btn.ghost:hover{color:#fff}
.bar .btn{min-height:44px;padding:0 1.2rem}
.burger{display:none;margin-left:auto;width:48px;height:48px;border:0;border-radius:50%;background:var(--ink);color:#fff;cursor:pointer}
@media (max-width:1060px){
  .burger{display:grid;place-items:center}
  .bar .btn{display:none}
  .bar nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink);margin:0}
  .bar nav.open{display:block}
  .bar nav ul{flex-direction:column;gap:0;padding:.5rem var(--m) 1.5rem}
  .bar nav a{display:block;padding:.85rem 0;color:#fff;font-size:1.5rem;font-stretch:115%}
}
