/* Gold motion accents for concept A; the hero image and overlays are untouched. */
:root { --a-header-height:119px; --a-header-base:119px; --a-contact-space:100px; --a-ease:cubic-bezier(.2,.7,.2,1); }
html { scroll-padding-top:calc(var(--a-header-height) + 16px); }
#main-content > section:not(#home) { scroll-margin-top:0; }
#home { min-height:calc(100svh - var(--a-header-base)); }
#home .a-hero-copy { animation:none; }
#home .a-hero-title { animation:a-title-light 8s 1.2s ease-in-out infinite; }
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
  #home .a-hero-title {
    background:linear-gradient(110deg,#fff 0%,#fff 38%,#fff2ce 46%,#e5b54f 50%,#fff2ce 54%,#fff 62%,#fff 100%);
    background-size:300% 100%;background-position:100% 50%;
    background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  }
}
@keyframes a-title-light { 0%,12%{background-position:100% 50%} 45%,100%{background-position:0% 50%} }
.a-scroll-cue { display:flex;flex-direction:column;align-items:center;gap:4px;margin:26px auto 0;min-width:150px;min-height:64px;padding:5px 14px;background:transparent;border:0;color:#fff; }
.a-scroll-cue > span:first-child { font-size:12px;font-weight:650;letter-spacing:.01em;color:#f6e5bd; }
.a-scroll-track { position:relative;width:32px;height:34px;overflow:hidden; }
.a-scroll-track svg { position:absolute;left:2px;top:2px;width:28px;height:28px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;animation:a-arrow-flow 2.4s var(--a-ease) infinite; }
.a-scroll-track svg:nth-child(2) { animation-delay:-1.2s; }
@keyframes a-arrow-flow { 0%{opacity:0;transform:translateY(-30px)} 22%,56%{opacity:1} 80%,100%{opacity:0;transform:translateY(30px)} }
#home.a-hero-away .a-hero-title,#home.a-hero-away .a-scroll-track svg { animation-play-state:paused; }
.a-reading-progress { position:fixed;top:var(--a-header-height);left:0;right:0;height:2px;z-index:41;pointer-events:none; }
.a-reading-progress > span { display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:var(--victory-gold); }
#main-content .a-motion-card { transition:box-shadow .25s ease,border-color .25s ease; }
#main-content .a-motion-card img { transition:transform .45s var(--a-ease); }
.primary-button,.secondary-button,[data-casino],.contact-id button,.contact-floating > button,.contact-floating > a,.back-to-top,.victory-pagination button,#community-filters button {
  transition:transform .18s var(--a-ease),background-color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.card-meta span:last-child,.contact-arrow { transition:transform .2s var(--a-ease); }
header nav a[data-nav]::after { content:"";position:absolute;left:12%;right:12%;bottom:3px;height:1px;background:var(--victory-gold);transform:scaleX(0);transform-origin:center;transition:transform .2s var(--a-ease); }
header nav a[data-nav] { position:relative; }
header nav a[data-nav][aria-current=page]::after { transform:scaleX(1); }
.site-faq button > span:last-child { display:block;flex:none;transition:transform .2s var(--a-ease); }
.site-faq button[aria-expanded=true] > span:last-child { transform:rotate(45deg); }
.mobile-menu { max-height:max(110px,calc(100svh - var(--a-header-base) - var(--a-contact-space) - 12px));overflow-y:auto;overscroll-behavior:contain; }
.contact-floating { bottom:calc(18px + env(safe-area-inset-bottom,0px)); }
.contact-floating small { white-space:nowrap; }
.back-to-top { bottom:var(--a-contact-space);min-width:44px;min-height:44px; }
.victory-footer { padding-bottom:calc(var(--a-contact-space) + 20px); }
.victory-pagination button,#community-filters button,.contact-id button,.gallery-arrow,.dialog-close { min-width:44px;min-height:44px; }
.dialog-close { float:none;width:44px;height:44px;margin:14px 14px -58px auto; }
.site-faq button { min-height:52px; }
@media(hover:hover) and (pointer:fine) {
  #main-content .a-motion-card:hover img { transform:scale(1.035); }
  #main-content .a-motion-card:hover h3 { text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px; }
  .primary-button:hover,.secondary-button:hover,[data-casino]:hover { transform:translateY(-2px); }
  .a-motion-card:hover .card-meta span:last-child,.contact-floating > :hover .contact-arrow { transform:translateX(4px); }
  header nav a[data-nav]:hover::after { transform:scaleX(1); }
  .back-to-top:hover { transform:translateY(-3px); }
}
@media(hover:none), (pointer:coarse) {
  #main-content .a-motion-card:hover,#main-content .a-motion-card:hover img,.contact-floating > button:hover,.contact-floating > a:hover { transform:none; }
}
.primary-button:active,.secondary-button:active,[data-casino]:active,.contact-id button:active,.contact-floating > button:active,.contact-floating > a:active,.back-to-top:active,.victory-pagination button:not(:disabled):active { transform:scale(.97); }
@media(max-width:1023px) {
  header nav[aria-label='모바일 카테고리 네비게이션'] a { min-height:40px;display:flex;align-items:center;justify-content:center; }
}
@media(max-width:639px) {
  #home > div.a-hero-copy { padding-top:38px;padding-bottom:calc(var(--a-contact-space) + 16px);transform:none;translate:none; }
  #home .grid span:last-child { font-size:12px;line-height:1.6; }
  #main-content .a-motion-card[data-service-id] h3,#main-content .a-motion-card[data-casino-card] h3 { display:block;-webkit-line-clamp:unset;overflow:visible;white-space:normal;font-size:16px;line-height:1.45; }
  #main-content .a-motion-card[data-service-id] p { display:block;-webkit-line-clamp:unset;overflow:visible;font-size:12px;line-height:1.7; }
  #main-content .a-motion-card[data-casino-card] [data-casino] { font-size:12px; }
  #site-process-grid { grid-template-columns:minmax(0,1fr);gap:16px; }
  #site-process-grid > div { padding:24px; }
  #site-process-grid p { font-size:13px;line-height:1.75;word-break:keep-all; }
  #site-process-grid h3 { font-size:17px;line-height:1.5; }
  .contact-floating { gap:8px; }
  .contact-floating > button,.contact-floating > a { gap:6px;padding:10px 11px; }
  .contact-floating .kakao-icon { width:22px;height:22px;flex:none;font-size:17px; }
  .contact-floating svg { width:20px;height:20px;flex:none; }
  .contact-arrow { font-size:16px; }
}
@media(max-width:360px) {
  .contact-floating > button,.contact-floating > a { padding:10px 8px; }
  .contact-floating small { font-size:9px; }
}
@media(max-height:500px) and (max-width:1023px) {
  .contact-floating { bottom:calc(8px + env(safe-area-inset-bottom,0px));max-width:min(390px,calc(100% - 32px)); }
  .contact-floating > button,.contact-floating > a { padding:8px 12px; }
  .contact-floating small { font-size:9px; }
  .contact-floating strong { font-size:12px; }
  #home > div.a-hero-copy { padding-top:28px;padding-bottom:calc(var(--a-contact-space) + 16px);transform:none;translate:none; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  #home .a-hero-title { animation:none;background:none;color:#fff;-webkit-text-fill-color:currentColor; }
  .a-scroll-track svg { animation:none;opacity:1;transform:none; }
  .a-scroll-track svg:nth-child(2) { display:none; }
  #main-content .a-motion-card:hover,#main-content .a-motion-card:hover img,
  .primary-button:hover,.secondary-button:hover,[data-casino]:hover,.primary-button:active,.secondary-button:active,[data-casino]:active,
  .contact-id button:active,.contact-floating > button:hover,.contact-floating > a:hover,.contact-floating > button:active,.contact-floating > a:active,
  .back-to-top:hover,.back-to-top:active,.victory-pagination button:not(:disabled):active,
  .a-motion-card:hover .card-meta span:last-child,.contact-floating > :hover .contact-arrow { transform:none; }
}
