/*
 * ARCADE DIRECT — BRAND ACTIVATIONS SERVICE PILLAR
 * Split copy/media hero, tactile proof gallery and concise service routing.
 * Text never rests on the real photography, preserving mobile contrast.
 */

.ad-brand-activations { background: var(--white); color: var(--brand-navy-deep); }
.ad-brand-hero { background: var(--brand-navy-deep); color: var(--white); overflow: hidden; padding-block: clamp(2.75rem, 7vw, 6.5rem); position: relative; }
.ad-brand-hero::after { background: repeating-linear-gradient(90deg, transparent 0 1.05rem, rgba(53,187,157,.075) 1.05rem 1.12rem); content: ''; height: 132%; position: absolute; right: -9vw; top: -16%; transform: skewX(-12deg); width: 33vw; }
.ad-brand-hero__inner { display: grid; gap: 2rem; position: relative; z-index: 1; }
.ad-brand-hero__copy { align-self: center; max-width: 41rem; }
.ad-brand-hero h1, .ad-brand-section-heading h2, .ad-brand-case-study h2 { color: var(--white); font-family: var(--font-display); font-size: clamp(3.35rem, 7.7vw, 7.35rem); font-weight: 800; letter-spacing: -0.03em; line-height: .79; margin: .75rem 0 1.45rem; max-width: 10ch; text-transform: uppercase; }
.ad-brand-hero__copy > p:not(.ad-label) { color: var(--brand-grey-soft); font-size: clamp(1rem, 1.65vw, 1.18rem); line-height: 1.62; margin: 0; max-width: 36rem; }
.ad-brand-hero__actions { align-items: flex-start; display: flex; flex-direction: column; gap: 1rem; margin-top: 1.75rem; }
.ad-brand-hero__media { background: var(--brand-navy); margin: 0; min-height: 19rem; overflow: hidden; position: relative; }
.ad-brand-hero__media::after { background: linear-gradient(125deg, rgba(8,18,36,.22), transparent 65%); content: ''; inset: 0; pointer-events: none; position: absolute; }
.ad-brand-hero__media img { display: block; height: 100%; object-fit: cover; position: absolute; width: 100%; }
.ad-brand-principles, .ad-brand-gallery-section, .ad-brand-routes { padding-block: clamp(3.5rem, 8vw, 7.5rem); }
.ad-brand-section-heading { margin-bottom: clamp(2rem, 5vw, 4rem); max-width: 48rem; }
.ad-brand-section-heading h2 { color: var(--brand-navy-deep); margin-bottom: 1.25rem; }
.ad-brand-section-heading > p:last-child { color: #354052; font-size: clamp(1rem, 1.5vw, 1.13rem); line-height: 1.6; margin: 0; }
.ad-brand-principles { background: var(--brand-grey-light); }
.ad-brand-principles__grid, .ad-brand-directions__grid, .ad-brand-routes__grid { display: grid; gap: .85rem; }
.ad-brand-principles article { background: var(--white); border-top: 3px solid var(--brand-teal); padding: 1.3rem; }
.ad-brand-principles h3, .ad-brand-directions h3, .ad-brand-routes h3 { color: var(--brand-navy-deep); font-family: var(--font-display); font-size: clamp(2.25rem, 4.3vw, 3.7rem); letter-spacing: -0.03em; line-height: .84; margin: 0 0 .9rem; text-transform: uppercase; }
.ad-brand-principles p, .ad-brand-directions p, .ad-brand-routes p { color: #354052; line-height: 1.55; margin: 0; }
.ad-brand-directions { background: var(--white); padding-block: clamp(3.5rem, 8vw, 7.5rem); }
.ad-brand-directions article { border-left: 3px solid var(--brand-teal); padding: .4rem 1.1rem 0; }
.ad-brand-directions .ad-label { margin-bottom: .9rem; }
.ad-brand-gallery-section { background: var(--brand-navy-deep); color: var(--white); }
.ad-brand-gallery-section .ad-brand-section-heading h2 { color: var(--white); }
.ad-brand-gallery-section .ad-brand-section-heading > p:last-child { color: var(--brand-grey-soft); }
.ad-brand-gallery { display: grid; gap: .8rem; grid-template-columns: 1fr; }
.ad-brand-gallery__item { background: var(--brand-navy); display: block; min-height: clamp(18rem, 70vw, 29rem); overflow: hidden; position: relative; }
.ad-brand-gallery__item::after { background: var(--brand-teal); bottom: 0; content: ''; height: .4rem; left: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform 180ms cubic-bezier(.23,1,.32,1); width: 100%; }
.ad-brand-gallery__item:hover::after, .ad-brand-gallery__item:focus-visible::after { transform: scaleX(1); }
.ad-brand-gallery__item img { display: block; height: 100%; object-fit: cover; transition: transform 260ms cubic-bezier(.23,1,.32,1); width: 100%; }
.ad-brand-gallery__item:hover img { transform: scale(1.025); }
.ad-brand-gallery__item:focus-visible { outline: 3px solid var(--brand-teal); outline-offset: 4px; z-index: 1; }
.ad-brand-case-study { background: var(--brand-grey-light); padding-block: clamp(3.5rem, 8vw, 7.5rem); }
.ad-brand-case-study__inner { display: grid; gap: 0; }
.ad-brand-case-study__copy { background: var(--white); display: flex; flex-direction: column; justify-content: center; padding: clamp(1.5rem, 5vw, 5rem); }
.ad-brand-case-study h2 { color: var(--brand-navy-deep); font-size: clamp(3.2rem, 6.4vw, 6.3rem); }
.ad-brand-case-study__copy > p:not(.ad-label) { color: #354052; line-height: 1.62; margin: 0 0 1.4rem; max-width: 38rem; }
.ad-brand-case-study__image { background: var(--brand-navy); min-height: 19rem; overflow: hidden; }
.ad-brand-case-study__image img { display: block; height: 100%; object-fit: cover; width: 100%; }
.ad-brand-routes { background: var(--white); }
.ad-brand-routes__grid a { background: var(--brand-navy-deep); border-top: 3px solid var(--brand-teal); color: var(--white); display: flex; flex-direction: column; min-height: 16rem; padding: 1.3rem; text-decoration: none; transition: background 180ms cubic-bezier(.23,1,.32,1), transform 180ms cubic-bezier(.23,1,.32,1); }
.ad-brand-routes h3 { color: var(--white); }
.ad-brand-routes p { color: var(--brand-grey-soft); }
.ad-brand-routes span { color: var(--brand-teal); font-family: var(--font-mono); font-size: .7rem; font-weight: 600; letter-spacing: .06em; margin-top: auto; padding-top: 1.15rem; text-transform: uppercase; }
.ad-brand-routes span b { font-size: 1rem; margin-left: .25rem; }
.ad-brand-routes a:hover { background: var(--brand-navy); transform: translateY(-3px); }
.ad-brand-routes a:focus-visible { outline: 3px solid var(--brand-teal); outline-offset: 4px; }
@media (min-width: 700px) {
	.ad-brand-hero__inner { align-items: stretch; grid-template-columns: minmax(0,.9fr) minmax(22rem,1.1fr); min-height: clamp(32rem, 54vw, 45rem); }
	.ad-brand-hero__copy { padding-block: 2rem; }
	.ad-brand-hero__media { min-height: 0; }
	.ad-brand-principles__grid, .ad-brand-directions__grid, .ad-brand-routes__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
	.ad-brand-gallery { grid-auto-rows: clamp(13rem, 20vw, 21rem); grid-template-columns: repeat(4, minmax(0,1fr)); }
	.ad-brand-gallery__item { min-height: auto; }
	.ad-brand-gallery__item--lead { grid-column: span 2; grid-row: span 2; }
	.ad-brand-gallery__item--tall { grid-row: span 2; }
	.ad-brand-case-study__inner { grid-template-columns: repeat(2, minmax(0,1fr)); min-height: clamp(32rem,45vw,43rem); }
	.ad-brand-case-study__image { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) { .ad-brand-gallery__item::after, .ad-brand-gallery__item img, .ad-brand-routes__grid a { transition: none; } }
