/* The leaf is the visible layer. The microscape is composited from cached images on canvas. */
.hero-inner{grid-template-columns:44% 56%}
.discovery-panel.hero-visual{display:block;position:relative;width:100%;height:630px;margin:0;overflow:hidden;isolation:isolate;border:1px solid #78b9b7;border-radius:18px;background:#0b2d3d;box-shadow:18px 24px 0 #020e1670,inset 0 0 0 1px #d5fff022;cursor:crosshair;touch-action:none}
.discovery-panel.hero-visual:before,.discovery-panel.hero-visual:after{display:none}
.discovery-panel:focus-visible{outline:3px solid #a2f8dd;outline-offset:5px}
.discovery-stage,.world-surface,.world-vignette{position:absolute;inset:0}
.world-surface{background-position:center;background-size:cover}
.world-surface{background-image:url('../images/water/surface-desktop.jpg')}
.discovery-canvas{position:absolute;z-index:1;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.world-vignette{z-index:4;background:linear-gradient(180deg,#061925b8 0,transparent 16%,transparent 64%,#061925ef 100%);pointer-events:none}
.world-marker{position:absolute;z-index:3;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s,visibility .15s;display:flex;align-items:center;gap:6px;padding:4px 7px;color:#e9fff1;background:#08233dcc;border:1px solid #a8f6d8a3;font:9px 'DM Mono',monospace;letter-spacing:.06em;white-space:nowrap;box-shadow:0 3px 16px #00172b88}
.world-marker.is-hovered{opacity:1;visibility:visible}
.world-marker b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#90e5c7;color:#073340;font-size:9px}
.marker-one{left:19%;top:29%}.marker-two{left:60%;top:61%}.marker-three{left:29%;top:78%}
.discovery-top,.discovery-bottom,.discovery-prompt{position:absolute;z-index:5}
.discovery-top{left:0;right:0;top:0;padding:20px 23px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#d1f6e9;font:10px 'DM Mono',monospace;letter-spacing:.1em}
.discovery-top span:first-child{display:flex;align-items:center;gap:9px}.discovery-top i{width:7px;height:7px;background:#a5f5ce;border-radius:50%;box-shadow:0 0 13px #9affd6}
.discovery-prompt{left:29px;top:31%;pointer-events:none;transition:opacity .22s,transform .22s;color:#effff6;text-shadow:0 2px 15px #002334b2}
.discovery-prompt span,.discovery-prompt small{display:block;font:10px 'DM Mono',monospace;letter-spacing:.13em}.discovery-prompt span{color:#b2f4d7}.discovery-prompt strong{display:block;margin:12px 0 18px;font:700 clamp(48px,5.4vw,78px)/.86 'Space Grotesk',Arial,sans-serif;letter-spacing:-.09em}.discovery-prompt small{color:#ecfff2}
.discovery-panel.is-scanning .discovery-prompt,.discovery-panel.show-all .discovery-prompt{opacity:0;transform:translateY(-10px)}
.discovery-bottom{left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:18px;padding:19px 22px;color:#e9fff1}
.discovery-readout span{display:block;color:#a4dccd;font:9px 'DM Mono',monospace;letter-spacing:.12em;margin-bottom:6px}.discovery-readout strong{font:600 13px 'DM Mono',monospace;letter-spacing:.02em}
.discovery-progress{display:flex;align-items:center;gap:5px;padding-bottom:8px}.progress-dot{width:7px;height:7px;border-radius:50%;border:1px solid #a6e4ce;background:transparent}.progress-dot.found{background:#91edc1;box-shadow:0 0 8px #91edc1}.discovery-progress b{font:10px 'DM Mono',monospace;font-weight:400;margin-left:6px;white-space:nowrap}
.reveal-all{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px;border:1px solid #a5ebd4;color:#eafff1;background:#0b3144c9;font:10px 'DM Mono',monospace;letter-spacing:.03em;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}.reveal-all span{font-size:16px}.reveal-all:hover,.reveal-all[aria-pressed="true"]{background:#a5ebd4;color:#072b37}.reveal-all:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:1100px){.hero-inner{grid-template-columns:42% 58%}.discovery-panel.hero-visual{height:570px}.discovery-bottom{grid-template-columns:1fr auto;gap:7px 14px}.discovery-progress{grid-column:1;grid-row:2;padding:0}.reveal-all{grid-column:2;grid-row:1/3;align-self:end}}
@media(max-width:800px){.hero-inner{display:block}.discovery-panel.hero-visual{width:min(100%,650px);height:610px;margin:20px auto 26px}}
@media(max-width:600px){.discovery-panel.hero-visual{height:490px;margin:22px auto 25px;border-radius:12px;box-shadow:8px 12px 0 #020e1670}.discovery-top{padding:15px 13px;font-size:7px}.discovery-prompt{left:18px;top:32%}.discovery-prompt span,.discovery-prompt small{font-size:8px}.discovery-prompt strong{font-size:59px}.discovery-bottom{padding:14px 12px;gap:7px}.discovery-readout span{font-size:8px}.discovery-readout strong{font-size:10px}.discovery-progress b{font-size:9px}.reveal-all{font-size:8px;min-height:33px;padding:0 7px}.world-marker{font-size:7px}.world-marker b{width:18px;height:18px;font-size:7px}.marker-two{left:50%}.marker-three{left:22%}}
@media(prefers-reduced-motion:reduce){.discovery-prompt,.reveal-all{transition:none!important}}

/* The scan now occupies the entire opening section, with the editorial content layered above it. */
.hero-immersive{min-height:100svh;background:#092737}
.hero-immersive:before{display:none}
.hero-immersive .discovery-stage:after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#041722a8 0%,#071d2994 26%,#0928384d 49%,transparent 76%),linear-gradient(0deg,#03131fee 0%,transparent 25%);pointer-events:none}
.hero-immersive .discovery-panel.hero-visual{position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none;background:#0b2d3d;cursor:crosshair;touch-action:pan-y}
.hero-immersive .cover-meta{position:relative;z-index:3;pointer-events:none}
.hero-immersive .hero-inner{position:relative;z-index:3;display:flex;align-items:center;min-height:calc(100svh - 125px);padding:0;pointer-events:none}
.hero-immersive .hero-copy{width:min(58%,700px);padding:0 0 45px;pointer-events:none}
.hero-immersive .hero-copy a{pointer-events:auto}
.hero-immersive .hero-copy h1{font-size:clamp(70px,8vw,132px);max-width:700px;text-shadow:0 8px 45px #00131f8c}
.hero-immersive .hero-copy>p{max-width:440px;color:#d3e7e5}
.hero-immersive .hero-footnote{color:#b4d6d2}
.hero-immersive .hero-bottom{display:none}
.hero-immersive .discovery-top,.hero-immersive .discovery-prompt{display:none}
.hero-immersive .discovery-bottom{left:auto;right:max(4vw,28px);bottom:27px;width:min(430px,44vw);grid-template-columns:1fr auto;gap:12px 22px;padding:14px 0 0;border-top:1px solid #b0ecdc8c;background:transparent}
.hero-immersive .discovery-readout{grid-column:1;grid-row:1}.hero-immersive .discovery-progress{grid-column:1;grid-row:2;padding:0}.hero-immersive .reveal-all{grid-column:2;grid-row:1/3;align-self:end}
.hero-immersive .world-marker{box-shadow:0 3px 16px #00172b88}
@media(max-width:800px){.hero-immersive .hero-inner{min-height:calc(100svh - 118px);display:flex;align-items:center}.hero-immersive .hero-copy{width:min(68%,580px);padding:0 0 75px}.hero-immersive .hero-copy h1{font-size:clamp(62px,9vw,92px)}.hero-immersive .discovery-bottom{width:min(390px,55vw)}}
@media(max-width:600px){.hero-immersive{min-height:max(810px,100svh)}.hero-immersive .discovery-stage:after{background:linear-gradient(180deg,#041722ed 0%,#061c28d1 31%,#0928384d 57%,#041722e8 100%)}.hero-immersive .cover-meta{padding-top:96px}.hero-immersive .hero-inner{min-height:0;display:block}.hero-immersive .hero-copy{width:100%;padding:52px 0 330px}.hero-immersive .hero-copy h1{font-size:clamp(58px,14vw,84px)}.hero-immersive .hero-copy>p{max-width:370px}.hero-immersive .hero-footnote{margin-top:28px}.hero-immersive .discovery-bottom{left:17px;right:17px;bottom:19px;width:auto;padding-top:12px}.hero-immersive .discovery-readout strong{font-size:11px}.hero-immersive .world-marker{font-size:7px}}

@media(max-width:600px){.world-surface{background-position:68% center}}
.hero-immersive .hero-inner{min-height:100svh}
.hero-immersive .hero-copy button{pointer-events:auto}
.hero-immersive .explore-trigger{border:0;text-align:left;cursor:pointer;appearance:none}
.hero-immersive .explore-trigger:focus-visible{outline:3px solid #b3ffe7;outline-offset:5px}
@media(max-width:800px){.hero-immersive .hero-inner{min-height:100svh}}
@media(max-width:600px){.hero-immersive .hero-inner{min-height:0}.hero-immersive .hero-copy{padding:145px 0 220px}}
.hero-immersive .explore-cta{position:relative;display:flex;align-items:center;justify-content:center;width:186px;height:58px;border:1px solid #9cd9d1;border-radius:2px;background:#07253180;color:#eafff4;text-decoration:none;font:700 12px 'DM Mono',monospace;letter-spacing:.17em;transition:background .18s,color .18s,border-color .18s}
.hero-immersive .explore-cta-label{display:block;text-align:center;line-height:1}
.hero-immersive .explore-cta-arrow{position:absolute;right:17px;top:50%;transform:translateY(-50%);color:#8ae0d0;font:19px/1 Arial,sans-serif}
.hero-immersive .explore-cta:hover{background:#9ce6d5;border-color:#9ce6d5;color:#062a35}
.hero-immersive .explore-cta:hover .explore-cta-arrow{color:#062a35}
.hero-immersive .explore-cta:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:600px){.hero-immersive .explore-cta{width:176px;height:54px}.hero-immersive .explore-cta-arrow{right:15px}}
@media(prefers-reduced-motion:reduce){.hero-immersive .explore-cta{transition:none}}

/* On phones the water is a dedicated touch surface, with copy and controls outside it. */
@media(max-width:600px){
  .hero-immersive{display:flex;flex-direction:column;min-height:0;padding-bottom:92px;background-color:#071d29;background-image:url('../images/water/surface-mobile.jpg');background-repeat:no-repeat;background-position:center top;background-size:auto calc(100% - 92px)}
  .hero-immersive .hero-inner{order:0;width:min(100% - 34px,1380px);min-height:0;margin-inline:auto;padding:0;display:block}
  .hero-immersive .hero-copy{width:100%;padding:108px 0 25px}
  .hero-immersive .hero-copy h1{max-width:520px;margin-bottom:15px;font-size:clamp(40px,11.5vw,56px);line-height:.98;letter-spacing:-.075em}
  .hero-immersive .hero-copy h1 br{display:none}
  .hero-immersive .hero-copy>p{max-width:450px;margin-bottom:18px;font-size:14px;line-height:1.45}
  .hero-immersive .hero-actions{gap:15px;align-items:center}
  .hero-immersive .explore-cta{width:132px;height:44px;flex:none;font-size:10px}
  .hero-immersive .explore-cta-arrow{right:12px;font-size:17px}
  .hero-immersive .hero-actions .text-link{font-size:10px;line-height:1.3}
  .hero-immersive .discovery-panel.hero-visual{position:relative;order:1;inset:auto;width:100%;height:clamp(640px,82svh,740px);min-height:0;margin:0;overflow:visible;background:transparent;touch-action:none;cursor:crosshair}
  .hero-immersive .discovery-stage{overflow:visible}
  .hero-immersive .discovery-canvas{top:calc(-1 * var(--mobile-intro-height,0px));bottom:auto;height:calc(100% + var(--mobile-intro-height,0px))}
  .hero-immersive .world-surface,.hero-immersive .world-vignette,.hero-immersive .discovery-stage:after{display:none}
  .hero-immersive .discovery-bottom{top:100%;bottom:auto;left:0;right:0;width:100%;min-height:92px;padding:12px 17px 16px;border-top:1px solid #7bc5bb70;background:#071d29;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:center}
  .hero-immersive .discovery-readout{min-width:0;grid-column:1;grid-row:1}
  .hero-immersive .discovery-readout span{font-size:8px;line-height:1.3}
  .hero-immersive .discovery-readout strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
  .hero-immersive .discovery-progress{grid-column:1;grid-row:2}
  .hero-immersive .reveal-all{grid-column:2;grid-row:1/3;min-height:40px;padding:0 9px;font-size:9px}
}

/* Copertine originali dei post Instagram */
.card-art:has(.post-image){height:auto;aspect-ratio:auto;display:block;background:#06141d}
.card-art:has(.post-image)::after{background:linear-gradient(180deg,transparent 58%,rgba(2,13,20,.34));opacity:1}
.post-image{display:block;width:100%;height:auto;object-fit:contain;transform:scale(1.001);transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .45s ease;filter:saturate(.92) contrast(1.03)}
.story-card:hover .post-image{transform:scale(1.055);filter:saturate(1.06) contrast(1.04)}

/* Persistent section navigation. */
.site-header{position:fixed;inset:0 0 auto;z-index:50;color:#effbf8;border-bottom:1px solid #c6f5e529;background:linear-gradient(180deg,#041722e8,#04172292);transition:background .2s,border-color .2s,box-shadow .2s}
.site-header.is-scrolled,.site-header.menu-visible{background:#061b27f2;border-color:#a8e2d460;box-shadow:0 12px 30px #00131e36}
.site-header .brand-mark{border-color:#7bd9cf}.site-header .brand-mark svg{stroke:#7bd9cf}
.site-header .main-nav{gap:5px}
.site-header .main-nav>a:not(.nav-instagram){position:relative;display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;color:#d7efeb;transition:background .18s,color .18s}
.site-header .main-nav>a:not(.nav-instagram):hover,.site-header .main-nav>a[aria-current="location"]{background:#6acac018;color:#baf3e3}
.site-header .main-nav>a[aria-current="location"]:before{content:"";position:absolute;left:0;top:11px;bottom:11px;width:2px;background:#8fe5cf}
.site-header .main-nav .nav-instagram{margin-left:10px;border-color:#9dd8d0;color:#effbf8}
.site-header .main-nav a:focus-visible,.site-header .brand:focus-visible,.site-header .menu-toggle:focus-visible{outline:2px solid #b7ffdc;outline-offset:3px}
#mondo-nascosto,#esplora,#progetto{scroll-margin-top:82px}
@media(max-width:800px){
  .site-header .header-inner{height:72px}
  .site-header .menu-toggle{width:48px;height:44px;align-items:center;justify-content:center;gap:6px;padding:0;border-color:#8ac9c6;background:#072633b8}
  .site-header .menu-toggle span{width:22px;flex:none;background:#eafff4;transition:transform .24s ease}
  .site-header .main-nav{position:fixed;top:72px;left:0;right:0;display:flex;max-height:calc(100dvh - 72px);overflow-y:auto;gap:0;padding:14px 20px 25px;background:#061b27f8;border-bottom:1px solid #8ed9cc7a;box-shadow:0 22px 34px #00121dcc;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s}
  .site-header .main-nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .25s ease,transform .25s ease,visibility 0s}
  .site-header .main-nav>a:not(.nav-instagram){display:flex;width:100%;min-height:66px;padding:15px 12px;border-bottom:1px solid #9cd7cf32;font:600 19px 'Space Grotesk',Arial,sans-serif;letter-spacing:-.03em;text-transform:none}
  .site-header .main-nav>a:not(.nav-instagram):before{position:static;width:auto;height:auto;margin-right:20px;background:none;color:#8bd5c9;font:11px 'DM Mono',monospace;letter-spacing:0}
  .site-header .main-nav>a:nth-child(1):before{content:"01"}
  .site-header .main-nav>a:nth-child(2):before{content:"02"}
  .site-header .main-nav>a:nth-child(3):before{content:"03"}
  .site-header .main-nav>a:not(.nav-instagram):after{content:"↓";margin-left:auto;color:#8bd5c9;font:21px Arial,sans-serif}
  .site-header .main-nav .nav-instagram{display:flex;align-items:center;justify-content:space-between;margin:20px 0 0;padding:14px 17px;border-color:#9dd8d0;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.site-header,.site-header .main-nav,.site-header .main-nav>a:not(.nav-instagram),.site-header .menu-toggle span{transition:none}}

/* Archivio editoriale: copertine Instagram complete, senza ritaglio. */
.explore .card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.explore .story-card{
  display:flex;
  min-height:0;
  flex-direction:column;
  align-items:stretch;
  position:relative;
  overflow:hidden;
  border:1px solid #456672;
  background:#081d28;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.explore .story-card::before{
  content:none;
  display:none;
}
.explore .story-card:hover{
  transform:translateY(-5px);
  border-color:#72c9c0;
  background:#0b2632;
  box-shadow:0 20px 42px #00131d5c;
}
.explore .story-card .card-art{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  display:block;
  overflow:visible;
  transform:none;
  box-shadow:none;
  background:#06141d;
}
.explore .story-card:hover .card-art,
.explore .story-card:nth-child(even):hover .card-art{
  transform:none;
  box-shadow:none;
}
.explore .story-card .card-art::after{display:none}
.explore .post-image,
.explore .story-card:hover .post-image{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  object-fit:contain;
  transform:none;
  filter:none;
}
.explore .card-content{
  flex:1;
  min-height:0;
  padding:22px 20px 23px;
}
.explore .card-content h3{
  font-size:clamp(21px,2vw,28px);
  margin:12px 0 25px;
}
.explore .all-content{padding-left:0}

@media(max-width:1100px){
  .explore .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}
@media(max-width:600px){
  .explore .card-grid{grid-template-columns:1fr;gap:22px}
  .explore .story-card{padding:0}
  .explore .story-card .card-art{grid-column:auto;grid-row:auto;width:100%;height:auto}
  .explore .card-content{grid-column:auto;grid-row:auto;padding:20px 19px 22px}
  .explore .card-content h3{font-size:25px}
  .explore .all-content{padding-left:0}
}

.site-footer .footer-links{display:flex;align-items:center;gap:26px;font-size:13px}
.site-footer .footer-links a{border-bottom:1px solid #7aa5a9;padding-bottom:2px}

/* Forme più morbide, ispirate alle strutture organiche osservate al microscopio. */
.explore .story-card{border-radius:20px}
.explore .story-card .card-art{border-radius:19px 19px 0 0}
.hero-immersive .explore-cta{border-radius:16px}
.reveal-all{border-radius:12px}
.button-outline{border-radius:999px}
.site-header .main-nav>a:not(.nav-instagram){border-radius:12px}
.site-header .main-nav .nav-instagram{border-radius:999px}
.site-header .menu-toggle{border-radius:50%}

@media(max-width:600px){
  .explore .story-card{border-radius:18px}
  .explore .story-card .card-art{border-radius:17px 17px 0 0}
  .hero-immersive .explore-cta{border-radius:14px}
}

/* Navigazione essenziale: indicatore sottile al posto del riquadro pieno. */
@media(min-width:801px){
  .site-header .main-nav>a:not(.nav-instagram){
    border-radius:0;
    background:transparent;
  }
  .site-header .main-nav>a:not(.nav-instagram):hover,
  .site-header .main-nav>a[aria-current="location"]{
    background:transparent;
    color:#baf3e3;
  }
  .site-header .main-nav>a:not(.nav-instagram)::before{
    content:"";
    position:absolute;
    left:14px;
    right:14px;
    top:auto;
    bottom:5px;
    width:auto;
    height:1px;
    background:#8fe5cf;
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .22s ease;
  }
  .site-header .main-nav>a:not(.nav-instagram):hover::before,
  .site-header .main-nav>a[aria-current="location"]::before{
    transform:scaleX(1);
  }
  .site-header .main-nav .nav-instagram:hover{
    border-color:#baf3e3;
    background:#8fe5cf14;
    color:#effbf8;
  }
}

@media(max-width:800px){
  .site-header .main-nav>a:not(.nav-instagram):hover,
  .site-header .main-nav>a[aria-current="location"]{
    background:transparent;
    color:#baf3e3;
  }
}

/* Menu mobile a tutta altezza, pensato come indice editoriale. */
@media(max-width:800px){
  .site-header .menu-toggle{
    width:46px;
    height:46px;
    border-radius:50%;
    background:#0b2b37d9;
    box-shadow:inset 0 0 0 1px #ffffff0a;
    transition:background .24s ease,border-color .24s ease,transform .24s ease;
  }
  .site-header .menu-toggle:hover{transform:scale(1.04)}
  .site-header .menu-toggle[aria-expanded="true"]{
    border-color:#9ce6d5;
    background:#0b2b37f2;
  }
  .site-header .menu-toggle[aria-expanded="true"] span{background:#9ce6d5}
  .site-header .main-nav{
    top:72px;
    height:calc(100dvh - 72px);
    max-height:none;
    justify-content:flex-start;
    padding:clamp(24px,6vh,54px) 24px 28px;
    border:0;
    background:
      linear-gradient(180deg,#061b27fa 0%,#071923fd 72%),
      #071923;
    box-shadow:none;
    backdrop-filter:blur(18px) saturate(1.15);
    opacity:0;
    transform:translateY(-16px) scale(.985);
    transform-origin:top center;
    transition:opacity .28s ease,transform .34s cubic-bezier(.2,.75,.25,1),visibility 0s linear .34s;
  }
  .site-header .main-nav.open{
    opacity:1;
    transform:translateY(0) scale(1);
    transition:opacity .28s ease,transform .34s cubic-bezier(.2,.75,.25,1),visibility 0s;
  }
  .site-header .main-nav>a:not(.nav-instagram){
    width:auto;
    align-self:stretch;
    min-height:86px;
    margin:0;
    padding:17px 4px;
    border:0;
    border-bottom:1px solid #86c9c538;
    border-radius:0;
    background:transparent;
    font:600 27px/1.05 'Space Grotesk',Arial,sans-serif;
    letter-spacing:-.045em;
    opacity:0;
    transform:translateY(12px);
    transition:opacity .22s ease,transform .3s ease,border-color .2s ease,color .2s ease,background .2s ease;
  }
  .site-header .main-nav.open>a:not(.nav-instagram){opacity:1;transform:translateY(0)}
  .site-header .main-nav.open>a:nth-child(1){transition-delay:.05s}
  .site-header .main-nav.open>a:nth-child(2){transition-delay:.09s}
  .site-header .main-nav.open>a:nth-child(3){transition-delay:.13s}
  .site-header .main-nav>a:not(.nav-instagram)::before{
    display:block;
    flex:0 0 40px;
    width:40px;
    height:auto;
    margin-right:12px;
    border:0;
    border-radius:0;
    color:#8bd5c9;
    font:500 10px/1 'DM Mono',monospace;
  }
  .site-header .main-nav>a:not(.nav-instagram)::after{
    content:"↘";
    margin-left:auto;
    color:#76beb5;
    font:20px/1 Arial,sans-serif;
    transition:transform .2s ease,color .2s ease;
  }
  .site-header .main-nav>a:not(.nav-instagram):hover,
  .site-header .main-nav>a[aria-current="location"]{
    border-bottom-color:#86c9c538;
    background:transparent;
    color:#9ce6d5;
  }
  .site-header .main-nav>a:not(.nav-instagram):hover::after,
  .site-header .main-nav>a[aria-current="location"]::after{
    color:#a9efdd;
    transform:translate(2px,2px);
  }
  .site-header .main-nav>a[aria-current="location"]::before{
    border:0;
    background:transparent;
    color:#9ce6d5;
  }
  .site-header .main-nav .nav-instagram{
    align-self:stretch;
    min-height:54px;
    margin:clamp(18px,5vh,42px) 0 0;
    padding:14px 19px;
    border-radius:999px;
    border-color:#9dd8d0;
    background:transparent;
    color:#effbf8;
    font-size:12px;
    opacity:0;
    transform:translateY(12px);
    transition:opacity .22s ease .16s,transform .3s ease .16s,background .2s ease;
  }
  .site-header .main-nav.open .nav-instagram{opacity:1;transform:translateY(0)}
  .site-header .main-nav .nav-instagram:hover{background:#8fe5cf14;color:#effbf8}
}

@media(max-width:600px){
  .site-header .main-nav{padding:21px 20px 22px}
  .site-header .main-nav>a:not(.nav-instagram){min-height:74px;border-radius:0;font-size:23px}
  .site-header .main-nav>a:not(.nav-instagram)::before{flex-basis:36px;width:36px;height:auto;margin-right:10px}
}
.site-footer .footer-links a:hover{color:#7bd0a6}
@media(max-width:600px){
  .site-footer .footer-links{gap:18px;font-size:12px}
}

/* Un percorso sul metodo, distinto dall'esplorazione dell'acqua. */
.method-section{padding:110px 0 45px;background:#071923;border-top:1px solid #31505b}
.method-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(45px,8vw,120px);align-items:start}
.method-intro{position:sticky;top:120px;padding-bottom:35px}
.method-intro h2{font-size:clamp(40px,4.6vw,68px);line-height:1.05;margin:0 0 24px}
.method-intro h2 em{color:#5bcbd5}
.method-intro>p{color:#aac0c5;max-width:440px;line-height:1.7}
.method-diagram{position:relative;margin-top:24px;max-width:520px}
.petri-scene{display:block;width:100%;height:auto;overflow:visible}
.method-caption{display:block;text-align:center;font:10px 'DM Mono',monospace;color:#7bd0a6;letter-spacing:.08em;margin-top:8px}
.petri-focus,.petri-compare,.petri-notes{opacity:0;transition:opacity .6s ease}
.petri-colonies{transform-origin:260px 154px;transition:transform .8s ease}
.method-diagram[data-stage="1"] .petri-focus,.method-diagram[data-stage="2"] .petri-focus,.method-diagram[data-stage="3"] .petri-focus{opacity:1}
.method-diagram[data-stage="2"] .petri-compare,.method-diagram[data-stage="3"] .petri-compare,.method-diagram[data-stage="3"] .petri-notes{opacity:1}
.method-diagram[data-stage="1"] .petri-colonies{transform:scale(1.025)}
.method-step{min-height:58vh;display:flex;flex-direction:column;justify-content:center;padding:48px 0;border-top:1px solid #31505b}
.method-step>span{font:11px 'DM Mono',monospace;color:#7bd0a6;letter-spacing:.07em}
.method-step h3{font-size:clamp(28px,3vw,44px);letter-spacing:-.05em;line-height:1.12;margin:24px 0;color:#e2efef}
.method-step.is-active h3{color:#9ce6d5}
.method-step p{max-width:430px;color:#aac0c5;line-height:1.75}
.method-step small{font-size:11px;color:#819fa7;max-width:400px}
@media(max-width:600px){
 .method-section{padding:72px 0 24px}
 .method-layout{display:block}
 .method-intro{position:relative;top:auto;padding-bottom:28px}
 .method-intro h2{font-size:44px}
 .method-diagram{margin-top:35px}
 .method-step{min-height:0;padding:34px 0 38px}
 .method-step h3{font-size:32px;margin:19px 0}
}
@media(prefers-reduced-motion:reduce){.petri-focus,.petri-compare,.petri-notes,.petri-colonies{transition:none;transform:none}}

/* Vetro stratificato, campioni organici e annotazioni legate alle fasi. */
.method-diagram{max-width:540px;margin-top:18px}
.method-intro{top:100px}
.method-intro h2{font-size:clamp(38px,4.2vw,62px)}
.petri-scene{max-height:36vh;min-height:230px}
.petri-colonies,.method-diagram[data-stage="1"] .petri-colonies{transform:none}
.petri-focus,.petri-compare,.petri-notes{transition:opacity .65s ease,translate .65s ease;translate:0 5px}
.method-diagram[data-stage="1"] .petri-focus,
.method-diagram[data-stage="2"] .petri-focus,
.method-diagram[data-stage="3"] .petri-focus,
.method-diagram[data-stage="2"] .petri-compare,
.method-diagram[data-stage="3"] .petri-compare,
.method-diagram[data-stage="3"] .petri-notes{translate:0 0}
.petri-leader{stroke-dasharray:180;stroke-dashoffset:180;transition:stroke-dashoffset .85s ease}
.method-diagram[data-stage="1"] .petri-focus .petri-leader,
.method-diagram[data-stage="2"] .petri-focus .petri-leader,
.method-diagram[data-stage="3"] .petri-focus .petri-leader,
.method-diagram[data-stage="2"] .petri-compare .petri-leader,
.method-diagram[data-stage="3"] .petri-compare .petri-leader{stroke-dashoffset:0}
.petri-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 0 5px;border-top:1px solid #7bcac533}
.petri-phase{font:10px 'DM Mono',monospace;color:#88b9ba;white-space:nowrap}
.petri-footer .method-caption{margin:0;font-size:9px;text-align:left;line-height:1.5}
.petri-dots{display:flex;gap:6px;flex-shrink:0}
.petri-dots i{width:5px;height:5px;border-radius:50%;background:#426169;transition:background .3s,box-shadow .3s}
.petri-dots .is-active{background:#9ce6d5;box-shadow:0 0 9px #9ce6d55c}
.method-step h3{transition:color .4s ease}
@media(max-width:600px){
 .method-intro{display:contents}
 .method-intro h2{font-size:40px}
 .method-diagram{position:sticky;top:72px;z-index:3;margin:22px -5px 8px;padding:4px 5px 12px;background:linear-gradient(#071923 92%,#07192300);box-shadow:0 12px 20px #07192366}
 .petri-scene{height:clamp(168px,27svh,230px);min-height:0;max-height:none}
 .petri-footer{padding:10px 2px 8px}
 .petri-footer .method-caption{font-size:8px}
 .method-step{min-height:52svh;padding:35px 0;scroll-margin-top:320px}
}
@media(prefers-reduced-motion:reduce){
 .petri-focus,.petri-compare,.petri-notes,.petri-leader,.petri-dots i,.method-step h3{transition:none;translate:none}
}

/* Asset fotografico generato nella prospettiva della scena. */
.petri-photo-scene{position:relative;width:100%;aspect-ratio:3/2;max-height:36vh;margin:auto;overflow:hidden;border-radius:20px;isolation:isolate}
.petri-photo{display:block;width:100%;height:100%;object-fit:contain}
.petri-photo-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.petri-photo-scene::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 25px 14px #071923;border-radius:inherit}
.petri-photo-overlay .petri-leader{stroke-dasharray:500;stroke-dashoffset:500}
.method-diagram[data-stage="1"] .petri-focus .petri-leader,
.method-diagram[data-stage="2"] .petri-focus .petri-leader,
.method-diagram[data-stage="3"] .petri-focus .petri-leader,
.method-diagram[data-stage="2"] .petri-compare .petri-leader,
.method-diagram[data-stage="3"] .petri-compare .petri-leader{stroke-dashoffset:0}
@media(max-width:600px){.petri-photo-scene{height:clamp(168px,27svh,230px);max-height:none;border-radius:14px}.petri-photo-scene::after{box-shadow:inset 0 0 14px 8px #071923}}
.petri-photo-scene{width:min(100%,54vh);max-height:none}
@media(max-width:600px){.petri-photo-scene{width:min(100%,40.5svh);height:auto}}

/* La capsula scontornata si integra nel fondo; i riferimenti restano sopra la foto. */
.petri-photo-scene{overflow:visible;border-radius:0;isolation:isolate}
.petri-photo-scene::after{display:none}
.petri-photo{position:relative;z-index:0;filter:drop-shadow(0 16px 20px #00101855)}
.petri-photo-overlay{z-index:2;overflow:visible}
.petri-photo-overlay .petri-focus,.petri-photo-overlay .petri-compare{filter:drop-shadow(0 2px 2px #02121ee6)}
.petri-photo-overlay ellipse,.petri-photo-overlay .petri-leader{stroke-width:2;vector-effect:non-scaling-stroke}
.petri-photo-overlay text{font-weight:600;paint-order:stroke;stroke:#041722;stroke-width:2px;stroke-linejoin:round}
.method-diagram[data-stage="0"] .petri-focus{opacity:1;translate:0 0}
.method-diagram[data-stage="0"] .petri-focus .petri-leader{stroke-dashoffset:0}
.petri-photo-overlay .petri-focus ellipse{fill:#0417221a;stroke:#e0ffef}
.petri-photo-overlay .petri-compare ellipse{fill:#04172212;stroke:#92f6fa}
@media(max-width:600px){.petri-photo-scene::after{display:none}.petri-photo-overlay text{font-size:36px}}

/* Riferimenti editoriali: stesso carattere e stessi accenti delle sezioni. */
.petri-photo-overlay .petri-focus,.petri-photo-overlay .petri-compare{stroke:#a8e8dc;stroke-width:1;filter:drop-shadow(0 1px 2px #00101c)}
.petri-photo-overlay .petri-focus ellipse,.petri-photo-overlay .petri-compare ellipse{stroke:#b6eddf;stroke-width:1;fill:transparent;stroke-dasharray:none}
.petri-photo-overlay .petri-leader{stroke-width:1}
.petri-photo-overlay circle{fill:#c0f4e5;stroke:none}
.petri-photo-overlay .petri-notes{stroke:#8bd9ca;stroke-width:1.2;vector-effect:non-scaling-stroke;fill:none}
.petri-tag,.petri-observations{
 position:absolute;z-index:4;display:flex;align-items:center;gap:9px;
 padding:9px 0;border:0;border-radius:0;box-shadow:none;
 background:transparent;pointer-events:none;color:#baf3e3;
 text-shadow:0 1px 4px #03131f,0 0 9px #03131f;
 transition:opacity .4s ease,translate .4s ease;
}
.petri-tag strong,.petri-observations strong{font:400 10px/1.4 'DM Mono',monospace;letter-spacing:.09em;white-space:nowrap}
.petri-label-rule{display:block;width:18px;height:1px;background:#8ed9cc;flex:none;box-shadow:0 1px 3px #03131f}
.petri-tag-a{top:2%;left:0}
.petri-tag-b{right:0;bottom:12%;opacity:0;translate:0 5px}
.petri-observations{bottom:-16px;left:0;opacity:0;translate:0 5px;color:#7bd0a6}
.method-diagram[data-stage="2"] .petri-tag-b,.method-diagram[data-stage="3"] .petri-tag-b,
.method-diagram[data-stage="3"] .petri-observations{opacity:1;translate:0 0}
@media(max-width:600px){
 .petri-tag strong,.petri-observations strong{font-size:8px;letter-spacing:.06em}
 .petri-tag,.petri-observations{gap:6px}
 .petri-label-rule{width:13px}
 .petri-tag-a{top:-5px;left:0}
 .petri-tag-b{bottom:5%;right:0}
 .petri-observations{bottom:-18px}
 .method-diagram{padding-bottom:26px}
}
@media(prefers-reduced-motion:reduce){.petri-tag,.petri-observations{transition:none}}

/* I marker localizzano i dettagli; la spiegazione si legge sul fondo della pagina. */
.petri-tag{padding:5px 9px;border-radius:4px;background:#071923;color:#effbf8;border-left:2px solid #9ce6d5;text-shadow:none;box-shadow:0 2px 10px #00101a55}
.petri-tag strong{font:500 13px/1.2 'DM Mono',monospace;letter-spacing:0}
.petri-tag-a{top:6%;left:3%}
.petri-tag-b{bottom:16%;right:5%;opacity:1;translate:none}
.petri-reading{margin:15px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;border-top:1px solid #456672;padding-top:15px}
.petri-reading-item{display:flex;align-items:start;gap:10px}
.petri-reading-item>span{font:500 12px/1.5 'DM Mono',monospace;color:#9ce6d5;padding:0 7px 0 0;border-right:1px solid #456672}
.petri-reading-item p{margin:0;color:#bed2d4;font-size:13px;line-height:1.55}
.petri-reading-item strong{display:block;margin-bottom:3px;color:#f3fbfb;font-size:14px;font-weight:500}
.petri-reading .petri-context{grid-column:1/-1;font-size:11px;line-height:1.5;margin:0;color:#9bb7bd}
.method-intro h2{font-size:clamp(36px,3.5vw,52px)}
.method-intro>p{font-size:15px;line-height:1.6;margin-bottom:12px}
.petri-photo-scene{width:min(100%,43vh)}
.method-step small a{color:#baf3e3;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){
 .method-intro h2{font-size:40px}
 .petri-photo-scene{width:min(100%,34svh)}
 .petri-tag strong{font-size:12px}
 .petri-reading{gap:10px 14px;padding-top:12px;margin-top:9px}
 .petri-reading-item p{font-size:12px;line-height:1.45}
 .petri-reading-item strong{font-size:13px}
 .petri-reading .petri-context{font-size:10px}
 .method-diagram{padding-bottom:20px}
}
@media(max-height:720px) and (min-width:601px){.method-intro{position:relative;top:auto}}
@media(max-width:600px) and (max-height:700px){.method-diagram{position:relative;top:auto}}
.petri-context a{color:#baf3e3;text-decoration:underline;text-underline-offset:3px}

/* Evidenziazione delle regioni del campione, con coordinate native della foto. */
.petri-photo-scene{aspect-ratio:1536/1024;height:auto}
.petri-photo{width:100%;height:auto;aspect-ratio:1536/1024}
.petri-photo-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:2}
.petri-photo-overlay .petri-annotation{opacity:0;transition:opacity .5s ease}
.petri-photo-overlay .annotation-region{fill:#77e5d53b;stroke:#c8fff0;stroke-width:5;stroke-linejoin:round;filter:drop-shadow(0 2px 4px #03131f);transition:fill .5s ease;paint-order:stroke fill}
.petri-photo-overlay .annotation-margin{fill:#f1d17d59;stroke:#ffe2a3;stroke-width:4}
.petri-photo-overlay .annotation-leader{fill:none;stroke:#d2fff0;stroke-width:4;stroke-dasharray:none;stroke-dashoffset:0;vector-effect:none;opacity:.9;filter:drop-shadow(0 2px 3px #03131f)}
.petri-photo-overlay .annotation-pin{fill:#f4fff9;stroke:#071923;stroke-width:3}
.annotations-visible[data-focus="a"] .petri-annotation-a,
.annotations-visible[data-focus="b"] .petri-annotation-b,
.annotations-visible[data-focus="both"] .petri-annotation{opacity:1}
.annotations-visible[data-focus="a"] .petri-annotation-a .annotation-region,
.annotations-visible[data-focus="b"] .petri-annotation-b .annotation-region,
.annotations-visible[data-focus="both"] .annotation-region{animation:petri-region-light 2.5s ease-in-out 2}
.method-diagram .petri-tag.petri-anchor{top:auto;right:auto;bottom:auto;opacity:0;translate:0 5px;transform:translate(-50%,-50%);transition:opacity .4s ease .15s,translate .4s ease .15s;padding:4px 7px}
.petri-tag.petri-tag-a.petri-anchor{left:14%;top:13.4766%}
.petri-tag.petri-tag-b.petri-anchor{left:84.375%;top:76.0742%;border-color:#ffe2a3}
.annotations-visible[data-focus="a"] .petri-tag-a.petri-anchor,
.annotations-visible[data-focus="b"] .petri-tag-b.petri-anchor,
.annotations-visible[data-focus="both"] .petri-tag.petri-anchor{opacity:1;translate:0 0}
.petri-reading-item{transition:opacity .4s ease}
.petri-reading-item:not(.is-highlighted){opacity:.75}
.petri-reading-item.is-highlighted>span{color:#d2fff0}
@keyframes petri-region-light{0%,100%{fill-opacity:.5;stroke-opacity:.8}50%{fill-opacity:1;stroke-opacity:1}}
@media(prefers-reduced-motion:reduce){
 .petri-photo-overlay .petri-annotation,.petri-photo-overlay .annotation-region,.petri-tag.petri-anchor,.petri-reading-item{transition:none;animation:none!important}
}

/* Sigle compatte, colori condivisi tra riferimento e legenda. */
.method-diagram .petri-tag.petri-anchor{
 --annotation-color:#b2efdb;
 display:grid;place-items:center;width:28px;height:28px;padding:0;
 border:1px solid var(--annotation-color);border-radius:50%;
 background:#071923f2;box-shadow:0 0 0 4px #07192355,0 3px 12px #00121c55;
 color:var(--annotation-color);
}
.method-diagram .petri-tag-b.petri-anchor{--annotation-color:#f1d695}
.petri-tag.petri-anchor strong{font:500 11px/1 'DM Mono',monospace}
.petri-tag-name{
 position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);
 color:#eefbf6;font:400 9px/1 'DM Mono',monospace;letter-spacing:.12em;
 text-shadow:0 1px 5px #03131f,0 0 8px #03131f;white-space:nowrap;
}
.petri-reading{gap:16px 24px;padding-top:18px;border-top-color:#6daba740}
.petri-reading-item{
 --annotation-color:#b2efdb;
 position:relative;gap:11px;padding:0 0 14px;border-bottom:1px solid #6daba72b;
 transition:opacity .4s ease,border-color .4s ease;
}
.petri-reading-item:nth-child(2){--annotation-color:#f1d695}
.petri-reading-item>span{
 display:grid;place-items:center;flex:none;width:24px;height:24px;padding:0;
 border:1px solid #6daba766;border-radius:50%;color:var(--annotation-color);
 font:500 10px/1 'DM Mono',monospace;
 transition:border-color .4s ease,color .4s ease;
}
.petri-reading-item strong{font-size:14px;line-height:1.3;margin-bottom:6px;letter-spacing:-.02em}
.petri-reading-item.is-highlighted{border-bottom-color:var(--annotation-color)}
.petri-reading-item.is-highlighted>span{border-color:var(--annotation-color);color:var(--annotation-color)}
.petri-reading-item:not(.is-highlighted){opacity:.85}
@media(max-width:600px){
 .method-diagram .petri-tag.petri-anchor{width:25px;height:25px}
 .petri-tag-name{font-size:8px;bottom:calc(100% + 6px);letter-spacing:.08em}
 .petri-reading{gap:14px;padding-top:15px}
 .petri-reading-item{gap:8px;padding-bottom:12px}
 .petri-reading-item>span{width:21px;height:21px}
 .petri-reading-item strong{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.petri-reading-item,.petri-reading-item>span{transition:none}}

/* Il richiamo del margine usa lo stesso accento della relativa etichetta. */
.petri-photo-overlay .petri-annotation-b .annotation-leader{stroke:#f1d695}
.petri-photo-overlay .petri-annotation-b .annotation-pin{fill:#f1d695}

/* Legenda della capsula senza sottolineature decorative. */
.petri-reading-item,.petri-reading-item.is-highlighted{border-bottom:0}

/* Hero e capsula condividono lo stesso linguaggio per i riferimenti. */
.hero-immersive .world-marker{
 display:grid;place-items:center;width:28px;height:28px;min-height:0;padding:0;
 border:1px solid #b2efdb;border-radius:50%;background:#071923f2;
 color:#b2efdb;box-shadow:0 0 0 4px #07192355,0 3px 12px #00121c55;
 transform:translate(-50%,calc(-100% - 16px));
 transition:opacity .3s ease,visibility .3s ease,translate .3s ease;
 translate:0 5px;
}
.hero-immersive .world-marker.is-hovered{translate:0 0}
.hero-immersive .world-marker b{
 display:block;width:auto;height:auto;padding:0;border:0;border-radius:0;
 background:none;box-shadow:none;color:inherit;
 font:500 10px/1 'DM Mono',monospace;
}
.hero-immersive .world-marker strong{
 position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);
 color:#eefbf6;font:400 9px/1 'DM Mono',monospace;letter-spacing:.12em;
 text-transform:uppercase;white-space:nowrap;
 text-shadow:0 1px 5px #03131f,0 0 8px #03131f;
}
.hero-immersive .world-marker::after{content:'';position:absolute;left:50%;top:100%;height:12px;width:1px;background:#b2efdb;transform:translateX(-50%)}
.world-marker-dot{position:absolute;left:50%;top:calc(100% + 12px);width:4px;height:4px;border-radius:50%;background:#b2efdb;transform:translateX(-50%)}
@media(max-width:600px){
 .hero-immersive .world-marker{width:25px;height:25px}
 .hero-immersive .world-marker b{font-size:9px}
 .hero-immersive .world-marker strong{font-size:8px;bottom:calc(100% + 6px);letter-spacing:.08em}
}
@media(prefers-reduced-motion:reduce){.hero-immersive .world-marker{transition:none;translate:none}}

/* Nomi leggibili anche sopra le zone chiare della microscopia. */
.hero-immersive .world-marker strong{
 padding:7px 10px;border:1px solid #8ed9cc59;border-radius:6px;
 background:#061923f5;color:#f3fffa;
 font:500 12px/1.2 'DM Mono',monospace;letter-spacing:.05em;
 bottom:calc(100% + 9px);text-shadow:none;box-shadow:0 3px 10px #00121c66;
}
.hero-immersive .world-marker{width:30px;height:30px}
.hero-immersive .world-marker b{font-size:11px}
@media(max-width:600px){
 .hero-immersive .world-marker{width:28px;height:28px}
 .hero-immersive .world-marker strong{font-size:11px;padding:6px 8px;letter-spacing:.035em}
 .hero-immersive .world-marker b{font-size:10px}
}

/* Etichette in linea, senza riquadri separati attorno al nome. */
.hero-immersive .world-marker{
 display:flex;align-items:center;gap:10px;width:max-content;height:auto;
 padding:9px 14px 9px 9px;border:0;border-radius:0;
 background:transparent;box-shadow:none;
 transform:translate(-50%,calc(-100% - 16px));isolation:isolate;
}
.hero-immersive .world-marker::before{
 content:'';position:absolute;z-index:-1;inset:-8px -15px;
 background:radial-gradient(ellipse,#041722ed 15%,#041722a8 50%,#04172200 74%);
 pointer-events:none;
}
.hero-immersive .world-marker b{
 display:grid;place-items:center;flex:none;width:28px;height:28px;
 border:1px solid #b2efdbb3;border-radius:50%;background:#071923d9;
 color:#c4f5e5;font:500 10px/1 'DM Mono',monospace;
}
.hero-immersive .world-marker strong{
 position:static;transform:none;padding:0;border:0;border-radius:0;
 background:transparent;box-shadow:none;color:#f3fffa;
 font:500 15px/1.2 'Space Grotesk',Arial,sans-serif;
 text-transform:none;letter-spacing:-.015em;
 text-shadow:0 1px 4px #03131f;
}
.hero-immersive .world-marker::after,.hero-immersive .world-marker .world-marker-dot{left:23px}
@media(max-width:600px){
 .hero-immersive .world-marker{gap:8px;padding:8px 12px 8px 8px;width:max-content;height:auto}
 .hero-immersive .world-marker b{width:25px;height:25px;font-size:9px}
 .hero-immersive .world-marker strong{font-size:14px;padding:0;letter-spacing:-.015em}
 .hero-immersive .world-marker::after,.hero-immersive .world-marker .world-marker-dot{left:20.5px}
}
.hero-immersive .world-marker::after,.hero-immersive .world-marker .world-marker-dot{left:50%}

/* Controlli dell'esplorazione: stato, scoperte e azione con gerarchie distinte. */
.hero-immersive .discovery-bottom{
 width:min(440px,46vw);padding:19px 21px 17px;gap:17px 16px;
 grid-template-columns:minmax(0,1fr) auto;align-items:center;
 border:1px solid #8ccdbb3b;border-radius:18px;background:#061b27ed;
 box-shadow:0 12px 38px #00101933;cursor:default;
}
.hero-immersive .discovery-readout{grid-column:1/-1;grid-row:1;min-width:0}
.hero-immersive .discovery-readout .discovery-overline{
 display:flex;align-items:center;gap:7px;margin-bottom:8px;
 font:400 8px/1.5 'DM Mono',monospace;letter-spacing:.075em;color:#93b8ba;
}
.discovery-overline i{width:5px;height:5px;flex:none;border-radius:50%;background:#8bdac3}
.hero-immersive .discovery-readout strong{
 display:block;overflow:visible;white-space:normal;text-overflow:clip;
 font:500 17px/1.25 'Space Grotesk',Arial,sans-serif;letter-spacing:-.025em;color:#effbf8;
}
.hero-immersive .discovery-progress{grid-column:1;grid-row:2;display:flex;align-items:center;gap:5px;padding:0;flex-wrap:wrap}
.discovery-progress-label{flex-basis:100%;margin-bottom:2px;color:#91b9b7;font:400 8px/1.4 'DM Mono',monospace;letter-spacing:.08em}
.hero-immersive .discovery-progress .progress-dot{width:18px;height:3px;border:0;border-radius:2px;background:#3b5b65;box-shadow:none;transition:background .3s ease}
.hero-immersive .discovery-progress .progress-dot.found{background:#9ce6d5;box-shadow:none}
.hero-immersive .discovery-progress b{margin-left:6px;color:#e3f7ef;font:400 11px/1.3 'DM Mono',monospace}
.hero-immersive .reveal-all{
 grid-column:2;grid-row:2;align-self:center;justify-content:center;gap:10px;
 min-height:42px;padding:0 14px;border:1px solid #a1d9cb80;border-radius:999px;
 background:transparent;color:#dcf6eb;font:500 10px/1 'DM Mono',monospace;letter-spacing:.025em;
 transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.hero-immersive .reveal-all:hover{background:#9ce6d517;border-color:#9ce6d5;color:#fff}
.hero-immersive .reveal-all[aria-pressed="true"]{background:#9ce6d5;border-color:#9ce6d5;color:#062632}
.reveal-icon{flex:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.reveal-icon .eye-slash{opacity:0;transition:opacity .2s ease}
.reveal-all[aria-pressed="true"] .eye-slash{opacity:1}
@media(max-width:600px){
 .hero-immersive{padding-bottom:156px;background-size:auto calc(100% - 156px)}
 .hero-immersive .discovery-bottom{top:100%;left:0;right:0;width:100%;height:156px;min-height:156px;padding:18px 20px 20px;border:0;border-top:1px solid #8ccdbb3b;border-radius:0;background:#071d29;box-shadow:none;gap:14px 12px}
 .hero-immersive .discovery-readout .discovery-overline{font-size:8px;letter-spacing:.025em;margin-bottom:7px}
 .hero-immersive .discovery-readout strong{font-size:16px}
 .hero-immersive .reveal-all{min-height:42px;padding:0 13px;font-size:10px}
 .hero-immersive .discovery-progress .progress-dot{width:16px}
}
@media(prefers-reduced-motion:reduce){.hero-immersive .reveal-all,.reveal-icon .eye-slash,.hero-immersive .discovery-progress .progress-dot{transition:none}}

/* Un unico comando per mostrare o nascondere il mondo microscopico. */
.hero-immersive .scene-toggle.reveal-all{
 position:absolute;z-index:6;right:max(4vw,28px);bottom:28px;
 display:grid;place-items:center;width:50px;height:50px;min-height:50px;
 padding:0;gap:0;border:1px solid #a1d9cb80;border-radius:50%;
 background:#071923d9;color:#d9f8eb;box-shadow:0 5px 20px #00101933;
 cursor:pointer;touch-action:manipulation;
}
.hero-immersive .scene-toggle.reveal-all:hover{background:#123642;border-color:#b2efdb;color:#fff}
.hero-immersive .scene-toggle.reveal-all[aria-pressed="true"]{background:#9ce6d5;color:#062632;border-color:#9ce6d5}
@media(max-width:600px){
 .hero-immersive{padding-bottom:0;background-size:auto 100%}
 .hero-immersive .scene-toggle.reveal-all{right:20px;bottom:22px;width:48px;height:48px;min-height:48px}
}


/* Separatore del laboratorio: dopo la legenda solo nella disposizione mobile. */
.method-steps .method-step:first-child{border-top:0}
@media(max-width:600px){
 .petri-reading{border-bottom:1px solid #456672;padding-bottom:18px}
}

/* Più respiro sopra la capsula e prima della legenda. */
.method-diagram{margin-top:44px}
.petri-reading{margin-top:42px}
@media(max-width:600px){.method-diagram{margin-top:38px}.petri-reading{margin-top:32px}}

/* Spaziatura dedicata agli schermi piccoli. */
@media(max-width:600px){
 .method-diagram{margin-top:52px;margin-bottom:32px;padding-top:18px;padding-bottom:30px}
 .petri-reading{margin-top:44px}
}
