/* Shared brand treatment on every public page; body and form copy stay Manrope. */
.thm-site.thm-marketing-design .site-header .main-nav>a,
.thm-site.thm-marketing-design.home-body .button,
.thm-site.thm-marketing-design.pricing-body .button,
.thm-site.home-body.home :is(.reel-service,.production-feature,.closing) .button,
.thm-site .site-header .main-nav>a,
.thm-site .site-header .button,
.thm-site .thm-mobile-order .button,
.thm-site .support-primary,
.thm-site .btn-primary {
  font-family:var(--font-display);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.thm-site.thm-marketing-design .site-header .main-nav>a:not(.button),
.thm-site .site-header .main-nav>a:not(.button) { font-size:15px; }
.thm-site.thm-marketing-design.home-body .button,
.thm-site.thm-marketing-design.pricing-body .button,
.thm-site.home-body.home :is(.reel-service,.production-feature,.closing) .button,
.thm-site .thm-mobile-order .button,
.thm-site .support-primary,
.thm-site .btn-primary { font-size:16px; }
.thm-site.pricing-body .page-lead h1,
.thm-site.page-start .thm-start-lead h1,
.thm-site.thm-legacy-marketing #main .support-hero h1,
.thm-site.thm-legacy-marketing #main .support-section h2,
.thm-site.thm-legacy-marketing #main .thm-contact-lead h1 {
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:-.015em;
  line-height:1.08;
  text-wrap:balance;
}
.thm-site.pricing-body .page-lead h1 { font-size:clamp(42px,4.2vw,56px); }
.thm-site.pricing-body :is(.base-package,.addons-title,.order-summary) h2 {
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:-.01em;
}
.thm-site.page-start .thm-start-lead { text-align:left; }
.thm-site.page-start .thm-start-lead h1 { font-size:clamp(34px,4vw,52px); max-width:20ch; }
.thm-site.page-start .thm-start-lead>p { max-width:58ch; }
.thm-site.thm-legacy-marketing #main .support-hero h1 { font-size:clamp(42px,5vw,68px); max-width:16ch; }
.thm-site.thm-legacy-marketing #main .support-section h2 { font-size:clamp(30px,3vw,40px); }
.thm-site.thm-legacy-marketing #main .thm-contact-lead h1 { font-size:clamp(38px,4.4vw,58px); max-width:17ch; }

/* The homepage uses the same display family, with an italic brand moment. */
.thm-site.home-body.home :is(.all-sports-note,.work-heading,.service-offer,.studio-description,.closing) h2,
.thm-site.home-body.home #questions h2 {
  font-family:'Barlow Semi Condensed',Impact,sans-serif;
  font-weight:700;
  letter-spacing:-.015em;
  line-height:1.08;
  font-size:clamp(38px,3.6vw,50px);
}
.thm-site.home-body.home .campaign-copy { max-width:720px; }
.thm-site.home-body.home .campaign-copy h1 {
  font:italic 800 clamp(70px,5.5vw,82px)/.94 'Barlow Semi Condensed',Impact,sans-serif;
  letter-spacing:-.018em;
  text-transform:uppercase;
  max-width:720px;
}
.thm-site.home-body.home .work-film:first-child figcaption { display:block; }
.thm-site.home-body.home .work-film:first-child h3 { margin:0 0 10px; }
.thm-site.home-body.home .work-feature-label {
  color:#53687a;
  font:700 11px/1.4 var(--font-body);
  letter-spacing:.12em;
  margin:0 0 12px;
}
.thm-site.home-body.home .work-feature-note {
  color:#40586d;
  font:400 15px/1.6 var(--font-body);
  margin:0 0 16px;
}

/* A real edited excerpt leads; the remaining sports form a compact index. */
@media(min-width:1050px) {
  .thm-site.home-body.home .sample-films {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:28px 20px;
  }
  .thm-site.home-body.home .work-film,
  .thm-site.home-body.home .work-film:nth-child(-n+2) { grid-column:span 1; }
  .thm-site.home-body.home .work-film:first-child {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(0,1fr);
    gap:28px;
    align-items:center;
    padding-bottom:26px;
    border-bottom:1px solid #cbd5dd;
  }
  .thm-site.home-body.home .work-film:first-child figcaption {
    display:block;
    padding:0 0 4px;
  }
  .thm-site.home-body.home .work-film:first-child h3 { font-size:28px; margin-bottom:12px; }
  .thm-site.home-body.home .work-feature-label { margin-bottom:16px; }
  .thm-site.home-body.home .work-feature-note { margin-bottom:22px; }
}

@media(max-width:650px) {
  .thm-site.home-body.home .campaign-copy h1 {
    font-size:clamp(44px,11.3vw,52px);
    line-height:.96;
    max-width:100%;
  }
  .thm-site.pricing-body .page-lead h1 { font-size:36px; }
  .thm-site.thm-legacy-marketing #main .support-hero h1 { font-size:38px; }
  .thm-site.thm-legacy-marketing #main .support-section h2 { font-size:29px; }
  .thm-site.home-body.home :is(.all-sports-note,.work-heading,.service-offer,.studio-description,.closing) h2,
  .thm-site.home-body.home #questions h2 { font-size:38px; }
  .thm-site.home-body.home .hero-action small,
  .thm-site.home-body.home .service-price span,
  .thm-site.home-body.home .service-offer .service-total-note { font-size:13px; }
}

/* Every visible heading uses the same heavy italic cut as the hero. */
body.thm-site :is(h1,h2,h3,h4) {
  font-family:var(--font-display) !important;
  font-style:italic !important;
  font-weight:800 !important;
  letter-spacing:-.018em !important;
}

/* Brand detail: the logo's hard red edge becomes a quiet, repeated page cue. */
body.thm-site .site-header { box-shadow:0 1px 0 #b7c8d6; }
body.thm-site .site-header::after {
  content:""; position:absolute; left:max(20px,calc((100vw - 1224px)/2)); bottom:-2px;
  width:64px; height:3px; background:#d52a30; pointer-events:none;
}
body.thm-site .site-footer { position:relative; }
body.thm-site .site-footer::before {
  content:""; position:absolute; top:-2px; left:max(20px,calc((100vw - 1224px)/2));
  width:64px; height:3px; background:#d52a30; pointer-events:none;
}
body.thm-site .footer-row { border-top:1px solid #c9d8e3; padding-top:22px; }

/* Page openings have a measured rule and a small registration mark. */
body.thm-site :is(.page-lead,.support-hero .support-wrap,.thm-start-lead,.thm-contact-lead>div) { position:relative; }
body.thm-site :is(.page-lead,.support-hero .support-wrap,.thm-start-lead,.thm-contact-lead>div)::before {
  content:""; display:block; width:35px; height:5px; margin-bottom:23px;
  background:#d52a30; transform:skewX(-20deg);
}
body.thm-site .page-lead::after {
  content:""; display:block; width:min(100%,560px); height:1px; margin-top:28px;
  background:linear-gradient(90deg,#bb3036 0 74px,#b9cbd8 74px 100%);
}
body.thm-site.thm-legacy-marketing #main>section:first-child:not(.support-hero) {
  background-image:linear-gradient(90deg,transparent calc(100% - 1px),#496d8b12 calc(100% - 1px));
  background-size:80px 80px;
}
body.thm-site .support-hero {
  background-image:linear-gradient(90deg,#ffffff0a 1px,transparent 1px),
    linear-gradient(#ffffff0a 1px,transparent 1px),
    radial-gradient(circle at 80% 0%,#e21f262e,transparent 45%);
  background-size:96px 96px,96px 96px,auto;
  background-color:#08233c;
}
body.thm-site .support-hero .support-wrap::before { margin-bottom:27px; }

/* Editorial section markers and precise frames support the footage. */
body.thm-site.home-body :is(.work-heading,.all-sports-note,.studio-description) { position:relative; }
body.thm-site.home-body .work-heading::before,
body.thm-site.home-body .studio-description::before {
  content:""; display:block; width:44px; height:3px; margin-bottom:19px; background:#c52c31;
}
body.thm-site.home-body .work-film .work-play { position:relative; }
body.thm-site.home-body .work-film .work-play::after {
  content:""; position:absolute; inset:10px; border:1px solid #f4f8fa68;
  clip-path:polygon(0 0,18px 0,18px 1px,calc(100% - 18px) 1px,calc(100% - 18px) 0,100% 0,100% 100%,0 100%);
  pointer-events:none;
}
body.thm-site.home-body .work-film { border-top:2px solid #9ab0c1; padding-top:11px; }
body.thm-site.home-body .work-film:first-child { border-top-color:#bc3034; }
body.thm-site.home-body .section-band--slate { background-image:linear-gradient(90deg,#102e4310 1px,transparent 1px); background-size:96px 100%; }

/* Pricing and support cards gain hierarchy without changing control behavior. */
body.thm-site.pricing-body :is(.base-package,.addon,.order-summary),
body.thm-site .support-topic,body.thm-site .support-guide { position:relative; }
body.thm-site.pricing-body .base-package::after,
body.thm-site.pricing-body .order-summary::after,
body.thm-site .support-topic::after,body.thm-site .support-guide::after {
  content:""; position:absolute; top:0; right:0; width:24px; height:24px;
  border-top:2px solid #d93a3e; border-right:2px solid #d93a3e;
  border-radius:0 6px 0 0; pointer-events:none;
}
body.thm-site .support-topic:hover,body.thm-site .support-topic:focus-visible { box-shadow:0 12px 24px #06182d24; }
body.thm-site .support-guide { border-left:3px solid #57758e; }
body.thm-site .support-guide:target { border-left-color:#f15a60; box-shadow:0 0 0 2px #f15a6055; }
body.thm-site .support-form-panel { border-top:3px solid #d83a3e; }

/* Long reading and intake screens use guides that leave their text and fields clear. */
body.thm-site.page-start .thm-start-lead { background-image:linear-gradient(90deg,#8ba4b01c 1px,transparent 1px); background-size:80px 100%; }
body.thm-site.page-start #thm-intake>fieldset { border-left:2px solid #a9bcc9; padding-left:20px; }
body.thm-site.page-start #thm-intake>fieldset:focus-within { border-left-color:#c12e34; }
body.thm-site.thm-legacy-marketing #main .prose { border-left:1px solid #c4d3de; padding-left:clamp(16px,3vw,28px); }
body.thm-site.thm-legacy-marketing #main .prose :is(h2,h3) { scroll-margin-top:105px; }
body.thm-site.thm-legacy-marketing #main .prose h2 { border-top:1px solid #c6d5df; padding-top:18px; }
body.thm-site.thm-legacy-marketing #main .prose h2:first-child { border-top:0; padding-top:0; }

@media(max-width:650px) {
  body.thm-site .site-header::after,body.thm-site .site-footer::before { left:20px; width:42px; }
  body.thm-site :is(.page-lead,.support-hero .support-wrap,.thm-start-lead,.thm-contact-lead>div)::before { margin-bottom:16px; }
  body.thm-site.page-start #thm-intake>fieldset { padding-left:12px; }
  body.thm-site.home-body .work-film .work-play::after { inset:6px; }
}

/* Targeted audit corrections. Preserve original page compositions and brand treatments. */
body.thm-site .thm-closing-cta a.btn-outline { color:#042844!important; background:#fff!important; border-color:#fff!important; }
body.thm-site .thm-closing-cta a.btn-outline:hover { color:#042844!important; background:#eaf1f5!important; }
body.thm-site .thm-closing-cta a.btn-outline:focus-visible { outline:3px solid #042844; outline-offset:4px; }
body.thm-site.page-start #main [data-thm-addon-conflict] { background:transparent; color:#40566a; padding:4px 0; border-radius:0; }

/* Sports photography added to existing inner-page heroes; home film treatment stays intact. */
body.thm-site #main .thm-photo-hero { position:relative; isolation:isolate; overflow:hidden; background:#042844!important; }
body.thm-site #main .thm-photo-hero>.thm-hero-photo { position:absolute; inset:0 0 0 auto; width:56%; height:100%; object-fit:cover; object-position:50% 0%; opacity:1!important; filter:none!important; }
body.thm-site #main .thm-photo-hero--hockey>.thm-hero-photo { object-position:50% 0%; }
body.thm-site #main .thm-photo-hero>.thm-photo-shade { position:absolute; inset:0; background:linear-gradient(90deg,#042844 22%,rgba(4,40,68,.98) 38%,rgba(4,40,68,.72) 55%,rgba(4,40,68,.08) 77%)!important; }
body.thm-site #main .thm-photo-copy { position:relative; z-index:1; padding-top:72px; padding-bottom:72px; }
body.thm-site #main .thm-photo-copy h1 { max-width:760px; font-size:clamp(44px,5.8vw,80px)!important; color:#fff!important; text-shadow:none; }
body.thm-site #main .thm-photo-copy h1 span { color:#dbe8f2!important; }
body.thm-site #main .thm-photo-copy>p { max-width:550px; color:#e0e9ef!important; }
body.thm-site #main .thm-photo-copy>p span,body.thm-site #main .thm-photo-copy .text-thm-white { color:#fff!important; }
body.thm-site #main .thm-photo-copy .text-thm-muted { color:#d4e1ea!important; }
body.thm-site #main .thm-photo-copy>span { color:#e3edf5!important; background:rgba(4,40,68,.7)!important; border-color:#6c889c!important; }
body.thm-site #main .thm-photo-copy>.grid { max-width:620px; border-color:#567084; }
body.thm-site #main .thm-photo-copy .btn-outline { color:#fff!important; background:#042844!important; border-color:#9ab1c3!important; }
@media(max-width:1024px) {
 body.thm-site #main .thm-photo-hero>.thm-hero-photo { position:relative; inset:auto; display:block; width:100%; height:300px; object-position:50% 0%; }
 body.thm-site #main .thm-photo-hero--hockey>.thm-hero-photo { object-position:50% 0%; }
 body.thm-site #main .thm-photo-hero>.thm-photo-shade { display:none; }
 body.thm-site #main .thm-photo-copy { padding-top:32px; padding-bottom:40px; }
 body.thm-site #main .thm-photo-copy h1 { font-size:clamp(44px,8vw,64px)!important; }
}

/* Typography refinement: keep the original composition and athletic headline face.
   Display, reading, utility and numeric roles have distinct, consistent settings. */
body.thm-site { font-family:var(--font-body); font-weight:450; }
body.thm-site #main :is(p,li) { font-weight:450; }
body.thm-site #main :is(h1,h2,h3,h4) { text-wrap:balance; letter-spacing:var(--track-display)!important; }
body.thm-site #main h1 { line-height:1!important; text-transform:uppercase; }
body.thm-site #main h2 { font-size:var(--type-section); line-height:1.07!important; text-transform:uppercase; }
body.thm-site #main h3 { font-size:var(--type-card); line-height:1.15!important; }
body.thm-site #main h4 { font-size:21px; line-height:1.2!important; }
body.thm-site.pricing-body #main .page-lead h1,
body.thm-site #main .support-hero h1,
body.thm-site #main .thm-contact-lead h1 { font-size:clamp(44px,5vw,68px)!important; }
body.thm-site #main :is(.page-lead,.support-hero,.thm-contact-lead)>p { line-height:1.65; max-width:54ch; }
body.thm-site.pricing-body #main :is(.base-package,.addons-title,.order-summary) h2 { font-size:30px; line-height:1.1!important; }
body.thm-site.pricing-body #main .addon h3 { font-size:25px; }
body.thm-site.pricing-body #main .summary-next h3 { font-size:21px; }
body.thm-site #main .support-guide h3 { font-size:28px; }
body.thm-site #main .support-topic strong { font:italic 800 25px/1.12 var(--font-display); letter-spacing:-.01em; }

/* Controls have a single upright athletic cut, including outline buttons. */
body.thm-site :is(.button,.btn-primary,.btn-outline,.support-primary,.sbtn),
body.thm-site .site-header .main-nav>a {
  font-family:var(--font-display)!important; font-style:normal!important; font-weight:800!important;
  font-size:16px!important; line-height:1.25!important; letter-spacing:.045em!important; text-transform:uppercase;
}
body.thm-site .site-header .main-nav>a:not(.button) { font-size:15px!important; letter-spacing:.055em!important; }
body.thm-site :is(.button,.btn-primary,.btn-outline,.support-primary):focus-visible { outline:3px solid #7dafce; outline-offset:4px; }
body.thm-site .site-header .main-nav>a[aria-current="page"] { text-decoration-thickness:2px; text-underline-offset:7px; }

/* Labels stay legible without the scattered, overly wide tracking. */
body.thm-site #main :is(.eyebrow,.support-kicker,.support-guide-number,.font-condensed,.thm-field-label,.thm-base-note,.package-label) {
  font-family:var(--font-body); font-style:normal; font-weight:700; letter-spacing:var(--track-label); line-height:1.5;
}
body.thm-site #main :is(.eyebrow,.support-kicker,.support-guide-number,.package-label) { font-size:var(--type-label); }
body.thm-site #main .font-condensed { letter-spacing:var(--track-label)!important; }
body.thm-site #main :is(.thm-field-label,.support-form-panel label) { letter-spacing:.01em; font-size:14px; font-weight:700; }
body.thm-site #main :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { font-family:var(--font-body); font-size:16px; font-weight:500; }
body.thm-site #main .thm-step-label { font:italic 800 28px/1.1 var(--font-display); text-transform:uppercase; letter-spacing:-.01em; }

/* Strong aligned numerals echo the sports identity and remain easy to compare. */
body.thm-site #main :is(.price,.service-price strong,.hero-action strong,.summary-total strong,[data-thm-total],[data-thm-pricing-total],.tabular-nums) {
  font-family:var(--font-display)!important; font-style:normal!important; font-weight:800!important;
  font-variant-numeric:tabular-nums lining-nums; letter-spacing:-.015em!important; line-height:1.05;
}
body.thm-site #main .thm-photo-copy>.grid .font-display { font:800 clamp(32px,3vw,44px)/1 var(--font-display)!important; letter-spacing:-.01em; }
body.thm-site.pricing-body #main .base-package .price { font-size:54px; }
body.thm-site.pricing-body #main .addon .price { font-size:24px; white-space:nowrap; }
body.thm-site.pricing-body #main .summary-total strong { font-size:48px; }
body.thm-site #main :is(.addon p,.summary-note,.support-guide p,.thm-optional-content p) { line-height:1.65; }

/* Quiet finishing details: keep the red rules, remove decorative corner brackets. */
body.thm-site.pricing-body .base-package::after,
body.thm-site.pricing-body .order-summary::after,
body.thm-site .support-topic::after,body.thm-site .support-guide::after { content:none; }
body.thm-site #main .prose { font-size:16px; line-height:1.85; }
body.thm-site #main .prose h2 { font-size:29px; margin-top:1.8em; margin-bottom:.65em; }
body.thm-site #main .prose h3 { font-size:24px; margin-top:1.5em; }
body.thm-site #main .prose :is(p,li) { max-width:70ch; }
body.thm-site #main :is(.support-guide,.addon,.base-package) { border-color:#c5d1da; }
@media(max-width:650px) {
  body.thm-site #main h2 { font-size:32px; }
  body.thm-site #main h3 { font-size:24px; }
  body.thm-site.pricing-body #main .page-lead h1,
  body.thm-site #main .support-hero h1,
  body.thm-site #main .thm-contact-lead h1 { font-size:44px!important; }
  body.thm-site.pricing-body #main .base-package .price { font-size:44px; }
  body.thm-site #main .prose h2 { font-size:27px; }
  body.thm-site #main .thm-step-label { font-size:25px; }
}

/* Home Film Room: balanced portfolio frames and direct, restrained captions. */
body.thm-site.home-body .home-film-room { padding-top:72px; padding-bottom:64px; scroll-margin-top:28px; }
body.thm-site.home-body .film-room-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:32px; }
body.thm-site.home-body .film-room-kicker { font:700 11px/1.4 var(--font-body); letter-spacing:.1em; text-transform:uppercase; color:#526b7d; margin-bottom:14px; }
body.thm-site.home-body #main .film-room-heading h2 { font-size:clamp(40px,4.8vw,64px); line-height:1!important; margin:0; }
body.thm-site.home-body .film-room-heading>p { font-size:15px; line-height:1.65; color:#40566a; margin:0; }
body.thm-site.home-body .film-room-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:30px 24px; }
body.thm-site.home-body .film-room-item { min-width:0; margin:0; grid-column:span 2; }
body.thm-site.home-body .film-room-item:nth-child(-n+2) { grid-column:span 3; }
body.thm-site.home-body .film-room-play { position:relative; display:block; width:100%; padding:0; border:0; border-radius:2px; overflow:hidden; background:#042844; cursor:pointer; }
body.thm-site.home-body .film-room-play img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; transition:opacity .2s ease; }
body.thm-site.home-body .film-room-play:hover img { opacity:.85; }
body.thm-site.home-body .film-room-playmark { position:absolute; bottom:16px; right:16px; width:44px; height:44px; display:grid; place-items:center; color:#fff; background:#042844e6; border:1px solid #ffffff8c; border-radius:50%; }
body.thm-site.home-body .film-room-playmark svg { width:20px; height:20px; fill:currentColor; }
body.thm-site.home-body .film-room-item figcaption { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 0 0; }
body.thm-site.home-body #main .film-room-item h3 { margin:0; font-size:27px; text-transform:uppercase; line-height:1.1!important; }
body.thm-site.home-body .film-room-item figcaption button { display:flex; align-items:center; gap:10px; min-height:36px; padding:0; color:#042844; background:transparent; border:0; font:700 12px/1.4 var(--font-body); cursor:pointer; }
body.thm-site.home-body .film-room-duration { color:#536b7c; font-variant-numeric:tabular-nums; font-weight:500; }
body.thm-site.home-body .film-room-item figcaption button:hover { text-decoration:underline; text-underline-offset:5px; }
body.thm-site.home-body .film-room-footer { display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid #bdcbd5; margin-top:34px; padding-top:20px; }
body.thm-site.home-body .film-room-footer p { font-size:12px; color:#536b7c; margin:0; }
body.thm-site.home-body .film-room-footer a { color:#042844; font:800 15px/1.4 var(--font-display); letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; text-decoration:underline; text-underline-offset:5px; }
@media(max-width:767px) {
 body.thm-site.home-body .home-film-room { padding-top:44px; padding-bottom:44px; }
 body.thm-site.home-body .film-room-heading { display:block; margin-bottom:26px; }
 body.thm-site.home-body .film-room-heading>p { margin-top:18px; }
 body.thm-site.home-body .film-room-grid { grid-template-columns:1fr; gap:28px; }
 body.thm-site.home-body .film-room-item,body.thm-site.home-body .film-room-item:nth-child(-n+2) { grid-column:auto; }
 body.thm-site.home-body .film-room-item figcaption { padding-top:9px; }
 body.thm-site.home-body .film-room-footer { align-items:start; flex-direction:column; gap:16px; }
}
@media(min-width:768px) and (max-width:1000px) {
 body.thm-site.home-body #main .film-room-item:nth-child(n+3) h3 { font-size:23px; }
 body.thm-site.home-body .film-room-item:nth-child(n+3) figcaption { gap:8px; }
}
@media(prefers-reduced-motion:reduce) { body.thm-site.home-body .film-room-play img { transition:none; } }

/* Shared masthead and actions: precise spacing, squared edges and brand color. */
body.thm-site { --action-red:#cc202b; --action-red-hover:#ad1721; }
body.thm-site .site-header,body.thm-site.thm-marketing-design .site-header { background:#fff; border-bottom:1px solid #d7dfe5; box-shadow:none; }
body.thm-site .site-header::after { content:none; }
body.thm-site .site-header .nav-inner { min-height:96px; }
body.thm-site .site-header .main-nav { gap:28px; }
body.thm-site .site-header .main-nav>a:not(.button) { position:relative; padding:0; color:#18364b; font-size:15px!important; letter-spacing:.04em!important; text-decoration:none; }
body.thm-site .site-header .main-nav>a:not(.button)::after { content:""; position:absolute; left:0; right:0; bottom:3px; height:2px; background:var(--action-red); transform:scaleX(0); transform-origin:left; transition:transform .16s ease; }
body.thm-site .site-header .main-nav>a:not(.button):is(:hover,[aria-current="page"])::after { transform:scaleX(1); }
body.thm-site .site-header .main-nav>a:not(.button):hover { color:#042844; }
body.thm-site :is(.button,.btn-primary,.support-primary):not(.secondary):not(.btn-outline) { background:var(--action-red); color:#fff; border:1px solid transparent; border-radius:2px; box-shadow:none; text-decoration:none; transition:background-color .16s ease,border-color .16s ease; }
body.thm-site :is(.button,.btn-primary,.support-primary):not(.secondary):not(.btn-outline):hover:not(:disabled) { background:var(--action-red-hover); box-shadow:none; transform:none; text-decoration:none; }
body.thm-site :is(.button,.btn-primary,.support-primary):not(.secondary):not(.btn-outline):active:not(:disabled) { background:#8f1520; }
body.thm-site .site-header .main-nav>.button { min-height:48px; min-width:176px; padding:12px 20px; gap:22px; margin-left:8px; background:#042844; color:#fff; font-size:15px!important; letter-spacing:.04em!important; }
body.thm-site .site-header .main-nav>.button:hover { background:#123e5b; }
body.thm-site .header-cta-arrow { width:20px; height:20px; flex-shrink:0; }
body.thm-site.home-body .hero-action>.button { min-height:54px; padding:14px 22px; gap:24px; }
body.thm-site .thm-mobile-order[data-thm-mobile-order] .button { border-radius:2px; background:var(--action-red); }
body.thm-site #main .closing .button { background:var(--action-red); color:#fff; }
body.thm-site #main .closing .button:hover { background:var(--action-red-hover); }
body.thm-site .site-header .menu-toggle { align-items:center; justify-content:center; gap:12px; border:1px solid #c5d0d8; border-radius:2px; background:#fff; color:#042844; padding:11px 14px; font:800 14px/1.3 var(--font-display); letter-spacing:.045em; text-transform:uppercase; }
body.thm-site .menu-toggle-icon { display:block; position:relative; width:17px; height:12px; }
body.thm-site .menu-toggle-icon::before,body.thm-site .menu-toggle-icon::after { content:""; position:absolute; left:0; width:17px; height:2px; background:currentColor; transition:transform .16s ease; }
body.thm-site .menu-toggle-icon::before { top:2px; }
body.thm-site .menu-toggle-icon::after { bottom:2px; }
body.thm-site .menu-toggle[aria-expanded="true"] .menu-toggle-icon::before { transform:translateY(3px) rotate(45deg); }
body.thm-site .menu-toggle[aria-expanded="true"] .menu-toggle-icon::after { transform:translateY(-3px) rotate(-45deg); }
@media(min-width:981px) and (max-width:1150px) {
 body.thm-site .site-header .main-nav { gap:18px; }
 body.thm-site .site-header .main-nav>.button { min-width:164px; padding-inline:16px; margin-left:0; }
 body.thm-site .site-header .brand-logo { width:230px; height:59px; }
}
@media(max-width:980px) {
 body.thm-site .site-header .nav-inner { min-height:80px; }
 body.thm-site .site-header .menu-toggle { display:inline-flex; }
 body.thm-site .site-header .main-nav.open { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; margin:0; padding:8px 0 24px; border-radius:0; background:transparent; }
 body.thm-site .site-header .main-nav>a:not(.button) { min-height:52px; border-top:1px solid #dce3e9; }
 body.thm-site .site-header .main-nav>a:not(.button)::after { right:auto; width:28px; bottom:7px; }
 body.thm-site .site-header .main-nav>.button { grid-column:1/-1; width:100%; margin:14px 0 0; min-height:50px; }
}
@media(max-width:650px) {
 body.thm-site .site-header .wrap.nav-inner { width:calc(100% - 40px); }
 body.thm-site .site-header .brand { margin-left:-13px; }
 body.thm-site .site-header .brand-logo { width:210px; height:54px; }
}
@media(max-width:360px) {
 body.thm-site .site-header .wrap.nav-inner { width:calc(100% - 32px); }
 body.thm-site .site-header .brand-logo { width:184px; height:48px; }
 body.thm-site .site-header .brand { margin-left:-11px; }
 body.thm-site .site-header .menu-toggle { gap:8px; padding-inline:11px; }
}
@media(prefers-reduced-motion:reduce) {
 body.thm-site .site-header .main-nav>a:not(.button)::after,
 body.thm-site .menu-toggle-icon::before,body.thm-site .menu-toggle-icon::after,
 body.thm-site :is(.button,.btn-primary,.support-primary) { transition:none; }
}

/* Sport pages: retain the composition; use factual offer details and quieter cards. */
body.thm-site #main .thm-sport-hero--plain { background:#042844; }
body.thm-site #main .thm-sport-hero--plain>[aria-hidden="true"] { display:none; }
body.thm-site #main .thm-sport-detail :is(.btn-primary,.btn-outline) { border-radius:2px; box-shadow:none; }
body.thm-site #main .thm-sport-detail .sport-facts { background:#f7f9fb; border-bottom:1px solid #cbd5de; }
body.thm-site #main .thm-sport-detail .sport-facts dl { display:grid; grid-template-columns:.75fr 1fr 1.1fr 1.3fr; gap:28px; margin:0; padding:28px 0; }
body.thm-site #main .thm-sport-detail .sport-facts dt { font:700 11px/1.4 var(--font-body); letter-spacing:.075em; text-transform:uppercase; color:#536b7c; margin-bottom:8px; }
body.thm-site #main .thm-sport-detail .sport-facts dd { font:800 23px/1.15 var(--font-display); color:#042844; margin:0; }
body.thm-site #main .thm-sport-detail .sport-facts small { display:block; font:500 12px/1.5 var(--font-body); color:#536b7c; margin-top:5px; }
body.thm-site #main .thm-sport-detail .sport-guidance>div { padding-block:76px; }
body.thm-site #main .thm-sport-detail .sport-section-label { font:700 11px/1.4 var(--font-body); letter-spacing:.075em; text-transform:uppercase; color:#536b7c; margin:0 0 18px; }
body.thm-site #main .thm-sport-detail .sport-guidance h2 { font-size:clamp(32px,3.2vw,44px); }
body.thm-site #main .thm-sport-detail .sport-guidance h3 { font-size:23px; margin:0 0 14px; }
body.thm-site #main .thm-sport-detail .sport-guidance p { max-width:56ch; }
body.thm-site #main .thm-sport-detail .sport-footage-help { margin-top:22px; font-size:14px; color:#40586d; }
body.thm-site #main .thm-sport-detail .sport-stats-note { padding-bottom:24px; border-bottom:1px solid #c3d0da; }
body.thm-site #main .thm-sport-detail .sport-stats-note p { margin:0; line-height:1.8; }
body.thm-site #main .thm-sport-detail .sport-stats-note .sport-note { margin-top:10px; font-size:13px; color:#536b7c; }
body.thm-site #main .thm-sport-detail .thm-price-section { background:#f7f9fb; }
body.thm-site #main .thm-sport-detail .thm-price-decoration { display:none; }
body.thm-site #main .thm-sport-detail .thm-price-section article { transform:none; }
body.thm-site #main .thm-sport-detail :is(.thm-price-base-card,.thm-price-addon-card) { border:1px solid #c4d0d9; border-radius:2px; background:#fff; box-shadow:none; }
body.thm-site #main .thm-sport-detail .thm-price-base-card { border-top:3px solid #042844; }
body.thm-site #main .thm-sport-detail .thm-price-base-card .tabular-nums { font-size:64px; }
body.thm-site #main .thm-sport-detail .thm-price-section h2 { font-size:clamp(32px,3.2vw,44px); }
body.thm-site #main .thm-sport-detail .thm-price-addon-card>div:first-child { flex-direction:column; align-items:start; gap:12px; }
body.thm-site #main .thm-sport-detail .thm-price-addon-card h3 { font-size:24px; }
body.thm-site #main .thm-sport-detail .thm-price-addon-card .tabular-nums { font-size:28px; color:#042844; }
body.thm-site #main .thm-sport-detail .thm-price-addon-card .btn-outline { padding-inline:12px; font-size:15px!important; letter-spacing:.025em!important; }
body.thm-site #main .thm-sport-detail .thm-price-section>div>p:last-child { text-transform:none; letter-spacing:0; font:500 13px/1.6 var(--font-body); }
@media(max-width:767px) {
 body.thm-site #main .thm-sport-detail .sport-facts dl { grid-template-columns:1fr 1fr; gap:24px 18px; padding:25px 0; }
 body.thm-site #main .thm-sport-detail .sport-facts dd { font-size:21px; }
 body.thm-site #main .thm-sport-detail .sport-guidance>div { padding-block:48px; }
 body.thm-site #main .thm-sport-detail .thm-price-base-card { padding:25px; }
}

/* Pricing decision surface: one included offer, ruled choices and a clear total. */
body.thm-site.pricing-body #main .base-package { border:1px solid #c5d1da; border-top:3px solid #042844; border-radius:2px; background:#fff; box-shadow:none; gap:28px; }
body.thm-site.pricing-body #main .base-package-price { flex:0 0 128px; }
body.thm-site.pricing-body #main .base-package .thm-value-note { font-size:13px; line-height:1.6; }
body.thm-site.pricing-body #main .pricing-inclusions { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:10px 22px; margin:22px 0 0; padding:0; font:500 14px/1.5 var(--font-body); color:#18364b; }
body.thm-site.pricing-body #main .pricing-inclusions li { position:relative; padding-left:17px; }
body.thm-site.pricing-body #main .pricing-inclusions li::before { content:""; position:absolute; top:.58em; left:0; width:5px; height:5px; background:#416580; }
body.thm-site.pricing-body #main .pricing-sample-link { margin:14px 0 0; font:600 13px/1.6 var(--font-body); }
body.thm-site.pricing-body #main .pricing-sample-link a { color:#294e69; text-decoration:underline; text-underline-offset:4px; }
body.thm-site.pricing-body #main .pricing-sample-link span { display:inline-block; margin-left:8px; }
body.thm-site.pricing-body #main .pricing-extras { border-top:1px solid #b5c5d1; }
body.thm-site.pricing-body #main .addon { margin:0; padding:25px 20px; border:0; border-bottom:1px solid #c5d1da; border-left:3px solid transparent; border-radius:0; background:#fff; box-shadow:none; transition:background-color .16s ease,border-color .16s ease; }
body.thm-site.pricing-body #main .addon:hover { background:#f5f8fa; box-shadow:none; }
body.thm-site.pricing-body #main .addon:focus-within { outline:2px solid #386c93; outline-offset:-2px; box-shadow:none; }
body.thm-site.pricing-body #main .addon input:focus-visible { outline:none; box-shadow:none; }
body.thm-site.pricing-body #main .addon:has(input:checked) { background:#e8f0f5; border-left-color:#042844; box-shadow:none; }
body.thm-site.pricing-body #main .addon:has(input:disabled) { background:#f0f3f6; color:#536b7c; border-left-color:transparent; opacity:1; cursor:default; }
body.thm-site.pricing-body #main .addon input { border-radius:2px; }
body.thm-site.pricing-body #main .addon input:checked { background:#042844; border-color:#042844; }
body.thm-site.pricing-body #main .addon .addon-availability { color:#40586d; }
body.thm-site.pricing-body #main .addon .fine { font-size:13px; }
/* The row explains availability; retain the shared live announcement without repeating it visually. */
body.thm-site.pricing-body #main [data-thm-pricing-conflict] { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
body.thm-site.pricing-body #main .order-summary { border-radius:2px; border:0; box-shadow:none; margin-top:0; }
body.thm-site.pricing-body #main .order-summary h2 { margin:12px 0 22px; }
body.thm-site.pricing-body #main .summary-step { margin:12px 0 0; color:#c5d6e3; font:500 14px/1.6 var(--font-body); }
body.thm-site.pricing-body #main .pricing-terms { margin:24px 0 0; border-top:1px solid #ffffff26; padding-top:20px; display:grid; gap:18px; }
body.thm-site.pricing-body #main .pricing-terms dt { font:700 11px/1.4 var(--font-body); letter-spacing:.07em; text-transform:uppercase; color:#fff; margin-bottom:6px; }
body.thm-site.pricing-body #main .pricing-terms dd { margin:0; font:450 14px/1.65 var(--font-body); color:#c5d6e3; }
body.thm-site.pricing-body #main .summary-next { margin-top:22px; padding-top:20px; }
body.thm-site.pricing-body #main .summary-next h3 { font-size:22px; }
body.thm-site.pricing-body #main .summary-next p { font-size:14px; }
@media(max-width:650px) {
 body.thm-site.pricing-body #main .base-package { padding:22px; }
 body.thm-site.pricing-body #main .base-package-price { display:flex; gap:18px; align-items:center; margin-top:24px; padding-top:20px; border-top:1px solid #c5d1da; }
 body.thm-site.pricing-body #main .base-package-price .thm-value-note { margin:0; }
 body.thm-site.pricing-body #main .pricing-inclusions { gap:10px 16px; font-size:14px; }
 body.thm-site.pricing-body #main .addon { padding:22px 12px; gap:12px; }
 body.thm-site.pricing-body #main .addon h3 { font-size:24px; }
 body.thm-site.pricing-body #main .addon .price { font-size:23px; }
 body.thm-site.pricing-body #main .order-summary { padding:25px; }
}
@media(prefers-reduced-motion:reduce) { body.thm-site.pricing-body #main .addon { transition:none; } }

/* Process and audience pages: ruled editorial sections, numbered actions only. */
body.thm-site #main .thm-guide-section>div { padding-block:76px; }
body.thm-site #main .thm-guide-section h2 { font-size:clamp(32px,3.2vw,44px); }
body.thm-site #main .thm-guide-note { background:#f7f9fb; }
body.thm-site #main .thm-guide-note>div { padding-block:28px; }
body.thm-site #main .thm-guide-note p { max-width:88ch; margin:0; color:#40586d; font:450 15px/1.8 var(--font-body); }
body.thm-site #main .thm-guide-note strong { color:#042844; font-weight:750; }
body.thm-site #main .thm-guide-grid { gap:0 48px; margin-top:36px; }
body.thm-site #main .thm-guide-grid article { padding:26px 0 30px; border:0; border-top:1px solid #b8c8d4; border-radius:0; box-shadow:none; background:transparent; transform:none; }
body.thm-site #main .thm-guide-grid article h3 { margin:0 0 12px; font-size:24px; }
body.thm-site #main .thm-guide-grid article p { margin:0; max-width:58ch; font-size:15px; line-height:1.8; }
body.thm-site #main .thm-guide-steps { margin-top:36px; }
body.thm-site #main .thm-guide-steps article { margin:0; padding:30px 0; border:0; border-top:1px solid #b8c8d4; border-radius:0; box-shadow:none; background:transparent; }
body.thm-site #main .thm-guide-steps article:last-child { border-bottom:1px solid #b8c8d4; }
body.thm-site #main .thm-guide-steps article h3 { font-size:26px; }
body.thm-site #main .thm-guide-number { min-width:48px; font:800 36px/1 var(--font-display); color:#b22128; font-style:italic; letter-spacing:-.02em; padding-top:2px; }
@media(max-width:767px) {
 body.thm-site #main .thm-guide-section>div { padding-block:48px; }
 body.thm-site #main .thm-guide-note>div { padding-block:24px; }
 body.thm-site #main .thm-guide-grid { margin-top:26px; }
 body.thm-site #main .thm-guide-grid article { padding-block:24px; }
 body.thm-site #main .thm-guide-steps article { padding-block:26px; }
 body.thm-site #main .thm-guide-steps article>div.flex { gap:16px; }
 body.thm-site #main .thm-guide-steps article.flex { gap:16px; }
 body.thm-site #main .thm-guide-number { min-width:32px; font-size:28px; }
 body.thm-site #main .thm-guide-steps article h3 { font-size:24px; }
}

body.thm-site #main .thm-guide-hero :is(.btn-primary,.btn-outline) { border-radius:2px; box-shadow:none; }

/* Films page: one introduction, immediate footage, a single offer below. */
body.thm-site #main .thm-films-page .page-lead { padding:40px 0 30px; }
body.thm-site #main .thm-films-page .page-lead::before,
body.thm-site #main .thm-films-page .page-lead::after { content:none; }
body.thm-site #main .thm-films-page .page-lead h1 { margin:14px 0 18px; }
body.thm-site #main .thm-films-page .page-lead>p:not(.eyebrow) { max-width:58ch; font-size:17px; }
body.thm-site #main .thm-films-page .section-band--slate { background:#f7f9fb; border:0; }
body.thm-site #main .thm-films-page .work-portfolio { padding:0 0 48px; }
body.thm-site #main .thm-films-page .sample-films { row-gap:28px; }
body.thm-site #main .thm-films-page .work-film { border:0; padding:0; }
body.thm-site #main .thm-films-page .work-play { border-radius:2px; box-shadow:none; }
body.thm-site #main .thm-films-page .work-play::after { content:none; }
body.thm-site #main .thm-films-page .work-play-icon { width:42px; height:42px; bottom:14px; right:14px; border-radius:2px; background:#042844e6; color:#fff; border:1px solid #ffffff80; }
body.thm-site #main .thm-films-page .work-caption-play { gap:10px; min-height:44px; }
body.thm-site #main .thm-films-page .work-caption-play .film-duration { margin:0; font:500 12px/1.4 var(--font-body); color:#536b7c; font-variant-numeric:tabular-nums; }
body.thm-site #main .thm-films-page .films-note { margin:26px 0 0; color:#536b7c; font:500 12px/1.7 var(--font-body); }
body.thm-site #main .thm-films-page .films-next { display:flex; justify-content:space-between; align-items:center; gap:28px; margin-top:30px; padding-top:30px; border-top:1px solid #bdccd7; }
body.thm-site #main .thm-films-page .films-offer { display:flex; gap:24px; align-items:center; }
body.thm-site #main .thm-films-page .films-offer strong { font:800 48px/1 var(--font-display); color:#042844; font-variant-numeric:tabular-nums; letter-spacing:-.035em; }
body.thm-site #main .thm-films-page .films-offer p { font:650 15px/1.6 var(--font-body); color:#042844; }
body.thm-site #main .thm-films-page .films-offer p span { font-size:13px; font-weight:450; color:#536b7c; }
body.thm-site #main .thm-films-page .films-actions { display:flex; align-items:center; gap:24px; }
body.thm-site #main .thm-films-page .films-pricing-link { display:inline-flex; align-items:center; min-height:44px; color:#294e69; font:600 14px/1.5 var(--font-body); text-decoration:underline; text-underline-offset:4px; }
@media(max-width:767px) {
 body.thm-site #main .thm-films-page .page-lead { padding:28px 0 24px; }
 body.thm-site #main .thm-films-page .page-lead h1 { margin:10px 0 14px; }
 body.thm-site #main .thm-films-page .page-lead>p:not(.eyebrow) { font-size:16px; }
 body.thm-site #main .thm-films-page .work-portfolio { padding-bottom:34px; }
 body.thm-site #main .thm-films-page .films-next { align-items:stretch; flex-direction:column; gap:22px; }
 body.thm-site #main .thm-films-page .films-actions { flex-direction:column; gap:10px; }
 body.thm-site #main .thm-films-page .films-actions .button { width:100%; }
 body.thm-site #main .thm-films-page .films-offer { gap:20px; }
 body.thm-site #main .thm-films-page .films-offer strong { font-size:42px; }
}

/* Cover designs are a secondary presentation detail, separate from the films. */
body.thm-site #main .thm-cover-showcase { padding:36px 0; background:#edf2f6; border-top:1px solid #cbd8e2; scroll-margin-top:24px; }
body.thm-site #main .thm-cover-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.5fr); gap:40px; align-items:center; }
body.thm-site #main .thm-cover-heading h2 { margin:0 0 12px; font-size:28px; line-height:1.1; text-transform:uppercase; color:#042844; }
body.thm-site #main .thm-cover-heading p { margin:0; max-width:38ch; color:#536b7c; font:450 13px/1.65 var(--font-body); }
body.thm-site #main .thm-cover-heading .thm-cover-kicker { margin-bottom:12px; font-size:11px; font-weight:700; letter-spacing:.085em; text-transform:uppercase; }
body.thm-site #main .thm-cover-showcase .demo-covers-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
body.thm-site #main .thm-cover-showcase figure { min-width:0; margin:0; }
body.thm-site #main .thm-cover-showcase img { display:block; width:100%; height:auto; aspect-ratio:1672/941; object-fit:contain; border-radius:0; }
body.thm-site #main .thm-cover-showcase figcaption { margin-top:8px; color:#536b7c; font:600 12px/1.5 var(--font-body); }
body.thm-site #main .thm-films-page .thm-films-closing { padding-block:32px 40px; }
body.thm-site #main .thm-films-page .thm-films-closing .films-next { margin:0; padding:0; border:0; }
@media(max-width:1023px) {
 body.thm-site #main .thm-cover-layout { grid-template-columns:1fr; gap:24px; }
 body.thm-site #main .thm-cover-heading p { max-width:58ch; }
}
@media(max-width:767px) {
 body.thm-site #main .thm-cover-showcase { padding-block:28px; }
 body.thm-site #main .thm-cover-heading h2 { font-size:25px; margin-bottom:10px; }
 body.thm-site #main .thm-cover-showcase .demo-covers-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 14px; }
 body.thm-site #main .thm-films-page .thm-films-closing { padding-block:28px 34px; }
}

/* Live audit corrections: shared controls, readable utility screens and direct film access. */
body.thm-site #main :is(.button,.btn-primary,.btn-outline,.support-primary) {
 border-radius:2px; min-height:48px; max-width:100%; white-space:normal; text-transform:uppercase;
}
body.thm-site .site-header .menu-toggle:focus-visible { outline:3px solid #176a9d; outline-offset:4px; }
body.thm-site .thm-order-availability { background:#eaf0f4; border-bottom:1px solid #c5d1da; color:#29465d; }
body.thm-site .thm-order-availability>.wrap { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:2px 20px; padding-block:8px; }
body.thm-site .thm-order-availability p { margin:0; color:#29465d; font:600 12px/1.6 var(--font-body); }
body.thm-site .thm-order-availability a { color:#29465d; font:650 12px/1.6 var(--font-body); text-decoration:underline; text-underline-offset:3px; padding-block:4px; }
body.thm-site.page-start #main .thm-order-closed { max-width:none; background:#042844; padding:80px 0 88px; }
body.thm-site.page-start #main .thm-order-closed>.wrap { max-width:1000px; }
body.thm-site.page-start #main .thm-order-closed h1 { max-width:16ch; font-size:clamp(44px,5.8vw,76px); color:#fff; margin:20px 0 24px; }
body.thm-site.page-start #main .thm-order-closed p { max-width:58ch; color:#dce8f1; font-size:17px; line-height:1.7; }
body.thm-site.page-start #main .thm-order-closed .thm-start-eyebrow { font:700 12px/1.6 var(--font-body); letter-spacing:.085em; color:#dce8f1; }
body.thm-site #main .thm-availability-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 28px; margin-top:32px; }
body.thm-site #main .thm-availability-actions .btn-primary { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 22px; color:#fff; }
body.thm-site.page-start #main .thm-order-closed a:not(.btn-primary) { color:#fff; text-decoration:underline; text-underline-offset:4px; }
body.thm-site #main .thm-availability-link { padding-block:12px; font-size:14px; }
body.thm-site.page-start #main .thm-order-closed .thm-availability-help { border-top:1px solid #668296; padding-top:24px; margin-top:36px; font-size:14px; }
body.thm-site #main .thm-photo-copy .text-thm-red,
body.thm-site.thm-order-utility #main>section:first-child .text-thm-red { color:#dce8f1; }
body.thm-site #main .thm-contact-order-card .text-thm-red { color:#992229; }
body.thm-site #main .thm-contact-email { font:650 clamp(15px,4vw,18px)/1.6 var(--font-body); letter-spacing:-.015em; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:4px; }
body.thm-site #main .thm-film-jump { display:inline-flex; align-items:center; gap:14px; min-height:44px; color:#294e69; font:700 14px/1.5 var(--font-body); text-decoration:underline; text-underline-offset:5px; }
body.thm-site #main .film-room-intro { max-width:42ch; }
body.thm-site #main .film-room-intro p { color:#536b7c; font:450 15px/1.7 var(--font-body); margin:0; }
body.thm-site #main .film-room-intro .thm-film-jump { margin-top:8px; }
body.thm-site #main #film-excerpts { scroll-margin-top:28px; }
body.thm-site #main .thm-films-page .page-lead h1 { font-size:clamp(44px,5vw,68px); }
body.thm-site #main :is(.hero-action small,.service-price span,.service-total-note) { font-size:14px; line-height:1.6; }
body.thm-site #main :is(.film-room-kicker,.demo-cover-label,.sport-section-label,.sport-facts dt,.pricing-terms dt) { font-size:12px; }
body.thm-site.pricing-body #main .summary-next a { color:#fff; text-decoration:underline; text-underline-offset:4px; }

/* Legal text has a quiet reading hierarchy and a keyboard-accessible section index. */
body.thm-site #main .thm-legal-document a { text-decoration:underline; text-underline-offset:3px; }
body.thm-site #main .thm-legal-document .prose :is(h2,h3) { font-family:var(--font-body)!important; font-style:normal!important; font-weight:750!important; text-transform:none; text-wrap:pretty; letter-spacing:-.02em!important; line-height:1.35!important; scroll-margin-top:28px; }
body.thm-site #main .thm-legal-document .prose h2 { font-size:25px; }
body.thm-site #main .thm-legal-document .prose h3 { font-size:21px; }
body.thm-site #main .thm-legal-index { margin-bottom:40px; border-top:1px solid #b7c8d6; border-bottom:1px solid #b7c8d6; }
body.thm-site #main .thm-legal-index summary { padding:18px 0; font:700 16px/1.5 var(--font-body); color:#042844; cursor:pointer; }
body.thm-site #main .thm-legal-index ol { list-style:none; padding:0 0 18px; margin:0; }
body.thm-site #main .thm-legal-index a { display:block; padding:8px 0; color:#294e69; font:600 14px/1.6 var(--font-body); }
@media(max-width:767px) {
 body.thm-site.page-start #main .thm-order-closed { padding-block:48px; }
 body.thm-site #main .thm-availability-actions { align-items:stretch; flex-direction:column; gap:8px; }
 body.thm-site #main .thm-availability-link { text-align:center; }
 body.thm-site #main .thm-sport-detail .thm-price-addon-card { padding:22px 20px; border-width:1px 0 0; background:transparent; }
 body.thm-site #main .thm-sport-detail .thm-price-addon-card>div:first-child { flex-direction:row; align-items:baseline; gap:16px; }
 body.thm-site #main .thm-sport-detail .thm-price-addon-card .tabular-nums { flex-shrink:0; font-size:25px; }
 body.thm-site #main .thm-legal-document .prose h2 { font-size:23px; }
}

/* Second audit pass: questions read as questions, with category navigation. */
body.thm-site #main .thm-faq-page { background:#f7f9fb; color:#042844; }
body.thm-site #main .thm-faq-hero { border-bottom:1px solid #c5d1da; padding:64px 0 0; }
body.thm-site #main .thm-faq-kicker { margin:0 0 20px; color:#536b7c; font:700 12px/1.5 var(--font-body); text-transform:uppercase; letter-spacing:.085em; }
body.thm-site #main .thm-faq-hero h1 { font-size:clamp(44px,5vw,68px); max-width:18ch; margin:0 0 24px; }
body.thm-site #main .thm-faq-hero p:not(.thm-faq-kicker) { max-width:58ch; font-size:17px; line-height:1.7; color:#40586d; }
body.thm-site #main .thm-faq-hero p.thm-faq-availability { margin-top:18px; font-size:14px; }
body.thm-site #main .thm-faq-availability a { color:#294e69; text-decoration:underline; text-underline-offset:4px; }
body.thm-site #main .thm-faq-nav { display:flex; flex-wrap:wrap; gap:0 32px; margin-top:32px; }
body.thm-site #main .thm-faq-nav a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; color:#042844; font:700 14px/1.5 var(--font-body); text-decoration:underline; text-underline-offset:5px; }
body.thm-site #main .thm-faq-section { display:grid; grid-template-columns:minmax(180px,.65fr) minmax(0,1.65fr); gap:60px; padding-block:52px; scroll-margin-top:24px; }
body.thm-site #main .thm-faq-section + .thm-faq-section { border-top:1px solid #c5d1da; }
body.thm-site #main .thm-faq-section h2 { font-size:32px; margin:0; text-align:left; text-wrap:initial; }
body.thm-site #main .thm-faq-answers { border-top:1px solid #b7c8d6; min-width:0; }
body.thm-site #main .thm-faq-answers details { border-bottom:1px solid #b7c8d6; }
body.thm-site #main .thm-faq-answers summary { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:64px; padding:20px 0; color:#042844; font:650 17px/1.55 var(--font-body); cursor:pointer; list-style:none; }
body.thm-site #main .thm-faq-answers summary::-webkit-details-marker { display:none; }
body.thm-site #main .thm-faq-answers summary::marker { content:""; }
body.thm-site #main .thm-faq-answers summary:hover { color:#992229; }
body.thm-site #main .thm-faq-toggle { position:relative; flex:0 0 20px; width:20px; height:20px; }
body.thm-site #main .thm-faq-toggle::before,body.thm-site #main .thm-faq-toggle::after { content:""; position:absolute; inset:9px 3px auto; height:2px; background:currentColor; }
body.thm-site #main .thm-faq-toggle::after { transform:rotate(90deg); }
body.thm-site #main details[open] .thm-faq-toggle::after { transform:none; }
body.thm-site #main .thm-faq-answer { padding:0 40px 24px 0; }
body.thm-site #main .thm-faq-answer p { font:450 16px/1.75 var(--font-body); color:#40586d; margin:0; max-width:70ch; }

/* The three process steps share a row on desktop and the full reading width on phones. */
body.thm-site #main .thm-process-section>div { max-width:1280px; }
body.thm-site #main .thm-process-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
body.thm-site #main .thm-process-steps article:last-child { border-bottom:0; }
body.thm-site #main .thm-process-steps article>div.flex { display:grid; grid-template-columns:32px minmax(0,1fr); gap:18px 12px; }
body.thm-site #main .thm-process-steps article>div.flex>.flex-1 { display:contents; }
body.thm-site #main .thm-process-steps .thm-guide-number { min-width:0; font-size:28px; }
body.thm-site #main .thm-process-steps h3 { grid-column:2; margin:0; font-size:25px; }
body.thm-site #main .thm-process-steps :is(p,ul) { grid-column:1/-1; margin:0; }
body.thm-site #main .thm-process-steps article p { font-size:15px; line-height:1.7; }
body.thm-site #main .thm-process-steps li { font-size:14px; line-height:1.6; }

/* Sport offer: one included reel beside four compact, fully described extras. */
body.thm-site #main .thm-sport-offer { background:#f7f9fb; border-block:1px solid #c5d1da; }
body.thm-site #main .thm-sport-offer>.wrap { padding-block:64px; }
body.thm-site #main .thm-sport-offer-heading { max-width:68ch; margin-bottom:36px; }
body.thm-site #main .thm-sport-offer-heading h2 { margin:0 0 18px; }
body.thm-site #main .thm-sport-offer-heading>p:last-child { color:#40586d; font-size:16px; line-height:1.7; }
body.thm-site #main .thm-sport-offer-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; align-items:start; }
body.thm-site #main .thm-sport-base { padding:28px; background:#fff; border:1px solid #c5d1da; border-top:3px solid #042844; }
body.thm-site #main :is(.thm-sport-base,.thm-sport-extras)>h3 { margin:0 0 24px; font-size:28px; text-transform:uppercase; }
body.thm-site #main .thm-sport-base-price { display:flex; flex-wrap:wrap; gap:16px 24px; align-items:center; margin-bottom:28px; }
body.thm-site #main .thm-sport-base-price strong { font:800 64px/1 var(--font-display); color:#042844; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
body.thm-site #main .thm-sport-base-price span { font:500 13px/1.6 var(--font-body); color:#536b7c; }
body.thm-site #main .thm-sport-base ul { padding:20px 0 0; margin:0; border-top:1px solid #c5d1da; list-style:none; }
body.thm-site #main .thm-sport-base li { position:relative; padding-left:15px; margin:0 0 10px; font-size:14px; line-height:1.6; }
body.thm-site #main .thm-sport-base li::before { content:""; position:absolute; left:0; top:.6em; width:5px; height:5px; background:#416580; }
body.thm-site #main .thm-sport-delivery { margin:20px 0; color:#536b7c; font-size:13px; line-height:1.65; }
body.thm-site #main .thm-sport-base .btn-primary { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; }
body.thm-site #main .thm-sport-addon-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 28px; }
body.thm-site #main .thm-sport-addon { min-width:0; padding:22px 0 16px; border-top:1px solid #b7c8d6; }
body.thm-site #main .thm-sport-addon-title { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:14px; }
body.thm-site #main .thm-sport-addon-title h4 { margin:0; font-size:23px; text-transform:uppercase; }
body.thm-site #main .thm-sport-addon-title>span { flex-shrink:0; font:800 24px/1 var(--font-display); color:#042844; font-variant-numeric:tabular-nums; }
body.thm-site #main .thm-sport-addon p { margin:0 0 10px; color:#40586d; font-size:14px; line-height:1.7; }
body.thm-site #main .thm-sport-addon .thm-sport-addon-note { font-size:13px; color:#536b7c; }
body.thm-site #main .thm-addon-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:#294e69; text-decoration:underline; text-underline-offset:4px; font:800 15px/1.4 var(--font-display); text-transform:uppercase; letter-spacing:.035em; }
@media(max-width:1100px) {
 body.thm-site #main .thm-sport-offer-layout { gap:36px; grid-template-columns:1fr 1fr; }
 body.thm-site #main .thm-sport-addon-grid { grid-template-columns:1fr; gap:0; }
}
@media(max-width:980px) {
 body.thm-site #main .thm-process-steps { grid-template-columns:1fr; gap:0; }
 body.thm-site #main .thm-faq-section { gap:32px; }
}
@media(max-width:767px) {
 body.thm-site #main .thm-faq-hero { padding-top:36px; }
 body.thm-site #main .thm-faq-nav { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; margin-top:24px; }
 body.thm-site #main .thm-faq-nav a { gap:8px; min-height:52px; border-top:1px solid #c5d1da; font-size:13px; }
 body.thm-site #main .thm-faq-section { grid-template-columns:1fr; gap:24px; padding-block:36px; }
 body.thm-site #main .thm-faq-section h2 { font-size:28px; }
 body.thm-site #main .thm-faq-answer { padding-right:0; }
 body.thm-site #main .thm-sport-offer>.wrap { padding-block:44px; }
 body.thm-site #main .thm-sport-offer-layout { grid-template-columns:1fr; gap:36px; }
 body.thm-site #main .thm-sport-base { padding:24px; }
 body.thm-site #main .thm-sport-base-price strong { font-size:54px; }
 body.thm-site #main .thm-sport-base-price { gap:18px; }
 body.thm-site #main .thm-sport-extras>h3 { margin-bottom:18px; }
body.thm-site #main .thm-sport-addon { padding-block:20px 12px; }
}

/* Sport discovery: clear photographs, real headings, and a compact full roster. */
body.thm-site #main .thm-sports-guides { background:#f7f9fb; padding:64px 0; scroll-margin-top:24px; }
body.thm-site #main .thm-sports-heading { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; margin-bottom:36px; }
body.thm-site #main .thm-sports-kicker { margin:0 0 18px; color:#536b7c; font:700 12px/1.5 var(--font-body); letter-spacing:.085em; text-transform:uppercase; }
body.thm-site #main :is(.thm-sports-heading,.thm-sports-directory) h2 { margin:0; font-size:clamp(32px,3.4vw,48px); line-height:1.05; text-transform:uppercase; color:#042844; }
body.thm-site #main .thm-sports-intro { max-width:48ch; justify-self:end; }
body.thm-site #main .thm-sports-intro p { margin:0; color:#40586d; font:450 16px/1.7 var(--font-body); }
body.thm-site #main .thm-sports-text-link { display:inline-flex; align-items:center; gap:18px; min-height:44px; margin-top:12px; color:#294e69; font:700 14px/1.5 var(--font-body); text-decoration:underline; text-underline-offset:5px; }
body.thm-site #main .thm-sports-text-link:hover { color:#992229; }
body.thm-site #main .thm-sports-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:28px 24px; }
body.thm-site #main .thm-sports-card { display:block; grid-column:span 2; min-width:0; color:#042844; text-decoration:none; border-bottom:1px solid #bdccd7; }
body.thm-site #main .thm-sports-card:nth-child(-n+2) { grid-column:span 3; }
body.thm-site #main .thm-sports-card-image { aspect-ratio:16/9; overflow:hidden; background:#dce6ee; }
body.thm-site #main .thm-sports-card-image img { display:block; width:100%; height:100%; object-fit:cover; border-radius:0; opacity:1; filter:none; }
body.thm-site #main .thm-sports-card-caption { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 0; }
body.thm-site #main .thm-sports-card h3 { margin:0; font-size:30px; line-height:1.1; text-transform:uppercase; color:inherit; }
body.thm-site #main .thm-sports-card-arrow { display:flex; align-items:center; justify-content:center; flex:0 0 36px; width:36px; height:36px; border:1px solid #bdccd7; font:500 23px/1 var(--font-body); }
body.thm-site #main .thm-sports-card:is(:hover,:focus-visible) { color:#992229; border-bottom-color:#992229; }
body.thm-site #main .thm-sports-card:is(:hover,:focus-visible) .thm-sports-card-arrow { border-color:#992229; background:#992229; color:#fff; }
body.thm-site #main .thm-sports-guide-note { margin:24px 0 0; color:#536b7c; font:500 12px/1.7 var(--font-body); }
body.thm-site #main .thm-sports-directory { padding:64px 0; border-top:1px solid #c5d1da; background:#e8eff4; scroll-margin-top:24px; }
body.thm-site #main .thm-sports-directory-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:64px; }
body.thm-site #main .thm-sports-directory h2 { font-size:clamp(30px,2.7vw,40px); }
body.thm-site #main .thm-sports-directory-copy { margin:22px 0 0; max-width:38ch; color:#40586d; font:450 16px/1.7 var(--font-body); }
body.thm-site #main .thm-sports-roster { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-content:start; gap:0 24px; list-style:none; padding:0; margin:0; }
body.thm-site #main .thm-sports-roster li { min-width:0; margin:0; padding:0; border-top:1px solid #b7c8d6; }
body.thm-site #main .thm-sports-roster a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:54px; height:100%; padding:12px 0; color:#042844; font:650 13px/1.5 var(--font-body); text-transform:uppercase; letter-spacing:.025em; text-decoration:none; }
body.thm-site #main .thm-sports-roster a>span:last-child { flex-shrink:0; color:#536b7c; font-size:19px; }
body.thm-site #main .thm-sports-roster a:is(:hover,:focus-visible) { color:#992229; text-decoration:underline; text-underline-offset:4px; }

/* Homepage bridges and service details share the sharper sport-guide treatment. */
body.thm-site.home-body.home #main .all-sports-copy p { margin:0; color:#405366; font:400 17px/1.6 var(--font-body); max-width:52ch; text-wrap:pretty; }
body.thm-site.home-body.home #main .all-sports-note { align-items:start; }
body.thm-site.home-body.home #main .all-sports-note h2 { padding-top:3px; }
body.thm-site.home-body.home #main .tape-note { border:0; border-left:2px solid #9ab1c3; border-radius:0; padding:4px 0 4px 24px; background:transparent; }
body.thm-site.home-body.home #main :is(.tape-note,.working-together) h3 { text-transform:uppercase; }
body.thm-site.home-body.home #main .tape-note h3 { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 18px; }
body.thm-site.home-body.home #main .tape-note h3>span { margin:0; }
body.thm-site.home-body.home #main .studio-photograph img { border-radius:0; }
@media(max-width:1100px) {
 body.thm-site #main .thm-sports-heading { gap:36px; }
 body.thm-site #main .thm-sports-directory-layout { grid-template-columns:1fr; gap:32px; }
 body.thm-site #main .thm-sports-directory-copy { max-width:58ch; }
}
@media(max-width:767px) {
 body.thm-site #main :is(.thm-sports-guides,.thm-sports-directory) { padding-block:36px; }
 body.thm-site #main .thm-sports-heading { grid-template-columns:1fr; gap:20px; margin-bottom:28px; }
 body.thm-site #main .thm-sports-intro { justify-self:start; }
 body.thm-site #main .thm-sports-grid { grid-template-columns:1fr; gap:24px; }
 body.thm-site #main .thm-sports-card:nth-child(n) { grid-column:auto; }
 body.thm-site #main .thm-sports-card h3 { font-size:28px; }
 body.thm-site #main .thm-sports-card-caption { padding:12px 0; }
 body.thm-site #main .thm-sports-roster { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
 body.thm-site #main .thm-sports-roster a { font-size:12px; gap:8px; }
 body.thm-site.home-body.home #main .all-sports-copy p { margin-top:16px; font-size:16px; }
 body.thm-site.home-body.home #main .tape-note { padding-left:20px; }
}
