/* CXPAPER / restored material-edition typography.
   Original DM Sans display; readable Instrument Sans body.
   A broad Archivo wordmark; Oswald remains confined to short labels. */
@font-face {
  font-family: 'Instrument Sans';
  src: url('/assets/fonts/instrument-sans-variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 75% 100%;
  font-display: swap;
}
@font-face {
  font-family: 'Instrument Sans';
  src: url('/assets/fonts/instrument-sans-italic-variable.woff2') format('woff2');
  font-style: italic;
  font-weight: 400 700;
  font-stretch: 75% 100%;
  font-display: swap;
}
@font-face {
  font-family: 'Paper Display';
  src: url('/assets/fonts/dm-sans-variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
}
@font-face {
  font-family: 'CXPAPER Wordmark';
  src: url('/assets/fonts/archivo-expanded-cxpaper.woff2') format('woff2');
  font-style: normal;
  font-weight: 800;
  font-stretch: 125%;
  font-display: swap;
}
@font-face {
  font-family: 'Oswald';
  src: url('/assets/fonts/oswald-latin-variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
}
:root {
  --font-sans: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif;
  --font-display: 'Paper Display', 'Instrument Sans', Arial, sans-serif;
  --font-accent: 'Oswald', 'Arial Narrow', Arial, sans-serif;
  --font-wordmark: 'CXPAPER Wordmark', 'Arial Black', Arial, sans-serif;
  --tracking-display: -.03em;
  --tracking-heading: -.02em;
}
body.atelier-site {
  font-family: var(--font-sans);
  font-weight: 400;
  font-stretch: normal;
  font-synthesis: none;
  font-kerning: normal;
  letter-spacing: normal;
}
button, input, select, textarea { font-family: inherit; }
.atelier-site :is(h1,h2,h3,h4) { font-family: var(--font-display); font-weight: 450; }
body.atelier-site :is(h1,h2),
body.atelier-site[data-page='inner'] :is(h1,h2) { font-family: var(--font-display); text-wrap: balance; }
.atelier-site :is(h3,h4) { letter-spacing: -.02em; }
.atelier-site .atelier-hero h1 {
  font-family: var(--font-display);
  font-weight: 450;
  line-height: 1.05;
  letter-spacing: -.035em;
}
.atelier-site .atelier-hero p.atelier-hero-lead {
  font-family: var(--font-display);
  font-weight: 450;
  line-height: 1.18;
  letter-spacing: -.022em;
}
.atelier-site .atelier-hero-enquiry > p { font-size: 16px; line-height: 1.65; }
.atelier-site .atelier-hero-topline p { font-size: 11px; letter-spacing: .1em; }
.atelier-site .section-head h2 { line-height: 1.07; }
.atelier-site .label-unroll-heading h2 {
  font-size: clamp(64px,7.3vw,112px);
  font-weight: 450;
  line-height: 1.02;
  letter-spacing: -.03em;
}
.atelier-site .roll-detail h3 { line-height: 1.16; }
.roll-detail-description { font-size: 14px; line-height: 1.72; }
.label-unroll-instruction { font-size: 12px; }
/* Broad, heavy letterforms echo the reference's proportions. The customer's
   symbol and letter animation remain intact; this is a distinct open font. */
.atelier-site .brand strong,
.atelier-site .site-header .brand-letters {
  font-family: var(--font-wordmark);
  font-size: 28px;
  font-weight: 800;
  font-stretch: 125%;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.atelier-site .brand small,
.atelier-site .site-header .brand-wordmark small {
  font-family: var(--font-sans);
  font-size: 7px;
  font-weight: 500;
  letter-spacing: .17em;
}
.atelier-site .site-header .nav-parent {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -.015em;
}
.atelier-site :is(.eyebrow,.folio-kicker,.label-unroll-instruction) {
  font-family: var(--font-accent);
  font-weight: 400;
}
.atelier-site .eyebrow { font-size: 12px; letter-spacing: .12em; }
.atelier-site .footer-links h3 { font-family: var(--font-accent); }

.atelier-site :is(.btn,.textlink,.text-button) { font-weight: 550; letter-spacing: normal; }
.atelier-site .btn { line-height: 1.45; }
.atelier-site .paper-folio .folio-entry strong { font-family: var(--font-display); font-weight: 450; line-height: 1.12; letter-spacing: -.025em; }
.atelier-site .paper-folio .folio-heading h2 { font-family: var(--font-display); letter-spacing: -.015em; }
.atelier-site .paper-folio .folio-entry small { font-size: 12px; line-height: 1.6; }
.atelier-site .home-industry-title { font-family: var(--font-display); font-weight: 450; line-height: 1.12; letter-spacing: -.025em; }
.atelier-site .home-exhibitions h2 { font-weight: 450; line-height: 1.08; }
.atelier-site :is(.home-founder-name strong,.home-quality-note h3) { line-height: 1.15; }
.atelier-site .footer-contact h2 { line-height: 1.1; }
.atelier-site .footer-links h3 { letter-spacing: .1em; font-weight: 600; }
body.atelier-site[data-page='inner'] :is(.inner-hero h1,.application-scenes-copy h1,.material-cover h1) {
  font-weight: 450;
  letter-spacing: -.03em;
  line-height: 1.07;
}
body.atelier-site[data-page='inner'] .catalog-product-summary h1 {
  font-family: var(--font-sans);
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.16;
}
.atelier-site .catalog-card h3 { font-weight: 500; letter-spacing: -.018em; line-height: 1.25; }
.atelier-site :is(.catalog-price,.catalog-attributes,.catalog-summary-specs,.spec-table,.compare-result) {
  font-variant-numeric: lining-nums tabular-nums;
}
.atelier-site .catalog-price { font-weight: 500; letter-spacing: -.015em; }
.atelier-site :is(.catalog-attributes,.catalog-summary-specs) :is(th,td,dt,dd) { letter-spacing: normal; }
.atelier-site :is(.article-body,.prose,.policy-body) { letter-spacing: normal; }
.atelier-site .editorial-reading .article-body :is(p,li) { font-size: 18px; line-height: 1.8; letter-spacing: normal; }
.atelier-site .editorial-reading .article-body h2 { font-weight: 500; letter-spacing: -.025em; line-height: 1.18; }
.atelier-site .editorial-reading .article-body h3 { font-weight: 550; line-height: 1.25; }
.atelier-site .editorial-reading .article-body .answer p { font-size: 23px; line-height: 1.5; letter-spacing: -.01em; }
.atelier-site .editorial-reading .article-body .source-list li { font-size: 13px; line-height: 1.7; }
.atelier-site .faq summary { font-weight: 500; letter-spacing: -.01em; }
.atelier-site .field label { font-weight: 550; }
.atelier-site .field :is(input,select,textarea) { font-size: 16px; letter-spacing: normal; }
.atelier-site pre { font-family: var(--font-sans); letter-spacing: normal; }
@media (min-width:1100px) and (max-height:870px) {
  .atelier-site .label-unroll-heading h2 { font-size: clamp(62px,6.2vw,96px); }
  .roll-detail-description { font-size: 13px; }
}
@media (max-width:760px) {
  .atelier-site .atelier-hero h1 { font-size: clamp(65px,15vw,108px); line-height: 1.02; letter-spacing: -.035em; }
  .atelier-site .atelier-hero-topline p { font-size: 9px; letter-spacing: .06em; }
  .atelier-site .atelier-hero p.atelier-hero-lead { font-size: 30px; line-height: 1.2; }
  .atelier-site .atelier-hero-enquiry > p { font-size: 15px; }
  .atelier-site .atelier-hero .hero-actions { flex-direction: column; align-items: flex-start; gap: 14px; max-width: calc(100% - 58px); }
  .atelier-site .label-unroll-heading h2 { font-size: clamp(58px,14vw,88px); line-height: 1.04; }
  .atelier-site .label-unroll-heading .eyebrow { font-size: 9px; }
  .roll-detail-description { font-size: 15px; }
  .atelier-site .editorial-reading .article-body :is(p,li) { font-size: 17px; line-height: 1.8; }
  .atelier-site .editorial-reading .article-body .answer p { font-size: 21px; }
  .atelier-site .home-exhibitions h2 { font-size: 47px; }
}

@media (max-width:1200px) {
  .atelier-site .site-header .nav-parent { font-size: 13px; }
}
@media (max-width:1050px) {
  .atelier-site .site-header .nav-parent { font-size: 22px; }
}
@media (max-width:760px) {
  .atelier-site .brand strong,
  .atelier-site .site-header .brand-letters { font-size: 24px; }
}
