.gj{padding-block:95px 85px;--gj-gold:#d6b578;--gj-line:#35434b}
.gj-heading{margin-bottom:45px}.gj-heading .v-kicker{margin-bottom:20px}.gj-heading h2{font-size:clamp(40px,4.6vw,66px);line-height:1.08;letter-spacing:-.045em;margin:0}.gj-heading h2 em{font-weight:400;color:var(--gj-gold)}
.gj-stations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;position:relative;isolation:isolate}
.gj-stations:before,.gj-stations:after{content:"";position:absolute;top:20px;left:20px;right:20px;height:1px;background:var(--gj-line);z-index:-1}.gj-stations:after{background:var(--gj-gold);transform:scaleX(0);transform-origin:left;transition:transform .7s ease}.gj-stations[data-step="1"]:after{transform:scaleX(.5)}.gj-stations[data-step="2"]:after{transform:scaleX(1)}
.gj-node{width:40px;height:40px;display:grid;place-items:center;background:#101820;border:1px solid var(--gj-line);border-radius:50%;color:#aebbc3;font-size:12px;margin-bottom:24px;transition:border-color .3s,color .3s}.gj-station.is-active .gj-node{border-color:var(--gj-gold);color:var(--gj-gold)}
.gj-preview{display:flex;flex-direction:column;width:100%;height:290px;overflow:hidden;padding:0;background:#19262e;color:#f4f5f3;border:1px solid #43525a;border-radius:9px;text-align:left;cursor:pointer;box-shadow:0 15px 30px #0002;transition:transform .35s,border-color .35s,box-shadow .35s;font-family:inherit}
.gj-station.is-active .gj-preview{border-color:var(--gj-gold);box-shadow:0 12px 35px #0003}.gj-preview:focus-visible{outline:2px solid #f4f5f3;outline-offset:5px}.gj-preview:hover{transform:translateY(-4px)}
.gj-station h3{font-size:26px;font-weight:400;letter-spacing:-.025em;margin:24px 0 9px}.gj-station>p{font-size:16px;color:#b7c2c9;line-height:1.6;margin:0;max-width:none}
.gj-search{padding:20px;gap:18px}.gj-searchbar{display:flex;align-items:center;gap:10px;padding:12px 10px;background:#101b23;border:1px solid #43525a;border-radius:5px;font-size:14px;white-space:nowrap}.gj-searchbar svg{width:17px;height:17px;fill:none;stroke:var(--gj-gold);stroke-width:1.7;flex-shrink:0}.gj-result{display:flex;flex:1;min-height:0;gap:15px}.gj-result>img{width:31%;object-fit:cover;border-radius:3px}.gj-result-copy{display:flex;flex-direction:column;justify-content:center;gap:12px}.gj-result-copy small{font-size:9px;letter-spacing:.1em;color:var(--gj-gold)}.gj-result-copy strong{font-size:21px;line-height:1.2;font-weight:400}.gj-result-copy>span{font-size:11px;color:#b7c2c9}.gj-result-copy .gj-result-link{color:var(--gj-gold);font-size:13px}
.gj-browser{display:flex;align-items:center;gap:18px;height:33px;padding-inline:13px;color:#bbc5cc;background:#263740;font-size:10px;flex-shrink:0}.gj-browser>span{font-size:8px;letter-spacing:2px;color:var(--gj-gold)}.gj-web-photo{position:relative;display:block;flex:1;min-height:0;overflow:hidden}.gj-web-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 65%}.gj-web-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0009,#0001)}.gj-web-photo>span{position:absolute;inset:22px;z-index:1;display:flex;flex-direction:column;justify-content:space-between}.gj-web-photo small{font-size:11px;letter-spacing:.12em}.gj-web-photo strong{font-weight:400;font-size:31px;line-height:1.05;letter-spacing:-.035em}.gj-web-nav{display:flex;align-items:center;justify-content:space-between;padding:14px 12px;gap:7px;font-size:10px;flex-shrink:0}.gj-web-nav b{font-weight:400;background:var(--gj-gold);color:#101820;border-radius:3px;padding:9px 8px}
.gj-booking{padding:25px 23px;gap:18px}.gj-booking-label{font-size:10px;letter-spacing:.12em;color:var(--gj-gold)}.gj-booking>strong{font-size:26px;font-weight:400;letter-spacing:-.025em}.gj-booking-meta{display:flex;justify-content:space-between;font-size:13px;color:#bbc5cc}.gj-times{display:flex;gap:10px}.gj-times>span{flex:1;text-align:center;padding:10px 4px;border:1px solid #53616a;border-radius:3px;font-size:13px}.gj-times .gj-selected-time{background:var(--gj-gold);border-color:var(--gj-gold);color:#101820}.gj-confirm{display:flex;align-items:center;gap:12px;padding-top:3px}.gj-check{display:grid;place-items:center;border:1px solid var(--gj-gold);border-radius:50%;color:var(--gj-gold);width:29px;height:29px;flex-shrink:0}.gj-confirm strong,.gj-confirm small{display:block;font-weight:400}.gj-confirm strong{font-size:16px}.gj-confirm small{font-size:11px;margin-top:4px;color:#bbc5cc}
.gj-footer{margin-top:38px;border-top:1px solid var(--gj-line);padding-top:27px;display:flex;justify-content:flex-end;align-items:center;gap:25px}.gj-example{font-size:15px;color:#cbd3d8}.gj-example small{display:block;font-size:11px;color:#93a4af;margin-top:8px}
.gj-result>img{height:120px;align-self:center;object-position:65% center}
@media(prefers-reduced-motion:no-preference){.gj-station.is-active .gj-result{animation:gj-arrive .5s ease both}.gj-station.is-active .gj-web-photo>span{animation:gj-arrive .6s ease both}.gj-station.is-active .gj-selected-time{animation:gj-pick .45s ease both}.gj-station.is-active .gj-confirm{animation:gj-arrive .5s .3s ease both}@keyframes gj-arrive{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes gj-pick{from{background:transparent;color:#f4f5f3}to{background:#d6b578;color:#101820}}}
@media(max-width:1100px) and (min-width:768px){.gj-stations{gap:18px}.gj-search{padding:13px}.gj-result{gap:10px}.gj-result-copy strong{font-size:18px}.gj-searchbar{font-size:12px;gap:6px;padding-inline:7px}.gj-booking{padding:22px 15px}.gj-web-nav{flex-wrap:wrap}.gj-preview{height:300px}.gj-browser{font-size:9px;gap:8px}}
@media(max-width:767px){.gj{padding-block:65px}.gj-heading{margin-bottom:34px}.gj-stations{grid-template-columns:1fr;gap:34px;padding-left:27px}.gj-stations:before,.gj-stations:after{top:20px;bottom:50px;left:7px;right:auto;width:1px;height:auto}.gj-stations:after{transform:scaleY(0);transform-origin:top}.gj-stations[data-step="1"]:after{transform:scaleY(.5)}.gj-stations[data-step="2"]:after{transform:scaleY(1)}.gj-station{position:relative}.gj-node{position:absolute;left:-39px;top:0;width:39px;height:39px;border:0;font-size:11px}.gj-preview{height:285px}.gj-station h3{margin-top:18px;font-size:25px}.gj-station>p{font-size:16px;max-width:none}.gj-footer{align-items:stretch;flex-direction:column}.gj-footer .v-button{width:100%;gap:12px;font-size:14px}.gj-search{padding:16px}.gj-booking{padding:24px 18px}}
@media(prefers-reduced-motion:reduce){.gj *,.gj-stations:after{animation:none!important;transition:none!important}.gj-preview:hover{transform:none}}
