/* Samisha Invitation — scoped under .samisha */

.samisha{
  --paper:#FFFDF8;
  --gold:#A8801F;
  --gold-light:#D4B55A;
  --line:#E4D8B8;
  --rose:#B5134F;
  --leaf:#2F5D3A;
  --leaf-soft:#4F7A4A;
  --blush:#F7DCE3;
  background:var(--paper);
  color:var(--gold);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:400;
  font-size:22px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-align:center;
  max-width:720px;
  margin:0 auto;
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
  box-sizing:border-box;
}
.samisha *{box-sizing:border-box;margin:0;padding:0}
.samisha a{color:inherit;text-decoration:none;box-shadow:none}
.samisha a:focus-visible,.samisha button:focus-visible{outline:1px solid var(--gold);outline-offset:6px}
.samisha .sm-label{font-size:.78rem;letter-spacing:.3em;font-weight:500;color:var(--leaf-soft)}

/* header bar */
.samisha .sm-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 28px;border-bottom:1px solid var(--line);
}
.samisha .sm-mark{font-size:1.5rem;letter-spacing:.2em;color:var(--leaf);font-weight:500}
.samisha .sm-mark span{color:var(--rose)}

/* section rule with name on it */
.samisha .sm-section{
  position:relative;display:flex;align-items:center;gap:18px;
  padding:0 28px;margin:0;
}
.samisha .sm-section::before,.samisha .sm-section::after{content:"";flex:1;height:1px;background:var(--line)}
.samisha .sm-section b{font-weight:500;font-size:.78rem;letter-spacing:.3em;color:var(--leaf-soft);white-space:nowrap}
.samisha .sm-section i{width:6px;height:6px;background:var(--rose);transform:rotate(45deg);flex:none}

.samisha .sm-block{padding:clamp(40px,6vh,60px) 28px}
.samisha .sm-block-days{padding:0}
.samisha .sm-days{border-top:0}

/* opening */
.samisha .sm-blessing{font-size:1.45rem;letter-spacing:.04em;margin-top:.9rem}
.samisha .sm-names{
  font-family:inherit;font-weight:500;color:var(--leaf);
  font-size:clamp(4.2rem,14vw,6.8rem);line-height:.98;margin-top:1rem;letter-spacing:.02em;
}
.samisha .sm-amp{display:block;font-size:.42em;line-height:1.6;color:var(--rose)}
.samisha .sm-invite{font-size:1.45rem;line-height:1.45;max-width:30rem;margin:1.9rem auto 0}
.samisha .sm-date{margin-top:1.7rem;font-size:1rem;letter-spacing:.3em;font-weight:500;color:var(--rose)}
.samisha .sm-jump{display:inline-block;margin-top:1.6rem;font-size:.82rem;letter-spacing:.26em;font-weight:500;padding-bottom:.3rem;border-bottom:1px solid var(--gold-light)}

/* film */
.samisha .sm-film{width:min(100%,400px);margin:0 auto}
.samisha .sm-arch{
  position:relative;aspect-ratio:9/16;
  border-radius:200px 200px 24px 24px;overflow:hidden;background:#F8F3E8;
}
.samisha .sm-arch::before{
  content:"";position:absolute;inset:0;border:1.5px solid var(--gold);
  border-radius:200px 200px 24px 24px;pointer-events:none;z-index:2;
}
.samisha .sm-arch video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.samisha .sm-play{
  position:absolute;inset:0;z-index:3;width:100%;height:100%;
  border:0;background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.samisha .sm-play span{
  width:92px;height:92px;border-radius:50%;box-shadow:0 14px 30px -10px var(--rose);
  display:flex;align-items:center;justify-content:center;
  background:var(--rose);border:1px solid var(--rose);color:var(--paper);transition:transform .25s;
}
.samisha .sm-play:hover span{transform:scale(1.06)}
.samisha .sm-play svg{width:28px;height:28px;margin-left:4px}
.samisha .sm-arch.playing .sm-play{display:none}
.samisha .sm-film-note{margin-top:1.4rem;font-size:1.45rem;color:var(--leaf)}
.samisha .sm-film-sub{margin-top:.3rem;font-size:.95rem;letter-spacing:.08em;color:var(--gold)}

/* days */
.samisha .sm-days{
  display:grid;grid-template-columns:1fr 1fr;
}
.samisha .sm-day{padding:44px 24px 40px}
.samisha .sm-day+.sm-day{border-left:1px solid var(--line)}
.samisha .sm-day-num{font-weight:400;font-size:4.4rem;line-height:1;color:var(--rose)}
.samisha .sm-day-lbl{font-size:.78rem;letter-spacing:.26em;margin-top:.4rem;color:var(--leaf-soft);font-weight:500;white-space:nowrap}
.samisha .sm-day ul{list-style:none;margin:1.4rem 0 0;padding:0}
.samisha .sm-day li{font-size:1.5rem;line-height:1.25;padding:.5rem 0;color:var(--leaf);font-weight:500}
.samisha .sm-day li small{display:block;font-size:1rem;letter-spacing:.08em;color:var(--gold);margin-top:.15rem;font-weight:400}

/* venue */
.samisha .sm-venue{font-size:2.1rem;line-height:1.2;font-weight:500;color:var(--leaf);margin-top:.9rem}
.samisha .sm-venue small{display:block;font-size:1.05rem;letter-spacing:.06em;margin-top:.6rem;color:var(--gold);font-weight:400;line-height:1.5}
.samisha .sm-qr{
  width:176px;height:176px;margin:1.8rem auto 0;padding:18px;
  background:var(--blush);border:1px solid var(--gold-light);display:block;
}
.samisha .sm-qr img{width:100%;height:100%;display:block;border:0;box-shadow:none}
.samisha .sm-qr-note{margin-top:.9rem;font-size:.78rem;letter-spacing:.3em;color:var(--rose);font-weight:500}
.samisha .sm-maps{
  display:inline-block;margin-top:1.3rem;padding:.75rem 1.6rem;
  background:var(--rose);color:var(--paper);font-size:.82rem;letter-spacing:.26em;font-weight:500;
  transition:opacity .2s;
}
.samisha .sm-maps:hover{opacity:.9}
.samisha .sm-closing{margin-top:1.8rem;font-size:1.45rem}

/* sign-off + footer */
.samisha .sm-signoff{font-size:1.45rem;margin-top:.9rem}
.samisha .sm-hosts{margin-top:.5rem;font-size:1.35rem;letter-spacing:.05em;color:var(--leaf);font-weight:500}
.samisha .sm-tel{margin-top:.9rem;font-size:1.05rem;letter-spacing:.16em;color:var(--rose);font-weight:500}
.samisha .sm-tel a{margin:0 .7rem}
.samisha .sm-foot{
  border-top:1px solid var(--line);padding:18px 28px;
  display:flex;justify-content:space-between;align-items:center;
}
.samisha .sm-foot .sm-hashtag{font-size:.78rem;letter-spacing:.34em;color:var(--rose);font-weight:500}

/* one page-load moment */
.samisha>*{opacity:0;animation:sm-rise 1s cubic-bezier(.2,.7,.2,1) forwards}
.samisha>*:nth-child(1){animation-delay:.05s}
.samisha>*:nth-child(2){animation-delay:.15s}
.samisha>*:nth-child(3){animation-delay:.3s}
.samisha>*:nth-child(4){animation-delay:.4s}
.samisha>*:nth-child(n+5){animation-delay:.5s}
@keyframes sm-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.samisha>*{animation:none;opacity:1}}

@media (max-width:720px){
  .samisha{border-left:0;border-right:0;font-size:20px}
}
@media (max-width:480px){
  .samisha .sm-head,.samisha .sm-foot{padding:14px 18px}
  .samisha .sm-head .sm-label,.samisha .sm-foot .sm-label{display:none}
  .samisha .sm-head,.samisha .sm-foot{justify-content:center}
  .samisha .sm-block{padding:36px 20px}
  .samisha .sm-section{padding:0 20px}
  .samisha .sm-days{grid-template-columns:1fr}
  .samisha .sm-day+.sm-day{border-left:0;border-top:1px solid var(--line)}
  .samisha .sm-date{font-size:.85rem;letter-spacing:.14em;white-space:nowrap}
  .samisha .sm-hosts{font-size:1.15rem;letter-spacing:.02em}
}
