/* Shared typography: clear headings, focused introductions and readable detail. */
#main :is(h1,h2,h3){font-family:var(--sans);font-style:normal;font-weight:500;letter-spacing:-.025em;line-height:1.25;text-wrap:balance;overflow-wrap:break-word}
#main h1{font-size:clamp(2rem,4.1vw,3.25rem);line-height:1.2}
#main h2{font-size:clamp(1.5rem,2.7vw,2.3rem)}
#main h3{font-size:clamp(1.125rem,1.6vw,1.4rem);font-weight:600;line-height:1.4;letter-spacing:-.015em}
#main :is(h1,h2,h3) em{font:inherit;letter-spacing:inherit}
#main :is(.page-hero,.flow-hero){padding-block:42px 48px}
#main :is(.page-hero,.flow-hero)>.wrap,#main .product-heading{max-width:1000px;margin-inline:auto;text-align:center}
#main :is(.page-hero,.flow-hero,.product-heading) h1{max-width:26ch;margin:0 auto}
#main :is(.page-hero,.flow-hero,.product-heading) .eyebrow{margin-bottom:16px;font-size:.875rem;line-height:1.6;letter-spacing:.1em}
#main :is(.page-hero,.product-heading) .intro,#main .flow-hero>.wrap>p{max-width:720px;margin:20px auto 0;font-family:var(--sans);font-size:1.0625rem;line-height:1.8}
#main .product-quick-action,#main .flow-hero .flow-routes{justify-content:center}
#main .section-head,#main .home-fabrics .section-head{display:block;max-width:920px;margin:0 auto 36px;text-align:center}
#main .section-head h2{max-width:780px;margin:0 auto}
#main .section-head p{max-width:700px;margin:18px auto 0;font-size:1rem;line-height:1.8}
#main .section-head>.text-link{display:inline-block;margin-top:18px}
#main .story-heading h2{max-width:24ch}
#main :is(.story-copy,.prose) p{font-family:var(--sans);font-size:1rem;line-height:1.85}
#main :is(.product-card,.variant-card,.knowledge-card,.accessory-copy,.anatomy-part,.included-grid) h3{hyphens:auto}
#main .collection-note h3{font-size:1.5rem;line-height:1.4}
#main .home-intro .intro-grid{display:block;max-width:1000px;margin-inline:auto}
#main .home-intro .intro-grid>div:first-child{max-width:800px;margin:0 auto 26px;text-align:center}
#main .home-intro h2{max-width:none}
#main .home-intro .atelier-introduction-copy{max-width:760px;margin-inline:auto}
#main .home-intro .atelier-introduction-copy>p{font-family:var(--sans);font-size:1rem;font-weight:400;line-height:1.85;letter-spacing:0}
#main .home-intro .atelier-introduction-copy>.body-large{font-family:var(--sans);font-size:1.125rem;font-weight:500;line-height:1.8}
#main .home-intro .organisation-audiences>a strong{font-family:var(--sans);font-size:1.125rem;font-weight:600;line-height:1.4;letter-spacing:-.01em}
#main .flow-embedded .flow-inline-heading{display:block;max-width:880px;margin-inline:auto;text-align:center}
#main .flow-inline-heading h2{margin-top:14px}
#main .flow-inline-heading p{max-width:680px;margin:18px auto 0}
#main .flow-inline-heading .flow-routes{justify-content:center}
#main :is(.flow-panel,.flow-success) h2{font-size:clamp(1.5rem,2.5vw,2rem);text-align:left}
#main .flow-aside h2{font-size:1.5rem}
#main .flow-calendar-head h3{font-size:1.05rem;letter-spacing:0}
#main .flow-preparation h3{font-size:1.125rem}
#main .cta-band .wrap{display:block;max-width:950px;margin-inline:auto;text-align:center}
#main .cta-band h2{max-width:760px;margin:0 auto}
#main .cta-band p{max-width:660px;margin:20px auto 0;line-height:1.8}
#main .cta-band .cta-row{justify-content:center;margin-top:24px}
#main .cta-band .cta-contact{font-size:.9375rem;margin-top:18px}
#main .signature-copy h1{font-size:clamp(2rem,4.1vw,3.5rem);letter-spacing:-.035em;line-height:1.2}
@media(max-width:760px){
 #main :is(.page-hero,.flow-hero){padding-block:32px 38px}
 #main :is(.page-hero,.product-heading) .intro,#main .flow-hero>.wrap>p{font-size:1rem;margin-top:18px}
 #main .section-head,#main .home-fabrics .section-head{margin-bottom:28px}
 #main .story-heading h2{max-width:none}
 #main .home-intro .intro-grid>div:first-child{margin-bottom:22px}
 #main .home-intro .atelier-introduction-copy>.body-large{font-size:1.0625rem}
 #main .signature-copy h1{font-size:clamp(2rem,5.3vw,2.5rem)}
}
@media(max-width:420px){#main .signature-copy h1{font-size:clamp(1.8rem,8.5vw,2.2rem)}}
@media print{#main :is(.page-hero,.flow-hero){padding-block:20px}}

.tm-consent h2{font-family:var(--sans);font-size:1.5rem;font-weight:500;line-height:1.3;letter-spacing:-.02em}
