/* Stage 11CE15W — Astera Maison Motion variant */
:root{
  --am-espresso:#241c1b;
  --am-burgundy:#542a32;
  --am-champagne:#c9ae82;
  --am-ivory:#f4efe7;
  --am-soft:#fff9f3;
  --am-panel:rgba(34,25,24,.64);
  --am-line:rgba(244,239,231,.26);
}

.astera-maison-motion{
  background:var(--am-espresso);
  color:var(--am-soft);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.astera-maison-motion .as-deck-shell{background:var(--am-espresso)}
.astera-maison-motion .as-slide{background:#211817}
.astera-maison-motion .as-slide-overlay{
  background:linear-gradient(180deg,rgba(41,27,28,.28),rgba(37,25,26,.52) 48%,rgba(24,17,17,.86));
}
.astera-maison-motion .as-slide-vignette{box-shadow:inset 0 0 130px rgba(34,17,19,.27)}
.astera-maison-motion .as-slide.is-dark-fallback .as-slide-background{
  background:radial-gradient(circle at 22% 16%,#6a4546 0,#382829 38%,#1d1616 72%,#120e0e 100%);
}
.astera-maison-motion .as-cover-copy h1,
.astera-maison-motion .as-closing h2,
.astera-maison-motion .as-section-heading h2,
.astera-maison-motion .am-person-heading h2,
.astera-maison-motion .am-person-copy h3,
.astera-maison-motion .am-story-copy h3{
  font-family:"Baskerville","Palatino Linotype",Palatino,Georgia,serif!important;
  font-weight:400!important;
}
.astera-maison-motion .as-cover-copy h1,
.astera-maison-motion .as-closing h2{
  font-style:normal;
  letter-spacing:-.055em;
}
.astera-maison-motion .as-cover-date,
.astera-maison-motion .as-section-heading>span,
.astera-maison-motion .as-event-card>span,
.astera-maison-motion .as-story-card span,
.astera-maison-motion .as-deck-nav strong{
  color:var(--am-champagne)!important;
}
.astera-maison-motion .as-primary-button,
.astera-maison-motion .as-outline-button,
.astera-maison-motion .as-actions a,
.astera-maison-motion .as-copy-button{
  background:linear-gradient(135deg,rgba(112,55,63,.9),rgba(91,44,50,.72));
  border-color:rgba(244,239,231,.32);
  color:var(--am-soft);
}
.astera-maison-motion .as-glass-card,
.astera-maison-motion .as-recipient-card{
  background:rgba(44,30,30,.64);
  border-color:var(--am-line);
}
.astera-maison-motion .as-deck-nav{
  background:rgba(54,34,35,.42);
  border-color:rgba(244,239,231,.18);
}
.astera-maison-motion .as-progress span,
.astera-maison-motion .as-stage-progress span{background:var(--am-champagne)}
.astera-maison-motion .as-music-button.is-playing{background:var(--am-burgundy)}
.astera-maison-motion .as-slide-swipe-guide{color:rgba(255,249,243,.75)}

/* Desktop stage receives a warmer editorial treatment. */
.astera-maison-motion .as-stage-fallback{
  background:radial-gradient(circle at 25% 24%,#785254 0,#3c292b 40%,#1d1515 100%);
}
.astera-maison-motion .as-stage-overlay{
  background:linear-gradient(90deg,rgba(53,31,34,.18),rgba(57,34,36,.06) 54%,rgba(33,24,24,.45));
}
.astera-maison-motion .as-stage-brand strong{
  color:var(--am-ivory);
  font-family:"Baskerville","Palatino Linotype",Palatino,Georgia,serif;
  font-style:normal;
  letter-spacing:-.055em;
}
.astera-maison-motion .as-stage-brand:before{
  content:"MAISON · EDITION";
  width:max-content;
  margin-bottom:8px;
  padding-bottom:7px;
  border-bottom:1px solid rgba(244,239,231,.45);
  font-size:9px;
  letter-spacing:.32em;
  color:var(--am-champagne);
}

/* Separate Groom / Bride full slides. */
/* Stage 11CE15X — Groom/Bride portrait contract: sharp rectangular frame, no rounded shape. */
.astera-maison-motion .as-slide[data-slide-key="person"] .as-slide-content{
  justify-content:center;
  padding-top:58px;
  padding-bottom:82px;
}
.am-person-slide{display:grid;gap:14px;min-height:0;width:100%}
.am-person-heading{display:grid;gap:3px;position:relative;z-index:2}
.am-person-heading>span,
.am-person-heading>p,
.am-person-copy>small{
  margin:0;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:9px;
  color:var(--am-champagne)!important;
}
.am-person-heading h2{
  margin:0;
  font-size:clamp(36px,11vw,56px);
  line-height:.92;
  letter-spacing:-.055em;
  color:var(--am-soft);
  text-wrap:balance;
  overflow-wrap:anywhere;
}
.am-person-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  min-width:0;
}
.am-person-portrait{
  position:relative;
  margin:0;
  width:min(100%,420px);
  justify-self:start;
  min-height:0;
  aspect-ratio:4/5;
  border-radius:0;
  overflow:hidden;
  border:1px solid rgba(244,239,231,.38);
  background:#261b1c;
  box-shadow:0 28px 70px rgba(17,9,10,.32);
}
.am-person-slide.is-bride .am-person-portrait{
  justify-self:end;
  border-radius:0;
}
.am-person-portrait img{display:block;width:100%;height:100%;object-fit:cover}
.am-person-portrait figcaption{
  position:absolute;
  left:12px;
  bottom:12px;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(39,25,26,.52);
  backdrop-filter:blur(8px);
  border-radius:999px;
  font-size:8px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.am-person-copy{
  display:grid;
  gap:7px;
  min-width:0;
  padding:2px 2px 0;
}
.am-person-slide.is-bride .am-person-copy{text-align:right;justify-items:end}
.am-person-copy h3{
  width:100%;
  margin:0;
  font-size:clamp(27px,8vw,42px)!important;
  line-height:.96!important;
  letter-spacing:-.045em!important;
  color:var(--am-soft)!important;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
.am-person-copy p{margin:0;max-width:34rem;font-size:11px;line-height:1.55;color:rgba(255,249,243,.78)!important}
.am-parentage span{display:block;margin-bottom:3px;font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,249,243,.52)}
.am-instagram{font-size:10px;text-decoration:none;color:var(--am-champagne)!important}

/* Nested horizontal sections own horizontal axis only. */
.am-horizontal-section{
  position:absolute;
  inset:0;
  z-index:2;
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.am-overlay-heading{
  position:absolute;
  z-index:5;
  top:66px;
  left:22px;
  right:22px;
  pointer-events:none;
}
.am-overlay-heading h2{text-shadow:0 3px 22px rgba(0,0,0,.62)!important}
.am-horizontal-guide{
  position:absolute;
  z-index:7;
  left:50%;
  bottom:48px;
  display:flex;
  align-items:center;
  gap:9px;
  transform:translateX(-50%);
  pointer-events:none;
  color:rgba(255,249,243,.78);
  text-shadow:0 2px 12px rgba(0,0,0,.66);
}
.am-horizontal-guide small{font-size:8px;letter-spacing:.18em;white-space:nowrap}
.am-horizontal-guide span{font:400 16px/1 Georgia,serif;color:var(--am-champagne)}

/* Story: one full viewport chapter per item, swipe left/right. */
.am-story-viewport{position:absolute;inset:0;overflow:hidden;touch-action:pan-y;cursor:grab}
.am-story-viewport:active{cursor:grabbing}
.am-story-track{
  display:flex;
  width:100%;
  height:100%;
  transform:translate3d(0,0,0);
  transition:transform .58s cubic-bezier(.22,.78,.2,1);
  will-change:transform;
}
.am-story-chapter{position:relative;flex:0 0 100%;width:100%;height:100%;overflow:hidden;background:#251b1c}
.am-story-photo{position:absolute;inset:-2%;background:#302124;overflow:hidden;transform:scale(1.035);will-change:transform}
.am-story-photo img{display:block;width:100%;height:100%;object-fit:cover}
.am-story-chapter.is-active .am-story-photo{animation:amStoryImageIn 5.8s ease-out both}
.am-story-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,17,18,.18),rgba(31,19,21,.48) 48%,rgba(24,16,17,.91))}
.am-story-copy{
  position:absolute;
  z-index:3;
  left:22px;
  right:22px;
  bottom:84px;
  max-height:40dvh;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  display:grid;
  gap:6px;
  padding-right:4px;
}
.am-story-copy>span{font-size:9px;letter-spacing:.2em;color:var(--am-champagne)}
.am-story-copy>small{text-transform:uppercase;letter-spacing:.16em;font-size:8px;color:rgba(255,249,243,.68)!important}
.am-story-copy h3{margin:0;font-size:clamp(34px,10vw,54px);line-height:.92;letter-spacing:-.055em;text-wrap:balance}
.am-story-copy p{margin:0;max-width:34rem;font-size:12px;line-height:1.55;color:rgba(255,249,243,.86)!important}
.am-story-counter{position:absolute;z-index:7;right:20px;bottom:50px;font-size:9px;letter-spacing:.12em;color:rgba(255,249,243,.65)}
.am-story-counter strong{color:var(--am-champagne)!important}

/* Gallery: continuous left motion while still being a real swipeable rail. */
.am-gallery-viewport{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y;
  padding:138px 0 96px;
}
.am-gallery-viewport::-webkit-scrollbar{display:none}
.am-gallery-track{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:12px;
  padding:0 12px;
}
.am-gallery-card{
  position:relative;
  flex:0 0 clamp(220px,72vw,315px);
  height:min(54dvh,520px);
  padding:0;
  overflow:hidden;
  border:1px solid rgba(244,239,231,.3);
  border-radius:8px 86px 8px 8px;
  background:#251a1c;
  box-shadow:0 26px 70px rgba(14,7,8,.28);
  cursor:pointer;
}
.am-gallery-card:nth-child(even){height:min(46dvh,450px);border-radius:78px 8px 8px 8px}
.am-gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.am-gallery-card:active img{transform:scale(1.025)}
.am-gallery-card>span{
  position:absolute;
  right:10px;
  bottom:10px;
  min-width:30px;
  padding:5px 7px;
  border-radius:999px;
  background:rgba(33,22,23,.58);
  backdrop-filter:blur(7px);
  color:var(--am-soft);
  font-size:8px;
  letter-spacing:.15em;
}

/* Suppress the main vertical hint on horizontal sections; their own hint wins. */
.astera-maison-motion .as-slide[data-slide-key="story"]>.as-slide-swipe-guide,
.astera-maison-motion .as-slide[data-slide-key="gallery"]>.as-slide-swipe-guide{opacity:.34;left:auto;right:14px;transform:none}

@keyframes amStoryImageIn{from{transform:scale(1.09);filter:blur(3px)}to{transform:scale(1.035);filter:blur(0)}}

@media (max-height:680px){
  .am-overlay-heading{top:54px}
  .am-person-portrait{max-height:42dvh;width:auto}
  .am-person-layout{grid-template-columns:minmax(0,46%) minmax(0,54%);align-items:center}
  .am-person-slide.is-bride .am-person-portrait{order:2}
  .am-person-slide.is-bride .am-person-copy{order:1}
  .am-gallery-viewport{padding-top:116px;padding-bottom:86px}
  .am-story-copy{max-height:36dvh;bottom:72px}
}

@media (min-width:700px){
  .am-person-layout{grid-template-columns:minmax(0,54%) minmax(0,46%);align-items:center;gap:24px}
  .am-person-slide.is-bride .am-person-portrait{order:2}
  .am-person-slide.is-bride .am-person-copy{order:1}
  .am-person-portrait{width:100%;max-width:470px}
  .am-gallery-card{flex-basis:300px}
  .am-overlay-heading{left:40px;right:40px}
  .am-story-copy{left:40px;right:40px}
}

@media (min-width:1024px){
  .astera-maison-motion{grid-template-columns:minmax(0,1fr) clamp(390px,35vw,480px)}
  .astera-maison-motion .as-stage-brand:after{
    content:"EDITORIAL MOTION";
    margin-top:6px;
    font-size:8px;
    letter-spacing:.24em;
    color:rgba(244,239,231,.58);
  }
  .am-person-layout{grid-template-columns:minmax(0,52%) minmax(0,48%);gap:18px}
  .am-person-heading h2{font-size:44px}
  .am-person-copy h3{font-size:32px!important}
  .am-overlay-heading{left:28px;right:28px}
  .am-story-copy{left:28px;right:28px}
  .am-gallery-card{flex-basis:280px;height:min(55dvh,530px)}
}

@media (prefers-reduced-motion:reduce){
  .am-story-track{transition:none!important}
  .am-story-chapter.is-active .am-story-photo{animation:none!important}
}
