/* GCC Concierge — motion layer */
:root{--ease:cubic-bezier(.2,.7,.2,1)}

/* Buttons: lift, silver shine sweep, press */
.btn,.ghost,.tab{position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s,background-color .35s,color .35s}
.btn::after,.ghost::after,.tab::after{content:"";position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.75) 50%,transparent 100%);transform:skewX(-20deg);pointer-events:none;opacity:0}
.ghost::after,.tab::after{background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.28) 50%,transparent 100%)}
.btn:hover,.ghost:hover,.tab:hover{transform:translateY(-2px)}
.btn:hover{box-shadow:0 10px 30px -10px rgba(220,224,230,.55)}
.ghost:hover{box-shadow:0 10px 30px -14px rgba(255,255,255,.35)}
.btn:hover::after,.ghost:hover::after,.tab:hover::after{animation:gcc-shine .9s var(--ease)}
.btn:active,.ghost:active,.tab:active{transform:translateY(0) scale(.97);transition-duration:.1s}
@keyframes gcc-shine{0%{left:-75%;opacity:1}100%{left:130%;opacity:1}}

/* Cards & photos */
.card,.tile,.val{transition:transform .5s var(--ease),border-color .4s,box-shadow .5s var(--ease)}
.card:hover,.tile:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px rgba(0,0,0,.9)}
.ph{transition:filter .6s var(--ease)}
.tile:hover{filter:brightness(1.12) contrast(1.05)}

/* Scroll reveal */
.fx{opacity:0;transform:translateY(34px);filter:blur(6px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease);transition-delay:var(--d,0ms)}
.fx.in{opacity:1;transform:none;filter:none}

/* Hero headline */
h1.fx{transform:translateY(24px);letter-spacing:.06em;transition:opacity 1.4s var(--ease),transform 1.4s var(--ease),filter 1.4s var(--ease),letter-spacing 1.8s var(--ease)}
h1.fx.in{letter-spacing:0}

/* Top road band with driving car (Home) */
.gcc-road{position:relative;height:12px;background:#050505;border-bottom:1px solid #1C1C1F;overflow:hidden;z-index:6}
.gcc-road .lane{position:absolute;left:0;right:0;top:5px;height:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.4) 0 26px,transparent 26px 52px);animation:gcc-lane 1.2s linear infinite}
.gcc-road .tag{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:500 11px Manrope,sans-serif;letter-spacing:.42em;text-transform:uppercase;color:rgba(255,255,255,.55);white-space:nowrap}
.gcc-road .car{position:absolute;top:0;left:0;width:300px;height:112px;animation:gcc-drive 14s cubic-bezier(.45,.05,.35,1) infinite}
.gcc-road .car img{position:absolute;left:0;top:17px;width:300px;height:auto;display:block;filter:brightness(1.12) contrast(1.04);clip-path:polygon(0 0,100% 0,100% 88.5%,93% 88.5%,90.8% 93.5%,88% 95.3%,83.3% 95.3%,80.8% 93.5%,78.6% 88.5%,28.7% 88.5%,26.6% 93.5%,24% 95.3%,20% 95.3%,17.5% 93.5%,15.3% 88.5%,0 88.5%);animation:gcc-bob 1.1s ease-in-out infinite}
.gcc-road .shadow{position:absolute;left:8px;top:91px;width:284px;height:12px;background:radial-gradient(ellipse at 50% 50%,rgba(0,0,0,1) 0%,rgba(0,0,0,.85) 45%,rgba(0,0,0,0) 72%);filter:blur(2px)}
.gcc-road .wheel{transform-box:fill-box;transform-origin:center;animation:gcc-spin .5s linear infinite}
.gcc-road .beam{position:absolute;left:296px;top:40px;width:160px;height:46px;background:linear-gradient(90deg,rgba(255,255,255,.5),rgba(255,255,255,0));clip-path:polygon(0 40%,100% 0,100% 100%,0 60%);animation:gcc-flicker 3s ease-in-out infinite}
@keyframes gcc-drive{0%{transform:translateX(-320px)}55%{transform:translateX(calc(100vw + 60px))}100%{transform:translateX(calc(100vw + 60px))}}
@keyframes gcc-spin{to{transform:rotate(360deg)}}
@keyframes gcc-lane{to{background-position:-52px 0}}
@keyframes gcc-flicker{0%,100%{opacity:.85}50%{opacity:1}}
@keyframes gcc-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}
body.has-road header{top:12px!important}
@media (max-width:760px){body.has-road header{top:0!important}.gcc-road{height:10px}.gcc-road .lane{top:4px}.gcc-road .car{width:200px;height:76px}.gcc-road .car img{width:200px;top:8px}.gcc-road .shadow{left:5px;top:58px;width:190px;height:8px}.gcc-road .beam{left:197px;top:24px;width:100px;height:30px}.gcc-road .tag{display:none}}

@media (prefers-reduced-motion:reduce){
  .fx,h1.fx{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .gcc-road .car,.gcc-road .lane,.gcc-road .car img{animation:none}
  .gcc-road .car{left:50%;transform:translateX(-50%)}
  .btn::after,.ghost::after,.tab::after{display:none}
}

/* Intro: logo glow, fly to header, site fades in */
html.gcc-intro,html.gcc-intro body{background:#000}
html.gcc-intro body>*:not(#gcc-intro){opacity:0}
html.gcc-anim body>*:not(#gcc-intro){transition:opacity .9s cubic-bezier(.2,.7,.2,1)}
html.gcc-hidelogo header a[aria-label="GCC Concierge home"] img{opacity:0}
#gcc-intro{position:fixed;inset:0;z-index:9999;background:#000;transition:background-color .9s cubic-bezier(.2,.7,.2,1);pointer-events:none}
#gcc-intro img{position:fixed;left:50%;top:50%;width:min(240px,52vw);height:auto;transform:translate(-50%,-50%);opacity:0;will-change:transform,filter}
#gcc-intro img.glow{animation:gcc-intro-glow .95s ease-out forwards}
@keyframes gcc-intro-glow{0%{opacity:0;filter:drop-shadow(0 0 0 rgba(255,255,255,0))}35%{opacity:1;filter:drop-shadow(0 0 22px rgba(255,255,255,.95)) drop-shadow(0 0 6px rgba(255,255,255,.9))}100%{opacity:1;filter:drop-shadow(0 0 4px rgba(255,255,255,.25))}}
#gcc-intro img.fly{transition:left .85s cubic-bezier(.65,0,.25,1),top .85s cubic-bezier(.65,0,.25,1),width .85s cubic-bezier(.65,0,.25,1),transform .85s cubic-bezier(.65,0,.25,1),filter .85s}

/* Address suggestions */
.gcc-ac{position:fixed;z-index:9000;background:#0D0D0D;border:1px solid #3A3B40;box-shadow:0 24px 50px -20px rgba(0,0,0,.95);max-height:300px;overflow-y:auto;margin:0;padding:6px 0;list-style:none;font:15px Manrope,sans-serif;color:#FFFFFF}
.gcc-ac li{padding:11px 16px;cursor:pointer;line-height:1.4;min-height:22px}
.gcc-ac li small{display:block;color:#A6A9AF;font-size:12px;margin-top:2px}
.gcc-ac li[aria-selected="true"],.gcc-ac li:hover{background:#1A1B1E}
.gcc-ac .note{color:#8A8D93;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:8px 16px 4px;cursor:default}
.gcc-ac .note:hover{background:none}
