/* Current location uses the existing gold and violet palette. */
.hero .location-title{margin:0;line-height:1;letter-spacing:0;font-size:clamp(52px,7.8vw,108px)}
.hero .location-title>span{display:block}
.hero .location-title .location-now{display:flex;align-items:center;gap:15px;margin-bottom:12px;color:var(--white);font-size:22px;line-height:1.5;letter-spacing:1.4px}
.location-beacon{position:relative;display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent-text);box-shadow:0 0 18px #dfb65c66}
.location-beacon::after{content:"";position:absolute;inset:-6px;border:1px solid #dfb65c80;border-radius:50%;animation:location-pulse 3s ease-out infinite}
.hero .location-title .location-city{width:fit-content;color:var(--accent-text);background:linear-gradient(110deg,var(--accent-text) 25%,#fff0c2 45%,var(--accent-text) 65%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:location-shimmer 7s ease-in-out infinite}
.hero .location-title .location-country{display:flex;align-items:center;gap:17px;color:var(--white);font-size:clamp(29px,3.6vw,46px);line-height:1.3;margin-top:6px}
.location-flag{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:.72em;text-transform:none;letter-spacing:0}
.location-rule{width:110px;height:1px;margin-top:10px;background:linear-gradient(90deg,#dfb65c88,#8c35ed55,transparent);position:relative}
.location-rule span{position:absolute;top:-2px;left:0;width:5px;height:5px;background:var(--accent-text);transform:rotate(45deg);box-shadow:0 0 12px #dfb65c55}
.hero-copy{animation:location-enter .8s ease-out both}
@keyframes location-pulse{0%{transform:scale(.7);opacity:.8}80%,100%{transform:scale(1.7);opacity:0}}
@keyframes location-shimmer{0%,20%{background-position:100% 50%}70%,100%{background-position:0% 50%}}
@keyframes location-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.hero .location-title{font-size:clamp(48px,7.9vw,66px)}.hero .location-title .location-now{font-size:18px;gap:12px;margin-bottom:10px}.hero .location-title .location-country{font-size:29px;gap:12px}.hero-copy{max-width:56%}.hero-actions{flex-wrap:wrap;gap:14px 24px}}
@media(max-width:560px){.hero-copy{max-width:none}.hero .location-title{font-size:clamp(49px,14vw,76px)}.hero .location-title .location-now{font-size:19px;margin-bottom:8px}.hero .location-title .location-country{font-size:30px;margin-top:4px}.location-rule{margin-top:6px}.hero-layout{min-height:0;padding-bottom:32px}.hero .hero-actions{margin-top:24px;gap:18px 22px}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero .location-title .location-city,.location-beacon::after{animation:none}.location-beacon::after{opacity:.5;transform:none}}

/* Keep the opening compact after removing the portrait and shortcut blocks. */
.hero .hero-layout{display:block;min-height:0;padding-top:24px;padding-bottom:20px}
.hero .hero-copy{width:100%;max-width:none;padding-bottom:0}
@media(max-width:560px){.hero .hero-layout{padding-top:12px;padding-bottom:12px}}

/* The flag's cloth is deformed by a travelling wind wave in canvas. */
.hero .location-title .location-city-row{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;width:100%}
.location-banner{position:relative;display:block;justify-self:center;align-self:center;width:clamp(180px,22vw,260px);max-width:100%;height:0;transform:translateX(clamp(20px,2vw,28px));pointer-events:none;filter:drop-shadow(0 8px 14px #00a9c02b);line-height:0}
.flag-cloth{position:absolute;left:0;top:50%;display:block;width:100%;transform:translateY(-50%) rotate(-3deg)}
.flag-cloth .wind-flag{display:none;width:100%;height:auto}
.flag-fallback{display:block;width:80%;height:auto;margin:auto}
.flag-cloth.has-wind .wind-flag{display:block}
.flag-cloth.has-wind .flag-fallback{display:none}
@media(max-width:800px){.location-banner{width:clamp(140px,23vw,180px)}}
@media(max-width:560px){.location-banner{width:clamp(100px,30vw,140px)}}
