/* Landing per il monitoraggio della produzione dei macchinari. */
.machine-landing {
    --machine-ink: #243b4e;
    --machine-blue: #397fae;
    --machine-cyan: #76cbd6;
}

.machine-landing #main {
    background: linear-gradient(180deg, #f1f7fd, #f9fcff 52%, #edf6fb);
}

.machine-landing h1,
.machine-landing h2,
.machine-landing h3 { color: var(--machine-ink); }

.machine-landing .ambient-section { overflow: hidden; }
.machine-landing .ambient-section > .shell { position: relative; z-index: 1; }
.machine-landing .ambient-ball { z-index: 0; opacity: .62; }

.machine-hero {
    padding-block: clamp(64px, 6vw, 88px);
    background: radial-gradient(ellipse 40% 70% at 8% 22%, rgba(132, 199, 232, .27), transparent 100%), radial-gradient(ellipse 37% 68% at 88% 80%, rgba(111, 204, 215, .22), transparent 100%);
}
.machine-hero .ambient-ball-large { top: 4%; left: 2%; }
.machine-hero .ambient-ball-small { right: 5%; bottom: 7%; }
.machine-hero-grid { display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(0, .97fr); align-items: center; gap: clamp(36px, 5vw, 78px); }
.machine-hero h1 { max-width: 780px; margin: 0 0 22px; font-size: clamp(3rem, 4.5vw, 4.55rem); line-height: 1.07; letter-spacing: -.044em; }
.machine-hero h1 em { color: var(--machine-blue); font-style: normal; }
.machine-lead { max-width: 65ch; margin: 0; color: #526879; font-size: clamp(1.1rem, 1.42vw, 1.24rem); line-height: 1.58; }
.machine-actions { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; margin-top: 28px; }
.machine-text-link { color: var(--machine-blue); font-weight: 750; text-decoration: underline; text-underline-offset: 5px; }

.machine-flow { position: relative; max-width: 530px; margin-inline: auto; padding: clamp(25px, 3vw, 37px); border: 1px solid #cfe1ed; border-radius: 26px; background: rgba(255, 255, 255, .93); box-shadow: 0 25px 62px rgba(49, 100, 135, .12); }
.machine-flow::before { position: absolute; z-index: -1; inset: 14px -15px -14px 15px; border: 1px solid #b9dceb; border-radius: inherit; background: linear-gradient(135deg, #dff4fa, #dcebf9); content: ""; }
.machine-flow-label { margin: 0 0 20px; color: var(--machine-blue); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.machine-flow-row { display: grid; grid-template-columns: 44px 1fr; align-items: center; gap: 15px; padding: 16px; border: 1px solid #d9e7f0; border-radius: 16px; background: #f7fafd; }
.machine-flow-row span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: #e0f1fa; color: #377ca7; font-weight: 800; }
.machine-flow-row strong { font-family: "Nexa", "Source Sans 3", sans-serif; font-size: clamp(1.02rem, 1.6vw, 1.25rem); line-height: 1.32; }
.machine-flow-result { border-color: #acd8e7; background: linear-gradient(105deg, #e3f3fa, #edfaf9); }
.machine-flow-connector { width: 2px; height: 22px; margin-left: 36px; background: #9bcbdc; }
.machine-flow > p:last-child { margin: 18px 1px 0; color: #64798a; font-size: .9rem; line-height: 1.5; }

.machine-scope { padding-block: clamp(59px, 6vw, 85px); background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.69) 22%, rgba(255,255,255,.69) 78%, rgba(255,255,255,.05)); }
.machine-scope .ambient-ball-small { right: 4%; top: 7%; }
.machine-section-heading { max-width: 760px; margin-bottom: 28px; }
.machine-section-heading h2,
.machine-proof h2,
.machine-contact h2 { margin: 0 0 15px; font-size: clamp(2.25rem, 3.65vw, 3.5rem); line-height: 1.12; letter-spacing: -.035em; }
.machine-section-heading > p:last-child,
.machine-proof-grid > div > p:last-child,
.machine-contact-copy > p:last-child { margin: 0; color: #566c7d; font-size: 1.1rem; line-height: 1.6; }
.machine-scope-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.machine-scope-grid article { min-height: 220px; padding: clamp(23px, 2.4vw, 31px); border: 1px solid #d3e4ef; border-radius: 21px; background: rgba(255,255,255,.94); box-shadow: 0 12px 31px rgba(56, 103, 131, .06); }
.machine-scope-grid article::before { display: block; width: 35px; height: 4px; margin-bottom: 21px; border-radius: 9px; background: var(--machine-cyan); content: ""; }
.machine-scope-grid article:nth-child(2)::before { background: var(--machine-blue); }
.machine-scope-grid article:nth-child(3)::before { background: #e4af7e; }
.machine-scope-grid span { display: block; margin-bottom: 13px; color: #5185a4; font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.machine-scope-grid h3 { margin: 0 0 10px; font-size: 1.27rem; }
.machine-scope-grid p { margin: 0; color: #5c6e7e; line-height: 1.56; }

.machine-proof { padding-block: clamp(60px, 6vw, 86px); background: linear-gradient(180deg, rgba(213,235,249,.06), rgba(213,235,249,.65) 27%, rgba(213,235,249,.65) 73%, rgba(213,235,249,.06)); }
.machine-proof .ambient-ball-large { left: 2%; bottom: 4%; }
.machine-proof-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: center; gap: clamp(30px, 6vw, 85px); }
.machine-proof-grid > div > p:last-child { max-width: 67ch; }
.machine-proof-note { padding: clamp(26px, 3vw, 38px); border: 1px solid #cee2ed; border-radius: 23px; background: rgba(255,255,255,.94); box-shadow: 0 13px 37px rgba(55,100,132,.08); }
.machine-proof-note strong { display: block; margin-bottom: 12px; color: var(--machine-ink); font-family: "Nexa", "Source Sans 3", sans-serif; font-size: 1.26rem; line-height: 1.3; }
.machine-proof-note p { margin: 0; color: #586e7f; line-height: 1.58; }

.machine-contact { padding-block: clamp(63px, 6vw, 88px); background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.6) 25%, rgba(255,255,255,.6) 75%, rgba(255,255,255,.04)); scroll-margin-top: 20px; }
.machine-contact .ambient-ball-small { right: 4%; top: 10%; }
.machine-contact-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; gap: clamp(30px, 6vw, 84px); }
.machine-form-card { padding: clamp(25px, 3vw, 40px); border: 1px solid #d0e1ec; border-radius: 23px; background: #fff; box-shadow: 0 14px 34px rgba(58,94,122,.07); }
.machine-form-card h3 { margin: 0 0 18px; font-size: clamp(1.55rem, 2vw, 2rem); }
.machine-form { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.machine-form label { margin-bottom: 13px; }
.machine-form textarea { min-height: 120px; }
.machine-form .form-row { gap: 13px; }
.machine-form .privacy-check { margin-block: 18px 17px; }
.machine-field-label { display: flex; flex-wrap: wrap; gap: 5px; align-items: baseline; }
.machine-field-label small { color: #758594; font-size: .78rem; font-weight: 400; }
.machine-preview-note { padding: 12px 15px; margin-bottom: 16px; border: 1px solid #c8dfed; border-radius: 12px; background: #edf7fc; color: #45677f; font-size: .87rem; }

@media (max-width: 900px) {
    .machine-hero-grid,
    .machine-proof-grid,
    .machine-contact-grid { grid-template-columns: 1fr; }
    .machine-flow { width: 100%; max-width: 700px; }
}
@media (max-width: 700px) {
    .machine-hero { padding-block: 50px 62px; }
    .machine-hero h1 { font-size: clamp(2.55rem, 9vw, 3.65rem); }
    .machine-scope-grid { grid-template-columns: 1fr; gap: 12px; }
    .machine-scope-grid article { min-height: 0; }
    .machine-scope,
    .machine-proof,
    .machine-contact { padding-block: 56px; }
}
@media (max-width: 520px) {
    .machine-landing .landing-header-inner { gap: 8px; }
    .machine-landing .landing-brand img { width: 128px; }
    .machine-landing .landing-header .button { padding: 6px 10px; font-size: .72rem; white-space: nowrap; }
    .machine-hero h1 { font-size: clamp(2.45rem, 10vw, 3rem); }
    .machine-lead { font-size: 1.06rem; }
    .machine-actions { align-items: stretch; flex-direction: column; gap: 18px; }
    .machine-actions .button,
    .machine-form .button { width: 100%; }
    .machine-flow { padding: 22px 18px; }
    .machine-flow-row { gap: 11px; padding: 13px; }
    .machine-flow-row strong { font-size: 1.03rem; }
    .machine-form .form-row { grid-template-columns: 1fr; gap: 0; }
}
