/* Shared visual system for editorial, directory and territorial pages. */
:root{--sans:Arial,Helvetica,system-ui,sans-serif;--serif:var(--sans);--ink:#1a1a1a;--forest:#003b95;--forest-2:#0071c2;--action:#0071c2;--accent-dark:#003b95;--cream:#f5f5f5;--sand:#e7f2fc;--white:#fff;--muted:#595959;--accent:#ffb700;--line:#e0e0e0;--shadow:0 2px 8px rgba(0,0,0,.08);--radius:8px;--heading-1:clamp(2rem,3.6vw,3.15rem);--heading-2:clamp(1.5rem,2.5vw,2rem)}
body,.fdnl-body{font-family:var(--sans);line-height:1.55;background:#fff;color:var(--ink)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #0071c2;outline-offset:3px}.site-header :focus-visible,.site-footer :focus-visible,.hero :focus-visible{outline-color:#ffb700}
h1,h2,h3,h4,.brand,.trust-strip-inner strong,.selection-steps strong,.group-card-facts dt,.group-fact-grid dt{font-family:var(--sans);font-weight:700;line-height:1.2;letter-spacing:-.025em}
h3{letter-spacing:-.015em}.eyebrow,.eyebrow.dark{font-family:var(--sans);font-size:.8125rem;letter-spacing:.045em;text-transform:none;font-weight:700}.eyebrow{color:#fff}.eyebrow.dark{color:#003b95}
a{color:#0071c2}a:hover{color:#003b95}.site-header a,.site-footer a,.hero a,.image-card a,.cta-panel a{color:inherit}
.site-header{background:#003b95;border:0}.header-inner{min-height:88px}.brand{gap:10px;color:#fff;letter-spacing:-.025em}.brand>.brand-symbol{width:38px;height:38px;flex:none}.brand>.brand-wordmark{width:auto;height:auto;display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;font-size:21px;font-weight:700;letter-spacing:-.02em}.brand-wordmark strong{color:inherit;font-size:24px}.brand-wordmark span{font-size:16px;font-weight:500;letter-spacing:.01em}
.main-nav{gap:4px}.main-nav>a{padding:11px 10px;border-radius:5px;font-size:.875rem;font-weight:600}.main-nav a:hover,.main-nav a:focus-visible{color:#fff;background:rgba(255,255,255,.12)}.main-nav>a[aria-current=page]{color:#fff;background:rgba(255,255,255,.16);text-decoration:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}.nav-cta{border:1px solid #fff;border-radius:4px!important;background:#fff;color:#006ce4!important}.main-nav .nav-cta:hover{background:#e7f2fc;color:#003b95}.main-nav .language-switcher a[aria-current=page]{background:#fff;color:#003b95}.menu-button{border-radius:5px;padding:10px 14px}.language-switcher{padding-left:10px}
.hero{min-height:480px}.hero-overlay{background:linear-gradient(90deg,rgba(0,36,94,.94),rgba(0,44,112,.63) 58%,rgba(0,44,112,.23)),linear-gradient(0deg,rgba(0,36,94,.45),transparent 65%)}.hero-content{padding-block:52px}.hero-home h1{max-width:950px}.hero-lead{font-size:1.2rem;max-width:780px;text-shadow:none}.hero-assurance{color:#fff;font-weight:500}.hero-assurance span::before{background:#fff;box-shadow:none}.hero-visual-note{background:rgba(0,36,94,.8);color:#fff}
.search-form{padding:4px;gap:4px;background:#ffb700;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.12)}.search-form>div{background:#fff;border:0;border-radius:4px;padding:11px 14px}.search-form label{color:#595959;text-transform:none;letter-spacing:0;font-weight:600;font-size:.8125rem}.search-form input,.search-form select{font-weight:600;min-height:30px}.search-form button{background:#0071c2;border-radius:4px;padding:16px 24px;font-weight:700}.search-form button:hover{background:#003b95}
.trust-strip{background:#f5f9ff;color:#1a1a1a;border-bottom:1px solid #e7f2fc}.trust-strip-inner>div{min-height:94px;border-right:1px solid #d5e4f5;padding:18px 22px}.trust-strip-inner strong{color:#003b95;font-size:1.8rem}.trust-strip-inner span{color:#595959;font-weight:500;letter-spacing:0}.trust-strip-inner>a{color:#0071c2}
.section{padding-block:40px}.section-heading{margin-bottom:24px}.section-tint{background:#f5f5f5}.page-hero{padding-block:36px}.page-hero>div>p,.page-hero>p,.listing-visual-hero>div>p:last-child,.group-profile-copy>p:not(.eyebrow){font-size:1.0625rem;line-height:1.6}.section-intro{font-size:1rem}.text-link{font-weight:600}
.image-card,.guide-hub-card,.hotel-card,.group-directory-card,.directory-card,.country-card,.portfolio-card,.fdnl-card,.fdnl-hotel-card{border-radius:8px;box-shadow:none}.hotel-card,.group-directory-card,.guide-hub-card,.country-card{border:1px solid #e0e0e0;transition:border-color .15s,box-shadow .15s}.hotel-card:hover,.group-directory-card:hover,.guide-hub-card:hover,.country-card:hover{transform:none;border-color:#b5d3f0;box-shadow:0 3px 12px rgba(0,0,0,.08)}.hotel-card h2,.group-directory-card h2,.guide-hub-card h3{font-size:1.25rem;line-height:1.3}.hotel-card h2 a,.group-directory-card h2 a,.guide-hub-card h3 a{color:#0071c2}.hotel-card-image{border-radius:7px 7px 0 0}.hotel-card-body,.group-directory-card,.guide-hub-body{padding:20px}.hotel-card-actions a{font-weight:600}.hotel-card-actions a:last-child{background:#0071c2;color:#fff;padding:8px 12px;border-radius:4px;text-decoration:none}.hotel-card-actions a:last-child:hover{background:#003b95}.image-card::after{background:linear-gradient(0deg,rgba(0,26,64,.85),transparent 70%)}.image-card-content p,.image-card-content span{color:#fff;text-transform:none;letter-spacing:0}.image-card-content h2,.image-card-content h3{font-size:1.65rem}
.button,.contact-form button,.directory-filters button,.directory-load-more button,.fdnl-button{border-radius:4px;font-weight:600}.button.primary,.contact-form button,.directory-filters button,.directory-load-more button,.fdnl-button{background:#0071c2;color:#fff}.button.primary:hover,.contact-form button:hover,.directory-filters button:hover,.fdnl-button:hover{background:#003b95}.button.secondary{background:#fff;border:1px solid #0071c2;color:#0071c2}.button.secondary:hover{background:#e7f2fc}.button.light{background:#fff;color:#0071c2}.cta-panel{background:#003b95;border-radius:8px}.cta-panel h2{color:#fff}
.directory-filter{background:#f5f5f5}.directory-filters label,.destination-filters label{letter-spacing:0;text-transform:none;font-weight:600}.directory-filters input,.directory-filters select,.destination-filters input,.destination-filters select,.contact-form input,.contact-form select,.contact-form textarea{border:1px solid #868686;border-radius:4px;background:#fff;color:#1a1a1a}.directory-quick-links a{border-radius:5px;background:#fff;border:1px solid #d5e4f5;color:#0071c2;font-weight:600}.directory-quick-links a:hover{background:#e7f2fc;border-color:#0071c2}.directory-quick-links strong{text-transform:none;letter-spacing:0}.pagination a{border-radius:4px;color:#0071c2}.pagination [aria-current]{background:#e7f2fc;color:#003b95}
.guide-answer,.answer-card,.tip-box,.hotel-source-panel,.confidence-grid>article,.budget-tool,.fdnl-facts{background:#f5f9ff;border-color:#d5e4f5;border-radius:8px}.guide-answer,.answer-card{border-left-color:#0071c2}.guide-byline{text-transform:none;letter-spacing:0;font-weight:500}.guide-toc{border-color:#e0e0e0;background:#fff;border-radius:8px}.guide-toc a{color:#0071c2}.guide-checklist{background:#e7f2fc;border-radius:8px}.guide-checklist li::before{color:#0071c2}.guide-faq details,details{border-color:#e0e0e0;border-radius:6px}.related-guide-grid article{border-radius:8px;padding:24px}.related-guide-grid h3{font-size:1.25rem}.related-guide-grid h3 a{color:#0071c2}.related-guide-grid article>p{letter-spacing:0;text-transform:none;font-weight:600}.related-guide-grid article>span{line-height:1.6}
.group-card-logo,.group-card-facts>div,.group-fact-grid>div,.hotel-hero-facts>li,.destination-source-facts{background:#f5f5f5;border-color:#e0e0e0;border-radius:6px}.group-card-facts dd,.group-fact-grid dd,.hotel-hero-facts strong{letter-spacing:0;text-transform:none;font-weight:500}.verification-badge{background:#e7f2fc;color:#003b95;border-radius:4px}.source-caution{background:#f5f5f5;color:#595959}.hotel-profile-hero figure,.listing-visual-hero figure,.guide-hero figure{box-shadow:none;border:1px solid #e0e0e0;border-radius:8px}
.site-footer{background:#00224f;color:#fff}.site-footer p,.footer-data-source,.footer-bottom{color:#cbdcf4}.site-footer h2{color:#fff;font-family:var(--sans);letter-spacing:0;text-transform:none;font-size:1rem}.site-footer .brand-wordmark strong{color:#fff}.site-footer a:hover{color:#fff;text-decoration:underline}.footer-bottom{border-color:rgba(255,255,255,.2)}
.fdnl-body{--fdnl-font-body:var(--sans);--fdnl-font-heading:var(--sans);--fdnl-accent:#0071c2;--fdnl-accent-dark:#003b95;--fdnl-soft:#f5f9ff;--fdnl-line:#e0e0e0;--fdnl-ink:#1a1a1a;--fdnl-muted:#595959;--fdnl-radius:8px}.fdnl-hero{background:#f5f9ff}.fdnl-hero h1,.fdnl-heading h2,.fdnl-two-columns h2,.fdnl-hotel-card h3{font-family:var(--sans)}.fdnl-card:hover{transform:none}.fdnl-button{background:#0071c2}.fdnl-kicker{color:#003b95;letter-spacing:.045em;text-transform:none}
@media(min-width:1200px){:root{--container:1180px!important;--header-container:1280px!important;--footer-container:1180px!important}.container:not(.narrow):not(.container--narrow):not(.prose):not(.closing-inner):not(.home-hero__content):not(.editorial-intro){width:min(1180px,calc(100% - 48px))!important;max-width:1180px!important}.header-inner.container{width:min(1280px,calc(100% - 48px))!important;max-width:1280px!important}.site-footer .container{max-width:1180px!important}.header-inner{flex-wrap:wrap;padding-block:16px;gap:14px}.menu-button{display:none}.main-nav{display:flex;position:static;flex-direction:row;align-items:center;justify-content:flex-start;width:100%;padding:0;background:transparent;border:0;box-shadow:none;max-height:none;overflow:visible}.language-switcher{margin-left:auto}}
.principles strong,.selection-steps strong{color:#0071c2}
@media(min-width:1200px){.main-nav .language-switcher{margin-left:auto;padding-top:0;padding-left:14px;border-top:0;border-left:1px solid rgba(255,255,255,.25)}}
@media(max-width:1199px){.main-nav{top:88px;max-height:calc(100dvh - 88px)}}
@media(max-width:640px){.main-nav{top:72px;max-height:calc(100dvh - 72px)}}
@media(max-width:1180px){.main-nav>a{padding:10px 0}.main-nav>a[aria-current=page]{box-shadow:none;background:none;text-decoration:underline}.main-nav .nav-cta{padding:11px 16px}.main-nav .language-switcher a[aria-current=page]{background:#fff;color:#003b95}}
@media(max-width:640px){.brand>.brand-symbol{width:32px;height:32px}.brand>.brand-wordmark{width:auto;font-size:17px}.brand-wordmark strong{font-size:21px}.brand-wordmark span{font-size:14px}.header-inner{min-height:72px}.hero{min-height:480px}.hero-content{padding-block:32px}.hero-home h1{font-size:2.15rem}.search-form>div{padding:10px 12px}.search-form button{min-height:50px}.section{padding-block:30px}.page-hero{padding-block:26px}.trust-strip-inner strong{font-size:1.5rem}.trust-strip-inner>div{padding:16px}.guide-hub-body,.hotel-card-body{padding:18px}.cta-panel{padding:26px}.brand-footer>.brand-wordmark{width:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Compact city index; each photograph stays with its own editorial subject. */
.destination-directory-card{min-height:142px;padding:20px;border-radius:8px}.destination-directory-card span{letter-spacing:0;text-transform:none;font-weight:400}.destination-directory-card strong{color:#0071c2}.destination-directory-card:hover{transform:none;background:#f0f6ff}
.home-group-card{background:#fff;border-radius:8px}.home-group-logo{background:#fff;border-radius:4px}.home-group-card:hover{transform:none;border-color:#b5d3f0}.home-group-card>em{color:#0071c2}
.home-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-guide-grid .guide-hub-card{min-height:0}.home-guide-grid .guide-hub-body{padding:20px}.home-guide-grid h3{margin-top:14px;font-size:1.25rem}
@media(max-width:1000px){.home-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.home-guide-grid{grid-template-columns:1fr}}
