/* Moonlit v4 layer — loads after moonlit-v3.css */
/* 1. mobile menu */
.hd .mb{display:none;width:44px;height:44px;margin-right:-10px;background:none;border:0;cursor:pointer;position:relative;z-index:60;color:var(--bone)}
.hd.tight .mb,.hd.lite .mb,.hd.open .mb{color:var(--esp)}
.hd .mb i{position:absolute;left:11px;right:11px;height:1px;background:currentColor;transition:transform .45s var(--ease),top .45s var(--ease)}
.hd .mb i:first-child{top:18px}.hd .mb i:last-child{top:26px}
.hd.open .mb i:first-child{top:22px;transform:rotate(45deg)}.hd.open .mb i:last-child{top:22px;transform:rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:50;background:var(--bone);color:var(--esp);display:flex;flex-direction:column;justify-content:space-between;padding:120px 32px 40px;overflow-y:auto;gap:40px;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease);pointer-events:none}
.mnav.open{clip-path:inset(0 0 0 0);pointer-events:auto}
.mnav a.l{display:block;font-family:var(--disp);font-weight:700;font-size:clamp(34px,9vw,52px);letter-spacing:.06em;text-transform:uppercase;color:var(--esp);padding:10px 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.mnav.open a.l{opacity:1;transform:none;transition-delay:calc(.15s + var(--i)*60ms)}
.mnav a.l small{font-family:'lust-didone',serif;font-style:italic;font-weight:500;font-size:.42em;letter-spacing:0;text-transform:none;color:var(--terra);margin-left:14px;vertical-align:middle}
.mnav .ft{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(51,41,31,.55);opacity:0;transition:opacity .6s .5s}
.mnav.open .ft{opacity:1}
.mnav .ft .btn{padding:16px 28px}
.mnav .mk{position:absolute;right:32px;top:104px;width:70px;height:120px;background:url("../assets/kit/t-crescent-esp.webp") no-repeat 58% 12%/34% auto,url("../assets/kit/t-arch-plain-wheatink.webp") center/contain no-repeat;filter:brightness(.4) sepia(.4);opacity:0;transition:opacity .8s .3s}
.mnav.open .mk{opacity:.9;animation:moonrise 9s var(--ease) infinite alternate}
body.lock{overflow:hidden}
@media(max-width:1020px){.hd .mb{display:block}.hd nav,.hd .cta{display:none}}
/* 2. hero: quieter */
.hero .in p.v4l{font-size:15px;max-width:40ch;margin-top:22px;color:rgba(246,241,231,.75);letter-spacing:.01em}
.hero .bar{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;padding:0 48px;height:56px;border-top:1px solid rgba(246,241,231,.22);font-size:9px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:rgba(246,241,231,.6);z-index:2}
.hero .bar span{display:flex;align-items:center;gap:10px}
.hero .bar .dot{width:6px;height:6px;border-radius:50%;background:var(--peach);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{opacity:.3}}
/* 3. films strip: horizontal scroll */
.strip{margin-top:64px;position:relative}
.strip .rail{--pad:max(48px,calc((100vw - 1280px)/2 + 48px));display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);scrollbar-width:none;padding:0 var(--pad);margin:0 calc(50% - 50vw);cursor:grab}
.strip .rail::-webkit-scrollbar{display:none}
.strip .rail.drag{cursor:grabbing;scroll-snap-type:none}
.strip .card{flex:none;width:min(78vw,880px);scroll-snap-align:start}
.strip .card.sm{width:min(64vw,560px)}
.strip .card .vid{aspect-ratio:16/9}
.strip .card .cap{display:flex;justify-content:space-between;margin-top:16px;font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(246,241,231,.6)}
.strip .card .cap span:first-child{color:var(--bone)}
.strip .ctl{display:flex;justify-content:space-between;align-items:center;margin-top:34px;gap:30px}
.strip .prog{flex:1;height:1px;background:rgba(246,241,231,.18);position:relative}
.strip .prog i{position:absolute;left:0;top:0;height:100%;width:20%;background:var(--peach);transition:width .2s linear,left .2s linear}
.strip .arr{display:flex;gap:12px}
.strip .arr button{width:48px;height:48px;border:1px solid rgba(246,241,231,.35);background:none;color:var(--bone);cursor:pointer;font-size:14px;transition:all .3s var(--ease)}
.strip .arr button:hover{background:var(--bone);color:var(--plum)}
.strip .cnt{font-family:'lust-didone',serif;font-style:italic;font-size:22px;color:var(--peach);min-width:64px}
/* 4. monumental moment: type + overlapping photo */
.monu{position:relative;margin-top:170px;padding:0 48px 160px;max-width:1280px;margin-left:auto;margin-right:auto}
.monu .num{font-family:var(--disp);font-weight:700;font-size:clamp(88px,17vw,290px);line-height:.82;letter-spacing:.02em;text-transform:uppercase;color:var(--mid);text-align:left}
.monu .num .w:last-child{display:block;padding-left:12%}
.monu .ph{position:absolute;right:calc(48px + 8%);top:38%;width:clamp(180px,26vw,380px);aspect-ratio:.8;z-index:2;box-shadow:0 40px 80px -40px rgba(51,41,31,.6)}
.monu .ph .zoom{background-size:cover;background-position:center;position:absolute;inset:0}
.monu .foot{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:54px;max-width:44%}
.monu .foot .kick{font-size:clamp(26px,3vw,40px)}
.monu .foot p{max-width:38ch;font-size:16px;line-height:1.7;color:rgba(51,41,31,.72);text-wrap:pretty}
@media(max-width:1020px){.monu{padding-bottom:0}.monu .ph{position:relative;right:auto;top:auto;width:62%;margin:-14% 0 0 auto}.monu .foot{max-width:none;margin-top:36px}}
/* 5. quieter chrome */
.v4 .sec .kick.q,.v4 .dks .kick.q,.v4 .band-wheat .kick.q{display:none}
/* 6. story parallax + hover caption */
.story .bg{will-change:transform;animation:none;transform:translateY(var(--py,0)) scale(1.12)}
.ph .capov{position:absolute;left:0;right:0;bottom:0;padding:18px 22px;background:linear-gradient(to top,rgba(24,29,41,.75),transparent);color:var(--bone);font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;display:flex;justify-content:space-between;transform:translateY(100%);transition:transform .5s var(--ease)}
.ph:hover .capov{transform:none}
.ph:hover .zoom{transform:scale(1.02)!important}
/* mobile polish */
@media(max-width:720px){.wrap{padding:0 24px}.hero .bar{padding:0 24px;height:48px}.hero .bar span:last-child{display:none}.strip .rail{--pad:24px;gap:16px}.strip .card,.strip .card.sm{width:84vw}.monu{padding:0 24px}.statm{padding:110px 24px 0}.press{padding:18px 0}.story{min-height:78vh}.band-wheat,.band-blush,.band-plum{padding:80px 0 90px;margin-top:100px}.sec{margin-top:100px}.mnav{padding:110px 24px 32px}.mnav .mk{right:24px}}

/* journal: reading progress, drop cap, figure reveal, share */
.rprog{position:fixed;left:0;right:0;top:0;height:2px;z-index:45;pointer-events:none}
.rprog i{display:block;height:100%;width:0;background:var(--terra);transition:width .1s linear}
.v4 .art .lead::first-letter{font-family:'lust-didone',serif;font-style:italic;font-weight:500;font-size:4.2em;line-height:.8;float:left;margin:.08em .12em 0 0;color:var(--terra)}
.v4 .art p a{border-bottom:1px solid color-mix(in srgb,var(--terra) 40%,transparent);transition:border-color .2s,color .2s}
.v4 .art p a:hover{border-color:var(--terra)}
.v4 .art h2{position:relative}
.v4 .art h2:before{content:"";position:absolute;left:-28px;top:.55em;width:16px;height:1px;background:var(--terra);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease) .2s}
.v4 .art h2.is-in:before{transform:none}
.v4 .art .fig .ph{overflow:hidden}
.v4 .art .pull{position:relative;padding-left:0}
.v4 .art .pull em{color:var(--terra)}
.ttr{display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:rgba(246,241,231,.7)}
.ttr:before{content:"";width:22px;height:1px;background:var(--peach)}
/* journal index: card hover lift + arrow */
.v4 .jc{transition:transform .5s var(--ease)}
.v4 .jc:hover{transform:translateY(-6px)}
.v4 .jc .ph{overflow:hidden}
