/*
Theme Name: Lnest.Alow — Shogyou Mujou
Theme URI: https://lnestalow-63dyfwgh.manus.space/
Author: RAMSith / Lnest.Alow
Description: Lnest.Alow official one-page artist theme. Cinematic, responsive and block-editor friendly.
Version: 1.2.1
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: lnestalow
*/

:root {
  --ink: #070707;
  --coal: #0d0d0c;
  --paper: #eee8dc;
  --muted: #9c978e;
  --line: rgba(238, 232, 220, .14);
  --gold: #c7a14c;
  --gold-soft: #8f7438;
  --max: 1280px;
  --pad: clamp(22px, 5vw, 72px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  color: var(--paper);
  background:
    radial-gradient(circle at 82% 8%, rgba(199,161,76,.08), transparent 30rem),
    var(--ink);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  overflow-x: hidden;
}
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { color: inherit; font: inherit; }
::selection { color: #080808; background: var(--gold); }
.site-shell { min-height: 100vh; }
.container { width: min(calc(100% - var(--pad) * 2), var(--max)); margin-inline: auto; }
.sr-only { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Intro */
.intro {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: #050505;
  overflow: hidden;
  transition: opacity .65s ease, visibility .65s ease;
}
.intro::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .17;
  background: repeating-linear-gradient(90deg, transparent 0 11vw, rgba(255,255,255,.035) 11vw calc(11vw + 1px));
}
.intro.is-finished { opacity: 0; visibility: hidden; pointer-events: none; }
.intro__word {
  position: absolute;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(8rem, 34vw, 31rem);
  font-weight: 900;
  line-height: .8;
  opacity: 0;
  color: var(--paper);
  transform: scale(.72);
  filter: blur(13px);
  animation: strike .58s cubic-bezier(.16,.8,.25,1) forwards;
}
.intro__word:nth-child(1) { animation-delay: .12s; }
.intro__word:nth-child(2) { animation-delay: .74s; }
.intro__word:nth-child(3) { animation-delay: 1.36s; }
.intro__word:nth-child(4) { animation-delay: 1.98s; }
.intro__lockup {
  position: relative;
  text-align: center;
  opacity: 0;
  transform: translateY(12px);
  animation: lockup .7s ease 2.62s forwards;
}
.intro__kanji { font-size: clamp(2.9rem, 8vw, 7rem); font-weight: 900; letter-spacing: .22em; margin-right: -.22em; }
.intro__artist { margin-top: 16px; color: var(--gold); font: 500 clamp(.72rem, 1vw, .9rem)/1 'Space Mono', monospace; letter-spacing: .45em; }
@keyframes strike {
  0% { opacity: 0; transform: scale(.72); filter: blur(13px); }
  24% { opacity: 1; transform: scale(1); filter: blur(0); }
  68% { opacity: 1; transform: scale(1); filter: blur(0); }
  100% { opacity: 0; transform: scale(1.1); filter: blur(3px); }
}
@keyframes lockup { to { opacity: 1; transform: none; } }

/* Header */
.site-header {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  height: 82px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid transparent;
  transition: background .3s, border-color .3s, height .3s;
}
.site-header.is-scrolled { height: 66px; background: rgba(7,7,7,.9); border-color: var(--line); backdrop-filter: blur(14px); }
.site-header__inner { display:flex; align-items:center; justify-content:space-between; gap: 24px; }
.brand { display:flex; align-items:center; gap:12px; position:relative; z-index:2; }
.brand__mark { width:30px; height:30px; object-fit:cover; object-position:center; filter: sepia(.7) saturate(.7); }
.brand__name { font: 400 1.35rem/1 'Bebas Neue', sans-serif; letter-spacing:.12em; }
.nav { display:flex; gap: clamp(20px,3vw,46px); align-items:center; }
.nav a { color: #bbb6ad; font: 400 .68rem/1 'Space Mono', monospace; letter-spacing:.19em; transition:color .2s; }
.nav a:hover { color:var(--gold); }
.nav-toggle { display:none; border:0; background:transparent; width:44px; height:44px; padding:10px; position:relative; z-index:2; }
.nav-toggle span { display:block; height:1px; background:var(--paper); margin:7px 0; transition:.25s; }

/* Hero */
.hero { min-height: 100svh; position:relative; display:grid; align-items:end; isolation:isolate; overflow:hidden; }
.hero__media { position:absolute; inset:0; z-index:-3; }
.hero__media img { width:100%; height:100%; object-fit:cover; object-position:center 48%; filter:saturate(.65) contrast(1.08) brightness(.68); transform:scale(1.025); }
.hero::before { content:''; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg, rgba(4,4,4,.96) 0%, rgba(4,4,4,.72) 42%, rgba(4,4,4,.12) 73%), linear-gradient(0deg, var(--ink), transparent 32%); }
.hero::after { content:'諸行無常'; position:absolute; z-index:-1; right:-.05em; top:14%; color:rgba(238,232,220,.034); font-weight:900; writing-mode:vertical-rl; font-size:clamp(7rem,17vw,17rem); letter-spacing:.04em; }
.hero__content { padding-top:150px; padding-bottom:clamp(60px,10vh,120px); max-width:920px; }
.eyebrow { display:flex; align-items:center; gap:14px; color:var(--gold); font:700 .69rem/1.4 'Space Mono', monospace; letter-spacing:.28em; text-transform:uppercase; }
.eyebrow::before { content:''; width:38px; height:1px; background:var(--gold); }
.hero h1 { margin:20px 0 12px; font:400 clamp(5.2rem,15vw,13.5rem)/.73 'Bebas Neue', sans-serif; letter-spacing:-.025em; text-transform:uppercase; }
.hero__jp { margin:0; font-size:clamp(1.6rem,3.8vw,3.8rem); line-height:1.35; font-weight:700; letter-spacing:.035em; max-width:15em; }
.hero__sub { margin:22px 0 0; max-width:39em; color:#aaa59d; font-size:clamp(.88rem,1.2vw,1.05rem); line-height:2; }
.hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.btn { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:14px; padding:0 24px; border:1px solid var(--line); color:var(--paper); font:700 .7rem/1 'Space Mono', monospace; letter-spacing:.15em; transition:.25s; }
.btn--gold { background:var(--gold); border-color:var(--gold); color:#080808; }
.btn:hover { border-color:var(--gold); transform:translateY(-2px); }
.hero__scroll { position:absolute; right:var(--pad); bottom:42px; color:#6e6b66; font:400 .6rem/1 'Space Mono', monospace; letter-spacing:.28em; writing-mode:vertical-rl; }
.hero__scroll::after { content:''; display:block; width:1px; height:54px; margin:15px auto 0; background:linear-gradient(var(--gold),transparent); }

/* Shared sections */
.section { position:relative; padding:clamp(88px,12vw,170px) 0; border-top:1px solid var(--line); }
.section-head { display:grid; grid-template-columns:95px 1fr; gap:clamp(18px,4vw,54px); align-items:start; margin-bottom:clamp(38px,7vw,84px); }
.section-no { color:var(--gold); font:400 .7rem/1 'Space Mono', monospace; letter-spacing:.16em; padding-top:12px; }
.section-no::after { content:''; display:block; width:52px; height:1px; background:var(--gold-soft); margin-top:15px; }
.section-kicker { color:var(--muted); font:500 .67rem/1 'Space Mono', monospace; letter-spacing:.27em; }
.section h2 { margin:10px 0 0; font:400 clamp(3.8rem,9vw,8.5rem)/.86 'Bebas Neue', sans-serif; letter-spacing:.01em; }
.section-intro { margin:20px 0 0; color:#938f87; max-width:48em; line-height:1.9; font-size:.9rem; }
.reveal { opacity:0; transform:translateY(28px); transition:opacity .75s ease, transform .75s ease; }
.reveal.is-visible { opacity:1; transform:none; }

/* Manifesto */
.manifesto { overflow:hidden; }
.manifesto__grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:clamp(36px,8vw,110px); align-items:end; }
.manifesto__lead { margin:0; font-weight:700; font-size:clamp(2.1rem,5vw,5.3rem); line-height:1.35; letter-spacing:.02em; }
.manifesto__lead em { font-style:normal; color:var(--gold); }
.manifesto__copy { color:#aaa59d; line-height:2.15; font-size:clamp(.9rem,1.2vw,1.03rem); }
.manifesto__copy strong { color:var(--paper); font-weight:500; }
.manifesto__ghost { position:absolute; right:-.03em; bottom:-.22em; color:rgba(255,255,255,.023); font:900 clamp(9rem,28vw,28rem)/1 'Noto Sans JP'; pointer-events:none; }

/* Videos */
.videos { background:linear-gradient(rgba(7,7,7,.93),rgba(7,7,7,.98)), url('assets/images/mv-bg.webp') center/cover fixed; }
.video-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(14px,2vw,28px); }
.video-card { grid-column:span 4; position:relative; min-height:310px; overflow:hidden; border:1px solid var(--line); background:#111; }
.video-card:nth-child(1), .video-card:nth-child(6) { grid-column:span 8; }
.video-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(.3) brightness(.62); transition:transform .65s ease, filter .4s; }
.video-card::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 32%,rgba(3,3,3,.93)); }
.video-card__content { position:absolute; z-index:2; inset:auto 22px 22px; }
.video-card__meta { display:flex; gap:12px; color:var(--gold); font:400 .62rem/1 'Space Mono',monospace; letter-spacing:.13em; }
.video-card h3 { margin:10px 0 0; font:400 clamp(1.8rem,3vw,3.1rem)/1 'Bebas Neue',sans-serif; letter-spacing:.03em; }
.video-card__play { position:absolute; z-index:2; right:20px; top:20px; width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(0,0,0,.22); transition:.3s; }
.video-card:hover img { transform:scale(1.045); filter:grayscale(0) brightness(.78); }
.video-card:hover .video-card__play { background:var(--gold); border-color:var(--gold); color:#080808; }

/* Art */
.art-track { display:flex; gap:18px; overflow-x:auto; scrollbar-width:none; cursor:grab; padding:0 var(--pad) 30px; scroll-snap-type:x mandatory; }
.art-track::-webkit-scrollbar { display:none; }
.art-track:active { cursor:grabbing; }
.art-card { flex:0 0 clamp(250px,28vw,390px); scroll-snap-align:center; }
.art-card__frame { aspect-ratio:4/5; overflow:hidden; border:1px solid var(--line); background:#111; }
.art-card img { width:100%; height:100%; object-fit:cover; filter:saturate(.7); transition:.5s; }
.art-card:hover img { transform:scale(1.03); filter:saturate(1); }
.art-card p { margin:14px 0 0; color:#b4afa6; font:400 .67rem/1.5 'Space Mono',monospace; letter-spacing:.08em; }
.drag-note { width:min(calc(100% - var(--pad)*2),var(--max)); margin:12px auto 0; color:#6d6963; font:400 .62rem/1 'Space Mono',monospace; letter-spacing:.18em; }

/* Releases */
.platforms { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.platforms a { padding:11px 14px; border:1px solid var(--line); color:#aaa59d; font:400 .65rem/1 'Space Mono',monospace; letter-spacing:.08em; transition:.2s; }
.platforms a:hover { color:#080808; border-color:var(--gold); background:var(--gold); }
.release-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.release { border:1px solid var(--line); background:#0b0b0b; overflow:hidden; }
.release__toggle { width:100%; padding:0; text-align:left; border:0; background:transparent; cursor:pointer; }
.release__cover { aspect-ratio:1; position:relative; overflow:hidden; background:linear-gradient(145deg,#28251d,#080808); }
.release__cover img { width:100%; height:100%; object-fit:cover; transition:transform .55s; }
.release__cover--type { display:grid; place-items:center; }
.release__cover--type span { font:400 clamp(3rem,7vw,6.5rem)/1 'Bebas Neue',sans-serif; letter-spacing:.12em; color:var(--gold); }
.release__count { position:absolute; top:15px; left:15px; padding:8px 10px; background:rgba(5,5,5,.82); color:var(--gold); font:700 .58rem/1 'Space Mono',monospace; letter-spacing:.12em; }
.release__body { padding:20px; }
.release__num { color:var(--gold); font:400 .62rem/1 'Space Mono',monospace; }
.release h3 { margin:9px 0 0; font:400 clamp(1.55rem,2.3vw,2.2rem)/1.1 'Bebas Neue',sans-serif; letter-spacing:.03em; }
.release__hint { display:flex; align-items:center; justify-content:space-between; margin-top:17px; color:#858179; font:400 .6rem/1 'Space Mono',monospace; letter-spacing:.12em; }
.release__plus { font-size:1.15rem; color:var(--gold); transition:.3s; }
.release.is-open .release__plus { transform:rotate(45deg); }
.release__tracks { max-height:0; overflow:hidden; transition:max-height .45s ease; border-top:1px solid transparent; }
.release.is-open .release__tracks { max-height:600px; border-color:var(--line); }
.release__tracks ol { list-style:none; margin:0; padding:11px 20px 19px; counter-reset:track; }
.release__tracks li { counter-increment:track; display:grid; grid-template-columns:28px 1fr; gap:10px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.07); color:#aaa59d; font-size:.78rem; }
.release__tracks li::before { content:counter(track,decimal-leading-zero); color:var(--gold-soft); font:400 .58rem/1.6 'Space Mono',monospace; }

/* Profile */
.profile { overflow:hidden; background:linear-gradient(90deg,rgba(7,7,7,.99),rgba(7,7,7,.79) 55%,rgba(7,7,7,.94)),url('assets/images/profile-bg.webp') center/cover; }
.profile__grid { display:grid; grid-template-columns:minmax(280px,.76fr) minmax(0,1.24fr); gap:clamp(36px,8vw,120px); align-items:center; }
.profile__photo { position:relative; max-width:520px; }
.profile__photo::before { content:''; position:absolute; inset:-13px 13px 13px -13px; border:1px solid var(--gold-soft); z-index:0; }
.profile__photo img { position:relative; z-index:1; aspect-ratio:4/5; object-fit:cover; filter:saturate(.67) contrast(1.07); }
.profile__copy h2 { margin:10px 0 24px; }
.profile__copy .lead { margin:0 0 24px; font-size:clamp(1.35rem,2.5vw,2.2rem); font-weight:600; line-height:1.65; }
.profile__copy p { color:#aaa59d; line-height:2.05; }
.profile__signature { margin-top:34px; color:var(--gold); font:400 1rem/1 'Space Mono',monospace; letter-spacing:.2em; }

/* Connect */
.connect { text-align:center; }
.connect .section-head { text-align:left; }
.connect__statement { max-width:950px; margin:0 auto clamp(40px,6vw,74px); font-size:clamp(2rem,5.4vw,5.7rem); line-height:1.25; font-weight:700; }
.connect__statement span { color:var(--gold); }
.social-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); }
.social-grid a { min-height:160px; padding:24px; display:flex; flex-direction:column; justify-content:space-between; text-align:left; border-right:1px solid var(--line); transition:.3s; }
.social-grid a:last-child { border-right:0; }
.social-grid a:hover { background:var(--gold); color:#080808; }
.social-grid small { font:400 .6rem/1 'Space Mono',monospace; letter-spacing:.15em; }
.social-grid strong { font:400 clamp(1.55rem,2.6vw,2.5rem)/1 'Bebas Neue',sans-serif; letter-spacing:.06em; }
.social-grid span { color:#858179; font-size:.72rem; word-break:break-all; }
.social-grid a:hover span { color:#2d291f; }

.site-footer { padding:38px 0; border-top:1px solid var(--line); }
.site-footer__inner { display:flex; justify-content:space-between; gap:20px; color:#6f6b64; font:400 .6rem/1.7 'Space Mono',monospace; letter-spacing:.08em; }
.site-footer strong { color:var(--paper); font:400 1rem/1 'Bebas Neue',sans-serif; letter-spacing:.17em; }

@media (max-width: 900px) {
  .site-header { height:68px; }
  .nav-toggle { display:block; }
  .nav { position:fixed; inset:0; background:rgba(5,5,5,.98); display:flex; flex-direction:column; justify-content:center; gap:32px; opacity:0; visibility:hidden; transition:.3s; }
  .nav a { font-size:.9rem; }
  body.nav-open .nav { opacity:1; visibility:visible; }
  body.nav-open .nav-toggle span:first-child { transform:translateY(4px) rotate(45deg); }
  body.nav-open .nav-toggle span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .section-head { grid-template-columns:1fr; gap:18px; }
  .section-no { display:flex; align-items:center; gap:12px; }
  .section-no::after { margin:0; }
  .manifesto__grid, .profile__grid { grid-template-columns:1fr; }
  .video-card, .video-card:nth-child(1), .video-card:nth-child(6) { grid-column:span 6; }
  .release-grid { grid-template-columns:repeat(2,1fr); }
  .social-grid { grid-template-columns:repeat(2,1fr); }
  .social-grid a:nth-child(2) { border-right:0; }
  .social-grid a:nth-child(-n+2) { border-bottom:1px solid var(--line); }
}

@media (max-width: 620px) {
  :root { --pad:22px; }
  .brand__mark { width:27px; height:27px; }
  .brand__name { font-size:1.15rem; }
  .hero { min-height:780px; }
  .hero__content { padding-top:120px; padding-bottom:78px; }
  .hero h1 { font-size:clamp(4.7rem,24vw,7rem); }
  .hero__jp { font-size:clamp(1.55rem,8vw,2.35rem); }
  .hero__sub br { display:none; }
  .hero__scroll { display:none; }
  .btn { width:100%; }
  .manifesto__lead { font-size:clamp(1.9rem,9vw,3rem); }
  .video-grid { display:block; }
  .video-card { min-height:250px; margin-bottom:14px; }
  .video-card:first-child { min-height:330px; }
  .release-grid { grid-template-columns:1fr; }
  .profile__copy { padding-top:18px; }
  .social-grid { grid-template-columns:1fr; }
  .social-grid a { min-height:130px; border-right:0; border-bottom:1px solid var(--line); }
  .social-grid a:last-child { border-bottom:0; }
  .site-footer__inner { flex-direction:column; }
}

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