@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap');

:root{--display:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--shadow:0 20px 60px rgba(28,23,15,.09)}
body{font-family:var(--sans);font-size:14px;letter-spacing:-.01em}
.header{background:linear-gradient(180deg,rgba(4,6,8,.6),rgba(4,6,8,0));border-bottom-color:rgba(255,255,255,.14)}
.navrow{height:92px}.logo img{width:150px}.header nav{gap:31px}.header nav a{font-size:12px}
.header nav a{position:relative;padding:11px 0;letter-spacing:-.02em}
.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--gold2);transition:.25s}
.header nav a:hover:after{right:0}
.hero h1,.listing-hero h1,.detail-hero h1,.section h2,.bottom-cta h2,.car-copy h3{font-family:var(--display);letter-spacing:-.035em}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:650px;background:#07090b;align-items:center}
.hero:before{content:"";position:absolute;inset:0;z-index:-3;background:url('/assets/hero-gclass-hotel-v2.png') center center/cover no-repeat}
.hero:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,7,9,.94) 0%,rgba(5,7,9,.83) 27%,rgba(5,7,9,.28) 51%,rgba(5,7,9,.04) 78%),linear-gradient(180deg,rgba(3,5,7,.43),transparent 31%,rgba(3,5,7,.08))}
.hero-copy{position:relative;z-index:2;padding-top:132px}.hero-copy>*{max-width:535px}
.hero h1{font-size:clamp(52px,4.35vw,70px);font-weight:600;line-height:1.03;max-width:560px;margin-top:17px}
.hero p{line-height:1.65;max-width:510px;font-size:16px;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.headlight-glow{position:absolute;z-index:1;top:51.8%;width:6.6vw;height:6.6vw;max-width:118px;max-height:118px;min-width:74px;min-height:74px;border-radius:50%;pointer-events:none;opacity:0;mix-blend-mode:screen;background:radial-gradient(circle,rgba(255,255,255,1) 0 5%,rgba(222,241,255,.86) 6% 10%,rgba(190,222,251,.22) 13%,transparent 19% 36%,rgba(255,255,255,1) 39% 44%,rgba(208,233,255,.98) 45% 48%,rgba(174,214,250,.42) 50%,transparent 58%);filter:drop-shadow(0 0 7px rgba(235,248,255,1)) drop-shadow(0 0 22px rgba(177,216,252,.82));animation:headlights-on 6.5s ease-in-out infinite}
.headlight-glow:before{content:"";position:absolute;inset:9%;border:3px solid rgba(246,252,255,1);border-radius:50%;box-shadow:inset 0 0 8px #fff,0 0 8px #fff,0 0 23px rgba(181,221,255,.98)}
.headlight-glow:after{content:"";position:absolute;inset:-70%;border-radius:50%;background:radial-gradient(circle,rgba(225,242,255,.5),rgba(195,226,255,.17) 33%,transparent 66%);filter:blur(12px)}
.headlight-left{left:43.55%;top:53.1%;transform:translate(-50%,-50%) scaleX(.78) scaleY(.9);filter:drop-shadow(0 0 6px rgba(235,248,255,.95)) drop-shadow(0 0 18px rgba(177,216,252,.72))}.headlight-right{left:59.45%;transform:translate(-50%,-50%)}
@keyframes headlights-on{0%,17%{opacity:1}23%,55%{opacity:0}60%{opacity:.18}65%,84%{opacity:1}91%,100%{opacity:0}}
.eyebrow{letter-spacing:3px;font-size:10px}
.gold{background:linear-gradient(135deg,#f0dda8 0%,#c59b4e 100%);border:1px solid rgba(255,255,255,.18);transition:transform .25s,box-shadow .25s}
.gold:hover{transform:translateY(-2px);box-shadow:0 14px 35px rgba(126,91,31,.28)}
.section{padding:88px 0}.section h2{font-size:43px;font-weight:600}.section-head{margin-bottom:34px}
.car-grid{gap:24px}.car-card{border:1px solid rgba(46,40,30,.08);border-radius:11px;box-shadow:var(--shadow)}
.car-photo{height:235px}.car-copy{padding:21px}.car-copy h3{font-size:25px}.outline{border-color:#c99f56;background:transparent;transition:.2s}.outline:hover{background:#151719;color:white;border-color:#151719}
.service-grid article,.steps article,.reserve-form,.contact-card{border-radius:11px;box-shadow:var(--shadow)}
.services-home{background:#fbfaf7}.service-grid-six{grid-template-columns:repeat(3,1fr);gap:22px}.service-grid-six article{padding:0;background:#fff;border:1px solid #e8e2d7;border-radius:12px;box-shadow:0 14px 38px rgba(32,27,19,.07);overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}.service-grid-six article:hover{transform:translateY(-5px);border-color:#d3b16f;box-shadow:0 20px 48px rgba(32,27,19,.14)}.service-grid-six article>a{display:block;color:inherit}.service-visual{position:relative;height:210px;overflow:hidden;background:#171717}.service-visual>img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.service-grid-six article:hover .service-visual>img{transform:scale(1.045)}.service-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,8,8,.36))}.service-visual span{position:absolute;left:22px;bottom:0;z-index:1;width:55px;height:55px;display:grid;place-items:center;transform:translateY(50%);background:#fff;border:1px solid #dfc58e;border-radius:50%;box-shadow:0 8px 22px rgba(32,27,19,.18)}.service-visual span img{width:30px;height:30px}.service-copy{padding:38px 22px 22px}.service-grid-six h3{font:700 18px var(--sans);margin:0 0 7px}.service-grid-six p{font-size:13px;color:#777b80;margin:0 0 17px}.service-grid-six i{font-style:normal;text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:#9b7635;transition:color .2s}.service-grid-six article:hover i{color:#17191c}
.fleet-title{text-align:center;display:block}.fleet-title>div{margin:auto}.fleet-title p{margin:2px 0 0;color:#777}.fleet-title>a{display:inline-block;margin-top:12px}.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:13px;margin:32px 0 72px}.category-grid a{height:174px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#fff;border:1px solid #e9e5dd;border-radius:10px;box-shadow:0 12px 35px rgba(28,23,15,.05);transition:.25s;overflow:hidden}.category-grid a:hover{transform:translateY(-4px);border-color:#d5b476;box-shadow:var(--shadow)}.category-grid img{width:94%;height:118px;object-fit:contain;transition:transform .3s}.category-grid a:hover img{transform:scale(1.055)}.category-grid b{font-size:13px}.featured-head{margin-top:0}
.steps-four{grid-template-columns:repeat(4,1fr);gap:0}.steps-four article{box-shadow:none;border:0;border-right:1px solid #e7e1d7;border-radius:0;background:transparent;padding:18px 38px 18px 0;margin-right:38px}.steps-four article:last-child{border-right:0;margin-right:0}.steps-four b{width:46px;height:46px;background:transparent;color:#191b1e;border:1px solid #c9a15b;font-size:12px}.steps-four h3{font-size:14px;margin:17px 0 6px}.steps-four p{font-size:12px;color:#777;margin:0}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.testimonial-grid article{position:relative;background:#fff;border:1px solid #ece7dd;border-radius:11px;padding:28px 28px 25px;box-shadow:var(--shadow)}.testimonial-grid article>span{font:700 52px/1 var(--display);color:#c8a15b}.testimonial-grid p{color:#565b61;min-height:75px}.testimonial-grid b{display:block;font-size:12px}.testimonial-grid small{display:block;color:#c99b43;letter-spacing:3px;margin-top:8px}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.faq-grid details{background:#fff;border:1px solid #e9e5dd;border-radius:8px;padding:0 18px}.faq-grid summary{position:relative;cursor:pointer;list-style:none;padding:17px 34px 17px 0;font-weight:600;font-size:13px}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary:after{content:"+";position:absolute;right:2px;top:14px;font-size:20px;font-weight:400}.faq-grid details[open] summary:after{content:"–"}.faq-grid details p{margin:0;padding:0 30px 18px 0;color:#6d7176;font-size:12px}
.detail-hero{background:radial-gradient(circle at 75% 45%,#25282a,#0b0d0f 60%)}
.detail-grid>img{box-shadow:0 30px 90px rgba(0,0,0,.45)}
.gallery-count{color:#8b7550;text-transform:uppercase;letter-spacing:1.4px;font-size:11px;font-weight:700}
.photo-grid{grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:12px}
.photo-btn{position:relative;overflow:hidden;border-radius:9px;background:#111}
.photo-btn:first-child{grid-column:span 2;grid-row:span 2}
.photo-btn img{height:255px;transition:transform .45s,opacity .3s}
.photo-btn:first-child img{height:522px}
.photo-btn span{position:absolute;inset:auto 14px 14px auto;background:rgba(13,14,15,.78);backdrop-filter:blur(8px);color:white;padding:7px 11px;border-radius:4px;font-size:11px;opacity:0;transform:translateY(5px);transition:.25s}
.photo-btn:hover img{transform:scale(1.035);opacity:.85}.photo-btn:hover span{opacity:1;transform:none}
.gallery-more-wrap{text-align:center;margin-top:28px}
.lightbox{grid-template-columns:70px minmax(0,1fr) 70px;padding:28px;background:rgba(5,6,7,.96);backdrop-filter:blur(12px)}
.lightbox figure{margin:0;display:grid;place-items:center;max-height:94vh}.lightbox figure img{max-width:calc(100vw - 190px);max-height:88vh;object-fit:contain;border-radius:3px;box-shadow:0 30px 90px #000}.lightbox figcaption{color:#ccc;margin-top:10px;font:600 12px var(--sans);letter-spacing:1px}
.lightbox button{position:static;color:white;background:rgba(255,255,255,.09);width:52px;height:52px;border-radius:50%;font:300 42px/1 var(--sans);display:grid;place-items:center;justify-self:center}
.lightbox .lightbox-close{position:absolute;right:24px;top:20px;font-size:28px;z-index:2}
.lightbox button:hover{background:var(--gold);color:#111}
footer{padding:34px 0}.bottom-cta{border-top:1px solid rgba(209,169,92,.45);background:linear-gradient(90deg,rgba(7,9,11,.97) 0%,rgba(7,9,11,.83) 45%,rgba(7,9,11,.35)),url('/assets/hero-gclass-hotel-v2.png') center 54%/cover}
.partners-section{padding:64px 0 70px;background:#fff;text-align:center;border-top:1px solid #eee9df}.partners-section h2{font:600 39px var(--display);margin:7px 0 28px}.partner-row{display:grid;grid-template-columns:repeat(6,1fr);align-items:center;border:1px solid #ece8df;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.partner-row>a,.partner-row>span{height:128px;display:grid;place-items:center;padding:22px;background:#fbfaf7;border-right:1px solid #ece8df}.partner-row>*:last-child{border-right:0}.partner-row img{max-width:130px;max-height:72px;object-fit:contain;filter:grayscale(1);opacity:.56;transition:.25s}.partner-row>*:hover img{filter:grayscale(0);opacity:1;transform:scale(1.04)}
@media(max-width:900px){.section{padding:70px 0}.section h2{font-size:38px}.hero{min-height:680px}.hero:before{background-position:61% center}.hero:after{background:linear-gradient(90deg,rgba(5,7,9,.93),rgba(5,7,9,.66) 58%,rgba(5,7,9,.16)),linear-gradient(0deg,rgba(5,7,9,.28),transparent 45%)}.headlight-glow{display:none}.service-grid-six{grid-template-columns:repeat(2,1fr)}.service-visual{height:190px}.category-grid{grid-template-columns:repeat(3,1fr)}.steps-four{grid-template-columns:repeat(2,1fr);gap:28px}.steps-four article{border:0;margin:0}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-btn:first-child{grid-column:span 2}.lightbox{grid-template-columns:44px minmax(0,1fr) 44px;padding:16px}.lightbox figure img{max-width:calc(100vw - 112px)}.lightbox button{width:38px;height:38px;font-size:31px}.partner-row{grid-template-columns:repeat(3,1fr)}.partner-row>a,.partner-row>span{border-bottom:1px solid #ece8df}}
@media(max-width:560px){.hero{min-height:650px;align-items:flex-end}.hero:before{background-position:64% center}.hero:after{background:linear-gradient(180deg,rgba(4,6,8,.22) 4%,rgba(4,6,8,.4) 38%,rgba(4,6,8,.96) 82%)}.hero-copy{padding-top:150px;padding-bottom:54px}.hero h1{font-size:45px;line-height:.98}.hero p{font-size:15px}.section{padding:58px 0}.section h2{font-size:34px}.service-grid-six,.category-grid,.steps-four,.testimonial-grid,.faq-grid{grid-template-columns:1fr 1fr}.service-grid-six{grid-template-columns:1fr;gap:16px}.service-visual{height:205px}.category-grid{margin-bottom:52px}.category-grid a{height:142px}.category-grid img{height:91px}.steps-four{gap:20px}.testimonial-grid,.faq-grid{grid-template-columns:1fr}.testimonial-grid p{min-height:0}.photo-btn img{height:165px}.photo-btn:first-child img{height:340px}.photo-btn span{display:none}.gallery-count{white-space:nowrap}.lightbox{grid-template-columns:34px minmax(0,1fr) 34px;padding:8px}.lightbox figure img{max-width:calc(100vw - 84px)}.lightbox button{width:31px;height:31px;font-size:25px}.lightbox .lightbox-close{right:10px;top:10px}.car-photo{height:250px}.partners-section{padding:50px 0}.partner-row{grid-template-columns:repeat(2,1fr)}.partner-row>a,.partner-row>span{height:105px;padding:15px}.partner-row img{max-width:110px;max-height:60px}}
@media(prefers-reduced-motion:reduce){.headlight-glow{animation:none}}
