/* A complete composition for each main section. Content can grow beyond a
   viewport on short screens; never crop text or force scroll snapping. */
.editorial-photo { position: relative; margin: 0; overflow: hidden; border-radius: 16px; background: #182a3d; }
.editorial-photo img { width: 100%; height: 100%; object-fit: cover; }
.editorial-photo::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(160deg, transparent 45%, rgba(15,30,62,.24)); }
.home-page .partners__statement { display: grid; grid-template-columns: 1fr 1.05fr; align-items: center; gap: 70px; margin-top: 0; padding-top: 0; }
.home-page .partners__statement::before { display: none; }
.home-page .partners__statement h2 { text-align: left; font-size: clamp(2.4rem, 4.2vw, 3.75rem); line-height: 1.16; letter-spacing: -.045em; }
.partners__photo { height: clamp(320px, 43vh, 460px); border-radius: 16px 100px 16px 16px; }
.home-page .partners { display: flex; flex-direction: column; justify-content: center; gap: 0; }
.home-page .partners__statement { order: -1; margin-bottom: clamp(44px, 7vh, 76px); }
.home-page .partners__header { margin-bottom: 14px; }
.home-page .partners__header::after { content: ''; height: 1px; flex: 1; background: #cfdbe6; margin-left: 20px; }
/* Each repeated group covers at least a viewport, keeping the existing ticker seamless. */
.partners .partners__industries { min-width: 100vw; justify-content: space-around; gap: clamp(32px, 4vw, 64px); padding-inline: clamp(24px, 4vw, 64px); }
.partners .partners__industries li { flex: 0 0 auto; gap: 16px; color: #263952; font-size: clamp(1rem, 1.7vw, 1.5rem); font-weight: 600; letter-spacing: -.025em; white-space: nowrap; }
.partners .industry-mark { display: flex; align-items: center; justify-content: center; flex: 0 0 100px; width: 100px; height: 74px; padding: 8px; overflow: hidden; border-radius: 12px; background: #081325; }
.partners .partners__industries .industry-mark img { width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; filter: none; opacity: 1; mix-blend-mode: lighten; }
.home-page .verticals { background: #0e2035; }
.home-page .verticals__intro { background: radial-gradient(ellipse at 0 100%, #243252, transparent 70%), #081325; }
.home-page .verticals__intro .section-title { font-size: clamp(3rem, 5.6vw, 5rem); line-height: 1.06; letter-spacing: -.04em; }
.home-page .verticals__grid { align-content: center; gap: 22px; }
.home-page .vert { min-height: 225px; border: 1px solid #30425f; border-radius: 20px; background: linear-gradient(145deg, #192f4a, #0e2035); }
.home-page .vert__icon { width: 145px; height: 120px; mix-blend-mode: lighten; mask-image: radial-gradient(ellipse 65% 65% at 50% 45%, #000 50%, transparent 90%); }
.home-page .vert__label { font-weight: 500; }
.home-page .why { background: radial-gradient(ellipse at 0 70%, #1c2847, transparent 70%), #081325; }
.why__layout { display: grid; grid-template-columns: .8fr 1.5fr; align-items: stretch; gap: 48px; }
.why__intro { display: flex; flex-direction: column; gap: 32px; }
.why__intro .section-title { font-size: clamp(2.8rem, 4.2vw, 3.7rem); line-height: 1.1; letter-spacing: -.04em; }
.why__photo { flex: 1; min-height: 230px; }
.home-page .why__grid { align-content: stretch; }
.home-page .why .card { padding: 30px 26px; background: rgba(26,45,72,.65); box-shadow: none; }
.home-page .why .card__title { font-size: 1.05rem; }
.home-page .why .card__text { font-size: .85rem; }
.home-page .metrics { margin-top: 50px; }
.home-page .contact__media { background: radial-gradient(ellipse at center, #1f274d, #081325 70%); }
.home-page .contact__panel { background: linear-gradient(145deg, #273e78, #473766); }

/* Solution: photography gives the existing growth graphics a real context. */
.solution-acquisition { display: flex; flex-direction: column; justify-content: center; }
.solution-acquisition .partners { background: transparent; padding: 0 0 28px; }
.solution-acquisition .partners__header { margin-bottom: 14px; }
.solution-acquisition .acquisition-intro { padding: 46px 0 20px; }
.solution-visual--collage { position: relative; overflow: visible; background: transparent; border-radius: 0; box-shadow: none; margin: 0 24px 22px 0; }
.solution-visual--collage .solution-scene { width: 100%; height: clamp(320px, 40vh, 410px); object-fit: cover; border-radius: 16px 80px 16px 16px; }
.solution-visual--collage img:not(.solution-scene) { position: absolute; right: -24px; bottom: -22px; width: 43%; height: auto; border: 5px solid #edf4f8; border-radius: 14px; box-shadow: 0 20px 40px -15px rgba(4,14,30,.5); }
.solution-visual--results .solution-scene { object-position: 60% center; border-radius: 80px 16px 16px 16px; }
.solution-visual--results img:not(.solution-scene) { border-color: #1a2a43; }
.solution-channels { background: radial-gradient(ellipse at 75% 50%, #172541, transparent 65%), #081325; }
.solution-results .solution-copy h2 { font-size: clamp(2.4rem, 4.1vw, 3.5rem); }
.solution-results .solution-metrics { margin-top: clamp(42px, 7vh, 70px); }
.solution-results .solution-metrics dd { font-size: clamp(3rem, 4.8vw, 4.2rem); }

/* Partnership: strengths, two audiences, proof, and contact each get a stage. */
.partnership-values { background: #0b192d; }
.partnership-values > .container { display: grid; grid-template-columns: .85fr 1.65fr; align-items: stretch; gap: 28px; }
.partnership-values__photo { min-height: 510px; border-radius: 80px 16px 16px 16px; }
.partnership-values__photo img { object-position: 67% center; }
.partnership-values__grid { gap: 22px; }
.partnership-page .partnership-values .card { padding: 30px 26px; background: linear-gradient(145deg, #1a2c48, #102038); box-shadow: none; }
.partnership-page .partnership-values .card__title { font-size: 1.2rem; }
.partnership-page .partnership-values .card__text { font-size: .85rem; line-height: 1.8; }
.partnership-options__grid { gap: 32px; }
.partnership-option { padding: 0; border: 1px solid #d3dce7; overflow: hidden; border-radius: 20px; background: #f9fbfd; }
.partnership-option__photo { width: 100%; height: clamp(190px, 26vh, 250px); margin: 0; overflow: hidden; }
.partnership-option__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.partnership-option__copy { padding: 30px 36px 34px; display: flex; flex: 1; flex-direction: column; align-items: flex-start; }
.partnership-option h2 { margin-bottom: 14px; }
.partnership-option h3 { font-size: 1.06rem; margin-bottom: 14px; }
.partnership-option p { font-size: .88rem; margin-bottom: 24px; }
.partnership-results { background: linear-gradient(90deg, rgba(8,19,37,.96), rgba(8,19,37,.72)), url('../img/hero-skyline.webp') center / cover no-repeat; }
.partnership-page .partnership-results .metrics { grid-template-columns: 1.3fr 1fr 1fr; gap: 44px 0; align-items: center; }
.partnership-page .partnership-results .metric { padding: 20px 32px; text-align: left; border: 0; border-left: 1px solid #42516d; }
.partnership-page .partnership-results .metric:first-child { grid-row: span 2; padding-left: 0; border: 0; }
.partnership-page .partnership-results .metric dd { font-size: clamp(3rem, 5.5vw, 4.9rem); font-weight: 600; color: #c9c7ff; margin-bottom: 14px; }
.partnership-page .partnership-results .metric:first-child dd { font-size: clamp(4.7rem, 7.9vw, 7rem); color: #fff; }
.partnership-page .partnership-results .metric dt { font-size: .87rem; }
.partnership-inquiry { text-align: center; background: radial-gradient(ellipse at 50% 70%, #30264b, transparent 65%), #0c192d; }
.partnership-inquiry__copy { max-width: 840px; margin-inline: auto; }
.partnership-inquiry h2 { max-width: 760px; font-size: clamp(2.8rem, 4.25vw, 3.8rem); line-height: 1.12; margin-bottom: 26px; text-wrap: balance; }
.partnership-inquiry p { font-size: .96rem; }
.partnership-inquiry .partnership-email { margin-top: 40px; }

@media (min-width: 961px) {
  .home .screen-stage { min-height: 100vh; min-height: 100svh; padding-block: clamp(84px, 12vh, 128px) clamp(60px, 8vh, 96px); }
  .home-page .hero { min-height: 100vh; min-height: 100svh; padding-block: calc(var(--nav-h) + 48px) 72px; }
  .home-page .verticals, .home-page .contact { padding-block: 0; }
  .home-page .verticals__intro { padding-block: 110px; }
  .home-page .contact__panel { padding-block: 70px; }
  .home-page .why, .solution-channels, .solution-results, .partnership-values, .partnership-options, .partnership-results, .partnership-inquiry { display: flex; align-items: center; }
  .solution-channels > .container { display: grid; grid-template-columns: minmax(250px, .9fr) minmax(0, 2fr); gap: 36px; align-items: center; max-width: 1320px; }
  .solution-channels .solution-heading { text-align: left; margin: 0; }
  .solution-channels .solution-heading h2 { font-size: clamp(2rem, 3vw, 2.8rem); }
  .solution-channels .solution-heading p { font-size: .88rem; }
  .solution-channels .acquisition-model { max-width: 720px; }
  .solution-channels .model-channel dt, .solution-channels .model-outcome dt { font-size: .9rem; line-height: 1.4; margin-bottom: 7px; }
  .solution-channels .model-channel dd, .solution-channels .model-outcome dd { font-size: .76rem; line-height: 1.6; }
  .solution-channels .model-offer strong { font-size: 1.1rem; }
  .solution-channels .model-channel--email { top: 13%; }
  .solution-channels .model-channel--brands { left: 19%; }
  .solution-channels .model-channel--social { left: 81%; }
  .solution-channels .channel-circle { width: 70%; }
  .solution-channels .model-outcome--buy { left: 7.7%; }
  .solution-channels .model-outcome--call { left: 92.3%; }
}
@media (min-width: 961px) and (max-height: 800px) {
  .home .screen-stage { padding-block: 78px 48px; }
  .home-page .verticals, .home-page .contact { padding-block: 0; }
  .partners__photo { height: 310px; }
  .home-page .partners__statement { margin-bottom: 36px; }
  .home-page .why .card { padding: 24px; }
  .home-page .metrics { margin-top: 36px; padding-top: 30px; }
  .solution-visual--collage .solution-scene { height: 300px; }
  .home .solution-channels.screen-stage { padding-block: 108px 12px; }
  .solution-channels .acquisition-model { max-width: 600px; }
  .partnership-values__photo { min-height: 470px; }
  .partnership-page .partnership-values .card { padding: 24px; }
  .partnership-option__photo { height: 175px; }
  .partnership-option__copy { padding: 24px 30px; }
  .partnership-option h2 { font-size: 2.2rem; }
}
@media (max-width: 960px) {
  .home .screen-stage { padding-block: 72px; }
  .home-page .partners__statement { gap: 32px; }
  .home-page .partners__statement h2 { font-size: clamp(2rem, 4.5vw, 3rem); }
  .partners__photo { height: 320px; border-top-right-radius: 60px; }
  .home-page .verticals, .home-page .contact { padding-block: 0; }
  .home-page .vert { min-height: 200px; }
  .home-page .verticals__grid { gap: 16px; }
  .home-page .vert__icon { width: 116px; height: 100px; }
  .why__layout { grid-template-columns: 1fr; gap: 36px; }
  .why__intro { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
  .why__photo { height: 230px; }
  .solution-acquisition .acquisition-intro { padding-bottom: 0; }
  .solution-visual--collage { width: calc(100% - 24px); max-width: 620px; margin: 0 24px 22px 0; }
  .solution-visual--collage .solution-scene { height: 350px; }
  .partnership-values > .container { grid-template-columns: 1fr; gap: 28px; }
  .partnership-values__photo { min-height: 0; height: 300px; }
  .partnership-values__photo img { object-position: center 38%; }
  .partnership-option__copy { padding: 28px 24px; }
  .partnership-option { padding: 0; }
  .partnership-option__photo { height: 220px; }
  .partnership-page .partnership-results .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 0; }
  .partnership-page .partnership-results .metric { padding: 16px 24px; }
  .partnership-page .partnership-results .metric:first-child { grid-row: auto; grid-column: 1 / -1; padding: 0 24px 30px; border-bottom: 1px solid #42516d; }
  .partnership-page .partnership-results .metric:nth-child(even) { border-left: 0; }
  .partnership-page .partnership-results .metric:last-child { grid-column: auto; }
  .partnership-inquiry h2 { font-size: 2.6rem; }
}
@media (min-width: 601px) and (max-width: 960px) {
  .home .screen-stage, .home-page .hero { min-height: 100vh; min-height: 100svh; }
  .home-page .why, .solution-channels, .solution-results, .partnership-values, .partnership-options, .partnership-results, .partnership-inquiry { display: flex; align-items: center; }
}
@media (max-width: 600px) {
  .partners .partners__industries li { gap: 12px; }
  .partners .industry-mark { flex-basis: 80px; width: 80px; height: 58px; padding: 6px; border-radius: 9px; }
  .home .screen-stage { min-height: auto; padding-block: 56px; }
  .home-page .partners__statement { grid-template-columns: 1fr; gap: 28px; margin-bottom: 36px; }
  .home-page .partners__statement h2 { font-size: 2.5rem; }
  .partners__photo { height: 260px; }
  .home-page .partners__logos li { height: 65px; }
  .home-page .verticals, .home-page .contact { padding-block: 0; }
  .home-page .verticals__intro { padding: 56px 24px 32px; }
  .home-page .verticals__intro .section-title { font-size: 3rem; }
  .home-page .verticals__intro .section-title br { display: none; }
  .home-page .verticals__grid { padding: 28px 24px 56px; }
  .home-page .vert { min-height: 170px; gap: 12px; }
  .home-page .vert__icon { width: 108px; height: 90px; }
  .home-page .vert__label { font-size: .86rem; }
  .why__intro { grid-template-columns: 1fr; gap: 28px; }
  .why__intro .section-title { font-size: 2.8rem; }
  .why__intro .section-title br { display: none; }
  .why__photo { height: 240px; }
  .home-page .why .card { padding: 26px; }
  .home-page .contact__media { padding: 22px; }
  .home-page .contact__media img { max-width: 270px; }
  .solution-acquisition .partners { padding-bottom: 22px; }
  .solution-acquisition .acquisition-intro { padding-top: 34px; }
  .solution-visual--collage .solution-scene { height: 260px; border-top-right-radius: 60px; }
  .solution-visual--results .solution-scene { border-radius: 60px 16px 16px 16px; }
  .solution-results .solution-copy h2 { font-size: 2.25rem; }
  .solution-results .solution-metrics dd { font-size: 2.7rem; }
  .partnership-values__photo { height: 260px; border-top-left-radius: 60px; }
  .partnership-page .partnership-values .card { padding: 26px; }
  .partnership-page .partnership-values .card__text { font-size: .88rem; }
  .partnership-option__photo { height: 200px; }
  .partnership-options__grid { gap: 28px; }
  .partnership-option__copy { padding: 28px 24px; }
  .partnership-page .partnership-results .metric { padding: 8px 16px; }
  .partnership-page .partnership-results .metric:first-child { padding-inline: 16px; }
  .partnership-page .partnership-results .metric dd { font-size: 2.8rem; }
  .partnership-page .partnership-results .metric:first-child dd { font-size: 5rem; }
  .partnership-page .partnership-results .metric dt { font-size: .72rem; }
  .partnership-inquiry h2 { font-size: 2.5rem; }
  .partnership-inquiry p { font-size: .9rem; }
  .partnership-inquiry .partnership-email { margin-top: 32px; }
  .partnership-email { flex-direction: row; border-radius: 999px; padding: 6px; gap: 5px; }
}

/* A small, one-time reveal; independent translate preserves existing hover transforms. */
@media (prefers-reduced-motion: no-preference) {
  .home .reveal-ready {
    --reveal-distance: 14px;
    opacity: 0;
    translate: 0 var(--reveal-distance);
  }
  .home .reveal-ready.is-visible { opacity: 1; translate: 0 0; animation: content-reveal 620ms cubic-bezier(.2,.65,.3,1) var(--reveal-delay, 0ms) backwards; }
  .home .reveal-ready:focus-within { opacity: 1; translate: 0 0; animation: none; }
  @keyframes content-reveal {
    from { opacity: 0; translate: 0 var(--reveal-distance); }
    to { opacity: 1; translate: 0 0; }
  }
}
@media (max-width: 600px) and (prefers-reduced-motion: no-preference) {
  .home .reveal-ready { --reveal-distance: 10px; }
  .home .reveal-ready.is-visible { animation-duration: 460ms; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .editorial-photo img, .partnership-option__photo img { transition: transform 550ms ease; }
  .editorial-photo:hover img, .partnership-option:hover .partnership-option__photo img { transform: scale(1.025); }
}
@media print {
  .home .reveal-ready { opacity: 1; translate: none; animation: none; }
}
