/* Public-site responsive typography. Visual models keep their own scale. */
:root{--tas-type-copy:clamp(1rem,.96rem + .15vw,1.125rem);--tas-type-small:.875rem;--tas-type-title:clamp(2.125rem,1.35rem + 3.3vw,4.5rem);--tas-type-section:clamp(1.75rem,1.2rem + 2.1vw,3rem)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html body :is(main,#main-content) h1{font-size:var(--tas-type-title)!important;line-height:1.16!important;letter-spacing:-.035em!important;overflow-wrap:break-word}
html[lang^="ar"] body :is(main,#main-content) h1{line-height:1.4!important;letter-spacing:0!important}
html body :is(main,#main-content) h2[id]{font-size:var(--tas-type-section)!important;line-height:1.22!important;overflow-wrap:break-word}
html[lang^="ar"] body :is(main,#main-content) h2[id]{line-height:1.45!important;letter-spacing:0!important}
html body :is(main,#main-content) p:not(:where(.folio-paper *, .delivery-sheet *, .dt-paper *, .dt-hero-document *, .cp-paper *, .cp-visual *, .cert__paper *, .certificate *, .paper *, .cert-demo *, .cj-document *, .insights-meta, [class*="eyebrow"], [class*="kicker"], [class*="caption"], [class*="note"], [class*="hint"], [class*="breadcrumb"], .tag)){font-size:var(--tas-type-copy)!important;line-height:1.75!important}
html body :is(main,#main-content) :is(.intro-copy,.hero-copy>p,.hero-description,.cj-hero-lead,.dt-hero-lead){font-size:clamp(1rem,.93rem + .4vw,1.25rem)!important;line-height:1.75!important}
html body :is(main,#main-content) :is([class*="eyebrow"],[class*="kicker"],[class*="breadcrumb"],.tag,.service-label,.hero-top,.hero-strip,.intro-assurances,.intro-footer,.material-label,.context-note,.form-note,.form-message,.field-error,.delivery-note,.review-foot,.library-foot,.trust-note,.casting-stamp,.orbit-word){font-size:.875rem!important;line-height:1.65!important}
html body :is(main,#main-content) :is(figcaption,.sample-name span,.sample small,.cast-heading span,.cast a,.brand span,.authority-logo>span,.review-card>span,.project-caption span,.production-copy li>span,.production-photo>small,.quote-faces span,.format-tile>span,.section-head b,.purpose-caption p,.purpose-caption a,.purpose-foot,.option-number,.floating-tag,.purpose-options small,.package-option p,.trust-proof-brand>span,.trust-proof-creator small,.trust-proof-note,.trust-proof-rail-heading h3,.cinema-caption small,.cinema-counter,.cinema-signoff,.cinema-whisper,.cinema-work small,.cinema-quote>span,.cinema-world p,.studio-service-meta){font-size:.875rem!important;line-height:1.6!important}
html body :is(main,#main-content) :is(.sample-name h3,.cast h3,.studio-service-description,.dt-index-content p,.dt-small,.dt-cert-route,.dt-hero-types,.trust-proof-creator strong){font-size:1rem!important;line-height:1.6!important}
html body :is(main,#main-content) :is(.button,.text-button,.text-link,.tas-hero-whatsapp,.cinema-primary,.dt-text-link,.dt-sample-link,.aiv-button,.ae-button,.pr-button,.cq-button,.jo-primary,.jo-secondary,.journal-read-link){font-size:1rem!important;line-height:1.45!important;white-space:normal}
html body :is(main,#main-content) :is(.library-tools button,.library-tools b,.library-foot button,.loop-controls button,.dt-local-nav a,.dt-document-choices button,.dt-compare-controls button){font-size:.875rem!important;line-height:1.5!important}
html body :is(main,#main-content) :is(input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),textarea,select){font-size:1rem!important;line-height:1.5!important}
html body :is(main,#main-content) :is(label,legend){font-size:1rem!important;line-height:1.6!important}
html body :is(main,#main-content) :is(label small,label span,.consent,.cq-consent,.pr-consent,.pr-privacy,.pr-hint,.pr-error,.pr-reassurance,.pr-form-eyebrow,.pr-progress button,.pr-service-text>span,.pr-dropzone label span,.pr-file-list li,.pr-file-list small,.pr-review dl>div,.pr-review-brief,.pr-review-actions button,.cq-hint,.cq-error,.cq-file-name,.cq-file-type,.cq-file small,.cq-step legend small,.ps-search-hint,.ps-group-label,.ps-empty,.ps-status,#file-help,#file-error,#shortlist-summary){font-size:.875rem!important;line-height:1.65!important}
html body :is(main,#main-content) :is(.insights-meta,.insights-card-category,.insights-article-cover figcaption,.insights-toc,.insights-toc summary,.insights-share,.journal-story-category,.journal-categories a,.journal-results,.journal-pagination,.jo-chapters li,.jo-chapters li>span){font-size:.875rem!important;line-height:1.65!important}
html body :is(main,#main-content) .insights-article-content :is(p,li){font-size:clamp(1.0625rem,1rem + .25vw,1.1875rem)!important;line-height:1.85!important}
html body :is(main,#main-content) .insights-article-content h2{font-size:clamp(1.625rem,1.2rem + 1.5vw,2.25rem)!important;line-height:1.4!important}
html body :is(main,#main-content) .insights-article-content h3{font-size:clamp(1.25rem,1rem + .8vw,1.625rem)!important;line-height:1.5!important}
html body :is(.global-footer-directory h2,.global-footer-nav a,.global-footer-bottom-inner,.global-footer-disciplines,.global-footer-kicker,.header-menu-eyebrow,.header-menu-copy small,.header-menu-legal a){font-size:.875rem!important;line-height:1.7!important}
html body :is(.header-menu-copy strong,.premium-header-cta){font-size:.9375rem!important;line-height:1.5!important}
html body .global-footer-statement{font-size:clamp(2rem,1.3rem + 3vw,4rem)!important;line-height:1.2!important}
html body :is(main,#main-content) .cinema-display{font-size:clamp(2.125rem,1.4rem + 3.3vw,4.5rem)!important}
html body :is(main,#main-content) .hero h1.tas-voice-service-title{font-size:clamp(2.125rem,1.2rem + 3.2vw,4.5rem)!important;line-height:1.16!important}
html[lang^="ar"] body :is(main,#main-content) .hero h1,html[lang^="ar"] body :is(main,#main-content) h1.tas-voice-service-title{font-size:clamp(2rem,1.3rem + 2.8vw,4.125rem)!important;line-height:1.45!important}
@media(max-width:767px){
 html body :is(main,#main-content) h1{font-size:clamp(2rem,1.4rem + 3vw,2.75rem)!important}
 html body :is(main,#main-content) h2[id]{font-size:clamp(1.625rem,1.25rem + 2vw,2.25rem)!important}
 html body :is(main,#main-content) .hero h1.tas-voice-service-title{font-size:clamp(2rem,1.4rem + 3vw,2.75rem)!important}
 html[lang^="ar"] body :is(main,#main-content) .hero h1,html[lang^="ar"] body :is(main,#main-content) h1.tas-voice-service-title{font-size:clamp(1.875rem,1.3rem + 3vw,2.625rem)!important}
 html body :is(main,#main-content) :is(.actions,.hero-actions,.cj-hero-actions,.dt-hero-actions){flex-wrap:wrap;gap:12px}
 html body :is(main,#main-content) :is(.intro-assurances,.hero-strip,.dt-hero-types){flex-wrap:wrap;row-gap:8px}
 html body :is(main,#main-content) :is(.sample-name,.pr-service-text,.cast,.field,.cq-field){min-width:0}
 html body :is(main,#main-content) :is(.sample-name h3,.cast h3,.pr-service-text strong){overflow-wrap:anywhere}
 html body :is(main,#main-content) :is(.contact-copy h2,#quote-title){font-size:clamp(1.75rem,1.2rem + 3vw,2.5rem)!important}
 html body .premium-header-cta{font-size:.875rem!important}
}

/* Secondary copy across the service, directory and editorial templates. */
html body :is(main,#main-content) :is([class*="-note"],[class*="-hint"],[class*="-caption"],[class*="-meta"],[class*="__eyebrow"],[class*="__breadcrumb"],.mobile-hero__work,.mobile-hero__count,.trust-proof-work,.work-project-context,.dt-photo-caption,.dt-result-note,.dt-process-note,.dr-hint,.vt-work-source,.about-opening__location,.about-opening__facts,.about-film figcaption,.about-studio .aj-highlights span,.about-studio .aj-stats dt,.pr-intro-links a,.pr-intro-foot a,.pr-steps li,.journal-featured-label,.journal-service-link,.illustration-note,.review-open,.price-from,.dialects,.dialects span,.dialects a,.scope-sheet footer,.sheet-heading,.scope-sheet article>span,.review-foot small){font-size:.875rem!important;line-height:1.65!important}
html body :is(main,#main-content) :is([class*="-button"],.pr-primary,.pr-back,.pr-service-text strong,.vt-related a,.dt-cert-route a){font-size:1rem!important;line-height:1.5!important}
html body :is(main,#main-content) :is(.hero-person>div,.vt-card small,.vt-feature-card small,.vt-preview small,.vt-card-meta,.process-step>span,.process-step>small,.package-option button>span,.package-option p){font-size:.875rem!important;line-height:1.6!important}
html body .global-footer :is(.global-footer-lead,.global-footer-contact){font-size:1rem!important;line-height:1.75!important}
html body .tas-language-name{font-size:.875rem!important}

html body :is(main,#main-content) :is(.studio-services a,.studio-services a span,.hp-review-card footer,.hp-review-card footer a,.hp-review-card>span,.hp-motion,.work-service-link,.work-time,.work-verification span,.work-projects a>span,.work-number,.night-cta__hint,.home-service-links a,.cinema-work span,.dt-local-nav small,.dt-index-number,.dr-progress button,.dr-progress button span,.dr-summary summary span,.dt-faq-answer a,.dt-related a,.vt-hero-portraits figcaption span,.vt-work-caption small,.about-opening__facts li,.ac-question-number,.pr-progress button span,.package-option>div>span,.process-grid article>span,.review-top span,.review-original span,.pricing-copy li,.price-number>span,.price-turnaround>span,.journal-service-links a>span,.production-copy>p>small,.project-foot>span,#voices-more){font-size:.875rem!important;line-height:1.6!important}
html body>section.hero h1{font-size:var(--tas-type-title)!important;line-height:1.3!important}
html body>section.section :is(h1,h2){font-size:var(--tas-type-section)!important;line-height:1.4!important}
html body>section :is(p,li){font-size:var(--tas-type-copy)!important;line-height:1.8!important}
html body>section :is(input:not([type=hidden]):not([type=file]):not([type=checkbox]):not([type=radio]),textarea,select,label){font-size:1rem!important;line-height:1.5!important}

/* Home carousel: constrain each inner grid track, not just document overflow. */
@media(max-width:767px){
 html body .mobile-hero__slide{grid-template-columns:minmax(0,1fr)}
 html body .mobile-hero__copy{min-width:0;max-width:100%;box-sizing:border-box}
 html body .mobile-hero__copy .cinema-copy{min-width:0;width:100%;max-width:100%}
 html body .mobile-hero__copy :is(h1,h2,p){max-width:100%;overflow-wrap:break-word;white-space:normal}
 html body .mobile-hero__copy .cinema-display span{width:auto;max-width:100%;white-space:normal}
 html body .mobile-hero__copy .cinema-certified a{margin-inline-start:.25em}
}
