/* Motion is progressive enhancement: content stays visible without JavaScript. */
.motion-ready .reveal{opacity:0;translate:0 28px;transition:opacity .8s ease,translate .9s cubic-bezier(.2,.7,.2,1)}
.motion-ready .reveal.visible{opacity:1;translate:0 0}.motion-ready .reveal.delay{transition-delay:.12s}
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:#d71932;transform:scaleX(var(--scroll-progress,0));transform-origin:left;z-index:100;pointer-events:none}
.btn,.role-grid article,.experience-strip>div,.trust-steps li,.feature-chips b{transition:transform .35s ease,background .35s ease,border-color .35s ease,box-shadow .35s ease}
.btn span,.text-link span{display:inline-block;transition:transform .3s ease}.btn:hover span,.text-link:hover span{transform:translateX(5px)}
.experience-nav button{position:relative;transition:background .25s,color .25s,transform .25s}.experience-nav button:hover{background:#fff1f3;color:#d71932}
.app-panel:not([hidden]) .app-panel-copy{animation:panel-enter .5s ease both}
@keyframes panel-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){.role-grid article:hover{border-color:#d71932}.experience-strip>div:hover{background:#242424}.trust-steps li:hover{border-color:#d71932}.btn:hover{box-shadow:0 10px 24px -16px #d7193299}}
.partner-map{min-width:0;position:relative;background:#fafafa;border:1px solid #e3e3e3;border-radius:12px;padding:24px 28px;overflow:hidden}
.map-region-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 20px}
.partner-map .map-city{position:static;left:auto;top:auto;transform:none;min-width:0;min-height:44px;width:100%;padding:8px 10px;border:1px solid #dedede;border-radius:6px;justify-content:flex-start;white-space:normal;font-size:14px;gap:6px}
.partner-map .map-city span{background:none;padding:0;overflow-wrap:anywhere}.partner-map .map-city:hover span{transform:none}
.partner-map .map-city i{width:8px;height:8px;border:0;box-shadow:none}.partner-map .map-city i:after{display:none}
.partner-map .map-city[aria-pressed=true]{background:#fff0f2;border-color:#efb4be}
.map-point{position:absolute;left:var(--x);top:var(--y);width:10px;height:10px;transform:translate(-50%,-50%);background:#999;border:2px solid #fafafa;border-radius:50%;box-shadow:0 0 0 1px #ddd;pointer-events:none}
.map-point.active{background:#d71932;box-shadow:0 0 0 4px #d7193220;border-color:#fff}
.map-top,.map-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;font:500 11px/1.6 'Noto Sans KR','DM Sans',sans-serif;letter-spacing:0;color:#707070}
.map-top b{font-size:10px;color:#111}.map-bottom{padding-top:16px;border-top:1px solid #e5e5e5}.map-bottom b{color:#d71932;font-size:13px;letter-spacing:.05em}
.map-canvas{position:relative;width:min(100%,360px);aspect-ratio:420/550;margin:-5px auto 0}.map-canvas>img{width:100%;height:100%;object-fit:contain;transition:filter .4s}
.map-city{position:absolute;left:var(--x);top:var(--y);transform:translate(-9px,-16px);display:flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:#666;font:500 11px 'Noto Sans KR','DM Sans',sans-serif;letter-spacing:0;white-space:nowrap;min-height:32px}
.map-city i{position:relative;display:block;width:16px;height:16px;border:5px solid #fafafa;border-radius:50%;background:#9b9b9b;box-shadow:0 0 0 1px #ddd;flex:none;transition:background .3s,box-shadow .3s}
.map-city span{background:#fafafae8;padding:4px 5px;border-radius:3px;transition:color .3s,transform .3s}
.map-city:hover,.map-city:focus-visible,.map-city[aria-pressed=true]{color:#d71932;z-index:2}.map-city:hover span{transform:translateX(3px)}
.map-city[aria-pressed=true] i{background:#d71932;box-shadow:0 0 0 1px #efacb6}.map-city[aria-pressed=true] i:after{content:'';position:absolute;inset:-9px;border:1px solid #d7193266;border-radius:50%;animation:map-pulse 2.4s ease-out 2 forwards}
@keyframes map-pulse{0%{scale:.6;opacity:1}100%{scale:1.7;opacity:0}}
@media(max-width:850px){.partner-map{padding:22px;max-width:520px;width:100%;justify-self:center}.map-canvas{width:min(100%,300px)}}
@media(max-width:560px){.map-canvas{width:100%;max-width:275px}.map-city{font-size:10px;gap:2px}.map-top,.map-bottom{font-size:10px}.partner-map{padding:20px}.map-bottom b{font-size:12px}}
.preview-note{width:var(--page);margin:0 auto 24px;display:flex;align-items:center;justify-content:center;gap:12px;color:#777;font-size:11px;line-height:1.8}
.preview-note>span{flex:none;border:1px solid #e9b8c0;border-radius:4px;padding:3px 9px;font-size:10px;color:#d71932;background:#fff8f9}
.section-num{color:#777}.role-grid p,.app-panel p,.trade-copy>p,.hiplus-lead,.kazen-lead,.partners-copy>p{color:#707070}
footer>div,footer>p{color:#999}
@media(max-width:560px){
  .hero-copy>p,html:not([lang=ko]) .hero-copy>p,.feature-heading>p,.app-panel p,.trade-copy>p,.hiplus-lead,.kazen-lead,.partners-copy>p{font-size:13px;line-height:1.85}
  .role-grid p{font-size:12px;line-height:1.8}.section-num,.kicker{font-size:10px;line-height:1.6}
  .hero .kicker{font-size:9px;letter-spacing:.1em}
  .feature-chips b{font-size:10px;padding:6px 9px}.hiplus-facts span,.kazen-points span{font-size:11px;line-height:1.7;color:#777}
  .kazen-notice{font-size:11px;line-height:1.8;color:#777}
  .preview-note{align-items:flex-start;justify-content:flex-start;gap:10px;font-size:11px;margin-bottom:20px}.preview-note>span{font-size:10px}
  .experience-nav button,html:not([lang=ko]) .experience-nav button{font-size:10px;line-height:1.5;min-height:60px;overflow-wrap:anywhere}
  footer>div{font-size:11px}footer>p{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1;translate:none;transition:none}.app-panel:not([hidden]) .app-panel-copy{animation:none}.map-city i:after{animation:none!important}.btn,.role-grid article,.experience-strip>div,.trust-steps li,.feature-chips b,.map-city span{transition:none}.scroll-progress{display:none}}
/* Card images may tilt; their labels always remain in document flow. */
.kazen-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px;align-items:start;height:auto;padding:20px 18px 0;isolation:isolate}
.kazen-cards .kazen-orbit{position:static;grid-column:1/-1;margin:0 0 16px;width:100%}
.kazen-cards .premium-card,.kazen-cards:hover .premium-card{position:relative;inset:auto;width:100%;height:auto;transform:none;filter:none;min-width:0;margin:0;align-self:start}
.kazen-cards .premium-card img{width:100%;height:clamp(220px,25vw,340px);object-fit:contain;filter:drop-shadow(0 18px 16px #0002);transition:transform .4s ease}
.kazen-cards .card-black img{transform:rotate(-7deg)}.kazen-cards .card-silver img{transform:rotate(7deg)}
.kazen-cards .premium-card.image-motion{translate:none;rotate:none}
.kazen-cards .premium-card.image-motion img{translate:var(--image-x,0px) calc(var(--image-y,0px) + var(--image-scroll,0px));rotate:var(--image-tilt,0deg);transition:translate .45s ease-out,rotate .45s ease-out,transform .4s ease}
.kazen-cards .premium-card figcaption{position:static;margin:26px 0 0;font-size:12px;line-height:1.7;letter-spacing:.04em;color:#666;transform:none}
.kazen-cards .card-caption{position:static;grid-column:1/-1;width:100%;padding:20px 0 0;margin-top:14px;border-top:1px solid #ddd}
.kazen-cards .card-caption b{font-size:13px;line-height:1.8;letter-spacing:.035em;overflow-wrap:anywhere}.kazen-cards .card-caption small{font-size:12px;line-height:1.8;color:#666}
.tabs-hint{display:none}
@media(max-width:560px){.map-region-list{grid-template-columns:repeat(2,minmax(0,1fr))}.kazen-cards{gap:26px 16px;padding-left:8px;padding-right:8px}.kazen-cards .premium-card img{height:clamp(165px,54vw,245px)}.kazen-cards .premium-card figcaption{margin-top:22px;font-size:12px}.tabs-hint{display:flex;width:var(--page);margin:0 auto 12px;justify-content:flex-end;color:#666;font-size:12px;line-height:1.8}.tabs-hint:after{content:'↔';margin-left:8px}.experience-nav{scroll-snap-type:x proximity}.experience-nav button{scroll-snap-align:start}}
