:root{--ink:#080808;--panel:#111;--gold:#c7a365;--cream:#f3efe7;--muted:#aaa;--line:#292929}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}.nav{height:84px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;position:absolute;inset:0 0 auto;z-index:10;border-bottom:1px solid #ffffff1c}.brand{display:grid;grid-template-columns:auto auto;line-height:.9;font-size:1.5rem;letter-spacing:-.05em}.brand b{color:var(--gold);font-weight:600}.brand small{grid-column:1/3;text-transform:uppercase;font-size:.48rem;letter-spacing:.22em;margin-top:8px;color:#d5d5d5}.nav nav{display:flex;gap:2.2rem;align-items:center;font-size:.9rem}.nav nav>a:not(.nav-cta):hover{color:var(--gold)}.nav-cta{border:1px solid var(--gold);padding:.7rem 1rem}.menu{display:none;background:none;border:1px solid #777;color:white;padding:.55rem .8rem}.hero{min-height:94vh;position:relative;display:flex;align-items:center;padding:9rem 6vw 7rem;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('assets/rydeit-fleet-hero.png') center/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,#050505e8 29%,#0505056d 57%,#05050518 100%),linear-gradient(0deg,#060606a8 0%,transparent 40%)}.hero-copy{position:relative;max-width:650px;z-index:1}.eyebrow{font-size:.72rem;letter-spacing:.23em;color:var(--gold);font-weight:600;margin:0 0 1.4rem}.hero h1,.statement h2,.section-head h2,.reserve h2{font:600 clamp(3.3rem,7.5vw,7.8rem)/.89 "Playfair Display",serif;letter-spacing:-.055em;margin:0}.hero h1 em,.statement h2 em,.section-head h2 em,.reserve h2 em{font-weight:500;color:var(--gold)}.intro{font-size:1.12rem;max-width:520px;color:#d2d2d2;margin:2rem 0}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.8rem 1.35rem;border:1px solid var(--gold);font:600 .9rem "DM Sans",sans-serif;cursor:pointer}.button.gold{background:var(--gold);color:#0a0a0a}.button.gold:hover{background:#dfbd82}.button.ghost{background:#08080847}.hero-foot{position:absolute;z-index:2;bottom:2rem;left:6vw;right:6vw;display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#c9c9c9}.statement,.fleet,.services,.reserve{padding:8rem 6vw}.statement{background:var(--cream);color:#151515}.statement h2{font-size:clamp(2.7rem,5vw,5.5rem);max-width:1100px}.standards{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:6rem}.standards article{border-top:1px solid #9e8a65;padding-top:1.5rem}.standards span,.service-list>article>span{font-size:.75rem;color:#806a43}.standards h3{font:600 1.5rem "Playfair Display",serif}.standards p{color:#5d5d5d}.fleet{background:#0a0a0a}.section-head{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:4rem}.section-head h2,.reserve h2{font-size:clamp(2.6rem,5vw,5.3rem)}.section-head>p{color:var(--muted);max-width:300px}.fleet-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:repeat(2,260px);gap:1rem}.vehicle{position:relative;overflow:hidden;background:linear-gradient(135deg,#1c1c1c,#090909);border:1px solid var(--line);padding:2rem;display:flex;align-items:end}.vehicle-large{grid-row:1/3;background:linear-gradient(150deg,#201b14,#0b0b0b 57%)}.vehicle:before{content:"";position:absolute;width:65%;aspect-ratio:1;border:1px solid #c7a3652c;border-radius:50%;right:-18%;top:-45%}.vehicle-copy{position:relative;z-index:1}.vehicle-copy p{text-transform:uppercase;letter-spacing:.17em;color:var(--gold);font-size:.68rem}.vehicle-copy h3{font:600 clamp(1.8rem,3vw,3rem) "Playfair Display",serif;margin:.3rem 0}.vehicle-copy span{color:#aaa;max-width:500px;display:block}.fleet-note{color:#777;font-size:.76rem;margin-top:1rem}.services{background:#101010}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:70px 1fr;gap:1rem;padding:2rem 0;border-bottom:1px solid var(--line)}.service-list article div{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.service-list h3{margin:0;font:600 1.6rem "Playfair Display",serif}.service-list p{margin:0;color:#aaa}.reserve{background:var(--cream);color:#111;display:grid;grid-template-columns:1fr 1.1fr;gap:7vw}.reserve-copy>p:not(.eyebrow){color:#666;max-width:500px}.promise{display:flex;gap:1rem;margin-top:2.5rem}.promise span{color:var(--gold);font-size:1.3rem}.promise p{margin:0;color:#666}.promise strong{color:#222}form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.field{display:flex;flex-direction:column;gap:.4rem}.field.full,.full{grid-column:1/3}label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #aaa;border-radius:0;padding:.8rem .1rem;color:#111;font:inherit;min-height:49px}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #c7a36566;outline-offset:4px}.form-note{font-size:.76rem;color:#777;text-align:center;margin:0}footer{min-height:180px;padding:3rem 6vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid var(--line);color:#aaa}footer>p:last-child{text-align:right;font-size:.78rem}footer>p:nth-child(2){color:var(--gold);font-family:"Playfair Display",serif;font-style:italic}.reveal{animation:rise .7s ease both}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media(max-width:780px){.nav{height:72px}.menu{display:block}.nav nav{position:absolute;top:72px;left:0;right:0;background:#090909ed;display:none;flex-direction:column;align-items:stretch;padding:1.5rem 6vw}.nav nav.open{display:flex}.hero{min-height:90vh;padding:8rem 6vw 6rem}.hero-bg{background-position:62% center}.hero-shade{background:linear-gradient(90deg,#050505f2 0%,#050505bd 60%,#05050559)}.hero h1{font-size:clamp(3.3rem,17vw,5.5rem)}.hero-foot span:last-child{display:none}.statement,.fleet,.services,.reserve{padding:5rem 6vw}.standards{grid-template-columns:1fr;gap:2rem;margin-top:4rem}.section-head{display:block}.fleet-grid{display:grid;grid-template-columns:1fr;grid-template-rows:auto}.vehicle,.vehicle-large{grid-row:auto;min-height:260px}.service-list article div{grid-template-columns:1fr}.reserve{grid-template-columns:1fr;gap:4rem}form{grid-template-columns:1fr}.field.full,.full{grid-column:1}footer{grid-template-columns:1fr;gap:1.4rem;text-align:center}footer>p:last-child{text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none}}
.gallery,.concierge{padding:8rem 6vw}.gallery{background:#080808}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-auto-rows:240px;gap:1rem}.gallery-item{position:relative;overflow:hidden;border:1px solid var(--line);padding:0;background:#111;color:#fff;cursor:zoom-in}.gallery-wide{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.gallery-item:hover img{transform:scale(1.035)}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#050505d9,transparent 55%)}.gallery-item span{position:absolute;z-index:1;left:1.25rem;bottom:1rem;font:600 1.1rem "Playfair Display",serif}.concierge{background:var(--cream);color:#151515}.concierge .section-head>p{color:#666}.concierge+.concierge{padding-top:0}.link-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c9bfae;border-left:1px solid #c9bfae}.link-grid>a{min-height:210px;padding:1.6rem;display:flex;flex-direction:column;border-right:1px solid #c9bfae;border-bottom:1px solid #c9bfae;transition:background .25s,color .25s}.link-grid>a:hover,.link-grid>a:focus-visible{background:#111;color:var(--cream);outline:none}.link-grid span{color:#8a6d3d;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.link-grid h3{font:600 1.55rem "Playfair Display",serif;margin:auto 0 .35rem}.link-grid p{color:#6d6d6d;margin:0 0 1.2rem}.link-grid>a:hover p{color:#bbb}.link-grid b{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:#8a6d3d}.attraction-grid>a{min-height:175px}.concierge-note{margin:1.7rem 0 0;color:#666}.concierge-note a{color:#725828;text-decoration:underline;text-underline-offset:3px}.lightbox{width:min(1100px,94vw);max-width:none;padding:0;border:1px solid #55472e;background:#050505}.lightbox::backdrop{background:#000d}.lightbox img{display:block;width:100%;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;right:.7rem;top:.5rem;z-index:2;width:42px;height:42px;border:1px solid #ffffff70;border-radius:50%;background:#000b;color:white;font-size:1.8rem;cursor:pointer}.nav nav{gap:1.35rem}
@media(max-width:780px){.gallery,.concierge{padding:5rem 6vw}.concierge+.concierge{padding-top:0}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:240px}.gallery-wide{grid-row:auto}.link-grid{grid-template-columns:1fr}.link-grid>a{min-height:175px}}
.link-grid>a{padding:0 0 1.6rem;overflow:hidden}.link-grid>a>img{width:100%;height:190px;object-fit:cover;display:block;transition:transform .55s ease}.link-grid>a:hover>img{transform:scale(1.035)}.link-grid>a>span,.link-grid>a>h3,.link-grid>a>p,.link-grid>a>b{margin-left:1.6rem;margin-right:1.6rem}.link-grid>a>span{margin-top:1.25rem}.link-grid>a>h3{margin-top:1rem;margin-bottom:.35rem}.link-grid>a>b{margin-top:auto}.attraction-grid>a{min-height:340px}.attraction-grid>a>h3{margin-bottom:1rem}@media(max-width:780px){.link-grid>a,.attraction-grid>a{min-height:340px}.link-grid>a>img{height:190px}}
.ceo{padding:8rem 6vw;background:#0d0d0d;display:grid;grid-template-columns:minmax(300px,.85fr) 1.15fr;gap:7vw;align-items:center}.ceo-photo{position:relative;min-height:640px;border:1px solid var(--line);overflow:hidden}.ceo-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0909098c,transparent 45%)}.ceo-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}.ceo-copy h2{font:600 clamp(2.8rem,5vw,5.4rem)/.95 "Playfair Display",serif;letter-spacing:-.05em;margin:0 0 2rem}.ceo-copy h2 em{color:var(--gold);font-weight:500}.ceo-copy>p:not(.eyebrow):not(.ceo-name){color:#b7b7b7;max-width:680px}.ceo-name{font:600 1.45rem "Playfair Display",serif;margin:0 0 2rem;color:var(--cream)}.ceo-name span{display:block;font:500 .7rem "DM Sans",sans-serif;letter-spacing:.16em;color:var(--gold);text-transform:uppercase;margin-top:.55rem}.ceo-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.2rem}@media(max-width:780px){.ceo{padding:5rem 6vw;grid-template-columns:1fr;gap:3rem}.ceo-photo{min-height:480px}.ceo-copy h2{font-size:clamp(2.6rem,12vw,4rem)}}
.payment-checkout{padding:8rem 6vw;background:var(--cream);color:#111;grid-template-columns:1fr 1.1fr;gap:7vw}.payment-checkout:not([hidden]){display:grid}.payment-intro h2{font:600 clamp(2.8rem,5vw,5.3rem)/.95 "Playfair Display",serif;letter-spacing:-.05em;margin:0}.payment-intro h2 em{color:var(--gold);font-weight:500}.payment-intro>p:not(.eyebrow){color:#666;max-width:520px}.payment-security{display:flex;gap:1rem;margin-top:2.5rem;color:#666}.payment-security>span{color:var(--gold)}.payment-security p{margin:0}.payment-security strong{color:#222}.payment-form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.money-input{display:flex;align-items:center;border-bottom:1px solid #aaa}.money-input>span{font-weight:600;color:#806a43}.money-input input{border:0}.tip-field{border:0;padding:0;margin:0}.tip-field legend{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.8rem}.tip-options{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem}.tip-options label{cursor:pointer}.tip-options input{position:absolute;opacity:0;pointer-events:none}.tip-options span{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #aaa;font-size:.84rem;letter-spacing:0;text-transform:none}.tip-options input:checked+span{background:#111;color:var(--cream);border-color:#111}.custom-tip{margin-top:1rem}.payment-summary{border-top:1px solid #aaa;border-bottom:1px solid #aaa;padding:1rem 0}.payment-summary>div{display:flex;justify-content:space-between;padding:.35rem 0;color:#666}.payment-summary strong{color:#111}.payment-summary .payment-total{border-top:1px solid #ccc;margin-top:.65rem;padding-top:1rem;font-size:1.2rem;color:#111}.elavon-slot{border:1px dashed #9d8b6d;padding:1.3rem;text-align:center;background:#eee9df}.elavon-slot span{font-size:.7rem;letter-spacing:.16em;color:#806a43}.elavon-slot p{margin:.35rem 0 0;color:#666}.payment-form button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:780px){.payment-checkout{padding:5rem 6vw;grid-template-columns:1fr;gap:4rem}.payment-form{grid-template-columns:1fr}.tip-options{grid-template-columns:repeat(2,1fr)}}
.nav{justify-content:flex-end}.hero{padding-top:6.25rem}.hero-brand{margin-bottom:1.25rem}.hero-copy .eyebrow{margin-bottom:1rem}@media(max-width:780px){.nav{justify-content:flex-end}.hero{padding-top:5.25rem}.hero-brand{margin-bottom:1rem}}
.hero-brand{display:block;width:min(590px,72vw);height:auto;margin:0 0 1.7rem;filter:drop-shadow(0 10px 28px #000)}.hero-copy .hero-brand+.eyebrow{margin-top:0}.nav .brand img{width:300px;height:78px}@media(max-width:780px){.hero-brand{width:min(410px,94vw);margin-bottom:1.25rem}.nav .brand img{width:215px;height:62px}.hero h1{font-size:clamp(2.8rem,14vw,4.8rem)}}
.nav .brand img{width:250px;height:72px}footer .brand img{width:300px;height:92px}@media(max-width:780px){.nav .brand img{width:190px;height:58px}footer .brand img{width:240px;height:78px}}
.brand{display:block;line-height:0}.brand img{display:block;width:190px;height:58px;object-fit:contain;object-position:left center}.vehicle{background:#111}.vehicle-large{background:#111}.vehicle>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.vehicle:hover>img{transform:scale(1.025)}.vehicle:before{display:none}.vehicle:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#050505f2 0%,#05050578 42%,transparent 72%)}.vehicle-copy{z-index:2}footer .brand img{width:220px;height:72px}@media(max-width:780px){.brand img{width:150px;height:46px}.vehicle>img{object-position:center center}footer .brand img{margin:auto}}

/* RydeIt final additions */
.hero-phone{margin-top:18px;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.hero-phone a{text-decoration:none}.hero-phone a:hover{text-decoration:underline}.phone-label{font-size:11px;font-weight:700;letter-spacing:.2em;color:#fff;opacity:.72}.phone-vanity{font-family:"Playfair Display",serif;font-size:clamp(23px,2.6vw,34px);font-weight:600;letter-spacing:.045em;color:#d6b36a!important}.phone-dial{font-size:12px;letter-spacing:.08em;color:#fff;opacity:.7}.phone-dial a{color:inherit!important}.live-cam-visual{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#18222b,#596a73);position:relative;overflow:hidden}.live-cam-visual:before{content:"NAPLES PIER";position:absolute;font-family:"Playfair Display",serif;font-size:clamp(24px,4vw,48px);color:rgba(255,255,255,.16);letter-spacing:.08em}.live-cam-visual span{position:relative;background:#b52727;color:#fff;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.16em;box-shadow:0 0 0 5px rgba(181,39,39,.18)}



/* V10 live fare estimate */
.fare-panel{grid-column:1/3;border:1px solid #c7a365;padding:1rem 1.15rem;background:#fffaf0;min-height:86px}.fare-panel>div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.fare-panel span{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#806a43}.fare-panel strong{font:600 1.55rem "Playfair Display",serif;color:#111;text-align:right}.fare-panel p{margin:.3rem 0 0;color:#666;font-size:.82rem}.fare-panel.loading{opacity:.72}.fare-panel.error{border-color:#8f6d5e}.fare-panel.quote-required strong{font-size:1.15rem}@media(max-width:780px){.fare-panel{grid-column:1}.fare-panel>div{align-items:flex-start;flex-direction:column;gap:.15rem}.fare-panel strong{text-align:left}}
