/* Another Vision typography. All readable type sizes, weights, tracking and leading live here.
   Scale: 10 (brand detail only), 12, 14, 16, 18, 24, 32, 48, 64px at default settings.
   rem units respect user font preferences. Layout stylesheets must not redeclare type properties. */
:root{
 --font-sans:Geist,Arial,sans-serif;
 --size-micro:.625rem;--size-caption:.75rem;--size-label:.875rem;
 --size-body:1rem;--size-lead:1.125rem;--size-subheading:1.5rem;
 --size-heading:2rem;--size-display:3rem;--size-hero:4rem;
 --weight-regular:400;--weight-medium:500;
 --leading-body:1.6;--leading-label:1.45;--leading-heading:1.2;--leading-display:1.1;
 --tracking-body:0;--tracking-heading:-.02em;--tracking-display:-.025em;
 --role-display:var(--size-display);--role-heading:var(--size-heading);
 --role-editorial:var(--size-heading);--role-quote:var(--size-subheading);
}
body{font-family:var(--font-sans);font-size:var(--size-body);font-weight:var(--weight-regular);line-height:var(--leading-body);letter-spacing:var(--tracking-body)}
button,input,textarea,select{font:inherit}strong,b{font-weight:var(--weight-medium)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--weight-regular);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);overflow-wrap:break-word;text-wrap:balance}
h1{font-size:var(--role-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}h2{font-size:var(--role-heading)}h3{font-size:var(--size-subheading)}h4,h5,h6{font-size:var(--size-lead)}
p{font-size:var(--size-body);line-height:var(--leading-body);letter-spacing:0;text-wrap:pretty}
.type-body{font-size:var(--size-body);line-height:var(--leading-body);letter-spacing:0;font-weight:400}.type-label{font-size:var(--size-label);line-height:var(--leading-label);letter-spacing:0;font-weight:400}.type-caption{font-size:var(--size-caption);line-height:1.5;letter-spacing:0;font-weight:400}.type-title{font-size:var(--role-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);font-weight:400}.type-display{font-size:var(--role-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display);font-weight:400}
/* Homepage: hero, editorial statements and section headings. */
#hero-heading,.service-hero h1{font-size:clamp(2rem,calc(1rem + 3.2vw),var(--size-hero));line-height:var(--leading-display);letter-spacing:var(--tracking-display);font-weight:400}
.intro-statement,.intro-statement p,.service-list h3{font-size:var(--role-editorial);line-height:1.25;letter-spacing:var(--tracking-heading);font-weight:400}
.work-section-heading h2,.studio-card :is(h3,.studio-profile-title){font-size:var(--role-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
.studio-section-header h2{font-size:var(--role-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}
.intro-copy h2,.intro-media-label,.system-copy>h2,.studio-label,.testimonial-inner>h2,.clients-title,.clients-title p,.clients-title a{font-size:var(--size-label);line-height:var(--leading-label);letter-spacing:0;font-weight:400}
.navigation nav,.navigation nav a,.menu-toggle,.glass-button,.service-cta,.service-nav,.service-nav a,.request-work,.studio-text-link,.footer-booking{font-size:var(--size-label);line-height:var(--leading-label);letter-spacing:0;font-weight:400}
.navigation .brand,.footer-brand{font-size:var(--size-label);line-height:var(--leading-label);letter-spacing:-.02em;font-weight:400}.brand-label,.footer-brand>span,.case-studio-brand>span,.service-nav small{font-size:var(--size-micro);line-height:1.2;letter-spacing:0}
.location{font-size:var(--size-label);line-height:var(--leading-label);letter-spacing:0;font-weight:400}.notice-copy,.notice-copy strong{font-size:var(--size-label);line-height:var(--leading-label);letter-spacing:0;font-weight:400}.notice-copy>span,.notice-tag{font-size:var(--size-caption);line-height:1.5;letter-spacing:0;font-weight:400}
.case-identity h3,.review-person>span:first-child,.quote-person{font-size:var(--size-body);line-height:1.4;letter-spacing:0;font-weight:400}.selected-work .case-identity p{font-size:var(--size-label);line-height:var(--leading-label);letter-spacing:0;font-weight:500}
.quote-panel-reference blockquote p{font-size:var(--role-quote);line-height:1.4;letter-spacing:var(--tracking-heading);font-weight:400}.testimonial-review blockquote{font-size:var(--size-lead);line-height:1.5;letter-spacing:0;font-weight:400}
.review-person>span+span,.quote-panel-reference .quote-role,.quote-role,.quote-panel-reference .quote-person{font-size:var(--size-caption);line-height:1.5;letter-spacing:0;font-weight:400}.quote-panel-reference .quote-person{font-size:var(--size-label)}
.studio-body,.studio-about .studio-body,.studio-steps p{font-size:var(--size-body);line-height:var(--leading-body);letter-spacing:0}.studio-founder-name,.studio-steps h4{font-size:var(--size-lead);line-height:1.4;letter-spacing:0;font-weight:400}.studio-founder-role,.studio-credential strong{font-size:var(--size-label);line-height:var(--leading-label);letter-spacing:0;font-weight:500}.studio-credential>span>span,.studio-step-number,.studio-card-foot>span,.studio-pillars span{font-size:var(--size-caption);line-height:1.5;letter-spacing:0;font-weight:400}
.credential-mark,.credential-arrow,.cta-hover-icon{font-size:var(--size-lead);line-height:1;letter-spacing:0}.cover-wordmark{font-size:var(--role-heading);line-height:1.2;letter-spacing:var(--tracking-heading)}.case-cover .case-open{font-size:var(--size-caption);line-height:1.5}
/* Case template: the same styles apply to every generated case. */
.case-overview h1{font-size:var(--role-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}.case-lead{font-size:var(--size-lead);line-height:1.5;letter-spacing:0}.case-story-section h2{font-size:var(--role-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
.case-story-section>p,.case-detail-block p,.case-priorities p,.case-comparison-row p,.case-deliverables,.case-facts dd,.case-provided-services ul,.case-related-grid p,.case-quote-more p{font-size:var(--size-body);line-height:var(--leading-body);letter-spacing:0}
.case-story-section>p,.case-detail-block p,.service-page p{max-width:65ch}.case-detail-block h3,.case-deliverables-title,.case-priorities h3,.case-related-grid h3,.service-proof-links strong{font-size:var(--size-lead);line-height:1.4;letter-spacing:0;font-weight:400}
.case-at-glance h2,.case-early-quote>h2,.case-eyebrow,.case-facts dt,.case-section-number,.case-comparison-head,.case-related-industry,.case-highlights span,.case-image-slot,.case-quote-more summary,.case-early-quote footer span,.case-provided-services h2,.case-page-footer{font-size:var(--size-caption);line-height:1.5;letter-spacing:0;font-weight:400}
.case-toc nav,.case-toc a,.case-client,.case-sidebar-contact,.case-service-link,.case-back{font-size:var(--size-label);line-height:var(--leading-label);letter-spacing:0;font-weight:400}.case-studio-brand{font-size:var(--size-lead);line-height:1.4;letter-spacing:-.02em;font-weight:400}
.case-early-quote blockquote>p{font-size:var(--role-quote);line-height:1.4;letter-spacing:var(--tracking-heading)}.case-early-quote footer{font-size:var(--size-body);line-height:1.4;letter-spacing:0}.case-highlights strong{font-size:var(--size-heading);line-height:1.2;letter-spacing:var(--tracking-heading);font-weight:400}
.case-delivery-list>li::marker{font-size:var(--size-body)}.case-comparison-row p>span{font-size:var(--size-caption);line-height:1.5}.case-toc summary:after{font-size:var(--size-subheading);line-height:1}
/* Service pages and footer use the same body, labels and section scale. */
.service-page p,.footer-description{font-size:var(--size-body);line-height:var(--leading-body);letter-spacing:0}.service-page h2{font-size:var(--role-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);font-weight:400}.service-hero>span,.service-proof-links span,.service-footer{font-size:var(--size-caption);line-height:1.5;letter-spacing:0}.service-nav>a:first-child{font-size:var(--size-lead);line-height:1.4;letter-spacing:-.02em}
.footer-positioning{font-size:var(--size-subheading);line-height:1.3;letter-spacing:var(--tracking-heading)}.footer-column h2,.footer-connect>p,.footer-bottom,.footer-bottom a{font-size:var(--size-caption);line-height:1.5;letter-spacing:0;font-weight:400}.footer-column a{font-size:var(--size-label);line-height:var(--leading-label);letter-spacing:0}.footer-watermark{font-size:clamp(4rem,15vw,15.625rem);line-height:1.04;letter-spacing:-.055em;font-weight:400}
/* Controls and text containers can grow when copy wraps or font preferences increase. */
.notice{height:auto;min-height:72px}.notice-copy strong,.notice-copy>span{white-space:normal;overflow:visible;text-overflow:clip}.glass-button{height:auto;min-height:44px;padding-block:12px;white-space:normal;text-align:center}.case-cover .case-open{padding-block:8px;min-height:34px;height:auto;white-space:nowrap}.quote-panel-reference{aspect-ratio:auto;min-height:320px}.case-identity p{overflow-wrap:normal}.studio-credential strong{overflow-wrap:anywhere}.case-facts dd{overflow-wrap:anywhere}.case-early-quote,.studio-card,.testimonial-review{min-width:0}
@media(min-width:810px){.quote-panel-reference.studio-film{min-height:calc((min(100vw - 40px,1070px) - 160px)/2/1.42857)}}
@media(max-width:809px){:root{--role-display:var(--size-heading);--role-heading:var(--size-subheading);--role-editorial:var(--size-subheading);--role-quote:var(--size-lead)}.notice{min-height:64px}.notifications[data-scrolled] .notice:not(.case-notice){height:auto;min-height:56px}.quote-panel-reference{min-height:280px}.navigation>nav a{font-size:var(--size-label)}.case-identity{align-items:flex-start}.footer-watermark{font-size:15vw}}

/* Testimonial roles share the 14px label style across all rows. */
.review-person>span+span{font-size:var(--size-label);line-height:var(--leading-label)}
/* Core commercial pages use the case-study reading hierarchy. */
.core-service h1{font-size:var(--role-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}
.core-service h2{font-size:var(--role-heading);line-height:var(--leading-heading)}
.core-service h3{font-size:var(--size-subheading);line-height:1.3}
.core-service .core-lead{font-size:var(--size-body);line-height:var(--leading-body)}
.core-service .core-testimonial>h2{font-size:var(--size-label);line-height:var(--leading-label);letter-spacing:0;color:#777}
.core-service .core-testimonial blockquote p{font-size:var(--role-quote);line-height:1.4;letter-spacing:var(--tracking-heading)}
.core-price dd{font-size:var(--size-lead);line-height:1.4;letter-spacing:0;font-weight:500}
.core-nav,.core-faq summary,.core-text-link{font-size:var(--size-body);line-height:var(--leading-body)}
.core-nav small{font-size:var(--size-micro)}
@media(max-width:640px){.core-service h3{font-size:var(--size-lead)}.core-nav,.core-nav>nav{font-size:var(--size-label)}.core-nav>a:first-child{font-size:var(--size-body);line-height:1.4}}

/* Mobile hero retains an editorial scale rather than shrinking to body-heading size. */
.mobile-booking{font-size:var(--size-label);line-height:var(--leading-label);font-weight:500;letter-spacing:0}
@media(max-width:809px){#hero-heading{font-size:clamp(2rem,10vw,3.5rem);line-height:1.08;letter-spacing:-.025em;text-wrap:balance}.navigation .brand{font-size:var(--size-label)}.navigation .brand-label{font-size:.5rem}.hero-actions .glass-button{font-size:var(--size-body)}.navigation>nav a{font-size:var(--size-lead)}}

/* Non-indexed portfolio: the same shared type tokens as the main homepage. */
.portfolio-tool-list{font-size:var(--size-subheading);line-height:1.3;letter-spacing:var(--tracking-heading)}
.portfolio-eyebrow,.portfolio-case-lead{font-size:var(--size-lead);line-height:1.5}
.portfolio-project-meta h3{font-size:var(--size-lead);line-height:1.4;letter-spacing:0}
.portfolio-project .portfolio-category{font-size:var(--size-label);line-height:var(--leading-label)}
.portfolio-facts dt{font-size:var(--size-caption);line-height:1.5}
.portfolio-facts dd{font-size:var(--size-label);line-height:var(--leading-label)}
.portfolio-footer-top h2{font-size:var(--role-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}
@media(max-width:640px){.portfolio-tool-list{font-size:var(--size-lead)}}
/* Portfolio homepage facts use the shared type scale. */
.portfolio-glance-list dt{font-size:var(--size-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}.portfolio-glance-list dd{font-size:var(--size-label);line-height:var(--leading-label)}

/* Slightly quieter display size for the studio homepage hero. */
:is(.studio-home,.portfolio-home) #hero-heading{font-size:clamp(1.875rem,calc(.9375rem + 3vw),3.75rem)}
@media(max-width:809px){
 :is(.studio-home,.portfolio-home) #hero-heading{font-size:clamp(1.625rem,8vw,2.75rem);line-height:1.14;max-width:100%;text-wrap:balance}
 :is(.studio-home,.portfolio-home) .hero-actions .glass-button{font-size:var(--size-caption);line-height:1.4}
}

.portfolio-home .portfolio-eyebrow{font-size:var(--size-caption);line-height:1.5}

@media (min-width: 810px) {
  .portfolio-home #hero-heading {
    font-size: calc(clamp(1.875rem, calc(.9375rem + 3vw), 3.75rem) + 10px);
  }
}
