/* ==========================================================================
   PREMIO — foglio della versione pubblicata, portato di peso.
   Le regole sono quelle del sito originale: non le ho riscritte, le ho
   estratte da global.css e racchiuse in .pagina-premio, perche' nel mio
   foglio esistono gia' classi con gli stessi nomi (.premi, .contatti,
   .steps, .price) e si sarebbero scontrate.
   Le variabili prendono i valori della modalita' scura, che e' quella in
   cui la pagina si vede online.
   ========================================================================== */
.pagina-premio{
  --paper:#0A1622; --surface:#10263B; --ink:#EAF1F8; --ink-soft:#A6BACE;
  --blue:#4FA6E4; --blue-deep:#8CC7F0; --imprint:#F0842A; --imprint-ink:#F0842A;
  --rule:#23394E; --rule-soft:#1A2E41; --stamp-stroke:rgba(240,132,42,0.9);
  --cover-bg:#081522; --cover-bg-2:#0C2032; --cover-blue:#4FA6E4;
  --cover-ink:#EAF1F8; --cover-soft:#9FB4C8; --cover-rule:rgba(255,255,255,0.12);
  --font-display:'Anton','Arial Narrow',Helvetica,sans-serif;
  --font-body:'Gilroy',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-serif:'Droid Serif',Georgia,'Times New Roman',serif;
  --dur-rapida:150ms; --ease-out:cubic-bezier(0.22,0.61,0.36,1);
  --maxw:1120px;
}
.pagina-premio .wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(18px,5vw,24px)}
.pagina-premio section{padding-block:clamp(56px,7vw,96px)}
.pagina-premio h2,.pagina-premio h3,.pagina-premio h4{margin:0}
.pagina-premio a{color:inherit}
.pagina-premio .btn{border-radius:3px}
/* Tre sezioni (sezioni-sec, quote-sec, partecipa-sec) non dichiarano fondo
   nell'originale: prendono quello della pagina. Glielo do qui, se no
   cadrebbero sul nero della proposta, che e' piu' cupo. */
.pagina-premio{background:var(--paper);color:var(--ink)}

.pagina-premio .wrap { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 clamp(18px, 5vw, 24px); }
.pagina-premio .btn { display: inline-flex; align-items: center; gap: 8px;
    font-weight: 700; font-size: 14px; letter-spacing: 0.04em; text-transform: uppercase;
    padding: 11px 20px; border-radius: 2px; border: 1.5px solid transparent;
    cursor: pointer;
    transition: transform var(--dur-rapida) var(--ease-out),
                background var(--dur-rapida) var(--ease-out),
                color var(--dur-rapida) var(--ease-out),
                border-color var(--dur-rapida) var(--ease-out); }
.pagina-premio .btn-primary { background: var(--imprint); color: #fff; }
.pagina-premio .btn-primary:hover { background: var(--imprint-ink); text-decoration: none; transform: translateY(-2px); }
.pagina-premio nav.top .btn { padding: 8px 15px; }
.pagina-premio nav.top .btn-primary { color:#fff; }
.pagina-premio .hero .wrap { padding-top: clamp(18px, 6vw, 64px); padding-bottom: 0; }
.pagina-premio .hero-dates .d .k { font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--cover-blue); font-weight: 700; }
.pagina-premio .sec-eyebrow { font-size: 15px; letter-spacing: 0.16em; text-transform: uppercase;
    font-weight: 700; color: var(--imprint-ink); margin: 0 0 18px; }
.pagina-premio h2.sec-title { font-family: var(--font-display); font-stretch: condensed; text-transform: uppercase;
    font-weight: 400; line-height: 0.95; letter-spacing: 0.005em;
    font-size: clamp(34px, 5.4vw, 64px); margin: 0; color: var(--ink);
    text-wrap: balance; }
.pagina-premio .sec-intro { max-width: 62ch; color: var(--ink-soft); font-size: 18px; margin: 22px 0 0; }
.pagina-premio .manifesto { background: var(--surface); }
.pagina-premio .quote-block { display: grid; grid-template-columns: 64px 1fr; gap: 8px 26px; align-items: start;
    max-width: 900px; }
.pagina-premio .quote-mark { font-family: var(--font-serif); font-size: 90px; line-height: 0.7; color: var(--imprint);
    opacity: 0.85; }
.pagina-premio blockquote.manifesto-q { margin: 0; font-family: var(--font-serif); font-size: clamp(20px, 2.7vw, 29px);
    line-height: 1.45; color: var(--ink); font-style: italic; }
.pagina-premio blockquote.manifesto-q .plain { font-style: normal; }
.pagina-premio .manifesto-lead { margin: 26px 0 0 90px; max-width: 62ch; color: var(--ink-soft); font-size: 17px; line-height: 1.65; }
.pagina-premio .manifesto-lead b { color: var(--ink); }
.pagina-premio .finalita { margin: 54px 0 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; background: var(--rule-soft); border: 1px solid var(--rule-soft); }
.pagina-premio .finalita li { list-style: none; background: var(--surface); padding: 22px 24px; }
.pagina-premio .finalita li.wide { grid-column: 1 / -1; }
.pagina-premio .finalita li .verb { font-family: var(--font-display); font-stretch: condensed; text-transform: uppercase; font-weight: 400; color: var(--imprint-ink); font-size: 20px; letter-spacing: 0.02em; }
.pagina-premio .finalita li p { margin: 6px 0 0; color: var(--ink-soft); font-size: 15.5px; line-height: 1.55; }
@media (max-width: 680px) { .pagina-premio .finalita { grid-template-columns: 1fr; } }
@media (max-width: 680px) { .pagina-premio .quote-block { grid-template-columns: 1fr; } }
@media (max-width: 680px) { .pagina-premio .quote-mark { display:none; } }
@media (max-width: 680px) { .pagina-premio .manifesto-lead { margin-left: 0; } }
.pagina-premio .sezioni-head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 20px; }
.pagina-premio .count-badge { font-family: var(--font-display); font-stretch: condensed; font-weight: 400; text-transform: uppercase; color: var(--ink-soft); font-size: 15px; letter-spacing: 0.12em; }
.pagina-premio .count-badge b { color: var(--imprint-ink); font-size: 34px; display:block; line-height:1; }
.pagina-premio .sezioni { margin-top: 48px; display: flex; flex-direction: column; gap: 0; }
.pagina-premio .sez { display: grid; grid-template-columns: 150px 1fr; gap: 30px;
    padding: 34px 0; border-top: 1px solid var(--rule); }
.pagina-premio .sez:last-child { border-bottom: 1px solid var(--rule); }
.pagina-premio .sez-letter { font-family: var(--font-display); font-stretch: condensed; font-weight: 400;
    font-size: 118px; line-height: 0.8; letter-spacing: -0.02em;
    color: transparent; -webkit-text-stroke: 2px var(--stamp-stroke);
    text-stroke: 2px var(--stamp-stroke);
    transition: color var(--dur-rapida) var(--ease-out),
                -webkit-text-stroke-color var(--dur-rapida) var(--ease-out); }
.pagina-premio .sez:hover .sez-letter { color: var(--imprint); }
.pagina-premio .sez-letter .lbl { display:block; font-size: 11px; letter-spacing: 0.24em; -webkit-text-stroke: 0; color: var(--ink-soft); font-weight: 700; margin-top: 10px; }
.pagina-premio .sez-name { font-family: var(--font-display); font-stretch: condensed; text-transform: uppercase; font-weight: 400; font-size: clamp(21px, 3vw, 29px); line-height: 1.02; margin: 4px 0 0; color: var(--ink); }
.pagina-premio .sez-motto { font-family: var(--font-serif); font-style: italic; color: var(--blue-deep); font-size: 17.5px; margin: 12px 0 0; line-height: 1.4; }
.pagina-premio .sez-desc { color: var(--ink-soft); margin: 12px 0 0; font-size: 15.5px; max-width: 68ch; }
.pagina-premio .sez-meta { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; align-items: center; }
.pagina-premio .tag { font-size: 12px; font-weight: 700; letter-spacing: 0.04em;
    padding: 5px 11px; border: 1px solid var(--rule); border-radius: 2px; color: var(--ink-soft);
    background: var(--surface); }
.pagina-premio .tag.format { border-color: color-mix(in srgb, var(--blue) 40%, var(--rule)); color: var(--blue-deep); }
.pagina-premio .subcats { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; }
.pagina-premio .subcat { font-size: 12px; color: var(--ink-soft); padding: 4px 10px; background: var(--rule-soft); border-radius: 2px; }
.pagina-premio .subcat b { color: var(--imprint-ink); }
@media (max-width: 640px) { .pagina-premio .sez { grid-template-columns: 1fr; gap: 6px; } }
@media (max-width: 640px) { .pagina-premio .sez-letter { font-size: 78px; display:flex; align-items:baseline; gap:14px; } }
@media (max-width: 640px) { .pagina-premio .sez-letter .lbl { margin-top: 0; } }
.pagina-premio .sez-ex { margin: 14px 0 0; font-size: 15px; color: var(--ink); line-height: 1.5; }
.pagina-premio .sez-ex .ex-k { font-family: var(--font-display); text-transform: uppercase; font-weight: 700; letter-spacing: 0.08em; font-size: 13px; color: var(--imprint-ink); margin-right: 8px; }
.pagina-premio .biz-callout { margin: 44px 0 4px; display: grid; grid-template-columns: 6px 1fr; gap: 0;
    background: var(--surface); border: 1px solid var(--rule); border-radius: 3px; overflow: hidden; }
.pagina-premio .biz-callout .biz-bar { background: var(--imprint); }
.pagina-premio .biz-callout .biz-body { padding: 24px 28px; }
.pagina-premio .biz-callout h3 { margin: 0; font-family: var(--font-display); text-transform: uppercase; font-weight: 700; font-size: clamp(18px, 2.4vw, 23px); line-height: 1.12; color: var(--ink); letter-spacing: 0.01em; text-wrap: balance; }
.pagina-premio .biz-callout p { margin: 12px 0 0; color: var(--ink-soft); font-size: 15.5px; max-width: 76ch; }
.pagina-premio .biz-callout p b { color: var(--imprint-ink); }
.pagina-premio .perche-sec { background: var(--surface); }
.pagina-premio .perche-grid { margin-top: 48px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--rule); border: 1px solid var(--rule); }
.pagina-premio .perche-card { background: var(--surface); padding: 30px 28px; }
.pagina-premio .perche-card h3::before { content: ""; display: block; width: 30px; height: 3px; background: var(--imprint); margin-bottom: 16px; }
.pagina-premio .perche-card h3 { margin: 0; font-family: var(--font-display); text-transform: uppercase; font-weight: 700; font-size: 21px; letter-spacing: 0.01em; color: var(--ink); line-height: 1.05; }
.pagina-premio .perche-card p { margin: 12px 0 0; color: var(--ink-soft); font-size: 15px; line-height: 1.55; }
@media (max-width: 820px) { .pagina-premio .perche-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .pagina-premio .perche-grid { grid-template-columns: 1fr; } }
.pagina-premio .scadenze { background: var(--surface); }
.pagina-premio .timeline { margin-top: 48px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.pagina-premio .tl { position: relative; padding: 30px 22px 8px; border-top: 3px solid var(--rule); }
.pagina-premio .tl.key { border-top-color: var(--imprint); }
.pagina-premio .tl::before { content: ""; position: absolute; top: -8px; left: 0; width: 13px; height: 13px;
    border-radius: 50%; background: var(--surface); border: 3px solid var(--rule); }
.pagina-premio .tl.key::before { border-color: var(--imprint); background: var(--imprint); }
.pagina-premio .tl .phase { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; color: var(--ink-soft); }
.pagina-premio .tl .date { font-family: var(--font-display); font-stretch: condensed; text-transform: uppercase; font-weight: 400; font-size: 26px; margin-top: 8px; color: var(--ink); }
.pagina-premio .tl .yr { color: var(--imprint-ink); }
@media (max-width: 720px) { .pagina-premio .timeline { grid-template-columns: 1fr 1fr; } }
@media (max-width: 720px) { .pagina-premio .tl { border-top-width: 3px; } }
.pagina-premio .quote-grid { margin-top: 48px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pagina-premio .price { background: var(--surface); border: 1px solid var(--rule); border-radius: 3px;
    padding: 28px 26px; display: flex; flex-direction: column; gap: 6px; }
.pagina-premio .price.featured { border-color: var(--imprint); box-shadow: 0 0 0 1px var(--imprint); }
.pagina-premio .price .cat { font-weight: 700; font-size: 15px; color: var(--ink); letter-spacing: 0.02em; }
.pagina-premio .price .amount { font-family: var(--font-display); font-stretch: condensed; font-weight: 400; font-size: 52px; line-height: 1; color: var(--imprint-ink); margin-top: 8px; }
.pagina-premio .price .per { font-size: 13.5px; color: var(--ink-soft); }
.pagina-premio .quote-note { margin-top: 26px; color: var(--ink-soft); font-size: 15px; max-width: 70ch; }
.pagina-premio .quote-note b { color: var(--ink); }
@media (max-width: 720px) { .pagina-premio .quote-grid { grid-template-columns: 1fr; } }
.pagina-premio .premi { background:
      radial-gradient(120% 90% at 90% 0%, rgba(79,166,228,0.14), transparent 55%),
      linear-gradient(180deg, var(--cover-bg-2), var(--cover-bg));
    color: var(--cover-ink); border-bottom: 1px solid var(--cover-rule); }
.pagina-premio .premi h2.sec-title, .pagina-premio .premi .sec-eyebrow { color: var(--cover-ink); }
.pagina-premio .premi .sec-eyebrow { color: var(--imprint); }
.pagina-premio .premi .criterio { color: var(--cover-soft); max-width: 66ch; margin: 22px 0 0; }
.pagina-premio .premi .criterio b { color: var(--cover-ink); }
.pagina-premio .premi-grid { margin-top: 50px; display: grid; grid-template-columns: 1.15fr 1fr; gap: 22px; }
.pagina-premio .prize-card { border: 1px solid var(--cover-rule); border-radius: 3px; padding: 30px; background: rgba(255,255,255,0.03); }
.pagina-premio .prize-card.assoluto { border-color: var(--imprint); background: rgba(240,132,42,0.07); }
.pagina-premio .prize-card.organizzazioni { grid-column: 1 / -1; }
.pagina-premio .prize-card .k { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; color: var(--imprint); }
.pagina-premio .prize-card h3 { font-family: var(--font-display); font-stretch: condensed; text-transform: uppercase; font-weight: 400; font-size: clamp(24px, 3.4vw, 34px); margin: 12px 0 0; line-height: 1; color: var(--cover-ink); }
.pagina-premio .prize-card p { color: var(--cover-soft); margin: 14px 0 0; font-size: 15.5px; }
.pagina-premio .prize-card .serifline { font-family: var(--font-serif); font-style: italic; color: var(--cover-ink); font-size: 18px; margin-top: 16px; }
.pagina-premio .prize-list { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.pagina-premio .prize-list li { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: baseline; }
.pagina-premio .prize-list .rank { font-family: var(--font-display); font-stretch: condensed; font-weight: 400; color: var(--imprint); font-size: 20px; min-width: 38px; }
.pagina-premio .prize-list .txt { color: var(--cover-soft); font-size: 15px; }
.pagina-premio .prize-list .txt b { color: var(--cover-ink); }
@media (max-width: 760px) { .pagina-premio .premi-grid { grid-template-columns: 1fr; } }
.pagina-premio .steps { margin-top: 48px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pagina-premio .step { border-top: 2px solid var(--imprint); padding: 20px 0 0; }
.pagina-premio .step .n { font-family: var(--font-display); font-stretch: condensed; font-weight: 400; font-size: 15px; letter-spacing: 0.12em; color: var(--imprint-ink); text-transform: uppercase; }
.pagina-premio .step h3 { margin: 8px 0 0; font-size: 17px; color: var(--ink); font-weight: 700; }
.pagina-premio .step p { margin: 8px 0 0; color: var(--ink-soft); font-size: 15px; }
.pagina-premio .step code { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 12.5px; background: var(--rule-soft); padding: 2px 6px; border-radius: 3px; color: var(--imprint-ink); }
.pagina-premio .cta-panel { margin-top: 54px; background: var(--surface); border: 1px solid var(--rule); border-radius: 4px;
    padding: 40px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.pagina-premio .cta-panel .t { font-family: var(--font-display); font-stretch: condensed; text-transform: uppercase; font-weight: 400; font-size: clamp(24px, 3.4vw, 34px); color: var(--ink); line-height: 1; max-width: 18ch; }
.pagina-premio .cta-panel .actions { display: flex; flex-wrap: wrap; gap: 14px; }
@media (max-width: 720px) { .pagina-premio .steps { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .pagina-premio .cta-panel { padding: 28px; } }
.pagina-premio .contatti { background: var(--surface); }
.pagina-premio .contatti-grid { margin-top: 40px; display: grid; grid-template-columns: 1.2fr 1fr; gap: 30px; }
.pagina-premio .contatti-grid h3 { font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--imprint-ink); margin: 0 0 12px; }
.pagina-premio .contatti-grid p { margin: 0; color: var(--ink-soft); line-height: 1.7; }
.pagina-premio .contatti-grid b { color: var(--ink); }
@media (max-width: 680px) { .pagina-premio .contatti-grid { grid-template-columns: 1fr; } }
@media (min-width: 861px) { .pagina-premio .sec-intro { font-size: 19px; } }
@media (min-width: 861px) { .pagina-premio .finalita li p { font-size: 16.5px; } }
@media (min-width: 861px) { .pagina-premio .sez-desc { font-size: 16.5px; } }
@media (min-width: 861px) { .pagina-premio .sez-ex { font-size: 16px; } }
@media (min-width: 861px) { .pagina-premio .biz-callout p { font-size: 16.5px; } }
@media (min-width: 861px) { .pagina-premio .perche-card p { font-size: 16px; } }
@media (min-width: 861px) { .pagina-premio .quote-note { font-size: 16px; } }
@media (min-width: 861px) { .pagina-premio .premi .criterio { font-size: 18px; } }
@media (min-width: 861px) { .pagina-premio .prize-card p { font-size: 16.5px; } }
@media (min-width: 861px) { .pagina-premio .prize-list .txt { font-size: 16px; } }
@media (min-width: 861px) { .pagina-premio .step h3 { font-size: 18px; } }
@media (min-width: 861px) { .pagina-premio .step p { font-size: 16px; } }
.pagina-premio .iscr-submit .btn { font-size: 16px; padding: 17px 34px; }
@media (prefers-reduced-motion: reduce) { .pagina-premio .btn:hover, .pagina-premio .btn-primary:hover, .pagina-premio .svc-card:hover, .pagina-premio .ev-piu summary:hover { transform: none; } }
.pagina-premio .prog-form .iscr-submit .btn { font-size: 15px; padding: 15px 30px; }
.pagina-premio .btn-esplora { border-color: var(--blue);
  color: var(--blue-deep);
  background: transparent; }
.pagina-premio .btn-esplora:hover { background: var(--blue);
  border-color: var(--blue);
  color: #fff;
  text-decoration: none;
  transform: translateY(-2px); }
.pagina-premio .btn-primary { background: var(--imprint-ink); }
.pagina-premio .btn-primary:hover { background: var(--imprint); }
.pagina-premio .ar-body .btn { margin-top: clamp(28px, 3vw, 38px); }
.pagina-premio .aim h3, .pagina-premio .biz-callout h3, .pagina-premio .perche-card h3, .pagina-premio .prize-card h3, .pagina-premio .svc-card h3, .pagina-premio .fw-card h3, .pagina-premio .price .amount, .pagina-premio .cta-panel .t, .pagina-premio .finalita li .verb, .pagina-premio .hero-dates .d .v, .pagina-premio .prog-g, .pagina-premio .prog-m, .pagina-premio .prog-a, .pagina-premio .prog-t, .pagina-premio .tab-btn .tab-name { font-family: var(--font-body);
  font-weight: 800;
  letter-spacing: -0.005em; }
.pagina-premio .biz-callout h3 { font-size: clamp(17px, 2.2vw, 21px); line-height: 1.2; }
.pagina-premio .perche-card h3 { font-size: 19px; line-height: 1.2; }
.pagina-premio .prize-card h3 { font-size: clamp(22px, 3vw, 29px); line-height: 1.12; }
.pagina-premio .cta-panel .t { font-size: clamp(22px, 3vw, 29px); line-height: 1.12; }
.pagina-premio .price .amount { font-size: 44px; line-height: 1; letter-spacing: -0.02em; }
.pagina-premio .finalita li .verb { font-size: 18px; }
.pagina-premio .svc-num, .pagina-premio .prize-list .rank, .pagina-premio .ev-anno-t, .pagina-premio .ev-titolo, .pagina-premio .ev-form-ok-t { font-family: var(--font-body);
  font-weight: 800;
  letter-spacing: -0.005em; }
.pagina-premio .sez-name { font-family: var(--font-body);
  font-stretch: normal;
  font-weight: 800;
  letter-spacing: -0.005em;
  font-size: clamp(20px, 2.5vw, 25px);
  line-height: 1.16; }
.pagina-premio .count-badge, .pagina-premio .sez-ex .ex-k, .pagina-premio .step .n, .pagina-premio .pillar .p-num, .pagina-premio .sez-letter .lbl { font-family: var(--font-body);
  font-stretch: normal;
  font-weight: 800;
  letter-spacing: 0.08em; }
.pagina-premio .sez-letter .lbl, .pagina-premio .ev-badge, .pagina-premio .hero-dates .d .k, .pagina-premio .prog-meta dt { font-size: 12.5px; }
.pagina-premio .sf-col h4, .pagina-premio .tag, .pagina-premio .subcat, .pagina-premio .tl .phase, .pagina-premio .prize-card .k { font-size: 12.5px; }
.pagina-premio .ms-in .btn { margin-top: 30px; }
