@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(../media/39c55468420adfa6-s.1ti1r54sj8aa0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9b8f0e32b229dbc1-s.3mtm4mi9aq8dw.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(../media/81cef6a21128489e-s.p.00r2o6pv87vbs.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(../media/39c55468420adfa6-s.1ti1r54sj8aa0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9b8f0e32b229dbc1-s.3mtm4mi9aq8dw.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(../media/81cef6a21128489e-s.p.00r2o6pv87vbs.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost Fallback;src:local(Arial);ascent-override:111.45%;descent-override:39.06%;line-gap-override:0.0%;size-adjust:96.01%}.jost_d9db9b37-module__5CvIDG__className{font-family:Jost,Jost Fallback;font-style:normal}.jost_d9db9b37-module__5CvIDG__variable{--font-heading:"Jost", "Jost Fallback"}
@font-face{font-family:Lexend;font-style:normal;font-weight:400;font-display:swap;src:url(../media/08328e320c8f68d1-s.09tcljo7dct-o.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ce5b45ab00236ec9-s.0p_6i_-hvb5ly.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ca31d6821328a4e9-s.p.2h1t2m6r9t_36.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend;font-style:normal;font-weight:500;font-display:swap;src:url(../media/08328e320c8f68d1-s.09tcljo7dct-o.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ce5b45ab00236ec9-s.0p_6i_-hvb5ly.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ca31d6821328a4e9-s.p.2h1t2m6r9t_36.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend Fallback;src:local(Arial);ascent-override:90.98%;descent-override:22.74%;line-gap-override:0.0%;size-adjust:109.91%}.lexend_de29ab4a-module__0U5NNq__className{font-family:Lexend,Lexend Fallback;font-style:normal}.lexend_de29ab4a-module__0U5NNq__variable{--font-subheading:"Lexend", "Lexend Fallback"}
@font-face{font-family:Josefin Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/edd98e8d10cce948-s.3izpws55e54ar.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Josefin Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/f3e264026ca05120-s.2di51--q6jpnh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Josefin Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/7ba6180f2e0ff30f-s.p.0s3yj2mzl6kh2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Josefin Sans Fallback;src:local(Arial);ascent-override:73.32%;descent-override:24.44%;line-gap-override:0.0%;size-adjust:102.29%}.josefin_sans_8d0ab355-module__Bw0ZKq__className{font-family:Josefin Sans,Josefin Sans Fallback;font-style:normal;font-weight:300}.josefin_sans_8d0ab355-module__Bw0ZKq__variable{--font-logo-light:"Josefin Sans", "Josefin Sans Fallback"}
@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.3gpqod6e6kd7d.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1ay-qk1u8nydy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_fb37782f-module__6XiAQG__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_fb37782f-module__6XiAQG__variable{--font-body:"Outfit", "Outfit Fallback"}
@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/ab624315db63c58d-s.1uwhc7jrbo4mx.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/e94b8ab81811a983-s.2my4drvc0bavc.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/0c795a286deabae8-s.p.25jyahqycoolj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne Fallback;src:local(Arial);ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.0%;size-adjust:98.47%}.syne_6b5edbe9-module__WGigFa__className{font-family:Syne,Syne Fallback;font-style:normal}.syne_6b5edbe9-module__WGigFa__variable{--font-logo:"Syne", "Syne Fallback"}
:root{--sun:#f5a623;--sun-deep:#e08a1f;--shade:#6b7a8f;--ink:#241c14;--ink-soft:#5a5148;--cream:#fff8ec;--cream-deep:#fbecd2;--orange-deep:#c25f08;--hero-sun:#eb8a1d;--card-bg:#fff;--border:#eee0c8;--radius:16px;--shadow:0 10px 30px -10px #40280a2e;--max-width:1160px;--header-h:64px}@media (prefers-color-scheme:dark){:root{--ink:#f5ecdc;--ink-soft:#cbbfa9;--cream:#1c1712;--cream-deep:#241c14;--card-bg:#2a221a;--border:#3a2f22;--shadow:0 10px 30px -10px #00000080}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body), "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;color:var(--ink);background:var(--cream);margin:0;line-height:1.5;overflow-x:hidden}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}button,input{font-family:inherit}h1,h2,h3{font-family:var(--font-heading), var(--font-body), sans-serif;letter-spacing:0;margin:0 0 16px;font-weight:500;line-height:1.25}h1{font-size:clamp(2.2rem,4.5vw,3.4rem)}h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}h3{margin-bottom:8px;font-size:1.2rem}p{color:var(--ink-soft);margin:0 0 12px}em{color:var(--sun-deep);font-style:normal}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--sun-deep);margin:0 0 12px;font-size:.78rem;font-weight:700}.center{text-align:center;margin-left:auto;margin-right:auto}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg, var(--sun), var(--sun-deep));color:#2a1a02;box-shadow:0 8px 20px -6px #e08a1f8c}.btn-small{padding:10px 18px;font-size:.9rem}.site-header{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb, var(--cream) 85%, transparent);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{height:var(--header-h);align-items:center;gap:20px;display:flex}.site-header .container{padding:0}body:has(.map-panel--expanded) .site-header .container{max-width:none;padding:0 24px}.site-nav{gap:28px;margin-left:auto;display:flex}.site-nav-link{color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid #0000;padding:6px 0;font-size:.82rem;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s}.site-nav-link:hover{color:var(--ink)}.site-nav-link[aria-current=page]{color:var(--ink);border-bottom-color:var(--orange-deep)}.logo-link{text-decoration:none}.logo{color:var(--ink);align-items:center;gap:12px;line-height:1;display:inline-flex}.logo-text{flex-direction:column;gap:5px;display:flex}.logo-word{text-transform:uppercase;align-items:baseline;gap:.28em;font-size:1.2rem;display:inline-flex}.logo-word-light{font-family:var(--font-logo-light), var(--font-body), sans-serif;letter-spacing:.3em;font-weight:300}.logo-word-bold{font-family:var(--font-logo), var(--font-body), sans-serif;letter-spacing:.16em;font-size:.92em;font-weight:700}.logo-sub{font-family:var(--font-logo), var(--font-body), sans-serif;letter-spacing:.55em;text-transform:uppercase;color:var(--sun-deep);font-size:.625rem;font-weight:700}.app-main{padding:40px 0 80px}.sunny-now-section{margin-bottom:56px}.badge{white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:700}.badge-sun{color:#a15a00;background:#fdead0}.badge-shade{color:var(--shade);background:#e6ebf1}.badge-partial{color:#a17c00;background:#fef3d6}.badge-closed{color:#6b6355;background:#ece6da}.card-grid{grid-template-columns:repeat(4,1fr);gap:0 22px;margin-top:24px;display:grid}@supports (grid-template-rows:subgrid){.card-grid .cafe-card{grid-template-rows:subgrid;grid-row:span 3;margin-bottom:22px;display:grid}.card-grid .cafe-card-body{grid-template-rows:subgrid;grid-row:2/span 2;align-content:start;display:grid}}.cafe-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.cafe-card-photo-carousel{position:relative;overflow:hidden}.cafe-photo-track{width:300%;display:flex}.cafe-photo-slide{flex:0 0 33.3333%;width:33.3333%;min-width:0}.cafe-card-photo{object-fit:cover;background-size:cover;width:100%;height:170px;display:block}.cafe-card-photo--sun{background:linear-gradient(135deg, var(--sun), var(--sun-deep))}.cafe-card-photo--partial{background:linear-gradient(135deg,#f5d38b,#e0ac4a)}.cafe-card-photo--shade{background:linear-gradient(135deg, #9fb3c8, var(--shade))}.cafe-card-photo--closed{background:linear-gradient(135deg,#d8d0c0,#a39b8f)}.cafe-photo-nav{color:#fff;cursor:pointer;background:#241c1466;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:1.15rem;font-weight:700;line-height:1;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.cafe-photo-nav:hover{background:#241c14a6}.cafe-photo-nav--prev{left:8px}.cafe-photo-nav--next{right:8px}.cafe-photo-dots{justify-content:center;gap:5px;display:flex;position:absolute;bottom:8px;left:0;right:0}.cafe-photo-dot{background:#ffffff8c;border-radius:50%;width:5px;height:5px;transition:background .15s,transform .15s}.cafe-photo-dot--active{background:#fff;transform:scale(1.3)}.cafe-card-body{padding:16px 18px 14px}.cafe-card-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.cafe-card-head h3{font-family:var(--font-subheading), var(--font-body), sans-serif;letter-spacing:0;margin:0;font-size:1.02rem;font-weight:500}.cafe-card-meta{margin:0 0 2px;font-size:.82rem}.cafe-card-meta:last-of-type{margin-bottom:0}.cafe-card-address{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:3px;transition:color .15s,text-decoration-color .15s}.cafe-card-address:hover{color:var(--sun-deep);-webkit-text-decoration-color:var(--sun-deep);text-decoration-color:var(--sun-deep)}.sun-timeline-carousel{margin-top:8px;transition:height .3s;overflow:hidden}.sun-timeline-carousel-track{align-items:flex-start;width:200%;transition:transform .4s cubic-bezier(.65,0,.35,1);display:flex}.sun-timeline-pane{flex:0 0 50%;width:50%;min-width:0}.sun-timeline-day-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:0 0 4px;font-size:.72rem;font-weight:700}.sun-timeline-row{align-items:flex-start;gap:6px;display:flex}.sun-timeline{flex:1;min-width:0}.sun-timeline-nav{width:22px;height:30px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.4rem;font-weight:700;line-height:1;transition:color .15s,transform .15s;display:flex}.sun-timeline-nav:hover{color:var(--sun-deep)}.sun-timeline-nav--next:hover{transform:translate(2px)}.sun-timeline-nav--prev:hover{transform:translate(-2px)}.sun-timeline-track{border:1px solid var(--border);border-radius:8px;height:30px;display:flex;overflow:hidden}.sun-timeline-segment{justify-content:center;align-items:center;display:flex;overflow:hidden}.sun-timeline-segment--sun{background:linear-gradient(180deg, #ffd35c, var(--sun))}.sun-timeline-segment--partial{background:linear-gradient(#ffe9ae,#f5d38b)}.sun-timeline-segment--shade{background:#cfd6e0}.sun-timeline-segment--closed{background:repeating-linear-gradient(45deg, var(--cream-deep), var(--cream-deep) 5px, var(--border) 5px, var(--border) 10px)}.sun-timeline-icon{font-size:.85rem;line-height:1}.sun-timeline-text{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-size:.6rem;font-weight:700}.sun-timeline-labels{position:relative}.sun-timeline-tick-group{flex-direction:column;align-items:center;display:flex;position:absolute;top:0;transform:translate(-50%)}.sun-timeline-tick-group--now{align-items:flex-start;transform:none}.sun-timeline-tick-group--end{align-items:flex-end;transform:none}.sun-timeline-tick{background:var(--border);width:1px}.sun-timeline-label{color:var(--ink-soft);white-space:nowrap;margin-top:3px;font-size:.68rem}.map-section{margin-bottom:24px}.map-panel{margin-top:24px;position:relative}.map-toolbar{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:14px;display:flex}.map-panel--page.map-panel--expanded{z-index:auto;height:calc(100dvh - var(--header-h));min-height:480px;position:relative;inset:auto}.map-panel--page{margin-top:0}.about-page{max-width:720px}.about-page h3{margin-top:36px;font-size:1.3rem}.about-page ul{color:var(--ink-soft);margin:0 0 12px;padding-left:1.2em}.about-page li{margin-bottom:8px}.about-page strong{color:var(--ink)}.about-page h2{margin-bottom:12px;font-size:clamp(1.7rem,5.6vw,2.2rem)}.about-lead{color:var(--ink);text-wrap:pretty;margin:0 0 24px;font-size:1.08rem}.info-emoji{font-size:1.5rem;line-height:1}.info-pillars{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;display:grid}.info-pillar{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.info-pillar h3{margin:8px 0 4px;font-size:1.1rem}.info-pillar p{color:var(--ink-soft);margin:0;font-size:.92rem}.info-wip{margin:24px 0 0}.info-wip h3{margin:0 0 2px;font-size:1.05rem}.info-wip p{color:var(--ink);margin:0;font-size:.92rem}.about-page h3.info-heading{margin:32px 0 10px;font-size:1.2rem}.info-seating{flex-direction:column;gap:8px;margin:0;display:flex}.info-seating-tile{color:var(--ink-soft);padding-left:17px;font-size:.92rem;position:relative}.info-seating-tile:before{content:"";background:var(--hero-sun);border-radius:50%;width:7px;height:7px;position:absolute;top:.55em;left:0}.info-seating-tile strong{margin-right:8px;font-size:1rem}.info-steps{flex-direction:column;margin:0;display:flex}.info-step{border-top:1px solid var(--border);color:var(--ink-soft);align-items:flex-start;gap:14px;padding:12px 0;font-size:.9rem;display:flex}.info-step:first-child{border-top:0;padding-top:4px}.info-step-emoji{text-align:center;flex:0 0 1.8rem;font-size:1.5rem;line-height:1.2}.info-step div{flex-direction:column;gap:2px;display:flex}.info-step strong{font-size:1rem}.info-sources{border-top:1px solid var(--border);color:var(--ink-soft);margin-top:36px;padding-top:16px;font-size:.78rem}@media (max-width:560px){.about-lead{margin-bottom:18px;font-size:1rem}.info-pillar{grid-template-columns:auto 1fr;align-items:center;column-gap:12px;padding:12px 16px;display:grid}.info-pillar .info-emoji{grid-row:1/span 2}.info-pillar h3{margin:0 0 2px}.info-pillars{grid-template-columns:1fr}}.hero{border-bottom:1px solid var(--border);margin-bottom:28px;padding-top:34px;padding-bottom:24px;position:relative}.hero h1{text-wrap:balance;z-index:1;max-width:860px;margin:0;font-size:clamp(1.25rem,3.8vw,2.2rem);position:relative}.app-main:has(.hero){padding-top:14px}.hero{padding-top:10px;padding-bottom:24px}.hero h1{font-size:clamp(1rem,4.9vw,1.5rem)}.hero-suns{height:60px;color:var(--hero-sun);pointer-events:none;display:block;position:absolute;top:0;left:0;right:0}.hero-sun{position:absolute}.hero-sun--large{width:28px;height:28px;top:4px;right:4px}.hero-sun--small{width:18px;height:18px;top:40px;right:13px;transform:rotate(-10deg)}.hero-sun--medium{display:none}@media (max-width:340px){.hero h1{font-size:.92rem}}@media (min-width:600px) and (max-width:1099px){.hero h1{max-width:calc(100% - 56px)}}@media (min-width:1100px){.app-main:has(.hero){padding-top:40px}.hero{align-items:center;min-height:229px;margin-bottom:28px;padding-top:0;padding-bottom:24px;display:flex}.hero h1{max-width:calc(100% - 340px);font-size:clamp(2rem,3.4vw,2.75rem)}.hero-suns{width:280px;height:auto;top:0;bottom:24px;left:auto}.hero-sun--large{width:150px;height:150px;top:-6px;right:20px;transform:none}.hero-sun--medium{width:84px;height:84px;display:block;top:118px;right:168px;transform:rotate(12deg)}.hero-sun--small{width:46px;height:46px;top:14px;right:186px;transform:rotate(-10deg)}}.map-section{border-top:1px solid var(--border);padding-top:40px}.map-toolbar-top{display:contents}.map-expand{border:1px solid var(--border);background:var(--card-bg);color:var(--ink);cursor:pointer;border-radius:999px;order:3;margin-left:auto;padding:8px 16px;font-size:.9rem;font-weight:600}.map-expand:hover{border-color:var(--sun-deep)}.map-expand{text-decoration:none}.map-panel--expanded{inset:var(--header-h) 0 0 0;z-index:40;background:var(--cream);grid-template-rows:auto minmax(0,1fr);grid-template-columns:410px minmax(0,1fr);gap:14px 20px;margin:0;padding:16px 24px 20px;display:grid;position:fixed}.map-panel--expanded .map-toolbar{flex-direction:column;grid-area:1/1;align-items:stretch;margin-bottom:0}.map-panel--expanded .map-toolbar-top{align-items:center;gap:10px;display:flex}.map-panel--expanded .map-search{flex:1;max-width:none}.map-panel--expanded .map-expand{z-index:5;white-space:nowrap;position:absolute;top:28px;right:32px;box-shadow:0 1px 4px #0000004d}.map-panel--expanded .map-list{grid-area:2/1}.map-panel--expanded .cafe-map{grid-area:1/2/span 2;height:auto;min-height:0}.map-list{flex-direction:column;gap:10px;margin:0;padding:2px 6px 2px 2px;list-style:none;display:flex;overflow-y:auto}.map-sheet-handle{display:none}.map-list-empty{color:var(--ink-soft);padding:12px 4px}.map-list>li{flex:none}.map-list-item{text-align:left;width:100%;height:120px;color:inherit;font:inherit;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.map-list-item:hover{border-color:var(--sun-deep)}.map-list-item--active{border-color:var(--sun-deep);box-shadow:inset 0 0 0 1px var(--sun-deep)}.map-list-photo{object-fit:cover;background:var(--cream-deep);flex:0 0 110px;width:110px;height:100%}.map-list-body{flex-direction:column;flex:1;gap:2px;min-width:0;padding:12px 14px;display:flex;overflow:hidden}.map-list-body .cafe-card-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-list-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:2px;display:flex}.map-list-name{font-family:var(--font-subheading), var(--font-body), sans-serif;letter-spacing:0;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1rem;font-weight:500;line-height:1.25;display:-webkit-box;overflow:hidden}@media (max-width:760px){.map-panel--expanded{grid-template-rows:auto 38% minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.map-panel--expanded .map-expand{box-shadow:none;position:static}.map-panel--expanded .cafe-map{grid-area:2/1}.map-panel--expanded .map-list{grid-area:3/1}}.map-search{flex:240px;max-width:360px;display:flex;position:relative}.map-search input{border:1px solid var(--border);background:var(--card-bg);color:var(--ink);border-radius:999px;flex:1;padding:12px 16px;font-size:.95rem}.map-search input:focus{outline:2px solid var(--sun)}.map-search-results{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow);z-index:10;border-radius:12px;max-height:320px;margin-top:6px;padding:6px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.map-search-results li button{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 10px;font-size:.9rem;display:block}.map-search-results li button:hover{background:var(--cream-deep)}.cafe-map{border-radius:var(--radius);border:1px solid var(--border);width:100%;height:520px;box-shadow:var(--shadow);overflow:hidden}.map-filter-menu{position:relative}.map-filter-bar{border:1px solid var(--border);background:var(--card-bg);border-radius:999px;align-items:center;display:inline-flex}.map-filter-bar:hover{border-color:var(--sun-deep)}.map-filter-bar:has(.map-filter-trigger[aria-expanded=true]){border-color:var(--sun-deep)}.map-filter-trigger{color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:.95rem;font-weight:600;display:inline-flex}.map-filter-clear{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;align-self:stretch;padding:0 16px 0 2px;font-size:1.25rem;line-height:1}.map-filter-clear:hover{color:var(--sun-deep)}.map-filter-count{background:var(--sun-deep);color:#fff;text-align:center;border-radius:999px;min-width:20px;padding:1px 6px;font-size:.75rem}.map-filter-when{color:var(--ink-soft);font-size:.85rem;font-weight:500}.map-filter-caret{color:var(--ink-soft);font-size:.7rem}.map-filter-panel{z-index:30;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);width:290px;max-width:calc(100vw - 32px);box-shadow:var(--shadow);padding:6px 0 10px;position:absolute;top:calc(100% + 8px);left:0}.map-filter-section{padding:12px 18px 4px}.map-filter-section+.map-filter-section{border-top:1px solid var(--border);margin-top:8px;padding-top:16px}.map-filter-heading{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 6px;font-size:.72rem;font-weight:600}.map-filter-option{color:var(--ink);cursor:pointer;align-items:center;gap:12px;padding:9px 0;font-size:.95rem;font-weight:500;display:flex;position:relative}.map-filter-option input{opacity:0;width:0;height:0;position:absolute}.map-filter-mark{border:1.5px solid var(--border);background:var(--card-bg);flex:none;justify-content:center;align-items:center;width:20px;height:20px;transition:background .12s,border-color .12s;display:inline-flex}.map-filter-mark--radio{border-radius:50%}.map-filter-mark--check{border-radius:6px}.map-filter-option:hover .map-filter-mark{border-color:var(--sun-deep)}.map-filter-option input:checked+.map-filter-mark{background:var(--sun-deep);border-color:var(--sun-deep)}.map-filter-option input:checked+.map-filter-mark--radio:after{content:"";background:#fff;border-radius:50%;width:7px;height:7px}.map-filter-option input:checked+.map-filter-mark--check:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;margin-top:-2px;transform:rotate(45deg)}.map-filter-option input:focus-visible+.map-filter-mark{outline:2px solid var(--sun);outline-offset:2px}.map-filter-select{border:1px solid var(--border);background:var(--card-bg);width:100%;color:var(--ink);border-radius:10px;margin:4px 0 8px;padding:9px 12px;font-size:.95rem}.map-locate{color:#666;cursor:pointer;background:#fff;border:none;border-radius:2px;justify-content:center;align-items:center;width:40px;height:40px;margin:0 10px 10px 0;display:flex;box-shadow:0 1px 4px #0000004d}.map-locate:hover{color:#1a73e8}.map-locate-wrap{position:relative}.map-locate--busy{color:#1a73e8;animation:1s ease-in-out infinite map-locate-pulse}@keyframes map-locate-pulse{50%{opacity:.45}}.map-locate-message{color:#fff;background:#241c14eb;border-radius:8px;width:220px;margin:0;padding:8px 10px;font-size:.78rem;line-height:1.35;position:absolute;bottom:10px;right:60px;box-shadow:0 2px 8px #0000004d}.cafe-map-error{text-align:center;color:var(--ink-soft);background:var(--cream-deep);justify-content:center;align-items:center;padding:24px;display:flex}.gm-style-iw.gm-style-iw-c{border-radius:var(--radius);padding:0}.gm-style-iw-d{padding:0;overflow:hidden!important}.gm-style-iw-d .cafe-card{width:280px;box-shadow:none;font-family:var(--font-body), sans-serif;border:none}.gm-style-iw-chr{z-index:2;height:auto;position:absolute;top:0;right:0}.gm-style-iw-chr .gm-ui-hover-effect{opacity:1!important;background:#241c148c!important;border-radius:50%!important;width:28px!important;height:28px!important;margin:8px 8px 0 0!important}.gm-style-iw-chr .gm-ui-hover-effect>span{background-color:#fff!important;width:14px!important;height:14px!important;margin:7px!important}.site-footer{border-top:1px solid var(--border);padding:32px 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-inner p{margin:0;font-size:.85rem}@media (max-width:900px){.card-grid{grid-template-columns:repeat(2,1fr)}.cafe-map{height:420px}}@media (max-width:560px){.card-grid{grid-template-columns:1fr}.cafe-map{height:360px}.hero h1{padding-right:44px;font-size:clamp(1.2rem,6vw,1.7rem)}.sunny-now-section h2,.map-section h2{font-size:1.5rem}.container{padding-left:16px;padding-right:16px}.site-header .container{padding:0 16px}body:has(.map-panel--expanded) .site-header .container{padding:0 16px}.app-main{padding:28px 16px 64px}.header-inner{gap:12px}.logo{gap:8px}.logo-word{font-size:.95rem}.logo-sub{letter-spacing:.45em;font-size:.5rem}.site-nav{gap:14px}.site-nav-link{letter-spacing:.08em;font-size:.7rem}.map-panel--expanded{padding:12px 16px 16px}.map-list-item{height:132px}.map-list-photo{flex-basis:96px;width:96px}.map-list-body .cafe-card-meta{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:.8rem;display:-webkit-box}}@media (max-width:360px){.logo-word{font-size:.85rem}.site-nav{gap:10px}.site-nav-link{letter-spacing:.05em;font-size:.66rem}}@media (pointer:coarse){.cafe-card-photo-carousel,.sun-timeline-carousel{touch-action:pan-y}}@media (max-width:560px){.card-grid{grid-template-columns:minmax(0,332px);justify-content:center}}.map-expand-corner{display:none}@media (max-width:560px){.map-expand{display:none}.map-panel:not(.map-panel--expanded){grid-template-columns:minmax(0,1fr);display:grid}.map-panel:not(.map-panel--expanded) .map-toolbar{grid-area:1/1}.map-panel:not(.map-panel--expanded) .cafe-map{grid-area:2/1}.map-expand-corner{z-index:5;border:1px solid var(--border);background:var(--card-bg);color:var(--ink);white-space:nowrap;border-radius:999px;grid-area:2/1;place-self:start end;margin:10px;padding:6px 12px;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-block;box-shadow:0 1px 4px #0000004d}.map-modal-backdrop{z-index:100;background:#241c1499;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.map-modal{border-radius:var(--radius);width:min(100%,340px);max-height:calc(100dvh - 32px);position:relative;overflow-y:auto;box-shadow:0 12px 40px #0006}.map-modal-close{z-index:3;color:#fff;cursor:pointer;background:#241c1499;border:0;border-radius:50%;width:32px;height:32px;padding:0;font-size:1.3rem;line-height:1;position:absolute;top:10px;right:10px}.map-toolbar,.map-panel--expanded .map-toolbar{flex-flow:row;align-items:center;gap:8px}.map-panel--expanded .map-toolbar-top{display:contents}.map-search,.map-panel--expanded .map-search{flex:auto;min-width:0;max-width:none}.map-search input{padding:10px 14px;font-size:16px}.map-filter-menu{flex:none}.map-filter-trigger{gap:6px;padding:9px 12px;font-size:.82rem}.map-filter-when,.map-filter-caret{display:none}.map-filter-clear{padding:0 12px 0 0;font-size:1.1rem}.map-filter-panel{left:auto;right:0}.map-panel--page .map-expand-corner{display:none}.map-panel--page.map-panel--expanded{grid-template-rows:auto 56% minmax(0,1fr);gap:8px 0;padding:8px 0 0}.map-panel--page .map-toolbar{padding:0 16px}.map-panel--page .map-search input{padding:8px 14px;font-size:16px}.map-panel--page .map-filter-trigger{padding:7px 11px;font-size:.78rem}.map-panel--page .cafe-map{box-shadow:none;border-left:0;border-right:0;border-radius:0}.map-panel--page .map-list{gap:8px;padding:0 16px 16px}.map-panel--page .map-list-item{height:84px}.map-panel--page .map-list-photo{flex-basis:72px;width:72px}.map-panel--page .map-list-body{gap:1px;padding:8px 10px}.map-panel--page .map-list-head{margin-bottom:0}.map-panel--page .map-list-name{-webkit-line-clamp:1;font-size:.92rem;line-height:1.2}.map-panel--page .map-list-body .cafe-card-meta{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;display:block;overflow:hidden}.map-panel--page .map-list-body .badge{padding:3px 7px;font-size:.66rem}.map-panel--page .map-toolbar{z-index:6;position:relative}.map-panel--page .map-list{overscroll-behavior-y:contain;padding-top:0}.map-panel--page .map-sheet-handle{z-index:2;background:var(--cream);cursor:grab;touch-action:none;flex:none;justify-content:center;margin:0 -16px;padding:6px 0 8px;display:flex;position:sticky;top:0}.map-panel--page .map-sheet-handle span{background:var(--border);border-radius:3px;width:44px;height:5px}.map-panel--page .map-list--up{z-index:3;background:var(--cream);grid-row:2/span 2;animation:.22s ease-out map-sheet-up;position:relative}}@keyframes map-sheet-up{0%{opacity:.6;transform:translateY(35%)}to{opacity:1;transform:none}}.map-bubble .map-list-item{width:250px;max-width:100%;height:auto;min-height:74px;box-shadow:none;background:0 0;border:0;border-radius:8px}.map-bubble .map-list-photo{border-radius:8px;flex-basis:70px;align-self:stretch;width:70px;height:auto;min-height:74px}.map-bubble .map-list-body{gap:1px;padding:4px 6px 4px 10px}.map-bubble .map-list-head{flex-wrap:wrap;gap:3px 8px;margin-bottom:0;margin-right:24px}.map-bubble .map-list-name{-webkit-line-clamp:2;flex:110px;font-size:.9rem;line-height:1.2}.map-bubble .map-list-body .cafe-card-meta{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.74rem;display:-webkit-box;overflow:hidden}.map-bubble .map-list-body .badge{padding:3px 7px;font-size:.66rem}@media (max-width:560px){.map-search-results{max-height:min(60dvh,360px)}.map-search-results li button{padding:10px 12px;font-size:.95rem}.map-search-result-meta{color:var(--ink-soft);margin-top:1px;font-size:.78rem;font-weight:400;display:block}.map-filter-select{font-size:16px}}.map-search-clear{display:none}@media (max-width:560px){.map-search input{padding-right:38px}.map-search-clear{background:var(--cream-deep);width:24px;height:24px;color:var(--ink-soft);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}}.map-bubble{--ink:#241c14;--ink-soft:#5a5148;--card-bg:#fff;--cream-deep:#fbecd2;--border:#eee0c8;color:var(--ink)}.map-filter-actions{border-top:1px solid var(--border);justify-content:flex-end;margin-top:10px;padding:10px 18px 4px;display:flex}.map-filter-apply{background:linear-gradient(135deg, var(--sun), var(--sun-deep));color:#2a1a02;cursor:pointer;border:none;border-radius:999px;padding:7px 18px;font-size:.85rem;font-weight:700}.map-filter-apply:hover{filter:brightness(1.06)}@media (max-width:560px){.map-filter-panel{overscroll-behavior:contain;max-height:calc(100dvh - 150px);overflow-y:auto}.map-filter-actions{background:var(--card-bg);margin-top:6px;padding-bottom:8px;position:sticky;bottom:0}}.map-filter-option--empty{opacity:.5;cursor:default}.map-filter-option--empty:hover .map-filter-mark{border-color:var(--border)}.map-filter-panel{overscroll-behavior:contain;max-height:calc(100dvh - 205px);overflow-y:auto}.map-filter-actions{background:var(--card-bg);position:sticky;bottom:0}@media (max-width:560px){.map-filter-panel{max-height:calc(100dvh - 150px)}}.cafe-card-name-link{color:inherit;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .15s,color .15s}.cafe-card-name-link:hover,.cafe-card-name-link:focus-visible{color:var(--sun-deep);text-decoration-color:currentColor}.map-panel{scroll-margin-top:calc(var(--header-h) + 16px)}.cafe-card-seating{color:var(--ink);font-size:.92rem;font-weight:500}@media (max-width:560px){.map-panel--page .map-list-body .cafe-card-seating,.map-bubble .map-list-body .cafe-card-seating{color:var(--ink);font-size:.82rem;font-weight:500}}.sun-timeline-labels--above{margin-bottom:0}.sun-timeline-tick-group--above{flex-direction:column-reverse;top:auto;bottom:0}.sun-timeline-tick-group--above .sun-timeline-label{margin-top:0;margin-bottom:3px}
