@font-face{font-family:"Be Vietnam Pro";src:url("bvp-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Be Vietnam Pro";src:url("bvp-500.woff2") format("woff2");font-weight:500 900;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url("cormorant-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
:root{--accent:#8e2336;--wine:#561521;--sakura:#e8bcc7;--sky:#dceeff;--paper:#fffdf7;--ink:#15202b;--muted:#71808c;--pad:clamp(1rem,4vw,4.4rem);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 "Be Vietnam Pro",Arial,sans-serif;overflow-x:clip}
body::selection{background:var(--accent);color:var(--paper)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.album-skip{position:fixed;z-index:200;left:1rem;top:1rem;background:var(--accent);color:#fff;padding:.7rem 1rem;transform:translateY(-180%)}
.album-skip:focus{transform:none}
.album-nav{position:fixed;z-index:80;inset:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.35rem var(--pad);color:var(--paper);background:linear-gradient(180deg,rgba(10,13,17,.78),rgba(10,13,17,.42) 62%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.album-nav__brand{justify-self:start;line-height:0}
.album-nav__brand img{width:clamp(6.8rem,8vw,8.2rem);height:auto;filter:drop-shadow(0 6px 14px rgba(0,0,0,.28))}
.album-nav__links{display:flex;gap:2rem;text-transform:uppercase;font-size:.78rem;font-weight:500;letter-spacing:.14em}
.album-nav__links a{position:relative}
.album-nav__links a::after{content:"";position:absolute;left:0;right:100%;bottom:-.3rem;height:1px;background:currentColor;transition:right .3s var(--ease)}
.album-nav__links a:hover::after,.album-nav__links a:focus-visible::after,.album-nav__links a[aria-current="page"]::after{right:0}
.album-nav__actions{justify-self:end;display:flex;align-items:center;gap:1.5rem}
.album-nav__team,.album-nav__current{text-transform:uppercase;font-size:.78rem;font-weight:500;letter-spacing:.14em}
.album-nav__current{position:relative}.album-nav__current::after{content:"";position:absolute;left:0;right:0;bottom:-.3rem;height:1px;background:currentColor}
.album-index-hero{position:relative;min-height:88svh;display:flex;flex-direction:column;justify-content:flex-end;padding:8rem var(--pad) 5rem;background:linear-gradient(135deg,#dceeff 0%,#eef6fb 62%,#f7e8eb 100%);border-bottom:1px solid var(--ink);overflow:hidden;isolation:isolate}
.album-index-hero::before{content:"ARCHIVE";position:absolute;z-index:1;right:-.05em;top:-.05em;font-size:clamp(8rem,23vw,25rem);font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.28);letter-spacing:-.08em;pointer-events:none}
.album-index-hero::after{content:"春";position:absolute;z-index:1;right:var(--pad);bottom:-.19em;color:rgba(255,233,237,.16);font-family:"Yu Mincho",serif;font-size:clamp(12rem,31vw,32rem);line-height:1;pointer-events:none}
.album-index-hero__media{position:absolute;z-index:0;inset:0 0 0 auto;width:46%;margin:0;overflow:hidden;background:#182028}
.album-index-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#e2f0fb 0%,rgba(226,240,251,.12) 32%,rgba(11,15,19,.08) 68%),linear-gradient(0deg,rgba(8,11,14,.32),transparent 42%)}
.album-index-hero__media picture,.album-index-hero__media img{display:block;width:100%;height:100%}
.album-index-hero__image{object-fit:cover;object-position:50% 56%;animation:cover-settle 1.6s var(--ease) both}
.album-index-hero__copy{position:relative;z-index:2;width:58%}
.album-kicker{position:relative;z-index:1;margin:0 0 1rem;text-transform:uppercase;font-size:.78rem;font-weight:600;letter-spacing:.19em}
.album-kicker span{color:var(--accent);font-family:"Yu Mincho",serif;font-size:1.5em}
.album-index-hero h1{position:relative;z-index:1;margin:0;max-width:72rem;font-size:clamp(4.2rem,9.3vw,9.8rem);font-weight:800;line-height:.84;letter-spacing:-.065em;text-transform:uppercase}
.album-index-hero h1 em{display:inline-block;margin-left:clamp(1.8rem,9vw,10rem);color:var(--accent);font:italic 400 .8em/1 "Cormorant",Georgia,serif;text-transform:none;letter-spacing:-.03em}
.album-index-hero__intro{position:relative;z-index:1;max-width:35rem;margin:2.5rem 0 0;font-size:clamp(1.02rem,1.6vw,1.35rem)}
.album-scroll{position:absolute;z-index:3;right:var(--pad);bottom:2rem;background:var(--accent);color:var(--paper);padding:.65rem .85rem;text-transform:uppercase;font-size:.74rem;font-weight:600;letter-spacing:.13em}
.album-scroll span{margin-left:1.2rem}
.album-list{padding:clamp(5rem,9vw,9rem) var(--pad);background:var(--paper)}
.album-list__head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--ink);padding-bottom:1.25rem;margin-bottom:clamp(2rem,4vw,4rem)}
.album-list__head p,.album-list__head h2{margin:0}.album-list__head p,.album-list__head>span{text-transform:uppercase;font-size:.74rem;font-weight:600;letter-spacing:.15em;color:var(--muted)}
.album-list__head h2{margin-top:.4rem;font-size:clamp(2rem,4vw,4rem);line-height:.95;letter-spacing:-.045em;text-transform:uppercase}
.album-list__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(4rem,8vw,8rem) clamp(1rem,2.2vw,2.2rem)}
.album-list__grid--single{grid-template-columns:1fr}
.album-card{display:block;min-width:0;border-top:1px solid var(--ink);padding-top:.75rem}
.album-card--featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(17rem,.55fr);gap:clamp(1.5rem,4vw,4rem);align-items:end;border-top:0;padding-top:0}
.album-card figure{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--ink)}
.album-card--featured figure{aspect-ratio:16/10}
.album-card picture,.album-card img{width:100%;height:100%}
.album-card img{position:absolute;inset:0;object-fit:cover;object-position:50% 54%;transition:transform 1s var(--ease),filter .6s ease}
.album-card figure::after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,rgba(10,13,17,.55))}
.album-card__open{position:absolute;z-index:2;right:1rem;bottom:1rem;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(10,13,17,.48);color:#fff;padding:.65rem .9rem;text-transform:uppercase;font-size:.7rem;letter-spacing:.12em;backdrop-filter:blur(9px)}
.album-card:hover img{transform:scale(1.025);filter:saturate(1.05)}
.album-card__info{padding-top:1.25rem}.album-card--featured .album-card__info{border-top:2px solid var(--ink)}
.album-card__meta,.album-card__foot{display:flex;justify-content:space-between;gap:1rem;align-items:center;text-transform:uppercase;font-size:.7rem;letter-spacing:.12em}
.album-card__meta span{color:var(--accent);font-weight:700}.album-card__meta p,.album-card__foot small{margin:0;color:var(--muted);font:inherit}
.album-card h2{margin:clamp(1.2rem,3vw,2.4rem) 0 1rem;font-size:clamp(3rem,6vw,6.5rem);line-height:.86;letter-spacing:-.06em;text-transform:uppercase}
.album-card:not(.album-card--featured) h2{font-size:clamp(2.6rem,5vw,4.6rem)}
.album-card__description{max-width:34rem;margin:0 0 2rem;color:var(--muted);font-size:.95rem}
.album-card__foot{border-top:1px solid rgba(21,32,43,.24);padding-top:.85rem}.album-card__foot>span{font-weight:600;color:var(--ink)}
.album-library-note{display:grid;grid-template-columns:minmax(10rem,.35fr) minmax(0,1fr);gap:2rem;margin-top:clamp(5rem,11vw,11rem);padding:clamp(2rem,4vw,4rem) 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.album-library-note span{text-transform:uppercase;font-size:.72rem;font-weight:600;letter-spacing:.15em;color:var(--accent)}
.album-library-note p{max-width:52rem;margin:0;font-size:clamp(1.25rem,2.4vw,2.1rem);line-height:1.35;letter-spacing:-.025em}
.album-cover{position:relative;height:100svh;min-height:42rem;background:#0c1116;color:#fff;overflow:hidden;isolation:isolate}
.album-cover__media,.album-cover__media picture,.album-cover__media img{position:absolute;inset:0;width:100%;height:100%}
.album-cover__image{object-fit:cover;object-position:50% 46%;animation:cover-settle 1.6s var(--ease) both}
.album-cover__shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(7,10,14,.72),rgba(7,10,14,.08) 58%),linear-gradient(0deg,rgba(7,10,14,.72),transparent 58%)}
.album-cover__copy{position:absolute;z-index:3;left:var(--pad);right:var(--pad);bottom:clamp(2.5rem,7vw,7rem);max-width:64rem}
.album-cover__copy>p:first-child{margin:0 0 1rem;text-transform:uppercase;font-size:.78rem;font-weight:600;letter-spacing:.18em}
.album-cover h1{margin:0;font-size:clamp(5rem,13vw,14rem);font-weight:800;line-height:.78;letter-spacing:-.075em;text-transform:uppercase}
.album-cover h1 em{color:var(--sakura);font:italic 400 .78em/1 "Cormorant",Georgia,serif}
.album-cover__description{max-width:38rem;margin:2rem 0;font-size:clamp(1rem,1.45vw,1.25rem);color:rgba(255,255,255,.86)}
.album-cover__copy>a{display:inline-flex;gap:2rem;border:1px solid rgba(255,255,255,.75);border-radius:999px;background:rgba(8,11,15,.34);padding:.8rem 1rem;text-transform:uppercase;font-size:.73rem;font-weight:600;letter-spacing:.12em;backdrop-filter:blur(10px)}
.album-cover__petals{position:absolute;z-index:2;inset:0;pointer-events:none;overflow:hidden}
.album-cover__petals img{--x:20%;--delay:-2s;--duration:14s;position:absolute;top:-12%;left:var(--x);width:clamp(1.2rem,2.2vw,2.2rem);opacity:0;animation:album-petal var(--duration) linear infinite;animation-delay:var(--delay);filter:drop-shadow(0 4px 7px rgba(86,21,33,.25))}
.album-cover__petals img:nth-child(2){--x:38%;--delay:-8s;--duration:17s}.album-cover__petals img:nth-child(3){--x:55%;--delay:-4s;--duration:15s}.album-cover__petals img:nth-child(4){--x:72%;--delay:-12s;--duration:18s}.album-cover__petals img:nth-child(5){--x:87%;--delay:-6s;--duration:16s}.album-cover__petals img:nth-child(6){--x:96%;--delay:-14s;--duration:20s}
@keyframes album-petal{0%{opacity:0;transform:translate3d(0,-8vh,0) rotate(0)}10%{opacity:.7}48%{transform:translate3d(-7vw,54vh,0) rotate(220deg)}100%{opacity:0;transform:translate3d(9vw,112vh,0) rotate(520deg)}}
@keyframes cover-settle{from{opacity:.3;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
#album-story{padding:clamp(3rem,5vw,5rem) var(--pad) clamp(5rem,8vw,8rem)}
.album-grid{columns:4 15rem;column-gap:clamp(.35rem,.75vw,.75rem)}
.album-photo{position:relative;display:block;width:100%;margin:0 0 clamp(.35rem,.75vw,.75rem);padding:0;border:0;background:#e8edf1;cursor:zoom-in;break-inside:avoid;overflow:hidden}
.album-photo picture,.album-photo img{width:100%;height:auto}
.album-photo img{transition:transform .7s var(--ease),filter .5s ease}
.album-photo>span{position:absolute;right:.45rem;bottom:.35rem;color:#fff;font-size:.64rem;letter-spacing:.12em;text-shadow:0 1px 5px rgba(0,0,0,.8);opacity:.55}
.album-photo:hover img,.album-photo:focus-visible img{transform:scale(1.018);filter:saturate(1.05)}
.js .album-photo{opacity:0;transform:translate3d(0,2rem,0);transition:opacity .65s var(--photo-delay,0ms) ease,transform .9s var(--photo-delay,0ms) var(--ease)}
.js .album-photo.is-visible{opacity:1;transform:none}
.album-ending{display:grid;place-items:center;text-align:center;min-height:70svh;padding:5rem var(--pad);background:var(--wine);color:var(--paper)}
.album-ending p{margin:0 0 3rem;font-size:clamp(3rem,8vw,8rem);font-weight:800;line-height:.9;letter-spacing:-.06em;text-transform:uppercase}
.album-ending p em{display:block;color:var(--sakura);font:italic 400 .7em/1 "Cormorant",Georgia,serif;text-transform:none}
.album-ending a{border-bottom:1px solid currentColor;padding-bottom:.35rem;text-transform:uppercase;font-size:.76rem;letter-spacing:.13em}
.album-footer{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;padding:clamp(4rem,7vw,7rem) var(--pad) 2rem;background:var(--ink);color:#fff}
.album-footer>a{grid-row:span 2;line-height:0}.album-footer img{width:clamp(16rem,40vw,38rem)}
.album-footer>div{display:flex;gap:1.2rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.album-footer small{text-align:right;color:rgba(255,255,255,.55)}
.lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(255,255,255,.985);color:var(--ink);overflow:hidden}
.lightbox::backdrop{background:rgba(255,255,255,.98)}
.lightbox__bar{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border-bottom:1px solid rgba(21,32,43,.12);background:rgba(255,255,255,.82);backdrop-filter:blur(12px)}
.lightbox__bar>div{display:flex;gap:.4rem}.lightbox__bar button{border:1px solid rgba(21,32,43,.22);border-radius:999px;background:#fff;padding:.52rem .75rem;cursor:pointer;font-size:.72rem}
.lightbox__counter{font-size:.75rem;letter-spacing:.12em}
.lightbox figure{position:absolute;inset:4.2rem 4.5rem 2.3rem;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;margin:0}
.lightbox__image{max-width:100%;max-height:calc(100vh - 7.5rem);object-fit:contain}
.lightbox figcaption{padding-top:.5rem;font-size:.78rem;color:var(--muted)}
.lightbox__arrow{position:absolute;z-index:3;top:50%;width:3rem;height:3rem;border:1px solid rgba(21,32,43,.18);border-radius:50%;background:rgba(255,255,255,.86);font-size:2rem;line-height:1;cursor:pointer}.lightbox__arrow--prev{left:.7rem}.lightbox__arrow--next{right:.7rem}
body.lightbox-open{overflow:hidden}
.album-toast{position:fixed;z-index:120;left:50%;bottom:1.25rem;transform:translate(-50%,calc(100% + 3rem));background:var(--ink);color:#fff;border-radius:999px;padding:.65rem 1rem;font-size:.76rem;transition:transform .35s var(--ease)}
.album-toast.is-visible{transform:translate(-50%,0)}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}

@media(max-width:800px){
  .album-nav{grid-template-columns:1fr auto;padding:.28rem 1rem}.album-nav__links{display:none}.album-nav__actions{grid-column:2;gap:.9rem}.album-nav__team,.album-nav__current{font-size:.66rem;letter-spacing:.13em}.album-nav__brand img{width:6.2rem}
  .album-index-hero{min-height:100svh;justify-content:flex-start;padding:calc(46svh + 2.6rem) 1rem 3rem}.album-index-hero::before{top:40svh;right:-.08em;font-size:clamp(7rem,27vw,11rem);-webkit-text-stroke-color:rgba(21,32,43,.09)}.album-index-hero::after{z-index:0;color:rgba(142,35,54,.08)}.album-index-hero__media{inset:0 0 auto;width:100%;height:47svh}.album-index-hero__media::after{background:linear-gradient(0deg,#e2f0fb 0%,rgba(226,240,251,.08) 26%,rgba(8,11,14,.12) 68%)}.album-index-hero__image{object-position:50% 59%}.album-index-hero__copy{width:100%}.album-index-hero h1{font-size:clamp(3.65rem,18vw,5.8rem)}.album-index-hero h1 em{margin-left:0}.album-index-hero__intro{font-size:1rem;max-width:23rem}.album-scroll{position:relative;right:auto;bottom:auto;align-self:flex-start;margin-top:2rem}
  .album-list{padding-inline:1rem}.album-list__head{align-items:flex-start;gap:1.5rem}.album-list__head h2{font-size:1.8rem}.album-list__grid{grid-template-columns:1fr;gap:4.5rem}.album-card--featured{display:block}.album-card figure,.album-card--featured figure{aspect-ratio:4/5}.album-card__meta{align-items:flex-start}.album-card h2,.album-card:not(.album-card--featured) h2{font-size:clamp(3rem,14vw,4.6rem)}.album-library-note{grid-template-columns:1fr;gap:1rem}
  .album-cover__shade{background:linear-gradient(0deg,rgba(7,10,14,.82),transparent 72%)}.album-cover__image{object-position:52% 50%}.album-cover__copy{left:1rem;right:1rem;bottom:2rem}.album-cover h1{font-size:clamp(4.5rem,23vw,7.5rem)}.album-cover__description{font-size:.98rem;max-width:28rem}.album-cover__petals img:nth-child(n+5){display:none}
  #album-story{padding:2rem 1rem 4rem}
  .album-grid{columns:2;column-gap:.35rem}.album-photo{margin-bottom:.35rem}
  .album-footer{grid-template-columns:1fr;padding-inline:1rem}.album-footer>a{grid-row:auto}.album-footer>div{flex-direction:column;gap:.35rem}.album-footer small{text-align:left}
  .lightbox__bar{padding:.55rem .7rem}.lightbox__bar button{padding:.48rem .6rem}.lightbox__bar [data-lightbox-share]{display:none}.lightbox figure{inset:3.9rem .5rem 1.5rem}.lightbox__image{max-height:calc(100vh - 6.4rem)}.lightbox__arrow{top:auto;bottom:.65rem;width:2.6rem;height:2.6rem}.lightbox__arrow--prev{left:.65rem}.lightbox__arrow--next{right:.65rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.album-cover__petals{display:none}.js .album-photo{opacity:1;transform:none}}
