
/* #album */
#album{--esofa-main:#615757;--esofa-deep:#302a2a;--esofa-milk:#f5f2ef;--esofa-gold:#c5ab90;position:relative;width:100%;padding:30px 0 80px;background:#fff;}
#album *{box-sizing:border-box;}
#album .album_list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;row-gap:65px;width:100%;margin:0;padding:0;}
#album .photoItem{position:relative;min-width:0;}
#album .album_link{display:block;width:100%;color:inherit;text-decoration:none;}
#album .photo{position:relative;width:100%;aspect-ratio:4/3;margin:0;padding:0;overflow:hidden;background:var(--esofa-milk);}
#album .photo::after{content:"";position:absolute;inset:0;background:rgba(48,42,42,.13);opacity:0;pointer-events:none;transition:opacity .5s ease;}
#album .photo img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;transition:transform .85s cubic-bezier(.22,.61,.36,1);}
#album .album_link:hover .photo img{transform:scale(1.055);}
#album .album_link:hover .photo::after{opacity:1;}
#album .album_photo_arrow{position:absolute;right:22px;bottom:22px;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.9);border-radius:50%;color:#fff;font-family:"Google Sans",sans-serif;font-size:25px;line-height:1;opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease;z-index:2;}
#album .album_link:hover .album_photo_arrow{opacity:1;transform:translateY(0);}
#album .album_info{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:24px 0 20px;}
#album .album_name{flex:1;min-width:0;color:var(--esofa-deep);font-size:24px;font-weight:400;line-height:1.6;letter-spacing:.06em;overflow-wrap:anywhere;transition:color .3s ease;}
#album .album_info_arrow{display:block;flex-shrink:0;color:var(--esofa-main);font-family:"Google Sans",sans-serif;font-size:24px;line-height:1;transition:transform .35s ease;}
#album .album_link:hover .album_name{color:var(--esofa-main);}
#album .album_link:hover .album_info_arrow{transform:translate(4px,-4px);}
#album .album_line{position:relative;width:100%;height:1px;background:#e2ddd9;overflow:hidden;}
#album .album_line span{position:absolute;top:0;left:0;display:block;width:100%;height:100%;background:var(--esofa-main);transform:scaleX(0);transform-origin:left center;transition:transform .6s cubic-bezier(.22,.61,.36,1);}
#album .album_link:hover .album_line span{transform:scaleX(1);}
#album .album_link:focus-visible{outline:2px solid var(--esofa-main);outline-offset:5px;}
@media screen and (max-width:1440px){
#album{padding: 25px 0  0;}
#album .album_list{column-gap:26px;row-gap:55px;}
#album .album_name{font-size:22px;}
#album .album_info{padding:21px 0 18px;}
}
@media screen and (max-width:1200px){
#album .album_list{column-gap:20px;row-gap:48px;}
#album .album_name{font-size:21px;}
#album .album_photo_arrow{width:45px;height:45px;right:16px;bottom:16px;font-size:22px;}
}
@media screen and (max-width:980px){
#album .album_list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:45px;}
#album .album_name{font-size:22px;}
#album .album_photo_arrow{opacity:1;transform:none;width:42px;height:42px;}
}
@media screen and (max-width:640px){
#album{padding: 20px 0 0;}
#album .album_list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:35px;}
#album .photo{aspect-ratio:4/3;}
#album .photo img{aspect-ratio:4/3;}
#album .album_photo_arrow{right:10px;bottom:10px;width:34px;height:34px;font-size:18px;}
#album .album_info{gap:10px;padding:15px 0 13px;}
#album .album_name{font-size:18px;letter-spacing:.03em;}
#album .album_info_arrow{font-size:19px;}
}
@media screen and (max-width:480px){
#album .album_list{column-gap:12px;row-gap:30px;}
#album .album_name{font-size:17px;}
#album .album_info_arrow{font-size:18px;}
#album .album_photo_arrow{right:8px;bottom:8px;width:30px;height:30px;font-size:16px;}
}
@media screen and (max-width:360px){
#album .album_list{grid-template-columns:1fr;row-gap:38px;}
#album .album_name{font-size:21px;}
#album .album_info_arrow{font-size:22px;}
}
@media (prefers-reduced-motion:reduce){
#album .photo::after,#album .photo img,#album .album_photo_arrow,#album .album_name,#album .album_info_arrow,#album .album_line span{transition:none;}
}

/* #album-info */
#album-info{--esofa-main:#615757;--esofa-deep:#302a2a;--esofa-milk:#f5f2ef;--esofa-gold:#c5ab90;position:relative;width:100%;padding:30px 0 90px;background:#fff;}
#album-info *{box-sizing:border-box;}
#album-info .album_gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:3%;row-gap:65px;align-items:start;width:100%;}
#album-info .album_box{position:relative;min-width:0;grid-column:span 6;}
#album-info .album_box:nth-child(4n+1){grid-column:span 7;}
#album-info .album_box:nth-child(4n+2){grid-column:span 5;margin-top:13%;}
#album-info .album_box:nth-child(4n+3){grid-column:span 5;margin-top:5%;}
#album-info .album_box:nth-child(4n+4){grid-column:span 7;margin-top:0;}
#album-info .album_photo_link{display:block;position:relative;width:100%;text-decoration:none;cursor:zoom-in;}
#album-info .album_photo{position:relative;width:100%;overflow:hidden;background:var(--esofa-milk);}
#album-info .album_photo img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;transition:transform .9s cubic-bezier(.22,.61,.36,1);}
#album-info .album_box:nth-child(4n+2) .album_photo img{aspect-ratio:3/4;}
#album-info .album_box:nth-child(4n+3) .album_photo img{aspect-ratio:3/4;}
#album-info .album_photo_overlay{position:absolute;inset:0;background:rgba(48,42,42,.14);opacity:0;transition:opacity .45s ease;pointer-events:none;}
#album-info .album_photo_zoom{position:absolute;right:25px;bottom:25px;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:1px solid rgba(255,255,255,.9);border-radius:50%;color:#fff;opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease;z-index:2;pointer-events:none;}
#album-info .album_photo_zoom svg{display:block;width:21px;height:21px;}
#album-info .album_photo_link:hover .album_photo img{transform:scale(1.045);}
#album-info .album_photo_link:hover .album_photo_overlay{opacity:1;}
#album-info .album_photo_link:hover .album_photo_zoom{opacity:1;transform:translateY(0);}
#album-info .album_photo_link:focus-visible{outline:2px solid var(--esofa-main);outline-offset:5px;}
@media screen and (max-width:1440px){
#album-info{padding:25px 0 75px;}
#album-info .album_gallery{row-gap:55px;}
#album-info .album_box:nth-child(4n+2){margin-top:11%;}
}
@media screen and (max-width:1200px){
#album-info .album_gallery{column-gap:3%;row-gap:45px;}
#album-info .album_box:nth-child(4n+2){margin-top:9%;}
#album-info .album_photo_zoom{width:48px;height:48px;right:18px;bottom:18px;}
#album-info .album_photo_zoom svg{width:19px;height:19px;}
}
@media screen and (max-width:980px){
#album-info{padding:20px 0 65px;}
#album-info .album_gallery{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;row-gap: 22px;}
#album-info .album_box,#album-info .album_box:nth-child(4n+1),#album-info .album_box:nth-child(4n+2),#album-info .album_box:nth-child(4n+3),#album-info .album_box:nth-child(4n+4){grid-column:span 1;margin-top:0;}
#album-info .album_box:nth-child(even){margin-top: 0;}
#album-info .album_photo img,#album-info .album_box:nth-child(4n+2) .album_photo img,#album-info .album_box:nth-child(4n+3) .album_photo img{aspect-ratio:4/3;}
#album-info .album_photo_zoom{opacity:1;transform:none;width:42px;height:42px;right:12px;bottom:12px;}
}
@media screen and (max-width:640px){
#album-info{padding:15px 0 55px;}
#album-info .album_gallery{grid-template-columns:1fr;row-gap:30px;}
#album-info .album_box,#album-info .album_box:nth-child(even){grid-column:span 1;margin-top:0;}
#album-info .album_photo img,#album-info .album_box:nth-child(4n+2) .album_photo img,#album-info .album_box:nth-child(4n+3) .album_photo img{aspect-ratio:4/3;}
#album-info .album_photo_zoom{width:40px;height:40px;right:12px;bottom:12px;}
#album-info .album_photo_zoom svg{width:17px;height:17px;}
}
@media (prefers-reduced-motion:reduce){
#album-info .album_photo img,#album-info .album_photo_overlay,#album-info .album_photo_zoom{transition:none;}
}
