/* Highlight Machine UI system (October 17, 2026). Loaded last on every public and customer page.
   One family (Libre Franklin, normal width, sentence case; weight and size carry the hierarchy), one button voice,
   one eyebrow, one spacing scale, one gutter. The home hero is full-bleed with square corners. The older sheets still carry their rules; this sheet wins by order and by specificity, and
   uses !important only where an older rule already did. Tokens live here and in type-system.css. */

:root {
  --fd:'Libre Franklin','Franklin Gothic Medium',Arial,sans-serif;
  --fb:'Libre Franklin','Franklin Gothic Medium',Arial,sans-serif;
  --t-d1:clamp(32px,3.9vw,50px);   /* page hero, sentence case, 800 */
  --t-d2:clamp(24px,2.5vw,31px);   /* section, 700 */
  --t-d3:clamp(18px,1.6vw,20px);   /* subhead, card title, fact value, 600 */
  --t-d4:17px;                      /* small display, 600 */
  --t-lead:19px; --t-body:17px; --t-small:15px; --t-label:13px;
  --lh-d1:1.02; --lh-d2:1.08; --lh-d3:1.18; --lh-body:1.6;
  --sec-y:80px; --sec-y-tight:48px; --gutter:56px;
  --btn-h:48px; --btn-h-l:54px; --btn-h-s:40px;
  --ar:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M3 10h13M11 5l5 5-5 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}
@media (max-width:1150px) { :root { --gutter:32px; } }
@media (max-width:767px) { :root { --sec-y:56px; --sec-y-tight:36px; } }
@media (max-width:650px) { :root { --gutter:20px; } }
@media (max-width:360px) { :root { --gutter:16px; } }

/* 1. Reading type */
body.thm-site { font-family:var(--fb); font-weight:400; }
body.thm-site #main :is(p,li,dd) { font-weight:400; }
body.thm-site #main :is(p,li) { text-wrap:pretty; }

/* 2. Headings: weight does the hierarchy, not italics or capitals. */
body.thm-site :is(h1,h2,h3,h4) { font-family:var(--fd)!important; font-style:normal!important; letter-spacing:0!important; text-wrap:balance; }
body.thm-site #main h1,
body.thm-site.thm-legacy-marketing #main h1,
body.thm-site.page-start #main h1,
body.thm-site.page-order-status #main h1,
body.thm-site #main .thm-photo-copy h1,
body.thm-site #main .support-hero h1,
body.thm-site #main .thm-contact-lead h1,
body.thm-site #main .thm-faq-hero h1,
body.thm-site.pricing-body #main .page-lead h1,
body.thm-site #main .thm-films-page .page-lead h1 { font-weight:800!important; font-size:var(--t-d1)!important; line-height:var(--lh-d1)!important; letter-spacing:-.02em!important; text-transform:none!important; }
body.thm-site #main h2 { font-weight:700!important; font-size:var(--t-d2)!important; line-height:var(--lh-d2)!important; letter-spacing:-.015em!important; text-transform:none!important; }
body.thm-site #main h3 { font-weight:600!important; font-size:var(--t-d3)!important; line-height:var(--lh-d3)!important; letter-spacing:-.01em!important; text-transform:none!important; }
body.thm-site #main h4 { font-weight:600!important; font-size:var(--t-d4)!important; line-height:1.2!important; letter-spacing:-.005em!important; text-transform:none!important; }
body.thm-site #main :is(h1,h2) br { display:none; }
body.thm-site #main :is(h1,h2,h3) :is(.text-thm-red,.text-thm-blue),
body.thm-site #main .campaign-copy h1 span,
body.thm-site #main .thm-photo-copy h1 span { color:inherit!important; }
body.thm-site #main .thm-cover-heading h2,
body.thm-site #main .thm-faq-section h2,
body.thm-site #main .order-summary h2,
body.thm-site #main :is(.base-package,.addons-title) h2 { font-size:var(--t-d3)!important; font-weight:700!important; line-height:var(--lh-d3)!important; }
body.thm-site #main .thm-faq-section h2 { font-size:clamp(19px,1.9vw,22px)!important; }
body.thm-site #main :is(.page-lead,.support-hero,.thm-contact-lead,.thm-faq-hero)>p:not([class]),
body.thm-site #main :is(.page-lead,.support-hero,.thm-contact-lead,.thm-faq-hero) p.support-intro,
body.thm-site #main .thm-photo-copy>p:not(.thm-eyebrow),
body.thm-site #main .thm-sport-offer-heading>p:last-child,
body.thm-site #main .thm-sports-intro p,
body.thm-site #main .film-room-intro p,
body.thm-site #main :is(.thm-guide-section,.thm-contact-lead,.thm-faq-hero)>div>p.text-lg { font:400 var(--t-lead)/1.55 var(--fb)!important; max-width:54ch; }

/* 3. One eyebrow. Only where it adds a fact the heading does not carry. */
body.thm-site #main :is(.hero-eyebrow,.film-room-kicker,.thm-cover-kicker,.section-label,.eyebrow,.package-label,.thm-eyebrow,.thm-sports-kicker,.sport-section-label,.thm-faq-kicker,.support-kicker,.thm-start-eyebrow,.step-when,.work-feature-label,.sport-facts dt,.pricing-terms dt,.hero-facts-sports>span,.thm-step-num,.inline-price>span,.summary-total>span,.demo-cover-label),
body.thm-site #main :is(.font-condensed,.font-body).uppercase,
body.thm-site #main .thm-photo-copy>p.thm-eyebrow,
body.thm-site .thm-start-eyebrow {
  font-family:var(--fb)!important; font-style:normal!important; font-weight:600!important; font-size:var(--t-label)!important; line-height:1.4!important;
  letter-spacing:.08em!important; text-transform:uppercase!important; color:var(--c-note);
}
body.thm-site #main :is(.hero-eyebrow,.thm-eyebrow--on-dark,.reel-service .section-label,.order-summary .eyebrow,.thm-closing-cta .thm-eyebrow,.summary-total>span),
body.thm-site #main .thm-photo-copy>p.thm-eyebrow,
body.thm-site .thm-start-eyebrow,
body.thm-site.page-start #main .thm-order-closed .thm-start-eyebrow { color:var(--c-sky)!important; }
body.thm-site #main .thm-eyebrow span { color:inherit; padding:0 4px; }
body.thm-site #main .step-when { color:var(--c-note); }
body.thm-site #main .thm-step-num { color:var(--c-red)!important; }

/* The registration mark: one straight red stroke above a page opening, nothing skewed. */
body.thm-site :is(.page-lead,.support-hero .support-wrap,.thm-start-lead,.thm-contact-lead>div)::before { width:36px; height:3px; margin-bottom:18px; transform:none; }
body.thm-site.home-body .hero-eyebrow::before { content:""; display:block; width:36px; height:3px; background:var(--c-red); margin:0 0 16px; }
body.thm-site.home-body .work-heading::before { display:none; }
body.thm-site.home-body .studio-description::before { width:36px; height:3px; margin-bottom:18px; }
body.thm-site .page-lead::after { display:none; }
body.thm-site .site-header::after, body.thm-site .site-footer::before { width:48px; height:3px; }

/* No textures: the grid lines and glow leave the heroes and the order page. */
body.thm-site.thm-legacy-marketing #main>section:first-child:not(.support-hero),
body.thm-site .support-hero,
body.thm-site.page-start .thm-start-lead { background-image:none!important; }

/* 4. Buttons: one voice, four kinds, three sizes. Label and arrow travel together. */
body.thm-site :is(.button,.btn-primary,.btn-outline,.support-primary,.sbtn),
body.thm-site #main :is(.button,.btn-primary,.btn-outline,.support-primary),
body.thm-site .site-header .main-nav>.button,
body.thm-site .thm-mobile-order[data-thm-mobile-order] .button,
body.thm-site #main .support-lookup button,
body.thm-site.page-start #main #thm-intake>fieldset:last-child>button {
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  min-height:var(--btn-h); padding:10px 22px!important; border-radius:2px!important; border:1.5px solid transparent;
  font-family:var(--fd)!important; font-style:normal!important; font-weight:700!important; font-size:15px!important; line-height:1.1!important;
  letter-spacing:.05em!important; text-transform:uppercase!important; text-decoration:none!important; text-align:center;
  box-shadow:none!important; transform:none!important; white-space:normal; cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;
}
body.thm-site :is(.button,.btn-primary,.support-primary):not(.secondary):not(.btn-outline),
body.thm-site #main :is(.btn-primary,.support-primary),
body.thm-site #main .closing .button,
body.thm-site #main .hero-action>.button,
body.thm-site #main .reel-service .button,
body.thm-site #main .films-actions .button,
body.thm-site #main .order-summary .button,
body.thm-site .thm-mobile-order[data-thm-mobile-order] .button,
body.thm-site #main .support-lookup button,
body.thm-site.page-start #main #thm-intake>fieldset:last-child>button { background:var(--c-red)!important; color:var(--c-white)!important; border-color:transparent!important; }
body.thm-site :is(.button,.btn-primary,.support-primary):not(.secondary):not(.btn-outline):hover:not(:disabled),
body.thm-site #main :is(.btn-primary,.support-primary):hover,
body.thm-site #main .closing .button:hover,
body.thm-site #main .hero-action>.button:hover,
body.thm-site #main .reel-service .button:hover,
body.thm-site #main .order-summary .button:hover,
body.thm-site #main .support-lookup button:hover,
body.thm-site.page-start #main #thm-intake>fieldset:last-child>button:hover { background:var(--c-red-deep)!important; color:var(--c-white)!important; }
body.thm-site .site-header .main-nav>.button { background:var(--c-navy-deep)!important; color:var(--c-white)!important; min-width:0; margin-left:8px; }
body.thm-site .site-header .main-nav>.button:hover { background:var(--c-navy)!important; }
body.thm-site #main .btn-outline,
body.thm-site #main .thm-photo-copy .btn-outline,
body.thm-site #main .thm-guide-hero .btn-outline,
body.thm-site .thm-closing-cta a.btn-outline { background:transparent!important; color:var(--c-navy-deep)!important; border-color:var(--c-navy-deep)!important; }
body.thm-site #main .btn-outline:hover { background:var(--c-pale)!important; }
body.thm-site #main .thm-photo-copy .btn-outline,
body.thm-site #main .thm-guide-hero .btn-outline,
body.thm-site .thm-closing-cta a.btn-outline,
body.thm-site #main .thm-order-closed .btn-outline { color:var(--c-white)!important; border-color:var(--c-white)!important; }
body.thm-site #main .thm-photo-copy .btn-outline:hover,
body.thm-site #main .thm-guide-hero .btn-outline:hover,
body.thm-site .thm-closing-cta a.btn-outline:hover { background:#ffffff1f!important; color:var(--c-white)!important; }
body.thm-site :is(.button,.btn-primary,.btn-outline,.support-primary):active:not(:disabled) { transform:translateY(1px)!important; }
body.thm-site :is(.button,.btn-primary,.btn-outline,.support-primary,.site-header .button):focus-visible,
body.thm-site #main .support-lookup button:focus-visible { outline:3px solid var(--c-blue); outline-offset:3px; }
body.thm-site #main .thm-photo-copy :is(.btn-primary,.btn-outline):focus-visible,
body.thm-site .thm-closing-cta :is(.btn-primary,.btn-outline):focus-visible,
body.thm-site #main .reel-service .button:focus-visible,
body.thm-site #main .closing .button:focus-visible { outline-color:var(--c-sky); }
/* sizes */
body.thm-site #main :is(.btn-lg,.hero-action>.button,.closing .button,.thm-closing-cta .btn-primary,.reel-service .button,.thm-sport-base .btn-primary),
body.thm-site.page-start #main #thm-intake>fieldset:last-child>button { min-height:var(--btn-h-l); padding:12px 26px!important; }
body.thm-site #main :is(.btn-sm,.btn-md) { min-height:var(--btn-h); }
body.thm-site .thm-mobile-order[data-thm-mobile-order] .button { width:100%; min-height:52px; gap:10px; }
body.thm-site .thm-mobile-order[data-thm-mobile-order] .button :is(span,strong) { font:inherit; letter-spacing:inherit; }
body.thm-site .site-header .main-nav>.button { min-height:var(--btn-h); gap:12px; }
body.thm-site .header-cta-arrow { width:18px; height:18px; }
body.thm-site .header-cta-arrow path { stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
body.thm-site #main .thm-sport-base .btn-primary { display:inline-flex; width:auto; justify-content:center; }
body.thm-site #main .thm-availability-actions .btn-primary { justify-content:center; gap:12px; }
/* outline controls that are not calls to action */
body.thm-site .menu-toggle,
body.thm-site .thm-consent__btn {
  display:none; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:8px 14px; border:1.5px solid var(--c-navy-deep); border-radius:2px; background:var(--c-white);
  color:var(--c-navy-deep); font:700 14px/1.1 var(--fd); letter-spacing:.05em; text-transform:uppercase; cursor:pointer;
}
body.thm-site .thm-consent__btn { display:inline-flex; min-height:var(--btn-h-s); }
@media (max-width:980px) { body.thm-site .menu-toggle { display:inline-flex; } }
body.thm-site .menu-toggle:hover, body.thm-site .thm-consent__btn:hover { background:var(--c-pale); }
body.thm-site .menu-toggle[aria-expanded=true] { background:var(--c-slate); }

/* 5. One arrow. Text glyphs become the same stroke the header uses. In-page jumps point down. */
body.thm-site :is(.button,.btn-primary,.btn-outline,.support-primary,.text-link,.hero-work-link,.hero-facts-all,.start-path em,.film-room-footer a,.film-room-item figcaption button,.work-caption-play,.thm-sports-text-link,.thm-sports-roster a,.thm-addon-link,.support-text-link,.pricing-sample-link a,.thm-film-jump,.footer-meta>a,.thm-faq-nav a,.thm-order-availability a,.summary-next a,.films-pricing-link,.thm-availability-link,.group>.inline-flex)>span[aria-hidden="true"]:last-child,
body.thm-site .thm-mobile-order[data-thm-mobile-order] .button>span[aria-hidden="true"]:last-child,
body.thm-site .thm-sports-card-arrow {
  display:inline-block!important; width:18px!important; height:18px!important; flex:none; margin:0!important; padding:0!important; border:0!important;
  font-size:0!important; line-height:0!important; color:inherit; background:currentColor!important; opacity:1;
  -webkit-mask:var(--ar) center/contain no-repeat; mask:var(--ar) center/contain no-repeat;
}
body.thm-site :is(.hero-work-link,.thm-sports-text-link,.thm-faq-nav a,.support-primary,.support-text-link)[href^="#"]>span[aria-hidden="true"]:last-child { transform:rotate(90deg); }
body.thm-site .thm-sports-card-arrow { width:20px!important; height:20px!important; }
body.thm-site #main .thm-sports-card:is(:hover,:focus-visible) .thm-sports-card-arrow { background:var(--c-red)!important; border:0!important; }
body.thm-site #main .thm-sports-roster a>span:last-child { width:16px!important; height:16px!important; color:var(--c-note); }
body.thm-site .thm-mobile-order[data-thm-mobile-order] .button>span[aria-hidden="true"]:not(:last-child) { opacity:.7; }

/* 6. Text links: one style, sentence case, underlined, arrow beside the words. */
body.thm-site #main :is(.text-link,.hero-work-link,.hero-facts-all,.hero-facts-sports a,.start-path em,.film-room-footer a,.thm-sports-text-link,.thm-addon-link,.support-text-link,.pricing-sample-link a,.thm-film-jump,.films-pricing-link,.thm-faq-nav a,.thm-sports-roster a,.summary-next a,.thm-availability-link),
body.thm-site .footer-meta>a {
  display:inline-flex; align-items:center; gap:8px; min-height:44px;
  font-family:var(--fb)!important; font-weight:600!important; font-size:var(--t-body)!important; line-height:1.4!important; letter-spacing:0!important; text-transform:none!important;
  color:var(--c-navy-deep); text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:5px; text-decoration-color:var(--c-faint);
}
body.thm-site #main :is(.text-link,.hero-work-link,.hero-facts-all,.hero-facts-sports a,.start-path em,.film-room-footer a,.thm-sports-text-link,.thm-addon-link,.support-text-link,.pricing-sample-link a,.thm-film-jump,.films-pricing-link,.thm-faq-nav a,.thm-sports-roster a,.summary-next a,.thm-availability-link):hover,
body.thm-site .footer-meta>a:hover { color:var(--c-navy-deep); text-decoration-color:var(--c-red); }
body.thm-site #main :is(.hero-facts-sports a,.thm-sports-roster a,.thm-faq-nav a,.films-pricing-link),
body.thm-site .footer-meta>a { font-size:15px!important; min-height:40px; }
body.thm-site #main .hero-facts-sports a { text-decoration-color:transparent; }
body.thm-site #main .thm-sports-roster a { justify-content:space-between; text-decoration:none; min-height:52px; }
body.thm-site #main .thm-sports-roster a:is(:hover,:focus-visible) { color:var(--c-red); text-decoration:none; }
body.thm-site #main :is(.hero-work-link,.reel-service .text-link,.thm-order-closed a:not(.btn-primary),.summary-next a),
body.thm-site #main .thm-photo-copy .thm-availability-link { color:var(--c-white); }
body.thm-site #main :is(.hero-work-link,.reel-service .text-link,.summary-next a):hover { color:var(--c-white); text-decoration-color:var(--c-white); }
body.thm-site #main .start-path em { font-style:normal; margin-top:4px; }
body.thm-site #main .start-path:is(:hover,:focus-visible) em { text-decoration-color:var(--c-red); }
body.thm-site #main .thm-faq-nav a { justify-content:flex-start; }
/* quiet controls: the Play buttons */
body.thm-site.home-body .film-room-item figcaption button,
body.thm-site #main .thm-films-page .work-caption-play,
body.thm-site.home-body .work-caption-play { font:600 var(--t-small)/1.3 var(--fb)!important; letter-spacing:0!important; text-transform:none!important; color:var(--c-copy); gap:8px; min-height:40px; }
body.thm-site.home-body .film-room-item figcaption button:hover,
body.thm-site #main .thm-films-page .work-caption-play:hover { color:var(--c-navy-deep); text-decoration:none; }
body.thm-site.home-body .film-room-duration,
body.thm-site #main .thm-films-page .work-caption-play .film-duration { font:600 var(--t-small)/1.3 var(--fb)!important; color:var(--c-note); margin:0 2px 0 0; }

/* 7. Header and footer */
body.thm-site .site-header .main-nav>a:not(.button) { font-family:var(--fd)!important; font-weight:600!important; font-size:15px!important; letter-spacing:.06em!important; text-transform:uppercase; color:var(--c-navy-deep); }
body.thm-site .site-header .main-nav>a:not(.button)::after { bottom:6px; }
body.thm-site .private-help { font:600 14px/1.4 var(--fb); }
body.thm-site .footer-meta { font-size:var(--t-small); }
body.thm-site .footer-meta>p { font-size:var(--t-small); }
body.thm-site .footer-meta nav,
body.thm-site.thm-marketing-design .footer-meta nav,
body.thm-site .footer-meta nav a,
body.thm-site.thm-marketing-design .footer-meta nav a { font-size:var(--t-small)!important; }
body.thm-site .footer-meta nav { gap:8px 20px; }
body.thm-site .footer-meta nav .thm-consent-choices { font-size:var(--t-small); }
body.thm-site .thm-consent { font:400 var(--t-small)/1.5 var(--fb); }

/* 8. Spacing: sections 80 on desktop, 56 on phones; bands 48; the gutter is the header's gutter. */
body.thm-site #main .home-film-room { padding-top:var(--sec-y); padding-bottom:var(--sec-y); }
body.thm-site #main .hero-facts { padding-top:var(--sec-y-tight); padding-bottom:var(--sec-y-tight); }
body.thm-site #main .thm-cover-showcase { padding:var(--sec-y-tight) 0; }
body.thm-site #main .reel-service,
body.thm-site #main .production-feature { padding-top:var(--sec-y); padding-bottom:var(--sec-y); border-top:0; }
body.thm-site.home-body.home #main #questions { padding:0 0 var(--sec-y); }
body.thm-site.home-body.home #main #questions .faq-grid { padding-top:var(--sec-y); border-top:0; }
body.thm-site.home-body.home #main .closing,
body.thm-site #main .thm-closing-inner,
body.thm-site #main .closing { padding-top:64px; padding-bottom:64px; }
body.thm-site.home-body:not(.home) #main .page-lead,
body.thm-site.pricing-body #main .page-lead { padding:var(--sec-y-tight) 0 32px; }
body.thm-site.pricing-body #main .pricing-layout { padding-bottom:var(--sec-y); }
body.thm-site.pricing-body #main #questions .faq-grid { padding-top:var(--sec-y); padding-bottom:0; }
body.thm-site.pricing-body #main #questions { padding-bottom:var(--sec-y); }
body.thm-site #main .thm-films-page .work-portfolio { padding:var(--sec-y-tight) 0 56px; }
body.thm-site #main .thm-films-page .thm-films-closing { padding-block:var(--sec-y-tight); }
body.thm-site #main .thm-photo-copy { padding-top:var(--sec-y)!important; padding-bottom:var(--sec-y)!important; }
body.thm-site #main .thm-guide-section>div,
body.thm-site #main .sport-guidance>div,
body.thm-site #main .thm-contact-lead>div,
body.thm-site #main .thm-faq-hero,
body.thm-site #main .support-hero,
body.thm-site #main .support-section,
body.thm-site #main .thm-sport-offer>.wrap,
body.thm-site.thm-legacy-marketing #main>section.border-b>div { padding-top:var(--sec-y)!important; padding-bottom:var(--sec-y)!important; }
body.thm-site #main .thm-faq-hero { padding-bottom:0!important; }
body.thm-site #main .thm-faq-section { padding-block:56px; }
body.thm-site #main .thm-guide-note>div { padding-block:28px!important; }
body.thm-site #main .sport-facts dl { padding:32px 0; }
body.thm-site.page-start #main>section:first-child>.relative { padding-top:56px; padding-bottom:56px; }
/* legacy Tailwind containers sit on the same grid as the header and the home page */
body.thm-site #main :is(.max-w-7xl,.max-w-5xl,.max-w-6xl) { width:calc(100% - 2 * var(--gutter)); max-width:1224px; margin-inline:auto; padding-left:0!important; padding-right:0!important; }
body.thm-site #main .thm-photo-copy { width:calc(100% - 2 * var(--gutter)); max-width:1224px; margin-inline:auto; padding-left:0!important; padding-right:0!important; }
body.thm-site .wrap { width:calc(100% - 2 * var(--gutter)); max-width:1224px; }
body.thm-site .site-header .wrap.nav-inner { width:calc(100% - 2 * var(--gutter)); max-width:1224px; }
body.thm-site #main :is(.max-w-3xl,.max-w-2xl) { max-width:640px; }

/* 9. Home page */
body.thm-site.home-body.home #main .campaign-copy { max-width:680px; }
body.thm-site.home-body.home #main .campaign-copy h1,
body.thm-site.home-body.home #main .campaign-copy h1.hero-title-long { font-family:var(--fd)!important; font-style:normal!important; font-weight:800!important; font-size:var(--t-d1)!important; line-height:var(--lh-d1)!important; letter-spacing:-.02em!important; text-transform:none!important; max-width:620px; margin:20px 0 0; }
/* the hero runs edge to edge with square corners; its copy sits on the header's gutter */
body.thm-site.home-body #main .all-sport-hero { margin:0!important; border-radius:0!important; }
body.thm-site.home-body #main .hero-inner { width:calc(100% - 2 * var(--gutter)); max-width:1224px; }
body.thm-site.home-body #main .hero-description { max-width:54ch; margin-top:22px; color:var(--c-mist); font:400 var(--t-lead)/1.55 var(--fb); }
body.thm-site.home-body #main .hero-action { margin-top:28px; gap:16px 28px; }
body.thm-site.home-body #main .hero-action>.button { min-width:0; justify-content:center; }
body.thm-site #main .hero-action strong { font-family:var(--fd)!important; font-weight:800!important; font-size:28px!important; letter-spacing:0!important; line-height:1!important; }
body.thm-site #main .hero-action small { font-size:var(--t-small); color:var(--c-mist); margin-top:4px; }
body.thm-site.home-body.home #main .hero-guarantee { margin-top:18px; font:400 var(--t-small)/1.5 var(--fb); color:var(--c-mist); }
body.thm-site #main .hero-work-link { margin-top:14px; }
body.thm-site.home-body #main .campaign-bottom>p { font-size:var(--t-label); color:var(--c-sky); }
body.thm-site #main .hero-controls [data-hero-rotation] { font:600 var(--t-label)/1 var(--fb); letter-spacing:.08em; }
body.thm-site #main .hero-photo-caption { font-size:var(--t-small); }
/* facts and proof: a rule on top, no coloured edges */
body.thm-site #main .hero-facts-list li { border-left:0; padding-left:0; border-top:1px solid var(--c-navy); padding-top:12px; }
body.thm-site #main .hero-facts-list strong { font:600 var(--t-d3)/1.15 var(--fd); letter-spacing:0; text-transform:none; color:var(--c-navy); }
body.thm-site #main .hero-facts-list span { font-size:var(--t-small); margin-top:6px; }
body.thm-site #main .proof-facts { margin-top:24px; gap:16px 24px; }
body.thm-site #main .proof-facts li { border-left:0; padding-left:0; border-top:1px solid var(--c-navy); padding-top:10px; }
body.thm-site #main .proof-facts strong { font:700 var(--t-d3)/1.15 var(--fd); letter-spacing:0; }
body.thm-site #main .proof-facts span { font-size:var(--t-small); margin-top:4px; }
body.thm-site #main .hero-facts-sports { margin-top:28px; padding-top:18px; gap:8px 20px; }
body.thm-site #main .start-here { margin-top:32px; }
body.thm-site #main .start-here h2 { margin-bottom:20px; }
body.thm-site #main .start-path strong { font:600 var(--t-d3)/1.18 var(--fd); letter-spacing:0; text-transform:none; }
body.thm-site #main .start-path span { font-size:var(--t-body); }
/* Film Room */
body.thm-site.home-body .film-room-heading { margin-bottom:32px; }
body.thm-site.home-body #main .film-room-heading h2 { font-size:var(--t-d2)!important; line-height:var(--lh-d2)!important; }
body.thm-site.home-body #main .film-room-item h3 { font-size:var(--t-d3)!important; }
body.thm-site.home-body .film-room-footer p { font-size:var(--t-small); }
body.thm-site.home-body .film-room-playmark { border:0; }
/* service */
body.thm-site.home-body.home #main .service-price { margin-top:20px; }
body.thm-site.home-body.home #main .service-price strong { font-family:var(--fd)!important; font-weight:800!important; font-size:clamp(44px,4.4vw,56px)!important; letter-spacing:0!important; line-height:1!important; }
body.thm-site.home-body.home #main .service-price span { font-size:var(--t-small); color:var(--c-mist); }
body.thm-site.home-body.home #main .service-facts dt { font:600 var(--t-body)/1.45 var(--fb); }
body.thm-site.home-body.home #main .tape-note h3 { font-size:var(--t-d3)!important; }
body.thm-site.home-body.home #main .tape-note h3>span { font:600 var(--t-small)/1.4 var(--fb); color:var(--c-sky); margin-left:12px; letter-spacing:0; }
body.thm-site.home-body.home #main .tape-note { border-left:2px solid var(--c-red); padding-left:18px; }
body.thm-site.home-body.home #main .service-offer .price-anchor,
body.thm-site.home-body.home #main .service-total-note { font-size:var(--t-small); line-height:1.6; }
/* team and steps */
body.thm-site.home-body.home #main .working-together h3 { font-size:var(--t-d3)!important; margin-top:8px; }
body.thm-site.home-body.home #main .working-together ol { list-style:none; padding:0; margin:18px 0 0; }
body.thm-site.home-body.home #main .working-together li { display:grid; grid-template-columns:40px 1fr; gap:2px 14px; padding:14px 0; margin:0; border-top:1px solid var(--c-rule); }
body.thm-site.home-body.home #main .working-together li:last-child { border-bottom:1px solid var(--c-rule); }
body.thm-site.home-body.home #main .working-together li::before { content:counter(thm-step, decimal-leading-zero); counter-increment:thm-step; grid-row:1/4; font:700 var(--t-d3)/1 var(--fd); color:var(--c-red); padding-top:3px; }
body.thm-site.home-body.home #main .working-together ol { counter-reset:thm-step; }
body.thm-site.home-body.home #main .working-together .step-when { grid-column:2; margin:0; }
body.thm-site.home-body.home #main .working-together strong { grid-column:2; font:600 var(--t-body)/1.45 var(--fb); }
body.thm-site.home-body.home #main .working-together li p { grid-column:2; margin-top:2px; }
body.thm-site.home-body.home #main .working-together .text-link { margin-top:16px; }
body.thm-site #main .studio-photograph figcaption { font-size:var(--t-small); }
/* questions, closing */
body.thm-site.home-body.home #main #questions .faq-list summary { font:600 var(--t-body)/1.45 var(--fb); }
body.thm-site.home-body.home #main .closing h2 { font-size:var(--t-d2)!important; }
body.thm-site.home-body.home #main .closing p { color:var(--c-mist); }

/* 10. Pricing */
body.thm-site.pricing-body #main .page-lead h1 { font-size:var(--t-d1)!important; margin:16px 0 18px; }
body.thm-site.pricing-body #main .base-package { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 40px; align-items:start; background:transparent!important; border:0!important; border-top:2px solid var(--c-navy-deep)!important; padding:28px 0 32px!important; }
body.thm-site.pricing-body #main .base-package>div:first-child { grid-row:1/3; }
body.thm-site.pricing-body #main .base-package .price-anchor { grid-column:2; max-width:34ch; font-size:var(--t-small); line-height:1.6; margin:12px 0 0; padding:0; border:0; }
body.thm-site.pricing-body #main .base-package .price { font-family:var(--fd)!important; font-weight:800!important; font-size:44px!important; letter-spacing:0!important; line-height:1!important; }
body.thm-site.pricing-body #main .base-package .thm-value-note { font-size:var(--t-small); }
body.thm-site.pricing-body #main .pricing-inclusions { grid-template-columns:1fr 1fr; gap:10px 24px; font:400 15px/1.5 var(--fb); }
body.thm-site.pricing-body #main .pricing-inclusions li::before,
body.thm-site #main .thm-sport-base li::before { font:700 15px/1.4 var(--fd); font-style:normal; color:var(--c-red); }
body.thm-site.pricing-body #main .addons-title { margin-top:40px; }
body.thm-site.pricing-body #main .addon h3 { font-size:var(--t-d3)!important; }
body.thm-site.pricing-body #main .addon .price,
body.thm-site #main .thm-sport-addon-title>span,
body.thm-site #main .inline-price strong { font-family:var(--fd)!important; font-weight:700!important; font-size:20px!important; letter-spacing:0!important; }
body.thm-site.pricing-body #main .addon p { font-size:var(--t-body); }
body.thm-site.pricing-body #main .addon .fine,
body.thm-site.pricing-body #main .addon-availability { font-size:var(--t-small); }
body.thm-site.pricing-body #main .summary-total strong { font-family:var(--fd)!important; font-weight:800!important; font-size:36px!important; letter-spacing:0!important; }
body.thm-site.pricing-body #main .order-summary { border-top:2px solid var(--c-red); }
body.thm-site.pricing-body #main .order-summary h2 { color:var(--c-white); margin-bottom:20px; }
body.thm-site.pricing-body #main .summary-step { color:var(--c-mist); font-size:var(--t-small); }
body.thm-site.pricing-body #main .pricing-terms dd { font-size:var(--t-small); }
body.thm-site.pricing-body #main .summary-next h3 { font-size:var(--t-d4)!important; }
body.thm-site.pricing-body #main #questions .faq-list summary { font:600 var(--t-body)/1.5 var(--fb); }

/* 11. Samples and covers */
body.thm-site #main .thm-films-page .page-lead h1 { font-size:var(--t-d1)!important; }
body.thm-site #main .thm-films-page .films-note { font-size:var(--t-small); margin-top:24px; }
body.thm-site #main .thm-films-page .films-offer strong { font-family:var(--fd)!important; font-weight:800!important; font-size:36px!important; letter-spacing:0!important; }
body.thm-site #main .thm-films-page .films-offer p { font-weight:600; }
body.thm-site #main .thm-films-page .films-offer p span { font-size:var(--t-small); font-weight:400; }
body.thm-site #main .thm-films-page .work-play-icon { border:0; border-radius:50%; width:44px; height:44px; }
body.thm-site #main .thm-cover-heading h2 { margin-bottom:8px; }
body.thm-site #main .thm-cover-heading p { font-size:var(--t-small); }
body.thm-site #main .thm-cover-showcase figcaption { font:600 var(--t-small)/1.5 var(--fb); }

/* 12. Sport pages, Sports index, How It Works, Clubs, Guides, Contact (the legacy templates) */
body.thm-site #main .thm-photo-copy h1 { max-width:21ch; }
/* the registration mark above every page opening that has no eyebrow of its own */
body.thm-site #main .thm-photo-copy::before,
body.thm-site #main .thm-faq-hero>.wrap::before,
body.thm-site.post-type-archive-thm_guide #main>section:first-child>div::before { content:""; display:block; width:36px; height:3px; background:var(--c-red); margin:0 0 18px; }
body.thm-site #main .thm-photo-copy>p.thm-eyebrow { margin-bottom:14px; }
body.thm-site #main .thm-photo-copy>p:not(.thm-eyebrow) { color:var(--c-mist)!important; margin-top:20px; }
body.thm-site #main .thm-photo-copy>.flex { margin-top:32px; gap:12px 16px; }
body.thm-site #main .sport-facts dd { font:600 var(--t-d3)/1.15 var(--fd); letter-spacing:0; }
body.thm-site #main .sport-facts small,
body.thm-site #main .thm-sport-detail .sport-facts small { font-size:var(--t-small)!important; margin-top:6px; }
body.thm-site #main .sport-guidance p { font-size:var(--t-body); }
body.thm-site #main .sport-footage-help { font-size:var(--t-small); }
body.thm-site #main .sport-note { font-size:var(--t-small); }
body.thm-site #main .sport-guidance li { font-size:var(--t-body); }
body.thm-site #main .thm-slash { color:var(--c-red); font:700 15px/1.4 var(--fd); font-style:normal; }
body.thm-site #main .thm-sport-base { border:1px solid var(--c-rule); border-top:1px solid var(--c-rule); border-radius:2px; }
body.thm-site #main :is(.thm-sport-base,.thm-sport-extras)>h3 { font-size:var(--t-d3)!important; margin-bottom:20px; }
body.thm-site #main .thm-sport-base-price strong { font-family:var(--fd)!important; font-weight:800!important; font-size:48px!important; letter-spacing:0!important; }
body.thm-site #main .thm-sport-base-price span { font-size:var(--t-small); }
body.thm-site #main .thm-sport-base li { font-size:15px; }
body.thm-site #main .thm-sport-delivery { font-size:var(--t-small); }
body.thm-site #main .thm-sport-addon-title h4 { font-size:var(--t-d4)!important; }
body.thm-site #main .thm-sport-addon p { font-size:15px; }
body.thm-site #main .thm-sport-addon .thm-sport-addon-note { font-size:var(--t-small); }
body.thm-site #main :is(.thm-sports-heading,.thm-sports-directory) h2 { font-size:var(--t-d2)!important; }
body.thm-site #main .thm-sports-card h3 { font-size:var(--t-d3)!important; }
body.thm-site #main .thm-sports-guide-note { font-size:var(--t-small); }
body.thm-site #main .thm-sports-directory-copy { font-size:var(--t-body); }
body.thm-site #main .thm-guide-section h2 { font-size:var(--t-d2)!important; }
body.thm-site #main .thm-guide-number { font:700 24px/1 var(--fd)!important; color:var(--c-red); font-style:normal!important; letter-spacing:0!important; }
body.thm-site #main .thm-process-steps .thm-guide-number { font-size:24px!important; }
body.thm-site #main :is(.thm-guide-grid,.thm-guide-steps) article h3 { font-size:var(--t-d3)!important; }
body.thm-site #main :is(.thm-guide-grid,.thm-guide-steps) article p { font-size:var(--t-body); }
body.thm-site #main .thm-guide-steps article ul li { font-size:15px; }
body.thm-site #main .thm-closing-cta h2 { font-size:var(--t-d2)!important; max-width:20ch; }
body.thm-site #main .thm-closing-cta p:not(.thm-eyebrow) { margin-top:12px; }
body.thm-site #main .thm-contact-lead h1 { max-width:16ch; }
body.thm-site #main :is(.rounded-md,.rounded-sm,.rounded-lg) { border-radius:2px!important; }
body.thm-site #main .thm-contact-email { font:600 var(--t-lead)/1.5 var(--fb); letter-spacing:0; }
body.thm-site #main .group h2 { font-size:var(--t-d3)!important; }
body.thm-site #main .group p.text-sm { font-size:var(--t-small); }
body.thm-site #main .group>.inline-flex { font:600 var(--t-small)/1.4 var(--fb)!important; letter-spacing:0!important; text-transform:none!important; color:var(--c-copy); gap:8px; }
body.thm-site #main .thm-guide-note p { font-size:var(--t-body); }

/* 13. FAQ and support */
body.thm-site #main .thm-faq-hero h1 { margin-bottom:20px; }
body.thm-site #main .thm-faq-nav { margin-top:28px; gap:0 28px; }
body.thm-site #main .thm-faq-answers summary { font:600 var(--t-body)/1.5 var(--fb); }
body.thm-site #main .support-hero { background-color:var(--c-navy-band); }
body.thm-site #main .support-hero h1 { max-width:16ch; }
body.thm-site #main .support-hero-actions { margin-top:28px; display:flex; flex-wrap:wrap; align-items:center; gap:16px 28px; }
body.thm-site #main .support-hero .support-text-link { color:var(--c-white); }
body.thm-site #main .support-hero .support-text-link:hover { color:var(--c-white); text-decoration-color:var(--c-white); }
body.thm-site #main .support-section-heading>p:last-child { font-size:var(--t-body); }
body.thm-site #main .support-answer summary { font:600 var(--t-body)/1.5 var(--fb); }
body.thm-site #main .support-small { font-size:var(--t-small); }
body.thm-site #main .support-lookup label,
body.thm-site #main .support-form-panel label,
body.thm-site #main .thm-contact label>span.uppercase,
body.thm-site #main .thm-contact label>span,
body.thm-site #main .thm-field-label { font:600 15px/1.4 var(--fb)!important; letter-spacing:0!important; text-transform:none!important; }
body.thm-site #main .support-form-panel { border-top:2px solid var(--c-red); }
body.thm-site #main :is(.text-xs,[class*="text-[11px]"],[class*="text-[10px]"]):not(.uppercase) { font-size:var(--t-small)!important; letter-spacing:0!important; }

/* 14. Order form and customer pages */
body.thm-site.page-start #main .thm-start-lead h1 { font-size:clamp(30px,3.4vw,42px)!important; font-weight:800!important; margin-top:14px; }
body.thm-site.page-start #main .thm-step-label { font:600 var(--t-d3)/1.18 var(--fd)!important; letter-spacing:0!important; text-transform:none!important; color:var(--c-navy); }
body.thm-site.page-start #main .thm-step-num { font:700 var(--t-d3)/1 var(--fd)!important; letter-spacing:0!important; color:var(--c-red)!important; }
body.thm-site.page-start #main .thm-step-legend { gap:12px; align-items:baseline; margin-bottom:16px; }
body.thm-site.page-start #main #thm-intake>fieldset { border-left:0; padding-left:0; }
body.thm-site #main :is(.font-display,.tabular-nums,[data-thm-total],[data-thm-pricing-total]):not(h1):not(h2):not(h3):not(h4) { font-family:var(--fd)!important; font-style:normal!important; font-weight:700!important; letter-spacing:0!important; }
body.thm-site.page-start #main [data-thm-addons]>.bg-thm-navy [data-thm-total] { font-size:28px!important; }
body.thm-site.page-start #main summary.font-display,
body.thm-site.page-start #main details>summary { font:600 var(--t-lead)/1.4 var(--fb)!important; letter-spacing:0!important; text-transform:none!important; }
:is(body.page-start, body.page-order-status) #main :is(h2,h3) { font-family:var(--fd)!important; }
:is(body.page-start, body.page-order-status) #main [class*="tracking-"]:not(h1):not(h2):not(h3):not(.tabular-nums) { letter-spacing:0; }
body.thm-site #main .thm-input { font:400 16px/1.5 var(--fb); border-color:var(--c-faint); }

@media (max-width:767px) {
  body.thm-site #main .thm-photo-copy>.flex { flex-direction:column; align-items:stretch; }
  body.thm-site #main .thm-photo-copy>.flex>:is(.btn-primary,.btn-outline) { width:100%; }
  body.thm-site.pricing-body #main .base-package { grid-template-columns:1fr; gap:14px; }
  body.thm-site.pricing-body #main .base-package>div:first-child { grid-row:auto; }
  body.thm-site.pricing-body #main .base-package .price-anchor { grid-column:1; max-width:none; }
  body.thm-site.pricing-body #main .pricing-inclusions { grid-template-columns:1fr; gap:8px; }
  body.thm-site #main .hero-facts-list { gap:20px 16px; }
  body.thm-site.home-body #main .hero-action>.button { width:100%; }
  body.thm-site #main .start-path { padding:18px 0; }
  body.thm-site.home-body.home #main .working-together li { grid-template-columns:36px 1fr; }
  body.thm-site .site-header .main-nav>.button { width:100%; margin:14px 0 0; }
}
@media (prefers-reduced-motion:reduce) {
  body.thm-site :is(.button,.btn-primary,.btn-outline,.support-primary) { transition:none; }
  body.thm-site :is(.button,.btn-primary,.btn-outline,.support-primary):active { transform:none!important; }
}
