/* Shared type roles. Layout, product photography and brand colors stay in their
   component styles; this sheet owns the reading hierarchy across every page. */
@font-face{font-family:'Beauty Sans';src:url('/assets/fonts/inter.woff2') format('woff2');font-style:normal;font-weight:400 650;font-display:swap}
@font-face{font-family:'Beauty Display';src:url('/assets/fonts/playfair.woff2') format('woff2');font-style:normal;font-weight:500 600;font-display:swap}
@font-face{font-family:'Beauty Serif SC';src:url('/assets/fonts/noto-serif-sc.woff2') format('woff2');font-style:normal;font-weight:500 600;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF}
@font-face{font-family:'Beauty Arabic';src:url('/assets/fonts/noto-sans-arabic.woff2') format('woff2');font-style:normal;font-weight:400 650;font-display:swap}
@font-face{font-family:'Beauty Arabic Display';src:url('/assets/fonts/noto-naskh-arabic.woff2') format('woff2');font-style:normal;font-weight:500 600;font-display:swap}
:root{
 --sans:'Beauty Sans','PingFang SC','Microsoft YaHei',Arial,sans-serif;
 --serif:'Beauty Display',Georgia,serif;
 --type-hero:clamp(3rem,5.35vw,5rem);
 --type-page:clamp(2.5rem,4.4vw,4rem);
 --type-section:clamp(2rem,3.35vw,3rem);
 --type-feature:clamp(1.75rem,2.6vw,2.25rem);
 --type-body:1.0625rem;
 --type-detail:1rem;
 --type-small:.8125rem;
 --type-heading-leading:1.18;
 --type-body-leading:1.8;
 --type-heading-tracking:-.025em;
 --type-body-tracking:0;
 --type-label-tracking:.01em;
 --type-eyebrow-tracking:.12em;
 --type-body-color:var(--muted);
 --type-measure:60ch;
}
:root:lang(zh-cn){
 --serif:'Beauty Serif SC','Beauty Display','Songti SC','SimSun',serif;
 --type-hero:clamp(2.5rem,4.5vw,4.125rem);
 --type-page:clamp(2.25rem,4vw,3.5rem);
 --type-section:clamp(1.875rem,3.05vw,2.75rem);
 --type-feature:clamp(1.75rem,2.65vw,2.375rem);
 --type-heading-leading:1.4;
 --type-body-leading:1.95;
 --type-heading-tracking:.015em;
 --type-body-tracking:.015em;
 --type-label-tracking:.025em;
 --type-eyebrow-tracking:.1em;
 --type-measure:32em;
}
:root:lang(ar){
 --sans:'Beauty Arabic','Beauty Sans',Arial,sans-serif;
 --serif:'Beauty Arabic Display','Beauty Arabic',serif;
 --type-heading-leading:1.35;
 --type-body-leading:1.95;
 --type-heading-tracking:0;
 --type-body-tracking:0;
 --type-label-tracking:0;
 --type-eyebrow-tracking:0;
}
body{font-family:var(--sans);font-size:var(--type-body);line-height:var(--type-body-leading);letter-spacing:var(--type-body-tracking);font-kerning:normal}
body :is(button,input,select,textarea){font-family:var(--sans);letter-spacing:var(--type-label-tracking)}
body main :is(h1,h2){font-family:var(--serif);font-weight:500;letter-spacing:var(--type-heading-tracking);line-height:var(--type-heading-leading);text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none}
body main :is(h3,h4,dt){font-family:var(--sans);letter-spacing:var(--type-label-tracking);text-wrap:pretty;overflow-wrap:normal;word-break:normal;hyphens:none}
body main :is(p,dd){text-wrap:pretty;line-height:var(--type-body-leading);letter-spacing:var(--type-body-tracking)}
body :is(.continuous-home,.studio-section,.profile-section) :is(p,dd),
body :is(.company-heading,.company-story-heading,.company-samples) p{font-size:var(--type-body);line-height:var(--type-body-leading);color:var(--type-body-color)}
body :is(.continuous-home,.studio-section) dt{font-size:1.125rem;font-weight:600;line-height:1.55;letter-spacing:var(--type-label-tracking);margin-bottom:12px}
body :is(.continuous-home,.studio-section) dd{margin-inline-start:0}
body :is(.story-process,.studio-case){--type-body-color:#e4d8f8}
body .story-case{--type-body-color:#fff0f4}

/* Display: a distinct editorial voice, with separate Chinese and Arabic metrics. */
html body .continuous-home .story-intro h1{font-family:var(--serif);font-size:var(--type-hero);font-weight:600;line-height:var(--type-heading-leading);letter-spacing:var(--type-heading-tracking);margin:24px 0 28px}
body .story-intro-copy>p{font-size:var(--type-body);line-height:var(--type-body-leading);max-width:29em;color:var(--ink);margin-bottom:32px}
body :is(.studio-page-intro,.studio-family-hero,.profile-hero,.inner-hero) h1,
body .sales-team-heading h1{font-size:var(--type-page);line-height:var(--type-heading-leading);letter-spacing:var(--type-heading-tracking);font-weight:500;margin-block:16px 24px}
body .studio-product-detail h1,body.page-products .catalog-heading h1{font-size:var(--type-section);line-height:var(--type-heading-leading);letter-spacing:var(--type-heading-tracking);font-weight:500}
body :is(.studio-page-intro>p,.profile-lead,.sales-team-heading>p,.inner-hero .lead){font-size:1.125rem;line-height:var(--type-body-leading);max-width:var(--type-measure);text-wrap:pretty;color:var(--muted)}
body .studio-lead{font-size:1.125rem!important;line-height:var(--type-body-leading)!important;text-wrap:pretty}
body :is(.story-section-heading,.story-case,.studio-section,.studio-cta,.profile-section,.company-heading,.company-story-heading,.company-samples,.closing-cta,.sales-team-heading) h2{font-size:var(--type-section);font-weight:500;line-height:var(--type-heading-leading);letter-spacing:var(--type-heading-tracking)}
body .story-section-heading{align-items:end}
body .story-section-heading>p{max-width:var(--type-measure);margin:0;font-size:var(--type-body)}
body .story-creative-copy>h3{font-family:var(--serif);font-size:var(--type-feature);font-weight:500;line-height:var(--type-heading-leading);letter-spacing:var(--type-heading-tracking);margin-bottom:24px}
body .story-case h2{max-width:22ch}

/* Supporting headings and content: fewer competing sizes and generous leading. */
body :is(.story-study-copy,.story-process li,.story-delivery,.profile-section) h3{font-size:1.375rem;line-height:1.5;font-weight:600;letter-spacing:var(--type-label-tracking);margin-bottom:14px}
body .story-study-copy h3{font-size:1.625rem;font-weight:500;margin-bottom:18px}
body .story-customization h3{font-size:1.125rem;font-weight:600;line-height:1.5;margin-bottom:10px;letter-spacing:var(--type-label-tracking)}
body .story-customization p,body .story-family-grid p,body .story-delivery p,
body .story-company-detail dd,body .story-brief dd,body .story-case dd,
body .story-process li p,body .profile-history li>p{font-size:var(--type-detail);line-height:var(--type-body-leading)}
/* Product labels describe one concept. Share the widest label column when
   the copy block has room; otherwise keep each label above its description.
   The stacked layout is also the fallback for browsers without subgrid. */
body :is(.story-study-copy,.studio-product-detail>div){container:product-copy / inline-size}
body :is(.story-study-copy,.studio-product-detail) dl{display:grid;grid-template-columns:minmax(0,1fr);column-gap:24px}
body :is(.story-study-copy,.studio-product-detail) dl>div{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding-block:18px;min-width:0}
body :is(.story-study-copy,.studio-product-detail) dt{white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:wrap}
body :is(.story-study-copy,.studio-product-detail) dd{min-width:0}
@supports(grid-template-columns:subgrid){
 @container product-copy (min-width:34rem){
  body :is(.story-study-copy,.studio-product-detail) dl{grid-template-columns:max-content minmax(0,1fr)}
  body :is(.story-study-copy,.studio-product-detail) dl>div{grid-column:1 / -1;grid-template-columns:subgrid;column-gap:24px}
 }
}
body .story-study-copy :is(dt,dd),body .studio-product-detail :is(dt,dd){font-size:var(--type-detail);line-height:1.85;margin:0}
body :is(.story-study-copy,.studio-product-detail) dt{font-weight:600;color:var(--ink)}
body .story-sample-note h4{font-size:.9375rem;font-weight:600;line-height:1.65;letter-spacing:var(--type-label-tracking);margin-bottom:8px}
body .story-sample-note p{font-size:.9375rem;line-height:var(--type-body-leading)}
body .story-process .story-step-decision{font-size:.875rem;line-height:1.8;margin-top:16px}
body .story-step-decision strong{font-weight:600}
body .story-company .story-company-intro{font-size:1.125rem;line-height:var(--type-body-leading);max-width:var(--type-measure)}
body .story-markets h3{font-size:1rem;font-weight:600;line-height:1.5;margin-bottom:12px}
body .story-markets p{font-size:var(--type-detail);line-height:1.85}
body .story-history>h3{font-size:1.375rem;font-weight:600;letter-spacing:var(--type-label-tracking)}
body .story-history h4{font-size:1rem;font-weight:600;line-height:1.5;margin-block:16px 10px}
body .story-history p{font-size:var(--type-detail);line-height:var(--type-body-leading);hyphens:auto;overflow-wrap:break-word}
body :is(.story-history li>span,.story-delivery article>span,.profile-history time){font-family:var(--serif);font-size:2.75rem;font-weight:500;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums}
body .story-process li>span{font-family:var(--serif);font-size:1.75rem;line-height:1.3;letter-spacing:0}
body .story-material-topic{font-family:var(--sans);font-size:1.1875rem;font-weight:500;line-height:1.55;letter-spacing:var(--type-label-tracking)}
body .story-family-grid h3,body .studio-families :is(h2,h3){font-family:var(--sans);font-size:1.25rem;font-weight:600;line-height:1.5;letter-spacing:var(--type-label-tracking);text-wrap:pretty}
body .studio-families p,body .studio-profile-cards p{font-size:var(--type-detail);line-height:var(--type-body-leading);color:var(--muted)}
body .studio-profile-cards h3{font-size:1.375rem;font-weight:500;line-height:1.5;letter-spacing:var(--type-label-tracking);margin-top:24px}
body .studio-examples h3{font-size:1rem;font-weight:500;line-height:1.6;letter-spacing:var(--type-label-tracking)}
body :is(.studio-service-models,.studio-catalog-access) h2{font-family:var(--sans);font-size:1.375rem;font-weight:600;line-height:1.5;letter-spacing:var(--type-label-tracking)}
body :is(.studio-service-models,.studio-catalog-access) p{font-size:var(--type-detail);line-height:var(--type-body-leading);color:var(--muted)}
body .studio-stage-title p{max-width:38ch}
body .studio-stage dt{margin-bottom:12px}
body .studio-outcome strong{font-size:.875rem;font-weight:600;letter-spacing:var(--type-label-tracking)}
body .studio-outcome p{font-size:var(--type-detail)}
body .studio-service-faq summary{font-size:1.0625rem;font-weight:500;line-height:1.65;letter-spacing:var(--type-label-tracking);padding-block:22px}
body .studio-service-faq summary>span{font-family:'Beauty Sans',Arial,sans-serif;display:grid;place-items:center;width:24px;height:24px;font-size:22px;line-height:1;margin-inline:6px}
body .studio-service-faq details p{font-size:var(--type-detail);line-height:var(--type-body-leading);max-width:var(--type-measure);margin-bottom:26px}
body .profile-mission>p{font-family:var(--serif);font-size:1.5rem;line-height:var(--type-heading-leading);letter-spacing:var(--type-heading-tracking)}
body .profile-history h3{font-size:1.125rem}
body .profile-markets h2{font-size:var(--type-feature)}
body .profile-markets li{font-size:1.0625rem;line-height:1.6;letter-spacing:var(--type-label-tracking)}
body .prose-section p{max-width:var(--type-measure);font-size:var(--type-body);line-height:var(--type-body-leading)}

/* Navigation, captions and tools stay in the quieter, functional type family. */
body .eyebrow,body .story-intro .eyebrow{font-family:var(--sans);font-size:.75rem;line-height:1.6;font-weight:600;letter-spacing:var(--type-eyebrow-tracking)}
body .desktop-nav a,body.page-home .desktop-nav a{font-size:.875rem;font-weight:500;letter-spacing:var(--type-label-tracking)}
body .header-cta{font-size:.8125rem;font-weight:500;line-height:1.5;letter-spacing:var(--type-label-tracking)}
body :is(.button,.studio-link,.studio-actions .button){font-family:var(--sans);font-size:.9375rem;font-weight:500;line-height:1.5;letter-spacing:var(--type-label-tracking)}
body .story-intro .studio-actions a{font-size:.9375rem}
body .studio-breadcrumb{font-size:var(--type-small);line-height:1.65;letter-spacing:var(--type-label-tracking)}
body .studio-stage-nav a{font-size:.9375rem;font-weight:500;line-height:1.6}
body .studio-stage-nav span{font-size:.8125rem;font-variant-numeric:tabular-nums}
body main figcaption,body .continuous-home figcaption{font-family:var(--sans);font-size:var(--type-small);font-weight:400;line-height:1.65;letter-spacing:var(--type-label-tracking)}
body .site-footer .footer-main h2{font-family:var(--sans);font-size:.8125rem;font-weight:600;letter-spacing:var(--type-eyebrow-tracking);line-height:1.6}
body .footer-main a{font-size:.9375rem;line-height:1.7;letter-spacing:var(--type-label-tracking)}
body .footer-bottom{font-size:.8125rem;line-height:1.7}
body .site-search h2,body .shortlist-header h2{font-family:var(--sans);font-size:1.375rem;font-weight:600;line-height:1.5;letter-spacing:var(--type-label-tracking)}
body .catalog-detail-copy h2{font-family:var(--sans);font-size:1.5rem;font-weight:500;line-height:1.5;letter-spacing:var(--type-label-tracking)}
body .catalog-product .catalog-card-title{font-family:var(--sans);font-size:1rem;font-weight:500;line-height:1.6;letter-spacing:var(--type-label-tracking)}
body :is(.catalog-card-meta,.catalog-load-status,.catalog-count,.shortlist-summary,.search-result-kind){font-size:var(--type-small);line-height:1.65;letter-spacing:0}
body .catalog-filters button{font-size:.9375rem;line-height:1.5}
body .catalog-search input,body .search-field input{font-size:1rem}
body :is(.sales-contact h2,.sales-contact h3){font-family:var(--sans);font-size:1.25rem;font-weight:600;line-height:1.4;letter-spacing:0}
body .continuous-home .sales-contact h3{font-size:1.1875rem}
body .sales-contact :is(h2,h3) span{font-size:.875rem;font-weight:400;letter-spacing:0}
body .sales-contact-phone,body .continuous-home .sales-contact-phone{font-family:var(--sans);font-size:.875rem;line-height:1.5;letter-spacing:0;font-variant-numeric:tabular-nums}
body .sales-contact-link,body .continuous-home .sales-contact-link{font-size:.8125rem;line-height:1.5;letter-spacing:0}

@media(max-width:1400px){
 .page-home .desktop-nav{display:none}
 .page-home .mobile-menu{display:block}
 .page-home .header-cta{display:none}
}
@media(min-width:761px) and (max-width:1000px){
 :root{--type-hero:3rem;--type-page:2.75rem;--type-section:2.375rem}
 :root:lang(zh-cn){--type-hero:2.375rem;--type-page:2.5rem;--type-section:2rem}
}
@media(max-width:760px){
 :root{--type-hero:clamp(2.625rem,8.8vw,3.75rem);--type-page:clamp(2.125rem,7vw,3rem);--type-section:clamp(1.875rem,6.3vw,2.5rem);--type-feature:1.875rem;--type-body:1rem;--type-detail:.9375rem}
 :root:lang(zh-cn){--type-hero:clamp(1.875rem,8.4vw,3rem);--type-page:clamp(2rem,6.7vw,2.75rem);--type-section:clamp(1.75rem,6vw,2.25rem);--type-feature:1.75rem;--type-heading-leading:1.45}
 html body .continuous-home .story-intro h1{margin-block:20px 24px}
 body .story-intro-copy>p{margin-bottom:28px}
 body :is(.studio-page-intro>p,.profile-lead,.sales-team-heading>p,.inner-hero .lead),body .story-company .story-company-intro{font-size:1rem}
 body .studio-lead{font-size:1rem!important}
 body .story-section-heading{gap:20px}
 body :is(.story-study-copy,.story-process li,.story-delivery,.profile-section) h3{font-size:1.25rem}
 body .story-study-copy h3{font-size:1.375rem}
 body .story-family-grid h3,body .studio-families :is(h2,h3){font-size:clamp(1rem,5vw,1.125rem)}
 body .studio-examples h3{font-size:.9375rem}
 :lang(ru) body.page-privacy .inner-hero h1{font-size:clamp(1.5rem,8vw,3rem)}
 body .story-material-topic{font-size:1.0625rem}
 body .story-study-copy :is(dt,dd),body .studio-product-detail :is(dt,dd){font-size:.9375rem}
 body :is(.story-history li>span,.story-delivery article>span,.profile-history time){font-size:2.125rem}
 body .studio-service-faq summary{font-size:1rem}
 body .catalog-product .catalog-card-title{font-size:.9375rem}
 body .continuous-home .sales-contact-phone{font-size:.75rem}
 body .continuous-home .sales-contact h3{font-size:1.125rem}
}
/* Short labels use natural word boundaries; identifiers may still opt into
   emergency wrapping in their own component. */
body :is(.story-family-grid,.studio-families,.studio-examples,.studio-profile-cards,.catalog-product) :is(h2,h3),
body :is(.continuous-home,.studio-section) dt,body .shortlist-product-title,body .search-results .search-result-title{overflow-wrap:normal;word-break:normal;hyphens:none}
:lang(zh-cn) :is(h1,h2,h3,h4,p,dt,dd,figcaption){line-break:strict}
/* Joined Arabic letters must never inherit Latin/CJK tracking. */
:lang(ar) :is(h1,h2,h3,h4,p,dt,dd,summary,a,button,figcaption,.eyebrow){letter-spacing:0}
