/* Full-height, image-led introductions that share the home hero's visual language. */
.page-intro { min-height: 100svh; display: flex; align-items: end; padding: 136px 0 82px; position: relative; isolation: isolate; background-size: cover; background-position: center; }
.page-intro__grid { display: block; width: 100%; }
.page-intro h1 { max-width: 13ch; font-size: clamp(2.9rem, 4.25vw, 4.65rem); color: #fff; }
.page-intro h1 em { color: #d6f5ff; }
.page-intro__copy > p:not(.eyebrow) { max-width: 570px; margin: 22px 0 0; color: rgba(255, 255, 255, .82); font-size: 18px; line-height: 1.6; }
.page-intro figure { display: none; }
.page-intro img { display: block; width: 100%; max-height: 330px; object-fit: cover; border-radius: 26px; box-shadow: 0 24px 60px rgba(24, 78, 111, .16); }
.page-intro figcaption { margin-top: 10px; color: rgba(255, 255, 255, .82); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.page-intro .eyebrow { color: #d6f5ff; }
body:has(.page-intro) header { color: #fff; }
body:has(.page-intro) header .logo img { content: normal; filter: none; }
body:has(.page-intro) header nav a, body:has(.page-intro) header nav a:hover, body:has(.page-intro) header nav a[aria-current="page"] { color: rgba(255, 255, 255, .94); }
body:has(.page-intro) header .nav-cta { color: #fff; border-color: rgba(255, 255, 255, .7); }
body:has(.page-intro) header.is-solid { background: #fff; border-bottom-color: rgba(18, 45, 66, .1); }
body:has(.page-intro) header.is-solid .logo img { content: url('../assets/logo-praam-light.png'); filter: none; }
body:has(.page-intro) header.is-solid nav a, body:has(.page-intro) header.is-solid nav a:hover, body:has(.page-intro) header.is-solid nav a[aria-current="page"], body:has(.page-intro) header.is-solid .nav-cta { color: #122d42; }
body:has(.page-intro) header.is-solid .nav-cta { border-color: #6e8798; }
body:has(.page-intro) footer { display: none; }

body:has(.offer-grid) .page-intro { background: linear-gradient(90deg, rgba(8, 27, 42, .8) 0%, rgba(8, 27, 42, .48) 46%, rgba(8, 27, 42, .12) 75%), url('../assets/services-hero-photo.png') center / cover no-repeat !important; }
body:has(.industries-explorer) .page-intro { background: linear-gradient(90deg, rgba(5, 27, 51, .94) 0%, rgba(5, 27, 51, .72) 42%, rgba(5, 27, 51, .12) 72%), url('../assets/industries-overview-hero.png') center / cover no-repeat !important; }

/* About carries the same blue-to-cyan canvas used on the home service section. */
body:has(.problem) .page-intro {
  background: linear-gradient(90deg, rgba(8, 27, 42, .82) 0%, rgba(8, 27, 42, .5) 46%, rgba(8, 27, 42, .12) 75%), url('../assets/about-hero-photo.png') center / cover no-repeat !important;
}
body:has(.problem) .page-intro h1, body:has(.problem) .page-intro h1 em { color: #fff; }
body:has(.problem) .page-intro__copy > p:not(.eyebrow), body:has(.problem) .page-intro figcaption { color: rgba(255, 255, 255, .82); }
body:has(.problem) .page-intro .eyebrow { color: #d6f5ff; }
body:has(.problem) header { color: #fff; }
body:has(.problem) header .logo img { content: normal; filter: none; }
body:has(.problem) header nav a, body:has(.problem) header nav a:hover, body:has(.problem) header nav a[aria-current="page"] { color: rgba(255, 255, 255, .94); }
body:has(.problem) header .nav-cta { color: #fff; border-color: rgba(255, 255, 255, .7); }
body:has(.problem) header.is-solid { background: #fff; border-bottom-color: rgba(18, 45, 66, .1); }
body:has(.problem) header.is-solid .logo img { content: url('../assets/logo-praam-light.png'); filter: none; }
body:has(.problem) header.is-solid nav a, body:has(.problem) header.is-solid nav a:hover, body:has(.problem) header.is-solid nav a[aria-current="page"], body:has(.problem) header.is-solid .nav-cta { color: #122d42; }
body:has(.problem) header.is-solid .nav-cta { border-color: #6e8798; }
body:has(.problem) .approach {
  background: radial-gradient(circle at 78% 16%, rgba(112, 226, 255, .16), transparent 34%), linear-gradient(115deg, #105b83 0%, #1282ad 52%, #1aa3ce 100%);
}
body:has(.problem) .approach .eyebrow { color: #d6f5ff; }
body:has(.problem) .approach h2 em { color: #d6f5ff; }
body:has(.problem) .approach .heading > p, body:has(.problem) .approach .steps p { color: rgba(255, 255, 255, .8); }
body:has(.problem) .approach .steps, body:has(.problem) .approach .steps article { border-color: rgba(255, 255, 255, .3); }
body:has(.problem) .approach .steps b { color: #d6f5ff; }

/* Services approach follows the light service-card surface. */
body:has(#approach) .approach { background: linear-gradient(135deg, #f6fbff 0%, #e7f1fb 100%); color: #122d42; }
body:has(#approach) .approach .eyebrow, body:has(#approach) .approach h2 em, body:has(#approach) .approach .steps b { color: #168bc0; }
body:has(#approach) .approach .heading > p, body:has(#approach) .approach .steps p { color: #587286; }
body:has(#approach) .approach .steps, body:has(#approach) .approach .steps article { border-color: #c6d9e8; }
@media (min-width: 1000px) {
  main > .approach.block, main > .problem.block, main > .services.block, main > .fit.block { min-height: 0; display: block; padding: 76px 0; }
  main > .approach.block > .wrap, main > .problem.block > .wrap, main > .services.block > .wrap, main > .fit.block > .wrap { width: min(1240px, calc(100% - 96px)); }
  main > .final { min-height: 0; padding: 78px 0; }
  body:has(.problem) main > .approach.block,
  body:has(.problem) main > .problem.block,
  body:has(.problem) main > .services.block,
  body:has(.problem) main > .fit.block { min-height: 0; padding: 76px 0; }
  body:has(.problem) .approach .steps { margin-top: 46px; }
  body:has(.problem) .problem .two { align-items: start; }
  body:has(.problem) .services .diff-grid,
  body:has(.problem) .fit .principle-grid { margin-top: 36px; }
  .industry-grid--focused { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; }
}

.industry-grid { border-top: 0; }

/* Interactive industry selector and middle-page spotlight. */
.industries-explorer { background: #f1f7fb; }
.industries-explorer__intro { max-width: 680px; }
.industries-explorer__intro h2 { margin: 0; color: #16344a; font-size: clamp(2.35rem, 3.45vw, 3.8rem); line-height: 1.02; }
.industries-explorer__intro > p:not(.eyebrow) { margin: 18px 0 0; color: #5d7789; max-width: 52ch; }
.industry-selector { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 38px 0 28px; }
.industry-selector__button { min-height: 124px; padding: 18px; border: 1px solid #cfe0eb; border-radius: 16px; background: rgba(255,255,255,.78); color: #16344a; font: inherit; font-weight: 700; text-align: left; cursor: pointer; transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease; }
.industry-selector__button:hover { transform: translateY(-2px); border-color: #77bde1; }
.industry-selector__button.is-active { background: #16344a; border-color: #16344a; color: #fff; }
.industry-selector__button span { display: block; margin-bottom: 14px; color: #409bcb; font-size: .75rem; letter-spacing: .12em; }
.industry-selector__button.is-active span { color: #9fdcf7; }
.industry-selector__icon { display: block; width: 27px; height: 27px; margin-bottom: 12px; color: #168bc0; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.industry-selector__button.is-active .industry-selector__icon { color: #a9e5ff; }
.industry-spotlight { display: grid; grid-template-columns: minmax(0, .9fr) minmax(260px, .8fr) minmax(0, .72fr); align-items: center; gap: clamp(24px, 4vw, 56px); padding: clamp(28px, 4vw, 52px); border-radius: 24px; background: #fff; box-shadow: 0 20px 48px rgba(23, 61, 84, .11); }
.industry-spotlight__copy h3 { margin: 0 0 14px; color: #16344a; font-size: clamp(1.8rem, 2.5vw, 2.65rem); letter-spacing: -.05em; }
.industry-spotlight__copy > p:not(.eyebrow) { margin: 0 0 24px; color: #5d7789; line-height: 1.6; }
.industry-spotlight__copy .button { background: #1d6d93; color: #fff; }
.industry-spotlight__visual { margin: 0; overflow: hidden; border-radius: 18px; aspect-ratio: 1 / .82; background: #dcebf4; }
.industry-spotlight__visual img { width: 100%; height: 100%; object-fit: cover; display: block; }
.industry-spotlight__features { list-style: none; margin: 0; padding: 0 0 0 24px; border-left: 1px solid #cfe0eb; }
.industry-spotlight__features li { position: relative; padding: 14px 0 14px 28px; color: #16344a; font-size: .95rem; font-weight: 600; line-height: 1.4; }
.industry-spotlight__features li::before { content: "✦"; position: absolute; left: 0; color: #409bcb; }
@media (max-width: 900px) { .industry-selector { grid-template-columns: repeat(2, minmax(0, 1fr)); } .industry-spotlight { grid-template-columns: 1fr 1fr; } .industry-spotlight__features { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); padding: 0; border: 0; border-top: 1px solid #cfe0eb; } }
@media (max-width: 620px) { .industry-selector, .industry-spotlight { grid-template-columns: 1fr; } .industry-spotlight__features { grid-column: auto; grid-template-columns: 1fr; } }
@media (max-width: 800px) { .page-intro { min-height: 720px; padding: 130px 0 58px; background-position: 60% center !important; } .page-intro h1 { max-width: none; } .page-intro img { max-height: none; } }
