.rainbow-hero{background:#073f87;color:#fff;padding:72px 0 62px;overflow:hidden}.rainbow-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:70px;align-items:center}.rainbow-hero .eyebrow{color:#e1edff}.rainbow-hero h1{font-size:clamp(46px,5.4vw,84px);max-width:950px;line-height:1.05}.rainbow-lead{font-size:17px;line-height:1.7;color:#ecf3ff;margin-top:28px;max-width:850px}.rainbow-mark{border:1px solid #ffffff55;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.rainbow-mark svg{width:35px;height:35px;margin-bottom:12px;fill:#fff;stroke:#fff}.rainbow-mark strong{font-size:48px;line-height:1;letter-spacing:-.04em}.rainbow-mark span{font-size:12px;letter-spacing:.09em;margin-top:8px}.rainbow-directory{background:#f5f8fd;padding:42px 0 78px}.rainbow-source{display:flex;gap:36px;justify-content:space-between;align-items:center;padding-bottom:32px;border-bottom:1px solid #cdd9e9;font-size:13px;color:#334f72}.rainbow-source>div{max-width:800px}.rainbow-source>a{color:#0759b9;font-weight:600;flex-shrink:0;text-decoration:underline;text-underline-offset:5px}.rainbow-import-date{font-size:11px;margin-top:10px;color:#4a6381}.rainbow-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:end;margin:34px 0 22px}.rainbow-filters{display:flex;gap:9px;flex-wrap:wrap}.rainbow-filters button{display:inline-flex;gap:9px;align-items:center;border:1px solid #cad8eb;border-radius:30px;background:#fff;font-size:12px;padding:10px 15px;min-height:44px;color:#244567}.rainbow-filters button span{font-size:10px;opacity:.8}.rainbow-filters button[aria-pressed=true]{background:#0759b9;color:white;border-color:#0759b9}.rainbow-search label{display:block;font-size:11px;font-weight:600;margin-bottom:9px;color:#334f72}.rainbow-search input{border:1px solid #aebfd8;border-radius:4px;background:white;width:100%;padding:13px 15px;min-height:46px;font-size:13px;color:#173756}.rainbow-results{font-size:12px;color:#4a6381;margin-bottom:22px}.rainbow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.rainbow-card{position:relative;border:1px solid #d6e1ef;border-radius:9px;background:white;padding:26px;min-width:0;display:flex;flex-direction:column;scroll-margin-top:130px}.rainbow-card[hidden]{display:none}.rainbow-card-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.rainbow-category{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#0759b9}.rainbow-save{position:relative;flex-shrink:0;border:1px solid #b9cde7;background:white;color:#0759b9;border-radius:50%;width:44px;height:44px;display:grid;place-items:center}.rainbow-save svg{width:20px;height:20px}.rainbow-number{font-size:11px;letter-spacing:.12em;color:#506e94;margin:19px 0 12px}.rainbow-card h2{font-size:29px;line-height:1.12;letter-spacing:-.035em;color:#0d315d;overflow-wrap:anywhere}.rainbow-description{font-size:12px;line-height:1.65;color:#4b607a;margin-top:14px}.rainbow-address{margin-top:24px;padding-top:18px;border-top:1px solid #e0e8f3}.rainbow-address>span{display:block;font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#536e90;margin-bottom:7px}.rainbow-address p{font-size:13px;line-height:1.6;color:#173756;overflow-wrap:anywhere}.rainbow-address-note{font-size:11px;line-height:1.6;color:#344e6e;margin-top:10px;padding:9px 11px;background:#edf3fd;border-inline-start:2px solid #0759b9}.rainbow-actions{display:flex;flex-wrap:wrap;gap:13px 18px;margin-top:auto;padding-top:25px}.rainbow-actions a{font-size:11px;color:#0759b9;text-decoration:underline;text-underline-offset:4px;line-height:1.6}.rainbow-actions a:first-child{width:100%;font-weight:600}.rainbow-visit-note{font-size:12px;color:#4b607a;max-width:850px;margin-top:32px}.rainbow-empty{padding:50px 0;font-size:16px;color:#334f72}.rainbow-directory :is(button,a,input):focus-visible{outline:3px solid #0759b9;outline-offset:4px}
@media(max-width:1100px){.rainbow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rainbow-toolbar{grid-template-columns:1fr}.rainbow-search{max-width:480px}.rainbow-hero-grid{gap:35px}.rainbow-mark{width:150px}.rainbow-source{align-items:start;flex-direction:column;gap:18px}}
@media(max-width:650px){.rainbow-hero{padding:42px 0}.rainbow-hero-grid{grid-template-columns:1fr}.rainbow-hero h1{font-size:44px}.rainbow-mark{display:none}.rainbow-lead{font-size:14px;margin-top:22px}.rainbow-directory{padding:28px 0 48px}.rainbow-source{font-size:12px}.rainbow-source>a{flex-shrink:1}.rainbow-toolbar{gap:25px;margin-top:27px}.rainbow-filters{gap:7px}.rainbow-filters button{padding:8px 12px;font-size:11px}.rainbow-grid{grid-template-columns:1fr;gap:16px}.rainbow-card{padding:22px}.rainbow-card h2{font-size:29px}.rainbow-description{font-size:13px}.rainbow-address p{font-size:14px}.rainbow-actions a{font-size:12px}.rainbow-hero .eyebrow{font-size:9px;line-height:1.6}}

/* Documentary images and dedicated guides share the platform's blue identity. */
.rainbow-card{padding:0;overflow:hidden}
.rainbow-card-image{display:block;aspect-ratio:4/3;overflow:hidden;background:#e4edf9}
.rainbow-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.rainbow-card-image img[data-rainbow-media-kind=brand-graphic],.rainbow-card-image img[data-rainbow-media-kind=brand-image],.rainbow-related-grid img[data-rainbow-media-kind=brand-graphic],.rainbow-related-grid img[data-rainbow-media-kind=brand-image]{object-fit:contain;background:#fff;padding:18px}
.rainbow-card-image img[data-rainbow-media-kind=event-poster],.rainbow-related-grid img[data-rainbow-media-kind=event-poster]{object-fit:contain;background:#101724}
.rainbow-card-image:hover img{transform:scale(1.025)}
.rainbow-card-image:hover img[data-rainbow-media-kind=event-poster]{transform:none}
.rainbow-card-source-note{background:#e9eff8;color:#426182;padding:11px 18px;font-size:10px;line-height:1.6;overflow-wrap:anywhere}
.rainbow-card-source-note a{text-decoration:underline;text-underline-offset:3px}
.rainbow-card-content{padding:25px;display:flex;flex-direction:column;flex:1;min-width:0}
.rainbow-card h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.rainbow-card .rainbow-actions{gap:12px 18px}
.rainbow-card .rainbow-actions a:first-child{font-size:13px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #dce5f2;padding-top:18px;text-decoration:none}
.rainbow-card .rainbow-actions a:first-child span{font-size:21px}
.rainbow-card .rainbow-actions a:nth-child(2){width:100%;font-size:10px;font-weight:400}
.rainbow-save[aria-pressed=true]{background:#0759b9;color:white;border-color:#0759b9}
.rainbow-save[aria-pressed=true] svg{fill:currentColor}
.rainbow-detail-hero{background:#f0f5fd;color:#0d315d;padding:34px 0 64px}
.rainbow-detail-hero .breadcrumbs{font-size:11px;line-height:1.7;display:flex;flex-wrap:wrap;gap:10px;margin:0 0 38px;color:#426182}
.rainbow-detail-hero .breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.rainbow-detail-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:58px;align-items:center}
.rainbow-detail-intro{padding:15px 0}
.rainbow-detail-intro .eyebrow{color:#0759b9;font-size:11px;line-height:1.6;letter-spacing:.12em}
.rainbow-detail-intro h1{font-size:clamp(44px,5.4vw,82px);line-height:1.02;letter-spacing:-.045em;overflow-wrap:anywhere}
.rainbow-detail-lead{font-size:17px;line-height:1.75;color:#344f70;margin-top:25px;max-width:540px}
.rainbow-detail-address{font-size:13px;line-height:1.7;color:#426182;margin-top:22px;max-width:520px}
.rainbow-detail-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.rainbow-detail-buttons .button{background:#0759b9;border-color:#0759b9;color:white;padding:14px 18px;font-size:12px;gap:12px;min-height:48px}
.rainbow-detail-buttons .button.outline{background:transparent;color:#0759b9}
.rainbow-detail-buttons button[aria-pressed=true] svg{fill:currentColor}
.rainbow-detail-photo{position:relative;margin:0;min-width:0;background:#e0eaf8;border-radius:8px;overflow:hidden}
.rainbow-detail-photo>img{width:100%;height:auto;max-height:680px;object-fit:contain;display:block}
.rainbow-detail-photo .restaurant-photo-open{top:15px;right:auto;inset-inline-end:15px;font-size:11px;background:#ffffffed;border-color:white;border-radius:3px;padding:11px 13px;min-height:44px;color:#0d315d}
.rainbow-detail-photo[data-rainbow-image-kind=event-poster] .restaurant-photo-open{position:static;margin:12px;width:calc(100% - 24px);justify-content:center}
.rainbow-detail-photo figcaption{background:#e9eff8;color:#426182;padding:11px 15px;font-size:10px;line-height:1.6;overflow-wrap:anywhere}
.rainbow-detail-photo figcaption a{text-decoration:underline;text-underline-offset:3px}
.rainbow-detail-content{padding:72px 0 76px;background:#fff}
.rainbow-detail-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.47fr);gap:90px;align-items:start}
.rainbow-story{max-width:820px;min-width:0;color:#2c4668}
.rainbow-story>.eyebrow{font-size:10px;color:#0759b9}
.rainbow-story h2{font-size:clamp(35px,3.8vw,54px);line-height:1.1;color:#0d315d;margin-bottom:28px}
.rainbow-story>p{font-size:16px;line-height:1.85;margin-top:20px;white-space:pre-line}
.rainbow-story h3{font-size:24px;color:#0d315d;margin:35px 0 18px}
.rainbow-features{list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin:0;padding:0}
.rainbow-features li{background:#f0f5fd;color:#315680;border:1px solid #d5e2f4;padding:8px 13px;font-size:12px;line-height:1.5;border-radius:25px}
.rainbow-story-actions{display:flex;gap:20px;flex-wrap:wrap;margin-top:34px}
.rainbow-story-actions a{font-size:12px;color:#0759b9;text-decoration:underline;text-underline-offset:5px}
.rainbow-provenance{border-block:1px solid #d7e2f1;margin-top:35px;padding:19px 0;font-size:12px;color:#49627e}
.rainbow-provenance summary{font-weight:600;cursor:pointer;color:#0d315d;line-height:1.6}
.rainbow-provenance p{margin-top:17px;line-height:1.8}
.rainbow-provenance a{text-decoration:underline;text-underline-offset:4px}
.rainbow-visit-info{padding:29px 26px;background:#f0f5fd;border:1px solid #d5e1f1;border-radius:7px;min-width:0}
.rainbow-visit-info h2{font-size:29px;line-height:1.12;color:#0d315d;margin-bottom:25px}
.rainbow-visit-info dl{margin:0;color:#2f4d70}
.rainbow-visit-info dl>div{padding:17px 0;border-top:1px solid #d3deed}
.rainbow-visit-info dt{font-size:10px;color:#496582;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;line-height:1.6}
.rainbow-visit-info dd{margin:0;font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.rainbow-visit-info .rainbow-hours{white-space:pre-line}
.rainbow-visit-links{display:flex;flex-direction:column;align-items:start;gap:18px;margin-top:15px;color:#0759b9}
.rainbow-visit-links>a{font-size:12px;text-decoration:underline;text-underline-offset:5px;line-height:1.7}
.rainbow-visit-links>a.button{background:#0759b9;border-color:#0759b9;color:#fff;text-decoration:none;width:100%;font-size:12px;padding:13px 17px;gap:15px}
.rainbow-practical-note{font-size:11px;line-height:1.85;color:#48627f;border-top:1px solid #d3deed;padding-top:20px;margin-top:25px}
.rainbow-gallery-section{background:#f5f8fd;padding:65px 0 72px}
.rainbow-gallery-section .eyebrow{font-size:10px;color:#426182}
.rainbow-gallery-section h2,.rainbow-related h2{font-size:clamp(34px,3.6vw,52px);line-height:1.12;color:#0d315d;margin-bottom:32px}
.rainbow-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;align-items:start}
.rainbow-gallery .rainbow-detail-photo{align-self:start}
.rainbow-related{padding:65px 0 76px;background:white}
.rainbow-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.rainbow-related-grid>a{border:1px solid #d7e2f1;border-radius:6px;overflow:hidden;padding-bottom:23px;background:white;min-width:0}
.rainbow-related-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.rainbow-related-grid span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#0759b9;display:block;padding:22px 23px 0}
.rainbow-related-grid h3{padding:12px 23px 0;font-size:27px;color:#0d315d;line-height:1.15;overflow-wrap:anywhere}
.rainbow-related-grid p{padding:14px 23px 0;font-size:11px;line-height:1.7;color:#4c6685;overflow-wrap:anywhere}
.rainbow-related-grid>a:hover h3{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
:is(.rainbow-detail-hero,.rainbow-detail-content,.rainbow-gallery-section,.rainbow-related) :is(a,button):focus-visible{outline:3px solid #0759b9;outline-offset:4px}
@media(max-width:1100px){.rainbow-detail-hero-grid{gap:35px}.rainbow-detail-columns{gap:42px;grid-template-columns:minmax(0,1fr) minmax(270px,.58fr)}.rainbow-detail-intro h1{font-size:55px}.rainbow-detail-lead{font-size:15px}.rainbow-visit-info{padding:25px 22px}}
@media(max-width:800px){.rainbow-detail-hero-grid{grid-template-columns:1fr;gap:30px}.rainbow-detail-intro{padding:0}.rainbow-detail-intro h1{font-size:clamp(44px,8vw,68px)}.rainbow-detail-lead{max-width:700px}.rainbow-detail-photo>img{max-height:560px}.rainbow-detail-columns{grid-template-columns:1fr;gap:38px}.rainbow-visit-info{max-width:650px}.rainbow-related-grid{gap:16px}.rainbow-related-grid h3{font-size:23px;padding-inline:16px}.rainbow-related-grid span,.rainbow-related-grid p{padding-inline:16px}.rainbow-gallery{gap:17px}}
@media(max-width:650px){.rainbow-card{padding:0}.rainbow-card-content{padding:22px}.rainbow-detail-hero{padding:25px 0 35px}.rainbow-detail-hero .breadcrumbs{font-size:10px;gap:7px;margin-bottom:28px}.rainbow-detail-intro h1{font-size:45px}.rainbow-detail-intro .eyebrow{font-size:9px;margin-bottom:17px}.rainbow-detail-lead{font-size:15px;margin-top:21px}.rainbow-detail-address{font-size:13px;margin-top:18px}.rainbow-detail-buttons{margin-top:24px;gap:10px}.rainbow-detail-buttons .button{font-size:11px;flex:1 1 100%;padding:13px 15px;min-height:47px}.rainbow-detail-photo .restaurant-photo-open{font-size:10px;top:10px;inset-inline-end:10px;padding:9px 12px}.rainbow-detail-photo figcaption{font-size:9px;padding:10px 12px}.rainbow-detail-content{padding:42px 0}.rainbow-story h2{font-size:36px;margin-bottom:23px}.rainbow-story>p{font-size:15px;line-height:1.85}.rainbow-story h3{font-size:24px}.rainbow-visit-info{padding:25px 21px}.rainbow-visit-info h2{font-size:30px}.rainbow-visit-info dd{font-size:14px}.rainbow-gallery-section,.rainbow-related{padding:43px 0 48px}.rainbow-gallery-section h2,.rainbow-related h2{font-size:35px;margin-bottom:25px}.rainbow-gallery{grid-template-columns:1fr;gap:20px}.rainbow-related-grid{grid-template-columns:1fr;gap:20px}.rainbow-related-grid>a{padding-bottom:22px}.rainbow-related-grid img{max-height:300px}.rainbow-related-grid h3{font-size:28px;padding-inline:22px}.rainbow-related-grid span,.rainbow-related-grid p{padding-inline:22px}.rainbow-related-grid p{font-size:12px}.rainbow-features li{font-size:12px}}
@media(prefers-reduced-motion:reduce){.rainbow-card-image img{transition:none}.rainbow-card-image:hover img{transform:none}}
