*,*::before,*::after{box-sizing:border-box}*{margin:0;-webkit-tap-highlight-color:transparent}html,body{height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next{isolation:isolate}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-optical-sizing:auto}body{font-family:'Poppins',sans-serif;font-weight:300;font-size:.88em;line-height:1.7em;color:var(--body-color);background-color:var(--body-bg-color)}h1,h2{font-family:'EB Garamond',serif;letter-spacing:normal}.container .row{text-align:center;margin:1em 1em 4em 1em}@media (min-width:768px){body{font-size:1em}}@media (min-width:1280px){.container{max-width:1280px;margin:auto}}@media (min-width:1600px){.container{max-width:1600px}}@media (max-width:767px){:root{--nav-link-color:#2c3e50;--nav-link-color-hover:#3498db;--nav-burger-open-color:#2c3e50;--nav-burger-close-color:#3498db;--nav-menu-bgcolor:#ffffff;--nav-bg-color:#f8f9fa;--nav-bg-color-dark:#2c3e50;--nav-border-color:#ecf0f1}#nav-toggle{display:block;position:fixed;top:1em;left:1em;z-index:9999;-webkit-user-select:none;user-select:none;padding:1em;background-color:var(--nav-bg-color);border-bottom:1px solid var(--nav-border-color);border-right:1px solid var(--nav-border-color);border-radius:0;box-shadow:0 2px 10px rgba(0,0,0,0.08);border-radius:.3em}#nav-toggle a{text-decoration:none;color:var(--nav-link-color);transition:color .3s ease}#nav-toggle a:hover{color:var(--nav-link-color-hover)}#nav-toggle input{display:block;width:40px;height:32px;position:absolute;top:12px;left:12px;cursor:pointer;opacity:0;z-index:2;-webkit-touch-callout:none}#nav-toggle input:checked~span{opacity:1;transform:rotate(45deg) translate(-2px, 1px);background:var(--nav-burger-close-color)}#nav-toggle input:checked~span:nth-last-child(3){opacity:0;transform:rotate(0deg) scale(.2, .2)}#nav-toggle input:checked~span:nth-last-child(2){transform:rotate(-45deg) translate(0, -2px)}#nav-toggle input:checked~ul{transform:none}#nav-toggle span{display:block;width:25px;height:3px;margin-bottom:5px;position:relative;background:var(--nav-burger-open-color);border-radius:2px;z-index:1;transform-origin:4px 0px;transition:transform .5s cubic-bezier(.77, .2, .05, 1),background .5s cubic-bezier(.77, .2, .05, 1),opacity .55s ease}#nav-toggle span:first-child{transform-origin:0% 0%}#nav-toggle span:nth-last-child(2){transform-origin:0% 100%}#nav-menu{position:fixed;inset:0;width:100%;margin:0;padding-top:70px;background:var(--nav-menu-bgcolor);list-style-type:none;-webkit-font-smoothing:antialiased;transform-origin:0% 0%;transform:translate(-100%, 0);transition:transform .5s cubic-bezier(.77, .2, .05, 1);box-shadow:2px 0 10px rgba(0,0,0,0.1)}#nav-menu li{padding:1.2em 0;font-size:18px;border-bottom:1px solid var(--nav-border-color)}#nav-menu li:last-child{border-bottom:none}#nav-menu li a{text-decoration:none;color:var(--nav-link-color);transition:color .3s ease;display:block;padding:0 1.5em}#nav-menu li a:hover{color:var(--nav-link-color-hover)}}@media (max-width:767px) and (prefers-color-scheme:dark){:root{--nav-link-color:#ecf0f1;--nav-burger-open-color:#ecf0f1;--nav-menu-bgcolor:#2c3e50;--nav-bg-color:#34495e;--nav-border-color:#555}#nav-toggle{background-color:var(--nav-bg-color)}}@media (min-width:768px){nav{--nav-bg-color:#ffffff;--nav-color:#2c3e50;--nav-scrolled-bg-color:#f8f9fa;--nav-scrolled-color:#2c3e50;--nav-link-hover:#3498db;--nav-border-color:#ecf0f1}nav{box-shadow:0 2px 10px rgba(0,0,0,0.08);position:fixed;top:0;left:0;right:0;z-index:9999;transition:box-shadow .3s ease}nav input{display:none}nav ul{text-align:center;list-style:none;padding:0;margin:0;background-color:var(--nav-bg-color);border-bottom:1px solid var(--nav-border-color)}nav ul li{display:inline-block;padding:0}nav ul a{color:var(--nav-color);text-decoration:none;font-weight:500;display:inline-block;padding:1.2em 1.5em;position:relative;transition:color .3s ease}nav ul a::after{content:'';position:absolute;width:0;height:2px;bottom:.8em;left:50%;background-color:var(--nav-link-hover);transition:width .3s ease,left .3s ease}nav ul a:hover{color:var(--nav-link-hover)}nav ul a:hover::after{width:100%;left:0}nav.navtop{box-shadow:0 2px 15px rgba(0,0,0,0.1)}nav.navtop ul{background-color:var(--nav-scrolled-bg-color)}nav.navtop ul a{color:var(--nav-scrolled-color)}}#index-heading{position:relative;overflow:hidden;width:100%}#index-heading .carousel-container{position:absolute;top:0;left:0;width:100%;height:100%}#index-heading .carousel-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0;transition:opacity .8s ease-in-out}#index-heading .carousel-image.active{opacity:1}#index-heading .hero-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:white;padding:2rem;background:rgba(0,0,0,0.4);width:100%;height:100%}#index-heading h1{font-size:1.5rem;margin-bottom:1rem}#index-heading p{font-size:1rem;max-width:90%}#index-heading .carousel-controls{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:1rem}#index-heading .carousel-btn{background:rgba(255,255,255,0.7);border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}#index-heading .carousel-btn:hover{background:#fff;transform:scale(1.1)}#index-heading .carousel-btn:active{transform:scale(.95)}#index-about{padding:4rem 2rem;background:linear-gradient(135deg, #f5f5f5 0%, #ffffff 100%)}#index-about p{font-size:1.1rem;line-height:1.8;color:#333;max-width:900px;margin:0 auto;font-weight:500;letter-spacing:.5px;text-align:center;border-left:5px solid #d4af37;padding-left:2rem;position:relative}#index-about p::before{content:'"';font-size:3rem;color:#d4af37;position:absolute;left:-1rem;top:-0.5rem;opacity:.3}#our-villas{padding:4rem 2rem;background:#f9f9f9}#our-villas h2{text-align:center;font-size:2.5rem;color:#333;margin-bottom:3rem}#our-villas .our-villas-list{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:2rem;max-width:1400px;margin:0 auto}#our-villas .villa-card{background:white;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,0.1);transition:all .3s ease;display:flex;flex-direction:column;height:100%}#our-villas .villa-card:hover{transform:translateY(-8px);box-shadow:0 8px 20px rgba(0,0,0,0.15)}#our-villas .villa-card .villa-image{width:100%;height:250px;object-fit:cover;display:block}#our-villas .villa-card .villa-content{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}#our-villas .villa-card .villa-name{font-size:1.3rem;font-weight:600;color:#333;margin-bottom:.8rem}#our-villas .villa-card .villa-desc{font-size:.95rem;line-height:1.6;color:#666;margin-bottom:1.2rem;flex-grow:1}#our-villas .villa-card .villa-link{display:inline-block;padding:.8rem 1.5rem;background:#d4af37;color:#333;text-decoration:none;border-radius:6px;font-weight:600;transition:all .3s ease;align-self:flex-start}#our-villas .villa-card .villa-link:hover{background:#c4a027;transform:translateX(4px)}#villa-location-advantage{padding:5rem 2rem;background:linear-gradient(135deg, #e8f4f8 0%, #d4e9f2 100%);text-align:center}#villa-location-advantage .container{max-width:900px;margin:0 auto;text-align:center}#villa-location-advantage h2{font-size:2.5rem;color:#2c3e50;margin-bottom:2rem;font-weight:700}#villa-location-advantage p{font-size:1.2rem;line-height:2;color:#4a5568;font-weight:400;padding:0 2rem}#guest-review{padding:5rem 2rem;background:linear-gradient(135deg, #f9f9f9 0%, #ffffff 100%)}#guest-review .container{max-width:1200px;margin:0 auto}#guest-review h2{text-align:center;font-size:2.5rem;color:#333;margin-bottom:3rem}#guest-review .review-carousel{position:relative;padding:0 60px}#guest-review .review-track-container{overflow:hidden;cursor:grab}#guest-review .review-track-container:active{cursor:grabbing}#guest-review .review-track{display:flex;gap:2rem;transition:transform .4s ease-in-out;-webkit-user-select:none;user-select:none}#guest-review .review-card{min-width:100%;background:white;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.1);display:flex;flex-direction:column}@media (min-width:768px){#guest-review .review-card{min-width:calc(50% - 1rem)}}@media (min-width:992px){#guest-review .review-card{min-width:calc(33.333% - 1.333rem)}}#guest-review .review-card .review-image{width:100%;height:250px;object-fit:cover;display:block}#guest-review .review-card .review-content{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}#guest-review .review-card .villa-title{font-size:1.3rem;font-weight:600;color:#333;margin-bottom:1rem}#guest-review .review-card .review-text{font-size:1rem;line-height:1.7;color:#555;font-style:italic;margin-bottom:1rem;flex-grow:1;position:relative;padding-left:1.5rem}#guest-review .review-card .review-text::before{content:'"';font-size:3rem;color:#d4af37;position:absolute;left:-0.5rem;top:-1rem;opacity:.3}#guest-review .review-card .guest-name{font-size:.95rem;font-weight:600;color:#d4af37;text-align:right}#guest-review .review-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(212,175,55,0.9);border:none;width:45px;height:45px;border-radius:50%;cursor:pointer;font-size:1.3rem;color:white;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}#guest-review .review-btn:hover{background:#d4af37;transform:translateY(-50%) scale(1.1)}#guest-review .review-btn:active{transform:translateY(-50%) scale(.95)}#guest-review .review-btn.prev{left:0}#guest-review .review-btn.next{right:0}@media (max-width:575px){#index-heading{aspect-ratio:4 / 5}#index-heading .carousel-controls{bottom:1rem;gap:.5rem}#index-heading .carousel-btn{width:36px;height:36px;font-size:1rem}#index-about{padding:2rem 1rem}#index-about p{font-size:1rem;line-height:1.6;padding-left:1.5rem;border-left:4px solid #d4af37}#index-about p::before{font-size:2.5rem;top:-0.5rem}#our-villas{padding:2rem 1rem}#our-villas h2{font-size:1.8rem;margin-bottom:2rem}#our-villas .our-villas-list{grid-template-columns:1fr;gap:1.5rem}#villa-location-advantage{padding:3rem 1.5rem}#villa-location-advantage .container{max-width:100%}#villa-location-advantage h2{font-size:1.6rem;margin-bottom:1.5rem;letter-spacing:.5px}#villa-location-advantage p{font-size:1rem;line-height:1.8;padding:0 .5rem;letter-spacing:.2px}#guest-review{padding:3rem 1rem}#guest-review h2{font-size:1.8rem;margin-bottom:2rem}#guest-review .review-carousel{padding:0 45px}#guest-review .review-btn{width:36px;height:36px;font-size:1rem}#guest-review .review-card .review-image{height:200px}#guest-review .review-card .review-content{padding:1.2rem}#guest-review .review-card .villa-title{font-size:1.1rem}#guest-review .review-card .review-text{font-size:.9rem}}@media (min-width:576px) and (max-width:991px){#index-heading{aspect-ratio:16 / 9}#index-heading h1{font-size:2rem}#index-heading p{font-size:1.1rem}#index-about{padding:3rem 2rem}#index-about p{font-size:1.15rem;letter-spacing:.25px}#index-about p::before{font-size:3rem}#our-villas h2{font-size:2rem}#our-villas .our-villas-list{grid-template-columns:repeat(2, 1fr);gap:1.5rem}#villa-location-advantage{padding:4rem 2rem}#villa-location-advantage h2{font-size:2rem;margin-bottom:1.75rem;letter-spacing:1.5px}#villa-location-advantage p{font-size:1.1rem;line-height:1.9;padding:0 1rem}#guest-review{padding:4rem 2rem}#guest-review h2{font-size:2.2rem}}@media (min-width:992px) and (max-width:1399px){#index-heading{aspect-ratio:16 / 8}#index-heading h1{font-size:2.5rem}#index-heading p{font-size:1.2rem}#index-about{padding:4rem 3rem}#index-about p{font-size:1.25rem;letter-spacing:.3px}#our-villas{padding:4rem 3rem}#our-villas h2{font-size:2.5rem}#our-villas .our-villas-list{grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:2rem}#villa-location-advantage{padding:5rem 3rem}#villa-location-advantage h2{font-size:2.5rem}#villa-location-advantage p{font-size:1.2rem;padding:0 1.5rem}#guest-review{padding:5rem 3rem}}@media (min-width:1400px){#index-heading{aspect-ratio:21 / 9}#index-heading h1{font-size:3rem}#index-heading p{font-size:1.3rem}#index-about{padding:5rem 4rem}#index-about p{font-size:1.35rem;letter-spacing:.4px}#index-about p::before{font-size:4rem;top:-1rem}#our-villas{padding:5rem 4rem}#our-villas h2{font-size:2.5rem}#our-villas .our-villas-list{grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:2rem}#villa-location-advantage{padding:6rem 4rem}#villa-location-advantage h2{font-size:3.2rem;margin-bottom:2.5rem}#villa-location-advantage p{font-size:1.3rem;line-height:2.1;padding:0 2rem;letter-spacing:.4px}#guest-review{padding:5rem 4rem}#guest-review h2{font-size:2.8rem}}footer{background-color:#1a1a1a;color:#ffffff;padding:40px 20px;margin-top:60px}footer .footer-content{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px}footer .footer-content .footer-section{flex:1;min-width:200px}footer .footer-content .footer-section h3{font-size:18px;margin-bottom:15px;color:#ffffff}footer .footer-content .footer-section ul{list-style:none;padding:0;margin:0}footer .footer-content .footer-section ul li{margin-bottom:10px}footer .footer-bottom{max-width:1200px;margin:30px auto 0;padding-top:20px;border-top:1px solid #333;text-align:center;font-size:14px;color:#aaa}footer p{margin:10px 0;font-size:14px}footer a{color:#ffffff;text-decoration:none;transition:color .3s ease}footer a:hover{color:#ccc;text-decoration:underline}#intro-ubud.eyecatch-intro{background:linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);padding:80px 20px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,0.08);border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}#intro-ubud.eyecatch-intro .container{max-width:900px;margin:0 auto}#intro-ubud.eyecatch-intro .intro-content p{font-size:1.125rem;line-height:1.8;color:#555;letter-spacing:.3px;margin:0;font-weight:400}@media (max-width:768px){#intro-ubud.eyecatch-intro{padding:60px 20px}#intro-ubud.eyecatch-intro .intro-content p{font-size:1rem;line-height:1.7}}@media (max-width:480px){#intro-ubud.eyecatch-intro{padding:40px 16px}#intro-ubud.eyecatch-intro .intro-content p{font-size:.95rem;line-height:1.6}}#whatsapp-badge{position:fixed;bottom:30px;right:30px;z-index:9999}#whatsapp-badge .whatsapp-button{display:flex;align-items:center;gap:12px;padding:14px 20px;background:linear-gradient(135deg, #25D366 0%, #128C7E 100%);color:#fff;text-decoration:none;border-radius:50px;box-shadow:0 4px 20px rgba(37,211,102,0.4);transition:all .3s ease;animation:pulse-shadow 2s infinite}#whatsapp-badge .whatsapp-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 6px 30px rgba(37,211,102,0.6);animation:none}#whatsapp-badge .whatsapp-button:active{transform:translateY(-1px) scale(1.02)}#whatsapp-badge .whatsapp-icon{width:28px;height:28px;animation:rotate-pulse 3s ease-in-out infinite}#whatsapp-badge .whatsapp-text{font-weight:600;font-size:15px;white-space:nowrap;letter-spacing:.3px}@keyframes pulse-shadow{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,0.4)}50%{box-shadow:0 4px 30px rgba(37,211,102,0.7)}}@keyframes rotate-pulse{0%,100%{transform:rotate(0deg) scale(1)}25%{transform:rotate(-10deg) scale(1.1)}50%{transform:rotate(10deg) scale(1.1)}75%{transform:rotate(-10deg) scale(1.1)}}@media (max-width:768px){#whatsapp-badge{bottom:20px;right:20px}#whatsapp-badge .whatsapp-button{padding:12px 16px;gap:10px}#whatsapp-badge .whatsapp-text{font-size:14px}#whatsapp-badge .whatsapp-icon{width:24px;height:24px}}@media (max-width:480px){#whatsapp-badge .whatsapp-text{display:none}#whatsapp-badge .whatsapp-button{padding:14px;border-radius:50%;width:56px;height:56px;justify-content:center}#whatsapp-badge .whatsapp-icon{width:28px;height:28px}}#about-heading{min-height:500px;position:relative;display:flex;align-items:center;justify-content:center;padding:60px 20px;overflow:hidden;background:#000}#about-heading .about-bg-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;aspect-ratio:16 / 9;z-index:1;filter:brightness(.6)}#about-heading::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.3);z-index:2}#about-heading .about-hero{text-align:center;color:white;max-width:800px;z-index:3;position:relative}#about-heading .about-hero h1{font-size:48px;margin-bottom:20px;font-weight:bold;text-shadow:2px 2px 4px rgba(0,0,0,0.5)}#about-heading .about-hero p{font-size:18px;line-height:1.6;text-shadow:1px 1px 2px rgba(0,0,0,0.5)}@media (max-width:768px){#about-heading{min-height:350px;padding:40px 15px}#about-heading .about-bg-img{aspect-ratio:4 / 3}#about-heading .about-hero h1{font-size:36px}#about-heading .about-hero p{font-size:16px}}@media (max-width:480px){#about-heading{min-height:300px;padding:30px 15px}#about-heading .about-bg-img{aspect-ratio:1 / 1}#about-heading .about-hero h1{font-size:28px;margin-bottom:15px}#about-heading .about-hero p{font-size:14px}}#our-team{padding:80px 20px;background:#f9f9f9}#our-team .team-container{max-width:1200px;margin:0 auto}#our-team .team-header{text-align:center;margin-bottom:60px}#our-team .team-header h2{font-size:42px;font-weight:bold;color:#333;margin-bottom:15px}#our-team .team-header p{font-size:18px;color:#666}#our-team .team-content{display:flex;gap:50px;align-items:center}#our-team .team-image{flex:0 0 45%}#our-team .team-image img{width:100%;height:auto;border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,0.1)}#our-team .team-text{flex:1}#our-team .team-text h3{font-size:32px;font-weight:bold;color:#333;margin-bottom:20px}#our-team .team-text p{font-size:16px;line-height:1.8;color:#555;margin-bottom:20px}#our-team .team-text p:last-child{margin-bottom:0}@media (max-width:768px){#our-team{padding:60px 20px}#our-team .team-header{margin-bottom:40px}#our-team .team-header h2{font-size:32px}#our-team .team-header p{font-size:16px}#our-team .team-content{flex-direction:column;gap:30px}#our-team .team-image{flex:0 0 100%;order:-1}#our-team .team-text h3{font-size:26px}#our-team .team-text p{font-size:15px}}@media (max-width:480px){#our-team{padding:40px 15px}#our-team .team-header{margin-bottom:30px}#our-team .team-header h2{font-size:28px}#our-team .team-header p{font-size:14px}#our-team .team-content{gap:25px}#our-team .team-text h3{font-size:22px;margin-bottom:15px}#our-team .team-text p{font-size:14px;margin-bottom:15px}}#contact-us{padding:80px 20px;background:#f0f4f8}#contact-us .contact-container{max-width:1200px;margin:0 auto;display:flex;gap:60px;align-items:stretch}#contact-us .contact-info{flex:0 0 45%;padding:40px;background:white;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,0.08)}#contact-us .contact-info h2{font-size:42px;font-weight:bold;color:#333;margin-bottom:15px}#contact-us .contact-info .contact-intro{font-size:16px;color:#666;margin-bottom:35px;line-height:1.6}#contact-us .contact-info .contact-item{margin-bottom:30px}#contact-us .contact-info .contact-item:last-child{margin-bottom:0}#contact-us .contact-info .contact-item h4{font-size:18px;font-weight:600;color:#333;margin-bottom:10px}#contact-us .contact-info .contact-item p{font-size:16px;color:#555;line-height:1.8;margin:0}#contact-us .contact-info .contact-item a{color:#555;text-decoration:none;transition:color .3s ease}#contact-us .contact-info .contact-item a:hover{color:#007bff}#contact-us .contact-info .social-links{display:flex;gap:15px}#contact-us .contact-info .social-links a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f0f4f8;border-radius:50%;color:#333;font-size:18px;transition:all .3s ease}#contact-us .contact-info .social-links a:hover{background:#007bff;color:white;transform:translateY(-2px)}#contact-us .contact-map{flex:1;min-height:500px;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,0.08)}#contact-us .contact-map iframe{display:block}@media (max-width:768px){#contact-us{padding:60px 20px}#contact-us .contact-container{flex-direction:column;gap:30px}#contact-us .contact-info{flex:0 0 100%;padding:30px;order:-1}#contact-us .contact-info h2{font-size:32px}#contact-us .contact-info .contact-intro{font-size:15px;margin-bottom:25px}#contact-us .contact-info .contact-item{margin-bottom:25px}#contact-us .contact-info .contact-item h4{font-size:16px}#contact-us .contact-info .contact-item p{font-size:15px}#contact-us .contact-map{min-height:350px}}@media (max-width:480px){#contact-us{padding:40px 15px}#contact-us .contact-info{padding:25px}#contact-us .contact-info h2{font-size:28px}#contact-us .contact-info .contact-intro{font-size:14px}#contact-us .contact-info .contact-item{margin-bottom:20px}#contact-us .contact-info .contact-item h4{font-size:15px}#contact-us .contact-info .contact-item p{font-size:14px}#contact-us .contact-info .social-links{gap:12px}#contact-us .contact-info .social-links a{width:36px;height:36px;font-size:16px}#contact-us .contact-map{min-height:300px}}