.nav{position:absolute;inset:0 0 auto}main{flex-direction:column;flex:1 0 auto;display:flex}.hero{--cx:50%;--cy:40%;--sb:100%;padding:300px var(--gutter) 0;flex:1 0 auto;align-items:end;display:grid;position:relative;overflow:clip}.hero canvas,.hero .plan{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero canvas{z-index:0}.bg-grid,.cons{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .7s var(--ease-out);-webkit-mask-image:radial-gradient(ellipse 52% 60% at var(--cx) var(--cy), #000 30%, transparent 100%), linear-gradient(to bottom, transparent 56px, #000 150px, #000 calc(var(--sb) - 90px), transparent var(--sb));-webkit-mask-composite:source-in;mask-image:radial-gradient(ellipse 52% 60% at var(--cx) var(--cy), #000 30%, transparent 100%), linear-gradient(to bottom, transparent 56px, #000 150px, #000 calc(var(--sb) - 90px), transparent var(--sb));position:absolute;inset:0;mask-composite:intersect}.bg-grid{z-index:0;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px), linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px;background-position:var(--cx) var(--cy)}.cons{z-index:1;overflow:visible}.cons line{stroke:var(--plan);stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.28}.bg-sheet .bg-grid,.bg-sheet .cons{opacity:1}.hero .plan{z-index:1;opacity:0;animation:fade-in .9s var(--ease-out) .35s forwards;overflow:visible}.plan line{stroke:var(--plan);stroke-width:1px;vector-effect:non-scaling-stroke}.plan line.hid{stroke-dasharray:3 4;opacity:.45}.lead{opacity:0;animation:fade-in .9s var(--ease-out) 2.3s forwards}.lead polyline{fill:none;stroke:currentColor;stroke-width:1px;vector-effect:non-scaling-stroke}.lead-plan{color:var(--plan)}.lead-plan rect{fill:currentColor}.lead-exec{color:var(--ink-3)}.lead-exec rect{fill:var(--bg);stroke:var(--ink);stroke-width:1px}.cote{z-index:2;color:var(--plan);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;transition:opacity .25s var(--ease-out);font-size:13px;font-weight:550;position:absolute;top:0;left:0}.cote.swap{opacity:0}.callout{z-index:2;color:var(--ink);white-space:nowrap;pointer-events:none;opacity:0;animation:fade-in .9s var(--ease-out) 2.3s forwards;margin:0;font-size:15px;line-height:1.4;position:absolute;top:0;left:0}.callout span{color:var(--ink-3);margin-bottom:2px;font-size:13px;display:block}.callout-plan span{color:var(--plan);font-weight:550}.callout-exec{font-family:var(--mono);text-align:right;font-size:12px;line-height:1.6}.callout-exec span{font-size:11px}.hero:not(.wide) .lead,.hero:not(.wide) .callout{display:none}.hero-copy{z-index:2;grid-template-columns:minmax(0,1fr) 384px;align-items:end;column-gap:48px;padding-bottom:clamp(32px,6vh,72px);display:grid;position:relative}.kicker{color:var(--ink-2);animation:rise-soft .8s var(--ease-expo) .2s both;margin:0 0 26px;font-size:16px}h1{font-family:var(--display);letter-spacing:-.035em;margin:0;font-size:clamp(44px,5vw,84px);font-weight:600;line-height:1}h1 .line{margin-bottom:-.06em;padding-bottom:.06em;display:block;overflow:clip}h1 .line>span{animation:rise 1.1s var(--ease-expo) both;display:block}h1 .line:nth-child(2)>span{animation-delay:90ms}.hero-side{padding-bottom:4px}.sub{color:var(--ink-2);animation:rise-soft .8s var(--ease-expo) .35s both;font-size:clamp(18px,1.35vw,20px);display:block}.sub scritto-text{color:var(--ink);font-weight:600}.ctas{animation:rise-soft .8s var(--ease-expo) .45s both;flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.fallback{width:min(46vw,520px);display:none;position:absolute;top:18%;left:50%;transform:translate(-50%)}.no-gl .fallback{display:block}.no-gl .plan,.no-gl .cons,.no-gl .cote,.no-gl .callout{display:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes rise{0%{transform:translateY(104%)}}@keyframes rise-soft{0%{opacity:0;transform:translateY(10px)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (width<=1260px){.hero-copy{grid-template-columns:minmax(0,1fr)}.hero-side{max-width:520px;margin-top:30px}}@media (width<=1100px){.hero{padding-top:280px}}@media (width<=760px){.hero{padding-top:220px}.hero-copy{padding-bottom:24px}.kicker{margin-bottom:14px;font-size:15px}.hero-side{margin-top:18px}.ctas{gap:10px;margin-top:22px}.ctas .btn{padding:0 16px;font-size:14px}}@media (width<=760px) and (height<=720px){.hero{padding-top:96px}.hero canvas,.hero .plan,.bg-grid,.cons,.cote,.hero .fallback{display:none}}
