/* Shared additions retain the existing CARVE palette and typography. */
.footer-address{font-style:normal;font-size:.875rem;line-height:1.65;max-width:27ch;color:inherit;margin-top:8px}
.service-jump{display:flex;flex-wrap:wrap;gap:10px;width:min(1220px,calc(100% - 36px));margin:24px auto 0}
.service-jump a{padding:9px 15px;border:1px solid var(--line);border-radius:999px;background:var(--sky-2);font-size:.9375rem;color:var(--ink);text-decoration:none}
.service-jump a:hover,.service-jump a:focus-visible{background:var(--sky);border-color:var(--blue)}
.seo-checklist{padding-left:1.25em}.seo-checklist li{margin:0 0 16px;padding-left:5px}
.seo-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.seo-table{width:100%;border-collapse:collapse;min-width:580px;text-align:left}
.seo-table caption{text-align:left;padding:20px;font-weight:600;background:var(--sky-2)}
.seo-table th,.seo-table td{padding:18px 20px;border-bottom:1px solid var(--line);vertical-align:top;font-size:1rem;line-height:1.6}
.seo-table thead{background:var(--navy);color:var(--theme-heading)}.seo-table tbody th{width:31%;font-weight:600}.seo-table tr:last-child>*{border-bottom:0}
.seo-table a,.watch-inner a{color:inherit}.article-update{font-size:.875rem;color:var(--muted);margin:16px 0}
.watch-hero{padding:140px 24px 56px;background:var(--navy);color:var(--theme-heading)}.watch-inner{max-width:1000px;margin:0 auto}.watch-inner .breadcrumb{margin-bottom:24px;color:var(--theme-text)}
.watch-inner h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.15;letter-spacing:-.035em;margin:16px 0 20px;font-weight:600}
.watch-inner h1 em{font-style:normal;color:var(--theme-accent)}.watch-lead{font-size:1.125rem;line-height:1.7;max-width:740px;color:var(--theme-text)}
.watch-player{margin:28px 0 0}.watch-player video{display:block;width:100%;height:min(64vh,620px);object-fit:contain;background:var(--theme-bg);border-radius:16px}
.watch-player figcaption{font-size:.875rem;margin-top:14px;line-height:1.6;color:var(--theme-text)}
@media(max-width:640px){.watch-hero{padding:112px 18px 36px}.watch-player video{height:58vh;min-height:280px}.service-jump a{font-size:.875rem}.footer-address{max-width:34ch}}

/* Topic sections reuse the existing responsive guide-card layout. */
.guide-topic{margin-top:56px;scroll-margin-top:120px}.guide-topic .section-heading{margin-bottom:28px}.guide-topic .blog-list .home-blog-card h3{font-size:34px;line-height:1.05;letter-spacing:-.045em;margin:0 0 18px;color:var(--theme-heading)}
@media(max-width:680px){.guide-topic{margin-top:40px;scroll-margin-top:90px}.guide-topic .blog-list .home-blog-card h3{font-size:26px}}

/* Mobile card rows are 270px; remove the older 330px image minimum. */
@media(max-width:680px){.home-blog-card .home-blog-image{min-height:0}}

/* Help visitors choose by need, without changing the established service pages. */
.service-finder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.service-finder-grid article{padding:26px 24px;border:1px solid var(--line);border-radius:14px;background:var(--theme-surface,#101c2b);min-width:0}
.service-finder-number{font-size:.75rem;letter-spacing:.12em;color:var(--theme-accent);display:block;margin-bottom:28px}
.service-finder-grid h3{font-size:1.35rem;line-height:1.25;color:var(--theme-heading);margin:0 0 14px}
.service-finder-grid p{font-size:.9375rem;line-height:1.7;color:var(--theme-text);margin:0 0 22px}
.service-finder-grid a{display:block;color:var(--theme-accent);font-size:.9375rem;line-height:1.6;margin-top:10px;text-underline-offset:4px}
.service-finder-location{font-size:.875rem;line-height:1.8;color:var(--theme-text);margin:24px 0 0}.service-finder-location a{color:var(--theme-accent);text-underline-offset:4px}
.seo-next-reading{border-top:1px solid var(--line);padding-top:24px;margin-top:36px}.seo-next-reading h3{font-size:1.125rem;margin:0 0 16px}
.seo-next-reading .article-related-links a{overflow-wrap:anywhere}
@media(max-width:1000px){.service-finder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.service-finder-grid{grid-template-columns:1fr;gap:14px}.service-finder-grid article{padding:22px}.service-finder-number{margin-bottom:16px}}

/* Keep wide comparison tables inside the article column on narrow screens. */
.article-content{min-width:0;max-width:100%}
.article-content .seo-table-wrap{width:100%;min-width:0}
.article-content h2,.article-content h3{overflow-wrap:anywhere}
.table-scroll-hint{display:none}
@media(max-width:680px){.article-content .table-scroll-hint{display:block;font-size:.875rem;color:var(--muted);margin-bottom:12px}}

/* The article index uses one set of links at every viewport width. */
.article-index summary {
  color: var(--theme-heading);
  cursor: pointer;
  font-weight: 700;
  padding: .35rem 0 .65rem;
}
.article-index summary:focus-visible,
.article-index a:focus-visible {
  outline: 2px solid var(--theme-focus);
  outline-offset: 3px;
}
.headlight-film {
  margin: 1.75rem auto;
  max-width: 320px;
}
.headlight-film video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 512 / 910;
}
.headlight-film figcaption {
  font-size: .95rem;
  line-height: 1.55;
  margin-top: .65rem;
}
.article-page.headlight-guide .article-hero-image {
  max-width: 275px;
}
@media (max-width: 940px) {
  .article-page .article-index-aside {
    display: block;
    position: static;
    min-width: 0;
    padding-top: .4rem;
  }
  .article-index nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1rem;
  }
  .article-index nav a {
    font-size: .95rem;
    overflow-wrap: anywhere;
    padding: .65rem 0;
  }
  .article-index-aside .article-contact { display: none; }
}
