@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#18363c;--muted:#64787c;--line:#dce5e4;--paper:#f5f8f7;--accent:#26736b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',sans-serif;font-size:16px}button,select{font:inherit}a{color:inherit;text-decoration:none}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #df962f;outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;z-index:100;background:white;padding:15px}header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:sticky;top:0;z-index:20;background:#edf4f8;backdrop-filter:blur(18px);border-bottom:1px solid #d8e2e3}.brand{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.7px;font-size:20px;display:flex;gap:8px;align-items:center}.brand b{font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:.5px;text-transform:uppercase;border:1px solid #9fbbb4;border-radius:4px;padding:4px 6px;color:#28695a}.brandmark{font-size:32px}nav{display:flex;gap:32px;font-size:14px}.location{display:flex;align-items:center;gap:8px;border:1px solid #cbd9d7;padding:9px 12px;border-radius:24px}select{border:0;background:transparent;color:var(--ink);font-size:14px;max-width:120px}.hero{height:660px;min-height:620px;position:relative;overflow:hidden;background:#a4c9d8}.landscape{position:absolute;inset:0;background:url('scene.webp') center 60%/cover;transition:filter 2s,opacity 2s;animation:scene-breathe 32s ease-in-out infinite alternate}.atmosphere{position:absolute;inset:0;background:linear-gradient(90deg,#e8f3f4e8 0%,#ddecf1b8 32%,#ddecf120 65%),linear-gradient(0deg,#152f3a70,transparent 25%);transition:background 2s}canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero-content{position:relative;height:100%;padding:43px 5% 24px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;margin:0 0 14px}.hero .eyebrow{display:flex;justify-content:space-between;color:#355760}.hero .eyebrow span{font-size:11px}.place-line{display:flex;align-items:center;gap:25px}h1{font-family:Manrope,sans-serif;font-size:52px;font-weight:500;letter-spacing:-2px;margin:0}.region{font-size:14px;border-left:1px solid #7c9ea6;padding-left:25px}.date{font-size:14px;margin:12px 0 0;color:#456671}.current{display:flex;align-items:center;margin-top:24px}.current>span:first-child{font-size:152px;line-height:1.05;letter-spacing:-10px;font-weight:500}.unit{font-size:45px;align-self:flex-start;margin-top:15px;margin-left:8px}.condition{margin-left:36px;max-width:270px}.large-icon{font-size:38px;display:block;line-height:1.2;color:#47666f}.condition h2{font-size:23px;font-weight:500;margin:7px 0}.condition p{font-size:14px;margin:0;color:#46626a}.hero-bottom{position:absolute;bottom:24px;left:5%;right:5%;display:flex;align-items:end;justify-content:space-between;color:white;gap:20px;font-size:12px}.update{background:#12303a6e;padding:9px 14px;border-radius:20px;backdrop-filter:blur(10px)}.scene-label{margin-left:auto;text-align:right;letter-spacing:1px;font-size:11px;line-height:1.8}.scene-label small{letter-spacing:0;font-size:11px}.hero-bottom button{background:#183b476b;color:white;border:1px solid #ffffff50;padding:9px 12px;border-radius:20px;font-size:12px}#notice{font-size:14px;max-width:480px;margin-top:14px}#retry{margin-top:12px;background:#173e48;color:white;border:0;padding:10px 18px;border-radius:6px}.summary{display:grid;grid-template-columns:repeat(4,1fr);padding:28px 5%;background:white;border-bottom:1px solid var(--line)}.summary>div{padding:0 30px;border-right:1px solid var(--line)}.summary>div:first-child{padding-left:0}.summary>div:last-child{border:0}.summary span{font-size:14px;color:var(--muted);display:block}.summary strong{display:block;font-size:25px;font-weight:500;margin-top:10px}.content{max-width:1440px;margin:auto;padding:58px 5% 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}h2{font-family:Manrope,sans-serif;font-size:28px;font-weight:600;letter-spacing:-1px;margin:0}.muted{color:var(--muted);font-size:14px}.hourly{display:flex;overflow-x:auto;background:white;border:1px solid var(--line);border-radius:16px;padding:20px 4px;scrollbar-width:thin}.hour{min-width:95px;text-align:center;border-right:1px solid #edf0ef;flex:1;font-size:14px}.hour .icon{display:block;font-size:26px;margin:18px 0;color:#719599}.hour strong{display:block;font-size:21px;font-weight:500}.hour small{display:block;color:#317899;margin-top:12px;font-size:12px}.hour:first-child{color:var(--accent)}.forecast-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:46px;margin-top:50px}.forecast-grid h2{font-size:23px}.day{display:grid;grid-template-columns:75px 36px 1fr 60px 115px;gap:10px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.day .icon{font-size:25px;color:#708e8e}.day .chance{color:#49809a;font-size:12px}.temps{display:flex;align-items:center;justify-content:space-between;gap:8px}.temps i{height:5px;width:48px;border-radius:8px;background:linear-gradient(90deg,#a3cece,#f1c078)}.temps span{color:#7e9193}.details{background:#e8efed;border-radius:16px;padding:30px}.details h2{margin-bottom:20px}.details dl{margin:0}.details dl div{display:flex;justify-content:space-between;padding:19px 0;border-bottom:1px solid #cfdcd8;font-size:14px}.details dt{color:#5f7777}.details dd{margin:0;font-weight:500}.details p:last-child{font-size:12px;color:#667b7b;line-height:1.7;margin-top:24px}#explore{padding-top:70px}.pill{padding:8px 14px;border:1px solid #ccdad4;border-radius:30px;font-size:12px;white-space:nowrap;color:#3e7563}.intro{color:#64787c;margin-top:-10px;font-size:16px;line-height:1.6}.attractions{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}.attraction{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .2s}.attraction:hover{transform:translateY(-4px);text-decoration:none}.card-art{height:168px;background-image:url('scene.webp');background-size:220%;position:relative}.card-art span{position:absolute;left:16px;bottom:14px;background:#ffffffdc;backdrop-filter:blur(8px);border-radius:20px;font-size:11px;letter-spacing:1px;padding:6px 10px}.attraction:nth-child(1) .card-art{background-position:75% 80%}.attraction:nth-child(2) .card-art{background-position:10% 75%;filter:hue-rotate(8deg)}.attraction:nth-child(3) .card-art{background-position:60% 45%}.card-copy{padding:22px}.card-copy h3{font-size:21px;font-family:Manrope;margin:0 0 12px;letter-spacing:-.5px}.card-copy p{font-size:14px;color:var(--muted);line-height:1.65;min-height:48px;margin:0 0 20px}.card-copy>span{font-size:13px;font-weight:600;color:var(--accent)}.small{font-size:12px;line-height:1.6;margin-top:18px}.about{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);padding:45px 0;margin-top:60px}.about h2{line-height:1.35}.about>p{color:var(--muted);line-height:1.8;font-size:14px;margin:0}footer{background:#17383b;color:#d1e0de;padding:38px 5% 25px;font-size:12px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-top>div{display:flex;gap:23px;align-items:center}.footer-top button{background:none;border:0;color:inherit;font-size:12px;padding:0}.footer-top .brand{font-size:18px;color:white}.footer-top .brand b{color:#bbd9cd}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #ffffff20;padding-top:22px;margin-top:28px;line-height:1.6}.empty{padding:25px;color:var(--muted);font-size:14px}dialog{border:0;border-radius:16px;max-width:500px;width:90%;padding:34px;color:var(--ink);box-shadow:0 30px 90px #0003}dialog::backdrop{background:#102d3a80;backdrop-filter:blur(4px)}dialog p{line-height:1.8;color:var(--muted)}.close{float:right;border:0;background:none;font-size:28px}.hero[data-weather=rain] .landscape,.hero[data-weather=heavy-rain] .landscape,.hero[data-weather=thunder] .landscape{filter:saturate(.5) brightness(.65)}.hero[data-weather=cloudy] .landscape{filter:saturate(.65) brightness(.85)}.hero[data-weather=snow] .landscape{filter:saturate(.15) brightness(1.2)}.hero[data-weather=fog] .landscape{filter:saturate(.4) contrast(.6)}.hero.night{background:#172c49;color:#fff}.hero.night .landscape{filter:brightness(.32) saturate(.65)}.hero.night .atmosphere{background:linear-gradient(90deg,#142c48cc,#172d4820)}.hero.night .date,.hero.night .condition p,.hero.night .eyebrow,.hero.night .large-icon{color:#c5d8e3}.hero.paused *{animation-play-state:paused!important}@keyframes scene-breathe{to{transform:scale(1.035) translateX(-.4%)}}@media(min-width:1500px){.hero{height:740px}.current{margin-top:45px}}@media(max-width:850px){header{height:72px;padding:0 4%}.brand{font-size:16px}nav{gap:18px}nav a:last-child{display:none}.hero-content{padding:30px 5%}.region{display:none}.hero{height:590px;min-height:0}.current>span:first-child{font-size:128px}.condition{margin-left:20px}.landscape{background-position:60% 55%}.forecast-grid{gap:25px;grid-template-columns:1.5fr 1fr}.day{grid-template-columns:60px 30px 1fr 40px 90px;gap:5px}.details{padding:22px}.attractions{gap:14px}.card-copy{padding:18px}.card-copy h3{font-size:18px}.footer-top{align-items:start;flex-direction:column}}@media(max-width:600px){header{height:68px}.brand{font-size:14px;gap:5px}.brandmark{font-size:25px}.brand b{font-size:10px;padding:3px}nav{display:none}.location{padding:7px 8px}select{font-size:13px;max-width:94px}.hero{height:620px}.hero-content{padding-top:28px}.hero .eyebrow{font-size:10px;letter-spacing:1.5px}.hero .eyebrow span{display:none}h1{font-size:42px}.current{align-items:start;margin-top:25px;flex-wrap:wrap}.current>span:first-child{font-size:110px}.unit{font-size:32px;margin-top:12px}.condition{margin:18px 0 0 20px;max-width:165px}.large-icon{font-size:28px}.condition h2{font-size:18px}.condition p{font-size:12px}.landscape{background-position:56% bottom;background-size:auto 100%}.atmosphere{background:linear-gradient(180deg,#e1eff2eb 0%,#e1eff2b0 35%,#ddecf100 70%),linear-gradient(0deg,#19394188,transparent 30%)}.hero-bottom{flex-wrap:wrap;gap:14px;bottom:20px}.scene-label{width:100%;order:3;text-align:left}.hero-bottom button{margin-left:auto}.summary{grid-template-columns:repeat(2,1fr);gap:25px 0;padding:25px 5%}.summary>div{padding:0 20px}.summary>div:nth-child(3){padding-left:0}.summary>div:nth-child(2){border:0}.summary span{font-size:12px}.summary strong{font-size:22px}.content{padding-top:35px}.section-heading{align-items:start;margin-bottom:20px;gap:12px}.section-heading h2{font-size:24px}.section-heading .muted{font-size:12px;text-align:right;max-width:95px}.eyebrow{font-size:10px;letter-spacing:1.5px}.forecast-grid{grid-template-columns:1fr;margin-top:35px}.day{grid-template-columns:60px 30px 1fr 40px 100px;padding:16px 0;font-size:13px}.details{padding:25px}.details dl{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.details dl div{flex-direction:column;gap:10px}.details p:last-child{margin-bottom:0}#explore{padding-top:42px}#explore .section-heading{flex-direction:column}.attractions{grid-template-columns:1fr}.card-art{height:190px}.card-copy p{min-height:0}.about{grid-template-columns:1fr;gap:20px;margin-top:40px;padding:30px 0}.about h2{font-size:25px}.footer-top>div{gap:16px;flex-wrap:wrap}.footer-bottom{flex-direction:column}.footer-top .brand{font-size:16px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.brand-logo{width:40px;height:40px;object-fit:contain;border-radius:50%;flex-shrink:0}.brand>span{white-space:nowrap}@media(max-width:600px){.brand-logo{width:32px;height:32px}.brand{letter-spacing:-.4px}header{gap:8px}}@media(max-width:360px){header{padding:0 3%}.brand{font-size:14px}.brand-logo{width:28px;height:28px}.location{gap:3px;padding:6px}select{max-width:80px}}
/* Panoramic television experience */
.tv-toggle{border:1px solid #9cb7b9;border-radius:24px;padding:9px 16px;color:var(--ink);background:transparent;font-size:14px}.tv-clock{position:absolute;right:5%;top:85px;text-align:right;display:flex;flex-direction:column;gap:7px}.tv-clock strong{font-family:Manrope,sans-serif;font-size:clamp(28px,3.3vw,64px);font-weight:500;letter-spacing:-1px}.tv-clock>span{font-size:12px;letter-spacing:2px}.scene-nav{position:absolute;bottom:85px;left:5%;right:5%;display:flex;gap:10px}.scene-nav button{display:flex;align-items:center;gap:10px;border:1px solid #ffffff50;background:#071c2ab8;backdrop-filter:blur(12px);color:white;border-radius:8px;padding:12px 18px;font-size:16px}.scene-nav button>span{color:#a7c7d2;font-size:12px}.scene-nav button small{font-size:12px;opacity:.75}.scene-nav button[aria-pressed=true]{background:#ffffffeb;color:#16303a;border-color:white}.scene-nav button[aria-pressed=true]>span{color:#38768c}.landscape{background-position:center 55%}.hero .atmosphere{background:linear-gradient(90deg,#071723db 0%,#07172373 40%,#07172305 70%),linear-gradient(0deg,#061825cb,transparent 48%)}.hero,.hero .eyebrow,.hero .date,.hero .condition p,.hero .large-icon{color:white}.hero.night .atmosphere{background:linear-gradient(90deg,#061326ed,#14274866),linear-gradient(0deg,#061326,transparent 50%)}.hero.night .landscape{filter:brightness(.38) saturate(.6) hue-rotate(8deg)}.hero .region{border-color:#ffffff55}.hero .eyebrow span{display:none}.tv-mode{background:#071b28}.tv-mode header{height:76px;position:relative;background:#edf4f8;color:#18363c;border-color:#cbd9e2;padding:0 4%}.tv-mode header nav{display:none}.tv-mode .location{margin-left:auto;margin-right:16px;border-color:#9cb7c6}.tv-mode select{color:#18363c}.tv-mode select option{color:#18363c}.tv-mode .tv-toggle{color:#18363c;border-color:#9cb7c6;order:3}.tv-mode .hero{height:calc(100svh - 182px);min-height:430px}.tv-mode .hero-content{padding:28px 4%}.tv-mode h1{font-size:clamp(46px,4.8vw,96px);letter-spacing:-2px}.tv-mode .current{margin-top:18px}.tv-mode .current>span:first-child{font-size:clamp(110px,11vw,220px)}.tv-mode .condition h2{font-size:clamp(22px,2vw,40px)}.tv-mode .condition p,.tv-mode .date,.tv-mode .region{font-size:clamp(16px,1.25vw,25px)}.tv-mode .hero-bottom{left:4%;right:4%;bottom:20px;align-items:center}.tv-mode .scene-label{font-size:14px}.tv-mode .scene-label small{font-size:12px}.tv-mode .summary{height:106px;padding:18px 4%;background:#0a202c;border:0;color:white}.tv-mode .summary span{color:#adc3cf;font-size:clamp(14px,1.1vw,22px)}.tv-mode .summary strong{font-size:clamp(24px,2vw,40px);margin-top:5px}.tv-mode .summary>div{border-color:#ffffff20}.tv-mode .content,.tv-mode footer{display:none}.tv-mode .scene-nav{left:4%;right:4%;bottom:85px}.tv-mode .brand{font-size:clamp(18px,1.5vw,30px)}.tv-mode .tv-clock{top:75px;right:4%}.tv-mode .eyebrow{font-size:14px}.hero-bottom button{font-size:14px;white-space:nowrap}.hero-bottom .update{font-size:12px}#photo-credits{grid-column:1/-1;line-height:1.8}#photo-credits a{text-decoration:underline}
@media(min-width:1800px){.tv-mode header{height:100px}.tv-mode .hero{height:calc(100svh - 244px)}.tv-mode .summary{height:144px;padding-top:25px}.tv-mode .hero-content{padding-top:45px}.tv-mode .scene-nav{bottom:110px}.scene-nav button{font-size:20px;padding:16px 24px}.scene-nav button small{font-size:16px}.tv-mode .hero-bottom{bottom:30px}.tv-mode .hero-bottom button,.tv-mode .update{font-size:18px}}
@media(max-width:850px){.tv-clock{top:35px}.scene-nav button small{display:none}.hero-bottom{gap:8px;flex-wrap:wrap}.scene-label{display:none}.tv-mode .hero{min-height:500px}.tv-mode .tv-clock{top:30px}.tv-mode .place-line{padding-top:60px}.tv-mode .summary{height:auto;min-height:106px}.tv-mode .hero-content{padding-top:20px}}
@media(max-width:600px){header .tv-toggle{font-size:12px;padding:7px}.tv-mode header{height:auto;min-height:100px;flex-wrap:wrap;padding:12px 4%;gap:10px}.tv-mode header .brand{width:100%;font-size:18px}.tv-mode .location{margin-left:0}.tv-mode .hero{height:calc(100svh - 260px);min-height:550px}.tv-mode .tv-clock{top:20px}.tv-mode .summary{height:160px;gap:16px;padding:16px 4%}.tv-mode .hero-bottom{bottom:16px}.hero-bottom .update{width:100%;text-align:center;order:4}.scene-nav{bottom:115px;gap:6px}.tv-mode .scene-nav{bottom:115px}.scene-nav button{flex:1;padding:10px 6px;font-size:13px;gap:5px;justify-content:center}.tv-mode .current>span:first-child{font-size:100px}.tv-mode .condition{max-width:170px;margin-left:16px}.tv-mode .condition h2{font-size:21px}.tv-mode .place-line{padding-top:60px}.tv-mode h1{font-size:42px}.tv-mode .hero .region{display:none}.tv-mode .eyebrow{max-width:130px;font-size:11px;line-height:1.6}.tv-mode .tv-clock strong{font-size:30px}.tv-mode .tv-clock>span{font-size:10px}.tv-clock{top:30px}.hero:not(.night) .landscape{filter:brightness(.9)}}
#app-help{margin-left:20px;white-space:nowrap}.tv-mode #app-help{order:2;margin:0 12px 0 0}#app-dialog{max-width:740px;max-height:85svh;overflow-y:auto;padding:32px 40px;background:#f5f8f7}#app-dialog h2{padding-right:28px;line-height:1.3}#app-dialog h3{font-size:20px;margin:0 0 12px}#app-dialog section{padding-top:24px;margin-top:24px;border-top:1px solid #cfdddf}#app-dialog p,#app-dialog li{font-size:16px;line-height:1.7}#app-dialog li{margin-bottom:10px}#app-dialog ol{padding-left:24px}#app-dialog .app-note{padding:14px 18px;background:#e4eeee;border-radius:8px;font-size:14px;color:#34535d}#app-dialog details{border-bottom:1px solid #d6e1e2;padding:15px 0}#app-dialog summary{cursor:pointer;font-size:16px;font-weight:600}#app-dialog a{font-size:14px;text-decoration:underline}#install-app{padding:12px 22px;background:#163f4d;color:white;border:0;border-radius:8px;font-weight:600}#install-status{font-size:14px!important}.app-close{float:right;border:0;background:none;color:#163f4d;font-size:28px;cursor:pointer}@media(max-width:850px){header nav{display:none}#app-help{margin-left:auto}.tv-mode #app-help{margin:0}.tv-mode header{gap:10px}.tv-mode .location{margin-right:0}}@media(max-width:600px){header{height:auto;min-height:100px;flex-wrap:wrap;padding:12px 4%;gap:10px}header .brand{width:100%}#app-help{margin:0}#app-dialog{padding:24px;max-height:90svh}#app-dialog h2{font-size:24px}.tv-mode .location{margin-right:auto}}

.site-address{display:block;overflow-wrap:anywhere;font-size:14px;margin:8px 0}#app-dialog details ol{margin-top:16px}

/* Keep four location controls readable across TV and handheld screens. */
.scene-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.scene-nav button{min-width:0;flex-wrap:wrap;column-gap:8px;row-gap:4px}.scene-nav button small{flex-basis:100%;padding-left:25px;text-align:left}
@media(max-width:600px){.scene-nav{grid-template-columns:repeat(2,minmax(0,1fr));bottom:125px}.tv-mode .scene-nav{bottom:125px}.scene-nav button{font-size:14px}.hero .region{display:block;font-size:14px;padding-left:12px}.tv-mode .hero .region{display:block}.place-line{gap:12px}.hero-bottom{gap:6px}.hero-bottom button{padding:9px 8px}}

#building-select{position:relative;margin-top:12px;padding:8px 12px;max-width:100%;font:inherit;font-size:16px;background:#102f43;color:white;border:1px solid #ffffff80;border-radius:6px}#building-select[hidden]{display:none}
