.cms-lines { white-space: pre-line; }
.cms-brand-image { object-fit: contain; }
.cms-section { max-width: 1920rem; margin: auto; padding: 85rem 72rem; overflow-wrap: anywhere; }
.cms-section h2 { margin: 0 0 30rem; font-size: 56rem; line-height: 1.15; letter-spacing: -1.5rem; font-weight: 400; }
.cms-text { max-width: 1280rem; }
.cms-prose { font-size: max(16px, 20rem); line-height: 1.85; }
.cms-prose + .ior-text-link { margin-top: 30rem; }
.cms-image-text { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 70rem; }
.cms-image-text--left > figure { grid-column: 1; grid-row: 1; }
.cms-image-text--left > div { grid-column: 2; }
.cms-image-text img { width: 100%; height: auto; max-height: 850rem; object-fit: cover; }
.cms-image-text--brand-light > figure, .cms-image-text--brand-dark > figure { padding: 45rem; }
.cms-image-text--brand-light > figure { background: color-mix(in srgb, var(--ink) 4%, var(--paper)); }
.cms-image-text--brand-dark > figure { background: var(--ink); color: var(--paper); }
.cms-image-text--brand-light img, .cms-image-text--brand-dark img { aspect-ratio: 1; object-fit: contain; max-height: 620rem; }
.brandbook-page { max-width: 1920rem; margin: auto; }
.brandbook-hero { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 90rem; padding: 80rem 72rem; background: var(--ink); color: var(--paper); }
.brandbook-hero__copy { min-width: 0; }
.brandbook-hero h1 { font-size: 94rem; line-height: 1.08; font-weight: 400; letter-spacing: -3rem; margin: 0 0 30rem; }
.brandbook-hero__copy > p:last-child { max-width: 660rem; font-size: max(18px, 25rem); line-height: 1.65; margin: 0; color: color-mix(in srgb, var(--paper) 80%, transparent); }
.brandbook-hero > figure { width: 100%; max-width: 580rem; justify-self: center; }
.brandbook-hero > figure img { width: 100%; height: auto; }
.brandbook-hero figcaption { font-size: max(12px, 15rem); line-height: 1.6; margin-top: 20rem; color: var(--paper); }
.brandbook-page .cms-section { border-bottom: 1rem solid color-mix(in srgb, var(--ink) 12%, transparent); }
.brandbook-page .cms-text { max-width: none; }
.brandbook-page .cms-text .cms-prose { max-width: 1120rem; }
.brandbook-colors__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28rem; margin-top: 45rem; }
.brandbook-color__swatch { height: 190rem; margin-bottom: 22rem; background: var(--swatch); }
.brandbook-color--navy { --swatch: #0e2a47; }
.brandbook-color--teal { --swatch: #1e8c88; }
.brandbook-color--brass { --swatch: #a8834a; }
.brandbook-color--steel { --swatch: #b9c0c8; }
.brandbook-color h3 { font-size: max(17px, 24rem); font-weight: 500; line-height: 1.3; margin: 0 0 12rem; }
.brandbook-color p { font-size: max(15px, 17rem); margin: 0; line-height: 1.6; color: var(--muted); }
.cms-section figcaption { margin-top: 14rem; color: var(--muted); font-size: max(12px, 15rem); line-height: 1.6; }
.cms-image-text--brand-dark figcaption { color: var(--paper); }
.cms-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30rem; }
.cms-gallery figure { min-width: 0; }
.cms-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cms-video video { display: block; width: 100%; max-height: 80svh; background: var(--ink); }
.cms-cta { text-align: center; border-block: 1rem solid color-mix(in srgb, var(--ink) 15%, transparent); }
.cms-cta .ior-kicker { justify-content: center; }
.cms-cta .ior-button { margin-top: 30rem; }
.about-evening__photos figcaption { position: absolute; z-index: 1; bottom: 15rem; left: 15rem; right: 15rem; padding: 12rem 16rem; color: var(--paper); background: color-mix(in srgb, var(--ink) 85%, transparent); font-size: max(12px, 15rem); }
.about-evening__photos figure:not(:first-child) { aspect-ratio: 3 / 4; }
.origins { border-top: 1rem solid color-mix(in srgb, var(--ink) 12%, transparent); }
.origins__heading { margin-bottom: 42rem; }
.origins__cards { display: flex; gap: 20rem; align-items: stretch; }
.origins__card { flex: 1 1 0%; min-width: 0; position: relative; background: var(--ink); color: var(--paper); }
.origins__photo { position: relative; display: block; width: 100%; min-height: 640rem; padding: 0; border: 0; border-radius: 0; background: var(--ink); color: var(--paper); text-align: left; font: inherit; cursor: pointer; overflow: hidden; }
.origins__photo:disabled { cursor: default; }
.origins__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.origins__photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(4, 20, 35, .88)); pointer-events: none; }
.origins__identity { position: absolute; z-index: 1; inset-inline: 26rem; bottom: 32rem; display: grid; gap: 10rem; overflow-wrap: anywhere; }
.origins__name { font-size: max(19px, 34rem); font-weight: 450; line-height: 1.15; }
.origins__role { font-size: max(14px, 18rem); line-height: 1.5; color: color-mix(in srgb, var(--paper) 85%, transparent); }
.origins__story { padding: 34rem; }
.origins__prose { font-size: max(16px, 21rem); line-height: 1.75; overflow-wrap: anywhere; }
.origins__photo:focus-visible, .origins__story:focus-visible { outline: 3px solid var(--accent); outline-offset: -4px; }
.origins[data-origins-enhanced] .origins__card { transition: flex-grow .55s cubic-bezier(.22, .61, .36, 1); }
.origins[data-origins-enhanced] .origins__photo { transition: width .55s cubic-bezier(.22, .61, .36, 1); }
.origins[data-origins-enhanced] .origins__story { position: absolute; inset-block: 0; right: 0; width: 58%; padding: 42rem 34rem; box-sizing: border-box; overflow-y: auto; opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(14rem); transition: opacity .25s ease, transform .4s ease, visibility .25s; }
.origins[data-origins-enhanced] .origins__card.is-open { flex-grow: 3; }
.origins[data-origins-enhanced] .is-open .origins__photo { width: 42%; }
.origins[data-origins-enhanced] .is-open .origins__story { opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition-delay: .1s; }
@media (max-width: 1500px) { .cms-section { padding-inline: 50rem; } .brandbook-hero { padding-inline: 50rem; gap: 60rem; } }
@media (max-width: 1024px) { .cms-section { padding: 65rem 35rem; } .cms-image-text { gap: 40rem; } .cms-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } .brandbook-hero { padding: 60rem 35rem; gap: 35rem; } .brandbook-hero h1 { font-size: 70rem; } .brandbook-colors__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35rem; } }
@media (max-width: 600px) { .cms-section { padding: 50rem 30rem; } .cms-section h2 { font-size: 48rem; } .cms-image-text { grid-template-columns: minmax(0, 1fr); } .cms-image-text--left > figure, .cms-image-text--left > div { grid-column: auto; grid-row: auto; } .cms-gallery { gap: 20rem; } .brandbook-hero { grid-template-columns: minmax(0, 1fr); padding: 55rem 30rem; gap: 40rem; } .brandbook-hero h1 { font-size: 64rem; } .brandbook-hero > figure { max-width: 340rem; } .cms-image-text--brand-light > figure, .cms-image-text--brand-dark > figure { padding: 30rem; } .brandbook-color__swatch { height: 150rem; } }
@media (max-width: 460px) { .cms-section { padding: 45rem 26rem; } .cms-section h2 { font-size: 42rem; } .cms-gallery { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 1024px) { .origins__cards { gap: 14rem; } .origins__photo { min-height: 540rem; } .origins__identity { inset-inline: 20rem; bottom: 25rem; } .origins[data-origins-enhanced] .origins__story { padding: 28rem 24rem; } }
@media (max-width: 600px) {
    .origins__cards { flex-direction: column; gap: 18rem; }
    .origins__photo { min-height: 330rem; }
    .origins__identity { inset-inline: 26rem; }
    .origins[data-origins-enhanced] .origins__card { flex: none; }
    .origins[data-origins-enhanced] .origins__story { position: static; display: grid; grid-template-rows: 0fr; width: 100%; padding: 0 26rem; transform: none; overflow: hidden; transition: grid-template-rows .4s ease, padding .4s ease, opacity .3s ease, visibility .3s; }
    .origins[data-origins-enhanced] .origins__prose { min-height: 0; overflow: hidden; }
    .origins[data-origins-enhanced] .is-open .origins__photo { width: 100%; }
    .origins[data-origins-enhanced] .is-open .origins__story { grid-template-rows: 1fr; padding-block: 26rem; transition-delay: 0s; }
}
@media (prefers-reduced-motion: reduce) {
    .origins[data-origins-enhanced] .origins__card, .origins[data-origins-enhanced] .origins__photo,
    .origins[data-origins-enhanced] .origins__story { transition: none; }
}
