
.method-page{background:#051d2d;color:#152330;overflow-x:hidden}
.method-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#051d2d}
.method-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.78) contrast(.96) brightness(.84);transform:scale(1.035);animation:heroBreath 16s ease-in-out infinite alternate}
.method-hero__wash{position:absolute;inset:0;background:linear-gradient(90deg,#051d2d 0%,rgba(5,29,45,.95) 20%,rgba(5,29,45,.68) 46%,rgba(5,29,45,.18) 75%,rgba(5,29,45,.1) 100%),linear-gradient(0deg,rgba(5,29,45,.78) 0%,transparent 42%)}
.method-hero__grid{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:92px 92px;mask-image:linear-gradient(90deg,#000,transparent 82%);animation:gridDrift 22s linear infinite}
.method-hero__content{position:relative;z-index:4;width:min(1050px,100%);padding:180px var(--page-pad) 95px}
.method-hero h1{margin:0 0 30px;font-size:clamp(64px,7.4vw,132px);font-weight:300;line-height:.92;letter-spacing:-.06em}
.method-hero__content>p:not(.section-label){max-width:690px;margin:0;color:rgba(255,255,255,.77);font-size:clamp(17px,1.2vw,21px);line-height:1.7}
.method-hero__rings{position:absolute;z-index:2;right:6vw;top:18vh;width:36vw;aspect-ratio:1;opacity:.42}
.method-hero__rings span{position:absolute;inset:0;border:1px solid rgba(255,255,255,.18);border-radius:50%;animation:ringSpin 24s linear infinite}
.method-hero__rings span:nth-child(2){inset:13%;animation-duration:17s;animation-direction:reverse}.method-hero__rings span:nth-child(3){inset:29%;animation-duration:11s}
.method-hero__rings span:after{content:"";position:absolute;top:50%;left:-4px;width:8px;height:8px;border-radius:50%;background:#d7efff;box-shadow:0 0 18px rgba(215,239,255,.8)}
.method-hero__scroll{position:absolute;z-index:5;right:var(--page-pad);bottom:44px;display:flex;align-items:center;gap:18px;color:#fff;font-size:10px;font-weight:600;letter-spacing:.15em;text-decoration:none;text-transform:uppercase}
.method-hero__scroll i{position:relative;width:56px;height:1px;background:rgba(255,255,255,.38);overflow:hidden}.method-hero__scroll i:after{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-100%);animation:scrollLine 2.2s ease-in-out infinite}
.method-phases,.checks-section{padding:clamp(110px,10vw,170px) var(--page-pad);background:#eeece6}
.section-heading{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(40px,8vw,120px);align-items:start;margin-bottom:70px}
.section-heading h2{margin:0;font-size:clamp(54px,6vw,102px);font-weight:300;line-height:.96;letter-spacing:-.055em}
.phase-track{position:relative;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(21,35,48,.18)}
.phase-card{position:relative;min-height:430px;padding:35px 26px 42px;border-right:1px solid rgba(21,35,48,.16);overflow:hidden;transition:background .45s ease,color .45s ease,transform .45s ease}
.phase-card:last-of-type{border-right:0}.phase-card:hover{background:#072238;color:#fff;transform:translateY(-8px)}
.phase-card__number{display:block;color:#0b3956;font-size:clamp(70px,6vw,108px);font-weight:600;line-height:.88;letter-spacing:-.07em;transition:color .4s ease}.phase-card:hover .phase-card__number{color:#fff}
.phase-card__pulse{width:7px;height:7px;margin:34px 0 54px;border-radius:50%;background:#0b3956;box-shadow:0 0 0 0 rgba(11,57,86,.35);animation:pulse 2.6s infinite}.phase-card:hover .phase-card__pulse{background:#d7efff}
.phase-card h3{margin:0 0 18px;font-size:18px;font-weight:600;line-height:1.2;text-transform:uppercase}.phase-card p{margin:0 0 32px;color:#667079;font-size:14px;line-height:1.7;transition:color .4s}.phase-card:hover p{color:rgba(255,255,255,.72)}
.phase-card small{position:absolute;left:26px;bottom:28px;color:#768089;font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.phase-card:hover small{color:rgba(255,255,255,.6)}
.phase-line{position:absolute;left:0;right:0;top:-1px;height:2px;transform-origin:left;background:linear-gradient(90deg,#0b3956,#6da1bd,#0b3956);animation:phaseSweep 4s ease-in-out infinite}
.direction-section{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;padding:clamp(120px,11vw,190px) var(--page-pad);overflow:hidden;color:#fff;background:#051d2d}
.direction-copy{position:relative;z-index:2}.direction-copy h2,.system-copy h2,.field-copy h2,.method-closing h2{margin:0 0 30px;font-size:clamp(54px,5.8vw,100px);font-weight:300;line-height:.96;letter-spacing:-.055em}.direction-copy>p:last-child,.system-copy>p:last-child,.field-copy>p:last-child{max-width:670px;margin:0;color:rgba(255,255,255,.72);font-size:17px;line-height:1.75}
.direction-flow{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.direction-node{position:relative;display:flex;align-items:center;gap:18px;min-height:92px;padding:20px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.025);backdrop-filter:blur(6px);transition:transform .35s ease,border-color .35s ease,background .35s ease}.direction-node:hover{transform:translateX(8px);border-color:rgba(215,239,255,.55);background:rgba(255,255,255,.06)}
.direction-node span{color:#8eb4c9;font-size:11px;font-weight:600}.direction-node strong{font-size:16px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}
.direction-beam{position:absolute;left:-12%;top:50%;width:124%;height:1px;background:linear-gradient(90deg,transparent,#9ec4d7,transparent);box-shadow:0 0 20px rgba(158,196,215,.75);animation:beamMove 4.8s ease-in-out infinite}
.checks-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.check-card{position:relative;min-height:390px;padding:34px;border:1px solid rgba(21,35,48,.14);background:rgba(255,255,255,.3);overflow:hidden;transition:transform .4s ease,box-shadow .4s ease}.check-card:hover{transform:translateY(-10px);box-shadow:0 22px 50px rgba(5,29,45,.12)}
.check-card>span{display:block;color:#0b3956;font-size:76px;font-weight:600;line-height:1;letter-spacing:-.07em}.check-card__meter{height:3px;margin:42px 0 65px;background:rgba(11,57,86,.12);overflow:hidden}.check-card__meter i{display:block;width:78%;height:100%;background:#0b3956;transform-origin:left;animation:meter 3.4s ease-in-out infinite}.check-card:nth-child(2) i{animation-delay:.5s}.check-card:nth-child(3) i{animation-delay:1s}
.check-card h3{margin:0 0 17px;font-size:21px;text-transform:uppercase}.check-card p{margin:0;color:#667079;line-height:1.7}
.system-section{position:relative;min-height:850px;display:flex;align-items:center;overflow:hidden;padding:120px var(--page-pad);color:#fff;background:radial-gradient(circle at 72% 48%,rgba(47,102,131,.34),transparent 31%),#072238}
.system-copy{position:relative;z-index:3;max-width:760px}.system-orbit{position:absolute;right:2vw;top:50%;width:min(46vw,680px);aspect-ratio:1;transform:translateY(-50%)}.system-orbit span{position:absolute;inset:0;border:1px solid rgba(255,255,255,.13);border-radius:50%;animation:ringSpin 30s linear infinite}.system-orbit span:nth-child(2){inset:18%;animation-duration:19s;animation-direction:reverse}.system-orbit span:nth-child(3){inset:37%;animation-duration:13s}
.system-chips{position:absolute;right:7vw;top:50%;z-index:4;width:min(39vw,600px);aspect-ratio:1;transform:translateY(-50%)}.system-chip{position:absolute;padding:12px 18px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(5,29,45,.72);backdrop-filter:blur(8px);font-size:11px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;animation:chipFloat 4s ease-in-out infinite}.system-chip:nth-child(1){left:4%;top:44%}.system-chip:nth-child(2){left:28%;top:8%;animation-delay:.5s}.system-chip:nth-child(3){right:2%;top:27%;animation-delay:1s}.system-chip:nth-child(4){right:4%;bottom:26%;animation-delay:1.5s}.system-chip:nth-child(5){left:29%;bottom:7%;animation-delay:2s}.system-chip:nth-child(6){left:8%;bottom:26%;animation-delay:2.5s}
.field-section{display:grid;grid-template-columns:1.08fr .92fr;min-height:760px;background:#eeece6}.field-photo{padding:70px 0 70px var(--page-pad)}.field-photo__placeholder{position:relative;height:100%;min-height:620px;overflow:hidden;border-radius:0 32px 32px 0;background:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),radial-gradient(circle at 70% 30%,rgba(90,151,180,.35),transparent 26%),#08253a;background-size:42px 42px,42px 42px,auto,auto}
.field-photo__placeholder span{position:absolute;left:34px;bottom:28px;color:rgba(255,255,255,.55);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.field-photo__placeholder i{position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:28px;animation:placeholderFloat 6s ease-in-out infinite}.field-photo__placeholder i:nth-of-type(1){width:60%;height:52%;right:9%;top:15%}.field-photo__placeholder i:nth-of-type(2){width:38%;height:34%;left:12%;top:39%;animation-delay:1s}.field-photo__placeholder i:nth-of-type(3){width:24%;height:21%;right:18%;bottom:9%;animation-delay:2s}
.field-copy{display:flex;flex-direction:column;justify-content:center;padding:90px var(--page-pad) 90px 8vw}.field-copy h2{color:#152330}.field-copy>p:last-child{color:#667079}
.method-closing{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;padding:100px var(--page-pad);color:#fff;background:#051d2d}.method-closing__lines{position:absolute;inset:0;background:repeating-linear-gradient(105deg,transparent 0 94px,rgba(255,255,255,.035) 95px 96px);animation:closingLines 22s linear infinite}.method-closing__content{position:relative;z-index:2;max-width:1050px}.method-closing__content p{max-width:680px;margin:0 0 35px;color:rgba(255,255,255,.72);font-size:18px;line-height:1.7}.method-closing a{display:inline-flex;align-items:center;gap:38px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.55);color:#fff;text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.72,.22,1)}.reveal.is-visible{opacity:1;transform:none}
@keyframes heroBreath{to{transform:scale(1.09) translate3d(-.8%,-.4%,0)}}@keyframes gridDrift{to{background-position:92px 92px}}@keyframes ringSpin{to{transform:rotate(360deg)}}@keyframes scrollLine{0%,15%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}@keyframes pulse{70%{box-shadow:0 0 0 14px rgba(11,57,86,0)}}@keyframes phaseSweep{0%,100%{transform:scaleX(.04);opacity:.3}50%{transform:scaleX(1);opacity:1}}@keyframes beamMove{0%,100%{transform:translateX(-35%);opacity:0}45%,55%{opacity:1}50%{transform:translateX(35%)}}@keyframes meter{0%,100%{transform:scaleX(.18);opacity:.45}50%{transform:scaleX(1);opacity:1}}@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes placeholderFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(.8deg)}}@keyframes closingLines{to{background-position:250px 0}}
@media(max-width:1100px){.phase-track{grid-template-columns:repeat(2,1fr)}.direction-section,.field-section{grid-template-columns:1fr}.system-section{min-height:1050px;align-items:flex-start}.system-copy{max-width:100%}.system-orbit{top:auto;bottom:30px;right:50%;width:min(74vw,650px);transform:translateX(50%)}.system-chips{top:auto;bottom:50px;right:50%;width:min(66vw,580px);transform:translateX(50%)}.field-photo{padding:60px var(--page-pad) 0}.field-photo__placeholder{border-radius:28px;min-height:520px}.field-copy{padding:80px var(--page-pad) 110px}}
@media(max-width:720px){.method-hero{min-height:92svh}.method-hero__content{padding:145px 24px 105px}.method-hero h1{font-size:52px}.method-hero__image{object-position:62% center}.method-hero__wash{background:linear-gradient(90deg,rgba(5,29,45,.94),rgba(5,29,45,.54)),linear-gradient(0deg,rgba(5,29,45,.78),transparent 56%)}.method-hero__rings{right:-27vw;top:17vh;width:86vw}.method-hero__scroll{left:24px;right:auto}.method-phases,.checks-section,.direction-section,.system-section,.method-closing{padding-left:24px;padding-right:24px}.section-heading{grid-template-columns:1fr;gap:18px}.section-heading h2,.direction-copy h2,.system-copy h2,.field-copy h2,.method-closing h2{font-size:47px}.phase-track{grid-template-columns:1fr}.phase-card{min-height:330px;border-right:0;border-bottom:1px solid rgba(21,35,48,.15)}.direction-flow{grid-template-columns:1fr}.direction-node:hover{transform:none}.checks-grid{grid-template-columns:1fr}.system-section{min-height:960px}.system-orbit{width:95vw}.system-chips{width:88vw}.system-chip{font-size:9px;padding:9px 12px}.field-photo{padding:35px 24px 0}.field-photo__placeholder{min-height:410px}.field-copy{padding:65px 24px 90px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

.global-page-cursor{position:fixed;z-index:9999;inset:0;pointer-events:none;opacity:0;transition:opacity .12s ease}.global-page-cursor.is-visible{opacity:1}.global-page-cursor__x,.global-page-cursor__y,.global-page-cursor__point,.global-page-cursor__label{position:absolute}.global-page-cursor__x{left:0;right:0;top:var(--global-y,50%);height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent)}.global-page-cursor__y{top:0;bottom:0;left:var(--global-x,50%);width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.16),transparent)}.global-page-cursor__point{left:var(--global-x,50%);top:var(--global-y,50%);width:7px;height:7px;border:1px solid rgba(255,255,255,.72);border-radius:50%;transform:translate(-50%,-50%)}.global-page-cursor__label{left:calc(var(--global-x,50%) + 14px);top:calc(var(--global-y,50%) + 13px);padding:4px 6px;color:rgba(255,255,255,.82);background:rgba(5,29,45,.78);font-size:9px;font-weight:600;letter-spacing:.12em;white-space:nowrap}.language-switch{display:inline-flex;align-items:center;gap:8px}.lang-button{appearance:none;border:0;padding:0;background:transparent;color:inherit;font:inherit;cursor:pointer;opacity:.5}.lang-button.is-active,.lang-button:hover{opacity:1}.projects-submenu a{display:block;padding:9px 0;color:rgba(255,255,255,.68);font-size:10px;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.projects-submenu a:hover{color:#fff}@media(max-width:720px){.global-page-cursor{display:none}}


/* =========================================================
   HEADER — MENU SEMPRE VISIBILE SU DESKTOP
   ========================================================= */
.method-page .site-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px var(--page-pad);
  background: linear-gradient(180deg, rgba(5,29,45,.94), rgba(5,29,45,.72) 70%, transparent);
  transition: background .35s ease, padding .35s ease, backdrop-filter .35s ease;
}

.method-page .site-header.is-scrolled {
  padding-top: 14px;
  padding-bottom: 14px;
  background: rgba(5,29,45,.92);
  backdrop-filter: blur(14px);
}

.method-page .brand {
  position: relative;
  z-index: 1002;
  display: block;
  width: 154px;
}

.method-page .brand img {
  display: block;
  width: 100%;
  height: auto;
}

.method-page .main-nav {
  display: flex;
  align-items: center;
  gap: clamp(20px, 2vw, 38px);
}

.method-page .main-nav > a,
.method-page .nav-item > a {
  position: relative;
  display: block;
  color: rgba(255,255,255,.82);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}

.method-page .main-nav > a::after,
.method-page .nav-item > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -7px;
  height: 1px;
  background: #fff;
  transition: right .3s ease;
}

.method-page .main-nav > a:hover::after,
.method-page .main-nav > a.is-active::after,
.method-page .nav-item > a:hover::after {
  right: 0;
}

.method-page .nav-item {
  position: relative;
}

.method-page .projects-submenu {
  position: absolute;
  top: calc(100% + 18px);
  left: -24px;
  min-width: 270px;
  padding: 18px 24px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  background: rgba(5,29,45,.97);
  border: 1px solid rgba(255,255,255,.08);
  transition: opacity .25s ease, visibility .25s ease, transform .25s ease;
}

.method-page .nav-item--projects:hover .projects-submenu {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.method-page .menu-toggle {
  display: none;
}

/* =========================================================
   HERO — ANIMAZIONE PIÙ VISIBILE
   ========================================================= */
.method-hero__image {
  filter: saturate(.82) contrast(.98) brightness(.9);
  animation: heroBreath 11s ease-in-out infinite alternate;
}

.method-hero__wash {
  background:
    linear-gradient(90deg,#051d2d 0%,rgba(5,29,45,.9) 17%,rgba(5,29,45,.56) 42%,rgba(5,29,45,.12) 72%,rgba(5,29,45,.04) 100%),
    linear-gradient(0deg,rgba(5,29,45,.62) 0%,transparent 44%);
}

.method-hero__grid {
  opacity: .92;
  animation: gridDrift 12s linear infinite;
}

.method-hero__rings {
  opacity: .78;
  filter: drop-shadow(0 0 18px rgba(190,228,248,.18));
}

.method-hero::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: -20%;
  bottom: -20%;
  width: 18%;
  left: -24%;
  transform: skewX(-12deg);
  background: linear-gradient(90deg, transparent, rgba(210,235,248,.16), transparent);
  filter: blur(10px);
  animation: heroSweep 6.8s ease-in-out infinite;
}

.method-hero__content {
  text-shadow: 0 3px 24px rgba(5,29,45,.4);
}

/* =========================================================
   REGIA INTEGRATA — NUOVA ANIMAZIONE
   ========================================================= */
.direction-section {
  grid-template-columns: .78fr 1.22fr;
  min-height: 900px;
}

.direction-machine {
  position: relative;
  min-height: 680px;
  isolation: isolate;
}

.direction-machine::before {
  content: "";
  position: absolute;
  inset: 8%;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 42px 42px;
  border-radius: 50%;
  mask-image: radial-gradient(circle, #000 0 62%, transparent 78%);
  animation: gridRotate 28s linear infinite;
}

.direction-machine__core {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 50%;
  width: 205px;
  height: 205px;
  display: grid;
  place-content: center;
  text-align: center;
  border: 1px solid rgba(215,239,255,.38);
  border-radius: 50%;
  background: radial-gradient(circle at 45% 36%, rgba(103,158,188,.32), rgba(5,29,45,.96) 68%);
  box-shadow: 0 0 0 18px rgba(255,255,255,.025), 0 0 65px rgba(101,163,194,.22);
  transform: translate(-50%,-50%);
}

.direction-machine__core-label {
  display: block;
  margin-bottom: 12px;
  color: #9dc7dc;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .2em;
}

.direction-machine__core strong {
  color: #fff;
  font-size: 23px;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: .06em;
}

.direction-machine__core i {
  position: absolute;
  left: 50%;
  bottom: 26px;
  width: 42px;
  height: 2px;
  transform: translateX(-50%);
  overflow: hidden;
  background: rgba(255,255,255,.14);
}

.direction-machine__core i::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #d7efff;
  animation: coreSignal 2.1s ease-in-out infinite;
}

.direction-machine__orbit {
  position: absolute;
  left: 50%;
  top: 50%;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  transform: translate(-50%,-50%);
}

.direction-machine__orbit::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -4px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-radius: 50%;
  background: #d7efff;
  box-shadow: 0 0 16px rgba(215,239,255,.8);
}

.direction-machine__orbit--one {
  width: 310px;
  height: 310px;
  animation: ringSpin 17s linear infinite;
}

.direction-machine__orbit--two {
  width: 460px;
  height: 460px;
  animation: ringSpin 26s linear infinite reverse;
}

.direction-machine__orbit--three {
  width: 620px;
  height: 620px;
  animation: ringSpin 38s linear infinite;
}

.direction-machine__node {
  position: absolute;
  z-index: 4;
  min-width: 142px;
  padding: 15px 18px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(5,29,45,.83);
  backdrop-filter: blur(9px);
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
  animation: nodeFloat 4.8s ease-in-out infinite;
}

.direction-machine__node span {
  display: block;
  margin-bottom: 7px;
  color: #8fb8cd;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .14em;
}

.direction-machine__node strong {
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.direction-machine__node--1 { left: 2%; top: 12%; }
.direction-machine__node--2 { left: 4%; top: 52%; animation-delay: .5s; }
.direction-machine__node--3 { left: 24%; bottom: 3%; animation-delay: 1s; }
.direction-machine__node--4 { right: 24%; bottom: 2%; animation-delay: 1.5s; }
.direction-machine__node--5 { right: 2%; top: 53%; animation-delay: 2s; }
.direction-machine__node--6 { right: 4%; top: 13%; animation-delay: 2.5s; }
.direction-machine__node--7 { left: 50%; top: 1%; transform: translateX(-50%); animation-delay: 3s; }

.direction-machine__scan {
  position: absolute;
  z-index: 6;
  left: 8%;
  right: 8%;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(215,239,255,.92), transparent);
  box-shadow: 0 0 18px rgba(215,239,255,.72);
  animation: verticalScan 5.2s ease-in-out infinite;
}

/* FOTO FUTURE */
.photo-file-note {
  position: absolute;
  z-index: 5;
  left: 24px;
  top: 22px;
  padding: 8px 10px;
  color: rgba(255,255,255,.58);
  background: rgba(5,29,45,.7);
  border: 1px solid rgba(255,255,255,.14);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.photo-file-note--closing {
  left: auto;
  right: var(--page-pad);
}

/* KEYFRAMES AGGIUNTIVI */
@keyframes heroSweep {
  0%, 8% { left: -24%; opacity: 0; }
  25% { opacity: 1; }
  60% { opacity: .8; }
  100% { left: 116%; opacity: 0; }
}

@keyframes gridRotate {
  to { transform: rotate(360deg); }
}

@keyframes coreSignal {
  0%,100% { transform: translateX(-110%); }
  50% { transform: translateX(110%); }
}

@keyframes nodeFloat {
  0%,100% { margin-top: 0; }
  50% { margin-top: -10px; }
}

@keyframes verticalScan {
  0%,100% { top: 7%; opacity: 0; }
  15%,85% { opacity: 1; }
  50% { top: 92%; }
}

@media (max-width: 980px) {
  .method-page .main-nav {
    position: fixed;
    inset: 0;
    z-index: 1001;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 24px;
    padding: 110px 34px 50px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    background: rgba(5,29,45,.985);
    transition: opacity .3s ease, visibility .3s ease, transform .3s ease;
  }

  .method-page .main-nav.is-open {
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .method-page .main-nav > a,
  .method-page .nav-item > a {
    font-size: 22px;
  }

  .method-page .projects-submenu {
    position: static;
    min-width: 0;
    padding: 14px 0 0 16px;
    opacity: 1;
    visibility: visible;
    transform: none;
    background: transparent;
    border: 0;
  }

  .method-page .menu-toggle {
    position: relative;
    z-index: 1003;
    display: grid;
    gap: 5px;
    width: 44px;
    padding: 8px 0;
    border: 0;
    background: transparent;
  }

  .method-page .menu-toggle > span:not(.menu-toggle__label) {
    display: block;
    width: 30px;
    height: 1px;
    background: #fff;
  }

  .method-page .menu-toggle__label {
    display: none;
  }

  .direction-section {
    grid-template-columns: 1fr;
  }

  .direction-machine {
    min-height: 700px;
  }
}

@media (max-width: 720px) {
  .direction-machine {
    min-height: 620px;
    transform: scale(.88);
    transform-origin: center;
  }

  .direction-machine__orbit--three {
    width: 540px;
    height: 540px;
  }

  .direction-machine__orbit--two {
    width: 400px;
    height: 400px;
  }

  .direction-machine__orbit--one {
    width: 270px;
    height: 270px;
  }

  .direction-machine__node {
    min-width: 118px;
    padding: 12px 14px;
  }

  .direction-machine__node--1 { left: -4%; }
  .direction-machine__node--2 { left: -6%; }
  .direction-machine__node--5 { right: -7%; }
  .direction-machine__node--6 { right: -4%; }
}

.system-section,.system-orbit,.system-chips{display:none!important}


/* =========================================================
   FOTOGRAFIE DEFINITIVE — METODO
   ========================================================= */

.field-photo__image {
  position: relative;
  height: 100%;
  min-height: 620px;
  overflow: hidden;
  border-radius: 0 32px 32px 0;
  background: #08253a;
}

.field-photo__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transform: scale(1.025);
  filter: saturate(.86) contrast(.98) brightness(.91);
  transition: transform 1.4s cubic-bezier(.2,.72,.22,1),
              filter 1.2s ease;
}

.field-photo__image:hover img {
  transform: scale(1.065);
  filter: saturate(.95) contrast(1) brightness(.96);
}

.field-photo__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,29,45,.22), transparent 42%),
    linear-gradient(0deg, rgba(5,29,45,.38), transparent 42%);
  pointer-events: none;
}

.method-closing {
  isolation: isolate;
  min-height: 760px;
}

.method-closing__image,
.method-closing__overlay {
  position: absolute;
  inset: 0;
}

.method-closing__image {
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.82) contrast(.98) brightness(.76);
  transform: scale(1.035);
  animation: methodClosingBreath 16s ease-in-out infinite alternate;
}

.method-closing__overlay {
  z-index: -2;
  background:
    linear-gradient(
      90deg,
      rgba(5,29,45,.97) 0%,
      rgba(5,29,45,.88) 27%,
      rgba(5,29,45,.57) 52%,
      rgba(5,29,45,.2) 78%,
      rgba(5,29,45,.12) 100%
    ),
    linear-gradient(
      0deg,
      rgba(5,29,45,.76) 0%,
      rgba(5,29,45,.08) 62%
    );
}

.method-closing__lines {
  z-index: -1;
  opacity: .72;
}

.method-closing__content {
  max-width: 970px;
  text-shadow: 0 4px 28px rgba(5,29,45,.48);
}

@keyframes methodClosingBreath {
  from {
    transform: scale(1.035) translate3d(0,0,0);
  }
  to {
    transform: scale(1.095) translate3d(-.8%,-.35%,0);
  }
}

@media (max-width: 1100px) {
  .field-photo__image {
    min-height: 520px;
    border-radius: 28px;
  }
}

@media (max-width: 720px) {
  .field-photo__image {
    min-height: 410px;
  }

  .method-closing {
    min-height: 680px;
  }

  .method-closing__image {
    object-position: 62% center;
  }

  .method-closing__overlay {
    background:
      linear-gradient(90deg, rgba(5,29,45,.91), rgba(5,29,45,.44)),
      linear-gradient(0deg, rgba(5,29,45,.82), transparent 66%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .method-closing__image {
    animation: none !important;
  }

  .field-photo__image img {
    transition: none !important;
  }
}
