/* Compositions share typography, surfaces and spacing with the rest of the kit. */
.type-stage{width:1440px;max-width:100%;min-width:0;container:type-stage / inline-size}
.type-block{min-width:0}.type-container{width:100%;min-width:0}
.type-heading,.type-block p{margin:0;overflow-wrap:anywhere}
.type-heading{max-width:1100px}.type-heading-slot{width:100%;min-width:0}
.type-block[data-width=half] .type-heading-slot{width:calc((100% - 20px)/2)}
.type-block[data-width=two-thirds] .type-heading-slot{width:calc((100% - 40px)/3*2 + 20px)}
.type-block[data-width=three-quarters] .type-heading-slot{width:calc((100% - 60px)/4*3 + 40px)}
.type-block[data-align=center] .type-heading-slot{margin-inline:auto;text-align:center}
.type-block[data-align=center] .type-heading{margin-inline:auto}
.type-block[data-align=right] .type-heading-slot{margin-left:auto}
.type-heading-line{display:block}.type-inline-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:.75em;height:.75em;border-radius:.195em;letter-spacing:normal}
.type-inline-icon .ic{width:.445em;height:.445em}
.type-inline-photo{display:inline-block;width:1.5em;height:.75em;object-fit:cover;vertical-align:middle;border-radius:.195em}
.type-text-layout{display:flex;flex-direction:column}.type-text-grid,.type-body-columns{display:grid;min-width:0;align-items:start}
.type-text-grid{grid-template-columns:1fr}.type-body-columns{grid-template-columns:repeat(var(--text-columns,1),minmax(0,1fr))}
.type-lead,.type-body-column{display:flex;flex-direction:column;min-width:0}.type-photo{width:195px;max-width:100%;aspect-ratio:1;object-fit:cover}
.type-block[data-layout=four] .type-text-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.type-block[data-layout=four] .type-body-columns{grid-column:3 / span 2}
.type-block[data-layout=two] .type-text-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.type-block[data-layout=three] .type-text-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.type-block[data-layout=three] .type-body-columns{grid-column:span 2}
.type-block[data-layout=side] .type-text-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
.type-block[data-layout=center] .type-heading,.type-block[data-layout=center] .type-text-grid{margin-inline:auto;text-align:center}
.type-block[data-layout=offset] .type-text-grid{width:calc((100% - 40px)/3*2 + 20px);margin-left:auto}
.widget-tools label[hidden]{display:none}
@container type-stage (max-width:991px){
 .type-block[data-layout=three] .type-body-columns{grid-column:auto}
 .type-block[data-layout=four] .type-text-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .type-block[data-layout=four] .type-body-columns{grid-column:2}
 .type-block[data-layout=side] .type-text-layout{grid-template-columns:minmax(0,1fr)}
 .type-block[data-layout=three] .type-text-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .type-block[data-layout=four] .type-body-columns,.type-block[data-layout=three] .type-body-columns{grid-template-columns:minmax(0,1fr)}
 .type-block[data-width=half] .type-heading-slot{width:100%}
 .type-block[data-layout=offset] .type-text-grid{width:100%}
}
@container type-stage (max-width:767px){
 .type-block[data-layout=four] .type-body-columns{grid-column:auto}
 .type-block[data-width] .type-heading-slot{width:100%}
 .type-block[data-layout] .type-text-grid,.type-block[data-layout] .type-body-columns{grid-template-columns:minmax(0,1fr)}
}

@container type-stage (max-width:991px){
.type-block .sz-txt-h1{font-family:"Inter",sans-serif;font-weight:600;font-style:normal;font-size:72px;line-height:75px;letter-spacing:-4.32px;}
.type-block .sz-txt-h2{font-family:"Inter",sans-serif;font-weight:600;font-style:normal;font-size:54px;line-height:55px;letter-spacing:-4.2px;}
.type-block .sz-txt-h3{font-family:"Inter",sans-serif;font-weight:600;font-style:normal;font-size:45px;line-height:47px;letter-spacing:-2.7px;}
.type-block .sz-txt-h4{font-family:"Inter",sans-serif;font-weight:500;font-style:normal;font-size:32px;line-height:34px;letter-spacing:-1.92px;}
.type-block .sz-txt-l{font-family:"Inter",sans-serif;font-weight:600;font-style:normal;font-size:20px;line-height:24px;letter-spacing:-1.2px;}
.type-block .sz-txt-m{font-family:"Inter",sans-serif;font-weight:500;font-style:normal;font-size:16px;line-height:23px;letter-spacing:-0.95px;}
}

@container type-stage (max-width:767px){
.type-block .sz-txt-h1{font-family:"Inter",sans-serif;font-weight:600;font-style:normal;font-size:58px;line-height:60px;letter-spacing:-4.32px;}
.type-block .sz-txt-h2{font-family:"Inter",sans-serif;font-weight:600;font-style:normal;font-size:48px;line-height:48px;letter-spacing:-4.2px;}
.type-block .sz-txt-h3{font-family:"Inter",sans-serif;font-weight:600;font-style:normal;font-size:42px;line-height:47px;letter-spacing:-2.7px;}
.type-block .sz-txt-h4{font-family:"Inter",sans-serif;font-weight:500;font-style:normal;font-size:32px;line-height:34px;letter-spacing:-1.92px;}
.type-block .sz-txt-l{font-family:"Inter",sans-serif;font-weight:600;font-style:normal;font-size:20px;line-height:24px;letter-spacing:-1.2px;}
.type-block .sz-txt-m{font-family:"Inter",sans-serif;font-weight:500;font-style:normal;font-size:16px;line-height:23px;letter-spacing:-0.95px;}
}

@container type-stage (max-width:459px){
 .type-block :is(.sz-txt-h1,.sz-txt-h1-alt){font-size:44px;line-height:44px;letter-spacing:-3.5px}
 .type-block :is(.sz-txt-h2,.sz-txt-h2-alt){font-size:43px;line-height:43px;letter-spacing:-3.2px}
 .type-block :is(.sz-txt-h3,.sz-txt-h3-alt){font-size:40px;line-height:47px;letter-spacing:-2.7px}
}

.type-block[data-layout=center] .type-body-columns{justify-items:center}

/* Independent heading and body grids share the same 20px column gutter. */
.type-heading-grid{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}
.type-heading-grid>*{min-width:0}
.type-block[data-heading-columns=left-half] .type-heading-grid,
.type-block[data-heading-columns=right-half] .type-heading-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.type-block[data-heading-columns=right-two-thirds] .type-heading-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.type-block[data-heading-columns=right-two-four] .type-heading-grid,.type-block[data-heading-columns=right-three-quarters] .type-heading-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.type-block[data-heading-columns^=right-] .type-heading-grid>.type-heading{grid-column:2 / -1}
.type-block[data-heading-columns=right-two-four] .type-heading-grid>.type-heading{grid-column:3 / -1}
.type-block[data-heading-columns=center] .type-heading{margin-inline:auto;text-align:center}
.type-block[data-layout=side] .type-text-layout{display:flex}
.type-block[data-layout=side] .type-text-grid{width:calc((100% - 20px)/2);margin-left:auto}
.type-block[data-layout=offset-three] .type-text-grid{width:calc((100% - 60px)/4*3 + 40px);margin-left:auto;grid-template-columns:repeat(3,minmax(0,1fr))}
.type-block[data-layout=offset-three] .type-body-columns{grid-column:span 2}
/* Body alignment does not override the independently selected heading alignment. */
.type-block[data-layout=center]:not([data-heading-columns=center]) .type-heading{margin-inline:0;text-align:left}
@container type-stage (max-width:991px){
 .type-block[data-heading-columns=right-two-four] .type-heading-grid>.type-heading{grid-column:2 / -1}
 .type-block[data-heading-columns^=right-] .type-heading-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .type-block[data-layout=offset-three] .type-text-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
 .type-block[data-layout=offset-three] .type-body-columns{grid-column:auto;grid-template-columns:minmax(0,1fr)}
}
@container type-stage (max-width:767px){
 .type-block[data-heading-columns] .type-heading-grid{grid-template-columns:minmax(0,1fr)}
 .type-block[data-heading-columns] .type-heading-grid>.type-heading{grid-column:auto}
 .type-block[data-layout=side] .type-text-grid,.type-block[data-layout=offset-three] .type-text-grid{width:100%;grid-template-columns:minmax(0,1fr)}
}

/* H1 compositions collapse at tablet width; body grids remain independent. */
@container type-stage (max-width:991px){
 .type-block[data-heading-level=h1][data-heading-columns] .type-heading-grid{grid-template-columns:minmax(0,1fr)}
 .type-block[data-heading-level=h1][data-heading-columns] .type-heading-grid>.type-heading{grid-column:auto}
 .type-block[data-heading-level=h1][data-width] .type-heading-slot{width:100%}
}

/* Keep the photo intrinsic; distribute spare height in the heading's companion column. */
.type-heading-lead{align-self:stretch;justify-content:space-between}
.type-photo{flex:none;height:auto}

.type-text-grid>.type-lead:has(.type-photo){align-self:stretch;justify-content:space-between}
