/* v0.9.41: chronological home-hero styles consolidated from 0.9.39 and 0.9.40. */
/* DreamPoster 0.9.39: the home-photo effect is a display choice, not an embedded image.
   Loaded after welcome.css and visitor.css so legacy rules cannot override it. */
.dpw-hero--photo .dpw-hero-picture {
  isolation:isolate;
  background:#152844;
}
.dpw-hero--photo .dpw-hero-picture .dpw-hero-backdrop {
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
}
.dpw-hero--photo .dpw-hero-picture .dpw-hero-backdrop img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.dpw-hero--photo.dpw-hero--focus-top .dpw-hero-backdrop img {object-position:center top;}
.dpw-hero--photo.dpw-hero--focus-bottom .dpw-hero-backdrop img {object-position:center bottom;}

/* JNews-inspired 'blurred edge-to-edge backdrop + contained original image'. */
.dpw-hero--photo.dpw-hero--style-blur .dpw-hero-backdrop {
  inset:-35px;
  width:calc(100% + 70px);
  height:calc(100% + 70px);
  filter:blur(var(--dpw-hero-blur,18px));
  transform:scale(1.04);
  transform-origin:center center;
}
.dpw-hero--photo.dpw-hero--style-blur .dpw-hero-picture::after {
  z-index:1;
  background:rgba(8,21,40,var(--dpw-backdrop-dim,.35));
}
.dpw-hero--photo .dpw-hero-picture .dpw-hero-foreground {
  position:absolute;
  z-index:2;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  padding:clamp(12px,2.3vw,28px);
  pointer-events:none;
}
.dpw-hero--photo .dpw-hero-picture .dpw-hero-foreground img {
  display:block;
  width:auto;
  height:auto;
  max-width:min(100%,1120px);
  max-height:100%;
  object-fit:contain;
  object-position:center center;
  box-shadow:0 14px 55px rgba(0,0,0,.27);
  border-radius:4px;
}
/* Preserve original photograph without a blur or frame in normal mode. */
.dpw-hero--photo.dpw-hero--style-plain .dpw-hero-picture::after {
  z-index:1;
  background:rgba(5,16,31,var(--dpw-photo-overlay,0));
}

/* Background-attachment:fixed provides low-overhead desktop parallax.
   Touch devices and reduced-motion users receive a standard static cover. */
.dpw-hero--photo.dpw-hero--style-parallax .dpw-hero-picture {
  background-image:var(--dpw-hero-bg-desktop);
  background-color:#132f52;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center center;
  background-attachment:fixed;
}
.dpw-hero--photo.dpw-hero--style-parallax.dpw-hero--focus-top .dpw-hero-picture {background-position:center top;}
.dpw-hero--photo.dpw-hero--style-parallax.dpw-hero--focus-bottom .dpw-hero-picture {background-position:center bottom;}
.dpw-hero--photo.dpw-hero--style-parallax .dpw-hero-picture::after {
  z-index:1;
  background:rgba(5,16,31,var(--dpw-backdrop-dim,.35));
}
@media(max-width:760px) {
  .dpw-hero--photo.dpw-hero--style-blur .dpw-hero-backdrop {
    inset:-25px;width:calc(100% + 50px);height:calc(100% + 50px);
  }
  .dpw-hero--photo .dpw-hero-picture .dpw-hero-foreground {padding:10px;}
  .dpw-hero--photo .dpw-hero-picture .dpw-hero-foreground img {max-width:100%;}
  .dpw-hero--photo.dpw-hero--style-parallax .dpw-hero-picture {
    background-image:var(--dpw-hero-bg-mobile);
    background-attachment:scroll;
  }
}
@media(prefers-reduced-motion:reduce) {
  .dpw-hero--photo.dpw-hero--style-parallax .dpw-hero-picture {
    background-attachment:scroll;
  }
}
/* The legacy standalone design system has a more specific cover rule. Neutralize
   it ONLY for the contained foreground photo, without changing gallery posters. */
body.dp-standalone .dps-home .dpw-hero.dpw-hero--style-blur .dpw-hero-picture .dpw-hero-foreground img {
  width:auto;
  height:auto;
  max-width:min(100%,1120px);
  max-height:100%;
  object-fit:contain;
  object-position:center center;
}

/* v0.9.40 interactive copy on image + sticky nav */
/* v0.9.40: editable REAL HTML copy layered over the uploaded hero photo.
   No text is painted into an image and no image is distributed in the ZIP. */
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo {
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:0;
  width:100vw;
  max-width:none;
  min-height:570px;
  padding:0;
  overflow:hidden;
  border-radius:0;
  background:#10243f;
  color:#fff;
}
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo.dpw-hero--height-compact {min-height:460px;}
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo.dpw-hero--height-standard {min-height:570px;}
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo.dpw-hero--height-large {min-height:700px;}
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo .dpw-hero-picture {
  display:block;
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  overflow:hidden;
  pointer-events:none;
}
/* A directional shade makes the copy legible while keeping the right side vivid. */
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo::before {
  content:"";
  display:block;
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(90deg,
      rgba(5,16,33,.93) 0%,
      rgba(5,16,33,.85) 28%,
      rgba(5,16,33,.59) 49%,
      rgba(5,16,33,.17) 76%,
      rgba(5,16,33,.08) 100%);
}
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo .dpw-hero-copy {
  position:relative;
  z-index:4;
  align-self:center;
  flex:0 0 auto;
  width:min(1440px,calc(100% - 48px));
  max-width:1440px;
  margin-inline:auto;
  padding:clamp(54px,6vw,94px) 0;
  background:transparent;
  box-shadow:none;
  text-align:left;
  color:#fff;
}
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo .dpw-kicker {
  display:block;
  max-width:650px;
  color:#f1cf91;
  font-size:12px;
  letter-spacing:.15em;
  text-shadow:0 1px 9px #061228;
}
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo h1 {
  max-width:650px;
  margin:18px 0 20px;
  color:#fff;
  font-size:clamp(32px,3.5vw,55px);
  line-height:1.21;
  overflow-wrap:anywhere;
  letter-spacing:-.045em;
  text-shadow:0 3px 18px rgba(0,0,0,.45);
}
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo h1 em {
  color:#f4cc87;
  font-style:normal;
  text-shadow:0 3px 15px rgba(0,0,0,.5);
}
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo :is(.dpw-lead,.dpw-sub,.dpw-current) {
  max-width:600px;
  color:#eef4ff;
  line-height:1.68;
  text-shadow:0 2px 12px rgba(0,0,0,.7);
}
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo .dpw-lead {font-size:clamp(15px,1.2vw,18px);margin:0 0 14px;}
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo .dpw-sub {font-size:clamp(13px,1vw,15px);margin:0;}
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo .dpw-actions {margin-top:27px;max-width:650px;}
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo .dpw-primary {
  background:#f2cc87;color:#142640;border:1px solid #f2cc87;
}
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo .dpw-outline {
  color:#fff;border-color:rgba(255,255,255,.75);
  background:rgba(9,22,42,.27);
}
body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo .dpw-current {margin-top:21px;font-size:12px;color:#e5e9f3;}
@media(max-width:760px) {
  body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo,
  body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo.dpw-hero--height-standard {min-height:590px;padding:0;}
  body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo.dpw-hero--height-compact {min-height:520px;}
  body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo.dpw-hero--height-large {min-height:670px;}
  body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo .dpw-hero-picture {height:100%;}
  body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo::before {
    background:linear-gradient(180deg,rgba(5,16,33,.82) 0%,rgba(5,16,33,.77) 44%,rgba(5,16,33,.4) 100%);
  }
  body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo .dpw-hero-copy {
    width:calc(100% - 36px);
    max-width:100%;
    padding:clamp(45px,7vw,75px) 0;
  }
  body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo h1 {font-size:clamp(28px,6.6vw,38px);}
  body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo .dpw-actions {gap:10px;}
  body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo .dpw-button {min-height:44px;padding:11px 14px;}
}

/* On narrow screens the framed foreground shrinks into a distracting rectangle.
   Keep the edge-to-edge blurred photograph and clear live text instead. */
@media(max-width:760px){
 body.dp-standalone .dps-home .dpw-hero.dpw-hero--style-blur .dpw-hero-foreground {display:none;}
}
@media(max-width:760px){
 body.dp-standalone .dps-home .dpw-hero.dpw-hero--photo::before {
   background:linear-gradient(180deg,rgba(5,16,33,.73) 0%,rgba(5,16,33,.60) 48%,rgba(5,16,33,.21) 100%);
 }
 body.dp-standalone .dps-home .dpw-hero.dpw-hero--style-blur .dpw-hero-picture::after {
   background:rgba(8,21,40,.12);
 }
}

/* v0.9.41 home below-hero vertical rhythm matches the shared page spacing system. */
body.dp-standalone .dps-home .dpw-wrap {--dpw-section-gap:48px;}
body.dp-standalone .dps-home .dpw-guide,
body.dp-standalone .dps-home .dpw-works,
body.dp-standalone .dps-home .dpx-comments {padding-top:var(--dpw-section-gap);padding-bottom:0;}
body.dp-standalone .dps-home .dpw-section-head h2 {margin:6px 0 5px;line-height:1.24;}
body.dp-standalone .dps-home .dpw-section-head p {line-height:1.55;}
body.dp-standalone .dps-home .dpw-steps {margin-top:19px;gap:14px;}
body.dp-standalone .dps-home .dpw-steps > div {padding:18px 20px;}
body.dp-standalone .dps-home .dpw-steps h3 {margin:7px 0 4px;}
body.dp-standalone .dps-home .dpw-grid {margin-top:18px;gap:16px;}
body.dp-standalone .dps-home .dpw-final {margin-top:42px;}
@media(max-width:760px){
 body.dp-standalone .dps-home .dpw-wrap {--dpw-section-gap:32px;}
 body.dp-standalone .dps-home .dpw-steps > div {padding:15px;}
 body.dp-standalone .dps-home .dpw-grid {gap:11px;}
}
