/* Bencefalo v40 — clean imagery, catalog cards, modal copy, nav dismissal */

/* Desktop mega-menu must close after a selection even while cursor remains over it. */
@media(min-width:981px){
  .nav-mega.nav-dismissed>.nav-mega-panel,
  .nav-mega.nav-dismissed:hover>.nav-mega-panel,
  .nav-mega.nav-dismissed:focus-within>.nav-mega-panel{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(7px)!important;
  }
}

/* Transparent subject cutouts: no card, frame or visible rectangular photo canvas. */
.hero-visual{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.hero-visual:before{
  content:""!important;
  position:absolute!important;
  inset:8% 2% 3% 4%!important;
  z-index:-1!important;
  border-radius:50%!important;
  background:radial-gradient(ellipse at 62% 42%,rgba(123,58,237,.26),rgba(69,27,111,.10) 46%,transparent 72%)!important;
  filter:blur(34px)!important;
}
.hero-photo-img{
  position:absolute!important;
  top:-6%!important;
  right:-7%!important;
  bottom:auto!important;
  left:auto!important;
  width:108%!important;
  height:112%!important;
  object-fit:contain!important;
  object-position:center right!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:saturate(.92) contrast(1.04) brightness(.88) drop-shadow(0 24px 34px rgba(0,0,0,.38))!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
.hero-photo-fade{
  position:absolute!important;
  inset:-4% -10% -10% -8%!important;
  background:
    linear-gradient(90deg,#02040c 0%,rgba(2,4,12,.72) 9%,rgba(2,4,12,.22) 23%,transparent 42%),
    linear-gradient(180deg,transparent 0%,transparent 72%,#02040c 100%)!important;
  border:0!important;
  border-radius:0!important;
  pointer-events:none!important;
  z-index:2!important;
}
.hero-glyph{z-index:3!important}

.about-aside{
  position:sticky;
  top:105px;
  overflow:visible!important;
  isolation:isolate;
}
.about-aside:before{
  content:"";
  position:absolute;
  inset:8% -3% 16% 6%;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(ellipse at 55% 44%,rgba(112,45,177,.18),rgba(64,23,103,.07) 48%,transparent 73%);
  filter:blur(34px);
}
.about-photo-blend{
  position:relative;
  width:112%;
  margin-left:-6%;
  aspect-ratio:1/1;
  overflow:visible;
}
.about-photo-blend .about-scene,
.about-photo-blend .about-portrait{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.about-photo-blend .about-scene{
  z-index:1;
  opacity:.72;
  filter:saturate(.80) contrast(1.02) brightness(.58)!important;
  -webkit-mask-image:radial-gradient(ellipse 76% 79% at 52% 46%,#000 38%,rgba(0,0,0,.90) 60%,rgba(0,0,0,.42) 77%,transparent 96%)!important;
  mask-image:radial-gradient(ellipse 76% 79% at 52% 46%,#000 38%,rgba(0,0,0,.90) 60%,rgba(0,0,0,.42) 77%,transparent 96%)!important;
}
.about-photo-blend .about-portrait{
  z-index:2;
  filter:saturate(.97) contrast(1.03) brightness(.92) drop-shadow(0 25px 32px rgba(0,0,0,.30))!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
.about-aside .sigil-note{
  position:relative;
  z-index:3;
  margin-top:-22px!important;
}

/* Catalog cards: only useful format badge; no decision chip and no price. */
.service-scroll .service-card,
.catalog-grid .service-card{
  padding-bottom:78px!important;
}
.service-scroll .service-card .service-cta,
.catalog-grid .service-card .service-cta{
  left:22px!important;
  right:22px!important;
  bottom:18px!important;
  width:calc(100% - 44px)!important;
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.service-card>.price,
.service-card>.service-decision-tag{
  display:none!important;
}

/* Modal: title starts cleanly, long description becomes the main explainer. */
.service-detail-head{
  align-items:flex-start!important;
  padding-top:4px!important;
}
.service-detail-head h2{
  margin:0!important;
}
.service-detail-intro-long{
  max-width:760px!important;
  margin:18px 0 20px!important;
  color:#c3bdcc!important;
  font-size:14px!important;
  line-height:1.72!important;
}
.service-detail-proof small{
  display:none!important;
}

@media(max-width:980px){
  .hero-visual{overflow:clip!important}
  .hero-photo-img{
    top:-2%!important;
    right:-4%!important;
    width:108%!important;
    height:108%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .hero-photo-fade{
    inset:-2% -4vw -8% -4vw!important;
    background:linear-gradient(180deg,#02040c 0%,transparent 13%,transparent 73%,#02040c 100%)!important;
  }
  .about-aside{
    position:static!important;
  }
  .about-photo-blend{
    width:min(100%,680px)!important;
    margin-left:0!important;
    margin-right:auto!important;
  }
}
@media(max-width:620px){
  .hero-photo-img{
    top:0!important;
    right:-2%!important;
    width:104%!important;
    height:104%!important;
  }
  .about-photo-blend{
    width:106%!important;
    margin-left:-3%!important;
  }
  .service-scroll .service-card,
  .catalog-grid .service-card{
    padding-bottom:76px!important;
  }
}