*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{
    --bg:#f7f3ee;
    --white:#ffffff;
    --dark:#101826;
    --text:#5f6773;
    --gold:#c6a56b;
    --gold-dark:#a9884f;
    --blue:#0f80c5;
    --blue-dark:#0a5e92;
    --line:rgba(255,255,255,0.18);
    --overlay:rgba(8,12,20,0.56);
    --shadow:0 20px 60px rgba(16,24,38,0.14);
    --radius:26px;
    --container:1280px;
}

html{
    scroll-behavior:smooth;
}

html,
body{
    max-width:100%;
    overflow-x:hidden;
}

body{
    font-family:'Inter', sans-serif;

    background:var(--bg);
    color:var(--dark);
    line-height:1.7;
    overflow-x:hidden;
}

img, iframe{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

h1,h2,h3,h4{
    font-family:'Cormorant Garamond', serif;
    font-weight:700;
    line-height:1.1;
}

#progress-bar{
    position:fixed;
    top:0;
    left:0;
    width:0%;
    height:4px;
    background:linear-gradient(90deg,var(--gold),#ecd7b0);
    z-index:3000;
}

.hero-header{
    min-height:92vh;
    position:relative;
    background:
        linear-gradient(var(--overlay), var(--overlay)),
        url("Images/Airport-Knoetzie.png") center center / cover no-repeat;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 50% 35%, rgba(255,255,255,0.08), transparent 35%),
        linear-gradient(to bottom, rgba(0,0,0,0.12), rgba(0,0,0,0.28));
}

nav{
    position:fixed;
    top:18px;
    left:50%;
    transform:translateX(-50%);
    width:92%;
    max-width:var(--container);
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:16px 28px;
    border-radius:18px;
    background:rgba(16,24,38,0.22);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border:1px solid var(--line);
    z-index:2000;
    transition:all .35s ease;
}

nav.scrolled{
    top:10px;
    background:rgba(16,24,38,0.84);
    box-shadow:var(--shadow);
}

.logo img{
    width:100px;
    height:auto;
}

.nav-links ul li{
    display:inline-block;
    margin:0 14px;
}

.nav-links ul li a{
    color:#fff;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:1.8px;
    font-weight:500;
    position:relative;
    padding-bottom:6px;
}

.nav-links ul li a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:0;
    height:2px;
    background:var(--gold);
    transition:width .35s ease;
}

.nav-links ul li a:hover::after,
.nav-links ul li a.active::after{
    width:100%;
}

.nav-actions{
    display:flex;
    align-items:center;
    gap:16px;
}

.nav-book-btn{
    padding:11px 20px;
    border-radius:999px;
    background:var(--gold);
    color:#fff;
    font-size:13px;
    font-weight:600;
    letter-spacing:1px;
    transition:.3s ease;
}

.nav-book-btn:hover{
    background:var(--gold-dark);
    transform:translateY(-2px);
}

.menu-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.45);
    opacity:0;
    visibility:hidden;
    transition:.3s ease;
    z-index:1900;
}

.menu-overlay.active{
    opacity:1;
    visibility:visible;
}

.menu-toggle,
.menu-close{
    display:none;
    background:none;
    border:none;
    color:#fff;
    cursor:pointer;
}

.menu-toggle{
    font-size:24px;
    padding:6px;
}

.menu-close{
    position:absolute;
    top:24px;
    right:22px;
    font-size:28px;
    z-index:2400;
}


.hero-content{
    position:relative;
    z-index:5;
    width:90%;
    max-width:940px;
    text-align:center;
    color:#fff;
    padding-top:80px;
}

.hero-subtitle{
    display:inline-block;
    margin-bottom:16px;
    color:var(--gold);
    text-transform:uppercase;
    letter-spacing:4px;
    font-size:13px;
    font-weight:600;
}

.hero-content h1{
    font-size:82px;
    color:#fff;
    margin-bottom:20px;
    text-shadow:0 12px 40px rgba(0,0,0,0.28);
}

.hero-content p{
    max-width:760px;
    margin:0 auto 34px;
    font-size:18px;
    color:rgba(255,255,255,0.9);
}

.hero-buttons{
    display:flex;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;
}

.hero-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:15px 30px;
    border-radius:999px;
    background:var(--gold);
    color:#fff;
    border:1px solid var(--gold);
    font-size:14px;
    font-weight:600;
    transition:.35s ease;
    box-shadow:0 18px 35px rgba(0,0,0,0.15);
}

.hero-btn:hover{
    background:var(--gold-dark);
    border-color:var(--gold-dark);
    transform:translateY(-3px);
}

.hero-btn-secondary{
    background:transparent;
    border:1px solid rgba(255,255,255,0.45);
}

.hero-btn-secondary:hover{
    background:rgba(255,255,255,0.10);
    border-color:#fff;
}

.intro-section,
.feature-section,
.booking-section,
.directions-section{
    width:92%;
    max-width:var(--container);
    margin:0 auto;
}

.intro-section{
    padding:90px 0 18px;
}

.intro-card{
    background:rgba(255,255,255,0.82);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-radius:28px;
    padding:38px;
    box-shadow:var(--shadow);
    text-align:center;
}

.intro-card h2{
    font-size:46px;
    margin-bottom:14px;
}

.intro-card p{
    font-size:17px;
    color:var(--text);
    max-width:920px;
    margin:0 auto 18px;
}

.notice-strip{
    margin-top:18px;
    background:linear-gradient(135deg, var(--blue), var(--blue-dark));
    color:#fff;
    padding:18px 24px;
    border-radius:16px;
    font-size:15px;
}

.feature-section{
    padding:30px 0 20px;
}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.feature-card{
    background:#fff;
    border-radius:24px;
    padding:32px 24px;
    box-shadow:var(--shadow);
    transition:transform .3s ease, box-shadow .3s ease;
}

.feature-card:hover{
    transform:translateY(-8px);
    box-shadow:0 28px 70px rgba(16,24,38,0.16);
}

.feature-icon{
    width:60px;
    height:60px;
    border-radius:18px;
    background:linear-gradient(135deg, var(--gold), #e4c48d);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    margin-bottom:18px;
}

.feature-card h3{
    font-size:30px;
    margin-bottom:10px;
}

.feature-card p{
    font-size:15px;
    color:var(--text);
}

.booking-section{
    padding:70px 0;
}

.booking-wrapper{
    background:#fff;
    border-radius:32px;
    box-shadow:var(--shadow);
    padding:50px 40px;
}

.booking-heading{
    text-align:center;
    max-width:820px;
    margin:0 auto 34px;
}

.booking-heading span{
    display:inline-block;
    color:var(--gold);
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:13px;
    font-weight:600;
    margin-bottom:12px;
}

.booking-heading h2{
    font-size:56px;
    margin-bottom:14px;
}

.booking-heading p{
    color:var(--text);
    font-size:16px;
}

.warning-text{
    color:#d62828 !important;
    font-weight:600;
    margin-top:8px;
}

.multi-step-card{
    max-width:860px;
    margin:0 auto;
}

#progressbar{
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-bottom:30px;
    flex-wrap:wrap;
}

#progressbar .tab{
    flex:1;
    min-width:130px;
    text-align:center;
    padding:14px 10px;
    border-radius:16px;
    background:#f3f5f8;
    color:#7b8493;
    font-size:14px;
    font-weight:600;
    transition:.3s ease;
}

#progressbar .tab i{
    display:block;
    margin-bottom:8px;
    font-size:18px;
}

#progressbar .tab.active{
    background:linear-gradient(135deg, #0f80c5, #2867ff);
    color:#fff;
    box-shadow:0 14px 30px rgba(40,103,255,0.18);
}

.tab-content{
    display:none;
    background:#fafafa;
    border-radius:24px;
    padding:32px;
    border:1px solid rgba(16,24,38,0.06);
}

.tab-content.active{
    display:block;
}

.tab-content h3{
    font-size:38px;
    margin-bottom:20px;
}

.section-note{
    font-size:14px;
    color:var(--text);
    margin-bottom:18px;
}

label{
    display:block;
    margin:14px 0 8px;
    font-weight:600;
    color:var(--dark);
}

label sup{
    color:#d62828;
}

input,
select,
textarea{
    width:100%;
    padding:14px 16px;
    border:1px solid rgba(16,24,38,0.12);
    border-radius:14px;
    font-size:15px;
    font-family:'Inter', sans-serif;
    background:#fff;
    color:var(--dark);
    outline:none;
    transition:border-color .25s ease, box-shadow .25s ease;
}

input:focus,
select:focus,
textarea:focus{
    border-color:#2867ff;
    box-shadow:0 0 0 4px rgba(40,103,255,0.08);
}

.review-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:28px;
}

.review-item{
    background:#fff;
    border:1px solid rgba(16,24,38,0.08);
    border-radius:14px;
    padding:14px 16px;
    font-size:14px;
}

.terms-box{
    background:#fff8ef;
    border:1px solid rgba(198,165,107,0.3);
    border-radius:18px;
    padding:22px;
    margin:20px 0;
}

.terms-box h4{
    font-size:28px;
    margin-bottom:12px;
}

.terms-box ul{
    list-style:disc;
    padding-left:20px;
}

.terms-box li{
    margin-bottom:8px;
    color:var(--text);
}

.checkbox-wrap{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin:20px 0;
    font-weight:500;
}

.checkbox-wrap input{
    width:auto;
    margin-top:5px;
}

.form-buttons{
    display:flex;
    justify-content:space-between;
    gap:14px;
    margin-top:26px;
    flex-wrap:wrap;
}

.form-buttons button{
    border:none;
    border-radius:14px;
    padding:14px 24px;
    cursor:pointer;
    font-size:15px;
    font-weight:600;
    transition:.3s ease;
}

#prevBtn{
    background:#edf2f7;
    color:var(--dark);
}

#nextBtn{
    background:linear-gradient(135deg, #0f80c5, #2867ff);
    color:#fff;
}

.submit-btn{
    display:none;
    background:linear-gradient(135deg, var(--gold), var(--gold-dark));
    color:#fff;
}

.form-buttons button:hover{
    transform:translateY(-2px);
}

.directions-section{
    padding:20px 0 110px;
}

.directions-grid{
    display:grid;
    grid-template-columns:1.3fr .9fr;
    gap:28px;
    align-items:start;
}

.map-card,
.info-card{
    background:#fff;
    border-radius:28px;
    box-shadow:var(--shadow);
    padding:28px;
}

.map-card h2{
    font-size:44px;
    margin-bottom:18px;
}

.map-card iframe{
    border-radius:20px;
}

.info-row{
    display:flex;
    gap:16px;
    margin-bottom:28px;
    align-items:flex-start;
}

.info-row i{
    width:50px;
    height:50px;
    border-radius:14px;
    background:linear-gradient(135deg,#ff5a3d,#ff7f50);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    flex-shrink:0;
}

.info-row h3{
    font-size:28px;
    margin-bottom:4px;
}

.info-row p{
    color:var(--text);
    font-size:15px;
}

.footer{
    background:#0f1724;
    padding:90px 20px 45px;
}

.footer-inner{
    max-width:900px;
    margin:0 auto;
    text-align:center;
}

.footer-inner h2{
    color:#fff;
    font-size:48px;
    margin-bottom:12px;
}

.footer-inner p{
    color:rgba(255,255,255,0.72);
    margin-bottom:20px;
}

.icons{
    margin:26px 0 18px;
}

.icons a{
    width:52px;
    height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    margin:0 8px;
    background:rgba(255,255,255,0.08);
    color:var(--gold);
    font-size:18px;
    transition:.35s ease;
}

.icons a:hover{
    background:var(--gold);
    color:#fff;
    transform:translateY(-4px);
}

.footer-text{
    font-size:14px;
    color:rgba(255,255,255,0.55);
}

.reveal{
    opacity:0;
    transform:translateY(45px);
    transition:all .85s ease;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}

#backToTop{
    position:fixed;
    right:24px;
    bottom:24px;
    width:52px;
    height:52px;
    border:none;
    border-radius:50%;
    background:var(--gold);
    color:#fff;
    font-size:22px;
    box-shadow:var(--shadow);
    cursor:pointer;
    opacity:0;
    visibility:hidden;
    transition:.35s ease;
    z-index:2200;
}

#backToTop.show{
    opacity:1;
    visibility:visible;
}


/* =========================================
   PREMIUM PARKING SHOWCASE SECTION
========================================= */

.parking-showcase-section{
    width:92%;
    max-width:1280px;
    margin:0 auto;
    padding:10px 0 40px;
}

.parking-showcase-card{
    background:rgba(255,255,255,0.82);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-radius:32px;
    padding:34px;
    box-shadow:var(--shadow);
}

.parking-showcase-heading{
    text-align:center;
    max-width:860px;
    margin:0 auto 28px;
}

.parking-showcase-heading span{
    display:inline-block;
    color:var(--gold);
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:13px;
    font-weight:600;
    margin-bottom:12px;
}

.parking-showcase-heading h2{
    font-size:52px;
    margin-bottom:14px;
    font-family:'Cormorant Garamond', serif;
    color:var(--dark);
}

.parking-showcase-heading p{
    color:var(--text);
    font-size:16px;
}

.premium-parking-scene{
    position:relative;
    width:100%;
    max-width:100%;
    height:430px;
    margin:0 auto;
    border-radius:34px;
    overflow:hidden;
    background:
        radial-gradient(circle at 15% 18%, rgba(255,255,255,0.09), transparent 24%),
        radial-gradient(circle at 85% 22%, rgba(198,165,107,0.18), transparent 24%),
        linear-gradient(180deg, rgba(12,18,30,0.94) 0%, rgba(14,22,36,0.97) 50%, rgba(8,12,20,1) 100%);
    border:1px solid rgba(255,255,255,0.08);
    box-shadow:
        0 35px 90px rgba(0,0,0,0.20),
        inset 0 1px 0 rgba(255,255,255,0.06);
}

.scene-glow{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 50% 76%, rgba(198,165,107,0.10), transparent 24%),
        radial-gradient(circle at 55% 52%, rgba(255,255,255,0.04), transparent 34%);
    animation:sceneGlowPulse 6s ease-in-out infinite;
}

.scene-floor{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:150px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0)),
        linear-gradient(90deg, rgba(255,255,255,0.025) 0%, rgba(255,255,255,0) 20%, rgba(255,255,255,0.03) 50%, rgba(255,255,255,0) 100%),
        #2f343d;
    border-top:1px solid rgba(255,255,255,0.04);
}

.scene-floor::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        repeating-linear-gradient(
            90deg,
            rgba(255,255,255,0.015) 0px,
            rgba(255,255,255,0.015) 2px,
            transparent 2px,
            transparent 88px
        );
    opacity:.28;
}

.floor-reflection{
    position:absolute;
    left:250px;
    bottom:44px;
    width:360px;
    height:72px;
    background:radial-gradient(ellipse at center, rgba(198,165,107,0.18), rgba(198,165,107,0.03) 68%, transparent 78%);
    filter:blur(18px);
    animation:floorGlowMove 8s ease-in-out infinite;
}

/* Shed */
.parking-shed{
    position:absolute;
    right:120px;
    bottom:72px;
    width:360px;
    height:190px;
}

.shed-roof{
    position:absolute;
    top:0;
    left:18px;
    width:324px;
    height:22px;
    border-radius:16px 16px 6px 6px;
    background:linear-gradient(180deg, #4f5661 0%, #2d333d 100%);
    box-shadow:
        0 10px 26px rgba(0,0,0,0.25),
        inset 0 1px 0 rgba(255,255,255,0.18);
}

.shed-roof::before{
    content:"";
    position:absolute;
    left:12px;
    right:12px;
    top:4px;
    height:4px;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(255,255,255,0.28), rgba(255,255,255,0.06));
}

.shed-roof-glow{
    position:absolute;
    top:10px;
    left:48px;
    width:266px;
    height:20px;
    background:radial-gradient(ellipse at center, rgba(198,165,107,0.22), transparent 72%);
    filter:blur(10px);
}

.shed-beam{
    position:absolute;
    bottom:0;
    width:12px;
    height:164px;
    border-radius:10px;
    background:linear-gradient(180deg, #67707c 0%, #363c46 100%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.14),
        0 10px 20px rgba(0,0,0,0.18);
}

.beam-left{ left:30px; }
.beam-mid-left{ left:114px; }
.beam-mid-right{ right:114px; }
.beam-right{ right:30px; }

.shed-back-wall{
    position:absolute;
    left:42px;
    right:42px;
    bottom:0;
    height:132px;
    border-radius:14px 14px 0 0;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.01)),
        linear-gradient(90deg, #212933 0%, #18202a 100%);
    border:1px solid rgba(255,255,255,0.05);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.05);
}

.shed-bay-line{
    position:absolute;
    bottom:0;
    width:4px;
    height:114px;
    background:linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.28));
    border-radius:999px;
    box-shadow:0 0 18px rgba(255,255,255,0.18);
}

.line-left{
    left:82px;
    transform:skewY(-15deg);
    transform-origin:bottom;
}

.line-right{
    right:82px;
    transform:skewY(15deg);
    transform-origin:bottom;
}

.shed-bay-stop{
    position:absolute;
    left:100px;
    right:100px;
    bottom:0;
    height:7px;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(255,255,255,0.15), rgba(198,165,107,0.95), rgba(255,255,255,0.15));
    box-shadow:0 0 20px rgba(198,165,107,0.24);
}

.shed-light{
    position:absolute;
    top:24px;
    width:64px;
    height:10px;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(255,248,230,0.9), rgba(198,165,107,0.7));
    filter:blur(.2px);
    box-shadow:
        0 0 12px rgba(255,230,180,0.32),
        0 0 26px rgba(198,165,107,0.18);
}

.light-left{ left:74px; }
.light-right{ right:74px; }

/* Guides */
.parking-guides{
    position:absolute;
    right:182px;
    bottom:84px;
    width:170px;
    height:120px;
}

.guide{
    position:absolute;
    inset:auto 0 0 0;
    margin:auto;
    border:1px solid rgba(198,165,107,0.16);
    border-radius:50%;
    background:radial-gradient(circle, rgba(198,165,107,0.10), transparent 68%);
    transform-origin:center;
    opacity:0;
}

.guide-1{
    width:64px;
    height:38px;
    left:54px;
    animation:guideWave 2.6s ease-out infinite;
}

.guide-2{
    width:98px;
    height:56px;
    left:36px;
    animation:guideWave 2.6s ease-out infinite .45s;
}

.guide-3{
    width:134px;
    height:76px;
    left:18px;
    animation:guideWave 2.6s ease-out infinite .9s;
}

/* Car anchored to final parked position */
.car-wrap{
    position:absolute;
    left:308px;
    bottom:78px;
    width:320px;
    height:150px;
    animation:reverseIntoShed 8s cubic-bezier(.7,.02,.2,1) infinite;
}

.car-shadow{
    position:absolute;
    left:18px;
    bottom:0;
    width:250px;
    height:32px;
    background:radial-gradient(ellipse at center, rgba(0,0,0,0.5), rgba(0,0,0,0.04) 72%);
    filter:blur(10px);
    animation:shadowMovePremium 8s cubic-bezier(.7,.02,.2,1) infinite;
}

.car-reflection{
    position:absolute;
    left:40px;
    bottom:-8px;
    width:220px;
    height:18px;
    background:linear-gradient(90deg, rgba(198,165,107,0.02), rgba(198,165,107,0.20), rgba(198,165,107,0.02));
    border-radius:50%;
    filter:blur(10px);
    opacity:.65;
}

.modern-car{
    position:absolute;
    left:0;
    bottom:20px;
    width:270px;
    height:76px;
    border-radius:28px 42px 20px 24px;
    background:
        linear-gradient(135deg, #0a111a 0%, #1f2b39 12%, #556273 48%, #1b2530 72%, #090f16 100%);
    box-shadow:
        inset 0 2px 0 rgba(255,255,255,0.18),
        inset 0 -10px 18px rgba(0,0,0,0.28),
        0 14px 26px rgba(0,0,0,0.26),
        18px 0 40px rgba(198,165,107,0.08);
    overflow:hidden;
}

.car-top{
    position:absolute;
    left:58px;
    top:-18px;
    width:138px;
    height:32px;
    border-radius:24px 30px 8px 8px;
    background:linear-gradient(180deg, #1d2732 0%, #0d151d 100%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.14);
}

.car-cabin{
    position:absolute;
    left:66px;
    top:-10px;
    width:124px;
    height:24px;
    border-radius:18px 22px 6px 6px;
    background:linear-gradient(180deg, rgba(120,145,170,0.82), rgba(48,74,99,0.42));
    border:1px solid rgba(255,255,255,0.08);
}

.car-window{
    position:absolute;
    top:-8px;
    height:18px;
    background:linear-gradient(180deg, rgba(196,222,245,0.78), rgba(76,106,133,0.30));
    border:1px solid rgba(255,255,255,0.08);
}

.rear-window{
    left:78px;
    width:34px;
    border-radius:8px 4px 4px 4px;
    transform:skew(14deg);
}

.front-window{
    left:144px;
    width:38px;
    border-radius:4px 10px 4px 4px;
    transform:skew(-18deg);
}

.car-windscreen{
    position:absolute;
    left:116px;
    top:-8px;
    width:24px;
    height:18px;
    background:linear-gradient(180deg, rgba(180,220,248,0.55), rgba(70,100,126,0.24));
}

.car-body-shine{
    position:absolute;
    left:16px;
    top:10px;
    width:162px;
    height:10px;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(255,255,255,0.34), rgba(255,255,255,0.06));
}

.car-grille{
    position:absolute;
    right:14px;
    top:30px;
    width:16px;
    height:20px;
    border-radius:6px;
    background:linear-gradient(180deg, #1a2028, #05080d);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04);
}

.car-door-cut{
    position:absolute;
    top:18px;
    width:2px;
    height:36px;
    background:rgba(255,255,255,0.16);
}

.front-cut{ left:140px; }
.rear-cut{ left:96px; }

.car-handle{
    position:absolute;
    top:34px;
    width:14px;
    height:3px;
    border-radius:999px;
    background:rgba(255,255,255,0.52);
}

.front-handle{ left:152px; }
.rear-handle{ left:108px; }

.headlight{
    position:absolute;
    right:-2px;
    top:26px;
    width:12px;
    height:18px;
    border-radius:8px 10px 10px 8px;
    background:linear-gradient(180deg, #fff7de, #f1c76f);
    box-shadow:
        0 0 14px rgba(255,220,140,0.45),
        0 0 28px rgba(255,220,140,0.16);
}

.taillight{
    position:absolute;
    left:-2px;
    width:10px;
    height:10px;
    border-radius:999px;
    background:linear-gradient(180deg, #ff8b8b, #ff3535);
    box-shadow:0 0 16px rgba(255,70,70,0.42);
    animation:tailPulse 1s ease-in-out infinite;
}

.taillight-top{ top:20px; }
.taillight-bottom{ top:40px; }

.numberplate{
    position:absolute;
    left:20px;
    bottom:14px;
    width:40px;
    height:12px;
    border-radius:4px;
    background:linear-gradient(180deg, #f4f1e8, #cfc7b4);
    box-shadow:0 0 0 1px rgba(0,0,0,0.15);
}

.wheel{
    position:absolute;
    bottom:2px;
    width:50px;
    height:50px;
    border-radius:50%;
    background:radial-gradient(circle at 35% 35%, #57606b, #151a20 68%);
    border:5px solid #0d1116;
    box-shadow:
        inset 0 0 0 5px #2c343e,
        0 6px 14px rgba(0,0,0,0.25);
    animation:wheelRotatePremium 8s cubic-bezier(.7,.02,.2,1) infinite;
}

.rear-wheel{ left:34px; }
.front-wheel{ right:22px; }

.rim{
    position:absolute;
    top:50%;
    left:50%;
    width:18px;
    height:18px;
    transform:translate(-50%, -50%);
    border-radius:50%;
    border:3px solid rgba(228,234,240,0.88);
}

.rim::before,
.rim::after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:16px;
    height:2px;
    background:rgba(228,234,240,0.84);
    transform:translate(-50%, -50%);
}

.rim::after{
    transform:translate(-50%, -50%) rotate(90deg);
}

.status-chip{
    position:absolute;
    left:24px;
    top:24px;
    padding:12px 18px;
    border-radius:999px;
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.10);
    color:#f5efe1;
    font-size:12px;
    letter-spacing:1.8px;
    text-transform:uppercase;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    box-shadow:0 12px 28px rgba(0,0,0,0.18);
}

/* Animations */
@keyframes reverseIntoShed{
    0%{
        transform:translateX(-175px);
    }
    54%{
        transform:translateX(0);
    }
    68%{
        transform:translateX(6px);
    }
    80%{
        transform:translateX(0);
    }
    100%{
        transform:translateX(0);
    }
}

@keyframes shadowMovePremium{
    0%{
        transform:translateX(-175px) scale(1);
        opacity:.82;
    }
    54%{
        transform:translateX(0) scale(.95);
        opacity:.94;
    }
    100%{
        transform:translateX(0) scale(.94);
        opacity:.96;
    }
}

@keyframes wheelRotatePremium{
    0%{
        transform:rotate(0deg);
    }
    54%{
        transform:rotate(-560deg);
    }
    100%{
        transform:rotate(-560deg);
    }
}

@keyframes tailPulse{
    0%,100%{
        opacity:.72;
        box-shadow:0 0 12px rgba(255,70,70,0.30);
    }
    50%{
        opacity:1;
        box-shadow:0 0 22px rgba(255,70,70,0.62);
    }
}

@keyframes guideWave{
    0%{
        transform:scale(.72);
        opacity:0;
    }
    35%{
        opacity:.55;
    }
    100%{
        transform:scale(1.24);
        opacity:0;
    }
}

@keyframes sceneGlowPulse{
    0%,100%{
        opacity:.82;
    }
    50%{
        opacity:1;
    }
}

@keyframes floorGlowMove{
    0%,100%{
        opacity:.55;
        transform:scaleX(1);
    }
    50%{
        opacity:.8;
        transform:scaleX(1.06);
    }
}

@media (max-width: 1100px){
    .feature-grid{
        grid-template-columns:1fr;
    }

    .directions-grid{
        grid-template-columns:1fr;
    }

    .hero-content h1{
        font-size:62px;
    }

    .booking-heading h2,
    .intro-card h2,
    .parking-showcase-heading h2{
        font-size:42px;
    }
}
@media (max-width: 768px){
    nav{
        width:94%;
        padding:14px 16px;
        border-radius:18px;
    }

    .logo img{
        width:78px;
        height:auto;
    }

    .nav-book-btn{
        display:none;
    }

    .menu-toggle,
    .menu-close{
        display:block;
    }

    .nav-actions{
        display:flex;
        align-items:center;
        gap:12px;
    }

    .nav-links{
        position:fixed;
        top:0;
        right:-100%;
        width:78%;
        max-width:320px;
        height:100vh;
        background:rgba(15,23,42,0.98);
        box-shadow:-10px 0 30px rgba(0,0,0,0.3);
        transition:right .35s ease;
        z-index:2300;
        padding:90px 28px 30px;
        display:flex;
        flex-direction:column;
        justify-content:flex-start;
    }

    .nav-links ul{
        padding:0;
        margin:0;
        width:100%;
    }

    .nav-links ul li{
        display:block;
        margin:0 0 22px 0;
    }

    .nav-links ul li a{
        display:inline-block;
        font-size:14px;
        letter-spacing:2px;
        color:#fff;
    }

    .hero-content{
        width:92%;
        padding-top:50px;
    }

    .hero-content h1{
        font-size:42px;
    }

    .hero-content p{
        font-size:16px;
    }

    .hero-subtitle{
        letter-spacing:2px;
        font-size:11px;
    }

    .booking-wrapper{
        padding:30px 20px;
    }

    .booking-heading h2,
    .intro-card h2,
    .map-card h2,
    .parking-showcase-heading h2{
        font-size:34px;
    }

    .tab-content{
        padding:22px;
    }

    .tab-content h3{
        font-size:30px;
    }

    .review-grid{
        grid-template-columns:1fr;
    }

    #progressbar .tab{
        min-width:100px;
        font-size:12px;
    }

    .parking-showcase-card{
        padding:20px;
        border-radius:24px;
    }

    .premium-parking-scene{
        height:280px;
        border-radius:24px;
    }

    .scene-floor{
        height:100px;
    }

    .floor-reflection{
        left:110px;
        bottom:28px;
        width:210px;
        height:44px;
    }

    .parking-shed{
        right:26px;
        bottom:40px;
        width:220px;
        height:116px;
    }

    .shed-roof{
        left:10px;
        width:200px;
        height:14px;
        border-radius:12px 12px 4px 4px;
    }

    .shed-roof-glow{
        top:8px;
        left:26px;
        width:156px;
        height:14px;
    }

    .shed-beam{
        width:8px;
        height:100px;
    }

    .beam-left{ left:18px; }
    .beam-mid-left{ left:68px; }
    .beam-mid-right{ right:68px; }
    .beam-right{ right:18px; }

    .shed-back-wall{
        left:28px;
        right:28px;
        height:80px;
    }

    .shed-bay-line{
        width:3px;
        height:68px;
    }

    .line-left{ left:52px; }
    .line-right{ right:52px; }

    .shed-bay-stop{
        left:66px;
        right:66px;
        height:5px;
    }

    .shed-light{
        top:16px;
        width:42px;
        height:6px;
    }

    .light-left{ left:42px; }
    .light-right{ right:42px; }

    .parking-guides{
        right:92px;
        bottom:42px;
        width:108px;
        height:70px;
    }

    .guide-1{
        width:34px;
        height:18px;
        left:36px;
    }

    .guide-2{
        width:56px;
        height:30px;
        left:24px;
    }

    .guide-3{
        width:80px;
        height:42px;
        left:12px;
    }

    .car-wrap{
        left:126px;
        bottom:40px;
        width:220px;
        height:94px;
        transform:scale(.68);
        transform-origin:left bottom;
        animation:reverseIntoShedMobile 8s cubic-bezier(.7,.02,.2,1) infinite;
    }

    .car-shadow{
        animation:shadowMovePremiumMobile 8s cubic-bezier(.7,.02,.2,1) infinite;
    }

    .modern-car{
        width:250px;
    }

    .status-chip{
        left:14px;
        top:14px;
        padding:9px 12px;
        font-size:10px;
        letter-spacing:1.2px;
    }

    @keyframes reverseIntoShedMobile{
        0%{
            transform:scale(.68) translateX(-92px);
        }
        54%{
            transform:scale(.68) translateX(0);
        }
        68%{
            transform:scale(.68) translateX(4px);
        }
        80%{
            transform:scale(.68) translateX(0);
        }
        100%{
            transform:scale(.68) translateX(0);
        }
    }

    @keyframes shadowMovePremiumMobile{
        0%{
            transform:translateX(-92px) scale(1);
            opacity:.82;
        }
        54%{
            transform:translateX(0) scale(.95);
            opacity:.94;
        }
        100%{
            transform:translateX(0) scale(.94);
            opacity:.96;
        }
    }
}


.calendar-section {
    padding: 90px 20px;
    background: linear-gradient(180deg, #f7f3ee 0%, #ffffff 100%);
}

.calendar-wrapper {
    max-width: 1250px;
    margin: 0 auto;
}

.calendar-heading {
    text-align: center;
    margin-bottom: 35px;
}

.calendar-heading span {
    display: inline-block;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #a9884f;
    margin-bottom: 10px;
    font-weight: 700;
}

.calendar-heading h2 {
    font-size: 44px;
    margin-bottom: 12px;
    color: #101826;
}

.calendar-heading p {
    color: #5b6470;
    max-width: 700px;
    margin: 0 auto;
    font-size: 16px;
}

.calendar-card {
    background: #ffffff;
    border-radius: 28px;
    padding: 30px;
    box-shadow: 0 18px 50px rgba(16, 24, 38, 0.08);
    border: 1px solid rgba(16, 24, 38, 0.05);
    overflow: hidden;
}

#bookingCalendar {
    max-width: 100%;
    min-height: 750px;
}

/* Toolbar */
.fc .fc-toolbar {
    margin-bottom: 24px !important;
    gap: 12px;
    flex-wrap: wrap;
}

.fc .fc-toolbar-title {
    font-size: 1.9rem;
    color: #101826;
    font-weight: 700;
    font-family: 'Cormorant Garamond', serif;
}

.fc .fc-button {
    border-radius: 12px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: capitalize;
    box-shadow: none !important;
}

.fc .fc-button-primary {
    background: linear-gradient(135deg, #c6a56b, #a9884f) !important;
    border: none !important;
    color: #fff !important;
}

.fc .fc-button-primary:hover,
.fc .fc-button-primary:focus {
    background: linear-gradient(135deg, #b8965f, #8f723f) !important;
}

.fc .fc-button-primary:not(:disabled).fc-button-active {
    background: #101826 !important;
    color: #fff !important;
}

/* Calendar grid */
.fc-theme-standard .fc-scrollgrid {
    border: 1px solid #ece7df !important;
    border-radius: 20px;
    overflow: hidden;
}

.fc-theme-standard th {
    background: #f9f6f1;
    color: #101826;
    font-weight: 700;
    padding: 12px 6px;
    border-color: #ece7df !important;
}

.fc-theme-standard td {
    border-color: #ece7df !important;
}

.fc .fc-daygrid-day {
    background: #fff;
    transition: background 0.2s ease;
}

.fc .fc-daygrid-day:hover {
    background: #faf7f2;
}

.fc .fc-daygrid-day-number {
    color: #101826;
    font-weight: 600;
    padding: 10px !important;
}

.fc .fc-day-today {
    background: rgba(198, 165, 107, 0.10) !important;
}

/* Events */
.fc .fc-daygrid-event {
    background: linear-gradient(135deg, #c6a56b, #a9884f) !important;
    border: none !important;
    color: #fff !important;
    border-radius: 10px !important;
    padding: 5px 8px !important;
    font-size: 12px;
    font-weight: 600;
    margin-top: 3px !important;
    box-shadow: 0 6px 16px rgba(169, 136, 79, 0.18);
}

.fc .fc-daygrid-event:hover {
    filter: brightness(1.05);
    cursor: pointer;
}

.fc .fc-event-title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fc .fc-list-event:hover td {
    background: #faf7f2 !important;
}

/* Mobile */
@media (max-width: 768px) {
    .calendar-heading h2 {
        font-size: 32px;
    }

    .calendar-card {
        padding: 15px;
        border-radius: 20px;
    }

    #bookingCalendar {
        min-height: 600px;
    }

    .fc .fc-toolbar {
        flex-direction: column;
        align-items: stretch !important;
    }

    .fc .fc-toolbar-chunk {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px;
    }

    .fc .fc-toolbar-title {
        font-size: 1.4rem;
        text-align: center;
    }

    .fc .fc-button {
        padding: 8px 10px !important;
        font-size: 12px !important;
    }
}


.custom-select-group {
    margin-bottom: 18px;
}

.custom-select {
    position: relative;
    width: 100%;
}

.select-search {
    width: 100%;
    padding: 14px 48px 14px 16px;
    border: 1px solid rgba(16,24,38,0.12);
    border-radius: 14px;
    font-size: 15px;
    font-family: 'Inter', sans-serif;
    background: #fff;
    color: var(--dark);
    outline: none;
    transition: border-color .25s ease, box-shadow .25s ease;
}

.select-search:focus {
    border-color: #2867ff;
    box-shadow: 0 0 0 4px rgba(40,103,255,0.08);
}

.select-search:disabled {
    background: #f2f4f7;
    color: #98a2b3;
    cursor: not-allowed;
}

.select-toggle {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border: none;
    background: transparent;
    color: #667085;
    cursor: pointer;
    border-radius: 10px;
}

.select-toggle:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.select-options {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    max-height: 220px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid rgba(16,24,38,0.10);
    border-radius: 14px;
    box-shadow: 0 14px 32px rgba(16,24,38,0.12);
    z-index: 999;
    display: none;
    padding: 8px 0;
}

.custom-select.open .select-options {
    display: block;
}

.select-option {
    padding: 12px 16px;
    font-size: 14px;
    color: var(--dark);
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.select-option:hover {
    background: #f7f3ee;
    color: var(--gold-dark);
}

.select-empty {
    padding: 12px 16px;
    font-size: 14px;
    color: #98a2b3;
}

.custom-select.open .select-toggle i {
    transform: rotate(180deg);
    transition: transform 0.25s ease;
}


.thank-you-message {
    background: linear-gradient(135deg, #f4fff6, #ecfff1);
    border: 1px solid #b7e4c7;
    border-radius: 24px;
    padding: 32px;
    margin-bottom: 20px;
    text-align: center;
    box-shadow: 0 14px 34px rgba(46, 139, 87, 0.08);
    animation: fadeSlideIn 0.6s ease;
}

.thank-you-icon {
    width: 68px;
    height: 68px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: linear-gradient(135deg, #2e8b57, #46b96f);
    color: #fff;
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    box-shadow: 0 10px 24px rgba(46, 139, 87, 0.18);
}

.thank-you-message h3 {
    font-size: 38px;
    margin-bottom: 12px;
    color: #1d4d2f;
}

.thank-you-message p {
    color: #355c43;
    font-size: 16px;
    margin-bottom: 6px;
}

.form-error-message {
    background: #fff4f4;
    color: #b42318;
    border: 1px solid #f3c7c7;
    border-radius: 16px;
    padding: 16px 18px;
    margin-bottom: 20px;
    font-size: 15px;
    font-weight: 600;
}

@keyframes fadeSlideIn {
    from {
        opacity: 0;
        transform: translateY(-12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


@media (max-width: 480px){
    .hero-content h1{
        font-size:36px;
    }

    .booking-heading h2,
    .intro-card h2,
    .map-card h2,
    .parking-showcase-heading h2,
    .calendar-heading h2{
        font-size:30px;
    }

    .booking-wrapper,
    .map-card,
    .info-card,
    .calendar-card,
    .parking-showcase-card,
    .intro-card{
        padding:20px;
    }

    #backToTop{
        right:16px;
        bottom:16px;
        width:46px;
        height:46px;
    }
}


/* =========================================
   SIGNATURE PAD
========================================= */

.signature-wrap{
    margin-top:18px;
}

.signature-box{
    background:#fff;
    border:1px solid rgba(16,24,38,0.10);
    border-radius:18px;
    padding:16px;
    box-shadow:0 12px 30px rgba(16,24,38,0.06);
}

.signature-canvas{
    width:100%;
    height:220px;
    display:block;
    background:#ffffff;
    border:2px dashed rgba(16,24,38,0.18);
    border-radius:14px;
    cursor:crosshair;
    touch-action:none;
}

.signature-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:12px;
}

.signature-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 18px;
    border-radius:999px;
    border:1px solid rgba(16,24,38,0.12);
    background:#f8fafc;
    color:#101826;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    transition:.25s ease;
}

.signature-btn:hover{
    background:#eef2f7;
    transform:translateY(-1px);
}

.signature-note{
    margin-top:10px;
    font-size:14px;
    color:#667085;
    line-height:1.6;
}

@media (max-width:768px){
    .signature-canvas{
        height:180px;
    }
}


.signature-canvas{
    width:100%;
    height:220px;
    display:block;
    background:#fff;
    border:1px dashed rgba(15,23,42,.25);
    border-radius:14px;
    touch-action:none;
    cursor:crosshair;
    user-select:none;
    -webkit-user-select:none;
    -webkit-touch-callout:none;
}
.signature-wrap{
    margin-top:18px;
}

.signature-box{
    background:#fff;
    border:1px solid rgba(15,23,42,.12);
    border-radius:18px;
    padding:16px;
    box-shadow:0 12px 30px rgba(15,23,42,.06);
}

.signature-canvas{
    width:100%;
    height:220px;
    display:block;
    background:#fff;
    border:1px dashed rgba(15,23,42,.25);
    border-radius:14px;
    touch-action:none;
    cursor:crosshair;
    user-select:none;
    -webkit-user-select:none;
    -webkit-touch-callout:none;
}

.signature-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:12px;
}

.signature-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 18px;
    border-radius:999px;
    border:1px solid #d1d5db;
    background:#f8fafc;
    color:#0f172a;
    font-weight:600;
    cursor:pointer;
    transition:.25s ease;
}

.signature-btn:hover{
    background:#eef2f7;
}

.signature-note{
    margin-top:10px;
    font-size:14px;
    color:#64748b;
}
