:root {
  --madim-ink: #f5f2ea;
  --madim-gold: #c4a675;
  --madim-black: #080909;
}

body.madim-landing-page {
  margin: 0;
  background: var(--madim-black);
  color: var(--madim-ink);
  font-family: "Noto Sans KR", "Pretendard", Arial, sans-serif;
}

body.madim-landing-page * { box-sizing: border-box; }
body.madim-landing-page button,
body.madim-landing-page a { color: inherit; font: inherit; }
body.madim-landing-page button { cursor: pointer; }

.madim-landing { min-height: 100vh; background: #090a0a; }
.madim-topbar { position: absolute; z-index: 20; inset: 0 0 auto; height: 104px; display: flex; align-items: center; justify-content: space-between; padding: 0 5.2vw; border-bottom: 1px solid rgba(255,255,255,.14); }
.madim-brand { display: inline-flex; align-items: center; text-decoration: none; }
.madim-brand-symbol { display: block; width: 42px; height: 42px; object-fit: contain; opacity: .92; }
.madim-consult { border: 1px solid rgba(255,255,255,.55); padding: 12px 24px; text-decoration: none; font-size: 13px; letter-spacing: .06em; transition: .25s; }
.madim-consult:hover { background: #f2eee5; color: #111; }

.madim-slider { position: relative; height: 100svh; min-height: 650px; overflow: hidden; background: #080909; }
.madim-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1.15s ease, visibility 1.15s; }
.madim-slide.is-active { opacity: 1; visibility: visible; z-index: 2; }
.madim-slide-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.62) contrast(1.05) brightness(.7); transform: scale(1.035); transition: transform 8s ease; }
.madim-slide.is-active .madim-slide-image { transform: scale(1); }
.madim-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,6,6,.93) 0%, rgba(5,6,6,.68) 37%, rgba(5,6,6,.15) 70%, rgba(5,6,6,.36) 100%), linear-gradient(0deg, rgba(0,0,0,.62), transparent 42%); }
.madim-slide-copy { position: absolute; z-index: 3; left: 10.5vw; top: 50%; width: min(690px, 72vw); transform: translateY(-43%); }
.madim-eyebrow { display: flex; align-items: center; gap: 16px; color: #d4bb91; font-size: 13px; font-weight: 600; letter-spacing: .22em; margin: 0 0 28px; }
.madim-eyebrow span { width: 38px; height: 1px; background: var(--madim-gold); }
.madim-slide h1 { margin: 0; max-width: 680px; color: var(--madim-ink); font-family: "Noto Serif KR", "Nanum Myeongjo", Georgia, serif; font-size: clamp(44px, 5.2vw, 78px); font-weight: 500; line-height: 1.25; letter-spacing: -.055em; word-break: keep-all; overflow-wrap: normal; text-wrap: balance; text-shadow: 0 3px 22px rgba(0,0,0,.25); }
.madim-description { max-width: 510px; margin: 28px 0 0; color: rgba(255,255,255,.72); font-size: clamp(14px, 1.12vw, 17px); line-height: 1.8; word-break: keep-all; }
.madim-more { display: inline-flex; gap: 36px; align-items: center; margin-top: 39px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.55); text-decoration: none; font-size: 13px; letter-spacing: .04em; }
.madim-more span { color: var(--madim-gold); font-size: 17px; transition: transform .25s; }
.madim-more:hover span { transform: translate(3px,-3px); }

.madim-controls { position: absolute; z-index: 10; right: 5.2vw; bottom: 51px; display: flex; gap: 24px; align-items: center; }
.madim-controls > button { width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(5,5,5,.15); font-size: 17px; transition: .25s; }
.madim-controls > button:hover { border-color: var(--madim-gold); color: var(--madim-gold); }
.madim-dots { display: flex; gap: 10px; }
.madim-dots button { width: 28px; height: 2px; border: 0; padding: 0; background: rgba(255,255,255,.3); transition: .35s; }
.madim-dots button.is-active { width: 56px; background: var(--madim-gold); }
.madim-counter { position: absolute; z-index: 10; left: 5.2vw; bottom: 49px; display: flex; align-items: center; gap: 12px; margin: 0; color: rgba(255,255,255,.43); font: 12px Arial, sans-serif; }
.madim-counter strong { color: white; font-size: 17px; font-weight: 400; }
.madim-counter span { width: 34px; height: 1px; background: rgba(255,255,255,.35); }
.madim-scroll { position: absolute; z-index: 10; left: 50%; bottom: 45px; transform: translateX(-50%); margin: 0; font: 9px Arial, sans-serif; letter-spacing: .22em; color: rgba(255,255,255,.48); }
.madim-scroll span { margin-left: 12px; color: var(--madim-gold); font-size: 14px; }
.madim-afterword { min-height: 42vh; display: grid; place-items: center; padding: 60px 24px; color: #e9e2d6; background: #0b0c0c; font-family: Georgia, "Noto Serif KR", serif; font-size: clamp(25px, 3vw, 43px); text-align: center; }

@media (max-width: 720px) {
  .madim-topbar { height: 78px; padding: 0 22px; }
  .madim-brand-symbol { width: 36px; height: 36px; }
  .madim-consult { padding: 9px 14px; }
  .madim-slide-copy { left: 24px; right: 24px; top: 48%; width: auto; transform: translateY(-42%); }
  .madim-shade { background: linear-gradient(90deg, rgba(4,5,5,.87), rgba(4,5,5,.28)), linear-gradient(0deg, rgba(0,0,0,.78), transparent 56%); }
  .madim-eyebrow { margin-bottom: 21px; }
  .madim-slide h1 { font-size: clamp(39px, 12vw, 56px); }
  .madim-description { margin-top: 20px; }
  .madim-more { margin-top: 28px; }
  .madim-controls { right: 22px; bottom: 28px; gap: 12px; }
  .madim-controls > button { display: none; }
  .madim-counter { left: 22px; bottom: 28px; }
  .madim-scroll { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .madim-slide, .madim-slide-image { transition: none; }
}
