.seo-landing-hero{padding:48px 0 42px;background:#f7f5f1;border-bottom:1px solid #e3ddd4}.seo-landing-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:44px;align-items:center}.seo-landing-hero h1{max-width:780px;margin:10px 0 16px}.seo-landing-hero p{max-width:760px;font-size:1.08rem;line-height:1.75}.seo-landing-media{min-height:360px;border-radius:22px;overflow:hidden;background:#e7edf3}.seo-landing-media img,.seo-landing-media .media-fallback{width:100%;height:100%;min-height:360px;object-fit:cover}.seo-landing-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.seo-service-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.seo-info-card{border:1px solid #e4ddd4;border-radius:20px;padding:28px;background:#fff}.seo-info-card h2{margin:8px 0 18px;font-size:1.5rem}.seo-info-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#eef8ec;color:var(--primary);margin-bottom:14px}.seo-info-card ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.seo-info-card li{display:flex;gap:10px;align-items:flex-start}.seo-info-card li svg{width:18px;color:var(--primary);flex:0 0 auto;margin-top:2px}.seo-faq-shell{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:42px;align-items:start}.seo-faq-list{display:grid;gap:10px}.seo-faq-list details{border:1px solid #e4ddd4;border-radius:14px;background:#fff;padding:0 18px}.seo-faq-list summary{cursor:pointer;list-style:none;font-weight:700;padding:17px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.seo-faq-list summary::-webkit-details-marker{display:none}.seo-faq-list p{margin:0;padding:0 0 18px;line-height:1.7}.seo-destination-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.seo-destination-chips span{display:inline-flex;align-items:center;gap:6px;border:1px solid #dcd5cc;border-radius:999px;background:#fff;padding:8px 11px;font-size:.9rem}.seo-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.seo-related-links a{border:1px solid #e0d9d0;border-radius:16px;background:#fff;padding:22px;text-decoration:none;color:inherit;display:grid;gap:8px}.seo-related-links a>svg{color:var(--primary)}.seo-related-links strong{font-size:1.05rem}.seo-related-links span{font-size:.9rem;line-height:1.5;color:#675f58}.legal-hero{padding:48px 0 40px;background:#f7f5f1;border-bottom:1px solid #e3ddd4}.legal-hero h1{margin:10px 0 14px}.legal-hero p{max-width:850px;font-size:1.08rem;line-height:1.75}.legal-hero small{display:block;margin-top:16px;color:#6e665e}.legal-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start}.legal-article{max-width:900px}.legal-article section{padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid #e8e1d8}.legal-article h2{font-size:1.45rem;margin-bottom:10px}.legal-article p{line-height:1.8}.legal-side-card{position:sticky;top:110px;border:1px solid #e1d9d0;border-radius:18px;padding:24px;background:#fff;display:grid;gap:12px}.legal-side-card>span:first-child{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#eef8ec;color:var(--primary)}.legal-side-card h2{font-size:1.25rem;margin:0}.legal-side-card p{font-size:.95rem;line-height:1.6}.legal-side-card a,.legal-address{display:flex;gap:8px;align-items:flex-start;color:inherit;text-decoration:none;font-size:.92rem}.hotel-destination-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:22px}.hotel-destination-links a{border:1px solid #ddd6cc;border-radius:999px;padding:9px 13px;background:#fff;text-decoration:none;color:inherit;font-weight:650;font-size:.9rem}.hotel-destination-links a:hover{border-color:var(--primary);color:var(--primary)}@media(max-width:980px){.seo-landing-hero-grid,.seo-faq-shell,.legal-content-grid{grid-template-columns:1fr}.seo-landing-media{min-height:300px}.seo-service-columns{grid-template-columns:1fr}.legal-side-card{position:static}.seo-related-links{grid-template-columns:1fr}}@media(max-width:640px){.seo-landing-hero{padding:30px 0}.seo-landing-media,.seo-landing-media img,.seo-landing-media .media-fallback{min-height:230px}.seo-info-card{padding:20px}.legal-hero{padding:30px 0}.seo-landing-actions .btn{width:100%;justify-content:center}}

/* Public legal links added by the SEO foundation */
.footer-legal{display:flex;justify-content:flex-end;align-items:center;gap:7px 12px;flex-wrap:wrap}
.footer-legal a{color:inherit;text-decoration:none;font-size:11px;font-weight:650;line-height:1.35}
.footer-legal a:hover,.footer-legal a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.footer-legal{justify-content:center}}


/* v7.46 — four-card catalogue rhythm, compact article layout and readable blog links */
@media (min-width: 1200px) {
    .card-grid,
    .catalog-grid,
    .service-catalog-grid,
    .blog-grid,
    .editorial-grid,
    .destination-catalog-grid,
    .park-related-grid,
    .car-service-grid,
    .car-hire-fleet .service-catalog-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

/* Horizontal two-up destination and editorial cards become clean four-up tiles. */
.destination-feature-card,
.premium-destination-card,
.editorial-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
}
.destination-feature-media,
.editorial-media {
    width: 100%;
    min-height: 0;
    aspect-ratio: 4 / 3;
}
.destination-feature-body,
.editorial-copy {
    flex: 1;
    padding: 20px;
}
.destination-feature-body h2,
.editorial-copy h2 {
    font-size: 18px;
    line-height: 1.28;
}
.destination-feature-body p,
.editorial-copy p {
    font-size: 12px;
    line-height: 1.65;
}

/* Four-up cards stay readable instead of simply becoming narrower. */
@media (min-width: 1200px) {
    .catalog-card-body { padding: 20px; }
    .catalog-card-body h3 { font-size: 18px; line-height: 1.3; }
    .catalog-card-body > p { min-height: 0; font-size: 12px; }
    .card-body { padding: 18px; }
    .card-body h3 { font-size: 18px; }
    .blog-content { padding: 18px; }
    .blog-content h3 { font-size: 17px; line-height: 1.35; }
    .blog-content p { font-size: 12px; }
    .car-service-grid > .car-service-card { min-height: 300px; }
}

@media (max-width: 1199px) and (min-width: 901px) {
    .card-grid,
    .catalog-grid,
    .service-catalog-grid,
    .blog-grid,
    .editorial-grid,
    .destination-catalog-grid,
    .park-related-grid,
    .car-service-grid,
    .car-hire-fleet .service-catalog-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 900px) and (min-width: 621px) {
    .card-grid,
    .catalog-grid,
    .service-catalog-grid,
    .blog-grid,
    .editorial-grid,
    .destination-catalog-grid,
    .park-related-grid,
    .car-service-grid,
    .car-hire-fleet .service-catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 620px) {
    .card-grid,
    .catalog-grid,
    .service-catalog-grid,
    .blog-grid,
    .editorial-grid,
    .destination-catalog-grid,
    .park-related-grid,
    .car-service-grid,
    .car-hire-fleet .service-catalog-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Article layout: use the available reading column instead of leaving a large blank strip. */
.article-body-section { padding-top: 54px; padding-bottom: 62px; }
.article-layout {
    grid-template-columns: minmax(0, 1fr) minmax(285px, 320px);
    gap: 32px;
}
.article-prose {
    width: 100%;
    max-width: none;
}
.article-prose > section:first-of-type { padding-top: 12px; }
.article-prose p { max-width: 92ch; }
.article-side-card { top: 96px; }

.article-inline-link {
    display: inline;
    color: var(--primary-dark);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.article-inline-link:hover,
.article-inline-link:focus-visible { color: var(--primary); }
.article-inline-link.external span { margin-left: 2px; font-size: .78em; }

.article-resource-links {
    margin-top: 34px;
    padding: 24px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: #f8fafc;
}
.article-resource-heading h2 { margin: 4px 0 6px; }
.article-resource-heading p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.65;
}
.article-resource-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}
.article-link-group {
    align-content: start;
    gap: 0;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
}
.article-link-group h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
    color: var(--navy);
    font-size: 14px;
}
.article-link-group h3 svg { width: 17px; height: 17px; color: var(--primary); }
.article-link-group a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    padding: 10px 0;
    border-top: 1px solid #edf0f3;
    color: var(--navy);
    font-size: 12px;
    line-height: 1.45;
    text-decoration: none;
}
.article-link-group a:first-of-type { border-top: 0; }
.article-link-group a:hover span,
.article-link-group a:focus-visible span { color: var(--primary); }
.article-link-group a > svg { flex: 0 0 15px; width: 15px; height: 15px; color: var(--primary); }

@media (max-width: 1024px) {
    .article-layout { grid-template-columns: 1fr; gap: 28px; }
    .article-side-card { position: static; }
}
@media (max-width: 700px) {
    .article-body-section { padding-top: 36px; padding-bottom: 46px; }
    .article-resource-links { padding: 18px; }
    .article-resource-grid { grid-template-columns: 1fr; }
}
