/* CECIL Official v1.0.103 — unified lower-page hero system
 * Reference: /first/reasons/
 * Applies to all lower-page hero sections. The top-page hero is intentionally excluded.
 */

html body .cecil-simple-hero{
  position:relative!important;
  display:block!important;
  min-height:460px!important;
  height:460px!important;
  overflow:hidden!important;
  background:#665D52!important;
  color:#FAF7EF!important;
  border:0!important;
  border-bottom:1px solid rgba(201,216,166,.28)!important;
  isolation:isolate!important;
}

html body .cecil-simple-hero>[class*="-hero-bg"],
html body .cecil-simple-hero>[class*="-hero-media"]{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  z-index:0!important;
  overflow:hidden!important;
}

html body .cecil-simple-hero>[class*="-hero-bg"]{
  background-size:cover!important;
  background-repeat:no-repeat!important;
}

html body .cecil-simple-hero>[class*="-hero-bg"]::after{
  display:none!important;
  content:none!important;
}

html body .cecil-simple-hero>[class*="-hero-media"] img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  filter:saturate(.88) contrast(1.04) brightness(.82)!important;
}

/* Every page receives the same deep-green photographic veil as /first/reasons/. */
html body .cecil-simple-hero>[class*="-hero-shade"]{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  z-index:1!important;
  background:
    linear-gradient(90deg,rgba(102,93,82,.70) 0%,rgba(102,93,82,.56) 50%,rgba(102,93,82,.58) 100%),
    linear-gradient(180deg,rgba(75,66,56,.10) 0%,rgba(75,66,56,.05) 42%,rgba(75,66,56,.30) 100%)!important;
  opacity:1!important;
  pointer-events:none!important;
}

/* Some pages use only a background layer. This overlay guarantees identical contrast. */
html body .cecil-simple-hero::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 50% 52%,rgba(102,93,82,.03) 0%,rgba(102,93,82,.16) 56%,rgba(102,93,82,.32) 100%),
    linear-gradient(180deg,rgba(102,93,82,.12),rgba(102,93,82,.22))!important;
}

html body .cecil-simple-hero .cecil-simple-hero-inner{
  position:relative!important;
  z-index:3!important;
  width:min(calc(100% - 48px),1220px)!important;
  max-width:1220px!important;
  min-height:460px!important;
  height:460px!important;
  margin:0 auto!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:center!important;
}

html body .cecil-simple-hero .cecil-simple-breadcrumb{
  position:absolute!important;
  top:calc(var(--cecil-header) + 24px)!important;
  left:0!important;
  right:0!important;
  bottom:auto!important;
  z-index:5!important;
  width:100%!important;
  max-width:100%!important;
  min-height:20px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
  color:rgba(250,247,239,.72)!important;
  font-size:.66rem!important;
  font-weight:400!important;
  line-height:1.55!important;
  letter-spacing:.035em!important;
  text-align:left!important;
  transform:none!important;
}
html body .cecil-simple-hero .cecil-simple-breadcrumb::-webkit-scrollbar{display:none!important}
html body .cecil-simple-hero .cecil-simple-breadcrumb a,
html body .cecil-simple-hero .cecil-simple-breadcrumb span{
  flex:0 0 auto!important;
  color:inherit!important;
  margin:0!important;
  padding:0!important;
}

html body .cecil-simple-hero .cecil-simple-hero-copy{
  position:relative!important;
  z-index:4!important;
  width:min(100%,820px)!important;
  max-width:820px!important;
  min-width:0!important;
  margin:auto!important;
  padding:58px 16px 0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  text-align:center!important;
  transform:none!important;
}

html body .cecil-simple-hero .cecil-simple-eyebrow,
html body .cecil-simple-hero .reasons-v2-overline,
html body .cecil-simple-hero .column-hub-kicker{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  color:#C9D8A6!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:.72rem!important;
  font-weight:400!important;
  line-height:1.5!important;
  letter-spacing:.24em!important;
  text-align:center!important;
  text-transform:uppercase!important;
}

html body .cecil-simple-hero .cecil-simple-title,
html body .cecil-simple-hero .cecil-simple-hero-copy h1{
  display:block!important;
  width:100%!important;
  max-width:800px!important;
  margin:0!important;
  padding:0!important;
  color:#FAF7EF!important;
  font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif!important;
  font-size:clamp(42px,3.25vw,50px)!important;
  font-weight:400!important;
  line-height:1.36!important;
  letter-spacing:.08em!important;
  text-align:center!important;
  text-shadow:0 3px 20px rgba(75,66,56,.35)!important;
}

/* Gold line + center diamond — shared by every lower-page hero. */
html body .cecil-simple-hero .cecil-simple-hero-copy::after{
  content:"◆"!important;
  display:block!important;
  width:118px!important;
  height:17px!important;
  margin:4px auto 0!important;
  padding:0!important;
  color:#C9D8A6!important;
  font-family:Georgia,serif!important;
  font-size:9px!important;
  line-height:15px!important;
  text-align:center!important;
  background:
    linear-gradient(90deg,transparent 0,#C9D8A6 22%,#C9D8A6 100%) left 7px/48px 1px no-repeat,
    linear-gradient(90deg,#C9D8A6 0,#C9D8A6 78%,transparent 100%) right 7px/48px 1px no-repeat!important;
  opacity:.96!important;
}

/* /first/reasons/ already contains a markup ornament; the global ornament replaces it. */
html body .cecil-simple-hero .reasons-v2-ornament{display:none!important}

/* Hero-only extras are moved below the fold or suppressed so every first view has the same shape. */
html body .cecil-simple-hero .flow-v2-hero-lead{display:none!important}
html body .cecil-simple-hero .media-hero-portrait{display:none!important}

/* Column pages were historically bespoke; v1.0.103 promotes them to the same shared hero system. */
html body .column-hub-hero.cecil-simple-hero,
html body .column-category-hero.cecil-simple-hero{
  min-height:460px!important;
  height:460px!important;
}
html body .column-hub-hero.cecil-simple-hero .column-hub-hero-inner,
html body .column-category-hero.cecil-simple-hero .column-category-hero-inner{
  min-height:460px!important;
  height:460px!important;
}

.column-hub-hero-details .cecil-hero-detail-features svg{width:21px;height:21px}
.column-category-hero-details .cecil-hero-detail-lead{max-width:760px!important}

@media (max-width:1180px){
  html body .cecil-simple-hero .cecil-simple-breadcrumb{
    top:calc(var(--cecil-header) + 22px)!important;
  }
}

@media (max-width:760px){
  html body .cecil-simple-hero,
  html body .column-hub-hero.cecil-simple-hero,
  html body .column-category-hero.cecil-simple-hero{
    min-height:410px!important;
    height:410px!important;
  }

  html body .cecil-simple-hero .cecil-simple-hero-inner,
  html body .column-hub-hero.cecil-simple-hero .column-hub-hero-inner,
  html body .column-category-hero.cecil-simple-hero .column-category-hero-inner{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    min-height:410px!important;
    height:410px!important;
  }

  html body .cecil-simple-hero .cecil-simple-breadcrumb{
    top:calc(var(--cecil-header) + env(safe-area-inset-top,0px) + 18px)!important;
    gap:7px!important;
    padding-right:5px!important;
    font-size:.57rem!important;
    line-height:1.5!important;
    letter-spacing:.02em!important;
  }

  html body .cecil-simple-hero .cecil-simple-hero-copy{
    width:100%!important;
    max-width:100%!important;
    padding:54px 8px 0!important;
    gap:10px!important;
  }

  html body .cecil-simple-hero .cecil-simple-eyebrow,
  html body .cecil-simple-hero .reasons-v2-overline,
  html body .cecil-simple-hero .column-hub-kicker{
    font-size:.64rem!important;
    line-height:1.5!important;
    letter-spacing:.18em!important;
  }

  html body .cecil-simple-hero .cecil-simple-title,
  html body .cecil-simple-hero .cecil-simple-hero-copy h1{
    max-width:94%!important;
    margin-inline:auto!important;
    font-size:clamp(1.78rem,8vw,2rem)!important;
    line-height:1.48!important;
    letter-spacing:.055em!important;
  }

  html body .cecil-simple-hero .cecil-simple-hero-copy::after{
    width:108px!important;
    height:16px!important;
    margin-top:2px!important;
    background:
      linear-gradient(90deg,transparent 0,#C9D8A6 22%,#C9D8A6 100%) left 7px/43px 1px no-repeat,
      linear-gradient(90deg,#C9D8A6 0,#C9D8A6 78%,transparent 100%) right 7px/43px 1px no-repeat!important;
  }
}

@media (max-width:390px){
  html body .cecil-simple-hero,
  html body .column-hub-hero.cecil-simple-hero,
  html body .column-category-hero.cecil-simple-hero{
    min-height:390px!important;
    height:390px!important;
  }
  html body .cecil-simple-hero .cecil-simple-hero-inner,
  html body .column-hub-hero.cecil-simple-hero .column-hub-hero-inner,
  html body .column-category-hero.cecil-simple-hero .column-category-hero-inner{
    min-height:390px!important;
    height:390px!important;
  }
  html body .cecil-simple-hero .cecil-simple-title,
  html body .cecil-simple-hero .cecil-simple-hero-copy h1{
    font-size:clamp(1.62rem,7.6vw,1.88rem)!important;
  }
}

/* CECIL Official v1.0.105 — all-page hero text soft-bloom entrance
 * Matches the homepage hero's soft-focus reveal while keeping imagery,
 * overlays, breadcrumbs and ornamental lines completely static.
 */
html body:not(.home) .cecil-simple-hero .cecil-simple-eyebrow,
html body:not(.home) .cecil-simple-hero .reasons-v2-overline,
html body:not(.home) .cecil-simple-hero .cecil-simple-hero-copy h1{
  opacity:0;
  filter:blur(14px);
  transform:translate3d(0,10px,0) scale(.985);
  transform-origin:50% 50%;
  will-change:opacity,filter,transform;
  animation:cecil-lower-hero-soft-bloom 1.35s cubic-bezier(.22,.72,.24,1) both;
}

html body:not(.home) .cecil-simple-hero .cecil-simple-eyebrow,
html body:not(.home) .cecil-simple-hero .reasons-v2-overline{
  animation-delay:.08s;
}

html body:not(.home) .cecil-simple-hero .cecil-simple-hero-copy h1{
  animation-delay:.30s;
}

/* Fallback WordPress pages/posts without a dedicated photo hero still receive
 * the same text-only entrance on their page title. */
html body:not(.home) .page-header h1{
  opacity:0;
  filter:blur(14px);
  transform:translate3d(0,10px,0) scale(.985);
  transform-origin:50% 50%;
  will-change:opacity,filter,transform;
  animation:cecil-lower-hero-soft-bloom 1.35s cubic-bezier(.22,.72,.24,1) .16s both;
}

@keyframes cecil-lower-hero-soft-bloom{
  0%{
    opacity:0;
    filter:blur(14px);
    transform:translate3d(0,10px,0) scale(.985);
  }
  52%{
    opacity:.72;
    filter:blur(5px);
    transform:translate3d(0,4px,0) scale(.994);
  }
  100%{
    opacity:1;
    filter:blur(0);
    transform:translate3d(0,0,0) scale(1);
  }
}

@media (prefers-reduced-motion:reduce){
  html body:not(.home) .cecil-simple-hero .cecil-simple-eyebrow,
  html body:not(.home) .cecil-simple-hero .reasons-v2-overline,
  html body:not(.home) .cecil-simple-hero .cecil-simple-hero-copy h1,
  html body:not(.home) .page-header h1{
    opacity:1;
    filter:none;
    transform:none;
    animation:none;
    will-change:auto;
  }
}
