/* Corafter Phase 14 — align About, Portfolio, Process, Blog and Contact heroes with the homepage.
   Posters are full-bleed backgrounds; copy sits in a centered content container, never at the viewport edge. */
:root { --cora-header-offset: 82px; }

body.page-about .page-hero,
body.page-portfolio .portfolio-hero,
body.page-process .page-hero,
body.page-blog .page-hero,
body.page-contact .page-hero {
  position: relative !important;
  isolation: isolate;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box;
  width: 100%;
  height: 100vh;
  height: 100svh;
  min-height: 620px;
  max-height: none;
  padding: var(--cora-header-offset) 0 clamp(72px, 8vh, 104px) !important;
  overflow: hidden !important;
  background: #061638 !important;
  color: #fff;
}

/* Keep the header overlay above the hero while centering content in a true site-width container. */
body.page-about .page-hero > .container,
body.page-process .page-hero > .container,
body.page-blog .page-hero > .container,
body.page-contact .page-hero > .container,
body.page-portfolio .portfolio-hero > .container {
  position: relative !important;
  z-index: 3 !important;
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
  box-sizing: border-box;
}

/* Standardize inner hero layout: one copy column, with the poster providing the visual column. */
body.page-process .page-hero-inner,
body.page-blog .page-hero-inner,
body.page-contact .page-hero-inner {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
}
body.page-process .page-hero-inner > div:first-child,
body.page-blog .page-hero-inner > div:first-child,
body.page-contact .page-hero-inner > div:first-child {
  width: min(690px, 64%);
  max-width: 690px;
  min-width: 0;
}
body.page-about .page-hero-copy { max-width: 1180px; }
body.page-portfolio .portfolio-hero-grid { display: block !important; min-height: 0 !important; }
body.page-portfolio .portfolio-hero-grid > div:first-child {
  width: min(700px, 64%) !important;
  max-width: 700px;
}

/* Full-bleed poster per page; use a left-to-right navy fade so copy remains legible. */
body.page-about .page-hero::after,
body.page-portfolio .portfolio-hero::after,
body.page-process .page-hero::after,
body.page-blog .page-hero::after,
body.page-contact .page-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
  pointer-events: none;
  mask-image: none !important;
  background-repeat: no-repeat, no-repeat, no-repeat !important;
  background-size: cover, cover, cover !important;
  background-position: center, center, 64% center !important;
}
body.page-about .page-hero::after {
  background-image: linear-gradient(90deg,rgba(4,17,49,.98) 0%,rgba(4,22,61,.92) 34%,rgba(4,22,61,.60) 58%,rgba(4,22,61,.13) 100%),linear-gradient(0deg,rgba(3,15,44,.30),transparent 42%),url('../images/hero-posters/enterprise-solutions.webp') !important;
}
body.page-portfolio .portfolio-hero::after {
  background-image: linear-gradient(90deg,rgba(4,17,49,.98) 0%,rgba(4,22,61,.92) 34%,rgba(4,22,61,.60) 58%,rgba(4,22,61,.13) 100%),linear-gradient(0deg,rgba(3,15,44,.30),transparent 42%),url('../images/hero-posters/website-development.webp') !important;
}
body.page-process .page-hero::after {
  background-image: linear-gradient(90deg,rgba(4,17,49,.98) 0%,rgba(4,22,61,.92) 34%,rgba(4,22,61,.60) 58%,rgba(4,22,61,.13) 100%),linear-gradient(0deg,rgba(3,15,44,.30),transparent 42%),url('../images/hero-posters/it-consulting.webp') !important;
}
body.page-blog .page-hero::after {
  background-image: linear-gradient(90deg,rgba(4,17,49,.98) 0%,rgba(4,22,61,.92) 34%,rgba(4,22,61,.60) 58%,rgba(4,22,61,.13) 100%),linear-gradient(0deg,rgba(3,15,44,.30),transparent 42%),url('../images/hero-posters/seo-digital-solutions.webp') !important;
}
body.page-contact .page-hero::after {
  background-image: linear-gradient(90deg,rgba(4,17,49,.98) 0%,rgba(4,22,61,.92) 34%,rgba(4,22,61,.60) 58%,rgba(4,22,61,.13) 100%),linear-gradient(0deg,rgba(3,15,44,.30),transparent 42%),url('../images/hero-posters/custom-business-solutions.webp') !important;
}

/* The grid motif is intentionally subtle and always above the poster but below copy. */
body.page-about .page-hero::before,
body.page-portfolio .portfolio-hero::before,
body.page-process .page-hero::before,
body.page-blog .page-hero::before,
body.page-contact .page-hero::before {
  content: "";
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none;
  opacity: .42;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px) !important;
  background-size: 42px 42px !important;
  mask-image: linear-gradient(90deg,#000 0%,transparent 95%);
}

/* Remove old floating mockups; the poster itself is now the hero artwork. */
body.page-about .page-hero-art,
body.page-process .page-hero-art,
body.page-blog .page-hero-art,
body.page-contact .contact-art,
body.page-portfolio .portfolio-hero-art {
  display: none !important;
}

body.page-about .page-hero-copy,
body.page-process .page-hero-copy,
body.page-blog .page-hero-copy,
body.page-contact .page-hero-copy,
body.page-portfolio .page-hero-copy {
  color: #fff;
}
body.page-about .page-hero h1,
body.page-process .page-hero h1,
body.page-blog .page-hero h1,
body.page-contact .page-hero h1,
body.page-portfolio .portfolio-hero h1 {
  max-width: 760px;
  margin: clamp(16px, 2.5vh, 26px) 0 22px;
  color: #fff;
  font-size: clamp(2.8rem, 5.2vw, 5rem);
  font-weight: 800;
  line-height: 1.01;
  letter-spacing: -.055em;
  text-wrap: balance;
}
body.page-about .page-hero p,
body.page-process .page-hero p,
body.page-blog .page-hero p,
body.page-contact .page-hero p,
body.page-portfolio .portfolio-hero p {
  max-width: 590px;
  margin: 0;
  color: rgba(229,239,255,.88);
  font-size: clamp(1rem, 1.2vw, 1.16rem);
  line-height: 1.8;
}
body.page-about .page-hero .eyebrow,
body.page-process .page-hero .eyebrow,
body.page-blog .page-hero .eyebrow,
body.page-contact .page-hero .eyebrow,
body.page-portfolio .portfolio-hero .eyebrow { color: #8dc4ff; }
body.page-about .page-hero .breadcrumb,
body.page-process .page-hero .breadcrumb,
body.page-blog .page-hero .breadcrumb,
body.page-contact .page-hero .breadcrumb,
body.page-portfolio .portfolio-hero .breadcrumb {
  margin-bottom: clamp(20px, 3vh, 34px);
  color: rgba(207,224,255,.76);
  font-size: .86rem;
}
body.page-about .page-hero .hero-actions,
body.page-process .page-hero .hero-actions,
body.page-blog .page-hero .hero-actions,
body.page-contact .page-hero .hero-actions,
body.page-portfolio .portfolio-hero .hero-actions { margin-top: 26px; gap: 12px; }
body.page-about .page-hero .btn-outline-light,
body.page-process .page-hero .btn-outline-light,
body.page-blog .page-hero .btn-outline-light,
body.page-contact .page-hero .btn-outline-light,
body.page-portfolio .portfolio-hero .btn-outline-light { color:#fff; border-color:rgba(222,235,255,.58); background:rgba(255,255,255,.045); }
.page-hero-tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.page-hero-tags span { display:inline-flex; align-items:center; min-height:38px; padding:8px 16px; border:1px solid rgba(156,194,255,.34); border-radius:999px; background:rgba(255,255,255,.055); color:#d8e7ff; font-size:.82rem; font-weight:700; letter-spacing:.02em; backdrop-filter:blur(8px); }

/* The shallow white wave mirrors the homepage without covering the next section. */
body.page-about .page-hero .wave,
body.page-process .page-hero .wave,
body.page-blog .page-hero .wave,
body.page-contact .page-hero .wave,
body.page-portfolio .portfolio-hero .wave { z-index: 4 !important; height: 56px; bottom:-2px; pointer-events:none; }

@media (max-width: 900px) {
  :root { --cora-header-offset: 82px; }
  body.page-process .page-hero-inner > div:first-child,
  body.page-blog .page-hero-inner > div:first-child,
  body.page-contact .page-hero-inner > div:first-child,
  body.page-portfolio .portfolio-hero-grid > div:first-child { width: min(720px, 78%) !important; }
  body.page-about .page-hero::after,
  body.page-portfolio .portfolio-hero::after,
  body.page-process .page-hero::after,
  body.page-blog .page-hero::after,
  body.page-contact .page-hero::after { background-position:center,center,62% center !important; }
}
@media (max-width: 600px) {
  :root { --cora-header-offset: 78px; }
  body.page-about .page-hero,
  body.page-portfolio .portfolio-hero,
  body.page-process .page-hero,
  body.page-blog .page-hero,
  body.page-contact .page-hero {
    height: 100svh;
    min-height: 650px;
    padding-top: 86px !important;
    padding-bottom: 74px !important;
  }
  body.page-about .page-hero > .container,
  body.page-process .page-hero > .container,
  body.page-blog .page-hero > .container,
  body.page-contact .page-hero > .container,
  body.page-portfolio .portfolio-hero > .container { width: calc(100% - 36px) !important; }
  body.page-process .page-hero-inner > div:first-child,
  body.page-blog .page-hero-inner > div:first-child,
  body.page-contact .page-hero-inner > div:first-child,
  body.page-portfolio .portfolio-hero-grid > div:first-child { width: 100% !important; max-width: 100%; }
  body.page-about .page-hero h1,
  body.page-process .page-hero h1,
  body.page-blog .page-hero h1,
  body.page-contact .page-hero h1,
  body.page-portfolio .portfolio-hero h1 { max-width: 13ch; font-size:clamp(2.45rem,10.8vw,3.6rem); line-height:1.03; }
  body.page-about .page-hero p,
  body.page-process .page-hero p,
  body.page-blog .page-hero p,
  body.page-contact .page-hero p,
  body.page-portfolio .portfolio-hero p { max-width: 42ch; font-size:1rem; }
  body.page-about .page-hero .breadcrumb,
  body.page-process .page-hero .breadcrumb,
  body.page-blog .page-hero .breadcrumb,
  body.page-contact .page-hero .breadcrumb,
  body.page-portfolio .portfolio-hero .breadcrumb { margin-bottom:20px; }
  .page-hero-tags { gap:7px; margin-top:20px; }
  .page-hero-tags span { min-height:32px; padding:6px 11px; font-size:.73rem; }
  body.page-about .page-hero .wave,
  body.page-process .page-hero .wave,
  body.page-blog .page-hero .wave,
  body.page-contact .page-hero .wave,
  body.page-portfolio .portfolio-hero .wave { height:34px; }
  body.page-about .page-hero::after,
  body.page-portfolio .portfolio-hero::after,
  body.page-process .page-hero::after,
  body.page-blog .page-hero::after,
  body.page-contact .page-hero::after {
    background-image: linear-gradient(90deg,rgba(4,17,49,.96),rgba(4,22,61,.74)),linear-gradient(0deg,rgba(3,15,44,.34),transparent 48%),var(--cora-page-poster) !important;
    background-position:center,center,64% center !important;
  }
  body.page-about .page-hero::after { --cora-page-poster:url('../images/hero-posters/enterprise-solutions.webp'); }
  body.page-portfolio .portfolio-hero::after { --cora-page-poster:url('../images/hero-posters/website-development.webp'); }
  body.page-process .page-hero::after { --cora-page-poster:url('../images/hero-posters/it-consulting.webp'); }
  body.page-blog .page-hero::after { --cora-page-poster:url('../images/hero-posters/seo-digital-solutions.webp'); }
  body.page-contact .page-hero::after { --cora-page-poster:url('../images/hero-posters/custom-business-solutions.webp'); }
}
@media (prefers-reduced-motion: reduce) {
  body.page-about .page-hero *, body.page-portfolio .portfolio-hero *, body.page-process .page-hero *, body.page-blog .page-hero *, body.page-contact .page-hero * { animation:none !important; transition:none !important; }
}

/* Explicit secondary CTA treatment (the older theme did not define btn-outline-light). */
body.page-about .page-hero .btn-outline-light,
body.page-process .page-hero .btn-outline-light,
body.page-blog .page-hero .btn-outline-light,
body.page-contact .page-hero .btn-outline-light,
body.page-portfolio .portfolio-hero .btn-outline-light {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 52px;
  padding: 13px 21px;
  border: 1px solid rgba(222,235,255,.58);
  border-radius: 999px;
  color: #fff !important;
  background: rgba(255,255,255,.055);
  font: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
body.page-about .page-hero .btn-outline-light:hover,
body.page-process .page-hero .btn-outline-light:hover,
body.page-blog .page-hero .btn-outline-light:hover,
body.page-contact .page-hero .btn-outline-light:hover,
body.page-portfolio .portfolio-hero .btn-outline-light:hover {
  border-color: rgba(255,255,255,.9);
  background: rgba(255,255,255,.14);
  transform: translateY(-1px);
}
