:root{
  --bg:#050607;--panel:#090b0e;--text:#f5f7fa;--muted:#a7adb5;
  --red:#f20b18;--green:#46d312;--silver:#aeb4bc;
  --content:1540px;--gap:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;min-width:280px;min-height:100vh;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 10% 42%,rgba(20,230,58,.09),transparent 32%),radial-gradient(circle at 90% 35%,rgba(242,11,24,.13),transparent 34%),linear-gradient(135deg,#020303,#090a0c 48%,#020303)}
body::after{content:"";position:fixed;inset:0;z-index:-2;opacity:.2;background-image:repeating-linear-gradient(120deg,transparent 0 18px,rgba(255,255,255,.028) 18px 19px);pointer-events:none}
a{color:inherit;text-decoration:none}.gateway{min-height:100vh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.hero{padding:clamp(32px,4vw,58px) 22px clamp(24px,2.2vw,32px);text-align:center}
.eyebrow{margin-bottom:12px;color:#d8dbe0;font-size:clamp(.7rem,1vw,.95rem);font-weight:700;font-style:italic;letter-spacing:clamp(.25em,.8vw,.44em)}.eyebrow b{color:var(--red)}
.hero h1{margin:0;font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(2.25rem,5vw,5.6rem);font-weight:900;font-style:italic;line-height:.96;letter-spacing:-.035em;text-transform:uppercase;text-shadow:0 4px 16px rgba(0,0,0,.85)}.hero h1 span{color:var(--red)}
.tricolor{width:min(470px,72vw);height:7px;margin:20px auto 13px;background:linear-gradient(90deg,#16b83d 0 33.33%,#fff 33.33% 66.66%,#ef1724 66.66%);clip-path:polygon(3% 0,100% 0,97% 100%,0 100%)}
.subtitle{margin:0;color:#c2c6cc;font-size:clamp(.68rem,1.05vw,1rem);font-weight:700;font-style:italic;letter-spacing:clamp(.18em,.75vw,.42em);text-transform:uppercase}
.cards{width:min(var(--content),calc(100% - 40px));margin:0 auto 34px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);align-items:stretch}
.portal-card{--accent:var(--red);position:relative;display:grid;grid-template-rows:auto 1fr;min-width:0;overflow:hidden;isolation:isolate;border:1px solid var(--accent);background:linear-gradient(180deg,#0a0c0f,#030405);clip-path:polygon(3.4% 0,96.6% 0,100% 4%,100% 96%,96.6% 100%,3.4% 100%,0 96%,0 4%);box-shadow:0 18px 40px rgba(0,0,0,.46);transition:transform .25s ease,filter .25s ease,box-shadow .25s ease;cursor:pointer}
.portal-card.rc{--accent:var(--green)}.portal-card.print{--accent:#9ca1a8}
.portal-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 13%,transparent),transparent 35%),linear-gradient(180deg,transparent 0 37%,rgba(0,0,0,.58) 54%,#050607 73%)}
.portal-card:hover,.portal-card:focus-visible{transform:translateY(-6px);filter:brightness(1.07);box-shadow:0 22px 48px rgba(0,0,0,.58),0 0 20px color-mix(in srgb,var(--accent) 18%,transparent);outline:none}
.card-media{height:clamp(215px,17vw,270px);background-size:cover;background-position:center;position:relative}.card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,#060708 100%)}
.number{position:absolute;top:15px;left:21px;z-index:3;color:color-mix(in srgb,var(--accent) 52%,#101216);font:italic 900 clamp(3.2rem,4.2vw,4rem)/1 Impact,sans-serif;text-shadow:0 0 14px rgba(0,0,0,.85)}
.card-body{display:flex;flex-direction:column;min-width:0;padding:0 clamp(18px,1.8vw,28px) 24px;margin-top:-8px;text-align:center}
.brand-logo-frame{height:104px;display:flex;align-items:center;justify-content:center;padding:9px 10px 5px}
.brand-logo-frame img{display:block;width:auto;height:auto;max-width:91%;max-height:82px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.55))}
.description{min-height:46px;margin:11px auto 15px;display:flex;align-items:center;justify-content:center;color:#d8dbe0;font-size:.8rem;font-weight:700;line-height:1.45;letter-spacing:.055em;text-transform:uppercase}
.features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:4px 0 22px}.feature{min-width:0;color:#e5e7ea;font-size:.62rem;font-weight:700;text-transform:uppercase;overflow-wrap:anywhere}.icon{width:44px;height:34px;margin:0 auto 7px;border:1px solid var(--accent);display:grid;place-items:center;color:var(--accent);font-size:1.08rem;clip-path:polygon(20% 0,80% 0,100% 50%,80% 100%,20% 100%,0 50%)}
.cta{margin-top:auto;min-height:49px;display:flex;align-items:center;justify-content:center;gap:15px;padding:8px 20px;border:1px solid color-mix(in srgb,var(--accent) 72%,white);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,white 7%),color-mix(in srgb,var(--accent) 70%,black));box-shadow:0 0 20px color-mix(in srgb,var(--accent) 28%,transparent);clip-path:polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%);font-size:.96rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.cta i{font-size:1.65rem;font-style:normal;line-height:0}
.values{margin-top:auto;border-top:1px solid #25282d;border-bottom:1px solid #25282d;background:rgba(7,8,10,.94)}.values-inner{width:min(1260px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:repeat(3,1fr)}.value{min-width:0;padding:22px 28px;display:flex;align-items:center;justify-content:center;gap:17px;border-right:1px solid #292c31}.value:last-child{border:0}.value-icon{flex:0 0 auto;font-size:2.1rem}.value b{display:block;font-size:.86rem;letter-spacing:.075em;text-transform:uppercase}.value span{display:block;margin-top:5px;color:#9da3aa;font-size:.76rem}
footer{padding:24px 20px max(30px,env(safe-area-inset-bottom));text-align:center;color:#7f858c;font-size:.74rem}.footer-word{margin-bottom:11px;color:#aeb3ba;font-size:.95rem;font-weight:700;font-style:italic;letter-spacing:.5em}.footer-word b{color:var(--red)}
/* Notebook e tablet orizzontale: due colonne, terza centrata */
@media (max-width:1180px){.cards{max-width:960px;grid-template-columns:repeat(2,minmax(0,1fr))}.portal-card.print{grid-column:1/-1;width:calc(50% - var(--gap)/2);justify-self:center}.card-media{height:255px}.values-inner{grid-template-columns:1fr}.value{border-right:0;border-bottom:1px solid #292c31}.value:last-child{border-bottom:0}}
/* Tablet verticale */
@media (max-width:820px){.cards{max-width:720px;grid-template-columns:1fr;gap:15px}.portal-card.print{grid-column:auto;width:auto;justify-self:stretch}.card-media{height:clamp(225px,48vw,310px)}.brand-logo-frame{height:98px}.brand-logo-frame img{max-height:78px;max-width:88%}.features{gap:10px}.value{justify-content:flex-start;padding-inline:clamp(24px,8vw,70px)}}
/* Smartphone */
@media (max-width:560px){.hero{padding:32px 14px 22px}.hero h1{font-size:clamp(2rem,12vw,3.1rem)}.cards{width:calc(100% - 18px);gap:12px}.portal-card{clip-path:polygon(4% 0,96% 0,100% 2%,100% 98%,96% 100%,4% 100%,0 98%,0 2%)}.card-media{height:clamp(190px,55vw,260px)}.number{top:12px;left:15px;font-size:3.1rem}.card-body{padding:0 15px 19px}.brand-logo-frame{height:84px;padding:7px 8px 3px}.brand-logo-frame img{max-height:66px;max-width:88%}.description{min-height:auto;margin:8px auto 14px;font-size:.72rem}.features{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;margin-bottom:20px}.feature{font-size:.61rem}.icon{width:42px;height:32px}.cta{min-height:46px;font-size:.86rem;gap:11px}.values-inner{width:100%}.value{padding:18px 20px}.value b{font-size:.78rem}.value span{font-size:.7rem}.footer-word{font-size:.84rem;letter-spacing:.35em}}
/* Smartphone molto piccoli */
@media (max-width:360px){.eyebrow{letter-spacing:.2em}.subtitle{letter-spacing:.14em}.card-media{height:180px}.brand-logo-frame{height:77px}.brand-logo-frame img{max-height:60px}.cta{font-size:.78rem;letter-spacing:.055em;padding-inline:12px}}
/* Smartphone orizzontale */
@media (max-height:520px) and (orientation:landscape) and (min-width:600px){.hero{padding:22px 18px 18px}.cards{grid-template-columns:repeat(3,minmax(0,1fr));width:calc(100% - 20px);gap:10px}.portal-card.print{grid-column:auto;width:auto}.card-media{height:150px}.number{font-size:2.8rem}.brand-logo-frame{height:68px}.brand-logo-frame img{max-height:54px}.description{min-height:38px;margin:5px auto 9px;font-size:.63rem}.features{grid-template-columns:repeat(2,1fr);margin-bottom:12px}.feature{font-size:.54rem}.icon{width:34px;height:27px;margin-bottom:4px}.cta{min-height:40px;font-size:.72rem;padding:5px 8px}.values{display:none}}
@media (hover:none){.portal-card:hover{transform:none;filter:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portal-card{transition:none}}
