.academy-cities{background:#fff;color:#202723;padding:60px 0 90px;scroll-margin-top:130px}
.cities-heading{text-align:center;max-width:860px;margin:0 auto 30px;padding:0 24px}
.registration-notice{background:#f8f8f5;color:#11110f;padding:64px 24px;text-align:center;scroll-margin-top:130px}
.registration-notice h2{font-family:Anton,sans-serif;font-weight:400;font-size:clamp(30px,4vw,46px);line-height:1.2;margin:0 0 18px}
.registration-notice p{font-size:16px;line-height:1.65;max-width:630px;margin:auto}
.registration-shortcut{position:absolute;bottom:32px;right:6vw;display:flex;align-items:center;gap:2px;background:rgba(14,25,22,.62);color:#fff;border:1px solid rgba(255,255,255,.24);border-radius:12px;padding:3px;max-width:calc(100% - 48px);font-family:"Instrument Sans",sans-serif}
.registration-shortcut-link{display:flex;align-items:center;gap:18px;min-height:44px;padding:10px 14px;color:inherit;text-decoration:none;font-size:14px;line-height:1.4;font-weight:400;border-radius:8px}
.registration-shortcut-link svg{width:20px;height:20px;flex-shrink:0}
.registration-shortcut-dismiss{display:grid;place-items:center;min-width:44px;min-height:44px;padding:10px;background:transparent;color:inherit;border:0;border-radius:10px;cursor:pointer}
.registration-shortcut-dismiss svg{width:20px;height:20px}
.registration-shortcut :is(a,button):hover{background:rgba(255,255,255,.12)}
.registration-shortcut :is(a,button):focus-visible{outline:2px solid #fff;outline-offset:1px}
.registration-notice h2:focus{outline:none}
.registration-notice h2.registration-keyboard-arrival:focus-visible{outline:2px solid #65512f;outline-offset:6px}
@media(prefers-reduced-transparency:reduce){.registration-shortcut{background:#14231e}}
.city-name .city-region{margin:12px 0 0;text-transform:none;letter-spacing:0;font-size:clamp(13px,1.3vw,17px);line-height:1.5}
@media(max-width:850px){.registration-shortcut{bottom:max(24px,calc(100% - 100svh + 20px + env(safe-area-inset-bottom)));right:24px}.registration-shortcut-link{gap:12px;padding-inline:12px;font-size:13px}}
.cities-heading h2{font-family:Anton,sans-serif;font-size:clamp(38px,5vw,66px);font-weight:400;line-height:1.2;margin:14px 0 20px}
.cities-heading>p:last-child{max-width:640px;margin:auto;font-size:16px;line-height:1.65}
.cities-selector{display:flex;justify-content:center;gap:8px;margin:26px auto 30px}
.cities-selector button{font:inherit;cursor:pointer;border:1px solid #cbc9c0;background:transparent;color:inherit;padding:12px 28px;border-radius:40px}
.cities-selector button[aria-pressed=true]{background:#202723;color:#fff;border-color:#202723}
.cities-selector button:focus-visible{outline:3px solid #a48247;outline-offset:4px}
.city-panel{position:relative}
.city-panel[hidden]{display:none}
.city-scene{position:relative;height:clamp(340px,43vw,640px);overflow:hidden;margin:0}
.city-scene img{width:100%;height:100%;object-fit:cover;display:block}
.city-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,17,28,.38),transparent 58%);pointer-events:none}
.city-name{position:absolute;z-index:1;top:25px;left:6%;color:#fff}
.city-name p{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}
.city-name h3{font-family:Anton,sans-serif;font-weight:400;font-size:clamp(62px,8vw,116px);line-height:1.15;margin:0}
.city-panel[data-city-panel=valencia] .city-name{left:auto;right:6%;text-align:right}
.city-note{display:grid;grid-template-columns:1fr 2fr;gap:45px;max-width:1150px;margin:auto;padding:30px 30px 0}
.city-note h4{font-family:"Instrument Serif",serif;font-style:italic;font-size:30px;font-weight:400;line-height:1.2;margin:0}
.city-note>p{font-size:16px;line-height:1.7;margin:0;max-width:750px}
@media(min-width:760px){.city-panel{animation:city-arrive .45s ease both}}
/* Preserve the top of the Miguelete in the wide desktop crop. */
@media(min-width:760px){.city-panel[data-city-panel=valencia] .city-scene img{object-position:center top}}
@keyframes city-arrive{from{opacity:.4}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.city-panel{animation:none}}
@media(max-width:759px){.academy-cities{padding:40px 0 60px}.city-scene{height:auto;aspect-ratio:16/11}.city-scene img{object-fit:cover}.city-name{top:20px;left:22px}.city-name h3{font-size:56px}.city-name p{font-size:10px;letter-spacing:.07em}.city-panel[data-city-panel=valencia] .city-name{right:22px}.city-note{grid-template-columns:1fr;gap:14px;padding:25px 24px 0}.city-note>p{font-size:15px}.city-note h4{font-size:27px}}
