:root {
  --night: #030303;
  --panel: #0b0b0f;
  --panel-soft: #111118;
  --white: #ffffff;
  --muted: #b9bac3;
  --blue: #159cff;
  --gold: #ffd21c;
  --orange: #ff8a00;
  --purple: #b52cff;
  --line: rgba(255, 255, 255, .14);
  --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 10% 15%, rgba(0, 140, 255, .12), transparent 26rem),
    radial-gradient(circle at 92% 35%, rgba(157, 0, 255, .12), transparent 30rem),
    var(--night);
  color: var(--white);
  font-family: Arial, Helvetica, sans-serif;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }

.site-nav {
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 5vw;
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(3, 3, 3, .74);
  backdrop-filter: blur(18px);
}
.brand { display: flex; align-items: center; gap: 12px; font-weight: 800; }
.nav-logo { width: 54px; height: 54px; object-fit: cover; border-radius: 50%; filter: drop-shadow(0 0 10px rgba(255, 108, 0, .35)); }
.brand-mark {
  font-size: 32px;
  line-height: 1;
  letter-spacing: -.12em;
  padding-right: .1em;
  background: linear-gradient(100deg, var(--blue), #fff 36%, var(--gold) 62%, var(--purple));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0 12px rgba(255, 138, 0, .2));
}
.brand-copy { font-size: 9px; line-height: 1.1; text-transform: uppercase; letter-spacing: .08em; border-left: 1px solid rgba(255,255,255,.5); padding-left: 10px; color: #ddd; }
.nav-links { display: flex; gap: 34px; font-size: 13px; font-weight: 700; color: #d4d4d8; }
.nav-links a { transition: color .25s, text-shadow .25s; }
.nav-links a:hover { color: white; text-shadow: 0 0 14px var(--blue); }
.nav-cta, .contact-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 19px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: linear-gradient(100deg, rgba(21,156,255,.2), rgba(181,44,255,.2));
  box-shadow: 0 0 24px rgba(21,156,255,.12);
  font-size: 12px;
  font-weight: 800;
  transition: transform .25s, box-shadow .25s;
}
.nav-cta:hover, .contact-button:hover { transform: translateY(-2px); box-shadow: 0 0 30px rgba(181,44,255,.32); }
.menu-button { display: none; color: white; border: 0; background: transparent; }

.hero {
  min-height: calc(100vh - 88px);
  padding: clamp(75px, 10vw, 140px) 5vw 72px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-bottom: 1px solid var(--line);
}
.hero::before, .hero::after { content: ''; position: absolute; border-radius: 50%; filter: blur(110px); pointer-events: none; animation: floatGlow 9s ease-in-out infinite alternate; }
.hero::before { width: 520px; height: 520px; background: var(--blue); opacity: .15; left: -280px; top: -160px; }
.hero::after { width: 600px; height: 600px; background: var(--purple); opacity: .14; right: -300px; bottom: -260px; animation-delay: -3s; }
@keyframes floatGlow { to { transform: translate(70px, 35px); } }
.hero-kicker, .eyebrow { display: flex; align-items: center; gap: 9px; text-transform: uppercase; font-weight: 800; font-size: 11px; letter-spacing: .2em; color: #dedee5; }
.hero-kicker::after, .eyebrow::after { content: ''; width: 90px; height: 1px; background: linear-gradient(90deg, var(--blue), var(--gold), var(--purple)); box-shadow: 0 0 12px rgba(255,138,0,.5); }
.hero h1, .section h2, .contact h2 {
  margin: 34px 0;
  font-size: clamp(68px, 9.3vw, 142px);
  line-height: .82;
  letter-spacing: -.075em;
  text-transform: uppercase;
  max-width: 1100px;
  position: relative;
  z-index: 2;
}
em {
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  background: linear-gradient(100deg, var(--blue) 0%, #fff 24%, var(--gold) 48%, var(--orange) 62%, #fff 78%, var(--purple) 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: gradientText 6s linear infinite;
  filter: drop-shadow(0 0 15px rgba(255,138,0,.16));
}
@keyframes gradientText { to { background-position: 200% center; } }
.hero-bottom { display: flex; align-items: flex-end; justify-content: space-between; width: 52%; margin-top: 54px; position: relative; z-index: 3; }
.hero-bottom p { max-width: 470px; font-size: 18px; line-height: 1.65; margin: 0; color: var(--muted); }
.round-link { width: 68px; height: 68px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.035); box-shadow: 0 0 22px rgba(21,156,255,.12); transition: .25s; }
.round-link:hover { border-color: var(--gold); box-shadow: 0 0 25px rgba(255,210,28,.34); transform: rotate(-12deg); }
.hero-art { position: absolute; width: min(47vw, 640px); aspect-ratio: 1; right: 1vw; bottom: 1px; z-index: 1; display: grid; place-items: center; }
.hero-art img { width: 100%; height: 100%; object-fit: contain; position: relative; z-index: 2; filter: drop-shadow(0 0 24px rgba(255, 94, 0, .28)) drop-shadow(0 0 50px rgba(181,44,255,.14)); animation: logoFloat 5s ease-in-out infinite alternate; }
.logo-aura { position: absolute; width: 72%; height: 72%; border-radius: 50%; background: radial-gradient(circle, rgba(255,110,0,.28), rgba(181,44,255,.12) 45%, transparent 70%); filter: blur(36px); z-index: 1; }
@keyframes logoFloat { to { transform: translateY(-10px) scale(1.012); } }
.sheet { position: absolute; width: 270px; height: 370px; display: grid; place-items: center; font-size: 210px; font-weight: 900; letter-spacing: -.15em; overflow: hidden; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.035); backdrop-filter: blur(12px); box-shadow: 0 20px 70px rgba(0,0,0,.55), inset 0 0 42px rgba(255,255,255,.03); }
.sheet-one { color: var(--blue); left: 0; top: 70px; transform: rotate(-9deg); text-shadow: 0 0 30px rgba(21,156,255,.55); }
.sheet-two { color: var(--gold); left: 170px; top: 15px; transform: rotate(5deg); text-shadow: 0 0 30px rgba(255,210,28,.45); }
.sheet-three { color: var(--purple); left: 340px; top: 80px; transform: rotate(13deg); text-shadow: 0 0 30px rgba(181,44,255,.55); }
.crop { position: absolute; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; width: 230px; height: 230px; box-shadow: 0 0 25px rgba(21,156,255,.1); }
.crop-one { left: 60px; top: 20px; }.crop-two { right: 5px; bottom: 5px; }

.marquee { background: linear-gradient(90deg, #06111a, #130717, #171005); color: white; overflow: hidden; padding: 18px 0; border-block: 1px solid var(--line); font-weight: 900; font-size: 16px; letter-spacing: .12em; white-space: nowrap; }
.marquee div { width: max-content; animation: move 18s linear infinite; }.marquee span { color: var(--gold); padding: 0 30px; text-shadow: 0 0 12px var(--orange); }
@keyframes move { to { transform: translateX(-25%); } }

.section { padding: 120px 5vw; position: relative; }
.section-intro h2, .projects-heading h2, .studio-copy h2 { font-size: clamp(48px, 6.5vw, 92px); margin: 28px 0 70px; }
.services { display: grid; grid-template-columns: 42% 1fr; gap: 7vw; background: radial-gradient(circle at 0 55%, rgba(21,156,255,.09), transparent 30rem); }
.services-list { border-top: 1px solid rgba(255,255,255,.35); }
.service-row { display: grid; grid-template-columns: 42px 1fr 1.1fr 30px; align-items: center; gap: 20px; padding: 29px 0; border-bottom: 1px solid var(--line); transition: .25s; }
.service-row:hover { padding-left: 12px; color: var(--gold); background: linear-gradient(90deg, rgba(21,156,255,.06), transparent); }
.service-row h3 { font-size: 22px; margin: 0; }.service-row p { font-size: 14px; line-height: 1.55; margin: 0; color: #a9abb4; }.service-row > span { font-size: 10px; color: var(--blue); }

.projects { background: linear-gradient(180deg, #08080c, #050506); border-block: 1px solid var(--line); }
.projects-heading { display: flex; justify-content: space-between; align-items: end; }.projects-heading p { max-width: 360px; line-height: 1.65; margin-bottom: 70px; color: var(--muted); }
.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }.project-card.raised { transform: translateY(60px); }
.project-visual { height: 460px; position: relative; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.17); background: #09090c; box-shadow: 0 30px 60px rgba(0,0,0,.35); }
.project-visual::before { content: ''; position: absolute; width: 270px; height: 270px; border-radius: 50%; filter: blur(70px); opacity: .34; }
.project-coral::before { background: var(--orange); }.project-blue::before { background: var(--blue); }.project-sand::before { background: var(--purple); }
.project-coral { color: var(--orange); }.project-blue { color: var(--blue); }.project-sand { color: var(--purple); }
.visual-word { position: relative; z-index: 1; font-size: clamp(65px, 8vw, 120px); font-weight: 900; letter-spacing: -.09em; transform: rotate(-90deg); text-shadow: 0 0 25px currentColor; }
.visual-seal { position: absolute; z-index: 2; right: 24px; top: 24px; width: 62px; height: 62px; border: 1px solid currentColor; border-radius: 50%; display: grid; place-items: center; text-align: center; font-size: 10px; font-weight: 800; }
.project-meta { display: grid; grid-template-columns: 70px 1fr 24px; align-items: center; padding-top: 18px; }.project-meta span { font-size: 10px; text-transform: uppercase; letter-spacing: .13em; color: #8f919c; }.project-meta h3 { font-size: 20px; margin: 0; }

.gallery { background: radial-gradient(circle at 85% 20%, rgba(21,156,255,.09), transparent 30rem), #030303; }
.gallery-heading { display: grid; grid-template-columns: 1.4fr .6fr; gap: 5vw; align-items: end; margin-bottom: 55px; }
.gallery-heading .eyebrow { grid-column: 1 / -1; }
.gallery-heading h2 { font-size: clamp(48px, 6.5vw, 92px); margin: 20px 0 0; }
.gallery-heading p { color: var(--muted); line-height: 1.7; max-width: 430px; margin: 0 0 8px; }
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 390px; gap: 16px; }
.gallery-item { position: relative; margin: 0; overflow: hidden; border: 1px solid var(--line); background: var(--panel); }
.gallery-item.gallery-wide { grid-column: span 2; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .55s ease, filter .55s ease; }
.gallery-item::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.88)); pointer-events: none; }
.gallery-item:hover img { transform: scale(1.045); filter: saturate(1.15); }
.gallery-item figcaption { position: absolute; z-index: 2; left: 24px; right: 24px; bottom: 22px; display: flex; flex-direction: column; gap: 6px; }
.gallery-item figcaption span { color: var(--gold); text-transform: uppercase; letter-spacing: .18em; font-size: 10px; font-weight: 800; }
.gallery-item figcaption strong { font-size: 20px; }

.studio { display: grid; grid-template-columns: 1fr 1.15fr; gap: 10vw; align-items: center; background: radial-gradient(circle at 22% 48%, rgba(181,44,255,.1), transparent 28rem); }
.studio-graphic { height: 550px; display: flex; align-items: center; justify-content: center; position: relative; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.035); box-shadow: inset 0 0 70px rgba(181,44,255,.08), 0 25px 60px rgba(0,0,0,.35); }
.studio-graphic svg { color: var(--gold); filter: drop-shadow(0 0 22px rgba(255,210,28,.45)); }
.printer-icon { color: var(--gold); font-size: 72px; filter: drop-shadow(0 0 22px rgba(255,210,28,.45)); }
.studio-graphic::before, .studio-graphic::after { content: ''; position: absolute; border: 1px solid rgba(255,255,255,.19); border-radius: 50%; width: 320px; height: 320px; box-shadow: 0 0 22px rgba(21,156,255,.11); }.studio-graphic::after { width: 450px; height: 450px; border-color: rgba(181,44,255,.25); }
.studio-graphic span { position: absolute; bottom: 28px; text-transform: uppercase; font-size: 11px; font-weight: 800; letter-spacing: .2em; color: #aaa; }
.studio-copy p { font-size: 18px; line-height: 1.7; max-width: 580px; color: var(--muted); }.studio-copy ul { list-style: none; padding: 0; display: flex; gap: 24px; flex-wrap: wrap; margin-top: 35px; }.studio-copy li { display: flex; align-items: center; gap: 7px; font-weight: 700; font-size: 13px; }.studio-copy li svg { color: var(--gold); }

.contact { text-align: center; padding: 120px 5vw 55px; background: radial-gradient(circle at 50% 52%, rgba(255,138,0,.14), transparent 24rem), linear-gradient(135deg, #06111b, #09070d 45%, #140916); border-top: 1px solid var(--line); }
.contact .eyebrow { justify-content: center; }.contact .eyebrow::after { display: none; }.contact h2 { font-size: clamp(72px, 12vw, 170px); margin: 28px auto 44px; }.contact-button { gap: 52px; padding: 19px 25px; font-size: 14px; }
.contact-details { display: flex; justify-content: center; gap: 36px; margin-top: 100px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 13px; color: #aeb0b8; }.contact-details > * { display: flex; align-items: center; gap: 8px; }
footer { background: #020202; color: #a8a8af; min-height: 120px; padding: 30px 5vw; display: flex; align-items: center; justify-content: space-between; font-size: 11px; border-top: 1px solid var(--line); }.footer-brand .brand-copy { border-color: rgba(255,255,255,.5); }

@media (max-width: 900px) {
  .nav-links, .nav-cta { display: none; }.menu-button { display: inline-flex; color: white; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; padding: 10px 14px; border: 1px solid var(--line); border-radius: 999px; }.hero { min-height: 820px; padding-top: 60px; justify-content: flex-start; }.hero h1 { font-size: clamp(58px, 15vw, 100px); }.hero-art { opacity: .72; width: min(82vw, 520px); right: -12vw; bottom: 65px; }.hero-bottom { width: 100%; margin-top: 310px; }.hero-bottom p { font-size: 16px; max-width: 330px; }.services { grid-template-columns: 1fr; }.section { padding: 85px 6vw; }.service-row { grid-template-columns: 35px 1fr 24px; }.service-row p { display: none; }.projects-heading { display: block; }.projects-heading p { margin: 0 0 40px; }.project-grid { grid-template-columns: 1fr; }.project-card.raised { transform: none; }.project-visual { height: 360px; }.gallery-heading { grid-template-columns: 1fr; }.gallery-heading .eyebrow { grid-column: auto; }.gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 330px; }.gallery-item.gallery-wide { grid-column: span 2; }.studio { grid-template-columns: 1fr; }.studio-graphic { height: 380px; }.contact-details { flex-direction: column; align-items: center; gap: 14px; margin-top: 70px; } footer { gap: 30px; flex-wrap: wrap; }
}
@media (max-width: 520px) {
  .site-nav { height: 72px; padding-inline: 16px; }.nav-logo { width: 42px; height: 42px; }.brand-copy { font-size: 7px; }.menu-button { padding: 9px 11px; font-size: 9px; }.hero { min-height: 760px; padding: 42px 20px 54px; }.hero h1 { font-size: clamp(48px, 14.5vw, 74px); line-height: .88; margin-top: 28px; }.hero-bottom { align-items: center; margin-top: 278px; gap: 18px; }.hero-bottom p { font-size: 15px; line-height: 1.55; }.hero-art { width: 98vw; right: -24vw; bottom: 98px; }.round-link { width: 52px; height: 52px; flex: 0 0 auto; }.section { padding: 70px 20px; }.projects-heading h2, .section-intro h2, .studio-copy h2, .gallery-heading h2 { font-size: 42px; line-height: .9; }.service-row h3 { font-size: 18px; }.project-meta { grid-template-columns: 60px 1fr 20px; }.gallery-heading { margin-bottom: 34px; }.gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 285px; }.gallery-item.gallery-wide { grid-column: auto; }.studio-graphic { height: 330px; }.studio-graphic::after { width: 285px; height: 285px; }.studio-graphic::before { width: 205px; height: 205px; }.contact { padding: 80px 20px 42px; }.contact h2 { font-size: 62px; }.contact-button { width: 100%; justify-content: space-between; }.contact-details { font-size: 12px; word-break: break-word; } footer { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.marquee div, em, .hero::before, .hero::after, .hero-art img { animation: none; } }

.quick-contact { display:grid; grid-template-columns:repeat(3,1fr); padding:0 5vw; border-bottom:1px solid var(--line); background:#070709; }
.quick-contact a { display:flex; flex-direction:column; gap:7px; padding:24px 28px; border-right:1px solid var(--line); transition:background .25s; }
.quick-contact a:first-child { border-left:1px solid var(--line); }
.quick-contact a:hover { background:linear-gradient(120deg,rgba(21,156,255,.1),rgba(181,44,255,.08)); }
.quick-contact small { color:var(--gold); text-transform:uppercase; letter-spacing:.18em; font-size:9px; font-weight:800; }
.quick-contact strong { font-size:14px; overflow-wrap:anywhere; }
@media (max-width:900px) {
  .quick-contact { grid-template-columns:1fr; padding:0 6vw; }
  .quick-contact a,.quick-contact a:first-child { border-left:0; border-right:0; border-bottom:1px solid var(--line); padding:18px 4px; }
}
@media (max-width:520px) {
  .quick-contact { padding-inline:20px; }
  .quick-contact strong { font-size:13px; }
  .contact { overflow:hidden; }
  .contact h2 { font-size:50px; line-height:.92; letter-spacing:-.06em; }
}

/* Hero riequilibrata: headline compatta e logo integrato */
.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  grid-template-rows: auto auto auto;
  align-content: center;
  column-gap: clamp(32px, 5vw, 88px);
  min-height: calc(100vh - 88px);
  padding: clamp(64px, 7vw, 104px) 5vw;
}
.hero-kicker { grid-column: 1; position: relative; z-index: 3; }
.hero h1 {
  grid-column: 1;
  margin: clamp(24px, 3vw, 40px) 0 0;
  max-width: 900px;
  font-size: clamp(52px, 5.25vw, 88px);
  line-height: .94;
  letter-spacing: -.055em;
  position: relative;
  z-index: 3;
}
.hero-bottom {
  grid-column: 1;
  width: 100%;
  margin-top: clamp(34px, 4vw, 58px);
}
.hero-art {
  grid-column: 2;
  grid-row: 1 / 4;
  position: relative;
  inset: auto;
  width: min(100%, 640px);
  justify-self: center;
  align-self: center;
}
.hero-art::after {
  content: '';
  position: absolute;
  inset: 7%;
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 28px 90px rgba(0,0,0,.58), 0 0 80px rgba(255,91,0,.12);
  z-index: 0;
}
.hero-art img {
  -webkit-mask-image: radial-gradient(ellipse 68% 70% at center, #000 54%, transparent 96%);
  mask-image: radial-gradient(ellipse 68% 70% at center, #000 54%, transparent 96%);
}
@media (max-width: 900px) {
  .hero {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    min-height: auto;
    padding: 58px 6vw 70px;
    row-gap: 0;
  }
  .hero-kicker, .hero h1, .hero-bottom, .hero-art { grid-column: 1; }
  .hero h1 { font-size: clamp(48px, 10.5vw, 82px); max-width: 760px; }
  .hero-art {
    grid-row: 3;
    width: min(78vw, 560px);
    margin: 22px auto 0;
    opacity: 1;
  }
  .hero-bottom { grid-row: 4; margin-top: 18px; }
}
@media (max-width: 520px) {
  .hero { min-height: auto; padding: 40px 20px 54px; }
  .hero h1 { font-size: clamp(42px, 12vw, 62px); line-height: .96; margin-top: 24px; }
  .hero-art { width: min(94vw, 440px); margin-top: 12px; }
  .hero-bottom { margin-top: 12px; }
}
@media (max-width: 520px) { .hero h1 { font-size: clamp(38px, 10.4vw, 52px); letter-spacing: -.045em; } }

/* Sezioni aziendali */
.about{display:grid;grid-template-columns:1.05fr .75fr;gap:5vw 8vw;background:linear-gradient(145deg,rgba(21,156,255,.07),transparent 38%),#070709;border-bottom:1px solid var(--line)}
.about-heading h2,.process-heading h2{font-size:clamp(48px,6.5vw,92px);line-height:.9;letter-spacing:-.065em;text-transform:uppercase;margin:28px 0 0}
.about-copy{align-self:end;padding-bottom:8px}.about-copy p{color:var(--muted);font-size:16px;line-height:1.75}.about-copy .about-lead{color:#fff;font-size:clamp(20px,2vw,28px);line-height:1.35;letter-spacing:-.025em}
.text-link{display:inline-flex;gap:24px;align-items:center;margin-top:18px;padding-bottom:8px;border-bottom:1px solid var(--gold);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.value-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.value-grid article{padding:32px 30px 8px 0;border-right:1px solid var(--line)}.value-grid article+article{padding-left:30px}.value-grid article:last-child{border-right:0}.value-grid span,.process-list>article>span{color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.15em}.value-grid h3{font-size:23px;margin:18px 0 9px}.value-grid p{color:var(--muted);line-height:1.6;max-width:330px;font-size:14px}
.process{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;background:radial-gradient(circle at 90% 80%,rgba(255,138,0,.09),transparent 30rem),#08080b;border-top:1px solid var(--line)}.process-list{border-top:1px solid rgba(255,255,255,.35)}.process-list article{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid var(--line)}.process-list h3{margin:0 0 8px;font-size:22px}.process-list p{color:var(--muted);margin:0;line-height:1.55;font-size:14px}.gallery-empty{grid-column:1/-1;padding:70px;border:1px dashed var(--line);text-align:center;color:var(--muted)}
@media(max-width:900px){.about,.process{grid-template-columns:1fr}.about-copy{max-width:680px}.value-grid{margin-top:20px}}
@media(max-width:620px){.about-heading h2,.process-heading h2{font-size:42px}.value-grid{grid-template-columns:1fr}.value-grid article,.value-grid article+article{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.process-list article{grid-template-columns:38px 1fr}}
/* Sito multipagina */
.nav-links a.active{color:#fff;position:relative}.nav-links a.active::after{content:'';position:absolute;left:0;right:0;bottom:-12px;height:2px;background:linear-gradient(90deg,var(--blue),var(--gold),var(--purple))}.mobile-menu{display:none;position:relative}.mobile-menu summary{list-style:none;cursor:pointer;padding:10px 14px;border:1px solid var(--line);border-radius:999px;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:.12em}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu>div{position:absolute;right:0;top:48px;width:210px;padding:10px;background:#0b0b0f;border:1px solid var(--line);border-radius:14px;box-shadow:0 25px 60px rgba(0,0,0,.55)}.mobile-menu>div a{display:block;padding:13px 12px;border-bottom:1px solid var(--line);font-size:13px;font-weight:800}.mobile-menu>div a:last-child{border-bottom:0;color:var(--gold)}
.page-hero{min-height:560px;padding:110px 5vw 90px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 12% 35%,rgba(21,156,255,.13),transparent 28rem),radial-gradient(circle at 90% 70%,rgba(181,44,255,.13),transparent 30rem),#050506;border-bottom:1px solid var(--line);overflow:hidden}.page-hero h1{font-size:clamp(64px,9vw,132px);line-height:.84;letter-spacing:-.075em;text-transform:uppercase;margin:32px 0;max-width:1200px}.page-hero>p{max-width:650px;color:var(--muted);font-size:19px;line-height:1.65}.home-about,.about-page{display:grid;grid-template-columns:1.05fr .75fr;gap:9vw;align-items:end;background:#070709}.home-about h2,.about-page h2{font-size:clamp(48px,6.5vw,92px);line-height:.9;letter-spacing:-.065em;text-transform:uppercase;margin:28px 0 0}.home-about .lead,.editorial-copy .lead{color:#fff;font-size:clamp(21px,2vw,29px);line-height:1.38;letter-spacing:-.025em}.home-about p,.editorial-copy p{color:var(--muted);font-size:16px;line-height:1.75}.values-section{background:radial-gradient(circle at 90% 10%,rgba(181,44,255,.09),transparent 30rem),#050506}.values-section .value-grid{margin-top:20px}.service-catalog{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);padding:1px}.service-catalog>article{display:grid;grid-template-columns:56px 1fr;gap:20px;background:#08080b;padding:clamp(42px,6vw,78px)}.service-catalog>article>span{font-size:11px;color:var(--blue);font-weight:900}.service-catalog h2{font-size:clamp(30px,4vw,52px);line-height:.95;margin:0 0 22px;text-transform:uppercase;letter-spacing:-.05em}.service-catalog p{color:var(--muted);line-height:1.7;max-width:560px}.service-catalog ul{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:11px}.service-catalog li::before{content:'✓';color:var(--gold);margin-right:10px}.gallery-page{padding-top:105px}.section-action{text-align:center;margin-top:55px}.page-cta{text-align:center;padding:110px 5vw;background:radial-gradient(circle at 50% 60%,rgba(255,138,0,.12),transparent 24rem),#070709;border-top:1px solid var(--line)}.page-cta .eyebrow{justify-content:center}.page-cta .eyebrow::after{display:none}.page-cta h2{font-size:clamp(64px,10vw,140px);line-height:.84;letter-spacing:-.075em;text-transform:uppercase;margin:25px auto 42px}.contact-page{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;background:#070709}.contact-card{min-height:340px;padding:34px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.035),transparent);display:flex;flex-direction:column}.contact-card>span{color:var(--blue);font-size:10px;font-weight:900}.contact-card small{text-transform:uppercase;color:var(--gold);letter-spacing:.18em;font-weight:900;margin:60px 0 16px}.contact-card a{font-size:clamp(19px,2vw,28px);font-weight:800;overflow-wrap:anywhere}.contact-card p{color:var(--muted);line-height:1.6;margin-top:auto}.action-contact{border-top:0}footer nav{display:flex;gap:20px}footer nav a:hover{color:#fff}
@media(max-width:1000px){.page-hero{min-height:480px;padding-top:90px}.home-about,.about-page{grid-template-columns:1fr}.service-catalog{grid-template-columns:1fr}.contact-page{grid-template-columns:1fr 1fr}.nav-links{gap:20px}}
@media(max-width:900px){.mobile-menu{display:block}.menu-button{display:none}.site-nav .nav-links,.site-nav .nav-cta{display:none}.page-hero{padding:75px 6vw}.page-hero h1{font-size:clamp(55px,12vw,90px)}footer nav{width:100%;order:3;flex-wrap:wrap}}
@media(max-width:620px){.page-hero{min-height:410px;padding:65px 20px}.page-hero h1{font-size:clamp(44px,12vw,62px);line-height:.9}.page-hero>p{font-size:16px}.home-about h2,.about-page h2{font-size:42px}.service-catalog>article{grid-template-columns:36px 1fr;padding:40px 20px}.contact-page{grid-template-columns:1fr}.contact-card{min-height:290px}.page-cta{padding:80px 20px}.page-cta h2{font-size:52px}footer nav{gap:14px}}
/* Navigazione completa */
.site-nav{gap:clamp(18px,3vw,48px)}.nav-links{margin-left:auto;gap:clamp(16px,2.1vw,34px);align-items:center;white-space:nowrap}.nav-links .admin-link{padding:10px 15px;border:1px solid rgba(255,210,28,.35);border-radius:999px;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.nav-links .admin-link:hover{border-color:var(--gold);box-shadow:0 0 20px rgba(255,138,0,.16)}
@media(max-width:1180px){.site-nav{padding-inline:3vw}.brand-copy{display:none}.nav-links{gap:18px}}
@media(max-width:900px){.brand-copy{display:block}.mobile-menu .admin-link{color:var(--gold)}}
/* PWA, WhatsApp e contatti aggiornati */
.install-button{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:10px 14px;border:1px solid rgba(21,156,255,.4);border-radius:999px;background:rgba(21,156,255,.09);color:#fff;font:800 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:.25s}.install-button:hover,.install-button.install-ready{border-color:var(--blue);box-shadow:0 0 20px rgba(21,156,255,.2);background:rgba(21,156,255,.16)}.install-mobile{width:100%;padding:14px 12px;border:0;background:transparent;color:var(--blue);font-weight:900;text-align:left;cursor:pointer}.quick-contact-four{grid-template-columns:repeat(4,1fr)}.quick-contact-four a:first-child small,.quick-contact-four a:nth-child(2) small{color:#4ade80}.contact-page-four{grid-template-columns:repeat(2,1fr)}.whatsapp-card{border-color:rgba(74,222,128,.24)}.whatsapp-button{display:inline-flex!important;width:max-content;margin-top:18px;padding:10px 14px;border:1px solid rgba(74,222,128,.42);border-radius:999px;color:#8cf2af!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.08em}.contact-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
@media(max-width:1180px){.install-desktop{font-size:0;width:42px;height:42px;padding:0;justify-content:center}.install-desktop span{font-size:15px}.quick-contact-four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.install-desktop{display:none}.quick-contact-four{grid-template-columns:1fr}}
@media(max-width:620px){.contact-page-four{grid-template-columns:1fr}}
/* Collegamento Maps separato dall'indirizzo */
.quick-address{display:flex;flex-direction:column;gap:7px;padding:24px 28px;border-right:1px solid var(--line)}.quick-address small{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:9px;font-weight:800}.quick-address strong{font-size:14px}.quick-address a{display:inline-block;padding:5px 0 2px;border:0;color:#8ecfff;font-size:11px;font-weight:800;text-decoration:underline;text-underline-offset:4px}.quick-address a:hover{background:none;color:#fff}.contact-address{font-size:clamp(19px,2vw,28px);font-weight:800}.map-button{display:inline-flex!important;width:max-content;margin-top:18px;padding:10px 14px;border:1px solid rgba(21,156,255,.45);border-radius:999px;color:#9bd6ff!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:900px){.quick-address{padding:18px 4px;border-right:0;border-bottom:1px solid var(--line)}}
/* Modulo richieste e preventivi */
.form-jump-button{display:inline-flex!important;margin-top:18px;padding:10px 14px;border:1px solid rgba(255,210,28,.42);border-radius:14px;color:#ffe87b!important;font-size:11px!important;line-height:1.4;text-transform:uppercase;letter-spacing:.04em}.quote-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:start;background:radial-gradient(circle at 5% 15%,rgba(21,156,255,.11),transparent 30rem),#070709;border-top:1px solid var(--line)}.quote-intro{position:sticky;top:125px}.quote-intro h2{font-size:clamp(48px,6vw,82px);line-height:.9;letter-spacing:-.065em;text-transform:uppercase;margin:28px 0}.quote-intro>p{color:var(--muted);line-height:1.7;max-width:520px}.upload-note{margin-top:34px;padding:18px;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:7px}.upload-note strong{color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.upload-note span{color:var(--muted);font-size:12px;line-height:1.5}.quote-panel{padding:clamp(22px,3vw,38px);border:1px solid var(--line);border-radius:20px;background:rgba(15,15,19,.94);box-shadow:0 30px 80px rgba(0,0,0,.32)}.quote-form{display:grid;gap:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote-form label{display:flex;flex-direction:column;gap:8px;color:#d8d9df;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.quote-form input,.quote-form select,.quote-form textarea{width:100%;padding:14px 15px;border:1px solid rgba(255,255,255,.17);border-radius:9px;background:#070708;color:#fff;font:500 14px Arial,sans-serif;text-transform:none;letter-spacing:0}.quote-form textarea{resize:vertical;line-height:1.55}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:2px solid rgba(21,156,255,.3);border-color:var(--blue)}.quote-form select option{background:#0b0b0f}.file-upload{position:relative;padding:25px;border:1px dashed rgba(21,156,255,.45);border-radius:12px;background:rgba(21,156,255,.05);cursor:pointer}.file-upload input{padding:0;border:0;background:transparent}.file-upload span{color:var(--muted);font-size:11px;text-transform:none;letter-spacing:0}.privacy-check{flex-direction:row!important;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-size:12px!important;line-height:1.5!important;color:var(--muted)!important}.privacy-check input{width:auto;margin-top:2px}.quote-submit{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border:0;border-radius:999px;background:linear-gradient(100deg,var(--blue),var(--purple));color:#fff;font-weight:900;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.quote-submit:hover{box-shadow:0 0 28px rgba(21,156,255,.26)}.form-message{padding:18px 20px;border:1px solid;border-radius:12px;margin-bottom:24px}.form-message p,.form-message ul{margin:8px 0 0;line-height:1.55}.form-message.success{border-color:rgba(74,222,128,.45);background:rgba(74,222,128,.09)}.form-message.error{border-color:rgba(255,90,90,.45);background:rgba(255,90,90,.08)}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.quick-email a{line-height:1.35}
@media(max-width:980px){.quote-section{grid-template-columns:1fr}.quote-intro{position:static;max-width:760px}}
@media(max-width:620px){.form-grid{grid-template-columns:1fr}.quote-panel{padding:20px 16px}.quote-section{padding-inline:20px}.quote-intro h2{font-size:42px}.form-jump-button,.map-button{width:100%;max-width:100%;line-height:1.45}}