/* THINKPOL additions on top of the QuantumLab template. Only things the template has no rule for. */
[hidden] { display: none !important; }
.w-richtext .w-richtext-table { overflow-x: auto; margin: 1.5rem 0; }
.w-richtext table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
.w-richtext th, .w-richtext td { border: 1px solid #e6e6e6; padding: 0.75rem 0.875rem; text-align: left; vertical-align: top; }
.w-richtext th { font-weight: 600; background: #f7f7f7; }
.w-richtext pre { background: #f7f7f7; border: 1px solid #e6e6e6; padding: 1rem; overflow-x: auto; font-size: 0.875rem; line-height: 1.5; }
.w-richtext code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.9em; }
.w-richtext hr { border: 0; border-top: 1px solid #e6e6e6; margin: 2rem 0; }
.w-richtext blockquote { border-left: 2px solid #161616; }
.w-richtext figcaption { font-size: 0.875rem; color: #6b6b6b; text-align: center; margin-top: 0.5rem; }
.w-richtext img { max-width: 100%; height: auto; }
.tp-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.blog-v1-image-wrapper img { object-fit: cover; }
/* accordions cloned across template pages (no IX click handler): CSS toggle */
[data-tp-accordion] .accordion-body { display: none; }
[data-tp-accordion].tp-open .accordion-body { display: block; }
[data-tp-accordion] .accordion-card-v1 { cursor: pointer; }
[data-tp-accordion].tp-open .accordion-arrow { transform: rotate(90deg); }
.logo-strip-marquee img { object-fit: contain; }
/* reserve the Lottie canvases' space before they load (CLS) */
.hero-v2-image { aspect-ratio: 1033 / 649; }
.hero-v2-image svg, .hero-v3-image svg { display: block; }

/* blog post: table of contents + share row (template card / square icon components) */
.tp-toc { padding: 28px 32px; margin-bottom: 40px; }
.tp-toc-title { margin-bottom: 12px; }
.tp-toc-list { margin: 0; padding-left: 20px; }
.tp-toc-list li { margin: 6px 0; }
.tp-toc-list a { color: inherit; font-weight: 500; text-decoration: none; }
.tp-toc-list a:hover { color: var(--core--colors--neutral--500); }
.tp-toc { color: var(--font--colors--title); }
.rich-text h2, .rich-text h3 { scroll-margin-top: 110px; }
.tp-share { display: flex; align-items: center; gap: 20px; margin-top: 48px; flex-wrap: wrap; }
.tp-share-links { display: flex; }
.tp-share .social-square-icon-link { display: flex; align-items: center; justify-content: center; border: 1px solid var(--core--colors--neutral--400); margin-right: -1px; color: var(--font--colors--title); }
.tp-share .social-square-icon-link:hover { background-color: var(--core--colors--neutral--100); }
.tp-share-copied { font-size: 14px; color: var(--core--colors--neutral--500); }
html { scroll-behavior: smooth; }

.tp-recaptcha-notice { font-size: 13px; line-height: 1.5; color: var(--core--colors--neutral--500); margin: 0; }
.tp-recaptcha-notice a { color: inherit; text-decoration: underline; }

/* contact: inline cal.com calendar inside the template card */
.tp-cal-inline { min-height: 660px; width: 100%; }
@media (max-width: 767px) { .tp-cal-inline { min-height: 560px; } }
/* home film block on phones: full-width 16:9 poster + visible label (template shrinks it to a 220px tile) */
@media (max-width: 767px) {
  .about-section-bottom-content { display: block; }
  .about-section-bottom-content .lightbox-link { width: 100%; aspect-ratio: 16 / 9; }
  .about-section-bottom-content .lightbox-thumbnail { width: 100%; max-width: none; height: 100%; object-fit: cover; }
  .about-section-bottom-content .play-button { min-width: 72px; max-width: 72px; min-height: 72px; max-height: 72px; }
  .about-section-bottom-content .hidden-on-mobile-portrait { display: block !important; }
  .about-section-bottom-content .position-relative---z-index-1 { margin-top: 16px; }
}
