:root{--ink:#171712;--paper:#f4f0e7;--cream:#fbf8f1;--gold:#c8954b;--gold2:#e4bd79;--wine:#5b201f;--line:rgba(23,23,18,.14);--shadow:0 24px 70px rgba(22,18,12,.13);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.vcr-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.vcr-header{position:sticky;top:0;z-index:1000;background:rgba(251,248,241,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(23,23,18,.08)}.vcr-nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.vcr-brand{display:flex;align-items:center;gap:12px;min-width:0}.vcr-brand img{width:48px;height:48px;object-fit:contain}.vcr-monogram{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;font-family:Georgia,serif;font-size:25px;color:var(--gold)}.vcr-brand strong{display:block;font-family:Georgia,serif;font-size:18px;letter-spacing:.02em}.vcr-brand small{display:block;color:#7b7468;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.vcr-menu{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700}.vcr-menu a:not(.vcr-nav-cta){position:relative}.vcr-menu a:not(.vcr-nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:.25s}.vcr-menu a:hover:after{right:0}.vcr-nav-cta{padding:12px 18px;background:var(--ink);color:#fff;border-radius:999px}.vcr-menu-toggle{display:none;background:none;border:0;padding:8px}.vcr-menu-toggle span{display:block;width:25px;height:2px;background:var(--ink);margin:5px}.vcr-hero{min-height:760px;position:relative;display:grid;align-items:end;background:#2a2822 var(--hero-image,linear-gradient(135deg,#312d26,#131311));background-size:cover;background-position:center;color:#fff;overflow:hidden}.vcr-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 32%,rgba(224,184,119,.17),transparent 38%),linear-gradient(90deg,rgba(8,8,7,.9) 0%,rgba(8,8,7,.55) 52%,rgba(8,8,7,.18) 100%)}.vcr-hero:after{content:"VINTAGE";position:absolute;right:-10px;bottom:-58px;font:900 170px/1 Georgia,serif;letter-spacing:.05em;color:rgba(255,255,255,.045);pointer-events:none}.vcr-hero-inner{position:relative;z-index:2;padding:140px 0 90px}.vcr-kicker,.vcr-label{display:inline-flex;align-items:center;gap:10px;color:var(--gold2);font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.vcr-kicker:before,.vcr-label:before{content:"";width:32px;height:1px;background:currentColor}.vcr-hero h1{max-width:820px;margin:18px 0 22px;font:500 clamp(56px,7.2vw,102px)/.94 Georgia,"Times New Roman",serif;letter-spacing:-.04em}.vcr-hero p{max-width:660px;margin:0;color:rgba(255,255,255,.76);font-size:19px}.vcr-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.vcr-btn{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:12px 22px;border-radius:999px;font-weight:800;font-size:14px;transition:.25s;border:1px solid transparent;cursor:pointer}.vcr-btn:hover{transform:translateY(-2px)}.vcr-btn-primary{background:var(--gold);color:#17120a}.vcr-btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}.vcr-btn-outline{border-color:#3b372f;color:var(--ink)}.vcr-btn-gold{background:var(--gold);color:#17120a}.vcr-hero-proof{margin-top:42px;display:flex;gap:26px;flex-wrap:wrap;color:rgba(255,255,255,.68);font-size:13px}.vcr-section{padding:108px 0}.vcr-section-dark{background:#171712;color:#f8f4eb}.vcr-section-head{display:grid;grid-template-columns:1.1fr .75fr;gap:70px;align-items:end;margin-bottom:48px}.vcr-section-head h2,.vcr-center-head h2,.vcr-booking h2,.vcr-page-hero h1{margin:12px 0 0;font:500 clamp(38px,5vw,64px)/1.02 Georgia,serif;letter-spacing:-.035em}.vcr-section-head p{margin:0;color:#756f64;font-size:17px}.vcr-benefits{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.vcr-benefits article{padding:32px 34px 0 0}.vcr-benefits article+article{border-left:1px solid var(--line);padding-left:34px}.vcr-benefits span{font:italic 16px Georgia,serif;color:var(--gold)}.vcr-benefits h3{font:500 27px Georgia,serif;margin:11px 0}.vcr-benefits p{margin:0;color:#746e64}.vcr-center-head{text-align:center;max-width:760px;margin:0 auto 46px}.vcr-center-head .vcr-label:after{content:"";width:32px;height:1px;background:currentColor}.vcr-center-head h2{color:#fff}.vcr-center-head p{color:#9e998f}.vcr-packages{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.vcr-package{position:relative;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:34px;background:rgba(255,255,255,.035)}.vcr-package.is-featured{border-color:rgba(200,149,75,.7);background:linear-gradient(180deg,rgba(200,149,75,.13),rgba(255,255,255,.03));transform:translateY(-10px)}.vcr-badge{position:absolute;top:20px;right:20px;background:var(--gold);color:#1e160d;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.12em}.vcr-package h3{font:500 29px Georgia,serif;margin:5px 0 8px}.vcr-price{font:500 44px Georgia,serif;color:var(--gold2)}.vcr-package>p{color:#aaa499}.vcr-package ul{list-style:none;margin:26px 0 30px;padding:24px 0 0;border-top:1px solid rgba(255,255,255,.1)}.vcr-package li{padding:8px 0;color:#ded8ce}.vcr-package li span{color:var(--gold2);margin-right:9px}.vcr-package .vcr-btn{width:100%}.vcr-package .vcr-btn-outline{border-color:rgba(255,255,255,.22);color:#fff}.vcr-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:155px;gap:12px}.vcr-gallery-item{position:relative;overflow:hidden;border-radius:18px;grid-column:span 4;grid-row:span 2;background:#ddd}.vcr-gallery-item.item-1,.vcr-gallery-item.item-6{grid-column:span 8}.vcr-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.vcr-gallery-item:hover img{transform:scale(1.045)}.vcr-gallery-item:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72))}.vcr-gallery-item span{position:absolute;z-index:2;left:18px;bottom:15px;color:#fff;font-weight:800;font-size:14px}.vcr-gallery-empty{border:1px dashed #cfc6b7;border-radius:var(--radius);padding:70px 24px;text-align:center;background:#f8f4ec}.vcr-outline-car{font-size:44px;color:var(--gold)}.vcr-gallery-empty h3{font:500 32px Georgia,serif;margin:10px 0}.vcr-gallery-empty p{max-width:600px;margin:auto;color:#746e64}.vcr-booking{padding:108px 0;background:var(--paper)}.vcr-booking-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}.vcr-booking-copy{position:sticky;top:118px}.vcr-booking-copy p{font-size:17px;color:#716b61;max-width:470px}.vcr-contact-note{margin-top:30px;padding:20px 22px;border-left:3px solid var(--gold);background:rgba(255,255,255,.5)}.vcr-contact-note strong,.vcr-contact-note span{display:block}.vcr-contact-note span{margin-top:4px;color:#777064;font-size:13px}.vcr-form-card{background:#fff;border:1px solid rgba(23,23,18,.08);border-radius:var(--radius);box-shadow:var(--shadow);padding:36px}.vcr-form-card .cms-smart-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.vcr-form-card .cms-form-field{margin:0}.vcr-form-card .cms-form-field:has(textarea),.vcr-form-card .cms-form-field:has(input[name="pickup_location"]),.vcr-form-card .cms-form-field:has(.cms-choice-group),.vcr-form-card #form-errors,.vcr-form-card #form-success,.vcr-form-card .cms-form-submit{grid-column:1/-1}.vcr-form-card label{display:block;margin:0 0 7px;font-size:13px;font-weight:800;color:#332f29}.vcr-form-card input,.vcr-form-card select,.vcr-form-card textarea{width:100%;min-height:50px;border:1px solid #d8d1c4!important;border-radius:12px!important;background:#fff!important;color:#1e1c18!important;padding:12px 14px!important;font:inherit!important}.vcr-form-card textarea{min-height:120px;resize:vertical}.vcr-form-card input:focus,.vcr-form-card select:focus,.vcr-form-card textarea:focus{outline:2px solid rgba(200,149,75,.28);border-color:var(--gold)!important}.vcr-form-card .cms-choice-group{display:flex;gap:12px;flex-wrap:wrap}.vcr-form-card .cms-choice{display:flex;align-items:center;gap:7px;padding:9px 12px;background:#f7f3eb;border-radius:999px}.vcr-form-card .cms-choice input{width:auto!important;min-height:0!important}.vcr-form-card .cms-form-submit{border:0!important;background:var(--ink)!important;color:#fff!important;border-radius:999px!important;padding:15px 22px!important;font-weight:800!important;cursor:pointer}.vcr-form-card .cms-required,.vcr-form-card .field-error{color:#a7392f}.vcr-form-alert-error{background:#fff0ed!important;border:1px solid #efb3aa!important;color:#8f2e24!important;padding:14px 16px!important;border-radius:12px!important}.vcr-form-alert-success{background:#edf8ef!important;border:1px solid #a9d9b1!important;color:#276f34!important;padding:14px 16px!important;border-radius:12px!important}.vcr-page-hero{padding:130px 0 70px;background:#171712;color:#fff}.vcr-content{padding:80px 0}.vcr-prose{max-width:850px}.vcr-prose h1,.vcr-prose h2,.vcr-prose h3{font-family:Georgia,serif;line-height:1.08}.vcr-prose p,.vcr-prose li{color:#5f5a52}.vcr-featured{width:100%;max-height:540px;object-fit:cover;border-radius:20px;margin:28px 0}.vcr-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.vcr-post-grid article{border:1px solid var(--line);border-radius:18px;padding:24px}.vcr-notfound{min-height:65vh;display:grid;place-items:center;text-align:center;padding:100px 0}.vcr-notfound h1{font:500 56px Georgia,serif}.vcr-footer{padding:70px 0 26px;background:#0d0d0b;color:#d9d4ca}.vcr-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding-bottom:45px;border-bottom:1px solid rgba(255,255,255,.1)}.vcr-footer-brand{font:500 30px Georgia,serif;color:#fff}.vcr-footer p{color:#827e76}.vcr-footer-grid>div{display:flex;flex-direction:column;gap:8px}.vcr-footer-grid strong{color:var(--gold2);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}.vcr-footer-grid a,.vcr-footer-grid span{color:#aaa59d;font-size:14px}.vcr-footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;color:#69665f;font-size:12px}

@media(max-width:900px){.vcr-menu-toggle{display:block}.vcr-menu{position:absolute;left:20px;right:20px;top:76px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.vcr-menu.is-open{display:flex}.vcr-menu a{padding:12px}.vcr-nav-cta{text-align:center;margin-top:6px}.vcr-hero{min-height:690px}.vcr-section-head,.vcr-booking-grid{grid-template-columns:1fr;gap:34px}.vcr-booking-copy{position:static}.vcr-packages{grid-template-columns:1fr}.vcr-package.is-featured{transform:none}.vcr-benefits{grid-template-columns:1fr}.vcr-benefits article,.vcr-benefits article+article{border-left:0;border-bottom:1px solid var(--line);padding:26px 0}.vcr-gallery-item,.vcr-gallery-item.item-1,.vcr-gallery-item.item-6{grid-column:span 6}.vcr-footer-grid{grid-template-columns:1fr 1fr}.vcr-footer-grid>div:first-child{grid-column:1/-1}}

@media(max-width:620px){.vcr-shell{width:min(100% - 28px,1180px)}.vcr-nav{height:72px}.vcr-brand small{display:none}.vcr-hero-inner{padding:115px 0 60px}.vcr-hero h1{font-size:52px}.vcr-hero p{font-size:16px}.vcr-hero-actions .vcr-btn{width:100%}.vcr-hero-proof{gap:10px 18px}.vcr-section,.vcr-booking{padding:72px 0}.vcr-section-head{margin-bottom:32px}.vcr-section-head h2,.vcr-center-head h2,.vcr-booking h2,.vcr-page-hero h1{font-size:40px}.vcr-gallery{grid-auto-rows:130px}.vcr-gallery-item,.vcr-gallery-item.item-1,.vcr-gallery-item.item-6{grid-column:1/-1}.vcr-form-card{padding:22px}.vcr-form-card .cms-smart-form{grid-template-columns:1fr}.vcr-form-card .cms-form-field{grid-column:1/-1!important}.vcr-footer-grid{grid-template-columns:1fr}.vcr-footer-grid>div:first-child{grid-column:auto}.vcr-footer-bottom{flex-direction:column}.vcr-post-grid{grid-template-columns:1fr}}

.vcr-blog-hero{padding:130px 0 78px;background:#171712;color:#fff;position:relative;overflow:hidden}

.vcr-blog-hero:after{content:"JOURNAL";position:absolute;right:-10px;bottom:-42px;font:900 120px/1 Georgia,serif;letter-spacing:.04em;color:rgba(255,255,255,.035);pointer-events:none}

.vcr-blog-hero .vcr-shell{position:relative;z-index:1}

.vcr-blog-hero h1{margin:12px 0 18px;font:500 clamp(48px,6vw,76px)/1 Georgia,serif;letter-spacing:-.035em}

.vcr-blog-hero p{max-width:660px;margin:0;color:rgba(255,255,255,.68);font-size:18px}

.vcr-blog-section{padding:92px 0 110px;background:var(--cream)}

.vcr-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}

.vcr-blog-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 50px rgba(22,18,12,.07);transition:transform .25s ease,box-shadow .25s ease}

.vcr-blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}

.vcr-blog-image{display:block;aspect-ratio:16/10;background:linear-gradient(135deg,#2b2924,#11110f);overflow:hidden}

.vcr-blog-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}

.vcr-blog-card:hover .vcr-blog-image img{transform:scale(1.035)}

.vcr-blog-placeholder{width:100%;height:100%;display:grid;place-items:center;color:rgba(228,189,121,.68);font:500 72px Georgia,serif}

.vcr-blog-card-body{padding:26px 26px 28px}

.vcr-blog-meta{margin-bottom:10px;color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.18em}

.vcr-blog-card h2{margin:0 0 12px;font:500 29px/1.08 Georgia,serif;letter-spacing:-.02em}

.vcr-blog-card h2 a:hover{color:var(--wine)}

.vcr-blog-card p{margin:0 0 20px;color:#716b62;font-size:14px}

.vcr-blog-read{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:800}

.vcr-blog-read span{color:var(--gold);transition:transform .2s ease}

.vcr-blog-read:hover span{transform:translateX(4px)}

.vcr-blog-empty{text-align:center;padding:70px 28px;border:1px solid var(--line);border-radius:22px;background:#fff}

.vcr-blog-empty h2{margin:14px 0 10px;font:500 42px/1.05 Georgia,serif}

.vcr-blog-empty p{margin:0;color:#716b62}

.vcr-pagination{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:52px}

.vcr-pagination a{min-width:42px;height:42px;padding:0 12px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:800;font-size:13px}

.vcr-pagination a:hover,.vcr-pagination a.is-current{background:var(--ink);color:#fff;border-color:var(--ink)}

@media(max-width:900px){.vcr-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(max-width:620px){.vcr-blog-hero{padding:100px 0 58px}.vcr-blog-hero h1{font-size:46px}.vcr-blog-hero p{font-size:16px}.vcr-blog-section{padding:62px 0 78px}.vcr-blog-grid{grid-template-columns:1fr}.vcr-blog-card-body{padding:22px}.vcr-blog-card h2{font-size:27px}.vcr-blog-hero:after{font-size:72px;bottom:-24px}}



/* StudioCMS status pages: Coming Soon + Maintenance */

.cms-status-page{

    margin:0;

    min-height:100vh;

    background:#0a0a0a;

    color:#f5f5f2;

}

.cms-status-page *{box-sizing:border-box}

.cms-status-shell{

    min-height:100vh;

    display:grid;

    place-items:center;

    padding:28px;

}

.cms-status-card{

    position:relative;

    width:min(1120px,100%);

    min-height:min(760px,calc(100vh - 56px));

    overflow:hidden;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    padding:34px clamp(26px,5vw,72px);

    border:1px solid rgba(255,255,255,.16);

    background:

        linear-gradient(135deg,rgba(255,255,255,.045),transparent 35%),

        #0d0d0d;

}

.cms-status-card:before{

    content:"";

    position:absolute;

    inset:18px;

    pointer-events:none;

    border:1px solid rgba(255,255,255,.06);

}

.cms-status-topline,

.cms-status-footer{

    position:relative;

    z-index:2;

    display:flex;

    justify-content:space-between;

    gap:20px;

    font-size:11px;

    letter-spacing:.22em;

    text-transform:uppercase;

    opacity:.72;

}

.cms-status-brand{

    position:relative;

    z-index:2;

    margin-top:44px;

}

.cms-status-brand img{

    display:block;

    max-width:190px;

    max-height:74px;

    object-fit:contain;

    filter:grayscale(1);

}

.cms-status-wordmark{

    font-size:16px;

    font-weight:700;

    letter-spacing:.16em;

    text-transform:uppercase;

}

.cms-status-number{

    position:absolute;

    right:-.02em;

    top:45%;

    transform:translateY(-50%);

    font-size:clamp(70px,15vw,220px);

    font-weight:800;

    letter-spacing:-.065em;

    line-height:.75;

    color:transparent;

    -webkit-text-stroke:1px rgba(255,255,255,.07);

    user-select:none;

    white-space:nowrap;

}

.cms-status-content{

    position:relative;

    z-index:2;

    width:min(720px,100%);

    margin:60px 0;

}

.cms-status-kicker{

    margin:0 0 18px;

    font-size:11px;

    font-weight:700;

    letter-spacing:.28em;

}

.cms-status-content h1{

    max-width:820px;

    margin:0;

    font-size:clamp(44px,7vw,92px);

    line-height:.94;

    letter-spacing:-.045em;

}

.cms-status-message{

    max-width:650px;

    margin:28px 0 0;

    font-size:clamp(16px,2vw,21px);

    line-height:1.7;

    color:rgba(255,255,255,.68);

}

.cms-status-contact{

    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    gap:28px;

    max-width:650px;

    margin-top:42px;

    padding-top:20px;

    border-top:1px solid rgba(255,255,255,.16);

    font-size:12px;

}

.cms-status-contact>span{

    text-transform:uppercase;

    letter-spacing:.16em;

    opacity:.55;

}

.cms-status-contact div{

    display:flex;

    flex-wrap:wrap;

    justify-content:flex-end;

    gap:12px 22px;

}

.cms-status-contact a{

    color:inherit;

    text-decoration:none;

    border-bottom:1px solid rgba(255,255,255,.35);

}

.cms-status-contact a:hover{border-color:currentColor}

.cms-status-maintenance .cms-status-card{

    background:

        linear-gradient(120deg,rgba(255,255,255,.04),transparent 42%),

        repeating-linear-gradient(135deg,transparent 0 48px,rgba(255,255,255,.012) 48px 49px),

        #0d0d0d;

}

@media (max-width:700px){

    .cms-status-shell{padding:14px}

    .cms-status-card{

        min-height:calc(100vh - 28px);

        padding:24px;

    }

    .cms-status-card:before{inset:10px}

    .cms-status-brand{margin-top:52px}

    .cms-status-content{margin:45px 0}

    .cms-status-content h1{font-size:clamp(40px,13vw,64px)}

    .cms-status-number{top:39%;font-size:24vw}

    .cms-status-contact{display:block}

    .cms-status-contact div{

        justify-content:flex-start;

        margin-top:12px;

    }

    .cms-status-footer{font-size:9px;letter-spacing:.14em}

}





/* ==========================================================

   Vintage Car Rental 2.0.0

   Classic Cruise + Add-Ons + Reservation + FAQ

========================================================== */



.vcr-menu-item{position:relative}

.vcr-menu-item>a{display:block}

.vcr-menu-item.has-children>.vcr-submenu{

    position:absolute;

    top:calc(100% + 12px);

    left:0;

    min-width:220px;

    display:none;

    padding:10px;

    background:#fff;

    color:var(--ink);

    border:1px solid var(--line);

    border-radius:14px;

    box-shadow:var(--shadow);

}

.vcr-menu-item.has-children:hover>.vcr-submenu{display:block}

.vcr-submenu .vcr-menu-item>a{padding:9px 10px;border-radius:9px}

.vcr-submenu .vcr-menu-item>a:hover{background:var(--paper)}



.vcr-cruise{

    padding:108px 0;

    background:var(--paper);

}

.vcr-cruise-grid{

    display:grid;

    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);

    gap:70px;

    align-items:center;

}

.vcr-cruise-media{

    min-height:590px;

    border-radius:30px;

    overflow:hidden;

    background:#171712;

    box-shadow:var(--shadow);

}

.vcr-cruise-media img{

    width:100%;

    height:100%;

    min-height:590px;

    object-fit:cover;

}

.vcr-cruise-placeholder{

    min-height:590px;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    background:

        radial-gradient(circle at 25% 30%,rgba(200,149,75,.32),transparent 34%),

        linear-gradient(145deg,#29261f,#10100e);

    color:#fff;

}

.vcr-cruise-placeholder span{font-size:12px;letter-spacing:.28em;color:var(--gold2)}

.vcr-cruise-placeholder strong{font:500 clamp(58px,8vw,110px)/.9 Georgia,serif;letter-spacing:-.06em}

.vcr-cruise-copy h2{

    margin:12px 0 18px;

    font:500 clamp(44px,5vw,70px)/.98 Georgia,serif;

    letter-spacing:-.04em;

}

.vcr-cruise-copy>p{color:#6e675d;font-size:17px;margin:0 0 24px}

.vcr-cruise-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 22px}

.vcr-cruise-meta strong{font:500 28px Georgia,serif;color:var(--wine)}

.vcr-cruise-meta span{padding:7px 12px;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:800}

.vcr-check-list{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:10px}

.vcr-check-list li{position:relative;padding-left:26px;color:#4f4a43}

.vcr-check-list li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:900}



.vcr-addons{background:#fbf8f1}

.vcr-addon-grid{

    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:16px;

}

.vcr-addon-card{

    display:grid;

    grid-template-columns:56px 1fr;

    gap:20px;

    padding:28px;

    border:1px solid var(--line);

    border-radius:20px;

    background:#fff;

    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;

}

.vcr-addon-card:hover{transform:translateY(-3px);box-shadow:0 18px 50px rgba(22,18,12,.08);border-color:rgba(200,149,75,.55)}

.vcr-addon-card>span{font:italic 18px Georgia,serif;color:var(--gold)}

.vcr-addon-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}

.vcr-addon-heading h3{margin:0;font:500 23px/1.1 Georgia,serif}

.vcr-addon-heading strong{white-space:nowrap;color:var(--wine);font-size:13px}

.vcr-addon-card p{margin:10px 0 0;color:#716b62;font-size:14px}



.vcr-booking{padding:108px 0;background:#171712;color:#f8f4eb}

.vcr-booking-head{text-align:center;max-width:760px;margin:0 auto 48px}

.vcr-booking-head h2{margin:12px 0 18px;font:500 clamp(44px,5vw,68px)/1 Georgia,serif}

.vcr-booking-head p{margin:0;color:#aaa59d;font-size:17px}

.vcr-booking-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:46px;align-items:start}

.vcr-booking-copy{position:sticky;top:110px}

.vcr-booking-copy>h3{margin:0 0 20px;font:500 31px Georgia,serif}

.vcr-experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}

.vcr-experience-grid article{padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.035)}

.vcr-experience-grid article>span{font-size:11px;font-weight:900;letter-spacing:.16em;color:var(--gold2)}

.vcr-experience-grid h4{margin:9px 0 7px;font:500 20px Georgia,serif}

.vcr-experience-grid p{margin:0;color:#aaa59d;font-size:13px}

.vcr-contact-note{margin-top:20px;padding:18px 20px;border:1px solid rgba(200,149,75,.28);border-radius:16px;background:rgba(200,149,75,.07)}

.vcr-contact-note strong{display:block;color:var(--gold2);margin-bottom:4px}

.vcr-contact-note span{display:block;color:#aaa59d;font-size:13px}



.vcr-faq{background:var(--paper)}

.vcr-center-head-light h2{color:var(--ink)}

.vcr-center-head-light p{color:#716b62}

.vcr-faq-list{max-width:900px;margin:0 auto;border-top:1px solid var(--line)}

.vcr-faq-item{border-bottom:1px solid var(--line)}

.vcr-faq-item summary{

    list-style:none;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    padding:24px 0;

    cursor:pointer;

    font:500 22px/1.25 Georgia,serif;

}

.vcr-faq-item summary::-webkit-details-marker{display:none}

.vcr-faq-item summary b{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font:600 20px/1 sans-serif;color:var(--gold)}

.vcr-faq-answer{padding:0 54px 24px 0;color:#6f695f;line-height:1.75}



.vcr-social-row{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:12px}

.vcr-social-row a{font-size:12px!important;color:var(--gold2)!important}

.vcr-footer-menu{display:flex;flex-direction:column;gap:8px}

.vcr-footer-menu .vcr-menu-item>a{color:#aaa59d;font-size:14px}

.vcr-footer-menu .vcr-submenu{display:none!important}



@media(max-width:900px){

    .vcr-menu .vcr-menu-item{width:100%}

    .vcr-menu-item.has-children>.vcr-submenu{position:static;display:block;box-shadow:none;border:0;padding:0 0 0 14px;background:transparent}

    .vcr-cruise-grid{grid-template-columns:1fr;gap:34px}

    .vcr-cruise-media,.vcr-cruise-media img,.vcr-cruise-placeholder{min-height:470px}

    .vcr-addon-grid{grid-template-columns:1fr}

    .vcr-booking-grid{grid-template-columns:1fr}

    .vcr-booking-copy{position:static}

}

@media(max-width:620px){

    .vcr-cruise{padding:72px 0}

    .vcr-cruise-media,.vcr-cruise-media img,.vcr-cruise-placeholder{min-height:380px}

    .vcr-addon-card{grid-template-columns:38px 1fr;padding:22px}

    .vcr-addon-heading{display:block}

    .vcr-addon-heading strong{display:block;margin-top:6px}

    .vcr-experience-grid{grid-template-columns:1fr}

    .vcr-faq-item summary{font-size:19px}

    .vcr-faq-answer{padding-right:0}

}





/* ==========================================================

   Vintage Car Rental 2.1.0

========================================================== */



.vcr-packages-section{

    background:#f7f1e5;

}



.vcr-package-grid{

    display:grid;

    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:18px;

}



.vcr-package-card{

    display:flex;

    flex-direction:column;

    min-width:0;

    overflow:hidden;

    background:#fff;

    border:1px solid var(--line);

    border-radius:22px;

    box-shadow:0 18px 50px rgba(22,18,12,.06);

}



.vcr-package-image{

    aspect-ratio:4/3;

    overflow:hidden;

    background:#171712;

}



.vcr-package-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:transform .5s ease;

}



.vcr-package-card:hover .vcr-package-image img{

    transform:scale(1.035);

}



.vcr-package-image-placeholder{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    padding:24px;

    text-align:center;

    background:

        radial-gradient(circle at 25% 30%,rgba(200,149,75,.28),transparent 36%),

        linear-gradient(145deg,#29261f,#10100e);

    color:#fff;

}



.vcr-package-image-placeholder span{

    font-size:10px;

    letter-spacing:.24em;

    color:var(--gold2);

}



.vcr-package-image-placeholder strong{

    margin-top:6px;

    font:500 28px/1 Georgia,serif;

}



.vcr-package-content{

    display:flex;

    flex:1;

    flex-direction:column;

    padding:22px;

}



.vcr-package-topline{

    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    gap:12px;

}



.vcr-package-topline h3{

    margin:0;

    font:500 24px/1.05 Georgia,serif;

}



.vcr-package-topline>strong{

    color:var(--wine);

    white-space:nowrap;

    font-size:13px;

}



.vcr-package-duration{

    display:inline-flex;

    align-self:flex-start;

    margin:12px 0 0;

    padding:6px 9px;

    border:1px solid var(--line);

    border-radius:999px;

    font-size:10px;

    font-weight:800;

    letter-spacing:.05em;

    text-transform:uppercase;

}



.vcr-package-content>p{

    margin:16px 0 0;

    color:#716b62;

    font-size:14px;

    line-height:1.6;

}



.vcr-package-content ul{

    list-style:none;

    padding:0;

    margin:18px 0 22px;

    display:grid;

    gap:8px;

}



.vcr-package-content li{

    display:flex;

    gap:8px;

    color:#4f4a43;

    font-size:13px;

}



.vcr-package-content li span{

    color:var(--gold);

    font-weight:900;

}



.vcr-package-content .vcr-btn{

    margin-top:auto;

}



.vcr-social-icons{

    display:flex;

    flex-wrap:wrap;

    gap:9px;

    margin-top:16px;

}



.vcr-social-icons a{

    width:38px;

    height:38px;

    display:grid;

    place-items:center;

    border:1px solid rgba(255,255,255,.15);

    border-radius:50%;

    color:#fff;

    transition:background .2s ease,border-color .2s ease,transform .2s ease;

}



.vcr-social-icons a:hover{

    transform:translateY(-2px);

    background:var(--gold);

    border-color:var(--gold);

    color:#111;

}



.vcr-social-icons svg{

    width:17px;

    height:17px;

    fill:currentColor;

    stroke:currentColor;

    stroke-width:1.7;

}



.vcr-social-icons svg rect,

.vcr-social-icons svg circle{

    fill:none;

}



.vcr-social-icons .vcr-icon-cut{

    fill:#171712;

    stroke:none;

}



@media(max-width:1180px){

    .vcr-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

}



@media(max-width:640px){

    .vcr-package-grid{grid-template-columns:1fr}

}





/* ==========================================================

   Vintage Car Rental 2.2.0 — dynamic repeaters + videos

========================================================== */



/* Packages stay four columns on large desktop and gracefully wrap. */

.vcr-package-grid{

    grid-template-columns:repeat(4,minmax(0,1fr));

}

@media(max-width:1180px){

    .vcr-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

}

@media(max-width:640px){

    .vcr-package-grid{grid-template-columns:1fr}

}



/* Videos */

.vcr-videos{

    background:#f7f1e5;

}

.vcr-video-grid{

    display:grid;

    grid-template-columns:repeat(12,minmax(0,1fr));

    gap:22px;

    align-items:start;

}

.vcr-video-card{

    grid-column:span 6;

    min-width:0;

}

.vcr-video-card.is-portrait{

    grid-column:span 4;

}

.vcr-video-frame{

    width:100%;

    overflow:hidden;

    border-radius:22px;

    background:#111;

    box-shadow:0 20px 60px rgba(22,18,12,.12);

}

.vcr-video-card.is-landscape .vcr-video-frame{

    aspect-ratio:16/9;

}

.vcr-video-card.is-portrait .vcr-video-frame{

    aspect-ratio:9/16;

    max-width:420px;

    margin-inline:auto;

}

.vcr-video-frame iframe{

    width:100%;

    height:100%;

    display:block;

    border:0;

}

.vcr-video-copy{

    padding:16px 4px 0;

}

.vcr-video-copy h3{

    margin:0;

    font:500 24px/1.1 Georgia,serif;

}

.vcr-video-copy p{

    margin:8px 0 0;

    color:#716b62;

    font-size:14px;

    line-height:1.65;

}

@media(max-width:900px){

    .vcr-video-card,

    .vcr-video-card.is-portrait{

        grid-column:span 12;

    }

    .vcr-video-card.is-portrait .vcr-video-frame{

        max-width:360px;

    }

}





/* =========================================================

   Vintage Car Rental 2.3.0 — Gallery toggle, albums, pagination, lightbox

   ========================================================= */

.vcr-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}

.vcr-album-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 8px 30px rgba(22,18,12,.06);transition:transform .22s ease,box-shadow .22s ease}

.vcr-album-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(22,18,12,.11)}

.vcr-album-cover{aspect-ratio:4/3;background:#e9e3d8;overflow:hidden}

.vcr-album-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}

.vcr-album-card:hover .vcr-album-cover img{transform:scale(1.035)}

.vcr-album-placeholder{height:100%;display:grid;place-items:center;color:#827a6d;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

.vcr-album-copy{padding:18px 20px}

.vcr-album-copy h3{margin:0 0 5px;font:500 25px Georgia,serif}

.vcr-album-copy span{color:#81796e;font-size:13px;font-weight:700}

.vcr-gallery-back{margin-bottom:28px}

.vcr-gallery-back a{color:var(--ink);font-weight:800;text-decoration:none}

.vcr-gallery-back a:hover{color:var(--gold)}



.vcr-album-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}

.vcr-album-images figure{margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:18px;background:#ddd}

.vcr-lightbox-trigger{position:relative;width:100%;height:100%;padding:0;border:0;background:transparent;display:block;cursor:zoom-in;overflow:hidden}

.vcr-lightbox-trigger img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}

.vcr-lightbox-trigger:hover img{transform:scale(1.035)}

.vcr-zoom-badge{position:absolute;right:12px;bottom:12px;width:40px;height:40px;border-radius:999px;display:grid;place-items:center;background:rgba(0,0,0,.68);color:#fff;font-size:23px;opacity:0;transform:translateY(4px);transition:.2s ease}

.vcr-lightbox-trigger:hover .vcr-zoom-badge,.vcr-lightbox-trigger:focus-visible .vcr-zoom-badge{opacity:1;transform:none}



.vcr-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:38px auto 0;max-width:100%;overflow:visible}

.vcr-page-number{min-width:42px;height:42px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid #cfc6b7;border-radius:999px;background:#fff;color:#2b2823!important;text-decoration:none!important;font-weight:800;line-height:1}

.vcr-page-number:hover{border-color:var(--gold);color:#6a461a!important}

.vcr-page-number.is-current{background:#171712;color:#fff!important;border-color:#171712}

.vcr-page-prev,.vcr-page-next{padding-left:17px;padding-right:17px}



.vcr-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.95);display:none;align-items:center;justify-content:center;padding:28px 76px}

.vcr-lightbox.is-open{display:flex}

html.vcr-lightbox-open{overflow:hidden}

.vcr-lightbox-stage{position:relative;width:min(1200px,100%);height:min(86vh,900px);display:flex;align-items:center;justify-content:center}

.vcr-lightbox-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none}

.vcr-lightbox-counter{position:absolute;left:50%;bottom:-4px;transform:translate(-50%,100%);color:#fff;font-size:13px;font-weight:800;letter-spacing:.08em}

.vcr-lightbox-close,.vcr-lightbox-nav{position:absolute;border:0;background:rgba(255,255,255,.13);color:#fff;display:grid;place-items:center;border-radius:999px;cursor:pointer;z-index:2}

.vcr-lightbox-close{top:18px;right:18px;width:48px;height:48px;font-size:32px;line-height:1}

.vcr-lightbox-nav{top:50%;transform:translateY(-50%);width:54px;height:54px;font-size:42px;line-height:1}

.vcr-lightbox-prev{left:16px}.vcr-lightbox-next{right:16px}

.vcr-lightbox-close:hover,.vcr-lightbox-nav:hover{background:rgba(255,255,255,.24)}



@media(max-width:900px){

  .vcr-album-grid,.vcr-album-images{grid-template-columns:repeat(2,minmax(0,1fr))}

}

@media(max-width:620px){

  .vcr-album-grid{grid-template-columns:1fr}

  .vcr-album-images{grid-template-columns:1fr 1fr;gap:10px}

  .vcr-lightbox{padding:70px 12px 54px}

  .vcr-lightbox-nav{width:44px;height:44px;font-size:34px}

  .vcr-lightbox-prev{left:7px}.vcr-lightbox-next{right:7px}

  .vcr-lightbox-close{top:12px;right:12px;width:44px;height:44px}

  .vcr-pagination{gap:6px}

  .vcr-page-number{min-width:36px;height:36px;padding:0 10px;font-size:12px}

}



/* ==========================================================
   Mobile booking form alignment + success message fix
   2026-09-11
========================================================== */

/* Allow native mobile controls (especially iOS date inputs) to shrink
   inside the responsive form grid instead of overflowing the card. */
.vcr-form-card .cms-smart-form,
.vcr-form-card .cms-form-field {
    min-width: 0;
}

.vcr-form-card input[type="date"] {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    inline-size: 100% !important;
    box-sizing: border-box !important;
}

/* Keep the successful submission message readable on the white form card. */
.vcr-form-card #form-success,
.vcr-form-card #form-success *,
.vcr-form-card .vcr-form-alert-success,
.vcr-form-card .vcr-form-alert-success * {
    color: #000 !important;
}

@media (max-width: 620px) {
    .vcr-form-card {
        overflow: hidden;
    }

    .vcr-form-card .cms-smart-form,
    .vcr-form-card .cms-form-field,
    .vcr-form-card input,
    .vcr-form-card select,
    .vcr-form-card textarea {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .vcr-form-card input[type="date"] {
        width: 100% !important;
        inline-size: 100% !important;
        font-size: 16px !important;
    }
}


/* ==========================================================
   iOS Safari date-field hard fix
   ========================================================== */
.vcr-form-card,
.vcr-form-card .cms-smart-form,
.vcr-form-card .cms-form-field {
    min-width: 0 !important;
    max-width: 100% !important;
}

.vcr-form-card .cms-form-field:has(input[type="date"]) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    contain: inline-size;
}

.vcr-form-card input[type="date"],
.vcr-form-card input.cms-form-control[type="date"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    inline-size: 100% !important;
    min-width: 0 !important;
    min-inline-size: 0 !important;
    max-width: 100% !important;
    max-inline-size: 100% !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    overflow: hidden !important;
}

.vcr-form-card input[type="date"]::-webkit-date-and-time-value {
    min-width: 0 !important;
    text-align: left !important;
}

.vcr-form-card input[type="date"]::-webkit-calendar-picker-indicator {
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 620px) {
    .vcr-form-card {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .vcr-form-card .cms-smart-form {
        width: 100% !important;
        max-width: 100% !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .vcr-form-card .cms-form-field,
    .vcr-form-card .cms-form-field:has(input[type="date"]) {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-column: 1 / -1 !important;
    }

    .vcr-form-card input[type="date"],
    .vcr-form-card input.cms-form-control[type="date"] {
        width: 100% !important;
        inline-size: 100% !important;
        max-width: 100% !important;
        max-inline-size: 100% !important;
        min-width: 0 !important;
        min-inline-size: 0 !important;
    }
}

/* Keep the successful message fully readable. */
.vcr-form-card #form-success,
.vcr-form-card #form-success *,
.vcr-form-card .vcr-form-alert-success,
.vcr-form-card .vcr-form-alert-success * {
    color: #000 !important;
}


/* ==========================================================
   Form validation / anti-spam message visibility fix
   ========================================================== */
.vcr-form-card #form-errors,
.vcr-form-card #form-errors *,
.vcr-form-card .vcr-form-alert-error,
.vcr-form-card .vcr-form-alert-error *,
.vcr-form-card .cms-form-errors,
.vcr-form-card .cms-form-errors *,
.vcr-form-card .cms-form-error,
.vcr-form-card .cms-form-error *,
.vcr-form-card [role="alert"],
.vcr-form-card [role="alert"] * {
    color: #000 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.vcr-form-card #form-errors,
.vcr-form-card .vcr-form-alert-error,
.vcr-form-card .cms-form-errors,
.vcr-form-card .cms-form-error {
    background: #fff0ed !important;
    border: 1px solid #efb3aa !important;
    padding: 14px 16px !important;
    border-radius: 12px !important;
}

.vcr-form-card #form-success,
.vcr-form-card #form-success *,
.vcr-form-card .vcr-form-alert-success,
.vcr-form-card .vcr-form-alert-success * {
    color: #000 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* ==========================================================
   StudioCMS form label-aware row alignment
   Keeps two-column controls aligned whether labels are ON or OFF.
   ========================================================== */

/* The normal visible label establishes the shared label row height. */
.vcr-form-card .cms-form-field > .cms-form-label {
    display: block !important;
    min-height: 20px;
    line-height: 20px;
    margin: 0 0 7px !important;
}

/*
 * When Form Builder has "Show Label" disabled, Renderer.php omits the
 * .cms-form-label element completely. Add an invisible spacer only to
 * those fields so their control starts at the same vertical position
 * as the neighboring labeled control.
 */
@media (min-width: 621px) {
    .vcr-form-card .cms-form-field:not(:has(> .cms-form-label))::before {
        content: "";
        display: block;
        height: 20px;
        margin: 0 0 7px;
        pointer-events: none;
    }

    /* Never add a fake label row to CMS alerts or the submit button. */
    .vcr-form-card #form-errors::before,
    .vcr-form-card #form-success::before {
        content: none !important;
        display: none !important;
    }

    /* Remove the old package-specific offset completely. */
    .vcr-form-card #package,
    .vcr-form-card select#package.cms-form-control {
        margin-top: 0 !important;
    }
}

/* Mobile is one column, so no alignment spacer is needed. */
@media (max-width: 620px) {
    .vcr-form-card .cms-form-field:not(:has(> .cms-form-label))::before {
        content: none !important;
        display: none !important;
    }

    .vcr-form-card #package,
    .vcr-form-card select#package.cms-form-control {
        margin-top: 0 !important;
    }
}

