/* luxophia.com — ink black, electric ultramarine (from the logo), porcelain white */
:root {
  --bg: #05060c; --bg2: #0b0d18; --bg3: #121528;
  --ink: #eef1ff; --ink2: #a3a8c4; --ink3: #666b88;
  --line: rgb(160 175 255 / .13); --line2: rgb(160 175 255 / .26);
  --accent: #5b76ff; --accent2: #dfe5ff; --glow: rgb(70 100 255 / .45);
  --font-display: "Cormorant Garamond", "Shippori Mincho", serif;
  --font-body: "Inter", "Zen Kaku Gothic New", system-ui, sans-serif;
  --font-jp: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
}
:lang(ja) .lx-h1, :lang(ja) .lx-h2 { font-weight: 300; letter-spacing: .08em; }
body { background:
  radial-gradient(1200px 600px at 80% -10%, rgb(40 60 255 / .07), transparent 60%),
  radial-gradient(900px 500px at -10% 40%, rgb(40 60 255 / .05), transparent 60%), var(--bg); }

.lp-logo { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px rgb(255 255 255 / .2), 0 0 24px -4px var(--glow); }

/* hero */
.lp-hero .lx-hero-bg img { animation-duration: 34s; }
.lp-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: repeating-linear-gradient(0deg, rgb(255 255 255 / .018) 0 1px, transparent 1px 3px); mix-blend-mode: overlay; }
.lp-word { font: 300 clamp(3rem, 1rem + 10.5vw, 11rem)/.9 var(--font-display); letter-spacing: .12em; margin: 0 0 .25em -.04em; display: flex; flex-wrap: wrap; }
.lp-word span { display: inline-block; opacity: 0; transform: translateY(.3em); filter: blur(12px);
  animation: lp-letter 1.6s var(--ease) forwards; animation-delay: calc(.35s + var(--i) * .08s);
  background: linear-gradient(180deg, #fff 20%, #b8c4ff 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
  text-shadow: 0 0 60px rgb(90 120 255 / .35); }
@keyframes lp-letter { to { opacity: 1; transform: none; filter: none; } }
.lp-hero .lx-lead { margin-top: 1rem; }

/* sections */
.lp-intro { max-width: 900px; }
.lp-intro .lx-lead { margin-top: 1.6rem; }
.lp-pillar { min-height: 240px; }
.lp-pillar .lx-meta { font-size: var(--s1); color: var(--accent); }
.lp-sechead { display: flex; flex-wrap: wrap; gap: 20px; align-items: end; justify-content: space-between; margin-bottom: clamp(28px, 4vw, 56px); }
.lp-split { display: grid; gap: clamp(32px, 5vw, 96px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); align-items: start; }
.lp-split .lx-h2 { margin-bottom: 1.2rem; }
.lp-split .lx-btn { margin-top: 1rem; }
.lp-work .lx-pic img { aspect-ratio: 4 / 5; }
.lp-sale { color: var(--accent); }
.lp-stat { display: flex; align-items: baseline; gap: .5em; font-size: var(--s-1); letter-spacing: .2em; text-transform: uppercase; color: var(--ink2); margin-bottom: 1rem; }
.lp-stat span { font: 300 var(--s5)/1 var(--font-display); letter-spacing: 0; color: var(--ink); text-shadow: 0 0 40px var(--glow); }
.lp-langs { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: var(--s-2); letter-spacing: .12em; color: var(--ink3); }
.lp-langs b { color: var(--accent2); font-weight: 500; }
.lp-search { max-width: 520px; margin: 2rem 0 1.4rem; }
.lp-desc { display: block; font: 300 var(--s-1)/1.6 var(--font-body); color: var(--ink2); margin-top: .3em; }
.lp-research .lx-list .v { font-family: var(--font-mono); font-size: var(--s0); letter-spacing: 0; }
.lp-repos .v { font-family: var(--font-mono) !important; font-size: var(--s0) !important; }
.lp-founder { display: grid; gap: clamp(28px, 5vw, 80px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); align-items: center; }
.lp-founder img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.lp-empty { padding: clamp(24px, 3vw, 40px); border: 1px dashed var(--line2); border-radius: var(--radius); }
.lp-empty .lx-h3 { margin-bottom: .8rem; }
.lx-card .lx-num { font-family: var(--font-mono); letter-spacing: .1em; }

/* artists */
.lp-artist { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: clamp(20px, 4vw, 64px); align-items: center; padding: clamp(14px, 2vw, 24px);
  border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(160deg, rgb(91 118 255 / .08), transparent 60%); transition: border-color .4s, transform .6s var(--ease); container-type: inline-size; }
.lp-artist:hover { border-color: var(--line2); transform: translateY(-3px); }
.lp-artist-pic .lx-pic { border-radius: 10px; overflow: hidden; }
.lp-artist-pic img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.lp-artist-in { display: grid; gap: .6rem; }
.lp-artist-name { font: 300 var(--s4)/1.05 var(--font-display); }
:lang(ja) .lp-artist-name { font-family: var(--font-jp); font-size: var(--s3); letter-spacing: .12em; }
@media (max-width: 720px) { .lp-artist { grid-template-columns: 1fr; } }
.lp-duo { display: grid; gap: clamp(10px, 1.6vw, 20px); grid-template-columns: 1fr 1fr; }
.lp-duo img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.lp-motto { font-size: var(--s2); margin: 1.4rem 0 clamp(28px, 4vw, 56px); padding-left: 1.2em; border-left: 1px solid var(--accent); }
