/* Every control answers the hand. No diagonal arrows anywhere. 2026-10-23 */
a,button,summary{transition:transform .32s cubic-bezier(.2,.7,.2,1),opacity .3s,background-color .3s,border-color .3s,color .3s,box-shadow .35s}
.is-pressing{transform:scale(.985)!important}
/* arrows move straight, never diagonal */
.text-link:hover span[aria-hidden]{transform:translateX(5px)}
.text-link{position:relative}
.text-link:after{content:'';position:absolute;left:0;bottom:-1px;height:1px;width:0;background:currentColor;transition:width .5s cubic-bezier(.2,.7,.2,1)}
.text-link:hover:after{width:100%}
.business-links i{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.business-links a:hover i{transform:translateX(6px)}
.business-picture-links.business-links>a{transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .4s,box-shadow .5s}
.business-picture-links.business-links>a:hover{transform:translateY(-6px);border-color:#fff;box-shadow:0 26px 50px rgba(0,0,0,.45)}
.business-picture-links.business-links>a:active{transform:translateY(-2px)}
.business-card-copy em{display:inline-flex;align-items:center;gap:12px}
.business-card-copy em i{font-style:normal;transition:transform .35s}
.business-picture-links>a:hover .business-card-copy em i{transform:translateX(6px)}
.hero-business-link>span,.scroll-link span{display:inline-block;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.hero-business-link:hover>span,.scroll-link:hover span{transform:translateY(5px)}
.nav-contact{transition:border-color .3s,padding .3s}
.site-header nav a{position:relative;padding:4px 0}
.site-header nav a:not(.nav-contact):after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.site-header nav a:not(.nav-contact):hover:after{transform:scaleX(1)}
.site-header nav a.nav-den{font-family:Arial,sans-serif;font-weight:900;letter-spacing:.08em}
.business-details>summary{transition:background .3s,padding-left .35s cubic-bezier(.2,.7,.2,1)}
.business-details>summary:hover{padding-left:10px}
.business-fold-mark{display:inline-block;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.business-details>summary:hover .business-fold-mark{transform:rotate(90deg)}
.business-details[open]>summary .business-fold-mark{transform:rotate(45deg)}
.video-feature{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.video-feature:hover{transform:translateY(-5px)}
.video-feature .video-play{transition:transform .4s cubic-bezier(.2,.7,.2,1),background .3s}
.video-feature:hover .video-play{transform:translate(-50%,-50%) scale(1.12)}
.contact-cta{position:relative;overflow:hidden}
.contact-cta:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.14) 50%,transparent 65%);transform:translateX(-130%);transition:transform .8s ease}
.contact-cta:hover:before{transform:translateX(130%)}
.contact-cta>span[aria-hidden]{transition:transform .35s}
.contact-cta:hover>span[aria-hidden]{transform:translateX(6px)}
.gallery-controls button,.event-gallery-controls button{transition:transform .3s,background .25s,color .25s}
.gallery-controls button:hover,.event-gallery-controls button:hover{transform:scale(1.08)}
.partners summary>span{transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.back-top{display:inline-block;transition:transform .4s}
.back-top:hover{transform:translateY(-5px)}
.direct-contact a{display:inline-block;transition:transform .3s}
.direct-contact a:hover{transform:translateX(4px);text-decoration:none}
.company-data>div{transition:background .3s,padding-left .35s}
.company-data>div:hover{background:#fafafa;padding-left:10px}
.service-list article{transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.service-list article:hover{transform:translateX(8px)}
.service-list article>span{transition:color .3s}
.service-list article:hover>span{color:#111}
.mate-rhythm article,.den-journey li{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.mate-rhythm article:hover,.den-journey li:hover{transform:translateY(-5px)}
.app-features li{transition:background .3s,color .3s,transform .3s}
.app-features li:hover{background:#fff;color:#111;transform:translateY(-2px)}

/* ---------- inline video frames (store / 3D graphics) ---------- */
.loop-frame{position:relative;overflow:hidden;border-radius:16px;background:#0b0b10;aspect-ratio:16/9;isolation:isolate}
.loop-frame video,.loop-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.loop-frame video{opacity:0;transition:opacity 1s ease}
.loop-frame.is-playing video{opacity:1}
.loop-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55));pointer-events:none}
.loop-frame figcaption,.loop-frame>span{position:absolute;left:18px;bottom:16px;right:18px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:14px;color:#fff;font:600 12px/1.6 Arial,sans-serif;letter-spacing:.1em}
.loop-frame .live-dot{width:8px;height:8px;border-radius:50%;background:#7cf8c1;box-shadow:0 0 12px #7cf8c1;display:inline-block;margin-right:8px;animation:den-pulse 1.6s ease-in-out infinite}

/* DEN STORE story block */
.store-story .story-visual{background:#0b0b10;border-radius:18px;padding:0}
.store-logo-plate{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:14px;padding:34px 28px;margin-bottom:14px}
.store-logo-plate img{width:min(100%,420px);height:auto}
.store-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}
.store-points>div{border:1px solid #d9d9d9;background:#fff;padding:16px 16px 14px;border-radius:12px;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.store-points>div:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.08)}
.store-points span{font:700 11px/1 Arial,sans-serif;letter-spacing:.14em;color:#777}
.store-points strong{display:block;font-size:16px;margin:10px 0 6px}
.store-points p{font-size:13px!important;line-height:1.8!important;color:#555!important}
@media(max-width:700px){.store-points{grid-template-columns:1fr}}

/* 3D graphics project (apps section) */
.graphics-project{grid-column:1/-1;border-top:1px solid #4a4a4a;padding-top:40px;margin-top:10px;display:grid;grid-template-columns:1fr 1.25fr;gap:5vw;align-items:center}
.graphics-project .loop-frame{aspect-ratio:16/9}
.graphics-project ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px}
.graphics-project li{display:flex;gap:12px;align-items:baseline;font-size:14px;line-height:1.9;color:#ccc}
.graphics-project li:before{content:'';width:18px;height:1px;background:#8a8a8a;flex-shrink:0;transform:translateY(-4px);transition:width .4s}
.graphics-project li:hover:before{width:30px}
@media(max-width:900px){.graphics-project{grid-template-columns:1fr;gap:26px}}

/* company — business list */
.company-business{margin:0}
.company-business dd{display:flex;flex-wrap:wrap;gap:8px}
.company-business dd span{border:1px solid #cfcfcf;padding:4px 12px;border-radius:999px;font-size:13px;background:#fff;transition:background .3s,color .3s,transform .3s}
.company-business dd span:hover{background:#151515;color:#fff;transform:translateY(-2px)}
.company-business dd span:first-child{background:#151515;color:#fff}

@media(prefers-reduced-motion:reduce){a,button,summary,.business-picture-links.business-links>a,.video-feature,.service-list article{transition:none!important;transform:none!important}}
.business-card-image--tradebase img{object-fit:contain!important;padding:12% 10%;background:#fff}
.business-picture-links.business-links .business-title-tail{display:block;font-size:.72em;font-weight:700;letter-spacing:0;margin-top:4px;color:#d9d9d9;white-space:normal}
/* DEN STORE visual: real photo + virtual (video + photo) */
.store-visual{display:grid;gap:12px}
.store-photo{position:relative;display:block;overflow:hidden;border-radius:16px;background:#0b0b10}
.store-photo img{width:100%;height:auto;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.store-photo:hover img{transform:scale(1.04)}
.store-photo-label{position:absolute;left:16px;right:16px;bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#fff;font:700 12px/1.6 Arial,sans-serif;letter-spacing:.1em;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.store-photo-label i{font-style:normal;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.92);color:#111;font-size:11px;transition:transform .35s,background .3s}
.store-photo:hover .store-photo-label i{transform:translateX(3px);background:#fff}
.store-virtual{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.store-virtual-frame{aspect-ratio:16/10}
.store-virtual-frame figcaption{font-size:10px;letter-spacing:.08em}
.store-photo-open{pointer-events:auto;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:#111;font-size:10px;letter-spacing:.06em;transition:transform .3s,background .3s;white-space:nowrap}
.store-photo-open:hover{background:#fff;transform:translateX(2px)}
.loop-frame figcaption{z-index:3}
.store-visual-note{font-size:12px;line-height:1.8;color:#666;margin:2px 4px 0}
.den-hub-screen a{display:block}
@media(max-width:700px){.store-virtual{grid-template-columns:1fr}.store-photo-label{font-size:11px}}
/* full-size viewer for site/DEN screens (landscape images) */
.mate-screen-dialog.is-site{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;background:#050508;color:#fff}
.mate-screen-dialog.is-site::backdrop{background:#000}
.mate-screen-dialog.is-site .mate-dialog-bar{background:#0d0d12;border-color:#2a2a33;color:#fff;padding:10px 14px;flex-wrap:nowrap;gap:8px}
.mate-screen-dialog.is-site .mate-dialog-bar h3{flex:1 1 auto;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-basis:auto}
.mate-screen-dialog.is-site .mate-dialog-bar button{background:#1a1a22;color:#fff;border:1px solid #4a4a55;border-radius:999px;min-height:38px;padding:6px 14px;font-size:12px;margin:0;white-space:nowrap}
.mate-screen-dialog.is-site .mate-dialog-bar button:hover{background:#fff;color:#111}
.mate-screen-dialog.is-site .mate-dialog-image{flex:1;display:flex;align-items:center;justify-content:center;background:#050508;-webkit-overflow-scrolling:touch}
.mate-screen-dialog.is-site .mate-dialog-image img{width:100%;max-width:100%;max-height:100%;height:auto;object-fit:contain;margin:auto}
.mate-screen-dialog.is-site .mate-dialog-image.is-zoomed{display:block}
.mate-screen-dialog.is-site .mate-dialog-image.is-zoomed img{width:1800px;min-width:1800px;max-width:none;max-height:none;margin:0}
@media(max-width:700px){.mate-screen-dialog.is-site .mate-dialog-image.is-zoomed img{width:200vw;min-width:200vw}}
/* touch devices: no hover transforms (prevents flicker on Android Chrome) */
@media(hover:none){a,button,summary{transition:opacity .3s,background-color .3s,border-color .3s,color .3s}.is-pressing{transform:none!important;opacity:.85}.business-picture-links.business-links>a,.business-picture-links.business-links>a:hover,.business-picture-links.business-links>a:active{transform:none!important;box-shadow:none;transition:background-color .3s,border-color .3s}.business-picture-links>a:hover img,.business-card-image img{transform:none!important;transition:none!important}.business-picture-links.business-links>a{backface-visibility:hidden;-webkit-backface-visibility:hidden;contain:paint}.video-feature:hover,.service-list article:hover,.den-journey li:hover,.mate-rhythm article:hover,.company-data>div:hover{transform:none!important}.den-stage-features a:hover{transform:none}.den-stage-features a:hover .den-f-thumb img{transform:none}}

/* business sections always expanded (2026-10-23): no fold/unfold */
.business-details.is-always-open>summary{display:none}
.business-details.is-always-open .business-fold-bottom{display:none}
.business-details.is-always-open{margin-top:0}
