/* Promotions share the site's surfaces, type and controls. */
.promotions-heading{margin-bottom:clamp(1.75rem,3vw,2.75rem)}
.promotions-heading h1{max-width:22ch}
.promotions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.promotion-card{min-width:0;border:1px solid transparent;border-radius:var(--radius-small);background:var(--canvas);overflow:hidden;transition:background var(--duration) var(--ease),border-color var(--duration) var(--ease)}
.promotion-card-link{display:flex;flex-direction:column;min-width:0;height:100%;-webkit-user-select:text;user-select:text}
.promotion-card-image{display:flex;align-items:center;justify-content:center;min-width:0;aspect-ratio:3/2;background:var(--sky)}
.promotion-card-photo{width:100%;height:100%;object-fit:contain;-webkit-user-drag:none}
.promotion-card-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0;padding:clamp(1.25rem,2.25vw,2rem)}
.promotion-card-title{max-width:27ch;font-family:var(--display);font-size:clamp(1.8rem,1.35rem + 1.15vw,2.65rem);line-height:1.13;letter-spacing:-.03em;font-weight:400;text-wrap:balance;overflow-wrap:anywhere}
.promotion-card-excerpt{color:var(--muted);font-size:1rem;line-height:1.7;margin-top:1rem;margin-bottom:1.5rem;max-width:55ch;text-wrap:pretty}
.promotion-card-more{display:flex;align-items:center;justify-content:space-between;gap:1rem;align-self:stretch;margin-top:auto;padding-top:1.1rem;font-size:.98rem}
.promotion-card-more .icon-button{background:var(--paper);border-color:transparent;transition:background var(--duration) var(--ease),color var(--duration) var(--ease)}
.promotion-card--wide{grid-column:1/-1}
.promotion-card--wide .promotion-card-link{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.promotion-card--wide .promotion-card-body{justify-content:center;padding:clamp(1.5rem,3vw,3rem)}
.promotion-card--wide .promotion-card-more{margin-top:0}
.promotion-card--text .promotion-card-link{display:flex}
.promotion-card--text .promotion-card-body{min-height:17rem}
.promotion-status{display:inline-flex;align-items:center;align-self:flex-start;gap:.5rem;padding:.35rem .75rem;border-radius:.5rem;background:var(--sand);color:var(--ink);font-size:.85rem;line-height:1.4}
.promotion-card .promotion-status{margin-bottom:1rem}
.promotion-card-link:focus-visible{outline:3px solid oklch(63% .127 68);outline-offset:-4px}
.promotion-card:has(.promotion-card-link:focus-visible){background:var(--sky);border-color:var(--blue)}
.promotion-card-link:focus-visible .icon-button,.promotion-card-link:active .icon-button{background:var(--blue);color:var(--white)}
@media(hover:hover) and (pointer:fine){.promotion-card:hover{background:var(--sky);border-color:var(--muted)}.promotion-card:hover .icon-button{background:var(--blue);color:var(--white)}}
.promotions-home .section-heading{align-items:center}
.promotions-home .section-heading h2{max-width:18ch}
.promotions-empty{padding:clamp(1.5rem,3vw,2.5rem);max-width:none;border-radius:var(--radius-small);background:var(--canvas);color:var(--muted)}
.promotions-pagination{margin-top:2.5rem}
.promotions-pagination .nav-links{display:flex;flex-wrap:wrap;gap:.5rem}
.promotions-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:.5rem .85rem;border:1px solid var(--line);border-radius:var(--control-radius)}
.promotions-pagination a:hover,.promotions-pagination a:focus-visible{background:var(--sky)}
.promotions-pagination .current{background:var(--blue);color:var(--white);border-color:var(--blue)}
.promotions-pagination .dots{border-color:transparent}
.promotions-pagination .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.promotion-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:'image title';gap:clamp(1.5rem,3vw,3rem);align-items:center}
.promotion-hero--text{grid-template-columns:minmax(0,1fr);grid-template-areas:'title'}
.promotion-intro{grid-area:title;min-width:0}
.promotion-intro .eyebrow{color:var(--muted)}
.promotion-intro h1{max-width:25ch;font-size:clamp(2.2rem,1.5rem + 2.5vw,4.25rem);line-height:1.08;overflow-wrap:anywhere}
.promotion-intro .promotion-status{margin-top:1.5rem}
.promotion-banner{grid-area:image;min-width:0;overflow:hidden;border-radius:var(--radius-small);background:var(--sky)}
.promotion-banner-image{display:block;width:100%;height:auto}
.promotion-document{max-width:70ch;min-width:0;margin:clamp(2rem,4vw,3.5rem) auto 0;font-size:clamp(1rem,.97rem + .18vw,1.075rem);line-height:1.75;overflow-wrap:anywhere}
.promotion-document:empty{display:none}
.promotion-document :is(p,li){max-width:none;text-wrap:pretty}
.promotion-document>:first-child{margin-top:0}
.promotion-document>:last-child{margin-bottom:0}
.promotion-document :is(p,ul,ol,blockquote,figure,.wp-block-group,.wp-block-columns,.wp-block-buttons){margin-block:1.25rem}
.promotion-document :is(ul,ol){padding-left:1.4rem}
.promotion-document li+li{margin-top:.5rem}
.promotion-document li :is(ul,ol){margin-block:.5rem}
.promotion-document :is(h2,h3,h4,h5,h6){margin:2.25rem 0 1rem;font-family:var(--display);font-weight:400;line-height:1.2;letter-spacing:-.025em;text-wrap:balance}
.promotion-document h2{font-size:clamp(1.8rem,1.55rem + .75vw,2.4rem)}
.promotion-document h3{font-size:clamp(1.5rem,1.3rem + .5vw,1.85rem)}
.promotion-document :is(h4,h5,h6){font-size:1.3rem}
.promotion-document a:not(.wp-block-button__link){color:var(--blue);text-decoration:underline;text-underline-offset:.2em}
.promotion-document figure{max-width:100%;margin-inline:0}
.promotion-document img{max-width:100%;height:auto;border-radius:.6rem}
.promotion-document :is(figcaption,.wp-caption-text){margin-top:.6rem;color:var(--muted);font-size:.9rem;line-height:1.5}
.promotion-document .wp-caption{max-width:100%}
.promotion-document blockquote{margin-inline:0;border-left:.2rem solid var(--blue);padding-left:1.25rem;color:var(--muted)}
.promotion-document .wp-block-table{overflow-x:auto}
.promotion-document table{width:100%;border-collapse:collapse}
.promotion-document :is(th,td){padding:.65rem .8rem;border:1px solid var(--line);text-align:left}
.promotion-document iframe{max-width:100%}
.promotion-document :is(pre,code){overflow-wrap:anywhere}
.promotion-document pre{overflow-x:auto;padding:1rem;background:var(--canvas);border-radius:.6rem}
.promotion-document hr{border:0;border-top:1px solid var(--line);margin-block:2rem}
.promotion-document .wp-block-button__link{border-radius:var(--control-radius);background:var(--blue);color:var(--white);font-family:var(--sans)}
.promotion-document .aligncenter{margin-inline:auto}
.promotion-document :is(.alignwide,.alignfull){max-width:100%;margin-inline:0}
.promotion-content-pages{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
.promotion-actions{display:flex;align-items:center;justify-content:space-between;gap:1.25rem 2rem;flex-wrap:wrap;max-width:75.25rem;margin:2.5rem auto 0;padding-top:2rem;border-top:1px solid var(--line)}
.promotion-actions .text-link{margin-top:0}
.promotion-actions .button{max-width:100%;text-align:center}
.promotion-actions .button>span{min-width:0}
@container site (max-width:47.5rem){.promotions-grid{grid-template-columns:minmax(0,1fr)}.promotion-card--wide .promotion-card-link{display:flex}.promotion-card--wide .promotion-card-body{padding:clamp(1.25rem,3vw,2rem)}.promotion-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:'title' 'image';gap:1.75rem}.promotion-hero--text{grid-template-areas:'title'}.promotion-intro h1{max-width:25ch}.promotions-home .section-heading{align-items:flex-start;flex-direction:column;gap:1.25rem}.promotions-home .section-heading h2{max-width:none}.promotions-home .section-heading .button{max-width:100%}.promotion-actions{align-items:flex-start}}
@container site (max-width:27rem){.promotion-actions{flex-direction:column;align-items:stretch}.promotion-actions .button{width:100%;padding-inline:.75rem}.promotion-actions .text-link{align-self:flex-start}.promotion-card-excerpt{font-size:.98rem}.promotion-intro h1{font-size:clamp(2rem,1.5rem + 3vw,2.65rem)}}
@media(prefers-reduced-motion:reduce){.promotion-card,.promotion-card-more .icon-button{transition:none}}
