/* CPM Gateway City */
.cpm-gw{--gw-bg:#111617; --gw-card:#182022; --gw-line:rgba(255,255,255,.12); --gw-text:rgba(255,255,255,.72); --gw-dim:rgba(255,255,255,.5); --gw-red:#D71120; --gw-ease:cubic-bezier(.22,.8,.24,1);
  background:var(--gw-bg); color:#fff; font-family:Poppins,system-ui,sans-serif; -webkit-font-smoothing:antialiased; padding:110px 0 100px; overflow:hidden}
.cpm-gw *,.cpm-gw *::before,.cpm-gw *::after{box-sizing:border-box}
.cpm-gw,.cpm-gw *{text-align:left!important}
.cpm-gw a{text-decoration:none!important}
.cpm-gw ul,.cpm-gw ol{list-style:none; margin:0; padding:0}
.cpm-gw .screen-reader-text{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}
.cpm-gw__shell{width:calc(100% - 48px); max-width:1440px; margin:0 auto}
.cpm-gw__rule{display:grid; grid-template-columns:54px 1fr; gap:18px; align-items:center; padding-bottom:16px; margin-bottom:56px; border-bottom:1px solid var(--gw-line); color:var(--gw-dim); font:800 9px/1 Poppins,sans-serif; letter-spacing:.16em; text-transform:uppercase}
.cpm-gw__rule b{text-align:center!important; font-weight:800}
.cpm-gw__head{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:32px 64px; align-items:end; margin-bottom:40px}
.cpm-gw__eyebrow{display:block; margin-bottom:18px; color:var(--gw-red); font:900 10px/1.2 Poppins,sans-serif; letter-spacing:.15em}
.cpm-gw .cpm-gw__title{margin:0!important; font:900 clamp(46px,5.4vw,92px)/.9 Poppins,sans-serif!important; letter-spacing:-.06em!important; text-transform:uppercase!important; color:#fff!important}
.cpm-gw .cpm-gw__intro{margin:0!important; font-size:16px; line-height:1.65; color:var(--gw-text)!important; max-width:46ch}

/* Sentence builder */
.cpm-gw__finder{display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 14px; margin:0 0 26px; font:800 clamp(22px,2.4vw,36px)/1.25 Poppins,sans-serif; letter-spacing:-.03em; color:rgba(255,255,255,.55)}
.cpm-gw__select{position:relative; display:inline-flex}
.cpm-gw__select select{appearance:none; -webkit-appearance:none; border:0!important; border-bottom:3px solid var(--gw-red)!important; border-radius:0!important; background:transparent!important; color:#fff!important;
  font:inherit!important; letter-spacing:inherit; padding:0 34px 2px 0!important; height:auto!important; cursor:pointer; box-shadow:none!important; max-width:100%}
.cpm-gw__select::after{content:""; position:absolute; right:6px; top:50%; width:12px; height:12px; margin-top:-9px; border-right:3px solid var(--gw-red); border-bottom:3px solid var(--gw-red); transform:rotate(45deg); pointer-events:none}
.cpm-gw__select select option{color:#111617; font-size:16px}
.cpm-gw__select select:focus-visible{outline:2px solid #fff; outline-offset:4px}

/* Stage + panel */
.cpm-gw__grid{display:grid; grid-template-columns:minmax(0,1fr) 400px; gap:16px; align-items:stretch}
.cpm-gw__stage{position:relative; min-height:620px; border-radius:24px; overflow:hidden; background:radial-gradient(120% 90% at 50% 0%,#1a2427 0%,#0f1617 55%,#0c1112 100%); box-shadow:inset 0 0 0 1px var(--gw-line)}
.cpm-gw__stage canvas{position:absolute; inset:0; width:100%!important; height:100%!important; cursor:grab; opacity:0; transition:opacity 1.1s ease}
.cpm-gw.is-live .cpm-gw__stage canvas{opacity:1}
.cpm-gw__labels{position:absolute; inset:0; pointer-events:none}
.cpm-gw__hint{position:absolute; left:20px; bottom:18px; margin:0; display:flex; align-items:center; gap:9px; font-size:10px; font-weight:700; letter-spacing:.16em; color:rgba(255,255,255,.55); pointer-events:none}
.cpm-gw__hint i{width:7px; height:7px; border-radius:50%; background:var(--gw-red); animation:gwPulse 2.2s ease-out infinite}
@keyframes gwPulse{0%{box-shadow:0 0 0 0 rgba(215,17,32,.6)}70%,100%{box-shadow:0 0 0 9px rgba(215,17,32,0)}}
.cpm-gw:not(.is-live) .cpm-gw__hint{display:none}

.cpm-gw__pin{position:absolute; left:0; top:0; pointer-events:auto; display:inline-flex; align-items:center; gap:8px; padding:7px 13px 7px 9px; border:0; border-radius:999px; cursor:pointer;
  background:rgba(17,22,23,.78); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); box-shadow:inset 0 0 0 1px rgba(255,255,255,.16); color:#fff; font:700 12px/1 Poppins,sans-serif; white-space:nowrap;
  transition:background .25s,box-shadow .25s,opacity .3s; will-change:transform}
.cpm-gw__pin::after{content:""; position:absolute; left:50%; bottom:-7px; width:1px; height:7px; background:rgba(255,255,255,.35)}
.cpm-gw__pin [data-step]{display:none; min-width:22px; height:22px; padding:0 5px; border-radius:999px; background:var(--gw-red); font:800 10px/22px Poppins,sans-serif; text-align:center!important; font-style:normal}
.cpm-gw__pin.is-stop [data-step]{display:inline-block}
.cpm-gw__pin small{font-size:10px; font-weight:600; color:rgba(255,255,255,.6)}
.cpm-gw__pin.is-hq{background:var(--gw-red); box-shadow:0 10px 30px -10px rgba(215,17,32,.9)}
.cpm-gw__pin.is-hq small{color:rgba(255,255,255,.85)}
.cpm-gw__pin.is-hot,.cpm-gw__pin:hover{background:#fff; color:#111617; box-shadow:0 12px 30px -12px rgba(0,0,0,.6)}
.cpm-gw__pin.is-hq.is-hot small,.cpm-gw__pin.is-hq:hover small{color:var(--gw-red)}
.cpm-gw__pin:focus-visible{outline:2px solid #fff; outline-offset:3px}

.cpm-gw__panel{position:relative; padding:30px 28px; border-radius:24px; background:var(--gw-card); box-shadow:inset 0 0 0 1px var(--gw-line); min-height:620px; overflow:auto}
.cpm-gw__panel.is-swap .cpm-gw__view:not([hidden]){animation:gwIn .45s var(--gw-ease)}
@keyframes gwIn{from{opacity:0; transform:translateY(10px)}to{opacity:1; transform:none}}
.cpm-gw__kicker{display:block; margin-bottom:12px; color:var(--gw-red); font:900 10px/1.2 Poppins,sans-serif; letter-spacing:.15em}
.cpm-gw .cpm-gw__vtitle{margin:0 0 10px!important; font:900 30px/1 Poppins,sans-serif!important; letter-spacing:-.04em!important; text-transform:uppercase!important; color:#fff!important}
.cpm-gw .cpm-gw__vtext{margin:0 0 22px!important; font-size:14.5px; line-height:1.6; color:var(--gw-text)!important}
.cpm-gw__route{display:grid; gap:10px; counter-reset:none}
.cpm-gw__route a{display:grid; grid-template-columns:38px 1fr; column-gap:12px; padding:14px 16px; border-radius:16px; background:rgba(255,255,255,.04); box-shadow:inset 0 0 0 1px var(--gw-line); color:#fff!important; transition:background .2s,transform .25s var(--gw-ease)}
.cpm-gw__route a:hover{background:rgba(255,255,255,.09); transform:translateX(3px)}
.cpm-gw__route em{grid-row:span 3; display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:var(--gw-red); font:800 12px/1 Poppins,sans-serif; font-style:normal}
.cpm-gw__route small{font:800 9px/1.3 Poppins,sans-serif; letter-spacing:.14em; color:var(--gw-dim)}
.cpm-gw__route strong{font-size:16px; font-weight:800; letter-spacing:-.01em; margin:2px 0 3px}
.cpm-gw__route span{font-size:13px; line-height:1.5; color:var(--gw-text)}
.cpm-gw__proof{display:grid; grid-template-columns:92px 1fr; align-items:center; gap:14px; margin-top:12px; padding:8px; border-radius:16px; background:rgba(255,255,255,.04); box-shadow:inset 0 0 0 1px var(--gw-line); color:#fff!important}
.cpm-gw__proof img{width:92px; height:62px; object-fit:cover; border-radius:10px; display:block}
.cpm-gw__proof small{display:block; font:800 9px/1.3 Poppins,sans-serif; letter-spacing:.14em; color:var(--gw-red)}
.cpm-gw__proof strong{font-size:14px; font-weight:700}
.cpm-gw__cta{display:inline-flex; align-items:center; gap:10px; margin-top:20px; height:46px; padding:0 20px; border-radius:999px; color:#fff!important; font-size:14px; font-weight:600; box-shadow:inset 0 0 0 1px rgba(255,255,255,.22); transition:background .2s,gap .25s var(--gw-ease)}
.cpm-gw__cta:hover{background:rgba(255,255,255,.08); gap:14px}
.cpm-gw__cta.is-solid{background:var(--gw-red); box-shadow:none}
.cpm-gw__cta.is-solid:hover{background:#d71120; box-shadow:0 12px 34px -12px rgba(215,17,32,.9)}
.cpm-gw__links{display:grid; gap:2px; margin-bottom:6px}
.cpm-gw__links a{display:block; padding:12px 0; border-bottom:1px solid var(--gw-line); color:#fff!important; transition:padding .25s var(--gw-ease)}
.cpm-gw__links a:hover{padding-left:6px}
.cpm-gw__links strong{display:block; font-size:15px; font-weight:700}
.cpm-gw__links span{display:block; margin-top:3px; font-size:13px; line-height:1.5; color:var(--gw-text)}
.cpm-gw__thumbs{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px}
.cpm-gw__thumbs a{display:block; color:#fff!important}
.cpm-gw__thumbs img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; display:block; transition:transform .4s var(--gw-ease)}
.cpm-gw__thumbs a:hover img{transform:scale(1.03)}
.cpm-gw__thumbs span{display:block; margin-top:7px; font-size:12.5px; font-weight:600; line-height:1.35}

.cpm-gw__jump{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px}
.cpm-gw__jump button{height:38px; padding:0 16px; border:0; border-radius:999px; background:rgba(255,255,255,.06); box-shadow:inset 0 0 0 1px var(--gw-line); color:var(--gw-text); font:600 13px/1 Poppins,sans-serif; cursor:pointer; transition:background .2s,color .2s}
.cpm-gw__jump button:hover{background:rgba(255,255,255,.12); color:#fff}
.cpm-gw__jump button.is-on{background:#fff; color:#111617}
.cpm-gw__jump button:first-child{background:var(--gw-red); color:#fff; box-shadow:none}

@media (max-width:1180px){
  .cpm-gw__grid{grid-template-columns:1fr}
  .cpm-gw__stage{min-height:min(70vw,560px)}
  .cpm-gw__panel{min-height:0}
}
@media (max-width:767px){
  .cpm-gw{padding:72px 0 64px}
  .cpm-gw__shell{width:calc(100% - 32px)}
  .cpm-gw__rule{grid-template-columns:34px 1fr; margin-bottom:36px}
  .cpm-gw__rule b{text-align:right!important}
  .cpm-gw__head{grid-template-columns:1fr; gap:18px}
  .cpm-gw .cpm-gw__title{font-size:clamp(40px,13vw,60px)!important}
  .cpm-gw__finder{font-size:21px}
  .cpm-gw__stage{min-height:118vw; border-radius:18px}
  .cpm-gw__pin{font-size:10.5px; padding:6px 10px 6px 7px}
  .cpm-gw__pin small{display:none}
  .cpm-gw__panel{padding:22px 18px; border-radius:18px}
  .cpm-gw .cpm-gw__vtitle{font-size:24px!important}
}
@media (prefers-reduced-motion:reduce){.cpm-gw__hint i{animation:none}.cpm-gw__panel.is-swap .cpm-gw__view{animation:none!important}}
/* theme button guards + content-sized pickers */
.cpm-gw .cpm-gw__pin{color:#fff!important; text-transform:none!important; letter-spacing:0!important; min-height:0!important; line-height:1!important}
.cpm-gw .cpm-gw__pin.is-hot,.cpm-gw .cpm-gw__pin:hover{color:#111617!important}
.cpm-gw .cpm-gw__jump button{text-transform:none!important; letter-spacing:0!important; min-height:0!important}
.cpm-gw__select select{field-sizing:content; min-width:3ch}
@media (max-width:767px){.cpm-gw .cpm-gw__pin{font-size:9.5px!important; padding:5px 8px 5px 6px}.cpm-gw__pin [data-step]{min-width:18px; height:18px; line-height:18px; font-size:9px}}

/* ---------- Light look: white, clean — dark greys, white, a touch of red ---------- */
.cpm-gw--light{--gw-bg:#fff; --gw-card:#fff; --gw-line:#e3e7e8; --gw-text:#5b6567; --gw-dim:#8a9496; color:#1d2426}
.cpm-gw--light .cpm-gw__rule{color:var(--gw-dim)}
.cpm-gw--light .cpm-gw__title{color:#111617!important}
.cpm-gw--light .cpm-gw__finder{color:#8a9496}
.cpm-gw--light .cpm-gw__select select{color:#111617!important}
.cpm-gw--light .cpm-gw__select select option{color:#111617}
.cpm-gw--light .cpm-gw__select select:focus-visible{outline-color:#111617}
.cpm-gw--light .cpm-gw__stage{background:linear-gradient(180deg,#f7f8f8 0%,#eef0f0 100%); box-shadow:inset 0 0 0 1px var(--gw-line)}
.cpm-gw--light .cpm-gw__hint{color:#8a9496}
.cpm-gw--light .cpm-gw .cpm-gw__pin,.cpm-gw.cpm-gw--light .cpm-gw__pin{background:rgba(255,255,255,.92); color:#1d2426!important; box-shadow:0 6px 18px -8px rgba(17,22,23,.35),inset 0 0 0 1px #e3e7e8}
.cpm-gw.cpm-gw--light .cpm-gw__pin::after{background:rgba(17,22,23,.25)}
.cpm-gw.cpm-gw--light .cpm-gw__pin small{color:#8a9496}
.cpm-gw.cpm-gw--light .cpm-gw__pin.is-hq{background:var(--gw-red); color:#fff!important; box-shadow:0 10px 26px -10px rgba(215,17,32,.7)}
.cpm-gw.cpm-gw--light .cpm-gw__pin.is-hq small{color:rgba(255,255,255,.85)}
.cpm-gw.cpm-gw--light .cpm-gw__pin.is-hot,.cpm-gw.cpm-gw--light .cpm-gw__pin:hover{background:#111617; color:#fff!important}
.cpm-gw.cpm-gw--light .cpm-gw__pin.is-hot small,.cpm-gw.cpm-gw--light .cpm-gw__pin:hover small{color:rgba(255,255,255,.7)}
.cpm-gw--light .cpm-gw__panel{background:#fff; box-shadow:0 24px 60px -36px rgba(17,22,23,.35),inset 0 0 0 1px var(--gw-line)}
.cpm-gw--light .cpm-gw__vtitle{color:#111617!important}
.cpm-gw--light .cpm-gw__route a,.cpm-gw--light .cpm-gw__proof{background:#f6f7f7; box-shadow:inset 0 0 0 1px var(--gw-line); color:#1d2426!important}
.cpm-gw--light .cpm-gw__route a:hover{background:#eef0f0}
.cpm-gw--light .cpm-gw__route strong,.cpm-gw--light .cpm-gw__proof strong{color:#111617}
.cpm-gw--light .cpm-gw__cta{color:#111617!important; box-shadow:inset 0 0 0 1px #cfd4d5}
.cpm-gw--light .cpm-gw__cta:hover{background:#f3f5f5}
.cpm-gw--light .cpm-gw__cta.is-solid{color:#fff!important}
.cpm-gw--light .cpm-gw__links a{color:#1d2426!important}
.cpm-gw--light .cpm-gw__links strong{color:#111617}
.cpm-gw--light .cpm-gw__thumbs a{color:#1d2426!important}
.cpm-gw--light .cpm-gw__jump button{background:#f3f5f5; box-shadow:inset 0 0 0 1px var(--gw-line); color:#5b6567}
.cpm-gw--light .cpm-gw__jump button:hover{background:#e9ecec; color:#111617}
.cpm-gw--light .cpm-gw__jump button.is-on{background:#111617; color:#fff}
.cpm-gw--light .cpm-gw__jump button:first-child{background:var(--gw-red); color:#fff}

/* ---------- Header mode: top of page under the floating menu ---------- */
.cpm-gw--header{padding:168px 0 72px}
.cpm-gw--header .cpm-gw__head{margin-bottom:30px}
.cpm-gw--header .cpm-gw__title{font-size:clamp(46px,5.6vw,96px)!important}
.cpm-gw--header .cpm-gw__stage,.cpm-gw--header .cpm-gw__panel{min-height:min(640px,calc(100svh - 300px))}
@media (max-width:767px){.cpm-gw--header{padding:150px 0 48px}}

/* ---------- Silky rollovers ---------- */
.cpm-gw{--gw-silk:cubic-bezier(.16,1,.3,1)}
.cpm-gw .cpm-gw__pin{transition:background-color .55s var(--gw-silk),color .55s var(--gw-silk),box-shadow .55s var(--gw-silk),scale .55s var(--gw-silk),opacity .4s ease!important; scale:1}
.cpm-gw .cpm-gw__pin.is-hot,.cpm-gw .cpm-gw__pin:hover{scale:1.07}
.cpm-gw .cpm-gw__pin span,.cpm-gw .cpm-gw__pin small{transition:color .55s var(--gw-silk)}
.cpm-gw .cpm-gw__jump button,.cpm-gw .cpm-gw__cta,.cpm-gw .cpm-gw__route a,.cpm-gw .cpm-gw__proof,.cpm-gw .cpm-gw__links a,.cpm-gw .cpm-gw__thumbs img{
  transition:background-color .5s var(--gw-silk),color .5s var(--gw-silk),box-shadow .5s var(--gw-silk),transform .6s var(--gw-silk),padding .6s var(--gw-silk),gap .6s var(--gw-silk)!important}
.cpm-gw .cpm-gw__jump button:hover,.cpm-gw .cpm-gw__cta:hover{transform:translateY(-2px)}
.cpm-gw .cpm-gw__route a:hover{transform:translateX(4px)}
.cpm-gw .cpm-gw__proof:hover{transform:translateY(-2px)}
.cpm-gw .cpm-gw__route em{transition:transform .6s var(--gw-silk)}
.cpm-gw .cpm-gw__route a:hover em{transform:scale(1.08)}
.cpm-gw .cpm-gw__select select{transition:border-color .5s var(--gw-silk)}
@media (prefers-reduced-motion:reduce){.cpm-gw *{transition-duration:.01ms!important}}
/* Cyberbook sets section:not(.elementor-section){padding:120px 0} — out-specify it */
section.cpm-gw{padding:110px 0 100px}
section.cpm-gw.cpm-gw--header{padding:168px 0 72px}
@media (max-width:767px){section.cpm-gw{padding:72px 0 64px}section.cpm-gw.cpm-gw--header{padding:150px 0 48px}}

/* ---------- Header mode: full-bleed city, UI floating over it ---------- */
.cpm-gw--header .cpm-gw__stage::after{content:""; position:absolute; inset:0; z-index:1; pointer-events:none}
.cpm-gw--header .cpm-gw__labels{z-index:2}
.cpm-gw--header .cpm-gw__hint{z-index:2}
@media (min-width:1181px){
  section.cpm-gw.cpm-gw--header{position:relative; min-height:max(780px,100svh); padding:168px 0 120px}
  .cpm-gw--header .cpm-gw__shell,.cpm-gw--header .cpm-gw__grid{position:static}
  .cpm-gw--header .cpm-gw__grid{display:block}
  .cpm-gw--header .cpm-gw__stage{position:absolute; inset:0; min-height:0!important; border-radius:0; box-shadow:none}
  .cpm-gw--light.cpm-gw--header .cpm-gw__stage{background:linear-gradient(180deg,#fbfbfb 0%,#eef0f0 100%)}
  .cpm-gw--light.cpm-gw--header .cpm-gw__stage::after{background:
      linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.8) 20%,rgba(255,255,255,0) 31%),
      linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,0) 26%),
      linear-gradient(0deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,0) 18%)}
  .cpm-gw--header:not(.cpm-gw--light) .cpm-gw__stage::after{background:
      linear-gradient(90deg,rgba(17,22,23,.94) 0%,rgba(17,22,23,.7) 24%,rgba(17,22,23,0) 46%),
      linear-gradient(180deg,rgba(17,22,23,.9) 0%,rgba(17,22,23,0) 26%),
      linear-gradient(0deg,rgba(17,22,23,.85) 0%,rgba(17,22,23,0) 18%)}
  .cpm-gw--header .cpm-gw__head,.cpm-gw--header .cpm-gw__finder{position:relative; z-index:3; max-width:min(720px,44vw)}
  .cpm-gw--header .cpm-gw__head{display:block; pointer-events:none}
  .cpm-gw--header .cpm-gw__intro{margin-top:22px!important; max-width:44ch}
  .cpm-gw--header .cpm-gw__finder{flex-direction:column; align-items:flex-start; gap:2px; margin-top:34px}
  .cpm-gw--header .cpm-gw__panel{position:absolute; z-index:3; top:150px; right:max(32px,calc((100% - 1440px)/2)); width:390px; min-height:0!important; max-height:calc(100% - 270px);
    -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px)}
  .cpm-gw--light.cpm-gw--header .cpm-gw__panel{background:rgba(255,255,255,.9)}
  .cpm-gw--header:not(.cpm-gw--light) .cpm-gw__panel{background:rgba(24,32,34,.86)}
  .cpm-gw--header .cpm-gw__jump{position:absolute; z-index:3; left:max(24px,calc((100% - 1440px)/2)); bottom:40px; margin:0; max-width:calc(100% - 480px)}
  .cpm-gw--header .cpm-gw__hint{left:auto; right:max(32px,calc((100% - 1440px)/2)); bottom:48px}
}
@media (max-width:1180px){
  .cpm-gw--header .cpm-gw__stage{margin:0 -24px; border-radius:0; box-shadow:none}
}
@media (max-width:767px){
  .cpm-gw--header .cpm-gw__stage{margin:0 -16px}
}
/* Nothing under the cursor moves on hover — colour only (Jamie: buttons were bouncing away from the mouse) */
.cpm-gw .cpm-gw__jump button:hover,.cpm-gw .cpm-gw__cta:hover,.cpm-gw .cpm-gw__route a:hover,.cpm-gw .cpm-gw__proof:hover{transform:none!important}
.cpm-gw .cpm-gw__links a:hover{padding-left:0!important}
.cpm-gw .cpm-gw__cta:hover{gap:10px!important}
.cpm-gw .cpm-gw__pin.is-hot,.cpm-gw .cpm-gw__pin:hover{scale:1}
.cpm-gw .cpm-gw__links a:hover strong{color:var(--gw-red)}
.cpm-gw .cpm-gw__route a:hover strong,.cpm-gw .cpm-gw__proof:hover strong{color:var(--gw-red)}
.cpm-gw .cpm-gw__pin.is-under{opacity:0!important; pointer-events:none}
@media (min-width:1181px){
  .cpm-gw--header .cpm-gw__head,.cpm-gw--header .cpm-gw__finder{max-width:min(560px,36vw); width:max-content}
  .cpm-gw--header .cpm-gw__intro{max-width:40ch}
  .cpm-gw--header .cpm-gw__panel{width:360px}
}

/* ---------- Greeble tour: red dots on the map ---------- */
.cpm-gw__dot{position:absolute; left:0; top:0; pointer-events:auto; display:flex; align-items:center; gap:8px; padding:0; border:0; background:none!important; cursor:pointer;
  color:#111617!important; font:700 12px/1 Poppins,sans-serif!important; text-transform:none!important; letter-spacing:0!important; white-space:nowrap; min-height:0!important;
  translate:-9px -9px; transition:opacity .5s var(--gw-silk,ease)}
.cpm-gw__dot i{position:relative; flex:none; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 4px 12px -4px rgba(17,22,23,.45),inset 0 0 0 1px #e3e7e8}
.cpm-gw__dot i::after{content:""; position:absolute; inset:5px; border-radius:50%; background:var(--gw-red)}
.cpm-gw__dot i::before{content:""; position:absolute; inset:-1px; border-radius:50%; box-shadow:0 0 0 0 rgba(215,17,32,.55); animation:gwDot 2.4s ease-out infinite}
@keyframes gwDot{0%{box-shadow:0 0 0 0 rgba(215,17,32,.5)}75%,100%{box-shadow:0 0 0 12px rgba(215,17,32,0)}}
.cpm-gw__dot span{padding:7px 12px; border-radius:999px; background:rgba(255,255,255,.94); box-shadow:0 6px 18px -8px rgba(17,22,23,.35),inset 0 0 0 1px #e3e7e8;
  opacity:0; translate:-6px 0; transition:opacity .5s var(--gw-silk,ease),translate .5s var(--gw-silk,ease),background-color .5s,color .5s; pointer-events:none}
.cpm-gw__dot.is-hot span,.cpm-gw__dot.is-on span,.cpm-gw__dot:focus-visible span{opacity:1; translate:0 0}
.cpm-gw__dot.is-on span{background:#111617; color:#fff; box-shadow:0 10px 26px -10px rgba(17,22,23,.6)}
.cpm-gw__dot.is-on i{background:var(--gw-red); box-shadow:0 6px 18px -6px rgba(215,17,32,.8)}
.cpm-gw__dot.is-on i::after{background:#fff; inset:6px}
.cpm-gw__dot.is-hq span{opacity:1; translate:0 0}
.cpm-gw__dot.is-under{opacity:0!important; pointer-events:none}
.cpm-gw.is-tour .cpm-gw__pin{display:none}

/* ---------- Branded panel ---------- */
.cpm-gw__progress{display:flex; gap:6px; margin:-4px 0 18px}
.cpm-gw__progress button{width:8px; height:8px; padding:0!important; min-height:0!important; border:0; border-radius:999px; background:#d9dddf; cursor:pointer; transition:width .6s var(--gw-silk,ease),background-color .6s}
.cpm-gw__progress button.is-on{width:26px; background:var(--gw-red)}
.cpm-gw__kicker{display:flex!important; align-items:center; gap:8px}
.cpm-gw__kicker::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--gw-red); flex:none}
.cpm-gw__links li a{display:grid!important; grid-template-columns:14px 1fr; gap:12px; align-items:start; padding:12px 0!important}
.cpm-gw__links li a > i{width:7px; height:7px; margin-top:7px; border-radius:50%; background:var(--gw-red)}
.cpm-gw__links li.has-thumb a{grid-template-columns:76px 1fr; align-items:center}
.cpm-gw__links li.has-thumb img{width:76px; height:54px; object-fit:cover; border-radius:10px; display:block}
.cpm-gw__links em{font-style:normal; display:block; min-width:0}
.cpm-gw--light .cpm-gw__links li a:hover strong{color:var(--gw-red)}
.cpm-gw__thumbs a span::before{content:""; display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:var(--gw-red); vertical-align:middle}
@media (prefers-reduced-motion:reduce){.cpm-gw__dot i::before{animation:none}}

/* ---------- Tour nav: inside the 3D box, bottom middle — ‹ district pills › (Jamie, Pixel Fold) ---------- */
.cpm-gw__nav{position:absolute; z-index:4; left:50%; bottom:22px; translate:-50% 0; display:flex; align-items:center; gap:6px; max-width:calc(100% - 28px); padding:6px;
  border-radius:999px; background:rgba(255,255,255,.86); -webkit-backdrop-filter:blur(14px) saturate(1.2); backdrop-filter:blur(14px) saturate(1.2);
  box-shadow:0 18px 40px -18px rgba(17,22,23,.45),inset 0 0 0 1px rgba(17,22,23,.07)}
.cpm-gw:not(.cpm-gw--light) .cpm-gw__nav{background:rgba(24,32,34,.82); box-shadow:0 18px 40px -18px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.08)}
.cpm-gw .cpm-gw__nav .cpm-gw__jump{position:static!important; display:flex; flex-wrap:nowrap; gap:4px; margin:0!important; max-width:none!important; min-width:0; overflow-x:auto; scrollbar-width:none;
  scroll-snap-type:x proximity; -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%); mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%); padding:0 10px}
.cpm-gw__nav .cpm-gw__jump::-webkit-scrollbar{display:none}
.cpm-gw .cpm-gw__nav .cpm-gw__jump button{flex:none; height:40px; padding:0 16px; scroll-snap-align:center; background:transparent!important; box-shadow:none!important; color:#5b6567; transform:none!important; transition:background-color .5s var(--gw-silk,ease),color .5s var(--gw-silk,ease)}
.cpm-gw .cpm-gw__nav .cpm-gw__jump button:hover{color:#111617}
.cpm-gw .cpm-gw__nav .cpm-gw__jump button.is-on{background:#111617!important; color:#fff}
.cpm-gw .cpm-gw__nav .cpm-gw__jump button[data-gw-go="hq"]{color:var(--gw-red)}
.cpm-gw .cpm-gw__nav .cpm-gw__jump button[data-gw-go="hq"].is-on{background:var(--gw-red)!important; color:#fff}
.cpm-gw .cpm-gw__arrow{flex:none; display:grid; place-items:center; width:44px; height:44px; padding:0!important; min-height:0!important; border:0; border-radius:50%;
  background:#111617!important; color:#fff!important; cursor:pointer; box-shadow:none; transition:background-color .4s var(--gw-silk,ease)}
.cpm-gw .cpm-gw__arrow svg{width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round}
.cpm-gw .cpm-gw__arrow:hover,.cpm-gw .cpm-gw__arrow:focus-visible{background:var(--gw-red)!important}
.cpm-gw.is-tour .cpm-gw__hint{display:none}
@media (min-width:1181px){ .cpm-gw--header .cpm-gw__nav{bottom:36px; max-width:min(860px,calc(100% - 860px))} }
@media (max-width:1180px){ .cpm-gw.is-tour .cpm-gw__stage{min-height:min(78vw,640px)} }
@media (max-width:767px){
  .cpm-gw.is-tour .cpm-gw__stage{min-height:132vw}
  .cpm-gw__nav{bottom:14px; padding:5px; max-width:calc(100% - 20px)}
  .cpm-gw .cpm-gw__nav .cpm-gw__jump button{height:38px; padding:0 13px; font-size:12.5px}
  .cpm-gw .cpm-gw__arrow{width:40px; height:40px}
}
.cpm-gw__dot.is-signed{opacity:0!important; pointer-events:none}

/* ---------- "Your site here" panel ---------- */
.cpm-gw__yform{display:grid; gap:12px; margin-top:4px}
.cpm-gw__drop{position:relative; display:flex; align-items:center; gap:14px; padding:16px 18px; border-radius:16px; cursor:pointer;
  background:#f6f7f7; box-shadow:inset 0 0 0 1.5px #d9dddf; transition:box-shadow .4s var(--gw-silk,ease),background-color .4s}
.cpm-gw__drop:hover,.cpm-gw__drop:focus-within{box-shadow:inset 0 0 0 1.5px var(--gw-red); background:#fff}
.cpm-gw__drop input{position:absolute; inset:0; opacity:0; cursor:pointer; width:100%}
.cpm-gw__drop-ic{flex:none; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--gw-red); color:#fff}
.cpm-gw__drop-ic svg{width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round}
.cpm-gw__drop-t{font:600 14px/1.35 Poppins,sans-serif; color:#111617; min-width:0; overflow-wrap:anywhere}
.cpm-gw__yform.has-image .cpm-gw__drop{background:#fff; box-shadow:inset 0 0 0 1.5px #111617}
.cpm-gw__field{display:grid; gap:6px; margin:0}
.cpm-gw__field > span{font:700 11px/1 Poppins,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#5b6567}
.cpm-gw__field em{font-style:normal; font-weight:500; letter-spacing:0; text-transform:none; color:#8a9496}
.cpm-gw .cpm-gw__field input,.cpm-gw .cpm-gw__field textarea{width:100%; box-sizing:border-box; min-height:46px; padding:11px 14px!important; border:0!important; border-radius:12px!important;
  background:#f3f5f5!important; box-shadow:inset 0 0 0 1px #e3e7e8; color:#111617!important; font:500 15px/1.4 Poppins,sans-serif!important; transition:box-shadow .3s}
.cpm-gw .cpm-gw__field input:focus,.cpm-gw .cpm-gw__field textarea:focus{outline:0; box-shadow:inset 0 0 0 1.5px #111617; background:#fff!important}
.cpm-gw__yactions{display:flex; flex-wrap:wrap; gap:8px; margin-top:4px}
.cpm-gw .cpm-gw__cta.is-ghost{background:transparent!important; color:#111617!important; box-shadow:inset 0 0 0 1.5px #111617}
.cpm-gw .cpm-gw__cta[disabled]{opacity:.4; cursor:not-allowed}
.cpm-gw__yenq{display:grid; gap:12px; padding-top:14px; border-top:1px solid var(--gw-line)}
.cpm-gw__yenq[hidden],.cpm-gw [data-gw-yreal][hidden]{display:none!important}
.cpm-gw__hp{position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden}
.cpm-gw__ymsg{margin:0!important; min-height:1.4em; font:500 13.5px/1.4 Poppins,sans-serif; color:#5b6567}
.cpm-gw__ymsg.is-ok{color:#111617; font-weight:700}
.cpm-gw__ymsg.is-err{color:var(--gw-red)}
.cpm-gw .cpm-gw__nav .cpm-gw__jump button.is-yours{color:#111617; box-shadow:inset 0 0 0 1.5px rgba(17,22,23,.2)!important; border-radius:999px}
.cpm-gw .cpm-gw__nav .cpm-gw__jump button.is-yours::before{content:"+ "; color:var(--gw-red); font-weight:800}
.cpm-gw .cpm-gw__nav .cpm-gw__jump button.is-yours.is-on{color:#fff; box-shadow:none!important}

/* ---------- Billboard focus: the board is the header (Jamie) ---------- */
.cpm-gw__tools{position:absolute; z-index:4; top:18px; right:18px; display:flex; gap:8px; opacity:0; pointer-events:none; translate:0 -8px;
  transition:opacity .6s var(--gw-silk,ease),translate .6s var(--gw-silk,ease)}
.cpm-gw.is-focus .cpm-gw__tools{opacity:1; pointer-events:auto; translate:0 0}
.cpm-gw .cpm-gw__tool{display:inline-flex; align-items:center; gap:8px; height:42px; padding:0 16px 0 13px!important; min-height:0!important; border:0; border-radius:999px; cursor:pointer;
  background:rgba(255,255,255,.88)!important; color:#111617!important; font:600 13px/1 Poppins,sans-serif!important; text-transform:none!important; letter-spacing:0!important;
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); box-shadow:0 10px 26px -14px rgba(17,22,23,.5),inset 0 0 0 1px rgba(17,22,23,.08); transition:background-color .35s,color .35s}
.cpm-gw .cpm-gw__tool svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round}
.cpm-gw .cpm-gw__tool:hover,.cpm-gw.is-details .cpm-gw__tool.is-details{background:#111617!important; color:#fff!important}
.cpm-gw__tool.is-details{display:none!important}
@media (min-width:1181px){
  .cpm-gw--header .cpm-gw__tools{top:auto; bottom:36px; right:max(32px,calc((100% - 1440px)/2))}
  .cpm-gw--header .cpm-gw__tool.is-details{display:inline-flex!important}
  .cpm-gw--header.is-yours .cpm-gw__tool.is-details{display:none!important}
  /* the intro copy and the panel step aside while a billboard is the header */
  .cpm-gw--header .cpm-gw__head,.cpm-gw--header .cpm-gw__finder,.cpm-gw--header .cpm-gw__panel{transition:opacity .7s var(--gw-silk,ease),translate .9s var(--gw-silk,ease)}
  .cpm-gw--header.is-focus .cpm-gw__head,.cpm-gw--header.is-focus .cpm-gw__finder{opacity:0; translate:-40px 0; pointer-events:none}
  .cpm-gw--header.is-focus:not(.is-details):not(.is-yours) .cpm-gw__panel{opacity:0; translate:48px 0; pointer-events:none}
  .cpm-gw--light.cpm-gw--header.is-focus .cpm-gw__stage::after{opacity:0}
  .cpm-gw--header .cpm-gw__stage::after{transition:opacity .9s var(--gw-silk,ease)}
}
@media (max-width:767px){ .cpm-gw__tools{top:12px; right:12px} .cpm-gw .cpm-gw__tool{height:38px} }
@media (min-width:1181px){ section.cpm-gw.cpm-gw--header{box-sizing:border-box} }
.cpm-gw.is-gl-lost .cpm-gw__stage canvas,.cpm-gw.is-gl-lost .cpm-gw__labels{visibility:hidden}
/* No WebGL (old device / GPU blocked after a crash): no empty grey box — the panel + district buttons carry the page */
.cpm-gw.is-nogl .cpm-gw__stage{display:none!important}
.cpm-gw.is-nogl .cpm-gw__jump{position:static!important; display:flex; flex-wrap:wrap; margin:18px 0 0!important; max-width:none!important}
@media (min-width:1181px){ .cpm-gw--header.is-nogl .cpm-gw__panel{position:relative!important; top:auto; right:auto; width:auto; max-width:720px; margin-top:34px} }
.cpm-gw.is-nogl .cpm-gw__panel{min-height:0!important}

/* Subtle back / next beside the current billboard */
.cpm-gw .cpm-gw__side{position:absolute; left:0; top:0; z-index:4; width:46px; height:46px; margin:-23px 0 0 -23px; padding:0!important; min-height:0!important; border:0; border-radius:50%; cursor:pointer;
  display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.72)!important; color:#111617!important;
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); box-shadow:0 8px 24px -10px rgba(17,22,23,.45),inset 0 0 0 1px rgba(17,22,23,.08);
  opacity:0; pointer-events:none; transition:opacity .6s var(--gw-silk,ease),background-color .4s,color .4s}
.cpm-gw .cpm-gw__side.is-on{opacity:.82; pointer-events:auto}
.cpm-gw .cpm-gw__side.is-on:hover{opacity:1; background:#111617!important; color:#fff!important}
.cpm-gw .cpm-gw__side svg{width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round}
@media (max-width:767px){.cpm-gw .cpm-gw__side{width:38px; height:38px; margin:-19px 0 0 -19px}}
/* Auto tour toggle */
.cpm-gw .cpm-gw__tool.is-auto .i-pause{display:none}
.cpm-gw .cpm-gw__tool.is-auto.is-on .i-play{display:none}
.cpm-gw .cpm-gw__tool.is-auto.is-on .i-pause{display:inline}
.cpm-gw .cpm-gw__tool.is-auto .i-play{fill:currentColor; stroke:none}
.cpm-gw .cpm-gw__tool.is-auto.is-on{background:#d71120!important; color:#fff!important}
/* Auto tour is always available; Details / City view only at a board */
.cpm-gw.is-tour .cpm-gw__tools{opacity:1; pointer-events:auto; translate:0 0}
.cpm-gw.is-tour:not(.is-focus) .cpm-gw__tool.is-details,.cpm-gw.is-tour:not(.is-focus) .cpm-gw__tool.is-out{display:none}

/* ---------- One tidy dock: district pills | tools (Details, City view, Auto tour) ---------- */
.cpm-gw .cpm-gw__nav{max-width:calc(100% - 32px)!important}
@media (min-width:1181px){ .cpm-gw--header .cpm-gw__nav{bottom:28px; max-width:calc(100% - 64px)!important} }
.cpm-gw .cpm-gw__nav .cpm-gw__jump button{padding:0 14px; font-size:12.5px}
.cpm-gw__sep{flex:none; width:1px; height:24px; margin:0 4px; background:rgba(17,22,23,.14)}
.cpm-gw .cpm-gw__nav .cpm-gw__tools{position:static!important; display:flex; gap:4px; opacity:1!important; pointer-events:auto!important; translate:none!important; top:auto; right:auto; bottom:auto}
.cpm-gw .cpm-gw__nav .cpm-gw__tool{width:40px; height:40px; padding:0!important; justify-content:center; background:transparent!important; box-shadow:none!important; color:#5b6567!important}
.cpm-gw .cpm-gw__nav .cpm-gw__tool span{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}
.cpm-gw .cpm-gw__nav .cpm-gw__tool:hover{background:#f0f2f2!important; color:#111617!important}
.cpm-gw.is-details .cpm-gw__nav .cpm-gw__tool.is-details{background:#111617!important; color:#fff!important}
.cpm-gw .cpm-gw__nav .cpm-gw__tool.is-auto.is-on{background:#d71120!important; color:#fff!important}
.cpm-gw:not(.is-focus) .cpm-gw__nav .cpm-gw__tool.is-details,.cpm-gw:not(.is-focus) .cpm-gw__nav .cpm-gw__tool.is-out{display:none}
.cpm-gw .cpm-gw__arrow{display:none!important}

/* ---------- Back / next pills beside the billboard, showing where they go ---------- */
.cpm-gw .cpm-gw__side{width:auto!important; height:40px!important; margin:0!important; padding:0 14px!important; gap:6px; border-radius:999px!important;
  font:600 12.5px/1 Poppins,sans-serif; white-space:nowrap; text-transform:none!important; letter-spacing:0!important}
.cpm-gw .cpm-gw__side svg{width:16px!important; height:16px!important; flex:none}
.cpm-gw .cpm-gw__side.is-prev{padding-left:10px!important} .cpm-gw .cpm-gw__side.is-next{padding-right:10px!important}
@media (max-width:767px){ .cpm-gw .cpm-gw__side{height:34px!important; padding:0 10px!important; font-size:11px} }

/* ---------- Main copy: hard left, vertically centred (wide screens) ---------- */
@media (min-width:1181px){
  .cpm-gw--header .cpm-gw__head{position:absolute!important; z-index:3; left:clamp(28px,3.2vw,64px); top:50%; translate:0 -50%; margin:0!important; max-width:min(560px,34vw)}
}
/* dock: centred without the left:50% width cap (an abs box at left:50% can only be half the stage wide) */
.cpm-gw .cpm-gw__nav{left:0!important; right:0!important; margin:0 auto!important; translate:none!important; width:max-content!important}
.cpm-gw.cpm-gw--header:not(.is-focus) .cpm-gw__nav .cpm-gw__tool.is-details,.cpm-gw.cpm-gw--header:not(.is-focus) .cpm-gw__nav .cpm-gw__tool.is-out{display:none!important}

/* ---------- Dock: heavier, not washed out ---------- */
.cpm-gw.cpm-gw--light .cpm-gw__nav{background:#fff!important; padding:6px!important; box-shadow:0 18px 44px -16px rgba(17,22,23,.42),0 2px 6px rgba(17,22,23,.08),inset 0 0 0 1px rgba(17,22,23,.08)!important; -webkit-backdrop-filter:none; backdrop-filter:none}
.cpm-gw .cpm-gw__nav .cpm-gw__jump button{font-weight:700!important; font-size:13px!important; color:#1d2426!important; height:42px!important; padding:0 15px!important}
.cpm-gw .cpm-gw__nav .cpm-gw__jump button:hover{background:#f0f2f2!important; color:#111617!important}
.cpm-gw .cpm-gw__nav .cpm-gw__jump button.is-on{background:#111617!important; color:#fff!important; box-shadow:0 8px 18px -8px rgba(17,22,23,.6)!important}
.cpm-gw .cpm-gw__nav .cpm-gw__jump button[data-gw-go="hq"]{color:#d71120!important}
.cpm-gw .cpm-gw__nav .cpm-gw__jump button[data-gw-go="hq"].is-on{background:#d71120!important; color:#fff!important}
.cpm-gw__sep{background:rgba(17,22,23,.18)!important; height:26px!important}
.cpm-gw .cpm-gw__nav .cpm-gw__tool{width:42px!important; height:42px!important; color:#1d2426!important; position:relative}
.cpm-gw .cpm-gw__nav .cpm-gw__tool svg{width:19px; height:19px; stroke-width:2.5}
/* popup labels on the tool icons */
.cpm-gw .cpm-gw__nav .cpm-gw__tool span{position:absolute!important; width:auto!important; height:auto!important; overflow:visible!important; clip:auto!important;
  left:50%; bottom:calc(100% + 12px); translate:-50% 6px; padding:8px 12px; border-radius:10px; background:#111617; color:#fff; font:700 12px/1 Poppins,sans-serif; white-space:nowrap;
  box-shadow:0 10px 24px -10px rgba(17,22,23,.6); opacity:0; pointer-events:none; transition:opacity .35s var(--gw-silk,ease),translate .35s var(--gw-silk,ease)}
.cpm-gw .cpm-gw__nav .cpm-gw__tool span::after{content:""; position:absolute; left:50%; top:100%; margin-left:-5px; border:5px solid transparent; border-top-color:#111617}
.cpm-gw .cpm-gw__nav .cpm-gw__tool:hover span,.cpm-gw .cpm-gw__nav .cpm-gw__tool:focus-visible span{opacity:1; translate:-50% 0}
.cpm-gw .cpm-gw__nav .cpm-gw__tool:last-child span{left:auto; right:-6px; translate:0 6px} .cpm-gw .cpm-gw__nav .cpm-gw__tool:last-child:hover span{translate:0 0}
.cpm-gw .cpm-gw__nav .cpm-gw__tool:last-child span::after{left:auto; right:16px}

/* ---------- Back / next pills ---------- */
.cpm-gw .cpm-gw__side{height:46px!important; padding:0 18px 0 6px!important; gap:10px!important; background:#fff!important; color:#111617!important; font:700 13.5px/1 Poppins,sans-serif!important;
  box-shadow:0 16px 36px -14px rgba(17,22,23,.5),0 2px 6px rgba(17,22,23,.08)!important; -webkit-backdrop-filter:none; backdrop-filter:none}
.cpm-gw .cpm-gw__side.is-next{padding:0 6px 0 18px!important}
.cpm-gw .cpm-gw__side svg{box-sizing:content-box; width:16px!important; height:16px!important; padding:9px; border-radius:50%; background:#d71120; color:#fff; stroke:#fff; transition:background-color .4s,transform .5s var(--gw-silk,ease)}
.cpm-gw .cpm-gw__side.is-on{opacity:1!important}
.cpm-gw .cpm-gw__side.is-on:hover{background:#111617!important; color:#fff!important}
.cpm-gw .cpm-gw__side.is-prev:hover svg{transform:translateX(-2px)} .cpm-gw .cpm-gw__side.is-next:hover svg{transform:translateX(2px)}
@media (max-width:767px){ .cpm-gw .cpm-gw__side{height:38px!important; font-size:11.5px!important; padding:0 12px 0 4px!important} .cpm-gw .cpm-gw__side.is-next{padding:0 4px 0 12px!important} .cpm-gw .cpm-gw__side svg{padding:7px; width:13px!important; height:13px!important} }

/* Jamie: the title and the white vignette stay on screen all the time (also at a board) */
@media (min-width:1181px){
  .cpm-gw--header.is-focus .cpm-gw__head{opacity:1!important; translate:0 -50%!important; pointer-events:none}
  .cpm-gw--light.cpm-gw--header.is-focus .cpm-gw__stage::after{opacity:1!important}
}
/* Details + City view always in the dock */
.cpm-gw.cpm-gw--header.is-live .cpm-gw__nav .cpm-gw__tool.is-details,.cpm-gw.cpm-gw--header.is-live .cpm-gw__nav .cpm-gw__tool.is-out,
.cpm-gw.cpm-gw--header.is-live.is-yours .cpm-gw__nav .cpm-gw__tool.is-details{display:inline-flex!important}

/* Panel link lists: tight, scannable — thumbnail left, 2-line title, small meta */
.cpm-gw .cpm-gw__links li a{padding:11px 0!important; gap:14px!important; align-items:start!important}
.cpm-gw .cpm-gw__links li.has-thumb a{grid-template-columns:84px 1fr!important}
.cpm-gw .cpm-gw__links li.has-thumb img{width:84px!important; height:58px!important; border-radius:10px}
.cpm-gw .cpm-gw__links strong{font-size:14.5px!important; line-height:1.3!important; letter-spacing:-.005em; display:-webkit-box!important; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.cpm-gw .cpm-gw__links span{font-size:12.5px!important; line-height:1.45!important; margin-top:4px!important; display:-webkit-box!important; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
.cpm-gw .cpm-gw__links em{padding-top:1px}

/* ---------- Time of day ---------- */
.cpm-gw .cpm-gw__tod{position:absolute; z-index:5; left:clamp(16px,3.2vw,64px); bottom:28px; display:flex; align-items:center; gap:10px; height:54px; padding:0 7px 0 14px; border-radius:999px;
  background:#fff; box-shadow:0 18px 44px -16px rgba(17,22,23,.42),0 2px 6px rgba(17,22,23,.08),inset 0 0 0 1px rgba(17,22,23,.08); color:#111617; font:700 13px/1 Poppins,sans-serif}
.cpm-gw__tod-ico{width:20px; height:20px; flex:none; fill:none; stroke:#d71120; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round}
.cpm-gw__tod b{min-width:58px; font-weight:700; font-variant-numeric:tabular-nums}
.cpm-gw .cpm-gw__tod input[type=range]{-webkit-appearance:none; appearance:none; width:150px; height:4px; margin:0; padding:0!important; border:0!important; border-radius:4px; cursor:pointer;
  background:linear-gradient(90deg,#1a2127 0%,#f0dccd 25%,#f3f4f4 40%,#f3f4f4 60%,#f0dccd 75%,#1a2127 100%)!important; box-shadow:inset 0 0 0 1px rgba(17,22,23,.12)!important}
.cpm-gw .cpm-gw__tod input[type=range]::-webkit-slider-thumb{-webkit-appearance:none; width:18px; height:18px; border-radius:50%; background:#d71120; border:3px solid #fff; box-shadow:0 2px 8px rgba(17,22,23,.4)}
.cpm-gw .cpm-gw__tod input[type=range]::-moz-range-thumb{width:14px; height:14px; border-radius:50%; background:#d71120; border:3px solid #fff; box-shadow:0 2px 8px rgba(17,22,23,.4)}
.cpm-gw .cpm-gw__tod button{height:40px; padding:0 16px!important; min-height:0!important; border:0; border-radius:999px; background:#f0f2f2!important; color:#111617!important; font:800 12px/1 Poppins,sans-serif!important;
  letter-spacing:.06em!important; text-transform:uppercase!important; cursor:pointer; transition:background-color .4s,color .4s}
.cpm-gw .cpm-gw__tod button:hover{background:#111617!important; color:#fff!important}
.cpm-gw .cpm-gw__tod button.is-on{background:#d71120!important; color:#fff!important}
@media (max-width:1180px){ .cpm-gw .cpm-gw__tod{bottom:auto; top:12px; left:12px; height:46px; gap:8px} .cpm-gw .cpm-gw__tod input[type=range]{width:96px} .cpm-gw .cpm-gw__tod button{height:34px; padding:0 12px!important} }
.cpm-gw .cpm-gw__hint{display:none!important}

/* ---------- Night: dark vignette, white copy ---------- */
@media (min-width:1181px){
  .cpm-gw--light.cpm-gw--header .cpm-gw__stage::after{transition:background .8s}
  .cpm-gw--light.cpm-gw--header.is-night .cpm-gw__stage::after{background:
      linear-gradient(90deg,rgba(26,33,39,.95) 0%,rgba(26,33,39,.78) 24%,rgba(26,33,39,0) 46%),
      linear-gradient(180deg,rgba(26,33,39,.9) 0%,rgba(26,33,39,0) 26%),
      linear-gradient(0deg,rgba(26,33,39,.85) 0%,rgba(26,33,39,0) 18%)!important}
}
.cpm-gw--light.is-night .cpm-gw__title{color:#fff!important}
.cpm-gw--light.is-night .cpm-gw__intro{color:rgba(255,255,255,.78)!important}
.cpm-gw--light .cpm-gw__title,.cpm-gw--light .cpm-gw__intro{transition:color .8s}
/* time-of-day pill: bottom-left corner, above the dock line so they never collide */
@media (min-width:1181px){ .cpm-gw .cpm-gw__tod{bottom:104px; height:50px} }
@media (min-width:1181px) and (max-height:820px){ .cpm-gw .cpm-gw__tod{bottom:96px} }

/* Panel only when asked for: Details (ⓘ) or the billboard's red button (Jamie) — never just because you moved */
@media (min-width:1181px){
  .cpm-gw--header.is-live:not(.is-details):not(.is-yours) .cpm-gw__panel{opacity:0!important; translate:48px 0!important; pointer-events:none!important}
  .cpm-gw--header.is-live .cpm-gw__panel{transition:opacity .6s var(--gw-silk,ease),translate .6s var(--gw-silk,ease)}
}
/* Solid red buttons: always solid, bold, dark on hover */
.cpm-gw .cpm-gw__cta.is-solid,.cpm-gw.cpm-gw--light .cpm-gw__cta.is-solid{background:#d71120!important; color:#fff!important; font-weight:700!important; box-shadow:0 12px 26px -12px rgba(215,17,32,.7)!important}
.cpm-gw .cpm-gw__cta.is-solid:hover,.cpm-gw.cpm-gw--light .cpm-gw__cta.is-solid:hover{background:#111617!important; color:#fff!important; box-shadow:0 12px 26px -12px rgba(17,22,23,.6)!important}
.cpm-gw .cpm-gw__cta:not(.is-solid){font-weight:700!important; color:#111617!important}
.cpm-gw .cpm-gw__cta:not(.is-solid):hover{background:#111617!important; color:#fff!important}
/* hidden from the very first paint (not only once the 3D has booted); shown again if WebGL isn't available */
@media (min-width:1181px){
  .cpm-gw--header:not(.is-details):not(.is-yours):not(.is-nogl) .cpm-gw__panel{opacity:0!important; translate:48px 0!important; pointer-events:none!important}
}

/* ---------- Cheap depth of field (tilt-shift) + speed blur ---------- */
.cpm-gw__dof,.cpm-gw__speed{position:absolute; inset:0; z-index:1; pointer-events:none}
.cpm-gw__dof{-webkit-backdrop-filter:blur(3.5px); backdrop-filter:blur(3.5px);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.55) 14%,transparent 34%,transparent 70%,rgba(0,0,0,.6) 86%,#000 100%);
          mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.55) 14%,transparent 34%,transparent 70%,rgba(0,0,0,.6) 86%,#000 100%)}
.cpm-gw__speed{opacity:0; -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px);
  -webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 50%,transparent 35%,rgba(0,0,0,.65) 72%,#000 100%);
          mask-image:radial-gradient(ellipse 60% 55% at 50% 50%,transparent 35%,rgba(0,0,0,.65) 72%,#000 100%)}
.cpm-gw .cpm-gw__labels{z-index:2}
@media (prefers-reduced-motion:reduce){ .cpm-gw__speed{display:none} }
.cpm-gw__dof{display:none!important}   /* Jamie: DOF off (speed blur stays) */

/* Close (✕) on the details panel — desktop, where the panel floats over the city */
.cpm-gw .cpm-gw__close{display:none}
@media (min-width:1181px){
  .cpm-gw--header .cpm-gw__close{display:grid; place-items:center; position:absolute; top:14px; right:14px; z-index:2; width:38px; height:38px; padding:0!important; min-height:0!important; border:0; border-radius:50%; cursor:pointer;
    background:#f0f2f2!important; color:#111617!important; transition:background-color .35s,color .35s,rotate .45s var(--gw-silk,ease)}
  .cpm-gw--header .cpm-gw__close:hover{background:#111617!important; color:#fff!important; rotate:90deg}
  .cpm-gw--header .cpm-gw__close svg{width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.6; stroke-linecap:round}
  .cpm-gw--header .cpm-gw__panel{position:absolute}
}

/* ---------- Time of day + mouse helper inside the menu pod ---------- */
.cpm-gw .cpm-gw__nav .cpm-gw__tod{position:relative!important; inset:auto!important; top:auto!important; left:auto!important; bottom:auto!important; height:42px!important; padding:0 4px 0 8px!important; gap:8px!important; background:transparent!important; box-shadow:none!important; flex:none}
.cpm-gw .cpm-gw__nav .cpm-gw__tod b{min-width:52px; font-size:12.5px}
.cpm-gw .cpm-gw__nav .cpm-gw__tod button{height:34px!important; padding:0 12px!important; font-size:11px!important}
.cpm-gw .cpm-gw__nav .cpm-gw__tod input[type=range]{position:absolute; left:50%; bottom:calc(100% + 14px); translate:-50% 6px; width:220px!important; height:6px!important;
  outline:14px solid #fff; box-shadow:0 0 0 15px rgba(17,22,23,.06),0 18px 36px -8px rgba(17,22,23,.4)!important; border-radius:6px; opacity:0; pointer-events:none; transition:opacity .35s var(--gw-silk,ease),translate .35s var(--gw-silk,ease)}
.cpm-gw .cpm-gw__nav .cpm-gw__tod:hover input[type=range],.cpm-gw .cpm-gw__nav .cpm-gw__tod:focus-within input[type=range]{opacity:1; pointer-events:auto; translate:-50% 0}
.cpm-gw .cpm-gw__nav .cpm-gw__tod::before{content:""; position:absolute; left:0; right:0; bottom:100%; height:40px}  /* hover bridge to the slider */
.cpm-gw .cpm-gw__help{position:relative; flex:none; display:grid; place-items:center; width:42px; height:42px; padding:0!important; min-height:0!important; border:0; border-radius:50%; background:transparent!important; color:#1d2426!important; cursor:help}
.cpm-gw .cpm-gw__help:hover,.cpm-gw .cpm-gw__help.is-open{background:#f0f2f2!important}
.cpm-gw .cpm-gw__help svg{width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round}
.cpm-gw .cpm-gw__helptip{position:absolute; right:-6px; bottom:calc(100% + 12px); width:max-content; max-width:250px; padding:12px 14px; border-radius:12px; background:#111617; color:rgba(255,255,255,.82);
  font:500 12.5px/1.65 Poppins,sans-serif; text-align:left!important; white-space:normal; box-shadow:0 12px 28px -10px rgba(17,22,23,.6); opacity:0; translate:0 6px; pointer-events:none; transition:opacity .35s var(--gw-silk,ease),translate .35s var(--gw-silk,ease)}
.cpm-gw .cpm-gw__helptip b{color:#fff; font-weight:700}
.cpm-gw .cpm-gw__helptip::after{content:""; position:absolute; right:22px; top:100%; border:6px solid transparent; border-top-color:#111617}
.cpm-gw .cpm-gw__help:hover .cpm-gw__helptip,.cpm-gw .cpm-gw__help.is-open .cpm-gw__helptip,.cpm-gw .cpm-gw__help:focus-visible .cpm-gw__helptip{opacity:1; translate:0 0}
@media (max-width:1180px){ .cpm-gw .cpm-gw__nav .cpm-gw__tod{top:auto!important} .cpm-gw .cpm-gw__nav .cpm-gw__tod input[type=range]{left:auto; right:-60px; translate:0 6px} .cpm-gw .cpm-gw__nav .cpm-gw__tod:focus-within input[type=range]{translate:0 0} }
/* one popup at a time: slider only while hovering the time (or keyboard focus), never when the helper is up */
.cpm-gw .cpm-gw__nav .cpm-gw__tod:focus-within:not(:hover):not(:has(:focus-visible)) input[type=range]{opacity:0!important; pointer-events:none!important; translate:-50% 6px}
.cpm-gw .cpm-gw__nav:has(.cpm-gw__help:hover) .cpm-gw__tod input[type=range],.cpm-gw .cpm-gw__nav:has(.cpm-gw__help.is-open) .cpm-gw__tod input[type=range]{opacity:0!important; pointer-events:none!important}
.cpm-gw .cpm-gw__nav:has(.cpm-gw__tod:hover) .cpm-gw__helptip{opacity:0!important}

/* ---------- On-brand buttons everywhere in the gateway (theme was adding borders + Arial) ---------- */
.cpm-gw button.cpm-gw__cta{border:0!important; outline:0; font-family:Poppins,system-ui,sans-serif!important; font-weight:700!important; font-size:14px!important; letter-spacing:0!important; text-transform:none!important; height:48px; padding:0 22px!important; border-radius:999px!important; cursor:pointer}
.cpm-gw .cpm-gw__cta.is-ghost{background:#fff!important; color:#111617!important; box-shadow:inset 0 0 0 2px #111617!important}
.cpm-gw .cpm-gw__cta.is-ghost:hover:not(:disabled){background:#111617!important; color:#fff!important}
.cpm-gw .cpm-gw__cta.is-ghost:disabled{opacity:.35; cursor:not-allowed}
.cpm-gw .cpm-gw__cta.is-solid:disabled{background:#111617!important; color:#fff!important; opacity:1; box-shadow:none!important; cursor:default}
.cpm-gw .cpm-gw__cta:focus-visible{box-shadow:0 0 0 3px #fff,0 0 0 5px #d71120!important}
.cpm-gw .cpm-gw__yform input,.cpm-gw .cpm-gw__yform textarea{font-family:Poppins,system-ui,sans-serif!important}
.cpm-gw .cpm-gw__ymsg{font-family:Poppins,system-ui,sans-serif}

/* ---------- Time slider: chunkier, CPM ---------- */
.cpm-gw .cpm-gw__nav .cpm-gw__tod input[type=range]{height:12px!important; width:240px!important; border-radius:999px!important; outline:16px solid #fff!important;
  background:linear-gradient(90deg,#1a2127 0%,#3a2f3a 16%,#f0b48a 25%,#f3f4f4 36%,#fff 50%,#f3f4f4 64%,#f0b48a 75%,#3a2f3a 84%,#1a2127 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(17,22,23,.15),0 0 0 17px rgba(17,22,23,.05),0 22px 40px -8px rgba(17,22,23,.45)!important}
.cpm-gw .cpm-gw__nav .cpm-gw__tod input[type=range]::-webkit-slider-thumb{width:26px; height:26px; border-radius:50%; background:#d71120; border:4px solid #fff; box-shadow:0 3px 10px rgba(17,22,23,.45),0 0 0 1px rgba(17,22,23,.12); cursor:grab}
.cpm-gw .cpm-gw__nav .cpm-gw__tod input[type=range]::-moz-range-thumb{width:20px; height:20px; border-radius:50%; background:#d71120; border:4px solid #fff; box-shadow:0 3px 10px rgba(17,22,23,.45); cursor:grab}
.cpm-gw .cpm-gw__nav .cpm-gw__tod input[type=range]:active::-webkit-slider-thumb{cursor:grabbing; transform:scale(1.1)}
.cpm-gw .cpm-gw__nav .cpm-gw__tod input[type=range]{bottom:calc(100% + 22px)}
.cpm-gw .cpm-gw__nav .cpm-gw__tool.is-auto.is-on.is-held{background:#5b6567!important; color:#fff!important}

/* ---------- Exit transition: dive + fade to the next page ---------- */
.cpm-gw-exit{position:fixed; inset:0; z-index:2147483000; pointer-events:none; opacity:0; background:radial-gradient(circle at 50% 50%,rgba(243,244,244,.0) 0%,#f3f4f4 55%); transition:opacity .55s cubic-bezier(.4,0,.2,1) .12s}
.cpm-gw-exit.is-dark{background:radial-gradient(circle at 50% 50%,rgba(26,33,39,0) 0%,#1a2127 55%)}
.cpm-gw-exit.is-on{opacity:1; pointer-events:auto}
.cpm-gw-exit.is-on{background-color:#f3f4f4} .cpm-gw-exit.is-dark.is-on{background-color:#1a2127}
.cpm-gw-exit i{position:absolute; left:50%; top:50%; width:14px; height:14px; margin:-7px 0 0 -7px; border-radius:50%; background:#d71120; opacity:0; transform:scale(.4); transition:opacity .3s .35s,transform .5s cubic-bezier(.16,1,.3,1) .35s}
.cpm-gw-exit.is-on i{opacity:1; transform:scale(1); animation:cpmGwExitPulse 1.1s ease-out .6s infinite}
@keyframes cpmGwExitPulse{0%{box-shadow:0 0 0 0 rgba(215,17,32,.55)}100%{box-shadow:0 0 0 22px rgba(215,17,32,0)}}
@media (prefers-reduced-motion:reduce){.cpm-gw-exit{transition-duration:.15s}.cpm-gw-exit i{display:none}}
/* exit veil = the site-wide DOF transition: the city dives in while it drifts out of focus */
.cpm-gw-exit,.cpm-gw-exit.is-on,.cpm-gw-exit.is-dark.is-on{background:rgba(243,244,244,0); -webkit-backdrop-filter:blur(0); backdrop-filter:blur(0); transition:opacity .6s cubic-bezier(.4,0,.2,1),background-color .6s cubic-bezier(.4,0,.2,1),-webkit-backdrop-filter .6s cubic-bezier(.4,0,.2,1),backdrop-filter .6s cubic-bezier(.4,0,.2,1)}
.cpm-gw-exit.is-on{background-color:#f3f4f4; -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px)}
.cpm-gw-exit.is-dark.is-on{background-color:#1a2127}
/* exit veil, take 2: no blur — red dot lands in the centre, then soft white (matches cpm-page-transition.js) */
.cpm-gw-exit,.cpm-gw-exit.is-on,.cpm-gw-exit.is-dark.is-on{-webkit-backdrop-filter:none; backdrop-filter:none; background-color:rgba(243,244,244,0); opacity:1; transition:background-color .38s cubic-bezier(.4,0,.2,1) .12s}
.cpm-gw-exit.is-on{background-color:#f3f4f4}
.cpm-gw-exit.is-dark.is-on{background-color:#1a2127}
.cpm-gw-exit i{display:block; animation:none!important; opacity:0; transform:scale(0); transition:transform .32s cubic-bezier(.16,1,.3,1),opacity .2s cubic-bezier(.4,0,.2,1)}
.cpm-gw-exit.is-on i{opacity:1; transform:scale(1)}

/* ---------- phones (Oct 18): city fills the screen, back/next above the dock, one "current stop" button ---------- */
.cpm-gw .cpm-gw__cur{display:none}
@media (max-width:767px){
  section.cpm-gw.cpm-gw--header{padding:0 0 40px!important}
  .cpm-gw--header .cpm-gw__head{display:none!important}
  .cpm-gw--header .cpm-gw__stage,.cpm-gw--header.is-tour .cpm-gw__stage{height:100svh!important; min-height:540px!important; max-height:none!important}
  /* back / next: a pair just above the dock, not floating over the board */
  .cpm-gw .cpm-gw__side{transform:none!important; top:auto!important; bottom:84px!important; left:12px!important; right:auto!important; max-width:calc(50% - 18px); box-shadow:0 6px 18px rgba(17,22,23,.12)}
  .cpm-gw .cpm-gw__side.is-next{left:auto!important; right:12px!important}
  .cpm-gw .cpm-gw__side span{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
  /* the stop picker */
  .cpm-gw .cpm-gw__nav{overflow:visible!important}
  .cpm-gw .cpm-gw__nav .cpm-gw__cur{display:inline-flex; align-items:center; gap:7px; flex:0 1 auto; min-width:0; height:40px; margin:0!important; padding:0 12px 0 14px!important; border:0!important; border-radius:999px!important;
    background:#d71120!important; color:#fff!important; font:700 13px/1 Poppins,sans-serif!important; letter-spacing:0!important; text-transform:none!important; box-shadow:none!important; min-height:0!important; cursor:pointer}
  .cpm-gw__cur small{font:700 9.5px/1 Poppins,sans-serif; letter-spacing:.06em; opacity:.75; font-variant-numeric:tabular-nums}
  .cpm-gw__cur span{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:30vw}
  .cpm-gw__cur svg{flex:none; width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; transition:transform .35s cubic-bezier(.16,1,.3,1)}
  .cpm-gw__nav.is-jump-open .cpm-gw__cur svg{transform:rotate(180deg)}
  .cpm-gw .cpm-gw__nav .cpm-gw__jump{position:absolute!important; left:0; bottom:calc(100% + 10px); z-index:6; display:flex!important; flex-direction:column; align-items:stretch; gap:2px;
    width:min(260px,calc(100vw - 32px)); max-height:min(60svh,460px); overflow:auto!important; padding:6px!important; margin:0!important; border-radius:20px; background:#fff;
    box-shadow:0 18px 50px rgba(17,22,23,.18),0 0 0 1px rgba(17,22,23,.06); mask:none!important; -webkit-mask:none!important;
    opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .25s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.16,1,.3,1),visibility 0s .25s}
  .cpm-gw__nav.is-jump-open .cpm-gw__jump{opacity:1; visibility:visible; transform:none; transition-delay:0s}
  .cpm-gw .cpm-gw__nav .cpm-gw__jump button{display:flex!important; justify-content:flex-start; width:100%; height:42px!important; padding:0 14px!important; border-radius:12px!important; flex:none!important;
    background:transparent!important; color:#111617!important; font:600 14px/1 Poppins,sans-serif!important; text-align:left}
  .cpm-gw .cpm-gw__nav .cpm-gw__jump button.is-on{background:#d71120!important; color:#fff!important}
  .cpm-gw .cpm-gw__nav .cpm-gw__jump button.is-yours{box-shadow:inset 0 0 0 1.5px #d71120!important}
}
@media (max-width:767px){
  .cpm-gw .cpm-gw__nav{display:flex!important; align-items:center; gap:2px!important; width:calc(100% - 24px)!important; max-width:none!important; left:12px!important; right:12px!important; transform:none!important; box-sizing:border-box}
  .cpm-gw .cpm-gw__nav .cpm-gw__cur{flex:1 1 auto; justify-content:flex-start}
  .cpm-gw .cpm-gw__nav .cpm-gw__cur span{flex:1 1 auto; max-width:none; text-align:left}
  .cpm-gw .cpm-gw__nav .cpm-gw__tools{flex:none; gap:0!important}
  .cpm-gw .cpm-gw__nav .cpm-gw__tool{width:38px!important; padding:0!important; justify-content:center}
  .cpm-gw .cpm-gw__nav .cpm-gw__tod{flex:none; gap:4px!important; padding:0 2px!important}
  .cpm-gw .cpm-gw__nav .cpm-gw__tod > b{display:none!important}
  .cpm-gw .cpm-gw__nav .cpm-gw__tod button{height:34px!important; padding:0 10px!important; font-size:10.5px!important}
  .cpm-gw .cpm-gw__nav .cpm-gw__help,.cpm-gw .cpm-gw__nav .cpm-gw__sep:last-of-type{display:none!important}
  .cpm-gw .cpm-gw__nav .cpm-gw__jump button{align-items:center!important; line-height:1!important; min-height:0!important}
  .cpm-gw.has-jump-open .cpm-gw__side{opacity:0!important; pointer-events:none!important}
}

/* ---------- Your site: image controls (show once a picture is in) ---------- */
.cpm-gw__yadj{display:none; gap:10px}
.cpm-gw__yform.has-image .cpm-gw__yadj{display:grid}
.cpm-gw__ypad{position:relative; aspect-ratio:14.6/4.3; border-radius:12px; overflow:hidden; cursor:grab; touch-action:none; background:#1b2123 no-repeat; box-shadow:inset 0 0 0 1px rgba(17,22,23,.12)}
.cpm-gw__ypad::before{content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,14,15,.94) 0%,rgba(10,14,15,.78) 40%,rgba(10,14,15,.1) 64%,rgba(10,14,15,0) 100%); pointer-events:none}
.cpm-gw__ypad::after{content:""; position:absolute; left:6%; top:34%; width:26%; height:9%; border-radius:3px; background:rgba(255,255,255,.85); box-shadow:0 14px 0 -2px rgba(255,255,255,.4),0 28px 0 -1px #d71120; pointer-events:none}
.cpm-gw__ypad span{position:absolute; right:8px; bottom:7px; padding:4px 8px; border-radius:99px; background:rgba(17,22,23,.6); color:#fff; font:600 10px/1 Poppins,sans-serif; letter-spacing:.02em; pointer-events:none; transition:opacity .3s}
.cpm-gw__ypad.is-drag{cursor:grabbing} .cpm-gw__ypad.is-drag span{opacity:0}
.cpm-gw__yrow{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.cpm-gw__seg{display:inline-flex; padding:3px; border-radius:99px; background:#f3f5f5; box-shadow:inset 0 0 0 1px #e3e7e8}
.cpm-gw .cpm-gw__seg button{height:30px; min-height:0!important; padding:0 14px!important; margin:0!important; border:0!important; border-radius:99px!important; background:transparent!important; color:#5b6567!important;
  font:600 12.5px/1 Poppins,sans-serif!important; letter-spacing:0!important; text-transform:none!important; box-shadow:none!important; cursor:pointer; transition:background-color .25s,color .25s}
.cpm-gw .cpm-gw__seg button.is-on{background:#111617!important; color:#fff!important}
.cpm-gw__yzoom{flex:1 1 120px; display:flex; align-items:center; gap:6px; margin:0; color:#5b6567}
.cpm-gw__yzoom svg{flex:none; width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round}
.cpm-gw__yzoom input[type=range]{flex:1; min-width:0; height:22px; margin:0; background:transparent; -webkit-appearance:none; appearance:none; accent-color:#d71120}
.cpm-gw__yzoom input[type=range]::-webkit-slider-runnable-track{height:4px; border-radius:4px; background:#e3e7e8}
.cpm-gw__yzoom input[type=range]::-webkit-slider-thumb{-webkit-appearance:none; width:18px; height:18px; margin-top:-7px; border-radius:50%; background:#d71120; box-shadow:0 0 0 3px #fff,0 2px 6px rgba(0,0,0,.2)}
.cpm-gw__yzoom input[type=range]::-moz-range-track{height:4px; border-radius:4px; background:#e3e7e8}
.cpm-gw__yzoom input[type=range]::-moz-range-thumb{width:18px; height:18px; border:0; border-radius:50%; background:#d71120; box-shadow:0 0 0 3px #fff,0 2px 6px rgba(0,0,0,.2)}
.cpm-gw .cpm-gw__yreset{height:30px; min-height:0!important; padding:0 4px!important; margin:0!important; border:0!important; background:none!important; color:#5b6567!important; box-shadow:none!important;
  font:600 12px/1 Poppins,sans-serif!important; letter-spacing:0!important; text-transform:none!important; text-decoration:underline; text-underline-offset:3px; cursor:pointer}
.cpm-gw .cpm-gw__yreset:hover{color:#d71120!important}
.cpm-gw__ybg{display:none; align-items:center; gap:8px}
.cpm-gw__yform.is-fit .cpm-gw__ybg{display:flex}
.cpm-gw__ybg span{font:700 11px/1 Poppins,sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#5b6567; margin-right:4px}
.cpm-gw .cpm-gw__ybg button{width:24px; height:24px; min-height:0!important; padding:0!important; margin:0!important; border:0!important; border-radius:50%!important; cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(17,22,23,.18)!important; transition:transform .25s cubic-bezier(.16,1,.3,1)}
.cpm-gw .cpm-gw__ybg button[data-c="#ffffff"]{background:#fff!important} .cpm-gw .cpm-gw__ybg button[data-c="#eef0f0"]{background:#eef0f0!important}
.cpm-gw .cpm-gw__ybg button[data-c="#1b2123"]{background:#1b2123!important} .cpm-gw .cpm-gw__ybg button[data-c="#d71120"]{background:#d71120!important}
.cpm-gw .cpm-gw__ybg button.is-on{transform:scale(1.12); box-shadow:0 0 0 2px #fff,0 0 0 4px #111617!important}
.cpm-gw__yrow{flex-wrap:nowrap} .cpm-gw__yzoom{min-width:0; flex:1 1 auto}

/* phones: welcome card (title + intro) pops over the city on arrival, then fades off */
.cpm-gw__welcome{display:none}
@media (max-width:767px){
  .cpm-gw__welcome{display:block; position:absolute; left:16px; right:16px; top:calc(env(safe-area-inset-top,0px) + 104px); z-index:7; padding:16px 18px 17px 20px; border-radius:18px; background:rgba(255,255,255,.96);
    box-shadow:0 18px 50px rgba(17,22,23,.16),0 0 0 1px rgba(17,22,23,.05); color:#111617; cursor:pointer;
    opacity:0; transform:translateY(10px) scale(.98); transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.16,1,.3,1)}
  .cpm-gw__welcome::before{content:""; position:absolute; left:0; top:18px; bottom:18px; width:3px; border-radius:0 3px 3px 0; background:#d71120}
  .cpm-gw__welcome.is-in{opacity:1; transform:none}
  .cpm-gw__welcome.is-out{opacity:0; transform:translateY(-6px); transition-duration:.6s}
  .cpm-gw__welcome-k{display:block; margin-bottom:5px; font:700 10.5px/1 Poppins,sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#d71120}
  .cpm-gw__welcome strong{display:block; font:800 21px/1.1 Poppins,sans-serif; letter-spacing:-.02em}
  .cpm-gw__welcome p{margin:8px 0 0; font:400 14px/1.5 Poppins,sans-serif; color:#5b6567}
}

/* ---------- "3D navigator" badge: left of the pod, controls card on hover/tap ---------- */
.cpm-gw .cpm-gw__help{width:40px!important; height:40px!important; background:#111617!important; color:#fff!important}
.cpm-gw .cpm-gw__help:hover,.cpm-gw .cpm-gw__help.is-open{background:#d71120!important}
.cpm-gw .cpm-gw__help .cpm-gw__cube{width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linejoin:round; stroke-linecap:round}
.cpm-gw .cpm-gw__helptip{left:-6px!important; right:auto!important; max-width:none!important; width:max-content; padding:14px 16px 12px!important; border-radius:16px!important; box-shadow:0 18px 50px rgba(17,22,23,.25)}
.cpm-gw .cpm-gw__helptip::after{left:20px!important; right:auto!important}
.cpm-gw .cpm-gw__helptip em{display:block; margin-bottom:10px; font:700 10.5px/1 Poppins,sans-serif; font-style:normal; letter-spacing:.14em; text-transform:uppercase; color:#ff4a56}
.cpm-gw .cpm-gw__helptip ul{display:grid; gap:9px; margin:0; padding:0; list-style:none}
.cpm-gw .cpm-gw__helptip li{display:flex; align-items:center; gap:11px; margin:0; font:400 13px/1.25 Poppins,sans-serif; color:rgba(255,255,255,.7); white-space:nowrap}
.cpm-gw .cpm-gw__helptip li b{display:inline-block; min-width:92px; margin-right:8px; color:#fff; font-weight:600}
.cpm-gw .cpm-gw__mi{flex:none; width:22px; height:22px; fill:none; stroke:rgba(255,255,255,.75); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
.cpm-gw .cpm-gw__mi .hot{fill:#d71120; stroke:none}
.cpm-gw .cpm-gw__sep.is-lead{margin:0 4px 0 2px}
@media (max-width:767px){
  .cpm-gw .cpm-gw__nav .cpm-gw__help{display:grid!important; flex:none}
  .cpm-gw .cpm-gw__nav .cpm-gw__sep.is-lead{display:none!important}
  .cpm-gw .cpm-gw__helptip li b{min-width:84px}
}
@media (max-width:767px){
  .cpm-gw .cpm-gw__nav .cpm-gw__help{width:36px!important; height:36px!important}
  .cpm-gw .cpm-gw__nav .cpm-gw__tool{width:34px!important; height:36px!important}
  .cpm-gw .cpm-gw__nav .cpm-gw__tod > button{display:none!important}
  .cpm-gw .cpm-gw__nav .cpm-gw__cur{padding:0 10px 0 12px!important; gap:6px}
}
