/* Collection-only presentation. This file never changes the shared client CSS. */
.rainbow-landing{--rainbow-blue:#0759b9;--rainbow-ink:#082d5c;--rainbow-spectrum:linear-gradient(90deg,#ff7895 0%,#ffb576 20%,#ffe17b 39%,#88e0b5 58%,#95caff 78%,#d4adff 100%);color:var(--rainbow-ink);background:#fff}
.rainbow-landing .rainbow-editorial-hero{position:relative;isolation:isolate;overflow:hidden;min-height:760px;background:#072e58;color:#fff}
.rainbow-landing .rainbow-editorial-photo{position:relative;min-width:0;margin:0;overflow:hidden;background:#dce7f2;border-radius:9px}
.rainbow-landing .rainbow-editorial-photo>img{display:block;width:100%;height:100%;object-fit:cover}
.rainbow-landing .rainbow-editorial-cover{position:absolute;inset:0;z-index:0;border-radius:0}
.rainbow-landing .rainbow-editorial-cover:after{position:absolute;content:"";inset:0;pointer-events:none;background:linear-gradient(90deg,#04234af0 0%,#04234ae0 24%,#04234aa8 44%,#04234a3b 68%,#04234a08 100%)}
.rainbow-landing .rainbow-editorial-hero-inner{position:relative;z-index:2;min-height:760px;display:flex;align-items:center;padding-block:72px 82px;pointer-events:none}
.rainbow-landing .rainbow-editorial-hero-copy{max-width:760px;width:65%;pointer-events:auto}
.rainbow-landing .rainbow-editorial-hero .eyebrow{font-size:11px;line-height:1.7;font-weight:600;letter-spacing:.18em;color:#f1f6ff;margin-bottom:25px}
.rainbow-landing .rainbow-editorial-hero h1{font-size:clamp(62px,6.3vw,94px);font-weight:500;line-height:.98;letter-spacing:-.045em;max-width:760px;color:white;margin:0;text-wrap:balance}
.rainbow-landing .rainbow-heading-start{display:block;font-size:.65em;line-height:1.14;letter-spacing:-.04em;margin-bottom:10px}
.rainbow-landing .rainbow-heading-colours{display:block;width:fit-content;max-width:100%;font-weight:600;line-height:1.13;letter-spacing:-.05em;color:#ffe5eb}
@supports(background-clip:text){.rainbow-landing .rainbow-heading-colours{background:var(--rainbow-spectrum);background-clip:text;-webkit-background-clip:text;color:transparent}}
.rainbow-landing .rainbow-heading-end{display:block;font-size:.86em;line-height:1.04;letter-spacing:-.04em;margin-top:8px}
.rainbow-landing .rainbow-editorial-lead{font-size:16px;line-height:1.85;max-width:540px;margin-top:29px;color:#f2f6ff;text-wrap:pretty}
.rainbow-landing .rainbow-editorial-hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:29px}
.rainbow-landing .rainbow-explore{min-height:52px;gap:28px;padding:16px 21px;background:#fff;color:#073e7d;border-color:#fff;border-radius:4px;font-size:12px}
.rainbow-landing .rainbow-explore>span{font-size:20px;line-height:1}
.rainbow-landing .rainbow-hero-planner{font-size:12px;border-bottom:1px solid #d6e6fc;padding:9px 0;display:inline-flex;align-items:center;gap:20px;color:white}
.rainbow-landing .rainbow-hero-byline{display:flex;align-items:center;gap:11px;font-size:10px;line-height:1.8;color:#edf4ff;max-width:560px;margin-top:30px}
.rainbow-landing .rainbow-hero-byline a{text-decoration:underline;text-underline-offset:4px}
.rainbow-landing .rainbow-hero-heart{width:29px;height:29px;background:#fff;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:#1475d0}
.rainbow-landing .rainbow-hero-heart svg{width:16px;height:16px;fill:currentColor;stroke:currentColor}
.rainbow-landing .rainbow-colour-line{position:absolute;inset:auto 0 0;height:8px;background:linear-gradient(90deg,#e83c55 0 16.666%,#f5a033 16.666% 33.333%,#efd356 33.333% 50%,#49a87a 50% 66.666%,#3782d0 66.666% 83.333%,#9861c4 83.333% 100%);z-index:3}
.rainbow-landing .rainbow-editorial-photo figcaption{position:absolute;z-index:4;inset:auto 12px 12px;max-width:calc(100% - 24px);width:fit-content;font-size:9px;line-height:1.7;background:#00172dba;color:white;padding:5px 8px;border-radius:3px;overflow-wrap:anywhere}
.rainbow-landing .rainbow-editorial-photo figcaption a{text-decoration:underline;text-underline-offset:3px}
.rainbow-landing .rainbow-editorial-cover figcaption{inset:auto 25px 24px auto;max-width:44%;font-size:9px}
.rainbow-landing .rainbow-editorial-photo-open{position:absolute;z-index:4;inset:13px 13px auto auto;width:42px;height:42px;display:grid;place-items:center;border:1px solid #ffffffa8;border-radius:50%;background:#ffffffed;color:#064f99;font-size:23px;line-height:1}
.rainbow-landing .rainbow-editorial-cover .rainbow-editorial-photo-open{inset:25px 25px auto auto}
.rainbow-landing .rainbow-district{padding:92px 0 96px;background:white}
.rainbow-landing .rainbow-district-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:72px;align-items:center}
.rainbow-landing .rainbow-district-copy{max-width:470px}
.rainbow-landing .rainbow-district-copy>.eyebrow{font-size:10px;color:#0759b9;line-height:1.7;letter-spacing:.15em;margin-bottom:23px}
.rainbow-landing .rainbow-district h2{font-size:clamp(38px,4vw,62px);line-height:1.03;letter-spacing:-.045em;color:#082d5c;max-width:500px;text-wrap:balance}
.rainbow-landing .rainbow-district-copy>p{font-size:14px;line-height:1.9;color:#4a6382;margin-top:25px}
.rainbow-landing .rainbow-editorial-link{display:inline-flex;align-items:center;gap:25px;font-size:12px;line-height:1.7;color:#0759b9;text-decoration:underline;text-underline-offset:6px;margin-top:27px}
.rainbow-landing .rainbow-district-count{display:flex;align-items:center;gap:19px;border-top:1px solid #d6e1ef;padding-top:24px;margin-top:37px}
.rainbow-landing .rainbow-district-count strong{font-weight:500;font-size:74px;letter-spacing:-.07em;line-height:1;color:#0759b9}
.rainbow-landing .rainbow-district-count>span{font-size:11px;line-height:1.8;max-width:150px;color:#496583}
.rainbow-landing .rainbow-city-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:15px;aspect-ratio:1.32;min-width:0}
.rainbow-landing .rainbow-city-mosaic>.rainbow-editorial-photo:first-child{grid-row:1 / span 2}
.rainbow-landing .rainbow-city-mosaic>.rainbow-editorial-photo:nth-child(2):last-child{grid-row:1 / span 2}
.rainbow-landing .rainbow-city-mosaic>.rainbow-editorial-photo:only-child{grid-column:1 / -1;grid-row:1 / -1}
.rainbow-landing .rainbow-city-mosaic-with-pride>.rainbow-editorial-photo:first-child{grid-column:2;grid-row:1}
.rainbow-landing .rainbow-city-mosaic-with-pride>.rainbow-editorial-photo:nth-child(2){grid-column:2;grid-row:2}
.rainbow-landing .rainbow-city-mosaic-with-pride>.rainbow-editorial-photo[data-rainbow-editorial-photo=pride-ambience]{grid-column:1;grid-row:1 / span 2;background:#0d1522}
.rainbow-landing .rainbow-editorial-photo[data-rainbow-editorial-photo=pride-ambience]>img{object-fit:contain}
.rainbow-landing .rainbow-archive-label{display:block;font-weight:600;font-size:9px;letter-spacing:.02em;color:#fff}
.rainbow-landing .rainbow-directory{padding:80px 0 75px;background:#f2f6fc;scroll-margin-top:105px}
.rainbow-landing .rainbow-directory-heading{max-width:760px}
.rainbow-landing .rainbow-directory-heading>.eyebrow{font-size:10px;line-height:1.8;letter-spacing:.15em;color:#0759b9;margin-bottom:19px}
.rainbow-landing .rainbow-directory-heading h2{font-size:clamp(40px,4.7vw,69px);line-height:1.05;letter-spacing:-.045em;color:#082d5c}
.rainbow-landing .rainbow-directory-heading>p{font-size:14px;line-height:1.8;color:#496583;margin-top:22px}
.rainbow-landing .rainbow-toolbar{margin-top:36px;gap:32px}
.rainbow-landing .rainbow-filters button{border-radius:4px;padding:10px 13px;background:#fff;border-color:#d2dfef;min-height:43px}
.rainbow-landing .rainbow-filters button[aria-pressed=true]{background:#0759b9;border-color:#0759b9;color:white}
.rainbow-landing .rainbow-search input{background:#fff;border-color:#bdcfe5;border-radius:4px;min-height:47px}
.rainbow-landing .rainbow-grid{gap:28px}
.rainbow-landing .rainbow-card{border:1px solid #d8e3f1;border-radius:9px;box-shadow:0 4px 20px #13385e05;transition:box-shadow .2s ease,transform .2s ease}
.rainbow-landing .rainbow-card:hover{box-shadow:0 13px 30px #13385e12;transform:translateY(-3px)}
.rainbow-landing .rainbow-card-image{aspect-ratio:1.33}
.rainbow-landing .rainbow-card-content{padding:24px;gap:0}
.rainbow-landing .rainbow-card-top{margin-bottom:20px}
.rainbow-landing .rainbow-number{display:none}
.rainbow-landing .rainbow-category{font-size:9px;font-weight:600;letter-spacing:.12em}
.rainbow-landing .rainbow-card h2{font-size:30px;line-height:1.12;letter-spacing:-.04em}
.rainbow-landing .rainbow-description{font-size:12px;line-height:1.8;margin-top:16px;color:#4a6382}
.rainbow-landing .rainbow-address{margin-top:22px;padding-top:17px}
.rainbow-landing .rainbow-address p{font-size:12px;line-height:1.75;color:#2f4f74}
.rainbow-landing .rainbow-save{width:40px;height:40px;min-height:40px;border-color:#c8d9ee;background:#f8fbff}
.rainbow-landing .rainbow-save[aria-pressed=true]{background:#0759b9;color:white}
.rainbow-landing .rainbow-actions a{font-size:10px}
.rainbow-landing .rainbow-card .rainbow-actions a:first-child{font-size:12px}
.rainbow-landing .rainbow-source{margin-top:42px;padding-top:25px;padding-bottom:0;border-top:1px solid #cdd9e9;border-bottom:0;font-size:11px;line-height:1.8;gap:35px}
.rainbow-landing .rainbow-source>div{max-width:820px}
.rainbow-landing .rainbow-source>a{font-size:11px}
.rainbow-landing .rainbow-import-date{font-size:10px}
.rainbow-landing .rainbow-visit-note{font-size:11px;line-height:1.8;margin-top:35px;color:#496583}
.rainbow-landing .rainbow-journey{position:relative;isolation:isolate;overflow:hidden;background:#073e83;padding:65px 0 70px;color:white}
.rainbow-landing .rainbow-journey:before{content:"";position:absolute;inset:0 auto 0 0;width:8px;background:linear-gradient(180deg,#e83c55 0 16.666%,#f5a033 16.666% 33.333%,#efd356 33.333% 50%,#49a87a 50% 66.666%,#3782d0 66.666% 83.333%,#9861c4 83.333% 100%)}
.rainbow-landing .rainbow-journey-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:75px;align-items:center}
.rainbow-landing .rainbow-journey h2{font-size:clamp(37px,4.2vw,62px);line-height:1.05;letter-spacing:-.04em;max-width:820px;text-wrap:balance}
.rainbow-landing .rainbow-journey p{font-size:13px;line-height:1.9;color:#edf4ff;margin-top:22px;max-width:620px}
.rainbow-landing .rainbow-journey-heart{display:block;margin-bottom:25px;color:#d4e7ff}
.rainbow-landing .rainbow-journey-heart svg{width:27px;height:27px;fill:currentColor}
.rainbow-landing .rainbow-journey-actions{display:flex;flex-direction:column;align-items:center;gap:21px}
.rainbow-landing .rainbow-journey .button{background:#fff;color:#0753a7;border-color:white;border-radius:4px;font-size:12px;padding:16px 21px;gap:25px;min-height:51px}
.rainbow-landing .rainbow-notebook-link{font-size:12px;text-decoration:underline;text-underline-offset:5px;line-height:1.7;color:white}
.rainbow-landing :is(a,button,input):focus-visible{outline:3px solid #0759b9;outline-offset:5px}
.rainbow-landing :is(.rainbow-editorial-hero,.rainbow-journey) :is(a,button):focus-visible{outline-color:white}
@media(min-width:1800px){.rainbow-landing .rainbow-editorial-hero,.rainbow-landing .rainbow-editorial-hero-inner{min-height:850px}.rainbow-landing .rainbow-editorial-hero h1{font-size:104px}}
@media(max-width:1150px){.rainbow-landing .rainbow-editorial-hero,.rainbow-landing .rainbow-editorial-hero-inner{min-height:735px}.rainbow-landing .rainbow-editorial-hero-copy{width:71%;max-width:690px}.rainbow-landing .rainbow-editorial-hero h1{font-size:75px}.rainbow-landing .rainbow-district-grid{gap:39px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.rainbow-landing .rainbow-district h2{font-size:48px}.rainbow-landing .rainbow-district{padding:70px 0}.rainbow-landing .rainbow-city-mosaic{gap:12px}.rainbow-landing .rainbow-journey-grid{gap:40px}.rainbow-landing .rainbow-grid{gap:22px}}
@media(max-width:900px){.rainbow-landing .rainbow-editorial-hero-copy{width:78%}.rainbow-landing .rainbow-editorial-hero h1{font-size:69px}.rainbow-landing .rainbow-district-grid{grid-template-columns:1fr;gap:36px}.rainbow-landing .rainbow-district-copy{max-width:700px}.rainbow-landing .rainbow-district h2{font-size:52px;max-width:700px}.rainbow-landing .rainbow-district-copy>p{max-width:650px}.rainbow-landing .rainbow-district-count{margin-top:28px;padding-top:20px}.rainbow-landing .rainbow-district-count strong{font-size:60px}.rainbow-landing .rainbow-city-mosaic{aspect-ratio:1.55}.rainbow-landing .rainbow-journey-grid{grid-template-columns:1fr;gap:30px}.rainbow-landing .rainbow-journey-actions{align-items:start;flex-direction:row;flex-wrap:wrap;gap:23px}.rainbow-landing .rainbow-notebook-link{padding-top:13px}.rainbow-landing .rainbow-directory{padding-top:65px}}
@media(max-width:650px){.rainbow-landing .rainbow-editorial-hero,.rainbow-landing .rainbow-editorial-hero-inner{min-height:720px}.rainbow-landing .rainbow-editorial-hero-inner{padding-block:56px 97px;align-items:center}.rainbow-landing .rainbow-editorial-hero-copy{width:100%;max-width:100%}.rainbow-landing .rainbow-editorial-cover:after{background:linear-gradient(90deg,#04234ae8 0%,#04234abf 48%,#04234a70 100%)}.rainbow-landing .rainbow-editorial-hero .eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:23px}.rainbow-landing .rainbow-editorial-hero h1{font-size:clamp(42px,11.6vw,65px);max-width:100%;line-height:1.02}.rainbow-landing .rainbow-heading-start{font-size:.69em;margin-bottom:10px}.rainbow-landing .rainbow-heading-end{font-size:.88em;line-height:1.1;margin-top:9px}.rainbow-landing .rainbow-editorial-lead{font-size:14px;line-height:1.85;margin-top:25px;max-width:470px}.rainbow-landing .rainbow-editorial-hero-actions{gap:14px 22px;margin-top:26px}.rainbow-landing .rainbow-explore{font-size:11px;padding:14px 16px;gap:19px;min-height:49px}.rainbow-landing .rainbow-hero-planner{font-size:11px;gap:15px}.rainbow-landing .rainbow-hero-byline{font-size:9px;margin-top:27px;max-width:370px;gap:10px}.rainbow-landing .rainbow-hero-heart{width:26px;height:26px}.rainbow-landing .rainbow-editorial-cover figcaption{inset:auto 18px 24px auto;max-width:calc(100% - 36px);font-size:8px}.rainbow-landing .rainbow-editorial-cover .rainbow-editorial-photo-open{inset:14px 14px auto auto;width:37px;height:37px;font-size:20px}.rainbow-landing .rainbow-district{padding:47px 0 50px}.rainbow-landing .rainbow-district-grid{gap:30px}.rainbow-landing .rainbow-district-copy>.eyebrow{font-size:9px;margin-bottom:19px}.rainbow-landing .rainbow-district h2{font-size:41px;line-height:1.07}.rainbow-landing .rainbow-district-copy>p{font-size:13px;line-height:1.85;margin-top:21px}.rainbow-landing .rainbow-editorial-link{font-size:11px;margin-top:22px}.rainbow-landing .rainbow-district-count{gap:17px;margin-top:27px;padding-top:20px}.rainbow-landing .rainbow-district-count strong{font-size:59px}.rainbow-landing .rainbow-district-count>span{font-size:11px}.rainbow-landing .rainbow-city-mosaic{gap:10px;aspect-ratio:1.23}.rainbow-landing .rainbow-editorial-photo{border-radius:6px}.rainbow-landing .rainbow-editorial-photo figcaption{font-size:8px;inset:auto 7px 8px;max-width:calc(100% - 14px);padding:4px 6px;line-height:1.6}.rainbow-landing .rainbow-archive-label{font-size:8px}.rainbow-landing .rainbow-editorial-photo-open{width:33px;height:33px;font-size:19px;inset:8px 8px auto auto}.rainbow-landing .rainbow-directory{padding:47px 0 49px;scroll-margin-top:75px}.rainbow-landing .rainbow-directory-heading>.eyebrow{font-size:9px;margin-bottom:18px}.rainbow-landing .rainbow-directory-heading h2{font-size:42px}.rainbow-landing .rainbow-directory-heading>p{font-size:13px;line-height:1.8;margin-top:20px}.rainbow-landing .rainbow-toolbar{margin-top:28px;gap:24px}.rainbow-landing .rainbow-filters button{font-size:10px;min-height:42px;padding:9px 11px}.rainbow-landing .rainbow-grid{gap:24px}.rainbow-landing .rainbow-card-content{padding:23px}.rainbow-landing .rainbow-card h2{font-size:30px}.rainbow-landing .rainbow-description{font-size:13px}.rainbow-landing .rainbow-address p{font-size:13px}.rainbow-landing .rainbow-source{font-size:10px;margin-top:32px;padding-top:23px;gap:17px}.rainbow-landing .rainbow-source>a{font-size:10px}.rainbow-landing .rainbow-journey{padding:45px 0 49px}.rainbow-landing .rainbow-journey h2{font-size:41px}.rainbow-landing .rainbow-journey p{font-size:13px;margin-top:21px}.rainbow-landing .rainbow-journey-heart{margin-bottom:23px}.rainbow-landing .rainbow-journey-actions{flex-direction:column;align-items:start;gap:20px}.rainbow-landing .rainbow-journey .button{font-size:11px;padding:15px 18px;min-height:49px}.rainbow-landing .rainbow-notebook-link{font-size:11px;padding-top:0}}
@media(prefers-reduced-motion:reduce){.rainbow-landing .rainbow-card{transition:none}.rainbow-landing .rainbow-card:hover{transform:none}}
@media(forced-colors:active){.rainbow-landing .rainbow-heading-colours{color:CanvasText;background:none;-webkit-text-fill-color:CanvasText}.rainbow-landing .rainbow-editorial-cover:after{background:Canvas}.rainbow-landing .rainbow-colour-line{background:Highlight}}
