*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#142c40;color:#0d3150;font-family:Arial,Helvetica,sans-serif}#stage{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);overflow:hidden}#display{width:1080px;height:1920px;transform-origin:0 0;position:relative;overflow:hidden;background:#edf7fc}.page{position:absolute;inset:0;display:flex;flex-direction:column;animation:appear .8s ease}@keyframes appear{from{opacity:0}to{opacity:1}}.page-head{padding:80px 64px 38px;position:relative;flex:none}.page-head h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:94px;letter-spacing:-4px;line-height:1.06;margin:30px 0 18px}.page-head h1.compact{font-size:85px}.subtitle{font-size:43px;font-family:Georgia,serif;line-height:1.2}.clock{position:absolute;right:64px;top:66px;text-align:right;font-size:28px;line-height:1.5;letter-spacing:.2px}.overline{font-size:23px;letter-spacing:5px;text-transform:uppercase;opacity:.65}.body{padding:0 64px;flex:1;min-height:0}.footer-photo{position:relative;flex:none;height:425px;overflow:hidden;margin-top:20px}.footer-photo img{width:100%;height:100%;object-fit:cover}.footer-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,#052637a8)}.photo-caption{position:absolute;bottom:54px;left:40px;right:40px;z-index:1;text-align:center;color:white;font-family:Georgia,serif;font-size:46px;font-style:italic;line-height:1.25;text-shadow:0 2px 8px #0008}.footer-photo.kite img{object-position:50% 65%}.footer-photo.property img{object-position:50% 48%}.footer-photo.sea img{object-position:50% 55%}.footnote{font-size:23px;line-height:1.5;color:#557587;margin:14px 0 0}.screen-tag{position:absolute;bottom:22px;left:64px;right:64px;z-index:5;display:flex;justify-content:space-between;font-size:19px;letter-spacing:2px;color:#47667a}.photo-page .screen-tag{color:#e8f4fb}.preview-label{position:absolute;top:20px;left:64px;font-size:20px;letter-spacing:2px;color:#567082;z-index:7}.photo-page .preview-label{color:#d8f0fb}.controls{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:10;display:flex;gap:12px;align-items:center;background:#092c43e8;color:white;border-radius:30px;padding:8px 16px;opacity:0;transition:opacity .2s;font-size:12px}.controls:hover,.controls:focus-within{opacity:1}.controls button{border:0;color:white;background:transparent;font-size:15px;padding:5px;cursor:pointer}.controls button:focus-visible{outline:2px solid white}.icon{width:72px;height:72px;display:block;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}.icon-box{width:106px;height:106px;border-radius:22px;background:#0b365a;color:white;display:grid;place-items:center;flex:none}.icon-box .icon{width:66px;height:66px}.icon-box.cyan{background:#069fd0}.icon-box.red{background:#e8293c}.icon-box.sun{background:transparent;color:#ffbf16}.icon-box.sun .icon{width:94px;height:94px}.icon-box.warning{background:transparent;color:#f39c12}.icon-box.warning .icon{width:94px;height:94px}
/* Welcome and closing use full-height photography, as in the reference. */
.photo-page{color:white}.full-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.welcome .full-photo{object-position:50% 45%}.photo-shade{position:absolute;inset:0;background:linear-gradient(#076aaa80 0%,#00528616 29%,#07283f22 40%,#071e2ce8 85%,#061720ed 100%)}.welcome-top{position:relative;text-align:center;padding-top:115px}.wave-brand{width:150px;height:58px;margin:0 auto 32px;stroke:white}.brand-title{font-size:55px;letter-spacing:10px}.brand-locale{font-size:24px;letter-spacing:7px;margin-top:16px}.welcome h1{font-family:Georgia,serif;font-size:155px;font-weight:400;letter-spacing:-5px;margin:90px 0 16px}.welcome .tagline{font-size:47px;margin:0}.welcome-list{position:absolute;left:64px;right:64px;bottom:210px;background:#08293eb8;padding:18px 28px}.welcome-row{display:flex;gap:28px;align-items:center;padding:24px 0;border-bottom:1px solid #ffffff22;font-size:36px}.welcome-row:last-child{border:0}.welcome-row .icon-box{width:90px;height:90px;border-radius:50%;background:#127797ad}.welcome-row .icon{width:60px;height:60px}.welcome-quote{position:absolute;bottom:82px;left:0;right:0;text-align:center;font-family:Georgia,serif;font-size:41px;line-height:1.25}.welcome .clock{color:white;z-index:1}.closing .full-photo{object-position:56% center}.closing .photo-shade{background:linear-gradient(#10294344,#09263708 38%,#061827e8 88%)}.closing-top{position:relative;padding:180px 64px 0}.closing h1{font-family:Georgia,serif;font-size:152px;font-weight:400;margin:0 0 22px;letter-spacing:-6px}.closing-top p{font-size:50px;line-height:1.25;margin:0}.closing-bottom{position:absolute;bottom:180px;left:70px;right:70px;text-align:center}.closing-bottom .quote{font-size:59px;line-height:1.25;margin-bottom:90px}.closing-bottom p{font-size:37px;line-height:1.6}.small-rule{width:70px;height:2px;background:#ffffffbb;margin:35px auto}
/* Weather */
.weather-now{display:flex;align-items:center;gap:36px;margin:25px 0 36px}.weather-sun{width:210px;height:210px;color:#ffc400}.weather-sun .icon{width:210px;height:210px;stroke-width:1.5;fill:#ffc400}.weather-temp{font-size:180px;font-weight:600;letter-spacing:-10px;line-height:1}.weather-temp small{font-size:70px;letter-spacing:-4px}.weather-description{font-size:38px;margin-top:18px;line-height:1.5;letter-spacing:0}.wind-current{display:flex;gap:34px;align-items:center;border-bottom:1px solid #bccfdd;padding:18px 0 38px}.wind-current>.icon{width:140px;height:140px}.wind-current .label{font-size:33px;margin-bottom:12px}.wind-current .reading{font-size:58px;font-weight:500}.wind-current .detail{font-size:31px;margin-top:10px;color:#476c83}.forecast-row{display:grid;grid-template-columns:170px 130px 1fr;align-items:center;padding:21px 0;border-bottom:1px solid #c7dae6}.forecast-row:last-child{border-bottom:0}.forecast-day{font-size:34px;font-weight:600}.forecast-row .icon{width:88px;height:88px;color:#f6bd16}.forecast-reading{font-size:35px;text-align:right}.forecast-reading small{display:block;color:#4c7185;font-size:27px;margin-top:9px}.weather .footer-photo{height:390px;margin-top:14px}.weather .page-head{padding-bottom:18px}
/* Wind and water */
.section-label{font-size:39px;font-weight:600;margin:25px 0 28px}.wind-chart{height:365px;display:flex;align-items:flex-end;gap:28px;margin:0 0 55px;padding:0 8px;border-bottom:2px solid #c5dce8}.chart-col{flex:1;text-align:center;font-size:29px;position:relative}.chart-bar{background:linear-gradient(#34b1df,#1698cb);border-radius:7px 7px 0 0;margin:12px 0 0;min-height:3px}.chart-col:nth-child(3) .chart-bar,.chart-col:nth-child(4) .chart-bar{background:linear-gradient(#3bbf97,#2dae85)}.chart-col .bar-label{position:absolute;left:0;right:0;bottom:-48px;font-size:26px}.metric-row{display:grid;grid-template-columns:84px 1fr auto;gap:14px;align-items:center;min-height:116px;border-bottom:1px solid #c7dce8;font-size:34px}.metric-row .icon{width:65px;height:65px;color:#1b5d88}.metric-row .metric-value{text-align:right;font-size:31px;max-width:360px}.wind .footer-photo{height:490px}.wind .body{flex:1}.wind .section-label.water{margin-top:78px}
/* Events */
.event-row{display:grid;grid-template-columns:154px 1fr;gap:32px;border-bottom:1px solid #c4d9e7;padding:31px 0;align-items:center}.event-date{border-radius:14px;background:#f9e9e8;color:#d84740;padding:26px 14px;font-size:31px;line-height:1.4;font-weight:600;text-align:center}.event-title{font-size:36px;font-weight:600;line-height:1.2;margin-bottom:11px}.event-time{font-size:31px;line-height:1.5}.event-venue{font-size:28px;color:#3f667e;line-height:1.4}.events .footer-photo{height:510px}.empty-events{padding-top:24px}.empty-events .lead{font-family:Georgia,serif;font-size:58px;line-height:1.25;margin:0 0 24px}.empty-events p{font-size:34px;line-height:1.6;color:#3f667e}.local-card{display:flex;align-items:center;gap:28px;padding:32px 0;border-bottom:1px solid #c4d9e7;font-size:34px}.local-card .icon{color:#14618a}
/* Explore */
.explore .page-head{padding-bottom:34px}.explore-cards{padding:0 46px;flex:1;display:flex;flex-direction:column;gap:24px}.explore-card{position:relative;flex:1;min-height:0;border-radius:20px;overflow:hidden;color:white}.explore-card img{position:absolute;width:100%;height:100%;object-fit:cover}.explore-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,#072637e6)}.explore-copy{position:absolute;left:34px;right:34px;bottom:24px;z-index:1}.explore-copy strong{display:block;font-size:45px;font-weight:600;line-height:1.2}.explore-copy small{display:block;font-size:31px;margin-top:8px}.explore-arrow{position:absolute;right:0;bottom:10px;font-size:60px;font-weight:300}.explore-banner{flex:none;padding:33px 60px 57px;background:#eddfcb;color:#715a44;display:flex;align-items:center;gap:34px;font-size:34px;letter-spacing:3px;line-height:1.3;margin-top:24px}.explore-banner .icon{width:76px;height:96px}
/* House and safety */
.info-row{display:flex;gap:30px;border-bottom:1px solid #c4d9e7;padding:27px 0;align-items:center;min-height:150px}.info-row:last-child{border:0}.info-copy{flex:1}.info-copy strong{display:block;font-size:37px;line-height:1.2;margin-bottom:10px;font-weight:600}.info-copy p{font-size:30px;line-height:1.4;margin:0;white-space:pre-line}.info-copy p.small{font-size:27px}.house .footer-photo{height:390px}.safety .footer-photo{height:370px}.house .page-head,.safety .page-head{padding-bottom:20px}.safety .info-row{padding:21px 0;min-height:151px}.safety .info-copy p{font-size:29px}
.weather-now{gap:30px;margin:10px 0 24px}.weather-sun,.weather-sun .icon{width:180px;height:180px}.weather-temp{font-size:164px}.wind-current{padding:12px 0 26px}.wind-current>.icon{width:120px;height:120px}.wind-current .reading{font-size:54px}.forecast-row{padding:14px 0}.weather .footnote{margin-top:10px}.wind-chart{height:300px;margin-bottom:45px}.wind .section-label.water{margin-top:55px}.metric-row{min-height:100px}.event-row{padding:19px 0}.event-date{padding:18px 14px}.house .body,.safety .body{display:flex;flex-direction:column}.house .info-row,.safety .info-row{flex:1}.photo-page .screen-tag{opacity:.65}
.event-row{padding:14px 0}.events .event-date{padding:16px 14px}
.qr{display:flex;flex-direction:column;align-items:center;gap:12px;width:256px;text-decoration:none;color:inherit;z-index:6;font-family:Arial,sans-serif;font-size:27px;line-height:1.3;text-align:center}.qr img{width:100%;aspect-ratio:1;object-fit:contain;display:block;background:white;border-radius:8px}.qr:focus-visible{outline:4px solid #12aeda;outline-offset:8px}.welcome-list{display:grid;grid-template-columns:1fr 256px;gap:25px;align-items:center;padding:24px 28px;bottom:200px}.welcome-row{font-size:32px;gap:22px;padding:22px 0}.welcome-row .icon-box{width:78px;height:78px}.welcome-list>.qr{color:white;font-size:29px}.welcome-quote{bottom:73px}.footer-photo>.qr{position:absolute;right:36px;bottom:54px;width:235px;color:white;font-size:25px;text-shadow:0 1px 4px #0009}.house .photo-caption,.safety .photo-caption,.events .photo-caption{right:310px;text-align:left;left:64px;bottom:60px;font-size:51px}.explore-card>.qr{position:absolute;right:26px;bottom:20px;width:195px;color:white;font-size:23px}.explore-copy{right:245px;bottom:35px}.explore-copy strong{font-size:43px}.explore-copy small{font-size:28px}.explore-banner{font-size:30px}.closing>.qr{position:absolute;width:260px;top:650px;left:410px;color:white;font-size:31px}.closing-bottom{bottom:160px}.closing-bottom .quote{margin-bottom:65px}.footer-photo{height:470px}.weather .footer-photo{height:390px}.wind .footer-photo{height:490px}.events .footer-photo{height:510px}.house .footer-photo{height:430px}.safety .footer-photo{height:420px}
.qr img,.explore-card .qr img,.footer-photo .qr img{position:static;height:auto;object-fit:contain;width:100%}
.motion-background{object-position:50% 50%;pointer-events:none}.closing .motion-background{object-position:65% center}.closing .photo-shade{background:linear-gradient(#10294375,#09263722 38%,#061827df 88%)}.welcome-quote{display:none}.closing-bottom .quote{display:none}.closing-bottom{bottom:150px}.closing-bottom .small-rule{display:none}.explore-banner{display:none}.explore-cards{padding-bottom:60px}.footer-photo:after{background:linear-gradient(transparent 65%,#05263755)}
@media(prefers-reduced-motion:reduce){.page{animation:none}}
