
.sl { font-family: Manrope, sans-serif; }
.sl-display { font-family: Gowun Batang, serif; }
body { background: #fbf7f5; }
.sl { --paper:#fbf7f5; --ink:#2b2b33; --peach:#e4a7ae; --blue:#7d9db3; --mint:#a8c3b0; --line:#e7dfdb;
  background: var(--paper); color: var(--ink); min-height: 100vh; }
.sl-wrap { max-width: 900px; margin: 0 auto; padding: 0 1.6rem; }
.sl-hero { padding: 5.5rem 0 4rem; }
.sl-marks { display: flex; gap: 0.4rem; }
.sl-mark { width: 26px; height: 3px; border-radius: 2px; }
.sl-datelock { font-size: clamp(2.6rem, 8vw, 4.2rem); line-height: 1; letter-spacing: 0.06em; margin-top: 1.6rem; }
.sl-datelock small { font-size: 0.24em; letter-spacing: 0.32em; color: var(--blue); display: block; margin-bottom: 0.9rem; }
.sl-names { margin-top: 2.4rem; font-size: 1.5rem; letter-spacing: 0.12em; }
.sl-names span { color: var(--peach); }
.sl-place { margin-top: 0.8rem; font-size: 0.86rem; letter-spacing: 0.06em; color: rgba(43,43,51,0.6); line-height: 1.9; }
.sl-photo { position: relative; aspect-ratio: 3 / 2; margin-top: 3rem; border-radius: 20px; overflow: hidden; }
.sl-section { padding: 4rem 0; border-top: 1px solid var(--line); }
.sl-eyebrow { font-size: 0.68rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--blue); }
.sl-h2 { font-size: clamp(1.6rem, 3.4vw, 2.2rem); margin-top: 0.8rem; letter-spacing: 0.03em; }
.sl-p { font-size: 0.96rem; line-height: 2.05; color: rgba(43,43,51,0.78); max-width: 58ch; margin-top: 1.3rem; font-weight: 300; }
.sl-cards { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); margin-top: 2.4rem; }
.sl-card { border-radius: 18px; padding: 1.8rem 1.5rem; }
.sl-cardtime { font-size: 0.7rem; letter-spacing: 0.22em; opacity: 0.7; }
.sl-cardh { font-size: 1.3rem; margin: 0.7rem 0 0.55rem; }
.sl-cardp { font-size: 0.87rem; line-height: 1.85; opacity: 0.82; font-weight: 300; }
.sl-info { display: grid; gap: 0; margin-top: 2rem; }
.sl-inforow { display: grid; grid-template-columns: 130px 1fr; gap: 1.4rem; padding: 1.2rem 0; border-bottom: 1px solid var(--line); align-items: start; }
.sl-infokey { font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--blue); padding-top: 0.2rem; }
.sl-infoval { font-size: 0.92rem; line-height: 1.9; color: rgba(43,43,51,0.8); font-weight: 300; }
.sl-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.7rem; margin-top: 2.2rem; }
@media (max-width: 700px) { .sl-strip { grid-template-columns: 1fr 1fr; } }
.sl-strip figure { position: relative; aspect-ratio: 1; margin: 0; border-radius: 14px; overflow: hidden; }
.sl-cta { text-align: center; padding: 5rem 0 5.5rem; border-top: 1px solid var(--line); }
.sl-btn { display: inline-block; margin-top: 1.8rem; padding: 1rem 3rem; border-radius: 99px; background: var(--peach);
  color: #4a2229; text-decoration: none; font-size: 0.74rem; letter-spacing: 0.22em; text-transform: uppercase; }
.sl-foot { text-align: center; padding: 2.4rem 0 3.4rem; font-size: 0.72rem; letter-spacing: 0.24em; color: rgba(43,43,51,0.45); }

