:root{--bg:#050505;--fg:#f4f2ed;--muted:rgba(244,242,237,.62);--line:rgba(255,255,255,.14)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif}body{overflow-x:hidden}a{color:inherit;text-decoration:none}.stage{min-height:100svh;display:flex;flex-direction:column;padding:22px 28px}.topbar{display:flex;align-items:center;justify-content:space-between;z-index:10}.brand{font-size:13px;letter-spacing:.18em;font-weight:700}.brand span{opacity:.45}.topbar nav{display:flex;gap:18px;align-items:center}.city-link,.city-select,.theme-btn{font:inherit;font-size:10px;letter-spacing:.16em;color:var(--fg);background:transparent;border:0;cursor:pointer}.city-select{appearance:none;padding-right:2px;color-scheme:dark}.city-select option{background:#111315;color:#f4f2ed}.theme-light .city-select{color-scheme:light}.theme-light .city-select option{background:#efede7;color:#161616}.theme-btn{font-size:16px}.cinema{position:relative;width:min(1500px,100%);aspect-ratio:2.35/1;margin:auto;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.07);box-shadow:0 20px 80px rgba(0,0,0,.45)}.hero{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.hero-empty{background:linear-gradient(120deg,#121212,#272727)}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.04) 65%,rgba(0,0,0,.28));z-index:4}.weather-copy{position:absolute;left:5%;bottom:9%;z-index:5;text-shadow:0 3px 25px rgba(0,0,0,.7)}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:700;margin-bottom:9px}.temperature{font-size:clamp(70px,9vw,150px);font-weight:300;line-height:.85;letter-spacing:-.06em}.condition{font-size:12px;letter-spacing:.24em;font-weight:700;margin-top:16px}.range{font-size:11px;letter-spacing:.14em;color:var(--muted);margin-top:8px}.theme-light .weather-copy{color:#f4f2ed}.theme-light .weather-copy .range{color:rgba(244,242,237,.62)}.theme-light .status{color:rgba(255,255,255,.7)}.status{position:absolute;right:3%;bottom:4%;z-index:6;font-size:9px;letter-spacing:.16em;color:rgba(255,255,255,.7)}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#fff;margin-right:7px;vertical-align:middle}.atmosphere{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}.atmosphere-rain{background-image:repeating-linear-gradient(110deg,transparent 0 22px,rgba(255,255,255,.18) 23px,transparent 24px 42px);background-size:100px 150px;animation:rain calc(1.2s / var(--fx-rain-speed,1)) linear infinite;opacity:calc(var(--fx-rain-opacity,.18) * var(--fx-rain-enabled,1))}.atmosphere-fog{background:radial-gradient(ellipse at 30% 60%,rgba(255,255,255,.3),transparent 60%),linear-gradient(90deg,rgba(255,255,255,.12),transparent 65%);animation:fog calc(12s / var(--fx-fog-speed,1)) ease-in-out infinite alternate;opacity:calc(var(--fx-fog-opacity,.12) * var(--fx-fog-enabled,1))}.atmosphere-cloud{background:linear-gradient(110deg,rgba(0,0,0,.08),rgba(255,255,255,.12),rgba(0,0,0,.1));animation:cloud calc(18s / var(--fx-cloud-speed,1)) ease-in-out infinite alternate;opacity:calc(var(--fx-cloud-opacity,.08) * var(--fx-cloud-enabled,1))}.atmosphere-snow{background-image:radial-gradient(circle,rgba(255,255,255,.8) 0 1px,transparent 2px);background-size:35px 35px;animation:snow calc(6s / var(--fx-snow-speed,1)) linear infinite;opacity:calc(var(--fx-snow-opacity,.2) * var(--fx-snow-enabled,1))}.atmosphere-storm{background:linear-gradient(transparent,rgba(255,255,255,.12));animation:storm calc(7s / var(--fx-storm-speed,1)) infinite;opacity:calc(var(--fx-storm-opacity,.15) * var(--fx-storm-enabled,1))}.atmosphere-clear{background:radial-gradient(circle at 18% 15%,rgba(255,205,115,.18),transparent 38%);opacity:calc(var(--fx-sunlight-opacity,.08) * var(--fx-sunlight-enabled,1))}.atmosphere-other{opacity:0}.is-night .atmosphere-clear{opacity:0}.footer{display:flex;justify-content:space-between;gap:20px;padding-top:20px;color:var(--muted);font-size:8px;letter-spacing:.16em}.footer a{text-decoration:underline;text-underline-offset:3px}.theme-light{--bg:#efede7;--fg:#161616;--muted:rgba(22,22,22,.6);--line:rgba(0,0,0,.15)}.sponsor{position:relative;z-index:20;width:min(1500px,100%);margin:0 auto;padding:12px 0 0;text-align:center;display:block;clear:both}.sponsor-line{position:relative;z-index:21;display:inline-flex;align-items:baseline;justify-content:center;gap:7px;max-width:100%;font-size:10px;line-height:1.5;letter-spacing:.14em;font-weight:400;color:var(--muted);white-space:normal}.sponsor-prefix{font-weight:400}.sponsor-name{font-weight:700;color:var(--fg);text-decoration:underline;text-underline-offset:5px}.sponsor-arrow{font-size:12px;line-height:1;font-weight:400;color:var(--fg);opacity:.7}.sponsor-line:hover .sponsor-name{opacity:.72}.sponsor-cta-line .sponsor-name{font-weight:700}.sponsor-cta-line .sponsor-arrow{font-size:15px}@media(max-width:700px){.sponsor{padding:10px 0 0}.sponsor-line{width:100%;display:flex;align-items:baseline;justify-content:center;gap:5px;font-size:clamp(7px,2.05vw,9px);letter-spacing:.075em;line-height:1.35;white-space:nowrap}.sponsor-prefix{white-space:nowrap}.sponsor-name{white-space:nowrap;text-underline-offset:4px}.sponsor-arrow{font-size:11px;flex:0 0 auto}.sponsor-cta-line .sponsor-arrow{font-size:13px}.footer{padding-top:18px}.footer span:last-child{display:block;white-space:nowrap}.footer span:last-child a{display:inline}}.contact-page{min-height:100svh;display:flex;flex-direction:column;padding:22px 28px}.contact-wrap{width:min(1100px,100%);margin:auto;padding:60px 0}.contact-wrap h1{font-size:clamp(54px,8vw,110px);line-height:.9;letter-spacing:-.055em;font-weight:300;margin:14px 0 22px}.contact-intro{max-width:650px;color:var(--muted);font-size:14px;line-height:1.7}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:55px}.contact-grid article{border:1px solid var(--line);padding:28px;min-height:230px;background:rgba(255,255,255,.02)}.contact-kicker{font-size:8px;letter-spacing:.2em;color:var(--muted)}.contact-grid h2{font-size:24px;font-weight:400;margin:35px 0 12px}.contact-grid p{font-size:12px;line-height:1.7;color:var(--muted);max-width:430px}.contact-action{display:inline-block;margin-top:15px;font-size:10px;letter-spacing:.12em;text-decoration:underline;text-underline-offset:5px}.instagram{margin-top:25px;font-size:10px;letter-spacing:.08em;color:var(--muted)}.instagram a{text-decoration:underline;text-underline-offset:4px;color:var(--fg)}.error-page{min-height:100svh;display:grid;place-content:center;text-align:center;gap:12px}.error-page h1{font-size:100px;margin:0;font-weight:200}.error-page p{color:var(--muted)}.error-page a{font-size:10px;letter-spacing:.2em}@keyframes rain{to{background-position:60px 150px}}@keyframes fog{to{transform:translateX(3%) scale(1.03)}}@keyframes cloud{to{transform:translateX(-3%)}}@keyframes snow{to{background-position:15px 70px}}@keyframes storm{0%,94%,100%{opacity:0}96%{opacity:1}}@media(max-width:700px){.stage{padding:16px}.cinema{aspect-ratio:1.65/1;margin:auto auto 0}.weather-copy{left:6%;bottom:10%}.temperature{font-size:clamp(64px,19vw,105px)}.sponsor{margin-top:0;padding-top:8px}.sponsor-line{width:100%;display:flex;align-items:baseline;justify-content:center;gap:4px;font-size:clamp(6.5px,1.75vw,8px);letter-spacing:.055em;line-height:1.25;white-space:nowrap}.sponsor-prefix{white-space:nowrap}.sponsor-name{white-space:nowrap;text-underline-offset:3px}.sponsor-arrow{font-size:10px;flex:0 0 auto}.sponsor-cta-line .sponsor-arrow{font-size:12px}.footer{margin-top:auto;padding-top:14px;font-size:7px}.footer span:last-child{display:block;white-space:nowrap}.footer span:last-child a{display:inline}.topbar nav{gap:10px}.city-select{max-width:85px}.sponsor-logo{max-width:90px;height:20px}.contact-page{padding:16px}.contact-wrap{padding:45px 0}.contact-grid{grid-template-columns:1fr;margin-top:35px}.contact-grid article{min-height:0}.contact-wrap h1{font-size:clamp(48px,15vw,82px)}}@media(prefers-reduced-motion:reduce){.atmosphere{animation:none!important}}

/* V1.0.3 completion: alerts, directory, contact consistency, preview-friendly atmosphere */
.city-nav{display:inline-flex;align-items:center}.city-select{min-width:70px;color:var(--fg)!important;background:transparent!important}.city-select option{color:#f4f2ed;background:#111315}.theme-light .city-select option{color:#161616;background:#efede7}.theme-light .city-select{color:#161616!important}
.weather-alerts{width:min(1500px,100%);margin:12px auto 0}.alert-kicker{font-size:7px;letter-spacing:.2em;color:var(--muted);margin:0 0 7px}.alert-card{border:1px solid rgba(214,107,107,.25);background:rgba(120,30,30,.08);margin-bottom:7px}.alert-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 14px;font-size:10px;letter-spacing:.08em}.alert-card summary::-webkit-details-marker{display:none}.alert-severity{font-size:7px;letter-spacing:.13em;text-transform:uppercase;padding:4px 6px;border:1px solid currentColor;border-radius:999px}.alert-severity.extreme,.alert-severity.severe{color:#e58c8c}.alert-severity.moderate{color:#e0bd7b}.alert-severity.minor,.alert-severity.unknown{color:var(--muted)}.alert-open{margin-left:auto;color:var(--muted);font-size:8px}.alert-body{padding:0 14px 14px;color:var(--muted);font-size:11px;line-height:1.7}.alert-body p{max-width:1000px}.alert-meta,.alert-validity{font-size:8px;letter-spacing:.05em;color:var(--muted)}.alert-validity{margin-top:10px}.alert-note{font-size:7px;color:var(--muted);letter-spacing:.08em}.directory-page{min-height:100svh;display:flex;flex-direction:column;padding:22px 28px}.directory-head{width:min(1200px,100%);margin:clamp(55px,10vh,120px) auto 35px}.directory-head h1{font-size:clamp(60px,9vw,120px);font-weight:300;letter-spacing:-.06em;margin:8px 0 14px}.directory-head p{color:var(--muted);font-size:13px;max-width:520px}.city-directory{width:min(1200px,100%);margin:0 auto auto}.city-directory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:14px 0;color:var(--muted);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.city-search{display:flex;align-items:center;gap:10px;color:var(--muted)}.city-search input{width:min(240px,48vw);background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--fg);padding:8px 0;outline:0;font-size:11px;letter-spacing:.03em}.city-search input:focus{border-color:currentColor}.city-list{border-bottom:1px solid var(--line)}.city-row{position:relative;display:grid;grid-template-columns:160px 1fr minmax(220px,320px) 30px;align-items:center;gap:24px;min-height:105px;border-top:1px solid var(--line);overflow:hidden}.city-row img{width:160px;height:72px;object-fit:cover;filter:saturate(.85);opacity:.75}.city-row-main{z-index:1}.city-row-name{font-size:15px;letter-spacing:.14em}.city-row-country{margin-top:5px;font-size:10px;color:var(--muted);letter-spacing:.08em}.city-row-weather{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:baseline;text-align:right}.city-row-weather strong{font-size:22px;font-weight:300;grid-row:span 2}.city-row-weather span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.city-row-weather small{font-size:8px;color:var(--muted);letter-spacing:.08em}.city-row-arrow{font-size:18px;color:var(--muted);transition:transform .2s ease}.city-row:hover .city-row-arrow{transform:translate(3px,-3px);color:var(--fg)}.empty-state{padding:30px;color:var(--muted);font-size:12px}.instagram-card{margin-top:25px;border-top:1px solid var(--line);padding:25px 0}.instagram-card h2{font-size:24px;font-weight:400;margin:10px 0}.instagram-card p{font-size:12px;line-height:1.7;color:var(--muted);max-width:520px}.effect-preview{margin-bottom:18px}.preview-current{font-size:9px;color:var(--muted);letter-spacing:.06em}.effect-preview-stage{position:relative;width:100%;aspect-ratio:2.35/1;min-height:260px;overflow:hidden;background:#111;border:1px solid var(--line)}.effect-preview-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.effect-preview-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:11px}.effect-preview-atmosphere{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;opacity:var(--preview-opacity,.2)}.effect-preview-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.35),transparent 65%,rgba(0,0,0,.2));z-index:3}.effect-preview-label{position:absolute;left:5%;bottom:8%;z-index:4;color:#fff;text-shadow:0 3px 20px #000}.effect-preview-label span{display:block;font-size:24px;font-weight:300}.effect-preview-label small{display:block;margin-top:5px;font-size:8px;letter-spacing:.14em;color:rgba(255,255,255,.7)}.effect-preview-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0 0}.effect-preview-controls label{font-size:9px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.effect-preview-controls select{margin-left:8px;background:#0b0c0d;color:var(--text);border:1px solid var(--line);border-radius:7px;padding:10px}.effect-preview-atmosphere.atmosphere-rain{background-image:repeating-linear-gradient(110deg,transparent 0 22px,rgba(255,255,255,.18) 23px,transparent 24px 42px);background-size:100px 150px;animation:rain calc(1.2s / var(--preview-speed,1)) linear infinite}.effect-preview-atmosphere.atmosphere-fog{background:radial-gradient(ellipse at 30% 60%,rgba(255,255,255,.3),transparent 60%),linear-gradient(90deg,rgba(255,255,255,.12),transparent 65%);animation:fog calc(12s / var(--preview-speed,1)) ease-in-out infinite alternate}.effect-preview-atmosphere.atmosphere-cloud{background:linear-gradient(110deg,rgba(0,0,0,.08),rgba(255,255,255,.12),rgba(0,0,0,.1));animation:cloud calc(18s / var(--preview-speed,1)) ease-in-out infinite alternate}.effect-preview-atmosphere.atmosphere-snow{background-image:radial-gradient(circle,rgba(255,255,255,.8) 0 1px,transparent 2px);background-size:35px 35px;animation:snow calc(6s / var(--preview-speed,1)) linear infinite}.effect-preview-atmosphere.atmosphere-storm{background:linear-gradient(transparent,rgba(255,255,255,.12));animation:storm calc(7s / var(--preview-speed,1)) infinite}.effect-preview-atmosphere.atmosphere-clear{background:radial-gradient(circle at 18% 15%,rgba(255,205,115,.18),transparent 38%)}.effect-preview-atmosphere.atmosphere-haze{background:linear-gradient(90deg,rgba(190,175,145,.18),rgba(255,255,255,.08),rgba(190,175,145,.12));animation:fog calc(18s / var(--preview-speed,1)) ease-in-out infinite alternate}
@media(max-width:800px){.city-row{grid-template-columns:90px 1fr 28px;gap:14px}.city-row img{width:90px;height:60px}.city-row-weather{grid-column:2;grid-row:2;text-align:left;display:flex;gap:8px;align-items:baseline}.city-row-weather strong{font-size:18px}.city-row-weather small{display:none}.city-row-arrow{grid-column:3;grid-row:1 / span 2}.city-directory-toolbar{align-items:flex-start;flex-direction:column}.city-search{width:100%}.city-search input{width:100%}.directory-page{padding:16px}.contact-page{padding:16px}.topbar nav{gap:10px}}


/* V1.0.3 Atmosphere Engine — public navigation/contact polish */
.city-nav{width:120px;display:inline-flex;align-items:center;justify-content:center}
.city-select{width:100%;height:30px;min-width:0;padding:0 4px;text-align:center;text-align-last:center;line-height:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contact-page .topbar,.directory-page .topbar,.stage .topbar{min-height:30px}
.instagram-card{margin-top:54px;padding:32px 0 0}
@media(max-width:700px){
  .city-nav{width:100px}
  .city-select{height:28px;line-height:28px}
  .instagram-card{margin-top:42px;padding-top:28px}
}
/* V1.0.3 RC atmosphere engine: particle canvas carries weather motion; legacy CSS layers provide only subtle tone. */
.atmosphere{z-index:2}
.atmosphere-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.atmosphere-rain,.atmosphere-snow,.atmosphere-fog,.atmosphere-cloud,.atmosphere-storm,.atmosphere-haze{background:none!important;animation:none!important}
.atmosphere-storm{background:linear-gradient(180deg,rgba(8,13,20,.06),rgba(0,0,0,.18))!important;opacity:1!important}
.atmosphere-fog{opacity:1!important}
.atmosphere-haze{opacity:1!important}
.atmosphere-cloud{opacity:1!important}
.atmosphere-snow{opacity:1!important}
.atmosphere-rain{opacity:1!important}
@media(prefers-reduced-motion:reduce){.atmosphere-canvas{display:none!important}}
/* V1.1 Discovery & UX */
.location-btn{font:inherit;font-size:9px;letter-spacing:.14em;color:var(--fg);background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:999px;padding:7px 9px;cursor:pointer;white-space:nowrap;transition:border-color .2s ease,background .2s ease,opacity .2s ease}.location-btn:hover{border-color:currentColor;background:rgba(255,255,255,.08)}.location-btn:focus-visible,.city-select:focus-visible{outline:2px solid currentColor;outline-offset:3px}.location-btn.is-loading{opacity:.55;cursor:wait}.city-nav{padding:2px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.035);box-shadow:0 0 0 1px rgba(255,255,255,.03) inset}.theme-light .city-nav{border-color:rgba(0,0,0,.28);background:rgba(0,0,0,.025)}.city-select{font-weight:600}.faq-page{min-height:100svh;display:flex;flex-direction:column;padding:22px 28px}.faq-wrap{width:min(1000px,100%);margin:auto;padding:65px 0 50px}.faq-wrap h1{font-size:clamp(58px,9vw,118px);line-height:.88;letter-spacing:-.06em;font-weight:300;margin:14px 0 22px}.faq-intro{max-width:600px;color:var(--muted);font-size:14px;line-height:1.7;margin-bottom:52px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;padding:21px 2px;font-size:14px;letter-spacing:.02em;display:flex;justify-content:space-between;align-items:center;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';font-size:18px;font-weight:300;color:var(--muted)}.faq-list details[open] summary::after{content:'−'}.faq-list p{max-width:760px;color:var(--muted);font-size:12px;line-height:1.8;padding:0 35px 23px 2px;margin:0}.faq-list a{text-decoration:underline;text-underline-offset:4px;color:var(--fg)}@media(max-width:700px){.faq-page{padding:16px}.faq-wrap{padding:45px 0 35px}.faq-wrap h1{font-size:clamp(50px,15vw,84px)}.faq-intro{font-size:13px;margin-bottom:38px}.faq-list summary{font-size:12px;padding:18px 0}.faq-list p{font-size:11px;padding-bottom:20px}.location-btn{font-size:9px;padding:7px 9px;min-width:auto}.location-btn:first-letter{font-size:14px}.topbar nav{gap:7px}.city-nav{width:96px}.city-select{font-size:9px}}

/* V1.1.0 UI Refinement 04 — tighten city / Near Me spacing */
.city-nav{margin-right:-10px!important}
@media(max-width:700px){.city-nav{margin-right:-5px!important}}

/* V1.1.0 UI Refinement 04 — tighten city / Near Me spacing */
.city-nav{margin-right:-10px!important}
@media(max-width:700px){.city-nav{margin-right:-5px!important}}

/* V1.1.0 UI Refinement 05 — header spacing + mobile overflow fix */
.topbar{min-width:0;width:100%;}
.topbar nav{min-width:0;flex:0 1 auto;gap:14px;}
.city-nav{width:auto!important;min-width:0!important;margin-right:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;flex:0 1 auto;}
.city-select{width:auto!important;max-width:160px!important;min-width:0!important;padding:0!important;height:auto!important;line-height:1.2!important;}
.location-btn{flex:0 0 auto;}
.theme-btn{flex:0 0 auto;}
@media(max-width:700px){
  .topbar nav{gap:7px;max-width:100%;}
  .city-nav{width:auto!important;max-width:96px!important;}
  .city-select{max-width:96px!important;}
  .location-btn{padding:7px 9px;min-width:31px;}
}

/* V1.1.0 UI Refinement 06 — eliminate header spacing/overflow at source */
.topbar{min-width:0;width:100%;}
.topbar nav{min-width:0;flex:0 1 auto;gap:8px;}
.city-nav{display:inline-flex;align-items:center;justify-content:flex-start;width:fit-content!important;min-width:0!important;max-width:none!important;flex:0 0 auto;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;}
.city-select{display:block;width:fit-content!important;min-width:0!important;max-width:none!important;padding:0!important;margin:0!important;height:auto!important;line-height:1.2!important;border:0!important;outline:0!important;box-shadow:none!important;}
.city-select:focus,.city-select:focus-visible{outline:0!important;box-shadow:none!important;}
@media(max-width:700px){
  .topbar .brand{display:none;}
  .topbar{width:100%;}
  .topbar nav{width:100%;justify-content:flex-end;gap:8px;max-width:100%;}
  .city-nav{max-width:none!important;flex:0 0 auto;}
  .city-select{max-width:none!important;}
}

/* V1.1 final city-selector cue */
.city-nav{gap:5px}
.city-arrow{display:inline-block;font-size:11px;line-height:1;opacity:.65;transform:translateX(0);animation:cityArrowNudge 1.8s ease-in-out infinite;pointer-events:none;flex:0 0 auto}
@keyframes cityArrowNudge{0%,100%{transform:translateX(0);opacity:.5}50%{transform:translateX(3px);opacity:1}}
@media(max-width:700px){.city-arrow{font-size:10px}.city-nav{gap:4px}}
@media(prefers-reduced-motion:reduce){.city-arrow{animation:none!important}}
