/* Home editoriale: tre sezioni, dettagli sulle pagine interne. */
.home-hero { min-height:min(92svh,820px); padding-bottom:4.5rem; }
.home-services { padding:clamp(3rem,5.5vw,5rem) 0; }
.home-services-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.home-services-intro h2 { font-size:clamp(2rem,3.5vw,3.1rem); margin:1.3rem 0 1rem; }
.home-services-intro > p:not(.eyebrow) { color:var(--fg-2); max-width:38ch; font-size:1rem; }
.home-services-intro > a { margin-top:1.4rem; font-size:.9rem; }
.home-offer { display:grid; grid-template-columns:40px 1fr auto; gap:1.1rem; align-items:center; padding:1.4rem 0; border-bottom:1px solid var(--line-strong); }
.home-offer:first-child { border-top:1px solid var(--line-strong); }
.home-offer-icon { width:40px; height:40px; display:grid; place-items:center; background:var(--paper-2); border-radius:12px; }
.home-offer-icon svg { width:21px; height:21px; }
.home-offer h3 { font-size:1.4rem; line-height:1.2; }
.home-offer p { font-size:.88rem; line-height:1.5; color:var(--fg-2); margin-top:.4rem; }

.home-close { padding:clamp(4.5rem,9vw,8rem) 0 clamp(2.5rem,5vw,4rem); }
.home-contact-panel { position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:clamp(2rem,5vw,5rem); padding:clamp(2.75rem,5.5vw,5rem) clamp(1.75rem,5.5vw,5rem); background:var(--accent); color:var(--accent-ink); border-radius:32px; box-shadow:0 30px 80px -50px rgba(255,107,61,.45), inset 0 1px 0 rgba(255,255,255,.35); }
.home-contact-panel::before { content:""; position:absolute; z-index:-1; pointer-events:none; inset:0; background:radial-gradient(70% 90% at 92% 0%,rgba(255,255,255,.38),transparent 60%), radial-gradient(55% 70% at 0% 100%,rgba(26,11,5,.12),transparent 60%); }
.home-contact-lines { position:absolute; z-index:-1; pointer-events:none; right:-8%; bottom:-46%; width:50%; opacity:.2; }
.home-contact-action { position:relative; }
.home-contact-panel .eyebrow { color:var(--accent-ink); font-size:.66rem; opacity:.75; }
.home-contact-panel h2 { font-size:clamp(2.2rem,4.2vw,3.7rem); line-height:1.02; letter-spacing:-.045em; margin:1.2rem 0 1.1rem; max-width:16ch; }
.home-contact-panel p:not(.eyebrow) { font-size:1.05rem; color:#391b10; max-width:40ch; }
.home-contact-action { display:flex; flex-direction:column; gap:.85rem; align-items:center; flex-shrink:0; }
.home-contact-action .btn { --btn-bg:var(--ink); --btn-fg:#fff; }
.home-contact-action > span { font-size:.75rem; color:#391b10; }
.home-deep-link { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:.4rem .6rem; margin-top:2rem; font-size:.8rem; color:var(--fg-2); }
.home-deep-link a { display:inline-flex; align-items:center; gap:.3rem; color:var(--fg); text-decoration:underline; text-underline-offset:4px; }
.home-deep-link svg { width:14px; height:14px; }
@media(max-width:900px) {
  .home-hero { min-height:auto; padding-top:9rem; padding-bottom:3rem; }
  .home-hero .hero-grid { gap:1.5rem; }
  .home-hero .hero-scroll { display:none; }
  .home-services-grid { gap:2rem; }
  .home-offer { grid-template-columns:32px 1fr auto; gap:.75rem; }
  .home-offer-icon { width:32px; height:32px; }
  .home-offer h3 { font-size:1.15rem; }
  .home-contact-panel { align-items:flex-start; flex-direction:column; gap:1.5rem; }
}
@media(max-width:600px) {
  .home-hero { padding-top:8rem; padding-bottom:2.3rem; }
  .home-hero h1 { font-size:clamp(2.8rem,11.5vw,4.2rem); }
  .home-hero .lead { font-size:1.05rem; margin-top:1.2rem; }
  .home-hero .hero-ctas { margin-top:1.5rem; gap:.6rem; }
  .home-hero .hero-ctas .btn { padding:.85rem 1.15rem; font-size:.85rem; }
  .home-services-grid { grid-template-columns:1fr; gap:1.5rem; }
  .home-services-intro h2 { font-size:clamp(1.85rem,7.7vw,2.6rem); }
  .home-services-intro > p:not(.eyebrow) { font-size:.93rem; }
  .home-offer { padding:1.1rem 0; }
  .home-offer p { font-size:.82rem; }

  .home-close { padding-top:3.5rem; }
  .home-contact-panel { border-radius:22px; padding:2.1rem 1.5rem; }
  .home-contact-panel h2 { font-size:2.05rem; }
  .home-contact-lines { display:none; }
  .home-contact-action { align-items:flex-start; max-width:100%; }
  .home-contact-action .btn { font-size:.85rem; padding:.9rem 1.1rem; }
  .home-deep-link { font-size:.73rem; }
}


/* Hero: dimostrazione dell'agente AI */
.agent { position:relative; width:min(100%,410px); justify-self:end; padding:1rem 1rem .9rem; border-radius:22px; color:#eceef1; font-size:.86rem;
  background:linear-gradient(180deg,rgba(24,27,33,.82),rgba(14,16,20,.82)); border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:0 40px 80px -40px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.07); overflow:hidden; }
.agent::before { content:""; position:absolute; inset:-40% -30% auto auto; width:70%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(255,107,61,.22),transparent 65%); pointer-events:none; }
.agent-top { position:relative; display:flex; justify-content:space-between; align-items:center; font-family:var(--font-mono); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(236,238,241,.55); }
.agent-live { display:inline-flex; align-items:center; gap:.5rem; color:var(--accent); }
.agent-live i { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 0 rgba(255,107,61,.6); animation:agent-pulse 1.8s infinite; }
@keyframes agent-pulse { 0%{box-shadow:0 0 0 0 rgba(255,107,61,.55)} 70%{box-shadow:0 0 0 8px rgba(255,107,61,0)} 100%{box-shadow:0 0 0 0 rgba(255,107,61,0)} }
.agent-doc { position:relative; display:flex; align-items:center; gap:.75rem; margin-top:.85rem; padding:.7rem .8rem; border-radius:14px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.07); overflow:hidden; }
.agent-file { flex:none; width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:rgba(255,107,61,.14); color:var(--accent); }
.agent-file svg { width:18px; height:18px; }
.agent-doc-t { display:grid; min-width:0; }
.agent-doc-t b { font-family:var(--font-mono); font-weight:500; font-size:.78rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.agent-doc-t small { font-size:.72rem; color:rgba(236,238,241,.55); }
.agent-scan { position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent,rgba(255,107,61,.28),transparent); transform:translateX(-100%); opacity:0; }
.agent.is-reading .agent-scan { opacity:1; animation:agent-scan 1s var(--ease) 1; }
@keyframes agent-scan { to { transform:translateX(100%); } }
.agent-fields { display:grid; gap:.1rem; margin-top:.7rem; }
.agent-fields div { display:grid; grid-template-columns:5.6rem 1fr; gap:.6rem; align-items:baseline; padding:.42rem .15rem; border-bottom:1px dashed rgba(255,255,255,.08); }
.agent-fields dt { font-family:var(--font-mono); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(236,238,241,.45); }
.agent-fields dd { margin:0; min-height:1.3em; font-weight:500; color:#fff; }
.agent-fields dd.is-typing::after { content:""; display:inline-block; width:2px; height:1em; margin-left:2px; vertical-align:-2px; background:var(--accent); animation:agent-caret .8s steps(1) infinite; }
@keyframes agent-caret { 50% { opacity:0; } }
.agent-out { display:flex; justify-content:space-between; align-items:center; gap:.75rem; margin-top:.8rem; }
.agent-status { font-size:.78rem; color:rgba(236,238,241,.7); transition:color .3s; }
.agent-ok { flex:none; padding:.42rem .85rem; border-radius:99px; font-size:.76rem; font-weight:600; color:var(--accent-ink); background:var(--accent); transition:transform .25s var(--ease), background .3s, color .3s; }
.agent.is-waiting .agent-ok { animation:agent-nudge 1.4s var(--ease) infinite; }
@keyframes agent-nudge { 50% { box-shadow:0 0 0 6px rgba(255,107,61,.18); } }
.agent.is-done .agent-ok { transform:scale(.94); background:rgba(255,255,255,.1); color:#fff; }
.agent.is-done .agent-status { color:#fff; }
.agent-flow { height:3px; margin-top:.85rem; border-radius:3px; background:rgba(255,255,255,.08); overflow:hidden; }
.agent-flow i { display:block; height:100%; width:100%; border-radius:inherit; background:linear-gradient(90deg,rgba(255,107,61,.4),var(--accent)); transform-origin:left; transform:scaleX(var(--p,1)); transition:transform .5s var(--ease); }
.agent-note { justify-self:end; width:min(100%,410px); margin-top:.6rem; font-family:var(--font-mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(236,238,241,.4); text-align:right; }
@media (max-width:900px) {
  .agent, .agent-note { justify-self:stretch; width:100%; }
  .agent-note { text-align:left; }
}
@media (prefers-reduced-motion:reduce) { .agent-live i, .agent.is-waiting .agent-ok { animation:none; } }
