.quick-steps{display:flex;gap:28px;flex-wrap:wrap;padding:18px 18px 18px 36px;border-block:1px solid var(--line);font-size:14px;margin:0 0 28px}.quick-steps li{padding-left:3px}.transfer-callout{padding:14px;background:#fff9;border-radius:12px}.stop-map-disclosure>summary{min-height:52px;padding:14px 18px;border:1px solid var(--line);border-radius:14px;cursor:pointer;font-weight:600}.opening-note{padding:24px 0}.opening-note h2{font-size:25px}.opening-note p{font-size:15px}.opening-note a{display:inline-block;min-height:44px;padding:8px 0;font-size:14px}@media(max-width:600px){.quick-steps{flex-direction:column;gap:10px}}.nearby-callout{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px;margin:28px 0;border:1px solid var(--line);border-radius:20px;background:#fff}.nearby-callout h2{font-size:26px;margin-bottom:10px}.nearby-callout p{margin:0;font-size:15px}.nearby-callout .button{flex-shrink:0}.business-categories{display:flex;flex-wrap:wrap;gap:10px}.business-categories a{padding:12px 16px;min-height:48px;border:1px solid var(--line);border-radius:24px;text-decoration:none;background:#fff}.business-categories span{font-size:12px;margin-left:8px}.directory-note,.map-help{font-size:14px;line-height:1.7;margin:20px 0}.business-section{scroll-margin-top:24px;margin:40px 0}.business-section h2{font-size:30px}.business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.business-card{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;display:flex;flex-direction:column}.business-card h3{font-size:24px}.business-card p{font-size:15px}.business-card .business-address{font-size:13px}.business-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:auto}.listing-source{display:inline-flex;align-items:center;min-height:44px;font-size:12px;margin-top:10px}.break-advice{padding:24px;background:#fbf0df;border-radius:20px;margin:24px 0}.break-advice h2{font-size:24px}.journey-map{margin:30px 0;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}.journey-map h2{font-size:27px}.route-map-select{display:flex;align-items:center;gap:14px;margin:16px 0;font-size:14px}.route-map-select select{min-height:48px;max-width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.route-diagram{display:flex;flex-direction:column;margin:24px 0;padding:0 0 0 14px;border-left:3px dashed #bda780;gap:16px}.route-diagram a{font-size:15px;padding:12px 16px;background:#f0f2e9;border-radius:12px;min-height:48px;text-decoration:none}.live-map{height:380px;border-radius:14px;position:relative;z-index:0}.map-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px}.map-stop-links{padding-left:22px}.map-stop-links li{padding:12px 0;border-bottom:1px solid var(--line)}.map-stop-links li>a{display:block;font-size:15px;padding:5px 0;min-height:36px}.map-stop-links li>a:last-child{font-size:13px;min-height:44px}.route-marker{background:#193d39;color:#fff;border:2px solid white;border-radius:50%;text-align:center;line-height:26px;font-weight:700}.live-map .leaflet-control-attribution{font-size:11px;max-width:100%;color:#193d39}.live-map .leaflet-control-attribution a{color:#193d39}.live-map .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}.live-map .leaflet-marker-icon{font-family:Arial,sans-serif}.live-map .leaflet-popup-content{font-size:14px}#privacy-dialog{max-width:560px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:28px;border:1px solid var(--line);border-radius:22px;color:var(--ink);background:var(--paper);overflow:auto}#privacy-dialog::backdrop{background:#132f2bc4}#privacy-dialog h2{font-size:28px}#privacy-dialog p{font-size:15px}.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.consent-actions .button{font-size:14px;min-height:52px}#privacy-dialog .consent-foot{font-size:12px;margin:16px 0 0}.bottom-nav{grid-template-columns:repeat(4,1fr);max-width:520px}.bottom-nav a{flex:1;min-width:0}.site-footer .text-link{font-size:12px}.route-choice .route-conditions{font-size:14px!important}.time-budget li{font-size:15px!important}.time-budget strong{font-size:14px!important}.page-heading p:last-child{font-size:16px!important}@media(max-width:700px){.business-grid{grid-template-columns:1fr}.nearby-callout{display:block;padding:22px}.nearby-callout .button{margin-top:16px;width:100%}.business-categories{display:grid;grid-template-columns:1fr 1fr}.business-categories a{font-size:14px;padding:12px}.journey-map{padding:18px}.route-map-select{align-items:flex-start;flex-direction:column;gap:6px}.route-map-select select{width:100%}.live-map{height:340px}.map-actions>.button{width:100%}.consent-actions{grid-template-columns:1fr}#privacy-dialog{padding:24px}.business-card{padding:22px}.bottom-nav{max-width:none}.route-diagram a{font-size:14px}.map-stop-links li>a{font-size:14px}}@media(min-width:900px){.bottom-nav{display:none}.site-footer{padding-bottom:40px}}.general-intro{padding:46px 0 40px;max-width:730px}.general-intro h1{font-size:60px;margin:12px 0 24px}.general-intro>p:not(.eyebrow){font-size:18px;max-width:590px}.general-intro>.button{font-size:15px;margin-top:8px;min-height:52px}.general-meta{display:block;font-size:13px;margin-top:14px;color:var(--muted)}.general-places{border-top:1px solid var(--line);padding-top:30px}.general-places>p{font-size:15px}.general-note{background:#e9edde;border-radius:22px;padding:28px;margin:32px 0}.general-note h2{font-size:27px}.general-note p{font-size:15px;max-width:740px;margin-bottom:8px}.home-tools{display:flex;gap:28px;margin:10px 0 28px}.home-tools .text-link{font-size:12px}.route-options{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:30px}.route-choice{border-radius:22px;padding:30px;align-self:start;scroll-margin-top:20px}.route-duration{display:block;font-size:20px;font-weight:700;margin-bottom:14px}.route-choice h2{font-size:34px;margin-bottom:14px}.route-choice>p{color:inherit;font-size:14px;line-height:1.65}.choice-facts{font-size:13px;margin:20px 0}.route-choice>.button{width:100%;font-size:15px;min-height:52px}.route-choice .budget-title{font-size:19px;margin:28px 0 14px;letter-spacing:-.02em}.time-budget{list-style:none;padding:0;margin:0}.time-budget li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #193d3926;line-height:1.5;font-size:13px}.time-budget li>span{flex:1}.time-budget strong{font-size:12px;white-space:nowrap}.time-budget a{text-decoration:none}.time-budget a:hover{text-decoration:underline}.time-budget .budget-break{background:#fff6;padding:12px;border-radius:10px;margin-top:7px}.budget-total{display:flex;justify-content:space-between;gap:20px;margin:16px 0;font-size:14px;font-weight:600}.route-choice .route-conditions{font-size:12px;line-height:1.7;margin-bottom:0}.timing-note{font-size:12px;line-height:1.7;margin:22px 0 35px;max-width:870px}.journey-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.journey-top .back-link{margin:12px 0}.journey-count{font-size:12px;font-weight:700;white-space:nowrap}.guided-heading{padding:20px 0 15px}.guided-heading .eyebrow{margin-bottom:12px}.guided-heading h1{font-size:44px;margin:0 0 20px}.guided-heading p:not(.eyebrow){font-size:16px;max-width:740px;margin:0}.stop-direct-actions{display:flex;gap:14px}.stop-direct-actions .button{flex:1;min-height:54px;font-size:15px}.direct-address{font-size:12px;margin:16px 0 25px}.guided-transcript{margin:20px 0 10px}.guided-transcript summary{font-size:15px}.next-place{padding:28px;background:#e8edde;border-radius:22px;margin:28px 0 38px}.next-place h2{font-size:28px}.next-place p:not(.eyebrow){font-size:14px}.next-place>.button{min-height:52px;min-width:230px;font-size:15px}.sponsor-card{display:flex;gap:18px;background:#fbf0df;border:1px solid #e5d5be;border-radius:18px;padding:24px;color:#533b26}.sponsor-symbol{font-size:34px;flex:none}.sponsor-card .eyebrow{color:#754926;font-size:10px}.sponsor-card h3{font-size:24px;margin:10px 0 12px;letter-spacing:-.03em}.sponsor-card p:not(.eyebrow){font-size:14px;color:#715436;margin-bottom:10px}.sponsor-card .text-link{font-size:14px;text-decoration:underline}.sponsor-disclosure{display:block;font-size:11px;line-height:1.7;color:#715436;max-width:650px;margin-top:8px}.below-break{margin:22px 0}.player-expand,.mini-toggle{color:inherit;background:transparent;min-width:44px;min-height:44px;font-size:20px;padding:0}.mini-toggle{border-radius:50%;background:#f5ead1;color:var(--ink);font-size:15px}.player-compact .player-controls,.player-compact .player-progress,.player-compact .player-art{display:none}.player:not(.player-compact) .mini-toggle{display:none}.player-top{gap:8px}.player .player-title{min-width:0;max-height:44px;overflow:hidden}.player-compact{padding:10px 12px}.player-compact .player-close{min-width:34px;min-height:44px}.player-expanded .site-footer{padding-bottom:320px}@media(min-width:900px){body[data-page=stop] main{max-width:900px}}@media(max-width:600px){.site-header{min-height:70px;padding:13px 20px}.brand small{display:none}.brand-mark{width:36px;height:36px;font-size:32px}.brand{font-size:16px}.general-intro{padding:28px 0 30px}.general-intro h1{font-size:42px;margin:12px 0 18px;line-height:1.08}.general-intro>p:not(.eyebrow){font-size:15px}.general-intro>.button{width:100%;font-size:15px;min-height:52px}.general-meta{font-size:12px;text-align:center}.general-places .section-heading h2{font-size:27px}.general-places>p{font-size:14px}.general-places .place-grid{display:grid;grid-template-columns:1fr;gap:12px}.general-places .place-card{display:grid;grid-template-columns:92px 1fr;min-height:120px;border-radius:16px}.general-places .place-visual{height:100%;min-height:120px}.general-places .place-copy{padding:16px}.general-places .place-copy h3{font-size:19px;margin-bottom:8px}.general-places .place-copy .eyebrow{font-size:8px}.general-places .place-copy p:last-child{font-size:11px}.general-places .place-visual .audio-pill{font-size:9px;left:7px;bottom:9px}.general-note{padding:23px;margin:26px 0}.general-note h2{font-size:25px}.general-note p{font-size:14px}.home-tools{gap:8px;justify-content:space-between;flex-wrap:wrap}.home-tools .text-link{font-size:11px}.route-options{grid-template-columns:1fr;gap:24px}.route-choice{padding:23px;border-radius:20px}.route-choice h2{font-size:30px}.route-choice>p{font-size:14px}.route-duration{font-size:21px}.choice-facts,.time-budget li{font-size:13px}.time-budget strong,.route-choice .route-conditions,.timing-note{font-size:12px}.journey-top .back-link{margin:6px 0;font-size:12px}.journey-count{font-size:12px}.guided-heading{padding:18px 0 22px}.guided-heading .eyebrow{font-size:9px}.guided-heading h1{font-size:34px;line-height:1.12;margin-bottom:17px}.guided-heading p:not(.eyebrow){font-size:15px;line-height:1.65}.stop-direct-actions{gap:10px}.stop-direct-actions .button{font-size:13px;min-height:54px;padding:12px 10px;gap:7px}.stop-direct-actions .button svg{width:17px;height:17px}.direct-address{font-size:11px;line-height:1.7}.guided-transcript summary{font-size:14px}.next-place{padding:24px}.next-place h2{font-size:26px}.next-place>.button{width:100%;min-width:0}.sponsor-card{padding:20px;gap:12px}.sponsor-symbol{font-size:27px}.sponsor-card .eyebrow{font-size:9px}.sponsor-card h3{font-size:23px}.sponsor-card p:not(.eyebrow){font-size:13px}.sponsor-disclosure{font-size:11px}.sponsor-card .text-link{font-size:13px}.player-compact{bottom:calc(76px + env(safe-area-inset-bottom));padding:8px 10px}.player-compact .player-title{font-size:12px}.player-expand{min-width:30px}.player-compact .mini-toggle{width:44px;height:44px;min-width:44px}.player-compact .player-close{width:32px;min-width:32px}.has-player .site-footer{padding-bottom:calc(195px + env(safe-area-inset-bottom))}.has-player.player-expanded .site-footer{padding-bottom:calc(290px + env(safe-area-inset-bottom))}.has-player .toast{bottom:calc(160px + env(safe-area-inset-bottom))}.has-player.player-expanded .toast{bottom:calc(270px + env(safe-area-inset-bottom))}}.route-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 25px;max-width:630px}.route-comparison a{display:flex;flex-direction:column;gap:5px;padding:17px 20px;background:#fff;border:1px solid var(--line);border-radius:16px;text-decoration:none}.route-comparison strong{font-size:22px}.route-comparison span{font-size:12px}.route-breakdown{margin-top:16px}.route-breakdown summary{cursor:pointer;font-size:14px;font-weight:600;min-height:48px;padding:14px 0}.route-breakdown .time-budget{margin-top:10px}@media(max-width:600px){.route-comparison a{padding:14px}.route-comparison strong{font-size:21px}.route-comparison span{font-size:11px}}.route-businesses{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.route-businesses summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:700;font-size:16px}.route-businesses>p,.route-business-group>p{font-size:14px}.route-business-group h3{font-size:20px;margin:24px 0 10px}.route-business-group ul{list-style:none;padding:0;margin:0}.route-business-group li{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:12px 0;font-size:15px}.route-business-group li>span{min-width:0}.route-business-group small{display:block;font-size:12px}.route-business-group a{flex-shrink:0;display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-underline-offset:4px}.business-actions .button{max-width:100%}.business-note{font-weight:600}.stop-businesses{margin-top:32px}.business-card{min-width:0}.business-card h3{overflow-wrap:anywhere}@media(max-width:560px){.route-business-group li{align-items:flex-start;flex-direction:column;gap:2px}.business-actions{align-items:flex-start;flex-direction:column}.business-actions .text-link{display:inline-flex;align-items:center;min-height:44px}}.privacy-close{float:right;display:grid;place-items:center;min-width:44px;min-height:44px;margin:0 0 8px 12px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:26px;cursor:pointer}#privacy-dialog h2{padding-top:8px}

/* ===== Restyling 2026-10: mobile prima di tutto ===== */
@keyframes page-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
main{animation:page-in .45s cubic-bezier(.2,.7,.2,1)}
.button:active,.place-card:active,.business-card .button:active,.bottom-nav a:active{transform:scale(.97)}
.button,.place-card,.bottom-nav a{transition:transform .18s ease,background .2s}
/* Apertura home */
.hero-visual{position:relative;margin:0 0 26px;border-radius:26px;overflow:hidden;aspect-ratio:4/3;background:#f1d9b0;box-shadow:0 18px 40px -22px #193d3966}
.hero-visual img{display:block;width:100%;height:100%;object-fit:cover}
.hero-listen{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 18px;border-radius:99px;background:#fffdf6ee;color:var(--ink);font-size:14px;font-weight:700;box-shadow:0 6px 20px #193d3926;backdrop-filter:blur(6px);animation:rise .6s .25s both}
.hero-listen:hover{background:#fff}
.general-intro>.eyebrow{animation:rise .5s .05s both}.general-intro>h1{animation:rise .55s .1s both}.general-intro>p:not(.eyebrow){animation:rise .55s .16s both}
.home-stats{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.home-stats li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 12px 10px;display:flex;flex-direction:column;gap:2px}
.home-stats strong{font:400 24px/1.1 Georgia,serif;letter-spacing:-.03em;color:var(--ink)}
.home-stats span{font-size:12px;line-height:1.35;color:var(--muted)}
.swipe-hint{display:none}
/* Schede dei luoghi */
.place-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.place-card:hover .place-visual img{transform:scale(1.05)}
.place-card{box-shadow:0 10px 30px -24px #193d3980}
/* Illustrazione della tappa */
.stop-hero{margin:4px 0 6px;border-radius:24px;overflow:hidden;aspect-ratio:4/3;max-height:420px;width:100%;background:#efe3c6;box-shadow:0 18px 40px -24px #193d3966}
.stop-hero img{display:block;width:100%;height:100%;object-fit:cover;animation:page-in .7s both}
@media(min-width:900px){
.general-intro{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);column-gap:56px;align-items:center}
.general-intro>*:not(.hero-visual){grid-column:1}
.hero-visual{grid-column:2;grid-row:1/span 6;margin:0}
.stop-hero{aspect-ratio:16/9}
}
@media(max-width:600px){
/* leggibilità: nessun testo sotto i 12px */
body{font-size:16px}
.eyebrow,.section-heading .eyebrow,.guided-heading .eyebrow,.stop-overline .eyebrow,.install-banner .eyebrow{font-size:11px;letter-spacing:.12em}
.general-places .place-copy .eyebrow,.place-copy .eyebrow{font-size:11px;letter-spacing:.06em}
.general-places .place-copy p:last-child,.place-copy p:last-child{font-size:13px}
.audio-pill,.general-places .place-visual .audio-pill{font-size:12px;padding:5px 10px}
.site-footer{font-size:13px;gap:6px 18px}.site-footer .text-link{font-size:13px}
.bottom-nav a{font-size:11px}
.direct-address,.journey-count,.back-link,.journey-top .back-link{font-size:13px}
.home-tools .text-link{font-size:14px}
.player-title,.player-compact .player-title{font-size:13px}.player-progress{font-size:12px}
.business-categories span{font-size:13px}.business-card .business-address{font-size:14px}
.sponsor-disclosure,.listing-source{font-size:13px}
.route-meta,.route-cover .route-note,.route-stops li>a span{font-size:13px}
.choice-facts{font-size:14px}.time-budget strong,.route-choice .route-conditions,.timing-note{font-size:13px!important}
.map-number,.map-list p{font-size:13px}.map-panel p{font-size:14px}.source-list li{font-size:14px}
.page-heading h1{font-size:40px;line-height:1.08}
.page-heading p:last-child{font-size:16px!important}
.filter-chips a{font-size:13px}
.stop-actions .text-link{font-size:13px}
#privacy-dialog .consent-foot{font-size:13px}
/* home */
main{padding:0 18px}
.general-intro{padding:16px 0 30px}
.hero-visual{margin:0 -6px 22px;border-radius:24px}
.general-intro h1{font-size:44px;margin:10px 0 16px}
.general-intro>p:not(.eyebrow){font-size:17px;line-height:1.55}
.home-stats{gap:8px}.home-stats li{padding:10px 10px 9px;border-radius:14px}.home-stats strong{font-size:21px}
/* luoghi: carosello orizzontale come in un'app */
.swipe-hint{display:block;font-size:13px;margin:-4px 0 12px;color:var(--muted)}
.general-places .place-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -18px;padding:4px 18px 20px;scroll-padding:0 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.general-places .place-grid::-webkit-scrollbar{display:none}
.general-places .place-card{flex:0 0 80%;display:flex;flex-direction:column;scroll-snap-align:start;min-height:0;border-radius:22px}
.general-places .place-visual{height:auto;min-height:0;aspect-ratio:4/3}
.general-places .place-copy{padding:16px 18px 18px}
.general-places .place-copy h3{font-size:21px;line-height:1.2}
.general-places .place-visual .audio-pill{left:12px;bottom:12px}
.general-note{border-radius:22px}
.nearby-callout h2{font-size:24px}
/* tappa */
.stop-hero{margin:2px -6px 4px;width:calc(100% + 12px);max-height:46vh;border-radius:22px}
.guided-heading{padding:14px 0 18px}
.guided-heading h1{font-size:36px}
.stop-direct-actions{flex-wrap:wrap}
.stop-direct-actions [data-listen]{order:-1;flex:1 0 100%;min-height:58px;font-size:16px}
.stop-direct-actions .button.secondary{min-height:50px;font-size:14px}
.transcript p,.guided-transcript p{font-size:17px;line-height:1.8}
.next-place{position:relative;overflow:hidden}
/* percorsi */
.route-comparison strong{font-size:24px}.route-comparison span{font-size:13px}
.quick-steps{font-size:15px}
}
@media(max-width:380px){.general-intro h1{font-size:38px}.home-stats strong{font-size:18px}.home-stats span{font-size:11.5px}}
.notfound-art{max-width:420px;margin:0 auto 28px}.notfound-en{margin-top:28px;font-size:14px}
/* Pagina proposta per il Comune */
.pitch-hero{display:grid;gap:34px;padding:34px 0 26px;align-items:center}
.pitch h1{font-size:clamp(40px,6vw,68px);line-height:1.04;margin:10px 0 18px}
.pitch-lead{font-size:18px;line-height:1.6;max-width:560px}
.pitch-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.pitch-actions .button{min-height:52px;font-size:15px}
.button.ghost{background:transparent;border-color:#ffffff55;color:#fff9e9}
.pitch-phone{justify-self:center;width:min(300px,80vw);aspect-ratio:9/18.5;border-radius:44px;background:#193d39;padding:12px;box-shadow:0 40px 70px -30px #193d39aa,inset 0 0 0 2px #2e5c50;animation:rise .8s .2s both}
.phone-screen{height:100%;border-radius:34px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column}
.phone-screen img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.phone-ui{padding:18px;display:flex;flex-direction:column;gap:10px}
.phone-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.phone-ui strong{font:400 26px/1.1 Georgia,serif;color:var(--ink)}
.phone-play{margin-top:6px;background:var(--ink);color:#fff;border-radius:99px;padding:12px;text-align:center;font-size:14px;font-weight:700}
.phone-line{height:9px;border-radius:9px;background:var(--line)}.phone-line.short{width:62%}
.pitch-facts{list-style:none;padding:0;margin:8px 0 10px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pitch-facts li{background:var(--ink);color:#fff9e9;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:4px}
.pitch-facts strong{font:400 40px/1 Georgia,serif;color:#e4c591}
.pitch-facts span{font-size:13px;line-height:1.35;color:#d7e2d9}
.pitch-section{padding:46px 0 6px}
.pitch-section h2{font-size:clamp(28px,4vw,42px);line-height:1.1;margin-bottom:24px;max-width:760px}
.pitch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pitch-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}
.pitch-icon{display:inline-flex;padding:11px;border-radius:14px;background:var(--mint);margin-bottom:14px}
.pitch-card h3{font-size:20px;margin-bottom:8px;letter-spacing:-.02em}
.pitch-card p{font-size:15px;line-height:1.6;margin:0}
.pitch-steps ol,.pitch-next ol{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pitch-steps li,.pitch-next li{counter-increment:s;background:#ecefe4;border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:6px;font-size:15px;color:var(--muted)}
.pitch-steps li:before,.pitch-next li:before{content:counter(s);font:400 34px/1 Georgia,serif;color:var(--clay);margin-bottom:6px}
.pitch-steps strong,.pitch-next strong{font-size:19px;color:var(--ink)}
.pitch-why ul{list-style:none;padding:0;margin:0;display:grid;gap:2px}
.pitch-why li{padding:16px 0 16px 34px;border-bottom:1px solid var(--line);font-size:16px;line-height:1.55;color:var(--muted);position:relative}
.pitch-why li:before{content:"";position:absolute;left:4px;top:23px;width:14px;height:8px;border-left:2.5px solid var(--clay);border-bottom:2.5px solid var(--clay);transform:rotate(-45deg)}
.pitch-why strong{color:var(--ink)}
.pitch-extend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 28px}
.pitch-extend h3{font-size:18px;margin-bottom:6px;padding-top:14px;border-top:2px solid var(--ink)}
.pitch-extend p{font-size:15px;margin:0}
.pitch-note{font-size:14px;margin-top:22px;max-width:760px}
.pitch-contact{margin:46px 0 40px;border-radius:28px;overflow:hidden;background:var(--ink);color:#fff9e9;display:grid;grid-template-columns:1fr 1.2fr}
.pitch-contact img{width:100%;height:100%;object-fit:cover;display:block;min-height:260px}
.pitch-contact>div{padding:34px}
.pitch-contact .eyebrow{color:#e4c591}
.pitch-contact h2{font-size:36px;margin-bottom:8px}
.pitch-contact p{color:#d7e2d9;font-size:16px}
.pitch-contact .text-link{color:#fff9e9;margin-top:14px;font-size:14px}
@media(min-width:900px){.pitch-hero{grid-template-columns:1.3fr 1fr;padding-top:56px}}
@media(max-width:900px){.pitch-grid,.pitch-extend{grid-template-columns:1fr 1fr}.pitch-contact{grid-template-columns:1fr}.pitch-contact img{min-height:0;aspect-ratio:16/9}}
@media(max-width:600px){
.pitch-hero{padding:18px 0 18px;gap:30px}
.pitch h1{font-size:42px}
.pitch-lead{font-size:17px}
.pitch-actions .button{flex:1 1 100%}
.pitch-facts{grid-template-columns:1fr 1fr;gap:8px}
.pitch-facts strong{font-size:34px}
.pitch-section{padding-top:38px}
.pitch-section h2{font-size:30px}
.pitch-grid,.pitch-extend,.pitch-steps ol,.pitch-next ol{grid-template-columns:1fr}
.pitch-card{padding:20px}
.pitch-contact>div{padding:24px}
.pitch-contact h2{font-size:30px}
.pitch-contact .button{font-size:14px;overflow-wrap:anywhere}
}
.home-stats strong{font:700 21px/1.1 Arial,Helvetica,sans-serif;letter-spacing:-.03em}.pitch-facts strong{font:700 36px/1 Arial,Helvetica,sans-serif;letter-spacing:-.04em}@media(max-width:600px){.home-stats strong{font-size:19px}.pitch-facts strong{font-size:30px}}
.route-choice{overflow:hidden}.route-visual{display:block;width:calc(100% + 60px);max-width:none;margin:-30px -30px 22px;height:auto;aspect-ratio:16/9;object-fit:cover}@media(max-width:600px){.route-visual{width:calc(100% + 46px);margin:-23px -23px 18px}}
@media(min-width:900px){.general-intro>.button{justify-self:start}}

/* ===== Esperienza d'ascolto e navigazione (2026-10, fase 2) ===== */
/* Lettore: copertina e frase in corso */
.player{background:linear-gradient(160deg,#21483f,#193d39 60%);border-color:#3d6457}
.player-compact .player-art{display:flex}
.player-art{padding:0;width:48px;height:48px;border-radius:12px;overflow:hidden;flex:none;background:#ffffff15}
.player-art img{width:100%;height:100%;object-fit:cover;display:block}
.player-compact .player-art{width:40px;height:40px;border-radius:10px}
.player-caption{margin:8px 2px 2px!important;font:400 15px/1.45 Georgia,serif!important;color:#f5ead1!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:0}
.player-caption:empty{display:none}
.player-compact .player-caption{font-size:13px!important;-webkit-line-clamp:1;margin-top:6px!important}
/* Testo sincronizzato */
.sync-hint{font:600 13px/1.5 Arial,sans-serif!important;color:var(--clay)!important;margin:0 0 8px!important}
.cue{cursor:pointer;border-radius:6px;transition:background .3s,color .3s;padding:1px 0;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.cue:hover{background:#e9e1cd}
.is-synced .cue.is-past{color:#7b8a81}
.cue.is-now{background:#f6dfb0;color:var(--ink);box-shadow:0 0 0 3px #f6dfb0}
/* Home: riprendi e ascoltate */
.resume-strip{display:flex;align-items:center;gap:14px;padding:12px 12px 12px 12px;margin:0 0 26px;border-radius:20px;background:var(--ink);color:#fff9e9;box-shadow:0 14px 30px -20px #193d39aa;animation:rise .5s both}
.resume-strip img{width:64px;height:48px;border-radius:12px;object-fit:cover;flex:none}
.resume-strip span{flex:1;min-width:0;display:flex;flex-direction:column}
.resume-strip small{font-size:12px;color:#cfdcd2;letter-spacing:.04em}
.resume-strip strong{font-size:16px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.resume-strip .button{background:#f5ead1;color:var(--ink);min-height:44px;padding:10px 16px;flex:none}
.listened-badge{position:absolute;right:12px;top:12px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;padding:5px 10px;border-radius:99px}
.listen-progress{font-size:14px;font-weight:600;color:var(--clay);margin:-8px 0 12px}
/* Mappa: tinte calde, segnaposto, persona */
.live-map{height:420px;border-radius:18px;overflow:hidden;background:#efe7d6}
.live-map .leaflet-tile-pane{filter:saturate(.7) sepia(.18) brightness(1.03) contrast(.96)}
.route-pin{display:grid;place-items:center}
.route-pin span{position:relative;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font:700 14px/1 Arial,sans-serif;border:3px solid #fffdf6;box-shadow:0 6px 14px #193d3955}
.route-pin span::after{content:"";position:absolute;bottom:-9px;left:50%;margin-left:-6px;border:6px solid transparent;border-top:7px solid #fffdf6}
.route-pin.is-visited span{background:var(--clay)}
.me-pin{position:relative}
.me-dot{position:absolute;left:13px;top:13px;width:18px;height:18px;border-radius:50%;background:#1b63ab;border:3px solid #fff;box-shadow:0 0 0 0 #1b63ab66;animation:me-pulse 2s infinite}
.me-cone{position:absolute;left:0;top:0;width:44px;height:44px;opacity:0;transition:transform .4s,opacity .3s;background:conic-gradient(from -28deg,#1b63ab55 0 56deg,transparent 56deg);border-radius:50%;-webkit-mask:radial-gradient(circle,transparent 9px,#000 10px);mask:radial-gradient(circle,transparent 9px,#000 10px)}
@keyframes me-pulse{70%{box-shadow:0 0 0 14px #1b63ab00}100%{box-shadow:0 0 0 0 #1b63ab00}}
.map-popup{display:flex;flex-direction:column;gap:10px;min-width:180px}
.map-popup a{font-weight:700;font-size:15px}
.map-popup .button{min-height:42px;font-size:13px}
.journey-map{position:relative}
.map-tools{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.map-full,.map-recenter{border:1px solid var(--line);background:#fffdf6;color:var(--ink);box-shadow:0 4px 14px #193d3926}
.map-full{width:44px;height:44px;border-radius:12px;display:grid;place-items:center}.map-full svg{width:22px;height:22px}
.map-recenter{min-height:42px;padding:8px 14px;border-radius:99px;font-weight:700;font-size:13px}
.nav-panel{margin-top:14px;padding:18px;border-radius:18px;background:var(--ink);color:#fff9e9;display:flex;flex-direction:column;gap:4px}
.nav-panel strong{font:400 24px/1.15 Georgia,serif;color:#fff}
.nav-panel span{font-size:14px;color:#d7e2d9}
.nav-kicker{margin:0;font-size:11px!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#e4c591!important}
.nav-big{font:700 20px/1.3 Arial,sans-serif!important;color:#fff!important;margin-top:4px}
.nav-warn{background:#f6dfb0;color:var(--ink)!important;border-radius:10px;padding:8px 10px;margin-top:6px;font-weight:600}
.nav-progress{display:block;height:6px;border-radius:6px;background:#ffffff26;margin:10px 0 4px;overflow:hidden}
.nav-progress span{display:block;height:100%;width:var(--p,0%);background:#e4c591;border-radius:6px;transition:width .6s}
.nav-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.nav-actions .button{flex:1;min-height:48px}
.nav-actions .button.secondary{color:#fff9e9;border-color:#ffffff55}
.nav-panel .text-link{color:#fff9e9;font-size:14px}
/* Schermo intero tipo navigatore */
.map-fullscreen{position:fixed!important;inset:0;z-index:60;margin:0!important;border-radius:0!important;padding:0!important;background:var(--paper);display:flex;flex-direction:column;border:0!important}
.map-fullscreen>:not(.live-map):not(.nav-panel):not(.map-actions){display:none!important}
.map-fullscreen .live-map{flex:1;height:auto!important;border-radius:0}
.map-fullscreen .leaflet-top{top:env(safe-area-inset-top,0px)}
.map-fullscreen .nav-panel{position:absolute;z-index:500;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));margin:0;box-shadow:0 14px 40px #0006}
.map-fullscreen .map-actions{position:absolute;z-index:500;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));margin:0;flex-wrap:nowrap;overflow-x:auto}
.map-fullscreen .map-actions .button{width:auto!important;flex:1 0 auto;min-height:52px;box-shadow:0 6px 18px #0003}
.map-fullscreen .map-actions .button.secondary{background:#fffdf6}
.map-fullscreen .map-actions [data-privacy-settings]{display:none}
.map-fullscreen-on .bottom-nav,.map-fullscreen-on .player,.map-fullscreen-on .site-header{visibility:hidden}
@media(max-width:700px){.live-map{height:380px}}
.leaflet-pane svg{width:auto;height:auto;max-width:none}
/* Schede attività con illustrazione */
.business-card{overflow:hidden;transition:transform .25s,box-shadow .25s;box-shadow:0 10px 30px -24px #193d3980}
.business-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px #193d39a0}
.business-photo{display:block;width:calc(100% + 48px);max-width:none;height:auto;aspect-ratio:16/10;object-fit:cover;margin:-24px -24px 18px}
@media(max-width:700px){.business-photo{width:calc(100% + 44px);margin:-22px -22px 16px}}
/* Proposta: funzioni e sponsor */
.feature-list{display:grid;gap:16px}
.feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}
.feature img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block}
.feature>div{padding:26px}
.feature h3{font-size:22px;margin-bottom:10px;letter-spacing:-.02em}
.feature p{font-size:15px;line-height:1.6}
.sponsor-demo{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}
.sponsor-copy p{font-size:16px;line-height:1.6}
.sponsor-copy ul{padding:0;list-style:none;margin:16px 0 22px;display:grid;gap:10px}
.sponsor-copy li{font-size:15px;color:var(--muted);padding-left:18px;border-left:3px solid var(--clay)}
.sponsor-copy strong{color:var(--ink)}
.sponsor-sample{transform:rotate(1.5deg)}
@media(max-width:800px){.feature,.sponsor-demo{grid-template-columns:1fr}.feature img{min-height:0;aspect-ratio:16/9;height:auto}.feature>div{padding:20px}.sponsor-sample{transform:none}}
@media(max-width:700px){.business-grid .business-photo{aspect-ratio:2/1}}
