/* Editorial pages reuse the site canvas, wordmark and locale controls. */
.page-guides{color:#172b4d}
.page-guides main{margin-inline:auto;padding-bottom:0}
.page-guides :is(h1,h2,h3,p){overflow-wrap:break-word}
.guide-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 32px;font-size:13px;color:#68778f}
.guide-breadcrumb a{color:inherit;text-decoration:none;min-height:28px}
.guide-breadcrumb a:hover{color:#0068e2;text-decoration:underline}
.guide-preview{margin:16px 0 0;padding:10px 16px;border-radius:8px;background:#fff7e6;color:#795311;font-size:13px}
.guide-kicker{font-size:12px;line-height:1.6;letter-spacing:.08em;font-weight:700;text-transform:uppercase;color:#0864c9;margin:0 0 14px}
.guide-kicker span{color:#68778f;font-weight:500;letter-spacing:0;text-transform:none}
.guide-library-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:center;padding:26px 0 40px}
.guide-library-hero h1{max-width:760px;margin:0 0 20px;font-size:clamp(34px,4vw,56px);font-weight:750;line-height:1.12;letter-spacing:-.035em;color:#09254a}
.guide-lead{max-width:70ch;font-size:18px;line-height:1.75;color:#576981;margin:0}
.guide-hero-note{background:#f0f7ff;border-radius:20px;padding:28px;color:#0759b4}
.guide-hero-note strong{display:block;margin:12px 0 8px;font-size:19px;color:#172b4d}
.guide-hero-note p{font-size:14px;line-height:1.7;color:#576981;margin:0 0 16px}
.guide-hero-note a{font-size:14px;font-weight:650;color:#0759b4;text-decoration:none;display:inline-flex;align-items:center;gap:12px;min-height:32px}
.guide-topics{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.guide-topics a{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border-radius:24px;background:#f5f7fb;color:#576981;font-size:14px;text-decoration:none}
.guide-topics a[aria-current]{background:#e8f2ff;color:#005cc9;font-weight:650}
.guide-topics a:hover{background:#e8f2ff;color:#005cc9}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:52px}
.guide-grid:has(>.guide-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.guide-card{position:relative;border:1px solid #e5eaf1;border-radius:18px;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease;background:#fff;min-width:0}
.guide-card:hover,.guide-card:focus-within{border-color:#b1d3fb;box-shadow:0 10px 26px #09254a0a}
.guide-card-art{height:156px;position:relative;overflow:hidden;background:#eaf3ff;color:#0066c5;padding:25px 28px}
.guide-card-art>span{font-size:26px;font-weight:650;letter-spacing:-.02em;position:relative;z-index:1}
.guide-card-art>svg{position:absolute;inset-inline-end:0;bottom:-6px;width:280px;height:120px;opacity:.32}
.guide-art-private-pools{background:#e5f6f8;color:#056b82}
.guide-art-itineraries{background:#f5efff;color:#66529e}
.guide-card-copy{padding:26px 28px 28px}
.guide-card-copy .guide-kicker{font-size:11px;margin-bottom:12px}
.guide-card h2{font-size:23px;line-height:1.35;letter-spacing:-.018em;margin:0 0 14px;color:#102b51}
.guide-card h2 a{color:inherit;text-decoration:none}
.guide-card h2 a:after{content:"";position:absolute;inset:0;z-index:2;border-radius:18px}
.guide-card-copy>p:not(.guide-kicker){font-size:15px;line-height:1.75;color:#68778f;margin:0 0 22px}
.guide-read{display:inline-flex;align-items:center;gap:12px;font-weight:650;font-size:14px;color:#0759b4}
.guide-article-header{max-width:900px;padding:12px 0 36px}
.guide-article-header h1{font-size:clamp(32px,3.5vw,48px);line-height:1.18;letter-spacing:-.032em;color:#09254a;margin:0 0 22px;max-width:850px}
.guide-byline{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px;font-size:13px;line-height:1.6;color:#68778f}
.guide-byline>span:first-child{color:#344767;font-weight:600}
.guide-reading-layout{display:grid;grid-template-columns:minmax(0,820px) 300px;gap:64px;align-items:start;padding-top:30px;border-top:1px solid #e5eaf1}
.guide-body{min-width:0;font-size:17px;line-height:1.85;color:#425674}
.guide-body>section{scroll-margin-top:24px;margin-bottom:42px}
.guide-body h2{font-size:25px;line-height:1.35;letter-spacing:-.02em;color:#102b51;margin:0 0 20px}
.guide-body p{margin:0 0 20px;max-width:70ch}
.guide-table-wrap{overflow-x:auto;border:1px solid #dce7f3;border-radius:14px;margin:24px 0}
.guide-table-wrap table{border-collapse:collapse;width:100%;min-width:520px;font-size:14px;line-height:1.65;text-align:start}
.guide-table-wrap :is(th,td){padding:18px 20px;vertical-align:top;border-bottom:1px solid #e5eaf1;text-align:start}
.guide-table-wrap thead{background:#f0f6fd;color:#1d416e}
.guide-table-wrap tbody th{font-weight:650;color:#172b4d;min-width:110px}
.guide-table-wrap tr:last-child :is(th,td){border-bottom:0}
.guide-checklist{list-style:none;padding:0;margin:24px 0;display:grid;gap:14px}
.guide-checklist li{position:relative;padding-inline-start:34px}
.guide-checklist li:before{content:"✓";position:absolute;inset-inline-start:0;top:4px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#e9f3ff;color:#0766ce;font-size:14px;font-weight:700;line-height:1}
.guide-aside{position:sticky;top:24px;display:grid;gap:26px;min-width:0}
.guide-contents{display:block;padding:0 0 6px;font-size:14px}
.guide-contents strong{display:block;font-size:14px;margin-bottom:14px;color:#102b51}
.guide-contents ol{list-style:none;counter-reset:guide;padding:0;margin:0;display:grid;gap:0}
.guide-contents li{counter-increment:guide;display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px}
.guide-contents li:before{content:counter(guide,decimal-leading-zero);color:#96a4b8;font-size:11px;line-height:1.6;padding-top:11px}
.guide-contents a{display:block;color:#576981;text-decoration:none;line-height:1.6;padding:8px 0;min-height:44px}
.guide-contents a:hover{color:#0068e2}
.guide-booking{background:#f0f7ff;border-radius:18px;padding:26px}
.guide-booking h2,.guide-bottom-cta h2{font-size:22px;line-height:1.35;margin:0 0 12px;letter-spacing:-.02em;color:#102b51}
.guide-booking>p:not(.guide-kicker){font-size:14px;line-height:1.7;margin:0 0 20px;color:#576981}
.guide-cta{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;max-width:100%;border-radius:10px;background:#0873ed;color:#fff;text-decoration:none;padding:14px 20px;font-size:14px;font-weight:650;line-height:1.5;text-align:center}
.guide-cta:hover{background:#0063d5;color:#fff}
.guide-booking .guide-cta{width:100%}
.guide-booking>p.guide-disclosure{font-size:11px;line-height:1.65;margin:16px 0 0;color:#68778f}
.guide-sources{padding-top:26px;border-top:1px solid #e5eaf1}
.guide-sources h2{font-size:18px}
.guide-sources p,.guide-sources li{font-size:13px;line-height:1.8}
.guide-sources ul{padding-inline-start:18px}
.guide-sources a{color:#0759b4;text-underline-offset:3px}
.guide-bottom-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:32px 36px;border-radius:18px;background:#f0f7ff;margin:12px 0 56px}
.guide-bottom-cta .guide-kicker{margin-bottom:8px}
.guide-bottom-cta p:not(.guide-kicker){font-size:14px;line-height:1.7;color:#576981;margin:0}
.guide-bottom-cta .guide-cta{flex-shrink:0}
.guide-related>h2{font-size:24px;margin-bottom:24px;color:#102b51;letter-spacing:-.02em}
.guide-related .guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.guide-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin:24px 0 48px;font-size:14px;color:#68778f}
.guide-pagination a{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid #dce7f3;border-radius:10px;text-decoration:none;color:#0759b4}
.guide-empty{padding:48px 0 64px}
.page-guides :is(a,button,[tabindex]):focus-visible{outline:2px solid #0873ed;outline-offset:4px}
.page-guides .footer-standard{margin-top:36px}
@media(max-width:1050px){.guide-reading-layout{grid-template-columns:minmax(0,1fr) 270px;gap:32px}.guide-library-hero{gap:32px;grid-template-columns:minmax(0,1fr) 260px}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.guide-library-hero{grid-template-columns:1fr;gap:0;padding:0 0 28px}.guide-hero-note{display:none}.guide-reading-layout{grid-template-columns:1fr;gap:28px}.guide-aside{position:static;grid-row:1;display:flex;flex-direction:column}.guide-contents{padding:16px 20px;background:#f7f9fc;border-radius:14px}.guide-booking{display:none}.guide-article-header{padding-top:0}.guide-grid,.guide-grid:has(>.guide-card:nth-child(2):last-child),.guide-related .guide-grid{grid-template-columns:1fr}.guide-related .guide-grid{max-width:540px}.guide-bottom-cta{flex-direction:column;align-items:stretch;padding:24px;gap:18px}.guide-bottom-cta .guide-cta{align-self:flex-start}.guide-body{font-size:16px;line-height:1.8}.guide-byline{gap:8px 16px}.guide-breadcrumb{margin-top:16px;margin-bottom:24px}.guide-lead{font-size:16px}.guide-topics{gap:8px}.guide-topics a{font-size:13px;padding:10px 14px}.guide-body h2{font-size:23px}.guide-card-art{height:130px}.guide-card-copy{padding:22px}.guide-preview{font-size:11px}.guide-card h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.guide-card{transition:none}}

.guide-card-photo{height:220px;overflow:hidden;background:#edf4fb}
.guide-card-photo img{display:block;width:100%;height:100%;object-fit:cover}
.guide-card-credit{position:relative;z-index:3;display:block;font-size:10px;color:#738099;line-height:1.6;margin-top:16px}
.guide-card-credit a{color:inherit;text-underline-offset:2px}
.guide-reading-time{margin:20px 0 0;font-size:13px;color:#68778f}
.guide-photo{margin:0 0 28px;max-width:100%}
.guide-photo img{display:block;width:100%;height:auto;border-radius:16px;background:#edf4fb}
.guide-photo figcaption{font-size:12px;line-height:1.7;color:#68778f;margin-top:10px;max-width:100ch}
.guide-photo-credit{display:block;font-size:10px;margin-top:4px;color:#78879d}
.guide-photo-credit a{color:inherit;text-underline-offset:2px}
.guide-photo-hero{margin-bottom:38px}
.guide-photo-hero img{max-height:430px;object-fit:cover}
@media(max-width:760px){.guide-card-photo{height:auto;aspect-ratio:16/9}.guide-photo-hero img{max-height:none}.guide-photo-hero{margin-bottom:28px}}

.guide-hotel-links{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.guide-hotel-links a{display:inline-flex;gap:14px;align-items:center;min-height:44px;padding:10px 16px;border-radius:10px;background:#eef6ff;color:#0759b4;font-size:14px;font-weight:650;text-decoration:none}
.guide-hotel-links a:hover{background:#deedff}
.guide-body p.guide-section-sources{font-size:12px;line-height:1.7;color:#68778f;margin-top:18px}
.guide-section-sources a{color:#0759b4;text-underline-offset:3px}
