/* Stable outer hit target; pointer tilt is isolated from carousel layout and lift. */
.hero h1{letter-spacing:.025em}
.works h2{letter-spacing:.045em}
.about-copy #about-title{letter-spacing:.045em}
#detail-dialog .detail-copy h2{letter-spacing:.04em}
.glass-relief svg{stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.card-icon{width:24px;height:27px}
.card-tilt{position:absolute;inset:0;display:block;border-radius:inherit;pointer-events:none;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform 420ms var(--ease)}
.card-tilt.is-tracking{transition-duration:90ms}
.card-surface{pointer-events:none}
.card-surface:after{background:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,40%),#fff8,transparent 62%);background-size:auto;opacity:.12;transition:opacity 200ms var(--ease)}
.is-active .card-surface:after{opacity:.33}
.glass-relief{transform:translate(var(--px,0px),var(--py,0px));transition:transform 120ms ease-out}
.card-placeholder{left:28px;top:25px}
.card-label{left:28px;right:28px;bottom:0;width:auto;height:42%;padding:0;transform:none}
.card-icon{left:0;top:0;width:22px;height:29px}
.card-number{left:33px;top:3px;font-size:19px}
.card-title{left:0;right:0;bottom:48px;font-size:20px;letter-spacing:0;line-height:1.3;white-space:nowrap}
.card-english{left:0;right:0;bottom:23px;font-size:9px;line-height:1.3;letter-spacing:0;white-space:normal;overflow-wrap:normal}
.card-arrow{top:3px;right:0;bottom:auto;font-size:17px}
#detail-dialog{width:75vw;max-width:75vw;height:50svh;max-height:80svh;min-height:320px;margin:auto;inset:0;border:1px solid #cfb69a55;border-radius:24px;background:#25231f;box-shadow:0 30px 100px #0008;overflow:hidden;transform-origin:center}
#detail-dialog[open]{display:grid;grid-template-columns:46% 54%}
#detail-dialog::backdrop{background:#090807bb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:detail-backdrop-in 320ms ease-out}
@keyframes detail-backdrop-in{from{opacity:0}to{opacity:1}}
#detail-dialog .detail-image{min-height:0;height:100%;border-radius:0;position:relative}
#detail-dialog .detail-copy{padding:clamp(24px,3.2vw,56px);padding-top:35px;overflow:auto;min-width:0;align-content:center}
#detail-dialog .detail-copy h2{font-size:clamp(26px,2.7vw,44px);margin:17px 0 20px;line-height:1.25}
#detail-dialog .detail-copy .detail-kicker{font-size:11px;margin:0;color:#ff914e}
#detail-dialog .detail-copy p:not(.detail-kicker){font-size:14px;margin:0 0 15px;line-height:1.8}
#detail-dialog .detail-copy .detail-note{margin-top:17px}
#detail-dialog .back-button{margin-top:6px;padding:12px 0}
#detail-dialog .close-dialog{width:38px;height:38px;right:15px;top:14px;border-radius:50%;background:#191919b3;line-height:1;font-size:26px}
@media(max-width:760px){.card-label{left:23px;right:23px;height:43%}.card-title{font-size:16px;bottom:43px}.card-english{font-size:8px;bottom:19px}.card-icon{width:18px;height:25px}.card-number{left:28px;font-size:16px}.card-placeholder{left:23px;top:22px}.card-arrow{display:none}#detail-dialog{width:92vw;max-width:92vw;height:70svh;min-height:0;max-height:86svh;border-radius:20px}#detail-dialog[open]{grid-template-columns:1fr;grid-template-rows:32% 68%}#detail-dialog .detail-copy{padding:25px}#detail-dialog .detail-copy h2{font-size:26px;margin:12px 0}#detail-dialog .detail-copy p:not(.detail-kicker){font-size:13px}}
@media(prefers-reduced-motion:reduce){.card-tilt,.glass-relief{transform:none;transition:none}#detail-dialog::backdrop{animation:none}}
