/* NEW CITY C: route + three reason cards */
.v-city-c{background:var(--cream);padding:clamp(80px,10vw,140px) 0;overflow:hidden}
.v-city-c .cc-wrap{width:min(1240px,100% - 40px);margin:0 auto}
.v-city-c .cc-top{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,5vw,70px);align-items:center}
.v-city-c h2{margin-bottom:22px}
.v-city-c .cc-p{font-size:1.12rem;max-width:52ch;margin-bottom:14px}
.v-city-c .cc-p.cc-lead{font-family:var(--fb);text-transform:uppercase;font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.05;color:var(--red);margin-top:22px}
.v-city-c .cc-map{position:relative;background:var(--ink);border:4px solid var(--ink);border-radius:24px;box-shadow:10px 10px 0 var(--green);overflow:hidden}
.v-city-c .cc-map svg{display:block;width:100%;height:auto}
.v-city-c .cc-coast{fill:none;stroke:rgba(255,255,255,.18);stroke-width:2;stroke-dasharray:2 7;stroke-linecap:round}
.v-city-c .cc-ghost{fill:none;stroke:rgba(255,255,255,.18);stroke-width:5;stroke-dasharray:3 12;stroke-linecap:round}
.v-city-c .cc-path{fill:none;stroke:var(--gold);stroke-width:7;stroke-linecap:round}
.v-city-c .cc-lbl{font-family:var(--fb);font-size:26px;fill:#fff;letter-spacing:1px}
.v-city-c .cc-sub{font-family:var(--f);font-weight:700;font-size:16px;fill:var(--gold)}
.v-city-c .cc-n{font-family:var(--fb);font-size:14px;fill:rgba(255,255,255,.45)}
.v-city-c .cc-pulse{fill:rgba(249,188,13,.25);transform-box:fill-box;transform-origin:center;opacity:0}
.v-city-c .cc-map.arrived .cc-pulse{opacity:1;animation:cc-pulse 1.6s ease-out infinite}
.v-city-c .cc-chip{display:inline-block;margin:0 16px 16px;background:var(--gold);color:var(--ink);font-family:var(--fb);text-transform:uppercase;font-size:.72rem;letter-spacing:.06em;padding:7px 12px;border-radius:99px;border:3px solid var(--ink)}
.v-city-c .cc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,30px);margin:clamp(50px,7vw,90px) 0 clamp(36px,5vw,60px);perspective:1000px}
.v-city-c .cc-card{--rx:0deg;--ry:0deg;position:relative;border:4px solid var(--ink);border-radius:26px;padding:clamp(22px,2.6vw,34px);min-height:clamp(240px,26vw,340px);box-shadow:10px 10px 0 var(--ink);display:flex;flex-direction:column;justify-content:flex-end;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s ease,box-shadow .25s;overflow:hidden}
.v-city-c .cc-card:hover{box-shadow:16px 16px 0 var(--ink)}
.v-city-c .cc-gold{background:var(--gold)}.v-city-c .cc-green{background:var(--green);color:#fff}.v-city-c .cc-red{background:var(--red);color:#fff}
.v-city-c .cc-num{position:absolute;top:10px;right:16px;font-family:var(--fb);font-size:clamp(4rem,8vw,7rem);line-height:1;color:transparent;-webkit-text-stroke:3px currentColor;opacity:.55}
.v-city-c .cc-gold .cc-num{-webkit-text-stroke-color:var(--ink)}
.v-city-c .cc-ico{width:56px;height:56px;margin-bottom:auto}
.v-city-c .cc-card h3{font-size:clamp(1.45rem,2.05vw,2.1rem);margin-top:24px;overflow-wrap:anywhere}
.v-city-c .cc-card p{font-size:1.15rem;font-weight:700;margin-top:8px;max-width:24ch}
.v-city-c .cc-sign{text-align:center;font-size:1.1rem;max-width:60ch;margin:0 auto}
.v-city-c .cc-sign b{display:block;font-family:var(--fb);font-weight:400;text-transform:uppercase;margin-top:12px;font-size:1.05rem;line-height:1.35}
@keyframes cc-pulse{from{transform:scale(.6);opacity:1}to{transform:scale(2.2);opacity:0}}
@media(max-width:960px){
  .v-city-c .cc-top{grid-template-columns:1fr}
  .v-city-c .cc-cards{grid-template-columns:1fr}
  .v-city-c .cc-card{min-height:200px}
}
