*{box-sizing:border-box}body{margin:0;background:#fffaf1;color:#252525;font:1rem/1.6 Arial,sans-serif}a{color:inherit;text-underline-offset:.22em}a:focus-visible{outline:3px solid #aa5d00;outline-offset:5px}.wrap{width:min(92%,1200px);margin:auto}.bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0}.logo{display:block;width:190px;height:auto}nav{display:flex;flex-wrap:wrap;gap:clamp(12px,3vw,34px)}nav a,.lang a{font-weight:700;text-decoration:none}nav a:hover,.lang a:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1.1fr 1fr;background:#262626;color:#fff8eb;border-radius:12px;overflow:hidden}.hero img{width:100%;height:100%;min-height:350px;object-fit:cover}.hero div{align-self:center;padding:clamp(24px,4vw,56px)}.by,.label{font-weight:700;color:#855000}.hero .by{color:#ffd488}.button{display:inline-block;padding:10px 18px;border-radius:6px;background:#ffb526;color:#211707;font-weight:700;text-decoration:none}.button:hover{background:#ffd07b}h1,h2{line-height:1.1;letter-spacing:-.04em;margin:.18em 0 .4em}h1{font-size:clamp(2rem,4.5vw,4rem)}h2{font-size:clamp(1.7rem,3.4vw,3rem)}main>section:not(.hero){padding:42px 0;border-bottom:1px solid #e9d5b4}section p{max-width:65ch}ul{list-style:none;padding:0;display:flex;gap:12px;flex-wrap:wrap}li{border:1px solid #e9d5b4;border-radius:8px;background:#fff;padding:13px 18px}footer{margin-top:35px;padding:22px 0;background:#262626;color:#fff8eb}@media(max-width:740px){.bar{flex-wrap:wrap}.bar nav{width:100%;order:3}.hero{grid-template-columns:1fr}.hero img{min-height:0;height:auto}.logo{width:155px}}
.specifications {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr));
  gap: 16px;
  margin-top: 24px;
}
.specifications article {
  padding: 20px;
  background: #fff;
  border: 1px solid #e9d5b4;
  border-radius: 8px;
}
.specifications h3 { margin: 0 0 8px; }
.specifications p { margin: 0; }

.hero { position: relative; isolation: isolate; }
.hero-photo { filter: saturate(1.08) contrast(1.04); }
.hero-copy { position: relative; border-left: 3px solid #ffb526; }
.hero-copy::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(ellipse at top right, #ffb52625, transparent 72%);
}
.specifications article, #applications li {
  border-top: 3px solid #d49022;
  box-shadow: 0 8px 24px #6f450b0b;
}
#applications li { flex: 1 1 250px; padding: 20px; }
#applications li strong { color: #855000; }
@media (prefers-reduced-motion: no-preference) {
  .hero-copy > * { animation: ax-appear 480ms ease-out both; }
  .hero-copy h1 { animation-delay: 65ms; }
  .hero-copy p:not(.by) { animation-delay: 130ms; }
  .hero-copy .button { animation-delay: 195ms; }
  .button, .specifications article, #applications li {
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
  }
  @media (hover: hover) {
    .button:hover, .specifications article:hover, #applications li:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 24px #6f450b22;
    }
  }
  @keyframes ax-appear {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
@media (max-width: 740px) {
  .hero-copy { border-left: 0; border-top: 3px solid #ffb526; }
}

.hero-visual {
  position: relative;
  overflow: hidden;
  display: grid;
  margin: 0;
  min-width: 0;
}
.hero-visual .hero-photo { display: block; object-position: center; }
@media (max-width: 740px) {
  .hero-visual { aspect-ratio: 16 / 10; }
  .hero-visual .hero-photo { width: 100%; height: 100%; min-height: 0; }
}

.hero-visual { min-height: 350px; }
.hero-visual .hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; filter: none; }
@media (max-width: 740px) { .hero-visual { min-height: 0; } }

.lang { display: inline-flex; align-items: center; gap: 12px; }
.lang a, .lang strong { display: inline-flex; align-items: center; gap: 5px; }
.lang a { font-weight: 400; }
.language-flag { display: inline-block; width: 20px; height: 13px; border-radius: 2px; box-shadow: 0 0 0 1px #0003; }
.language-flag--it { background: linear-gradient(90deg,#009246 33.33%,#fff 33.33% 66.67%,#ce2b37 66.67%); }
.language-flag--en {
  background:
    linear-gradient(90deg,transparent 42%,#c8102e 42% 58%,transparent 58%),
    linear-gradient(transparent 37%,#c8102e 37% 63%,transparent 63%),
    linear-gradient(90deg,transparent 35%,white 35% 65%,transparent 65%),
    linear-gradient(transparent 27%,white 27% 73%,transparent 73%),
    linear-gradient(33deg,transparent 44%,white 44% 56%,transparent 56%),
    linear-gradient(-33deg,transparent 44%,white 44% 56%,transparent 56%),
    #012169;
}

.technology-icon { display: block; box-sizing: content-box; padding: 8px; margin-bottom: 12px; color: #77480a; background: #fff2d8; border-radius: 9px; }

.policy-links { display: inline-flex; flex-wrap: wrap; gap: 12px; margin-left: 12px; }
.policy-links button, .cookie-close { font: inherit; cursor: pointer; color: inherit; background: transparent; border: 0; text-decoration: underline; }
.policy-reading { max-width: 780px; padding-block: 32px; }
.policy-reading h2 { font-size: 1.45rem; margin-top: 1.4em; }
.cookie-banner, #cookie-dialog { background: #fffaf1; color: #262626; border: 1px solid #d9b879; padding: 20px; border-radius: 12px; box-shadow: 0 12px 32px #0003; }
.cookie-banner { position: fixed; z-index: 10; inset: auto 12px 12px; max-width: 690px; margin-inline: auto; max-height: 80dvh; overflow: auto; }
.cookie-banner h2, #cookie-dialog h2 { font-size: 1.35rem; }
#cookie-dialog { width: min(92%, 560px); }
#cookie-dialog::backdrop { background: #0008; }
.cookie-dialog-heading, .cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cookie-dialog-heading { justify-content: space-between; align-items: baseline; }
.cookie-actions button { font: inherit; font-weight: 700; cursor: pointer; border: 1px solid #b57919; }
.cookie-actions .cookie-secondary { background: transparent; }
.cookie-required { display: block; }

.back-to-top { position: fixed; right: 16px; bottom: 16px; z-index: 8; display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid #b57919; border-radius: 8px; background: #fffaf1; color: #77480a; font-size: 26px; text-decoration: none; box-shadow: 0 4px 16px #0002; }
.back-to-top[hidden] { display: none; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

.detail-banner{background:linear-gradient(105deg,#28211b,#644419);color:#fff8eb;padding:clamp(24px,5vw,68px)!important;border-radius:12px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:24px}.detail-banner .label{color:#ffd488}.detail-banner svg{width:100%;height:auto}.detail-block{max-width:78ch;margin:0 auto}.detail-block h2{font-size:clamp(1.35rem,3vw,2.2rem)}.ax-form{display:grid;gap:14px;max-width:680px}.ax-form label{display:grid;gap:4px;font-weight:700}.ax-form input,.ax-form textarea{font:inherit;padding:10px;border:1px solid #99754e;border-radius:6px;background:#fff;width:100%}.ax-form button{justify-self:start;border:0;cursor:pointer}@media(max-width:640px){.detail-banner{grid-template-columns:1fr}}
nav a[aria-current="page"] {
  text-decoration: underline;
  text-underline-offset: 7px;
}
