:root{
  --paper:#ffffff;
  --paper-2:#f7f7f5;
  --cream:#f3f1ed;
  --ink:#1d1d1b;
  --muted:#6c6a66;
  --line:rgba(29,29,27,.14);
  --terracotta:#c56f53;
  --terracotta-dark:#92513f;
  --ochre:#c4a55d;
  --sage:#7f8c80;
  --blue:#5e6f9d;
  --white:#ffffff;
  --radius:2px;
  --shell:min(1380px,calc(100vw - 56px));
  --header-h:82px;
  --serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,textarea{font:inherit}
::selection{background:var(--terracotta);color:#fff}
.skip-link{position:fixed;left:12px;top:-100px;z-index:9999;background:#fff;padding:10px 14px;border:1px solid var(--ink)}
.skip-link:focus{top:12px}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.section-shell{width:var(--shell);margin-inline:auto}
.site-main{overflow:hidden}
.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:var(--muted)}
/*
 * AlexEmme 1.19.9 — AE Marker
 * Firma grafica standard: linea blu corta + punto ocra.
 * C64 e Bellicchio & Leccamuffo usano il marker ovunque tranne nelle rispettive sezioni dedicate.
 */
body:not(.ae-section-c64):not(.ae-section-bellicchio)
.site-main .eyebrow:not(.no-ae-marker):not(.aemme-bl-eyebrow){
  display:inline-flex;
  align-items:center;
  gap:10px;
}

body:not(.ae-section-c64):not(.ae-section-bellicchio)
.site-main .eyebrow:not(.no-ae-marker):not(.aemme-bl-eyebrow)::after{
  content:"";
  flex:0 0 42px;
  width:42px;
  height:8px;
  background:
    linear-gradient(var(--blue),var(--blue)) left center / 30px 2px no-repeat,
    radial-gradient(circle,var(--ochre) 0 3px,transparent 3.2px) right center / 8px 8px no-repeat;
}

body:not(.ae-section-c64):not(.ae-section-bellicchio)
.ae-marker-meta{
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:auto;
}

body:not(.ae-section-c64):not(.ae-section-bellicchio)
.ae-marker-meta::after{
  content:"";
  flex:0 0 31px;
  width:31px;
  height:7px;
  background:
    linear-gradient(var(--blue),var(--blue)) left center / 22px 2px no-repeat,
    radial-gradient(circle,var(--ochre) 0 2.5px,transparent 2.7px) right center / 7px 7px no-repeat;
}

/* READY. è uno stato funzionale, non una firma editoriale. */
.empty-state .eyebrow::after{display:none!important}

@media(max-width:760px){
  body:not(.ae-section-c64):not(.ae-section-bellicchio)
  .site-main .eyebrow:not(.no-ae-marker):not(.aemme-bl-eyebrow)::after{
    flex-basis:34px;
    width:34px;
    background:
      linear-gradient(var(--blue),var(--blue)) left center / 24px 2px no-repeat,
      radial-gradient(circle,var(--ochre) 0 2.5px,transparent 2.7px) right center / 7px 7px no-repeat;
  }

  body:not(.ae-section-c64):not(.ae-section-bellicchio)
  .ae-marker-meta::after{
    flex-basis:27px;
    width:27px;
    background:
      linear-gradient(var(--blue),var(--blue)) left center / 19px 2px no-repeat,
      radial-gradient(circle,var(--ochre) 0 2.2px,transparent 2.4px) right center / 6px 6px no-repeat;
  }
}
.text-link{display:inline-flex;align-items:center;gap:18px;margin-top:20px;padding-bottom:5px;border-bottom:1px solid currentColor;font-weight:650}
.text-link span{transition:transform .3s ease}.text-link:hover span{transform:translate(4px,-2px)}
.pill-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid var(--ink);border-radius:999px;padding:15px 20px;font-weight:650;transition:.25s ease}
.pill-link:hover{background:var(--ink);color:var(--paper)}
.section-reveal{opacity:0;transform:translateY(46px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.section-reveal.is-visible{opacity:1;transform:none}
.parallax-soft{transform:none}

.reveal-child{opacity:0;transform:translateY(32px) scale(.985);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease;transition-delay:var(--reveal-delay,0s)}
.reveal-child.is-visible{opacity:1;transform:none}

.portal-card,.dual-story-media,.comic-showcase-art,.immersive-media,.feature-card{position:relative}
.portal-card img,.dual-story-media img,.comic-showcase-image,.immersive-image{transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.portal-card:hover img,.dual-story-card:hover img,.comic-showcase-art:hover .comic-showcase-image,.immersive-media:hover .immersive-image{transform:scale(1.03);filter:saturate(1.03) contrast(1.01)}
.hero-photo::after,.portal-card::before,.dual-story-media::after,.comic-showcase-art::after,.immersive-media::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 28%,transparent 72%,rgba(255,255,255,.14));opacity:0;transition:opacity .55s ease;pointer-events:none}
.hero-photo:hover::after,.portal-card:hover::before,.dual-story-card:hover .dual-story-media::after,.comic-showcase-art:hover::after,.immersive-media:hover::after{opacity:1}


.site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(255,255,255,.90);border-bottom:1px solid transparent;transition:transform .35s ease,border-color .35s ease,background .35s ease}
.site-header.is-scrolled{border-color:var(--line);background:rgba(255,255,255,.97)}
.site-header.is-hidden{transform:translateY(-100%)}
.header-inner{height:var(--header-h);width:var(--shell);margin:auto;display:flex;align-items:center;justify-content:space-between}
.brand{font-family:var(--serif);font-weight:700;font-size:1.65rem;letter-spacing:-.055em}
.header-actions{display:flex;align-items:center;gap:18px}
.search-link{display:flex;align-items:center;gap:7px;font-size:.85rem}.search-link>span:first-child{font-size:1.25rem;line-height:1}
.menu-toggle{display:flex;align-items:center;gap:13px;border:0;background:none;color:var(--ink);cursor:pointer;padding:10px 0;font-weight:650}.menu-mark{font-size:1.45rem;font-weight:300;line-height:1}
.main-nav{position:fixed;left:0;right:0;top:var(--header-h);height:0;overflow:hidden;background:var(--ink);color:var(--paper);transition:height .45s cubic-bezier(.2,.7,.2,1)}
.nav-open .main-nav{height:calc(100vh - var(--header-h))}
.nav-inner{width:var(--shell);margin:auto;height:100%;display:flex;align-items:center}
.main-nav ul{list-style:none;margin:0;padding:5vh 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 9vw;width:100%}
.main-nav li{border-bottom:1px solid rgba(255,255,255,.18)}
.main-nav a{display:flex;padding:2.1vh 0;font-family:var(--serif);font-size:clamp(1.65rem,3.1vw,3.5rem);letter-spacing:-.04em;transition:opacity .2s ease,transform .2s ease}
.main-nav a:hover{opacity:.6;transform:translateX(8px)}

.hero{min-height:100vh;padding-top:calc(var(--header-h) + 42px);padding-bottom:56px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:7vw;align-items:center}
.hero-copy h1,.section-heading h2,.split-copy h2,.category-copy h2,.comic-copy h2,.contact-section h2,.archive-hero h1,.article-header h1,.page-header h1,.error-page h1{font-family:var(--serif);font-weight:500;letter-spacing:-.065em;line-height:.92;margin:0}
.hero-copy h1{font-size:clamp(3.6rem,6.1vw,7rem);max-width:820px}
.hero-intro{font-size:clamp(1.06rem,1.6vw,1.35rem);max-width:650px;margin:34px 0 0;color:#4b4b48}
.hero-art{min-height:64vh;display:flex;align-items:center;justify-content:center;position:relative}
.hero-art:before{content:"";position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:rgba(196,165,93,.16);filter:blur(1px);right:-5%;top:3%}
.screen-card{position:relative;width:min(100%,720px);aspect-ratio:1.03;background:#5e6f9d;color:#f5f5f2;padding:28px;box-shadow:0 30px 70px rgba(20,20,20,.12);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.screen-card:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,rgba(0,0,0,.08) 4px);pointer-events:none;opacity:.45}
.screen-topline,.screen-caption{font:600 .82rem/1.3 var(--mono);letter-spacing:.08em;display:flex;justify-content:space-between;position:relative;z-index:2}
.pixel-grid{width:58%;aspect-ratio:1;margin:auto;opacity:.75;background-image:linear-gradient(90deg,rgba(255,255,255,.85) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.85) 1px,transparent 1px);background-size:12.5% 12.5%;clip-path:polygon(0 0,100% 0,100% 75%,75% 75%,75% 100%,25% 100%,25% 75%,0 75%)}

.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;font:700 .75rem/1 var(--mono);letter-spacing:.12em;white-space:nowrap}
.marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite}.marquee-track span{padding-right:5rem}
@keyframes marquee{to{transform:translateX(-50%)}}

.editorial-grid{padding-block:clamp(96px,11vw,180px);display:grid;grid-template-columns:repeat(12,1fr);gap:22px}
.section-heading{grid-column:1/-1;margin-bottom:42px;display:grid;grid-template-columns:3fr 9fr;align-items:end}.section-heading h2{font-size:clamp(2.9rem,4.5vw,5.3rem);grid-column:5/-1}.section-heading .eyebrow{grid-column:1/4}
.feature-card{position:relative;min-height:470px;overflow:hidden;padding:28px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:#5e6f9d}
.feature-large{grid-column:1/8;min-height:720px}.feature-card:not(.feature-large){grid-column:span 5}.feature-card:nth-of-type(4){grid-column:8/-1}
.feature-media{position:absolute;inset:0;background-image:var(--card-image,linear-gradient(135deg,#6d7eaa,#4f5f89));background-size:cover;background-position:center;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.feature-tone-2 .feature-media{background-image:var(--card-image,linear-gradient(135deg,#c4a55d,#8b7745))}.feature-tone-3 .feature-media{background-image:var(--card-image,linear-gradient(135deg,#839081,#55645b))}
.feature-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(18,16,14,.67),rgba(18,16,14,.05) 62%)}
.card-overlay-link{position:absolute;inset:0;z-index:4}.feature-card:hover .feature-media{transform:scale(1.035)}
.card-meta,.card-body{position:relative;z-index:2}.card-meta{font:.72rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}.card-body h3{font-family:var(--serif);font-size:clamp(1.9rem,2.8vw,3.7rem);line-height:.98;letter-spacing:-.05em;margin:0 0 18px;font-weight:500}.feature-card:not(.feature-large) .card-body h3{font-size:clamp(1.7rem,2.1vw,2.7rem)}.card-body p{margin:0;max-width:570px;color:rgba(255,255,255,.88)}

.split-section{padding-block:clamp(80px,10vw,160px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:8vw;align-items:center;border-top:1px solid var(--line)}
.image-panel{min-height:680px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#c9795f;color:#fff}.arcade-panel>span{font:800 clamp(4rem,8vw,8rem)/.82 var(--sans);letter-spacing:-.08em;text-align:center}.section-image{width:100%;height:100%;min-height:680px;object-fit:cover}
.split-copy{padding-right:5vw}.split-copy h2,.category-copy h2,.comic-copy h2,.contact-section h2{font-size:clamp(3rem,5vw,5.9rem)}.split-copy p:not(.eyebrow),.category-copy p:not(.eyebrow),.comic-copy p:not(.eyebrow),.contact-copy p{font-size:1.15rem;color:#50504d;max-width:560px}

.category-strip{padding-block:clamp(90px,11vw,180px);display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:stretch}
.category-copy{background:var(--cream);padding:clamp(38px,6vw,90px);display:flex;flex-direction:column;justify-content:center;min-height:700px}.category-art{min-height:700px;display:flex;align-items:center;justify-content:center;background:#6678a5;color:#f5f5f2;overflow:hidden}.prompt{font:700 clamp(2.5rem,4.7vw,5.3rem)/1.05 var(--mono);letter-spacing:-.055em}.blink{animation:blink 1s steps(1,end) infinite}@keyframes blink{50%{opacity:0}}

.cards-row{padding-block:clamp(90px,10vw,155px);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.mini-card{position:relative;padding:44px 42px 48px;border-right:1px solid var(--line);min-height:520px;display:flex;flex-direction:column}.mini-card:last-child{border-right:0}.mini-index{font:700 .72rem/1 var(--mono);color:var(--muted);margin-bottom:auto}.mini-card h3{font:500 clamp(1.95rem,2.7vw,3.4rem)/1 var(--serif);letter-spacing:-.05em;margin:18px 0}.mini-card p:not(.eyebrow){color:#555552}.mini-card .text-link{margin-top:auto;align-self:flex-start}

.comic-section{padding-block:clamp(100px,12vw,190px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:7vw;align-items:center;background:var(--paper)}
.comic-copy{padding-right:4vw}.comic-frame{aspect-ratio:4/5;background:#fff;border:1px solid var(--line);padding:20px;box-shadow:0 30px 60px rgba(20,20,20,.08);overflow:hidden}.comic-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#faf9f6,#ece9e2);font:800 clamp(2.5rem,4.8vw,5.3rem)/.9 var(--sans);letter-spacing:-.07em;text-align:center;color:#a65d47}.comic-image-link,.comic-image{display:block;width:100%;height:100%}.comic-image{object-fit:cover}

.manifesto{padding-block:clamp(120px,14vw,220px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.manifesto .eyebrow{margin-bottom:35px}.manifesto-text{font:500 clamp(2.35rem,4.1vw,5.2rem)/1.04 var(--serif);letter-spacing:-.05em;max-width:1180px;margin:0;color:#242422}
.manifesto .text-link{margin-top:42px}

.contact-section{padding-block:clamp(100px,12vw,180px);display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end}.contact-copy{padding-bottom:12px}.contact-copy .pill-link{margin-top:28px}
.site-footer{background:var(--ink);color:var(--paper);padding:85px max(28px,calc((100vw - min(1380px,calc(100vw - 56px)))/2)) 28px}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-bottom:80px}.footer-brand{font:500 clamp(2.8rem,5.5vw,6.2rem)/.94 var(--serif);letter-spacing:-.06em}.footer-brand-wrap p{color:rgba(255,255,255,.68)}.footer-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 30px}.footer-nav a{display:block;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.18)}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding-top:24px;display:flex;justify-content:space-between;color:rgba(255,255,255,.58);font:.72rem/1 var(--mono);letter-spacing:.08em}

.archive-main,.page-main,.single-main{padding-top:var(--header-h)}
.archive-hero,.page-header,.article-header{padding-top:clamp(90px,12vw,170px);padding-bottom:clamp(70px,9vw,120px)}
.archive-hero h1,.page-header h1{font-size:clamp(3.5rem,6vw,7.2rem);max-width:1000px}.archive-description,.archive-hero>p:not(.eyebrow){font-size:1.2rem;max-width:720px;color:var(--muted);margin-top:30px}
.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:70px 28px;padding-bottom:140px}.post-card{position:relative}.post-card-media{aspect-ratio:16/10;overflow:hidden;background:var(--cream)}.post-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.post-card:hover .post-card-media img{transform:scale(1.025)}.post-card-placeholder{height:100%;display:flex;align-items:center;justify-content:center;gap:12px;background:#6678a5;color:#f5f5f2;font:700 clamp(2rem,4vw,4rem)/1 var(--mono)}.post-card-copy{padding-top:22px;position:relative}.post-card-meta{font:.7rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.post-card h2{font:500 clamp(2rem,3vw,3.5rem)/1 var(--serif);letter-spacing:-.05em;margin:14px 40px 14px 0}.post-card p{max-width:620px;color:var(--muted)}.post-card-arrow{position:absolute;right:0;top:25px;font-size:1.5rem}.post-card-link{position:absolute;inset:0;z-index:2}.pagination-wrap{padding-bottom:110px}.nav-links{display:flex;gap:8px}.page-numbers{border:1px solid var(--line);padding:8px 13px}.page-numbers.current{background:var(--ink);color:var(--paper)}
.article-header{max-width:1100px}.article-kicker{display:flex;justify-content:space-between;gap:20px;font:.72rem/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:30px}.article-header h1{font-size:clamp(3.6rem,6.3vw,7.6rem)}.article-deck{font-size:clamp(1.25rem,2vw,1.65rem);max-width:820px;color:#50504d;margin-top:35px}.article-date{margin-top:30px;color:var(--muted);font-size:.9rem}.article-hero-image{width:min(1540px,calc(100vw - 40px));margin:0 auto 90px}.article-hero-image img{width:100%;max-height:82vh;object-fit:cover}.article-content{width:min(760px,calc(100vw - 44px));margin:0 auto;padding-bottom:90px;font-size:1.1rem;line-height:1.82}.article-content h2,.article-content h3{font-family:var(--serif);font-weight:500;letter-spacing:-.04em;line-height:1.08;margin-top:2em}.article-content h2{font-size:2.8rem}.article-content h3{font-size:2rem}.article-content a{text-decoration:underline;text-underline-offset:3px}.article-content blockquote{font:500 2rem/1.3 var(--serif);letter-spacing:-.03em;margin:2.2em 0;padding-left:28px;border-left:3px solid var(--terracotta)}.article-content pre{overflow:auto;background:var(--ink);color:#f7f7f5;padding:22px;border-radius:2px}.article-content code{font-family:var(--mono);font-size:.9em}.article-content figure{margin:2.5em 0}.article-footer{padding-bottom:120px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);padding-top:32px}.tag-list a{display:inline-block;margin:0 8px 8px 0;border:1px solid var(--line);padding:6px 10px;border-radius:99px;font-size:.8rem}
.page-content{padding-top:0}.page-header{padding-bottom:55px}
.search-form{display:flex;gap:10px;max-width:720px;margin-top:34px}.search-form label{flex:1}.search-field{width:100%;background:transparent;border:0;border-bottom:1px solid var(--ink);padding:14px 2px;outline:0}.search-submit{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:12px 20px;cursor:pointer}.empty-state{grid-column:1/-1;padding-bottom:100px}.error-page{padding-top:calc(var(--header-h) + 18vh);padding-bottom:22vh}.error-page h1{font-size:clamp(4rem,8vw,8rem);margin-bottom:28px}.error-page p{font-size:1.2rem;max-width:640px}

@media(max-width:980px){
  :root{--shell:min(100% - 34px,1380px);--header-h:72px}
  .search-label{display:none}.main-nav ul{grid-template-columns:1fr}.main-nav a{font-size:clamp(1.65rem,6vw,3rem);padding:1.35vh 0}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:calc(var(--header-h) + 80px);gap:65px}.hero-art{min-height:auto}.screen-card{width:82%;margin-left:auto}
  .section-heading{display:block}.section-heading h2{margin-top:20px}.feature-large,.feature-card:not(.feature-large),.feature-card:nth-of-type(4){grid-column:1/-1;min-height:560px}
  .split-section,.category-strip,.comic-section,.contact-section{grid-template-columns:1fr;gap:54px}.split-copy,.comic-copy{padding-right:0}.image-panel,.section-image,.category-copy,.category-art{min-height:560px}.category-copy{order:2}.category-art{order:1}
  .cards-row{grid-template-columns:1fr}.mini-card{border-right:0;border-bottom:1px solid var(--line);min-height:430px;padding-inline:10px}.mini-card:last-child{border-bottom:0}
  .comic-frame{width:min(620px,90%);margin-left:auto}
  .post-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr}.footer-nav ul{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  :root{--shell:calc(100% - 26px)}
  body{font-size:16px}.header-actions{gap:12px}.menu-toggle{gap:7px}
  .hero-copy h1{font-size:clamp(3rem,14vw,4.8rem)}.hero-intro{margin-top:25px}.screen-card{width:100%;padding:20px}.hero-art:before{width:95%}
  .editorial-grid{gap:14px}.feature-card,.feature-large,.feature-card:not(.feature-large){min-height:470px;padding:22px}.card-body h3,.feature-card:not(.feature-large) .card-body h3{font-size:2.45rem}
  .image-panel,.section-image,.category-copy,.category-art{min-height:440px}.category-copy{padding:34px 24px}.split-copy h2,.category-copy h2,.comic-copy h2,.contact-section h2{font-size:clamp(2.7rem,12vw,4.2rem)}
  .comic-frame{width:100%;padding:12px}.manifesto-text{font-size:clamp(2.2rem,9.5vw,3.5rem)}
  .footer-nav ul{grid-template-columns:1fr}.footer-bottom{gap:16px;flex-direction:column}.article-footer{align-items:flex-start;flex-direction:column}.article-content h2{font-size:2.25rem}.article-content blockquote{font-size:1.65rem}.search-form{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.section-reveal{opacity:1;transform:none;transition:none}.marquee-track,.blink{animation:none}.parallax-soft{transform:none!important}.site-header,.feature-media{transition:none}}

/* AlexEmme 1.19.8 — fix testata Articoli */
/* // by Alessandro Monfregola */


/* /articoli/: evita il clipping dei glifi del grande titolo serif. */
.articles-page .archive-hero{
  overflow:visible;
}
.articles-page .archive-hero h1{
  max-width:none;
  overflow:visible;
  line-height:1.04;
  padding:.025em .02em .11em;
}
.articles-page .archive-hero>p:not(.eyebrow){
  margin-top:10px;
}

/* AlexEmme 1.2 — pagine editoriali */
.articles-page .archive-hero > p:not(.eyebrow){max-width:760px;font-size:1.18rem;color:var(--muted);margin-top:28px}
.empty-state h2{font:500 clamp(2.3rem,4vw,4.8rem)/1 var(--serif);letter-spacing:-.05em;margin:10px 0 20px}
.pagination-wrap ul.page-numbers{list-style:none;margin:0;padding:0;display:flex;gap:8px}

.alex-manifesto{padding-top:clamp(110px,13vw,190px);padding-bottom:clamp(85px,10vw,140px)}
.alex-manifesto h1,.contact-hero h1{font:500 clamp(3.3rem,6vw,6.8rem)/.94 var(--serif);letter-spacing:-.06em;margin:0;max-width:1180px}
.alex-lead{font:500 clamp(1.55rem,2.6vw,2.65rem)/1.25 var(--serif);letter-spacing:-.025em;max-width:920px;margin:48px 0 0;color:#4c4c49}
.alex-story{display:grid;grid-template-columns:2fr 8fr;gap:6vw;padding-block:clamp(80px,10vw,150px);border-top:1px solid var(--line)}
.alex-story-index,.contact-number{font:700 .76rem/1 var(--mono);letter-spacing:.1em;color:var(--muted)}
.alex-story>div:last-child>p{font:500 clamp(1.9rem,3.4vw,4rem)/1.12 var(--serif);letter-spacing:-.04em;margin:0 0 36px;max-width:1050px}
.alex-extra-content{width:100%;margin:60px 0 0;padding-bottom:0}
.alex-quote{padding-block:clamp(110px,13vw,200px);border-top:1px solid var(--line)}
.alex-quote p{font:500 clamp(3rem,6.4vw,7.6rem)/.92 var(--serif);letter-spacing:-.065em;margin:0;max-width:1100px}

.contact-hero{padding-top:clamp(110px,13vw,190px);padding-bottom:clamp(80px,9vw,120px)}
.contact-hero>p:not(.eyebrow){font-size:1.2rem;max-width:670px;color:var(--muted);margin-top:34px}
.contact-form-shell{display:grid;grid-template-columns:4fr 7fr;gap:8vw;padding-block:clamp(80px,10vw,150px);border-top:1px solid var(--line)}
.contact-form-intro p{font-size:1.05rem;max-width:410px;color:#50504d;margin-top:28px}
.contact-form-content{min-width:0}
.form-placeholder{min-height:320px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,5vw,70px);background:rgba(247,247,245,.55)}
.form-placeholder p:not(.eyebrow){font:500 clamp(1.6rem,2.8vw,3rem)/1.1 var(--serif);letter-spacing:-.04em;margin:0}
.contact-form-content .wpforms-container{margin:0!important}
.contact-form-content .wpforms-field{padding:0 0 28px!important}
.contact-form-content .wpforms-field-label{font-size:.78rem!important;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px!important}
.contact-form-content input[type=text],.contact-form-content input[type=email],.contact-form-content textarea{width:100%!important;max-width:none!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--ink)!important;border-radius:0!important;padding:12px 0!important;box-shadow:none!important}
.contact-form-content textarea{min-height:170px!important}
.contact-form-content button[type=submit]{background:var(--ink)!important;color:var(--paper)!important;border:1px solid var(--ink)!important;border-radius:999px!important;padding:13px 24px!important;font-weight:650!important}
.contact-form-content button[type=submit]:hover{background:transparent!important;color:var(--ink)!important}

@media(max-width:980px){
  .alex-story,.contact-form-shell{grid-template-columns:1fr;gap:45px}
}
@media(max-width:620px){
  .alex-manifesto h1,.contact-hero h1{font-size:clamp(3rem,13vw,4.8rem)}
  .alex-story>div:last-child>p{font-size:clamp(1.8rem,8vw,2.8rem)}
}

/*
// by Alessandro Monfregola
*/
/* AlexEmme 1.4 — Home editoriale più visuale */
.home-v14{background:#fff}
.hero-v14{min-height:100vh;grid-template-columns:minmax(0,.84fr) minmax(500px,1.16fr);gap:6vw;padding-top:calc(var(--header-h) + 48px);padding-bottom:70px}
.hero-v14 .hero-copy{position:relative;z-index:2}
.hero-v14 .hero-copy h1{font-size:clamp(3.55rem,5.75vw,6.7rem);max-width:760px}
.hero-v14 .hero-intro{max-width:600px}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:34px}.hero-actions .text-link{margin-top:0}.hero-actions .pill-link{padding:14px 20px}
.hero-collage{position:relative;min-height:690px;display:flex;align-items:center;justify-content:flex-end}
.hero-photo{margin:0;position:relative;width:min(92%,760px);background:var(--paper-2);box-shadow:0 28px 70px rgba(29,29,27,.09);overflow:hidden}
.hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}.hero-photo figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:17px 20px;background:rgba(255,255,255,.93);font:700 .68rem/1 var(--mono);letter-spacing:.09em;text-transform:uppercase}
.hero-note{position:absolute;z-index:3;background:#fff;border:1px solid var(--line);box-shadow:0 16px 38px rgba(29,29,27,.07);font-family:var(--serif);letter-spacing:-.04em;line-height:.92}.hero-note span{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hero-note-top{left:0;top:12%;padding:28px 32px;font-size:2.7rem}.hero-note-bottom{right:-1%;bottom:8%;padding:22px 27px;font:700 .82rem/1.55 var(--mono);letter-spacing:.04em}.hero-note-bottom span{color:var(--terracotta)}

.explore-section{padding-block:clamp(95px,11vw,175px)}
.explore-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);gap:8vw;align-items:end;margin-bottom:56px}.explore-heading h2{font:500 clamp(3rem,4.8vw,5.6rem)/.94 var(--serif);letter-spacing:-.06em;margin:0;max-width:900px}.explore-heading>p{font-size:1.08rem;color:var(--muted);max-width:420px;margin:0 0 8px auto}
.portal-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.portal-card{grid-column:span 4;position:relative;min-height:470px;overflow:hidden;background:var(--paper-2);border:1px solid rgba(29,29,27,.08)}.portal-card.portal-wide{grid-column:span 6}.portal-card img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .75s ease}.portal-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(18,18,17,.52),transparent 48%);pointer-events:none}.portal-card:hover img{transform:scale(1.025);filter:saturate(1.04)}
.portal-number,.portal-label,.portal-arrow{position:absolute;z-index:2;color:#fff}.portal-number{left:22px;top:22px;font:700 .68rem/1 var(--mono);letter-spacing:.1em}.portal-label{left:22px;bottom:20px;font:500 clamp(1.75rem,2.2vw,2.8rem)/1 var(--serif);letter-spacing:-.045em}.portal-arrow{right:22px;bottom:20px;font-size:1.65rem;transition:transform .25s ease}.portal-card:hover .portal-arrow{transform:translate(4px,-4px)}

.editorial-grid-v14{padding-top:clamp(80px,9vw,145px)}
.editorial-grid-v14 .feature-card{border-radius:0}.editorial-grid-v14 .feature-placeholder .feature-media{background-color:#eceae5;background-repeat:no-repeat;background-size:cover;background-position:center}.editorial-grid-v14 .feature-placeholder .feature-scrim{background:linear-gradient(to top,rgba(20,19,18,.64),rgba(20,19,18,.03) 66%)}

.manifesto-band{background:var(--ink);color:#fff;padding-block:clamp(95px,11vw,170px);margin-top:20px}.manifesto-band .eyebrow{color:rgba(255,255,255,.55)}.manifesto-band-inner{display:grid;grid-template-columns:2fr 8fr;gap:7vw;align-items:start}.manifesto-band-inner>p:last-child{font:500 clamp(2.8rem,5.2vw,6.2rem)/.96 var(--serif);letter-spacing:-.06em;margin:0;max-width:1150px}

.immersive-section{padding-block:clamp(110px,13vw,210px);display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:7vw;align-items:start;border-bottom:1px solid var(--line)}.immersive-copy{position:sticky;top:calc(var(--header-h) + 54px);padding-top:22px}.immersive-copy h2{font:500 clamp(3.1rem,4.8vw,5.7rem)/.95 var(--serif);letter-spacing:-.06em;margin:0}.immersive-copy>p:not(.eyebrow){color:var(--muted);font-size:1.12rem;max-width:470px;margin-top:28px}.immersive-media{position:relative;min-height:780px;background:var(--paper-2);overflow:hidden}.immersive-image{width:100%;height:100%;min-height:780px;object-fit:cover}.media-caption{position:absolute;right:22px;bottom:20px;background:rgba(255,255,255,.9);padding:9px 12px;font:700 .68rem/1 var(--mono);letter-spacing:.08em}

.dual-story{padding-block:clamp(100px,12vw,185px);display:grid;grid-template-columns:1fr 1fr;gap:18px}.dual-story-card{display:block}.dual-story-media{aspect-ratio:4/3;overflow:hidden;background:var(--paper-2)}.dual-story-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.dual-story-card:hover .dual-story-media img{transform:scale(1.025)}.dual-story-copy{padding:25px 4px 0}.dual-story-copy h3{font:500 clamp(2.3rem,3.5vw,4.4rem)/.97 var(--serif);letter-spacing:-.055em;margin:8px 0 20px;max-width:580px}.dual-story-copy>span{font-weight:650;border-bottom:1px solid currentColor;padding-bottom:4px}

.comic-showcase{background:#fff;padding-block:clamp(105px,13vw,195px)}.comic-showcase-inner{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:7vw;align-items:center}.comic-showcase-copy h2{font:500 clamp(3rem,4.7vw,5.6rem)/.95 var(--serif);letter-spacing:-.06em;margin:0}.comic-showcase-copy>p:not(.eyebrow){font-size:1.12rem;color:var(--muted);max-width:520px;margin:28px 0 0}.comic-showcase-art{background:#fff;padding:16px;border:1px solid rgba(29,29,27,.08);box-shadow:0 26px 65px rgba(29,29,27,.07)}.comic-showcase-image{width:100%;aspect-ratio:1/1;object-fit:cover}

.manifesto-v14{padding-block:clamp(120px,14vw,220px);border-top:0}.manifesto-v14 .manifesto-text{max-width:1190px;font-size:clamp(3.1rem,5.7vw,6.8rem)}.manifesto-footer{margin-top:60px;display:grid;grid-template-columns:1fr auto;gap:5vw;align-items:end;border-top:1px solid var(--line);padding-top:25px}.manifesto-footer>p{margin:0;max-width:570px;color:var(--muted);font-size:1.08rem}.manifesto-footer .text-link{margin-top:0}
.contact-section-v14{border-top:1px solid var(--line)}

@media(max-width:1100px){
  .hero-v14{grid-template-columns:1fr;min-height:auto;padding-top:calc(var(--header-h) + 95px)}.hero-collage{min-height:600px}.hero-photo{width:82%;margin-left:auto}.hero-note-top{left:2%}
  .portal-card,.portal-card.portal-wide{grid-column:span 6}.immersive-section,.comic-showcase-inner{grid-template-columns:1fr;gap:60px}.immersive-copy{position:static}.immersive-media,.immersive-image{min-height:620px}.manifesto-band-inner{grid-template-columns:1fr;gap:24px}
}
@media(max-width:760px){
  .explore-heading{grid-template-columns:1fr;gap:26px}.explore-heading>p{margin:0}.portal-card,.portal-card.portal-wide{grid-column:1/-1;min-height:420px}.dual-story{grid-template-columns:1fr;gap:70px}.manifesto-footer{grid-template-columns:1fr;align-items:start}.hero-collage{min-height:500px}.hero-photo{width:92%}.hero-note-top{font-size:2rem;padding:20px 22px}.hero-note-bottom{right:0;bottom:1%}
}
@media(max-width:620px){
  .hero-v14{padding-top:calc(var(--header-h) + 66px);padding-bottom:52px}.hero-v14 .hero-copy h1{font-size:clamp(3rem,13vw,4.6rem)}.hero-actions{align-items:flex-start;flex-direction:column}.hero-collage{min-height:440px;margin-top:12px}.hero-photo{width:100%}.hero-note-top{top:-18px;left:8px}.hero-note-bottom{display:none}.portal-card,.portal-card.portal-wide{min-height:360px}.portal-label{font-size:2rem}.immersive-media,.immersive-image{min-height:450px}.comic-showcase-art{padding:9px}.manifesto-band-inner>p:last-child{font-size:clamp(2.6rem,11vw,4rem)}
}

.section-reveal.is-visible .hero-note{animation:floatIn .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes floatIn{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}


/* =========================================================
   AlexEmme 1.6 — home più leggera, immagini contenute,
   reveal visibili senza parallax continuo durante lo scroll.
   ========================================================= */
.site-header{background:rgba(255,255,255,.97);backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.site-header.is-scrolled{background:#fff}

.section-reveal{
  opacity:0;
  transform:translate3d(0,54px,0);
  transition:opacity .72s cubic-bezier(.2,.72,.25,1),transform .72s cubic-bezier(.2,.72,.25,1);
}
.section-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
.reveal-child{
  opacity:0;
  transform:translate3d(0,42px,0) scale(.985);
  transition:opacity .68s cubic-bezier(.2,.72,.25,1),transform .68s cubic-bezier(.2,.72,.25,1),box-shadow .35s ease;
  transition-delay:var(--reveal-delay,0s);
}
.reveal-child.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
.reveal-child img{transform:scale(1.025);transition:transform .95s cubic-bezier(.2,.72,.25,1)}
.reveal-child.is-visible img{transform:scale(1)}
.parallax-soft{transform:none!important;transition:none!important}

/* Hero: più editoriale, meno dominante. */
.hero-v14{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:5.5vw;min-height:88vh;padding-bottom:42px}
.hero-collage{min-height:520px;justify-content:center}
.hero-photo{width:min(76%,590px);box-shadow:0 20px 52px rgba(29,29,27,.075)}
.hero-photo img{aspect-ratio:4/3}
.hero-note-top{left:4%;top:15%;padding:20px 23px;font-size:2.05rem}
.hero-note-bottom{right:2%;bottom:12%;padding:16px 19px;font-size:.72rem}

/* Portali: immagini meno invadenti. */
.portal-grid{gap:14px}
.portal-card{min-height:0;aspect-ratio:4/3}
.portal-card.portal-wide{min-height:0;aspect-ratio:16/9}
.portal-card img{object-position:center}
.portal-label{font-size:clamp(1.55rem,1.8vw,2.25rem)}

/* Articoli: più compatti, niente poster giganteschi. */
.feature-card{min-height:360px}
.feature-large{min-height:520px}
.feature-card:not(.feature-large){min-height:360px}
.card-body h3{font-size:clamp(1.8rem,2.35vw,3.05rem)}
.feature-card:not(.feature-large) .card-body h3{font-size:clamp(1.55rem,1.85vw,2.25rem)}

/* C64: immagine contenuta e non a tutta altezza. */
.immersive-section{grid-template-columns:minmax(300px,.82fr) minmax(0,1.05fr);gap:6vw}
.immersive-media{min-height:0;aspect-ratio:4/3;max-width:760px;justify-self:end;width:100%}
.immersive-image{min-height:0;width:100%;height:100%;object-fit:cover}

/* MAME / Progetti: meno superficie fotografica. */
.dual-story{gap:24px}
.dual-story-media{aspect-ratio:16/10;max-height:420px}

/* Bellicchio & Leccamuffo: la copertina resta importante ma non domina la pagina. */
.comic-showcase{padding-block:clamp(85px,9vw,140px)}
.comic-showcase-inner{grid-template-columns:minmax(340px,1fr) minmax(320px,.72fr);gap:6vw}
.comic-showcase-art{width:min(100%,520px);justify-self:end;padding:10px;box-shadow:0 18px 44px rgba(29,29,27,.06)}
.comic-showcase-image{aspect-ratio:1/1;object-fit:cover}

/* Evita filtri/effetti costosi durante lo scroll. */
.portal-card:hover img,.dual-story-card:hover img,.comic-showcase-art:hover .comic-showcase-image,.immersive-media:hover .immersive-image{filter:none;transform:scale(1.018)}
.hero-photo::after,.portal-card::before,.dual-story-media::after,.comic-showcase-art::after,.immersive-media::after{display:none}

@media(max-width:1100px){
  .hero-v14{grid-template-columns:1fr;min-height:auto}.hero-collage{min-height:470px}.hero-photo{width:min(78%,590px)}
  .portal-card,.portal-card.portal-wide{aspect-ratio:4/3}
  .immersive-media{max-width:720px;justify-self:start}
  .comic-showcase-inner{grid-template-columns:1fr}.comic-showcase-art{justify-self:start;width:min(72vw,500px)}
}
@media(max-width:760px){
  .hero-collage{min-height:390px}.hero-photo{width:min(88%,520px)}
  .portal-card,.portal-card.portal-wide{aspect-ratio:16/11}
  .feature-large,.feature-card,.feature-card:not(.feature-large){min-height:390px}
  .comic-showcase-art{width:min(86vw,440px)}
}
@media(max-width:620px){
  .hero-collage{min-height:340px}.hero-photo{width:92%}.hero-note-top{font-size:1.5rem;padding:14px 16px;top:2px}.hero-note-bottom{display:none}
  .portal-card,.portal-card.portal-wide{min-height:0;aspect-ratio:4/3}
  .feature-large,.feature-card,.feature-card:not(.feature-large){min-height:350px}
  .immersive-media{aspect-ratio:4/3}
  .comic-showcase-art{width:min(90vw,400px);justify-self:center}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .section-reveal,.reveal-child{opacity:1!important;transform:none!important;transition:none!important}
  .marquee-track{animation:none!important}
  .portal-card img,.dual-story-media img,.comic-showcase-image,.immersive-image{transition:none!important;transform:none!important}
}


/* =========================================================
   AlexEmme 1.7 — performance-first home.
   Niente animazioni continue durante lo scroll; reveal solo
   quando piccoli elementi entrano nel viewport.
   ========================================================= */
html{scroll-behavior:auto}
.site-header{transition:none!important;border-bottom:1px solid var(--line);transform:none!important}
.site-header.is-hidden{transform:none!important}
.site-header.is-scrolled{background:#fff!important}

/* Le sezioni grandi non vengono più trasformate/composite. */
.section-reveal{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
.section-reveal.is-visible{opacity:1!important;transform:none!important}
.section-reveal.is-visible .hero-note{animation:none!important}

/* Reveal percepibile ma leggero: solo opacity + 20px, una volta. */
.reveal-child{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .48s ease-out,transform .48s cubic-bezier(.2,.72,.25,1)!important;
  transition-delay:var(--reveal-delay,0s)!important;
}
.reveal-child.is-visible{opacity:1;transform:none}
.reveal-child img,.reveal-child.is-visible img{transform:none!important}
.parallax-soft{transform:none!important;transition:none!important}

/* Nessuna animazione perpetua: evita repaint continui in Firefox/Safari. */
.marquee-track{animation:none!important;transform:none!important}
.marquee-track span:nth-child(2){display:none}
.blink{animation:none!important}

/* Layout portali: la copertina dei conigli è più piccola e mai tagliata. */
.portal-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.portal-card{min-height:0!important;contain:paint}
.portal-retro{grid-column:span 6;aspect-ratio:16/9}
.portal-c64{grid-column:span 3;aspect-ratio:4/5}
.portal-mame{grid-column:span 3;aspect-ratio:4/5}
.portal-projects{grid-column:span 8;aspect-ratio:16/8}
.portal-comic{grid-column:span 4;aspect-ratio:1/1;background:#f7f7f5}
.portal-comic img{object-fit:contain!important;object-position:center!important;width:100%;height:100%}
.portal-comic:after{background:linear-gradient(to top,rgba(18,18,17,.42),transparent 38%)}

/* Riduce ulteriormente superfici e ombre costose. */
.hero-photo{box-shadow:0 12px 28px rgba(29,29,27,.055)}
.feature-card,.dual-story-media,.comic-showcase-art,.immersive-media{contain:paint}
.comic-showcase-inner{grid-template-columns:minmax(380px,1.25fr) minmax(260px,.55fr);gap:5vw}
.comic-showcase-art{width:min(100%,380px);padding:7px;box-shadow:0 10px 26px rgba(29,29,27,.045)}
.comic-showcase-image{width:100%;height:auto;aspect-ratio:auto!important;object-fit:contain!important}

/* Hover solo su puntatore preciso; non interferisce con lo scroll touch/trackpad. */
.portal-card img,.dual-story-media img,.comic-showcase-image,.immersive-image{transition:none!important;filter:none!important}
@media (hover:hover) and (pointer:fine){
  .portal-card img,.dual-story-media img,.comic-showcase-image,.immersive-image{transition:transform .28s ease!important}
  .portal-card:hover img,.dual-story-card:hover img,.comic-showcase-art:hover .comic-showcase-image,.immersive-media:hover .immersive-image{transform:scale(1.012)!important;filter:none!important}
}

@media(max-width:1100px){
  .portal-retro,.portal-projects{grid-column:span 7}
  .portal-c64,.portal-mame,.portal-comic{grid-column:span 5;aspect-ratio:4/3}
  .comic-showcase-inner{grid-template-columns:1fr;gap:45px}
  .comic-showcase-art{width:min(62vw,380px);justify-self:start}
}
@media(max-width:760px){
  .portal-retro,.portal-c64,.portal-mame,.portal-projects,.portal-comic{grid-column:1/-1;aspect-ratio:16/10}
  .portal-comic{aspect-ratio:1/1;width:min(100%,480px)}
  .comic-showcase-art{width:min(78vw,360px)}
}
@media(max-width:620px){
  .portal-retro,.portal-c64,.portal-mame,.portal-projects{aspect-ratio:4/3}
  .portal-comic{aspect-ratio:1/1;width:min(92vw,360px)}
  .comic-showcase-art{width:min(86vw,340px);justify-self:center}
}
@media(prefers-reduced-motion:reduce){
  .reveal-child{opacity:1!important;transform:none!important;transition:none!important}
}


/* =========================================================
   AlexEmme 1.8 — lightweight editorial transitions.
   Solo IntersectionObserver + opacity/transform. Nessun
   calcolo continuo durante lo scroll.
   ========================================================= */

/* Reveal testo/card: breve e percepibile, senza scale su superfici grandi. */
.reveal-child{
  opacity:0!important;
  transform:translate3d(0,16px,0)!important;
  transition:
    opacity .56s cubic-bezier(.2,.72,.25,1),
    transform .56s cubic-bezier(.2,.72,.25,1)!important;
  transition-delay:var(--reveal-delay,0ms)!important;
}
.reveal-child.is-visible{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
}

/* Wipe editoriale: una sola superficie piatta che esce lateralmente. */
.wipe-reveal{position:relative;overflow:hidden}
.wipe-reveal::before{
  content:""!important;
  display:block!important;
  position:absolute;
  inset:-1px;
  z-index:6;
  background:#fff;
  pointer-events:none;
  transform:scaleX(1);
  transform-origin:left center;
  transition:transform .68s cubic-bezier(.72,0,.22,1);
  transition-delay:calc(var(--reveal-delay,0ms) + 60ms);
}
.wipe-reveal.is-visible::before,
.dual-story-card.is-visible .dual-story-media.wipe-reveal::before{
  transform:scaleX(0);
  transform-origin:right center;
}

/* Il wipe non deve coprire le etichette delle portal card oltre il necessario. */
.portal-card.wipe-reveal::before{background:#f5f5f2}
.comic-showcase-art.wipe-reveal::before{background:#fff}
.hero-photo.wipe-reveal::before{background:#f7f7f5}
.immersive-media.wipe-reveal::before{background:#f7f7f5}
.dual-story-media.wipe-reveal::before{background:#f7f7f5}

/* Micro-interazioni solo con mouse preciso. Nessun filtro o blur. */
@media (hover:hover) and (pointer:fine){
  .portal-arrow,
  .text-link span,
  .dual-story-copy>span{
    transition:transform .22s ease!important;
  }
  .portal-card:hover .portal-arrow{transform:translate3d(4px,-4px,0)}
  .text-link:hover span{transform:translate3d(4px,-2px,0)}
  .dual-story-card:hover .dual-story-copy>span{transform:translate3d(3px,0,0)}

  .portal-card img,
  .dual-story-media img,
  .comic-showcase-image,
  .immersive-image{
    transition:transform .32s cubic-bezier(.2,.7,.2,1)!important;
  }
  .portal-card:hover img,
  .dual-story-card:hover img,
  .comic-showcase-art:hover .comic-showcase-image,
  .immersive-media:hover .immersive-image{
    transform:scale(1.01)!important;
  }
}

/* Niente effetti su dispositivi che chiedono meno movimento. */
@media(prefers-reduced-motion:reduce){
  .reveal-child{opacity:1!important;transform:none!important;transition:none!important}
  .wipe-reveal::before{display:none!important;transition:none!important}
}


/* =========================================================
   AlexEmme 1.9 — archivi editoriali + galleria fumetti.
   Nessuna animazione continua: solo layout e reveal esistenti.
   ========================================================= */
.article-filters{display:flex;flex-wrap:wrap;gap:9px;padding-bottom:48px}
.article-filter{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:.82rem;line-height:1.2;transition:background .2s ease,color .2s ease,border-color .2s ease}
.article-filter:hover,.article-filter.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.articles-page .post-grid{padding-top:4px}

.comic-archive{background:#fff}
.comic-archive .archive-hero{padding-bottom:70px}
.comic-archive .archive-hero h1{max-width:900px}
.comic-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px 28px;padding-bottom:140px}
.comic-tile{position:relative;min-width:0}
.comic-tile-link{position:absolute;inset:0;z-index:4}
.comic-tile-media{background:#f7f7f5;border:1px solid rgba(29,29,27,.08);overflow:hidden;display:flex;align-items:center;justify-content:center}
.comic-tile-media img{width:100%;height:auto;display:block;object-fit:contain}
.comic-tile-placeholder{aspect-ratio:1/1;width:100%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:2rem;color:var(--muted)}
.comic-tile-copy{position:relative;padding-top:20px;padding-right:42px}
.comic-tile-copy .eyebrow{margin-bottom:10px}
.comic-tile-copy h2{font:500 clamp(1.9rem,2.5vw,3rem)/1 var(--serif);letter-spacing:-.045em;margin:0}
.comic-tile-copy>span{position:absolute;right:2px;top:22px;font-size:1.5rem;transition:transform .22s ease}
@media (hover:hover) and (pointer:fine){.comic-tile:hover .comic-tile-copy>span{transform:translate(3px,-3px)}}
@media(max-width:760px){.comic-gallery{grid-template-columns:1fr;gap:56px}.article-filters{gap:7px;padding-bottom:36px}.article-filter{font-size:.78rem}}


/* Bellicchio & Leccamuffo landing — v1.10 */
.bellicchio-landing{background:#fff}
.bellicchio-hero{padding-top:calc(var(--header-h) + 72px);padding-bottom:clamp(80px,9vw,140px);display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:7vw;align-items:center}
.bellicchio-hero-copy h1{font:500 clamp(3.6rem,5.8vw,6.8rem)/.92 var(--serif);letter-spacing:-.065em;margin:0}
.bellicchio-lead{font-size:clamp(1.08rem,1.55vw,1.32rem);color:var(--muted);max-width:590px;margin:30px 0 0}
.bellicchio-cover{background:#fff;border:1px solid rgba(29,29,27,.08);padding:10px;max-width:620px;justify-self:end;box-shadow:0 18px 48px rgba(29,29,27,.055);overflow:hidden}
.bellicchio-cover-image{width:100%;height:auto;object-fit:contain;display:block}
.bellicchio-intro{padding-block:clamp(90px,10vw,150px);border-top:1px solid var(--line);display:grid;grid-template-columns:2fr 8fr;gap:7vw}
.bellicchio-intro-copy{max-width:1000px}
.bellicchio-intro-copy p{font:500 clamp(1.8rem,3.2vw,3.7rem)/1.13 var(--serif);letter-spacing:-.04em;margin:0 0 32px}
.bellicchio-section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.5fr);gap:7vw;align-items:end;margin-bottom:52px}
.bellicchio-section-head h2{font:500 clamp(2.9rem,4.4vw,5.2rem)/.95 var(--serif);letter-spacing:-.055em;margin:0}
.bellicchio-section-head>p{margin:0;color:var(--muted);font-size:1.06rem;max-width:390px}
.bellicchio-stories{padding-bottom:clamp(100px,12vw,180px)}
.bellicchio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:76px 28px}
.bellicchio-card{position:relative;min-width:0}
.bellicchio-card-link{position:absolute;inset:0;z-index:5}
.bellicchio-card-media{background:#f7f7f5;border:1px solid rgba(29,29,27,.08);overflow:hidden;display:flex;align-items:center;justify-content:center}
.bellicchio-card-media img{width:100%;height:auto;object-fit:contain;display:block}
.bellicchio-card-copy{padding-top:22px;max-width:660px}
.bellicchio-card-copy .eyebrow{margin-bottom:10px}
.bellicchio-card-copy h3{font:500 clamp(2rem,2.7vw,3.25rem)/.98 var(--serif);letter-spacing:-.05em;margin:0 0 16px}
.bellicchio-card-copy>p{margin:0;color:var(--muted);font-size:1rem;max-width:560px}
.bellicchio-more{display:inline-flex;align-items:center;gap:12px;margin-top:20px;font-weight:650;border-bottom:1px solid currentColor;padding-bottom:4px}
@media (hover:hover) and (pointer:fine){.bellicchio-card:hover .bellicchio-more span{transform:translate(3px,-3px)}.bellicchio-more span{transition:transform .22s ease}}
@media(max-width:980px){.bellicchio-hero{grid-template-columns:1fr;gap:50px}.bellicchio-cover{justify-self:start;width:min(78vw,580px)}.bellicchio-intro{grid-template-columns:1fr;gap:26px}.bellicchio-section-head{grid-template-columns:1fr;gap:24px}}
@media(max-width:760px){.bellicchio-grid{grid-template-columns:1fr;gap:58px}.bellicchio-cover{width:min(92vw,520px)}.bellicchio-hero{padding-top:calc(var(--header-h) + 56px)}.bellicchio-hero-copy h1{font-size:clamp(3.2rem,13vw,4.8rem)}.bellicchio-intro-copy p{font-size:clamp(1.7rem,7.5vw,2.8rem)}}

/* 1.10.1 — fix reveal copertina e tavole Bellicchio */
.bellicchio-card.is-visible .bellicchio-card-media.wipe-reveal::before{transform:scaleX(0);transform-origin:right center}


/* V1.10.2 — singole tavole Bellicchio & Leccamuffo: immagine intera, mai ritagliata. */
.comic-single .article-header{max-width:980px;padding-top:clamp(72px,8vw,120px);padding-bottom:clamp(44px,5vw,72px)}
.comic-single .article-header h1{font-size:clamp(3rem,5vw,5.8rem);max-width:920px}
.comic-single .article-deck{max-width:900px;font-size:clamp(1.12rem,1.7vw,1.45rem);line-height:1.55;margin-top:28px}
.comic-single .article-date{margin-top:22px}
.comic-single .article-hero-image{width:min(1080px,calc(100vw - 56px));margin:0 auto clamp(70px,8vw,110px);background:#fff;border:1px solid rgba(29,29,27,.08);padding:10px;overflow:visible}
.comic-single .article-hero-image img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
.comic-single .article-content:empty{display:none}
@media(max-width:760px){
  .comic-single .article-header{padding-top:64px;padding-bottom:38px}
  .comic-single .article-header h1{font-size:clamp(2.7rem,11vw,4rem)}
  .comic-single .article-hero-image{width:calc(100vw - 28px);padding:6px;margin-bottom:64px}
}

/* AlexEmme logo support — v1.11.4 */
.brand-wrap{display:flex;align-items:center;min-width:0}
.brand-wrap .custom-logo-link{display:inline-flex;align-items:center;line-height:0}
.brand-wrap .custom-logo{display:block;width:auto;height:auto;max-height:42px;max-width:210px;object-fit:contain}
@media(max-width:700px){.brand-wrap .custom-logo{max-height:34px;max-width:170px}}


/* =========================================================
   AlexEmme 1.12.0 — Home: ritmo editoriale compatto.
   Riduce i vuoti, elimina gli intermezzi decorativi non utili
   e porta i contenuti reali subito dopo l'hero.
   ========================================================= */

.home-v14 .hero-v14{
  min-height:clamp(560px,72vh,720px);
  grid-template-columns:minmax(0,.98fr) minmax(360px,.78fr);
  gap:clamp(42px,4.8vw,76px);
  padding-top:calc(var(--header-h) + 30px);
  padding-bottom:44px;
}
.home-v14 .hero-v14 .hero-copy h1{
  font-size:clamp(3.45rem,5.35vw,6.25rem);
  max-width:700px;
}
.home-v14 .hero-v14 .hero-intro{
  margin-top:26px;
  max-width:585px;
}
.home-v14 .hero-actions{margin-top:28px}
.home-v14 .hero-collage{min-height:430px}
.home-v14 .hero-photo{width:min(88%,560px)}
.home-v14 .hero-note-top{left:1%;top:11%;padding:18px 21px;font-size:1.9rem}
.home-v14 .hero-note-bottom{right:0;bottom:7%;padding:14px 17px;font-size:.68rem}

/* Il vecchio ticker non fa più parte della Home. Manteniamo una salvaguardia
   nel caso una cache serva temporaneamente markup precedente. */
.home-v14 + .marquee,
.home-v14 .marquee{display:none!important}

/* Contenuti reali immediatamente dopo l'hero. */
.home-v14 .editorial-grid-v14{
  padding-top:clamp(62px,6vw,92px);
  padding-bottom:clamp(72px,7vw,108px);
  border-top:1px solid var(--line);
}
.home-v14 .section-heading{margin-bottom:30px}
.home-v14 .feature-large{min-height:560px}
.home-v14 .feature-card:not(.feature-large){min-height:360px}

/* Esplorazione: resta visuale, ma non crea una seconda apertura gigante. */
.home-v14 .explore-section{padding-block:clamp(72px,7vw,110px)}
.home-v14 .explore-heading{margin-bottom:38px;gap:5vw}
.home-v14 .explore-heading h2{font-size:clamp(2.8rem,4.35vw,5rem)}

/* Ritmo uniforme delle sezioni narrative. */
.home-v14 .manifesto-band{
  margin-top:0;
  padding-block:clamp(70px,7vw,108px);
}
.home-v14 .manifesto-band-inner{gap:5vw}
.home-v14 .manifesto-band-inner>p:last-child{font-size:clamp(2.65rem,4.65vw,5.35rem)}

.home-v14 .immersive-section{
  padding-block:clamp(78px,8vw,122px);
  gap:5vw;
}
.home-v14 .immersive-copy{padding-top:8px}
.home-v14 .immersive-copy>p:not(.eyebrow){margin-top:22px}
.home-v14 .immersive-media{max-width:700px}

.home-v14 .dual-story{
  padding-block:clamp(76px,7.5vw,116px);
  gap:22px;
}
.home-v14 .dual-story-copy{padding-top:20px}
.home-v14 .dual-story-copy h3{margin-bottom:15px}

.home-v14 .comic-showcase{padding-block:clamp(76px,7.5vw,116px)}
.home-v14 .comic-showcase-inner{gap:4.5vw}
.home-v14 .comic-showcase-copy>p:not(.eyebrow){margin-top:22px}

.home-v14 .manifesto-v14{
  padding-block:clamp(82px,8vw,126px);
}
.home-v14 .manifesto-v14 .manifesto-text{font-size:clamp(2.9rem,5vw,5.9rem)}
.home-v14 .manifesto-footer{margin-top:38px}

.home-v14 .contact-section-v14{
  padding-block:clamp(72px,7vw,108px);
}

@media(max-width:980px){
  .home-v14 .hero-v14{
    min-height:auto;
    padding-top:calc(var(--header-h) + 56px);
    padding-bottom:54px;
    gap:34px;
  }
  .home-v14 .hero-collage{min-height:390px}
  .home-v14 .hero-photo{width:min(82%,560px)}
  .home-v14 .editorial-grid-v14,
  .home-v14 .explore-section,
  .home-v14 .immersive-section,
  .home-v14 .dual-story,
  .home-v14 .comic-showcase,
  .home-v14 .manifesto-v14,
  .home-v14 .contact-section-v14{padding-block:70px}
}

@media(max-width:760px){
  .home-v14 .hero-v14{
    padding-top:calc(var(--header-h) + 38px);
    padding-bottom:42px;
  }
  .home-v14 .hero-v14 .hero-intro{margin-top:20px}
  .home-v14 .hero-actions{margin-top:24px;gap:16px}
  .home-v14 .hero-collage{min-height:330px;margin-top:0}
  .home-v14 .hero-photo{width:100%}
  .home-v14 .hero-note-top{font-size:1.45rem;padding:13px 15px;top:4px}
  .home-v14 .section-heading{margin-bottom:24px}
  .home-v14 .editorial-grid-v14,
  .home-v14 .explore-section,
  .home-v14 .immersive-section,
  .home-v14 .dual-story,
  .home-v14 .comic-showcase,
  .home-v14 .manifesto-v14,
  .home-v14 .contact-section-v14{padding-block:54px}
  .home-v14 .explore-heading{margin-bottom:28px}
  .home-v14 .manifesto-band{padding-block:56px}
  .home-v14 .manifesto-footer{margin-top:30px}
}

/* =========================================================
   AlexEmme 1.13.2 — archivio Articoli: hover morbido e immagini full-bleed.
   Categorie derivate da WordPress; immagini editoriali 16:10.
   ========================================================= */
.articles-page .articles-hero{
  padding-top:clamp(28px,3vw,44px);
  padding-bottom:18px;
}
.articles-page .articles-hero h1{
  font-size:clamp(3rem,4.8vw,5.5rem);
}
.articles-page .articles-hero>p:not(.eyebrow){
  max-width:920px;
  margin-top:14px;
  margin-bottom:0;
  font-size:clamp(1rem,1.2vw,1.12rem);
  line-height:1.5;
}
.articles-page .articles-hero .eyebrow{
  margin-bottom:12px;
}
.articles-page .article-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding-top:0;
  padding-bottom:20px;
}
.articles-page .article-filter{
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  color:var(--ink);
  font:inherit;
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 14px;
  font-size:.82rem;
  line-height:1.2;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.articles-page .article-filter:hover,
.articles-page .article-filter.is-active{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}
.articles-page .article-filter:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:3px;
}
.articles-page .articles-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:38px 24px;
  padding-top:0;
  padding-bottom:78px;
}
.articles-page .post-card[hidden]{display:none!important}
.articles-page .post-card-media{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--paper-2);
  border:1px solid rgba(29,29,27,.08);
  isolation:isolate;
}
/*
 * Immagini articoli 1.13.2:
 * un solo livello immagine, sempre full-bleed.
 * Eliminato il crossfade cover/contain che causava un effetto "scossa".
 * L'hover è un lieve zoom-out, senza scoprire bande laterali o bordi neri.
 */
.articles-page .post-card-media{
  border-radius:16px;
  border:0;
  background:var(--paper-2);
  box-shadow:0 8px 24px rgba(29,29,27,.055);
  transform:translateZ(0);
  transition:transform .42s cubic-bezier(.2,.75,.2,1),box-shadow .42s ease;
}
.articles-page .post-card-media::before{display:none!important}
.articles-page .post-card-media img{
  position:absolute;
  inset:-2%;
  z-index:1;
  width:104%;
  height:104%;
  object-fit:cover;
  object-position:center;
  opacity:1;
  transform:scale(1.035);
  transform-origin:center;
  transition:transform .62s cubic-bezier(.18,.72,.22,1),filter .42s ease;
  will-change:transform;
}
@media(hover:hover) and (pointer:fine){
  .articles-page .post-card:hover .post-card-media{
    transform:translateY(-2px);
    box-shadow:0 14px 34px rgba(29,29,27,.085);
  }
  .articles-page .post-card:hover .post-card-media img{
    transform:scale(1.015);
    filter:saturate(.98) contrast(.995);
  }
}
.articles-page .post-card-copy{
  padding-top:14px;
}
.articles-page .post-card h2{
  font-size:clamp(1.6rem,1.9vw,2.3rem);
  line-height:1.03;
  margin:9px 34px 9px 0;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.articles-page .post-card p{
  margin:0;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.5;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.articles-page .post-card-arrow{
  top:16px;
  font-size:1.2rem;
}
.articles-page .articles-empty-state{
  padding:28px 0 52px;
  min-height:190px;
}
.articles-page .articles-empty-state h2{max-width:760px}
.articles-page .articles-empty-state>p:not(.eyebrow){max-width:620px;color:var(--muted)}
@media(max-width:1120px){
  .articles-page .articles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 22px}
}
@media(max-width:680px){
  .articles-page .articles-hero{padding-top:24px;padding-bottom:16px}
  .articles-page .articles-hero .eyebrow{margin-bottom:10px}
  .articles-page .articles-hero>p:not(.eyebrow){margin-top:12px}
  .articles-page .article-filters{gap:7px;padding-bottom:18px}
  .articles-page .article-filter{font-size:.78rem;padding:7px 12px}
  .articles-page .articles-grid{grid-template-columns:1fr;gap:34px;padding-bottom:64px}
  .articles-page .post-card-media{aspect-ratio:4/3}
  .articles-page .post-card h2{-webkit-line-clamp:unset;display:block;overflow:visible}
  .articles-page .post-card p{-webkit-line-clamp:unset;display:block;overflow:visible}
  /* Su touch niente hover: manteniamo la card piena e senza bande. */
  .articles-page .post-card-media img{transform:scale(1.02);object-fit:cover}
}
@media(hover:none){
  .articles-page .post-card-media img{transform:scale(1.02);object-fit:cover}
}



/* =========================================================
   AlexEmme 1.13.3 — ritmo verticale globale delle pagine.
   Tutte le nuove sezioni/landing devono partire vicino all'header
   usando --page-start-gap, evitando grandi vuoti iniziali.
   ========================================================= */
:root{
  --page-start-gap:clamp(18px,1.7vw,26px);
}

/* Utility riutilizzabile per future sezioni. */
.page-start{
  padding-top:var(--page-start-gap)!important;
}

/* Pattern standard per pagine e archivi gestiti dal tema. */
.archive-main>.archive-hero,
.page-main .page-header,
.alex-page .alex-manifesto,
.contact-page .contact-hero,
.articles-page .articles-hero{
  padding-top:var(--page-start-gap)!important;
}

@media(max-width:680px){
  :root{--page-start-gap:16px}
  .archive-main>.archive-hero,
  .page-main .page-header,
  .alex-page .alex-manifesto,
  .contact-page .contact-hero,
  .articles-page .articles-hero{
    padding-top:var(--page-start-gap)!important;
  }
}

/* =========================================================
   AlexEmme 1.14.1 — Home editoriale compatta, coerente e pastello.
   // by Alessandro Monfregola
   ========================================================= */
.home-v15{
  --home-blue:#6f95c6;
  --home-blue-deep:#4f75a6;
  --home-blue-soft:#eef4fb;
  --home-sand:#f8f5ef;
  --home-section-y:clamp(54px,5.2vw,82px);
  --home-gap:clamp(26px,3vw,48px);
  background:#fff;
}
.home-v15 section[id]{scroll-margin-top:calc(var(--header-h) + 18px)}
.home-v15 .eyebrow{color:var(--home-blue-deep);margin-bottom:12px}
.home-v15 .pill-link{border-color:rgba(79,117,166,.52)}
.home-v15 .pill-link:hover{background:var(--home-blue-deep);border-color:var(--home-blue-deep);color:#fff}
.home-v15 .text-link{border-bottom-color:rgba(79,117,166,.5)}
.home-v15 .text-link:hover{color:var(--home-blue-deep)}
.home-section{padding-block:var(--home-section-y)}

/* Hero: una prima schermata piena ma non dispersiva. */
.home-hero{
  min-height:auto;
  padding-top:calc(var(--header-h) + 30px);
  padding-bottom:clamp(38px,4vw,58px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(390px,.82fr);
  gap:clamp(38px,5vw,74px);
  align-items:center;
}
.home-hero-copy h1{
  margin:0;
  font:500 clamp(3.6rem,5.5vw,6.35rem)/.92 var(--serif);
  letter-spacing:-.065em;
  max-width:720px;
}
.home-hero-intro{
  margin:24px 0 0;
  max-width:590px;
  color:#4f4f4b;
  font-size:clamp(1.04rem,1.35vw,1.24rem);
  line-height:1.55;
}
.home-v15 .hero-actions{margin-top:26px;gap:22px}
.home-hero-art{position:relative;min-height:420px;display:flex;align-items:center;justify-content:flex-end}
.home-hero-figure{
  position:relative;
  width:min(92%,590px);
  margin:0;
  overflow:hidden;
  background:var(--home-sand);
  box-shadow:0 20px 52px rgba(29,29,27,.065);
}
.home-hero-figure img{width:100%;aspect-ratio:4/3;object-fit:cover}
.home-hero-figure figcaption{
  position:absolute;inset:auto 0 0;
  display:flex;justify-content:space-between;
  padding:13px 17px;
  background:rgba(255,255,255,.94);
  font:700 .65rem/1 var(--mono);
  letter-spacing:.09em;text-transform:uppercase;
}
.home-hero-badge,.home-hero-load{
  position:absolute;z-index:2;background:#fff;
  border:1px solid rgba(29,29,27,.12);
  box-shadow:0 10px 28px rgba(29,29,27,.055);
}
.home-hero-badge{
  left:0;top:8%;padding:18px 21px;
  font:500 1.9rem/.92 var(--serif);letter-spacing:-.04em;
}
.home-hero-badge span{display:block;margin-top:7px;font:700 .56rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.home-hero-load{right:-1%;bottom:7%;padding:13px 16px;font:700 .67rem/1.45 var(--mono);letter-spacing:.04em}
.home-hero-load span{color:var(--home-blue-deep)}

/* Esplora: un blocco unico, senza seconda apertura gigantesca. */
.home-explore{border-top:1px solid var(--line)}
.home-section-head{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.58fr);
  gap:clamp(30px,5vw,72px);
  align-items:end;
  margin-bottom:clamp(30px,3.6vw,50px);
}
.home-section-head h2{
  margin:0;
  font:500 clamp(2.75rem,4.35vw,5rem)/.95 var(--serif);
  letter-spacing:-.06em;
  max-width:860px;
}
.home-section-head>p{margin:0 0 4px auto;max-width:430px;color:var(--muted);font-size:1.03rem;line-height:1.55}
.home-portal-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.home-portal-card{
  grid-column:span 2;
  min-height:clamp(270px,25vw,360px);
  position:relative;overflow:hidden;
  background:var(--paper-2);
  border-radius:10px;
  box-shadow:0 8px 24px rgba(29,29,27,.045);
}
.home-portal-card:nth-child(4),.home-portal-card:nth-child(5){grid-column:span 3}
.home-portal-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.home-portal-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(17,22,28,.52),rgba(17,22,28,.02) 55%);pointer-events:none}
.home-portal-number,.home-portal-label,.home-portal-arrow{position:absolute;z-index:2;color:#fff}
.home-portal-number{top:18px;left:18px;font:700 .64rem/1 var(--mono);letter-spacing:.11em}
.home-portal-label{left:18px;bottom:17px;font:500 clamp(1.45rem,1.8vw,2.2rem)/1 var(--serif);letter-spacing:-.045em}
.home-portal-arrow{right:18px;bottom:17px;font-size:1.4rem;transition:transform .25s ease}
@media(hover:hover) and (pointer:fine){
  .home-portal-card:hover img{transform:scale(1.018)}
  .home-portal-card:hover .home-portal-arrow{transform:translate(3px,-3px)}
}

/* L'idea: sostituisce il vecchio pannello nero con la palette del logo. */
.home-idea{background:var(--home-blue-soft);border-top:1px solid rgba(79,117,166,.12);border-bottom:1px solid rgba(79,117,166,.12)}
.home-idea-inner{
  padding-block:clamp(46px,4.5vw,68px);
  display:grid;
  grid-template-columns:minmax(160px,.28fr) minmax(0,1fr);
  gap:clamp(28px,5vw,78px);
  align-items:start;
}
.home-idea-inner>p:last-child{
  margin:0;
  max-width:1080px;
  font:500 clamp(2.25rem,3.75vw,4.6rem)/1 var(--serif);
  letter-spacing:-.055em;
  color:#28384d;
}

/* C64: niente sticky, niente immagine alta quasi una schermata. */
.home-spotlight{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:clamp(34px,5vw,72px);
  align-items:center;
  border-bottom:1px solid var(--line);
}
.home-spotlight-copy h2{
  margin:0;
  font:500 clamp(2.9rem,4.5vw,5.2rem)/.94 var(--serif);
  letter-spacing:-.06em;
}
.home-spotlight-copy>p:not(.eyebrow){margin:20px 0 0;max-width:470px;color:var(--muted);font-size:1.06rem}
.home-spotlight-media{position:relative;overflow:hidden;background:var(--paper-2);border-radius:8px;aspect-ratio:16/10}
.home-spotlight-image{width:100%;height:100%;object-fit:cover}
.home-media-caption{position:absolute;right:16px;bottom:15px;background:rgba(255,255,255,.93);padding:8px 10px;font:700 .64rem/1 var(--mono);letter-spacing:.08em}

/* MAME + Progetti: due card complete e compatte. */
.home-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.home-duo-card{min-width:0}
.home-duo-media{aspect-ratio:16/9;overflow:hidden;background:var(--paper-2);border-radius:8px}
.home-duo-media img{width:100%;height:100%;object-fit:cover;transition:transform .42s cubic-bezier(.2,.7,.2,1)}
.home-duo-copy{padding:18px 3px 0}
.home-duo-copy h3{margin:5px 0 14px;font:500 clamp(2.1rem,3vw,3.65rem)/.98 var(--serif);letter-spacing:-.055em;max-width:590px}
.home-duo-copy>span{font-weight:650;border-bottom:1px solid rgba(79,117,166,.5);padding-bottom:3px}
@media(hover:hover) and (pointer:fine){.home-duo-card:hover .home-duo-media img{transform:scale(1.014)}}

/* Bellicchio: una sola sezione dedicata, chiara e distinta. */
.home-comic{background:var(--home-sand);border-top:1px solid rgba(29,29,27,.06);border-bottom:1px solid rgba(29,29,27,.06)}
.home-comic-inner{
  padding-block:var(--home-section-y);
  display:grid;
  grid-template-columns:minmax(340px,1.18fr) minmax(280px,.62fr);
  gap:clamp(34px,5vw,72px);
  align-items:center;
}
.home-comic-copy h2{margin:0;font:500 clamp(2.85rem,4.35vw,5.05rem)/.95 var(--serif);letter-spacing:-.06em;max-width:850px}
.home-comic-copy>p:not(.eyebrow){margin:20px 0 0;max-width:560px;color:var(--muted);font-size:1.05rem}
.home-comic-art{justify-self:end;width:min(100%,360px);padding:7px;background:#fff;border-radius:10px;box-shadow:0 12px 30px rgba(29,29,27,.055)}
.home-comic-art img{width:100%;height:auto;border-radius:6px}

/* Chiusura: Alex e Contatti nello stesso blocco, senza due sezioni giganti. */
.home-tail{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}
.home-tail-card{padding:clamp(30px,3.8vw,52px);border-radius:10px;min-height:300px;display:flex;flex-direction:column;align-items:flex-start}
.home-tail-about{background:var(--home-blue-soft)}
.home-tail-contact{background:var(--home-sand)}
.home-tail-card h2{margin:0;font:500 clamp(2.2rem,3.4vw,4rem)/.98 var(--serif);letter-spacing:-.055em;max-width:720px}
.home-tail-card>p:not(.eyebrow){margin:18px 0 0;color:#555651;max-width:620px}
.home-tail-card .text-link,.home-tail-card .pill-link{margin-top:auto}
.home-tail-card .pill-link{margin-top:auto}

@media(max-width:1100px){
  .home-hero{grid-template-columns:1fr;gap:28px;padding-top:calc(var(--header-h) + 34px)}
  .home-hero-art{min-height:390px}.home-hero-figure{width:min(78%,590px)}
  .home-section-head{grid-template-columns:1fr;gap:18px}.home-section-head>p{margin:0;max-width:620px}
  .home-portal-card{grid-column:span 3}.home-portal-card:nth-child(5){grid-column:span 6}
  .home-spotlight,.home-comic-inner{grid-template-columns:1fr;gap:34px}
  .home-comic-art{justify-self:start;width:min(58vw,360px)}
}

@media(max-width:760px){
  .home-v15{--home-section-y:46px}
  .home-hero{padding-top:calc(var(--header-h) + 24px);padding-bottom:34px}
  .home-hero-copy h1{font-size:clamp(3rem,12.5vw,4.45rem)}
  .home-v15 .hero-actions{align-items:flex-start;flex-direction:column;gap:14px;margin-top:22px}
  .home-hero-art{min-height:320px}.home-hero-figure{width:100%}.home-hero-badge{top:0;left:7px;padding:13px 15px;font-size:1.4rem}.home-hero-load{display:none}
  .home-section-head h2{font-size:clamp(2.55rem,10vw,3.8rem)}
  .home-portal-grid{grid-template-columns:1fr;gap:12px}.home-portal-card,.home-portal-card:nth-child(4),.home-portal-card:nth-child(5){grid-column:1;min-height:300px}
  .home-idea-inner{grid-template-columns:1fr;gap:10px;padding-block:42px}.home-idea-inner>p:last-child{font-size:clamp(2.1rem,9vw,3.25rem)}
  .home-duo{grid-template-columns:1fr;gap:42px}
  .home-duo-copy h3{font-size:clamp(2rem,9vw,3rem)}
  .home-comic-art{width:min(82vw,340px);justify-self:center}
  .home-tail{grid-template-columns:1fr;gap:14px}.home-tail-card{min-height:260px;padding:30px 26px}
}

@media(prefers-reduced-motion:reduce){
  .home-v15 .home-portal-card img,.home-v15 .home-duo-media img{transition:none!important;transform:none!important}
}

/* =========================================================
   AlexEmme 1.15.0 — Pagina Alex editoriale, compatta e visuale.
   // by Alessandro Monfregola
   ========================================================= */
.alex-page-v2{
  --alex-blue:#6f95c6;
  --alex-blue-deep:#4f75a6;
  --alex-blue-soft:#eef4fb;
  --alex-sand:#f8f5ef;
  --alex-section-y:clamp(42px,4.2vw,68px);
}
.alex-page-v2 .eyebrow{color:var(--alex-blue-deep);margin-bottom:10px}
.alex-page-v2 .alex-intro{
  padding-top:var(--page-start-gap);
  padding-bottom:var(--alex-section-y);
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.58fr);
  gap:clamp(34px,5vw,78px);
  align-items:center;
}
.alex-page-v2 .alex-intro h1{
  margin:0;
  max-width:920px;
  font:500 clamp(3.25rem,5.6vw,6.35rem)/.93 var(--serif);
  letter-spacing:-.065em;
}
.alex-page-v2 .alex-intro-lead{
  max-width:760px;
  margin:26px 0 0;
  color:var(--muted);
  font-size:clamp(1.04rem,1.35vw,1.24rem);
  line-height:1.58;
}
.alex-page-v2 .alex-portrait{
  margin:0 0 0 auto;
  width:min(100%,430px);
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:22px;
  background:var(--alex-blue-soft);
  box-shadow:0 20px 48px rgba(29,29,27,.08);
}
.alex-page-v2 .alex-portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transition:transform .9s cubic-bezier(.2,.72,.25,1);
}
@media(hover:hover){
  .alex-page-v2 .alex-portrait:hover img{transform:scale(1.018)}
}
.alex-page-v2 .alex-origin{
  border-top:1px solid var(--line);
  padding-block:var(--alex-section-y);
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(36px,6vw,92px);
  align-items:start;
}
.alex-page-v2 .alex-origin-heading h2{
  margin:0;
  max-width:660px;
  font:500 clamp(2.6rem,4.15vw,4.85rem)/.96 var(--serif);
  letter-spacing:-.055em;
}
.alex-page-v2 .alex-origin-copy{
  padding-top:22px;
}
.alex-page-v2 .alex-origin-copy p{
  margin:0 0 20px;
  max-width:700px;
  color:#4e4d49;
  font-size:clamp(1.05rem,1.35vw,1.24rem);
  line-height:1.68;
}
.alex-page-v2 .alex-origin-copy p:last-child{margin-bottom:0}
.alex-page-v2 .alex-visual-strip{
  padding-bottom:var(--alex-section-y);
  display:grid;
  grid-template-columns:1.32fr .84fr .84fr;
  gap:16px;
}
.alex-page-v2 .alex-visual-card{
  position:relative;
  margin:0;
  min-height:310px;
  overflow:hidden;
  border-radius:18px;
  background:var(--paper-2);
}
.alex-page-v2 .alex-visual-card img{
  width:100%;
  height:100%;
  min-height:310px;
  object-fit:cover;
  transition:transform .85s cubic-bezier(.2,.72,.25,1);
}
.alex-page-v2 .alex-visual-card figcaption{
  position:absolute;
  left:14px;
  bottom:14px;
  padding:8px 11px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(29,29,27,.08);
  font:700 .66rem/1 var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}
@media(hover:hover){
  .alex-page-v2 .alex-visual-card:hover img{transform:scale(1.025)}
}
.alex-page-v2 .alex-idea{
  background:var(--alex-blue-soft);
  margin:0;
}
.alex-page-v2 .alex-idea-inner{
  padding-block:clamp(50px,5.5vw,78px);
  display:grid;
  grid-template-columns:minmax(120px,.26fr) minmax(0,1fr);
  gap:clamp(30px,6vw,96px);
  align-items:start;
}
.alex-page-v2 .alex-idea-inner>p:last-child{
  margin:0;
  max-width:1080px;
  font:500 clamp(2.45rem,4.35vw,5rem)/.98 var(--serif);
  letter-spacing:-.055em;
}
.alex-page-v2 .alex-signoff{
  padding-block:var(--alex-section-y);
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.58fr);
  gap:clamp(36px,7vw,110px);
  align-items:end;
}
.alex-page-v2 .alex-signoff blockquote{
  margin:0;
  max-width:900px;
  font:500 clamp(2.8rem,4.9vw,5.7rem)/.94 var(--serif);
  letter-spacing:-.06em;
}
.alex-page-v2 .alex-signoff-action p{
  margin:0;
  max-width:430px;
  color:var(--muted);
  font-size:1.04rem;
}
.alex-page-v2 .alex-signoff-action .text-link{margin-top:18px}

/* Entrata singola, morbida e leggera: niente animazioni continue. */
.alex-page-v2 .reveal-child{
  transform:translate3d(0,20px,0);
  opacity:0;
  transition:opacity .72s cubic-bezier(.2,.72,.25,1),transform .72s cubic-bezier(.2,.72,.25,1);
}
.alex-page-v2 .reveal-child.is-visible{
  transform:translate3d(0,0,0);
  opacity:1;
}

@media(max-width:980px){
  .alex-page-v2 .alex-intro{grid-template-columns:1fr;gap:30px}
  .alex-page-v2 .alex-portrait{margin:0;width:min(72vw,390px)}
  .alex-page-v2 .alex-origin{grid-template-columns:1fr;gap:24px}
  .alex-page-v2 .alex-origin-copy{padding-top:0}
  .alex-page-v2 .alex-visual-strip{grid-template-columns:1fr 1fr}
  .alex-page-v2 .alex-visual-card-wide{grid-column:1/-1;min-height:360px}
  .alex-page-v2 .alex-idea-inner{grid-template-columns:1fr;gap:12px}
  .alex-page-v2 .alex-signoff{grid-template-columns:1fr;align-items:start;gap:30px}
}
@media(max-width:680px){
  .alex-page-v2{--alex-section-y:38px}
  .alex-page-v2 .alex-intro{padding-bottom:42px}
  .alex-page-v2 .alex-intro h1{font-size:clamp(3rem,14vw,4.6rem)}
  .alex-page-v2 .alex-intro-lead{margin-top:20px}
  .alex-page-v2 .alex-portrait{width:100%;max-width:390px;border-radius:16px}
  .alex-page-v2 .alex-visual-strip{grid-template-columns:1fr;gap:12px}
  .alex-page-v2 .alex-visual-card,.alex-page-v2 .alex-visual-card-wide{min-height:250px;grid-column:auto}
  .alex-page-v2 .alex-visual-card img{min-height:250px}
  .alex-page-v2 .alex-idea-inner{padding-block:42px}
}
@media(prefers-reduced-motion:reduce){
  .alex-page-v2 .reveal-child{opacity:1!important;transform:none!important;transition:none!important}
  .alex-page-v2 .alex-portrait img,.alex-page-v2 .alex-visual-card img{transition:none!important;transform:none!important}
}

/* =========================================================
   AlexEmme 1.16.0 — Pagina Alex immersiva, compatta e dinamica.
   Ispirazione: ritmo narrativo e reveal progressivi, senza effetti continui.
   // by Alessandro Monfregola
   ========================================================= */
.alex-page-v3{
  --alex-blue:#79a3d4;
  --alex-blue-deep:#547cac;
  --alex-blue-soft:#edf4fb;
  --alex-sand:#f7f2e8;
  --alex-section-y:clamp(30px,3.2vw,50px);
  --alex-radius:18px;
}
.alex-page-v3 .eyebrow{color:var(--alex-blue-deep);margin:0 0 9px}

.alex-v3-intro{
  padding-top:clamp(28px,3vw,46px);
  padding-bottom:var(--alex-section-y);
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(240px,.52fr);
  gap:clamp(26px,4vw,58px);
  align-items:start;
}
.alex-v3-intro-copy{padding-top:4px}
.alex-v3-intro h1{
  margin:0;
  max-width:920px;
  font:500 clamp(3.1rem,5.3vw,6rem)/.93 var(--serif);
  letter-spacing:-.065em;
}
.alex-v3-lead{
  max-width:760px;
  margin:22px 0 0;
  color:#4d4d49;
  font-size:clamp(1.04rem,1.25vw,1.2rem);
  line-height:1.55;
}
.alex-v3-intro-extra{
  max-width:720px;
  margin:12px 0 0;
  color:var(--muted);
  font-size:.98rem;
  line-height:1.62;
}
.alex-v3-portrait{
  position:relative;
  margin:2px 0 0 auto;
  width:min(100%,310px);
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:var(--alex-radius);
  background:var(--alex-blue-soft);
  box-shadow:0 16px 38px rgba(29,29,27,.07);
}
.alex-v3-portrait img{
  width:100%;height:100%;object-fit:cover;object-position:center center;
  transition:transform 1.05s cubic-bezier(.2,.72,.25,1);
}
.alex-v3-portrait figcaption{
  position:absolute;left:10px;bottom:10px;margin:0;
  padding:7px 9px;background:rgba(255,255,255,.9);
  border:1px solid rgba(29,29,27,.08);
  font:700 .62rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;
}
@media(hover:hover){.alex-v3-portrait:hover img{transform:scale(1.025)}}

.alex-v3-origin{
  border-top:1px solid var(--line);
  padding-block:var(--alex-section-y);
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(26px,5vw,70px);
  align-items:start;
}
.alex-v3-origin-heading h2{
  margin:0;max-width:650px;
  font:500 clamp(2.45rem,3.9vw,4.5rem)/.97 var(--serif);
  letter-spacing:-.055em;
}
.alex-v3-origin-copy{padding-top:4px}
.alex-v3-origin-copy p{
  margin:0 0 13px;max-width:720px;color:#4d4d49;
  font-size:clamp(1.02rem,1.25vw,1.18rem);line-height:1.63;
}
.alex-v3-origin-copy p:last-child{margin-bottom:0}

.alex-v3-visual{
  padding-block:var(--alex-section-y);
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);
  gap:14px;
}
.alex-v3-visual-main,
.alex-v3-visual-comic{
  position:relative;margin:0;overflow:hidden;border-radius:var(--alex-radius);background:var(--paper-2);
}
.alex-v3-visual-main{min-height:430px}
.alex-v3-visual-main img,
.alex-v3-visual-comic img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1s cubic-bezier(.2,.72,.25,1);
}
.alex-v3-visual-main img{min-height:430px}
.alex-v3-visual-label,
.alex-v3-visual-comic figcaption{
  position:absolute;left:12px;bottom:12px;padding:8px 10px;
  background:rgba(255,255,255,.92);border:1px solid rgba(29,29,27,.08);
  font:700 .63rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
}
.alex-v3-visual-side{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px}
.alex-v3-visual-comic{min-height:275px}
.alex-v3-visual-note{
  border-radius:var(--alex-radius);background:var(--alex-sand);padding:22px 22px 24px;
}
.alex-v3-visual-note>p:last-child{
  margin:0;font:500 clamp(1.25rem,1.8vw,1.85rem)/1.12 var(--serif);letter-spacing:-.025em;
}
@media(hover:hover){
  .alex-v3-visual-main:hover img,.alex-v3-visual-comic:hover img{transform:scale(1.025)}
}

.alex-v3-idea{
  position:relative;overflow:hidden;background:var(--alex-blue-soft);margin:0;
}
.alex-v3-idea::before{
  content:"";position:absolute;inset:0;background:rgba(121,163,212,.13);
  transform:scaleX(0);transform-origin:left center;transition:transform 1.05s cubic-bezier(.2,.72,.25,1);
}
.alex-v3-idea.is-visible::before{transform:scaleX(1)}
.alex-v3-idea-inner{
  position:relative;z-index:1;padding-block:clamp(34px,3.6vw,54px);
  display:grid;grid-template-columns:minmax(105px,.22fr) minmax(0,1fr);
  gap:clamp(24px,5vw,68px);align-items:start;
}
.alex-v3-idea-big{
  margin:0;max-width:1060px;font:500 clamp(2.15rem,3.65vw,4.25rem)/.99 var(--serif);
  letter-spacing:-.052em;
}
.alex-v3-idea-small{
  margin:16px 0 0;max-width:760px;color:#4f5c68;font-size:1rem;line-height:1.58;
}

.alex-v3-method{
  padding-block:var(--alex-section-y);border-bottom:1px solid var(--line);
}
.alex-v3-method-head{
  display:grid;grid-template-columns:minmax(105px,.22fr) minmax(0,1fr);gap:clamp(24px,5vw,68px);align-items:end;
  margin-bottom:22px;
}
.alex-v3-method-head h2{
  margin:0;font:500 clamp(2.55rem,4.1vw,4.7rem)/.96 var(--serif);letter-spacing:-.055em;
}
.alex-v3-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.alex-v3-method-card{
  min-height:210px;padding:22px 22px 24px;border:1px solid var(--line);border-radius:var(--alex-radius);
  background:#fff;transition:transform .45s cubic-bezier(.2,.72,.25,1),background-color .45s ease,border-color .45s ease;
}
.alex-v3-method-card:nth-child(2){background:var(--alex-blue-soft)}
.alex-v3-method-card:nth-child(3){background:var(--alex-sand)}
.alex-v3-method-card>span{font:700 .66rem/1 var(--mono);letter-spacing:.1em;color:var(--alex-blue-deep)}
.alex-v3-method-card h3{margin:34px 0 10px;font:500 clamp(1.8rem,2.6vw,2.8rem)/1 var(--serif);letter-spacing:-.045em}
.alex-v3-method-card p{margin:0;max-width:340px;color:var(--muted);line-height:1.55;font-size:.96rem}
@media(hover:hover){.alex-v3-method-card:hover{transform:translateY(-4px);border-color:rgba(84,124,172,.28)}}

.alex-v3-signoff{
  padding-block:var(--alex-section-y);display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.55fr);
  gap:clamp(28px,6vw,84px);align-items:end;
}
.alex-v3-signoff blockquote{
  margin:0;max-width:900px;font:500 clamp(2.65rem,4.5vw,5.2rem)/.95 var(--serif);letter-spacing:-.06em;
}
.alex-v3-signoff-action p{margin:0 0 10px;max-width:440px;color:var(--muted);font-size:1rem;line-height:1.55}
.alex-v3-signoff-action .text-link{margin-top:10px}

/* Reveal one-shot: più coinvolgenti, ma senza parallax o calcoli continui sullo scroll. */
.alex-page-v3 .reveal-child{opacity:0;transition:opacity .78s cubic-bezier(.2,.72,.25,1),transform .85s cubic-bezier(.2,.72,.25,1),clip-path 1s cubic-bezier(.2,.72,.25,1);transition-delay:var(--reveal-delay,0ms)}
.alex-page-v3 [data-reveal="up"]{transform:translate3d(0,26px,0)}
.alex-page-v3 [data-reveal="left"]{transform:translate3d(-34px,0,0)}
.alex-page-v3 [data-reveal="right"]{transform:translate3d(34px,0,0)}
.alex-page-v3 [data-reveal="clip"]{opacity:1;transform:scale(1.025);clip-path:inset(0 0 100% 0 round var(--alex-radius))}
.alex-page-v3 [data-reveal="band"]{opacity:1;transform:none}
.alex-page-v3 .reveal-child.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
.alex-page-v3 .reveal-child[data-reveal="clip"].is-visible{clip-path:inset(0 0 0 0 round var(--alex-radius))}

@media(max-width:980px){
  .alex-v3-intro{grid-template-columns:1fr minmax(220px,280px);gap:26px}
  .alex-v3-origin{grid-template-columns:1fr;gap:18px}
  .alex-v3-visual{grid-template-columns:1fr .7fr}
  .alex-v3-visual-main{min-height:350px}.alex-v3-visual-main img{min-height:350px}
  .alex-v3-idea-inner,.alex-v3-method-head{grid-template-columns:1fr;gap:8px}
  .alex-v3-signoff{grid-template-columns:1fr;gap:22px;align-items:start}
}
@media(max-width:760px){
  .alex-page-v3{--alex-section-y:30px}
  .alex-v3-intro{grid-template-columns:1fr;gap:20px;padding-top:24px}
  .alex-v3-intro h1{font-size:clamp(2.9rem,13vw,4.4rem)}
  .alex-v3-portrait{margin:0;width:min(72vw,285px)}
  .alex-v3-visual{grid-template-columns:1fr;gap:10px}
  .alex-v3-visual-main{min-height:270px}.alex-v3-visual-main img{min-height:270px}
  .alex-v3-visual-side{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:10px}
  .alex-v3-visual-comic{min-height:220px}
  .alex-v3-method-grid{grid-template-columns:1fr;gap:9px}
  .alex-v3-method-card{min-height:auto}
  .alex-v3-method-card h3{margin-top:20px}
}
@media(max-width:520px){
  .alex-v3-visual-side{grid-template-columns:1fr}
  .alex-v3-visual-comic{min-height:250px}
  .alex-v3-idea-inner{padding-block:34px}
}
@media(prefers-reduced-motion:reduce){
  .alex-page-v3 .reveal-child{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .alex-v3-idea::before{transform:scaleX(1)!important;transition:none!important}
  .alex-v3-portrait img,.alex-v3-visual-main img,.alex-v3-visual-comic img,.alex-v3-method-card{transition:none!important;transform:none!important}
}


/* =========================================================
   AlexEmme 1.16.1 — Scroll motion system globale.
   Estende il linguaggio di animazione della pagina Alex a
   tutte le pagine, archivi e contenuti editoriali del sito.
   One-shot via IntersectionObserver: niente parallax continuo.
   // by Alessandro Monfregola
   ========================================================= */
:root{
  --aemme-motion-distance:30px;
  --aemme-motion-duration:.78s;
  --aemme-motion-ease:cubic-bezier(.2,.72,.25,1);
  --aemme-motion-radius:16px;
}

/* Elementi aggiunti automaticamente da site.js. */
.site-main .aemme-scroll-reveal{
  opacity:0!important;
  will-change:opacity,transform;
  transition:
    opacity var(--aemme-motion-duration) var(--aemme-motion-ease),
    transform .86s var(--aemme-motion-ease),
    clip-path .94s var(--aemme-motion-ease)!important;
  transition-delay:var(--reveal-delay,0ms)!important;
}
.site-main .aemme-scroll-reveal[data-reveal="up"]{
  transform:translate3d(0,var(--aemme-motion-distance),0)!important;
}
.site-main .aemme-scroll-reveal[data-reveal="left"]{
  transform:translate3d(calc(var(--aemme-motion-distance) * -1),0,0)!important;
}
.site-main .aemme-scroll-reveal[data-reveal="right"]{
  transform:translate3d(var(--aemme-motion-distance),0,0)!important;
}
.site-main .aemme-scroll-reveal[data-reveal="clip"]{
  opacity:1!important;
  transform:scale(1.018)!important;
  clip-path:inset(0 0 100% 0 round var(--aemme-motion-radius));
  overflow:hidden;
}
.site-main .aemme-scroll-reveal[data-reveal="soft"]{
  transform:translate3d(0,18px,0) scale(.992)!important;
}
.site-main .aemme-scroll-reveal.is-visible{
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  clip-path:inset(0 0 0 0 round var(--aemme-motion-radius));
  will-change:auto;
}

/* Le immagini grandi hanno un reveal editoriale, non uno zoom durante lo scroll. */
.site-main .aemme-scroll-reveal[data-reveal="clip"] > img,
.site-main .aemme-scroll-reveal[data-reveal="clip"] picture > img{
  transform:scale(1.012);
  transition:transform 1s var(--aemme-motion-ease);
}
.site-main .aemme-scroll-reveal[data-reveal="clip"].is-visible > img,
.site-main .aemme-scroll-reveal[data-reveal="clip"].is-visible picture > img{
  transform:scale(1);
}

/* Stagger compatto: percepibile senza rallentare la lettura. */
.site-main .post-grid .post-card.aemme-scroll-reveal,
.site-main .comic-gallery .comic-tile.aemme-scroll-reveal,
.site-main .bellicchio-grid .bellicchio-card.aemme-scroll-reveal,
.site-main .aemme-bl-grid .aemme-bl-card.aemme-scroll-reveal{
  transition-duration:.7s,.78s,.88s!important;
}

/* Compatibilità esplicita con il plugin Bellicchio Layout. */
.aemme-bl-page .aemme-scroll-reveal[data-reveal="clip"],
.aemme-bl-single .aemme-scroll-reveal[data-reveal="clip"]{
  --aemme-motion-radius:18px;
}

@media(max-width:760px){
  :root{--aemme-motion-distance:20px;--aemme-motion-duration:.64s}
  .site-main .aemme-scroll-reveal[data-reveal="left"],
  .site-main .aemme-scroll-reveal[data-reveal="right"]{
    transform:translate3d(0,20px,0)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .site-main .aemme-scroll-reveal{
    opacity:1!important;
    transform:none!important;
    clip-path:none!important;
    transition:none!important;
    will-change:auto!important;
  }
  .site-main .aemme-scroll-reveal img{
    transform:none!important;
    transition:none!important;
  }
}


/* =========================================================
   AlexEmme 1.16.6 — Firma editoriale globale nell'header.
   Slogan testuale + micro-grafica 8 bit inline, leggera,
   sempre presente e otticamente centrata rispetto al logo.
   // by Alessandro Monfregola
   ========================================================= */
.brand-cluster{
  display:flex;
  align-items:center;
  min-width:0;
  gap:22px;
}
.home-brand-signature{
  display:flex;
  align-items:center;
  gap:12px;
  padding-left:20px;
  border-left:1px solid rgba(29,29,27,.14);
  min-width:0;
  white-space:nowrap;
  position:relative;
  top:7px; /* abbassata leggermente per allinearsi meglio al logotipo */
}
.home-brand-tagline{
  font-family:var(--serif);
  font-size:.91rem;
  line-height:1;
  letter-spacing:-.012em;
  color:#596476;
}
.home-pixel-arcade{
  display:block;
  width:96px;
  height:auto;
  flex:0 0 auto;
  overflow:hidden;
}
.home-pixel-arcade .arcade-scene,
.home-pixel-arcade .pacman,
.home-pixel-arcade .ghost,
.home-pixel-arcade .power-pill{
  transform-box:fill-box;
  transform-origin:center;
}

/* Scena 1: inseguimento -> power pill -> inversione -> fantasma blu mangiato. */
.home-pixel-arcade .arcade-chase-scene{
  animation:alexemmeChaseScene 9.2s linear infinite;
}
.home-pixel-arcade .pacman-chase{
  animation:alexemmePacmanChaseMove 9.2s linear infinite;
}
.home-pixel-arcade .ghost-hunter{
  animation:alexemmeHunterMove 9.2s linear infinite;
}
.home-pixel-arcade .ghost-hunter-body{
  fill:#c96b4a;
  animation:alexemmeHunterColor 9.2s steps(1,end) infinite;
}
.home-pixel-arcade .power-pill{
  animation:alexemmePowerPill 9.2s linear infinite;
}

/* Scena 2: continuità direzionale; Pac-Man entra da destra e va verso sinistra. */
.home-pixel-arcade .arcade-feed-scene{
  opacity:0;
  animation:alexemmeFeedScene 9.2s linear infinite;
}
.home-pixel-arcade .pacman-feed{
  animation:alexemmePacmanFeedMove 9.2s linear infinite;
}
.home-pixel-arcade .ghost-one{
  animation:alexemmeGhostOneEat 9.2s linear infinite;
}
.home-pixel-arcade .ghost-two{
  animation:alexemmeGhostTwoEat 9.2s linear infinite;
}
.home-pixel-arcade .ghost-three{
  animation:alexemmeGhostThreeEat 9.2s linear infinite;
}

.home-pixel-arcade .ghost-blue path,
.home-pixel-arcade .ghost-hunter-body{
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.18));
}

/* Bocca sempre animata. */
.home-pixel-arcade .pacman-mouth{
  opacity:0;
  pointer-events:none;
}
.home-pixel-arcade .pacman-mouth-open{
  animation:alexemmePacmanMouthOpen .42s steps(1,end) infinite;
}
.home-pixel-arcade .pacman-mouth-mid{
  animation:alexemmePacmanMouthMid .42s steps(1,end) infinite;
}
.home-pixel-arcade .pacman-mouth-closed{
  animation:alexemmePacmanMouthClosed .42s steps(1,end) infinite;
}
@keyframes alexemmePacmanMouthOpen{
  0%,24%,100%{opacity:1}
  25%,99%{opacity:0}
}
@keyframes alexemmePacmanMouthMid{
  0%,24%{opacity:0}
  25%,49%{opacity:1}
  50%,74%{opacity:0}
  75%,99%{opacity:1}
  100%{opacity:0}
}
@keyframes alexemmePacmanMouthClosed{
  0%,49%{opacity:0}
  50%,74%{opacity:1}
  75%,100%{opacity:0}
}

/*
 * 0-49%:
 * fantasma terracotta insegue Pac-Man verso destra.
 * Pac-Man prende la pillola, si gira, il fantasma diventa blu,
 * poi Pac-Man lo rincorre verso sinistra e lo mangia.
 */
@keyframes alexemmeChaseScene{
  0%,49%{opacity:1}
  52%,100%{opacity:0}
}
@keyframes alexemmePacmanChaseMove{
  0%{transform:translate(38px,0)}
  12%{transform:translate(55px,0)}
  24%{transform:translate(75px,0)}
  30%{transform:translate(92px,0)}
  33%{transform:translate(101px,0)}
  36%{transform:translate(95px,0) scaleX(-1)}
  42%{transform:translate(66px,0) scaleX(-1)}
  47%{transform:translate(35px,0) scaleX(-1)}
  50%,100%{transform:translate(14px,0) scaleX(-1)}
}
@keyframes alexemmeHunterMove{
  0%{transform:translate(7px,0);opacity:1}
  12%{transform:translate(24px,0);opacity:1}
  24%{transform:translate(45px,0);opacity:1}
  30%{transform:translate(62px,0);opacity:1}
  34%{transform:translate(69px,0);opacity:1}
  36%{transform:translate(66px,0);opacity:1}
  42%{transform:translate(47px,0);opacity:1}
  46%{transform:translate(32px,0);opacity:1}
  48%{transform:translate(22px,0);opacity:0}
  100%{transform:translate(22px,0);opacity:0}
}
@keyframes alexemmeHunterColor{
  0%,33%{fill:#c96b4a}
  34%,100%{fill:#6f95c8}
}
@keyframes alexemmePowerPill{
  0%,23%{opacity:0;transform:scale(1)}
  24%,30%{opacity:1;transform:scale(1)}
  31%{opacity:1;transform:scale(.72)}
  33%,100%{opacity:0;transform:scale(.15)}
}

/*
 * 52-96%:
 * Pac-Man prosegue nella stessa direzione (da destra verso sinistra)
 * e mangia tre fantasmini blu. Poi esce a sinistra e il loop riparte.
 */
@keyframes alexemmeFeedScene{
  0%,50%{opacity:0}
  53%,96%{opacity:1}
  100%{opacity:0}
}
@keyframes alexemmePacmanFeedMove{
  0%,50%{transform:translate(122px,0) scaleX(-1)}
  53%{transform:translate(122px,0) scaleX(-1)}
  63%{transform:translate(94px,0) scaleX(-1)}
  73%{transform:translate(66px,0) scaleX(-1)}
  83%{transform:translate(38px,0) scaleX(-1)}
  94%{transform:translate(6px,0) scaleX(-1)}
  100%{transform:translate(-20px,0) scaleX(-1)}
}
@keyframes alexemmeGhostOneEat{
  0%,50%{transform:translate(91px,0);opacity:0}
  53%,61%{transform:translate(91px,0);opacity:1}
  64%,100%{transform:translate(91px,0);opacity:0}
}
@keyframes alexemmeGhostTwoEat{
  0%,50%{transform:translate(62px,0);opacity:0}
  53%,71%{transform:translate(62px,0);opacity:1}
  74%,100%{transform:translate(62px,0);opacity:0}
}
@keyframes alexemmeGhostThreeEat{
  0%,50%{transform:translate(33px,0);opacity:0}
  53%,81%{transform:translate(33px,0);opacity:1}
  84%,100%{transform:translate(33px,0);opacity:0}
}

@media(max-width:980px){
  .brand-cluster{gap:14px}
  .home-brand-signature{gap:8px;padding-left:14px}
  .home-brand-tagline{font-size:.78rem}
  .home-pixel-arcade{width:80px}
}
@media(max-width:700px){
  .brand-cluster{
    display:grid;
    grid-template-columns:auto;
    align-content:center;
    gap:2px;
  }
  .home-brand-signature{
    border-left:0;
    padding-left:1px;
    gap:7px;
    margin-top:1px;
    top:0;
  }
  .home-brand-tagline{
    font-family:var(--sans);
    font-size:.62rem;
    line-height:1.05;
    letter-spacing:.01em;
    color:#667184;
  }
  .home-pixel-arcade{width:68px}
}
@media(max-width:470px){
  .home-pixel-arcade{display:none}
  .home-brand-tagline{font-size:.59rem}
  .brand-wrap .custom-logo{max-width:148px}
}

/* =========================================================
   AlexEmme 1.16.9 — articoli editoriali: ritmo compatto,
   immagini complete e migliore alternanza testo/visual.
   // by Alessandro Monfregola
   ========================================================= */
.single-article:not(.comic-single) .article-header{
  max-width:1060px;
  padding-top:clamp(24px,3vw,42px);
  padding-bottom:clamp(28px,4vw,48px);
}
.single-article:not(.comic-single) .article-kicker{
  margin-bottom:18px;
}
.single-article:not(.comic-single) .article-header h1{
  font-size:clamp(3rem,5.6vw,6.5rem);
}
.single-article:not(.comic-single) .article-deck{
  margin-top:22px;
  max-width:850px;
  font-size:clamp(1.12rem,1.6vw,1.42rem);
  line-height:1.5;
}
.single-article:not(.comic-single) .article-date{
  margin-top:18px;
}
.single-article:not(.comic-single) .article-hero-image{
  width:min(1240px,calc(100vw - 56px));
  margin:0 auto clamp(32px,4vw,52px);
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:visible;
  background:transparent;
}
.single-article:not(.comic-single) .article-hero-image img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto!important;
  max-height:78vh!important;
  object-fit:contain!important;
  object-position:center!important;
}
.single-article:not(.comic-single) .article-content{
  width:min(820px,calc(100vw - 44px));
  padding-bottom:72px;
  font-size:clamp(1.04rem,1vw,1.12rem);
  line-height:1.72;
}
.single-article:not(.comic-single) .article-content p{
  margin:0 0 1.28em;
}
.single-article:not(.comic-single) .article-content h2{
  margin:1.55em 0 .58em;
  font-size:clamp(2.15rem,3.5vw,2.9rem);
}
.single-article:not(.comic-single) .article-content h3{
  margin:1.45em 0 .55em;
}
.single-article:not(.comic-single) .article-content figure{
  margin:1.65em auto 1.8em;
}
.single-article:not(.comic-single) .article-content .wp-block-image img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto!important;
  max-height:76vh;
  margin-inline:auto;
  object-fit:contain;
}
.single-article:not(.comic-single) .article-content .wp-block-image.alignwide{
  width:min(1080px,calc(100vw - 56px));
  max-width:none;
  margin-left:50%;
  transform:translateX(-50%);
}
.single-article:not(.comic-single) .article-content figcaption{
  margin:8px auto 0;
  max-width:820px;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.45;
  text-align:left;
}
.single-article:not(.comic-single) .article-content blockquote{
  margin:1.6em 0;
  padding:18px 0 18px 26px;
}
@media(max-width:760px){
  .single-article:not(.comic-single) .article-header{
    padding-top:18px;
    padding-bottom:28px;
  }
  .single-article:not(.comic-single) .article-header h1{
    font-size:clamp(2.65rem,12vw,4rem);
  }
  .single-article:not(.comic-single) .article-hero-image{
    width:calc(100vw - 28px);
    margin-bottom:30px;
  }
  .single-article:not(.comic-single) .article-hero-image img{
    max-height:none!important;
    width:100%;
  }
  .single-article:not(.comic-single) .article-content{
    width:calc(100vw - 36px);
    font-size:1.02rem;
    line-height:1.68;
  }
  .single-article:not(.comic-single) .article-content figure{
    margin:1.4em auto 1.55em;
  }
  .single-article:not(.comic-single) .article-content .wp-block-image.alignwide{
    width:calc(100vw - 28px);
  }
}



/* =========================================================
   AlexEmme 1.16.10 — single article reading rhythm.
   Gerarchia tipografica più netta, paragrafi meno dispersi,
   citazioni editoriali e immagini più vicine al testo.
   // by Alessandro Monfregola
   ========================================================= */
.single-article:not(.comic-single) .article-header{
  padding-top:clamp(18px,2.2vw,30px);
  padding-bottom:clamp(22px,3vw,36px);
}
.single-article:not(.comic-single) .article-hero-image{
  margin-bottom:clamp(22px,2.4vw,32px);
}
.single-article:not(.comic-single) .article-content{
  width:min(750px,calc(100vw - 44px));
  font-size:clamp(1.03rem,.96vw,1.09rem);
  line-height:1.68;
  text-wrap:pretty;
}
.single-article:not(.comic-single) .article-content p{
  margin:0 0 .92em;
}
.single-article:not(.comic-single) .article-content > p:first-child{
  font-size:1.12em;
  line-height:1.62;
  color:#353533;
  margin-bottom:1.05em;
}
.single-article:not(.comic-single) .article-content h2{
  position:relative;
  margin:1.35em 0 .48em;
  padding-left:16px;
  border-left:3px solid rgba(122,167,207,.58);
  font-size:clamp(2rem,3vw,2.62rem);
  line-height:1.02;
  letter-spacing:-.042em;
}
.single-article:not(.comic-single) .article-content h3{
  margin:1.25em 0 .45em;
  font-size:clamp(1.5rem,2.2vw,1.9rem);
}
.single-article:not(.comic-single) .article-content figure{
  margin:1.12em auto 1.28em;
}
.single-article:not(.comic-single) .article-content .wp-block-image.alignwide{
  width:min(980px,calc(100vw - 56px));
}
.single-article:not(.comic-single) .article-content figcaption{
  margin-top:6px;
}

/* Gutenberg "Citazione": deve essere un vero blocco blockquote per ricevere questo stile. */
.single-article:not(.comic-single) .article-content blockquote,
.single-article:not(.comic-single) .article-content .wp-block-quote{
  width:calc(100% + 44px);
  margin:1.2em -22px 1.35em;
  padding:22px 26px 22px 30px;
  border-left:4px solid var(--terracotta);
  border-radius:0 12px 12px 0;
  background:linear-gradient(90deg,rgba(216,199,164,.24),rgba(216,199,164,.07));
  color:var(--ink);
  font-family:var(--serif);
  font-size:clamp(1.42rem,2.4vw,1.82rem);
  line-height:1.28;
  letter-spacing:-.025em;
}
.single-article:not(.comic-single) .article-content blockquote p,
.single-article:not(.comic-single) .article-content .wp-block-quote p{
  margin:0!important;
  font-size:inherit;
  line-height:inherit;
}
.single-article:not(.comic-single) .article-content blockquote p + p,
.single-article:not(.comic-single) .article-content .wp-block-quote p + p{
  margin-top:.28em!important;
}
.single-article:not(.comic-single) .article-content blockquote cite,
.single-article:not(.comic-single) .article-content .wp-block-quote cite{
  display:block;
  margin-top:10px;
  font-family:var(--sans);
  font-size:.72rem;
  line-height:1.4;
  color:var(--muted);
}

/* Pullquote opzionale per frasi isolate molto forti. */
.single-article:not(.comic-single) .article-content .wp-block-pullquote{
  margin:1.4em 0;
  padding:1.4em 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.single-article:not(.comic-single) .article-content .wp-block-pullquote blockquote{
  width:auto;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  text-align:center;
}

@media(max-width:760px){
  .single-article:not(.comic-single) .article-content{
    width:calc(100vw - 34px);
    font-size:1.01rem;
    line-height:1.65;
  }
  .single-article:not(.comic-single) .article-content p{
    margin-bottom:.88em;
  }
  .single-article:not(.comic-single) .article-content h2{
    padding-left:12px;
    margin-top:1.25em;
    font-size:clamp(1.9rem,9.5vw,2.55rem);
  }
  .single-article:not(.comic-single) .article-content figure{
    margin:1em auto 1.15em;
  }
  .single-article:not(.comic-single) .article-content blockquote,
  .single-article:not(.comic-single) .article-content .wp-block-quote{
    width:auto;
    margin:1.15em 0 1.25em;
    padding:18px 18px 18px 20px;
    font-size:1.4rem;
  }
}


/* =========================================================
   AlexEmme 1.16.11 — proporzioni articolo e citazioni.
   Hero visivo allineato alla scala del titolo, colonna testo
   più generosa e heading allineati al corpo.
   // by Alessandro Monfregola
   ========================================================= */
.single-article:not(.comic-single) .article-header{
  max-width:1120px;
}
.single-article:not(.comic-single) .article-deck{
  max-width:920px;
}
.single-article:not(.comic-single) .article-hero-image{
  width:min(1120px,calc(100vw - 56px));
  margin:0 auto clamp(24px,2.6vw,34px);
}
.single-article:not(.comic-single) .article-hero-image img{
  display:block;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
}
.single-article:not(.comic-single) .article-content{
  width:min(880px,calc(100vw - 44px));
  font-size:clamp(1.04rem,.98vw,1.1rem);
  line-height:1.7;
}
.single-article:not(.comic-single) .article-content > p:first-child{
  font-size:1.08em;
  line-height:1.66;
}

/* I titoli restano sulla stessa verticale del testo: il segno blu esce a sinistra. */
.single-article:not(.comic-single) .article-content h2{
  position:relative;
  padding-left:0;
  border-left:0;
  margin:1.45em 0 .52em;
  font-size:clamp(2.12rem,3.15vw,2.72rem);
}
.single-article:not(.comic-single) .article-content h2::before{
  content:"";
  position:absolute;
  left:-19px;
  top:.08em;
  width:3px;
  height:.82em;
  border-radius:99px;
  background:rgba(122,167,207,.62);
}

/* Le immagini interne hanno una scala editoriale più vicina all'hero. */
.single-article:not(.comic-single) .article-content figure.wp-block-image{
  width:min(960px,calc(100vw - 56px));
  max-width:none;
  margin:1.18em 0 1.32em 50%;
  transform:translateX(-50%);
}
.single-article:not(.comic-single) .article-content figure.wp-block-image.alignwide{
  width:min(1120px,calc(100vw - 56px));
}
.single-article:not(.comic-single) .article-content figure.wp-block-image img{
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
}
.single-article:not(.comic-single) .article-content figcaption{
  max-width:880px;
}

/* Citazione Gutenberg: ampia, leggibile e coerente con il layout editoriale. */
.single-article:not(.comic-single) .article-content blockquote,
.single-article:not(.comic-single) .article-content .wp-block-quote{
  width:min(960px,calc(100vw - 56px));
  max-width:none;
  margin:1.3em 0 1.42em 50%;
  transform:translateX(-50%);
  padding:24px 34px 25px;
  border:0;
  border-top:1px solid rgba(29,29,27,.14);
  border-bottom:1px solid rgba(29,29,27,.14);
  border-radius:0;
  background:rgba(216,199,164,.10);
  color:var(--ink);
  font-family:var(--serif);
  font-size:clamp(1.52rem,2.2vw,1.9rem);
  line-height:1.3;
  letter-spacing:-.028em;
}
.single-article:not(.comic-single) .article-content blockquote::before,
.single-article:not(.comic-single) .article-content .wp-block-quote::before{
  content:"“";
  display:block;
  margin-bottom:2px;
  color:var(--terracotta);
  font-family:var(--serif);
  font-size:2.25rem;
  line-height:.72;
}
.single-article:not(.comic-single) .article-content blockquote p,
.single-article:not(.comic-single) .article-content .wp-block-quote p{
  margin:0!important;
  font:inherit;
  line-height:inherit;
}
.single-article:not(.comic-single) .article-content blockquote p + p,
.single-article:not(.comic-single) .article-content .wp-block-quote p + p{
  margin-top:.22em!important;
}
.single-article:not(.comic-single) .article-content blockquote cite,
.single-article:not(.comic-single) .article-content .wp-block-quote cite{
  margin-top:12px;
}

@media(max-width:760px){
  .single-article:not(.comic-single) .article-header{
    max-width:none;
  }
  .single-article:not(.comic-single) .article-hero-image{
    width:calc(100vw - 28px);
    margin-bottom:24px;
  }
  .single-article:not(.comic-single) .article-content{
    width:calc(100vw - 34px);
    font-size:1.01rem;
    line-height:1.66;
  }
  .single-article:not(.comic-single) .article-content h2::before{
    left:-10px;
    width:2px;
  }
  .single-article:not(.comic-single) .article-content figure.wp-block-image,
  .single-article:not(.comic-single) .article-content figure.wp-block-image.alignwide{
    width:calc(100vw - 28px);
    margin-left:50%;
  }
  .single-article:not(.comic-single) .article-content blockquote,
  .single-article:not(.comic-single) .article-content .wp-block-quote{
    width:calc(100vw - 34px);
    margin-left:50%;
    padding:20px 20px 21px;
    font-size:1.42rem;
  }
}


/* =========================================================
   AlexEmme 1.16.12 — immagini, centratura e indentazione editoriale.
   Correzione globale per gli articoli standard.
   // by Alessandro Monfregola
   ========================================================= */

/* Colonna di lettura: centrata e con rientro tipografico reale tra paragrafi consecutivi. */
.single-article:not(.comic-single) .article-content{
  width:min(900px,calc(100vw - 48px));
  margin-left:auto;
  margin-right:auto;
}
.single-article:not(.comic-single) .article-content p{
  margin-top:0;
  margin-bottom:.74em;
}
.single-article:not(.comic-single) .article-content p + p{
  text-indent:1.18em;
}
/* Nessun rientro all'apertura di una sezione o dopo un elemento visuale/editoriale. */
.single-article:not(.comic-single) .article-content h2 + p,
.single-article:not(.comic-single) .article-content h3 + p,
.single-article:not(.comic-single) .article-content figure + p,
.single-article:not(.comic-single) .article-content blockquote + p,
.single-article:not(.comic-single) .article-content .wp-block-quote + p,
.single-article:not(.comic-single) .article-content .wp-block-pullquote + p,
.single-article:not(.comic-single) .article-content > p:first-child{
  text-indent:0;
}

/* H2 perfettamente allineati alla colonna testo. */
.single-article:not(.comic-single) .article-content h2,
.single-article:not(.comic-single) .article-content h3{
  margin-left:0;
  margin-right:0;
  text-indent:0;
}
.single-article:not(.comic-single) .article-content h2::before{
  left:-16px;
}

/* Immagine in evidenza: stessa scala editoriale del titolo e angoli coerenti. */
.single-article:not(.comic-single) .article-hero-image{
  width:min(1120px,calc(100vw - 56px));
  margin-left:auto!important;
  margin-right:auto!important;
}
.single-article:not(.comic-single) .article-hero-image img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  margin:0 auto!important;
  border-radius:16px!important;
  clip-path:inset(0 round 16px);
}

/*
 * Immagini Gutenberg interne:
 * - il contenitore è più largo del testo;
 * - l'immagine vera resta centrata anche quando il file è più stretto;
 * - niente allineamento accidentale sul bordo sinistro;
 * - tutti e quattro gli angoli sono arrotondati.
 */
.single-article:not(.comic-single) .article-content figure.wp-block-image{
  width:min(1040px,calc(100vw - 56px))!important;
  max-width:none!important;
  margin:1.08em auto 1.18em!important;
  transform:none!important;
  text-align:center!important;
}
.single-article:not(.comic-single) .article-content figure.wp-block-image.alignwide{
  width:min(1120px,calc(100vw - 56px))!important;
}
.single-article:not(.comic-single) .article-content figure.wp-block-image img{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:78vh;
  margin-left:auto!important;
  margin-right:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:16px!important;
  clip-path:inset(0 round 16px);
}
.single-article:not(.comic-single) .article-content figure.wp-block-image figcaption{
  width:min(900px,100%);
  margin:7px auto 0!important;
  text-align:center;
}

/* Se Gutenberg applica direttamente una classe all'immagine, manteniamo lo stesso risultato. */
.single-article:not(.comic-single) .article-content .wp-block-image img,
.single-article:not(.comic-single) .article-content img[class*="wp-image-"]{
  border-radius:16px!important;
  clip-path:inset(0 round 16px);
}

/* Citazione vera Gutenberg: nessun rientro da paragrafo e centratura editoriale. */
.single-article:not(.comic-single) .article-content blockquote,
.single-article:not(.comic-single) .article-content .wp-block-quote{
  width:min(980px,calc(100vw - 56px))!important;
  margin:1.28em auto 1.36em!important;
  transform:none!important;
  text-indent:0!important;
}
.single-article:not(.comic-single) .article-content blockquote p,
.single-article:not(.comic-single) .article-content .wp-block-quote p{
  text-indent:0!important;
}

@media(max-width:760px){
  .single-article:not(.comic-single) .article-content{
    width:calc(100vw - 34px);
  }
  .single-article:not(.comic-single) .article-content p + p{
    text-indent:.92em;
  }
  .single-article:not(.comic-single) .article-content h2::before{
    left:-9px;
  }
  .single-article:not(.comic-single) .article-hero-image,
  .single-article:not(.comic-single) .article-content figure.wp-block-image,
  .single-article:not(.comic-single) .article-content figure.wp-block-image.alignwide,
  .single-article:not(.comic-single) .article-content blockquote,
  .single-article:not(.comic-single) .article-content .wp-block-quote{
    width:calc(100vw - 28px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .single-article:not(.comic-single) .article-hero-image img,
  .single-article:not(.comic-single) .article-content figure.wp-block-image img{
    border-radius:12px!important;
    clip-path:inset(0 round 12px);
  }
}


/* =========================================================
   AlexEmme 1.16.13 — rispetta le dimensioni manuali Gutenberg.
   Le immagini ridimensionate nell'editor mantengono la stessa
   larghezza anche nel frontend, restando centrate e arrotondate.
   // by Alessandro Monfregola
   ========================================================= */
.single-article:not(.comic-single) .article-content figure.wp-block-image.aemme-manual-image-size{
  width:var(--aemme-manual-image-width)!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  transform:none!important;
  text-align:center!important;
}
.single-article:not(.comic-single) .article-content figure.wp-block-image.aemme-manual-image-size img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
  object-fit:contain!important;
  border-radius:16px!important;
  clip-path:inset(0 round 16px);
}

@media(max-width:760px){
  .single-article:not(.comic-single) .article-content figure.wp-block-image.aemme-manual-image-size{
    width:min(var(--aemme-manual-image-width),100%)!important;
    max-width:100%!important;
  }
  .single-article:not(.comic-single) .article-content figure.wp-block-image.aemme-manual-image-size img{
    border-radius:12px!important;
    clip-path:inset(0 round 12px);
  }
}


/* =========================================================
   AlexEmme 1.16.14 — paragrafi allineati in modo coerente.
   Rimosso il rientro della prima riga introdotto in 1.16.12.
   // by Alessandro Monfregola
   ========================================================= */
.single-article:not(.comic-single) .article-content p,
.single-article:not(.comic-single) .article-content p + p,
.single-article:not(.comic-single) .article-content > p:first-child,
.single-article:not(.comic-single) .article-content h2 + p,
.single-article:not(.comic-single) .article-content h3 + p,
.single-article:not(.comic-single) .article-content figure + p,
.single-article:not(.comic-single) .article-content blockquote + p,
.single-article:not(.comic-single) .article-content .wp-block-quote + p,
.single-article:not(.comic-single) .article-content .wp-block-pullquote + p{
  text-indent:0!important;
}

.single-article:not(.comic-single) .article-content p{
  margin-top:0;
  margin-bottom:.9em;
}

/* Aperture brevi isolate: stesso allineamento, nessun falso rientro. */
.single-article:not(.comic-single) .article-content > p:first-child{
  margin-bottom:1em;
}

@media(max-width:760px){
  .single-article:not(.comic-single) .article-content p,
  .single-article:not(.comic-single) .article-content p + p{
    text-indent:0!important;
    margin-bottom:.88em;
  }
}


/* =========================================================
   AlexEmme 1.16.15 — citazioni Gutenberg senza doppio riquadro.
   Gestisce correttamente sia Quote sia Pullquote.
   // by Alessandro Monfregola
   ========================================================= */

/*
 * Gutenberg "Citazione evidenziata" (Pullquote) contiene internamente
 * un <blockquote>. Le regole generiche del tema finivano quindi per
 * disegnare sia il contenitore esterno sia il blockquote interno.
 * Qui il Pullquote diventa un solo elemento visivo.
 */
.single-article:not(.comic-single) .article-content .wp-block-pullquote{
  width:min(960px,calc(100vw - 56px))!important;
  max-width:none!important;
  margin:1.3em auto 1.42em!important;
  padding:24px 34px 25px!important;
  border:0!important;
  border-top:1px solid rgba(29,29,27,.14)!important;
  border-bottom:1px solid rgba(29,29,27,.14)!important;
  border-radius:0!important;
  background:rgba(216,199,164,.10)!important;
  color:var(--ink)!important;
  text-align:left!important;
  position:relative;
}

/* Una sola virgoletta decorativa, sul contenitore esterno. */
.single-article:not(.comic-single) .article-content .wp-block-pullquote::before{
  content:"“";
  display:block;
  margin-bottom:4px;
  color:var(--terracotta);
  font-family:var(--serif);
  font-size:2.25rem;
  line-height:.72;
}

/* Neutralizza completamente il blockquote interno del Pullquote. */
.single-article:not(.comic-single) .article-content .wp-block-pullquote blockquote,
.single-article:not(.comic-single) .article-content .wp-block-pullquote .wp-block-quote{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
  font-family:var(--serif)!important;
  font-size:clamp(1.52rem,2.2vw,1.9rem)!important;
  line-height:1.3!important;
  letter-spacing:-.028em!important;
  text-align:left!important;
}

/* Evita la seconda virgoletta creata dalle regole generiche blockquote. */
.single-article:not(.comic-single) .article-content .wp-block-pullquote blockquote::before,
.single-article:not(.comic-single) .article-content .wp-block-pullquote .wp-block-quote::before{
  content:none!important;
  display:none!important;
}

/* Righe della citazione compatte e senza rientri. */
.single-article:not(.comic-single) .article-content .wp-block-pullquote blockquote p,
.single-article:not(.comic-single) .article-content .wp-block-pullquote .wp-block-quote p{
  margin:0!important;
  padding:0!important;
  text-indent:0!important;
  font:inherit!important;
  line-height:inherit!important;
}
.single-article:not(.comic-single) .article-content .wp-block-pullquote blockquote p + p,
.single-article:not(.comic-single) .article-content .wp-block-pullquote .wp-block-quote p + p{
  margin-top:.22em!important;
}

/* Anche il blocco Quote standard resta un singolo elemento pulito. */
.single-article:not(.comic-single) .article-content > .wp-block-quote{
  width:min(960px,calc(100vw - 56px))!important;
  margin:1.3em auto 1.42em!important;
  transform:none!important;
}

@media(max-width:760px){
  .single-article:not(.comic-single) .article-content .wp-block-pullquote,
  .single-article:not(.comic-single) .article-content > .wp-block-quote{
    width:calc(100vw - 28px)!important;
    padding:20px 22px 21px!important;
  }
}


/* =========================================================
   AlexEmme 1.16.18 — Home Esplora content-first.
   Una card = un articolo; categorie multiple mostrate insieme.
   // by Alessandro Monfregola
   ========================================================= */
.home-article-card{
  min-height:clamp(300px,27vw,390px);
}
.home-article-card::after{
  background:
    linear-gradient(to top,rgba(17,22,28,.78) 0%,rgba(17,22,28,.28) 46%,rgba(17,22,28,.06) 70%),
    linear-gradient(to bottom,rgba(17,22,28,.22),transparent 28%);
}
.home-article-categories{
  position:absolute;
  z-index:2;
  top:18px;
  left:54px;
  right:54px;
  color:rgba(255,255,255,.92);
  font:700 .62rem/1.35 var(--mono);
  letter-spacing:.09em;
  text-transform:uppercase;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.home-article-title{
  right:58px;
  max-width:calc(100% - 82px);
  font-size:clamp(1.35rem,1.65vw,2rem);
  line-height:1.02;
}
@media(max-width:760px){
  .home-article-card{
    min-height:320px;
  }
  .home-article-categories{
    left:50px;
    right:50px;
    font-size:.59rem;
  }
  .home-article-title{
    right:54px;
    max-width:calc(100% - 74px);
  }
}


/* =========================================================
   AlexEmme 1.16.19 — Home uniforme: Aree + Ultimi articoli.
   Aree e contenuti sono separati semanticamente e visivamente.
   // by Alessandro Monfregola
   ========================================================= */
.home-v15{
  --home-section-y:clamp(42px,4vw,62px);
}
.home-explore{
  padding-bottom:clamp(42px,4vw,58px);
}
.home-section-head{
  gap:clamp(24px,3.2vw,48px);
  margin-bottom:clamp(22px,2.4vw,32px);
}
.home-portal-grid.home-area-grid{
  gap:12px!important;
}
.home-area-card{
  min-height:clamp(260px,22vw,330px)!important;
}
.home-area-card:nth-child(4),
.home-area-card:nth-child(5){
  grid-column:span 3;
}

/* Le card Area usano solo visual di navigazione, mai cover degli articoli. */
.home-area-card img{
  object-fit:cover;
}

/* Ultimi articoli: un linguaggio editoriale distinto dalle Aree. */
.home-latest{
  border-top:1px solid var(--line);
  padding-top:clamp(42px,4vw,60px);
}
.home-latest-head h2{
  max-width:720px;
}
.home-latest-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,1.8vw,24px);
}
.home-latest-card{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.home-latest-media{
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  border-radius:10px;
  background:var(--paper-2);
}
.home-latest-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s cubic-bezier(.2,.7,.2,1);
}
.home-latest-copy{
  padding:14px 3px 0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  flex:1;
}
.home-latest-categories{
  margin:0 0 7px;
  color:var(--home-blue-deep);
  font:700 .62rem/1.35 var(--mono);
  letter-spacing:.09em;
  text-transform:uppercase;
}
.home-latest-copy h3{
  margin:0;
  font:500 clamp(1.65rem,2vw,2.45rem)/1.02 var(--serif);
  letter-spacing:-.045em;
}
.home-latest-excerpt{
  margin:12px 0 0;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.5;
}
.home-latest-link{
  margin-top:16px;
}
.home-latest-all{
  margin-top:28px;
}
@media(hover:hover) and (pointer:fine){
  .home-latest-card:hover .home-latest-media img{
    transform:scale(1.015);
  }
}
@media(max-width:1100px){
  .home-latest-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .home-latest-card:last-child{
    grid-column:1 / -1;
    max-width:calc(50% - 8px);
  }
}
@media(max-width:760px){
  .home-v15{
    --home-section-y:40px;
  }
  .home-portal-grid.home-area-grid{
    gap:10px!important;
  }
  .home-area-card,
  .home-area-card:nth-child(4),
  .home-area-card:nth-child(5){
    grid-column:1!important;
    min-height:280px!important;
  }
  .home-latest-grid{
    grid-template-columns:1fr;
    gap:26px;
  }
  .home-latest-card:last-child{
    grid-column:auto;
    max-width:none;
  }
  .home-latest-all{
    margin-top:22px;
  }
}


/* =========================================================
   AlexEmme 1.16.20 — ritorno del blocco Bellicchio dedicato.
   Le Aree standard restano separate dai contenuti e diventano 2x2.
   Bellicchio & Leccamuffo conserva il trattamento editoriale speciale.
   // by Alessandro Monfregola
   ========================================================= */
.home-portal-grid.home-area-grid .home-area-card,
.home-portal-grid.home-area-grid .home-area-card:nth-child(4),
.home-portal-grid.home-area-grid .home-area-card:nth-child(5){
  grid-column:span 3!important;
}

/* Mantiene il blocco speciale compatto rispetto alle vecchie versioni. */
.home-comic-inner{
  padding-block:clamp(42px,4vw,58px);
}

@media(max-width:760px){
  .home-portal-grid.home-area-grid .home-area-card,
  .home-portal-grid.home-area-grid .home-area-card:nth-child(4),
  .home-portal-grid.home-area-grid .home-area-card:nth-child(5){
    grid-column:1!important;
  }
}


/* =========================================================
   AlexEmme 1.16.22 — animazioni leggere per Retro Game e C64.
   Solo opacity/transform: niente GIF, video, filtri continui o JS.
   // by Alessandro Monfregola
   ========================================================= */
.home-area-card--retro,
.home-area-card--c64{
  isolation:isolate;
}
.home-area-card--retro > img,
.home-area-card--c64 > img{
  position:relative;
  z-index:0;
}
.home-area-sparkles{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  pointer-events:none;
}
.home-area-sparkles span{
  position:absolute;
  display:block;
  width:7px;
  height:7px;
  border-radius:50%;
  opacity:0;
  transform:scale(.45);
  will-change:transform,opacity;
}
.home-area-sparkles span::before,
.home-area-sparkles span::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:currentColor;
  border-radius:999px;
  transform:translate(-50%,-50%);
}
.home-area-sparkles span::before{width:2px;height:22px}
.home-area-sparkles span::after{width:22px;height:2px}

/* Retro Game: bagliori pixel blu, irregolari e discreti. */
.home-area-card--retro .home-area-sparkles{color:#58b8ff}
.home-area-card--retro .home-area-sparkles span:nth-child(1){left:14%;top:20%;animation:aemme-retro-spark 4.8s ease-in-out .3s infinite}
.home-area-card--retro .home-area-sparkles span:nth-child(2){left:77%;top:17%;animation:aemme-retro-spark 5.6s ease-in-out 1.4s infinite}
.home-area-card--retro .home-area-sparkles span:nth-child(3){left:21%;top:72%;animation:aemme-retro-spark 6.2s ease-in-out 2.1s infinite}
.home-area-card--retro .home-area-sparkles span:nth-child(4){left:84%;top:66%;animation:aemme-retro-spark 5.2s ease-in-out 3.1s infinite}
@keyframes aemme-retro-spark{
  0%,62%,100%{opacity:0;transform:scale(.35) rotate(0deg)}
  68%{opacity:.85;transform:scale(1) rotate(12deg)}
  75%{opacity:.18;transform:scale(.58) rotate(22deg)}
  81%{opacity:.62;transform:scale(.82) rotate(30deg)}
}

/* C64: scintille calde che riprendono le stelle della grafica. */
.home-area-card--c64 .home-area-sparkles{color:#ffd0a7}
.home-area-card--c64 .home-area-sparkles span:nth-child(1){left:18%;top:18%;animation:aemme-c64-twinkle 5.8s ease-in-out .2s infinite}
.home-area-card--c64 .home-area-sparkles span:nth-child(2){left:83%;top:22%;animation:aemme-c64-twinkle 6.4s ease-in-out 1.7s infinite}
.home-area-card--c64 .home-area-sparkles span:nth-child(3){left:11%;top:69%;animation:aemme-c64-twinkle 7s ease-in-out 3s infinite}
.home-area-card--c64 .home-area-sparkles span:nth-child(4){left:80%;top:76%;animation:aemme-c64-twinkle 6.2s ease-in-out 4.1s infinite}
@keyframes aemme-c64-twinkle{
  0%,58%,100%{opacity:0;transform:scale(.3) rotate(0deg)}
  64%{opacity:.88;transform:scale(1.18) rotate(15deg)}
  71%{opacity:.28;transform:scale(.64) rotate(24deg)}
  77%{opacity:.68;transform:scale(.9) rotate(34deg)}
}

@media(prefers-reduced-motion:reduce){
  .home-area-card--retro .home-area-sparkles span,
  .home-area-card--c64 .home-area-sparkles span{
    animation:none!important;
    opacity:0!important;
  }
}


/* =========================================================
   AlexEmme 1.16.27 — hero Commodore senza crop.
   Il visual deve essere mostrato per intero: niente object-fit: cover.
   // by Alessandro Monfregola
   ========================================================= */
.home-hero-figure{
  width:min(100%,620px)!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
}

.home-hero-figure img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* READY. e 1982 → ∞ sono già parte dell'immagine raster. */
.home-hero-figure figcaption{
  display:none!important;
}

@media(max-width:980px){
  .home-hero-figure{
    width:min(100%,620px)!important;
    margin-inline:auto!important;
  }
}


/* =========================================================
   AlexEmme 1.16.29 — ritmo verticale Home compatto.
   Regola permanente: evitare la somma eccessiva di padding
   tra sezioni consecutive.
   // by Alessandro Monfregola
   ========================================================= */

.home-v15{
  --home-section-y:clamp(24px,2.2vw,34px)!important;
}

/* Hero: chiusura più vicina alla sezione successiva. */
.home-hero{
  padding-bottom:clamp(26px,2.6vw,38px)!important;
}

/* L'idea resta autorevole ma non occupa una fascia eccessiva. */
.home-idea-inner{
  padding-block:clamp(34px,3.2vw,46px)!important;
}

/* Novità: riduce lo spazio sopra e sotto senza comprimere le card. */
.home-latest{
  padding-top:clamp(28px,2.5vw,38px)!important;
  padding-bottom:clamp(26px,2.4vw,36px)!important;
}
.home-latest .home-section-head{
  margin-bottom:clamp(18px,1.8vw,26px)!important;
}
.home-latest-all{
  margin-top:20px!important;
}

/* Esplora: evita il doppio "vuoto" fra fine Novità e titolo Aree. */
.home-explore{
  padding-top:clamp(28px,2.5vw,38px)!important;
  padding-bottom:clamp(30px,2.8vw,42px)!important;
}
.home-explore .home-section-head{
  margin-bottom:clamp(18px,1.8vw,26px)!important;
}

/* Bellicchio e chiusura seguono lo stesso ritmo compatto. */
.home-comic-inner{
  padding-block:clamp(34px,3vw,46px)!important;
}
.home-tail{
  padding-top:clamp(26px,2.4vw,36px)!important;
  padding-bottom:clamp(28px,2.6vw,38px)!important;
}

@media(max-width:760px){
  .home-v15{
    --home-section-y:24px!important;
  }
  .home-hero{
    padding-bottom:26px!important;
  }
  .home-idea-inner{
    padding-block:30px!important;
  }
  .home-latest,
  .home-explore{
    padding-top:24px!important;
    padding-bottom:28px!important;
  }
  .home-latest .home-section-head,
  .home-explore .home-section-head{
    margin-bottom:18px!important;
  }
  .home-comic-inner{
    padding-block:30px!important;
  }
  .home-tail{
    padding-block:26px!important;
  }
}

/* =========================================================
   AlexEmme 1.19.13 — Pagina Alex V4.
   Gerarchia più equilibrata, testi senza interruzioni forzate,
   sezioni compatte e nuove connessioni editoriali.
   // by Alessandro Monfregola
   ========================================================= */
.alex-page-v4{
  --alex4-blue:#5e6f9d;
  --alex4-blue-soft:#edf3fa;
  --alex4-sand:#f6f1e7;
  --alex4-paper:#ffffff;
  --alex4-ink:#1d1d1b;
  --alex4-muted:#62615d;
  --alex4-radius:18px;
  --alex4-y:clamp(30px,3.2vw,48px);
}
.alex-page-v4 h1,
.alex-page-v4 h2,
.alex-page-v4 h3,
.alex-page-v4 blockquote{
  text-wrap:balance;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}
.alex-page-v4 p{
  text-wrap:pretty;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}
.alex-page-v4 .eyebrow{color:var(--alex4-blue);margin-bottom:12px}

.alex-v4-hero{
  padding-top:clamp(12px,1.6vw,24px);
  padding-bottom:clamp(34px,3.6vw,50px);
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.62fr);
  gap:clamp(42px,6.8vw,96px);
  align-items:center;
}
.alex-v4-hero-copy{min-width:0}
.alex-v4-hero h1{
  margin:0;
  max-width:17ch;
  font:500 clamp(3.25rem,4.85vw,5.55rem)/.96 var(--serif);
  letter-spacing:-.055em;
}
.alex-v4-lead{
  margin:25px 0 0;
  max-width:64ch;
  color:#484844;
  font-size:clamp(1.05rem,1.25vw,1.2rem);
  line-height:1.62;
}
.alex-v4-intro-extra{
  margin:12px 0 0;
  max-width:68ch;
  color:var(--alex4-muted);
  font-size:.99rem;
  line-height:1.66;
}
.alex-v4-coordinates{
  display:flex;
  flex-wrap:wrap;
  gap:7px 10px;
  align-items:center;
  margin:22px 0 0;
  color:var(--alex4-blue);
  font:700 .7rem/1.4 var(--mono);
  letter-spacing:.07em;
  text-transform:uppercase;
}
.alex-v4-coordinates span{color:var(--ochre)}
.alex-v4-portrait{
  position:relative;
  margin:0 0 0 auto;
  width:min(100%,390px);
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:var(--alex4-radius);
  background:var(--alex4-blue-soft);
  box-shadow:0 18px 50px rgba(29,29,27,.08);
}
.alex-v4-portrait img{
  width:100%;height:100%;object-fit:cover;object-position:center center;
  transition:transform .85s cubic-bezier(.2,.72,.25,1);
}
.alex-v4-portrait figcaption{
  position:absolute;left:12px;bottom:12px;
  margin:0;padding:8px 10px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(29,29,27,.08);
  font:700 .62rem/1 var(--mono);
  letter-spacing:.08em;text-transform:uppercase;
}
@media(hover:hover){.alex-v4-portrait:hover img{transform:scale(1.018)}}

.alex-v4-origin{
  padding-block:var(--alex4-y);
  border-top:1px solid var(--line);
}
.alex-v4-origin-intro{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  column-gap:clamp(40px,7vw,100px);
  align-items:start;
}
.alex-v4-origin-intro .eyebrow{grid-column:1}
.alex-v4-origin-intro h2{
  grid-column:1;
  margin:0;
  max-width:13ch;
  font:500 clamp(2.55rem,3.8vw,4.45rem)/.98 var(--serif);
  letter-spacing:-.05em;
}
.alex-v4-origin-intro>p:last-child{
  grid-column:2;
  grid-row:1/3;
  align-self:end;
  margin:0 0 clamp(12px,1.2vw,18px);
  max-width:61ch;
  color:#4d4d49;
  font-size:clamp(1.03rem,1.2vw,1.16rem);
  line-height:1.66;
}
.alex-v4-timeline{
  margin-top:clamp(20px,2.4vw,32px);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.alex-v4-time-card{
  min-height:178px;
  padding:21px 23px 23px;
  border:1px solid var(--line);
  border-radius:var(--alex4-radius);
  background:#fff;
}
.alex-v4-time-card:nth-child(2){background:var(--alex4-blue-soft)}
.alex-v4-time-card:nth-child(3){background:var(--alex4-sand)}
.alex-v4-index{
  color:var(--alex4-blue);
  font:700 .66rem/1 var(--mono);
  letter-spacing:.1em;
}
.alex-v4-time-card h3{
  margin:24px 0 9px;
  font:500 clamp(1.72rem,2.1vw,2.35rem)/1 var(--serif);
  letter-spacing:-.04em;
}
.alex-v4-time-card p{
  margin:0;
  max-width:38ch;
  color:var(--alex4-muted);
  font-size:.95rem;
  line-height:1.57;
}

.alex-v4-two-worlds{
  padding-block:var(--alex4-y);
  border-top:1px solid var(--line);
}
.alex-v4-section-head{
  display:grid;
  grid-template-columns:minmax(150px,.28fr) minmax(0,1fr);
  gap:clamp(24px,5vw,70px);
  align-items:end;
  margin-bottom:clamp(18px,2.4vw,28px);
}
.alex-v4-section-head .eyebrow{margin:0 0 7px}
.alex-v4-section-head h2{
  margin:0;
  max-width:21ch;
  font:500 clamp(2.45rem,3.55vw,4.1rem)/.99 var(--serif);
  letter-spacing:-.05em;
}
.alex-v4-world-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.alex-v4-world-card{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--alex4-radius);
  background:#fff;
}
.alex-v4-world-media{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:var(--paper-2);
}
.alex-v4-world-media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .8s cubic-bezier(.2,.72,.25,1);
}
.alex-v4-world-card-comic .alex-v4-world-media{
  background:var(--alex4-sand);
}
.alex-v4-world-card-comic .alex-v4-world-media img{
  object-fit:contain;
  padding:16px;
}
.alex-v4-world-copy{padding:22px 25px 25px}
.alex-v4-world-copy h3{
  margin:0;
  max-width:18ch;
  font:500 clamp(2rem,2.65vw,3rem)/1 var(--serif);
  letter-spacing:-.045em;
}
.alex-v4-world-copy>p:not(.eyebrow){
  margin:12px 0 0;
  max-width:47ch;
  color:var(--alex4-muted);
  font-size:.98rem;
  line-height:1.58;
}
.alex-v4-world-copy .text-link{margin-top:16px}
@media(hover:hover){.alex-v4-world-media:hover img{transform:scale(1.018)}}

.alex-v4-manifesto{
  margin:0;
  padding-block:clamp(36px,4.2vw,56px);
  background:var(--alex4-blue-soft);
}
.alex-v4-manifesto-inner{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  gap:clamp(34px,5.5vw,72px);
  align-items:start;
}
.alex-v4-manifesto-copy h2{
  margin:0;
  font:500 clamp(2.4rem,3.4vw,3.9rem)/1 var(--serif);
  letter-spacing:-.048em;
}
.alex-v4-manifesto-big{
  margin:13px 0 0;
  max-width:25ch;
  font:500 clamp(1.65rem,2.3vw,2.65rem)/1.08 var(--serif);
  letter-spacing:-.035em;
}
.alex-v4-manifesto-small{
  margin:14px 0 0;
  max-width:62ch;
  color:#53606c;
  font-size:1rem;
  line-height:1.62;
}
.alex-v4-principles{
  display:grid;
  gap:0;
  border-top:1px solid rgba(84,124,172,.2);
}
.alex-v4-principle{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:16px;
  padding:17px 0;
  border-bottom:1px solid rgba(84,124,172,.2);
}
.alex-v4-principle>span{
  padding-top:5px;
  color:var(--alex4-blue);
  font:700 .66rem/1 var(--mono);
  letter-spacing:.1em;
}
.alex-v4-principle h3{
  margin:0 0 6px;
  font:500 clamp(1.45rem,1.8vw,1.9rem)/1.05 var(--serif);
  letter-spacing:-.035em;
}
.alex-v4-principle p{
  margin:0;
  max-width:48ch;
  color:#53606c;
  font-size:.94rem;
  line-height:1.55;
}

.alex-v4-recurring{
  padding-top:clamp(18px,1.9vw,28px);
  padding-bottom:var(--alex4-y);
  border-bottom:1px solid var(--line);
}
.alex-v4-recurring-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.alex-v4-topic{
  position:relative;
  min-height:238px;
  padding:22px 22px 52px;
  border:1px solid var(--line);
  border-radius:var(--alex4-radius);
  background:#fff;
  transition:transform .35s ease,border-color .35s ease,background-color .35s ease;
}
.alex-v4-topic:nth-child(2){background:#faf9f6}
.alex-v4-topic:nth-child(3){background:var(--alex4-sand)}
.alex-v4-topic:nth-child(4){background:var(--alex4-blue-soft)}
.alex-v4-topic h3{
  margin:28px 0 9px;
  font:500 clamp(1.7rem,2.05vw,2.25rem)/1 var(--serif);
  letter-spacing:-.04em;
}
.alex-v4-topic p{
  margin:0;
  max-width:32ch;
  color:var(--alex4-muted);
  font-size:.93rem;
  line-height:1.56;
}
.alex-v4-topic-arrow{
  position:absolute;
  right:22px;bottom:20px;
  font-size:1.35rem;
  transition:transform .3s ease;
}
@media(hover:hover){
  .alex-v4-topic:hover{transform:translateY(-4px);border-color:rgba(84,124,172,.32)}
  .alex-v4-topic:hover .alex-v4-topic-arrow{transform:translateX(4px)}
}

.alex-v4-signoff{
  padding-block:clamp(36px,4vw,54px);
}
.alex-v4-signoff-inner{
  max-width:1050px;
  margin-inline:auto;
  text-align:center;
}
.alex-v4-signoff blockquote{
  margin:0 auto;
  max-width:18ch;
  font:500 clamp(3rem,5vw,5.7rem)/.96 var(--serif);
  letter-spacing:-.055em;
}
.alex-v4-signoff-inner>p:not(.eyebrow){
  margin:18px auto 0;
  max-width:58ch;
  color:var(--alex4-muted);
  font-size:1rem;
  line-height:1.6;
}
.alex-v4-signoff-actions{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px 24px;
}
.alex-v4-signoff-actions .text-link{margin-top:0}
.alex-v4-random-link{color:var(--alex4-blue)}

/* Reveal one-shot locale: nessun calcolo continuo e nessun parallax. */
.alex-page-v4 .reveal-child{
  opacity:0;
  transition:opacity .72s cubic-bezier(.2,.72,.25,1),transform .78s cubic-bezier(.2,.72,.25,1),clip-path .9s cubic-bezier(.2,.72,.25,1);
  transition-delay:var(--reveal-delay,0ms);
}
.alex-page-v4 [data-reveal="up"]{transform:translate3d(0,22px,0)}
.alex-page-v4 [data-reveal="left"]{transform:translate3d(-26px,0,0)}
.alex-page-v4 [data-reveal="clip"]{opacity:1;transform:scale(1.018);clip-path:inset(0 0 100% 0 round var(--alex4-radius))}
.alex-page-v4 [data-reveal="band"]{opacity:1;transform:none}
.alex-page-v4 .reveal-child.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
.alex-page-v4 .reveal-child[data-reveal="clip"].is-visible{clip-path:inset(0 0 0 0 round var(--alex4-radius))}

@media(max-width:1100px){
  .alex-v4-hero{grid-template-columns:minmax(0,1fr) minmax(270px,.48fr);gap:42px}
  .alex-v4-origin-intro{grid-template-columns:1fr;row-gap:18px}
  .alex-v4-origin-intro .eyebrow,.alex-v4-origin-intro h2,.alex-v4-origin-intro>p:last-child{grid-column:1;grid-row:auto}
  .alex-v4-origin-intro h2{max-width:18ch}
  .alex-v4-origin-intro>p:last-child{max-width:68ch}
  .alex-v4-recurring-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .alex-v4-topic{min-height:245px}
}
@media(max-width:860px){
  .alex-page-v4{--alex4-y:34px}
  .alex-v4-hero{grid-template-columns:1fr;gap:28px;align-items:start}
  .alex-v4-hero h1{max-width:18ch}
  .alex-v4-portrait{margin:0;width:min(72vw,350px)}
  .alex-v4-timeline,.alex-v4-world-grid{grid-template-columns:1fr}
  .alex-v4-time-card{min-height:auto}
  .alex-v4-section-head{grid-template-columns:1fr;gap:8px;align-items:start}
  .alex-v4-section-head h2{max-width:23ch}
  .alex-v4-manifesto-inner{grid-template-columns:1fr;gap:34px}
  .alex-v4-manifesto-big{max-width:25ch}
}
@media(max-width:620px){
  .alex-page-v4{--alex4-y:28px}
  .alex-v4-hero{padding-top:22px;padding-bottom:30px}
  .alex-v4-hero h1{font-size:clamp(2.8rem,12vw,4rem);line-height:.98;letter-spacing:-.05em}
  .alex-v4-lead{margin-top:20px}
  .alex-v4-coordinates{font-size:.63rem}
  .alex-v4-portrait{width:100%;max-width:330px}
  .alex-v4-origin-intro h2,.alex-v4-section-head h2{font-size:clamp(2.25rem,10.5vw,3.45rem)}
  .alex-v4-timeline{grid-template-columns:1fr;gap:9px}
  .alex-v4-time-card{padding:21px 22px 23px}
  .alex-v4-time-card h3{margin-top:22px}
  .alex-v4-world-media{aspect-ratio:4/3}
  .alex-v4-world-copy{padding:22px 22px 25px}
  .alex-v4-world-copy h3{font-size:clamp(1.9rem,9vw,2.55rem)}
  .alex-v4-manifesto{padding-block:32px}
  .alex-v4-manifesto-copy h2{font-size:clamp(2.25rem,10vw,3.25rem)}
  .alex-v4-manifesto-big{font-size:clamp(1.55rem,7.4vw,2.15rem)}
  .alex-v4-principle{grid-template-columns:38px minmax(0,1fr);gap:12px;padding:18px 0}
  .alex-v4-recurring-grid{grid-template-columns:1fr}
  .alex-v4-topic{min-height:auto;padding:21px 22px 54px}
  .alex-v4-topic h3{margin-top:28px}
  .alex-v4-signoff blockquote{font-size:clamp(2.8rem,12vw,4.4rem)}
  .alex-v4-signoff-actions{flex-direction:column;align-items:center;gap:12px}
}
@media(prefers-reduced-motion:reduce){
  .alex-page-v4 .reveal-child{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .alex-v4-portrait img,.alex-v4-world-media img,.alex-v4-topic,.alex-v4-topic-arrow{transition:none!important;transform:none!important}
}
