.banner-component { container-type:inline-size; min-width:0; width:100%; }
.banner-surface { position:relative; isolation:isolate; min-height:clamp(30rem,34cqw,37rem); background:#f7f4f6; color:#242124; display:grid; align-items:center; overflow:hidden; }
.banner-media { position:absolute; inset:0; z-index:-2; }
.banner-media picture,.banner-media img { display:block; width:100%; height:100%; }
.banner-media img { object-fit:cover; object-position:var(--banner-position,65% 50%); }
.banner-surface::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#faf8faf5 0%,#faf8fae0 30%,#faf8fa66 55%,transparent 85%); }
.banner-content { width:50%; max-width:44rem; min-width:0; padding:3.5rem 0 5rem; margin-left:max(2.25rem,calc((100cqw - 90rem)/2)); padding-right:1.5rem; }
.banner-content { position:relative; z-index:1; }
.banner-text { display:flow-root; }
.banner-action { position:relative; z-index:2; width:fit-content; max-width:100%; }
.banner-component .banner-eyebrow { font-size:.8rem; letter-spacing:.14em; line-height:1.6; margin:0 0 1.25rem; color:inherit; overflow-wrap:anywhere; }
.banner-component .banner-title { color:inherit; font-size:clamp(2.5rem,4.5cqw,5rem); line-height:1.06; letter-spacing:-.045em; white-space:pre-line; overflow-wrap:anywhere; margin:0 0 1.5rem; }
.banner-component .banner-highlight { font-size:clamp(2.5rem,4cqw,4rem); line-height:1.1; letter-spacing:-.04em; font-weight:600; color:inherit; margin:0 0 1rem; overflow-wrap:anywhere; }
.banner-component .banner-description { font-size:1.0625rem; line-height:1.6; color:inherit; max-width:34rem; margin:0 0 1.5rem; white-space:pre-line; overflow-wrap:anywhere; }
.banner-component .banner-button { margin:0; max-width:100%; gap:1.75rem; font-size:.9375rem; padding:.875rem 1.5rem; border-radius:3px; letter-spacing:0; text-align:center; overflow-wrap:anywhere; }
.banner-component .banner-button:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.banner-image-placeholder { height:100%; min-height:14rem; display:grid; place-items:center; color:#706b73; background:#eee9ed; font-size:1rem; }
[data-banner-theme=dark] .banner-surface { color:#fff; background:#3d2639; }
[data-banner-theme=dark] .banner-surface::after { background:linear-gradient(90deg,#30232feb 0%,#30232fc9 35%,#30232f55 60%,transparent 100%); }
.banner-component[data-banner-theme=dark] .banner-button { color:#242124; background:#fff; border-color:#fff; }
.banner-component[data-banner-theme=dark] .banner-button:hover { background:#f5e9f0; }
[data-banner-layout=split] .banner-surface { grid-template-columns:1fr 1fr; padding-inline:max(2.25rem,calc((100cqw - 90rem)/2)); gap:2rem; }
[data-banner-layout=split] .banner-surface::after { display:none; }
[data-banner-layout=split] .banner-content { width:100%; margin:0; grid-column:1; grid-row:1; }
[data-banner-layout=split] .banner-media { position:relative; inset:auto; grid-column:2; grid-row:1; z-index:0; height:clamp(20rem,29cqw,30rem); }
[data-banner-layout=split] .banner-media img { object-fit:contain; }
.banner-component[data-banner-promotion=true] {
  --offer-ink:#242124; --offer-accent:#a51a73; --offer-muted:#625d61; --offer-border:#c9c3c7;
  --offer-background:#f1eeeb; --offer-button:#ffffff80; --offer-hover:#fff;
}
.banner-component[data-banner-promotion=true][data-banner-theme=dark] {
  --offer-ink:#fff; --offer-accent:#ffb9e5; --offer-muted:#e2dde1; --offer-border:#81777e;
  --offer-background:#302b30; --offer-button:#ffffff0d; --offer-hover:#ffffff1f;
}
.banner-component[data-banner-promotion=true] .banner-surface { background:var(--offer-background); color:var(--offer-ink); grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,3cqw,3rem); padding-inline:max(clamp(2.25rem,7cqw,7rem),calc((100cqw - 84rem)/2)); }
.banner-component[data-banner-promotion=true] .banner-content { padding:3rem 0 5rem; max-width:34rem; }
.banner-component[data-banner-promotion=true] .banner-title { font-family:var(--sans); font-weight:400; font-size:clamp(2rem,3.1cqw,3.25rem); line-height:1.15; letter-spacing:-.045em; margin:0 0 1.25rem; text-wrap:balance; }
.banner-component[data-banner-promotion=true] .banner-eyebrow { color:var(--offer-muted); font-size:.75rem; letter-spacing:.16em; }
.banner-component[data-banner-promotion=true] .banner-highlight { color:var(--offer-accent); font-family:var(--sans); font-size:clamp(3rem,5.3cqw,5.5rem); line-height:1.05; font-weight:600; letter-spacing:-.055em; margin:0 0 1rem; }
.banner-component[data-banner-promotion=true] .banner-description { color:var(--offer-muted); font-size:1.0625rem; margin:0 0 2rem; }
.banner-component[data-banner-promotion=true] .banner-button { background:var(--offer-button); color:var(--offer-ink); border:1px solid var(--offer-border); border-radius:3px; padding:.875rem 1.25rem; min-height:3rem; gap:2rem; font-size:.9375rem; }
.banner-component[data-banner-promotion=true] .banner-button:hover { background:var(--offer-hover); border-color:var(--offer-ink); }
.banner-component[data-banner-promotion=true] .banner-media { width:100%; max-width:42rem; height:clamp(19rem,27cqw,27.5rem); justify-self:center; }
.banner-component[data-banner-promotion=true] .banner-media picture { padding:.5rem; }
.banner-component[data-banner-promotion=true] .banner-media img { filter:drop-shadow(0 10px 12px #24212418); }
.managed-slide { min-height:0; display:block; }
.managed-slide > .banner-component,.managed-slide .banner-surface { height:100%; }
.hero-controls > button { font-size:1.75rem; }
.hero-carousel .hero-controls { max-width:calc(100% - 1rem); }
.hero-carousel .hero-indicators { min-width:0; flex:1; }
.hero-carousel .hero-indicators button { min-width:1rem; width:2.75rem; flex:1 1 2.75rem; padding:.375rem; }
.hero-carousel .hero-indicators span { width:100%; max-width:1.5rem; }
.hero-carousel .hero-indicators [aria-pressed="true"] span { max-width:2rem; }
@container (max-width:760px) {
  .banner-surface { min-height:35rem; align-items:start; }
  .banner-content { width:auto; margin-inline:1.125rem; padding:2rem 0 5rem; }
  .banner-component .banner-title { font-size:clamp(2.25rem,10cqw,3.75rem); }
  .banner-component .banner-eyebrow { font-size:.75rem; margin-bottom:1rem; }
  .banner-component .banner-description { font-size:1rem; }
  .banner-media img { object-position:var(--banner-mobile-position,65% 50%); }
  .banner-surface::after { background:linear-gradient(180deg,#faf8faf5 0%,#faf8fae0 35%,#faf8fa33 72%,#faf8fa80 100%); }
  [data-banner-theme=dark] .banner-surface::after { background:linear-gradient(180deg,#30232feb 0%,#30232fc9 40%,#30232f44 80%); }
  [data-banner-layout=split] .banner-surface { grid-template-columns:1fr; gap:1rem; padding:0 1.125rem 4.5rem; }
  [data-banner-layout=split] .banner-content { padding:2rem 0 0; margin:0; }
  [data-banner-layout=split] .banner-media { grid-column:1; grid-row:2; width:100%; height:clamp(11rem,45cqw,18rem); }
  .banner-component[data-banner-promotion=true] .banner-surface { grid-template-columns:minmax(0,1fr); gap:0; align-content:center; padding:1.75rem 1.125rem 4.5rem; }
  .banner-component[data-banner-promotion=true] .banner-content { display:contents; }
  .banner-component[data-banner-promotion=true] .banner-text { grid-column:1; grid-row:1; position:relative; z-index:1; text-align:center; }
  .banner-component[data-banner-promotion=true] .banner-title { font-size:clamp(1.625rem,7cqw,2.125rem); margin-bottom:.75rem; }
  .banner-component[data-banner-promotion=true] .banner-highlight { font-size:clamp(3rem,13cqw,3.75rem); margin-bottom:.75rem; }
  .banner-component[data-banner-promotion=true] .banner-description { font-size:.9375rem; margin:0; }
  .banner-component[data-banner-promotion=true] .banner-media { grid-column:1; grid-row:2; height:clamp(10.5rem,48cqw,14rem); max-width:26rem; margin:1.5rem auto 1.25rem; }
  .banner-component[data-banner-promotion=true] .banner-media picture { padding:.5rem; }
  .banner-component[data-banner-promotion=true] .banner-action { grid-column:1; grid-row:3; justify-self:center; }
  .banner-component[data-banner-promotion=true] .banner-button { font-size:.875rem; gap:2.5rem; }
}

/* A full-width campaign photo with live promotional copy in its quiet area. */
.banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-surface { grid-template-columns:minmax(0,1fr); gap:0; padding:0; align-content:normal; }
.banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-surface::after { display:none; }
.banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-media { position:absolute; inset:0; grid-area:auto; width:100%; max-width:none; height:100%; margin:0; z-index:-2; }
.banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-media picture { padding:0; }
.banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-media img { filter:none; }
.banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-content { display:block; width:35%; max-width:34rem; margin-left:max(2rem,6cqw,calc((100cqw - 88rem)/2)); padding:3rem 0 5rem; }
.banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-title { font-size:clamp(1.5rem,2.2cqw,2.75rem); margin-bottom:1.25rem; }
.banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-highlight { font-size:clamp(3rem,4.6cqw,5.5rem); margin-bottom:1rem; }
.banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-description { font-size:clamp(1.125rem,1.05cqw,1.25rem); font-weight:500; line-height:1.5; color:var(--offer-ink); margin-bottom:1.75rem; }
@container (min-width:761px) and (max-width:1100px) {
  .banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-surface::after { display:block; background:linear-gradient(90deg,#f1f6faf2 0%,#f1f6fae6 30%,#f1f6fa66 48%,transparent 68%); }
  .banner-component[data-banner-layout=background][data-banner-promotion=true][data-banner-theme=dark] .banner-surface::after { background:linear-gradient(90deg,#30232feb 0%,#30232fc9 35%,transparent 68%); }
}
@container(max-width:760px) {
  .banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-content { width:auto; max-width:none; margin:0 1.125rem; padding:1.5rem 0 0; }
  .banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-title { font-size:clamp(1.5rem,6cqw,1.75rem); margin-bottom:.625rem; }
  .banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-highlight { font-size:clamp(2.75rem,11.5cqw,3.25rem); margin-bottom:.625rem; }
  .banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-description { font-size:1rem; margin-bottom:1rem; }
  .banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-action { margin-inline:auto; }
  .banner-component[data-banner-layout=background][data-banner-promotion=true] .banner-button { min-height:2.75rem; padding:.625rem 1.125rem; }
}

/* A large photo beside the copy, with separate framing on mobile. */
.banner-component[data-banner-layout=photo] .banner-surface { padding:0; display:grid; grid-template-columns:48% 52%; gap:0; }
.banner-component[data-banner-layout=photo] .banner-surface::after { display:none; }
.banner-component[data-banner-layout=photo] .banner-content { width:auto; max-width:none; margin:0; padding:3rem 2.5rem 5rem max(clamp(2.25rem,7cqw,7rem),calc((100cqw - 80rem)/2)); grid-column:1; grid-row:1; }
.banner-component[data-banner-layout=photo] .banner-title { font-size:clamp(2rem,2.8cqw,3rem); margin-bottom:1rem; }
.banner-component[data-banner-layout=photo] .banner-highlight { font-size:clamp(3rem,4.8cqw,5.25rem); margin-bottom:1rem; }
.banner-component[data-banner-layout=photo] .banner-description { margin-bottom:1.5rem; }
.banner-component[data-banner-layout=photo] .banner-media { position:absolute; inset:0 0 0 48%; width:52%; max-width:none; height:auto; margin:0; background:#e7e7e7; z-index:0; justify-self:stretch; }
.banner-component[data-banner-layout=photo] .banner-media picture { display:flex; justify-content:center; padding:0; }
.banner-component[data-banner-layout=photo] .banner-media img { width:min(100%,clamp(34rem,38cqw,42rem)); height:100%; object-fit:cover; object-position:var(--banner-position,50% 0%); filter:none; mask-image:linear-gradient(90deg,transparent,#000 8%,#000 94%,transparent); }
@container(max-width:760px) {
  .banner-component[data-banner-layout=photo] .banner-surface { min-height:35rem; display:grid; grid-template-columns:1fr; grid-template-rows:auto auto minmax(18.5rem,1fr); padding:0; align-content:stretch; }
  .banner-component[data-banner-layout=photo] .banner-content { display:contents; }
  .banner-component[data-banner-layout=photo] .banner-text { padding:1.5rem 1.125rem 0; text-align:center; grid-row:1; }
  .banner-component[data-banner-layout=photo] .banner-title { font-size:clamp(1.5rem,6.5cqw,2rem); margin-bottom:.625rem; }
  .banner-component[data-banner-layout=photo] .banner-highlight { font-size:clamp(2.75rem,12cqw,3.5rem); margin-bottom:.5rem; }
  .banner-component[data-banner-layout=photo] .banner-description { font-size:.9375rem; margin-bottom:0; }
  .banner-component[data-banner-layout=photo] .banner-action { grid-column:1; grid-row:2; justify-self:center; margin:1rem 1.125rem 1.5rem; }
  .banner-component[data-banner-layout=photo] .banner-media { position:relative; inset:auto; grid-column:1; grid-row:3; width:100%; height:100%; min-height:18.5rem; margin:0; overflow:hidden; }
  .banner-component[data-banner-layout=photo] .banner-media picture { position:absolute; inset:0; }
  .banner-component[data-banner-layout=photo] .banner-media img { width:100%; max-width:22rem; object-position:var(--banner-mobile-position,50% 0%); }
}

/* Use the original photo across the compact summer banner. */
.banner-swimwear .banner-surface { background:#edf1e4; min-height:clamp(30rem,34cqw,40rem); }
.banner-swimwear .banner-media { inset:0; }
.banner-swimwear[data-banner-theme=light] .banner-surface::after { background:none; }
.banner-swimwear .banner-content { width:34%; max-width:32rem; margin-left:64%; padding:3rem 2rem 5rem 0; }
.banner-swimwear[data-banner-theme=light] .banner-text { color:#304735; }
.banner-swimwear .banner-title { font-size:clamp(1.75rem,2.6cqw,3rem); font-weight:700; line-height:1.18; letter-spacing:-.015em; white-space:pre-line; overflow-wrap:normal; margin-bottom:1.5rem; }
.banner-swimwear .banner-description { font-size:clamp(1.25rem,2cqw,1.75rem); font-weight:400; line-height:1.4; margin-bottom:1.75rem; letter-spacing:.045em; }
.banner-swimwear[data-banner-theme=light] .banner-description { color:#263d2d; }
.banner-swimwear[data-banner-theme=light] .banner-button { background:#111; border-color:#111; color:#fff; }
.banner-swimwear[data-banner-theme=light] .banner-button:hover { background:#292929; border-color:#292929; }
@container(min-width:761px) {
  .banner-swimwear[data-banner-theme=light] .banner-text { color:#fff; text-shadow:0 1px 2px #10201680; }
  .banner-swimwear[data-banner-theme=light] .banner-description { color:#fff; }
}
@container(min-width:1200px) {
  .banner-swimwear .banner-media picture { width:95%; }
  /* Overlap the outer edge by 2px to cover fractional-pixel rounding. */
  .banner-swimwear .banner-media::before { content:""; position:absolute; inset:0 0 0 calc(95% - 2px); z-index:-1; background:var(--banner-image) right var(--banner-position-y,20%)/95cqw auto no-repeat; transform:scaleX(-1); }
  .banner-swimwear[data-banner-theme=light] .banner-text { color:#203b29; text-shadow:none; }
  .banner-swimwear[data-banner-theme=light] .banner-description { color:#263d2d; }
  .banner-swimwear[data-banner-theme=light] .banner-surface::after { background:radial-gradient(ellipse 31% 65% at 78% 43%,#edf1e47a 0%,#edf1e470 45%,#edf1e41a 77%,transparent 100%); }
}
@container(max-width:760px) {
  .banner-swimwear .banner-surface { min-height:35rem; align-items:end; }
  .banner-swimwear[data-banner-theme=light] .banner-surface::after { background:radial-gradient(ellipse 115% 60% at 0% 100%,#edf1e4d9 42%,#edf1e4c9 62%,#edf1e44d 84%,transparent 100%); }
  .banner-swimwear .banner-content { width:auto; max-width:none; margin:0 1.125rem; padding:0 0 5rem; }
  .banner-swimwear[data-banner-theme=light] .banner-text { color:#263d2d; }
  .banner-swimwear .banner-title { font-size:clamp(1.75rem,7.4cqw,2rem); margin-bottom:1rem; }
  .banner-swimwear .banner-description { font-size:1.25rem; margin-bottom:1.375rem; }
}

/* Let the studio photo's quiet background carry the copy without covering the set. */
.banner-wellbeing .banner-surface { background:#e5e5e3; color:#302a29; }
.banner-wellbeing .banner-surface::after { background:none; }
.banner-wellbeing .banner-content { width:42%; max-width:39rem; }
.banner-wellbeing .banner-title { font-size:clamp(2rem,3.7cqw,4.25rem); line-height:1.08; }
.banner-wellbeing[data-banner-theme=light] .banner-button { color:#fff; background:#111; border-color:#111; }
.banner-wellbeing[data-banner-theme=light] .banner-button:hover { background:#292929; border-color:#292929; }
@container(min-width:761px) {
  .banner-wellbeing .banner-media { left:34%; }
  .banner-wellbeing .banner-media img { mask-image:linear-gradient(90deg,transparent,#000 12%); }
  .banner-recruitment .banner-media img { mask-image:linear-gradient(90deg,transparent,#000 3%); }
}
@container(max-width:760px) {
  .banner-wellbeing .banner-surface { align-items:start; }
  .banner-wellbeing .banner-content { width:auto; max-width:none; margin:0 1.125rem; padding:1.75rem 0 0; }
  .banner-wellbeing .banner-title { font-size:clamp(2rem,8.5cqw,2.75rem); margin-bottom:1rem; }
  .banner-wellbeing .banner-media { top:11rem; }
  .banner-wellbeing .banner-media img { mask-image:linear-gradient(180deg,transparent,#000 4%); }
}

.banner-recruitment .banner-content { width:48%; max-width:46rem; }
.banner-recruitment .banner-title { font-size:clamp(1.25rem,2.3cqw,2.75rem); line-height:1.15; letter-spacing:-.025em; text-wrap:balance; margin-bottom:1rem; }
.banner-recruitment .banner-highlight { color:var(--accent); font-size:clamp(1.5rem,2.3cqw,2.75rem); line-height:1.15; letter-spacing:-.025em; text-wrap:balance; margin-bottom:1.5rem; }
.banner-recruitment .banner-brand-name { color:var(--accent); }
@container(max-width:760px) {
  .banner-recruitment .banner-surface { min-height:31.25rem; grid-template-rows:auto auto; align-items:stretch; align-content:end; padding-bottom:3.5rem; }
  .banner-recruitment .banner-content { grid-row:1; width:auto; max-width:none; padding:1.5rem 0 1.25rem; text-align:center; }
  .banner-recruitment .banner-title { font-size:clamp(1.5rem,6.5cqw,1.75rem); margin-bottom:1rem; }
  .banner-recruitment .banner-highlight { font-size:clamp(1.375rem,6cqw,1.625rem); margin-bottom:1.25rem; }
  .banner-recruitment .banner-action { margin-inline:auto; }
  .banner-recruitment .banner-media { position:relative; inset:auto; grid-row:2; min-height:0; height:auto; aspect-ratio:2208 / 1273; }
  .banner-recruitment .banner-media img { object-fit:contain; object-position:50% 50%; mask-image:none; }
}

/* Fill the banner with the smallest photo scale that covers its full width. */
.banner-acrobata .banner-surface { background:#cbd0cf; align-items:start; }
.banner-acrobata .banner-surface::after { background:none; }
.banner-acrobata .banner-media { width:100%; mask-image:none; }
.banner-acrobata .banner-content { width:max-content; max-width:50%; margin-inline:auto; padding:3.5rem 0 5rem; text-align:center; }
.banner-acrobata .banner-title { font-size:clamp(1.25rem,2.5cqw,3rem); font-weight:500; line-height:1.15; letter-spacing:-.025em; text-wrap:balance; margin-bottom:1.125rem; }
.banner-acrobata .banner-action { margin-inline:auto; }
.banner-acrobata[data-banner-theme=light] .banner-text { color:#523b33; }
.banner-acrobata[data-banner-theme=light] .banner-button { color:#fff; background:#523b33; border-color:#523b33; }
.banner-acrobata[data-banner-theme=light] .banner-button:hover { background:#3f2c25; border-color:#3f2c25; }
@container(min-width:761px) and (max-width:1100px) {
  .banner-acrobata .banner-button { font-size:.875rem; padding:.75rem 1.125rem; gap:1rem; }
}
@container(max-width:760px) {
  .banner-acrobata .banner-surface { min-height:31.25rem; grid-template-rows:auto auto; align-items:stretch; align-content:end; padding-bottom:3.5rem; }
  .banner-acrobata .banner-content { grid-row:1; width:auto; max-width:none; margin:0 1.125rem; padding:1.5rem 0 1.25rem; text-align:center; }
  .banner-acrobata .banner-title { font-size:clamp(1.5rem,6.5cqw,1.75rem); margin-bottom:1rem; }
  .banner-acrobata .banner-action { margin-inline:auto; }
  .banner-acrobata .banner-media { position:relative; inset:auto; grid-row:2; min-height:0; height:auto; width:100%; aspect-ratio:1600 / 1067; mask-image:none; }
  .banner-acrobata .banner-media img { object-fit:contain; object-position:50% 50%; }
}

/* A text-led promotion, with the same editable text and action as photo banners. */
.banner-component[data-banner-layout=graphic] {
  --graphic-background:#f8eaf2; --graphic-ink:#30252c; --graphic-accent:#a51a73;
  --graphic-muted:#695761; --graphic-border:#cdb3c1; --graphic-hover:#fff7fc;
}
.banner-component[data-banner-layout=graphic][data-banner-theme=dark] {
  --graphic-background:#342132; --graphic-ink:#fff5fb; --graphic-accent:#ffc9e9;
  --graphic-muted:#ebd6e3; --graphic-border:#937688; --graphic-hover:#ffffff14;
}
.banner-component[data-banner-layout=graphic] .banner-surface { background:var(--graphic-background); color:var(--graphic-ink); grid-template-columns:minmax(0,1fr); align-content:normal; align-items:center; gap:0; padding:0; }
.banner-component[data-banner-layout=graphic] .banner-surface::after { display:none; }
.banner-component[data-banner-layout=graphic] .banner-content { display:flex; flex-direction:column; align-items:center; width:fit-content; max-width:min(80rem,calc(100% - 4.5rem)); margin:0 auto; padding:3rem 0 5rem; }
.banner-component[data-banner-layout=graphic] .banner-text { width:100%; text-align:center; }
.banner-component[data-banner-layout=graphic] .banner-eyebrow { color:var(--graphic-muted); font-size:.75rem; margin:0 0 1rem; }
.banner-component[data-banner-layout=graphic] .banner-title { font-family:var(--sans); font-weight:400; font-size:clamp(1.5rem,2cqw,2rem); line-height:1.2; letter-spacing:-.03em; margin:0 0 1rem; }
.banner-component[data-banner-layout=graphic] .banner-highlight { color:var(--graphic-accent); font-family:var(--sans); font-weight:600; font-size:clamp(4.75rem,11.5cqw,12rem); line-height:.98; letter-spacing:-.065em; margin:0 0 1.25rem; text-wrap:balance; }
.banner-component[data-banner-layout=graphic] .banner-description { color:var(--graphic-muted); max-width:44rem; font-size:1.0625rem; margin:0 auto; }
.banner-component[data-banner-layout=graphic] .banner-action { margin-top:1.75rem; }
.banner-component[data-banner-layout=graphic] .banner-button { color:var(--graphic-ink); background:transparent; border:1px solid var(--graphic-border); font-size:.9375rem; padding:.875rem 1.25rem; gap:2rem; }
.banner-component[data-banner-layout=graphic] .banner-button:hover { background:var(--graphic-hover); border-color:var(--graphic-accent); }
@container(max-width:760px) {
  .banner-component[data-banner-layout=graphic] .banner-content { max-width:calc(100% - 2.25rem); padding:2.5rem 0 5rem; }
  .banner-component[data-banner-layout=graphic] .banner-title { font-size:clamp(1.25rem,5.6cqw,1.75rem); margin-bottom:1.125rem; }
  .banner-component[data-banner-layout=graphic] .banner-highlight { font-size:clamp(3.25rem,17cqw,7rem); margin-bottom:1.25rem; }
  .banner-component[data-banner-layout=graphic] .banner-description { font-size:.9375rem; }
  .banner-component[data-banner-layout=graphic] .banner-action { margin-top:1.5rem; }
}
