/* Aqsyah & Dewi — langit biru, kartu putih, aksen emas. */
:root {
  --c-ivory:#edf7ff; --c-cream:#e5f3fc; --c-champagne:#daedfa;
  --c-linen:#e4f1fb; --c-print:#fff; --c-ink:#173c57;
  --c-ink-soft:#375a73; --c-clay:#285c80; --c-brass:#a88846;
  --c-night:#deeffa; --c-night-2:#e5f3fc; --c-on-night:#173c57;
  --c-on-night-soft:#375a73; --c-lantern:#285c80;
  --c-hair:rgba(35,83,116,.16); --c-hair-strong:rgba(35,83,116,.3);
  --c-hair-night:rgba(35,83,116,.24); --paper:none;
}
.cover {
  background:linear-gradient(180deg,#e5f3fc 42svh,#e5f3fc 53%,#cce8fa 100%);
  color:var(--c-ink); overflow-y:auto;
}
/* Blend the artwork into the sky-blue surface without tinting the faces. */
.cover__shade {
  display:block; pointer-events:none; bottom:auto;
  height:max(42svh,230px);
  background:linear-gradient(180deg,rgba(229,243,252,0) 50%,rgba(229,243,252,.12) 65%,rgba(229,243,252,.68) 86%,#e5f3fc 100%);
}
.stage__shade {
  display:block; pointer-events:none;
  background:linear-gradient(0deg,rgba(207,233,250,.92) 0%,rgba(222,239,250,.38) 17%,rgba(229,243,252,0) 40%);
}
.cover__names,.cover__to,.cover__date,.cover__name,.cover__note { color:var(--c-ink); }
.btn { border-radius:8px; letter-spacing:.12em; white-space:normal; line-height:1.5; padding-block:.85rem; }
.btn--solid,.cover .btn--lantern { background:#215579; color:white; border-color:#215579; }
.btn--solid:hover,.cover .btn--lantern:hover { background:#173c57; color:white; }
.btn:disabled { opacity:.65; cursor:not-allowed; }
.event-card,.event-card--alt,.form,.savedate { background:#fff; border:1px solid #c9dfef; border-radius:20px; box-shadow:0 8px 30px #173c5708; }
.form { padding:1.5rem; }
.savedate { padding:2rem 1.25rem; }
.field__input,.choice__box { background:#f7fbff; }
.dock { background:rgba(255,255,255,.96); }
.music { background:#fff; color:#215579; border-color:#accde5; }
.person__figure .pic { background:#edf7ff; }
.person__figure img { object-fit:contain; }
.family-inviters { padding-top:3rem; }
.family-inviters h3 { font-family:var(--f-display); font-weight:400; font-size:1.35rem; margin-bottom:1.5rem; }
.family-inviters p { white-space:pre-line; margin:1.3rem 0; line-height:1.7; }
.closing__figure .pic { aspect-ratio:2 / 3; max-height:none; }
.closing__figure img { object-fit:contain; }
.closing__figure::after { display:none; }
.closing__body { margin-top:0; padding-top:3rem; }
.stage__slot .pic { background:#d8ecfa; }
.stage__slot .pic img { object-fit:contain; transform:none; }
.stage__caption { background:#fffffff2; border:1px solid #c9dfef; padding:1.3rem 2rem; border-radius:14px; bottom:1.25rem; }
.stage__names { font-size:clamp(2rem,3.8vw,4rem); }
.stage__date { margin-top:.8rem; }
@media(max-width:1023px) {
 .cover__media { position:relative; inset:auto; height:42svh; min-height:230px; }
 .cover__media .pic { background:#ddecf8; }
 .cover__media img { object-fit:contain; transform:none; }
 .cover__content { height:auto; overflow:visible; padding:1.2rem 1.5rem 1.4rem; gap:1.25rem; }
 .cover__names { font-size:clamp(2.2rem,10vw,3.2rem); }
 .cover__names > span:first-child { display:inline; }
 .cover__top .eyebrow { margin-bottom:.65rem; font-size:.63rem; }
 .cover__date { margin-top:.85rem; }
 .cover__name { font-size:1.3rem; margin:.5rem auto .9rem; }
 .cover__note { margin-top:.7rem; }
 .hero__media {
   height:57svh; min-height:280px;
   -webkit-mask-image:linear-gradient(180deg,#000 66%,rgba(0,0,0,.85) 76%,rgba(0,0,0,.3) 90%,transparent 100%);
   mask-image:linear-gradient(180deg,#000 66%,rgba(0,0,0,.85) 76%,rgba(0,0,0,.3) 90%,transparent 100%);
 }
 .hero__media img { object-fit:contain; transform:none; }
 .hero__content { margin-top:-2.25rem; padding-top:0; }
 .hero__names { font-size:clamp(3rem,14vw,4.4rem); }
}
@media(min-width:1024px) {
 .cover { background:linear-gradient(145deg,#f5fbff 0%,#e5f3fc 45%,#c7e5f8 100%); }
 .cover__shade { display:none; }
 .cover__content { gap:4rem; }
 .cover__names { font-size:4rem; }
}
@media(max-height:600px) and (max-width:1023px) {
 .cover__media,.cover__shade { height:240px; }
}

/* Text-only love story: keep full-width chapters at every breakpoint. */
#story .chapter { grid-template-columns:minmax(0,1fr); gap:0; }
#story .chapter__body { min-width:0; }
#story .chapter__text p { font-family:var(--f-sans); font-size:1rem; line-height:1.85; }
#story .chapter__text p:first-child::first-letter { float:none; font:inherit; margin:0; color:inherit; }
