/* PROXIMA article.css — versione: CLAIM-2026-09-08 */
/* ──────────────────────────────────────────────────────────────
   PROXIMA · Article layer — long-form reading pages.
   Depends on brand.css (fonts + tokens).
   ────────────────────────────────────────────────────────────── */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper); color:var(--ink);
  font-family:var(--font-serif); line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:720px;margin:0 auto;padding:0 28px;}

/* ── NAV ── */
.px-nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 40px;
  background:rgba(251,250,253,.88);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--slate-200);
}
.px-nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.px-nav-word{
  font-family:var(--font-display);font-weight:700;font-size:16px;
  letter-spacing:-.02em;color:var(--ink);
}
.px-nav-back{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--slate-500);text-decoration:none;
  transition:color .2s;
}
.px-nav-back:hover{color:var(--violet-700);}

/* ── HEADER ── */
.px-head{padding:140px 0 44px;}
.px-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-mono);font-size:11.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--violet-700);
}
.px-eyebrow::before{content:'';width:16px;height:1px;background:currentColor;opacity:.6;}
.px-title{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(30px,4.6vw,50px);line-height:1.08;letter-spacing:-.028em;
  color:var(--ink);margin:22px 0 0;
}
.px-standfirst{
  font-family:var(--font-serif);font-style:italic;font-weight:400;
  font-size:20px;line-height:1.55;color:var(--slate-500);margin:20px 0 0;
}
.px-meta{
  display:flex;flex-wrap:wrap;gap:24px;margin-top:32px;padding:16px 0;
  border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);
  font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--slate-400);
}

/* ── BODY ── */
article{padding-bottom:80px;}
.px-lead{
  font-size:21px;line-height:1.72;color:var(--ink);margin:40px 0 26px;
}
.px-body p{font-size:18.5px;line-height:1.78;color:var(--slate-700);margin:0 0 22px;}
.px-body strong{color:var(--ink);font-weight:600;}
.px-body em{font-style:italic;}

.px-section-label{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--violet-500);margin:56px 0 10px;
  display:flex;align-items:center;gap:9px;
}
.px-section-label::before{content:'';width:16px;height:1px;background:currentColor;opacity:.6;}
h2.px-h2{
  font-family:var(--font-display);font-weight:600;font-size:clamp(24px,3vw,32px);
  line-height:1.16;letter-spacing:-.022em;color:var(--ink);margin:0 0 18px;
}
h3.px-h3{
  font-family:var(--font-display);font-weight:600;font-size:18px;
  letter-spacing:-.01em;color:var(--violet-700);margin:34px 0 12px;
}

/* ── DATA CALLOUT ── */
.px-callout{
  background:var(--card);border:1px solid var(--slate-200);
  border-left:3px solid var(--violet-500);
  border-radius:var(--radius-md);padding:26px 28px;margin:32px 0;
  box-shadow:var(--shadow-md);
}
.px-callout.teal{border-left-color:var(--data-teal);}
.px-callout.amber{border-left-color:var(--data-amber);}
.px-callout.coral{border-left-color:var(--data-coral);}
.px-callout-val{
  font-family:var(--font-mono);font-weight:700;font-size:clamp(32px,5vw,46px);
  letter-spacing:-.03em;line-height:1;color:var(--ink);display:block;
}
.px-callout.teal .px-callout-val{color:var(--data-teal);}
.px-callout.amber .px-callout-val{color:var(--data-amber);}
.px-callout.coral .px-callout-val{color:var(--data-coral);}
.px-callout-label{
  font-family:var(--font-display);font-weight:600;font-size:15px;
  color:var(--ink);margin-top:12px;display:block;line-height:1.4;
}
.px-callout-src{
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--slate-400);margin-top:12px;
  display:block;line-height:1.7;
}

/* ── TABLE ── */
.px-table{width:100%;border-collapse:collapse;margin:32px 0;}
.px-table th{
  background:var(--ink-surface);color:var(--paper);
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;padding:13px 14px;text-align:left;font-weight:400;
}
.px-table td{
  padding:13px 14px;border-bottom:1px solid var(--slate-200);
  font-family:var(--font-serif);font-size:15.5px;color:var(--slate-700);
}
.px-table td:nth-child(2){font-family:var(--font-mono);font-size:14px;}
.px-table tr:nth-child(even) td{background:var(--mist);}
.px-table tr.px-pos td{background:rgba(21,182,160,.07);}
.px-table tr.px-pos td:nth-child(2){color:var(--data-teal);font-weight:700;}

/* ── PULL QUOTE ── */
.px-pull{
  font-family:var(--font-serif);font-style:italic;font-weight:500;
  font-size:clamp(22px,3vw,30px);line-height:1.36;letter-spacing:-.01em;
  color:var(--violet-700);text-align:center;
  margin:52px auto;max-width:560px;
  padding:32px 0;border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);
}
.px-pull strong{font-style:normal;font-weight:600;color:var(--violet-900);}

/* ── FORMAT LIST ── */
.px-formats{list-style:none;margin:28px 0;padding:0;}
.px-formats li{
  display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;
  padding:18px 0;border-bottom:1px solid var(--slate-200);
}
.px-formats li:first-child{border-top:1px solid var(--slate-200);}
.px-formats .fname{
  font-family:var(--font-display);font-weight:600;font-size:16px;
  color:var(--ink);white-space:nowrap;
}
.px-formats .fdesc{
  font-family:var(--font-serif);font-style:italic;font-size:16.5px;
  color:var(--slate-500);line-height:1.55;
}

/* ── CONCLUSION ── */
.px-conclusion{
  background:var(--ink-surface);color:var(--paper);
  border-radius:var(--radius-lg);padding:40px 36px;margin:56px 0 32px;
}
.px-conclusion h3{
  font-family:var(--font-display);font-weight:600;font-size:23px;
  letter-spacing:-.02em;color:#fff;margin:0 0 18px;line-height:1.2;
}
.px-conclusion p{
  font-family:var(--font-serif);font-size:17px;line-height:1.76;
  color:rgba(251,250,253,.72);margin:0 0 16px;
}
.px-conclusion p:last-child{margin-bottom:0;}
.px-conclusion em{color:var(--violet-300);font-style:italic;}

/* ── METHODOLOGY ── */
.px-method{
  background:var(--mist);border:1px solid var(--slate-200);
  border-radius:var(--radius-md);padding:30px 32px;margin-top:48px;
}
.px-method h4{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--violet-700);margin:0 0 16px;font-weight:400;
}
.px-method p{font-family:var(--font-serif);font-size:15px;line-height:1.75;color:var(--slate-500);margin:0 0 12px;}
.px-method ul{margin:12px 0 16px 20px;}
.px-method li{font-family:var(--font-serif);font-size:14.5px;line-height:1.8;color:var(--slate-500);}
.px-method .px-warn{font-size:13.5px;font-style:italic;color:var(--slate-400);margin-top:14px;}

/* ── SIGNOFF ── */
.px-signoff{text-align:center;margin:64px 0 24px;}
.px-signoff .q{
  font-family:var(--font-serif);font-style:italic;font-size:26px;
  color:var(--violet-700);line-height:1.35;margin-bottom:14px;
}
.px-signoff .p{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--slate-400);
}

/* ── CTA ── */
.px-cta{
  background:linear-gradient(135deg,var(--violet-700),var(--violet-500));
  border-radius:var(--radius-lg);padding:44px 36px;text-align:center;
  margin:56px 0 0;box-shadow:var(--shadow-lg);
}
.px-cta h3{
  font-family:var(--font-display);font-weight:600;font-size:26px;
  letter-spacing:-.02em;color:#fff;margin:0 0 10px;
}
.px-cta p{
  font-family:var(--font-serif);font-size:16.5px;line-height:1.6;
  color:rgba(255,255,255,.82);margin:0 0 26px;
}
.px-cta a{
  display:inline-block;background:#fff;color:var(--violet-700);
  font-family:var(--font-mono);font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;text-decoration:none;
  padding:15px 30px;border-radius:99px;transition:transform .2s;
}
.px-cta a:hover{transform:translateY(-2px);}

/* ── FOOTER ── */
.px-foot{
  background:var(--ink-surface);color:var(--slate-400);
  padding:44px 40px;text-align:center;
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;
}
.px-foot a{color:var(--violet-300);text-decoration:none;}

/* ── MOBILE ── */
@media (max-width:760px){
  .px-nav{padding:14px 20px;}
  .wrap{padding:0 20px;}
  .px-head{padding:110px 0 32px;}
  .px-meta{flex-direction:column;gap:8px;}
  .px-lead{font-size:19px;}
  .px-body p{font-size:17.5px;}
  .px-callout{padding:22px 20px;}
  .px-conclusion{padding:30px 24px;}
  .px-method{padding:24px 20px;}
  .px-cta{padding:34px 24px;}
  .px-formats li{grid-template-columns:1fr;gap:6px;}
  .px-table{font-size:13px;}
  .px-table th,.px-table td{padding:10px 9px;}
  .px-table td{font-size:14px;}
}
@media (max-width:420px){
  .px-nav-back{font-size:10px;}
  .px-table th,.px-table td{padding:8px 6px;}
}

/* ── FIGURE ── */
.px-figure{ max-width:1080px; margin:0 auto 8px; padding:0 28px; }
.px-figure img{
  width:100%; height:auto; display:block;
  border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
}
.px-figure figcaption{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.06em;
  color:var(--slate-400); margin-top:14px; line-height:1.7; text-align:center;
}
@media (max-width:760px){
  .px-figure{ padding:0 20px; }
  .px-figure img{ border-radius:var(--radius-md); }
  .px-figure figcaption{ text-align:left; font-size:10.5px; }
}

/* ── Reading gauge ── */
.px-gauge{ position:fixed; top:0; left:0; height:3px; width:0;
  background:linear-gradient(90deg,var(--violet-700),var(--violet-400));
  z-index:1200; transition:width .08s linear; }
@media (prefers-reduced-motion: reduce){ .px-gauge{ transition:none; } }

/* ── Quality layer ── */
html{ scroll-padding-top:84px; }
::selection{ background:rgba(106,69,255,0.22); color:var(--ink); }
a:focus-visible,button:focus-visible{ outline:2px solid var(--violet-500); outline-offset:3px; border-radius:4px; }
h1,h2,h3{ text-wrap:balance; }
article p{ text-wrap:pretty; }
.px-table td:nth-child(2){ font-variant-numeric:tabular-nums; }
.px-callout-val{ font-variant-numeric:tabular-nums; }

/* ──────────────────────────────────────────────────────────────
   HERO IMMERSIVO · componente condiviso (Termometro #1, #2, …)
   L'immagine duotone ha le luci sul colore --paper: il fondo
   della foto si dissolve nella pagina e il titolo nasce dentro
   la fotografia.
   ────────────────────────────────────────────────────────────── */
.px-hero{
  position:relative;min-height:100svh;display:flex;flex-direction:column;
  justify-content:center;isolation:isolate;overflow:hidden;
  padding-top:84px;
}
.px-hero-img{
  position:absolute;inset:0;z-index:-2;width:100%;height:100%;
  object-fit:cover;object-position:center 30%;
}
.px-hero::before{ /* velo scuro in alto: leggibilità nav */
  content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg, rgba(38,35,47,.5) 0%, rgba(38,35,47,.12) 22%, rgba(38,35,47,0) 40%);
}
/* ── SCRIM SCURO + PANNELLO VETRO ──────────────────────────────────────
   Il testo chiaro su scrim scuro è l'unico sistema che regge su qualsiasi
   fotografia: la luminanza di una foto varia pixel per pixel, quindi un
   fondo chiaro lascia sempre trasparire la trama. Qui la garanzia è doppia:
   scrim scuro sull'immagine + pannello in vetro smerigliato sotto il testo. */
.px-hero::after{
  content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,
      rgba(20,16,32,0) 0,
      rgba(20,16,32,.34) 42%,
      rgba(20,16,32,.68) 100%)
    bottom / 100% clamp(460px, 74%, 860px) no-repeat;
}
.px-hero .wrap{
  width:100%;position:relative;z-index:1;
  max-width:min(960px, 100%);
  padding-bottom:clamp(96px,10vh,132px);  /* spazio per il foglio che sale */
}

/* pannello "liquid glass" */
.px-hero .px-head{
  padding:38px clamp(24px,3.4vw,44px) 30px;
  border-radius:var(--radius-xl);
  background:rgba(28,23,44,0.54);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
  backdrop-filter:blur(22px) saturate(150%);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 26px 70px rgba(10,6,26,.38), inset 0 1px 0 rgba(255,255,255,.14);
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .px-hero .px-head{background:rgba(28,23,44,.78);}
}
/* tipografia in chiaro dentro il vetro */
.px-hero .px-eyebrow{color:var(--violet-300);}
.px-hero .px-title{color:#fbfafd;}
.px-hero .px-standfirst{color:rgba(251,250,253,.84);}
.px-hero .px-meta{color:rgba(251,250,253,.62);border-top-color:rgba(255,255,255,.18);}
.px-hero .px-meta b,.px-hero .px-meta strong{color:#fbfafd;}
.px-hero .px-ruler{
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.34) 0 1px, transparent 1px 12px),
    repeating-linear-gradient(90deg, var(--violet-300) 0 2px, transparent 2px 60px);
  background-size:auto 7px, auto 14px;background-repeat:repeat-x;background-position:bottom left;
}
.px-hero .px-hero-credit{color:rgba(251,250,253,.6);padding:14px 0 0;}

/* ── IL FOGLIO ────────────────────────────────────────────────────────
   L'articolo è un foglio di carta che sale sopra la fotografia: chiude
   il hero, riporta la tipografia ai colori del brand e dà la sensazione
   fisica di "entrare" nel testo. */
.px-hero + article,
.px-hero + main{
  position:relative;z-index:2;background:var(--paper);
  border-radius:28px 28px 0 0;
  margin-top:clamp(-72px,-4.5vw,-48px);
  padding-top:clamp(40px,4vw,60px);
  box-shadow:0 -26px 60px rgba(20,16,32,.16);
}
/* maniglia del foglio, come sulle bottom-sheet */
.px-hero + article::before,
.px-hero + main::before{
  content:'';position:absolute;top:14px;left:50%;transform:translateX(-50%);
  width:46px;height:4px;border-radius:99px;background:var(--slate-200);
}
.px-hero .px-title{text-wrap:balance;}
.px-hero .px-meta{border-bottom:0;padding-bottom:0;margin-top:26px;}
.px-hero-credit{
  font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--slate-400);padding:16px 0 20px;line-height:1.6;
}

/* nav trasparente sopra il hero, si solidifica allo scroll */
.px-nav.px-nav-over{background:transparent;border-bottom:0;backdrop-filter:none;}
.px-nav.px-nav-over.scrolled{
  background:rgba(251,250,253,.88);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--slate-200);
}
.px-nav-over:not(.scrolled) .px-nav-word{color:#fff;}
.px-nav-over:not(.scrolled) .px-nav-back{color:rgba(255,255,255,.85);}
.px-nav-over:not(.scrolled) .px-nav-back:hover{color:#fff;}
.px-nav-over:not(.scrolled) svg circle:first-child{fill:#fbfafd;}

/* righello di misura — firma di formato */
.px-ruler{
  margin:18px 0 0;height:14px;
  background:
    repeating-linear-gradient(90deg, var(--slate-300) 0 1px, transparent 1px 12px),
    repeating-linear-gradient(90deg, var(--violet-500) 0 2px, transparent 2px 60px);
  background-size:auto 7px, auto 14px;background-repeat:repeat-x;background-position:bottom left;
}

/* capolettera */
.px-lead.dropcap::first-letter{
  font-family:var(--font-display);font-weight:700;font-size:3.1em;
  float:left;line-height:.85;margin:.05em .13em 0 0;color:var(--violet-700);
}

/* strip dei numeri chiave */
.px-numstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:36px 0 8px;}
.px-num{
  background:var(--card);border:1px solid var(--slate-200);border-radius:var(--radius-md);
  padding:16px 14px;text-align:center;box-shadow:var(--shadow-md);
}
.px-num b{
  display:block;font-family:var(--font-mono);font-weight:700;font-size:clamp(18px,2vw,22px);
  letter-spacing:-.02em;color:var(--violet-700);font-variant-numeric:tabular-nums;
}
.px-num.coral b{color:var(--data-coral);}
.px-num.teal b{color:var(--data-teal);}
.px-num.amber b{color:var(--data-amber);}
.px-num span{
  font-family:var(--font-mono);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--slate-500);line-height:1.5;display:block;margin-top:7px;
}

@media(max-width:640px){
  .px-numstrip{grid-template-columns:repeat(2,1fr);}
  .px-hero{min-height:96svh;padding-top:72px;}
  .px-hero .px-head{padding:28px 22px 24px;border-radius:var(--radius-lg);}
}
@media(prefers-reduced-motion:no-preference){
  .px-hero .wrap>.px-head>*{animation:pxrise .7s cubic-bezier(.2,.7,.2,1) both;}
  .px-hero .wrap>.px-head>*:nth-child(2){animation-delay:.08s;}
  .px-hero .wrap>.px-head>*:nth-child(3){animation-delay:.16s;}
  .px-hero .wrap>.px-head>*:nth-child(4){animation-delay:.24s;}
  .px-hero .wrap>.px-head>*:nth-child(5){animation-delay:.3s;}
  @keyframes pxrise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
}
