.ideas-hero .blog-hero-title {
  max-width: 820px;
  margin: 0;
  color: white;
  font-size: clamp(44px, 6.4vw, 78px);
  line-height: .96;
  letter-spacing: 0;
}
.ideas-hero .blog-hero-title .dot { color: var(--rose); }
.blog-article {
  max-width: 820px;
  padding-top: clamp(36px, 6vw, 72px);
  padding-bottom: clamp(36px, 6vw, 72px);
  font-size: 18px;
  line-height: 1.8;
}
.blog-article-header { display: grid; gap: 18px; margin-bottom: 28px; }
.blog-article h1 { margin: 0; font-size: clamp(32px, 4.5vw, 52px); line-height: 1.12; }
.blog-article h2 { margin: 44px 0 16px; font-size: clamp(26px, 3vw, 34px); line-height: 1.2; }
.blog-article h3 { margin: 28px 0 10px; font-size: 22px; line-height: 1.35; }
.blog-article p { margin: 0 0 20px; }
.blog-article ul { padding-left: 24px; }
.blog-article li { padding-left: 6px; margin-bottom: 14px; }
.blog-article p a { text-decoration: underline; text-underline-offset: 3px; font-weight: 650; }
.blog-article a:focus-visible { outline: 3px solid var(--rose); outline-offset: 4px; }
.blog-faq { border-top: 1px solid var(--line); margin-top: 40px; }
.blog-booking { margin: 40px 0 28px; padding: clamp(20px, 4vw, 32px); border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: var(--shadow); }
.blog-booking h2 { margin-top: 0; }
.blog-booking .hero-actions { flex-wrap: wrap; }
.blog-table-scroll { max-width: 100%; overflow-x: auto; margin: 24px 0; border: 1px solid var(--line); border-radius: 12px; background: white; }
.blog-table-scroll:focus-visible { outline: 3px solid var(--rose); outline-offset: 4px; }
.blog-comparison { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 16px; line-height: 1.6; }
.blog-comparison caption { padding: 16px; text-align: left; font-weight: 700; }
.blog-comparison th, .blog-comparison td { padding: 16px; text-align: left; vertical-align: top; border-top: 1px solid var(--line); }
.blog-comparison thead { background: var(--ink); color: white; }
.blog-comparison tbody th { width: 22%; }
.blog-comparison td { width: 39%; }
.blog-comparison tbody tr:nth-child(even) { background: var(--soft); }
@media (max-width: 640px) {
  .ideas-hero .blog-hero-title { font-size: clamp(42px, 15vw, 58px); }
  .blog-article { font-size: 17px; }
  .blog-booking .hero-actions > a { width: 100%; text-align: center; }
}
