/* Pagina identitaria: l'origine artigianale e originale del sito. */
.site-origin-hero { position: relative; isolation: isolate; min-height: 35rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: end; padding: clamp(4.5rem, 9vw, 8rem) max(1.25rem, calc((100vw - 1152px) / 2)) clamp(3rem, 6vw, 5.5rem); overflow: hidden; background: radial-gradient(circle at 79% 33%, rgba(29, 221, 255, .2), transparent 20rem), radial-gradient(circle at 23% 82%, rgba(116, 80, 255, .2), transparent 25rem), #061225; }
.site-origin-hero::after { content: "01 // ORIGINAL"; position: absolute; z-index: -1; left: -1.1rem; bottom: -1.4rem; color: rgba(103, 224, 255, .08); font: 800 clamp(4.2rem, 13vw, 11rem)/.8 "Sora", sans-serif; letter-spacing: -.08em; white-space: nowrap; }
.site-origin-hero__grid { position: absolute; inset: 0; z-index: -2; opacity: .37; background-image: linear-gradient(rgba(53, 213, 255, .11) 1px, transparent 1px), linear-gradient(90deg, rgba(53, 213, 255, .11) 1px, transparent 1px); background-size: 2.4rem 2.4rem; mask-image: linear-gradient(to bottom, black, transparent 90%); }
.site-origin-hero__content { max-width: 48rem; }
.site-origin-hero h1 { margin: .6rem 0 1.25rem; color: #fff; font: 800 clamp(2.5rem, 6vw, 5.15rem)/.98 "Sora", sans-serif; letter-spacing: -.065em; }
.site-origin-hero h1 span { color: #63e9ff; text-shadow: 0 0 2.1rem rgba(35, 209, 255, .37); }
.site-origin-hero .lead { max-width: 43rem; }
.site-origin-hero__chips { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.6rem; }
.site-origin-hero__chips span { padding: .48rem .65rem; border: 1px solid rgba(96, 235, 255, .33); border-radius: 99rem; color: #c9f8ff; background: rgba(3, 143, 196, .12); font: 700 .64rem/1 "Sora", sans-serif; letter-spacing: .08em; }
.site-origin-hero__signature { display: grid; gap: .55rem; min-width: 12rem; padding: 1.35rem; border: 1px solid rgba(103, 226, 255, .32); border-radius: 1.05rem; background: rgba(3, 20, 46, .72); box-shadow: 0 1.2rem 4rem rgba(0, 0, 0, .28); }
.site-origin-hero__signature span { color: #64eaff; font: 700 .72rem "Sora", sans-serif; letter-spacing: .12em; }
.site-origin-hero__signature strong { color: #fff; font: 800 1.2rem/1.05 "Sora", sans-serif; letter-spacing: .03em; }
.site-origin-hero__signature small { color: #9bb0cc; font: 700 .6rem "Sora", sans-serif; letter-spacing: .1em; }
.site-origin-principles__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.site-origin-principles__grid article { padding: 1.55rem; border: 1px solid rgba(89, 183, 255, .21); border-radius: 1rem; background: linear-gradient(145deg, #0a1e3e, #07152d); }
.site-origin-principles__grid span { color: #66e9ff; font: 800 .76rem "Sora", sans-serif; letter-spacing: .1em; }
.site-origin-principles__grid h3 { margin: .85rem 0 .7rem; color: #fff; font: 700 1.25rem "Sora", sans-serif; }
.site-origin-principles__grid p, .site-origin-rights p, .site-origin-support p { color: #b5c6dc; line-height: 1.65; }
.site-origin-rights { display: grid; grid-template-columns: minmax(0, 2fr) minmax(15rem, .8fr); gap: 2.5rem; align-items: center; padding: clamp(2rem, 5vw, 5rem) max(1.25rem, calc((100vw - 1152px) / 2)); background: linear-gradient(112deg, #081c39, #112f62); }
.site-origin-rights h2, .site-origin-support h2 { margin: .65rem 0 1rem; color: #fff; font: 800 clamp(1.8rem, 3.6vw, 3.1rem)/1.08 "Sora", sans-serif; letter-spacing: -.045em; }
.site-origin-rights aside { padding: 1.4rem; border-left: 2px solid #63e9ff; background: rgba(1, 10, 31, .27); }
.site-origin-rights aside span { color: #66eaff; font: 800 2.4rem/1 "Sora", sans-serif; }
.site-origin-rights aside p { margin-bottom: 0; font-weight: 600; }
.site-origin-support { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(1.5rem, 5vw, 5rem); align-items: center; max-width: none; padding: clamp(3rem, 7vw, 6rem) max(1.25rem, calc((100vw - 1152px) / 2)); background: radial-gradient(circle at 82% 45%, rgba(155, 91, 255, .17), transparent 18rem), #061225; }
.site-origin-support .button { margin-top: .85rem; }
.site-origin-support__promise { position: relative; padding: 1.65rem; border: 1px solid rgba(194, 124, 255, .34); border-radius: 1.1rem; background: linear-gradient(145deg, rgba(33, 17, 76, .76), rgba(10, 26, 61, .86)); overflow: hidden; }
.site-origin-support__promise > span { position: absolute; right: .55rem; top: .3rem; color: rgba(208, 135, 255, .15); font: 800 4.4rem/1 "Sora", sans-serif; }
.site-origin-support__promise h3 { position: relative; margin: 0 0 .55rem; color: #f6efff; font: 700 1.35rem "Sora", sans-serif; }
.site-origin-support__promise p { position: relative; font-size: .95rem; }
.site-origin-support__promise small { display: block; padding-top: .8rem; border-top: 1px solid rgba(255,255,255,.1); color: #e2baff; font-weight: 700; }
.site-origin-teaser { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1.3rem; align-items: center; border-top: 1px solid rgba(94, 225, 255, .2); border-bottom: 1px solid rgba(126, 103, 255, .25); background: linear-gradient(108deg, #081d38, #0c2351 54%, #10153c); }
.site-origin-teaser__mark { display: grid; width: 4rem; height: 4rem; place-items: center; border: 1px solid rgba(96, 234, 255, .55); border-radius: 1rem; color: #6beeff; background: rgba(41, 183, 255, .1); box-shadow: 0 0 2rem rgba(31, 215, 255, .12); font: 800 1rem "Sora", sans-serif; }
.site-origin-teaser h2 { margin: .3rem 0; color: #fff; font: 700 clamp(1.3rem, 3vw, 2rem) "Sora", sans-serif; }
.site-origin-teaser p:not(.eyebrow) { max-width: 40rem; margin: 0; color: #b6c8df; }
@media (max-width: 780px) { .site-origin-hero, .site-origin-support { grid-template-columns: 1fr; } .site-origin-hero__signature { width: fit-content; } .site-origin-principles__grid { grid-template-columns: 1fr; } .site-origin-rights { grid-template-columns: 1fr; } .site-origin-teaser { grid-template-columns: auto 1fr; } .site-origin-teaser .button { grid-column: 1 / -1; justify-self: start; } }
@media (max-width: 450px) { .site-origin-hero { min-height: auto; } .site-origin-teaser__mark { width: 3.2rem; height: 3.2rem; } }
@media (min-width: 1101px) { .nav-wrap { gap: .8rem; } .main-nav { flex: 1; justify-content: center; gap: .7rem; } .main-nav a { flex-shrink: 0; font-size: .78rem; white-space: nowrap; } .social-links--header { flex-shrink: 0; } .social-links--header .social-link { width: 28px; height: 28px; font-size: .9rem; } }
@media (min-width: 801px) and (max-width: 1100px) { .main-nav { position: absolute; top: 72px; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; padding: 16px 24px; background: #071426; border-bottom: 1px solid var(--line); } .main-nav.open { display: flex; } .main-nav a { padding: 8px 0; } .menu-toggle { display: block; } }
