/* Sponsor-page-only presentation. Global navigation, footer and other pages stay unchanged. */
.bh-partner-page { --partner-navy: #11111d; --partner-blue: #2563eb; --partner-coral: #ff5937; background: #faf7f2; color: #111827; }
.bh-partner-page .bh-partner-container { width: min(100% - 2.5rem, 85rem); margin-inline: auto; }
.bh-partner-page :where(h1,h2,h3,p,ol) { margin: 0; }
.bh-partner-page :where(h1,h2,h3) { font-family: var(--bh-studio-heading); font-weight: 700; text-wrap: balance; }
.bh-partner-page h2 { color: inherit; font-size: clamp(1.9rem, 3.5vw, 3.2rem); letter-spacing: -.045em; line-height: 1.07; }
.bh-partner-page h3 { font-size: clamp(1.3rem, 2vw, 1.65rem); letter-spacing: -.03em; line-height: 1.15; }
.bh-partner-page p { font-family: var(--bh-studio-body); line-height: 1.55; }
.bh-partner-page :where(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #2563eb; outline-offset: 4px; }
.bh-partner-page :where(section,article)[id] { scroll-margin-top: 7rem; }
.bh-partner-page .bh-partner-eyebrow { color: var(--partner-blue); font-size: .76rem; font-weight: 800; line-height: 1.3; letter-spacing: .09em; text-transform: uppercase; }
.bh-partner-page .bh-partner-section { padding-block: clamp(2.5rem, 4.5vw, 4.5rem); }
.bh-partner-page .bh-partner-heading { margin-bottom: 1.75rem; }
.bh-partner-page .bh-partner-heading > p, .bh-partner-page .bh-partner-heading > div > p { margin-top: .7rem; color: #525866; font-size: 1.05rem; }
.bh-partner-page .bh-partner-heading--center { text-align: center; }
.bh-partner-page .bh-partner-link { display: inline-flex; align-items: center; gap: .5rem; width: fit-content; color: var(--partner-blue); font-size: .98rem; font-weight: 700; line-height: 1.4; text-decoration: none; }
.bh-partner-page .bh-partner-link:hover { text-decoration: underline; text-underline-offset: .22em; }
.bh-partner-page .bh-partner-link .bh-icon { flex: 0 0 1.15rem; width: 1.15rem; height: 1.15rem; }
.bh-partner-page .bh-partner-button { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; min-height: 3.2rem; padding: .85rem 1.4rem; border: 1px solid var(--partner-blue); border-radius: 999px; background: var(--partner-blue); color: #fff; font: 700 .95rem/1.3 var(--bh-studio-body); text-decoration: none; text-align: center; cursor: pointer; transition: background-color .18s, border-color .18s; }
.bh-partner-page .bh-partner-button:hover { background: #1d4ed8; border-color: #1d4ed8; }
.bh-partner-page .bh-partner-button:disabled { opacity: .65; cursor: progress; }
.bh-partner-page .bh-partner-button--outline { background: transparent; border-color: #9196a1; color: #111827; }
.bh-partner-page .bh-partner-button--outline:hover { background: #e9edf6; border-color: #2563eb; }
.bh-partner-page .bh-partner-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.6rem; }
.bh-partner-page .bh-partner-media-kit { margin-top: 1rem; }
.bh-partner-page .bh-partner-note { color: #616775; font-size: .8rem; text-align: center; margin-top: 1.4rem; }
.bh-partner-page .bh-partner-placeholder { display: grid; place-content: center; width: 100%; height: 100%; min-height: 10rem; background: var(--partner-navy); color: #fff; font-size: 2rem; font-weight: 800; font-style: italic; }

/* Hero: a real-media collage, not a single flattened mockup image. */
.bh-partner-page .bh-partner-hero { overflow: hidden; background: #faf7f2; }
.bh-partner-page .bh-partner-hero__grid { display: grid; gap: 2rem; padding-block: 2.6rem 2rem; }
.bh-partner-page .bh-partner-hero__copy { position: relative; z-index: 1; align-self: center; }
.bh-partner-page .bh-partner-hero h1 { margin-top: 1.1rem; color: #111827; font-size: clamp(2.4rem, 7.4vw, 4.6rem); line-height: .99; letter-spacing: -.055em; }
.bh-partner-page .bh-partner-hero h1 span { color: var(--partner-blue); }
.bh-partner-page .bh-partner-lead { max-width: 32rem; margin-top: 1.4rem; font-size: clamp(1rem, 1.5vw, 1.15rem); color: #454b58; }
.bh-partner-page .bh-partner-collage { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; aspect-ratio: 1.4; min-width: 0; transform: rotate(-5deg) scale(.98); }
.bh-partner-page .bh-partner-collage__tile { border: 3px solid #faf7f2; border-radius: 1rem; overflow: hidden; min-width: 0; min-height: 0; background: var(--partner-navy); }
.bh-partner-page .bh-partner-collage__tile img { width: 100%; height: 100%; object-fit: cover; }
.bh-partner-page .bh-partner-collage__tile--show img { object-position: 78% center; }
.bh-partner-page .bh-partner-channels { background: #f0f0ed; border-block: 1px solid #e5e3df; }
.bh-partner-page .bh-partner-channels > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding-block: .6rem; }
.bh-partner-page .bh-partner-channels a { display: flex; align-items: center; justify-content: flex-start; gap: .65rem; min-height: 4rem; padding: .55rem .5rem; color: #111827; font-weight: 700; font-size: .82rem; line-height: 1.3; text-decoration: none; }
.bh-partner-page .bh-partner-channels a:hover { color: var(--partner-blue); }
.bh-partner-page .bh-partner-channels .bh-icon { width: 1.9rem; height: 1.9rem; flex: 0 0 1.9rem; }

/* Equal-size opportunity cards. */
.bh-partner-page .bh-partner-card-grid { display: grid; gap: 1.4rem; }
.bh-partner-page .bh-partner-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #dedfe4; border-radius: 1rem; background: #fff; }
.bh-partner-page .bh-partner-card__media { display: block; position: relative; overflow: hidden; aspect-ratio: 16/8; background: var(--partner-navy); }
.bh-partner-page .bh-partner-card__media > img { width: 100%; height: 100%; object-fit: cover; }
.bh-partner-page .bh-partner-card__copy { display: flex; flex-direction: column; align-items: flex-start; flex: 1; gap: .55rem; padding: 1.25rem 1.35rem 1.5rem; }
.bh-partner-page .bh-partner-card__copy > p:not(.bh-partner-eyebrow) { color: #525866; font-size: 1rem; }
.bh-partner-page .bh-partner-card__copy .bh-partner-link { margin-top: auto; padding-top: .4rem; }
.bh-partner-page .bh-partner-card__media--social { display: flex; align-items: center; justify-content: center; gap: 1.4rem; padding-inline: 1.1rem; background: #151829; }
.bh-partner-page .bh-partner-phone { position: relative; display: block; flex: 0 0 32%; height: 91%; overflow: hidden; border: 4px solid #090b12; border-radius: 1.35rem; box-shadow: 0 7px 25px #0005; transform: rotate(-8deg) translateY(10%); }
.bh-partner-page .bh-partner-phone > img { width: 100%; height: 100%; object-fit: cover; object-position: 35% center; }
.bh-partner-page .bh-partner-phone__caption { position: absolute; bottom: 12%; left: 5%; right: 5%; color: #fff; background: #2563eb; padding: .35rem; font-size: clamp(.55rem,1vw,.9rem); font-weight: 800; text-align: center; line-height: 1.1; }
.bh-partner-page .bh-partner-phone__caption > span { display: block; margin-top: .2rem; font-size: .58em; letter-spacing: .08em; }
.bh-partner-page .bh-partner-social-wordmark { color: #fff; font-size: clamp(1rem,2.8vw,2.15rem); font-weight: 700; letter-spacing: -.035em; line-height: 1.1; }
.bh-partner-page .bh-partner-social-wordmark > span { color: #94b5ff; }

/* Existing Behind the BigHead video opens through the site's accessible modal. */
.bh-partner-page .bh-partner-intro { padding-block: 0 clamp(2.5rem,4.5vw,4.5rem); }
.bh-partner-page .bh-partner-intro__panel { display: grid; overflow: hidden; border-radius: 1.25rem; background: var(--partner-navy); color: #fff; }
.bh-partner-page .bh-partner-intro__media { position: relative; display: block; aspect-ratio: 16/9; }
.bh-partner-page .bh-partner-intro__media > img { width: 100%; height: 100%; object-fit: cover; }
.bh-partner-page .bh-partner-badge { position: absolute; top: 1rem; left: 1rem; border-radius: 999px; padding: .4rem .7rem; color: #fff; background: #c73c22; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.bh-partner-page .bh-partner-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 4.25rem; height: 4.25rem; border: 2px solid #fff; border-radius: 50%; background: var(--partner-blue); color: #fff; box-shadow: 0 3px 20px #0004; }
.bh-partner-page .bh-partner-play .bh-icon { width: 2rem; height: 2rem; }
.bh-partner-page .bh-partner-intro__copy { align-self: center; padding: 1.75rem; }
.bh-partner-page .bh-partner-intro__copy h2 { font-size: clamp(1.65rem,2.7vw,2.55rem); }
.bh-partner-page .bh-partner-intro__copy p { color: #d4d8e2; margin: 1rem 0; font-size: 1.02rem; }
.bh-partner-page .bh-partner-intro .bh-partner-link, .bh-partner-page .bh-partner-contact .bh-partner-link { color: #a7c2ff; }
.bh-partner-page .bh-partner-intro :focus-visible, .bh-partner-page .bh-partner-contact :focus-visible { outline-color: #a7c2ff; }
.bh-partner-page .bh-partner-stats { display: grid; gap: 1.5rem; }
.bh-partner-page .bh-partner-stats article { padding: 1.5rem; background: #fff; border: 1px solid #dedfe4; border-radius: 1rem; }
.bh-partner-page .bh-partner-stats strong { color: var(--partner-blue); font-size: 2.6rem; font-weight: 700; }
.bh-partner-page .bh-partner-stats h3 { margin: .5rem 0; }
.bh-partner-page .bh-partner-stats p, .bh-partner-page .bh-partner-stats small { color: #525866; }

/* Sample placements explicitly labeled as concepts, never sponsor endorsements. */
.bh-partner-page .bh-partner-examples { background: #ecf3fc; }
.bh-partner-page .bh-partner-heading--split { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.bh-partner-page .bh-partner-heading--split > .bh-partner-eyebrow { color: var(--partner-blue); font-size: .72rem; }
.bh-partner-page .bh-partner-sample-grid { display: grid; gap: 1.2rem; }
.bh-partner-page .bh-partner-sample { border-radius: .85rem; overflow: hidden; background: #fff; min-width: 0; }
.bh-partner-page .bh-partner-sample__media { position: relative; aspect-ratio: 16/10; overflow: hidden; background: var(--partner-navy); }
.bh-partner-page .bh-partner-sample__media > img { width: 100%; height: 100%; object-fit: cover; }
.bh-partner-page .bh-partner-sample__label { position: absolute; left: .7rem; top: .7rem; padding: .3rem .6rem; border-radius: 999px; background: #fff; color: #111827; font-size: .63rem; font-weight: 800; text-transform: uppercase; }
.bh-partner-page .bh-partner-brand { position: absolute; bottom: .8rem; left: .8rem; background: var(--partner-blue); color: #fff; padding: .55rem .85rem; border-radius: .35rem; font-size: clamp(1.1rem,2vw,1.7rem); line-height: 1.05; font-weight: 800; letter-spacing: -.025em; text-transform: uppercase; }
.bh-partner-page .bh-partner-brand small { display: block; font-size: .6rem; letter-spacing: .09em; margin-bottom: .25rem; }
.bh-partner-page .bh-partner-sample > div:last-child:not(.bh-partner-sample__media) { padding: 1.2rem; }
.bh-partner-page .bh-partner-sample h3 { font-size: 1.3rem; }
.bh-partner-page .bh-partner-sample p { font-size: .95rem; color: #525866; margin-top: .5rem; }

.bh-partner-page .bh-partner-process ol { list-style: none; padding: 0; display: grid; gap: 1.5rem; }
.bh-partner-page .bh-partner-process li { display: flex; align-items: flex-start; gap: .85rem; }
.bh-partner-page .bh-partner-process li > span { font-size: 1.8rem; line-height: 1; font-weight: 800; color: #cd3f23; }
.bh-partner-page .bh-partner-process h3 { font-size: 1.15rem; }
.bh-partner-page .bh-partner-process li p { margin-top: .55rem; color: #525866; font-size: .95rem; }
.bh-partner-page .bh-partner-contact__panel { background: var(--partner-navy); color: #fff; display: grid; gap: 2rem; padding: 1.5rem; border-radius: 1.2rem; }
.bh-partner-page .bh-partner-contact__copy { align-self: center; }
.bh-partner-page .bh-partner-contact__copy > .bh-partner-eyebrow { color: #a7c2ff; margin-bottom: 1rem; }
.bh-partner-page .bh-partner-contact__copy h2 { font-size: clamp(2rem,3.5vw,3.3rem); max-width: 13ch; }
.bh-partner-page .bh-partner-contact__copy > p:not(.bh-partner-eyebrow) { color: #dde0e9; margin-top: 1rem; max-width: 31rem; }
.bh-partner-page .bh-partner-contact__copy > .bh-partner-link { margin-top: 1.25rem; }
.bh-partner-page .bh-partner-contact__copy > .bh-partner-contact__note { font-size: .9rem; color: #afb8ca; }
.bh-partner-page .bh-partner-form__fields { display: grid; gap: 1rem; }
.bh-partner-page .bh-partner-form { margin-top: 0; }
.bh-partner-page .bh-partner-form label { display: block; font-size: .8rem; color: #f4f5f9; font-weight: 600; margin: 0; }
.bh-partner-page .bh-partner-form :where(input:not([type="hidden"]),select,textarea) { display: block; margin-top: .4rem; min-height: 2.9rem; border-radius: .4rem; padding: .65rem .75rem; border-color: #c8cdd7; font: 400 1rem/1.4 var(--bh-studio-body); }
.bh-partner-page .bh-partner-form textarea { min-height: 6rem; resize: vertical; }
.bh-partner-page .bh-partner-form .bh-partner-button { width: 100%; border-radius: .5rem; margin-top: 1rem; }
.bh-partner-page .bh-partner-form__hint { color: #c2c8d5; font-size: .75rem; margin-bottom: .8rem; }
.bh-partner-page .bh-partner-form > .bh-partner-form__hint:last-child { margin: .65rem 0 0; text-align: center; }
.bh-partner-page .bh-partner-form__hint a { color: #d8e4ff; margin-left: .3rem; text-decoration: underline; }
.bh-partner-page .bh-outreach-status { margin: 0 0 1rem; }
.bh-partner-page .bh-partner-faq .bh-partner-heading { margin-bottom: 1.2rem; }
.bh-partner-page .bh-partner-faq h2 { font-size: clamp(1.75rem,3vw,2.5rem); }
.bh-partner-page .bh-partner-faq details { border: 1px solid #dedfe4; border-radius: .65rem; background: #fff; margin-top: .65rem; }
.bh-partner-page .bh-partner-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; cursor: pointer; font-weight: 700; list-style: none; }
.bh-partner-page .bh-partner-faq summary::-webkit-details-marker { display: none; }
.bh-partner-page .bh-partner-faq summary span { color: var(--partner-blue); font-size: 1.5rem; line-height: 1; }
.bh-partner-page .bh-partner-faq details[open] summary span { transform: rotate(45deg); }
.bh-partner-page .bh-partner-faq details p { padding: 0 1.2rem 1.2rem; max-width: 68rem; color: #525866; }

@media (min-width: 640px) {
	.bh-partner-page .bh-partner-container { width: min(100% - 4rem,85rem); }
	.bh-partner-page .bh-partner-card-grid, .bh-partner-page .bh-partner-process ol, .bh-partner-page .bh-partner-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.bh-partner-page .bh-partner-form__fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.bh-partner-page .bh-partner-form__wide { grid-column: 1/-1; }
	.bh-partner-page .bh-partner-intro__panel { grid-template-columns: 1fr 1fr; align-items: stretch; }
	.bh-partner-page .bh-partner-intro__media { height: 100%; min-height: 17rem; }
	.bh-partner-page .bh-partner-contact__panel { padding: 2rem; }
}
@media (min-width: 960px) {
	.bh-partner-page .bh-partner-container { width: min(100% - 7.5vw,85rem); }
	.bh-partner-page .bh-partner-hero__grid { grid-template-columns: 1fr 1.1fr; align-items: center; gap: 2.8rem; min-height: 34rem; padding-block: 2.8rem; }
	.bh-partner-page .bh-partner-hero h1 { font-size: clamp(3.1rem,4.9vw,5rem); }
	.bh-partner-page .bh-partner-collage { min-height: 28rem; aspect-ratio: 1.15; width: 112%; transform: rotate(-7deg); }
	.bh-partner-page .bh-partner-channels > div { grid-template-columns: repeat(4,minmax(0,1fr)); padding-block: 1rem; }
	.bh-partner-page .bh-partner-channels a { justify-content: center; min-height: 3rem; border-right: 1px solid #cccfd5; font-size: .95rem; gap: 1rem; }
	.bh-partner-page .bh-partner-channels a:last-child { border: 0; }
	.bh-partner-page .bh-partner-channels .bh-icon { width: 2.3rem; height: 2.3rem; flex-basis: 2.3rem; }
	.bh-partner-page .bh-partner-card-grid { gap: 1.6rem; }
	.bh-partner-page .bh-partner-card__copy { padding: 1.45rem 1.65rem 1.6rem; }
	.bh-partner-page .bh-partner-intro__panel { padding: 1rem; gap: .5rem; }
	.bh-partner-page .bh-partner-intro__media { border-radius: .75rem; overflow: hidden; }
	.bh-partner-page .bh-partner-intro__copy { padding: 1.75rem 2rem; }
	.bh-partner-page .bh-partner-sample-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
	.bh-partner-page .bh-partner-process ol { grid-template-columns: repeat(4,minmax(0,1fr)); }
	.bh-partner-page .bh-partner-process li:not(:first-child) { border-left: 1px solid #d4d6dc; padding-left: 1.2rem; }
	.bh-partner-page .bh-partner-contact__panel { grid-template-columns: .9fr 1.1fr; gap: 3rem; padding: clamp(2rem,3.5vw,3rem); }
	.bh-partner-page .bh-partner-stats { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) {
	.bh-partner-page .bh-partner-button { transition: none; }
}
