/* Hero */
.hero{position:relative;min-height:100dvh;display:grid;align-items:end;color:#fff;isolation:isolate;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(var(--shade),.62) 0%,rgba(var(--shade),.18) 52%,rgba(var(--shade),0) 75%),linear-gradient(180deg,rgba(var(--shade),.42) 0%,rgba(var(--shade),0) 26%,rgba(var(--shade),.3) 58%,rgba(var(--shade),.84) 100%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:end;padding-block:120px 92px}
.hero .lead{color:rgba(255,255,255,.9)}
.hero .search{margin-top:32px;max-width:640px}
.hero .eyebrow{margin-bottom:18px;color:rgba(255,255,255,.88)}
.hero .cta-row{margin-top:32px}
.quick{display:flex;gap:10px;align-items:flex-end;justify-content:flex-end}
.qc{position:relative;flex:0 0 auto;width:160px;height:236px;border-radius:var(--r-card);overflow:hidden;color:#fff;border:3px solid #fff;box-shadow:0 18px 40px -22px rgba(var(--shade),.8);transition:transform .5s var(--ease)}
.qc:first-child{width:210px;height:320px}
.qc:hover{transform:translateY(-8px)}
.qc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.qc:hover img{transform:scale(1.06)}
.qc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(var(--shade),.78))}
.qc span{position:absolute;z-index:1;left:12px;right:10px;bottom:12px;font-weight:500;font-size:14px;line-height:1.2;overflow-wrap:anywhere}
.qc:first-child span{left:16px;font-size:16px}
.qc small{display:block;font-weight:300;font-size:13px;opacity:.9;margin-top:2px}
@media (max-width:980px){
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:112px 84px}
  .quick{justify-content:flex-start;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .qc,.qc:first-child{width:164px;height:210px}
}
@media (max-width:560px){.search{padding-left:18px}.search button[type=submit]{padding:0 16px}.search>i{display:none}}
@media (prefers-reduced-motion:no-preference){
  .hero-bg img{animation:settle 2.6s var(--ease) both}
  .hero .eyebrow,.hero .lead,.hero .cta-row,.qc{animation:rise 1s var(--ease) both}
  .hero .lead{animation-delay:.5s}.hero .cta-row{animation-delay:.64s}
  .qc:nth-child(1){animation-delay:.7s}.qc:nth-child(2){animation-delay:.8s}.qc:nth-child(3){animation-delay:.9s}
}

/* Strip di card */
.chips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.chip{height:42px;padding:0 20px;border-radius:var(--r-pill);border:1px solid var(--line);background:transparent;font-size:14px;font-weight:500;cursor:pointer;transition:background .3s,color .3s}
.chip:hover{background:var(--surface)}
.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.strip{display:flex;align-items:flex-end;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:48px;--pad:max(var(--gutter),calc((100vw - 1360px)/2 + var(--gutter)));padding:8px var(--pad) 24px;scroll-padding-inline:var(--pad);scrollbar-width:none}
.strip::-webkit-scrollbar{display:none}
.card{position:relative;flex:0 0 auto;scroll-snap-align:start;border-radius:var(--r-card);overflow:hidden;color:#fff;background:var(--deep);isolation:isolate}
.card.s{width:268px;height:372px}.card.m{width:316px;height:432px}.card.l{width:400px;height:492px}
.card[hidden]{display:none}
.card.show{animation:pop .7s var(--ease) both}
.card img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--shade),0) 28%,rgba(var(--shade),.9))}
.card:hover img{transform:scale(1.05)}
.card-body{position:absolute;inset:auto 0 0;padding:20px 20px 20px 22px;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:end}
.card h3{font-size:22px;font-weight:500;letter-spacing:-.02em;line-height:1.15}
.card .zone{font-size:13px;opacity:.85;grid-column:1}
.card p{grid-column:1;font-size:14px;line-height:1.45;opacity:.92;margin-top:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card .go{grid-column:2;grid-row:1/4;align-self:end;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;color:#0D2330;transition:transform .4s var(--ease)}
.card:hover .go{transform:translate(2px,-2px) rotate(8deg)}
.strip-foot{display:flex;align-items:center;gap:24px;margin-top:8px}
.bar{flex:1;height:2px;background:var(--line);border-radius:2px;position:relative;overflow:hidden}
.bar i{position:absolute;inset:0;background:var(--ink);transform-origin:left;transform:scaleX(var(--p,.3))}
.arrows{display:flex;gap:8px}
@media (max-width:900px){.card.l{width:320px;height:440px}}
@media (max-width:520px){.strip-foot{flex-wrap:wrap}}

/* Guida */
.search--in{margin-top:28px;max-width:560px;border:1px solid var(--line)}
.guide .soon{margin-top:18px}
.guide{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:center}
.seg{display:inline-flex;padding:4px;margin-top:32px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface)}
.seg button{height:40px;padding:0 20px;border:0;border-radius:var(--r-pill);background:transparent;font-size:14px;font-weight:500;cursor:pointer;display:flex;gap:8px;align-items:center}
.seg button[aria-selected=true]{background:var(--ink);color:var(--bg)}
.infos{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.infos a{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--r-pill);background:var(--tint);font-size:14px;font-weight:500;transition:transform .35s var(--ease)}
.infos a:hover{transform:translateY(-2px)}
.infos i{color:var(--accent-ink);font-size:18px}
.infos-t{margin-top:28px;font-size:14px;font-weight:600}
.panel{position:relative;aspect-ratio:5/4;border-radius:var(--r-card);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.panel>[hidden]{display:none}
.loc{position:absolute;inset:0;color:#fff;isolation:isolate}
.loc img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.loc:hover img{transform:scale(1.04)}
.loc::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 40%,rgba(var(--shade),.85))}
.loc-body{position:absolute;inset:auto 0 0;padding:clamp(20px,3vw,36px);display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.loc h3{font-size:clamp(28px,3.4vw,44px);font-weight:500;letter-spacing:-.03em;line-height:1.05}
.loc p{margin-top:8px;max-width:34ch;opacity:.92}
.panel iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.soon{margin-top:14px;font-size:14px;color:var(--muted)}
@media (max-width:900px){.guide{grid-template-columns:1fr}}

/* Itinerari */
.its-head{max-width:620px}
.its{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px;margin-top:56px;align-items:start}
.it{position:relative;display:flex;align-items:flex-end;border-radius:var(--r-card);overflow:hidden;color:#fff;isolation:isolate;min-height:560px}
.it:nth-child(2){margin-top:88px;min-height:480px}
.it img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.it:hover img{transform:scale(1.04)}
.it::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--shade),0) 35%,rgba(var(--shade),.88))}
.it-body{padding:clamp(22px,3vw,36px);width:100%}
.it h3{font-size:clamp(30px,3.4vw,46px);font-weight:500;letter-spacing:-.03em;line-height:1.05}
.it .theme{margin-top:6px;opacity:.9}
.stops{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:20px;font-size:14px;font-weight:500}
.stops i{opacity:.7;font-size:14px}
@media (max-width:900px){.its{grid-template-columns:1fr}.it:nth-child(2){margin-top:0}}

/* Strutture */
.host{background:var(--deep);color:var(--on-deep)}
.host .sub{color:var(--on-deep-muted)}
.host-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.host-top .h2{max-width:19ch}
.bento{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(2,minmax(230px,auto));gap:16px;margin-top:56px}
.bt{position:relative;border-radius:var(--r-card);overflow:hidden;padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.bt h3{font-size:clamp(24px,2.4vw,32px);font-weight:500;letter-spacing:-.025em;line-height:1.1}
.bt p{margin-top:10px;max-width:38ch;font-size:16px}
.bt i.big{position:absolute;top:clamp(24px,3vw,36px);left:clamp(24px,3vw,36px);font-size:34px}
.bt1{grid-column:1/7;grid-row:1/3;color:#fff;min-height:480px}
.bt1 img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.bt1::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--shade),.1) 30%,rgba(var(--shade),.88))}
.bt2{grid-column:7/13;background:var(--deep-2);border:1px solid var(--deep-line)}
.bt2 p{color:var(--on-deep-muted)}
.bt3{grid-column:7/13;background:var(--accent);color:var(--on-accent)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:72px;padding-top:32px;border-top:1px solid var(--deep-line)}
.steps h3{font-size:19px;font-weight:500;margin-top:14px}
.steps p{margin-top:6px;font-size:15px;color:var(--on-deep-muted);max-width:28ch}
.steps i{font-size:28px;color:var(--on-deep)}
@media (max-width:900px){
  .bento{grid-template-columns:1fr;grid-template-rows:none}.bt1,.bt2,.bt3{grid-column:auto;grid-row:auto}.bt1{min-height:380px}.bt2,.bt3{min-height:240px}
  .steps{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
