/* ============================================================
   ERRATICO GRAVEL — sito · styles
   Palette: rust #E26139 · cream #FFF5E1 · forest #394338 · graphite #30312E
   Font: Great Forest (display) · Inter (testo) · JetBrains Mono (label)
   ============================================================ */

@font-face{font-family:'Great Forest';src:url('../assets/fonts/greatforest.woff') format('woff');font-weight:400;font-display:swap;}
@font-face{font-family:'Inter';src:url('../assets/fonts/inter-400.woff') format('woff');font-weight:400;font-display:swap;}
@font-face{font-family:'Inter';src:url('../assets/fonts/inter-500.woff') format('woff');font-weight:500;font-display:swap;}
@font-face{font-family:'Inter';src:url('../assets/fonts/inter-600.woff') format('woff');font-weight:600;font-display:swap;}
@font-face{font-family:'Inter';src:url('../assets/fonts/inter-700.woff') format('woff');font-weight:700;font-display:swap;}
@font-face{font-family:'JetBrains Mono';src:url('../assets/fonts/jbmono.woff') format('woff');font-weight:400;font-display:swap;}

:root{
  --rust:#E26139; --cream:#FFF5E1; --forest:#394338; --graphite:#30312E;
  --cream-2:#F6E9CF;
  --ink:#30312E; --muted:#7d766a; --line:#e7dcc4;
  --on-dark:#FFF5E1; --on-dark-soft:rgba(255,245,225,.62); --line-dark:rgba(255,245,225,.16);
  --unpicked:#C8B89E; --card:#FFFDF6;
  --wrap:1320px; --pad:clamp(20px,5vw,64px);
  --r:14px; --ease:cubic-bezier(.22,.61,.36,1);
  --gf:'Great Forest',Georgia,serif; --mono:'JetBrains Mono',ui-monospace,monospace;
  --eur:'JetBrains Mono',ui-monospace,monospace;   /* font del simbolo € accanto ai prezzi (cambia qui) */
}

/* simbolo € accanto ai prezzi: usa il font del menu invece del serif di ripiego del Great Forest */
.eur,.ci__eur small{font-family:var(--eur);font-weight:600;}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}

/* helpers */
.wrap{max-width:100%;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
.gf{font-family:var(--gf);font-weight:400!important;line-height:1.08;letter-spacing:-.015em;}   /* fix: Great Forest mai in bold, letterspacing ridotto */
.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.22em;}
.kick{font-family:var(--mono);text-transform:uppercase;letter-spacing:.28em;font-size:clamp(11px,1vw,13px);color:var(--rust);}
.rustdot{color:var(--rust);}
.section{padding:clamp(64px,9vw,120px) 0;position:relative;}
h1,h2,h3{font-weight:400;}
h2.title{font-family:var(--gf);font-weight:400!important;font-size:clamp(34px,5.2vw,65px);line-height:1.1;letter-spacing:-.075em;}

/* texture overlays di sezione */
.tex-curve::before,.tex-dirt::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-repeat:no-repeat;background-size:cover;background-position:center;}
.tex-curve::before{background-image:url('../assets/tex/curve.png');opacity:.5;}
.tex-dirt::before{background-image:url('../assets/tex/dirt.png');opacity:.10;mix-blend-mode:multiply;}
.section>.wrap{position:relative;z-index:1;}

/* buttons + pills */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--mono);
  text-transform:uppercase;letter-spacing:.16em;font-size:13px;padding:15px 26px;border-radius:999px;
  border:2px solid transparent;cursor:pointer;transition:transform .25s var(--ease),background .25s,color .25s;background:none;}
.btn:hover{transform:translateY(-2px);}
.btn--rust{background:var(--rust);color:var(--cream);border-color:var(--rust);}
.btn--rust:hover{background:#d4531f;}
.btn--ghost{color:var(--cream);border-color:rgba(255,245,225,.5);}
.btn--ghost:hover{border-color:var(--cream);}
.btn--cream{background:var(--cream);color:var(--graphite);border-color:var(--cream);}
.pill{display:inline-flex;align-items:center;font-family:var(--mono);text-transform:uppercase;
  letter-spacing:.14em;font-size:12px;line-height:1;border:2px solid;border-radius:999px;padding:9px 16px;white-space:nowrap;}
.pill--rust{background:var(--rust);border-color:var(--rust);color:var(--cream);}
.pill--outline{border-color:var(--line);color:var(--muted);}
.pill--onphoto{border-color:rgba(255,245,225,.6);color:var(--cream);}
.pill--rustline{border-color:var(--rust);color:var(--cream);}   /* contorno arancione */

/* ================= TOPBAR ================= */
.topbar{background:var(--graphite);color:var(--on-dark-soft);font-family:var(--mono);
  text-transform:uppercase;letter-spacing:.22em;font-size:11px;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:9px;padding-bottom:9px;}
.topbar .hl{color:var(--rust);}

/* ================= NAV ================= */
.nav{position:sticky;top:0;z-index:50;background:#F9EDD9;border-bottom:1px solid var(--line);}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:16px;gap:20px;}
.nav .brand{display:flex;align-items:center;gap:12px;}
.nav .brand img{height:52px;width:auto;}   /* logo header più grande */
.nav .menu{display:flex;align-items:center;gap:clamp(18px,2.4vw,36px);list-style:none;}
.nav .menu a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:12.5px;color:var(--graphite);padding:6px 0;position:relative;}
.nav .menu a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--rust);transition:width .3s var(--ease);}
.nav .menu a:not(.nav-cta):hover::after{width:100%;}
.nav-cta{background:var(--rust);color:var(--cream)!important;padding:11px 20px!important;border-radius:999px;}
.nav-cta::after{display:none;}
.nav .burger{display:none;background:none;border:0;cursor:pointer;padding:8px;}
.nav .burger span{display:block;width:26px;height:2px;background:var(--graphite);margin:5px 0;transition:.3s;}

/* ================= HERO ================= */
.hero{position:relative;min-height:min(88vh,880px);display:flex;align-items:flex-end;overflow:hidden;}
.hero__bg{position:absolute;inset:0;z-index:0;}
.hero__bg img{width:100%;height:100%;object-fit:cover;}
.hero__ov{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(30,31,28,.55),rgba(30,31,28,.05) 30%,rgba(30,31,28,.35) 62%,rgba(30,31,28,.9)),
             linear-gradient(90deg,rgba(30,31,28,.55),rgba(30,31,28,0) 55%);}
.hero__toplink{display:none;}   /* solo mobile */
.hero .wrap{position:relative;z-index:2;width:100%;padding-bottom:clamp(44px,6vw,76px);padding-top:80px;}
.hero__kick{color:var(--cream);opacity:.85;margin-bottom:18px;}
.hero h1{font-family:var(--gf);font-weight:400!important;color:var(--cream);font-size:clamp(56px,10vw,132px);line-height:1.06;letter-spacing:-.025em;}
.hero p{color:var(--cream);opacity:.92;font-weight:400;font-size:clamp(16px,2vw,22px);line-height:1.4;max-width:715px;margin-top:22px;}
.hero__row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:30px;}
.hero__row .spacer{flex:1;}
.hero__pills{display:flex;gap:10px;flex-wrap:wrap;}
.hero__pills .pill{font-size:13px;padding:15px 26px;}   /* stessa dimensione del bottone "Percorsi" */

/* ================= MANIFESTO ================= */
.manifesto .grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,6vw,80px);align-items:center;} /* testo dx centrato vert. */
.manifesto h2{font-family:var(--gf);font-weight:400!important;font-size:clamp(34px,5.2vw,65px);line-height:1.08;letter-spacing:-.075em;}
.manifesto .body p{font-size:clamp(16px,1.4vw,20px);line-height:1.65;color:var(--muted);margin-bottom:20px;}
.manifesto .body p:first-child{color:var(--ink);font-weight:500;font-size:clamp(17px,1.5vw,22px);}

/* ================= CAROSELLO (generico) ================= */
.rail{display:flex;gap:26px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;cursor:grab;padding-bottom:4px;scroll-snap-type:none;-webkit-overflow-scrolling:touch;}
.rail::-webkit-scrollbar{display:none;}
.rail.dragging{cursor:grabbing;scroll-behavior:auto;}
.rail>*{flex:0 0 auto;}
.rail img{pointer-events:none;-webkit-user-drag:none;}
.hint{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:var(--rust);display:flex;align-items:center;gap:10px;}
.hint--below{display:none;justify-content:center;margin-top:24px;}
.railhead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:38px;}
.arrows{display:flex;gap:10px;}
.arrows button{width:52px;height:52px;border-radius:999px;border:2px solid var(--rust);background:none;color:var(--rust);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.25s var(--ease);}
.arrows button:hover{background:var(--rust);color:var(--cream);}

/* ================= PERCORSI ================= */
.percorsi{background:var(--graphite);color:var(--on-dark);}
.percorsi h2{color:var(--cream);}
.p-card{position:relative;width:86%;background:var(--forest);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease);}
.p-card:hover{transform:translateY(-4px);}
.p-card__cover{position:absolute;inset:0;z-index:3;}   /* tutta la card cliccabile */
.p-card:hover .p-card__go{gap:14px;}
.p-card__ph{aspect-ratio:16/10;overflow:hidden;}
.p-card__ph img{width:100%;height:100%;object-fit:cover;}
.p-card__bd{position:relative;background:var(--forest);padding:26px 28px 30px;}
.p-card__bd::before{content:"";position:absolute;inset:0;background:url('../assets/tex/dirt.png') center/cover;opacity:.14;mix-blend-mode:multiply;pointer-events:none;}
.p-card__bd>*{position:relative;z-index:1;}
.p-card__nm{font-family:var(--gf);font-weight:400!important;font-size:clamp(34px,3.2vw,50px);color:var(--cream);line-height:1;}
.p-card__pills{display:flex;gap:10px;margin:16px 0 14px;}
.p-card__pills .pill{border-color:var(--rust);color:var(--cream);}   /* contorno arancione */
.p-card__ds{color:var(--on-dark-soft);font-size:15px;line-height:1.5;min-height:2.4em;}
.p-card__go{margin-top:20px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:12.5px;color:var(--rust);display:inline-flex;gap:8px;align-items:center;transition:gap .25s var(--ease);pointer-events:none;}
.percorsi .rail{gap:15px;}   /* mobile gap 15px */

/* ================= TERRITORIO ================= */
.territorio{display:grid;grid-template-columns:1fr 1fr;min-height:min(80vh,720px);}
.territorio__im{overflow:hidden;}
.territorio__im img{width:100%;height:100%;object-fit:cover;display:block;}
.territorio__tx{background:var(--cream-2);display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,7vw,110px) clamp(28px,7vw,96px);}
.territorio__tx h2{font-family:var(--gf);font-weight:400!important;font-size:clamp(32px,4.8vw,65px);line-height:1.08;letter-spacing:-.075em;margin:16px 0 24px;}
.territorio__tx p{font-size:clamp(16px,1.4vw,19px);line-height:1.65;color:var(--muted);max-width:460px;}

/* ================= COME FUNZIONA ================= */
.giornata{background:var(--forest);color:var(--on-dark);}
.giornata h2{color:var(--cream);}
.giornata .head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:56px;}
.giornata__mcta{display:none;margin-top:44px;width:100%;}   /* solo mobile, dopo gli step */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;overflow:visible;}   /* dots non tagliati */
.step{position:relative;padding-top:26px;border-top:2px solid var(--line-dark);}
.step::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--rust);}
.step__n{font-family:var(--mono);font-size:12px;letter-spacing:.22em;color:var(--rust);}
.step__t{font-family:var(--gf);font-weight:400!important;font-size:clamp(30px,2.6vw,40px);color:var(--cream);margin:14px 0 10px;}
.step p{color:var(--on-dark-soft);font-size:15px;line-height:1.5;}

/* ================= ARCHIVIO (fascia a tutta immagine) ================= */
.archivio-band{position:relative;height:min(82vh,760px);overflow:hidden;display:flex;align-items:flex-end;}
.archivio-band .ab__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.archivio-band .ab__ov{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(30,31,28,.15),rgba(30,31,28,0) 34%,rgba(30,31,28,.55) 100%),
             linear-gradient(90deg,rgba(30,31,28,.55),rgba(30,31,28,0) 55%);}
.archivio-band .ab__cover-link{position:absolute;inset:0;z-index:2;}   /* tutta la fascia cliccabile */
.archivio-band .ab__in{position:relative;z-index:3;width:95%;max-width:95%;margin:0 auto;display:flex;justify-content:space-between;
  align-items:flex-end;gap:24px;padding-bottom:clamp(40px,6vw,70px);pointer-events:none;}
.archivio-band .ab__in a{pointer-events:auto;}
.ab__title{color:var(--cream);font-size:clamp(34px,5.2vw,65px);line-height:1.08;letter-spacing:-.075em;}
.ab__link{color:var(--cream);font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;font-size:13px;
  display:inline-flex;align-items:center;gap:10px;white-space:nowrap;transition:gap .25s var(--ease);}
.ab__link:hover{gap:16px;}
@media (max-width:640px){
  .archivio-band{height:min(78vh,620px);}
  .archivio-band .ab__in{flex-direction:column;align-items:flex-start;gap:18px;}
}

/* ================= ISCRIZIONE ================= */
.iscrizione{background:var(--rust);color:var(--cream);text-align:center;}
.iscrizione h2{font-family:var(--gf);font-weight:400!important;color:var(--cream);font-size:clamp(40px,7vw,65px);line-height:1.06;letter-spacing:-.075em;}
.iscrizione .sub{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;font-size:clamp(12px,1.4vw,16px);color:rgba(255,245,225,.85);margin:22px 0 36px;}
.iscrizione .acts{display:flex;gap:18px;justify-content:center;align-items:center;flex-wrap:wrap;}
.iscrizione .acts .mono{font-size:12px;color:rgba(255,245,225,.85);}

/* ================= FOOTER ================= */
.footer{background:var(--graphite);color:var(--on-dark-soft);padding:64px 0 38px;}
.footer .top{display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--line-dark);padding-bottom:32px;flex-wrap:wrap;}
.footer .brand img{height:60px;}
.footer .menu{display:flex;gap:26px;list-style:none;flex-wrap:wrap;}
.footer .menu a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:12.5px;color:var(--on-dark-soft);}
.footer .menu a:hover{color:var(--cream);}
.footer .bot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;flex-wrap:wrap;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:rgba(255,245,225,.4);}
.footer .bot a{color:var(--on-dark-soft);}

/* ================= ANIMAZIONI ================= */
@keyframes fadeUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
.hero .hero__kick,.hero h1,.hero p,.hero__row{opacity:0;animation:fadeUp .9s var(--ease) forwards;}
.hero h1{animation-delay:.08s;} .hero p{animation-delay:.20s;} .hero__row{animation-delay:.32s;}
.rhero .bc,.rhero h1,.rhero .btn{opacity:0;animation:fadeUp .9s var(--ease) forwards;}
.rhero h1{animation-delay:.08s;} .rhero .btn{animation-delay:.22s;}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.in{opacity:1;transform:none;}
/* stagger per gruppi */
.rail .p-card.reveal:nth-child(2),.steps .step.reveal:nth-child(2){transition-delay:.08s;}
.rail .p-card.reveal:nth-child(3),.steps .step.reveal:nth-child(3){transition-delay:.16s;}
.rail .p-card.reveal:nth-child(4),.steps .step.reveal:nth-child(4){transition-delay:.24s;}
.rail .a-card.reveal:nth-child(n){transition-delay:calc(.05s * var(--i,0));}
@media (prefers-reduced-motion:reduce){
  .reveal,.hero .hero__kick,.hero h1,.hero p,.hero__row,.rhero .bc,.rhero h1,.rhero .btn{opacity:1!important;transform:none!important;animation:none!important;}
}

/* ================= RESPONSIVE ================= */

/* PERCORSI: 3 in fila da 1200px in su; sotto diventa carosello */
@media (min-width:721px){
  .percorsi .rail{gap:26px;}
  .p-card{width:46%;}                       /* tablet: 2 + peek */
}
@media (min-width:1200px){
  .p-card{flex:0 0 calc((100% - 52px)/3);width:auto;}  /* 3 in fila */
  .percorsi .rail{overflow-x:visible;cursor:default;}  /* niente scroll: stanno tutti */
  .percorsi .railhead .hint{display:none;}             /* "scorri" solo quando è carosello */
}

@media (max-width:1024px){
  .manifesto .grid{grid-template-columns:1fr;gap:28px;align-items:start;}
  .territorio{grid-template-columns:1fr;}
  .territorio__im{aspect-ratio:16/10;}
  .steps{grid-template-columns:repeat(2,1fr);gap:30px 26px;}
}

@media (max-width:820px){
  /* NAV mobile */
  .nav .wrap{padding-top:14px;padding-bottom:14px;}
  .nav .brand img{height:46px;}             /* logo più grande, testata invariata */
  .nav .menu{position:fixed;inset:0 0 0 auto;width:min(82vw,360px);background:var(--cream);flex-direction:column;
    align-items:flex-start;justify-content:center;gap:26px;padding:44px;transform:translateX(100%);
    transition:transform .35s var(--ease);box-shadow:-20px 0 60px rgba(0,0,0,.15);}
  .nav .menu.open{transform:none;}
  .nav .menu a{font-size:18px;}             /* +2px */
  .nav-cta{background:none!important;color:var(--rust)!important;padding:6px 0!important;border-radius:0;}
  .nav .burger{display:block;z-index:60;}
  .nav.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav.menu-open .burger span:nth-child(2){opacity:0;}
  .nav.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  /* HERO mobile: link percorsi in alto a sx */
  .hero__toplink{display:inline-flex;position:absolute;z-index:3;top:22px;left:var(--pad);
    font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:13px;color:var(--cream);}
  .hero__row .btn--ghost{display:none;}

  /* PERCORSI mobile */
  .percorsi .railhead{flex-direction:column;align-items:flex-start;}
  .percorsi .railhead .hint{display:none;}
  .percorsi .hint--below{display:flex;}
  .p-card{width:86%;}                        /* slide ~10% più larga */
  .percorsi .rail{gap:15px;}

  /* COME FUNZIONA mobile: bottone dopo gli step */
  .giornata .head .btn--rust{display:none;}
  .giornata__mcta{display:inline-flex;}

  /* percorsi: slide senza animazione d'entrata su mobile */
  .percorsi .p-card.reveal{opacity:1!important;transform:none!important;transition:none;}
}

@media (max-width:560px){
  .topbar{font-size:9.5px;letter-spacing:.14em;}
  /* timeline verticale */
  .steps{display:block;position:relative;padding-left:34px;}
  .steps::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--line-dark);}
  .step{border-top:0;padding-top:0;margin-bottom:40px;}
  .step::before{content:"";position:absolute;left:-34px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--rust);}
  .step:last-child{margin-bottom:0;}
  .giornata .head{flex-direction:column;align-items:flex-start;}
  /* territorio: immagine cover, alta */
  .territorio__im{aspect-ratio:4/5;}
  /* iscrizione: più aria + azioni impilate + data a capo */
  .iscrizione{padding:clamp(84px,20vw,120px) 0;}
  .iscrizione .acts{flex-direction:column;gap:16px;}
  .iscrizione .sub{max-width:300px;margin-left:auto;margin-right:auto;}
  .iscrizione .isc-sep{display:none;}
  .iscrizione .isc-b{display:block;}
}

/* ============================================================
   PAGINA PERCORSO (riusa tokens/ў classi della home)
   ============================================================ */
/* route hero */
.rhero{position:relative;min-height:min(72vh,680px);display:flex;align-items:flex-end;overflow:hidden;}
.rhero__bg{position:absolute;inset:0;z-index:0;}
.rhero__bg img{width:100%;height:100%;object-fit:cover;}
.rhero__ov{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(30,31,28,.45),rgba(30,31,28,.05) 34%,rgba(30,31,28,.35) 62%,rgba(30,31,28,.88)),
             linear-gradient(90deg,rgba(30,31,28,.5),rgba(30,31,28,0) 55%);}
.rhero .wrap{position:relative;z-index:2;width:100%;padding-top:80px;padding-bottom:clamp(36px,5vw,60px);
  display:flex;justify-content:space-between;align-items:flex-end;gap:24px;}
.rhero .bc{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;font-size:13px;color:var(--cream);opacity:.85;margin-bottom:14px;}
.rhero h1{font-family:var(--gf);font-weight:400!important;color:var(--cream);font-size:clamp(64px,11vw,150px);line-height:1;letter-spacing:-.03em;}

/* stat bar */
.statbar{background:var(--rust);color:var(--cream);position:relative;overflow:hidden;}
.statbar.tex-curve::before{opacity:.8;}   /* curve di livello più visibili */
.statbar .grid{display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:1;text-align:center;}
.statbar .s{padding:clamp(30px,3.4vw,48px) clamp(16px,2vw,30px);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.statbar .s + .s::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:54%;background:#B73E1D;}
.statbar .s .l{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;font-size:14px;color:#B73E1D;margin-bottom:14px;}
.statbar .s .n{font-family:var(--gf);color:var(--cream);font-size:clamp(44px,4.4vw,64px);line-height:1;letter-spacing:-.02em;}
.statbar .s .n small{font-size:.5em;}

/* dark block: traccia + profilo — sfondo pieno #242524 (niente curve), immagini full-bleed */
.darkblock{background:#21201e;color:var(--on-dark);position:relative;overflow:hidden;padding-bottom:0;}
.darkblock>*{position:relative;z-index:1;}
.kt.tex-curve::before{opacity:.55;}
.rhead{padding-top:clamp(56px,7vw,100px);margin-bottom:32px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;}
.rhead h2{color:var(--cream);}
.rhead h2 .rustdot{color:var(--rust);}
.rhead .side{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:13px;color:var(--rust);white-space:nowrap;padding-top:6px;}
.rhead .side a{color:var(--rust);}
.rmedia-full{width:100%;background:#21201e;}
.rmedia-full img{width:100%;display:block;}
.rmedia-full.last{margin-bottom:0;}

/* cosa aspettarsi (timeline) — sfondo #242524 + curve, parte subito dopo l'elevation, più aria (desktop) */
.kt{background:#21201e;color:var(--on-dark);padding-top:clamp(64px,10vw,140px);padding-bottom:clamp(88px,15vw,210px);}
.kt .head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(52px,7vw,90px);}
.kt .head h2{color:var(--cream);}
.kt__track{display:flex;gap:26px;overflow-x:auto;overflow-y:visible;scrollbar-width:none;cursor:grab;scroll-snap-type:none;padding:16px 0 8px;}
.kt__track::-webkit-scrollbar{display:none;}
.kt__track.dragging{cursor:grabbing;}
.kt__item{flex:0 0 calc((100% - 78px)/4);padding-top:24px;position:relative;}
.kt__item::after{content:"";position:absolute;top:0;left:0;right:-26px;height:2px;background:var(--rust);}   /* linea timeline continua arancione */
.kt__item:last-child::after{right:0;}
.kt__item::before{content:"";position:absolute;top:-5px;left:0;width:13px;height:13px;border-radius:50%;background:var(--rust);border:3px solid #21201e;z-index:1;}
.kt__km{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--rust);}
.kt__t{font-family:var(--gf);font-weight:400!important;color:var(--cream);font-size:clamp(28px,2.4vw,38px);margin:12px 0 8px;letter-spacing:-.04em;line-height:1.1;}
.kt__t .rustdot{color:var(--rust);}
.kt p{color:var(--on-dark-soft);font-size:15px;line-height:1.5;}
.kt__mcta{display:none;margin-top:40px;width:100%;}
/* controllo "scorri" con frecce (desktop) */
.kt__nav{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:clamp(40px,5vw,64px);}
.kt__navlbl{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:var(--rust);}
.kt__arw{width:50px;height:50px;border-radius:999px;border:2px solid var(--rust);background:none;color:var(--rust);font-size:18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.25s var(--ease);}
.kt__arw:hover{background:var(--rust);color:var(--cream);}
/* slide punti chiave: niente animazione su desktop, resta solo su mobile */
@media (min-width:561px){.kt__item.reveal{opacity:1!important;transform:none!important;transition:none!important;}}

/* altri percorsi — righe 50/50 a tutta larghezza, foto fino al bordo, testo centrato nel blocco */
.altri{background:var(--cream);}
.altri .intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:clamp(40px,5vw,64px);}
.altri .intro p{max-width:420px;text-align:right;color:var(--muted);font-size:16px;line-height:1.6;}
.alt-row{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;margin-bottom:clamp(30px,4vw,56px);}
.alt-row:last-child{margin-bottom:0;}
.alt-row__im{overflow:hidden;}
.alt-row__im img{width:100%;height:100%;object-fit:cover;display:block;min-height:clamp(360px,40vw,520px);}
.alt-row__tx{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:clamp(40px,5vw,72px) var(--pad);}
.alt-row__in{width:100%;max-width:460px;text-align:left;}
.alt-row--rev .alt-row__im{order:0;}
.alt-row--rev .alt-row__tx{order:1;}
.alt-row--rev .alt-row__im img{min-height:clamp(400px,46vw,600px);}   /* secondo blocco un po' più alto (desktop) */
.alt-row__nm{font-family:var(--gf);font-weight:400!important;font-size:clamp(38px,4.4vw,60px);line-height:1;letter-spacing:-.04em;}
.alt-row__pills{display:flex;gap:10px;margin:16px 0 18px;}
.alt-row__pills .pill{background:var(--rust);border-color:var(--rust);color:var(--cream);}
.alt-row p{color:var(--muted);font-size:16px;line-height:1.6;max-width:460px;}
.alt-row__go{margin-top:20px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:12.5px;color:var(--rust);display:inline-flex;gap:8px;transition:gap .25s var(--ease);}
.alt-row__go:hover{gap:14px;}

/* intro "Il percorso" — più respiro sopra e sotto (desktop) */
.perc-intro{padding-top:clamp(72px,12vw,170px);padding-bottom:clamp(72px,12vw,170px);}

/* CTA percorso — più alta e con curve di livello più visibili */
.iscrizione--tall{padding-top:clamp(96px,13vw,168px);padding-bottom:clamp(96px,13vw,168px);}
.iscrizione--tall.tex-curve::before{opacity:.72;}

/* responsive route */
@media (max-width:820px){
  .rhero .wrap{flex-direction:column;align-items:flex-start;}
  .rhero .wrap .btn{display:none;}
  /* hero + statbar dentro il primo viewport: statbar agganciata al fondo dello schermo iniziale */
  .rhero{min-height:calc(100svh - 370px);}
  .statbar .s{padding:24px 16px;}
  .statbar .grid{grid-template-columns:1fr 1fr;}
  .statbar .s::before{display:none;}
  .statbar .s:nth-child(2)::before,.statbar .s:nth-child(4)::before{display:block;}
  .statbar .s:nth-child(1),.statbar .s:nth-child(2){border-bottom:1px solid #B73E1D;}   /* divisore tra le due righe */
  .altri .intro{flex-direction:column;align-items:flex-start;}
  .altri .intro p{text-align:left;}
  .alt-row{grid-template-columns:1fr;margin-bottom:44px;}
  .alt-row__im{order:-1;min-height:0;aspect-ratio:16/10;}
  .alt-row__im img{min-height:0;}
  .alt-row--rev .alt-row__im img{min-height:0;}
  .alt-row__tx,.alt-row--rev .alt-row__tx{order:0;align-items:stretch;padding:22px var(--pad) clamp(28px,7vw,40px);}
  .alt-row--rev .alt-row__im{order:-1;}
  .kt .head{flex-direction:column;align-items:flex-start;text-align:left;}
  .kt .head .btn--rust{display:none;}
  .kt__mcta{display:inline-flex;}
}
@media (max-width:560px){
  .kt__track{display:block;position:relative;padding-left:34px;overflow:visible;}
  .kt__track::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--line-dark);}
  .kt__item{flex:none;border-top:0;padding-top:0;margin-bottom:36px;}
  .kt__item::after{display:none;}   /* niente linea orizzontale in verticale */
  .kt__item::before{left:-34px;top:5px;}
  .kt__nav{display:none;}
  .kt__item:last-child{margin-bottom:0;}
}

/* ============================================================
   PAGINA CHECKOUT / PETTORALE
   ============================================================ */
/* hero checkout */
.chero{position:relative;min-height:min(74vh,720px);display:flex;align-items:flex-end;overflow:hidden;}
.chero__bg{position:absolute;inset:0;z-index:0;}
.chero__bg img{width:100%;height:100%;object-fit:cover;}
.chero__ov{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(30,31,28,.45),rgba(30,31,28,.05) 32%,rgba(30,31,28,.30) 60%,rgba(30,31,28,.86)),
             linear-gradient(90deg,rgba(30,31,28,.55),rgba(30,31,28,0) 58%);}
.chero .wrap{position:relative;z-index:2;width:100%;padding-top:80px;padding-bottom:clamp(40px,5vw,64px);}
.chero__kick{color:var(--cream);opacity:.9;margin-bottom:16px;}
.chero h1{font-family:var(--gf);font-weight:400!important;color:var(--cream);font-size:clamp(56px,11vw,150px);line-height:1;letter-spacing:-.03em;}
.chero p{color:var(--cream);opacity:.94;font-size:clamp(16px,1.7vw,21px);line-height:1.4;max-width:640px;margin-top:20px;}
.chero__pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px;}

/* layout checkout */
.co-layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:clamp(28px,3.4vw,56px);align-items:start;}
.co-step{font-family:var(--mono);text-transform:uppercase;letter-spacing:.22em;font-size:clamp(12px,1.2vw,14px);color:var(--rust);margin:0 0 24px;}
.co-step:not(:first-child){margin-top:clamp(40px,5vw,68px);}
.co-step__n{color:var(--ink);opacity:.5;margin-right:6px;}
.co-step em{color:var(--muted);font-style:normal;}

/* item card */
.ci-list{display:flex;flex-direction:column;gap:16px;}
.ci{display:grid;grid-template-columns:auto auto 1fr auto;align-items:stretch;background:var(--card);
  border:2px solid var(--line);border-radius:16px;overflow:hidden;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);}
.ci.is-active{border-color:var(--rust);}
.ci__flag{align-self:center;margin:0 4px 0 clamp(16px,1.6vw,24px);width:26px;height:26px;border-radius:50%;
  border:2px solid var(--unpicked);background:none;cursor:pointer;position:relative;flex:0 0 auto;transition:border-color .2s;}
.ci__flag::after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--rust);transform:scale(0);transition:transform .2s var(--ease);}
.ci.is-active .ci__flag{border-color:var(--rust);}
.ci.is-active .ci__flag::after{transform:scale(1);}
.ci__ph{width:clamp(120px,12vw,190px);align-self:stretch;overflow:hidden;margin:12px 0 12px 14px;border-radius:10px;background:#eadfc7;}
.ci__ph img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;}
.ci__bd{display:flex;flex-direction:column;justify-content:center;padding:18px clamp(18px,2vw,30px);min-width:0;}
.ci__nm{font-size:clamp(30px,3.2vw,50px);line-height:1;color:var(--ink);}
.ci--addon .ci__nm{font-family:'Inter',sans-serif;font-weight:500;font-size:clamp(19px,1.6vw,24px);letter-spacing:0;}
.ci__meta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:clamp(10px,.9vw,12px);color:var(--muted);margin-top:12px;}
.ci--addon .ci__meta{margin-top:8px;}
.ci__price{background:var(--unpicked);color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  padding:20px clamp(20px,2vw,30px);min-width:clamp(130px,12vw,164px);transition:background .2s var(--ease);}
.ci.is-active .ci__price{background:var(--rust);}
.ci__eur{font-size:clamp(38px,3.6vw,54px);line-height:.9;letter-spacing:-.02em;}
.ci__eur small{font-size:.46em;}
.ci__step{display:inline-flex;align-items:center;gap:2px;background:rgba(36,37,36,.18);border-radius:999px;padding:4px;}
.ci.is-active .ci__step{background:rgba(36,37,36,.24);}
.ci__step button{width:30px;height:30px;border:0;background:none;color:var(--cream);font-size:19px;line-height:1;cursor:pointer;border-radius:50%;transition:background .15s;}
.ci__step button:hover{background:rgba(255,245,225,.18);}
.ci__qty{min-width:26px;text-align:center;font-family:var(--mono);font-size:15px;color:var(--cream);}

/* riepilogo */
.co-side{position:sticky;top:96px;}
.riepilogo{background:#242524;color:var(--on-dark);border-radius:18px;position:relative;overflow:hidden;}
.riepilogo.tex-curve::before{opacity:.5;}
.riepilogo__in{position:relative;z-index:1;padding:clamp(26px,2.4vw,38px);}
.riepilogo__t{color:var(--cream);font-size:clamp(30px,2.8vw,44px);margin-bottom:24px;}
.riepilogo__t .rustdot{color:var(--rust);}
.riepilogo__empty{color:var(--on-dark-soft);font-size:14px;line-height:1.55;padding:6px 0 18px;}
.ri-line{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:16px 0;border-bottom:1px solid var(--line-dark);}
.ri-line:first-child{padding-top:2px;}
.ri-line__nm{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:12.5px;color:var(--cream);line-height:1.4;}
.ri-line__pr{font-family:var(--mono);letter-spacing:.06em;font-size:13px;color:var(--on-dark-soft);white-space:nowrap;}
.riepilogo__tot{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:30px;}
.riepilogo__totlbl{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;font-size:13px;color:var(--on-dark-soft);}
.riepilogo__count{font-size:11px;letter-spacing:.12em;opacity:.8;}
.riepilogo__totval{font-family:var(--gf);color:var(--rust);font-size:clamp(34px,3.4vw,50px);line-height:1;letter-spacing:-.02em;}
.riepilogo__cta{width:100%;margin-top:26px;}
.riepilogo__cta:disabled{opacity:.4;cursor:not-allowed;transform:none;}
.riepilogo__ssl{display:block;text-align:center;font-size:11px;color:rgba(255,245,225,.4);margin-top:16px;}

/* form dati */
.co-form{border:1.5px solid var(--unpicked);border-radius:18px;padding:clamp(24px,3vw,42px);background:rgba(255,253,246,.5);}
.co-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,1.6vw,22px);}
.fld{display:flex;flex-direction:column;gap:9px;}
.fld--full{grid-column:1 / -1;}
.fld__l{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;font-size:11.5px;color:var(--muted);}
.fld__l i{color:var(--rust);font-style:normal;}
.fld input{font-family:'Inter',sans-serif;font-size:16px;color:var(--ink);background:var(--card);
  border:1.5px solid var(--line);border-radius:11px;padding:14px 16px;transition:border-color .2s,box-shadow .2s;width:100%;}
.fld input:focus{outline:none;border-color:var(--rust);box-shadow:0 0 0 3px rgba(226,97,57,.14);}
.fld input:user-invalid{border-color:#c0492b;}

/* cosa c'è dentro (forest) */
.dentro{background:var(--forest);color:var(--on-dark);}
.dentro .head{margin-bottom:clamp(48px,6vw,80px);}
.dentro .head h2,.prima .head h2{color:var(--cream);}
.dentro .head h2{color:var(--cream);}
.dentro__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(36px,4vw,64px) clamp(30px,4vw,60px);}
.dentro__t{font-family:var(--gf);font-weight:400!important;color:var(--rust);font-size:clamp(28px,2.6vw,40px);line-height:1;letter-spacing:-.03em;margin-bottom:16px;}
.dentro__it p{color:var(--on-dark-soft);font-size:clamp(15px,1.15vw,17px);line-height:1.55;max-width:340px;}

/* prima di partire (faq) */
.prima .head{margin-bottom:clamp(30px,4vw,52px);}
.prima .head h2{color:var(--ink);}
.faq__row{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(24px,4vw,70px);padding:clamp(30px,4vw,52px) 0;border-top:1px solid var(--line);align-items:start;}
.faq__q{font-family:var(--gf);font-weight:400!important;color:var(--rust);font-size:clamp(24px,2.2vw,34px);line-height:1.02;letter-spacing:-.03em;}
.faq__a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:clamp(12px,1vw,14px);line-height:1.75;color:var(--muted);}

/* footer con sponsor */
.footer--sponsor .spons{margin-top:30px;}
.spons__lbl{color:rgba(255,245,225,.45);font-size:11px;letter-spacing:.2em;margin-bottom:16px;}
.spons__row{display:flex;gap:16px;flex-wrap:wrap;}
.spons__box{flex:1 1 180px;max-width:240px;min-height:64px;border:1.5px dashed var(--line-dark);border-radius:10px;
  display:flex;align-items:center;justify-content:center;color:rgba(255,245,225,.35);font-size:12px;letter-spacing:.18em;}
.footer--sponsor .bot{margin-top:30px;}

/* responsive checkout */
@media (max-width:1080px){
  .co-layout{grid-template-columns:1fr;}
  .co-side{position:static;order:2;margin-top:8px;}
  .dentro__grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:820px){
  .chero .wrap .btn{display:none;}
  .faq__row{grid-template-columns:1fr;gap:14px;}
}
@media (max-width:640px){
  .ci{grid-template-columns:auto 1fr;grid-template-areas:"flag body" "price price";row-gap:0;}
  .ci__flag{grid-area:flag;align-self:center;}
  .ci__ph{display:none;}
  .ci__bd{grid-area:body;padding:18px 16px;}
  .ci__price{grid-area:price;flex-direction:row;justify-content:space-between;padding:14px 18px;}
  .co-form__grid{grid-template-columns:1fr;}
  .dentro__grid{grid-template-columns:1fr;}
}

/* ============================================================
   PAGINA ARCHIVIO — "il rullino" (dark)
   ============================================================ */
.dark-page{background:#242524;color:var(--on-dark);}
.arch-hd{padding:clamp(48px,7vw,96px) 0 clamp(28px,3.5vw,44px);}
.arch-hd .kick{color:var(--rust);}
.arch-hd h1{font-family:var(--gf);font-weight:400!important;color:var(--cream);font-size:clamp(48px,9vw,120px);line-height:1;letter-spacing:-.03em;margin-top:14px;}
.arch-hd p{color:var(--on-dark-soft);font-size:clamp(15px,1.4vw,19px);line-height:1.5;max-width:560px;margin-top:20px;}
.arch-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(28px,3.5vw,44px);}
.afil{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--on-dark-soft);
  background:none;border:1.5px solid var(--line-dark);border-radius:999px;padding:10px 18px;cursor:pointer;transition:.2s var(--ease);}
.afil:hover{border-color:rgba(255,245,225,.5);color:var(--cream);}
.afil.is-on{background:var(--rust);border-color:var(--rust);color:var(--cream);}
.afil i{font-style:normal;opacity:.6;margin-left:7px;}

.arch-wrap{padding:0 var(--pad) clamp(64px,9vw,120px);}
.arch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(150px,20vw,280px),1fr));grid-auto-rows:8px;gap:14px;}
.atile{position:relative;display:block;overflow:hidden;border-radius:10px;background:#2c2d2a;cursor:pointer;grid-row-end:span 30;}
.atile[hidden]{display:none;}
.atile img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.28) brightness(.84) contrast(1.02);
  transition:filter .5s var(--ease),transform .6s var(--ease);}
.atile:hover img{filter:none;transform:scale(1.05);}
.atile::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(36,37,36,.15),rgba(36,37,36,0) 45%,rgba(36,37,36,.6));opacity:.85;transition:opacity .4s;}
.atile:hover::after{opacity:.4;}
.atile__n{position:absolute;top:11px;left:13px;z-index:2;font-family:var(--mono);letter-spacing:.14em;font-size:11px;
  color:rgba(255,245,225,.8);text-shadow:0 1px 5px rgba(0,0,0,.55);}
.atile__t{position:absolute;left:13px;bottom:12px;z-index:2;font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;
  font-size:10.5px;color:var(--cream);background:var(--rust);padding:5px 10px;border-radius:999px;opacity:0;transform:translateY(8px);transition:.3s var(--ease);}
.atile:hover .atile__t{opacity:1;transform:none;}
.arch-empty{color:var(--on-dark-soft);font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:13px;padding:40px 0;text-align:center;}

/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(18,19,17,.97);display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .28s var(--ease);}
.lb.is-open{opacity:1;}
.lb[hidden]{display:none;}
.lb__fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:92vw;}
.lb__img{max-width:92vw;max-height:80vh;object-fit:contain;border-radius:5px;box-shadow:0 24px 70px rgba(0,0,0,.55);
  background:#2c2d2a;min-width:40vw;min-height:30vh;}
.lb__cap{display:flex;gap:16px;align-items:center;font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--on-dark-soft);}
.lb__cnum{color:var(--rust);}
.lb__x{position:absolute;top:20px;right:26px;background:none;border:0;color:var(--cream);font-size:22px;cursor:pointer;z-index:3;opacity:.8;transition:.2s;}
.lb__x:hover{opacity:1;}
.lb__count{position:absolute;top:24px;left:26px;font-family:var(--mono);letter-spacing:.18em;font-size:13px;color:var(--on-dark-soft);z-index:3;}
.lb__count [data-lb-i]{color:var(--cream);}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:999px;
  border:2px solid rgba(255,245,225,.4);background:rgba(36,37,36,.3);color:var(--cream);font-size:20px;cursor:pointer;transition:.25s var(--ease);z-index:3;}
.lb__nav:hover{background:var(--rust);border-color:var(--rust);}
.lb__prev{left:clamp(12px,3vw,34px);}
.lb__next{right:clamp(12px,3vw,34px);}

@media (max-width:640px){
  .arch-grid{grid-template-columns:1fr 1fr;gap:8px;}
  .lb__nav{display:none;}
  .lb__img{max-height:74vh;}
  .lb__x{top:14px;right:16px;}
  .lb__count{top:16px;left:16px;}
}

/* ===== checkout: nota prezzo + campi form estesi ===== */
.ci__pnote{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;font-size:9px;line-height:1.35;
  color:var(--cream);opacity:.85;text-align:center;max-width:132px;margin-top:-2px;}
.fld__opt{text-transform:none;letter-spacing:0;font-size:10px;opacity:.6;}
.fld .fld__sel{font-family:'Inter',sans-serif;font-size:16px;color:var(--ink);background:var(--card);
  border:1.5px solid var(--line);border-radius:11px;padding:14px 40px 14px 16px;width:100%;appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23E26139' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;}
.fld .fld__sel:focus{outline:none;border-color:var(--rust);box-shadow:0 0 0 3px rgba(226,97,57,.14);}
.fld--file input[type=file]{font-family:var(--mono);font-size:12px;color:var(--muted);background:var(--card);
  border:1.5px dashed var(--unpicked);border-radius:11px;padding:13px 16px;width:100%;cursor:pointer;}
.fld--file input[type=file]::file-selector-button{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:11px;
  background:var(--rust);color:var(--cream);border:0;border-radius:999px;padding:8px 14px;margin-right:12px;cursor:pointer;}
.fld__hint{font-size:11.5px;color:var(--muted);line-height:1.45;margin-top:2px;}
.fld--check{flex-direction:row;align-items:flex-start;gap:12px;}
.fld--check input{flex:0 0 auto;width:20px;height:20px;margin-top:2px;accent-color:var(--rust);cursor:pointer;}
.fld--check span{font-size:14px;color:var(--muted);line-height:1.5;}
.fld--check a{color:var(--rust);text-decoration:underline;}
.fld--check i{color:var(--rust);font-style:normal;}

/* ============================================================
   PAGINA REGOLAMENTO
   ============================================================ */
.reg-hd{padding:clamp(46px,6.5vw,88px) 0 clamp(20px,3vw,36px);}
.reg-hd .kick{color:var(--rust);}
.reg-hd h1{font-family:var(--gf);font-weight:400!important;color:var(--ink);font-size:clamp(44px,7.5vw,96px);line-height:.98;letter-spacing:-.03em;margin-top:12px;}
.reg-hd p{max-width:600px;color:var(--muted);font-size:clamp(15px,1.4vw,18px);line-height:1.6;margin-top:18px;}
.reg-src{display:inline-flex;align-items:center;margin-top:24px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;
  font-size:12px;color:var(--rust);border:1.5px solid var(--rust);border-radius:999px;padding:11px 22px;transition:.2s var(--ease);}
.reg-src:hover{background:var(--rust);color:var(--cream);}
.reg-body{padding-bottom:clamp(64px,9vw,120px);}
.reg-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(30px,5vw,84px);align-items:start;}
.reg-toc{position:sticky;top:100px;}
.reg-toc__t{font-family:var(--mono);text-transform:uppercase;letter-spacing:.22em;font-size:11px;color:var(--muted);margin-bottom:14px;}
.reg-toc nav{display:flex;flex-direction:column;max-height:74vh;overflow:auto;}
.reg-toc a{display:block;font-size:13px;color:var(--muted);padding:8px 0;border-bottom:1px solid var(--line);line-height:1.3;transition:color .2s;}
.reg-toc a:hover{color:var(--rust);}
.reg-toc__n{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--rust);margin-right:7px;}
.reg-content{max-width:820px;}
.reg-art{padding:clamp(28px,3.4vw,44px) 0;border-top:1px solid var(--line);scroll-margin-top:96px;}
.reg-art:first-child{border-top:0;padding-top:0;}
.reg-num{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--rust);margin-bottom:8px;}
.reg-art h2{font-family:var(--gf);font-weight:400!important;color:var(--ink);font-size:clamp(26px,3vw,40px);line-height:1.16;letter-spacing:-.03em;margin-bottom:16px;}
.reg-art p{color:var(--ink);opacity:.86;font-size:clamp(14.5px,1.05vw,16px);line-height:1.72;margin-bottom:12px;}
.reg-foot{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;
  letter-spacing:.08em;font-size:11px;color:var(--muted);line-height:1.6;}
@media (max-width:820px){
  .reg-layout{grid-template-columns:1fr;}
  .reg-toc{display:none;}
}

/* ============================================================
   PATROCINI & PARTNER (fascia loghi)
   ============================================================ */
.patroc{background:var(--cream);border-top:1px solid var(--line);padding:clamp(40px,6vw,76px) 0;}
.patroc .wrap{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:clamp(32px,6vw,96px);}
.patroc__group{display:flex;flex-direction:column;align-items:center;gap:18px;}
.patroc__lbl{font-size:11px;letter-spacing:.24em;color:var(--muted);}
.patroc__row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;}
.plogo{height:92px;min-width:158px;padding:16px 28px;background:#fff;border:1px solid var(--line);border-radius:12px;
  display:flex;align-items:center;justify-content:center;}
.plogo--dark{background:var(--graphite);border-color:var(--graphite);}
.plogo img{max-height:100%;max-width:200px;width:auto;object-fit:contain;}
@media (max-width:560px){
  .plogo{height:78px;min-width:130px;padding:12px 20px;}
  .plogo img{max-width:150px;}
}

/* messaggio errore checkout */
.co-err{margin-top:14px;font-size:13px;line-height:1.4;color:#c0492b;background:rgba(192,73,43,.08);border:1px solid rgba(192,73,43,.3);border-radius:10px;padding:12px 14px;}
.co-note{margin:0 0 14px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:12px;line-height:1.5;color:#8a6d2f;background:rgba(226,97,57,.06);border:1px solid rgba(226,97,57,.28);border-radius:10px;padding:12px 14px;text-align:center;}

/* ===== banner cookie ===== */
.cookiebar{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;max-width:760px;margin:0 auto;background:var(--graphite,#242524);color:var(--cream,#FFF5E1);border:1px solid rgba(255,245,225,.16);border-radius:14px;padding:16px 18px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:0 14px 44px rgba(0,0,0,.32);font-size:13.5px;line-height:1.5;}
.cookiebar[hidden]{display:none;}
.cookiebar__txt{flex:1;min-width:220px;}
.cookiebar__txt a{color:var(--rust,#E26139);}
.cookiebar__btns{display:flex;gap:10px;flex-shrink:0;}
.cookiebar__btn{font-family:var(--mono,ui-monospace,monospace);text-transform:uppercase;letter-spacing:.1em;font-size:12px;padding:11px 20px;border-radius:999px;border:1px solid var(--rust,#E26139);background:var(--rust,#E26139);color:#fff;cursor:pointer;}
.cookiebar__btn--ghost{background:transparent;color:var(--cream,#FFF5E1);border-color:rgba(255,245,225,.4);}
@media(max-width:560px){.cookiebar{flex-direction:column;align-items:stretch;gap:12px;} .cookiebar__btns{justify-content:stretch;} .cookiebar__btn{flex:1;}}

/* ===== checkout: partecipanti (accordion) ===== */
.co-parts-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:4px 0 16px;flex-wrap:wrap;}
.co-parts-lbl{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--ink);}
.co-parts-lbl [data-pcount]{color:var(--rust);}
.co-parts-prog{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:11.5px;color:var(--muted);}
.co-parts{display:flex;flex-direction:column;gap:12px;}
.co-parts-empty{color:var(--muted);font-size:14px;padding:14px 0;}
.pcard{border:1.5px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card);}
.pcard.is-complete{border-color:rgba(60,107,47,.5);}
.pcard__hd{width:100%;display:flex;align-items:center;gap:14px;background:none;border:0;cursor:pointer;
  padding:16px 20px;text-align:left;font:inherit;}
.pcard__ix{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--rust);white-space:nowrap;}
.pcard__who{flex:1;color:var(--ink);font-size:15px;}
.pcard__chk{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);flex:0 0 auto;position:relative;transition:.2s;}
.pcard.is-complete .pcard__chk{background:#3c6b2f;border-color:#3c6b2f;}
.pcard.is-complete .pcard__chk::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}
.pcard__hd::before{content:"+";margin-left:auto;font-size:20px;color:var(--muted);line-height:1;transition:transform .2s;}
.pcard.is-open .pcard__hd::before{content:"–";}
.pcard.is-complete .pcard__hd .pcard__chk + .pcard__ix{}
.pcard__bd{display:none;padding:4px 20px 22px;}
.pcard.is-open .pcard__bd{display:block;}

/* ===== NUOVA HERO (desktop split · mobile unica) ===== */
.nhero{background:#FFF5E1;display:flex;align-items:stretch;min-height:calc(100svh - 92px);overflow:hidden;}
.nhero__img{width:50%;overflow:hidden;}
.nhero__img img{width:100%;height:100%;object-fit:cover;object-position:center 32%;display:block;}
.nhero__panel{width:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
  padding:clamp(32px,5vw,84px);gap:clamp(18px,2.4vw,30px);}
.nhero__data{width:clamp(200px,26vw,300px);height:auto;display:block;}
.nhero__title{width:min(100%,560px);height:auto;display:block;}
.nhero__info{font-family:'Inter',sans-serif;font-weight:800;text-transform:uppercase;
  letter-spacing:.01em;line-height:1.38;font-size:clamp(15px,1.55vw,21px);color:var(--graphite);margin:0;}
.nhero__cta{margin-top:4px;}
.nhero__mob{display:none;}

@media (max-width:820px){
  .nhero{display:block;background:linear-gradient(#FFF5E1,#C8B89E);min-height:0;}
  .nhero__img,.nhero__panel{display:none;}
  .nhero__mob{display:block;padding-bottom:6px;}
  .nhero__trees{display:block;width:100%;height:auto;}
  .nhero__mrow{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;
    padding:10px clamp(16px,5vw,26px) 0;}
  .nhero__mtitle{width:62%;max-width:360px;height:auto;display:block;}
  .nhero__mdata{width:30%;max-width:150px;height:auto;display:block;margin-top:6px;}
  .nhero__mlogo{display:block;width:min(62%,253px);height:auto;margin:14px auto 2px;}
  .nhero__millu{display:block;width:100%;height:auto;margin-top:2px;}
  /* nascondi hero-foto e manifesto su mobile */
  .m-hide{display:none!important;}
}

/* ===== COUPON (riepilogo, fondo scuro) ===== */
.riepilogo__coupon{display:flex;gap:8px;margin:16px 0 6px;}
.riepilogo__coupon input{flex:1;min-width:0;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;
  font-size:12px;padding:11px 12px;border:1px solid var(--line-dark);border-radius:10px;background:#FFF5E1;color:#30312E;}
.riepilogo__coupon input:focus{outline:none;border-color:var(--rust);}
.riepilogo__capply{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:11px;
  padding:0 16px;border-radius:10px;border:1.5px solid var(--rust);color:var(--cream);background:none;cursor:pointer;transition:background .2s,color .2s;}
.riepilogo__capply:hover{background:var(--rust);color:var(--cream);}
.riepilogo__cmsg{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;min-height:13px;margin-bottom:4px;color:var(--on-dark-soft);}
.riepilogo__cmsg.ok{color:#9fdc8a;} .riepilogo__cmsg.err{color:#f0a58f;}
.ri-line--disc .ri-line__nm{color:#9fdc8a;} .ri-line--disc .ri-line__pr{color:#9fdc8a;}
