.lottol-home {
  --home-green: #7e9f63;
  --home-forest: #3d4f42;
  --home-ecru: #f7f4ee;
  --home-line: #d9ded4;
  --home-serif: Georgia, "Times New Roman", serif;
  --home-sans: "Malgun Gothic", "Apple SD Gothic Neo", Arial, sans-serif;
  overflow: hidden;
  background: #f8f9f5;
  color: var(--home-forest);
  font-family: var(--home-sans);
  line-height: 1.8;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.lottol-home *, .lottol-home *::before, .lottol-home *::after { box-sizing: border-box; }
.lottol-home h1, .lottol-home h2, .lottol-home h3, .lottol-home p, .lottol-home figure { margin: 0; }
.lottol-home img { display: block; max-width: 100%; height: auto; }
.lottol-home a { color: inherit; text-decoration: none; }
.lottol-home a:focus-visible { outline: 2px solid var(--home-forest); outline-offset: 5px; }
.lottol-home__anchor { position: absolute; top: 0; }

.lottol-home .editorial-wrap {
  width: min(1200px, calc(100% - 96px));
  margin-right: auto;
  margin-left: auto;
}

.lottol-home .section-space { padding-top: 100px; padding-bottom: 100px; }
.lottol-home .editorial-label { display: block; font-size: 12px; line-height: 1.6; letter-spacing: .16em; }
.lottol-home .body-copy { color: #5f6c60; font-size: 16px; line-height: 1.95; }
.lottol-home .body-copy + .body-copy { margin-top: 18px; }
.lottol-home .korean-title { margin-top: 20px; font-size: clamp(26px, 3vw, 38px); font-weight: 400; line-height: 1.65; letter-spacing: -.055em; }
.lottol-home .english-title { font: italic 400 clamp(38px, 4.5vw, 60px)/1.14 var(--home-serif); letter-spacing: -.04em; }

.lottol-home .editorial-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px 30px; margin-top: 32px; }
.lottol-home .editorial-button { display: inline-flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 13px 24px; gap: 34px; background: var(--home-forest); color: #fff; font-size: 14px; transition: background-color .2s ease, transform .2s ease; }
.lottol-home .editorial-button:hover { background: #536948; transform: translateY(-2px); }
.lottol-home .editorial-link { display: inline-flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 9px 0; gap: 28px; border-bottom: 1px solid currentColor; font-size: 14px; }
.lottol-home .editorial-link:hover { color: #526e3e; }

.lottol-home .home-hero { position: relative; isolation: isolate; display: flex; align-items: center; max-width: none; min-height: clamp(600px, calc(100svh - 198px), 760px); background: var(--home-ecru); }
.lottol-home .home-hero::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(247,244,238,.94) 0%, rgba(247,244,238,.87) 28%, rgba(247,244,238,.73) 41%, rgba(247,244,238,.3) 57%, rgba(247,244,238,0) 76%); pointer-events: none; }
.lottol-home .home-hero__photo { position: absolute; z-index: 0; inset: 0; }
.lottol-home .home-hero-photo-crop { display: contents; }
.lottol-home .home-hero__photo .home-hero-photo-crop > img { width: 100%; height: 100%; object-fit: cover; object-position: center 70%; }
.lottol-home .home-hero__photo figcaption { position: absolute; right: 32px; bottom: 20px; left: 32px; display: flex; justify-content: flex-end; gap: 15px; color: #fff; font-size: 12px; text-shadow: 0 1px 6px #26372f; }
.lottol-home .home-hero__photo figcaption span:last-child { font: italic 17px var(--home-serif); }
.lottol-home .home-hero__copy { position: relative; z-index: 2; width: 100%; margin: 0; padding: 72px max(48px, calc((100vw - 1200px) / 2)); }
.lottol-home .home-hero__copy h1 { max-width: 650px; margin-top: 27px; font: 400 clamp(44px, 4.5vw, 70px)/1.09 var(--home-serif); letter-spacing: -.045em; }
.lottol-home .home-hero__copy h1 em { color: #667f52; font-weight: 400; }
.lottol-home .home-hero__korean { margin-top: 26px; font-size: 24px; letter-spacing: -.04em; }
.lottol-home .home-hero__copy .body-copy { max-width: 560px; margin-top: 17px; }

.lottol-home .home-intro { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 60px; }
.lottol-home .home-intro .editorial-link { margin-top: 22px; }
.lottol-home .section-topline { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; margin-bottom: 48px; }
.lottol-home .section-topline .english-title { margin-top: 18px; }

.lottol-home .solution-band { padding-top: 72px; padding-bottom: 72px; background: var(--home-forest); color: var(--home-ecru); }
.lottol-home .solution-band .english-title { font-style: normal; font-size: clamp(30px, 3.3vw, 48px); overflow-wrap: anywhere; }
.lottol-home .home-hero__copy > .editorial-label { font-size: clamp(12px, 1.1vw, 15px); color: #3d4f42; }
.lottol-home .solution-band .section-topline > p { color: #d5dfce; }
.lottol-home .layer-preview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; gap: 40px; list-style: none; }
.lottol-home .layer-preview li { padding-top: 22px; border-top: 1px solid #84977f; }
.lottol-home .layer-number { font: italic 24px var(--home-serif); opacity: .8; }
.lottol-home .layer-preview h3 { margin: 16px 0 18px; font: 400 38px/1.15 var(--home-serif); }
.lottol-home .layer-preview strong { display: block; margin-bottom: 10px; font-size: 18px; font-weight: 400; }
.lottol-home .layer-preview p { color: #d5dfce; font-size: 16px; line-height: 1.9; }
.lottol-home .layer-term { display: block; margin-top: 25px; color: #d5dfce; font: italic 16px/1.5 var(--home-serif); }
.lottol-home .solution-band__link { margin-top: 35px; color: var(--home-ecru); }
.lottol-home .solution-band__link:hover { color: #fff; }

.lottol-home .home-feature { display: grid; grid-template-columns: 1.12fr 1fr; align-items: center; gap: 8%; }
.lottol-home .home-feature__photo img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.lottol-home .home-feature__copy .english-title { margin: 22px 0 24px; }
.lottol-home .home-feature__copy h3 { margin-bottom: 20px; font-size: 23px; font-weight: 400; letter-spacing: -.05em; }
.lottol-home .feature-caption { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-top: 34px; padding-top: 18px; gap: 10px; border-top: 1px solid var(--home-line); }
.lottol-home .feature-caption span:first-child { font: italic 22px var(--home-serif); }
.lottol-home .feature-caption span:last-child { color: #5f6c60; font-size: 14px; }
.lottol-home .home-feature__copy .editorial-link { margin-top: 20px; }

.lottol-home .home-spaces { background: var(--home-ecru); }
.lottol-home .spaces-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.lottol-home .spaces-grid img { width: 100%; aspect-ratio: 1.05; object-fit: cover; }
.lottol-home .spaces-grid figcaption { padding-top: 20px; }
.lottol-home .spaces-grid figcaption > span { font: italic 19px var(--home-serif); }
.lottol-home .spaces-grid h3 { margin-top: 14px; font-size: 21px; font-weight: 400; letter-spacing: -.04em; }
.lottol-home .spaces-grid p { margin-top: 5px; color: #5f6c60; font-size: 16px; }

.lottol-home .editorial-end { text-align: center; }
.lottol-home .editorial-end h2 { margin-top: 22px; font-size: clamp(27px, 3vw, 36px); font-weight: 400; line-height: 1.65; letter-spacing: -.05em; }
.lottol-home .editorial-end .editorial-button { margin-top: 30px; }
.lottol-home + .lottol-store-footer { margin-top: 0; }

@media (max-width: 1000px) {
  .lottol-home .editorial-wrap { width: min(100% - 56px, 1200px); }
  .lottol-home .home-hero { min-height: 650px; }
  .lottol-home .home-hero::after { background: linear-gradient(90deg, rgba(248,246,240,.97) 0%, rgba(248,246,240,.84) 42%, rgba(248,246,240,.12) 78%); }
  .lottol-home .home-hero__copy { width: 100%; padding: 64px 28px; }
  .lottol-home .home-hero__copy h1 { max-width: 570px; }
  .lottol-home .layer-preview { gap: 26px; }
  .lottol-home .home-feature { gap: 6%; }
}

@media (max-width: 760px) {
  .lottol-home .editorial-wrap { width: calc(100% - 48px); }
  .lottol-home .section-space { padding-top: 48px; padding-bottom: 48px; }
  .lottol-home .home-hero { --hero-photo-height: clamp(240px, 70vw, 400px); display: block; min-height: 0; }
  .lottol-home .home-hero::after { display: none; }
  .lottol-home .home-hero__photo { position: relative; inset: auto; height: var(--hero-photo-height); margin-top: -24px; overflow: visible; }
  .lottol-home .home-hero__photo figcaption { right: 24px; bottom: 24px; left: 24px; justify-content: space-between; color: var(--home-forest); text-shadow: 0 1px 8px #fff; }
  .lottol-home .home-hero__copy { width: 100%; padding: 30px 24px 24px; }
  .lottol-home .home-hero__copy h1 { font-size: 36px; }
  .lottol-home .home-hero__korean { font-size: 21px; }
  .lottol-home .home-intro, .lottol-home .home-feature { grid-template-columns: 1fr; gap: 40px; }
  .lottol-home .section-topline { display: block; margin-bottom: 36px; }
  .lottol-home .section-topline > .body-copy { margin-top: 26px; }
  .lottol-home .layer-preview, .lottol-home .spaces-grid { grid-template-columns: 1fr; }
  .lottol-home .layer-preview { gap: 40px; }
  .lottol-home .home-feature__photo { order: 1; }
  .lottol-home .home-feature__copy { order: 2; }
  .lottol-home .spaces-grid { gap: 46px; }
}

@media (max-width: 430px) {
  .lottol-home .home-hero__copy h1 { font-size: 36px; }
  .lottol-home .home-hero__copy .body-copy br, .lottol-home .home-intro .body-copy br, .lottol-home .section-topline .body-copy br { display: none; }
  .lottol-home .editorial-actions { align-items: stretch; flex-direction: column; gap: 14px; }
  .lottol-home .editorial-button, .lottol-home .editorial-actions .editorial-link { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .lottol-home .editorial-button { transition: none; }
}
