/* Parcheggio Trastevere — foglio di stile */

@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/big-shoulders-display-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/big-shoulders-display-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/big-shoulders-display-latin-900-normal.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500 600;font-display:swap;src:url(../fonts/manrope-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/manrope-latin-800-normal.woff2) format('woff2')}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff}
[hidden]{display:none !important}
a{color:#1D47B3}a:hover{color:#15181D}
.page{--bg:#FFFFFF;--bg2:#F6F5F1;--line:#E4E0D8;--text:#15181D;--muted:#4E5562;--amber:#FFC21A;--amber-ink:#7A4F00;--blue:#2457D6;--blue-ink:#1D47B3;--wa:#25D366;background:var(--bg);color:var(--text);font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.page *{box-sizing:border-box}
.page img{max-width:100%;display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:12px 18px;border-radius:10px;background:#15181D;color:#fff;font-weight:800;text-decoration:none}
.skip:focus{top:12px;color:#fff}
.amber{background:linear-gradient(transparent 60%,var(--amber) 60%,var(--amber) 92%,transparent 92%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .04em}
.blue{color:var(--blue)}
.display{font-family:'Big Shoulders Display',Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-weight:900;letter-spacing:.005em;line-height:.92;margin:0}
.kicker{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-ink);margin:0 0 14px}
.h2{font-family:'Big Shoulders Display',Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-weight:800;font-size:clamp(40px,5vw,72px);line-height:.96;margin:0}
.h3{font-family:'Big Shoulders Display',Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-weight:800;font-size:clamp(32px,3.1vw,44px);line-height:.98;margin:0 0 14px}
.lead{color:var(--muted);font-size:clamp(17px,1.35vw,19px);max-width:580px;margin:0}
.sec,.cta-band,.form-card{scroll-margin-top:84px}

/* header */
.top{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}
.brand:hover{color:var(--text)}
.pmark{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--blue);color:#fff;font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:29px;line-height:1;flex:none}
.brand-txt{display:flex;flex-direction:column;line-height:1.1}
.brand-txt strong{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.02em}
.brand-txt small{font-size:13px;color:var(--muted);letter-spacing:.02em}
.nav{display:flex;gap:28px}
.nav a{color:var(--muted);text-decoration:none;font-weight:700;font-size:15.5px;padding:10px 0}
.nav a:hover{color:var(--text)}
.top-actions{display:flex;align-items:center;gap:14px}
.lang{display:flex;gap:2px;font-size:14px;font-weight:800}
.lang .cur{color:var(--text);padding:10px 8px}
.lang a{color:var(--muted);text-decoration:none;padding:10px 8px;border-radius:8px}
.lang a:hover{color:var(--text);background:var(--bg2)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:14px;font-family:inherit;font-weight:800;font-size:16px;line-height:1.1;text-decoration:none;border:0;cursor:pointer;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;white-space:nowrap}
.btn svg{width:20px;height:20px;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn[disabled]{opacity:.65;cursor:progress;transform:none}
.btn-sm{min-height:46px;padding:0 18px;font-size:15px}
.btn-amber{background:var(--amber);color:#15181D;box-shadow:inset 0 0 0 1px rgba(122,79,0,.25),0 12px 26px -14px rgba(180,120,0,.7)}
.btn-amber:hover{color:#15181D;background:#FFCE45}
.btn-wa{background:var(--wa);color:#06301A;box-shadow:inset 0 0 0 1px rgba(6,48,26,.18)}
.btn-wa:hover{color:#06301A;background:#3BE07D}
.btn-ghost{background:#fff;color:var(--text);box-shadow:inset 0 0 0 1.5px #8F887B}
.btn-ghost:hover{color:var(--text);box-shadow:inset 0 0 0 2px #15181D}
.btn-ink{background:#15181D;color:#FFC21A}
.btn-ink:hover{color:#FFD65C;background:#000}
.btn-ink-ghost{background:transparent;color:#15181D;box-shadow:inset 0 0 0 2px #15181D}
.btn-ink-ghost:hover{color:#15181D;background:rgba(21,24,29,.08)}
.page a:focus-visible,.page button:focus-visible,.page input:focus-visible,.page textarea:focus-visible,.page summary:focus-visible{outline:3px solid #1D47B3;outline-offset:3px}

/* hero */
.hero{position:relative;padding:64px 0 88px;overflow:hidden}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:56px;align-items:center}
.chip{display:inline-flex;align-items:center;gap:10px;margin:0 0 26px;padding:8px 14px 8px 12px;border-radius:999px;background:#E6F6EC;color:#0B5E2E;font-size:14.5px;font-weight:700;box-shadow:inset 0 0 0 1px #B7E5C8}
.live{width:10px;height:10px;border-radius:50%;background:#1FB85A;flex:none;animation:live 1.8s ease-out infinite}
.h1{font-size:clamp(58px,8.2vw,124px);margin:0 0 28px}
.h1 .line{display:block}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.trust{list-style:none;padding:0;margin:34px 0 0;display:flex;flex-wrap:wrap;gap:12px 28px;color:var(--muted);font-size:15.5px}
.trust li{display:flex;align-items:center;gap:10px}
.trust strong{color:var(--text);font-weight:800}
.stars{display:inline-flex;gap:2px}
.stars svg{width:17px;height:17px}
.map-card{position:relative;border-radius:28px;background:#F3F1EC;box-shadow:0 0 0 1px var(--line),0 34px 70px -34px rgba(21,24,29,.45);overflow:hidden}
.map-card .map{display:block;width:100%;height:auto}
.map-chip{position:absolute;top:16px;left:16px;padding:8px 12px;border-radius:10px;background:#fff;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text);box-shadow:0 2px 10px rgba(21,24,29,.14)}
.map-chip2{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:10px;background:#fff;font-size:14px;font-weight:800;color:var(--text);box-shadow:0 2px 10px rgba(21,24,29,.14)}
.map-chip2 svg{width:17px;height:17px;color:#0B5E2E}
.map-attr{position:absolute;left:16px;bottom:10px;font-size:10.5px;color:#5C6470}

/* motion */
.reveal{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.6s cubic-bezier(.65,0,.35,1) .35s forwards}
.route{stroke-dasharray:.1 7;animation:walk 1s linear infinite}
.pop{opacity:0;animation:pop .7s cubic-bezier(.2,.8,.2,1) forwards}
.pulse{transform-box:fill-box;transform-origin:center;animation:pulse 2.2s ease-out infinite}
.rise{opacity:0;transform:translateY(22px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
.d1{animation-delay:.05s}.d2{animation-delay:.15s}.d3{animation-delay:.27s}.d4{animation-delay:.39s}.d5{animation-delay:.55s}.d6{animation-delay:.68s}.d7{animation-delay:.8s}
.p1{animation-delay:1.9s}.p2{animation-delay:2.2s}.p3{animation-delay:2.45s}.p4{animation-delay:2.7s}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes appear{to{opacity:.9}}
@keyframes walk{to{stroke-dashoffset:-14.2}}
@keyframes pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes pulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(3.8);opacity:0}}
@keyframes rise{to{opacity:1;transform:none}}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(31,184,90,.55)}100%{box-shadow:0 0 0 10px rgba(31,184,90,0)}}
@keyframes marquee{to{transform:translateX(-50%)}}

/* marquee */
.marquee{background:var(--amber);overflow:hidden;padding:16px 0}
.mq-track{display:flex;align-items:center;gap:28px;width:max-content;animation:marquee 40s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-track span{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:27px;text-transform:uppercase;letter-spacing:.04em;color:#15181D;white-space:nowrap}
.mq-track i{display:block;width:9px;height:9px;background:#15181D;transform:rotate(45deg);flex:none}

/* sections */
.sec{padding:104px 0}
.sec-alt{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{max-width:880px;margin-bottom:52px}
.features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.feat{padding:28px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px var(--line);transition:transform .25s ease,box-shadow .25s ease}
.feat:hover{transform:translateY(-3px);box-shadow:0 0 0 2px var(--amber),0 18px 34px -24px rgba(21,24,29,.35)}
.ico{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#EAF0FE;color:var(--blue);margin-bottom:20px;flex:none}
.ico svg{width:26px;height:26px}
.feat h3{margin:0 0 8px;font-size:20px;font-weight:800;letter-spacing:-.01em;line-height:1.3}
.feat p{margin:0;color:var(--muted);font-size:16px}
.feat.wide{grid-column:1 / -1;display:flex;align-items:center;gap:24px;background:#EAF0FE;box-shadow:0 0 0 1px #C9D7FB}
.feat.wide .ico{background:var(--blue);color:#fff;width:64px;height:64px;border-radius:18px;margin:0}
.feat.wide .ico svg{width:32px;height:32px}
.feat.wide h3{font-size:22px}
.feat.wide p{color:#2E3542;max-width:760px}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.big-card{padding:40px;border-radius:24px;background:#fff;box-shadow:0 0 0 1px var(--line)}
.big-card p{color:var(--muted);margin:0 0 18px;max-width:480px}
.big-card.alt{background:var(--blue);box-shadow:none;color:#fff}
.big-card.alt .kicker{color:#fff}
.big-card.alt p{color:#EEF2FF;margin-bottom:0}
.link-arrow{display:inline-flex;align-items:center;min-height:44px;font-weight:800;text-decoration:none;color:var(--blue-ink)}
.link-arrow:hover{color:#15181D;text-decoration:underline}

/* where */
.where{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.photo{position:relative;margin:0;border-radius:26px;overflow:hidden;box-shadow:0 0 0 1px var(--line),0 34px 70px -34px rgba(21,24,29,.45)}
.photo img{width:100%;height:auto;aspect-ratio:945/707;object-fit:cover}
.photo{background:#fff}
.photo figcaption{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff;font-size:15.5px;font-weight:600;color:var(--text);line-height:1.45}
.pin-dot{width:12px;height:12px;border-radius:50%;background:var(--blue);flex:none;box-shadow:0 0 0 4px rgba(36,87,214,.2)}
.addr{font-style:normal;font-size:21px;font-weight:700;margin:22px 0 26px;line-height:1.4}
.walks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.walks li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:17px}
.walks .t{color:var(--blue-ink);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.walk-note{margin:12px 0 0;font-size:14px;color:var(--muted)}

/* quote */
.quote{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:start}
.steps{list-style:none;margin:40px 0 0;padding:0;display:flex;flex-direction:column;gap:26px}
.steps li{display:flex;gap:20px}
.steps .n{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:46px;line-height:.9;color:var(--blue);min-width:58px}
.steps h3{margin:0 0 4px;font-size:19px;font-weight:800}
.steps p{margin:0;color:var(--muted);font-size:16.5px}
.form-card{border-radius:28px;background:var(--bg2);color:#15181D;padding:36px;box-shadow:0 0 0 1px var(--line),0 34px 70px -40px rgba(21,24,29,.45)}
.form-title{font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;font-weight:800;font-size:32px;line-height:1;margin:0 0 22px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.span2{grid-column:1 / -1}
.field label{display:block;font-size:15px;font-weight:700;color:#2E333B;margin-bottom:6px}
.field{min-width:0}
.field input,.field textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:52px;padding:12px 14px;border-radius:12px;border:1.5px solid #8F887B;background-color:#fff;font:inherit;font-size:17px;color:#15181D;transition:border-color .2s,box-shadow .2s}
.field input[type="date"],.field input[type="time"]{-webkit-appearance:none;appearance:none;line-height:1.5}
.field input::-webkit-date-and-time-value{text-align:left;margin:0}
.field input::-webkit-datetime-edit{padding:0}
@supports (-webkit-touch-callout:none){
.field input[type="date"],.field input[type="time"]{padding-right:46px;background-repeat:no-repeat;background-position:right 14px center;background-size:20px 20px}
.field input[type="date"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234E5562' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E")}
.field input[type="time"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234E5562' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E")}
}
.field input::placeholder,.field textarea::placeholder{color:#626976}
.field textarea{resize:vertical;min-height:100px}
.field input:focus,.field textarea:focus{border-color:#1D47B3;box-shadow:0 0 0 4px rgba(29,71,179,.18)}
.field input[aria-invalid="true"]{border-color:#B42318;box-shadow:0 0 0 3px rgba(180,35,24,.14)}
.hp{position:absolute !important;left:-10000px !important;width:1px;height:1px;overflow:hidden}
.err{margin:16px 0 0;padding:12px 14px;border-radius:10px;background:#FDE8E4;color:#8A1C0B;font-size:15px;font-weight:700}
.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.form-actions .btn{flex:1 1 210px}
.privacy-note{margin:18px 0 0;font-size:14.5px;color:#4E5562}
.privacy-note a{font-weight:700}
.form-foot{margin:8px 0 0;font-size:14.5px;color:#4E5562}
.sent{text-align:center;padding:40px 10px}
.sent:focus{outline:none}
.sent-ico{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:#DDF7E7;color:#0B5E2E}
.sent-ico svg{width:34px;height:34px}
.sent h3{font-family:'Big Shoulders Display',sans-serif;text-transform:uppercase;font-size:40px;font-weight:900;margin:0 0 10px;line-height:1}
.sent p{color:#4E5562;max-width:400px;margin:0 auto 24px}

/* reviews */
.rev{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:56px;align-items:center}
.rev-score{padding:40px;border-radius:26px;background:#fff;box-shadow:0 0 0 1px var(--line)}
.score{font-size:clamp(96px,11vw,150px);color:#15181D;margin:0 0 8px}
.rev-score .stars svg{width:30px;height:30px}
.rev-count{margin:14px 0 0;color:var(--muted)}
.rev-count strong{color:var(--text)}
.rev-copy .lead{margin-top:20px}

/* faq */
.faq-wrap{max-width:920px}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;cursor:pointer;font-size:clamp(18px,1.6vw,21px);font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq h3{font:inherit;margin:0}
.plus{position:relative;width:32px;height:32px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 1.5px #8F887B}
.plus::before,.plus::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:2px;background:#15181D;transform:translate(-50%,-50%);transition:transform .25s}
.plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] .plus::after{transform:translate(-50%,-50%) rotate(0deg)}
.faq details p{margin:0 0 24px;color:var(--muted);max-width:740px}

/* cta + footer */
.cta-band{background:var(--amber);color:#15181D;padding:96px 0}
.cta-in{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px}
.cta-title{font-size:clamp(56px,8vw,120px);color:#15181D}
.cta-band .ctas{margin-top:0}
.foot{padding:72px 0 36px;background:var(--bg2);border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px}
.foot p{margin:0 0 12px;color:var(--muted);font-size:16px}
.foot a{color:var(--text);text-decoration:underline;text-decoration-color:#B9B2A5;text-underline-offset:3px}
.foot a:hover{color:var(--blue-ink)}
.foot .brand{text-decoration:none}
.foot .foot-h{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--text)}
.foot .foot-txt{max-width:320px;margin-top:18px}
.foot-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;color:#4E5562}

/* legal pages */
.legal{max-width:820px;margin:0 auto;padding:64px 24px 96px}
.legal h1{font-family:'Big Shoulders Display',Impact,sans-serif;text-transform:uppercase;font-weight:900;font-size:clamp(44px,6vw,72px);line-height:.95;margin:0 0 14px}
.legal .updated{color:var(--muted);font-size:15px;margin:0 0 36px}
.legal h2{font-size:21px;font-weight:800;margin:40px 0 10px;line-height:1.3}
.legal p,.legal li{color:#2E3542}
.legal ul{padding-left:22px}
.legal li{margin-bottom:12px}
.legal .back{display:inline-flex;align-items:center;min-height:44px;font-weight:800;margin-top:28px}
.simple{max-width:720px;margin:0 auto;padding:96px 24px;text-align:center}
.simple h1{font-family:'Big Shoulders Display',Impact,sans-serif;text-transform:uppercase;font-weight:900;font-size:clamp(48px,7vw,84px);line-height:.95;margin:0 0 18px}
.simple p{color:var(--muted);margin:0 0 28px}
.simple .ctas{justify-content:center}

/* mobile quick bar */
.mbar{display:none}
.mb{display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;border-radius:12px;color:var(--text);text-decoration:none;font-weight:800;font-size:15px;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--line)}
.mb svg{width:20px;height:20px;flex:none}
.mb:hover{color:var(--text)}
.mb-wa{background:var(--wa);color:#06301A;box-shadow:none}
.mb-wa:hover{color:#06301A}
.mb-amber{background:var(--amber);color:#15181D;box-shadow:none}
.mb-amber:hover{color:#15181D}

@media (max-width:1080px){.nav{display:none}}
@media (max-width:960px){
.hero-grid,.where,.quote,.rev{grid-template-columns:minmax(0,1fr);gap:40px}
.features{grid-template-columns:repeat(2,minmax(0,1fr))}
.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sec{padding:84px 0}
}
@media (max-width:760px){
.form-card{scroll-margin-top:16px}
.duo{grid-template-columns:minmax(0,1fr)}
.lang,.top .btn-sm{display:none}
.mbar{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:8px;position:fixed;left:10px;right:10px;bottom:10px;z-index:60;padding:8px;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 0 0 1px var(--line),0 18px 40px -12px rgba(21,24,29,.4)}
.page{padding-bottom:94px}
.hero{padding:40px 0 64px}
.ctas{flex-direction:column}
.ctas .btn{width:100%}
.cta-in{align-items:flex-start}
.cta-band{padding:72px 0}
.feat.wide{flex-direction:column;align-items:flex-start}
.top .lang-mobile{display:flex}
.marquee{display:none}
}
@media (max-width:600px){
.wrap{padding:0 18px}
.features,.form-grid,.foot-grid{grid-template-columns:minmax(0,1fr)}
.form-card{padding:24px 18px;border-radius:22px}
.big-card{padding:28px 22px}
.feat{padding:22px}
.rev-score{padding:28px 22px}
.sec{padding:72px 0}
.h1{font-size:clamp(50px,15vw,80px)}
.mq-track span{font-size:22px}
.brand-txt strong{font-size:19px}
.map-card{aspect-ratio:1 / 1}
.map-card .map{position:absolute;width:160%;max-width:none;height:auto;left:-36%;top:-60%}
.legal{padding:40px 18px 72px}
}
.lang-mobile{display:none;font-size:14px;font-weight:800}
.lang-mobile a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;border-radius:10px;color:var(--text);text-decoration:none;box-shadow:inset 0 0 0 1.5px #8F887B}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.page *{animation:none !important;transition:none !important}
.rise,.pop{opacity:1;transform:none}
.reveal{stroke-dashoffset:0}
}

/* landing page */
.lp-hero{padding-bottom:72px}
.lp-h1{font-size:clamp(44px,5.6vw,84px);line-height:.95}
.crumbs{font-size:14.5px;color:var(--muted);margin:0 0 18px}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--text)}

/* hero con foto di Roma */
.page{position:relative}
.top.top-over{position:absolute;left:0;right:0;top:0;background:linear-gradient(rgba(9,12,18,.55),rgba(9,12,18,0));border-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none}
.top-over .brand,.top-over .brand:hover,.top-over .brand-txt strong{color:#fff}
.top-over .brand-txt small{color:rgba(255,255,255,.85)}
.top-over .nav a{color:rgba(255,255,255,.9)}
.top-over .nav a:hover{color:#fff}
.top-over .lang .cur{color:#fff}
.top-over .lang a{color:rgba(255,255,255,.85)}
.top-over .lang a:hover{color:#fff;background:rgba(255,255,255,.14)}
.top-over .lang-mobile a{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.75)}
.hero-photo{position:relative;isolation:isolate;display:flex;align-items:center;min-height:min(100vh,880px);padding:150px 0 96px;overflow:hidden;background:#10141b;color:#fff}
.hero-photo>.wrap{width:100%}
.hero-photo .hero-bg img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:62% 55%}
.hero-photo .hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,12,18,.88) 0%,rgba(9,12,18,.7) 38%,rgba(9,12,18,.28) 70%,rgba(9,12,18,.08) 100%),linear-gradient(0deg,rgba(9,12,18,.6) 0%,rgba(9,12,18,0) 45%)}
.hero-photo .hero-copy{max-width:700px}
.hero-photo .h1,.hero-photo .h1 .blue{color:#fff}
.hero-photo .h1 .amber{background:none;color:var(--amber)}
.hero-photo .lead{color:rgba(255,255,255,.93)}
.hero-photo .chip{background:rgba(9,12,18,.45);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.hero-photo .btn-ghost{background:rgba(9,12,18,.35);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.75)}
.hero-photo .btn-ghost:hover{color:#fff;box-shadow:inset 0 0 0 2px #fff}
.hero-photo .trust{color:rgba(255,255,255,.9)}
.hero-photo .trust strong{color:#fff}
.quote.has-photo{grid-template-areas:"copy form" "pic form"}
.quote.has-photo .quote-copy{grid-area:copy}
.quote.has-photo .form-card{grid-area:form}
.quote-photo{grid-area:pic;margin-top:8px}
@media (max-width:960px){.quote.has-photo{grid-template-areas:"copy" "form" "pic"}}
@media (max-width:760px){
.hero-photo{display:block;min-height:auto;padding:max(38vh,250px) 0 64px}
.hero-photo .hero-bg img{height:max(62vh,400px);bottom:auto;object-position:66% 45%}
.hero-photo .hero-shade{background:linear-gradient(180deg,rgba(9,12,18,.45) 0,rgba(9,12,18,.08) 90px,rgba(9,12,18,.12) 24vh,rgba(9,12,18,.82) 44vh,#10141b 62vh,#10141b 100%)}
}
/* dove siamo: mappa di Roma a tutta larghezza */
.sec-zona{padding-bottom:0}
.where-top{align-items:start;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.where-top .addr{margin-bottom:30px}
.where-walks .walks{columns:2;column-gap:44px}
.where-walks .walks li{break-inside:avoid}
.zona{position:relative;max-width:1920px;margin:56px auto 0;background:#F3F1EC}
.zona-map{position:relative;height:clamp(440px,40vw,760px);overflow:hidden;container-type:size}
.zona-geo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.zona-pins{display:none;position:absolute;inset:0;--s:max(100cqw / 6000,100cqh / 3000)}
@supports (width:1cqw){.zona-pins{display:block}}
.zm,.za{position:absolute;left:calc(50% + var(--x) * var(--s));top:calc(50% + var(--y) * var(--s));transition:opacity .6s ease var(--d,0s)}
.zm{width:0;height:0}
.zm>i{position:absolute;left:-8px;top:-8px;width:16px;height:16px;border-radius:50%;background:var(--text);box-shadow:0 0 0 3px #fff,0 3px 10px rgba(21,24,29,.35)}
.zm>b{position:absolute;top:0;left:18px;transform:translateY(-50%);white-space:nowrap;padding:7px 12px 8px;border-radius:11px;background:#fff;box-shadow:0 0 0 1px rgba(21,24,29,.06),0 4px 14px rgba(21,24,29,.18);font-size:15px;font-weight:800;line-height:1.15;color:var(--text)}
.zm>b em{display:block;margin-top:2px;font-style:normal;font-size:13px;font-weight:700;color:var(--blue-ink)}
.zm.l>b{left:auto;right:18px}
.zm.b>b{top:18px;left:0;transform:translateX(-50%)}
.zm.t>b{top:auto;bottom:18px;left:0;transform:translateX(-50%)}
.zm.s>i{left:-6px;top:-6px;width:12px;height:12px;background:#5C6470;box-shadow:0 0 0 2.5px #fff}
.zm.s>b{left:13px;padding:0;background:none;box-shadow:none;font-size:13.5px;font-weight:700;color:#2E333A;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 4px #fff,0 0 6px #fff}
.zm.s.l>b{left:auto;right:13px}
.zm.s.t>b{left:0;bottom:12px}
.zm.h>i{left:-9px;top:-9px;width:18px;height:18px;border-radius:5px;background:#C8323D;color:#fff;font-style:normal;font-size:12px;font-weight:800;line-height:18px;text-align:center;box-shadow:0 0 0 2px #fff}
.zm.p{z-index:2}
.zm.p::before{content:"";position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--blue);animation:pulse 2.2s ease-out infinite}
.zm.p>i{left:-17px;top:-16px;width:34px;height:32px;border-radius:9px;background:var(--blue);color:#fff;font-family:'Big Shoulders Display',sans-serif;font-style:normal;font-size:25px;font-weight:900;line-height:32px;text-align:center;box-shadow:0 0 0 2.5px #fff,0 6px 16px rgba(21,24,29,.35)}
.zm.p>b{top:26px;left:auto;right:-26px;transform:none;padding:9px 14px 10px;border-radius:12px;font-size:16px;box-shadow:0 0 0 2px var(--blue),0 6px 18px rgba(21,24,29,.22)}
.zm.p>b small{display:block;margin-top:2px;font-size:13px;font-weight:600;color:var(--muted)}
.za{transform:translate(-50%,-50%);white-space:nowrap;font-size:12.5px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#6A6F78;text-shadow:0 0 3px #F3F1EC,0 0 3px #F3F1EC}
.za.g{color:#3F6B33;text-shadow:0 0 3px #D4EAC8,0 0 3px #D4EAC8}
.za.w{letter-spacing:.06em;text-transform:none;font-style:italic;font-size:15px;font-weight:700;color:#1F4F86;text-shadow:0 0 3px #A9D3F2,0 0 3px #A9D3F2;transform:translate(-50%,-50%) rotate(var(--r,0deg))}
.za.i{letter-spacing:.02em;text-transform:none;font-style:italic;font-size:13px;font-weight:800;color:#2E333A;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 5px #fff;transform:translate(-50%,-50%) rotate(var(--r,0deg))}
.zona.wait .zm,.zona.wait .za{opacity:0}
.zona-attr{position:absolute;right:10px;bottom:8px;padding:2px 7px;border-radius:6px;background:rgba(255,255,255,.82);font-size:11.5px;color:#4E5562}
.zona-attr a{color:inherit}
@media (max-width:1100px){.zm.s,.za{display:none}.za.i{display:block}}
@media (max-width:960px){.where-top{grid-template-columns:minmax(0,1fr);gap:34px}}
@media (max-width:760px){
.where-walks .walks{columns:1}
.zona{margin-top:40px}
.zona-map{height:330px}
.zm>b{font-size:13.5px;padding:6px 9px 7px}
.zm>b em{font-size:12px}
.zm.p>b{top:24px;right:-20px;font-size:14px;padding:7px 11px 8px}
.zm.p>b small{display:none}
.zm.m-l>b{left:auto;right:18px;top:0;transform:translateY(-50%)}
.zm.m-r>b{left:18px;right:auto;top:0;bottom:auto;transform:translateY(-50%)}
.zm.m-b>b{top:18px;bottom:auto;left:0;right:auto;transform:translateX(-50%)}
.zm.m-t>b{top:auto;bottom:18px;left:0;right:auto;transform:translateX(-50%)}
.za.i{display:none}
.zona-attr{right:auto;left:8px}
}
@media (max-width:360px){.zona-map{height:300px}}
@media (prefers-reduced-motion:reduce){.zm.p::before{animation:none;display:none}.zm,.za{transition:none}}
