/* work + collection */
.more-row{display:flex;justify-content:center;margin-top:44px}
.wk,.coll{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.wc,.pc{all:unset;cursor:pointer;display:block;position:relative}
.wc.more,.pc.more{display:none}
.wk.all .wc.more,.coll.all .pc.more{display:block;animation:rise .6s var(--ease) both}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.wc-img,.pc-img{display:block;overflow:hidden;border-radius:16px;background:#e9e6e0;position:relative}
.wc-img{aspect-ratio:4/5}
.pc-img{aspect-ratio:3/4}
.wc-img img,.pc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease),filter .6s}
.pc-img img{object-position:50% 0}
.wc:hover img,.pc:hover img{transform:scale(1.045)}
.wc-img::after,.pc-img::after{content:"View";position:absolute;right:14px;bottom:14px;font:600 11px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--text);background:rgba(255,255,255,.92);padding:9px 13px;border-radius:999px;opacity:0;transform:translateY(6px);transition:.35s var(--ease)}
.wc:hover .wc-img::after,.pc:hover .pc-img::after{opacity:1;transform:none}
.wc-t,.pc-t{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:16px 2px 0;border-top:0}
.wc-t b,.pc-t b{font-family:var(--display);font-variation-settings:"wdth" 112;font-weight:750;text-transform:uppercase;font-size:17px;letter-spacing:.02em}
.wc-t small,.pc-t small{font-size:13px;color:var(--mute);text-align:right}
.wc:focus-visible .wc-img,.pc:focus-visible .pc-img{outline:2px solid var(--red);outline-offset:3px}
/* why */
.why{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,96px);align-items:center}
.why h2{font-size:clamp(38px,5vw,72px);margin:20px 0 22px}
.why h2 em{font-style:normal}
.why h2 em .w>span{color:var(--red)}
.why>div>p{color:var(--body-c);font-size:18px;max-width:50ch}
.why-media{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow)}
.why-media img{width:100%;height:100%;object-fit:cover}
.why-tag{position:absolute;left:16px;bottom:16px;font:600 11px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;background:rgba(255,255,255,.92);padding:9px 13px;border-radius:999px}
.pts{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px;margin-top:40px;padding-top:34px;border-top:1px solid var(--line)}
.pt{display:flex;gap:14px}
.pt svg{flex:none;width:26px;height:26px;color:var(--red);margin-top:2px}
.pt b{display:block;font-size:16px;margin-bottom:4px}
.pt p{font-size:14.5px;color:var(--mute);line-height:1.55}
/* service map */
.map{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:1/1;max-width:560px;width:100%;margin-left:auto;background:#e9e6e0;box-shadow:var(--shadow)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.4) contrast(1.04)}
.map-card{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:12px 18px 12px 14px;box-shadow:0 14px 30px -14px rgba(0,0,0,.35)}
.map-card b{display:block;font-size:15px}
.map-card small{display:block;font-size:12.5px;color:var(--mute)}
.map-pin{width:14px;height:14px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(227,20,28,.18)}
/* lightbox */
.lb{position:fixed;inset:0;z-index:80;background:rgba(10,10,11,.82);backdrop-filter:blur(10px);display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .35s}
.lb.on{opacity:1;pointer-events:auto}
.lb-in{background:#fff;border-radius:20px;overflow:hidden;max-width:min(560px,100%);max-height:calc(100svh - 48px);display:flex;flex-direction:column;transform:translateY(20px) scale(.98);transition:transform .45s var(--ease)}
.lb.on .lb-in{transform:none}
.lb-in img{display:block;width:100%;height:min(70svh,820px);object-fit:contain;background:#efece6}
.lb-cap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;flex-wrap:wrap}
.lb-cap small{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);font-weight:600}
.lb-cap b{display:block;font-family:var(--display);font-variation-settings:"wdth" 115;font-weight:800;text-transform:uppercase;font-size:22px;line-height:1.1}
.lb-cap span{font-size:13px;color:var(--mute)}
.lb-cap .btn{height:48px;padding:0 22px;font-size:14px}
.lb-x{position:fixed;top:18px;right:18px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 10px 30px -10px rgba(0,0,0,.5)}
@media (max-width:1080px){.map{margin:0 auto;aspect-ratio:4/3;max-width:none}.why{grid-template-columns:1fr}.why-media{aspect-ratio:4/3}.wk,.coll{gap:20px}}
@media (max-width:680px){.wk,.coll{grid-template-columns:1fr 1fr;gap:14px}.coll .pc.more:nth-child(4){display:block}.wc-t,.pc-t{flex-direction:column;gap:2px;padding-top:10px}.wc-t b,.pc-t b{font-size:14px}.wc-t small,.pc-t small{text-align:left;font-size:11.5px}.pts{grid-template-columns:1fr}.wc-img::after,.pc-img::after{display:none}}
