:root {
  --ll-ink: #17120f;
  --ll-ink-soft: #241a15;
  --ll-ember: #8d3d21;
  --ll-rust: #b65c2f;
  --ll-gold: #d4a45e;
  --ll-gold-pale: #ead1a1;
  --ll-ivory: #f3eadb;
  --ll-sand: #cdbda4;
  --ll-smoke: #a89b8b;
  --ll-line: rgba(234, 209, 161, 0.23);
  --ll-panel: rgba(30, 23, 18, 0.76);
  --ll-display: "Cinzel", Georgia, serif;
  --ll-body: "EB Garamond", Georgia, serif;
  --ll-header: 64px;
  --ll-max: 1540px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ll-ink); }
body { margin: 0; }
img { display: block; width: 100%; }
a { color: inherit; }
button { font: inherit; }

.ll-body {
  min-height: 100vh;
  color: var(--ll-ivory);
  background:
    radial-gradient(circle at 72% 8%, rgba(182,92,47,.12), transparent 26%),
    radial-gradient(circle at 10% 42%, rgba(212,164,94,.08), transparent 34%),
    linear-gradient(180deg, #18120f 0%, #20150f 38%, #15110e 100%);
  font-family: var(--ll-body);
  font-size: 19px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.ll-skip {
  position: fixed;
  left: 14px;
  top: -60px;
  z-index: 1000;
  padding: 10px 14px;
  background: var(--ll-ivory);
  color: var(--ll-ink);
  border-radius: 0 0 8px 8px;
}
.ll-skip:focus { top: 0; }

.ll-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  min-height: var(--ll-header);
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto minmax(340px, 1fr);
  align-items: center;
  gap: 24px;
  padding: 9px clamp(18px, 3.8vw, 64px);
  border-bottom: 1px solid rgba(234,209,161,.13);
  background: linear-gradient(180deg, rgba(13,10,8,.83), rgba(13,10,8,.48));
  backdrop-filter: blur(16px);
  transition: background .35s ease, border-color .35s ease;
}
.ll-header.is-scrolled {
  background: rgba(18,13,10,.92);
  border-bottom-color: rgba(234,209,161,.22);
}

.ll-house,
.ll-brand,
.ll-nav a {
  text-decoration: none;
}
.ll-house {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--ll-gold-pale);
  font-family: var(--ll-display);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ll-house img { width: 30px; height: 30px; object-fit: contain; }
.ll-brand {
  justify-self: center;
  color: #f0d7a4;
  font-family: var(--ll-display);
  font-size: 20px;
  letter-spacing: .24em;
  text-transform: uppercase;
  white-space: nowrap;
}
.ll-nav {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: clamp(10px, 1.4vw, 24px);
}
.ll-nav a {
  color: #e8dbc8;
  font-family: var(--ll-display);
  font-size: 9px;
  letter-spacing: .13em;
  text-transform: uppercase;
  opacity: .86;
}
.ll-nav a:hover,
.ll-nav a:focus-visible { color: var(--ll-gold-pale); opacity: 1; }
.ll-menu-toggle { display: none; }

.ll-hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: #18120f;
}
.ll-hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  transform: scale(1.025);
  will-change: transform;
}
.ll-hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(12,9,7,.79) 0%, rgba(12,9,7,.34) 42%, rgba(12,9,7,.08) 72%),
    linear-gradient(0deg, rgba(12,9,7,.76) 0%, transparent 45%),
    linear-gradient(180deg, rgba(12,9,7,.36), transparent 24%);
}
.ll-hero-grain,
.ll-stage::after,
.ll-product-world::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .13;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 42px 42px;
}
.ll-hero-copy {
  position: relative;
  z-index: 3;
  width: min(720px, 82vw);
  margin-left: clamp(26px, 7vw, 120px);
  margin-bottom: clamp(70px, 10vh, 126px);
}
.ll-kicker {
  margin: 0 0 14px;
  color: var(--ll-gold-pale);
  font-family: var(--ll-display);
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.ll-hero h1,
.ll-stage-heading h2,
.ll-product-copy h2,
.ll-worlds-heading h2,
.ll-world-card h3,
.ll-about h2 {
  font-family: var(--ll-display);
  font-weight: 400;
}
.ll-hero h1 {
  margin: 0;
  font-size: clamp(58px, 8vw, 122px);
  line-height: .96;
  letter-spacing: .05em;
}
.ll-hero-line {
  margin: 24px 0 0;
  color: #f0d7a4;
  font-size: clamp(27px, 3vw, 44px);
  font-style: italic;
  line-height: 1.1;
}
.ll-hero-intro {
  max-width: 650px;
  margin: 24px 0 0;
  color: #f1e7d8;
  font-size: clamp(18px, 1.45vw, 23px);
  line-height: 1.45;
}
.ll-text-link {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  margin-top: 24px;
  color: var(--ll-gold-pale);
  font-family: var(--ll-display);
  font-size: 10px;
  letter-spacing: .13em;
  text-transform: uppercase;
  text-decoration: none;
}
.ll-text-link:hover { color: white; }
.ll-hero-note {
  position: absolute;
  z-index: 3;
  right: clamp(22px, 5vw, 80px);
  bottom: 32px;
  display: flex;
  gap: 22px;
  color: rgba(243,234,219,.7);
  font-family: var(--ll-display);
  font-size: 9px;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.ll-stage-rail {
  position: sticky;
  top: var(--ll-header);
  z-index: 70;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  max-width: var(--ll-max);
  margin: 0 auto;
  border: 1px solid rgba(234,209,161,.14);
  border-top: 0;
  background: rgba(20,14,11,.87);
  backdrop-filter: blur(16px);
}
.ll-stage-rail a {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 10px;
  border-right: 1px solid rgba(234,209,161,.1);
  color: rgba(243,234,219,.62);
  font-family: var(--ll-display);
  font-size: 8px;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color .25s ease, background .25s ease;
}
.ll-stage-rail a:last-child { border-right: 0; }
.ll-stage-rail a b { color: var(--ll-gold); font-weight: 500; }
.ll-stage-rail a.is-active { color: #fff2df; background: rgba(182,92,47,.12); }

.ll-stage {
  position: relative;
  isolation: isolate;
  width: min(var(--ll-max), calc(100% - 28px));
  min-height: 100vh;
  margin: 0 auto;
  padding: clamp(96px, 10vw, 154px) clamp(24px, 5vw, 80px);
  overflow: hidden;
  border-left: 1px solid rgba(234,209,161,.08);
  border-right: 1px solid rgba(234,209,161,.08);
}
.ll-temperature-adventure { background: linear-gradient(160deg, #1b1713 0%, #262018 54%, #18130f 100%); }
.ll-temperature-alchemy { background: radial-gradient(circle at 68% 36%, rgba(175,69,31,.27), transparent 32%), linear-gradient(150deg, #24130d, #351911 50%, #18110e); }
.ll-temperature-love { background: radial-gradient(circle at 22% 14%, rgba(205,150,82,.13), transparent 32%), linear-gradient(150deg, #1b1511, #251a14 52%, #15110e); }

.ll-stage-number {
  position: absolute;
  top: 54px;
  left: clamp(24px, 5vw, 80px);
  color: rgba(234,209,161,.2);
  font-family: var(--ll-display);
  font-size: clamp(72px, 11vw, 170px);
  line-height: .75;
  letter-spacing: -.03em;
}
.ll-stage-heading {
  position: relative;
  z-index: 3;
  width: min(720px, 78vw);
  margin: 0 0 clamp(44px, 7vw, 90px) auto;
}
.ll-stage-heading h2 {
  margin: 0;
  color: #f2e3ce;
  font-size: clamp(45px, 6vw, 88px);
  line-height: 1;
  letter-spacing: .04em;
}
.ll-stage-heading p:last-child {
  margin: 18px 0 0;
  color: #d9c8b2;
  font-size: clamp(19px, 1.7vw, 25px);
}

.ll-frame {
  position: relative;
  z-index: 2;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(234,209,161,.18);
  background: #17120f;
  box-shadow: 0 30px 80px rgba(0,0,0,.28);
}
.ll-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.2s cubic-bezier(.2,.7,.2,1), filter .8s ease;
}
.ll-frame:hover img { transform: scale(1.018); }
.ll-frame-wide { aspect-ratio: 16/8.5; }
.ll-frame-cinema { aspect-ratio: 16/8; }
.ll-frame-tall { aspect-ratio: 4/5; }
.ll-frame-detail { aspect-ratio: 5/4; }

.ll-stage-call .ll-frame-wide { width: min(1120px, 88%); margin-left: auto; }
.ll-stage-call .ll-frame-talisman { width: min(380px, 34vw); aspect-ratio: 4/5; margin: -18% 0 0 2%; }
.ll-whisper {
  width: min(480px, 70vw);
  margin: 34px 5% 0 auto;
  color: var(--ll-gold-pale);
  font-size: clamp(25px, 3vw, 40px);
  font-style: italic;
  text-align: right;
}

.ll-water-grid {
  display: grid;
  grid-template-columns: .9fr 1.15fr .9fr;
  gap: clamp(8px, 1.3vw, 18px);
  align-items: center;
}
.ll-water-grid .ll-frame { aspect-ratio: 4/5; }
.ll-water-grid .ll-frame:nth-child(2) { transform: translateY(-5%); }
.ll-stage-dive > .ll-frame-detail { width: min(430px, 36vw); margin: -4% 4% 0 auto; }

.ll-stage-encounter .ll-frame-cinema { width: min(1180px, 94%); margin: 0 auto; }
.ll-encounter-pair {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: clamp(12px, 2vw, 28px);
  width: min(980px, 84%);
  margin: clamp(18px, 3vw, 46px) 0 0 auto;
}
.ll-encounter-pair .ll-frame { aspect-ratio: 4/5; }
.ll-encounter-pair .ll-frame:last-child { aspect-ratio: 5/4; align-self: end; }

.ll-layer {
  position: absolute;
  z-index: 0;
  object-fit: cover;
  filter: saturate(.85) contrast(.95);
  pointer-events: none;
}
.ll-layer-a {
  width: min(520px, 38vw);
  height: 74%;
  right: -8%;
  top: 10%;
  opacity: .12;
  mask-image: linear-gradient(to left, #000 55%, transparent 100%);
}
.ll-stage-alchemy .ll-frame-red {
  width: min(620px, 47vw);
  aspect-ratio: 4/5;
  margin-left: 4%;
}
.ll-stage-alchemy .ll-frame-red img { object-position: center 36%; }
.ll-alchemy-stack {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 1.25fr .72fr;
  gap: clamp(12px, 2vw, 26px);
  width: min(820px, 62vw);
  margin: -36% 2% 0 auto;
}
.ll-alchemy-stack .ll-frame:first-child { grid-column: 1 / -1; aspect-ratio: 16/9; }
.ll-alchemy-stack .ll-frame:nth-child(2) { aspect-ratio: 4/5; }
.ll-alchemy-stack .ll-frame:nth-child(3) { aspect-ratio: 4/5; }
.ll-stage-quote {
  position: relative;
  z-index: 3;
  max-width: 820px;
  margin: clamp(60px, 8vw, 110px) auto 0;
  padding: 0;
  border: 0;
  color: #efcf9e;
  font-size: clamp(30px, 4vw, 58px);
  font-style: italic;
  text-align: center;
}

.ll-layer-b {
  width: 42%;
  height: 55%;
  left: -5%;
  top: 15%;
  opacity: .08;
  mask-image: linear-gradient(90deg, #000 58%, transparent 100%);
}
.ll-layer-c {
  width: 34%;
  height: 42%;
  right: -3%;
  bottom: 7%;
  opacity: .07;
  mask-image: linear-gradient(270deg, #000 55%, transparent 100%);
}
.ll-stage-union .ll-frame-domestic {
  width: min(1120px, 92%);
  aspect-ratio: 16/8.5;
  margin: 0 auto;
}
.ll-living-love-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(12px, 2vw, 28px);
  width: min(980px, 82%);
  margin: clamp(20px, 3vw, 46px) auto 0;
}
.ll-living-love-grid .ll-frame { aspect-ratio: 5/4; }
.ll-living-love-grid .ll-frame:last-child { aspect-ratio: 4/5; transform: translateY(-10%); }
.ll-living-love-line {
  position: relative;
  z-index: 3;
  max-width: 820px;
  margin: 30px auto 0;
  color: var(--ll-gold-pale);
  font-size: clamp(27px, 3.8vw, 54px);
  font-style: italic;
  text-align: center;
}

.ll-return-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: clamp(12px, 2vw, 26px);
  align-items: start;
}
.ll-return-grid .ll-frame:nth-child(1) { grid-row: span 2; }
.ll-return-grid .ll-frame:nth-child(2) { aspect-ratio: 5/4; margin-top: 8%; }
.ll-return-grid .ll-frame:nth-child(3) { aspect-ratio: 16/7; }
.ll-return-line {
  margin: clamp(48px, 6vw, 86px) 0 0;
  color: #efd7ae;
  font-size: clamp(42px, 7vw, 96px);
  font-style: italic;
  text-align: center;
}

.ll-product-world {
  position: relative;
  isolation: isolate;
  width: min(var(--ll-max), calc(100% - 28px));
  margin: 0 auto;
  padding: clamp(90px, 10vw, 150px) clamp(24px, 5vw, 80px);
  overflow: hidden;
  border: 1px solid rgba(234,209,161,.09);
  background:
    radial-gradient(circle at 70% 12%, rgba(201,144,72,.13), transparent 26%),
    linear-gradient(145deg, #17120f, #221710 52%, #17120f);
}
.ll-product-copy { max-width: 920px; }
.ll-product-copy h2,
.ll-worlds-heading h2,
.ll-about h2 {
  margin: 0;
  color: #f0dfc5;
  font-size: clamp(43px, 6vw, 84px);
  line-height: 1.04;
}
.ll-material-law {
  margin: 28px 0 0;
  color: #efcf9d;
  font-family: var(--ll-display);
  font-size: clamp(20px, 2.2vw, 31px);
  letter-spacing: .04em;
}
.ll-product-copy > p:last-child {
  max-width: 720px;
  color: #d7c6af;
  font-size: clamp(19px, 1.6vw, 24px);
}
.ll-product-hero {
  display: block;
  margin-top: clamp(38px, 6vw, 80px);
  overflow: hidden;
  border: 1px solid rgba(234,209,161,.18);
  box-shadow: 0 34px 90px rgba(0,0,0,.3);
}
.ll-product-hero img { aspect-ratio: 16/9; object-fit: cover; }
.ll-format-lines {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 1px;
  background: rgba(234,209,161,.14);
}
.ll-format-lines article { padding: clamp(28px, 4vw, 52px); background: #1b1511; }
.ll-format-lines h3 { margin: 0; color: #efd5a8; font-family: var(--ll-display); font-size: 16px; letter-spacing: .12em; text-transform: uppercase; }
.ll-format-lines p { margin: 16px 0 0; font-size: clamp(24px, 2.4vw, 34px); font-style: italic; }
.ll-format-lines span { display: block; margin-top: 10px; color: #bfae98; }

.ll-worlds {
  width: min(var(--ll-max), calc(100% - 28px));
  margin: 0 auto;
  padding: clamp(100px, 10vw, 150px) 0;
}
.ll-worlds-heading { padding: 0 clamp(24px, 5vw, 80px) clamp(44px, 6vw, 76px); }
.ll-world-card {
  position: relative;
  min-height: min(78vh, 820px);
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  align-items: stretch;
  margin: 0 0 18px;
  overflow: hidden;
  border: 1px solid rgba(234,209,161,.13);
  background: #1d1712;
}
.ll-world-card:nth-of-type(even) { grid-template-columns: .85fr 1.15fr; }
.ll-world-card:nth-of-type(even) img { order: 2; }
.ll-world-card img { height: 100%; min-height: 580px; object-fit: cover; }
.ll-world-card-copy {
  align-self: center;
  padding: clamp(44px, 6vw, 88px);
}
.ll-world-card h3 { margin: 0; color: #f0dfc5; font-size: clamp(38px, 5vw, 72px); line-height: 1.05; }
.ll-world-card-copy > p:not(.ll-kicker) { color: #d2c0a9; font-size: clamp(20px, 1.7vw, 25px); }
.ll-world-card-copy > span { display: block; margin-top: 22px; color: #e9c98f; font-size: 24px; font-style: italic; }
.ll-world-virtues { background: linear-gradient(145deg, #17120f, #24160f); }
.ll-world-essentials { background: linear-gradient(145deg, #211b17, #34241b); }
.ll-world-fashion { background: linear-gradient(145deg, #31150d, #15110e); }
.ll-world-asia { background: linear-gradient(145deg, #26251d, #171813); }
.ll-world-asia img { filter: saturate(.82) contrast(.96); }

.ll-about {
  width: min(var(--ll-max), calc(100% - 28px));
  margin: 0 auto 28px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(30px, 7vw, 120px);
  align-items: end;
  padding: clamp(70px, 8vw, 120px) clamp(24px, 5vw, 80px);
  border: 1px solid rgba(234,209,161,.1);
  background: rgba(27,21,17,.78);
}
.ll-about-copy { max-width: 850px; }
.ll-about-copy > p:last-child { color: #cdbcaa; font-size: clamp(19px, 1.7vw, 25px); }
.ll-about-links { display: grid; gap: 12px; min-width: 220px; }
.ll-about-links a {
  padding: 10px 0;
  border-bottom: 1px solid rgba(234,209,161,.15);
  color: #efd5a8;
  font-family: var(--ll-display);
  font-size: 10px;
  letter-spacing: .13em;
  text-decoration: none;
  text-transform: uppercase;
}

.ll-footer {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 34px 20px 42px;
  color: #9d8d7a;
  font-size: 15px;
  text-align: center;
}

.ll-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1);
}
.ll-reveal.is-visible { opacity: 1; transform: none; }

:focus-visible { outline: 2px solid var(--ll-gold-pale); outline-offset: 3px; }

@media (max-width: 1120px) {
  .ll-header { grid-template-columns: 1fr auto auto; }
  .ll-house span { display: none; }
  .ll-nav {
    position: absolute;
    top: calc(100% + 1px);
    right: 14px;
    min-width: 240px;
    display: none;
    padding: 10px;
    border: 1px solid rgba(234,209,161,.18);
    background: rgba(20,14,11,.97);
    box-shadow: 0 24px 60px rgba(0,0,0,.4);
  }
  .ll-nav.is-open { display: grid; }
  .ll-nav a { padding: 11px 12px; }
  .ll-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 7px 13px;
    border: 1px solid rgba(234,209,161,.22);
    border-radius: 999px;
    background: transparent;
    color: #e8dbc8;
    font-family: var(--ll-display);
    font-size: 9px;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  .ll-stage-heading { width: min(760px, 90%); }
  .ll-alchemy-stack { width: min(850px, 70vw); }
}

@media (max-width: 820px) {
  :root { --ll-header: 60px; }
  .ll-body { font-size: 18px; }
  .ll-header { padding: 8px 13px; }
  .ll-brand { font-size: 17px; letter-spacing: .18em; }
  .ll-hero-copy { width: calc(100% - 38px); margin: 0 19px 72px; }
  .ll-hero-shade { background: linear-gradient(0deg, rgba(12,9,7,.82), rgba(12,9,7,.16) 68%), linear-gradient(90deg, rgba(12,9,7,.38), transparent); }
  .ll-hero-note { display: none; }
  .ll-stage-rail { overflow-x: auto; grid-template-columns: repeat(6, minmax(112px, 1fr)); }
  .ll-stage { width: calc(100% - 14px); padding: 92px 18px 82px; }
  .ll-stage-number { left: 18px; top: 46px; }
  .ll-stage-heading { width: 100%; margin-top: 42px; }
  .ll-stage-call .ll-frame-wide { width: 100%; }
  .ll-stage-call .ll-frame-talisman { width: 54%; margin: -8% 0 0 auto; }
  .ll-water-grid { grid-template-columns: 1fr 1fr; }
  .ll-water-grid .ll-frame:nth-child(2) { transform: none; }
  .ll-water-grid .ll-frame:nth-child(3) { grid-column: 1 / -1; aspect-ratio: 16/9; }
  .ll-stage-dive > .ll-frame-detail { width: 60%; margin-right: 0; }
  .ll-stage-encounter .ll-frame-cinema { width: 100%; aspect-ratio: 4/3; }
  .ll-encounter-pair { width: 100%; grid-template-columns: 1fr 1fr; }
  .ll-stage-alchemy .ll-frame-red { width: 72%; margin-left: 0; }
  .ll-alchemy-stack { width: 78%; margin-top: -18%; }
  .ll-layer-a { width: 55%; opacity: .09; }
  .ll-stage-union .ll-frame-domestic { width: 100%; aspect-ratio: 4/3; }
  .ll-living-love-grid { width: 100%; }
  .ll-return-grid { grid-template-columns: 1fr 1fr; }
  .ll-return-grid .ll-frame:nth-child(3) { grid-column: 1 / -1; }
  .ll-product-world, .ll-worlds, .ll-about { width: calc(100% - 14px); }
  .ll-world-card, .ll-world-card:nth-of-type(even) { grid-template-columns: 1fr; min-height: 0; }
  .ll-world-card:nth-of-type(even) img { order: 0; }
  .ll-world-card img { min-height: 0; max-height: 68vh; aspect-ratio: 4/3; }
  .ll-format-lines { grid-template-columns: 1fr; }
  .ll-about { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .ll-house img { width: 26px; height: 26px; }
  .ll-brand { justify-self: start; font-size: 15px; }
  .ll-hero { min-height: 92svh; }
  .ll-hero-image { object-position: 57% center; }
  .ll-hero h1 { font-size: 52px; }
  .ll-hero-line { font-size: 28px; }
  .ll-stage-heading h2 { font-size: 45px; }
  .ll-water-grid { grid-template-columns: 1fr; }
  .ll-water-grid .ll-frame:nth-child(3) { grid-column: auto; aspect-ratio: 4/5; }
  .ll-stage-dive > .ll-frame-detail { width: 78%; }
  .ll-encounter-pair { grid-template-columns: 1fr; }
  .ll-encounter-pair .ll-frame:last-child { aspect-ratio: 4/5; }
  .ll-stage-alchemy .ll-frame-red { width: 92%; }
  .ll-alchemy-stack { width: 88%; margin-top: 20px; grid-template-columns: 1fr 1fr; }
  .ll-alchemy-stack .ll-frame:first-child { aspect-ratio: 4/5; }
  .ll-return-grid { grid-template-columns: 1fr; }
  .ll-return-grid .ll-frame:nth-child(1) { grid-row: auto; }
  .ll-return-grid .ll-frame:nth-child(3) { grid-column: auto; aspect-ratio: 4/3; }
  .ll-living-love-grid { grid-template-columns: 1fr; }
  .ll-living-love-grid .ll-frame:last-child { transform: none; }
  .ll-product-world { padding-inline: 18px; }
  .ll-product-hero img { aspect-ratio: 4/5; }
  .ll-worlds-heading { padding-inline: 18px; }
  .ll-world-card-copy { padding: 36px 24px 42px; }
  .ll-about { padding-inline: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
  .ll-reveal { opacity: 1; transform: none; }
}

/* Pass 2 clean-beta composition overrides */
.ll-water-grid-clean {
  grid-template-columns: 1fr 1.25fr;
  width: min(1120px, 94%);
  margin-inline: auto;
}
.ll-water-grid-clean .ll-frame:nth-child(2) { transform: none; }
.ll-encounter-pair-single {
  grid-template-columns: 1fr;
  width: min(760px, 74%);
}
.ll-encounter-pair-single .ll-frame:last-child {
  aspect-ratio: 16 / 10;
  transform: none;
}
@media (max-width: 820px) {
  .ll-water-grid-clean { grid-template-columns: 1fr; width: 100%; }
  .ll-water-grid-clean .ll-frame { aspect-ratio: 4 / 5; }
  .ll-encounter-pair-single { width: 100%; }
  .ll-encounter-pair-single .ll-frame:last-child { aspect-ratio: 4 / 5; }
}

/* Pass 3 — directorial polish: scale, juxtaposition and cleaner narrative rhythm */
.ll-stage {
  min-height: auto;
  padding-top: clamp(88px, 8vw, 132px);
  padding-bottom: clamp(92px, 9vw, 142px);
}
.ll-stage-heading {
  width: min(820px, 76vw);
  margin-bottom: clamp(38px, 5vw, 66px);
}
.ll-stage-heading p:last-child { max-width: 34em; }

/* 01 — hero image remains exclusive to the landing screen; Call advances the story */
.ll-call-cinema {
  width: min(1180px, 90%);
  aspect-ratio: 16 / 9;
  margin: 0 auto;
}
.ll-call-cinema img { object-position: center 50%; }
.ll-stage-call .ll-whisper {
  width: min(620px, 72vw);
  margin: clamp(34px, 5vw, 66px) 4% 0 auto;
}

/* 02 — one inward body image, one wide burst of shared movement */
.ll-water-grid-clean {
  grid-template-columns: .72fr 1.28fr;
  width: min(1180px, 92%);
  gap: clamp(14px, 2vw, 30px);
  align-items: center;
}
.ll-water-grid-clean .ll-frame:first-child { aspect-ratio: 4 / 5; }
.ll-water-grid-clean .ll-frame:nth-child(2) { aspect-ratio: 16 / 10; }

/* 03 — landscape first; recognition becomes a quieter editorial after-image */
.ll-stage-encounter .ll-frame-cinema {
  width: min(1220px, 94%);
  aspect-ratio: 16 / 8.8;
}
.ll-encounter-pair-single {
  width: min(470px, 38vw);
  margin: clamp(-42px, -3vw, -24px) 6% 0 auto;
}
.ll-encounter-pair-single .ll-frame:last-child { aspect-ratio: 4 / 5; }

/* 04 — the hottest passage has one cinematic centre, then tactile detail */
.ll-alchemy-cinema {
  width: min(1200px, 92%);
  aspect-ratio: 16 / 8.7;
  margin: 0 auto;
}
.ll-alchemy-details {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: clamp(18px, 2.5vw, 38px);
  width: min(1020px, 82%);
  margin: clamp(24px, 4vw, 58px) auto 0;
  align-items: start;
}
.ll-stage-alchemy .ll-alchemy-details .ll-frame-red {
  width: 100%;
  aspect-ratio: 4 / 5;
  margin: 0;
}
.ll-alchemy-minors {
  display: grid;
  gap: clamp(16px, 2vw, 28px);
  padding-top: 12%;
}
.ll-alchemy-minors .ll-frame:first-child { aspect-ratio: 4 / 5; }
.ll-alchemy-minors .ll-frame:last-child { aspect-ratio: 5 / 4; }
.ll-stage-alchemy .ll-stage-quote { margin-top: clamp(54px, 7vw, 94px); }

/* 05 — social field first, then private ease */
.ll-stage-union .ll-frame-domestic {
  width: min(1240px, 95%);
  aspect-ratio: 16 / 8.6;
}
.ll-living-love-grid {
  grid-template-columns: 1.32fr .68fr;
  width: min(1040px, 84%);
  margin-top: clamp(22px, 3vw, 42px);
}
.ll-living-love-grid .ll-frame:first-child { aspect-ratio: 16 / 10; }
.ll-living-love-grid .ll-frame:last-child {
  aspect-ratio: 4 / 5;
  transform: translateY(8%);
}
.ll-living-love-line { margin-top: clamp(46px, 6vw, 76px); }

/* 06 — world opens again before individual reflection */
.ll-return-cinema {
  width: min(1240px, 95%);
  aspect-ratio: 16 / 8.4;
  margin: 0 auto;
}
.ll-return-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(18px, 2.4vw, 34px);
  width: min(860px, 72%);
  margin: clamp(28px, 4vw, 58px) auto 0;
}
.ll-return-pair .ll-frame { aspect-ratio: 4 / 5; }

/* Product stays late in the scroll, but receives one unequivocal reveal */
.ll-product-world { padding-top: clamp(96px, 9vw, 138px); }
.ll-product-copy { max-width: 1040px; }
.ll-product-hero {
  width: min(1260px, 96%);
  margin-inline: auto;
}

/* The four Entrancia currents become doors, not four more full-length campaigns */
.ll-worlds { padding-bottom: clamp(76px, 8vw, 118px); }
.ll-world-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(14px, 1.6vw, 24px);
  padding: 0 clamp(14px, 2vw, 30px);
}
.ll-world-grid .ll-world-card,
.ll-world-grid .ll-world-card:nth-of-type(even) {
  min-height: 0;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: minmax(340px, 56vh) auto;
  margin: 0;
}
.ll-world-grid .ll-world-card:nth-of-type(even) img { order: 0; }
.ll-world-grid .ll-world-card img {
  min-height: 0;
  height: 100%;
  max-height: none;
  aspect-ratio: auto;
  object-fit: cover;
}
.ll-world-grid .ll-world-card-copy {
  align-self: stretch;
  padding: clamp(34px, 4vw, 58px);
}
.ll-world-grid .ll-world-card h3 { font-size: clamp(34px, 4vw, 56px); }
.ll-world-grid .ll-world-card-copy > p:not(.ll-kicker) { font-size: clamp(18px, 1.45vw, 22px); }
.ll-world-grid .ll-world-card-copy > span { font-size: 21px; }

@media (max-width: 820px) {
  .ll-stage-heading { width: 100%; }
  .ll-call-cinema,
  .ll-stage-encounter .ll-frame-cinema,
  .ll-alchemy-cinema,
  .ll-stage-union .ll-frame-domestic,
  .ll-return-cinema { width: 100%; aspect-ratio: 4 / 3; }
  .ll-water-grid-clean { grid-template-columns: 1fr; width: 100%; }
  .ll-water-grid-clean .ll-frame:first-child { width: 72%; }
  .ll-water-grid-clean .ll-frame:nth-child(2) { aspect-ratio: 4 / 3; }
  .ll-encounter-pair-single { width: 58%; margin: -24px 0 0 auto; }
  .ll-alchemy-details { width: 100%; grid-template-columns: 1fr 1fr; }
  .ll-alchemy-minors { padding-top: 8%; }
  .ll-living-love-grid { width: 100%; grid-template-columns: 1.2fr .8fr; }
  .ll-return-pair { width: 84%; }
  .ll-world-grid { grid-template-columns: 1fr; padding: 0; }
  .ll-world-grid .ll-world-card,
  .ll-world-grid .ll-world-card:nth-of-type(even) { grid-template-rows: auto auto; }
  .ll-world-grid .ll-world-card img { aspect-ratio: 4 / 3; max-height: 68vh; }
}

@media (max-width: 560px) {
  .ll-water-grid-clean .ll-frame:first-child,
  .ll-encounter-pair-single,
  .ll-return-pair { width: 100%; }
  .ll-encounter-pair-single { margin-top: 16px; }
  .ll-alchemy-details,
  .ll-living-love-grid,
  .ll-return-pair { grid-template-columns: 1fr; }
  .ll-alchemy-minors { grid-template-columns: 1fr 1fr; padding-top: 0; }
  .ll-living-love-grid .ll-frame:last-child { transform: none; }
  .ll-return-cinema { aspect-ratio: 4 / 3; }
}

/* Pass 4 — final polish: hierarchy rhythm, warmer image unification, calmer copy staging */
html { scroll-padding-top: calc(var(--ll-header) + 52px); }

.ll-stage,
.ll-product-world,
.ll-worlds,
.ll-about {
  position: relative;
}

.ll-hero-image,
.ll-frame img,
.ll-product-hero img,
.ll-world-card img {
  filter: saturate(1.03) contrast(1.02) brightness(.99) sepia(.035);
}
.ll-world-asia img {
  filter: saturate(.9) contrast(.99) brightness(.985) sepia(.03);
}
.ll-frame:hover img {
  transform: scale(1.018);
  filter: saturate(1.05) contrast(1.03) brightness(1) sepia(.03);
}

.ll-stage {
  padding-top: clamp(94px, 8.6vw, 138px);
  padding-bottom: clamp(102px, 10vw, 152px);
}
.ll-stage-heading {
  width: min(780px, 72vw);
  margin-bottom: clamp(42px, 5vw, 72px);
}
.ll-stage-heading p:last-child,
.ll-product-copy > p:last-child,
.ll-about-copy > p:last-child {
  max-width: 32em;
  line-height: 1.52;
}
.ll-kicker { margin-bottom: 12px; }
.ll-stage-quote,
.ll-living-love-line,
.ll-return-line,
.ll-whisper {
  text-wrap: balance;
}

/* 01 The Call — single, clear editorial hero */
.ll-call-cinema {
  width: min(1220px, 92%);
  aspect-ratio: 16 / 8.8;
}
.ll-call-cinema img { object-position: center 48%; }
.ll-stage-call .ll-whisper {
  width: min(660px, 74vw);
  margin-top: clamp(36px, 4.6vw, 58px);
}

/* 02 The Dive — portrait enters, landscape resolves */
.ll-water-grid-clean {
  width: min(1160px, 90%);
  grid-template-columns: .7fr 1.3fr;
  gap: clamp(18px, 2.2vw, 32px);
}
.ll-water-grid-clean .ll-frame:first-child {
  width: 92%;
  justify-self: end;
}
.ll-water-grid-clean .ll-frame:nth-child(2) { aspect-ratio: 16 / 10.5; }

/* 03 The Encounter — a dominant path image with a smaller recognition echo */
.ll-stage-encounter .ll-frame-cinema {
  width: min(1240px, 95%);
  aspect-ratio: 16 / 8.4;
}
.ll-encounter-pair-single {
  width: min(430px, 34vw);
  margin: clamp(-34px, -2.4vw, -18px) 6% 0 auto;
}

/* 04 The Alchemy — strong centre, then relational and tactile support */
.ll-alchemy-cinema {
  width: min(1220px, 93%);
  aspect-ratio: 16 / 8.5;
}
.ll-alchemy-details {
  width: min(980px, 80%);
  grid-template-columns: 1.12fr .88fr;
  gap: clamp(18px, 2.4vw, 34px);
}
.ll-stage-alchemy .ll-alchemy-details .ll-frame-red img { object-position: center 40%; }
.ll-alchemy-minors {
  gap: clamp(18px, 2vw, 28px);
  padding-top: 8%;
}
.ll-alchemy-minors .ll-frame:first-child {
  aspect-ratio: 4 / 5;
}
.ll-alchemy-minors .ll-frame:last-child {
  width: 86%;
  margin-left: auto;
  aspect-ratio: 5 / 4;
}

/* 05 The Union — gathering first, intimacy as afterglow */
.ll-stage-union .ll-frame-domestic {
  width: min(1260px, 96%);
  aspect-ratio: 16 / 8.4;
}
.ll-living-love-grid {
  width: min(980px, 78%);
  grid-template-columns: 1.38fr .62fr;
  gap: clamp(18px, 2.2vw, 30px);
}
.ll-living-love-grid .ll-frame:first-child { aspect-ratio: 16 / 10.2; }
.ll-living-love-grid .ll-frame:last-child {
  transform: translateY(5%);
}

/* 06 The Return — wide mood, then paired inwardness */
.ll-return-cinema {
  width: min(1260px, 96%);
  aspect-ratio: 16 / 8.2;
}
.ll-return-pair {
  width: min(900px, 74%);
  gap: clamp(18px, 2.4vw, 32px);
}

/* Product and doors */
.ll-product-copy { max-width: 980px; }
.ll-product-hero {
  width: min(1280px, 97%);
  margin-top: clamp(42px, 5vw, 68px);
}
.ll-format-lines article { min-height: 100%; }

.ll-worlds-heading {
  padding-bottom: clamp(36px, 4.8vw, 60px);
}
.ll-world-grid {
  gap: clamp(16px, 1.8vw, 26px);
}
.ll-world-grid .ll-world-card {
  box-shadow: 0 24px 64px rgba(0,0,0,.2);
}

@media (max-width: 820px) {
  .ll-stage-heading { width: 100%; }
  .ll-water-grid-clean { width: 100%; grid-template-columns: 1fr; }
  .ll-water-grid-clean .ll-frame:first-child { width: 70%; justify-self: start; }
  .ll-encounter-pair-single { width: 60%; margin-right: 0; }
  .ll-alchemy-details,
  .ll-living-love-grid,
  .ll-return-pair { width: 100%; }
  .ll-living-love-grid { grid-template-columns: 1.18fr .82fr; }
}

@media (max-width: 560px) {
  .ll-stage { padding-top: 92px; padding-bottom: 90px; }
  .ll-water-grid-clean .ll-frame:first-child,
  .ll-encounter-pair-single { width: 100%; }
  .ll-alchemy-details,
  .ll-living-love-grid,
  .ll-return-pair { grid-template-columns: 1fr; }
  .ll-alchemy-minors {
    grid-template-columns: 1fr 1fr;
    padding-top: 0;
  }
  .ll-alchemy-minors .ll-frame:last-child {
    width: 100%;
    margin-left: 0;
  }
  .ll-living-love-grid .ll-frame:last-child { transform: none; }
}


/* DWH Hub 0.14 Patch 1 — Entrancia Asia destination control.
   This lives in the canonical Entrancia stylesheet so the live page has one styling authority. */
.ll-world-card.ll-world-asia .ll-text-link.ll-hub-asia-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .55em !important;
  width: fit-content !important;
  margin-top: 1.2rem !important;
  padding: .78rem 1.18rem !important;
  color: #fff4d8 !important;
  background: linear-gradient(135deg, #754326 0%, #473026 100%) !important;
  border: 1px solid rgba(231,188,104,.92) !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  text-shadow: 0 1px 10px rgba(0,0,0,.48) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,238,190,.10) !important;
  letter-spacing: .055em !important;
  font-weight: 500 !important;
}
.ll-world-card.ll-world-asia .ll-text-link.ll-hub-asia-pill:hover,
.ll-world-card.ll-world-asia .ll-text-link.ll-hub-asia-pill:focus-visible {
  color: #fffaf0 !important;
  background: linear-gradient(135deg, #8a4b28 0%, #563529 100%) !important;
  border-color: rgba(245,210,137,.98) !important;
  outline: none !important;
}
