/* Stage 11CE16X — Astera Split Signature
 * Child of official Astera Split Cinema. The base stylesheet is loaded first.
 * Scope is intentionally limited to .astera-split-signature.
 */
.astera-split-signature{
  --ass-script:"Segoe Script","Snell Roundhand","Apple Chancery","URW Chancery L","Lucida Handwriting",cursive;
  --ass-body:"Avenir Next","Segoe UI",Helvetica,Arial,sans-serif;
  --ass-gold:#d4aa78;
  --ass-ivory:#fff8ef;
  font-family:var(--ass-body);
}

/* Handwritten display only; body copy remains clean/readable. */
.astera-split-signature .as-cover-copy h1,
.astera-split-signature .as-section-heading h2,
.astera-split-signature .ass-person-copy h3,
.astera-split-signature .as-story-card h3,
.astera-split-signature .as-glass-card h3,
.astera-split-signature .as-closing h2{
  font-family:var(--ass-script)!important;
  font-style:normal!important;
  font-weight:500!important;
  letter-spacing:-.02em!important;
  text-wrap:balance;
  color:var(--ass-ivory)!important;
  text-shadow:0 2px 22px rgba(0,0,0,.42);
}
.astera-split-signature .as-cover-copy h1{font-size:clamp(46px,14vw,76px);line-height:.98;letter-spacing:-.045em!important}
.astera-split-signature .as-section-heading h2{font-size:clamp(36px,10vw,52px);line-height:1.02}
.astera-split-signature .as-story-card h3,
.astera-split-signature .as-glass-card h3{font-size:clamp(20px,5.4vw,29px);line-height:1.08}
.astera-split-signature .as-eyebrow,
.astera-split-signature .as-section-heading>p,
.astera-split-signature .ass-person-copy,
.astera-split-signature .as-story-card p{font-family:var(--ass-body)}

/* Requested black cinematic overlay retained on deck and desktop stage. */
.astera-split-signature .as-slide-overlay{
  background:linear-gradient(180deg,rgba(0,0,0,.40),rgba(0,0,0,.69) 48%,rgba(0,0,0,.91))!important;
}
.astera-split-signature .as-stage-overlay{
  background:linear-gradient(90deg,rgba(0,0,0,.16),rgba(0,0,0,.30) 52%,rgba(0,0,0,.62))!important;
}
.astera-split-signature .as-stage-vignette{box-shadow:inset 0 0 120px rgba(0,0,0,.42)}

/* Opening animation keeps the black Signature curtain, but the mark now carries
 * the couple initials. Transform/opacity only keeps it light on mobile GPUs. */
.ass-opening-curtain{position:absolute;inset:0;z-index:80;pointer-events:none;visibility:hidden;overflow:hidden}
.ass-curtain-panel{position:absolute;top:0;bottom:0;width:51%;background:#050505;will-change:transform}
.ass-curtain-panel.is-left{left:0;transform:translate3d(-102%,0,0)}
.ass-curtain-panel.is-right{right:0;transform:translate3d(102%,0,0)}
.ass-curtain-mark{position:absolute;left:50%;top:50%;z-index:2;display:flex;align-items:center;gap:.16em;transform:translate3d(-50%,-50%,0) scale(.88);opacity:0;color:#ead2b4;text-shadow:0 8px 30px rgba(0,0,0,.65);white-space:nowrap}
.ass-curtain-mark i{font:500 clamp(48px,18vw,86px)/1 var(--ass-script);font-style:normal}
.ass-curtain-mark b{font:400 clamp(15px,4.6vw,24px)/1 var(--ass-body);color:rgba(234,210,180,.72)}
.astera-split-signature.is-signature-opening .ass-opening-curtain{visibility:visible}
.astera-split-signature.is-signature-opening .ass-curtain-panel.is-left{animation:assCurtainLeft .92s cubic-bezier(.4,0,.2,1) both}
.astera-split-signature.is-signature-opening .ass-curtain-panel.is-right{animation:assCurtainRight .92s cubic-bezier(.4,0,.2,1) both}
.astera-split-signature.is-signature-opening .ass-curtain-mark{animation:assCurtainMark .92s ease both}
.astera-split-signature.is-signature-opening .as-cover-copy{animation:assCoverLift .42s ease both}
.astera-split-signature.is-signature-opening .as-recipient-card{animation:assRecipientLeave .36s ease both}
@keyframes assCurtainLeft{0%{transform:translate3d(-102%,0,0)}32%,56%{transform:translate3d(0,0,0)}100%{transform:translate3d(-105%,0,0)}}
@keyframes assCurtainRight{0%{transform:translate3d(102%,0,0)}32%,56%{transform:translate3d(0,0,0)}100%{transform:translate3d(105%,0,0)}}
@keyframes assCurtainMark{0%,24%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.88)}42%,60%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}84%,100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1.04)}}
@keyframes assCoverLift{0%{opacity:1;transform:translate3d(0,0,0)}100%{opacity:0;transform:translate3d(0,-18px,0)}}
@keyframes assRecipientLeave{0%{opacity:1;transform:translate3d(0,0,0)}100%{opacity:0;transform:translate3d(0,12px,0)}}

/* Stage 11CE17A — lightweight deck motion. The old clip-path + blur/filter +
 * background zoom pipeline was visually rich but expensive on mid-range phones.
 * This variant uses only compositor-friendly opacity and translate3d. */
.astera-split-signature .as-slide{will-change:opacity,transform!important}
.astera-split-signature .as-slide.is-entering{visibility:visible;z-index:4;animation-duration:.38s!important;animation-timing-function:cubic-bezier(.22,.72,.2,1)!important;animation-fill-mode:both!important}
.astera-split-signature .as-slide.is-entering[data-direction="next"]{animation-name:assSlideInNext!important}
.astera-split-signature .as-slide.is-entering[data-direction="prev"]{animation-name:assSlideInPrev!important}
.astera-split-signature .as-slide.is-leaving{visibility:visible;z-index:2;pointer-events:none;animation:assSlideOut .30s ease both!important}
.astera-split-signature .as-slide.is-entering .as-slide-background,
.astera-split-signature .as-slide.is-leaving .as-slide-background,
.astera-split-signature .as-slide[data-transition="zoom-in"].is-entering .as-slide-background,
.astera-split-signature .as-slide[data-transition="zoom-out"].is-entering .as-slide-background{animation:none!important;filter:none!important;opacity:1;transform:scale(1.04)!important}
.astera-split-signature .as-slide.is-entering .as-slide-content{animation:none!important}
@keyframes assSlideInNext{0%{opacity:0;transform:translate3d(0,24px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
@keyframes assSlideInPrev{0%{opacity:0;transform:translate3d(0,-24px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
@keyframes assSlideOut{0%{opacity:1;transform:translate3d(0,0,0)}100%{opacity:0;transform:translate3d(0,0,0)}}

/* Groom/Bride are intentionally separate slides. */
.astera-split-signature .ass-person-section{display:grid;gap:14px;min-width:0}
.astera-split-signature .ass-person-heading{margin-bottom:0}
.astera-split-signature .ass-person-card{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);min-height:270px;border:1px solid rgba(255,255,255,.18);border-radius:24px;overflow:hidden;background:rgba(5,5,5,.52);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 48px rgba(0,0,0,.25)}
.astera-split-signature .ass-person-photo{position:relative;margin:0;min-width:0;min-height:270px;overflow:hidden;background:#0a0908}
.astera-split-signature .ass-person-photo img{display:block;width:100%;height:100%;min-height:270px;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.astera-split-signature .as-slide.is-active .ass-person-photo img{transform:scale(1.035)}
.astera-split-signature .ass-person-photo figcaption{position:absolute;left:10px;bottom:10px;padding:5px 9px;border-radius:999px;background:rgba(0,0,0,.58);color:#f0d0a9;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.astera-split-signature .ass-person-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;align-items:flex-start;padding:18px;color:rgba(255,255,255,.78)}
.astera-split-signature .ass-person-copy>small{color:var(--ass-gold);font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.astera-split-signature .ass-person-copy h3{width:100%;margin:7px 0 11px;font-size:clamp(27px,7vw,40px);overflow-wrap:anywhere}
.astera-split-signature .ass-person-copy p{max-width:100%;margin:5px 0;font-size:11px;line-height:1.55;overflow-wrap:anywhere}
.astera-split-signature .ass-parentage span{display:block;color:rgba(255,255,255,.52);font-size:9px}
.astera-split-signature .ass-instagram{margin-top:8px;color:#f2c99a;font-size:10px}
.astera-split-signature .ass-person-section.is-bride .ass-person-card{grid-template-columns:minmax(0,58%) minmax(0,42%)}
.astera-split-signature .ass-person-section.is-bride .ass-person-photo{order:2}
.astera-split-signature .ass-person-section.is-bride .ass-person-copy{order:1;align-items:flex-end;text-align:right}
.astera-split-signature .ass-person-section.is-bride .ass-person-photo figcaption{left:auto;right:10px}

/* Story keeps one section/slide, but every card alternates its photo position. */
.astera-split-signature .as-story-list{gap:14px}
.astera-split-signature .as-story-card{grid-template-columns:minmax(104px,40%) minmax(0,60%);min-height:150px}
.astera-split-signature .as-story-card>img{min-height:150px;height:100%;object-fit:cover}
.astera-split-signature .as-story-card:nth-child(even){grid-template-columns:minmax(0,60%) minmax(104px,40%)}
.astera-split-signature .as-story-card:nth-child(even)>img{order:2}
.astera-split-signature .as-story-card:nth-child(even)>div{order:1;text-align:right}
.astera-split-signature .as-story-card:nth-child(even)>div span{display:block;text-align:right}

/* Gallery deliberately inherits official Astera Split Cinema geometry/viewer. */

@media (min-width:700px){
  .astera-split-signature .as-cover-copy h1{font-size:clamp(58px,8vw,86px)}
  .astera-split-signature .ass-person-card{grid-template-columns:minmax(0,45%) minmax(0,55%);min-height:320px}
  .astera-split-signature .ass-person-section.is-bride .ass-person-card{grid-template-columns:minmax(0,55%) minmax(0,45%)}
  .astera-split-signature .ass-person-photo,.astera-split-signature .ass-person-photo img{min-height:320px}
}
@media (min-width:1024px){
  .astera-split-signature .as-cover-copy h1{font-size:clamp(54px,4.5vw,76px)}
  .astera-split-signature .as-section-heading h2{font-size:clamp(38px,3.2vw,50px)}
  .astera-split-signature .ass-person-card{min-height:300px}
  .astera-split-signature .ass-person-photo,.astera-split-signature .ass-person-photo img{min-height:300px}
  .astera-split-signature .ass-person-copy h3{font-size:clamp(30px,2.4vw,38px)}
}
@media (max-width:380px){
  .astera-split-signature .ass-person-card{grid-template-columns:38% 62%;min-height:235px}
  .astera-split-signature .ass-person-section.is-bride .ass-person-card{grid-template-columns:62% 38%}
  .astera-split-signature .ass-person-photo,.astera-split-signature .ass-person-photo img{min-height:235px}
  .astera-split-signature .ass-person-copy{padding:13px}
  .astera-split-signature .ass-person-copy h3{font-size:clamp(23px,7vw,30px)}
  .astera-split-signature .as-story-card{grid-template-columns:98px minmax(0,1fr)}
  .astera-split-signature .as-story-card:nth-child(even){grid-template-columns:minmax(0,1fr) 98px}
}
@media (prefers-reduced-motion:reduce){
  .astera-split-signature .ass-curtain-panel,
  .astera-split-signature .ass-curtain-mark,
  .astera-split-signature .as-slide.is-entering,
  .astera-split-signature .as-slide.is-leaving,
  .astera-split-signature .as-slide.is-entering .as-slide-background,
  .astera-split-signature .as-slide.is-entering .as-slide-content{animation-duration:.01ms!important;animation-delay:0ms!important}
}
