:root{
  --nero:#0A0A0A; --nero-true:#010101;
  --rosa:#FBBDE4; --rosa-deep:#C93F79; --rosa-hero:#FBBDE4;
  --bianco:#FCFCFC; --marmo:#E7E2E3;
  --blu:#04488C; --verde:#05532D; --oro:#CA8845;
  --linea:#e6e1da; --grigio:#8a847c; --maxw:1240px;
}
*{box-sizing:border-box} html,body{margin:0}
body{background:var(--bianco);color:var(--nero);font-family:"Jost",system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
a{color:inherit;text-decoration:none}
.serif{font-family:"Cormorant Garamond",Georgia,serif}
.sup{font-size:.55em;vertical-align:super;font-weight:400;letter-spacing:0}
img{max-width:100%;display:block}

/* header */
.topbar{border-bottom:1px solid var(--linea)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:40px;font-size:11px;letter-spacing:.28em;text-transform:uppercase}
.topbar .dot{color:var(--rosa-deep)}
.masthead{text-align:center;padding:32px 0 18px}
.masthead .eyebrow{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--grigio);margin-bottom:12px}
.masthead h1{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(40px,7vw,84px);line-height:.86;margin:0}
.masthead h1 a{color:inherit}
.masthead h1 em{font-style:italic;font-weight:500}
.masthead .tagline{margin-top:14px;font-size:11px;letter-spacing:.32em;text-transform:uppercase}
.masthead .tagline b{color:var(--rosa-deep);font-weight:500}
.nav{border-top:1px solid var(--nero);border-bottom:1px solid var(--nero)}
.nav .wrap{display:flex;justify-content:center;gap:12px 34px;flex-wrap:wrap;padding:13px 32px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.nav a:hover{color:var(--rosa-deep)} .nav a .sup{color:var(--rosa-deep)}

/* tags / palette */
.tag{display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;margin-bottom:10px}
.tag i{width:9px;height:9px;border-radius:50%;display:inline-block}
.t-rosa i{background:var(--rosa-deep)} .t-rosa{color:var(--rosa-deep)}
.t-blu i{background:var(--blu)} .t-blu{color:var(--blu)}
.t-verde i{background:var(--verde)} .t-verde{color:var(--verde)}
.t-oro i{background:var(--oro)} .t-oro{color:var(--oro)}

.placeholder{background:linear-gradient(150deg,#1a1a1e,var(--rosa-deep))}
.ph-blu{background:linear-gradient(150deg,var(--blu),#0a3f70)}
.ph-verde{background:linear-gradient(150deg,var(--verde),#0c351d)}
.ph-oro{background:linear-gradient(150deg,var(--oro),#8f6323)}

/* home hero */
.hero{background:var(--rosa);padding:64px 0 58px;position:relative;overflow:hidden}
.hero .ghost{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:"Cormorant Garamond",serif;font-weight:600;font-size:34vw;color:rgba(255,255,255,.30);pointer-events:none;line-height:1;white-space:nowrap}
.hero .wrap{position:relative}
.hero .kicker{text-align:center;font-size:11px;letter-spacing:.34em;text-transform:uppercase;margin-bottom:18px}
.hero h2{font-family:"Cormorant Garamond",serif;font-weight:600;text-align:center;font-size:clamp(36px,6vw,78px);line-height:.99;margin:0 auto;max-width:16ch}
.hero h2 a:hover{color:#fff}
.hero .dek{text-align:center;max-width:56ch;margin:20px auto 0;font-family:"Cormorant Garamond",serif;font-size:22px;line-height:1.45;color:#2a1a22}
.hero .meta{text-align:center;margin-top:22px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#5b3a48}

/* home lineup */
.lineup{display:grid;grid-template-columns:1.6fr 1fr;gap:0;border-bottom:1px solid var(--nero)}
.feat{padding:40px 40px 40px 0;border-right:1px solid var(--linea)}
.feat .thumb{aspect-ratio:3/2;margin-bottom:20px}
.feat h3{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(28px,3.4vw,44px);line-height:1.03;margin:0 0 12px}
.feat h3 a:hover{color:var(--rosa-deep)}
.feat p{font-family:"Cormorant Garamond",serif;font-size:20px;line-height:1.5;color:#2c2c30;margin:0}
.feat .firma{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--grigio);margin-top:14px}
.stack{padding:40px 0 40px 40px;display:flex;flex-direction:column}
.stack .item{padding:20px 0;border-bottom:1px solid var(--linea)}
.stack .item:first-child{padding-top:0} .stack .item:last-child{border-bottom:0}
.stack h4{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:24px;line-height:1.1;margin:6px 0 0}
.stack h4 a:hover{color:var(--rosa-deep)}
.stack .firma{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--grigio);margin-top:8px}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;padding:44px 0;border-bottom:1px solid var(--nero)}
.trio .thumb{aspect-ratio:3/2;margin-bottom:16px}
.trio h3{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:26px;line-height:1.08;margin:0 0 8px}
.trio h3 a:hover{color:var(--rosa-deep)}
.trio p{font-family:"Cormorant Garamond",serif;font-size:18px;line-height:1.45;color:#3a3a3e;margin:0}

/* palette band */
.palette{margin-top:50px;border-top:1px solid var(--nero)}
.palette .lab{padding:22px 0 16px;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--grigio);text-align:center}
.swatches{display:grid;grid-template-columns:repeat(7,1fr)}
.sw{height:110px;display:flex;align-items:flex-end;padding:12px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;line-height:1.3}

/* article */
.article{padding:0 0 20px}
.article .head{text-align:center;max-width:840px;margin:0 auto;padding:46px 0 30px}
.article .head .tag{justify-content:center}
.article h1{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(34px,5vw,64px);line-height:1.02;margin:6px 0 16px}
.article .sub{font-family:"Cormorant Garamond",serif;font-size:23px;line-height:1.45;color:#3a3a3e;margin:0 auto;max-width:60ch}
.article .byline{margin-top:20px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--grigio)}
.article .hero-img{aspect-ratio:16/9;margin:8px 0 0}
.article .hero-cap{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--grigio);padding:8px 0;border-bottom:1px solid var(--linea);text-align:center}
.prose{max-width:680px;margin:36px auto 0;font-family:"Cormorant Garamond",serif;font-size:21px;line-height:1.62;color:#1e1e22}
.prose p{margin:0 0 22px}
.prose h2{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:30px;line-height:1.1;margin:34px 0 12px;letter-spacing:.005em}
.prose em{color:var(--grigio)}
.prose a{color:var(--rosa-deep);border-bottom:1px solid var(--rosa)}
.article .backhome{max-width:680px;margin:40px auto 0;border-top:1px solid var(--linea);padding-top:18px;font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.article .backhome a{color:var(--rosa-deep)}

/* correlati */
.related{border-top:1px solid var(--nero);margin-top:48px;padding:36px 0}
.related .lab{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--grigio);text-align:center;margin-bottom:24px}
.related .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.related h4{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:22px;line-height:1.1;margin:6px 0 0}
.related h4 a:hover{color:var(--rosa-deep)}

/* footer */
.foot{background:var(--nero);color:var(--bianco);padding:54px 0 40px;text-align:center}
.foot .aq{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--rosa);margin-bottom:16px}
.foot .fb{font-family:"Cormorant Garamond",serif;font-size:42px;font-weight:600}
.foot small{display:block;margin-top:14px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#8b8b90}

@media(max-width:860px){
  .lineup{grid-template-columns:1fr}
  .feat{border-right:0;border-bottom:1px solid var(--linea);padding:32px 0}
  .stack{padding:0 0 18px}
  .trio{grid-template-columns:1fr;gap:26px}
  .related .grid3{grid-template-columns:1fr;gap:22px}
  .swatches{grid-template-columns:repeat(3,1fr)}
}

/* immagini reali */
.thumb{width:100%;object-fit:cover}
.hero-img{object-fit:cover}
a.thumb{display:block}

/* hero pezzo d'apertura: immagine duotone rosanero dietro al titolo */
.hero .hbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.26;filter:grayscale(1) contrast(1.08);mix-blend-mode:luminosity;z-index:0}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(251,189,228,.35),rgba(201,63,121,.25));mix-blend-mode:multiply;z-index:0}
.hero .ghost{z-index:1}
.hero .wrap{z-index:2}

/* leggibilità sottotitolo (dek) nella hero d'apertura */
.hero .hbg{opacity:.20}
.hero::after{background:linear-gradient(180deg,rgba(251,189,228,.44) 0%,rgba(251,189,228,.30) 45%,rgba(201,63,121,.30) 100%)}
.hero h2{text-shadow:0 1px 14px rgba(251,189,228,.65)}
.hero .dek{color:#0A0A0A;font-weight:500;text-shadow:0 1px 10px rgba(251,189,228,.95),0 0 2px rgba(251,189,228,.9)}
.hero .kicker,.hero .meta{color:#1a1013}

/* pagine sezione / archivio */
.archive-head{text-align:center;padding:44px 0 30px;border-bottom:1px solid var(--nero);margin-bottom:36px}
.archive-head .tag{justify-content:center}
.archive-head h1{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(40px,6vw,72px);line-height:1;margin:4px 0 10px}
.archive-head .count{font-family:"Jost";font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--grigio);margin:0}
.archive{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 30px;padding-bottom:20px}
.acard .thumb{aspect-ratio:3/2;margin-bottom:12px}
.acard h3{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:24px;line-height:1.08;margin:0 0 6px}
.acard h3 a:hover{color:var(--rosa-deep)}
.acard .firma{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--grigio)}
@media(max-width:860px){.archive{grid-template-columns:1fr 1fr;gap:28px 20px}}
@media(max-width:560px){.archive{grid-template-columns:1fr}}

/* ricerca in testata */
.topbar .search{margin:0}
.topbar .search input{font-family:"Jost";font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:0;border-bottom:1px solid var(--nero);background:transparent;padding:5px 2px;width:160px;color:var(--nero)}
.topbar .search input:focus{outline:0;border-color:var(--rosa-deep)}
.topbar .search input::placeholder{color:var(--grigio)}
/* pagina ricerca */
.search-hero{text-align:center;padding:44px 0 26px;border-bottom:1px solid var(--nero);margin-bottom:32px}
.search-hero h1{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:clamp(36px,5vw,60px);margin:0 0 16px}
.search-hero form{display:flex;gap:0;max-width:520px;margin:0 auto;border-bottom:2px solid var(--nero)}
.search-hero input{flex:1;border:0;background:transparent;font-family:"Cormorant Garamond",serif;font-size:24px;padding:10px 4px;color:var(--nero)}
.search-hero input:focus{outline:0}
.search-hero button{border:0;background:var(--nero);color:#fff;font-family:"Jost";font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:0 20px;cursor:pointer}
.search-hero button:hover{background:var(--rosa-deep)}
.search-meta{text-align:center;font-family:"Jost";font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--grigio);margin-bottom:30px}

/* classifica */
.classifica-page{overflow-x:auto}
.ctable{width:100%;border-collapse:collapse;font-family:"Jost";font-size:14px}
.ctable th{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--grigio);font-weight:600;padding:10px 8px;border-bottom:2px solid var(--nero);text-align:center}
.ctable th.tteam{text-align:left}
.ctable td{padding:9px 8px;border-bottom:1px solid var(--linea);text-align:center}
.ctable td.tteam{text-align:left;font-weight:500;display:flex;align-items:center;gap:9px}
.ctable td.crank{color:var(--grigio);width:34px}
.ctable td.cpt{font-weight:700}
.ctable .badge{width:22px;height:22px;object-fit:contain}
.ctable .tform{color:var(--grigio);font-size:11px;letter-spacing:.08em}
.ctable tr.is-pal{background:var(--rosa)}
.ctable tr.is-pal td{font-weight:700}
.ctable tr.z-promo td.crank{box-shadow:inset 3px 0 0 var(--verde)}
.ctable tr.z-po td.crank{box-shadow:inset 3px 0 0 var(--oro)}
.ctable tr.z-pout td.crank{box-shadow:inset 3px 0 0 var(--rosa-deep)}
.ctable tr.z-releg td.crank{box-shadow:inset 3px 0 0 #b3261e}
.legenda{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;margin:22px 0 6px;font-family:"Jost";font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--grigio)}
.legenda i{display:inline-block;width:20px;height:8px;margin-right:7px;vertical-align:middle}
.legenda i.z-promo{background:var(--verde)}.legenda i.z-po{background:var(--oro)}
.legenda i.z-pout{background:var(--rosa-deep)}.legenda i.z-releg{background:#b3261e}
.fonte{text-align:center;font-family:"Jost";font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--grigio);margin-top:20px}

/* firma autore, discreta */
.foot .credit{font-family:"Jost";font-size:10px;letter-spacing:.1em;color:#54545a;margin-top:14px}
.foot .credit a{color:#6f6f76;border-bottom:1px solid #34343a}
.foot .credit a:hover{color:var(--rosa)}

/* titolo hero: dimensione in base alla lunghezza */
.hero h2{line-height:.95}
.hero h2.ln-xl{font-size:clamp(52px,7vw,90px);max-width:15ch}
.hero h2.ln-l{font-size:clamp(42px,5.6vw,72px);max-width:18ch}
.hero h2.ln-m{font-size:clamp(34px,4.4vw,56px);max-width:22ch;line-height:.98}
.hero h2.ln-s{font-size:clamp(27px,3.4vw,44px);max-width:27ch;line-height:1.0}
/* titolo articolo: idem, più contenuto */
.article h1.ln-m{font-size:clamp(30px,4.2vw,52px)}
.article h1.ln-s{font-size:clamp(25px,3.4vw,42px);line-height:1.06}

/* MOBILE NAV — righe più compatte */
@media(max-width:640px){
  .nav .wrap{gap:8px 16px;padding:10px 14px;font-size:12px;letter-spacing:.07em}
  .nav a .sup{font-size:.5em}
  .masthead{padding:22px 0 12px}
  .masthead .tagline{letter-spacing:.18em}
  .topbar .wrap{height:auto;min-height:40px;padding:7px 14px;gap:10px}
  .topbar .search input{width:120px}
}
@media(max-width:420px){
  .nav .wrap{gap:6px 12px;font-size:11px}
}

/* didascalia-fonte sovraimpressa sull'immagine */
.hero-fig{position:relative;margin:8px 0 0;line-height:0;border-bottom:1px solid var(--linea)}
.hero-fig .hero-img{margin:0}
.hero-credit{position:absolute;right:0;bottom:0;background:rgba(10,10,10,.72);color:#f2ede7;font-family:"Jost",sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;line-height:1.4}

/* hero illustrazione: colore pieno + scrim leggibile (no duotone) */
.hero-art .hbg{opacity:1;filter:none;mix-blend-mode:normal}
.hero-art::after{background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.30) 55%,rgba(10,10,10,.74) 100%)}
.hero-art .kicker,.hero-art h2,.hero-art h2 a,.hero-art .dek,.hero-art .meta{color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.55)}
