@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--green:#153e35;--ink:#203c34;--cream:#f7f6f0;--muted:#67736b;--line:#dce1d7;--lime:#e5edaf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}h1,h2,h3,.brand{font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b0994c;outline-offset:4px}button{cursor:pointer}header{height:92px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:800;letter-spacing:1.5px;line-height:1.4}.brand small{display:block;font-size:8px;font-weight:600;letter-spacing:2px;margin-top:4px}.mark{font-size:44px;font-weight:400;line-height:1}nav{display:flex;gap:30px;font-size:13px}nav a:hover{color:#79913b}#language{background:none;border:1px solid #cbd1c6;padding:8px 12px;border-radius:25px;font-size:12px}.hero{min-height:720px;height:calc(100svh - 92px);max-height:960px;position:relative;background:#194739;color:white;padding:9vh 7% 80px;display:flex;align-items:center;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,40,32,.86),rgba(11,40,32,.40) 65%,rgba(11,40,32,.1)),url('https://images.unsplash.com/photo-1537996194471-e657df975ab4?auto=format&fit=crop&w=2200&q=90') center 55%/cover;z-index:-1}.hero-content{max-width:780px}.eyebrow{font-size:10px;letter-spacing:2.7px;font-weight:700;margin:0 0 22px}h1{font-size:clamp(44px,5.6vw,82px);font-weight:500;letter-spacing:-3.5px;line-height:1.1;margin:0 0 28px}.hero-text{max-width:490px;color:#ecf0e5;font-size:17px;line-height:1.8;margin-bottom:36px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:17px 25px;border:0;border-radius:3px;background:var(--green);color:white;font-size:13px;font-weight:700;transition:transform .2s,background .2s}.button:hover{background:#2d5a48;transform:translateY(-2px)}.button.light{background:var(--lime);color:var(--green)}.hero-notes{display:flex;gap:23px;flex-wrap:wrap;margin-top:38px;font-size:11px;color:#e8e9dc}.hero-notes span:before{content:'✓';margin-right:7px}.hero-bottom{position:absolute;bottom:29px;left:7%;right:7%;display:flex;justify-content:space-between;border-top:1px solid #ffffff40;padding-top:17px;font-size:10px;letter-spacing:1.3px}.section{padding:92px 7%}.intro{padding-top:82px;padding-bottom:82px}.split{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}h2{font-weight:500;font-size:clamp(30px,3.4vw,48px);line-height:1.2;letter-spacing:-1.6px;margin:0 0 22px}p{margin-top:0}.split p{color:var(--muted);font-size:16px;margin:0;max-width:480px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-head h2{margin:0}.section-number{font-size:10px;letter-spacing:2px;color:var(--muted)}.services{background:#edf0e6}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #cdd7c8}.service-grid article{position:relative;padding:42px 34px 0 0}.service-grid article+article{padding-left:34px;border-left:1px solid #cdd7c8}.service-icon{font-size:35px;position:absolute;right:28px;top:27px}.service-grid .eyebrow{margin:0 0 35px;color:#859574}h3{font-size:23px;font-weight:500;letter-spacing:-.6px;line-height:1.3;margin:0 0 18px}.service-grid p:not(.eyebrow){color:var(--muted);font-size:14px;min-height:120px}.service-grid a{font-size:12px;font-weight:700;border-bottom:1px solid #839b7d;padding-bottom:6px;display:inline-block}.aside{max-width:290px;font-size:12px;color:var(--muted);margin:0}.tour-grid{display:grid;grid-template-columns:1fr 1fr .85fr;gap:20px}.tour-card{height:420px;position:relative;color:white;overflow:hidden;border-radius:4px;background:var(--green)}.tour-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.tour-card:hover img{transform:scale(1.04)}.tour-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 20%,#0b211cde)}.tour-card>div{position:absolute;z-index:2;bottom:25px;left:26px;right:26px}.tour-card span{font-size:9px;letter-spacing:1.8px}.tour-card h3{margin:12px 0;font-size:25px}.tour-card p{font-size:12px;max-width:220px;color:#e1e6db;margin:0 20px 0 0}.tour-card b{position:absolute;right:0;bottom:0;font-size:23px;font-weight:400}.custom-tour{background:#e6ecce;color:var(--green)}.custom-tour:after{display:none}.custom-tour p{color:var(--muted)}.custom-tour .sun{position:absolute;top:15px;right:30px;font-size:140px;font-weight:400;color:#a8b88b;line-height:1.4}.fine{color:var(--muted);font-size:11px;line-height:1.8;margin:22px 0 0}.fleet{padding-top:55px}.filters{display:flex;gap:5px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;padding:8px 13px;border-radius:22px;font-size:11px;color:var(--green)}.filters button.active{background:var(--green);color:white;border-color:var(--green)}.vehicle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.vehicle-card{background:#fff;border:1px solid var(--line);padding:23px;border-radius:5px}.vehicle-card[hidden]{display:none}.vehicle-drawing{height:105px;display:flex;align-items:center;justify-content:center;color:#8f9f91;margin-bottom:18px}.vehicle-drawing svg{width:100%;max-width:220px;height:90px}.vehicle-card .category{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.vehicle-card h3{font-size:20px;margin:7px 0 16px}.vehicle-card button{padding:0 0 5px;background:none;color:var(--green);border:0;border-bottom:1px solid var(--line);font-size:11px}.process{background:var(--green);color:var(--cream)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.steps article{border-top:1px solid #ffffff40;padding-top:20px}.steps span{color:#b7c392;font-size:12px}.steps h3{margin-top:22px;font-size:21px}.steps p{color:#c8d3c7;font-size:13px;max-width:300px}.booking{display:grid;grid-template-columns:1fr 1.1fr;gap:11%;background:#e9eddf}.booking-copy>p:not(.eyebrow){max-width:360px}.contact-number{font-size:21px;display:block;margin-top:25px}.booking-copy .fine{max-width:330px}form{background:#f9faf4;padding:32px;border:1px solid #d7ddcc;border-radius:5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:11px;font-weight:600;margin-bottom:17px}label span{display:block;margin-bottom:6px}input,select,textarea{width:100%;border:1px solid #d2dacd;background:#fff;padding:11px 12px;border-radius:3px;color:var(--green);font-size:13px;min-width:0}textarea{resize:vertical}.form-privacy{font-size:10px;color:var(--muted);line-height:1.7}.booking .button{width:100%}#formStatus{font-size:11px;margin:12px 0 0}#messageFallback{font-size:12px;text-decoration:underline}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:10%}.faq details{border-bottom:1px solid var(--line);padding:21px 0}.faq summary{list-style:none;cursor:pointer;font-size:14px;padding-right:30px;position:relative}.faq summary:after{content:'+';position:absolute;right:0;font-size:20px}.faq details[open] summary:after{content:'−'}.faq details p{font-size:13px;color:var(--muted);margin:17px 0 0}footer{padding:45px 7% 80px;background:#edf0e7;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:11px}footer .brand{font-size:15px}footer .brand small{font-size:7px}footer p{margin:0;max-width:200px;color:var(--muted)}footer>div{display:flex;gap:15px;font-size:10px}footer button{border:0;background:none;padding:0;color:var(--ink)}.floating-wa{position:fixed;bottom:20px;right:24px;background:var(--green);border:1px solid #ffffff50;color:white;border-radius:30px;padding:12px 20px;font-size:12px;z-index:40;box-shadow:0 5px 20px #122b2520}dialog{max-width:560px;width:90%;border:0;border-radius:6px;padding:40px;color:var(--green);background:var(--cream)}dialog::backdrop{background:#0c211cb0}dialog p{font-size:14px}#closePrivacy{position:absolute;right:15px;top:10px;border:0;background:none;font-size:28px;color:var(--green)}@media(min-width:1600px){.section{padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}}@media(max-width:1000px){nav{gap:17px}.vehicle-grid{grid-template-columns:repeat(2,1fr)}.section-head{align-items:start;flex-direction:column}.tour-grid{grid-template-columns:1fr 1fr}.custom-tour{grid-column:1/-1;height:230px}.custom-tour .sun{right:15%;top:0}.custom-tour>div{max-width:70%}.booking{gap:5%}footer{flex-wrap:wrap}.hero{min-height:650px}.service-grid article{padding-right:18px}.service-grid article+article{padding-left:18px}.service-grid p:not(.eyebrow){min-height:160px}}@media(max-width:650px){header{height:78px;padding:0 6%}.brand{font-size:14px;gap:8px}.brand small{font-size:6px;letter-spacing:1.4px}.mark{font-size:34px}nav{display:none}#language{font-size:10px}.hero{height:auto;min-height:680px;padding:80px 7% 110px;align-items:start}.hero-photo{background-position:60% center}h1{font-size:47px;letter-spacing:-2px}.hero-text{font-size:15px}.hero-notes{gap:10px 18px;max-width:280px}.hero-bottom{font-size:8px}.section{padding:62px 7%}.split,.booking,.faq{grid-template-columns:1fr;gap:25px}.split p{font-size:14px}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article{padding:28px 0;border-left:0;border-bottom:1px solid #cdd7c8}.service-grid p:not(.eyebrow){min-height:0;margin-bottom:24px}.service-grid .eyebrow{margin-bottom:18px}.service-icon{right:10px}.tour-grid{grid-template-columns:1fr}.tour-card{height:370px}.custom-tour{height:300px;grid-column:auto}.custom-tour .sun{right:20px}.custom-tour>div{max-width:none}.vehicle-grid{gap:10px}.vehicle-card{padding:15px}.vehicle-drawing{height:75px}.vehicle-card h3{font-size:17px}.vehicle-card .category{font-size:8px}.steps{grid-template-columns:1fr;gap:20px;margin-top:30px}.steps h3{margin-top:12px}.steps p{max-width:none}form{padding:22px}.form-row{grid-template-columns:1fr;gap:0}.contact-number{margin-bottom:25px}footer{padding:40px 7% 90px;flex-direction:column;align-items:start}.faq-list{margin-top:-15px}.floating-wa{right:16px;bottom:14px}.section-head{gap:20px}.eyebrow{font-size:9px;letter-spacing:2px}.fine{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Generated vehicle catalogue images */
.vehicle-drawing{height:auto;aspect-ratio:3/2;margin:-23px -23px 20px;overflow:hidden;background:#eeeee3;border-radius:4px 4px 0 0}.vehicle-drawing img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s}.vehicle-card:hover .vehicle-drawing img{transform:scale(1.025)}@media(max-width:650px){.vehicle-drawing{height:auto;margin:-15px -15px 16px}}

/* Destination cards matched to their photographed location */
.destination-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:28px 20px}.destination-grid .tour-card{display:block;height:410px}.destination-grid .tour-card h3{font-size:24px}.destination-grid .custom-tour{grid-column:auto}.photo-credit{font-size:10px;line-height:1.7;color:var(--muted);margin:9px 0 0}.photo-credit a{text-decoration:underline;text-underline-offset:2px}.tour-item{min-width:0}@media(max-width:1000px){.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.destination-grid{grid-template-columns:1fr}.destination-grid .tour-card{height:390px}.destination-grid .custom-tour{height:310px}}

/* Keep destination focal points visible in the photo cards. */
.destination-grid img[src*="ubud-palace-v2"]{object-position:center 46%}.destination-grid img[src*="sunset-v2"]{object-position:center 64%}.destination-grid img[src*="rice-terraces-v2"]{object-position:center center}

/* Approved palm and Balinese gate brand */
.brand-art{position:relative;display:block;width:270px;height:82px;overflow:hidden;flex-shrink:0}.brand-art img{position:absolute;width:350px;max-width:none;height:175px;left:-42px;top:-40px;mix-blend-mode:multiply}.business-location{font-size:13px}#about{scroll-margin-top:110px}@media(max-width:600px){.brand-art{width:240px;height:72px}.brand-art img{width:312px;height:156px;left:-38px;top:-36px}}

/* Transparent emblem and legible live lettering */
.brand-clean{display:flex;align-items:center;gap:12px;color:var(--green);letter-spacing:1px;line-height:1.3}.brand-clean img{display:block;width:70px;height:70px;object-fit:contain;flex:none}.brand-wording{font-size:22px;font-weight:800;white-space:nowrap}.brand .brand-wording small{font-family:Manrope,sans-serif;font-size:11px;letter-spacing:1px;font-weight:600;line-height:1.5;margin-top:5px}@media(max-width:600px){.brand-clean{gap:9px}.brand-clean img{width:58px;height:64px}.brand-wording{font-size:19px;letter-spacing:.6px}.brand .brand-wording small{font-size:10px;letter-spacing:.4px}}

/* Balanced custom itinerary card */
.destination-grid .custom-tour{display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:28px;height:410px;min-width:0;background:#e6ecce}
.destination-grid .custom-tour .sun{position:static;display:flex;align-self:flex-end;flex:none;color:#81976a;font-size:0;line-height:1}
.destination-grid .custom-tour .sun svg{display:block;width:88px;height:88px}
.destination-grid .custom-tour>div{position:relative;inset:auto;max-width:none;width:100%;padding:0 24px 0 0}
.destination-grid .custom-tour>div>span{display:block;font-size:10px;line-height:1.6;letter-spacing:1.6px}
.destination-grid .custom-tour h3{font-size:clamp(24px,2.3vw,30px);line-height:1.25;margin:12px 0 14px;text-wrap:balance}
.destination-grid .custom-tour p{max-width:none;margin:0;font-size:14px;line-height:1.7;color:#566650}
.destination-grid .custom-tour b{right:0;bottom:0;line-height:1}
@media(max-width:650px){.destination-grid .custom-tour{height:auto;min-height:330px;padding:26px;gap:24px}.destination-grid .custom-tour .sun svg{width:70px;height:70px}.destination-grid .custom-tour h3{font-size:26px}.destination-grid .custom-tour p{font-size:14px}}
/* Scenic custom itinerary card */
.destination-grid .custom-tour{display:block;position:relative;height:410px;min-height:0;padding:0;background:#153e35;color:#fff;isolation:isolate}
.destination-grid .custom-tour>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.destination-grid .custom-tour:after{display:block;content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,27,22,.08) 10%,rgba(8,27,22,.5) 48%,rgba(8,27,22,.92) 100%);pointer-events:none}
.destination-grid .custom-tour>div{position:absolute;inset:auto 28px 28px;z-index:2;width:auto;max-width:none;padding:0 22px 0 0}
.destination-grid .custom-tour>div>span{color:#edf2e7;font-size:10px;line-height:1.6;letter-spacing:1.7px}
.destination-grid .custom-tour h3{color:#fff;font-size:28px;line-height:1.2;margin:12px 0}
.destination-grid .custom-tour p{color:#f1f3ed;font-size:14px;line-height:1.7;margin:0;max-width:32ch}
.destination-grid .custom-tour b{color:#fff;right:0;bottom:2px}
@media(max-width:650px){.destination-grid .custom-tour{height:390px;min-height:0}.destination-grid .custom-tour>div{inset:auto 26px 26px}.destination-grid .custom-tour h3{font-size:27px}}
/* Refined WhatsApp contact button */
.floating-wa{display:inline-flex;align-items:center;gap:11px;min-height:58px;padding:12px 20px 12px 16px;border-radius:18px;background:#145d49;border:1px solid #ffffff70;color:#fff;font-size:14px;font-weight:600;line-height:1.2;letter-spacing:.1px;box-shadow:0 8px 24px #153e3529,0 2px 5px #153e3514;transition:background .2s,transform .2s,box-shadow .2s;bottom:max(20px,env(safe-area-inset-bottom));right:24px}
.floating-wa .wa-icon{width:27px;height:27px;flex:none}.floating-wa .wa-arrow{font-size:18px;opacity:.8;margin-left:2px}.floating-wa:hover{background:#107258;transform:translateY(-3px);box-shadow:0 12px 28px #153e3533}.floating-wa:focus-visible{outline:3px solid #9ac4af;outline-offset:4px}
@media(max-width:600px){.floating-wa{min-height:52px;padding:11px 15px;gap:9px;font-size:13px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));border-radius:16px}.floating-wa .wa-icon{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){.floating-wa{transition:none}.floating-wa:hover{transform:none}}

.vehicle-price{font-size:1.55rem;font-weight:600;color:var(--ink,#153e35);margin:12px 0 4px}.vehicle-price-note{font-size:.86rem;line-height:1.6;margin:0 0 18px}.airport-price-info{padding:22px;border:1px solid #ccd4c7;border-radius:12px;margin-top:26px}.airport-price-info p{margin:0 0 12px}.airport-price-info a{font-weight:600}

.rental-terms{margin-top:28px;padding:22px;background:#edf0e7;border-radius:12px}.rental-terms h3{margin:0 0 10px}.rental-terms p{margin:0;line-height:1.7}

/* Compact vehicle details */
.vehicle-card h3{font-size:18px;line-height:1.35;letter-spacing:-.35px;margin:0 0 5px}.vehicle-capacity{font-size:12px;line-height:1.4;color:var(--muted);margin:0 0 10px}.vehicle-card .vehicle-price{font-size:20px;line-height:1.25;margin:0 0 5px}.vehicle-card .vehicle-price-note{font-size:11px;line-height:1.5;margin:0 0 13px}.vehicle-card .category{font-size:8px;letter-spacing:1.2px}.vehicle-card button{font-size:12px;line-height:1.5}.vehicle-drawing{margin-bottom:13px}.vehicle-grid{gap:16px}@media(max-width:650px){.vehicle-card h3{font-size:15px}.vehicle-card .vehicle-price{font-size:18px}.vehicle-card .vehicle-price-note{font-size:10px}.vehicle-capacity{font-size:11px}.vehicle-card button{font-size:11px}.vehicle-grid{gap:10px}}

.rental-terms,.airport-price-info{padding:16px 18px;margin-top:18px;border-radius:10px}.rental-terms h3{font-size:16px;line-height:1.35;margin:0 0 8px;letter-spacing:0}.rental-terms p,.airport-price-info p{font-size:13px;line-height:1.65;margin:0}.airport-price-info p{margin-bottom:10px}.airport-price-info a{font-size:12px;line-height:1.5;display:inline-block}@media(max-width:650px){.rental-terms,.airport-price-info{padding:14px 15px}.rental-terms h3{font-size:15px}.rental-terms p,.airport-price-info p{font-size:12px}.airport-price-info a{font-size:11px}}

/* Dedicated transport catalogue */
.transport-page #fleet{padding-top:48px;padding-bottom:42px}.transport-page #fleet .section-head{margin-bottom:26px}.transport-page #fleet h2{font-size:clamp(27px,3vw,40px);line-height:1.2;letter-spacing:-1px}.transport-page .vehicle-card{display:flex;flex-direction:column;padding:18px;background:#fff;min-width:0}.transport-page .vehicle-drawing{margin:-18px -18px 14px;aspect-ratio:3/2;height:auto}.transport-page .vehicle-card h3{min-height:48px;margin-bottom:4px}.transport-page .vehicle-card .category{margin-bottom:6px}.transport-page .vehicle-card button{margin-top:auto;padding-top:9px;text-align:left}.transport-page .vehicle-price-note{min-height:33px}.transport-page .booking{padding-top:45px}.transport-page .vehicle-grid{align-items:stretch}@media(max-width:650px){.transport-page #fleet{padding-top:30px}.transport-page .vehicle-card{padding:13px}.transport-page .vehicle-drawing{margin:-13px -13px 11px}.transport-page .vehicle-card h3{min-height:41px}.transport-page .vehicle-card .category{font-size:7px;letter-spacing:.6px}.transport-page .vehicle-card button{font-size:11px}.transport-page .filters{gap:6px;flex-wrap:wrap}.transport-page .filters button{font-size:11px;padding:7px 10px}}

/* Roomier transport page */
.transport-page .vehicle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.transport-page .vehicle-card{padding:20px}.transport-page .vehicle-drawing{margin:-20px -20px 16px}.transport-page .vehicle-card h3{font-size:20px;min-height:54px}.transport-page .vehicle-capacity{font-size:13px}.transport-page .vehicle-card .category{font-size:9px}.transport-page .vehicle-card .vehicle-price{font-size:23px}.transport-page .vehicle-card .vehicle-price-note{font-size:12px;min-height:36px}.transport-page .vehicle-card button{font-size:13px}.transport-page .rental-terms h3{font-size:18px}.transport-page .rental-terms p,.transport-page .airport-price-info p{font-size:14px;line-height:1.7}.transport-page .airport-price-info a{font-size:13px}.transport-page .rental-terms,.transport-page .airport-price-info{padding:20px 22px}@media(max-width:1000px){.transport-page .vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.transport-page .vehicle-grid{gap:12px}.transport-page .vehicle-card{padding:14px}.transport-page .vehicle-drawing{margin:-14px -14px 13px}.transport-page .vehicle-card h3{font-size:16px;min-height:44px}.transport-page .vehicle-card .vehicle-price{font-size:20px}.transport-page .vehicle-capacity{font-size:12px}.transport-page .vehicle-card .vehicle-price-note{font-size:11px}.transport-page .vehicle-card .category{font-size:8px}.transport-page .vehicle-card button{font-size:12px}.transport-page .rental-terms h3{font-size:17px}.transport-page .rental-terms p,.transport-page .airport-price-info p{font-size:13px}.transport-page .rental-terms,.transport-page .airport-price-info{padding:17px 18px}}
