/* ============ Home ============ */

/* Hero: editorial headline on the left, the SL emblem on the right */
.hero{position:relative;min-height:min(100svh,980px);display:flex;align-items:center;padding:calc(var(--header) + 48px) 0 72px;overflow:clip}
.hero__glow{position:absolute;right:-10%;top:10%;width:70vw;max-width:980px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.07),transparent 62%);pointer-events:none}
.hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.hero__copy{display:flex;flex-direction:column;align-items:flex-start;gap:32px}
.hero__title{max-width:12ch}
.hero .lead{max-width:580px}
.hero__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.logo3d{position:relative;width:min(100%,520px);aspect-ratio:1;justify-self:end;touch-action:pan-y}
.logo3d__halo{position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08),transparent 66%);pointer-events:none}
.logo3d canvas{position:absolute;inset:0;width:100%!important;height:100%!important;opacity:0;transition:opacity 1.2s var(--ease)}
.logo3d.is-ready canvas{opacity:1}
.logo3d__fallback{position:absolute;inset:6%;width:88%;height:88%;transition:opacity .45s var(--ease)}
.logo3d.is-ready .logo3d__fallback{opacity:0;transition-delay:.35s}
@media (max-width:960px){
  .hero{min-height:auto;padding-top:calc(var(--header) + 32px)}
  .hero__inner{grid-template-columns:1fr;gap:8px}
  .logo3d{order:-1;width:min(62vw,300px);justify-self:start;margin-left:-4%}
}

/* 01 Chi siamo: statement + ethics */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
.about__intro{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.about__values{padding-top:8px}
.values{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.values li{padding:26px 24px 26px 0;border-bottom:1px solid var(--line)}
.values li:nth-child(even){padding-left:24px;padding-right:0;border-left:1px solid var(--line)}
.values h3{font:400 22px/1.2 var(--f-serif);color:var(--text-1)}
.values p{margin-top:10px;font-size:15.5px;color:var(--text-3)}
@media (max-width:960px){ .about{grid-template-columns:1fr} }
@media (max-width:560px){ .values{grid-template-columns:1fr} .values li,.values li:nth-child(even){padding:22px 0;border-left:0} }

/* 02 Servizi: three concise columns */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px)}
.svc{display:flex;flex-direction:column;gap:14px;scroll-margin-top:calc(var(--header) + 24px)}
.svc__media{margin-bottom:10px}
.svc__media img{aspect-ratio:16/10}
.svc h3{font:400 clamp(24px,2.1vw,30px)/1.15 var(--f-serif);letter-spacing:-.01em;color:var(--text-1)}
.svc > p{font-size:16px;color:var(--text-2)}
.svc__list{display:grid;border-top:1px solid var(--line);margin-top:6px}
.svc__list li{position:relative;padding:12px 0 12px 20px;border-bottom:1px solid var(--line);font-size:15px;color:var(--text-3)}
.svc__list li::before{content:"";position:absolute;left:2px;top:1.22em;width:6px;height:6px;transform:rotate(45deg);background:var(--text-1)}
.svc__examples{margin-top:auto;padding-top:6px;font-size:14px;color:var(--text-4)}
.svc__examples a{color:var(--text-1);border-bottom:1px solid var(--line-3);padding-bottom:1px;transition:border-color .2s}
.svc__examples a:hover{border-color:#fff}
@media (max-width:1000px){ .svc-grid{grid-template-columns:1fr;max-width:620px} }

/* 03 Metodo e garanzie */
.process{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,96px);align-items:start}
.process__head{position:sticky;top:calc(var(--header) + 40px);display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.process__list{border-top:1px solid var(--line);counter-reset:step}
.process__list li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:24px;padding:30px 0;border-bottom:1px solid var(--line)}
.process__list .num--lg{font-size:clamp(34px,3vw,44px);line-height:1}
.process__list h3{font:400 clamp(22px,2vw,28px)/1.2 var(--f-serif);color:var(--text-1)}
.process__list p{margin-top:10px;font-size:16px;color:var(--text-3);max-width:560px}
.tag{display:inline-flex;align-items:center;min-height:30px;margin-top:14px;padding:0 12px;border-radius:var(--r-pill);background:#f2f2f2;color:#000;font:600 13px/1 var(--f-sans);letter-spacing:.02em}
.guarantees{margin-top:clamp(56px,7vw,96px);padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--line-2)}
.guarantees__list{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:36px}
.guarantees__list li{display:flex;flex-direction:column;gap:18px;padding:0 28px 0 0}
.guarantees__list li + li{padding-left:28px;border-left:1px solid var(--line)}
.guarantees__list h4{margin:0;font:500 17px/1.3 var(--f-sans);color:var(--text-1)}
.guarantees__list p{margin-top:8px;font-size:15px;color:var(--text-3)}
.cta-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;margin-top:clamp(48px,6vw,80px);padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta-line p{font:400 clamp(22px,2.2vw,30px)/1.25 var(--f-serif);color:var(--text-1)}
@media (max-width:1000px){
  .process{grid-template-columns:1fr}
  .process__head{position:static}
  .guarantees__list{grid-template-columns:1fr 1fr;row-gap:32px}
  .guarantees__list li:nth-child(3){padding-left:0;border-left:0}
}
@media (max-width:620px){
  .process__list li{grid-template-columns:56px minmax(0,1fr);gap:16px}
  .guarantees__list{grid-template-columns:1fr}
  .guarantees__list li,.guarantees__list li + li{padding:0 0 24px;border-left:0;border-bottom:1px solid var(--line)}
  .cta-line .btn{width:100%}
}

/* 04 Progetti */
.home-projects__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:24px}

/* 05 Contatti */
.home-contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px);align-items:start}
.home-contact__copy{position:sticky;top:calc(var(--header) + 40px);display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.home-contact__next{padding-top:22px;border-top:1px solid var(--line);font-size:15.5px;color:var(--text-3);max-width:460px}
.home-contact__next a{color:var(--text-1);text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:3px}
@media (max-width:960px){ .home-contact{grid-template-columns:1fr} .home-contact__copy{position:static} }
